From 429a9ed8ecaeccdcd07dc8b3d85a5470020cdb03 Mon Sep 17 00:00:00 2001 From: kunmeng Date: Wed, 8 Jan 2025 09:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=A6=BB=20Cpp=20=E5=92=8C=20Go=20?= =?UTF-8?q?=E7=9A=84=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 7 - .gitignore | 2 - CMakeLists.txt | 64 - Dockerfile | 22 - Hikvision.go | 6 +- go.mod | 2 +- go.sum | 3 +- include/library.h | 38 - library.cpp | 93 - src/DataTime.h | 123 - src/DecisionPlatform.h | 43 - src/FormatTrans.cpp | 178 - src/FormatTrans.h | 26 - src/HIKBallCamera.cpp | 378 - src/HIKBallCamera.h | 65 - src/HIKBase.cpp | 36 - src/HIKBase.h | 33 - src/HIKNvr.cpp | 293 - src/HIKNvr.h | 59 - src/date/chrono_io.h | 34 - src/date/date.h | 8234 ---- src/date/islamic.h | 3031 -- src/date/iso_week.h | 1761 - src/date/julian.h | 3052 -- src/date/ptz.h | 950 - src/date/solar_hijri.h | 3151 -- src/date/tz.cpp | 4073 -- src/date/tz.h | 2792 -- src/date/tz_private.h | 316 - src/include/Hik/amd64/DataType.h | 111 - src/include/Hik/amd64/DecodeCardSdk.h | 451 - src/include/Hik/amd64/HCNetSDK.h | 52612 ------------------------ src/include/Hik/amd64/plaympeg4.h | 760 - src/include/Hik/arm64/DataType.h | 111 - src/include/Hik/arm64/DecodeCardSdk.h | 451 - src/include/Hik/arm64/HCNetSDK.h | 52608 ----------------------- src/include/Hik/arm64/LinuxPlayM4.h | 955 - src/json.hpp | 23761 ----------- 38 files changed, 5 insertions(+), 160680 deletions(-) delete mode 100644 .dockerignore delete mode 100644 CMakeLists.txt delete mode 100644 Dockerfile delete mode 100644 include/library.h delete mode 100644 library.cpp delete mode 100644 src/DataTime.h delete mode 100644 src/DecisionPlatform.h delete mode 100644 src/FormatTrans.cpp delete mode 100644 src/FormatTrans.h delete mode 100644 src/HIKBallCamera.cpp delete mode 100644 src/HIKBallCamera.h delete mode 100644 src/HIKBase.cpp delete mode 100644 src/HIKBase.h delete mode 100644 src/HIKNvr.cpp delete mode 100644 src/HIKNvr.h delete mode 100644 src/date/chrono_io.h delete mode 100644 src/date/date.h delete mode 100644 src/date/islamic.h delete mode 100644 src/date/iso_week.h delete mode 100644 src/date/julian.h delete mode 100644 src/date/ptz.h delete mode 100644 src/date/solar_hijri.h delete mode 100644 src/date/tz.cpp delete mode 100644 src/date/tz.h delete mode 100644 src/date/tz_private.h delete mode 100644 src/include/Hik/amd64/DataType.h delete mode 100644 src/include/Hik/amd64/DecodeCardSdk.h delete mode 100644 src/include/Hik/amd64/HCNetSDK.h delete mode 100644 src/include/Hik/amd64/plaympeg4.h delete mode 100644 src/include/Hik/arm64/DataType.h delete mode 100644 src/include/Hik/arm64/DecodeCardSdk.h delete mode 100644 src/include/Hik/arm64/HCNetSDK.h delete mode 100644 src/include/Hik/arm64/LinuxPlayM4.h delete mode 100644 src/json.hpp diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index d4cd4a6..0000000 --- a/.dockerignore +++ /dev/null @@ -1,7 +0,0 @@ -/.idea -/.git -/cmake-build-debug-visual-studio -/V6.1.9.45_build20220902_ArmLinux64_ZH_20240802154010_lib.zip -/V6.1.9.48_build20230410_linux64_20240829112751_lib.zip -/V6.1.9.48_build20230410_win64_20240829112623_lib.zip -/build \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7c76223..17c6350 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ /.idea /.cache /.fleet -/cmake-build-debug-visual-studio -/cmake-build-release-visual-studio *.lib *.dll *.so diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 825b636..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,64 +0,0 @@ -cmake_minimum_required(VERSION 3.15) - -project(HikNetSDKPkg CXX) -set(CMAKE_CXX_STANDARD 11) - -set(OS ${CMAKE_HOST_SYSTEM_NAME}) -set(Arch ${CMAKE_HOST_SYSTEM_PROCESSOR}) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/build) - -message(STATUS "Target Operating System: ${OS}") -message(STATUS "Target Architecture: ${Arch}") - -if(OS STREQUAL "Windows") - set(CMAKE_DEBUG_POSTFIX "_win_amd64_d") - set(CMAKE_RELEASE_POSTFIX "_win_amd64") -elseif (Arch STREQUAL "x86_64" OR Arch STREQUAL "amd64") - set(CMAKE_DEBUG_POSTFIX "_linux_amd64_d") - set(CMAKE_RELEASE_POSTFIX "_linux_amd64") -elseif (Arch STREQUAL "aarch64" OR Arch STREQUAL "arm64") - set(CMAKE_DEBUG_POSTFIX "_linux_arm64_d") - set(CMAKE_RELEASE_POSTFIX "_linux_arm64") -endif () - -add_library(HikNetSDKPkg SHARED - library.cpp - src/HIKBallCamera.cpp - src/HIKBase.cpp - src/HIKNvr.cpp - src/FormatTrans.cpp -) - -target_compile_definitions(HikNetSDKPkg PRIVATE Export) - -if(Arch STREQUAL "x86_64" OR OS STREQUAL "Windows") - target_include_directories(HikNetSDKPkg PRIVATE "./src/include/Hik/amd64") -elseif (Arch STREQUAL "aarch64") - target_include_directories(HikNetSDKPkg PRIVATE "./src/include/Hik/arm64") -endif () - -if(OS STREQUAL "Windows") - target_link_directories(HikNetSDKPkg PRIVATE "./arm64_windows_lib") - target_link_libraries(HikNetSDKPkg PRIVATE "HCNetSDK.lib") - target_link_libraries(HikNetSDKPkg PRIVATE "HCCore.lib") - target_link_libraries(HikNetSDKPkg PRIVATE "GdiPlus.lib") -elseif (Arch STREQUAL "x86_64" OR Arch STREQUAL "amd64") - target_link_directories(HikNetSDKPkg PRIVATE "./amd64_linux_lib") - target_link_libraries(HikNetSDKPkg PRIVATE "libHCCore.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libhcnetsdk.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libhpr.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libz.so") -elseif (Arch STREQUAL "aarch64") - target_link_directories(HikNetSDKPkg PRIVATE "./arm64_linux_lib") - target_link_libraries(HikNetSDKPkg PRIVATE "libAudioRender.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libcrypto.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libHCCore.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libhcnetsdk.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libhpr.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libPlayCtrl.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libssl.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libSuperRender.so") - target_link_libraries(HikNetSDKPkg PRIVATE "libz.so") -endif () \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 2f5105c..0000000 --- a/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM r-2.top/alpine:3.19 AS deps - -WORKDIR /usr - -RUN apk add gcc g++ cmake make acl - -FROM r-2.top/alpine:3.19 AS build - -WORKDIR /hikbuild - -COPY --from=deps /usr /usr -COPY --from=deps /lib /lib -COPY . /hikbuild - -RUN cmake . -D Arch=${TARGETARCH} -D CMAKE_BUILD_TYPE=RELEASE && make - -FROM r-2.top/alpine:3.19 AS export - -WORKDIR /home -COPY --from=build /hikbuild/build /home - -#docker buildx build --platform linux/amd64,linux/arm64 --output type=local,dest=/hikbuild/ . \ No newline at end of file diff --git a/Hikvision.go b/Hikvision.go index d76944b..7a211f7 100644 --- a/Hikvision.go +++ b/Hikvision.go @@ -54,12 +54,12 @@ func getSystemLibrary() string { switch runtime.GOOS { case "linux": if runtime.GOARCH == "amd64" || runtime.GOARCH == "386" { - return "libHikNetSDKPkg_linux_amd64.so" + return "./libHikNetSDKPkg_linux_amd64.so" } else { - return "libHikNetSDKPkg_linux_arm64.so" + return "./libHikNetSDKPkg_linux_arm64.so" } case "windows": - return "HikNetSDKPkg_win_amd64.dll" + return "./HikNetSDKPkg_win_amd64.dll" default: panic(fmt.Errorf("GOOS=%s is not supported", runtime.GOOS)) } diff --git a/go.mod b/go.mod index 74d8501..7b5d79d 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module gitea.com/kunmeng/HikNetSDKPkg go 1.23.1 -require github.com/ebitengine/purego v0.8.0 +require github.com/ebitengine/purego v0.8.1 diff --git a/go.sum b/go.sum index 263a2f5..71408ba 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1 @@ -github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE= -github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/ebitengine/purego v0.8.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= diff --git a/include/library.h b/include/library.h deleted file mode 100644 index eca4a1c..0000000 --- a/include/library.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef HIKVISION_NETWORK_SDK_PACKAGING_LIBRARY_LIBRARY_H -#define HIKVISION_NETWORK_SDK_PACKAGING_LIBRARY_LIBRARY_H - -#ifdef _WIN32 - #ifdef Export - #define Omnimatrix __declspec(dllexport) - #else - #define Omnimatrix __declspec(dllimport) - #endif -#else - #define Omnimatrix -#endif - - - -#ifdef __cplusplus -extern "C" { -#endif - Omnimatrix bool DVR_Init(); - - Omnimatrix void* NewHIKBallCamera(); - Omnimatrix bool InitBallCamera(void* PtrHIKBallCamera,const char* ip, const char* port,const char* username,const char* password,const char* BallMachineType); - Omnimatrix bool PtzGotoPut(void* PtrHIKBallCamera,int Action, float P, float T, float Z); - Omnimatrix bool PtzGet(void* PtrHIKBallCamera,void *P, void *T, void *Z); - Omnimatrix bool StopBus(void* PtrHIKBallCamera,int direction); - Omnimatrix bool StartBus(void* PtrHIKBallCamera,int direction,int speed); - - Omnimatrix void* NewHIKNvr(); - Omnimatrix bool InitNvr(void* PtrHIKNvr,char* ip, char* port, char* username, char* password, int channel); - Omnimatrix char* CheckTimeRegionWithMonth(void* PtrHIKNvr,int year,int month); - Omnimatrix char* CheckTimeRegionWithDay(void* PtrHIKNvr,int year,int month,int day); - Omnimatrix int NvrUTCDiff(void* PtrHIKNvr); - -#ifdef __cplusplus -} -#endif - -#endif //HIKVISION_NETWORK_SDK_PACKAGING_LIBRARY_LIBRARY_H diff --git a/library.cpp b/library.cpp deleted file mode 100644 index 4be7c2b..0000000 --- a/library.cpp +++ /dev/null @@ -1,93 +0,0 @@ -#include "include/library.h" -#include "./src/HIKBallCamera.h" -#include "src/HIKNvr.h" -#include - -bool DVR_Init() { - return HK_DVR_Init(); -} - -void *NewHIKBallCamera() { - return new HIKBallCamera(); -} - -bool InitBallCamera(void *PtrHIKBallCamera, const char *ip, const char *port, const char *username, const char *password, const char *BallMachineType) { - auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; - return HIKBallCameraObj->InitBallCamera(ip, port, username, password, BallMachineType); -} - -bool PtzGotoPut(void *PtrHIKBallCamera, int Action, float P, float T, float Z) { - auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; - return HIKBallCameraObj->PtzGotoPut(Action, P, T, Z); -} - -bool PtzGet(void *PtrHIKBallCamera, void *P, void *T, void *Z) { - auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; - return HIKBallCameraObj->PtzGet((float *)P, (float *)T, (float *)Z); -} - -bool StopBus(void *PtrHIKBallCamera, int direction) { - auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; - return HIKBallCameraObj->StopBus(direction); -} - -bool StartBus(void *PtrHIKBallCamera, int direction, int speed) { - auto *HIKBallCameraObj = (HIKBallCamera *)PtrHIKBallCamera; - return HIKBallCameraObj->StartBus(direction, speed); -} - -void *NewHIKNvr() { - return new HIKNvr(); -} - -bool InitNvr(void *PtrHIKNvr, char *ip, char *port, char *username, char *password, int channel) { - auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; - return HIKNvrObj->InitNvr(ip, port, username, password, channel); -} - -char *CheckTimeRegionWithMonth(void *PtrHIKNvr, int year, int month) { - auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; - - DateTime select_time; - select_time.year() = year; - select_time.month() = month; - std::string res; - - //check the time region with month - int nRet = 0; - std::vector available_date_vec; - nRet = HIKNvrObj->CheckTimeRegionWithMonth(select_time, available_date_vec); - - if (nRet == 0) { - res = HIKNvrObj->TimeToJson(select_time, &available_date_vec).dump(); - }else{ - res = ""; - } - char *cString = new char[res.size() + 1]; - std::strcpy(cString, res.c_str()); - return cString; -} - -char *CheckTimeRegionWithDay(void *PtrHIKNvr, int year, int month, int day) { - auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; - DateTime select_time; - select_time.year() = year; - select_time.month() = month; - select_time.day() = day; - std::string res; - std::vector available_time_vec; - int nRet = HIKNvrObj->CheckTimeRegionWithDay(select_time, available_time_vec); - if (nRet == 0) { - res = HIKNvrObj->TimeToJsonInDay(select_time, &available_time_vec).dump(); - }else{ - res = ""; - } - char *cString = new char[res.size() + 1]; - std::strcpy(cString, res.c_str()); - return cString; -} - -int NvrUTCDiff(void *PtrHIKNvr) { - auto *HIKNvrObj = (HIKNvr *)PtrHIKNvr; - return HIKNvrObj->GetNvrUTCDiff(); -} \ No newline at end of file diff --git a/src/DataTime.h b/src/DataTime.h deleted file mode 100644 index c27cfef..0000000 --- a/src/DataTime.h +++ /dev/null @@ -1,123 +0,0 @@ -#pragma once -#include -#include - -// -class DateTime -{ -public: - DateTime(int year, int month, int day, int hour, int minute, int second) - { - SetDateTime(year, month, day, hour, minute, second); - } - - DateTime() - { - SetDateTime(0, 0, 0, 0, 0, 0); - } - - ~DateTime() {} - - // Set date and time - void SetDateTime(int year, int month, int day, int hour, int minute, int second) - { - m_year = year; - m_month = month; - m_day = day; - m_hour = hour; - m_minute = minute; - m_second = second; - } - - //copy constructor - DateTime(const DateTime& other) - { - m_year = other.m_year; - m_month = other.m_month; - m_day = other.m_day; - m_hour = other.m_hour; - m_minute = other.m_minute; - m_second = other.m_second; - } - - DateTime& operator=(const DateTime& other) - { - m_year = other.m_year; - m_month = other.m_month; - m_day = other.m_day; - m_hour = other.m_hour; - m_minute = other.m_minute; - m_second = other.m_second; - return *this; - } - - // Get date and time - std::string GetDateTime() - { - return std::to_string(m_year) + "-" + std::to_string(m_month) + "-" + std::to_string(m_day) + " " + std::to_string(m_hour) + ":" + std::to_string(m_minute) + ":" + std::to_string(m_second); - } - - // 比较两个对象 - int CompareTo(DateTime other) - { - if (m_year != other.m_year) - { - return m_year < other.m_year ? -1 : 1; - } - if (m_month != other.m_month) - { - return m_month < other.m_month ? -1 : 1; - } - if (m_day != other.m_day) - { - return m_day < other.m_day ? -1 : 1; - } - if (m_hour != other.m_hour) - { - return m_hour < other.m_hour ? -1 : 1; - } - if (m_minute != other.m_minute) - { - return m_minute < other.m_minute ? -1 : 1; - } - if (m_second != other.m_second) - { - return m_second < other.m_second ? -1 : 1; - } - return 0; - } - - // < Operator overwrite - bool operator<(const DateTime& other) - { - return CompareTo(other) < 0; - } - - // > Operator overwrite - bool operator>(const DateTime& other) - { - return CompareTo(other) > 0; - } - - // == Operator overwrite - bool operator==(const DateTime& other) - { - return CompareTo(other) == 0; - } - - // 访问私有成员 - int& year() { return m_year; } - int& month() { return m_month; } - int& day() { return m_day; } - int& hour() { return m_hour; } - int& minute() { return m_minute; } - int& second() { return m_second; } - -private: - int m_year; - int m_month; - int m_day; - int m_hour; - int m_minute; - int m_second; -}; \ No newline at end of file diff --git a/src/DecisionPlatform.h b/src/DecisionPlatform.h deleted file mode 100644 index b561fc2..0000000 --- a/src/DecisionPlatform.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once - -#include -#include - -#define SLEEP(x) std::this_thread::sleep_for(std::chrono::seconds(x)); - -#ifdef _WIN32_ - -#include - - -#ifdef OmnimatrixExport -#define Omnimatrix __declspec(dllexport) -#else -#define Omnimatrix __declspec(dllimport) -#endif - -#define STRCPY(Dst, Len, Src) strcpy_s(Dst, Len, Src) - -#define LOCAL_TIME(in, out) localtime_s(in,out); - -#define LOCAL_MIN MIN(a,b) -#define LOCAL_MAX MAX(a,b) - -#endif -#ifdef _LINUX_ - -#include "unistd.h" -#include - - -#ifdef Omnimatrix -#define Omnimatrix __attribute__((visibility("default"))) -#else -#define Omnimatrix __attribute__((visibility("default"))) -#endif - -#define LOCAL_TIME(in, out) localtime_r(out,in ) - -#define STRCPY(Dst,Len ,Src ) strcpy(Dst, Src) - -#endif diff --git a/src/FormatTrans.cpp b/src/FormatTrans.cpp deleted file mode 100644 index 890eb2f..0000000 --- a/src/FormatTrans.cpp +++ /dev/null @@ -1,178 +0,0 @@ -#include -#include -#include -#include "FormatTrans.h" - - -float HEX2DEC(WORD Hex) -{ - BYTE bai = Hex >> 12; - Hex = Hex - bai * std::pow(16, 3); - BYTE shi = Hex >> 8; - Hex = Hex - shi * pow(16, 2); - BYTE ge = Hex >> 4; - Hex = Hex - ge * pow(16, 1); - BYTE xiao = Hex; - - return bai * pow(10, 2) + shi * pow(10, 1) + ge * pow(10, 0) + xiao * pow(10, -1); -} - - -WORD DEC2HEX(float Dec) -{ - BYTE bai = Dec / pow(10, 2); - Dec = Dec - bai * pow(10, 2); - BYTE shi = Dec / pow(10, 1); - Dec = Dec - shi * pow(10, 1); - BYTE ge = Dec / pow(10, 0); - Dec = Dec - ge * pow(10, 0); - BYTE xiao = Dec / pow(10, -1); - - return bai * pow(16, 3) + shi * pow(16, 2) + ge * pow(16, 1) + xiao * pow(16, 0); -} - -/*********************************** -function: IsHexChar -desc: 判断字符是否在0-9,a-f之间 -input: char-字符 -Output: -return: 字符索引,如8-8,a-10,如果 - 不是,返回-1 -***********************************/ -int IsHexChar(char hc) -{ - if('0'<=hc && hc<='9') - return (int(hc)-int('0')); - else if('a'<=hc && hc<='f') - return (int(hc)-int('a')+10); - else if('A'<=hc && hc<='F') - return (int(hc)-int('A')+10); - return -1; -} - -/************************************** -function: Hex2Char -desc: 16进制数转化为字符 -Input: hex-16进制,字符串形式,2字符 -Output: -return: ascii字符 -**************************************/ -unsigned char Hex2Char(const std::string &hex) -{ - assert(hex.length() == 2); - int high = IsHexChar(hex[0]); - int low = IsHexChar(hex[1]); - if(high == -1 || low == -1) - return '\0'; - int asc = high*16+low; - // char b = toascii(asc); - return asc; -} - -/**************************** -function: Hex2String -desc: 16进制字符串转化为ascii字符串 -Input: hex-16进制字符串 -Output: -return: ascii字符串 -*****************************/ -std::string Hex2String(const std::string &hex) -{ - assert(hex.length()%2 == 0); - std::string hstr; - for(int i=0; i(value); - if (intValue < 0) { - intValue = 256 + intValue; - } - std::stringstream ss; - ss << std::setw(2) << std::setfill('0') << std::hex << std::uppercase << intValue; - return ss.str(); -} - - -std::string verify(const std::string& hexStr){ - // 准备字符串,去掉空格和0x - std::string preparedStr = PrepareHexString(hexStr); - - // 计算校验码 - int sum = 0; - for (size_t i = 1; i < 6; i += 1) { - int temp = int(static_cast(preparedStr[i])); - sum += temp; - } - - // 取模并转换为16进制 - int checksum = sum % 0x100; - std::string hex = decimalToHexadecimal(checksum); - if (hex.length() == 1){ - hex = "0" + hex; - } - return hex; -} \ No newline at end of file diff --git a/src/FormatTrans.h b/src/FormatTrans.h deleted file mode 100644 index 2b2fa4b..0000000 --- a/src/FormatTrans.h +++ /dev/null @@ -1,26 +0,0 @@ -// 用于为海康球机PTZ值转换的函数 -#pragma once -#include "DecisionPlatform.h" -#include -#include - -typedef unsigned char BYTE; -typedef unsigned short WORD; - -float HEX2DEC(WORD Hex); - - -WORD DEC2HEX(float Dec); - -std::string Hex2String(const std::string &hex); - -std::string PrepareHexString(std::string str); - -// 十进制转十六进制 -std::string decimalToHexadecimal(int decimal); -// 十六进制转十进制 -int hexadecimalToDecimal(const std::string& hexadecimal); - -std::string charToHex(char value); - -std::string verify(const std::string& hexStr); \ No newline at end of file diff --git a/src/HIKBallCamera.cpp b/src/HIKBallCamera.cpp deleted file mode 100644 index db35f15..0000000 --- a/src/HIKBallCamera.cpp +++ /dev/null @@ -1,378 +0,0 @@ -#include "HIKBallCamera.h" -#include "FormatTrans.h" -#include -#include - -HIKBallCamera::HIKBallCamera(){ - -}; - -struct PTZ{ - float P; - float T; - float Z; -}; - -PTZ PTZDATA; - -std::vector velocity = {"0a","14","1e","28","32","3c","ff"}; - -bool HIKBallCamera::InitBallCamera(std::string ip, std::string port, std::string username, std::string password, std::string BallMachineType) -{ - int res = Login(ip, port, username, password); - if (res != 0){ - std::cout << "Incorrect Login error code:" << res << std::endl; - return false; - } - - m_Channel = DeviceInfo.byStartChan; - this->BallMachineType = BallMachineType; - - if (BallMachineType == "BuKongQiu"){ - NET_DVR_SERIALSTART_V40 struSerialParam = { 0 }; - struSerialParam.dwSize = sizeof(struSerialParam); - struSerialParam.dwSerialType = 2;//1:232串口;2:485串口 - struSerialParam.bySerialNum = 1;//串口编号(设备支持多个RS232串口时有效) - lTranHandle = NET_DVR_SerialStart_V40(LoginID, &struSerialParam, sizeof(struSerialParam), g_fSerialDataCallBack, NULL);//设置回调函数获取透传数据 - if (lTranHandle < 0) - { - printf("NET_DVR_SerialStart error, %d\n", NET_DVR_GetLastError()); - NET_DVR_Logout(LoginID); - NET_DVR_Cleanup(); - return false; - } - } - return true; -} - -//回调透传数据函数的外部实现 -void CALLBACK HIKBallCamera::g_fSerialDataCallBack(LONG lSerialHandle, LONG lChannel, char *pRecvDataBuffer, DWORD dwBufSize, void *pUser) -{ - std::string type = charToHex(pRecvDataBuffer[3]); - if (type=="59"){ - PTZDATA.P = float(hexadecimalToDecimal(charToHex(pRecvDataBuffer[4])+charToHex(pRecvDataBuffer[5])))/100.0; - }else if (type == "5B"){ - PTZDATA.T = float(hexadecimalToDecimal(charToHex(pRecvDataBuffer[4])+charToHex(pRecvDataBuffer[5])))/100.0; - }else if (type == "5D"){ - PTZDATA.Z = float(hexadecimalToDecimal(charToHex(pRecvDataBuffer[4])+charToHex(pRecvDataBuffer[5])))/100.0; - } -} - -bool HIKBallCamera::PtzControl(int command, int stop, int speed) -{ - bool Ret = false; - //use HIK SDK to control the ball camera - Ret = NET_DVR_PTZControlWithSpeed_Other(LoginID,m_Channel, command, stop, speed); - - //get the error code - if(!Ret) - { - std::cout << "PTZ control failed! Error code: " << NET_DVR_GetLastError() << std::endl; - return false; - } - return true; -} - -bool HIKBallCamera::PtzControlLeft(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 04 "+velocity[speed - 1]+" 00"; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(PAN_LEFT, state, speed); - } -} - -bool HIKBallCamera::PtzControlRight(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 02 "+velocity[speed - 1]+" 00"; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(PAN_RIGHT, state, speed); - } -} - -bool HIKBallCamera::PtzControlUp(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 08 00 "+velocity[speed - 1]; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(TILT_UP, state, speed); - } -} - -bool HIKBallCamera::PtzControlDown(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 10 00 "+velocity[speed - 1]; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(TILT_DOWN, state, speed); - } -} - -bool HIKBallCamera::PtzControlZoomIn(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - SerialSend(PrepareHexString("ff 01 00 20 00 00 21")); - return true; - }else{ - return PtzControl(ZOOM_IN, state, speed); - } -} - -bool HIKBallCamera::PtzControlZoomOut(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - SerialSend(PrepareHexString("ff 01 00 40 00 00 41")); - return true; - }else{ - return PtzControl(ZOOM_OUT, state, speed); - } -} - - -bool HIKBallCamera::PtzControlFocusAdd(int speed,int state){ - if (BallMachineType=="BuKongQiu") { - std::cout << "ff 01 01 00 00 00 02" << std::endl; - SerialSend(PrepareHexString("ff 01 01 00 00 00 02")); - return true; - }else{ - return PtzControl(FOCUS_FAR, state, speed); - } -} - -bool HIKBallCamera::PtzControlFocusSub(int speed,int state){ - if (BallMachineType=="BuKongQiu") { - std::cout << "ff 01 00 80 00 00 81" << std::endl; - SerialSend(PrepareHexString("ff 01 00 80 00 00 81")); - return true; - }else{ - return PtzControl(FOCUS_NEAR, state, speed); - } -} - -bool HIKBallCamera::PtzControlStop(){ - SerialSend(PrepareHexString("ff 01 00 00 00 00 01")); - return true; -} - - -bool HIKBallCamera::PtzControlUpLeft(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 0c "+velocity[speed - 1]+" " + velocity[speed - 1]; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(UP_LEFT, state, speed); - } -} - -bool HIKBallCamera::PtzControlUpRight(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 0a "+velocity[speed - 1]+" " + velocity[speed - 1]; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(UP_RIGHT, state, speed); - } -} - -bool HIKBallCamera::PtzControlDownLeft(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 14 "+velocity[speed - 1]+" " + velocity[speed - 1]; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(DOWN_LEFT, state, speed); - } -} - -bool HIKBallCamera::PtzControlDownRight(int speed,int state) -{ - if (BallMachineType=="BuKongQiu") { - std::string buf = "ff 01 00 12 "+velocity[speed - 1]+" " + velocity[speed - 1]; - buf = buf +" "+ verify(buf); - SerialSend(PrepareHexString(buf)); - return true; - }else{ - return PtzControl(DOWN_RIGHT, state, speed); - } -} - -std::string addSpacesEveryTwoWords(const std::string& hex) { - std::ostringstream result; - - int len = hex.length(); - // 如果十六进制字符串的长度是奇数,则在前面添加一个 0 - std::string paddedHex = (len % 2 == 1) ? "0" + hex : hex; - // 遍历字符串,每两个字符分割一次 - for (size_t i = 0; i < paddedHex.length(); i += 2) { - if (i != 0) { - result << " "; - } - result << paddedHex.substr(i, 2); - } - return result.str(); -} -std::string padding(const std::string& hex){ - if (hex.length()==2){ - return "00 "+hex; - } else{ - return hex; - } -} - - -// PTZ 跳转到指定位置 -bool HIKBallCamera::PtzGotoPut(int Action, float P, float T, float Z) -{ - if (BallMachineType=="BuKongQiu"){ - std::string pHex = decimalToHexadecimal(P * 100); - pHex = padding(addSpacesEveryTwoWords(pHex)); - std::string tHex = decimalToHexadecimal(T * 100); - tHex = padding(addSpacesEveryTwoWords(tHex)); - std::string zHex = decimalToHexadecimal(Z * 100); - zHex = padding(addSpacesEveryTwoWords(zHex)); - std::string pBuf = "ff 01 00 4b "+ pHex; - std::string tBuf = "ff 01 00 4d "+ tHex; - std::string zBuf = "ff 01 00 4f "+ zHex; - pBuf = pBuf+" "+verify(pBuf); - tBuf = tBuf+" "+verify(tBuf); - zBuf = zBuf+" "+verify(zBuf); - switch (Action) { - case 1: - SerialSend(PrepareHexString(pBuf)); // 设置 P - SerialSend(PrepareHexString(tBuf)); // 设置 T - SerialSend(PrepareHexString(zBuf)); // 设置 Z - break; - case 2: - SerialSend(PrepareHexString(pBuf)); // 设置 P - break; - case 3: - SerialSend(PrepareHexString(tBuf)); // 设置 T - break; - case 4: - SerialSend(PrepareHexString(zBuf)); // 设置 Z - break; - case 5: - SerialSend(PrepareHexString(pBuf)); // 设置 P - SerialSend(PrepareHexString(tBuf)); // 设置 T - break; - default: - break; - } - return true; - }else{ - NET_DVR_PTZPOS ptzPosCurrent; - ptzPosCurrent.wPanPos = DEC2HEX(P); - ptzPosCurrent.wTiltPos = DEC2HEX(T); - ptzPosCurrent.wZoomPos = DEC2HEX(Z); - ptzPosCurrent.wAction = Action; - - bool b = NET_DVR_SetDVRConfig(LoginID, NET_DVR_SET_PTZPOS, m_Channel, &ptzPosCurrent, sizeof(NET_DVR_PTZPOS)); - return b; - } -} -bool HIKBallCamera::SerialSend(const std::string& hex){ - char m_DataBuf[50]; - int m_DataLen; - int len = hex.length(); - m_DataLen = len<1024 ? len : 1024; - memcpy(m_DataBuf,hex.c_str(),m_DataLen); - return NET_DVR_SerialSend(lTranHandle,1, m_DataBuf, m_DataLen); -} - -bool HIKBallCamera::PtzGet(float* posP, float* posT, float* posZ) { - if (BallMachineType=="BuKongQiu"){ - SerialSend(PrepareHexString("ff 01 00 51 00 00 52")); - SerialSend(PrepareHexString("ff 01 00 53 00 00 54")); - SerialSend(PrepareHexString("ff 01 00 55 00 00 56")); - SLEEP(1); - *posP = PTZDATA.P; - *posT = PTZDATA.T; - *posZ = PTZDATA.Z; - return true; - }else{ - NET_DVR_PTZPOS ptzPosCurrent; - DWORD dwtmp; - bool b = NET_DVR_GetDVRConfig(LoginID, NET_DVR_GET_PTZPOS, m_Channel, &ptzPosCurrent, sizeof(NET_DVR_PTZPOS),&dwtmp); - float P = HEX2DEC(ptzPosCurrent.wPanPos); - float T = HEX2DEC(ptzPosCurrent.wTiltPos); - float Z = HEX2DEC(ptzPosCurrent.wZoomPos); - *posP = P; - *posT = T; - *posZ = Z; - return b; - } -} - -bool HIKBallCamera::CmdSwitch(int direction,int speed,int state){ - bool Res = false; - switch (direction) { - case PTZ_LEFT: - Res = PtzControlLeft(speed,state); - break; - case PTZ_RIGHT: - Res = PtzControlRight(speed,state); - break; - case PTZ_UP: - Res = PtzControlUp(speed,state); - break; - case PTZ_DOWN: - Res = PtzControlDown(speed,state); - break; - case PTZ_UP_LEFT: - Res = PtzControlUpLeft(speed,state); - break; - case PTZ_UP_RIGHT: - Res = PtzControlUpRight(speed,state); - break; - case PTZ_DOWN_LEFT: - Res = PtzControlDownLeft(speed,state); - break; - case PTZ_DOWN_RIGHT: - Res = PtzControlDownRight(speed,state); - break; - case PTZ_ZOOM_IN: - Res = PtzControlZoomIn(speed,state); - break; - case PTZ_ZOOM_OUT: - Res = PtzControlZoomOut(speed,state); - break; - case PTZ_Focus_Far: - Res = PtzControlFocusSub(speed,state); - break; - case PTZ_Focus_Near: - Res = PtzControlFocusAdd(speed,state); - break; - } - return Res; -} - -bool HIKBallCamera::StopBus(int direction) { - if (BallMachineType=="BuKongQiu"){ - return PtzControlStop(); - } - return CmdSwitch(direction,0,1); -} - -bool HIKBallCamera::StartBus(int direction, int speed) { - return CmdSwitch(direction,speed,0); -} diff --git a/src/HIKBallCamera.h b/src/HIKBallCamera.h deleted file mode 100644 index 16c44a7..0000000 --- a/src/HIKBallCamera.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once -#include "HIKBase.h" - -#define PTZ_LEFT 1 // 云台向左 -#define PTZ_RIGHT 2 // 云台向右 -#define PTZ_UP 3 // 云台向上 -#define PTZ_DOWN 4 // 云台向下 -#define PTZ_UP_LEFT 5 // 云台左上 -#define PTZ_UP_RIGHT 6 // 云台右上 -#define PTZ_DOWN_LEFT 7 // 云台左下 -#define PTZ_DOWN_RIGHT 8 // 云台右下 -#define PTZ_ZOOM_IN 9 // 云台放大 -#define PTZ_ZOOM_OUT 10 // 云台缩小 -#define PTZ_Focus_Far 11 // 云台聚焦+ -#define PTZ_Focus_Near 12 // 云台聚焦- - -class HIKBallCamera : public HIKBase -{ -public: - HIKBallCamera(); - bool InitBallCamera(std::string ip, std::string port, std::string username, std::string password, std::string BallMachineType); - bool PtzGotoPut(int Action, float P, float T, float Z = 0); - bool PtzGet(float *posP, float *posT, float *posZ); - bool StopBus(int direction); - bool StartBus(int direction,int speed); - -private: - LONG lTranHandle; - std::string BallMachineType; - int m_Channel; - -private: - bool PtzControlUp(int speed,int state); - bool PtzControlDown(int speed,int state); - bool PtzControlLeft(int speed,int state); - bool PtzControlRight(int speed,int state); - bool PtzControlUpLeft(int speed,int state); - bool PtzControlUpRight(int speed,int state); - bool PtzControlDownLeft(int speed,int state); - bool PtzControlDownRight(int speed,int state); - bool PtzControlZoomIn(int speed,int state); - bool PtzControlZoomOut(int speed,int state); - bool PtzControlFocusAdd(int speed,int state); - bool PtzControlFocusSub(int speed,int state); -private: - /** - * @brief 使用海康485透传接口发送透传数据 - * - * @param hex 十六进制透传数据字符串 - **/ - bool SerialSend(const std::string& hex); -private: - /** - * @brief PTZ 控制相关的 Switch 集合 - * - * @param direction PTZ 方向 - * @param speed PTZ 速度 - * @param state PTZ 启停状态 - **/ - bool CmdSwitch(int direction,int speed,int state); - bool PtzControl(int command, int stop, int speed); - bool PtzControlStop(); - void static CALLBACK g_fSerialDataCallBack(LONG lSerialHandle, LONG lChannel, char *pRecvDataBuffer, DWORD dwBufSize, void *pUser); - -}; diff --git a/src/HIKBase.cpp b/src/HIKBase.cpp deleted file mode 100644 index 5bf4e69..0000000 --- a/src/HIKBase.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include "HIKBase.h" -#include -#include -#include - -HIKBase::HIKBase() -{ - memset(&DeviceInfo, 0, sizeof(DeviceInfo)); -} - - -HIKBase::~HIKBase() = default; - -int HIKBase::Login(std::string ip, std::string port, std::string username, std::string password) -{ - Ip = ip; - Port = port; - Username = username; - Password = password; - - LoginID = NET_DVR_Login_V30((char *)Ip.c_str(), atoi(Port.c_str()), (char *)Username.c_str(), (char *)Password.c_str(), &DeviceInfo); - return NET_DVR_GetLastError(); -} - -void HIKBase::Logout() -{ - if (LoginID >= 0) - { - NET_DVR_Logout(LoginID); - LoginID = -1; - } -} - -bool HK_DVR_Init(){ - return NET_DVR_Init(); -} \ No newline at end of file diff --git a/src/HIKBase.h b/src/HIKBase.h deleted file mode 100644 index 490e97a..0000000 --- a/src/HIKBase.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once -#include -#include -#include -#include - -class HIKBase -{ -public: - HIKBase(); - ~HIKBase(); - - - int Login(std::string ip, std::string port, std::string username, std::string password); - void Logout(); - -protected: - LONG LoginID; - NET_DVR_DEVICEINFO_V30 DeviceInfo; - -private: - //Hik login info - std::string Ip;//Hik Device IP - std::string Port;//Hik Device Port - std::string Username;//Hik Device Username - std::string Password;//Hik Device Password - - //after login, Hik Device ID - int DeviceID; - -}; - -bool HK_DVR_Init(); \ No newline at end of file diff --git a/src/HIKNvr.cpp b/src/HIKNvr.cpp deleted file mode 100644 index 6154314..0000000 --- a/src/HIKNvr.cpp +++ /dev/null @@ -1,293 +0,0 @@ -#define NOMINMAX -#include "./date/date.h" -#include "HIKNvr.h" -#include -#include -#include - -HIKNvr::HIKNvr(){ - -} - -/** - * @brief Initializes the NVR with the given login information and channel. - * - * @param ip The IP address of the NVR. - * @param port The port number of the NVR. - * @param username The username for logging into the NVR. - * @param password The password for logging into the NVR. - * @param channel The channel number to set for the NVR. - */ -bool HIKNvr::InitNvr(std::string ip, std::string port, std::string username, std::string password, int channel) -{ - if (Login(ip, port, username, password) == 0){ - m_Channel = channel + 32; - return true; - } - return false; -} - -int HIKNvr::GetNvrUTCDiff(){ - NET_DVR_NETAPPCFG struNAC = {0}; - DWORD ZoneSize = 0; - if (NET_DVR_GetDVRConfig(LoginID, NET_DVR_GET_NETAPPCFG, 0, &struNAC, sizeof(NET_DVR_NETAPPCFG), &ZoneSize)){ - return 5000; - }; - int nDiffHour = struNAC.struNtpClientParam.cTimeDifferenceH; - int nDiffMin = struNAC.struNtpClientParam.cTimeDifferenceM; - nDiffTotalMin = (nDiffHour < 0 ? -1 : 1) * (abs(nDiffHour) * 60 + nDiffMin); - return (nDiffHour < 0 ? -1 : 1) * (abs(nDiffHour) * 60 + nDiffMin); -} - -/** - * @brief 用年和月查询日 - * - * @param select_time The selected time. - * @param available_date_vec The available date vector. - * @return true if the time region is found, false otherwise. - */ -int HIKNvr::CheckTimeRegionWithMonth(DateTime select_time,std::vector& available_date_vec) -{ - DateTime DateNow(select_time); - - // 查当月 - NET_DVR_MRD_SEARCH_PARAM struSearchParam = {0}; - NET_DVR_MRD_SEARCH_RESULT struSearchResult = {0}; - struSearchParam.dwSize = sizeof(NET_DVR_MRD_SEARCH_PARAM); - struSearchParam.wYear = DateNow.year(); - struSearchParam.byMonth = DateNow.month(); - struSearchParam.struStreamInfo.dwChannel = m_Channel; // channel - - struSearchParam.byLocalOrUTC = true; // 0:local time, 1:UTC time (时区) - struSearchParam.byDrawFrame = 0; // 0:不抽帧,1:抽帧 - struSearchParam.byStreamType = 0;// 0:主码流,1:子码流 - // 查记录 - if (!NET_DVR_GetDeviceConfig(this->LoginID, NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION, 0, &struSearchParam, sizeof(struSearchParam), NULL, &struSearchResult, sizeof(struSearchResult))) - { - int n = NET_DVR_GetLastError(); - return n == NET_DVR_NETWORK_FAIL_CONNECT ? NVR_ERR_CONNECT_7 : NVR_ERR_HIK; - } - - for (int i = 0; i < 32; i++) - { - if (struSearchResult.byRecordDistribution[i]) - { - available_date_vec.push_back(i + 1); - } - } - return NVR_SUC; -} - - -/** - * @brief Check if a given time falls within the available time range for the current day. - * - * @param select_time The time to check. - * @param available_time_vec A vector of available time ranges for the current day. - * @return true if the given time falls within the available time range, false otherwise. - */ -int HIKNvr::CheckTimeRegionWithDay(DateTime select_time, std::vector &available_time_vec) -{ - int nRet = NVR_SUC; - GetNvrUTCDiff(); - - DateTime DateNow(select_time); - - int nYear = DateNow.year(); - int nMonth = DateNow.month(); - int nDay = DateNow.day(); - - NET_DVR_FILECOND FileCond; - - FileCond.dwFileType = 0xff;// 0xff:所有文件 - FileCond.dwIsLocked = 0xff;// 0xff:所有文件 - FileCond.dwUseCardNo = 0; //不使用卡号 - - FileCond.lChannel = m_Channel;//通道号 - - FileCond.struStartTime.dwYear = DateNow.year(); - FileCond.struStartTime.dwMonth = DateNow.month(); - FileCond.struStartTime.dwDay = DateNow.day(); - FileCond.struStartTime.dwHour = 0; - FileCond.struStartTime.dwMinute = 0; - FileCond.struStartTime.dwSecond = 0; - - FileCond.struStopTime.dwYear = DateNow.year(); - FileCond.struStopTime.dwMonth = DateNow.month(); - FileCond.struStopTime.dwDay = DateNow.day(); - FileCond.struStopTime.dwHour = 23; - FileCond.struStopTime.dwMinute = 59; - FileCond.struStopTime.dwSecond = 59; - - available_time_vec.clear(); - LONG hFindHandle = NET_DVR_FindFile_V30(LoginID, &FileCond); - if (-1 == hFindHandle) - { - nRet = NET_DVR_GetLastError(); - return nRet == NET_DVR_NETWORK_FAIL_CONNECT?NVR_ERR_CONNECT_7:NVR_ERR_HIK; - } - else - { - NET_DVR_FINDDATA_V30 FindData; // 查找到的文件信息 - nRet = NET_DVR_FindNextFile_V30(hFindHandle, &FindData); - int ItemIndex = 0; - while (nRet > 0) - { - if (NET_DVR_FILE_EXCEPTION == nRet)//查找文件时异常 - { - break; - } - else if (NET_DVR_FILE_NOFIND == nRet)//没有文件 - { - break; - } - else if (NET_DVR_NOMOREFILE == nRet) // 查找结束 - { - break; - } - else if (NET_DVR_ISFINDING == nRet) // 正在查找 - { - nRet = NET_DVR_FindNextFile_V30(hFindHandle, &FindData); - //请求过快,会出读错误。同时也是参考海康sdk写法。 - std::this_thread::sleep_for(std::chrono::milliseconds(5)); - } - else if (NET_DVR_FILE_SUCCESS == nRet) // 获取文件信息成功 - { - // 保存文件信息 - TimeRecord tR; - - if (nDay != FindData.struStartTime.dwDay)//起始不在今日 - { - tR.TimeStart.SetDateTime(FindData.struStartTime.dwYear, FindData.struStartTime.dwMonth, nDay, 0, 0, 0); - } - else//起始在今日 - { - tR.TimeStart.SetDateTime(FindData.struStartTime.dwYear, FindData.struStartTime.dwMonth, FindData.struStartTime.dwDay, FindData.struStartTime.dwHour, FindData.struStartTime.dwMinute, FindData.struStartTime.dwSecond); - } - if (nDay != FindData.struStopTime.dwDay)//结束不在今日 - { - tR.TimeEnd.SetDateTime(FindData.struStartTime.dwYear, FindData.struStartTime.dwMonth, FindData.struStartTime.dwDay, 23, 59, 59); - } - else//结束在今日 - { - tR.TimeEnd.SetDateTime(FindData.struStopTime.dwYear, FindData.struStopTime.dwMonth, FindData.struStopTime.dwDay, - FindData.struStopTime.dwHour, FindData.struStopTime.dwMinute, FindData.struStopTime.dwSecond); - } - - date::sys_days original_date_start{date::year{tR.TimeStart.year()} / date::month{static_cast(tR.TimeStart.month())} / date::day{static_cast(tR.TimeStart.day())}}; - date::sys_time original_time_start{date::sys_days{original_date_start} + std::chrono::hours{tR.TimeStart.hour()} + std::chrono::minutes{tR.TimeStart.minute()} + std::chrono::seconds{tR.TimeStart.minute()}}; - date::sys_time utc_plus_8_time_start = original_time_start - std::chrono::minutes{nDiffTotalMin}; - - date::sys_days original_date_end{date::year{tR.TimeEnd.year()} / date::month{static_cast(tR.TimeEnd.month())} / date::day{static_cast(tR.TimeEnd.day())}}; - date::sys_time original_time_end{date::sys_days{original_date_end} + std::chrono::hours{tR.TimeEnd.hour()} + std::chrono::minutes{tR.TimeEnd.minute()} + std::chrono::seconds{tR.TimeEnd.minute()}}; - date::sys_time utc_plus_8_time_end = original_time_end - std::chrono::minutes{nDiffTotalMin}; - - // 计算时间点到1970-01-01 00:00:00 UTC的时间间隔,即时间戳 - std::chrono::seconds timestamp = std::chrono::duration_cast(utc_plus_8_time_start.time_since_epoch()); - tR.tmTimeStart = timestamp.count(); - timestamp = std::chrono::duration_cast(utc_plus_8_time_end.time_since_epoch()); - tR.tmTimeEnd = timestamp.count(); - - available_time_vec.emplace_back(tR); - nRet = NET_DVR_FindNextFile_V30(hFindHandle, &FindData); - } - } - // 关闭查找,释放句柄 - NET_DVR_FindClose_V30(hFindHandle); - } - - return NVR_SUC; -} - -/** - * @brief Get the time region based on the selected time and value. - * - * @param SelectTime The selected time. - * @param Value The value used to calculate the time region. - * @param TimeStart The start time of the time region. - * @param TimeEnd The end time of the time region. - * @return true if the time region is found, false otherwise. - */ -bool HIKNvr::GetTimeRegion(DateTime SelectTime, int Value, DateTime &TimeStart, DateTime &TimeEnd) -{ - int nYear = SelectTime.year(); - int nMonth = SelectTime.month(); - int nDay = SelectTime.day(); - - // 时间格式 转换,找时间区间 - int nHour = Value / 3600; - int nMinute = Value / 60 - 60 * nHour; - int nSecond = Value - (nMinute + 60 * nHour) * 60; - - TimeStart = SelectTime; - TimeStart.hour() = nHour; - TimeStart.minute() = nMinute; - TimeStart.second() = nSecond; - - bool bHave = false; - for (auto it : m_TimeRecords) - { - if (it.IsInRecord(TimeStart)) - { - bHave = true; - TimeEnd = it.TimeEnd; - break; - } - } - - return bHave; -} - -/** - * @brief Turn the time to json. - * - * @param Time The time to be turned to json. - * @param pAvailableDateVec The available date vector. - * @return nlohmann::json& The json object. - */ -nlohmann::json HIKNvr::TimeToJson(DateTime Time, std::vector *pAvailableDateVec) -{ - nlohmann::json Message; - - //year and month - Message["year"] = Time.year(); - Message["month"] = Time.month(); - - //date - if (pAvailableDateVec != nullptr) - { - nlohmann::json data; - for (auto date : *pAvailableDateVec) - { - data.push_back(date); - } - Message["day"] = data; - } - return Message; -} - -/** - * @brief Converts available time slots in a day to JSON format. - * - * @param Time The date and time of the day. - * @param pAvailableTimeVec A pointer to a vector of available time slots. - * @return nlohmann::json& A reference to the JSON object containing the converted time slots. - */ -nlohmann::json HIKNvr::TimeToJsonInDay(DateTime Time, std::vector *pAvailableTimeVec) -{ - nlohmann::json Message; - if(pAvailableTimeVec != nullptr) - { - for(auto time : *pAvailableTimeVec) - { - nlohmann::json data; - data["begin"] = time.tmTimeStart; - data["end"] = time.tmTimeEnd; - Message.push_back(data); - } - } - return Message; -} - - - diff --git a/src/HIKNvr.h b/src/HIKNvr.h deleted file mode 100644 index d50414a..0000000 --- a/src/HIKNvr.h +++ /dev/null @@ -1,59 +0,0 @@ -#pragma once -#include "json.hpp" -#include "HIKBase.h" -#include "DecisionPlatform.h" -#include "DataTime.h" -#include - -#define NVR_SUC 0 -#define NVR_ERR_HIK 6 -#define NVR_ERR_CONNECT_7 7 - -struct TimeRecord -{ - DateTime TimeStart; - DateTime TimeEnd; - long long tmTimeStart; - long long tmTimeEnd; - // 目前是针对每天记录比对,所以只比对time即可。 - bool IsInRecord(DateTime time_in) - { - if (TimeStart < time_in && TimeEnd > time_in) - { - return true; - } - return false; - } -}; - -class HIKNvr : public HIKBase -{ -public: - HIKNvr(); - //初始化 Nvr - bool InitNvr(std::string ip, std::string port, std::string username, std::string password, int channel); - - //按月查询 - int CheckTimeRegionWithMonth(DateTime select_time, std::vector &available_date_vec); - - //按日查询 - int CheckTimeRegionWithDay(DateTime select_time, std::vector &available_time_vec); - - //though input SelectTime get the time region - bool GetTimeRegion(DateTime select_time,int value ,DateTime &time_start,DateTime &time_end); - - int GetNvrUTCDiff(); - int nDiffTotalMin; - -public: - // 将时间转换成json - nlohmann::json TimeToJson(DateTime Time,std::vector *pAvailableDateVec); - nlohmann::json TimeToJsonInDay(DateTime Time,std::vector *pAvailableTimeVec); - -private: - //record the time in the Nvr - std::vector m_TimeRecords; - //Nvr channel - int m_Channel; - -}; \ No newline at end of file diff --git a/src/date/chrono_io.h b/src/date/chrono_io.h deleted file mode 100644 index 21be404..0000000 --- a/src/date/chrono_io.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef CHRONO_IO_H -#define CHRONO_IO_H - -// The MIT License (MIT) -// -// Copyright (c) 2016, 2017 Howard Hinnant -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -// This functionality has moved to "date.h" - -#include "date.h" - -#endif // CHRONO_IO_H diff --git a/src/date/date.h b/src/date/date.h deleted file mode 100644 index 6960e8c..0000000 --- a/src/date/date.h +++ /dev/null @@ -1,8234 +0,0 @@ -#ifndef DATE_H -#define DATE_H - -// The MIT License (MIT) -// -// Copyright (c) 2015, 2016, 2017 Howard Hinnant -// Copyright (c) 2016 Adrian Colomitchi -// Copyright (c) 2017 Florian Dang -// Copyright (c) 2017 Paul Thompson -// Copyright (c) 2018, 2019 Tomasz Kamiński -// Copyright (c) 2019 Jiangang Zhuang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -#ifndef HAS_STRING_VIEW -# if __cplusplus >= 201703 || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) -# define HAS_STRING_VIEW 1 -# else -# define HAS_STRING_VIEW 0 -# endif -#endif // HAS_STRING_VIEW - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if HAS_STRING_VIEW -# include -#endif -#include -#include - -#ifdef __GNUC__ -# pragma GCC diagnostic push -# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 7) -# pragma GCC diagnostic ignored "-Wpedantic" -# endif -# if __GNUC__ < 5 - // GCC 4.9 Bug 61489 Wrong warning with -Wmissing-field-initializers -# pragma GCC diagnostic ignored "-Wmissing-field-initializers" -# endif -#endif - -#ifdef _MSC_VER -# pragma warning(push) -// warning C4127: conditional expression is constant -# pragma warning(disable : 4127) -#endif - -namespace date -{ - -//---------------+ -// Configuration | -//---------------+ - -#ifndef ONLY_C_LOCALE -# define ONLY_C_LOCALE 0 -#endif - -#if defined(_MSC_VER) && (!defined(__clang__) || (_MSC_VER < 1910)) -// MSVC -# ifndef _SILENCE_CXX17_UNCAUGHT_EXCEPTION_DEPRECATION_WARNING -# define _SILENCE_CXX17_UNCAUGHT_EXCEPTION_DEPRECATION_WARNING -# endif -# if _MSC_VER < 1910 -// before VS2017 -# define CONSTDATA const -# define CONSTCD11 -# define CONSTCD14 -# define NOEXCEPT _NOEXCEPT -# else -// VS2017 and later -# define CONSTDATA constexpr const -# define CONSTCD11 constexpr -# define CONSTCD14 constexpr -# define NOEXCEPT noexcept -# endif - -#elif defined(__SUNPRO_CC) && __SUNPRO_CC <= 0x5150 -// Oracle Developer Studio 12.6 and earlier -# define CONSTDATA constexpr const -# define CONSTCD11 constexpr -# define CONSTCD14 -# define NOEXCEPT noexcept - -#elif __cplusplus >= 201402 -// C++14 -# define CONSTDATA constexpr const -# define CONSTCD11 constexpr -# define CONSTCD14 constexpr -# define NOEXCEPT noexcept -#else -// C++11 -# define CONSTDATA constexpr const -# define CONSTCD11 constexpr -# define CONSTCD14 -# define NOEXCEPT noexcept -#endif - -#ifndef HAS_UNCAUGHT_EXCEPTIONS -# if __cplusplus >= 201703 || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) -# define HAS_UNCAUGHT_EXCEPTIONS 1 -# else -# define HAS_UNCAUGHT_EXCEPTIONS 0 -# endif -#endif // HAS_UNCAUGHT_EXCEPTIONS - -#ifndef HAS_VOID_T -# if __cplusplus >= 201703 || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) -# define HAS_VOID_T 1 -# else -# define HAS_VOID_T 0 -# endif -#endif // HAS_VOID_T - -// Protect from Oracle sun macro -#ifdef sun -# undef sun -#endif - -// Work around for a NVCC compiler bug which causes it to fail -// to compile std::ratio_{multiply,divide} when used directly -// in the std::chrono::duration template instantiations below -namespace detail { -template -using ratio_multiply = decltype(std::ratio_multiply{}); - -template -using ratio_divide = decltype(std::ratio_divide{}); -} // namespace detail - -//-----------+ -// Interface | -//-----------+ - -// durations - -using days = std::chrono::duration - , std::chrono::hours::period>>; - -using weeks = std::chrono::duration - , days::period>>; - -using years = std::chrono::duration - , days::period>>; - -using months = std::chrono::duration - >>; - -// time_point - -template - using sys_time = std::chrono::time_point; - -using sys_days = sys_time; -using sys_seconds = sys_time; - -struct local_t {}; - -template - using local_time = std::chrono::time_point; - -using local_seconds = local_time; -using local_days = local_time; - -// types - -struct last_spec -{ - explicit last_spec() = default; -}; - -class day; -class month; -class year; - -class weekday; -class weekday_indexed; -class weekday_last; - -class month_day; -class month_day_last; -class month_weekday; -class month_weekday_last; - -class year_month; - -class year_month_day; -class year_month_day_last; -class year_month_weekday; -class year_month_weekday_last; - -// date composition operators - -CONSTCD11 year_month operator/(const year& y, const month& m) NOEXCEPT; -CONSTCD11 year_month operator/(const year& y, int m) NOEXCEPT; - -CONSTCD11 month_day operator/(const day& d, const month& m) NOEXCEPT; -CONSTCD11 month_day operator/(const day& d, int m) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, const day& d) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, int d) NOEXCEPT; -CONSTCD11 month_day operator/(int m, const day& d) NOEXCEPT; - -CONSTCD11 month_day_last operator/(const month& m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(int m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, const month& m) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, int m) NOEXCEPT; - -CONSTCD11 month_weekday operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(int m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, int m) NOEXCEPT; - -CONSTCD11 month_weekday_last operator/(const month& m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(int m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, const month& m) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, int m) NOEXCEPT; - -CONSTCD11 year_month_day operator/(const year_month& ym, const day& d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year_month& ym, int d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year& y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(int y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, const year& y) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, int y) NOEXCEPT; - -CONSTCD11 - year_month_day_last operator/(const year_month& ym, last_spec) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const year& y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(int y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, const year& y) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT; - -// Detailed interface - -// day - -class day -{ - unsigned char d_; - -public: - day() = default; - explicit CONSTCD11 day(unsigned d) NOEXCEPT; - - CONSTCD14 day& operator++() NOEXCEPT; - CONSTCD14 day operator++(int) NOEXCEPT; - CONSTCD14 day& operator--() NOEXCEPT; - CONSTCD14 day operator--(int) NOEXCEPT; - - CONSTCD14 day& operator+=(const days& d) NOEXCEPT; - CONSTCD14 day& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator< (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator> (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const day& x, const day& y) NOEXCEPT; - -CONSTCD11 day operator+(const day& x, const days& y) NOEXCEPT; -CONSTCD11 day operator+(const days& x, const day& y) NOEXCEPT; -CONSTCD11 day operator-(const day& x, const days& y) NOEXCEPT; -CONSTCD11 days operator-(const day& x, const day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d); - -// month - -class month -{ - unsigned char m_; - -public: - month() = default; - explicit CONSTCD11 month(unsigned m) NOEXCEPT; - - CONSTCD14 month& operator++() NOEXCEPT; - CONSTCD14 month operator++(int) NOEXCEPT; - CONSTCD14 month& operator--() NOEXCEPT; - CONSTCD14 month operator--(int) NOEXCEPT; - - CONSTCD14 month& operator+=(const months& m) NOEXCEPT; - CONSTCD14 month& operator-=(const months& m) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator< (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator> (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month& x, const month& y) NOEXCEPT; - -CONSTCD14 month operator+(const month& x, const months& y) NOEXCEPT; -CONSTCD14 month operator+(const months& x, const month& y) NOEXCEPT; -CONSTCD14 month operator-(const month& x, const months& y) NOEXCEPT; -CONSTCD14 months operator-(const month& x, const month& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m); - -// year - -class year -{ - short y_; - -public: - year() = default; - explicit CONSTCD11 year(int y) NOEXCEPT; - - CONSTCD14 year& operator++() NOEXCEPT; - CONSTCD14 year operator++(int) NOEXCEPT; - CONSTCD14 year& operator--() NOEXCEPT; - CONSTCD14 year operator--(int) NOEXCEPT; - - CONSTCD14 year& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 year operator-() const NOEXCEPT; - CONSTCD11 year operator+() const NOEXCEPT; - - CONSTCD11 bool is_leap() const NOEXCEPT; - - CONSTCD11 explicit operator int() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - static CONSTCD11 year min() NOEXCEPT { return year{-32767}; } - static CONSTCD11 year max() NOEXCEPT { return year{32767}; } -}; - -CONSTCD11 bool operator==(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator< (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator> (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year& x, const year& y) NOEXCEPT; - -CONSTCD11 year operator+(const year& x, const years& y) NOEXCEPT; -CONSTCD11 year operator+(const years& x, const year& y) NOEXCEPT; -CONSTCD11 year operator-(const year& x, const years& y) NOEXCEPT; -CONSTCD11 years operator-(const year& x, const year& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y); - -// weekday - -class weekday -{ - unsigned char wd_; -public: - weekday() = default; - explicit CONSTCD11 weekday(unsigned wd) NOEXCEPT; - CONSTCD14 weekday(const sys_days& dp) NOEXCEPT; - CONSTCD14 explicit weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 weekday& operator++() NOEXCEPT; - CONSTCD14 weekday operator++(int) NOEXCEPT; - CONSTCD14 weekday& operator--() NOEXCEPT; - CONSTCD14 weekday operator--(int) NOEXCEPT; - - CONSTCD14 weekday& operator+=(const days& d) NOEXCEPT; - CONSTCD14 weekday& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; - - CONSTCD11 unsigned c_encoding() const NOEXCEPT; - CONSTCD11 unsigned iso_encoding() const NOEXCEPT; - - CONSTCD11 weekday_indexed operator[](unsigned index) const NOEXCEPT; - CONSTCD11 weekday_last operator[](last_spec) const NOEXCEPT; - -private: - static CONSTCD14 unsigned char weekday_from_days(int z) NOEXCEPT; - - friend CONSTCD11 bool operator==(const weekday& x, const weekday& y) NOEXCEPT; - friend CONSTCD14 days operator-(const weekday& x, const weekday& y) NOEXCEPT; - friend CONSTCD14 weekday operator+(const weekday& x, const days& y) NOEXCEPT; - template - friend std::basic_ostream& - operator<<(std::basic_ostream& os, const weekday& wd); - friend class weekday_indexed; -}; - -CONSTCD11 bool operator==(const weekday& x, const weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday& x, const weekday& y) NOEXCEPT; - -CONSTCD14 weekday operator+(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 weekday operator+(const days& x, const weekday& y) NOEXCEPT; -CONSTCD14 weekday operator-(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 days operator-(const weekday& x, const weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd); - -// weekday_indexed - -class weekday_indexed -{ - unsigned char wd_ : 4; - unsigned char index_ : 4; - -public: - weekday_indexed() = default; - CONSTCD11 weekday_indexed(const date::weekday& wd, unsigned index) NOEXCEPT; - - CONSTCD11 date::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi); - -// weekday_last - -class weekday_last -{ - date::weekday wd_; - -public: - explicit CONSTCD11 weekday_last(const date::weekday& wd) NOEXCEPT; - - CONSTCD11 date::weekday weekday() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl); - -namespace detail -{ - -struct unspecified_month_disambiguator {}; - -} // namespace detail - -// year_month - -class year_month -{ - date::year y_; - date::month m_; - -public: - year_month() = default; - CONSTCD11 year_month(const date::year& y, const date::month& m) NOEXCEPT; - - CONSTCD11 date::year year() const NOEXCEPT; - CONSTCD11 date::month month() const NOEXCEPT; - - template - CONSTCD14 year_month& operator+=(const months& dm) NOEXCEPT; - template - CONSTCD14 year_month& operator-=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator+=(const years& dy) NOEXCEPT; - CONSTCD14 year_month& operator-=(const years& dy) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month& x, const year_month& y) NOEXCEPT; - -template -CONSTCD14 year_month operator+(const year_month& ym, const months& dm) NOEXCEPT; -template -CONSTCD14 year_month operator+(const months& dm, const year_month& ym) NOEXCEPT; -template -CONSTCD14 year_month operator-(const year_month& ym, const months& dm) NOEXCEPT; - -CONSTCD11 months operator-(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 year_month operator+(const year_month& ym, const years& dy) NOEXCEPT; -CONSTCD11 year_month operator+(const years& dy, const year_month& ym) NOEXCEPT; -CONSTCD11 year_month operator-(const year_month& ym, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym); - -// month_day - -class month_day -{ - date::month m_; - date::day d_; - -public: - month_day() = default; - CONSTCD11 month_day(const date::month& m, const date::day& d) NOEXCEPT; - - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::day day() const NOEXCEPT; - - CONSTCD14 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day& x, const month_day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md); - -// month_day_last - -class month_day_last -{ - date::month m_; - -public: - CONSTCD11 explicit month_day_last(const date::month& m) NOEXCEPT; - - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl); - -// month_weekday - -class month_weekday -{ - date::month m_; - date::weekday_indexed wdi_; -public: - CONSTCD11 month_weekday(const date::month& m, - const date::weekday_indexed& wdi) NOEXCEPT; - - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd); - -// month_weekday_last - -class month_weekday_last -{ - date::month m_; - date::weekday_last wdl_; - -public: - CONSTCD11 month_weekday_last(const date::month& m, - const date::weekday_last& wd) NOEXCEPT; - - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl); - -// class year_month_day - -class year_month_day -{ - date::year y_; - date::month m_; - date::day d_; - -public: - year_month_day() = default; - CONSTCD11 year_month_day(const date::year& y, const date::month& m, - const date::day& d) NOEXCEPT; - CONSTCD14 year_month_day(const year_month_day_last& ymdl) NOEXCEPT; - - CONSTCD14 year_month_day(sys_days dp) NOEXCEPT; - CONSTCD14 explicit year_month_day(local_days dp) NOEXCEPT; - - template - CONSTCD14 year_month_day& operator+=(const months& m) NOEXCEPT; - template - CONSTCD14 year_month_day& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 date::year year() const NOEXCEPT; - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_day from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT; - -template -CONSTCD14 year_month_day operator+(const year_month_day& ymd, const months& dm) NOEXCEPT; -template -CONSTCD14 year_month_day operator+(const months& dm, const year_month_day& ymd) NOEXCEPT; -template -CONSTCD14 year_month_day operator-(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD11 year_month_day operator+(const year_month_day& ymd, const years& dy) NOEXCEPT; -CONSTCD11 year_month_day operator+(const years& dy, const year_month_day& ymd) NOEXCEPT; -CONSTCD11 year_month_day operator-(const year_month_day& ymd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd); - -// year_month_day_last - -class year_month_day_last -{ - date::year y_; - date::month_day_last mdl_; - -public: - CONSTCD11 year_month_day_last(const date::year& y, - const date::month_day_last& mdl) NOEXCEPT; - - template - CONSTCD14 year_month_day_last& operator+=(const months& m) NOEXCEPT; - template - CONSTCD14 year_month_day_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 date::year year() const NOEXCEPT; - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::month_day_last month_day_last() const NOEXCEPT; - CONSTCD14 date::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator< (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator> (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; - -template -CONSTCD14 -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -template -CONSTCD14 -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT; - -template -CONSTCD14 -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl); - -// year_month_weekday - -class year_month_weekday -{ - date::year y_; - date::month m_; - date::weekday_indexed wdi_; - -public: - year_month_weekday() = default; - CONSTCD11 year_month_weekday(const date::year& y, const date::month& m, - const date::weekday_indexed& wdi) NOEXCEPT; - CONSTCD14 year_month_weekday(const sys_days& dp) NOEXCEPT; - CONSTCD14 explicit year_month_weekday(const local_days& dp) NOEXCEPT; - - template - CONSTCD14 year_month_weekday& operator+=(const months& m) NOEXCEPT; - template - CONSTCD14 year_month_weekday& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 date::year year() const NOEXCEPT; - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 date::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_weekday from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; - -template -CONSTCD14 -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -template -CONSTCD14 -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT; - -template -CONSTCD14 -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi); - -// year_month_weekday_last - -class year_month_weekday_last -{ - date::year y_; - date::month m_; - date::weekday_last wdl_; - -public: - CONSTCD11 year_month_weekday_last(const date::year& y, const date::month& m, - const date::weekday_last& wdl) NOEXCEPT; - - template - CONSTCD14 year_month_weekday_last& operator+=(const months& m) NOEXCEPT; - template - CONSTCD14 year_month_weekday_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 date::year year() const NOEXCEPT; - CONSTCD11 date::month month() const NOEXCEPT; - CONSTCD11 date::weekday weekday() const NOEXCEPT; - CONSTCD11 date::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - -private: - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD11 -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -template -CONSTCD14 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -template -CONSTCD14 -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT; - -template -CONSTCD14 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl); - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 date::day operator "" _d(unsigned long long d) NOEXCEPT; -CONSTCD11 date::year operator "" _y(unsigned long long y) NOEXCEPT; - -} // inline namespace literals -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -// CONSTDATA date::month January{1}; -// CONSTDATA date::month February{2}; -// CONSTDATA date::month March{3}; -// CONSTDATA date::month April{4}; -// CONSTDATA date::month May{5}; -// CONSTDATA date::month June{6}; -// CONSTDATA date::month July{7}; -// CONSTDATA date::month August{8}; -// CONSTDATA date::month September{9}; -// CONSTDATA date::month October{10}; -// CONSTDATA date::month November{11}; -// CONSTDATA date::month December{12}; -// -// CONSTDATA date::weekday Sunday{0u}; -// CONSTDATA date::weekday Monday{1u}; -// CONSTDATA date::weekday Tuesday{2u}; -// CONSTDATA date::weekday Wednesday{3u}; -// CONSTDATA date::weekday Thursday{4u}; -// CONSTDATA date::weekday Friday{5u}; -// CONSTDATA date::weekday Saturday{6u}; - -#if HAS_VOID_T - -template > -struct is_clock - : std::false_type -{}; - -template -struct is_clock> - : std::true_type -{}; - -template inline constexpr bool is_clock_v = is_clock::value; - -#endif // HAS_VOID_T - -//----------------+ -// Implementation | -//----------------+ - -// utilities -namespace detail { - -template> -class save_istream -{ -protected: - std::basic_ios& is_; - CharT fill_; - std::ios::fmtflags flags_; - std::streamsize precision_; - std::streamsize width_; - std::basic_ostream* tie_; - std::locale loc_; - -public: - ~save_istream() - { - is_.fill(fill_); - is_.flags(flags_); - is_.precision(precision_); - is_.width(width_); - is_.imbue(loc_); - is_.tie(tie_); - } - - save_istream(const save_istream&) = delete; - save_istream& operator=(const save_istream&) = delete; - - explicit save_istream(std::basic_ios& is) - : is_(is) - , fill_(is.fill()) - , flags_(is.flags()) - , precision_(is.precision()) - , width_(is.width(0)) - , tie_(is.tie(nullptr)) - , loc_(is.getloc()) - { - if (tie_ != nullptr) - tie_->flush(); - } -}; - -template> -class save_ostream - : private save_istream -{ -public: - ~save_ostream() - { - if ((this->flags_ & std::ios::unitbuf) && -#if HAS_UNCAUGHT_EXCEPTIONS - std::uncaught_exceptions() == 0 && -#else - !std::uncaught_exception() && -#endif - this->is_.good()) - this->is_.rdbuf()->pubsync(); - } - - save_ostream(const save_ostream&) = delete; - save_ostream& operator=(const save_ostream&) = delete; - - explicit save_ostream(std::basic_ios& os) - : save_istream(os) - { - } -}; - -template -struct choose_trunc_type -{ - static const int digits = std::numeric_limits::digits; - using type = typename std::conditional - < - digits < 32, - std::int32_t, - typename std::conditional - < - digits < 64, - std::int64_t, -#ifdef __SIZEOF_INT128__ - __int128 -#else - std::int64_t -#endif - >::type - >::type; -}; - -template -CONSTCD11 -inline -typename std::enable_if -< - !std::chrono::treat_as_floating_point::value, - T ->::type -trunc(T t) NOEXCEPT -{ - return t; -} - -template -CONSTCD14 -inline -typename std::enable_if -< - std::chrono::treat_as_floating_point::value, - T ->::type -trunc(T t) NOEXCEPT -{ - using std::numeric_limits; - using I = typename choose_trunc_type::type; - CONSTDATA auto digits = numeric_limits::digits; - static_assert(digits < numeric_limits::digits, ""); - CONSTDATA auto max = I{1} << (digits-1); - CONSTDATA auto min = -max; - const auto negative = t < T{0}; - if (min <= t && t <= max && t != 0 && t == t) - { - t = static_cast(static_cast(t)); - if (t == 0 && negative) - t = -t; - } - return t; -} - -template -struct static_gcd -{ - static const std::intmax_t value = static_gcd::value; -}; - -template -struct static_gcd -{ - static const std::intmax_t value = Xp; -}; - -template <> -struct static_gcd<0, 0> -{ - static const std::intmax_t value = 1; -}; - -template -struct no_overflow -{ -private: - static const std::intmax_t gcd_n1_n2 = static_gcd::value; - static const std::intmax_t gcd_d1_d2 = static_gcd::value; - static const std::intmax_t n1 = R1::num / gcd_n1_n2; - static const std::intmax_t d1 = R1::den / gcd_d1_d2; - static const std::intmax_t n2 = R2::num / gcd_n1_n2; - static const std::intmax_t d2 = R2::den / gcd_d1_d2; -#ifdef __cpp_constexpr - static const std::intmax_t max = std::numeric_limits::max(); -#else - static const std::intmax_t max = LLONG_MAX; -#endif - - template - struct mul // overflow == false - { - static const std::intmax_t value = Xp * Yp; - }; - - template - struct mul - { - static const std::intmax_t value = 1; - }; - -public: - static const bool value = (n1 <= max / d2) && (n2 <= max / d1); - typedef std::ratio::value, - mul::value> type; -}; - -} // detail - -// trunc towards zero -template -CONSTCD11 -inline -typename std::enable_if -< - detail::no_overflow::value, - To ->::type -trunc(const std::chrono::duration& d) -{ - return To{detail::trunc(std::chrono::duration_cast(d).count())}; -} - -template -CONSTCD11 -inline -typename std::enable_if -< - !detail::no_overflow::value, - To ->::type -trunc(const std::chrono::duration& d) -{ - using std::chrono::duration_cast; - using std::chrono::duration; - using rep = typename std::common_type::type; - return To{detail::trunc(duration_cast(duration_cast>(d)).count())}; -} - -#ifndef HAS_CHRONO_ROUNDING -# if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 190023918 || (_MSC_FULL_VER >= 190000000 && defined (__clang__))) -# define HAS_CHRONO_ROUNDING 1 -# elif defined(__cpp_lib_chrono) && __cplusplus > 201402 && __cpp_lib_chrono >= 201510 -# define HAS_CHRONO_ROUNDING 1 -# elif defined(_LIBCPP_VERSION) && __cplusplus > 201402 && _LIBCPP_VERSION >= 3800 -# define HAS_CHRONO_ROUNDING 1 -# else -# define HAS_CHRONO_ROUNDING 0 -# endif -#endif // HAS_CHRONO_ROUNDING - -#if HAS_CHRONO_ROUNDING == 0 - -// round down -template -CONSTCD14 -inline -typename std::enable_if -< - detail::no_overflow::value, - To ->::type -floor(const std::chrono::duration& d) -{ - auto t = trunc(d); - if (t > d) - return t - To{1}; - return t; -} - -template -CONSTCD14 -inline -typename std::enable_if -< - !detail::no_overflow::value, - To ->::type -floor(const std::chrono::duration& d) -{ - using rep = typename std::common_type::type; - return floor(floor>(d)); -} - -// round to nearest, to even on tie -template -CONSTCD14 -inline -To -round(const std::chrono::duration& d) -{ - auto t0 = floor(d); - auto t1 = t0 + To{1}; - if (t1 == To{0} && t0 < To{0}) - t1 = -t1; - auto diff0 = d - t0; - auto diff1 = t1 - d; - if (diff0 == diff1) - { - if (t0 - trunc(t0/2)*2 == To{0}) - return t0; - return t1; - } - if (diff0 < diff1) - return t0; - return t1; -} - -// round up -template -CONSTCD14 -inline -To -ceil(const std::chrono::duration& d) -{ - auto t = trunc(d); - if (t < d) - return t + To{1}; - return t; -} - -template ::is_signed - >::type> -CONSTCD11 -std::chrono::duration -abs(std::chrono::duration d) -{ - return d >= d.zero() ? d : static_cast(-d); -} - -// round down -template -CONSTCD11 -inline -std::chrono::time_point -floor(const std::chrono::time_point& tp) -{ - using std::chrono::time_point; - return time_point{date::floor(tp.time_since_epoch())}; -} - -// round to nearest, to even on tie -template -CONSTCD11 -inline -std::chrono::time_point -round(const std::chrono::time_point& tp) -{ - using std::chrono::time_point; - return time_point{round(tp.time_since_epoch())}; -} - -// round up -template -CONSTCD11 -inline -std::chrono::time_point -ceil(const std::chrono::time_point& tp) -{ - using std::chrono::time_point; - return time_point{ceil(tp.time_since_epoch())}; -} - -#else // HAS_CHRONO_ROUNDING == 1 - -using std::chrono::floor; -using std::chrono::ceil; -using std::chrono::round; -using std::chrono::abs; - -#endif // HAS_CHRONO_ROUNDING - -namespace detail -{ - -template -CONSTCD14 -inline -typename std::enable_if -< - !std::chrono::treat_as_floating_point::value, - To ->::type -round_i(const std::chrono::duration& d) -{ - return round(d); -} - -template -CONSTCD14 -inline -typename std::enable_if -< - std::chrono::treat_as_floating_point::value, - To ->::type -round_i(const std::chrono::duration& d) -{ - return d; -} - -template -CONSTCD11 -inline -std::chrono::time_point -round_i(const std::chrono::time_point& tp) -{ - using std::chrono::time_point; - return time_point{round_i(tp.time_since_epoch())}; -} - -} // detail - -// trunc towards zero -template -CONSTCD11 -inline -std::chrono::time_point -trunc(const std::chrono::time_point& tp) -{ - using std::chrono::time_point; - return time_point{trunc(tp.time_since_epoch())}; -} - -// day - -CONSTCD11 inline day::day(unsigned d) NOEXCEPT : d_(static_cast(d)) {} -CONSTCD14 inline day& day::operator++() NOEXCEPT {++d_; return *this;} -CONSTCD14 inline day day::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline day& day::operator--() NOEXCEPT {--d_; return *this;} -CONSTCD14 inline day day::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline day& day::operator+=(const days& d) NOEXCEPT {*this = *this + d; return *this;} -CONSTCD14 inline day& day::operator-=(const days& d) NOEXCEPT {*this = *this - d; return *this;} -CONSTCD11 inline day::operator unsigned() const NOEXCEPT {return d_;} -CONSTCD11 inline bool day::ok() const NOEXCEPT {return 1 <= d_ && d_ <= 31;} - -CONSTCD11 -inline -bool -operator==(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const day& x, const day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const day& x, const day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const day& x, const day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const day& x, const day& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -days -operator-(const day& x, const day& y) NOEXCEPT -{ - return days{static_cast(static_cast(x) - - static_cast(y))}; -} - -CONSTCD11 -inline -day -operator+(const day& x, const days& y) NOEXCEPT -{ - return day{static_cast(x) + static_cast(y.count())}; -} - -CONSTCD11 -inline -day -operator+(const days& x, const day& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -day -operator-(const day& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const day& d) -{ - detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(d); - return os; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d) -{ - detail::low_level_fmt(os, d); - if (!d.ok()) - os << " is not a valid day"; - return os; -} - -// month - -CONSTCD11 inline month::month(unsigned m) NOEXCEPT : m_(static_cast(m)) {} -CONSTCD14 inline month& month::operator++() NOEXCEPT {*this += months{1}; return *this;} -CONSTCD14 inline month month::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline month& month::operator--() NOEXCEPT {*this -= months{1}; return *this;} -CONSTCD14 inline month month::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -month& -month::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -month& -month::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD11 inline month::operator unsigned() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month::ok() const NOEXCEPT {return 1 <= m_ && m_ <= 12;} - -CONSTCD11 -inline -bool -operator==(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const month& x, const month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const month& x, const month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month& x, const month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month& x, const month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -months -operator-(const month& x, const month& y) NOEXCEPT -{ - auto const d = static_cast(x) - static_cast(y); - return months(d <= 11 ? d : d + 12); -} - -CONSTCD14 -inline -month -operator+(const month& x, const months& y) NOEXCEPT -{ - auto const mu = static_cast(static_cast(x)) + y.count() - 1; - auto const yr = (mu >= 0 ? mu : mu-11) / 12; - return month{static_cast(mu - yr * 12 + 1)}; -} - -CONSTCD14 -inline -month -operator+(const months& x, const month& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -month -operator-(const month& x, const months& y) NOEXCEPT -{ - return x + -y; -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const month& m) -{ - if (m.ok()) - { - CharT fmt[] = {'%', 'b', 0}; - os << format(os.getloc(), fmt, m); - } - else - os << static_cast(m); - return os; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m) -{ - detail::low_level_fmt(os, m); - if (!m.ok()) - os << " is not a valid month"; - return os; -} - -// year - -CONSTCD11 inline year::year(int y) NOEXCEPT : y_(static_cast(y)) {} -CONSTCD14 inline year& year::operator++() NOEXCEPT {++y_; return *this;} -CONSTCD14 inline year year::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline year& year::operator--() NOEXCEPT {--y_; return *this;} -CONSTCD14 inline year year::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline year& year::operator+=(const years& y) NOEXCEPT {*this = *this + y; return *this;} -CONSTCD14 inline year& year::operator-=(const years& y) NOEXCEPT {*this = *this - y; return *this;} -CONSTCD11 inline year year::operator-() const NOEXCEPT {return year{-y_};} -CONSTCD11 inline year year::operator+() const NOEXCEPT {return *this;} - -CONSTCD11 -inline -bool -year::is_leap() const NOEXCEPT -{ - return y_ % 4 == 0 && (y_ % 100 != 0 || y_ % 400 == 0); -} - -CONSTCD11 inline year::operator int() const NOEXCEPT {return y_;} - -CONSTCD11 -inline -bool -year::ok() const NOEXCEPT -{ - return y_ != std::numeric_limits::min(); -} - -CONSTCD11 -inline -bool -operator==(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const year& x, const year& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const year& x, const year& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year& x, const year& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year& x, const year& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -years -operator-(const year& x, const year& y) NOEXCEPT -{ - return years{static_cast(x) - static_cast(y)}; -} - -CONSTCD11 -inline -year -operator+(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) + y.count()}; -} - -CONSTCD11 -inline -year -operator+(const years& x, const year& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -year -operator-(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) - y.count()}; -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const year& y) -{ - detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::internal); - os.width(4 + (y < year{0})); - os.imbue(std::locale::classic()); - os << static_cast(y); - return os; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y) -{ - detail::low_level_fmt(os, y); - if (!y.ok()) - os << " is not a valid year"; - return os; -} - -// weekday - -CONSTCD14 -inline -unsigned char -weekday::weekday_from_days(int z) NOEXCEPT -{ - auto u = static_cast(z); - return static_cast(z >= -4 ? (u+4) % 7 : u % 7); -} - -CONSTCD11 -inline -weekday::weekday(unsigned wd) NOEXCEPT - : wd_(static_cast(wd != 7 ? wd : 0)) - {} - -CONSTCD14 -inline -weekday::weekday(const sys_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD14 -inline -weekday::weekday(const local_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD14 inline weekday& weekday::operator++() NOEXCEPT {*this += days{1}; return *this;} -CONSTCD14 inline weekday weekday::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline weekday& weekday::operator--() NOEXCEPT {*this -= days{1}; return *this;} -CONSTCD14 inline weekday weekday::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -weekday& -weekday::operator+=(const days& d) NOEXCEPT -{ - *this = *this + d; - return *this; -} - -CONSTCD14 -inline -weekday& -weekday::operator-=(const days& d) NOEXCEPT -{ - *this = *this - d; - return *this; -} - -CONSTCD11 inline bool weekday::ok() const NOEXCEPT {return wd_ <= 6;} - -CONSTCD11 -inline -unsigned weekday::c_encoding() const NOEXCEPT -{ - return unsigned{wd_}; -} - -CONSTCD11 -inline -unsigned weekday::iso_encoding() const NOEXCEPT -{ - return unsigned{((wd_ == 0u) ? 7u : wd_)}; -} - -CONSTCD11 -inline -bool -operator==(const weekday& x, const weekday& y) NOEXCEPT -{ - return x.wd_ == y.wd_; -} - -CONSTCD11 -inline -bool -operator!=(const weekday& x, const weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD14 -inline -days -operator-(const weekday& x, const weekday& y) NOEXCEPT -{ - auto const wdu = x.wd_ - y.wd_; - auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7; - return days{wdu - wk * 7}; -} - -CONSTCD14 -inline -weekday -operator+(const weekday& x, const days& y) NOEXCEPT -{ - auto const wdu = static_cast(static_cast(x.wd_)) + y.count(); - auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7; - return weekday{static_cast(wdu - wk * 7)}; -} - -CONSTCD14 -inline -weekday -operator+(const days& x, const weekday& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -weekday -operator-(const weekday& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const weekday& wd) -{ - if (wd.ok()) - { - CharT fmt[] = {'%', 'a', 0}; - os << format(fmt, wd); - } - else - os << wd.c_encoding(); - return os; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd) -{ - detail::low_level_fmt(os, wd); - if (!wd.ok()) - os << " is not a valid weekday"; - return os; -} - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 -inline -date::day -operator "" _d(unsigned long long d) NOEXCEPT -{ - return date::day{static_cast(d)}; -} - -CONSTCD11 -inline -date::year -operator "" _y(unsigned long long y) NOEXCEPT -{ - return date::year(static_cast(y)); -} -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -CONSTDATA date::last_spec last{}; - -CONSTDATA date::month jan{1}; -CONSTDATA date::month feb{2}; -CONSTDATA date::month mar{3}; -CONSTDATA date::month apr{4}; -CONSTDATA date::month may{5}; -CONSTDATA date::month jun{6}; -CONSTDATA date::month jul{7}; -CONSTDATA date::month aug{8}; -CONSTDATA date::month sep{9}; -CONSTDATA date::month oct{10}; -CONSTDATA date::month nov{11}; -CONSTDATA date::month dec{12}; - -CONSTDATA date::weekday sun{0u}; -CONSTDATA date::weekday mon{1u}; -CONSTDATA date::weekday tue{2u}; -CONSTDATA date::weekday wed{3u}; -CONSTDATA date::weekday thu{4u}; -CONSTDATA date::weekday fri{5u}; -CONSTDATA date::weekday sat{6u}; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -} // inline namespace literals -#endif - -CONSTDATA date::month January{1}; -CONSTDATA date::month February{2}; -CONSTDATA date::month March{3}; -CONSTDATA date::month April{4}; -CONSTDATA date::month May{5}; -CONSTDATA date::month June{6}; -CONSTDATA date::month July{7}; -CONSTDATA date::month August{8}; -CONSTDATA date::month September{9}; -CONSTDATA date::month October{10}; -CONSTDATA date::month November{11}; -CONSTDATA date::month December{12}; - -CONSTDATA date::weekday Monday{1}; -CONSTDATA date::weekday Tuesday{2}; -CONSTDATA date::weekday Wednesday{3}; -CONSTDATA date::weekday Thursday{4}; -CONSTDATA date::weekday Friday{5}; -CONSTDATA date::weekday Saturday{6}; -CONSTDATA date::weekday Sunday{7}; - -// weekday_indexed - -CONSTCD11 -inline -weekday -weekday_indexed::weekday() const NOEXCEPT -{ - return date::weekday{static_cast(wd_)}; -} - -CONSTCD11 inline unsigned weekday_indexed::index() const NOEXCEPT {return index_;} - -CONSTCD11 -inline -bool -weekday_indexed::ok() const NOEXCEPT -{ - return weekday().ok() && 1 <= index_ && index_ <= 5; -} - -#ifdef __GNUC__ -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wconversion" -#endif // __GNUC__ - -CONSTCD11 -inline -weekday_indexed::weekday_indexed(const date::weekday& wd, unsigned index) NOEXCEPT - : wd_(static_cast(static_cast(wd.wd_))) - , index_(static_cast(index)) - {} - -#ifdef __GNUC__ -# pragma GCC diagnostic pop -#endif // __GNUC__ - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const weekday_indexed& wdi) -{ - return low_level_fmt(os, wdi.weekday()) << '[' << wdi.index() << ']'; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi) -{ - detail::low_level_fmt(os, wdi); - if (!wdi.ok()) - os << " is not a valid weekday_indexed"; - return os; -} - -CONSTCD11 -inline -weekday_indexed -weekday::operator[](unsigned index) const NOEXCEPT -{ - return {*this, index}; -} - -CONSTCD11 -inline -bool -operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return x.weekday() == y.weekday() && x.index() == y.index(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return !(x == y); -} - -// weekday_last - -CONSTCD11 inline date::weekday weekday_last::weekday() const NOEXCEPT {return wd_;} -CONSTCD11 inline bool weekday_last::ok() const NOEXCEPT {return wd_.ok();} -CONSTCD11 inline weekday_last::weekday_last(const date::weekday& wd) NOEXCEPT : wd_(wd) {} - -CONSTCD11 -inline -bool -operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const weekday_last& wdl) -{ - return low_level_fmt(os, wdl.weekday()) << "[last]"; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl) -{ - detail::low_level_fmt(os, wdl); - if (!wdl.ok()) - os << " is not a valid weekday_last"; - return os; -} - -CONSTCD11 -inline -weekday_last -weekday::operator[](last_spec) const NOEXCEPT -{ - return weekday_last{*this}; -} - -// year_month - -CONSTCD11 -inline -year_month::year_month(const date::year& y, const date::month& m) NOEXCEPT - : y_(y) - , m_(m) - {} - -CONSTCD11 inline year year_month::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool year_month::ok() const NOEXCEPT {return y_.ok() && m_.ok();} - -template -CONSTCD14 -inline -year_month& -year_month::operator+=(const months& dm) NOEXCEPT -{ - *this = *this + dm; - return *this; -} - -template -CONSTCD14 -inline -year_month& -year_month::operator-=(const months& dm) NOEXCEPT -{ - *this = *this - dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const years& dy) NOEXCEPT -{ - *this = *this + dy; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const years& dy) NOEXCEPT -{ - *this = *this - dy; - return *this; -} - -CONSTCD11 -inline -bool -operator==(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month())); -} - -CONSTCD11 -inline -bool -operator>(const year_month& x, const year_month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x < y); -} - -template -CONSTCD14 -inline -year_month -operator+(const year_month& ym, const months& dm) NOEXCEPT -{ - auto dmi = static_cast(static_cast(ym.month())) - 1 + dm.count(); - auto dy = (dmi >= 0 ? dmi : dmi-11) / 12; - dmi = dmi - dy * 12 + 1; - return (ym.year() + years(dy)) / month(static_cast(dmi)); -} - -template -CONSTCD14 -inline -year_month -operator+(const months& dm, const year_month& ym) NOEXCEPT -{ - return ym + dm; -} - -template -CONSTCD14 -inline -year_month -operator-(const year_month& ym, const months& dm) NOEXCEPT -{ - return ym + -dm; -} - -CONSTCD11 -inline -months -operator-(const year_month& x, const year_month& y) NOEXCEPT -{ - return (x.year() - y.year()) + - months(static_cast(x.month()) - static_cast(y.month())); -} - -CONSTCD11 -inline -year_month -operator+(const year_month& ym, const years& dy) NOEXCEPT -{ - return (ym.year() + dy) / ym.month(); -} - -CONSTCD11 -inline -year_month -operator+(const years& dy, const year_month& ym) NOEXCEPT -{ - return ym + dy; -} - -CONSTCD11 -inline -year_month -operator-(const year_month& ym, const years& dy) NOEXCEPT -{ - return ym + -dy; -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const year_month& ym) -{ - low_level_fmt(os, ym.year()) << '/'; - return low_level_fmt(os, ym.month()); -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym) -{ - detail::low_level_fmt(os, ym); - if (!ym.ok()) - os << " is not a valid year_month"; - return os; -} - -// month_day - -CONSTCD11 -inline -month_day::month_day(const date::month& m, const date::day& d) NOEXCEPT - : m_(m) - , d_(d) - {} - -CONSTCD11 inline date::month month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline date::day month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -bool -month_day::ok() const NOEXCEPT -{ - CONSTDATA date::day d[] = - { - date::day(31), date::day(29), date::day(31), - date::day(30), date::day(31), date::day(30), - date::day(31), date::day(31), date::day(30), - date::day(31), date::day(30), date::day(31) - }; - return m_.ok() && date::day{1} <= d_ && d_ <= d[static_cast(m_)-1]; -} - -CONSTCD11 -inline -bool -operator==(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())); -} - -CONSTCD11 -inline -bool -operator>(const month_day& x, const month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x < y); -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const month_day& md) -{ - low_level_fmt(os, md.month()) << '/'; - return low_level_fmt(os, md.day()); -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md) -{ - detail::low_level_fmt(os, md); - if (!md.ok()) - os << " is not a valid month_day"; - return os; -} - -// month_day_last - -CONSTCD11 inline month month_day_last::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month_day_last::ok() const NOEXCEPT {return m_.ok();} -CONSTCD11 inline month_day_last::month_day_last(const date::month& m) NOEXCEPT : m_(m) {} - -CONSTCD11 -inline -bool -operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() < y.month(); -} - -CONSTCD11 -inline -bool -operator>(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const month_day_last& mdl) -{ - return low_level_fmt(os, mdl.month()) << "/last"; -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl) -{ - detail::low_level_fmt(os, mdl); - if (!mdl.ok()) - os << " is not a valid month_day_last"; - return os; -} - -// month_weekday - -CONSTCD11 -inline -month_weekday::month_weekday(const date::month& m, - const date::weekday_indexed& wdi) NOEXCEPT - : m_(m) - , wdi_(wdi) - {} - -CONSTCD11 inline month month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_indexed -month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD11 -inline -bool -month_weekday::ok() const NOEXCEPT -{ - return m_.ok() && wdi_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const month_weekday& mwd) -{ - low_level_fmt(os, mwd.month()) << '/'; - return low_level_fmt(os, mwd.weekday_indexed()); -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd) -{ - detail::low_level_fmt(os, mwd); - if (!mwd.ok()) - os << " is not a valid month_weekday"; - return os; -} - -// month_weekday_last - -CONSTCD11 -inline -month_weekday_last::month_weekday_last(const date::month& m, - const date::weekday_last& wdl) NOEXCEPT - : m_(m) - , wdl_(wdl) - {} - -CONSTCD11 inline month month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_last -month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD11 -inline -bool -month_weekday_last::ok() const NOEXCEPT -{ - return m_.ok() && wdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const month_weekday_last& mwdl) -{ - low_level_fmt(os, mwdl.month()) << '/'; - return low_level_fmt(os, mwdl.weekday_last()); -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl) -{ - detail::low_level_fmt(os, mwdl); - if (!mwdl.ok()) - os << " is not a valid month_weekday_last"; - return os; -} - -// year_month_day_last - -CONSTCD11 -inline -year_month_day_last::year_month_day_last(const date::year& y, - const date::month_day_last& mdl) NOEXCEPT - : y_(y) - , mdl_(mdl) - {} - -template -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -template -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_day_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day_last::month() const NOEXCEPT {return mdl_.month();} - -CONSTCD11 -inline -month_day_last -year_month_day_last::month_day_last() const NOEXCEPT -{ - return mdl_; -} - -CONSTCD14 -inline -day -year_month_day_last::day() const NOEXCEPT -{ - CONSTDATA date::day d[] = - { - date::day(31), date::day(28), date::day(31), - date::day(30), date::day(31), date::day(30), - date::day(31), date::day(31), date::day(30), - date::day(31), date::day(30), date::day(31) - }; - return (month() != February || !y_.is_leap()) && mdl_.ok() ? - d[static_cast(month()) - 1] : date::day{29}; -} - -CONSTCD14 -inline -year_month_day_last::operator sys_days() const NOEXCEPT -{ - return sys_days(year()/month()/day()); -} - -CONSTCD14 -inline -year_month_day_last::operator local_days() const NOEXCEPT -{ - return local_days(year()/month()/day()); -} - -CONSTCD11 -inline -bool -year_month_day_last::ok() const NOEXCEPT -{ - return y_.ok() && mdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month_day_last() == y.month_day_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month_day_last() < y.month_day_last())); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -namespace detail -{ - -template -std::basic_ostream& -low_level_fmt(std::basic_ostream& os, const year_month_day_last& ymdl) -{ - low_level_fmt(os, ymdl.year()) << '/'; - return low_level_fmt(os, ymdl.month_day_last()); -} - -} // namespace detail - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl) -{ - detail::low_level_fmt(os, ymdl); - if (!ymdl.ok()) - os << " is not a valid year_month_day_last"; - return os; -} - -template -CONSTCD14 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return (ymdl.year() / ymdl.month() + dm) / last; -} - -template -CONSTCD14 -inline -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dm; -} - -template -CONSTCD14 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return ymdl + (-dm); -} - -CONSTCD11 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return {ymdl.year()+dy, ymdl.month_day_last()}; -} - -CONSTCD11 -inline -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dy; -} - -CONSTCD11 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return ymdl + (-dy); -} - -// year_month_day - -CONSTCD11 -inline -year_month_day::year_month_day(const date::year& y, const date::month& m, - const date::day& d) NOEXCEPT - : y_(y) - , m_(m) - , d_(d) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(const year_month_day_last& ymdl) NOEXCEPT - : y_(ymdl.year()) - , m_(ymdl.month()) - , d_(ymdl.day()) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(sys_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(local_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD11 inline year year_month_day::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline day year_month_day::day() const NOEXCEPT {return d_;} - -template -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -template -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD14 -inline -days -year_month_day::to_days() const NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - auto const y = static_cast(y_) - (m_ <= February); - auto const m = static_cast(m_); - auto const d = static_cast(d_); - auto const era = (y >= 0 ? y : y-399) / 400; - auto const yoe = static_cast(y - era * 400); // [0, 399] - auto const doy = (153*(m > 2 ? m-3 : m+9) + 2)/5 + d-1; // [0, 365] - auto const doe = yoe * 365 + yoe/4 - yoe/100 + doy; // [0, 146096] - return days{era * 146097 + static_cast(doe) - 719468}; -} - -CONSTCD14 -inline -year_month_day::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_day::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_day::ok() const NOEXCEPT -{ - if (!(y_.ok() && m_.ok())) - return false; - return date::day{1} <= d_ && d_ <= (y_ / m_ / last).day(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())))); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd) -{ - detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.imbue(std::locale::classic()); - os << static_cast(ymd.year()) << '-'; - os.width(2); - os << static_cast(ymd.month()) << '-'; - os.width(2); - os << static_cast(ymd.day()); - if (!ymd.ok()) - os << " is not a valid year_month_day"; - return os; -} - -CONSTCD14 -inline -year_month_day -year_month_day::from_days(days dp) NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - auto const z = dp.count() + 719468; - auto const era = (z >= 0 ? z : z - 146096) / 146097; - auto const doe = static_cast(z - era * 146097); // [0, 146096] - auto const yoe = (doe - doe/1460 + doe/36524 - doe/146096) / 365; // [0, 399] - auto const y = static_cast(yoe) + era * 400; - auto const doy = doe - (365*yoe + yoe/4 - yoe/100); // [0, 365] - auto const mp = (5*doy + 2)/153; // [0, 11] - auto const d = doy - (153*mp+2)/5 + 1; // [1, 31] - auto const m = mp < 10 ? mp+3 : mp-9; // [1, 12] - return year_month_day{date::year{y + (m <= 2)}, date::month(m), date::day(d)}; -} - -template -CONSTCD14 -inline -year_month_day -operator+(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return (ymd.year() / ymd.month() + dm) / ymd.day(); -} - -template -CONSTCD14 -inline -year_month_day -operator+(const months& dm, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dm; -} - -template -CONSTCD14 -inline -year_month_day -operator-(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return ymd + (-dm); -} - -CONSTCD11 -inline -year_month_day -operator+(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return (ymd.year() + dy) / ymd.month() / ymd.day(); -} - -CONSTCD11 -inline -year_month_day -operator+(const years& dy, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dy; -} - -CONSTCD11 -inline -year_month_day -operator-(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return ymd + (-dy); -} - -// year_month_weekday - -CONSTCD11 -inline -year_month_weekday::year_month_weekday(const date::year& y, const date::month& m, - const date::weekday_indexed& wdi) - NOEXCEPT - : y_(y) - , m_(m) - , wdi_(wdi) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const sys_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const local_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -template -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -template -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday::weekday() const NOEXCEPT -{ - return wdi_.weekday(); -} - -CONSTCD11 -inline -unsigned -year_month_weekday::index() const NOEXCEPT -{ - return wdi_.index(); -} - -CONSTCD11 -inline -weekday_indexed -year_month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD14 -inline -year_month_weekday::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_weekday::ok() const NOEXCEPT -{ - if (!y_.ok() || !m_.ok() || !wdi_.weekday().ok() || wdi_.index() < 1) - return false; - if (wdi_.index() <= 4) - return true; - auto d2 = wdi_.weekday() - date::weekday(static_cast(y_/m_/1)) + - days((wdi_.index()-1)*7 + 1); - return static_cast(d2.count()) <= static_cast((y_/m_/last).day()); -} - -CONSTCD14 -inline -year_month_weekday -year_month_weekday::from_days(days d) NOEXCEPT -{ - sys_days dp{d}; - auto const wd = date::weekday(dp); - auto const ymd = year_month_day(dp); - return {ymd.year(), ymd.month(), wd[(static_cast(ymd.day())-1)/7+1]}; -} - -CONSTCD14 -inline -days -year_month_weekday::to_days() const NOEXCEPT -{ - auto d = sys_days(y_/m_/1); - return (d + (wdi_.weekday() - date::weekday(d) + days{(wdi_.index()-1)*7}) - ).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi) -{ - detail::low_level_fmt(os, ymwdi.year()) << '/'; - detail::low_level_fmt(os, ymwdi.month()) << '/'; - detail::low_level_fmt(os, ymwdi.weekday_indexed()); - if (!ymwdi.ok()) - os << " is not a valid year_month_weekday"; - return os; -} - -template -CONSTCD14 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return (ymwd.year() / ymwd.month() + dm) / ymwd.weekday_indexed(); -} - -template -CONSTCD14 -inline -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dm; -} - -template -CONSTCD14 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return ymwd + (-dm); -} - -CONSTCD11 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return {ymwd.year()+dy, ymwd.month(), ymwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dy; -} - -CONSTCD11 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return ymwd + (-dy); -} - -// year_month_weekday_last - -CONSTCD11 -inline -year_month_weekday_last::year_month_weekday_last(const date::year& y, - const date::month& m, - const date::weekday_last& wdl) NOEXCEPT - : y_(y) - , m_(m) - , wdl_(wdl) - {} - -template -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -template -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday_last::weekday() const NOEXCEPT -{ - return wdl_.weekday(); -} - -CONSTCD11 -inline -weekday_last -year_month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD14 -inline -year_month_weekday_last::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday_last::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD11 -inline -bool -year_month_weekday_last::ok() const NOEXCEPT -{ - return y_.ok() && m_.ok() && wdl_.ok(); -} - -CONSTCD14 -inline -days -year_month_weekday_last::to_days() const NOEXCEPT -{ - auto const d = sys_days(y_/m_/last); - return (d - (date::weekday{d} - wdl_.weekday())).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl) -{ - detail::low_level_fmt(os, ymwdl.year()) << '/'; - detail::low_level_fmt(os, ymwdl.month()) << '/'; - detail::low_level_fmt(os, ymwdl.weekday_last()); - if (!ymwdl.ok()) - os << " is not a valid year_month_weekday_last"; - return os; -} - -template -CONSTCD14 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return (ymwdl.year() / ymwdl.month() + dm) / ymwdl.weekday_last(); -} - -template -CONSTCD14 -inline -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dm; -} - -template -CONSTCD14 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return ymwdl + (-dm); -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return {ymwdl.year()+dy, ymwdl.month(), ymwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dy; -} - -CONSTCD11 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return ymwdl + (-dy); -} - -// year_month from operator/() - -CONSTCD11 -inline -year_month -operator/(const year& y, const month& m) NOEXCEPT -{ - return {y, m}; -} - -CONSTCD11 -inline -year_month -operator/(const year& y, int m) NOEXCEPT -{ - return y / month(static_cast(m)); -} - -// month_day from operator/() - -CONSTCD11 -inline -month_day -operator/(const month& m, const day& d) NOEXCEPT -{ - return {m, d}; -} - -CONSTCD11 -inline -month_day -operator/(const day& d, const month& m) NOEXCEPT -{ - return m / d; -} - -CONSTCD11 -inline -month_day -operator/(const month& m, int d) NOEXCEPT -{ - return m / day(static_cast(d)); -} - -CONSTCD11 -inline -month_day -operator/(int m, const day& d) NOEXCEPT -{ - return month(static_cast(m)) / d; -} - -CONSTCD11 inline month_day operator/(const day& d, int m) NOEXCEPT {return m / d;} - -// month_day_last from operator/() - -CONSTCD11 -inline -month_day_last -operator/(const month& m, last_spec) NOEXCEPT -{ - return month_day_last{m}; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, const month& m) NOEXCEPT -{ - return m/last; -} - -CONSTCD11 -inline -month_day_last -operator/(int m, last_spec) NOEXCEPT -{ - return month(static_cast(m))/last; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, int m) NOEXCEPT -{ - return m/last; -} - -// month_weekday from operator/() - -CONSTCD11 -inline -month_weekday -operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT -{ - return {m, wdi}; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT -{ - return m / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(int m, const weekday_indexed& wdi) NOEXCEPT -{ - return month(static_cast(m)) / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, int m) NOEXCEPT -{ - return m / wdi; -} - -// month_weekday_last from operator/() - -CONSTCD11 -inline -month_weekday_last -operator/(const month& m, const weekday_last& wdl) NOEXCEPT -{ - return {m, wdl}; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, const month& m) NOEXCEPT -{ - return m / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(int m, const weekday_last& wdl) NOEXCEPT -{ - return month(static_cast(m)) / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, int m) NOEXCEPT -{ - return m / wdl; -} - -// year_month_day from operator/() - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, const day& d) NOEXCEPT -{ - return {ym.year(), ym.month(), d}; -} - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, int d) NOEXCEPT -{ - return ym / day(static_cast(d)); -} - -CONSTCD11 -inline -year_month_day -operator/(const year& y, const month_day& md) NOEXCEPT -{ - return y / md.month() / md.day(); -} - -CONSTCD11 -inline -year_month_day -operator/(int y, const month_day& md) NOEXCEPT -{ - return year(y) / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, const year& y) NOEXCEPT -{ - return y / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, int y) NOEXCEPT -{ - return year(y) / md; -} - -// year_month_day_last from operator/() - -CONSTCD11 -inline -year_month_day_last -operator/(const year_month& ym, last_spec) NOEXCEPT -{ - return {ym.year(), month_day_last{ym.month()}}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const year& y, const month_day_last& mdl) NOEXCEPT -{ - return {y, mdl}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(int y, const month_day_last& mdl) NOEXCEPT -{ - return year(y) / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, const year& y) NOEXCEPT -{ - return y / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, int y) NOEXCEPT -{ - return year(y) / mdl; -} - -// year_month_weekday from operator/() - -CONSTCD11 -inline -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT -{ - return {ym.year(), ym.month(), wdi}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT -{ - return {y, mwd.month(), mwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT -{ - return year(y) / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT -{ - return y / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT -{ - return year(y) / mwd; -} - -// year_month_weekday_last from operator/() - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT -{ - return {ym.year(), ym.month(), wdl}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT -{ - return {y, mwdl.month(), mwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT -{ - return year(y) / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT -{ - return y / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT -{ - return year(y) / mwdl; -} - -template -struct fields; - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const fields& fds, const std::string* abbrev = nullptr, - const std::chrono::seconds* offset_sec = nullptr); - -template -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - fields& fds, std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr); - -// hh_mm_ss - -namespace detail -{ - -struct undocumented {explicit undocumented() = default;}; - -// width::value is the number of fractional decimal digits in 1/n -// width<0>::value and width<1>::value are defined to be 0 -// If 1/n takes more than 18 fractional decimal digits, -// the result is truncated to 19. -// Example: width<2>::value == 1 -// Example: width<3>::value == 19 -// Example: width<4>::value == 2 -// Example: width<10>::value == 1 -// Example: width<1000>::value == 3 -template -struct width -{ - static_assert(d > 0, "width called with zero denominator"); - static CONSTDATA unsigned value = 1 + width::value; -}; - -template -struct width -{ - static CONSTDATA unsigned value = 0; -}; - -template -struct static_pow10 -{ -private: - static CONSTDATA std::uint64_t h = static_pow10::value; -public: - static CONSTDATA std::uint64_t value = h * h * (exp % 2 ? 10 : 1); -}; - -template <> -struct static_pow10<0> -{ - static CONSTDATA std::uint64_t value = 1; -}; - -template -class decimal_format_seconds -{ - using CT = typename std::common_type::type; - using rep = typename CT::rep; - static unsigned CONSTDATA trial_width = - detail::width::value; -public: - static unsigned CONSTDATA width = trial_width < 19 ? trial_width : 6u; - using precision = std::chrono::duration::value>>; - -private: - std::chrono::seconds s_; - precision sub_s_; - -public: - CONSTCD11 decimal_format_seconds() - : s_() - , sub_s_() - {} - - CONSTCD11 explicit decimal_format_seconds(const Duration& d) NOEXCEPT - : s_(std::chrono::duration_cast(d)) - , sub_s_(std::chrono::duration_cast(d - s_)) - {} - - CONSTCD14 std::chrono::seconds& seconds() NOEXCEPT {return s_;} - CONSTCD11 std::chrono::seconds seconds() const NOEXCEPT {return s_;} - CONSTCD11 precision subseconds() const NOEXCEPT {return sub_s_;} - - CONSTCD14 precision to_duration() const NOEXCEPT - { - return s_ + sub_s_; - } - - CONSTCD11 bool in_conventional_range() const NOEXCEPT - { - return sub_s_ < std::chrono::seconds{1} && s_ < std::chrono::minutes{1}; - } - - template - friend - std::basic_ostream& - operator<<(std::basic_ostream& os, const decimal_format_seconds& x) - { - return x.print(os, std::chrono::treat_as_floating_point{}); - } - - template - std::basic_ostream& - print(std::basic_ostream& os, std::true_type) const - { - date::detail::save_ostream _(os); - std::chrono::duration d = s_ + sub_s_; - if (d < std::chrono::seconds{10}) - os << '0'; - os.precision(width+6); - os << std::fixed << d.count(); - return os; - } - - template - std::basic_ostream& - print(std::basic_ostream& os, std::false_type) const - { - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << s_.count(); - if (width > 0) - { -#if !ONLY_C_LOCALE - os << std::use_facet>(os.getloc()).decimal_point(); -#else - os << '.'; -#endif - date::detail::save_ostream _s(os); - os.imbue(std::locale::classic()); - os.width(width); - os << sub_s_.count(); - } - return os; - } -}; - -template -inline -CONSTCD11 -typename std::enable_if - < - std::numeric_limits::is_signed, - std::chrono::duration - >::type -abs(std::chrono::duration d) -{ - return d >= d.zero() ? +d : -d; -} - -template -inline -CONSTCD11 -typename std::enable_if - < - !std::numeric_limits::is_signed, - std::chrono::duration - >::type -abs(std::chrono::duration d) -{ - return d; -} - -} // namespace detail - -template -class hh_mm_ss -{ - using dfs = detail::decimal_format_seconds::type>; - - std::chrono::hours h_; - std::chrono::minutes m_; - dfs s_; - bool neg_; - -public: - static unsigned CONSTDATA fractional_width = dfs::width; - using precision = typename dfs::precision; - - CONSTCD11 hh_mm_ss() NOEXCEPT - : hh_mm_ss(Duration::zero()) - {} - - CONSTCD11 explicit hh_mm_ss(Duration d) NOEXCEPT - : h_(std::chrono::duration_cast(detail::abs(d))) - , m_(std::chrono::duration_cast(detail::abs(d)) - h_) - , s_(detail::abs(d) - h_ - m_) - , neg_(d < Duration::zero()) - {} - - CONSTCD11 std::chrono::hours hours() const NOEXCEPT {return h_;} - CONSTCD11 std::chrono::minutes minutes() const NOEXCEPT {return m_;} - CONSTCD11 std::chrono::seconds seconds() const NOEXCEPT {return s_.seconds();} - CONSTCD14 std::chrono::seconds& - seconds(detail::undocumented) NOEXCEPT {return s_.seconds();} - CONSTCD11 precision subseconds() const NOEXCEPT {return s_.subseconds();} - CONSTCD11 bool is_negative() const NOEXCEPT {return neg_;} - - CONSTCD11 explicit operator precision() const NOEXCEPT {return to_duration();} - CONSTCD11 precision to_duration() const NOEXCEPT - {return (s_.to_duration() + m_ + h_) * (1-2*neg_);} - - CONSTCD11 bool in_conventional_range() const NOEXCEPT - { - return !neg_ && h_ < days{1} && m_ < std::chrono::hours{1} && - s_.in_conventional_range(); - } - -private: - - template - friend - std::basic_ostream& - operator<<(std::basic_ostream& os, hh_mm_ss const& tod) - { - if (tod.is_negative()) - os << '-'; - if (tod.h_ < std::chrono::hours{10}) - os << '0'; - os << tod.h_.count() << ':'; - if (tod.m_ < std::chrono::minutes{10}) - os << '0'; - os << tod.m_.count() << ':' << tod.s_; - return os; - } - - template - friend - std::basic_ostream& - date::to_stream(std::basic_ostream& os, const CharT* fmt, - const fields& fds, const std::string* abbrev, - const std::chrono::seconds* offset_sec); - - template - friend - std::basic_istream& - date::from_stream(std::basic_istream& is, const CharT* fmt, - fields& fds, - std::basic_string* abbrev, std::chrono::minutes* offset); -}; - -inline -CONSTCD14 -bool -is_am(std::chrono::hours const& h) NOEXCEPT -{ - using std::chrono::hours; - return hours{0} <= h && h < hours{12}; -} - -inline -CONSTCD14 -bool -is_pm(std::chrono::hours const& h) NOEXCEPT -{ - using std::chrono::hours; - return hours{12} <= h && h < hours{24}; -} - -inline -CONSTCD14 -std::chrono::hours -make12(std::chrono::hours h) NOEXCEPT -{ - using std::chrono::hours; - if (h < hours{12}) - { - if (h == hours{0}) - h = hours{12}; - } - else - { - if (h != hours{12}) - h = h - hours{12}; - } - return h; -} - -inline -CONSTCD14 -std::chrono::hours -make24(std::chrono::hours h, bool is_pm) NOEXCEPT -{ - using std::chrono::hours; - if (is_pm) - { - if (h != hours{12}) - h = h + hours{12}; - } - else if (h == hours{12}) - h = hours{0}; - return h; -} - -template -using time_of_day = hh_mm_ss; - -template -CONSTCD11 -inline -hh_mm_ss> -make_time(const std::chrono::duration& d) -{ - return hh_mm_ss>(d); -} - -template -inline -typename std::enable_if -< - !std::is_convertible::value, - std::basic_ostream& ->::type -operator<<(std::basic_ostream& os, const sys_time& tp) -{ - auto const dp = date::floor(tp); - return os << year_month_day(dp) << ' ' << make_time(tp-dp); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const sys_days& dp) -{ - return os << year_month_day(dp); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const local_time& ut) -{ - return (os << sys_time{ut.time_since_epoch()}); -} - -namespace detail -{ - -template -class string_literal; - -template -inline -CONSTCD14 -string_literal::type, - N1 + N2 - 1> -operator+(const string_literal& x, const string_literal& y) NOEXCEPT; - -template -class string_literal -{ - CharT p_[N]; - - CONSTCD11 string_literal() NOEXCEPT - : p_{} - {} - -public: - using const_iterator = const CharT*; - - string_literal(string_literal const&) = default; - string_literal& operator=(string_literal const&) = delete; - - template ::type> - CONSTCD11 string_literal(CharT c) NOEXCEPT - : p_{c} - { - } - - template ::type> - CONSTCD11 string_literal(CharT c1, CharT c2) NOEXCEPT - : p_{c1, c2} - { - } - - template ::type> - CONSTCD11 string_literal(CharT c1, CharT c2, CharT c3) NOEXCEPT - : p_{c1, c2, c3} - { - } - - CONSTCD14 string_literal(const CharT(&a)[N]) NOEXCEPT - : p_{} - { - for (std::size_t i = 0; i < N; ++i) - p_[i] = a[i]; - } - - template ::type> - CONSTCD14 string_literal(const char(&a)[N]) NOEXCEPT - : p_{} - { - for (std::size_t i = 0; i < N; ++i) - p_[i] = a[i]; - } - - template ::value>::type> - CONSTCD14 string_literal(string_literal const& a) NOEXCEPT - : p_{} - { - for (std::size_t i = 0; i < N; ++i) - p_[i] = a[i]; - } - - CONSTCD11 const CharT* data() const NOEXCEPT {return p_;} - CONSTCD11 std::size_t size() const NOEXCEPT {return N-1;} - - CONSTCD11 const_iterator begin() const NOEXCEPT {return p_;} - CONSTCD11 const_iterator end() const NOEXCEPT {return p_ + N-1;} - - CONSTCD11 CharT const& operator[](std::size_t n) const NOEXCEPT - { - return p_[n]; - } - - template - friend - std::basic_ostream& - operator<<(std::basic_ostream& os, const string_literal& s) - { - return os << s.p_; - } - - template - friend - CONSTCD14 - string_literal::type, - N1 + N2 - 1> - operator+(const string_literal& x, const string_literal& y) NOEXCEPT; -}; - -template -CONSTCD11 -inline -string_literal -operator+(const string_literal& x, const string_literal& y) NOEXCEPT -{ - return string_literal(x[0], y[0]); -} - -template -CONSTCD11 -inline -string_literal -operator+(const string_literal& x, const string_literal& y) NOEXCEPT -{ - return string_literal(x[0], x[1], y[0]); -} - -template -CONSTCD14 -inline -string_literal::type, - N1 + N2 - 1> -operator+(const string_literal& x, const string_literal& y) NOEXCEPT -{ - using CT = typename std::conditional::type; - - string_literal r; - std::size_t i = 0; - for (; i < N1-1; ++i) - r.p_[i] = CT(x.p_[i]); - for (std::size_t j = 0; j < N2; ++j, ++i) - r.p_[i] = CT(y.p_[j]); - - return r; -} - - -template -inline -std::basic_string -operator+(std::basic_string x, const string_literal& y) -{ - x.append(y.data(), y.size()); - return x; -} - -#if __cplusplus >= 201402 && (!defined(__EDG_VERSION__) || __EDG_VERSION__ > 411) \ - && (!defined(__SUNPRO_CC) || __SUNPRO_CC > 0x5150) - -template ::value || - std::is_same::value || - std::is_same::value || - std::is_same::value>> -CONSTCD14 -inline -string_literal -msl(CharT c) NOEXCEPT -{ - return string_literal{c}; -} - -CONSTCD14 -inline -std::size_t -to_string_len(std::intmax_t i) -{ - std::size_t r = 0; - do - { - i /= 10; - ++r; - } while (i > 0); - return r; -} - -template -CONSTCD14 -inline -std::enable_if_t -< - N < 10, - string_literal -> -msl() NOEXCEPT -{ - return msl(char(N % 10 + '0')); -} - -template -CONSTCD14 -inline -std::enable_if_t -< - 10 <= N, - string_literal -> -msl() NOEXCEPT -{ - return msl() + msl(char(N % 10 + '0')); -} - -template -CONSTCD14 -inline -std::enable_if_t -< - std::ratio::type::den != 1, - string_literal::type::num) + - to_string_len(std::ratio::type::den) + 4> -> -msl(std::ratio) NOEXCEPT -{ - using R = typename std::ratio::type; - return msl(CharT{'['}) + msl() + msl(CharT{'/'}) + - msl() + msl(CharT{']'}); -} - -template -CONSTCD14 -inline -std::enable_if_t -< - std::ratio::type::den == 1, - string_literal::type::num) + 3> -> -msl(std::ratio) NOEXCEPT -{ - using R = typename std::ratio::type; - return msl(CharT{'['}) + msl() + msl(CharT{']'}); -} - - -#else // __cplusplus < 201402 || (defined(__EDG_VERSION__) && __EDG_VERSION__ <= 411) - -inline -std::string -to_string(std::uint64_t x) -{ - return std::to_string(x); -} - -template -inline -std::basic_string -to_string(std::uint64_t x) -{ - auto y = std::to_string(x); - return std::basic_string(y.begin(), y.end()); -} - -template -inline -typename std::enable_if -< - std::ratio::type::den != 1, - std::basic_string ->::type -msl(std::ratio) -{ - using R = typename std::ratio::type; - return std::basic_string(1, '[') + to_string(R::num) + CharT{'/'} + - to_string(R::den) + CharT{']'}; -} - -template -inline -typename std::enable_if -< - std::ratio::type::den == 1, - std::basic_string ->::type -msl(std::ratio) -{ - using R = typename std::ratio::type; - return std::basic_string(1, '[') + to_string(R::num) + CharT{']'}; -} - -#endif // __cplusplus < 201402 || (defined(__EDG_VERSION__) && __EDG_VERSION__ <= 411) - -template -CONSTCD11 -inline -string_literal -msl(std::atto) NOEXCEPT -{ - return string_literal{'a'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::femto) NOEXCEPT -{ - return string_literal{'f'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::pico) NOEXCEPT -{ - return string_literal{'p'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::nano) NOEXCEPT -{ - return string_literal{'n'}; -} - -template -CONSTCD11 -inline -typename std::enable_if -< - std::is_same::value, - string_literal ->::type -msl(std::micro) NOEXCEPT -{ - return string_literal{'\xC2', '\xB5'}; -} - -template -CONSTCD11 -inline -typename std::enable_if -< - !std::is_same::value, - string_literal ->::type -msl(std::micro) NOEXCEPT -{ - return string_literal{CharT{static_cast('\xB5')}}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::milli) NOEXCEPT -{ - return string_literal{'m'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::centi) NOEXCEPT -{ - return string_literal{'c'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::deca) NOEXCEPT -{ - return string_literal{'d', 'a'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::deci) NOEXCEPT -{ - return string_literal{'d'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::hecto) NOEXCEPT -{ - return string_literal{'h'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::kilo) NOEXCEPT -{ - return string_literal{'k'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::mega) NOEXCEPT -{ - return string_literal{'M'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::giga) NOEXCEPT -{ - return string_literal{'G'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::tera) NOEXCEPT -{ - return string_literal{'T'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::peta) NOEXCEPT -{ - return string_literal{'P'}; -} - -template -CONSTCD11 -inline -string_literal -msl(std::exa) NOEXCEPT -{ - return string_literal{'E'}; -} - -template -CONSTCD11 -inline -auto -get_units(Period p) - -> decltype(msl(p) + string_literal{'s'}) -{ - return msl(p) + string_literal{'s'}; -} - -template -CONSTCD11 -inline -string_literal -get_units(std::ratio<1>) -{ - return string_literal{'s'}; -} - -template -CONSTCD11 -inline -string_literal -get_units(std::ratio<3600>) -{ - return string_literal{'h'}; -} - -template -CONSTCD11 -inline -string_literal -get_units(std::ratio<60>) -{ - return string_literal{'m', 'i', 'n'}; -} - -template -CONSTCD11 -inline -string_literal -get_units(std::ratio<86400>) -{ - return string_literal{'d'}; -} - -template > -struct make_string; - -template <> -struct make_string -{ - template - static - std::string - from(Rep n) - { - return std::to_string(n); - } -}; - -template -struct make_string -{ - template - static - std::basic_string - from(Rep n) - { - auto s = std::to_string(n); - return std::basic_string(s.begin(), s.end()); - } -}; - -template <> -struct make_string -{ - template - static - std::wstring - from(Rep n) - { - return std::to_wstring(n); - } -}; - -template -struct make_string -{ - template - static - std::basic_string - from(Rep n) - { - auto s = std::to_wstring(n); - return std::basic_string(s.begin(), s.end()); - } -}; - -} // namespace detail - -// to_stream - -CONSTDATA year nanyear{-32768}; - -template -struct fields -{ - year_month_day ymd{nanyear/0/0}; - weekday wd{8u}; - hh_mm_ss tod{}; - bool has_tod = false; - -#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ <= 409) - fields() : ymd{nanyear/0/0}, wd{8u}, tod{}, has_tod{false} {} -#else - fields() = default; -#endif - - fields(year_month_day ymd_) : ymd(ymd_) {} - fields(weekday wd_) : wd(wd_) {} - fields(hh_mm_ss tod_) : tod(tod_), has_tod(true) {} - - fields(year_month_day ymd_, weekday wd_) : ymd(ymd_), wd(wd_) {} - fields(year_month_day ymd_, hh_mm_ss tod_) : ymd(ymd_), tod(tod_), - has_tod(true) {} - - fields(weekday wd_, hh_mm_ss tod_) : wd(wd_), tod(tod_), has_tod(true) {} - - fields(year_month_day ymd_, weekday wd_, hh_mm_ss tod_) - : ymd(ymd_) - , wd(wd_) - , tod(tod_) - , has_tod(true) - {} -}; - -namespace detail -{ - -template -unsigned -extract_weekday(std::basic_ostream& os, const fields& fds) -{ - if (!fds.ymd.ok() && !fds.wd.ok()) - { - // fds does not contain a valid weekday - os.setstate(std::ios::failbit); - return 8; - } - weekday wd; - if (fds.ymd.ok()) - { - wd = weekday{sys_days(fds.ymd)}; - if (fds.wd.ok() && wd != fds.wd) - { - // fds.ymd and fds.wd are inconsistent - os.setstate(std::ios::failbit); - return 8; - } - } - else - wd = fds.wd; - return static_cast((wd - Sunday).count()); -} - -template -unsigned -extract_month(std::basic_ostream& os, const fields& fds) -{ - if (!fds.ymd.month().ok()) - { - // fds does not contain a valid month - os.setstate(std::ios::failbit); - return 0; - } - return static_cast(fds.ymd.month()); -} - -} // namespace detail - -#if ONLY_C_LOCALE - -namespace detail -{ - -inline -std::pair -weekday_names() -{ - static const std::string nm[] = - { - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - }; - return std::make_pair(nm, nm+sizeof(nm)/sizeof(nm[0])); -} - -inline -std::pair -month_names() -{ - static const std::string nm[] = - { - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - }; - return std::make_pair(nm, nm+sizeof(nm)/sizeof(nm[0])); -} - -inline -std::pair -ampm_names() -{ - static const std::string nm[] = - { - "AM", - "PM" - }; - return std::make_pair(nm, nm+sizeof(nm)/sizeof(nm[0])); -} - -template -FwdIter -scan_keyword(std::basic_istream& is, FwdIter kb, FwdIter ke) -{ - size_t nkw = static_cast(std::distance(kb, ke)); - const unsigned char doesnt_match = '\0'; - const unsigned char might_match = '\1'; - const unsigned char does_match = '\2'; - unsigned char statbuf[100]; - unsigned char* status = statbuf; - std::unique_ptr stat_hold(0, free); - if (nkw > sizeof(statbuf)) - { - status = (unsigned char*)std::malloc(nkw); - if (status == nullptr) - throw std::bad_alloc(); - stat_hold.reset(status); - } - size_t n_might_match = nkw; // At this point, any keyword might match - size_t n_does_match = 0; // but none of them definitely do - // Initialize all statuses to might_match, except for "" keywords are does_match - unsigned char* st = status; - for (auto ky = kb; ky != ke; ++ky, ++st) - { - if (!ky->empty()) - *st = might_match; - else - { - *st = does_match; - --n_might_match; - ++n_does_match; - } - } - // While there might be a match, test keywords against the next CharT - for (size_t indx = 0; is && n_might_match > 0; ++indx) - { - // Peek at the next CharT but don't consume it - auto ic = is.peek(); - if (ic == EOF) - { - is.setstate(std::ios::eofbit); - break; - } - auto c = static_cast(toupper(static_cast(ic))); - bool consume = false; - // For each keyword which might match, see if the indx character is c - // If a match if found, consume c - // If a match is found, and that is the last character in the keyword, - // then that keyword matches. - // If the keyword doesn't match this character, then change the keyword - // to doesn't match - st = status; - for (auto ky = kb; ky != ke; ++ky, ++st) - { - if (*st == might_match) - { - if (c == static_cast(toupper(static_cast((*ky)[indx])))) - { - consume = true; - if (ky->size() == indx+1) - { - *st = does_match; - --n_might_match; - ++n_does_match; - } - } - else - { - *st = doesnt_match; - --n_might_match; - } - } - } - // consume if we matched a character - if (consume) - { - (void)is.get(); - // If we consumed a character and there might be a matched keyword that - // was marked matched on a previous iteration, then such keywords - // are now marked as not matching. - if (n_might_match + n_does_match > 1) - { - st = status; - for (auto ky = kb; ky != ke; ++ky, ++st) - { - if (*st == does_match && ky->size() != indx+1) - { - *st = doesnt_match; - --n_does_match; - } - } - } - } - } - // We've exited the loop because we hit eof and/or we have no more "might matches". - // Return the first matching result - for (st = status; kb != ke; ++kb, ++st) - if (*st == does_match) - break; - if (kb == ke) - is.setstate(std::ios::failbit); - return kb; -} - -} // namespace detail - -#endif // ONLY_C_LOCALE - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const fields& fds, const std::string* abbrev, - const std::chrono::seconds* offset_sec) -{ -#if ONLY_C_LOCALE - using detail::weekday_names; - using detail::month_names; - using detail::ampm_names; -#endif - using detail::save_ostream; - using detail::get_units; - using detail::extract_weekday; - using detail::extract_month; - using std::ios; - using std::chrono::duration_cast; - using std::chrono::seconds; - using std::chrono::minutes; - using std::chrono::hours; - date::detail::save_ostream ss(os); - os.fill(' '); - os.flags(std::ios::skipws | std::ios::dec); - os.width(0); - tm tm{}; - bool insert_negative = fds.has_tod && fds.tod.to_duration() < Duration::zero(); -#if !ONLY_C_LOCALE - auto& facet = std::use_facet>(os.getloc()); -#endif - const CharT* command = nullptr; - CharT modified = CharT{}; - for (; *fmt; ++fmt) - { - switch (*fmt) - { - case 'a': - case 'A': - if (command) - { - if (modified == CharT{}) - { - tm.tm_wday = static_cast(extract_weekday(os, fds)); - if (os.fail()) - return os; -#if !ONLY_C_LOCALE - const CharT f[] = {'%', *fmt}; - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); -#else // ONLY_C_LOCALE - os << weekday_names().first[tm.tm_wday+7*(*fmt == 'a')]; -#endif // ONLY_C_LOCALE - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'b': - case 'B': - case 'h': - if (command) - { - if (modified == CharT{}) - { - tm.tm_mon = static_cast(extract_month(os, fds)) - 1; -#if !ONLY_C_LOCALE - const CharT f[] = {'%', *fmt}; - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); -#else // ONLY_C_LOCALE - os << month_names().first[tm.tm_mon+12*(*fmt != 'B')]; -#endif // ONLY_C_LOCALE - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'c': - case 'x': - if (command) - { - if (modified == CharT{'O'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.ymd.ok()) - os.setstate(std::ios::failbit); - if (*fmt == 'c' && !fds.has_tod) - os.setstate(std::ios::failbit); -#if !ONLY_C_LOCALE - tm = std::tm{}; - auto const& ymd = fds.ymd; - auto ld = local_days(ymd); - if (*fmt == 'c') - { - tm.tm_sec = static_cast(fds.tod.seconds().count()); - tm.tm_min = static_cast(fds.tod.minutes().count()); - tm.tm_hour = static_cast(fds.tod.hours().count()); - } - tm.tm_mday = static_cast(static_cast(ymd.day())); - tm.tm_mon = static_cast(extract_month(os, fds) - 1); - tm.tm_year = static_cast(ymd.year()) - 1900; - tm.tm_wday = static_cast(extract_weekday(os, fds)); - if (os.fail()) - return os; - tm.tm_yday = static_cast((ld - local_days(ymd.year()/1/1)).count()); - CharT f[3] = {'%'}; - auto fe = std::begin(f) + 1; - if (modified == CharT{'E'}) - *fe++ = modified; - *fe++ = *fmt; - facet.put(os, os, os.fill(), &tm, std::begin(f), fe); -#else // ONLY_C_LOCALE - if (*fmt == 'c') - { - auto wd = static_cast(extract_weekday(os, fds)); - os << weekday_names().first[static_cast(wd)+7] - << ' '; - os << month_names().first[extract_month(os, fds)-1+12] << ' '; - auto d = static_cast(static_cast(fds.ymd.day())); - if (d < 10) - os << ' '; - os << d << ' ' - << make_time(duration_cast(fds.tod.to_duration())) - << ' ' << fds.ymd.year(); - - } - else // *fmt == 'x' - { - auto const& ymd = fds.ymd; - save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(ymd.month()) << CharT{'/'}; - os.width(2); - os << static_cast(ymd.day()) << CharT{'/'}; - os.width(2); - os << static_cast(ymd.year()) % 100; - } -#endif // ONLY_C_LOCALE - } - command = nullptr; - modified = CharT{}; - } - else - os << *fmt; - break; - case 'C': - if (command) - { - if (modified == CharT{'O'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.ymd.year().ok()) - os.setstate(std::ios::failbit); - auto y = static_cast(fds.ymd.year()); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - if (y >= 0) - { - os.width(2); - os << y/100; - } - else - { - os << CharT{'-'}; - os.width(2); - os << -(y-99)/100; - } - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'E'}) - { - tm.tm_year = y - 1900; - CharT f[3] = {'%', 'E', 'C'}; - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - command = nullptr; - modified = CharT{}; - } - else - os << *fmt; - break; - case 'd': - case 'e': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.ymd.day().ok()) - os.setstate(std::ios::failbit); - auto d = static_cast(static_cast(fds.ymd.day())); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - save_ostream _(os); - if (*fmt == CharT{'d'}) - os.fill('0'); - else - os.fill(' '); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << d; - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - tm.tm_mday = d; - CharT f[3] = {'%', 'O', *fmt}; - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - command = nullptr; - modified = CharT{}; - } - else - os << *fmt; - break; - case 'D': - if (command) - { - if (modified == CharT{}) - { - if (!fds.ymd.ok()) - os.setstate(std::ios::failbit); - auto const& ymd = fds.ymd; - save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(ymd.month()) << CharT{'/'}; - os.width(2); - os << static_cast(ymd.day()) << CharT{'/'}; - os.width(2); - os << static_cast(ymd.year()) % 100; - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'F': - if (command) - { - if (modified == CharT{}) - { - if (!fds.ymd.ok()) - os.setstate(std::ios::failbit); - auto const& ymd = fds.ymd; - save_ostream _(os); - os.imbue(std::locale::classic()); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(4); - os << static_cast(ymd.year()) << CharT{'-'}; - os.width(2); - os << static_cast(ymd.month()) << CharT{'-'}; - os.width(2); - os << static_cast(ymd.day()); - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'g': - case 'G': - if (command) - { - if (modified == CharT{}) - { - if (!fds.ymd.ok()) - os.setstate(std::ios::failbit); - auto ld = local_days(fds.ymd); - auto y = year_month_day{ld + days{3}}.year(); - auto start = local_days((y-years{1})/December/Thursday[last]) + - (Monday-Thursday); - if (ld < start) - --y; - if (*fmt == CharT{'G'}) - os << y; - else - { - save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << std::abs(static_cast(y)) % 100; - } - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'H': - case 'I': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); - if (insert_negative) - { - os << '-'; - insert_negative = false; - } - auto hms = fds.tod; -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - auto h = *fmt == CharT{'I'} ? date::make12(hms.hours()) : hms.hours(); - if (h < hours{10}) - os << CharT{'0'}; - os << h.count(); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_hour = static_cast(hms.hours().count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'j': - if (command) - { - if (modified == CharT{}) - { - if (fds.ymd.ok() || fds.has_tod) - { - days doy; - if (fds.ymd.ok()) - { - auto ld = local_days(fds.ymd); - auto y = fds.ymd.year(); - doy = ld - local_days(y/January/1) + days{1}; - } - else - { - doy = duration_cast(fds.tod.to_duration()); - } - save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(3); - os << doy.count(); - } - else - { - os.setstate(std::ios::failbit); - } - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'm': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.ymd.month().ok()) - os.setstate(std::ios::failbit); - auto m = static_cast(fds.ymd.month()); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - if (m < 10) - os << CharT{'0'}; - os << m; - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_mon = static_cast(m-1); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'M': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); - if (insert_negative) - { - os << '-'; - insert_negative = false; - } -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - if (fds.tod.minutes() < minutes{10}) - os << CharT{'0'}; - os << fds.tod.minutes().count(); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_min = static_cast(fds.tod.minutes().count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'n': - if (command) - { - if (modified == CharT{}) - os << CharT{'\n'}; - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'p': - if (command) - { - if (modified == CharT{}) - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); -#if !ONLY_C_LOCALE - const CharT f[] = {'%', *fmt}; - tm.tm_hour = static_cast(fds.tod.hours().count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); -#else - if (date::is_am(fds.tod.hours())) - os << ampm_names().first[0]; - else - os << ampm_names().first[1]; -#endif - } - else - { - os << CharT{'%'} << modified << *fmt; - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'Q': - case 'q': - if (command) - { - if (modified == CharT{}) - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); - auto d = fds.tod.to_duration(); - if (*fmt == 'q') - os << get_units(typename decltype(d)::period::type{}); - else - os << d.count(); - } - else - { - os << CharT{'%'} << modified << *fmt; - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'r': - if (command) - { - if (modified == CharT{}) - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); -#if !ONLY_C_LOCALE - const CharT f[] = {'%', *fmt}; - tm.tm_hour = static_cast(fds.tod.hours().count()); - tm.tm_min = static_cast(fds.tod.minutes().count()); - tm.tm_sec = static_cast(fds.tod.seconds().count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); -#else - hh_mm_ss tod(duration_cast(fds.tod.to_duration())); - save_ostream _(os); - os.fill('0'); - os.width(2); - os << date::make12(tod.hours()).count() << CharT{':'}; - os.width(2); - os << tod.minutes().count() << CharT{':'}; - os.width(2); - os << tod.seconds().count() << CharT{' '}; - if (date::is_am(tod.hours())) - os << ampm_names().first[0]; - else - os << ampm_names().first[1]; -#endif - } - else - { - os << CharT{'%'} << modified << *fmt; - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'R': - if (command) - { - if (modified == CharT{}) - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); - if (fds.tod.hours() < hours{10}) - os << CharT{'0'}; - os << fds.tod.hours().count() << CharT{':'}; - if (fds.tod.minutes() < minutes{10}) - os << CharT{'0'}; - os << fds.tod.minutes().count(); - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'S': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); - if (insert_negative) - { - os << '-'; - insert_negative = false; - } -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - os << fds.tod.s_; - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_sec = static_cast(fds.tod.s_.seconds().count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 't': - if (command) - { - if (modified == CharT{}) - os << CharT{'\t'}; - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'T': - if (command) - { - if (modified == CharT{}) - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); - os << fds.tod; - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'u': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - auto wd = extract_weekday(os, fds); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - os << (wd != 0 ? wd : 7u); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_wday = static_cast(wd); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'U': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - auto const& ymd = fds.ymd; - if (!ymd.ok()) - os.setstate(std::ios::failbit); - auto ld = local_days(ymd); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - auto st = local_days(Sunday[1]/January/ymd.year()); - if (ld < st) - os << CharT{'0'} << CharT{'0'}; - else - { - auto wn = duration_cast(ld - st).count() + 1; - if (wn < 10) - os << CharT{'0'}; - os << wn; - } - } - #if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_year = static_cast(ymd.year()) - 1900; - tm.tm_wday = static_cast(extract_weekday(os, fds)); - if (os.fail()) - return os; - tm.tm_yday = static_cast((ld - local_days(ymd.year()/1/1)).count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'V': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.ymd.ok()) - os.setstate(std::ios::failbit); - auto ld = local_days(fds.ymd); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - auto y = year_month_day{ld + days{3}}.year(); - auto st = local_days((y-years{1})/12/Thursday[last]) + - (Monday-Thursday); - if (ld < st) - { - --y; - st = local_days((y - years{1})/12/Thursday[last]) + - (Monday-Thursday); - } - auto wn = duration_cast(ld - st).count() + 1; - if (wn < 10) - os << CharT{'0'}; - os << wn; - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - auto const& ymd = fds.ymd; - tm.tm_year = static_cast(ymd.year()) - 1900; - tm.tm_wday = static_cast(extract_weekday(os, fds)); - if (os.fail()) - return os; - tm.tm_yday = static_cast((ld - local_days(ymd.year()/1/1)).count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'w': - if (command) - { - auto wd = extract_weekday(os, fds); - if (os.fail()) - return os; -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - os << wd; - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_wday = static_cast(wd); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - else - { - os << CharT{'%'} << modified << *fmt; - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'W': - if (command) - { - if (modified == CharT{'E'}) - os << CharT{'%'} << modified << *fmt; - else - { - auto const& ymd = fds.ymd; - if (!ymd.ok()) - os.setstate(std::ios::failbit); - auto ld = local_days(ymd); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - auto st = local_days(Monday[1]/January/ymd.year()); - if (ld < st) - os << CharT{'0'} << CharT{'0'}; - else - { - auto wn = duration_cast(ld - st).count() + 1; - if (wn < 10) - os << CharT{'0'}; - os << wn; - } - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_year = static_cast(ymd.year()) - 1900; - tm.tm_wday = static_cast(extract_weekday(os, fds)); - if (os.fail()) - return os; - tm.tm_yday = static_cast((ld - local_days(ymd.year()/1/1)).count()); - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'X': - if (command) - { - if (modified == CharT{'O'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.has_tod) - os.setstate(std::ios::failbit); -#if !ONLY_C_LOCALE - tm = std::tm{}; - tm.tm_sec = static_cast(fds.tod.seconds().count()); - tm.tm_min = static_cast(fds.tod.minutes().count()); - tm.tm_hour = static_cast(fds.tod.hours().count()); - CharT f[3] = {'%'}; - auto fe = std::begin(f) + 1; - if (modified == CharT{'E'}) - *fe++ = modified; - *fe++ = *fmt; - facet.put(os, os, os.fill(), &tm, std::begin(f), fe); -#else - os << fds.tod; -#endif - } - command = nullptr; - modified = CharT{}; - } - else - os << *fmt; - break; - case 'y': - if (command) - { - if (!fds.ymd.year().ok()) - os.setstate(std::ios::failbit); - auto y = static_cast(fds.ymd.year()); -#if !ONLY_C_LOCALE - if (modified == CharT{}) - { -#endif - y = std::abs(y) % 100; - if (y < 10) - os << CharT{'0'}; - os << y; -#if !ONLY_C_LOCALE - } - else - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_year = y - 1900; - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'Y': - if (command) - { - if (modified == CharT{'O'}) - os << CharT{'%'} << modified << *fmt; - else - { - if (!fds.ymd.year().ok()) - os.setstate(std::ios::failbit); - auto y = fds.ymd.year(); -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - save_ostream _(os); - os.imbue(std::locale::classic()); - os << y; - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'E'}) - { - const CharT f[] = {'%', modified, *fmt}; - tm.tm_year = static_cast(y) - 1900; - facet.put(os, os, os.fill(), &tm, std::begin(f), std::end(f)); - } -#endif - } - modified = CharT{}; - command = nullptr; - } - else - os << *fmt; - break; - case 'z': - if (command) - { - if (offset_sec == nullptr) - { - // Can not format %z with unknown offset - os.setstate(ios::failbit); - return os; - } - auto m = duration_cast(*offset_sec); - auto neg = m < minutes{0}; - m = date::abs(m); - auto h = duration_cast(m); - m -= h; - if (neg) - os << CharT{'-'}; - else - os << CharT{'+'}; - if (h < hours{10}) - os << CharT{'0'}; - os << h.count(); - if (modified != CharT{}) - os << CharT{':'}; - if (m < minutes{10}) - os << CharT{'0'}; - os << m.count(); - command = nullptr; - modified = CharT{}; - } - else - os << *fmt; - break; - case 'Z': - if (command) - { - if (modified == CharT{}) - { - if (abbrev == nullptr) - { - // Can not format %Z with unknown time_zone - os.setstate(ios::failbit); - return os; - } - for (auto c : *abbrev) - os << CharT(c); - } - else - { - os << CharT{'%'} << modified << *fmt; - modified = CharT{}; - } - command = nullptr; - } - else - os << *fmt; - break; - case 'E': - case 'O': - if (command) - { - if (modified == CharT{}) - { - modified = *fmt; - } - else - { - os << CharT{'%'} << modified << *fmt; - command = nullptr; - modified = CharT{}; - } - } - else - os << *fmt; - break; - case '%': - if (command) - { - if (modified == CharT{}) - { - os << CharT{'%'}; - command = nullptr; - } - else - { - os << CharT{'%'} << modified << CharT{'%'}; - command = nullptr; - modified = CharT{}; - } - } - else - command = fmt; - break; - default: - if (command) - { - os << CharT{'%'}; - command = nullptr; - } - if (modified != CharT{}) - { - os << modified; - modified = CharT{}; - } - os << *fmt; - break; - } - } - if (command) - os << CharT{'%'}; - if (modified != CharT{}) - os << modified; - return os; -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, const year& y) -{ - using CT = std::chrono::seconds; - fields fds{y/0/0}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, const month& m) -{ - using CT = std::chrono::seconds; - fields fds{m/0/nanyear}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, const day& d) -{ - using CT = std::chrono::seconds; - fields fds{d/0/nanyear}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, const weekday& wd) -{ - using CT = std::chrono::seconds; - fields fds{wd}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, const year_month& ym) -{ - using CT = std::chrono::seconds; - fields fds{ym/0}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, const month_day& md) -{ - using CT = std::chrono::seconds; - fields fds{md/nanyear}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const year_month_day& ymd) -{ - using CT = std::chrono::seconds; - fields fds{ymd}; - return to_stream(os, fmt, fds); -} - -template -inline -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const std::chrono::duration& d) -{ - using Duration = std::chrono::duration; - using CT = typename std::common_type::type; - fields fds{hh_mm_ss{d}}; - return to_stream(os, fmt, fds); -} - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const local_time& tp, const std::string* abbrev = nullptr, - const std::chrono::seconds* offset_sec = nullptr) -{ - using CT = typename std::common_type::type; - auto ld = std::chrono::time_point_cast(tp); - fields fds; - if (ld <= tp) - fds = fields{year_month_day{ld}, hh_mm_ss{tp-local_seconds{ld}}}; - else - fds = fields{year_month_day{ld - days{1}}, - hh_mm_ss{days{1} - (local_seconds{ld} - tp)}}; - return to_stream(os, fmt, fds, abbrev, offset_sec); -} - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const sys_time& tp) -{ - using std::chrono::seconds; - using CT = typename std::common_type::type; - const std::string abbrev("UTC"); - CONSTDATA seconds offset{0}; - auto sd = std::chrono::time_point_cast(tp); - fields fds; - if (sd <= tp) - fds = fields{year_month_day{sd}, hh_mm_ss{tp-sys_seconds{sd}}}; - else - fds = fields{year_month_day{sd - days{1}}, - hh_mm_ss{days{1} - (sys_seconds{sd} - tp)}}; - return to_stream(os, fmt, fds, &abbrev, &offset); -} - -// format - -template -auto -format(const std::locale& loc, const CharT* fmt, const Streamable& tp) - -> decltype(to_stream(std::declval&>(), fmt, tp), - std::basic_string{}) -{ - std::basic_ostringstream os; - os.exceptions(std::ios::failbit | std::ios::badbit); - os.imbue(loc); - to_stream(os, fmt, tp); - return os.str(); -} - -template -auto -format(const CharT* fmt, const Streamable& tp) - -> decltype(to_stream(std::declval&>(), fmt, tp), - std::basic_string{}) -{ - std::basic_ostringstream os; - os.exceptions(std::ios::failbit | std::ios::badbit); - to_stream(os, fmt, tp); - return os.str(); -} - -template -auto -format(const std::locale& loc, const std::basic_string& fmt, - const Streamable& tp) - -> decltype(to_stream(std::declval&>(), fmt.c_str(), tp), - std::basic_string{}) -{ - std::basic_ostringstream os; - os.exceptions(std::ios::failbit | std::ios::badbit); - os.imbue(loc); - to_stream(os, fmt.c_str(), tp); - return os.str(); -} - -template -auto -format(const std::basic_string& fmt, const Streamable& tp) - -> decltype(to_stream(std::declval&>(), fmt.c_str(), tp), - std::basic_string{}) -{ - std::basic_ostringstream os; - os.exceptions(std::ios::failbit | std::ios::badbit); - to_stream(os, fmt.c_str(), tp); - return os.str(); -} - -// parse - -namespace detail -{ - -template -bool -read_char(std::basic_istream& is, CharT fmt, std::ios::iostate& err) -{ - auto ic = is.get(); - if (Traits::eq_int_type(ic, Traits::eof()) || - !Traits::eq(Traits::to_char_type(ic), fmt)) - { - err |= std::ios::failbit; - is.setstate(std::ios::failbit); - return false; - } - return true; -} - -template -unsigned -read_unsigned(std::basic_istream& is, unsigned m = 1, unsigned M = 10) -{ - unsigned x = 0; - unsigned count = 0; - while (true) - { - auto ic = is.peek(); - if (Traits::eq_int_type(ic, Traits::eof())) - break; - auto c = static_cast(Traits::to_char_type(ic)); - if (!('0' <= c && c <= '9')) - break; - (void)is.get(); - ++count; - x = 10*x + static_cast(c - '0'); - if (count == M) - break; - } - if (count < m) - is.setstate(std::ios::failbit); - return x; -} - -template -int -read_signed(std::basic_istream& is, unsigned m = 1, unsigned M = 10) -{ - auto ic = is.peek(); - if (!Traits::eq_int_type(ic, Traits::eof())) - { - auto c = static_cast(Traits::to_char_type(ic)); - if (('0' <= c && c <= '9') || c == '-' || c == '+') - { - if (c == '-' || c == '+') - (void)is.get(); - auto x = static_cast(read_unsigned(is, std::max(m, 1u), M)); - if (!is.fail()) - { - if (c == '-') - x = -x; - return x; - } - } - } - if (m > 0) - is.setstate(std::ios::failbit); - return 0; -} - -template -long double -read_long_double(std::basic_istream& is, unsigned m = 1, unsigned M = 10) -{ - unsigned count = 0; - unsigned fcount = 0; - unsigned long long i = 0; - unsigned long long f = 0; - bool parsing_fraction = false; -#if ONLY_C_LOCALE - typename Traits::int_type decimal_point = '.'; -#else - auto decimal_point = Traits::to_int_type( - std::use_facet>(is.getloc()).decimal_point()); -#endif - while (true) - { - auto ic = is.peek(); - if (Traits::eq_int_type(ic, Traits::eof())) - break; - if (Traits::eq_int_type(ic, decimal_point)) - { - decimal_point = Traits::eof(); - parsing_fraction = true; - } - else - { - auto c = static_cast(Traits::to_char_type(ic)); - if (!('0' <= c && c <= '9')) - break; - if (!parsing_fraction) - { - i = 10*i + static_cast(c - '0'); - } - else - { - f = 10*f + static_cast(c - '0'); - ++fcount; - } - } - (void)is.get(); - if (++count == M) - break; - } - if (count < m) - { - is.setstate(std::ios::failbit); - return 0; - } - return static_cast(i) + static_cast(f)/std::pow(10.L, fcount); -} - -struct rs -{ - int& i; - unsigned m; - unsigned M; -}; - -struct ru -{ - int& i; - unsigned m; - unsigned M; -}; - -struct rld -{ - long double& i; - unsigned m; - unsigned M; -}; - -template -void -read(std::basic_istream&) -{ -} - -template -void -read(std::basic_istream& is, CharT a0, Args&& ...args); - -template -void -read(std::basic_istream& is, rs a0, Args&& ...args); - -template -void -read(std::basic_istream& is, ru a0, Args&& ...args); - -template -void -read(std::basic_istream& is, int a0, Args&& ...args); - -template -void -read(std::basic_istream& is, rld a0, Args&& ...args); - -template -void -read(std::basic_istream& is, CharT a0, Args&& ...args) -{ - // No-op if a0 == CharT{} - if (a0 != CharT{}) - { - auto ic = is.peek(); - if (Traits::eq_int_type(ic, Traits::eof())) - { - is.setstate(std::ios::failbit | std::ios::eofbit); - return; - } - if (!Traits::eq(Traits::to_char_type(ic), a0)) - { - is.setstate(std::ios::failbit); - return; - } - (void)is.get(); - } - read(is, std::forward(args)...); -} - -template -void -read(std::basic_istream& is, rs a0, Args&& ...args) -{ - auto x = read_signed(is, a0.m, a0.M); - if (is.fail()) - return; - a0.i = x; - read(is, std::forward(args)...); -} - -template -void -read(std::basic_istream& is, ru a0, Args&& ...args) -{ - auto x = read_unsigned(is, a0.m, a0.M); - if (is.fail()) - return; - a0.i = static_cast(x); - read(is, std::forward(args)...); -} - -template -void -read(std::basic_istream& is, int a0, Args&& ...args) -{ - if (a0 != -1) - { - auto u = static_cast(a0); - CharT buf[std::numeric_limits::digits10+2u] = {}; - auto e = buf; - do - { - *e++ = static_cast(CharT(u % 10) + CharT{'0'}); - u /= 10; - } while (u > 0); - std::reverse(buf, e); - for (auto p = buf; p != e && is.rdstate() == std::ios::goodbit; ++p) - read(is, *p); - } - if (is.rdstate() == std::ios::goodbit) - read(is, std::forward(args)...); -} - -template -void -read(std::basic_istream& is, rld a0, Args&& ...args) -{ - auto x = read_long_double(is, a0.m, a0.M); - if (is.fail()) - return; - a0.i = x; - read(is, std::forward(args)...); -} - -template -inline -void -checked_set(T& value, T from, T not_a_value, std::basic_ios& is) -{ - if (!is.fail()) - { - if (value == not_a_value) - value = std::move(from); - else if (value != from) - is.setstate(std::ios::failbit); - } -} - -} // namespace detail; - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - fields& fds, std::basic_string* abbrev, - std::chrono::minutes* offset) -{ - using std::numeric_limits; - using std::ios; - using std::chrono::duration; - using std::chrono::duration_cast; - using std::chrono::seconds; - using std::chrono::minutes; - using std::chrono::hours; - using detail::round_i; - typename std::basic_istream::sentry ok{is, true}; - if (ok) - { - date::detail::save_istream ss(is); - is.fill(' '); - is.flags(std::ios::skipws | std::ios::dec); - is.width(0); -#if !ONLY_C_LOCALE - auto& f = std::use_facet>(is.getloc()); - std::tm tm{}; -#endif - const CharT* command = nullptr; - auto modified = CharT{}; - auto width = -1; - - CONSTDATA int not_a_year = numeric_limits::min(); - CONSTDATA int not_a_2digit_year = 100; - CONSTDATA int not_a_century = not_a_year / 100; - CONSTDATA int not_a_month = 0; - CONSTDATA int not_a_day = 0; - CONSTDATA int not_a_hour = numeric_limits::min(); - CONSTDATA int not_a_hour_12_value = 0; - CONSTDATA int not_a_minute = not_a_hour; - CONSTDATA Duration not_a_second = Duration::min(); - CONSTDATA int not_a_doy = -1; - CONSTDATA int not_a_weekday = 8; - CONSTDATA int not_a_week_num = 100; - CONSTDATA int not_a_ampm = -1; - CONSTDATA minutes not_a_offset = minutes::min(); - - int Y = not_a_year; // c, F, Y * - int y = not_a_2digit_year; // D, x, y * - int g = not_a_2digit_year; // g * - int G = not_a_year; // G * - int C = not_a_century; // C * - int m = not_a_month; // b, B, h, m, c, D, F, x * - int d = not_a_day; // c, d, D, e, F, x * - int j = not_a_doy; // j * - int wd = not_a_weekday; // a, A, u, w * - int H = not_a_hour; // c, H, R, T, X * - int I = not_a_hour_12_value; // I, r * - int p = not_a_ampm; // p, r * - int M = not_a_minute; // c, M, r, R, T, X * - Duration s = not_a_second; // c, r, S, T, X * - int U = not_a_week_num; // U * - int V = not_a_week_num; // V * - int W = not_a_week_num; // W * - std::basic_string temp_abbrev; // Z * - minutes temp_offset = not_a_offset; // z * - - using detail::read; - using detail::rs; - using detail::ru; - using detail::rld; - using detail::checked_set; - for (; *fmt != CharT{} && !is.fail(); ++fmt) - { - switch (*fmt) - { - case 'a': - case 'A': - case 'u': - case 'w': // wd: a, A, u, w - if (command) - { - int trial_wd = not_a_weekday; - if (*fmt == 'a' || *fmt == 'A') - { - if (modified == CharT{}) - { -#if !ONLY_C_LOCALE - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - is.setstate(err); - if (!is.fail()) - trial_wd = tm.tm_wday; -#else - auto nm = detail::weekday_names(); - auto i = detail::scan_keyword(is, nm.first, nm.second) - nm.first; - if (!is.fail()) - trial_wd = i % 7; -#endif - } - else - read(is, CharT{'%'}, width, modified, *fmt); - } - else // *fmt == 'u' || *fmt == 'w' - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - read(is, ru{trial_wd, 1, width == -1 ? - 1u : static_cast(width)}); - if (!is.fail()) - { - if (*fmt == 'u') - { - if (!(1 <= trial_wd && trial_wd <= 7)) - { - trial_wd = not_a_weekday; - is.setstate(ios::failbit); - } - else if (trial_wd == 7) - trial_wd = 0; - } - else // *fmt == 'w' - { - if (!(0 <= trial_wd && trial_wd <= 6)) - { - trial_wd = not_a_weekday; - is.setstate(ios::failbit); - } - } - } - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - is.setstate(err); - if (!is.fail()) - trial_wd = tm.tm_wday; - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - } - if (trial_wd != not_a_weekday) - checked_set(wd, trial_wd, not_a_weekday, is); - } - else // !command - read(is, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - break; - case 'b': - case 'B': - case 'h': - if (command) - { - if (modified == CharT{}) - { - int ttm = not_a_month; -#if !ONLY_C_LOCALE - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - ttm = tm.tm_mon + 1; - is.setstate(err); -#else - auto nm = detail::month_names(); - auto i = detail::scan_keyword(is, nm.first, nm.second) - nm.first; - if (!is.fail()) - ttm = i % 12 + 1; -#endif - checked_set(m, ttm, not_a_month, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'c': - if (command) - { - if (modified != CharT{'O'}) - { -#if !ONLY_C_LOCALE - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - { - checked_set(Y, tm.tm_year + 1900, not_a_year, is); - checked_set(m, tm.tm_mon + 1, not_a_month, is); - checked_set(d, tm.tm_mday, not_a_day, is); - checked_set(H, tm.tm_hour, not_a_hour, is); - checked_set(M, tm.tm_min, not_a_minute, is); - checked_set(s, duration_cast(seconds{tm.tm_sec}), - not_a_second, is); - } - is.setstate(err); -#else - // "%a %b %e %T %Y" - auto nm = detail::weekday_names(); - auto i = detail::scan_keyword(is, nm.first, nm.second) - nm.first; - checked_set(wd, static_cast(i % 7), not_a_weekday, is); - ws(is); - nm = detail::month_names(); - i = detail::scan_keyword(is, nm.first, nm.second) - nm.first; - checked_set(m, static_cast(i % 12 + 1), not_a_month, is); - ws(is); - int td = not_a_day; - read(is, rs{td, 1, 2}); - checked_set(d, td, not_a_day, is); - ws(is); - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - int tH; - int tM; - long double S{}; - read(is, ru{tH, 1, 2}, CharT{':'}, ru{tM, 1, 2}, - CharT{':'}, rld{S, 1, w}); - checked_set(H, tH, not_a_hour, is); - checked_set(M, tM, not_a_minute, is); - checked_set(s, round_i(duration{S}), - not_a_second, is); - ws(is); - int tY = not_a_year; - read(is, rs{tY, 1, 4u}); - checked_set(Y, tY, not_a_year, is); -#endif - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'x': - if (command) - { - if (modified != CharT{'O'}) - { -#if !ONLY_C_LOCALE - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - { - checked_set(Y, tm.tm_year + 1900, not_a_year, is); - checked_set(m, tm.tm_mon + 1, not_a_month, is); - checked_set(d, tm.tm_mday, not_a_day, is); - } - is.setstate(err); -#else - // "%m/%d/%y" - int ty = not_a_2digit_year; - int tm = not_a_month; - int td = not_a_day; - read(is, ru{tm, 1, 2}, CharT{'/'}, ru{td, 1, 2}, CharT{'/'}, - rs{ty, 1, 2}); - checked_set(y, ty, not_a_2digit_year, is); - checked_set(m, tm, not_a_month, is); - checked_set(d, td, not_a_day, is); -#endif - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'X': - if (command) - { - if (modified != CharT{'O'}) - { -#if !ONLY_C_LOCALE - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - { - checked_set(H, tm.tm_hour, not_a_hour, is); - checked_set(M, tm.tm_min, not_a_minute, is); - checked_set(s, duration_cast(seconds{tm.tm_sec}), - not_a_second, is); - } - is.setstate(err); -#else - // "%T" - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - int tH = not_a_hour; - int tM = not_a_minute; - long double S{}; - read(is, ru{tH, 1, 2}, CharT{':'}, ru{tM, 1, 2}, - CharT{':'}, rld{S, 1, w}); - checked_set(H, tH, not_a_hour, is); - checked_set(M, tM, not_a_minute, is); - checked_set(s, round_i(duration{S}), - not_a_second, is); -#endif - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'C': - if (command) - { - int tC = not_a_century; -#if !ONLY_C_LOCALE - if (modified == CharT{}) - { -#endif - read(is, rs{tC, 1, width == -1 ? 2u : static_cast(width)}); -#if !ONLY_C_LOCALE - } - else - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - { - auto tY = tm.tm_year + 1900; - tC = (tY >= 0 ? tY : tY-99) / 100; - } - is.setstate(err); - } -#endif - checked_set(C, tC, not_a_century, is); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'D': - if (command) - { - if (modified == CharT{}) - { - int tn = not_a_month; - int td = not_a_day; - int ty = not_a_2digit_year; - read(is, ru{tn, 1, 2}, CharT{'\0'}, CharT{'/'}, CharT{'\0'}, - ru{td, 1, 2}, CharT{'\0'}, CharT{'/'}, CharT{'\0'}, - rs{ty, 1, 2}); - checked_set(y, ty, not_a_2digit_year, is); - checked_set(m, tn, not_a_month, is); - checked_set(d, td, not_a_day, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'F': - if (command) - { - if (modified == CharT{}) - { - int tY = not_a_year; - int tn = not_a_month; - int td = not_a_day; - read(is, rs{tY, 1, width == -1 ? 4u : static_cast(width)}, - CharT{'-'}, ru{tn, 1, 2}, CharT{'-'}, ru{td, 1, 2}); - checked_set(Y, tY, not_a_year, is); - checked_set(m, tn, not_a_month, is); - checked_set(d, td, not_a_day, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'd': - case 'e': - if (command) - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - int td = not_a_day; - read(is, rs{td, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(d, td, not_a_day, is); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - command = nullptr; - width = -1; - modified = CharT{}; - if ((err & ios::failbit) == 0) - checked_set(d, tm.tm_mday, not_a_day, is); - is.setstate(err); - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'H': - if (command) - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - int tH = not_a_hour; - read(is, ru{tH, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(H, tH, not_a_hour, is); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - checked_set(H, tm.tm_hour, not_a_hour, is); - is.setstate(err); - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'I': - if (command) - { - if (modified == CharT{}) - { - int tI = not_a_hour_12_value; - // reads in an hour into I, but most be in [1, 12] - read(is, rs{tI, 1, width == -1 ? 2u : static_cast(width)}); - if (!(1 <= tI && tI <= 12)) - is.setstate(ios::failbit); - checked_set(I, tI, not_a_hour_12_value, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'j': - if (command) - { - if (modified == CharT{}) - { - int tj = not_a_doy; - read(is, ru{tj, 1, width == -1 ? 3u : static_cast(width)}); - checked_set(j, tj, not_a_doy, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'M': - if (command) - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - int tM = not_a_minute; - read(is, ru{tM, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(M, tM, not_a_minute, is); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - checked_set(M, tm.tm_min, not_a_minute, is); - is.setstate(err); - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'm': - if (command) - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - int tn = not_a_month; - read(is, rs{tn, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(m, tn, not_a_month, is); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - checked_set(m, tm.tm_mon + 1, not_a_month, is); - is.setstate(err); - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'n': - case 't': - if (command) - { - if (modified == CharT{}) - { - // %n matches a single white space character - // %t matches 0 or 1 white space characters - auto ic = is.peek(); - if (Traits::eq_int_type(ic, Traits::eof())) - { - ios::iostate err = ios::eofbit; - if (*fmt == 'n') - err |= ios::failbit; - is.setstate(err); - break; - } - if (isspace(ic)) - { - (void)is.get(); - } - else if (*fmt == 'n') - is.setstate(ios::failbit); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'p': - if (command) - { - if (modified == CharT{}) - { - int tp = not_a_ampm; -#if !ONLY_C_LOCALE - tm = std::tm{}; - tm.tm_hour = 1; - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - is.setstate(err); - if (tm.tm_hour == 1) - tp = 0; - else if (tm.tm_hour == 13) - tp = 1; - else - is.setstate(err); -#else - auto nm = detail::ampm_names(); - auto i = detail::scan_keyword(is, nm.first, nm.second) - nm.first; - tp = static_cast(i); -#endif - checked_set(p, tp, not_a_ampm, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - - break; - case 'r': - if (command) - { - if (modified == CharT{}) - { -#if !ONLY_C_LOCALE - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - { - checked_set(H, tm.tm_hour, not_a_hour, is); - checked_set(M, tm.tm_min, not_a_hour, is); - checked_set(s, duration_cast(seconds{tm.tm_sec}), - not_a_second, is); - } - is.setstate(err); -#else - // "%I:%M:%S %p" - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - long double S{}; - int tI = not_a_hour_12_value; - int tM = not_a_minute; - read(is, ru{tI, 1, 2}, CharT{':'}, ru{tM, 1, 2}, - CharT{':'}, rld{S, 1, w}); - checked_set(I, tI, not_a_hour_12_value, is); - checked_set(M, tM, not_a_minute, is); - checked_set(s, round_i(duration{S}), - not_a_second, is); - ws(is); - auto nm = detail::ampm_names(); - auto i = detail::scan_keyword(is, nm.first, nm.second) - nm.first; - checked_set(p, static_cast(i), not_a_ampm, is); -#endif - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'R': - if (command) - { - if (modified == CharT{}) - { - int tH = not_a_hour; - int tM = not_a_minute; - read(is, ru{tH, 1, 2}, CharT{'\0'}, CharT{':'}, CharT{'\0'}, - ru{tM, 1, 2}, CharT{'\0'}); - checked_set(H, tH, not_a_hour, is); - checked_set(M, tM, not_a_minute, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'S': - if (command) - { - #if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'E'}) -#endif - { - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - long double S{}; - read(is, rld{S, 1, width == -1 ? w : static_cast(width)}); - checked_set(s, round_i(duration{S}), - not_a_second, is); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'O'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - checked_set(s, duration_cast(seconds{tm.tm_sec}), - not_a_second, is); - is.setstate(err); - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'T': - if (command) - { - if (modified == CharT{}) - { - using dfs = detail::decimal_format_seconds; - CONSTDATA auto w = Duration::period::den == 1 ? 2 : 3 + dfs::width; - int tH = not_a_hour; - int tM = not_a_minute; - long double S{}; - read(is, ru{tH, 1, 2}, CharT{':'}, ru{tM, 1, 2}, - CharT{':'}, rld{S, 1, w}); - checked_set(H, tH, not_a_hour, is); - checked_set(M, tM, not_a_minute, is); - checked_set(s, round_i(duration{S}), - not_a_second, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'Y': - if (command) - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#else - if (modified != CharT{'O'}) -#endif - { - int tY = not_a_year; - read(is, rs{tY, 1, width == -1 ? 4u : static_cast(width)}); - checked_set(Y, tY, not_a_year, is); - } -#if !ONLY_C_LOCALE - else if (modified == CharT{'E'}) - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - checked_set(Y, tm.tm_year + 1900, not_a_year, is); - is.setstate(err); - } -#endif - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'y': - if (command) - { -#if !ONLY_C_LOCALE - if (modified == CharT{}) -#endif - { - int ty = not_a_2digit_year; - read(is, ru{ty, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(y, ty, not_a_2digit_year, is); - } -#if !ONLY_C_LOCALE - else - { - ios::iostate err = ios::goodbit; - f.get(is, nullptr, is, err, &tm, command, fmt+1); - if ((err & ios::failbit) == 0) - checked_set(Y, tm.tm_year + 1900, not_a_year, is); - is.setstate(err); - } -#endif - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'g': - if (command) - { - if (modified == CharT{}) - { - int tg = not_a_2digit_year; - read(is, ru{tg, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(g, tg, not_a_2digit_year, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'G': - if (command) - { - if (modified == CharT{}) - { - int tG = not_a_year; - read(is, rs{tG, 1, width == -1 ? 4u : static_cast(width)}); - checked_set(G, tG, not_a_year, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'U': - if (command) - { - if (modified == CharT{}) - { - int tU = not_a_week_num; - read(is, ru{tU, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(U, tU, not_a_week_num, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'V': - if (command) - { - if (modified == CharT{}) - { - int tV = not_a_week_num; - read(is, ru{tV, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(V, tV, not_a_week_num, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'W': - if (command) - { - if (modified == CharT{}) - { - int tW = not_a_week_num; - read(is, ru{tW, 1, width == -1 ? 2u : static_cast(width)}); - checked_set(W, tW, not_a_week_num, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'E': - case 'O': - if (command) - { - if (modified == CharT{}) - { - modified = *fmt; - } - else - { - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - } - else - read(is, *fmt); - break; - case '%': - if (command) - { - if (modified == CharT{}) - read(is, *fmt); - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - command = fmt; - break; - case 'z': - if (command) - { - int tH, tM; - minutes toff = not_a_offset; - bool neg = false; - auto ic = is.peek(); - if (!Traits::eq_int_type(ic, Traits::eof())) - { - auto c = static_cast(Traits::to_char_type(ic)); - if (c == '-') - neg = true; - } - if (modified == CharT{}) - { - read(is, rs{tH, 2, 2}); - if (!is.fail()) - toff = hours{std::abs(tH)}; - if (is.good()) - { - ic = is.peek(); - if (!Traits::eq_int_type(ic, Traits::eof())) - { - auto c = static_cast(Traits::to_char_type(ic)); - if ('0' <= c && c <= '9') - { - read(is, ru{tM, 2, 2}); - if (!is.fail()) - toff += minutes{tM}; - } - } - } - } - else - { - read(is, rs{tH, 1, 2}); - if (!is.fail()) - toff = hours{std::abs(tH)}; - if (is.good()) - { - ic = is.peek(); - if (!Traits::eq_int_type(ic, Traits::eof())) - { - auto c = static_cast(Traits::to_char_type(ic)); - if (c == ':') - { - (void)is.get(); - read(is, ru{tM, 2, 2}); - if (!is.fail()) - toff += minutes{tM}; - } - } - } - } - if (neg) - toff = -toff; - checked_set(temp_offset, toff, not_a_offset, is); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - case 'Z': - if (command) - { - if (modified == CharT{}) - { - std::basic_string buf; - while (is.rdstate() == std::ios::goodbit) - { - auto i = is.rdbuf()->sgetc(); - if (Traits::eq_int_type(i, Traits::eof())) - { - is.setstate(ios::eofbit); - break; - } - auto wc = Traits::to_char_type(i); - auto c = static_cast(wc); - // is c a valid time zone name or abbreviation character? - if (!(CharT{1} < wc && wc < CharT{127}) || !(isalnum(c) || - c == '_' || c == '/' || c == '-' || c == '+')) - break; - buf.push_back(c); - is.rdbuf()->sbumpc(); - } - if (buf.empty()) - is.setstate(ios::failbit); - checked_set(temp_abbrev, buf, {}, is); - } - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - else - read(is, *fmt); - break; - default: - if (command) - { - if (width == -1 && modified == CharT{} && '0' <= *fmt && *fmt <= '9') - { - width = static_cast(*fmt) - '0'; - while ('0' <= fmt[1] && fmt[1] <= '9') - width = 10*width + static_cast(*++fmt) - '0'; - } - else - { - if (modified == CharT{}) - read(is, CharT{'%'}, width, *fmt); - else - read(is, CharT{'%'}, width, modified, *fmt); - command = nullptr; - width = -1; - modified = CharT{}; - } - } - else // !command - { - if (isspace(static_cast(*fmt))) - { - // space matches 0 or more white space characters - if (is.good()) - ws(is); - } - else - read(is, *fmt); - } - break; - } - } - // is.fail() || *fmt == CharT{} - if (is.rdstate() == ios::goodbit && command) - { - if (modified == CharT{}) - read(is, CharT{'%'}, width); - else - read(is, CharT{'%'}, width, modified); - } - if (!is.fail()) - { - if (y != not_a_2digit_year) - { - // Convert y and an optional C to Y - if (!(0 <= y && y <= 99)) - goto broken; - if (C == not_a_century) - { - if (Y == not_a_year) - { - if (y >= 69) - C = 19; - else - C = 20; - } - else - { - C = (Y >= 0 ? Y : Y-100) / 100; - } - } - int tY; - if (C >= 0) - tY = 100*C + y; - else - tY = 100*(C+1) - (y == 0 ? 100 : y); - if (Y != not_a_year && Y != tY) - goto broken; - Y = tY; - } - if (g != not_a_2digit_year) - { - // Convert g and an optional C to G - if (!(0 <= g && g <= 99)) - goto broken; - if (C == not_a_century) - { - if (G == not_a_year) - { - if (g >= 69) - C = 19; - else - C = 20; - } - else - { - C = (G >= 0 ? G : G-100) / 100; - } - } - int tG; - if (C >= 0) - tG = 100*C + g; - else - tG = 100*(C+1) - (g == 0 ? 100 : g); - if (G != not_a_year && G != tG) - goto broken; - G = tG; - } - if (Y < static_cast(year::min()) || Y > static_cast(year::max())) - Y = not_a_year; - bool computed = false; - if (G != not_a_year && V != not_a_week_num && wd != not_a_weekday) - { - year_month_day ymd_trial = sys_days(year{G-1}/December/Thursday[last]) + - (Monday-Thursday) + weeks{V-1} + - (weekday{static_cast(wd)}-Monday); - if (Y == not_a_year) - Y = static_cast(ymd_trial.year()); - else if (year{Y} != ymd_trial.year()) - goto broken; - if (m == not_a_month) - m = static_cast(static_cast(ymd_trial.month())); - else if (month(static_cast(m)) != ymd_trial.month()) - goto broken; - if (d == not_a_day) - d = static_cast(static_cast(ymd_trial.day())); - else if (day(static_cast(d)) != ymd_trial.day()) - goto broken; - computed = true; - } - if (Y != not_a_year && U != not_a_week_num && wd != not_a_weekday) - { - year_month_day ymd_trial = sys_days(year{Y}/January/Sunday[1]) + - weeks{U-1} + - (weekday{static_cast(wd)} - Sunday); - if (Y == not_a_year) - Y = static_cast(ymd_trial.year()); - else if (year{Y} != ymd_trial.year()) - goto broken; - if (m == not_a_month) - m = static_cast(static_cast(ymd_trial.month())); - else if (month(static_cast(m)) != ymd_trial.month()) - goto broken; - if (d == not_a_day) - d = static_cast(static_cast(ymd_trial.day())); - else if (day(static_cast(d)) != ymd_trial.day()) - goto broken; - computed = true; - } - if (Y != not_a_year && W != not_a_week_num && wd != not_a_weekday) - { - year_month_day ymd_trial = sys_days(year{Y}/January/Monday[1]) + - weeks{W-1} + - (weekday{static_cast(wd)} - Monday); - if (Y == not_a_year) - Y = static_cast(ymd_trial.year()); - else if (year{Y} != ymd_trial.year()) - goto broken; - if (m == not_a_month) - m = static_cast(static_cast(ymd_trial.month())); - else if (month(static_cast(m)) != ymd_trial.month()) - goto broken; - if (d == not_a_day) - d = static_cast(static_cast(ymd_trial.day())); - else if (day(static_cast(d)) != ymd_trial.day()) - goto broken; - computed = true; - } - if (j != not_a_doy && Y != not_a_year) - { - auto ymd_trial = year_month_day{local_days(year{Y}/1/1) + days{j-1}}; - if (m == not_a_month) - m = static_cast(static_cast(ymd_trial.month())); - else if (month(static_cast(m)) != ymd_trial.month()) - goto broken; - if (d == not_a_day) - d = static_cast(static_cast(ymd_trial.day())); - else if (day(static_cast(d)) != ymd_trial.day()) - goto broken; - j = not_a_doy; - } - auto ymd = year{Y}/m/d; - if (ymd.ok()) - { - if (wd == not_a_weekday) - wd = static_cast((weekday(sys_days(ymd)) - Sunday).count()); - else if (wd != static_cast((weekday(sys_days(ymd)) - Sunday).count())) - goto broken; - if (!computed) - { - if (G != not_a_year || V != not_a_week_num) - { - sys_days sd = ymd; - auto G_trial = year_month_day{sd + days{3}}.year(); - auto start = sys_days((G_trial - years{1})/December/Thursday[last]) + - (Monday - Thursday); - if (sd < start) - { - --G_trial; - if (V != not_a_week_num) - start = sys_days((G_trial - years{1})/December/Thursday[last]) - + (Monday - Thursday); - } - if (G != not_a_year && G != static_cast(G_trial)) - goto broken; - if (V != not_a_week_num) - { - auto V_trial = duration_cast(sd - start).count() + 1; - if (V != V_trial) - goto broken; - } - } - if (U != not_a_week_num) - { - auto start = sys_days(Sunday[1]/January/ymd.year()); - auto U_trial = floor(sys_days(ymd) - start).count() + 1; - if (U != U_trial) - goto broken; - } - if (W != not_a_week_num) - { - auto start = sys_days(Monday[1]/January/ymd.year()); - auto W_trial = floor(sys_days(ymd) - start).count() + 1; - if (W != W_trial) - goto broken; - } - } - } - fds.ymd = ymd; - if (I != not_a_hour_12_value) - { - if (!(1 <= I && I <= 12)) - goto broken; - if (p != not_a_ampm) - { - // p is in [0, 1] == [AM, PM] - // Store trial H in I - if (I == 12) - --p; - I += p*12; - // Either set H from I or make sure H and I are consistent - if (H == not_a_hour) - H = I; - else if (I != H) - goto broken; - } - else // p == not_a_ampm - { - // if H, make sure H and I could be consistent - if (H != not_a_hour) - { - if (I == 12) - { - if (H != 0 && H != 12) - goto broken; - } - else if (!(I == H || I == H+12)) - { - goto broken; - } - } - else // I is ambiguous, AM or PM? - goto broken; - } - } - if (H != not_a_hour) - { - fds.has_tod = true; - fds.tod = hh_mm_ss{hours{H}}; - } - if (M != not_a_minute) - { - fds.has_tod = true; - fds.tod.m_ = minutes{M}; - } - if (s != not_a_second) - { - fds.has_tod = true; - fds.tod.s_ = detail::decimal_format_seconds{s}; - } - if (j != not_a_doy) - { - fds.has_tod = true; - fds.tod.h_ += hours{days{j}}; - } - if (wd != not_a_weekday) - fds.wd = weekday{static_cast(wd)}; - if (abbrev != nullptr) - *abbrev = std::move(temp_abbrev); - if (offset != nullptr && temp_offset != not_a_offset) - *offset = temp_offset; - } - return is; - } -broken: - is.setstate(ios::failbit); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, year& y, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.year().ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - y = fds.ymd.year(); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, month& m, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.month().ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - m = fds.ymd.month(); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, day& d, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.day().ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - d = fds.ymd.day(); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, weekday& wd, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.wd.ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - wd = fds.wd; - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, year_month& ym, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.month().ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - ym = fds.ymd.year()/fds.ymd.month(); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, month_day& md, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.month().ok() || !fds.ymd.day().ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - md = fds.ymd.month()/fds.ymd.day(); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - year_month_day& ymd, std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = std::chrono::seconds; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - ymd = fds.ymd; - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - sys_time& tp, std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = typename std::common_type::type; - using detail::round_i; - std::chrono::minutes offset_local{}; - auto offptr = offset ? offset : &offset_local; - fields fds{}; - fds.has_tod = true; - date::from_stream(is, fmt, fds, abbrev, offptr); - if (!fds.ymd.ok() || !fds.tod.in_conventional_range()) - is.setstate(std::ios::failbit); - if (!is.fail()) - tp = round_i(sys_days(fds.ymd) - *offptr + fds.tod.to_duration()); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - local_time& tp, std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using CT = typename std::common_type::type; - using detail::round_i; - fields fds{}; - fds.has_tod = true; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.ymd.ok() || !fds.tod.in_conventional_range()) - is.setstate(std::ios::failbit); - if (!is.fail()) - tp = round_i(local_seconds{local_days(fds.ymd)} + fds.tod.to_duration()); - return is; -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - std::chrono::duration& d, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using Duration = std::chrono::duration; - using CT = typename std::common_type::type; - using detail::round_i; - fields fds{}; - date::from_stream(is, fmt, fds, abbrev, offset); - if (!fds.has_tod) - is.setstate(std::ios::failbit); - if (!is.fail()) - d = round_i(fds.tod.to_duration()); - return is; -} - -template , - class Alloc = std::allocator> -struct parse_manip -{ - const std::basic_string format_; - Parsable& tp_; - std::basic_string* abbrev_; - std::chrono::minutes* offset_; - -public: - parse_manip(std::basic_string format, Parsable& tp, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) - : format_(std::move(format)) - , tp_(tp) - , abbrev_(abbrev) - , offset_(offset) - {} - -#if HAS_STRING_VIEW - parse_manip(const CharT* format, Parsable& tp, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) - : format_(format) - , tp_(tp) - , abbrev_(abbrev) - , offset_(offset) - {} - - parse_manip(std::basic_string_view format, Parsable& tp, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) - : format_(format) - , tp_(tp) - , abbrev_(abbrev) - , offset_(offset) - {} -#endif // HAS_STRING_VIEW -}; - -template -std::basic_istream& -operator>>(std::basic_istream& is, - const parse_manip& x) -{ - return date::from_stream(is, x.format_.c_str(), x.tp_, x.abbrev_, x.offset_); -} - -template -inline -auto -parse(const std::basic_string& format, Parsable& tp) - -> decltype(date::from_stream(std::declval&>(), - format.c_str(), tp), - parse_manip{format, tp}) -{ - return {format, tp}; -} - -template -inline -auto -parse(const std::basic_string& format, Parsable& tp, - std::basic_string& abbrev) - -> decltype(date::from_stream(std::declval&>(), - format.c_str(), tp, &abbrev), - parse_manip{format, tp, &abbrev}) -{ - return {format, tp, &abbrev}; -} - -template -inline -auto -parse(const std::basic_string& format, Parsable& tp, - std::chrono::minutes& offset) - -> decltype(date::from_stream(std::declval&>(), - format.c_str(), tp, - std::declval*>(), - &offset), - parse_manip{format, tp, nullptr, &offset}) -{ - return {format, tp, nullptr, &offset}; -} - -template -inline -auto -parse(const std::basic_string& format, Parsable& tp, - std::basic_string& abbrev, std::chrono::minutes& offset) - -> decltype(date::from_stream(std::declval&>(), - format.c_str(), tp, &abbrev, &offset), - parse_manip{format, tp, &abbrev, &offset}) -{ - return {format, tp, &abbrev, &offset}; -} - -// const CharT* formats - -template -inline -auto -parse(const CharT* format, Parsable& tp) - -> decltype(date::from_stream(std::declval&>(), format, tp), - parse_manip{format, tp}) -{ - return {format, tp}; -} - -template -inline -auto -parse(const CharT* format, Parsable& tp, std::basic_string& abbrev) - -> decltype(date::from_stream(std::declval&>(), format, - tp, &abbrev), - parse_manip{format, tp, &abbrev}) -{ - return {format, tp, &abbrev}; -} - -template -inline -auto -parse(const CharT* format, Parsable& tp, std::chrono::minutes& offset) - -> decltype(date::from_stream(std::declval&>(), format, - tp, std::declval*>(), &offset), - parse_manip{format, tp, nullptr, &offset}) -{ - return {format, tp, nullptr, &offset}; -} - -template -inline -auto -parse(const CharT* format, Parsable& tp, - std::basic_string& abbrev, std::chrono::minutes& offset) - -> decltype(date::from_stream(std::declval&>(), format, - tp, &abbrev, &offset), - parse_manip{format, tp, &abbrev, &offset}) -{ - return {format, tp, &abbrev, &offset}; -} - -// duration streaming - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, - const std::chrono::duration& d) -{ - return os << detail::make_string::from(d.count()) + - detail::get_units(typename Period::type{}); -} - -} // namespace date - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#ifdef __GNUC__ -# pragma GCC diagnostic pop -#endif - -#endif // DATE_H diff --git a/src/date/islamic.h b/src/date/islamic.h deleted file mode 100644 index 82ed659..0000000 --- a/src/date/islamic.h +++ /dev/null @@ -1,3031 +0,0 @@ -#ifndef ISLAMIC_H -#define ISLAMIC_H - -// The MIT License (MIT) -// -// Copyright (c) 2016 Howard Hinnant -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -#include "date.h" - -namespace islamic -{ - -// durations - -using days = date::days; - -using weeks = date::weeks; - -using years = std::chrono::duration - , days::period>>; - -using months = std::chrono::duration - >>; - -// time_point - -using sys_days = date::sys_days; -using local_days = date::local_days; - -// types - -struct last_spec -{ - explicit last_spec() = default; -}; - -class day; -class month; -class year; - -class weekday; -class weekday_indexed; -class weekday_last; - -class month_day; -class month_day_last; -class month_weekday; -class month_weekday_last; - -class year_month; - -class year_month_day; -class year_month_day_last; -class year_month_weekday; -class year_month_weekday_last; - -// date composition operators - -CONSTCD11 year_month operator/(const year& y, const month& m) NOEXCEPT; -CONSTCD11 year_month operator/(const year& y, int m) NOEXCEPT; - -CONSTCD11 month_day operator/(const day& d, const month& m) NOEXCEPT; -CONSTCD11 month_day operator/(const day& d, int m) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, const day& d) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, int d) NOEXCEPT; -CONSTCD11 month_day operator/(int m, const day& d) NOEXCEPT; - -CONSTCD11 month_day_last operator/(const month& m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(int m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, const month& m) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, int m) NOEXCEPT; - -CONSTCD11 month_weekday operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(int m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, int m) NOEXCEPT; - -CONSTCD11 month_weekday_last operator/(const month& m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(int m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, const month& m) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, int m) NOEXCEPT; - -CONSTCD11 year_month_day operator/(const year_month& ym, const day& d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year_month& ym, int d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year& y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(int y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, const year& y) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, int y) NOEXCEPT; - -CONSTCD11 - year_month_day_last operator/(const year_month& ym, last_spec) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const year& y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(int y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, const year& y) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT; - -// Detailed interface - -// day - -class day -{ - unsigned char d_; - -public: - explicit CONSTCD11 day(unsigned d) NOEXCEPT; - - CONSTCD14 day& operator++() NOEXCEPT; - CONSTCD14 day operator++(int) NOEXCEPT; - CONSTCD14 day& operator--() NOEXCEPT; - CONSTCD14 day operator--(int) NOEXCEPT; - - CONSTCD14 day& operator+=(const days& d) NOEXCEPT; - CONSTCD14 day& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator< (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator> (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const day& x, const day& y) NOEXCEPT; - -CONSTCD11 day operator+(const day& x, const days& y) NOEXCEPT; -CONSTCD11 day operator+(const days& x, const day& y) NOEXCEPT; -CONSTCD11 day operator-(const day& x, const days& y) NOEXCEPT; -CONSTCD11 days operator-(const day& x, const day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d); - -// month - -class month -{ - unsigned char m_; - -public: - explicit CONSTCD11 month(unsigned m) NOEXCEPT; - - CONSTCD14 month& operator++() NOEXCEPT; - CONSTCD14 month operator++(int) NOEXCEPT; - CONSTCD14 month& operator--() NOEXCEPT; - CONSTCD14 month operator--(int) NOEXCEPT; - - CONSTCD14 month& operator+=(const months& m) NOEXCEPT; - CONSTCD14 month& operator-=(const months& m) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator< (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator> (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month& x, const month& y) NOEXCEPT; - -CONSTCD14 month operator+(const month& x, const months& y) NOEXCEPT; -CONSTCD14 month operator+(const months& x, const month& y) NOEXCEPT; -CONSTCD14 month operator-(const month& x, const months& y) NOEXCEPT; -CONSTCD14 months operator-(const month& x, const month& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m); - -// year - -class year -{ - short y_; - -public: - explicit CONSTCD11 year(int y) NOEXCEPT; - - CONSTCD14 year& operator++() NOEXCEPT; - CONSTCD14 year operator++(int) NOEXCEPT; - CONSTCD14 year& operator--() NOEXCEPT; - CONSTCD14 year operator--(int) NOEXCEPT; - - CONSTCD14 year& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year& operator-=(const years& y) NOEXCEPT; - - CONSTCD14 bool is_leap() const NOEXCEPT; - - CONSTCD11 explicit operator int() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - static CONSTCD11 year min() NOEXCEPT; - static CONSTCD11 year max() NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator< (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator> (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year& x, const year& y) NOEXCEPT; - -CONSTCD11 year operator+(const year& x, const years& y) NOEXCEPT; -CONSTCD11 year operator+(const years& x, const year& y) NOEXCEPT; -CONSTCD11 year operator-(const year& x, const years& y) NOEXCEPT; -CONSTCD11 years operator-(const year& x, const year& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y); - -// weekday - -class weekday -{ - unsigned char wd_; -public: - explicit CONSTCD11 weekday(unsigned wd) NOEXCEPT; - explicit weekday(int) = delete; - CONSTCD11 weekday(const sys_days& dp) NOEXCEPT; - CONSTCD11 explicit weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 weekday& operator++() NOEXCEPT; - CONSTCD14 weekday operator++(int) NOEXCEPT; - CONSTCD14 weekday& operator--() NOEXCEPT; - CONSTCD14 weekday operator--(int) NOEXCEPT; - - CONSTCD14 weekday& operator+=(const days& d) NOEXCEPT; - CONSTCD14 weekday& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - CONSTCD11 weekday_indexed operator[](unsigned index) const NOEXCEPT; - CONSTCD11 weekday_last operator[](last_spec) const NOEXCEPT; - -private: - static CONSTCD11 unsigned char weekday_from_days(int z) NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday& x, const weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday& x, const weekday& y) NOEXCEPT; - -CONSTCD14 weekday operator+(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 weekday operator+(const days& x, const weekday& y) NOEXCEPT; -CONSTCD14 weekday operator-(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 days operator-(const weekday& x, const weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd); - -// weekday_indexed - -class weekday_indexed -{ - unsigned char wd_ : 4; - unsigned char index_ : 4; - -public: - CONSTCD11 weekday_indexed(const islamic::weekday& wd, unsigned index) NOEXCEPT; - - CONSTCD11 islamic::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi); - -// weekday_last - -class weekday_last -{ - islamic::weekday wd_; - -public: - explicit CONSTCD11 weekday_last(const islamic::weekday& wd) NOEXCEPT; - - CONSTCD11 islamic::weekday weekday() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl); - -// year_month - -class year_month -{ - islamic::year y_; - islamic::month m_; - -public: - CONSTCD11 year_month(const islamic::year& y, const islamic::month& m) NOEXCEPT; - - CONSTCD11 islamic::year year() const NOEXCEPT; - CONSTCD11 islamic::month month() const NOEXCEPT; - - CONSTCD14 year_month& operator+=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator-=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator+=(const years& dy) NOEXCEPT; - CONSTCD14 year_month& operator-=(const years& dy) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month& x, const year_month& y) NOEXCEPT; - -CONSTCD14 year_month operator+(const year_month& ym, const months& dm) NOEXCEPT; -CONSTCD14 year_month operator+(const months& dm, const year_month& ym) NOEXCEPT; -CONSTCD14 year_month operator-(const year_month& ym, const months& dm) NOEXCEPT; - -CONSTCD11 months operator-(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 year_month operator+(const year_month& ym, const years& dy) NOEXCEPT; -CONSTCD11 year_month operator+(const years& dy, const year_month& ym) NOEXCEPT; -CONSTCD11 year_month operator-(const year_month& ym, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym); - -// month_day - -class month_day -{ - islamic::month m_; - islamic::day d_; - -public: - CONSTCD11 month_day(const islamic::month& m, const islamic::day& d) NOEXCEPT; - - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::day day() const NOEXCEPT; - - CONSTCD14 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day& x, const month_day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md); - -// month_day_last - -class month_day_last -{ - islamic::month m_; - -public: - CONSTCD11 explicit month_day_last(const islamic::month& m) NOEXCEPT; - - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl); - -// month_weekday - -class month_weekday -{ - islamic::month m_; - islamic::weekday_indexed wdi_; -public: - CONSTCD11 month_weekday(const islamic::month& m, - const islamic::weekday_indexed& wdi) NOEXCEPT; - - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd); - -// month_weekday_last - -class month_weekday_last -{ - islamic::month m_; - islamic::weekday_last wdl_; - -public: - CONSTCD11 month_weekday_last(const islamic::month& m, - const islamic::weekday_last& wd) NOEXCEPT; - - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl); - -// class year_month_day - -class year_month_day -{ - islamic::year y_; - islamic::month m_; - islamic::day d_; - -public: - CONSTCD11 year_month_day(const islamic::year& y, const islamic::month& m, - const islamic::day& d) NOEXCEPT; - CONSTCD14 year_month_day(const year_month_day_last& ymdl) NOEXCEPT; - - CONSTCD14 year_month_day(sys_days dp) NOEXCEPT; - CONSTCD14 explicit year_month_day(local_days dp) NOEXCEPT; - - CONSTCD14 year_month_day& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 islamic::year year() const NOEXCEPT; - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_day from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT; - -CONSTCD14 year_month_day operator+(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD14 year_month_day operator+(const months& dm, const year_month_day& ymd) NOEXCEPT; -CONSTCD14 year_month_day operator-(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD11 year_month_day operator+(const year_month_day& ymd, const years& dy) NOEXCEPT; -CONSTCD11 year_month_day operator+(const years& dy, const year_month_day& ymd) NOEXCEPT; -CONSTCD11 year_month_day operator-(const year_month_day& ymd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd); - -// year_month_day_last - -class year_month_day_last -{ - islamic::year y_; - islamic::month_day_last mdl_; - -public: - CONSTCD11 year_month_day_last(const islamic::year& y, - const islamic::month_day_last& mdl) NOEXCEPT; - - CONSTCD14 year_month_day_last& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 islamic::year year() const NOEXCEPT; - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::month_day_last month_day_last() const NOEXCEPT; - CONSTCD14 islamic::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator< (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator> (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl); - -// year_month_weekday - -class year_month_weekday -{ - islamic::year y_; - islamic::month m_; - islamic::weekday_indexed wdi_; - -public: - CONSTCD11 year_month_weekday(const islamic::year& y, const islamic::month& m, - const islamic::weekday_indexed& wdi) NOEXCEPT; - CONSTCD14 year_month_weekday(const sys_days& dp) NOEXCEPT; - CONSTCD14 explicit year_month_weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 year_month_weekday& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 islamic::year year() const NOEXCEPT; - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 islamic::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_weekday from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi); - -// year_month_weekday_last - -class year_month_weekday_last -{ - islamic::year y_; - islamic::month m_; - islamic::weekday_last wdl_; - -public: - CONSTCD11 year_month_weekday_last(const islamic::year& y, const islamic::month& m, - const islamic::weekday_last& wdl) NOEXCEPT; - - CONSTCD14 year_month_weekday_last& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 islamic::year year() const NOEXCEPT; - CONSTCD11 islamic::month month() const NOEXCEPT; - CONSTCD11 islamic::weekday weekday() const NOEXCEPT; - CONSTCD11 islamic::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - -private: - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD11 -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl); - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 islamic::day operator "" _d(unsigned long long d) NOEXCEPT; -CONSTCD11 islamic::year operator "" _y(unsigned long long y) NOEXCEPT; - -} // inline namespace literals -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -//----------------+ -// Implementation | -//----------------+ - -// day - -CONSTCD11 inline day::day(unsigned d) NOEXCEPT : d_(static_cast(d)) {} -CONSTCD14 inline day& day::operator++() NOEXCEPT {++d_; return *this;} -CONSTCD14 inline day day::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline day& day::operator--() NOEXCEPT {--d_; return *this;} -CONSTCD14 inline day day::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline day& day::operator+=(const days& d) NOEXCEPT {*this = *this + d; return *this;} -CONSTCD14 inline day& day::operator-=(const days& d) NOEXCEPT {*this = *this - d; return *this;} -CONSTCD11 inline day::operator unsigned() const NOEXCEPT {return d_;} -CONSTCD11 inline bool day::ok() const NOEXCEPT {return 1 <= d_ && d_ <= 30;} - -CONSTCD11 -inline -bool -operator==(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const day& x, const day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const day& x, const day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const day& x, const day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const day& x, const day& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -days -operator-(const day& x, const day& y) NOEXCEPT -{ - return days{static_cast(static_cast(x) - - static_cast(y))}; -} - -CONSTCD11 -inline -day -operator+(const day& x, const days& y) NOEXCEPT -{ - return day{static_cast(x) + static_cast(y.count())}; -} - -CONSTCD11 -inline -day -operator+(const days& x, const day& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -day -operator-(const day& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(d); - return os; -} - -// month - -CONSTCD11 inline month::month(unsigned m) NOEXCEPT : m_(static_cast(m)) {} -CONSTCD14 inline month& month::operator++() NOEXCEPT {if (++m_ == 13) m_ = 1; return *this;} -CONSTCD14 inline month month::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline month& month::operator--() NOEXCEPT {if (--m_ == 0) m_ = 12; return *this;} -CONSTCD14 inline month month::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -month& -month::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -month& -month::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD11 inline month::operator unsigned() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month::ok() const NOEXCEPT {return 1 <= m_ && m_ <= 12;} - -CONSTCD11 -inline -bool -operator==(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const month& x, const month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const month& x, const month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month& x, const month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month& x, const month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -months -operator-(const month& x, const month& y) NOEXCEPT -{ - auto const d = static_cast(x) - static_cast(y); - return months(d <= 11 ? d : d + 12); -} - -CONSTCD14 -inline -month -operator+(const month& x, const months& y) NOEXCEPT -{ - auto const mu = static_cast(static_cast(x)) - 1 + y.count(); - auto const yr = (mu >= 0 ? mu : mu-11) / 12; - return month{static_cast(mu - yr * 12 + 1)}; -} - -CONSTCD14 -inline -month -operator+(const months& x, const month& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -month -operator-(const month& x, const months& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m) -{ - switch (static_cast(m)) - { - case 1: - os << "Muharram"; - break; - case 2: - os << "Safar"; - break; - case 3: - os << "Rabi' al-awwal"; - break; - case 4: - os << "Rabi' al-thani"; - break; - case 5: - os << "Jumada al-awwal"; - break; - case 6: - os << "Jumada al-Thani"; - break; - case 7: - os << "Rajab"; - break; - case 8: - os << "Sha'ban"; - break; - case 9: - os << "Ramadan"; - break; - case 10: - os << "Shawwal"; - break; - case 11: - os << "Dhu al-Qi'dah"; - break; - case 12: - os << "Dhu al-Hijjah"; - break; - default: - os << static_cast(m) << " is not a valid month"; - break; - } - return os; -} - -// year - -CONSTCD11 inline year::year(int y) NOEXCEPT : y_(static_cast(y)) {} -CONSTCD14 inline year& year::operator++() NOEXCEPT {++y_; return *this;} -CONSTCD14 inline year year::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline year& year::operator--() NOEXCEPT {--y_; return *this;} -CONSTCD14 inline year year::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline year& year::operator+=(const years& y) NOEXCEPT {*this = *this + y; return *this;} -CONSTCD14 inline year& year::operator-=(const years& y) NOEXCEPT {*this = *this - y; return *this;} - -CONSTCD14 -inline -bool -year::is_leap() const NOEXCEPT -{ - int y = y_ - 1; - const int era = (y >= 0 ? y : y-29) / 30; - const unsigned yoe = static_cast(y - era * 30); - switch (yoe) - { - case 1: - case 4: - case 6: - case 9: - case 12: - case 15: - case 17: - case 20: - case 23: - case 25: - case 28: - return true; - default: - return false; - } -} - -CONSTCD11 inline year::operator int() const NOEXCEPT {return y_;} -CONSTCD11 inline bool year::ok() const NOEXCEPT {return true;} - -CONSTCD11 -inline -year -year::min() NOEXCEPT -{ - return year{std::numeric_limits::min()}; -} - -CONSTCD11 -inline -year -year::max() NOEXCEPT -{ - return year{std::numeric_limits::max()}; -} - -CONSTCD11 -inline -bool -operator==(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const year& x, const year& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const year& x, const year& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year& x, const year& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year& x, const year& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -years -operator-(const year& x, const year& y) NOEXCEPT -{ - return years{static_cast(x) - static_cast(y)}; -} - -CONSTCD11 -inline -year -operator+(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) + y.count()}; -} - -CONSTCD11 -inline -year -operator+(const years& x, const year& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -year -operator-(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) - y.count()}; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::internal); - os.width(4 + (y < year{0})); - os << static_cast(y); - return os; -} - -// weekday - -CONSTCD11 -inline -unsigned char -weekday::weekday_from_days(int z) NOEXCEPT -{ - return static_cast(static_cast( - z >= -4 ? (z+4) % 7 : (z+5) % 7 + 6)); -} - -CONSTCD11 -inline -weekday::weekday(unsigned wd) NOEXCEPT - : wd_(static_cast(wd)) - {} - -CONSTCD11 -inline -weekday::weekday(const sys_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD11 -inline -weekday::weekday(const local_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD14 inline weekday& weekday::operator++() NOEXCEPT {if (++wd_ == 7) wd_ = 0; return *this;} -CONSTCD14 inline weekday weekday::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline weekday& weekday::operator--() NOEXCEPT {if (wd_-- == 0) wd_ = 6; return *this;} -CONSTCD14 inline weekday weekday::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -weekday& -weekday::operator+=(const days& d) NOEXCEPT -{ - *this = *this + d; - return *this; -} - -CONSTCD14 -inline -weekday& -weekday::operator-=(const days& d) NOEXCEPT -{ - *this = *this - d; - return *this; -} - -CONSTCD11 -inline -weekday::operator unsigned() const NOEXCEPT -{ - return static_cast(wd_); -} - -CONSTCD11 inline bool weekday::ok() const NOEXCEPT {return wd_ <= 6;} - -CONSTCD11 -inline -bool -operator==(const weekday& x, const weekday& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const weekday& x, const weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD14 -inline -days -operator-(const weekday& x, const weekday& y) NOEXCEPT -{ - auto const diff = static_cast(x) - static_cast(y); - return days{diff <= 6 ? diff : diff + 7}; -} - -CONSTCD14 -inline -weekday -operator+(const weekday& x, const days& y) NOEXCEPT -{ - auto const wdu = static_cast(static_cast(x)) + y.count(); - auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7; - return weekday{static_cast(wdu - wk * 7)}; -} - -CONSTCD14 -inline -weekday -operator+(const days& x, const weekday& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -weekday -operator-(const weekday& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd) -{ - switch (static_cast(wd)) - { - case 0: - os << "al-Aḥad"; - break; - case 1: - os << "al-Ithnayn"; - break; - case 2: - os << "ath-Thulāthā’"; - break; - case 3: - os << "al-Arba‘ā’"; - break; - case 4: - os << "al-Khamīs"; - break; - case 5: - os << "al-Jum‘ah"; - break; - case 6: - os << "as-Sabt"; - break; - default: - os << static_cast(wd) << " is not a valid weekday"; - break; - } - return os; -} - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 -inline -islamic::day -operator "" _d(unsigned long long d) NOEXCEPT -{ - return islamic::day{static_cast(d)}; -} - -CONSTCD11 -inline -islamic::year -operator "" _y(unsigned long long y) NOEXCEPT -{ - return islamic::year(static_cast(y)); -} -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -CONSTDATA islamic::last_spec last{}; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -} // inline namespace literals -#endif - -// weekday_indexed - -CONSTCD11 -inline -weekday -weekday_indexed::weekday() const NOEXCEPT -{ - return islamic::weekday{static_cast(wd_)}; -} - -CONSTCD11 inline unsigned weekday_indexed::index() const NOEXCEPT {return index_;} - -CONSTCD11 -inline -bool -weekday_indexed::ok() const NOEXCEPT -{ - return weekday().ok() && 1 <= index_ && index_ <= 5; -} - -CONSTCD11 -inline -weekday_indexed::weekday_indexed(const islamic::weekday& wd, unsigned index) NOEXCEPT - : wd_(static_cast(static_cast(wd))) - , index_(static_cast(index)) - {} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi) -{ - return os << wdi.weekday() << '[' << wdi.index() << ']'; -} - -CONSTCD11 -inline -weekday_indexed -weekday::operator[](unsigned index) const NOEXCEPT -{ - return {*this, index}; -} - -CONSTCD11 -inline -bool -operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return x.weekday() == y.weekday() && x.index() == y.index(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return !(x == y); -} - -// weekday_last - -CONSTCD11 inline islamic::weekday weekday_last::weekday() const NOEXCEPT {return wd_;} -CONSTCD11 inline bool weekday_last::ok() const NOEXCEPT {return wd_.ok();} -CONSTCD11 inline weekday_last::weekday_last(const islamic::weekday& wd) NOEXCEPT : wd_(wd) {} - -CONSTCD11 -inline -bool -operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl) -{ - return os << wdl.weekday() << "[last]"; -} - -CONSTCD11 -inline -weekday_last -weekday::operator[](last_spec) const NOEXCEPT -{ - return weekday_last{*this}; -} - -// year_month - -CONSTCD11 -inline -year_month::year_month(const islamic::year& y, const islamic::month& m) NOEXCEPT - : y_(y) - , m_(m) - {} - -CONSTCD11 inline year year_month::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool year_month::ok() const NOEXCEPT {return y_.ok() && m_.ok();} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const months& dm) NOEXCEPT -{ - *this = *this + dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const months& dm) NOEXCEPT -{ - *this = *this - dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const years& dy) NOEXCEPT -{ - *this = *this + dy; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const years& dy) NOEXCEPT -{ - *this = *this - dy; - return *this; -} - -CONSTCD11 -inline -bool -operator==(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month())); -} - -CONSTCD11 -inline -bool -operator>(const year_month& x, const year_month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -year_month -operator+(const year_month& ym, const months& dm) NOEXCEPT -{ - auto dmi = static_cast(static_cast(ym.month())) - 1 + dm.count(); - auto dy = (dmi >= 0 ? dmi : dmi-11) / 12; - dmi = dmi - dy * 12 + 1; - return (ym.year() + years(dy)) / month(static_cast(dmi)); -} - -CONSTCD14 -inline -year_month -operator+(const months& dm, const year_month& ym) NOEXCEPT -{ - return ym + dm; -} - -CONSTCD14 -inline -year_month -operator-(const year_month& ym, const months& dm) NOEXCEPT -{ - return ym + -dm; -} - -CONSTCD11 -inline -months -operator-(const year_month& x, const year_month& y) NOEXCEPT -{ - return (x.year() - y.year()) + - months(static_cast(x.month()) - static_cast(y.month())); -} - -CONSTCD11 -inline -year_month -operator+(const year_month& ym, const years& dy) NOEXCEPT -{ - return (ym.year() + dy) / ym.month(); -} - -CONSTCD11 -inline -year_month -operator+(const years& dy, const year_month& ym) NOEXCEPT -{ - return ym + dy; -} - -CONSTCD11 -inline -year_month -operator-(const year_month& ym, const years& dy) NOEXCEPT -{ - return ym + -dy; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym) -{ - return os << ym.year() << '/' << ym.month(); -} - -// month_day - -CONSTCD11 -inline -month_day::month_day(const islamic::month& m, const islamic::day& d) NOEXCEPT - : m_(m) - , d_(d) - {} - -CONSTCD11 inline islamic::month month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline islamic::day month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -bool -month_day::ok() const NOEXCEPT -{ - CONSTDATA islamic::day d[] = - {30_d, 29_d, 30_d, 29_d, 30_d, 29_d, 30_d, 29_d, 30_d, 29_d, 30_d, 30_d}; - return m_.ok() && 1_d <= d_ && d_ <= d[static_cast(m_)-1]; -} - -CONSTCD11 -inline -bool -operator==(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())); -} - -CONSTCD11 -inline -bool -operator>(const month_day& x, const month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md) -{ - return os << md.month() << '/' << md.day(); -} - -// month_day_last - -CONSTCD11 inline month month_day_last::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month_day_last::ok() const NOEXCEPT {return m_.ok();} -CONSTCD11 inline month_day_last::month_day_last(const islamic::month& m) NOEXCEPT : m_(m) {} - -CONSTCD11 -inline -bool -operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() < y.month(); -} - -CONSTCD11 -inline -bool -operator>(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl) -{ - return os << mdl.month() << "/last"; -} - -// month_weekday - -CONSTCD11 -inline -month_weekday::month_weekday(const islamic::month& m, - const islamic::weekday_indexed& wdi) NOEXCEPT - : m_(m) - , wdi_(wdi) - {} - -CONSTCD11 inline month month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_indexed -month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD11 -inline -bool -month_weekday::ok() const NOEXCEPT -{ - return m_.ok() && wdi_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd) -{ - return os << mwd.month() << '/' << mwd.weekday_indexed(); -} - -// month_weekday_last - -CONSTCD11 -inline -month_weekday_last::month_weekday_last(const islamic::month& m, - const islamic::weekday_last& wdl) NOEXCEPT - : m_(m) - , wdl_(wdl) - {} - -CONSTCD11 inline month month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_last -month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD11 -inline -bool -month_weekday_last::ok() const NOEXCEPT -{ - return m_.ok() && wdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl) -{ - return os << mwdl.month() << '/' << mwdl.weekday_last(); -} - -// year_month_day_last - -CONSTCD11 -inline -year_month_day_last::year_month_day_last(const islamic::year& y, - const islamic::month_day_last& mdl) NOEXCEPT - : y_(y) - , mdl_(mdl) - {} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_day_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day_last::month() const NOEXCEPT {return mdl_.month();} - -CONSTCD11 -inline -month_day_last -year_month_day_last::month_day_last() const NOEXCEPT -{ - return mdl_; -} - -CONSTCD14 -inline -day -year_month_day_last::day() const NOEXCEPT -{ - CONSTDATA islamic::day d[] = - {30_d, 29_d, 30_d, 29_d, 30_d, 29_d, 30_d, 29_d, 30_d, 29_d, 30_d, 29_d}; - return month() != islamic::month(12) || !y_.is_leap() ? - d[static_cast(month())-1] : 30_d; -} - -CONSTCD14 -inline -year_month_day_last::operator sys_days() const NOEXCEPT -{ - return sys_days(year()/month()/day()); -} - -CONSTCD14 -inline -year_month_day_last::operator local_days() const NOEXCEPT -{ - return local_days(year()/month()/day()); -} - -CONSTCD11 -inline -bool -year_month_day_last::ok() const NOEXCEPT -{ - return y_.ok() && mdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month_day_last() == y.month_day_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month_day_last() < y.month_day_last())); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl) -{ - return os << ymdl.year() << '/' << ymdl.month_day_last(); -} - -CONSTCD14 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return (ymdl.year() / ymdl.month() + dm) / last; -} - -CONSTCD14 -inline -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dm; -} - -CONSTCD14 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return ymdl + (-dm); -} - -CONSTCD11 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return {ymdl.year()+dy, ymdl.month_day_last()}; -} - -CONSTCD11 -inline -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dy; -} - -CONSTCD11 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return ymdl + (-dy); -} - -// year_month_day - -CONSTCD11 -inline -year_month_day::year_month_day(const islamic::year& y, const islamic::month& m, - const islamic::day& d) NOEXCEPT - : y_(y) - , m_(m) - , d_(d) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(const year_month_day_last& ymdl) NOEXCEPT - : y_(ymdl.year()) - , m_(ymdl.month()) - , d_(ymdl.day()) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(sys_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(local_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD11 inline year year_month_day::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline day year_month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD14 -inline -days -year_month_day::to_days() const NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - auto const y = static_cast(y_) - 1; - auto const m = static_cast(m_); - auto const d = static_cast(d_); - auto const era = (y >= 0 ? y : y-29) / 30; - auto const yoe = static_cast(y - era * 30); // [0, 29] - auto const doy = 29*(m-1) + m/2 + d-1; // [0, 354] - auto const doe = yoe * 354 + (11*(yoe+1)+3)/30 + doy; // [0, 10630] - return days{era * 10631 + static_cast(doe) - 492148}; -} - -CONSTCD14 -inline -year_month_day::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_day::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_day::ok() const NOEXCEPT -{ - if (!(y_.ok() && m_.ok())) - return false; - return 1_d <= d_ && d_ <= (y_/m_/last).day(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())))); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os << ymd.year() << '-'; - os.width(2); - os << static_cast(ymd.month()) << '-'; - os << ymd.day(); - return os; -} - -CONSTCD14 -inline -year_month_day -year_month_day::from_days(days dp) NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - auto const z = dp.count() + 492148; - auto const era = (z >= 0 ? z : z - 10630) / 10631; - auto const doe = static_cast(z - era * 10631); // [0, 10630] - auto const yoe = (30*doe + 10646)/10631 - 1; // [0, 29] - auto const y = static_cast(yoe) + era * 30 + 1; - auto const doy = doe - (yoe * 354 + (11*(yoe+1)+3)/30); // [0, 354] - auto const m = (11*doy + 330) / 325; // [1, 12] - auto const d = doy - (29*(m-1) + m/2) + 1; // [1, 30] - return year_month_day{islamic::year{y}, islamic::month(m), islamic::day(d)}; -} - -CONSTCD14 -inline -year_month_day -operator+(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return (ymd.year() / ymd.month() + dm) / ymd.day(); -} - -CONSTCD14 -inline -year_month_day -operator+(const months& dm, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dm; -} - -CONSTCD14 -inline -year_month_day -operator-(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return ymd + (-dm); -} - -CONSTCD11 -inline -year_month_day -operator+(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return (ymd.year() + dy) / ymd.month() / ymd.day(); -} - -CONSTCD11 -inline -year_month_day -operator+(const years& dy, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dy; -} - -CONSTCD11 -inline -year_month_day -operator-(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return ymd + (-dy); -} - -// year_month_weekday - -CONSTCD11 -inline -year_month_weekday::year_month_weekday(const islamic::year& y, const islamic::month& m, - const islamic::weekday_indexed& wdi) - NOEXCEPT - : y_(y) - , m_(m) - , wdi_(wdi) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const sys_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const local_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday::weekday() const NOEXCEPT -{ - return wdi_.weekday(); -} - -CONSTCD11 -inline -unsigned -year_month_weekday::index() const NOEXCEPT -{ - return wdi_.index(); -} - -CONSTCD11 -inline -weekday_indexed -year_month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD14 -inline -year_month_weekday::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_weekday::ok() const NOEXCEPT -{ - if (!y_.ok() || !m_.ok() || !wdi_.weekday().ok() || wdi_.index() < 1) - return false; - if (wdi_.index() <= 4) - return true; - auto d2 = wdi_.weekday() - islamic::weekday(y_/m_/1) + days((wdi_.index()-1)*7 + 1); - return static_cast(d2.count()) <= static_cast((y_/m_/last).day()); -} - -CONSTCD14 -inline -year_month_weekday -year_month_weekday::from_days(days d) NOEXCEPT -{ - sys_days dp{d}; - auto const wd = islamic::weekday(dp); - auto const ymd = year_month_day(dp); - return {ymd.year(), ymd.month(), wd[(static_cast(ymd.day())-1)/7+1]}; -} - -CONSTCD14 -inline -days -year_month_weekday::to_days() const NOEXCEPT -{ - auto d = sys_days(y_/m_/1); - return (d + (wdi_.weekday() - islamic::weekday(d) + days{(wdi_.index()-1)*7}) - ).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi) -{ - return os << ymwdi.year() << '/' << ymwdi.month() - << '/' << ymwdi.weekday_indexed(); -} - -CONSTCD14 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return (ymwd.year() / ymwd.month() + dm) / ymwd.weekday_indexed(); -} - -CONSTCD14 -inline -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dm; -} - -CONSTCD14 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return ymwd + (-dm); -} - -CONSTCD11 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return {ymwd.year()+dy, ymwd.month(), ymwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dy; -} - -CONSTCD11 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return ymwd + (-dy); -} - -// year_month_weekday_last - -CONSTCD11 -inline -year_month_weekday_last::year_month_weekday_last(const islamic::year& y, - const islamic::month& m, - const islamic::weekday_last& wdl) NOEXCEPT - : y_(y) - , m_(m) - , wdl_(wdl) - {} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday_last::weekday() const NOEXCEPT -{ - return wdl_.weekday(); -} - -CONSTCD11 -inline -weekday_last -year_month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD14 -inline -year_month_weekday_last::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday_last::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD11 -inline -bool -year_month_weekday_last::ok() const NOEXCEPT -{ - return y_.ok() && m_.ok() && wdl_.ok(); -} - -CONSTCD14 -inline -days -year_month_weekday_last::to_days() const NOEXCEPT -{ - auto const d = sys_days(y_/m_/last); - return (d - (islamic::weekday{d} - wdl_.weekday())).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl) -{ - return os << ymwdl.year() << '/' << ymwdl.month() << '/' << ymwdl.weekday_last(); -} - -CONSTCD14 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return (ymwdl.year() / ymwdl.month() + dm) / ymwdl.weekday_last(); -} - -CONSTCD14 -inline -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dm; -} - -CONSTCD14 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return ymwdl + (-dm); -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return {ymwdl.year()+dy, ymwdl.month(), ymwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dy; -} - -CONSTCD11 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return ymwdl + (-dy); -} - -// year_month from operator/() - -CONSTCD11 -inline -year_month -operator/(const year& y, const month& m) NOEXCEPT -{ - return {y, m}; -} - -CONSTCD11 -inline -year_month -operator/(const year& y, int m) NOEXCEPT -{ - return y / month(static_cast(m)); -} - -// month_day from operator/() - -CONSTCD11 -inline -month_day -operator/(const month& m, const day& d) NOEXCEPT -{ - return {m, d}; -} - -CONSTCD11 -inline -month_day -operator/(const day& d, const month& m) NOEXCEPT -{ - return m / d; -} - -CONSTCD11 -inline -month_day -operator/(const month& m, int d) NOEXCEPT -{ - return m / day(static_cast(d)); -} - -CONSTCD11 -inline -month_day -operator/(int m, const day& d) NOEXCEPT -{ - return month(static_cast(m)) / d; -} - -CONSTCD11 inline month_day operator/(const day& d, int m) NOEXCEPT {return m / d;} - -// month_day_last from operator/() - -CONSTCD11 -inline -month_day_last -operator/(const month& m, last_spec) NOEXCEPT -{ - return month_day_last{m}; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, const month& m) NOEXCEPT -{ - return m/last; -} - -CONSTCD11 -inline -month_day_last -operator/(int m, last_spec) NOEXCEPT -{ - return month(static_cast(m))/last; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, int m) NOEXCEPT -{ - return m/last; -} - -// month_weekday from operator/() - -CONSTCD11 -inline -month_weekday -operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT -{ - return {m, wdi}; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT -{ - return m / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(int m, const weekday_indexed& wdi) NOEXCEPT -{ - return month(static_cast(m)) / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, int m) NOEXCEPT -{ - return m / wdi; -} - -// month_weekday_last from operator/() - -CONSTCD11 -inline -month_weekday_last -operator/(const month& m, const weekday_last& wdl) NOEXCEPT -{ - return {m, wdl}; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, const month& m) NOEXCEPT -{ - return m / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(int m, const weekday_last& wdl) NOEXCEPT -{ - return month(static_cast(m)) / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, int m) NOEXCEPT -{ - return m / wdl; -} - -// year_month_day from operator/() - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, const day& d) NOEXCEPT -{ - return {ym.year(), ym.month(), d}; -} - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, int d) NOEXCEPT -{ - return ym / day(static_cast(d)); -} - -CONSTCD11 -inline -year_month_day -operator/(const year& y, const month_day& md) NOEXCEPT -{ - return y / md.month() / md.day(); -} - -CONSTCD11 -inline -year_month_day -operator/(int y, const month_day& md) NOEXCEPT -{ - return year(y) / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, const year& y) NOEXCEPT -{ - return y / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, int y) NOEXCEPT -{ - return year(y) / md; -} - -// year_month_day_last from operator/() - -CONSTCD11 -inline -year_month_day_last -operator/(const year_month& ym, last_spec) NOEXCEPT -{ - return {ym.year(), month_day_last{ym.month()}}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const year& y, const month_day_last& mdl) NOEXCEPT -{ - return {y, mdl}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(int y, const month_day_last& mdl) NOEXCEPT -{ - return year(y) / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, const year& y) NOEXCEPT -{ - return y / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, int y) NOEXCEPT -{ - return year(y) / mdl; -} - -// year_month_weekday from operator/() - -CONSTCD11 -inline -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT -{ - return {ym.year(), ym.month(), wdi}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT -{ - return {y, mwd.month(), mwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT -{ - return year(y) / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT -{ - return y / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT -{ - return year(y) / mwd; -} - -// year_month_weekday_last from operator/() - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT -{ - return {ym.year(), ym.month(), wdl}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT -{ - return {y, mwdl.month(), mwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT -{ - return year(y) / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT -{ - return y / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT -{ - return year(y) / mwdl; -} - -} // namespace islamic - -#endif // ISLAMIC_H diff --git a/src/date/iso_week.h b/src/date/iso_week.h deleted file mode 100644 index 90dfcc1..0000000 --- a/src/date/iso_week.h +++ /dev/null @@ -1,1761 +0,0 @@ -#ifndef ISO_WEEK_H -#define ISO_WEEK_H - -// The MIT License (MIT) -// -// Copyright (c) 2015, 2016, 2017 Howard Hinnant -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -#include "date.h" - -#include - -namespace iso_week -{ - -// y/wn/wd -// wn/wd/y -// wd/wn/y - -using days = date::days; -using weeks = date::weeks; -using years = date::years; - -// time_point - -using sys_days = date::sys_days; -using local_days = date::local_days; - -// types - -struct last_week -{ - explicit last_week() = default; -}; - -class weekday; -class weeknum; -class year; - -class year_weeknum; -class year_lastweek; -class weeknum_weekday; -class lastweek_weekday; - -class year_weeknum_weekday; -class year_lastweek_weekday; - -// date composition operators - -CONSTCD11 year_weeknum operator/(const year& y, const weeknum& wn) NOEXCEPT; -CONSTCD11 year_weeknum operator/(const year& y, int wn) NOEXCEPT; - -CONSTCD11 year_lastweek operator/(const year& y, last_week wn) NOEXCEPT; - -CONSTCD11 weeknum_weekday operator/(const weeknum& wn, const weekday& wd) NOEXCEPT; -CONSTCD11 weeknum_weekday operator/(const weeknum& wn, int wd) NOEXCEPT; -CONSTCD11 weeknum_weekday operator/(const weekday& wd, const weeknum& wn) NOEXCEPT; -CONSTCD11 weeknum_weekday operator/(const weekday& wd, int wn) NOEXCEPT; - -CONSTCD11 lastweek_weekday operator/(const last_week& wn, const weekday& wd) NOEXCEPT; -CONSTCD11 lastweek_weekday operator/(const last_week& wn, int wd) NOEXCEPT; -CONSTCD11 lastweek_weekday operator/(const weekday& wd, const last_week& wn) NOEXCEPT; - -CONSTCD11 year_weeknum_weekday operator/(const year_weeknum& ywn, const weekday& wd) NOEXCEPT; -CONSTCD11 year_weeknum_weekday operator/(const year_weeknum& ywn, int wd) NOEXCEPT; -CONSTCD11 year_weeknum_weekday operator/(const weeknum_weekday& wnwd, const year& y) NOEXCEPT; -CONSTCD11 year_weeknum_weekday operator/(const weeknum_weekday& wnwd, int y) NOEXCEPT; - -CONSTCD11 year_lastweek_weekday operator/(const year_lastweek& ylw, const weekday& wd) NOEXCEPT; -CONSTCD11 year_lastweek_weekday operator/(const year_lastweek& ylw, int wd) NOEXCEPT; - -CONSTCD11 year_lastweek_weekday operator/(const lastweek_weekday& lwwd, const year& y) NOEXCEPT; -CONSTCD11 year_lastweek_weekday operator/(const lastweek_weekday& lwwd, int y) NOEXCEPT; - -// weekday - -class weekday -{ - unsigned char wd_; -public: - explicit CONSTCD11 weekday(unsigned wd) NOEXCEPT; - CONSTCD11 weekday(date::weekday wd) NOEXCEPT; - explicit weekday(int) = delete; - CONSTCD11 weekday(const sys_days& dp) NOEXCEPT; - CONSTCD11 explicit weekday(const local_days& dp) NOEXCEPT; - - weekday& operator++() NOEXCEPT; - weekday operator++(int) NOEXCEPT; - weekday& operator--() NOEXCEPT; - weekday operator--(int) NOEXCEPT; - - weekday& operator+=(const days& d) NOEXCEPT; - weekday& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 operator date::weekday() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - -private: - static CONSTCD11 unsigned char weekday_from_days(int z) NOEXCEPT; - static CONSTCD11 unsigned char to_iso_encoding(unsigned char) NOEXCEPT; - static CONSTCD11 unsigned from_iso_encoding(unsigned) NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday& x, const weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday& x, const weekday& y) NOEXCEPT; - -CONSTCD14 weekday operator+(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 weekday operator+(const days& x, const weekday& y) NOEXCEPT; -CONSTCD14 weekday operator-(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 days operator-(const weekday& x, const weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd); - -// year - -class year -{ - short y_; - -public: - explicit CONSTCD11 year(int y) NOEXCEPT; - - year& operator++() NOEXCEPT; - year operator++(int) NOEXCEPT; - year& operator--() NOEXCEPT; - year operator--(int) NOEXCEPT; - - year& operator+=(const years& y) NOEXCEPT; - year& operator-=(const years& y) NOEXCEPT; - - CONSTCD14 bool is_leap() const NOEXCEPT; - - CONSTCD11 explicit operator int() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - static CONSTCD11 year min() NOEXCEPT; - static CONSTCD11 year max() NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator< (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator> (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year& x, const year& y) NOEXCEPT; - -CONSTCD11 year operator+(const year& x, const years& y) NOEXCEPT; -CONSTCD11 year operator+(const years& x, const year& y) NOEXCEPT; -CONSTCD11 year operator-(const year& x, const years& y) NOEXCEPT; -CONSTCD11 years operator-(const year& x, const year& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y); - -// weeknum - -class weeknum -{ - unsigned char wn_; - -public: - explicit CONSTCD11 weeknum(unsigned wn) NOEXCEPT; - - weeknum& operator++() NOEXCEPT; - weeknum operator++(int) NOEXCEPT; - weeknum& operator--() NOEXCEPT; - weeknum operator--(int) NOEXCEPT; - - weeknum& operator+=(const weeks& y) NOEXCEPT; - weeknum& operator-=(const weeks& y) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weeknum& x, const weeknum& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weeknum& x, const weeknum& y) NOEXCEPT; -CONSTCD11 bool operator< (const weeknum& x, const weeknum& y) NOEXCEPT; -CONSTCD11 bool operator> (const weeknum& x, const weeknum& y) NOEXCEPT; -CONSTCD11 bool operator<=(const weeknum& x, const weeknum& y) NOEXCEPT; -CONSTCD11 bool operator>=(const weeknum& x, const weeknum& y) NOEXCEPT; - -CONSTCD11 weeknum operator+(const weeknum& x, const weeks& y) NOEXCEPT; -CONSTCD11 weeknum operator+(const weeks& x, const weeknum& y) NOEXCEPT; -CONSTCD11 weeknum operator-(const weeknum& x, const weeks& y) NOEXCEPT; -CONSTCD11 weeks operator-(const weeknum& x, const weeknum& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weeknum& wn); - -// year_weeknum - -class year_weeknum -{ - iso_week::year y_; - iso_week::weeknum wn_; - -public: - CONSTCD11 year_weeknum(const iso_week::year& y, const iso_week::weeknum& wn) NOEXCEPT; - - CONSTCD11 iso_week::year year() const NOEXCEPT; - CONSTCD11 iso_week::weeknum weeknum() const NOEXCEPT; - - year_weeknum& operator+=(const years& dy) NOEXCEPT; - year_weeknum& operator-=(const years& dy) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_weeknum& x, const year_weeknum& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_weeknum& x, const year_weeknum& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_weeknum& x, const year_weeknum& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_weeknum& x, const year_weeknum& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_weeknum& x, const year_weeknum& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_weeknum& x, const year_weeknum& y) NOEXCEPT; - -CONSTCD11 year_weeknum operator+(const year_weeknum& ym, const years& dy) NOEXCEPT; -CONSTCD11 year_weeknum operator+(const years& dy, const year_weeknum& ym) NOEXCEPT; -CONSTCD11 year_weeknum operator-(const year_weeknum& ym, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_weeknum& ym); - -// year_lastweek - -class year_lastweek -{ - iso_week::year y_; - -public: - CONSTCD11 explicit year_lastweek(const iso_week::year& y) NOEXCEPT; - - CONSTCD11 iso_week::year year() const NOEXCEPT; - CONSTCD14 iso_week::weeknum weeknum() const NOEXCEPT; - - year_lastweek& operator+=(const years& dy) NOEXCEPT; - year_lastweek& operator-=(const years& dy) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_lastweek& x, const year_lastweek& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_lastweek& x, const year_lastweek& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_lastweek& x, const year_lastweek& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_lastweek& x, const year_lastweek& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_lastweek& x, const year_lastweek& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_lastweek& x, const year_lastweek& y) NOEXCEPT; - -CONSTCD11 year_lastweek operator+(const year_lastweek& ym, const years& dy) NOEXCEPT; -CONSTCD11 year_lastweek operator+(const years& dy, const year_lastweek& ym) NOEXCEPT; -CONSTCD11 year_lastweek operator-(const year_lastweek& ym, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_lastweek& ym); - -// weeknum_weekday - -class weeknum_weekday -{ - iso_week::weeknum wn_; - iso_week::weekday wd_; - -public: - CONSTCD11 weeknum_weekday(const iso_week::weeknum& wn, - const iso_week::weekday& wd) NOEXCEPT; - - CONSTCD11 iso_week::weeknum weeknum() const NOEXCEPT; - CONSTCD11 iso_week::weekday weekday() const NOEXCEPT; - - CONSTCD14 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator< (const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator> (const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator<=(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator>=(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weeknum_weekday& md); - -// lastweek_weekday - -class lastweek_weekday -{ - iso_week::weekday wd_; - -public: - CONSTCD11 explicit lastweek_weekday(const iso_week::weekday& wd) NOEXCEPT; - - CONSTCD11 iso_week::weekday weekday() const NOEXCEPT; - - CONSTCD14 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator< (const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator> (const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator<=(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator>=(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const lastweek_weekday& md); - -// year_lastweek_weekday - -class year_lastweek_weekday -{ - iso_week::year y_; - iso_week::weekday wd_; - -public: - CONSTCD11 year_lastweek_weekday(const iso_week::year& y, - const iso_week::weekday& wd) NOEXCEPT; - - year_lastweek_weekday& operator+=(const years& y) NOEXCEPT; - year_lastweek_weekday& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 iso_week::year year() const NOEXCEPT; - CONSTCD14 iso_week::weeknum weeknum() const NOEXCEPT; - CONSTCD11 iso_week::weekday weekday() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT; - -CONSTCD11 year_lastweek_weekday operator+(const year_lastweek_weekday& ywnwd, const years& y) NOEXCEPT; -CONSTCD11 year_lastweek_weekday operator+(const years& y, const year_lastweek_weekday& ywnwd) NOEXCEPT; -CONSTCD11 year_lastweek_weekday operator-(const year_lastweek_weekday& ywnwd, const years& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_lastweek_weekday& ywnwd); - -// class year_weeknum_weekday - -class year_weeknum_weekday -{ - iso_week::year y_; - iso_week::weeknum wn_; - iso_week::weekday wd_; - -public: - CONSTCD11 year_weeknum_weekday(const iso_week::year& y, const iso_week::weeknum& wn, - const iso_week::weekday& wd) NOEXCEPT; - CONSTCD14 year_weeknum_weekday(const year_lastweek_weekday& ylwwd) NOEXCEPT; - CONSTCD14 year_weeknum_weekday(const sys_days& dp) NOEXCEPT; - CONSTCD14 explicit year_weeknum_weekday(const local_days& dp) NOEXCEPT; - - year_weeknum_weekday& operator+=(const years& y) NOEXCEPT; - year_weeknum_weekday& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 iso_week::year year() const NOEXCEPT; - CONSTCD11 iso_week::weeknum weeknum() const NOEXCEPT; - CONSTCD11 iso_week::weekday weekday() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_weeknum_weekday from_days(days dp) NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT; - -CONSTCD11 year_weeknum_weekday operator+(const year_weeknum_weekday& ywnwd, const years& y) NOEXCEPT; -CONSTCD11 year_weeknum_weekday operator+(const years& y, const year_weeknum_weekday& ywnwd) NOEXCEPT; -CONSTCD11 year_weeknum_weekday operator-(const year_weeknum_weekday& ywnwd, const years& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_weeknum_weekday& ywnwd); - -//----------------+ -// Implementation | -//----------------+ - -// weekday - -CONSTCD11 -inline -unsigned char -weekday::to_iso_encoding(unsigned char z) NOEXCEPT -{ - return z != 0 ? z : (unsigned char)7; -} - -CONSTCD11 -inline -unsigned -weekday::from_iso_encoding(unsigned z) NOEXCEPT -{ - return z != 7 ? z : 0u; -} - -CONSTCD11 -inline -unsigned char -weekday::weekday_from_days(int z) NOEXCEPT -{ - return to_iso_encoding(static_cast(static_cast( - z >= -4 ? (z+4) % 7 : (z+5) % 7 + 6))); -} - -CONSTCD11 -inline -weekday::weekday(unsigned wd) NOEXCEPT - : wd_(static_cast(wd)) - {} - -CONSTCD11 -inline -weekday::weekday(date::weekday wd) NOEXCEPT - : wd_(wd.iso_encoding()) - {} - -CONSTCD11 -inline -weekday::weekday(const sys_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD11 -inline -weekday::weekday(const local_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -inline weekday& weekday::operator++() NOEXCEPT {if (++wd_ == 8) wd_ = 1; return *this;} -inline weekday weekday::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -inline weekday& weekday::operator--() NOEXCEPT {if (wd_-- == 1) wd_ = 7; return *this;} -inline weekday weekday::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -inline -weekday& -weekday::operator+=(const days& d) NOEXCEPT -{ - *this = *this + d; - return *this; -} - -inline -weekday& -weekday::operator-=(const days& d) NOEXCEPT -{ - *this = *this - d; - return *this; -} - -CONSTCD11 -inline -weekday::operator unsigned() const NOEXCEPT -{ - return wd_; -} - -CONSTCD11 -inline -weekday::operator date::weekday() const NOEXCEPT -{ - return date::weekday{from_iso_encoding(unsigned{wd_})}; -} - -CONSTCD11 inline bool weekday::ok() const NOEXCEPT {return 1 <= wd_ && wd_ <= 7;} - -CONSTCD11 -inline -bool -operator==(const weekday& x, const weekday& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const weekday& x, const weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD14 -inline -days -operator-(const weekday& x, const weekday& y) NOEXCEPT -{ - auto const diff = static_cast(x) - static_cast(y); - return days{diff <= 6 ? diff : diff + 7}; -} - -CONSTCD14 -inline -weekday -operator+(const weekday& x, const days& y) NOEXCEPT -{ - auto const wdu = static_cast(static_cast(x) - 1u) + y.count(); - auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7; - return weekday{static_cast(wdu - wk * 7) + 1u}; -} - -CONSTCD14 -inline -weekday -operator+(const days& x, const weekday& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -weekday -operator-(const weekday& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd) -{ - switch (static_cast(wd)) - { - case 7: - os << "Sun"; - break; - case 1: - os << "Mon"; - break; - case 2: - os << "Tue"; - break; - case 3: - os << "Wed"; - break; - case 4: - os << "Thu"; - break; - case 5: - os << "Fri"; - break; - case 6: - os << "Sat"; - break; - default: - os << static_cast(wd) << " is not a valid weekday"; - break; - } - return os; -} - -// year - -CONSTCD11 inline year::year(int y) NOEXCEPT : y_(static_cast(y)) {} -inline year& year::operator++() NOEXCEPT {++y_; return *this;} -inline year year::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -inline year& year::operator--() NOEXCEPT {--y_; return *this;} -inline year year::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -inline year& year::operator+=(const years& y) NOEXCEPT {*this = *this + y; return *this;} -inline year& year::operator-=(const years& y) NOEXCEPT {*this = *this - y; return *this;} - -CONSTCD14 -inline -bool -year::is_leap() const NOEXCEPT -{ - const auto y = date::year{static_cast(y_)}; - const auto s0 = sys_days((y-years{1})/12/date::thu[date::last]); - const auto s1 = sys_days(y/12/date::thu[date::last]); - return s1-s0 != days{7*52}; -} - -CONSTCD11 inline year::operator int() const NOEXCEPT {return y_;} -CONSTCD11 inline bool year::ok() const NOEXCEPT {return min() <= *this && *this <= max();} - -CONSTCD11 -inline -year -year::min() NOEXCEPT -{ - using std::chrono::seconds; - using std::chrono::minutes; - using std::chrono::hours; - using std::chrono::duration_cast; - static_assert(sizeof(seconds)*CHAR_BIT >= 41, "seconds may overflow"); - static_assert(sizeof(hours)*CHAR_BIT >= 30, "hours may overflow"); - return sizeof(minutes)*CHAR_BIT < 34 ? - year{1970} + duration_cast(minutes::min()) : - year{std::numeric_limits::min()}; -} - -CONSTCD11 -inline -year -year::max() NOEXCEPT -{ - using std::chrono::seconds; - using std::chrono::minutes; - using std::chrono::hours; - using std::chrono::duration_cast; - static_assert(sizeof(seconds)*CHAR_BIT >= 41, "seconds may overflow"); - static_assert(sizeof(hours)*CHAR_BIT >= 30, "hours may overflow"); - return sizeof(minutes)*CHAR_BIT < 34 ? - year{1969} + duration_cast(minutes::max()) : - year{std::numeric_limits::max()}; -} - -CONSTCD11 -inline -bool -operator==(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const year& x, const year& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const year& x, const year& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year& x, const year& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year& x, const year& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -years -operator-(const year& x, const year& y) NOEXCEPT -{ - return years{static_cast(x) - static_cast(y)}; -} - -CONSTCD11 -inline -year -operator+(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) + y.count()}; -} - -CONSTCD11 -inline -year -operator+(const years& x, const year& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -year -operator-(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) - y.count()}; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::internal); - os.width(4 + (y < year{0})); - os << static_cast(y); - return os; -} - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 -inline -iso_week::year -operator "" _y(unsigned long long y) NOEXCEPT -{ - return iso_week::year(static_cast(y)); -} - -CONSTCD11 -inline -iso_week::weeknum -operator "" _w(unsigned long long wn) NOEXCEPT -{ - return iso_week::weeknum(static_cast(wn)); -} - -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -CONSTDATA iso_week::last_week last{}; - -CONSTDATA iso_week::weekday sun{7u}; -CONSTDATA iso_week::weekday mon{1u}; -CONSTDATA iso_week::weekday tue{2u}; -CONSTDATA iso_week::weekday wed{3u}; -CONSTDATA iso_week::weekday thu{4u}; -CONSTDATA iso_week::weekday fri{5u}; -CONSTDATA iso_week::weekday sat{6u}; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -} // inline namespace literals -#endif - -// weeknum - -CONSTCD11 -inline -weeknum::weeknum(unsigned wn) NOEXCEPT - : wn_(static_cast(wn)) - {} - -inline weeknum& weeknum::operator++() NOEXCEPT {++wn_; return *this;} -inline weeknum weeknum::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -inline weeknum& weeknum::operator--() NOEXCEPT {--wn_; return *this;} -inline weeknum weeknum::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -inline -weeknum& -weeknum::operator+=(const weeks& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -inline -weeknum& -weeknum::operator-=(const weeks& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline weeknum::operator unsigned() const NOEXCEPT {return wn_;} -CONSTCD11 inline bool weeknum::ok() const NOEXCEPT {return 1 <= wn_ && wn_ <= 53;} - -CONSTCD11 -inline -bool -operator==(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -weeks -operator-(const weeknum& x, const weeknum& y) NOEXCEPT -{ - return weeks{static_cast(static_cast(x)) - - static_cast(static_cast(y))}; -} - -CONSTCD11 -inline -weeknum -operator+(const weeknum& x, const weeks& y) NOEXCEPT -{ - return weeknum{static_cast(x) + static_cast(y.count())}; -} - -CONSTCD11 -inline -weeknum -operator+(const weeks& x, const weeknum& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -weeknum -operator-(const weeknum& x, const weeks& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weeknum& wn) -{ - date::detail::save_ostream _(os); - os << 'W'; - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(wn); - return os; -} - -// year_weeknum - -CONSTCD11 -inline -year_weeknum::year_weeknum(const iso_week::year& y, const iso_week::weeknum& wn) NOEXCEPT - : y_(y) - , wn_(wn) - {} - -CONSTCD11 inline year year_weeknum::year() const NOEXCEPT {return y_;} -CONSTCD11 inline weeknum year_weeknum::weeknum() const NOEXCEPT {return wn_;} -CONSTCD11 inline bool year_weeknum::ok() const NOEXCEPT -{ - return y_.ok() && 1u <= static_cast(wn_) && wn_ <= (y_/last).weeknum(); -} - -inline -year_weeknum& -year_weeknum::operator+=(const years& dy) NOEXCEPT -{ - *this = *this + dy; - return *this; -} - -inline -year_weeknum& -year_weeknum::operator-=(const years& dy) NOEXCEPT -{ - *this = *this - dy; - return *this; -} - -CONSTCD11 -inline -bool -operator==(const year_weeknum& x, const year_weeknum& y) NOEXCEPT -{ - return x.year() == y.year() && x.weeknum() == y.weeknum(); -} - -CONSTCD11 -inline -bool -operator!=(const year_weeknum& x, const year_weeknum& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_weeknum& x, const year_weeknum& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.weeknum() < y.weeknum())); -} - -CONSTCD11 -inline -bool -operator>(const year_weeknum& x, const year_weeknum& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_weeknum& x, const year_weeknum& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_weeknum& x, const year_weeknum& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -year_weeknum -operator+(const year_weeknum& ym, const years& dy) NOEXCEPT -{ - return (ym.year() + dy) / ym.weeknum(); -} - -CONSTCD11 -inline -year_weeknum -operator+(const years& dy, const year_weeknum& ym) NOEXCEPT -{ - return ym + dy; -} - -CONSTCD11 -inline -year_weeknum -operator-(const year_weeknum& ym, const years& dy) NOEXCEPT -{ - return ym + -dy; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_weeknum& ywn) -{ - return os << ywn.year() << '-' << ywn.weeknum(); -} - - -// year_lastweek - -CONSTCD11 -inline -year_lastweek::year_lastweek(const iso_week::year& y) NOEXCEPT - : y_(y) - {} - -CONSTCD11 inline year year_lastweek::year() const NOEXCEPT {return y_;} - -CONSTCD14 -inline -weeknum -year_lastweek::weeknum() const NOEXCEPT -{ - return iso_week::weeknum(y_.is_leap() ? 53u : 52u); -} - -CONSTCD11 inline bool year_lastweek::ok() const NOEXCEPT {return y_.ok();} - -inline -year_lastweek& -year_lastweek::operator+=(const years& dy) NOEXCEPT -{ - *this = *this + dy; - return *this; -} - -inline -year_lastweek& -year_lastweek::operator-=(const years& dy) NOEXCEPT -{ - *this = *this - dy; - return *this; -} - -CONSTCD11 -inline -bool -operator==(const year_lastweek& x, const year_lastweek& y) NOEXCEPT -{ - return x.year() == y.year(); -} - -CONSTCD11 -inline -bool -operator!=(const year_lastweek& x, const year_lastweek& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_lastweek& x, const year_lastweek& y) NOEXCEPT -{ - return x.year() < y.year(); -} - -CONSTCD11 -inline -bool -operator>(const year_lastweek& x, const year_lastweek& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_lastweek& x, const year_lastweek& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_lastweek& x, const year_lastweek& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -year_lastweek -operator+(const year_lastweek& ym, const years& dy) NOEXCEPT -{ - return year_lastweek{ym.year() + dy}; -} - -CONSTCD11 -inline -year_lastweek -operator+(const years& dy, const year_lastweek& ym) NOEXCEPT -{ - return ym + dy; -} - -CONSTCD11 -inline -year_lastweek -operator-(const year_lastweek& ym, const years& dy) NOEXCEPT -{ - return ym + -dy; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_lastweek& ywn) -{ - return os << ywn.year() << "-W last"; -} - -// weeknum_weekday - -CONSTCD11 -inline -weeknum_weekday::weeknum_weekday(const iso_week::weeknum& wn, - const iso_week::weekday& wd) NOEXCEPT - : wn_(wn) - , wd_(wd) - {} - -CONSTCD11 inline weeknum weeknum_weekday::weeknum() const NOEXCEPT {return wn_;} -CONSTCD11 inline weekday weeknum_weekday::weekday() const NOEXCEPT {return wd_;} - -CONSTCD14 -inline -bool -weeknum_weekday::ok() const NOEXCEPT -{ - return wn_.ok() && wd_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT -{ - return x.weeknum() == y.weeknum() && x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT -{ - return x.weeknum() < y.weeknum() ? true - : (x.weeknum() > y.weeknum() ? false - : (static_cast(x.weekday()) < static_cast(y.weekday()))); -} - -CONSTCD11 -inline -bool -operator>(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const weeknum_weekday& x, const weeknum_weekday& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weeknum_weekday& md) -{ - return os << md.weeknum() << '-' << md.weekday(); -} - -// lastweek_weekday - -CONSTCD11 -inline -lastweek_weekday::lastweek_weekday(const iso_week::weekday& wd) NOEXCEPT - : wd_(wd) - {} - -CONSTCD11 inline weekday lastweek_weekday::weekday() const NOEXCEPT {return wd_;} - -CONSTCD14 -inline -bool -lastweek_weekday::ok() const NOEXCEPT -{ - return wd_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT -{ - return x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT -{ - return static_cast(x.weekday()) < static_cast(y.weekday()); -} - -CONSTCD11 -inline -bool -operator>(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const lastweek_weekday& x, const lastweek_weekday& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const lastweek_weekday& md) -{ - return os << "W last-" << md.weekday(); -} - -// year_lastweek_weekday - -CONSTCD11 -inline -year_lastweek_weekday::year_lastweek_weekday(const iso_week::year& y, - const iso_week::weekday& wd) NOEXCEPT - : y_(y) - , wd_(wd) - {} - -inline -year_lastweek_weekday& -year_lastweek_weekday::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -inline -year_lastweek_weekday& -year_lastweek_weekday::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_lastweek_weekday::year() const NOEXCEPT {return y_;} - -CONSTCD14 -inline -weeknum -year_lastweek_weekday::weeknum() const NOEXCEPT -{ - return (y_ / last).weeknum(); -} - -CONSTCD11 inline weekday year_lastweek_weekday::weekday() const NOEXCEPT {return wd_;} - -CONSTCD14 -inline -year_lastweek_weekday::operator sys_days() const NOEXCEPT -{ - return sys_days(date::year{static_cast(y_)}/date::dec/date::thu[date::last]) - + (sun - thu) - (sun - wd_); -} - -CONSTCD14 -inline -year_lastweek_weekday::operator local_days() const NOEXCEPT -{ - return local_days(date::year{static_cast(y_)}/date::dec/date::thu[date::last]) - + (sun - thu) - (sun - wd_); -} - -CONSTCD11 -inline -bool -year_lastweek_weekday::ok() const NOEXCEPT -{ - return y_.ok() && wd_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT -{ - return x.year() == y.year() && x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (static_cast(x.weekday()) < static_cast(y.weekday()))); -} - -CONSTCD11 -inline -bool -operator>(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_lastweek_weekday& x, const year_lastweek_weekday& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -year_lastweek_weekday -operator+(const year_lastweek_weekday& ywnwd, const years& y) NOEXCEPT -{ - return (ywnwd.year() + y) / last / ywnwd.weekday(); -} - -CONSTCD11 -inline -year_lastweek_weekday -operator+(const years& y, const year_lastweek_weekday& ywnwd) NOEXCEPT -{ - return ywnwd + y; -} - -CONSTCD11 -inline -year_lastweek_weekday -operator-(const year_lastweek_weekday& ywnwd, const years& y) NOEXCEPT -{ - return ywnwd + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_lastweek_weekday& ywnwd) -{ - return os << ywnwd.year() << "-W last-" << ywnwd.weekday(); -} - -// year_weeknum_weekday - -CONSTCD11 -inline -year_weeknum_weekday::year_weeknum_weekday(const iso_week::year& y, - const iso_week::weeknum& wn, - const iso_week::weekday& wd) NOEXCEPT - : y_(y) - , wn_(wn) - , wd_(wd) - {} - -CONSTCD14 -inline -year_weeknum_weekday::year_weeknum_weekday(const year_lastweek_weekday& ylwwd) NOEXCEPT - : y_(ylwwd.year()) - , wn_(ylwwd.weeknum()) - , wd_(ylwwd.weekday()) - {} - -CONSTCD14 -inline -year_weeknum_weekday::year_weeknum_weekday(const sys_days& dp) NOEXCEPT - : year_weeknum_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_weeknum_weekday::year_weeknum_weekday(const local_days& dp) NOEXCEPT - : year_weeknum_weekday(from_days(dp.time_since_epoch())) - {} - -inline -year_weeknum_weekday& -year_weeknum_weekday::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -inline -year_weeknum_weekday& -year_weeknum_weekday::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_weeknum_weekday::year() const NOEXCEPT {return y_;} -CONSTCD11 inline weeknum year_weeknum_weekday::weeknum() const NOEXCEPT {return wn_;} -CONSTCD11 inline weekday year_weeknum_weekday::weekday() const NOEXCEPT {return wd_;} - -CONSTCD14 -inline -year_weeknum_weekday::operator sys_days() const NOEXCEPT -{ - return sys_days(date::year{static_cast(y_)-1}/date::dec/date::thu[date::last]) - + (date::mon - date::thu) + weeks{static_cast(wn_)-1} + (wd_ - mon); -} - -CONSTCD14 -inline -year_weeknum_weekday::operator local_days() const NOEXCEPT -{ - return local_days(date::year{static_cast(y_)-1}/date::dec/date::thu[date::last]) - + (date::mon - date::thu) + weeks{static_cast(wn_)-1} + (wd_ - mon); -} - -CONSTCD14 -inline -bool -year_weeknum_weekday::ok() const NOEXCEPT -{ - return y_.ok() && wd_.ok() && iso_week::weeknum{1u} <= wn_ && wn_ <= year_lastweek{y_}.weeknum(); -} - -CONSTCD14 -inline -year_weeknum_weekday -year_weeknum_weekday::from_days(days d) NOEXCEPT -{ - const auto dp = sys_days{d}; - const auto wd = iso_week::weekday{dp}; - auto y = date::year_month_day{dp + days{3}}.year(); - auto start = sys_days((y - date::years{1})/date::dec/date::thu[date::last]) + (mon-thu); - if (dp < start) - { - --y; - start = sys_days((y - date::years{1})/date::dec/date::thu[date::last]) + (mon-thu); - } - const auto wn = iso_week::weeknum( - static_cast(date::trunc(dp - start).count() + 1)); - return {iso_week::year(static_cast(y)), wn, wd}; -} - -CONSTCD11 -inline -bool -operator==(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT -{ - return x.year() == y.year() && x.weeknum() == y.weeknum() && x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.weeknum() < y.weeknum() ? true - : (x.weeknum() > y.weeknum() ? false - : (static_cast(x.weekday()) < static_cast(y.weekday()))))); -} - -CONSTCD11 -inline -bool -operator>(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_weeknum_weekday& x, const year_weeknum_weekday& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -year_weeknum_weekday -operator+(const year_weeknum_weekday& ywnwd, const years& y) NOEXCEPT -{ - return (ywnwd.year() + y) / ywnwd.weeknum() / ywnwd.weekday(); -} - -CONSTCD11 -inline -year_weeknum_weekday -operator+(const years& y, const year_weeknum_weekday& ywnwd) NOEXCEPT -{ - return ywnwd + y; -} - -CONSTCD11 -inline -year_weeknum_weekday -operator-(const year_weeknum_weekday& ywnwd, const years& y) NOEXCEPT -{ - return ywnwd + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_weeknum_weekday& ywnwd) -{ - return os << ywnwd.year() << '-' << ywnwd.weeknum() << '-' << ywnwd.weekday(); -} - -// date composition operators - -CONSTCD11 -inline -year_weeknum -operator/(const year& y, const weeknum& wn) NOEXCEPT -{ - return {y, wn}; -} - -CONSTCD11 -inline -year_weeknum -operator/(const year& y, int wn) NOEXCEPT -{ - return y/weeknum(static_cast(wn)); -} - -CONSTCD11 -inline -year_lastweek -operator/(const year& y, last_week) NOEXCEPT -{ - return year_lastweek{y}; -} - -CONSTCD11 -inline -weeknum_weekday -operator/(const weeknum& wn, const weekday& wd) NOEXCEPT -{ - return {wn, wd}; -} - -CONSTCD11 -inline -weeknum_weekday -operator/(const weeknum& wn, int wd) NOEXCEPT -{ - return wn/weekday{static_cast(wd)}; -} - -CONSTCD11 -inline -weeknum_weekday -operator/(const weekday& wd, const weeknum& wn) NOEXCEPT -{ - return wn/wd; -} - -CONSTCD11 -inline -weeknum_weekday -operator/(const weekday& wd, int wn) NOEXCEPT -{ - return weeknum{static_cast(wn)}/wd; -} - -CONSTCD11 -inline -lastweek_weekday -operator/(const last_week&, const weekday& wd) NOEXCEPT -{ - return lastweek_weekday{wd}; -} - -CONSTCD11 -inline -lastweek_weekday -operator/(const last_week& wn, int wd) NOEXCEPT -{ - return wn / weekday{static_cast(wd)}; -} - -CONSTCD11 -inline -lastweek_weekday -operator/(const weekday& wd, const last_week& wn) NOEXCEPT -{ - return wn / wd; -} - -CONSTCD11 -inline -year_weeknum_weekday -operator/(const year_weeknum& ywn, const weekday& wd) NOEXCEPT -{ - return {ywn.year(), ywn.weeknum(), wd}; -} - -CONSTCD11 -inline -year_weeknum_weekday -operator/(const year_weeknum& ywn, int wd) NOEXCEPT -{ - return ywn / weekday(static_cast(wd)); -} - -CONSTCD11 -inline -year_weeknum_weekday -operator/(const weeknum_weekday& wnwd, const year& y) NOEXCEPT -{ - return {y, wnwd.weeknum(), wnwd.weekday()}; -} - -CONSTCD11 -inline -year_weeknum_weekday -operator/(const weeknum_weekday& wnwd, int y) NOEXCEPT -{ - return wnwd / year{y}; -} - -CONSTCD11 -inline -year_lastweek_weekday -operator/(const year_lastweek& ylw, const weekday& wd) NOEXCEPT -{ - return {ylw.year(), wd}; -} - -CONSTCD11 -inline -year_lastweek_weekday -operator/(const year_lastweek& ylw, int wd) NOEXCEPT -{ - return ylw / weekday(static_cast(wd)); -} - -CONSTCD11 -inline -year_lastweek_weekday -operator/(const lastweek_weekday& lwwd, const year& y) NOEXCEPT -{ - return {y, lwwd.weekday()}; -} - -CONSTCD11 -inline -year_lastweek_weekday -operator/(const lastweek_weekday& lwwd, int y) NOEXCEPT -{ - return lwwd / year{y}; -} - -} // namespace iso_week - -#endif // ISO_WEEK_H diff --git a/src/date/julian.h b/src/date/julian.h deleted file mode 100644 index da692a4..0000000 --- a/src/date/julian.h +++ /dev/null @@ -1,3052 +0,0 @@ -#ifndef JULIAN_H -#define JULIAN_H - -// The MIT License (MIT) -// -// Copyright (c) 2016 Howard Hinnant -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -#include "date.h" - -namespace julian -{ - -// durations - -using days = date::days; - -using weeks = date::weeks; - -using years = std::chrono::duration - , days::period>>; - -using months = std::chrono::duration - >>; - -// time_point - -using sys_days = date::sys_days; -using local_days = date::local_days; - -// types - -struct last_spec -{ - explicit last_spec() = default; -}; - -class day; -class month; -class year; - -class weekday; -class weekday_indexed; -class weekday_last; - -class month_day; -class month_day_last; -class month_weekday; -class month_weekday_last; - -class year_month; - -class year_month_day; -class year_month_day_last; -class year_month_weekday; -class year_month_weekday_last; - -// date composition operators - -CONSTCD11 year_month operator/(const year& y, const month& m) NOEXCEPT; -CONSTCD11 year_month operator/(const year& y, int m) NOEXCEPT; - -CONSTCD11 month_day operator/(const day& d, const month& m) NOEXCEPT; -CONSTCD11 month_day operator/(const day& d, int m) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, const day& d) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, int d) NOEXCEPT; -CONSTCD11 month_day operator/(int m, const day& d) NOEXCEPT; - -CONSTCD11 month_day_last operator/(const month& m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(int m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, const month& m) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, int m) NOEXCEPT; - -CONSTCD11 month_weekday operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(int m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, int m) NOEXCEPT; - -CONSTCD11 month_weekday_last operator/(const month& m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(int m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, const month& m) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, int m) NOEXCEPT; - -CONSTCD11 year_month_day operator/(const year_month& ym, const day& d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year_month& ym, int d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year& y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(int y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, const year& y) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, int y) NOEXCEPT; - -CONSTCD11 - year_month_day_last operator/(const year_month& ym, last_spec) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const year& y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(int y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, const year& y) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT; - -// Detailed interface - -// day - -class day -{ - unsigned char d_; - -public: - explicit CONSTCD11 day(unsigned d) NOEXCEPT; - - CONSTCD14 day& operator++() NOEXCEPT; - CONSTCD14 day operator++(int) NOEXCEPT; - CONSTCD14 day& operator--() NOEXCEPT; - CONSTCD14 day operator--(int) NOEXCEPT; - - CONSTCD14 day& operator+=(const days& d) NOEXCEPT; - CONSTCD14 day& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator< (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator> (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const day& x, const day& y) NOEXCEPT; - -CONSTCD11 day operator+(const day& x, const days& y) NOEXCEPT; -CONSTCD11 day operator+(const days& x, const day& y) NOEXCEPT; -CONSTCD11 day operator-(const day& x, const days& y) NOEXCEPT; -CONSTCD11 days operator-(const day& x, const day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d); - -// month - -class month -{ - unsigned char m_; - -public: - explicit CONSTCD11 month(unsigned m) NOEXCEPT; - - CONSTCD14 month& operator++() NOEXCEPT; - CONSTCD14 month operator++(int) NOEXCEPT; - CONSTCD14 month& operator--() NOEXCEPT; - CONSTCD14 month operator--(int) NOEXCEPT; - - CONSTCD14 month& operator+=(const months& m) NOEXCEPT; - CONSTCD14 month& operator-=(const months& m) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator< (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator> (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month& x, const month& y) NOEXCEPT; - -CONSTCD14 month operator+(const month& x, const months& y) NOEXCEPT; -CONSTCD14 month operator+(const months& x, const month& y) NOEXCEPT; -CONSTCD14 month operator-(const month& x, const months& y) NOEXCEPT; -CONSTCD14 months operator-(const month& x, const month& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m); - -// year - -class year -{ - short y_; - -public: - explicit CONSTCD11 year(int y) NOEXCEPT; - - CONSTCD14 year& operator++() NOEXCEPT; - CONSTCD14 year operator++(int) NOEXCEPT; - CONSTCD14 year& operator--() NOEXCEPT; - CONSTCD14 year operator--(int) NOEXCEPT; - - CONSTCD14 year& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 bool is_leap() const NOEXCEPT; - - CONSTCD11 explicit operator int() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - static CONSTCD11 year min() NOEXCEPT; - static CONSTCD11 year max() NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator< (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator> (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year& x, const year& y) NOEXCEPT; - -CONSTCD11 year operator+(const year& x, const years& y) NOEXCEPT; -CONSTCD11 year operator+(const years& x, const year& y) NOEXCEPT; -CONSTCD11 year operator-(const year& x, const years& y) NOEXCEPT; -CONSTCD11 years operator-(const year& x, const year& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y); - -// weekday - -class weekday -{ - unsigned char wd_; -public: - explicit CONSTCD11 weekday(unsigned wd) NOEXCEPT; - explicit weekday(int) = delete; - CONSTCD11 weekday(const sys_days& dp) NOEXCEPT; - CONSTCD11 explicit weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 weekday& operator++() NOEXCEPT; - CONSTCD14 weekday operator++(int) NOEXCEPT; - CONSTCD14 weekday& operator--() NOEXCEPT; - CONSTCD14 weekday operator--(int) NOEXCEPT; - - CONSTCD14 weekday& operator+=(const days& d) NOEXCEPT; - CONSTCD14 weekday& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - CONSTCD11 weekday_indexed operator[](unsigned index) const NOEXCEPT; - CONSTCD11 weekday_last operator[](last_spec) const NOEXCEPT; - -private: - static CONSTCD11 unsigned char weekday_from_days(int z) NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday& x, const weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday& x, const weekday& y) NOEXCEPT; - -CONSTCD14 weekday operator+(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 weekday operator+(const days& x, const weekday& y) NOEXCEPT; -CONSTCD14 weekday operator-(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 days operator-(const weekday& x, const weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd); - -// weekday_indexed - -class weekday_indexed -{ - unsigned char wd_ : 4; - unsigned char index_ : 4; - -public: - CONSTCD11 weekday_indexed(const julian::weekday& wd, unsigned index) NOEXCEPT; - - CONSTCD11 julian::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi); - -// weekday_last - -class weekday_last -{ - julian::weekday wd_; - -public: - explicit CONSTCD11 weekday_last(const julian::weekday& wd) NOEXCEPT; - - CONSTCD11 julian::weekday weekday() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl); - -// year_month - -class year_month -{ - julian::year y_; - julian::month m_; - -public: - CONSTCD11 year_month(const julian::year& y, const julian::month& m) NOEXCEPT; - - CONSTCD11 julian::year year() const NOEXCEPT; - CONSTCD11 julian::month month() const NOEXCEPT; - - CONSTCD14 year_month& operator+=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator-=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator+=(const years& dy) NOEXCEPT; - CONSTCD14 year_month& operator-=(const years& dy) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month& x, const year_month& y) NOEXCEPT; - -CONSTCD14 year_month operator+(const year_month& ym, const months& dm) NOEXCEPT; -CONSTCD14 year_month operator+(const months& dm, const year_month& ym) NOEXCEPT; -CONSTCD14 year_month operator-(const year_month& ym, const months& dm) NOEXCEPT; - -CONSTCD11 months operator-(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 year_month operator+(const year_month& ym, const years& dy) NOEXCEPT; -CONSTCD11 year_month operator+(const years& dy, const year_month& ym) NOEXCEPT; -CONSTCD11 year_month operator-(const year_month& ym, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym); - -// month_day - -class month_day -{ - julian::month m_; - julian::day d_; - -public: - CONSTCD11 month_day(const julian::month& m, const julian::day& d) NOEXCEPT; - - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::day day() const NOEXCEPT; - - CONSTCD14 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day& x, const month_day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md); - -// month_day_last - -class month_day_last -{ - julian::month m_; - -public: - CONSTCD11 explicit month_day_last(const julian::month& m) NOEXCEPT; - - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl); - -// month_weekday - -class month_weekday -{ - julian::month m_; - julian::weekday_indexed wdi_; -public: - CONSTCD11 month_weekday(const julian::month& m, - const julian::weekday_indexed& wdi) NOEXCEPT; - - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd); - -// month_weekday_last - -class month_weekday_last -{ - julian::month m_; - julian::weekday_last wdl_; - -public: - CONSTCD11 month_weekday_last(const julian::month& m, - const julian::weekday_last& wd) NOEXCEPT; - - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl); - -// class year_month_day - -class year_month_day -{ - julian::year y_; - julian::month m_; - julian::day d_; - -public: - CONSTCD11 year_month_day(const julian::year& y, const julian::month& m, - const julian::day& d) NOEXCEPT; - CONSTCD14 year_month_day(const year_month_day_last& ymdl) NOEXCEPT; - - CONSTCD14 year_month_day(sys_days dp) NOEXCEPT; - CONSTCD14 explicit year_month_day(local_days dp) NOEXCEPT; - - CONSTCD14 year_month_day& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 julian::year year() const NOEXCEPT; - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_day from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT; - -CONSTCD14 year_month_day operator+(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD14 year_month_day operator+(const months& dm, const year_month_day& ymd) NOEXCEPT; -CONSTCD14 year_month_day operator-(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD11 year_month_day operator+(const year_month_day& ymd, const years& dy) NOEXCEPT; -CONSTCD11 year_month_day operator+(const years& dy, const year_month_day& ymd) NOEXCEPT; -CONSTCD11 year_month_day operator-(const year_month_day& ymd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd); - -// year_month_day_last - -class year_month_day_last -{ - julian::year y_; - julian::month_day_last mdl_; - -public: - CONSTCD11 year_month_day_last(const julian::year& y, - const julian::month_day_last& mdl) NOEXCEPT; - - CONSTCD14 year_month_day_last& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 julian::year year() const NOEXCEPT; - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::month_day_last month_day_last() const NOEXCEPT; - CONSTCD14 julian::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator< (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator> (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl); - -// year_month_weekday - -class year_month_weekday -{ - julian::year y_; - julian::month m_; - julian::weekday_indexed wdi_; - -public: - CONSTCD11 year_month_weekday(const julian::year& y, const julian::month& m, - const julian::weekday_indexed& wdi) NOEXCEPT; - CONSTCD14 year_month_weekday(const sys_days& dp) NOEXCEPT; - CONSTCD14 explicit year_month_weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 year_month_weekday& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 julian::year year() const NOEXCEPT; - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 julian::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_weekday from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi); - -// year_month_weekday_last - -class year_month_weekday_last -{ - julian::year y_; - julian::month m_; - julian::weekday_last wdl_; - -public: - CONSTCD11 year_month_weekday_last(const julian::year& y, const julian::month& m, - const julian::weekday_last& wdl) NOEXCEPT; - - CONSTCD14 year_month_weekday_last& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 julian::year year() const NOEXCEPT; - CONSTCD11 julian::month month() const NOEXCEPT; - CONSTCD11 julian::weekday weekday() const NOEXCEPT; - CONSTCD11 julian::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - -private: - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD11 -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl); - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 julian::day operator "" _d(unsigned long long d) NOEXCEPT; -CONSTCD11 julian::year operator "" _y(unsigned long long y) NOEXCEPT; - -// CONSTDATA julian::month jan{1}; -// CONSTDATA julian::month feb{2}; -// CONSTDATA julian::month mar{3}; -// CONSTDATA julian::month apr{4}; -// CONSTDATA julian::month may{5}; -// CONSTDATA julian::month jun{6}; -// CONSTDATA julian::month jul{7}; -// CONSTDATA julian::month aug{8}; -// CONSTDATA julian::month sep{9}; -// CONSTDATA julian::month oct{10}; -// CONSTDATA julian::month nov{11}; -// CONSTDATA julian::month dec{12}; - -} // inline namespace literals -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -//----------------+ -// Implementation | -//----------------+ - -// day - -CONSTCD11 inline day::day(unsigned d) NOEXCEPT : d_(static_cast(d)) {} -CONSTCD14 inline day& day::operator++() NOEXCEPT {++d_; return *this;} -CONSTCD14 inline day day::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline day& day::operator--() NOEXCEPT {--d_; return *this;} -CONSTCD14 inline day day::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline day& day::operator+=(const days& d) NOEXCEPT {*this = *this + d; return *this;} -CONSTCD14 inline day& day::operator-=(const days& d) NOEXCEPT {*this = *this - d; return *this;} -CONSTCD11 inline day::operator unsigned() const NOEXCEPT {return d_;} -CONSTCD11 inline bool day::ok() const NOEXCEPT {return 1 <= d_ && d_ <= 31;} - -CONSTCD11 -inline -bool -operator==(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const day& x, const day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const day& x, const day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const day& x, const day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const day& x, const day& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -days -operator-(const day& x, const day& y) NOEXCEPT -{ - return days{static_cast(static_cast(x) - - static_cast(y))}; -} - -CONSTCD11 -inline -day -operator+(const day& x, const days& y) NOEXCEPT -{ - return day{static_cast(x) + static_cast(y.count())}; -} - -CONSTCD11 -inline -day -operator+(const days& x, const day& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -day -operator-(const day& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(d); - return os; -} - -// month - -CONSTCD11 inline month::month(unsigned m) NOEXCEPT : m_(static_cast(m)) {} -CONSTCD14 inline month& month::operator++() NOEXCEPT {if (++m_ == 13) m_ = 1; return *this;} -CONSTCD14 inline month month::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline month& month::operator--() NOEXCEPT {if (--m_ == 0) m_ = 12; return *this;} -CONSTCD14 inline month month::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -month& -month::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -month& -month::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD11 inline month::operator unsigned() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month::ok() const NOEXCEPT {return 1 <= m_ && m_ <= 12;} - -CONSTCD11 -inline -bool -operator==(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const month& x, const month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const month& x, const month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month& x, const month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month& x, const month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -months -operator-(const month& x, const month& y) NOEXCEPT -{ - auto const d = static_cast(x) - static_cast(y); - return months(d <= 11 ? d : d + 12); -} - -CONSTCD14 -inline -month -operator+(const month& x, const months& y) NOEXCEPT -{ - auto const mu = static_cast(static_cast(x)) - 1 + y.count(); - auto const yr = (mu >= 0 ? mu : mu-11) / 12; - return month{static_cast(mu - yr * 12 + 1)}; -} - -CONSTCD14 -inline -month -operator+(const months& x, const month& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -month -operator-(const month& x, const months& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m) -{ - switch (static_cast(m)) - { - case 1: - os << "Jan"; - break; - case 2: - os << "Feb"; - break; - case 3: - os << "Mar"; - break; - case 4: - os << "Apr"; - break; - case 5: - os << "May"; - break; - case 6: - os << "Jun"; - break; - case 7: - os << "Jul"; - break; - case 8: - os << "Aug"; - break; - case 9: - os << "Sep"; - break; - case 10: - os << "Oct"; - break; - case 11: - os << "Nov"; - break; - case 12: - os << "Dec"; - break; - default: - os << static_cast(m) << " is not a valid month"; - break; - } - return os; -} - -// year - -CONSTCD11 inline year::year(int y) NOEXCEPT : y_(static_cast(y)) {} -CONSTCD14 inline year& year::operator++() NOEXCEPT {++y_; return *this;} -CONSTCD14 inline year year::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline year& year::operator--() NOEXCEPT {--y_; return *this;} -CONSTCD14 inline year year::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline year& year::operator+=(const years& y) NOEXCEPT {*this = *this + y; return *this;} -CONSTCD14 inline year& year::operator-=(const years& y) NOEXCEPT {*this = *this - y; return *this;} - -CONSTCD11 -inline -bool -year::is_leap() const NOEXCEPT -{ - return y_ % 4 == 0; -} - -CONSTCD11 inline year::operator int() const NOEXCEPT {return y_;} -CONSTCD11 inline bool year::ok() const NOEXCEPT {return true;} - -CONSTCD11 -inline -year -year::min() NOEXCEPT -{ - return year{std::numeric_limits::min()}; -} - -CONSTCD11 -inline -year -year::max() NOEXCEPT -{ - return year{std::numeric_limits::max()}; -} - -CONSTCD11 -inline -bool -operator==(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const year& x, const year& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const year& x, const year& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year& x, const year& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year& x, const year& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -years -operator-(const year& x, const year& y) NOEXCEPT -{ - return years{static_cast(x) - static_cast(y)}; -} - -CONSTCD11 -inline -year -operator+(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) + y.count()}; -} - -CONSTCD11 -inline -year -operator+(const years& x, const year& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -year -operator-(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) - y.count()}; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::internal); - os.width(4 + (y < year{0})); - os << static_cast(y); - return os; -} - -// weekday - -CONSTCD11 -inline -unsigned char -weekday::weekday_from_days(int z) NOEXCEPT -{ - return static_cast(static_cast( - z >= -4 ? (z+4) % 7 : (z+5) % 7 + 6)); -} - -CONSTCD11 -inline -weekday::weekday(unsigned wd) NOEXCEPT - : wd_(static_cast(wd)) - {} - -CONSTCD11 -inline -weekday::weekday(const sys_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD11 -inline -weekday::weekday(const local_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD14 inline weekday& weekday::operator++() NOEXCEPT {if (++wd_ == 7) wd_ = 0; return *this;} -CONSTCD14 inline weekday weekday::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline weekday& weekday::operator--() NOEXCEPT {if (wd_-- == 0) wd_ = 6; return *this;} -CONSTCD14 inline weekday weekday::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -weekday& -weekday::operator+=(const days& d) NOEXCEPT -{ - *this = *this + d; - return *this; -} - -CONSTCD14 -inline -weekday& -weekday::operator-=(const days& d) NOEXCEPT -{ - *this = *this - d; - return *this; -} - -CONSTCD11 -inline -weekday::operator unsigned() const NOEXCEPT -{ - return static_cast(wd_); -} - -CONSTCD11 inline bool weekday::ok() const NOEXCEPT {return wd_ <= 6;} - -CONSTCD11 -inline -bool -operator==(const weekday& x, const weekday& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const weekday& x, const weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD14 -inline -days -operator-(const weekday& x, const weekday& y) NOEXCEPT -{ - auto const diff = static_cast(x) - static_cast(y); - return days{diff <= 6 ? diff : diff + 7}; -} - -CONSTCD14 -inline -weekday -operator+(const weekday& x, const days& y) NOEXCEPT -{ - auto const wdu = static_cast(static_cast(x)) + y.count(); - auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7; - return weekday{static_cast(wdu - wk * 7)}; -} - -CONSTCD14 -inline -weekday -operator+(const days& x, const weekday& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -weekday -operator-(const weekday& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd) -{ - switch (static_cast(wd)) - { - case 0: - os << "Sun"; - break; - case 1: - os << "Mon"; - break; - case 2: - os << "Tue"; - break; - case 3: - os << "Wed"; - break; - case 4: - os << "Thu"; - break; - case 5: - os << "Fri"; - break; - case 6: - os << "Sat"; - break; - default: - os << static_cast(wd) << " is not a valid weekday"; - break; - } - return os; -} - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 -inline -julian::day -operator "" _d(unsigned long long d) NOEXCEPT -{ - return julian::day{static_cast(d)}; -} - -CONSTCD11 -inline -julian::year -operator "" _y(unsigned long long y) NOEXCEPT -{ - return julian::year(static_cast(y)); -} -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -CONSTDATA julian::last_spec last{}; - -CONSTDATA julian::month jan{1}; -CONSTDATA julian::month feb{2}; -CONSTDATA julian::month mar{3}; -CONSTDATA julian::month apr{4}; -CONSTDATA julian::month may{5}; -CONSTDATA julian::month jun{6}; -CONSTDATA julian::month jul{7}; -CONSTDATA julian::month aug{8}; -CONSTDATA julian::month sep{9}; -CONSTDATA julian::month oct{10}; -CONSTDATA julian::month nov{11}; -CONSTDATA julian::month dec{12}; - -CONSTDATA julian::weekday sun{0u}; -CONSTDATA julian::weekday mon{1u}; -CONSTDATA julian::weekday tue{2u}; -CONSTDATA julian::weekday wed{3u}; -CONSTDATA julian::weekday thu{4u}; -CONSTDATA julian::weekday fri{5u}; -CONSTDATA julian::weekday sat{6u}; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -} // inline namespace literals -#endif - -// weekday_indexed - -CONSTCD11 -inline -weekday -weekday_indexed::weekday() const NOEXCEPT -{ - return julian::weekday{static_cast(wd_)}; -} - -CONSTCD11 inline unsigned weekday_indexed::index() const NOEXCEPT {return index_;} - -CONSTCD11 -inline -bool -weekday_indexed::ok() const NOEXCEPT -{ - return weekday().ok() && 1 <= index_ && index_ <= 5; -} - -CONSTCD11 -inline -weekday_indexed::weekday_indexed(const julian::weekday& wd, unsigned index) NOEXCEPT - : wd_(static_cast(static_cast(wd))) - , index_(static_cast(index)) - {} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi) -{ - return os << wdi.weekday() << '[' << wdi.index() << ']'; -} - -CONSTCD11 -inline -weekday_indexed -weekday::operator[](unsigned index) const NOEXCEPT -{ - return {*this, index}; -} - -CONSTCD11 -inline -bool -operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return x.weekday() == y.weekday() && x.index() == y.index(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return !(x == y); -} - -// weekday_last - -CONSTCD11 inline julian::weekday weekday_last::weekday() const NOEXCEPT {return wd_;} -CONSTCD11 inline bool weekday_last::ok() const NOEXCEPT {return wd_.ok();} -CONSTCD11 inline weekday_last::weekday_last(const julian::weekday& wd) NOEXCEPT : wd_(wd) {} - -CONSTCD11 -inline -bool -operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl) -{ - return os << wdl.weekday() << "[last]"; -} - -CONSTCD11 -inline -weekday_last -weekday::operator[](last_spec) const NOEXCEPT -{ - return weekday_last{*this}; -} - -// year_month - -CONSTCD11 -inline -year_month::year_month(const julian::year& y, const julian::month& m) NOEXCEPT - : y_(y) - , m_(m) - {} - -CONSTCD11 inline year year_month::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool year_month::ok() const NOEXCEPT {return y_.ok() && m_.ok();} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const months& dm) NOEXCEPT -{ - *this = *this + dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const months& dm) NOEXCEPT -{ - *this = *this - dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const years& dy) NOEXCEPT -{ - *this = *this + dy; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const years& dy) NOEXCEPT -{ - *this = *this - dy; - return *this; -} - -CONSTCD11 -inline -bool -operator==(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month())); -} - -CONSTCD11 -inline -bool -operator>(const year_month& x, const year_month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -year_month -operator+(const year_month& ym, const months& dm) NOEXCEPT -{ - auto dmi = static_cast(static_cast(ym.month())) - 1 + dm.count(); - auto dy = (dmi >= 0 ? dmi : dmi-11) / 12; - dmi = dmi - dy * 12 + 1; - return (ym.year() + years(dy)) / month(static_cast(dmi)); -} - -CONSTCD14 -inline -year_month -operator+(const months& dm, const year_month& ym) NOEXCEPT -{ - return ym + dm; -} - -CONSTCD14 -inline -year_month -operator-(const year_month& ym, const months& dm) NOEXCEPT -{ - return ym + -dm; -} - -CONSTCD11 -inline -months -operator-(const year_month& x, const year_month& y) NOEXCEPT -{ - return (x.year() - y.year()) + - months(static_cast(x.month()) - static_cast(y.month())); -} - -CONSTCD11 -inline -year_month -operator+(const year_month& ym, const years& dy) NOEXCEPT -{ - return (ym.year() + dy) / ym.month(); -} - -CONSTCD11 -inline -year_month -operator+(const years& dy, const year_month& ym) NOEXCEPT -{ - return ym + dy; -} - -CONSTCD11 -inline -year_month -operator-(const year_month& ym, const years& dy) NOEXCEPT -{ - return ym + -dy; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym) -{ - return os << ym.year() << '/' << ym.month(); -} - -// month_day - -CONSTCD11 -inline -month_day::month_day(const julian::month& m, const julian::day& d) NOEXCEPT - : m_(m) - , d_(d) - {} - -CONSTCD11 inline julian::month month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline julian::day month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -bool -month_day::ok() const NOEXCEPT -{ - CONSTDATA julian::day d[] = { - julian::day(31), julian::day(29), julian::day(31), julian::day(30), - julian::day(31), julian::day(30), julian::day(31), julian::day(31), - julian::day(30), julian::day(31), julian::day(30), julian::day(31) - }; - return m_.ok() && julian::day(1) <= d_ && d_ <= d[static_cast(m_)-1]; -} - -CONSTCD11 -inline -bool -operator==(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())); -} - -CONSTCD11 -inline -bool -operator>(const month_day& x, const month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md) -{ - return os << md.month() << '/' << md.day(); -} - -// month_day_last - -CONSTCD11 inline month month_day_last::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month_day_last::ok() const NOEXCEPT {return m_.ok();} -CONSTCD11 inline month_day_last::month_day_last(const julian::month& m) NOEXCEPT : m_(m) {} - -CONSTCD11 -inline -bool -operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() < y.month(); -} - -CONSTCD11 -inline -bool -operator>(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl) -{ - return os << mdl.month() << "/last"; -} - -// month_weekday - -CONSTCD11 -inline -month_weekday::month_weekday(const julian::month& m, - const julian::weekday_indexed& wdi) NOEXCEPT - : m_(m) - , wdi_(wdi) - {} - -CONSTCD11 inline month month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_indexed -month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD11 -inline -bool -month_weekday::ok() const NOEXCEPT -{ - return m_.ok() && wdi_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd) -{ - return os << mwd.month() << '/' << mwd.weekday_indexed(); -} - -// month_weekday_last - -CONSTCD11 -inline -month_weekday_last::month_weekday_last(const julian::month& m, - const julian::weekday_last& wdl) NOEXCEPT - : m_(m) - , wdl_(wdl) - {} - -CONSTCD11 inline month month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_last -month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD11 -inline -bool -month_weekday_last::ok() const NOEXCEPT -{ - return m_.ok() && wdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl) -{ - return os << mwdl.month() << '/' << mwdl.weekday_last(); -} - -// year_month_day_last - -CONSTCD11 -inline -year_month_day_last::year_month_day_last(const julian::year& y, - const julian::month_day_last& mdl) NOEXCEPT - : y_(y) - , mdl_(mdl) - {} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_day_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day_last::month() const NOEXCEPT {return mdl_.month();} - -CONSTCD11 -inline -month_day_last -year_month_day_last::month_day_last() const NOEXCEPT -{ - return mdl_; -} - -CONSTCD14 -inline -day -year_month_day_last::day() const NOEXCEPT -{ - CONSTDATA julian::day d[] = { - julian::day(31), julian::day(28), julian::day(31), julian::day(30), - julian::day(31), julian::day(30), julian::day(31), julian::day(31), - julian::day(30), julian::day(31), julian::day(30), julian::day(31) - }; - return month() != feb || !y_.is_leap() ? d[static_cast(month())-1] : julian::day(29); -} - -CONSTCD14 -inline -year_month_day_last::operator sys_days() const NOEXCEPT -{ - return sys_days(year()/month()/day()); -} - -CONSTCD14 -inline -year_month_day_last::operator local_days() const NOEXCEPT -{ - return local_days(year()/month()/day()); -} - -CONSTCD11 -inline -bool -year_month_day_last::ok() const NOEXCEPT -{ - return y_.ok() && mdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month_day_last() == y.month_day_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month_day_last() < y.month_day_last())); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl) -{ - return os << ymdl.year() << '/' << ymdl.month_day_last(); -} - -CONSTCD14 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return (ymdl.year() / ymdl.month() + dm) / last; -} - -CONSTCD14 -inline -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dm; -} - -CONSTCD14 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return ymdl + (-dm); -} - -CONSTCD11 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return {ymdl.year()+dy, ymdl.month_day_last()}; -} - -CONSTCD11 -inline -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dy; -} - -CONSTCD11 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return ymdl + (-dy); -} - -// year_month_day - -CONSTCD11 -inline -year_month_day::year_month_day(const julian::year& y, const julian::month& m, - const julian::day& d) NOEXCEPT - : y_(y) - , m_(m) - , d_(d) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(const year_month_day_last& ymdl) NOEXCEPT - : y_(ymdl.year()) - , m_(ymdl.month()) - , d_(ymdl.day()) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(sys_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(local_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD11 inline year year_month_day::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline day year_month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD14 -inline -days -year_month_day::to_days() const NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - auto const y = static_cast(y_) - (m_ <= feb); - auto const m = static_cast(m_); - auto const d = static_cast(d_); - auto const era = (y >= 0 ? y : y-3) / 4; - auto const yoe = static_cast(y - era * 4); // [0, 3] - auto const doy = (153*(m > 2 ? m-3 : m+9) + 2)/5 + d-1; // [0, 365] - auto const doe = yoe * 365 + doy; // [0, 1460] - return days{era * 1461 + static_cast(doe) - 719470}; -} - -CONSTCD14 -inline -year_month_day::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_day::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_day::ok() const NOEXCEPT -{ - if (!(y_.ok() && m_.ok())) - return false; - return julian::day(1) <= d_ && d_ <= (y_/m_/last).day(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())))); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os << ymd.year() << '-'; - os.width(2); - os << static_cast(ymd.month()) << '-'; - os << ymd.day(); - return os; -} - -CONSTCD14 -inline -year_month_day -year_month_day::from_days(days dp) NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - auto const z = dp.count() + 719470; - auto const era = (z >= 0 ? z : z - 1460) / 1461; - auto const doe = static_cast(z - era * 1461); // [0, 1460] - auto const yoe = (doe - doe/1460) / 365; // [0, 3] - auto const y = static_cast(yoe) + era * 4; - auto const doy = doe - 365*yoe; // [0, 365] - auto const mp = (5*doy + 2)/153; // [0, 11] - auto const d = doy - (153*mp+2)/5 + 1; // [1, 31] - auto const m = mp < 10 ? mp+3 : mp-9; // [1, 12] - return year_month_day{julian::year{y + (m <= 2)}, julian::month(m), julian::day(d)}; -} - -CONSTCD14 -inline -year_month_day -operator+(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return (ymd.year() / ymd.month() + dm) / ymd.day(); -} - -CONSTCD14 -inline -year_month_day -operator+(const months& dm, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dm; -} - -CONSTCD14 -inline -year_month_day -operator-(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return ymd + (-dm); -} - -CONSTCD11 -inline -year_month_day -operator+(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return (ymd.year() + dy) / ymd.month() / ymd.day(); -} - -CONSTCD11 -inline -year_month_day -operator+(const years& dy, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dy; -} - -CONSTCD11 -inline -year_month_day -operator-(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return ymd + (-dy); -} - -// year_month_weekday - -CONSTCD11 -inline -year_month_weekday::year_month_weekday(const julian::year& y, const julian::month& m, - const julian::weekday_indexed& wdi) - NOEXCEPT - : y_(y) - , m_(m) - , wdi_(wdi) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const sys_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const local_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday::weekday() const NOEXCEPT -{ - return wdi_.weekday(); -} - -CONSTCD11 -inline -unsigned -year_month_weekday::index() const NOEXCEPT -{ - return wdi_.index(); -} - -CONSTCD11 -inline -weekday_indexed -year_month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD14 -inline -year_month_weekday::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_weekday::ok() const NOEXCEPT -{ - if (!y_.ok() || !m_.ok() || !wdi_.weekday().ok() || wdi_.index() < 1) - return false; - if (wdi_.index() <= 4) - return true; - auto d2 = wdi_.weekday() - julian::weekday(y_/m_/1) + days((wdi_.index()-1)*7 + 1); - return static_cast(d2.count()) <= static_cast((y_/m_/last).day()); -} - -CONSTCD14 -inline -year_month_weekday -year_month_weekday::from_days(days d) NOEXCEPT -{ - sys_days dp{d}; - auto const wd = julian::weekday(dp); - auto const ymd = year_month_day(dp); - return {ymd.year(), ymd.month(), wd[(static_cast(ymd.day())-1)/7+1]}; -} - -CONSTCD14 -inline -days -year_month_weekday::to_days() const NOEXCEPT -{ - auto d = sys_days(y_/m_/1); - return (d + (wdi_.weekday() - julian::weekday(d) + days{(wdi_.index()-1)*7}) - ).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi) -{ - return os << ymwdi.year() << '/' << ymwdi.month() - << '/' << ymwdi.weekday_indexed(); -} - -CONSTCD14 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return (ymwd.year() / ymwd.month() + dm) / ymwd.weekday_indexed(); -} - -CONSTCD14 -inline -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dm; -} - -CONSTCD14 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return ymwd + (-dm); -} - -CONSTCD11 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return {ymwd.year()+dy, ymwd.month(), ymwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dy; -} - -CONSTCD11 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return ymwd + (-dy); -} - -// year_month_weekday_last - -CONSTCD11 -inline -year_month_weekday_last::year_month_weekday_last(const julian::year& y, - const julian::month& m, - const julian::weekday_last& wdl) NOEXCEPT - : y_(y) - , m_(m) - , wdl_(wdl) - {} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday_last::weekday() const NOEXCEPT -{ - return wdl_.weekday(); -} - -CONSTCD11 -inline -weekday_last -year_month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD14 -inline -year_month_weekday_last::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday_last::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD11 -inline -bool -year_month_weekday_last::ok() const NOEXCEPT -{ - return y_.ok() && m_.ok() && wdl_.ok(); -} - -CONSTCD14 -inline -days -year_month_weekday_last::to_days() const NOEXCEPT -{ - auto const d = sys_days(y_/m_/last); - return (d - (julian::weekday{d} - wdl_.weekday())).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl) -{ - return os << ymwdl.year() << '/' << ymwdl.month() << '/' << ymwdl.weekday_last(); -} - -CONSTCD14 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return (ymwdl.year() / ymwdl.month() + dm) / ymwdl.weekday_last(); -} - -CONSTCD14 -inline -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dm; -} - -CONSTCD14 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return ymwdl + (-dm); -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return {ymwdl.year()+dy, ymwdl.month(), ymwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dy; -} - -CONSTCD11 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return ymwdl + (-dy); -} - -// year_month from operator/() - -CONSTCD11 -inline -year_month -operator/(const year& y, const month& m) NOEXCEPT -{ - return {y, m}; -} - -CONSTCD11 -inline -year_month -operator/(const year& y, int m) NOEXCEPT -{ - return y / month(static_cast(m)); -} - -// month_day from operator/() - -CONSTCD11 -inline -month_day -operator/(const month& m, const day& d) NOEXCEPT -{ - return {m, d}; -} - -CONSTCD11 -inline -month_day -operator/(const day& d, const month& m) NOEXCEPT -{ - return m / d; -} - -CONSTCD11 -inline -month_day -operator/(const month& m, int d) NOEXCEPT -{ - return m / day(static_cast(d)); -} - -CONSTCD11 -inline -month_day -operator/(int m, const day& d) NOEXCEPT -{ - return month(static_cast(m)) / d; -} - -CONSTCD11 inline month_day operator/(const day& d, int m) NOEXCEPT {return m / d;} - -// month_day_last from operator/() - -CONSTCD11 -inline -month_day_last -operator/(const month& m, last_spec) NOEXCEPT -{ - return month_day_last{m}; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, const month& m) NOEXCEPT -{ - return m/last; -} - -CONSTCD11 -inline -month_day_last -operator/(int m, last_spec) NOEXCEPT -{ - return month(static_cast(m))/last; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, int m) NOEXCEPT -{ - return m/last; -} - -// month_weekday from operator/() - -CONSTCD11 -inline -month_weekday -operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT -{ - return {m, wdi}; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT -{ - return m / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(int m, const weekday_indexed& wdi) NOEXCEPT -{ - return month(static_cast(m)) / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, int m) NOEXCEPT -{ - return m / wdi; -} - -// month_weekday_last from operator/() - -CONSTCD11 -inline -month_weekday_last -operator/(const month& m, const weekday_last& wdl) NOEXCEPT -{ - return {m, wdl}; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, const month& m) NOEXCEPT -{ - return m / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(int m, const weekday_last& wdl) NOEXCEPT -{ - return month(static_cast(m)) / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, int m) NOEXCEPT -{ - return m / wdl; -} - -// year_month_day from operator/() - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, const day& d) NOEXCEPT -{ - return {ym.year(), ym.month(), d}; -} - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, int d) NOEXCEPT -{ - return ym / day(static_cast(d)); -} - -CONSTCD11 -inline -year_month_day -operator/(const year& y, const month_day& md) NOEXCEPT -{ - return y / md.month() / md.day(); -} - -CONSTCD11 -inline -year_month_day -operator/(int y, const month_day& md) NOEXCEPT -{ - return year(y) / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, const year& y) NOEXCEPT -{ - return y / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, int y) NOEXCEPT -{ - return year(y) / md; -} - -// year_month_day_last from operator/() - -CONSTCD11 -inline -year_month_day_last -operator/(const year_month& ym, last_spec) NOEXCEPT -{ - return {ym.year(), month_day_last{ym.month()}}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const year& y, const month_day_last& mdl) NOEXCEPT -{ - return {y, mdl}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(int y, const month_day_last& mdl) NOEXCEPT -{ - return year(y) / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, const year& y) NOEXCEPT -{ - return y / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, int y) NOEXCEPT -{ - return year(y) / mdl; -} - -// year_month_weekday from operator/() - -CONSTCD11 -inline -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT -{ - return {ym.year(), ym.month(), wdi}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT -{ - return {y, mwd.month(), mwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT -{ - return year(y) / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT -{ - return y / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT -{ - return year(y) / mwd; -} - -// year_month_weekday_last from operator/() - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT -{ - return {ym.year(), ym.month(), wdl}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT -{ - return {y, mwdl.month(), mwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT -{ - return year(y) / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT -{ - return y / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT -{ - return year(y) / mwdl; -} - -} // namespace julian - -#endif // JULIAN_H diff --git a/src/date/ptz.h b/src/date/ptz.h deleted file mode 100644 index 3dca4f0..0000000 --- a/src/date/ptz.h +++ /dev/null @@ -1,950 +0,0 @@ -#ifndef PTZ_H -#define PTZ_H - -// The MIT License (MIT) -// -// Copyright (c) 2017 Howard Hinnant -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -// This header allows Posix-style time zones as specified for TZ here: -// http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03 -// -// Posix::time_zone can be constructed with a posix-style string and then used in -// a zoned_time like so: -// -// zoned_time zt{"EST5EDT,M3.2.0,M11.1.0", -// system_clock::now()}; -// or: -// -// Posix::time_zone tz{"EST5EDT,M3.2.0,M11.1.0"}; -// zoned_time zt{tz, system_clock::now()}; -// -// In C++17 CTAD simplifies this to: -// -// Posix::time_zone tz{"EST5EDT,M3.2.0,M11.1.0"}; -// zoned_time zt{tz, system_clock::now()}; -// -// Extension to the Posix rules to allow a constant daylight saving offset: -// -// If the rule set is missing (everything starting with ','), then -// there must be exactly one abbreviation (std or daylight) with -// length 3 or greater, and that will be used as the constant offset. If -// there are two, the std abbreviation is silently set to "", and the -// result is constant daylight saving. If there are zero abbreviations -// with no rule set, an exception is thrown. -// -// Example: -// "EST5" yields a constant offset of -5h with 0h save and "EST abbreviation. -// "5EDT" yields a constant offset of -4h with 1h save and "EDT" abbreviation. -// "EST5EDT" and "5EDT4" are both equal to "5EDT". -// -// Note, Posix-style time zones are not recommended for all of the reasons described here: -// https://stackoverflow.com/tags/timezone/info -// -// They are provided here as a non-trivial custom time zone example, and if you really -// have to have Posix time zones, you're welcome to use this one. - -#include "date/tz.h" -#include -#include -#include -#include - -namespace Posix -{ - -namespace detail -{ - -#if HAS_STRING_VIEW - -using string_t = std::string_view; - -#else // !HAS_STRING_VIEW - -using string_t = std::string; - -#endif // !HAS_STRING_VIEW - -class rule; - -void throw_invalid(const string_t& s, unsigned i, const string_t& message); -unsigned read_date(const string_t& s, unsigned i, rule& r); -unsigned read_name(const string_t& s, unsigned i, std::string& name); -unsigned read_signed_time(const string_t& s, unsigned i, std::chrono::seconds& t); -unsigned read_unsigned_time(const string_t& s, unsigned i, std::chrono::seconds& t); -unsigned read_unsigned(const string_t& s, unsigned i, unsigned limit, unsigned& u, - const string_t& message = string_t{}); - -class rule -{ - enum {off, J, M, N}; - - date::month m_; - date::weekday wd_; - unsigned short n_ : 14; - unsigned short mode_ : 2; - std::chrono::duration time_ = std::chrono::hours{2}; - -public: - rule() : mode_(off) {} - - bool ok() const {return mode_ != off;} - date::local_seconds operator()(date::year y) const; - std::string to_string() const; - - friend std::ostream& operator<<(std::ostream& os, const rule& r); - friend unsigned read_date(const string_t& s, unsigned i, rule& r); - friend bool operator==(const rule& x, const rule& y); -}; - -inline -bool -operator==(const rule& x, const rule& y) -{ - if (x.mode_ != y.mode_) - return false; - switch (x.mode_) - { - case rule::J: - case rule::N: - return x.n_ == y.n_; - case rule::M: - return x.m_ == y.m_ && x.n_ == y.n_ && x.wd_ == y.wd_; - default: - return true; - } -} - -inline -bool -operator!=(const rule& x, const rule& y) -{ - return !(x == y); -} - -inline -date::local_seconds -rule::operator()(date::year y) const -{ - using date::local_days; - using date::January; - using date::days; - using date::last; - using sec = std::chrono::seconds; - date::local_seconds t; - switch (mode_) - { - case J: - t = local_days{y/January/0} + days{n_ + (y.is_leap() && n_ > 59)} + sec{time_}; - break; - case M: - t = (n_ == 5 ? local_days{y/m_/wd_[last]} : local_days{y/m_/wd_[n_]}) + sec{time_}; - break; - case N: - t = local_days{y/January/1} + days{n_} + sec{time_}; - break; - default: - assert(!"rule called with bad mode"); - } - return t; -} - -inline -std::string -rule::to_string() const -{ - using namespace std::chrono; - auto print_offset = [](seconds off) - { - std::string nm; - if (off != hours{2}) - { - date::hh_mm_ss offset{off}; - nm = '/'; - nm += std::to_string(offset.hours().count()); - if (offset.minutes() != minutes{0} || offset.seconds() != seconds{0}) - { - nm += ':'; - if (offset.minutes() < minutes{10}) - nm += '0'; - nm += std::to_string(offset.minutes().count()); - if (offset.seconds() != seconds{0}) - { - nm += ':'; - if (offset.seconds() < seconds{10}) - nm += '0'; - nm += std::to_string(offset.seconds().count()); - } - } - } - return nm; - }; - - std::string nm; - switch (mode_) - { - case rule::J: - nm = 'J'; - nm += std::to_string(n_); - break; - case rule::M: - nm = 'M'; - nm += std::to_string(static_cast(m_)); - nm += '.'; - nm += std::to_string(n_); - nm += '.'; - nm += std::to_string(wd_.c_encoding()); - break; - case rule::N: - nm = std::to_string(n_); - break; - default: - break; - } - nm += print_offset(time_); - return nm; -} - -inline -std::ostream& -operator<<(std::ostream& os, const rule& r) -{ - switch (r.mode_) - { - case rule::J: - os << 'J' << r.n_ << date::format(" %T", r.time_); - break; - case rule::M: - if (r.n_ == 5) - os << r.m_/r.wd_[date::last]; - else - os << r.m_/r.wd_[r.n_]; - os << date::format(" %T", r.time_); - break; - case rule::N: - os << r.n_ << date::format(" %T", r.time_); - break; - default: - break; - } - return os; -} - -} // namespace detail - -class time_zone -{ - std::string std_abbrev_; - std::string dst_abbrev_ = {}; - std::chrono::seconds offset_; - std::chrono::seconds save_ = std::chrono::hours{1}; - detail::rule start_rule_; - detail::rule end_rule_; - -public: - explicit time_zone(const detail::string_t& name); - - template - date::sys_info get_info(date::sys_time st) const; - template - date::local_info get_info(date::local_time tp) const; - - template - date::sys_time::type> - to_sys(date::local_time tp) const; - - template - date::sys_time::type> - to_sys(date::local_time tp, date::choose z) const; - - template - date::local_time::type> - to_local(date::sys_time tp) const; - - friend std::ostream& operator<<(std::ostream& os, const time_zone& z); - - const time_zone* operator->() const {return this;} - - std::string name() const; - - friend bool operator==(const time_zone& x, const time_zone& y); - -private: - date::sys_seconds get_start(date::year y) const; - date::sys_seconds get_prev_start(date::year y) const; - date::sys_seconds get_next_start(date::year y) const; - date::sys_seconds get_end(date::year y) const; - date::sys_seconds get_prev_end(date::year y) const; - date::sys_seconds get_next_end(date::year y) const; - date::sys_info contant_offset() const; -}; - -inline -date::sys_seconds -time_zone::get_start(date::year y) const -{ - return date::sys_seconds{(start_rule_(y) - offset_).time_since_epoch()}; -} - -inline -date::sys_seconds -time_zone::get_prev_start(date::year y) const -{ - return date::sys_seconds{(start_rule_(--y) - offset_).time_since_epoch()}; -} - -inline -date::sys_seconds -time_zone::get_next_start(date::year y) const -{ - return date::sys_seconds{(start_rule_(++y) - offset_).time_since_epoch()}; -} - -inline -date::sys_seconds -time_zone::get_end(date::year y) const -{ - return date::sys_seconds{(end_rule_(y) - (offset_ + save_)).time_since_epoch()}; -} - -inline -date::sys_seconds -time_zone::get_prev_end(date::year y) const -{ - return date::sys_seconds{(end_rule_(--y) - (offset_ + save_)).time_since_epoch()}; -} - -inline -date::sys_seconds -time_zone::get_next_end(date::year y) const -{ - return date::sys_seconds{(end_rule_(++y) - (offset_ + save_)).time_since_epoch()}; -} - -inline -date::sys_info -time_zone::contant_offset() const -{ - using date::year; - using date::sys_info; - using date::sys_days; - using date::January; - using date::December; - using date::last; - using std::chrono::minutes; - sys_info r; - r.begin = sys_days{year::min()/January/1}; - r.end = sys_days{year::max()/December/last}; - if (std_abbrev_.size() > 0) - { - r.abbrev = std_abbrev_; - r.offset = offset_; - r.save = {}; - } - else - { - r.abbrev = dst_abbrev_; - r.offset = offset_ + save_; - r.save = date::ceil(save_); - } - return r; -} - -inline -time_zone::time_zone(const detail::string_t& s) -{ - using detail::read_name; - using detail::read_signed_time; - using detail::throw_invalid; - auto i = read_name(s, 0, std_abbrev_); - auto std_name_i = i; - auto abbrev_name_i = i; - i = read_signed_time(s, i, offset_); - offset_ = -offset_; - if (i != s.size()) - { - i = read_name(s, i, dst_abbrev_); - abbrev_name_i = i; - if (i != s.size()) - { - if (s[i] != ',') - { - i = read_signed_time(s, i, save_); - save_ = -save_ - offset_; - } - if (i != s.size()) - { - if (s[i] != ',') - throw_invalid(s, i, "Expecting end of string or ',' to start rule"); - ++i; - i = read_date(s, i, start_rule_); - if (i == s.size() || s[i] != ',') - throw_invalid(s, i, "Expecting ',' and then the ending rule"); - ++i; - i = read_date(s, i, end_rule_); - if (i != s.size()) - throw_invalid(s, i, "Found unexpected trailing characters"); - } - } - } - if (start_rule_.ok()) - { - if (std_abbrev_.size() < 3) - throw_invalid(s, std_name_i, "Zone with rules must have a std" - " abbreviation of length 3 or greater"); - if (dst_abbrev_.size() < 3) - throw_invalid(s, abbrev_name_i, "Zone with rules must have a daylight" - " abbreviation of length 3 or greater"); - } - else - { - if (dst_abbrev_.size() >= 3) - { - std_abbrev_.clear(); - } - else if (std_abbrev_.size() < 3) - { - throw_invalid(s, std_name_i, "Zone must have at least one abbreviation" - " of length 3 or greater"); - } - else - { - dst_abbrev_.clear(); - save_ = {}; - } - } -} - -template -date::sys_info -time_zone::get_info(date::sys_time st) const -{ - using date::sys_info; - using date::year_month_day; - using date::sys_days; - using date::floor; - using date::ceil; - using date::days; - using date::year; - using date::January; - using date::December; - using date::last; - using std::chrono::minutes; - sys_info r{}; - r.offset = offset_; - if (start_rule_.ok()) - { - auto y = year_month_day{floor(st)}.year(); - if (st >= get_next_start(y)) - ++y; - else if (st < get_prev_end(y)) - --y; - auto start = get_start(y); - auto end = get_end(y); - if (start <= end) // (northern hemisphere) - { - if (start <= st && st < end) - { - r.begin = start; - r.end = end; - r.offset += save_; - r.save = ceil(save_); - r.abbrev = dst_abbrev_; - } - else if (st < start) - { - r.begin = get_prev_end(y); - r.end = start; - r.abbrev = std_abbrev_; - } - else // st >= end - { - r.begin = end; - r.end = get_next_start(y); - r.abbrev = std_abbrev_; - } - } - else // end < start (southern hemisphere) - { - if (end <= st && st < start) - { - r.begin = end; - r.end = start; - r.abbrev = std_abbrev_; - } - else if (st < end) - { - r.begin = get_prev_start(y); - r.end = end; - r.offset += save_; - r.save = ceil(save_); - r.abbrev = dst_abbrev_; - } - else // st >= start - { - r.begin = start; - r.end = get_next_end(y); - r.offset += save_; - r.save = ceil(save_); - r.abbrev = dst_abbrev_; - } - } - } - else - r = contant_offset(); - assert(r.begin <= st && st < r.end); - return r; -} - -template -date::local_info -time_zone::get_info(date::local_time tp) const -{ - using date::local_info; - using date::year_month_day; - using date::days; - using date::sys_days; - using date::sys_seconds; - using date::year; - using date::ceil; - using date::January; - using date::December; - using date::last; - using std::chrono::seconds; - using std::chrono::minutes; - local_info r{}; - using date::floor; - if (start_rule_.ok()) - { - auto y = year_month_day{floor(tp)}.year(); - auto start = get_start(y); - auto end = get_end(y); - auto utcs = sys_seconds{floor(tp - offset_).time_since_epoch()}; - auto utcd = sys_seconds{floor(tp - (offset_ + save_)).time_since_epoch()}; - auto northern = start <= end; - if ((utcs < start) != (utcd < start)) - { - if (northern) - r.first.begin = get_prev_end(y); - else - r.first.begin = end; - r.first.end = start; - r.first.offset = offset_; - r.first.abbrev = std_abbrev_; - r.second.begin = start; - if (northern) - r.second.end = end; - else - r.second.end = get_next_end(y); - r.second.abbrev = dst_abbrev_; - r.second.offset = offset_ + save_; - r.second.save = ceil(save_); - r.result = save_ > seconds{0} ? local_info::nonexistent - : local_info::ambiguous; - } - else if ((utcs < end) != (utcd < end)) - { - if (northern) - r.first.begin = start; - else - r.first.begin = get_prev_start(y); - r.first.end = end; - r.first.offset = offset_ + save_; - r.first.save = ceil(save_); - r.first.abbrev = dst_abbrev_; - r.second.begin = end; - if (northern) - r.second.end = get_next_start(y); - else - r.second.end = start; - r.second.abbrev = std_abbrev_; - r.second.offset = offset_; - r.result = save_ > seconds{0} ? local_info::ambiguous - : local_info::nonexistent; - } - else - r.first = get_info(utcs); - } - else - r.first = contant_offset(); - return r; -} - -template -date::sys_time::type> -time_zone::to_sys(date::local_time tp) const -{ - using date::local_info; - using date::sys_time; - using date::ambiguous_local_time; - using date::nonexistent_local_time; - auto i = get_info(tp); - if (i.result == local_info::nonexistent) - throw nonexistent_local_time(tp, i); - else if (i.result == local_info::ambiguous) - throw ambiguous_local_time(tp, i); - return sys_time{tp.time_since_epoch()} - i.first.offset; -} - -template -date::sys_time::type> -time_zone::to_sys(date::local_time tp, date::choose z) const -{ - using date::local_info; - using date::sys_time; - using date::choose; - auto i = get_info(tp); - if (i.result == local_info::nonexistent) - { - return i.first.end; - } - else if (i.result == local_info::ambiguous) - { - if (z == choose::latest) - return sys_time{tp.time_since_epoch()} - i.second.offset; - } - return sys_time{tp.time_since_epoch()} - i.first.offset; -} - -template -date::local_time::type> -time_zone::to_local(date::sys_time tp) const -{ - using date::local_time; - using std::chrono::seconds; - using LT = local_time::type>; - auto i = get_info(tp); - return LT{(tp + i.offset).time_since_epoch()}; -} - -inline -std::ostream& -operator<<(std::ostream& os, const time_zone& z) -{ - using date::operator<<; - os << '{'; - os << z.std_abbrev_ << ", " << z.dst_abbrev_ << date::format(", %T, ", z.offset_) - << date::format("%T, [", z.save_) << z.start_rule_ << ", " << z.end_rule_ << ")}"; - return os; -} - -inline -std::string -time_zone::name() const -{ - using namespace date; - using namespace std::chrono; - auto print_abbrev = [](std::string const& nm) - { - if (std::any_of(nm.begin(), nm.end(), - [](char c) - { - return !std::isalpha(c); - })) - { - return '<' + nm + '>'; - } - return nm; - }; - auto print_offset = [](seconds off) - { - std::string nm; - hh_mm_ss offset{-off}; - if (offset.is_negative()) - nm += '-'; - nm += std::to_string(offset.hours().count()); - if (offset.minutes() != minutes{0} || offset.seconds() != seconds{0}) - { - nm += ':'; - if (offset.minutes() < minutes{10}) - nm += '0'; - nm += std::to_string(offset.minutes().count()); - if (offset.seconds() != seconds{0}) - { - nm += ':'; - if (offset.seconds() < seconds{10}) - nm += '0'; - nm += std::to_string(offset.seconds().count()); - } - } - return nm; - }; - auto nm = print_abbrev(std_abbrev_); - nm += print_offset(offset_); - if (!dst_abbrev_.empty()) - { - nm += print_abbrev(dst_abbrev_); - if (save_ != hours{1}) - nm += print_offset(offset_+save_); - if (start_rule_.ok()) - { - nm += ','; - nm += start_rule_.to_string(); - nm += ','; - nm += end_rule_.to_string(); - } - } - return nm; -} - -inline -bool -operator==(const time_zone& x, const time_zone& y) -{ - return x.std_abbrev_ == y.std_abbrev_ && - x.dst_abbrev_ == y. dst_abbrev_ && - x.offset_ == y.offset_ && - x.save_ == y.save_ && - x.start_rule_ == y.start_rule_ && - x.end_rule_ == y.end_rule_; -} - -inline -bool -operator!=(const time_zone& x, const time_zone& y) -{ - return !(x == y); -} - -namespace detail -{ - -inline -void -throw_invalid(const string_t& s, unsigned i, const string_t& message) -{ - throw std::runtime_error(std::string("Invalid time_zone initializer.\n") + - std::string(message) + ":\n" + - std::string(s) + '\n' + - "\x1b[1;32m" + - std::string(i, '~') + '^' + - std::string(i < s.size() ? s.size()-i-1 : 0, '~') + - "\x1b[0m"); -} - -inline -unsigned -read_date(const string_t& s, unsigned i, rule& r) -{ - using date::month; - using date::weekday; - if (i == s.size()) - throw_invalid(s, i, "Expected rule but found end of string"); - if (s[i] == 'J') - { - ++i; - unsigned n; - i = read_unsigned(s, i, 3, n, "Expected to find the Julian day [1, 365]"); - if (!(1 <= n && n <= 365)) - throw_invalid(s, i-1, "Expected Julian day to be in the range [1, 365]"); - r.mode_ = rule::J; - r.n_ = n; - } - else if (s[i] == 'M') - { - ++i; - unsigned m; - i = read_unsigned(s, i, 2, m, "Expected to find month [1, 12]"); - if (!(1 <= m && m <= 12)) - throw_invalid(s, i-1, "Expected month to be in the range [1, 12]"); - if (i == s.size() || s[i] != '.') - throw_invalid(s, i, "Expected '.' after month"); - ++i; - unsigned n; - i = read_unsigned(s, i, 1, n, "Expected to find week number [1, 5]"); - if (!(1 <= n && n <= 5)) - throw_invalid(s, i-1, "Expected week number to be in the range [1, 5]"); - if (i == s.size() || s[i] != '.') - throw_invalid(s, i, "Expected '.' after weekday index"); - ++i; - unsigned wd; - i = read_unsigned(s, i, 1, wd, "Expected to find day of week [0, 6]"); - if (wd > 6) - throw_invalid(s, i-1, "Expected day of week to be in the range [0, 6]"); - r.mode_ = rule::M; - r.m_ = month{m}; - r.wd_ = weekday{wd}; - r.n_ = n; - } - else if (std::isdigit(s[i])) - { - unsigned n; - i = read_unsigned(s, i, 3, n); - if (n > 365) - throw_invalid(s, i-1, "Expected Julian day to be in the range [0, 365]"); - r.mode_ = rule::N; - r.n_ = n; - } - else - throw_invalid(s, i, "Expected 'J', 'M', or a digit to start rule"); - if (i != s.size() && s[i] == '/') - { - ++i; - std::chrono::seconds t; - i = read_unsigned_time(s, i, t); - r.time_ = t; - } - return i; -} - -inline -unsigned -read_name(const string_t& s, unsigned i, std::string& name) -{ - if (i == s.size()) - throw_invalid(s, i, "Expected a name but found end of string"); - if (s[i] == '<') - { - ++i; - while (true) - { - if (i == s.size()) - throw_invalid(s, i, - "Expected to find closing '>', but found end of string"); - if (s[i] == '>') - break; - name.push_back(s[i]); - ++i; - } - ++i; - } - else - { - while (i != s.size() && std::isalpha(s[i])) - { - name.push_back(s[i]); - ++i; - } - } - return i; -} - -inline -unsigned -read_signed_time(const string_t& s, unsigned i, - std::chrono::seconds& t) -{ - if (i == s.size()) - throw_invalid(s, i, "Expected to read signed time, but found end of string"); - bool negative = false; - if (s[i] == '-') - { - negative = true; - ++i; - } - else if (s[i] == '+') - ++i; - i = read_unsigned_time(s, i, t); - if (negative) - t = -t; - return i; -} - -inline -unsigned -read_unsigned_time(const string_t& s, unsigned i, std::chrono::seconds& t) -{ - using std::chrono::seconds; - using std::chrono::minutes; - using std::chrono::hours; - if (i == s.size()) - throw_invalid(s, i, "Expected to read unsigned time, but found end of string"); - unsigned x; - i = read_unsigned(s, i, 2, x, "Expected to find hours [0, 24]"); - if (x > 24) - throw_invalid(s, i-1, "Expected hours to be in the range [0, 24]"); - t = hours{x}; - if (i != s.size() && s[i] == ':') - { - ++i; - i = read_unsigned(s, i, 2, x, "Expected to find minutes [0, 59]"); - if (x > 59) - throw_invalid(s, i-1, "Expected minutes to be in the range [0, 59]"); - t += minutes{x}; - if (i != s.size() && s[i] == ':') - { - ++i; - i = read_unsigned(s, i, 2, x, "Expected to find seconds [0, 59]"); - if (x > 59) - throw_invalid(s, i-1, "Expected seconds to be in the range [0, 59]"); - t += seconds{x}; - } - } - return i; -} - -inline -unsigned -read_unsigned(const string_t& s, unsigned i, unsigned limit, unsigned& u, - const string_t& message) -{ - if (i == s.size() || !std::isdigit(s[i])) - throw_invalid(s, i, message); - u = static_cast(s[i] - '0'); - unsigned count = 1; - for (++i; count < limit && i != s.size() && std::isdigit(s[i]); ++i, ++count) - u = u * 10 + static_cast(s[i] - '0'); - return i; -} - -} // namespace detail - -} // namespace Posix - -namespace date -{ - -template <> -struct zoned_traits -{ - -#if HAS_STRING_VIEW - - static - Posix::time_zone - locate_zone(std::string_view name) - { - return Posix::time_zone{name}; - } - -#else // !HAS_STRING_VIEW - - static - Posix::time_zone - locate_zone(const std::string& name) - { - return Posix::time_zone{name}; - } - - static - Posix::time_zone - locate_zone(const char* name) - { - return Posix::time_zone{name}; - } - -#endif // !HAS_STRING_VIEW - -}; - -} // namespace date - -#endif // PTZ_H diff --git a/src/date/solar_hijri.h b/src/date/solar_hijri.h deleted file mode 100644 index 8de9cb5..0000000 --- a/src/date/solar_hijri.h +++ /dev/null @@ -1,3151 +0,0 @@ -#ifndef SOLAR_HIJRI_H -#define SOLAR_HIJRI_H - -// The MIT License (MIT) -// -// Copyright (c) 2016 Howard Hinnant -// Copyright (c) 2019 Asad. Gharighi -// -// Calculations are based on: -// https://www.timeanddate.com/calendar/persian-calendar.html -// and follow style -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -#include "date.h" - -namespace solar_hijri -{ - -namespace internal -{ -static const auto epoch = static_cast(2121446); -static const auto days_in_era = static_cast(1029983); -static const auto years_in_era = static_cast(2820); -static const auto unix_time_shift = static_cast(2440588); -auto const years_in_first_cycle = static_cast(29); -auto const years_in_other_cycles = static_cast(33); -auto const years_in_period = static_cast(128); // 29 + 3*33 -auto const days_in_first_cycle = static_cast(10592); // 28/4 + 29*365 -auto const days_in_other_cycles = static_cast(12053); // 32/4 + 33*365 -auto const days_in_period = static_cast(46751); // days_in_first_cycle + 3*days_in_other_cycles; -} - -// durations - -using days = date::days; - -using weeks = date::weeks; - -using years = std::chrono::duration - , days::period>>; - -using months = std::chrono::duration - >>; - -// time_point - -using sys_days = date::sys_days; -using local_days = date::local_days; - -// types - -struct last_spec -{ - explicit last_spec() = default; -}; - -class day; -class month; -class year; - -class weekday; -class weekday_indexed; -class weekday_last; - -class month_day; -class month_day_last; -class month_weekday; -class month_weekday_last; - -class year_month; - -class year_month_day; -class year_month_day_last; -class year_month_weekday; -class year_month_weekday_last; - -// date composition operators - -CONSTCD11 year_month operator/(const year& y, const month& m) NOEXCEPT; -CONSTCD11 year_month operator/(const year& y, int m) NOEXCEPT; - -CONSTCD11 month_day operator/(const day& d, const month& m) NOEXCEPT; -CONSTCD11 month_day operator/(const day& d, int m) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, const day& d) NOEXCEPT; -CONSTCD11 month_day operator/(const month& m, int d) NOEXCEPT; -CONSTCD11 month_day operator/(int m, const day& d) NOEXCEPT; - -CONSTCD11 month_day_last operator/(const month& m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(int m, last_spec) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, const month& m) NOEXCEPT; -CONSTCD11 month_day_last operator/(last_spec, int m) NOEXCEPT; - -CONSTCD11 month_weekday operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(int m, const weekday_indexed& wdi) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT; -CONSTCD11 month_weekday operator/(const weekday_indexed& wdi, int m) NOEXCEPT; - -CONSTCD11 month_weekday_last operator/(const month& m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(int m, const weekday_last& wdl) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, const month& m) NOEXCEPT; -CONSTCD11 month_weekday_last operator/(const weekday_last& wdl, int m) NOEXCEPT; - -CONSTCD11 year_month_day operator/(const year_month& ym, const day& d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year_month& ym, int d) NOEXCEPT; -CONSTCD11 year_month_day operator/(const year& y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(int y, const month_day& md) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, const year& y) NOEXCEPT; -CONSTCD11 year_month_day operator/(const month_day& md, int y) NOEXCEPT; - -CONSTCD11 - year_month_day_last operator/(const year_month& ym, last_spec) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const year& y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(int y, const month_day_last& mdl) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, const year& y) NOEXCEPT; -CONSTCD11 - year_month_day_last operator/(const month_day_last& mdl, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT; - -// Detailed interface - -// day - -class day -{ - unsigned char d_; - -public: - day() = default; - explicit CONSTCD11 day(unsigned d) NOEXCEPT; - - CONSTCD14 day& operator++() NOEXCEPT; - CONSTCD14 day operator++(int) NOEXCEPT; - CONSTCD14 day& operator--() NOEXCEPT; - CONSTCD14 day operator--(int) NOEXCEPT; - - CONSTCD14 day& operator+=(const days& d) NOEXCEPT; - CONSTCD14 day& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator< (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator> (const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const day& x, const day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const day& x, const day& y) NOEXCEPT; - -CONSTCD11 day operator+(const day& x, const days& y) NOEXCEPT; -CONSTCD11 day operator+(const days& x, const day& y) NOEXCEPT; -CONSTCD11 day operator-(const day& x, const days& y) NOEXCEPT; -CONSTCD11 days operator-(const day& x, const day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d); - -// month - -class month -{ - unsigned char m_; - -public: - month() = default; - explicit CONSTCD11 month(unsigned m) NOEXCEPT; - - CONSTCD14 month& operator++() NOEXCEPT; - CONSTCD14 month operator++(int) NOEXCEPT; - CONSTCD14 month& operator--() NOEXCEPT; - CONSTCD14 month operator--(int) NOEXCEPT; - - CONSTCD14 month& operator+=(const months& m) NOEXCEPT; - CONSTCD14 month& operator-=(const months& m) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator< (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator> (const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month& x, const month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month& x, const month& y) NOEXCEPT; - -CONSTCD14 month operator+(const month& x, const months& y) NOEXCEPT; -CONSTCD14 month operator+(const months& x, const month& y) NOEXCEPT; -CONSTCD14 month operator-(const month& x, const months& y) NOEXCEPT; -CONSTCD14 months operator-(const month& x, const month& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m); - -// year - -class year -{ - short y_; - -public: - year() = default; - explicit CONSTCD11 year(int y) NOEXCEPT; - - CONSTCD14 year& operator++() NOEXCEPT; - CONSTCD14 year operator++(int) NOEXCEPT; - CONSTCD14 year& operator--() NOEXCEPT; - CONSTCD14 year operator--(int) NOEXCEPT; - - CONSTCD14 year& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year& operator-=(const years& y) NOEXCEPT; - - CONSTCD14 bool is_leap() const NOEXCEPT; - - CONSTCD11 explicit operator int() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - static CONSTCD11 year min() NOEXCEPT; - static CONSTCD11 year max() NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator< (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator> (const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year& x, const year& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year& x, const year& y) NOEXCEPT; - -CONSTCD11 year operator+(const year& x, const years& y) NOEXCEPT; -CONSTCD11 year operator+(const years& x, const year& y) NOEXCEPT; -CONSTCD11 year operator-(const year& x, const years& y) NOEXCEPT; -CONSTCD11 years operator-(const year& x, const year& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y); - -// weekday - -class weekday -{ - unsigned char wd_; -public: - weekday() = default; - explicit CONSTCD11 weekday(unsigned wd) NOEXCEPT; - explicit weekday(int) = delete; - CONSTCD11 weekday(const sys_days& dp) NOEXCEPT; - CONSTCD11 explicit weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 weekday& operator++() NOEXCEPT; - CONSTCD14 weekday operator++(int) NOEXCEPT; - CONSTCD14 weekday& operator--() NOEXCEPT; - CONSTCD14 weekday operator--(int) NOEXCEPT; - - CONSTCD14 weekday& operator+=(const days& d) NOEXCEPT; - CONSTCD14 weekday& operator-=(const days& d) NOEXCEPT; - - CONSTCD11 explicit operator unsigned() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - - CONSTCD11 weekday_indexed operator[](unsigned index) const NOEXCEPT; - CONSTCD11 weekday_last operator[](last_spec) const NOEXCEPT; - -private: - static CONSTCD11 unsigned char weekday_from_days(int z) NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday& x, const weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday& x, const weekday& y) NOEXCEPT; - -CONSTCD14 weekday operator+(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 weekday operator+(const days& x, const weekday& y) NOEXCEPT; -CONSTCD14 weekday operator-(const weekday& x, const days& y) NOEXCEPT; -CONSTCD14 days operator-(const weekday& x, const weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd); - -// weekday_indexed - -class weekday_indexed -{ - unsigned char wd_ : 4; - unsigned char index_ : 4; - -public: - weekday_indexed() = default; - CONSTCD11 weekday_indexed(const solar_hijri::weekday& wd, unsigned index) NOEXCEPT; - - CONSTCD11 solar_hijri::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi); - -// weekday_last - -class weekday_last -{ - solar_hijri::weekday wd_; - -public: - weekday_last() = default; - explicit CONSTCD11 weekday_last(const solar_hijri::weekday& wd) NOEXCEPT; - - CONSTCD11 solar_hijri::weekday weekday() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl); - -// year_month - -class year_month -{ - solar_hijri::year y_; - solar_hijri::month m_; - -public: - year_month() = default; - CONSTCD11 year_month(const solar_hijri::year& y, const solar_hijri::month& m) NOEXCEPT; - - CONSTCD11 solar_hijri::year year() const NOEXCEPT; - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - - CONSTCD14 year_month& operator+=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator-=(const months& dm) NOEXCEPT; - CONSTCD14 year_month& operator+=(const years& dy) NOEXCEPT; - CONSTCD14 year_month& operator-=(const years& dy) NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month& x, const year_month& y) NOEXCEPT; - -CONSTCD14 year_month operator+(const year_month& ym, const months& dm) NOEXCEPT; -CONSTCD14 year_month operator+(const months& dm, const year_month& ym) NOEXCEPT; -CONSTCD14 year_month operator-(const year_month& ym, const months& dm) NOEXCEPT; - -CONSTCD11 months operator-(const year_month& x, const year_month& y) NOEXCEPT; -CONSTCD11 year_month operator+(const year_month& ym, const years& dy) NOEXCEPT; -CONSTCD11 year_month operator+(const years& dy, const year_month& ym) NOEXCEPT; -CONSTCD11 year_month operator-(const year_month& ym, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym); - -// month_day - -class month_day -{ - solar_hijri::month m_; - solar_hijri::day d_; - -public: - month_day() = default; - CONSTCD11 month_day(const solar_hijri::month& m, const solar_hijri::day& d) NOEXCEPT; - - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::day day() const NOEXCEPT; - - CONSTCD14 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day& x, const month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day& x, const month_day& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md); - -// month_day_last - -class month_day_last -{ - solar_hijri::month m_; - -public: - month_day_last() = default; - CONSTCD11 explicit month_day_last(const solar_hijri::month& m) NOEXCEPT; - - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator< (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator> (const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT; -CONSTCD11 bool operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl); - -// month_weekday - -class month_weekday -{ - solar_hijri::month m_; - solar_hijri::weekday_indexed wdi_; -public: - month_weekday() = default; - CONSTCD11 month_weekday(const solar_hijri::month& m, - const solar_hijri::weekday_indexed& wdi) NOEXCEPT; - - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT; -CONSTCD11 bool operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd); - -// month_weekday_last - -class month_weekday_last -{ - solar_hijri::month m_; - solar_hijri::weekday_last wdl_; - -public: - month_weekday_last() = default; - CONSTCD11 month_weekday_last(const solar_hijri::month& m, - const solar_hijri::weekday_last& wd) NOEXCEPT; - - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl); - -// class year_month_day - -class year_month_day -{ - solar_hijri::year y_; - solar_hijri::month m_; - solar_hijri::day d_; - -public: - year_month_day() = default; - CONSTCD11 year_month_day(const solar_hijri::year& y, const solar_hijri::month& m, - const solar_hijri::day& d) NOEXCEPT; - CONSTCD14 year_month_day(const year_month_day_last& ymdl) NOEXCEPT; - - CONSTCD14 year_month_day(sys_days dp) NOEXCEPT; - CONSTCD14 explicit year_month_day(local_days dp) NOEXCEPT; - - CONSTCD14 year_month_day& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 solar_hijri::year year() const NOEXCEPT; - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_day from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 bool operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator< (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator> (const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT; -CONSTCD11 bool operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT; - -CONSTCD14 year_month_day operator+(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD14 year_month_day operator+(const months& dm, const year_month_day& ymd) NOEXCEPT; -CONSTCD14 year_month_day operator-(const year_month_day& ymd, const months& dm) NOEXCEPT; -CONSTCD11 year_month_day operator+(const year_month_day& ymd, const years& dy) NOEXCEPT; -CONSTCD11 year_month_day operator+(const years& dy, const year_month_day& ymd) NOEXCEPT; -CONSTCD11 year_month_day operator-(const year_month_day& ymd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd); - -// year_month_day_last - -class year_month_day_last -{ - solar_hijri::year y_; - solar_hijri::month_day_last mdl_; - -public: - year_month_day_last() = default; - CONSTCD11 year_month_day_last(const solar_hijri::year& y, - const solar_hijri::month_day_last& mdl) NOEXCEPT; - - CONSTCD14 year_month_day_last& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_day_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_day_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 solar_hijri::year year() const NOEXCEPT; - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::month_day_last month_day_last() const NOEXCEPT; - CONSTCD14 solar_hijri::day day() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator< (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator> (const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; -CONSTCD11 - bool operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT; - -CONSTCD14 -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl); - -// year_month_weekday - -class year_month_weekday -{ - solar_hijri::year y_; - solar_hijri::month m_; - solar_hijri::weekday_indexed wdi_; - -public: - year_month_weekday() = default; - CONSTCD11 year_month_weekday(const solar_hijri::year& y, const solar_hijri::month& m, - const solar_hijri::weekday_indexed& wdi) NOEXCEPT; - CONSTCD14 year_month_weekday(const sys_days& dp) NOEXCEPT; - CONSTCD14 explicit year_month_weekday(const local_days& dp) NOEXCEPT; - - CONSTCD14 year_month_weekday& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 solar_hijri::year year() const NOEXCEPT; - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::weekday weekday() const NOEXCEPT; - CONSTCD11 unsigned index() const NOEXCEPT; - CONSTCD11 solar_hijri::weekday_indexed weekday_indexed() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD14 bool ok() const NOEXCEPT; - -private: - static CONSTCD14 year_month_weekday from_days(days dp) NOEXCEPT; - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 - bool operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; -CONSTCD11 - bool operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT; - -CONSTCD14 -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi); - -// year_month_weekday_last - -class year_month_weekday_last -{ - solar_hijri::year y_; - solar_hijri::month m_; - solar_hijri::weekday_last wdl_; - -public: - year_month_weekday_last() = default; - CONSTCD11 year_month_weekday_last(const solar_hijri::year& y, const solar_hijri::month& m, - const solar_hijri::weekday_last& wdl) NOEXCEPT; - - CONSTCD14 year_month_weekday_last& operator+=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const months& m) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator+=(const years& y) NOEXCEPT; - CONSTCD14 year_month_weekday_last& operator-=(const years& y) NOEXCEPT; - - CONSTCD11 solar_hijri::year year() const NOEXCEPT; - CONSTCD11 solar_hijri::month month() const NOEXCEPT; - CONSTCD11 solar_hijri::weekday weekday() const NOEXCEPT; - CONSTCD11 solar_hijri::weekday_last weekday_last() const NOEXCEPT; - - CONSTCD14 operator sys_days() const NOEXCEPT; - CONSTCD14 explicit operator local_days() const NOEXCEPT; - CONSTCD11 bool ok() const NOEXCEPT; - -private: - CONSTCD14 days to_days() const NOEXCEPT; -}; - -CONSTCD11 -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD11 -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT; - -CONSTCD14 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT; - -CONSTCD11 -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl); - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 solar_hijri::day operator "" _d(unsigned long long d) NOEXCEPT; -CONSTCD11 solar_hijri::year operator "" _y(unsigned long long y) NOEXCEPT; - -} // inline namespace literals -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -//----------------+ -// Implementation | -//----------------+ - -// day - -CONSTCD11 inline day::day(unsigned d) NOEXCEPT : d_(static_cast(d)) {} -CONSTCD14 inline day& day::operator++() NOEXCEPT {++d_; return *this;} -CONSTCD14 inline day day::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline day& day::operator--() NOEXCEPT {--d_; return *this;} -CONSTCD14 inline day day::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline day& day::operator+=(const days& d) NOEXCEPT {*this = *this + d; return *this;} -CONSTCD14 inline day& day::operator-=(const days& d) NOEXCEPT {*this = *this - d; return *this;} -CONSTCD11 inline day::operator unsigned() const NOEXCEPT {return d_;} -CONSTCD11 inline bool day::ok() const NOEXCEPT {return 1 <= d_ && d_ <= 30;} - -CONSTCD11 -inline -bool -operator==(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const day& x, const day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const day& x, const day& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const day& x, const day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const day& x, const day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const day& x, const day& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -days -operator-(const day& x, const day& y) NOEXCEPT -{ - return days{static_cast(static_cast(x) - - static_cast(y))}; -} - -CONSTCD11 -inline -day -operator+(const day& x, const days& y) NOEXCEPT -{ - return day{static_cast(x) + static_cast(y.count())}; -} - -CONSTCD11 -inline -day -operator+(const days& x, const day& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -day -operator-(const day& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const day& d) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os.width(2); - os << static_cast(d); - return os; -} - -// month - -CONSTCD11 inline month::month(unsigned m) NOEXCEPT : m_(static_cast(m)) {} -CONSTCD14 inline month& month::operator++() NOEXCEPT {if (++m_ == 13) m_ = 1; return *this;} -CONSTCD14 inline month month::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline month& month::operator--() NOEXCEPT {if (--m_ == 0) m_ = 12; return *this;} -CONSTCD14 inline month month::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -month& -month::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -month& -month::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD11 inline month::operator unsigned() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month::ok() const NOEXCEPT {return 1 <= m_ && m_ <= 12;} - -CONSTCD11 -inline -bool -operator==(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const month& x, const month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month& x, const month& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const month& x, const month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month& x, const month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month& x, const month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -months -operator-(const month& x, const month& y) NOEXCEPT -{ - auto const d = static_cast(x) - static_cast(y); - return months(d <= 11 ? d : d + 12); -} - -CONSTCD14 -inline -month -operator+(const month& x, const months& y) NOEXCEPT -{ - auto const mu = static_cast(static_cast(x)) - 1 + y.count(); - auto const yr = (mu >= 0 ? mu : mu-11) / 12; - return month{static_cast(mu - yr * 12 + 1)}; -} - -CONSTCD14 -inline -month -operator+(const months& x, const month& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -month -operator-(const month& x, const months& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month& m) -{ - switch (static_cast(m)) - { - case 1: - os << "Farvardin"; - break; - case 2: - os << "Ordibehesht"; - break; - case 3: - os << "Khordad"; - break; - case 4: - os << "Tir"; - break; - case 5: - os << "Mordad"; - break; - case 6: - os << "Shahrivar"; - break; - case 7: - os << "Mehr"; - break; - case 8: - os << "Aban"; - break; - case 9: - os << "Azar"; - break; - case 10: - os << "Dey"; - break; - case 11: - os << "Bahman"; - break; - case 12: - os << "Esfand"; - break; - default: - os << static_cast(m) << " is not a valid month"; - break; - } - return os; -} - -// year - -CONSTCD11 inline year::year(int y) NOEXCEPT : y_(static_cast(y)) {} -CONSTCD14 inline year& year::operator++() NOEXCEPT {++y_; return *this;} -CONSTCD14 inline year year::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline year& year::operator--() NOEXCEPT {--y_; return *this;} -CONSTCD14 inline year year::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} -CONSTCD14 inline year& year::operator+=(const years& y) NOEXCEPT {*this = *this + y; return *this;} -CONSTCD14 inline year& year::operator-=(const years& y) NOEXCEPT {*this = *this - y; return *this;} - -CONSTCD14 -inline -bool -year::is_leap() const NOEXCEPT -{ - using namespace internal; - auto const y = static_cast(y_)-475; - auto const era_d = static_cast(y >= 0 ? y : y-years_in_era+1) / static_cast(years_in_era); - auto const era = static_cast(era_d); - auto const yoe = static_cast(y - era * years_in_era); - - // Reference: https://www.timeanddate.com/date/iran-leap-year.html - // 29 + 33 + 33 + 33 = 128 - // 22 * 128 + 4 - auto const yoc = (yoe < (22 * 128)) ? ((yoe%128) < 29 ? yoe%128 : (yoe%128 - 29)%33) : yoe - (22 * 128) + 33; - return (yoc != 0 && (yoc%4)==0); -} - -CONSTCD11 inline year::operator int() const NOEXCEPT {return y_;} -CONSTCD11 inline bool year::ok() const NOEXCEPT {return true;} - -CONSTCD11 -inline -year -year::min() NOEXCEPT -{ - return year{std::numeric_limits::min()}; -} - -CONSTCD11 -inline -year -year::max() NOEXCEPT -{ - return year{std::numeric_limits::max()}; -} - -CONSTCD11 -inline -bool -operator==(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const year& x, const year& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year& x, const year& y) NOEXCEPT -{ - return static_cast(x) < static_cast(y); -} - -CONSTCD11 -inline -bool -operator>(const year& x, const year& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year& x, const year& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year& x, const year& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD11 -inline -years -operator-(const year& x, const year& y) NOEXCEPT -{ - return years{static_cast(x) - static_cast(y)}; -} - -CONSTCD11 -inline -year -operator+(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) + y.count()}; -} - -CONSTCD11 -inline -year -operator+(const years& x, const year& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD11 -inline -year -operator-(const year& x, const years& y) NOEXCEPT -{ - return year{static_cast(x) - y.count()}; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year& y) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::internal); - os.width(4 + (y < year{0})); - os << static_cast(y); - return os; -} - -// weekday - -CONSTCD11 -inline -unsigned char -weekday::weekday_from_days(int z) NOEXCEPT -{ - auto u = static_cast(z); - return static_cast(z >= -4 ? (u+4) % 7 : u % 7); -} - -CONSTCD11 -inline -weekday::weekday(unsigned wd) NOEXCEPT - : wd_(static_cast(wd != 7 ? wd : 0)) - {} - -CONSTCD11 -inline -weekday::weekday(const sys_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD11 -inline -weekday::weekday(const local_days& dp) NOEXCEPT - : wd_(weekday_from_days(dp.time_since_epoch().count())) - {} - -CONSTCD14 inline weekday& weekday::operator++() NOEXCEPT {if (++wd_ == 7) wd_ = 0; return *this;} -CONSTCD14 inline weekday weekday::operator++(int) NOEXCEPT {auto tmp(*this); ++(*this); return tmp;} -CONSTCD14 inline weekday& weekday::operator--() NOEXCEPT {if (wd_-- == 0) wd_ = 6; return *this;} -CONSTCD14 inline weekday weekday::operator--(int) NOEXCEPT {auto tmp(*this); --(*this); return tmp;} - -CONSTCD14 -inline -weekday& -weekday::operator+=(const days& d) NOEXCEPT -{ - *this = *this + d; - return *this; -} - -CONSTCD14 -inline -weekday& -weekday::operator-=(const days& d) NOEXCEPT -{ - *this = *this - d; - return *this; -} - -CONSTCD11 -inline -weekday::operator unsigned() const NOEXCEPT -{ - return static_cast(wd_); -} - -CONSTCD11 inline bool weekday::ok() const NOEXCEPT {return wd_ <= 6;} - -CONSTCD11 -inline -bool -operator==(const weekday& x, const weekday& y) NOEXCEPT -{ - return static_cast(x) == static_cast(y); -} - -CONSTCD11 -inline -bool -operator!=(const weekday& x, const weekday& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD14 -inline -days -operator-(const weekday& x, const weekday& y) NOEXCEPT -{ - auto const diff = static_cast(x) - static_cast(y); - return days{diff <= 6 ? diff : diff + 7}; -} - -CONSTCD14 -inline -weekday -operator+(const weekday& x, const days& y) NOEXCEPT -{ - auto const wdu = static_cast(static_cast(x)) + y.count(); - auto const wk = (wdu >= 0 ? wdu : wdu-6) / 7; - return weekday{static_cast(wdu - wk * 7)}; -} - -CONSTCD14 -inline -weekday -operator+(const days& x, const weekday& y) NOEXCEPT -{ - return y + x; -} - -CONSTCD14 -inline -weekday -operator-(const weekday& x, const days& y) NOEXCEPT -{ - return x + -y; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday& wd) -{ - switch (static_cast(wd)) - { - case 0: - os << "Yekshanbe"; - break; - case 1: - os << "Doshanbe"; - break; - case 2: - os << "Seshanbe"; - break; - case 3: - os << "Chaharshanbe"; - break; - case 4: - os << "Panjshanbe"; - break; - case 5: - os << "Adine"; - break; - case 6: - os << "Shanbe"; - break; - default: - os << static_cast(wd) << " is not a valid weekday"; - break; - } - return os; -} - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -inline namespace literals -{ - -CONSTCD11 -inline -solar_hijri::day -operator "" _d(unsigned long long d) NOEXCEPT -{ - return solar_hijri::day{static_cast(d)}; -} - -CONSTCD11 -inline -solar_hijri::year -operator "" _y(unsigned long long y) NOEXCEPT -{ - return solar_hijri::year(static_cast(y)); -} -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -CONSTDATA solar_hijri::last_spec last{}; - -CONSTDATA solar_hijri::month far {1}; -CONSTDATA solar_hijri::month ord {2}; -CONSTDATA solar_hijri::month kho {3}; -CONSTDATA solar_hijri::month tir {4}; -CONSTDATA solar_hijri::month mor {5}; -CONSTDATA solar_hijri::month sha {6}; -CONSTDATA solar_hijri::month meh {7}; -CONSTDATA solar_hijri::month aba {8}; -CONSTDATA solar_hijri::month aza {9}; -CONSTDATA solar_hijri::month dey {10}; -CONSTDATA solar_hijri::month bah {11}; -CONSTDATA solar_hijri::month esf {12}; - -CONSTDATA solar_hijri::month Farvardin {1}; -CONSTDATA solar_hijri::month Ordibehesht {2}; -CONSTDATA solar_hijri::month Khordad {3}; -CONSTDATA solar_hijri::month Tir {4}; -CONSTDATA solar_hijri::month Mordad {5}; -CONSTDATA solar_hijri::month Shahrivar {6}; -CONSTDATA solar_hijri::month Mehr {7}; -CONSTDATA solar_hijri::month Aban {8}; -CONSTDATA solar_hijri::month Azar {9}; -CONSTDATA solar_hijri::month Dey {10}; -CONSTDATA solar_hijri::month Bahman {11}; -CONSTDATA solar_hijri::month Esfand {12}; - -CONSTDATA solar_hijri::weekday yek {0u}; -CONSTDATA solar_hijri::weekday dos {1u}; -CONSTDATA solar_hijri::weekday ses {2u}; -CONSTDATA solar_hijri::weekday cha {3u}; -CONSTDATA solar_hijri::weekday pan {4u}; -CONSTDATA solar_hijri::weekday adi {5u}; -CONSTDATA solar_hijri::weekday shn {6u}; - -CONSTDATA solar_hijri::weekday Yekshanbe {0u}; -CONSTDATA solar_hijri::weekday Doshanbe {1u}; -CONSTDATA solar_hijri::weekday Seshanbe {2u}; -CONSTDATA solar_hijri::weekday Chaharshanbe {3u}; -CONSTDATA solar_hijri::weekday Panjshanbe {4u}; -CONSTDATA solar_hijri::weekday Adine {5u}; -CONSTDATA solar_hijri::weekday Shanbe {6u}; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -} // inline namespace literals -#endif - -// weekday_indexed - -CONSTCD11 -inline -weekday -weekday_indexed::weekday() const NOEXCEPT -{ - return solar_hijri::weekday{static_cast(wd_)}; -} - -CONSTCD11 inline unsigned weekday_indexed::index() const NOEXCEPT {return index_;} - -CONSTCD11 -inline -bool -weekday_indexed::ok() const NOEXCEPT -{ - return weekday().ok() && 1 <= index_ && index_ <= 5; -} - -CONSTCD11 -inline -weekday_indexed::weekday_indexed(const solar_hijri::weekday& wd, unsigned index) NOEXCEPT - : wd_(static_cast(static_cast(wd))) - , index_(static_cast(index)) - {} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_indexed& wdi) -{ - return os << wdi.weekday() << '[' << wdi.index() << ']'; -} - -CONSTCD11 -inline -weekday_indexed -weekday::operator[](unsigned index) const NOEXCEPT -{ - return {*this, index}; -} - -CONSTCD11 -inline -bool -operator==(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return x.weekday() == y.weekday() && x.index() == y.index(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_indexed& x, const weekday_indexed& y) NOEXCEPT -{ - return !(x == y); -} - -// weekday_last - -CONSTCD11 inline solar_hijri::weekday weekday_last::weekday() const NOEXCEPT {return wd_;} -CONSTCD11 inline bool weekday_last::ok() const NOEXCEPT {return wd_.ok();} -CONSTCD11 inline weekday_last::weekday_last(const solar_hijri::weekday& wd) NOEXCEPT : wd_(wd) {} - -CONSTCD11 -inline -bool -operator==(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return x.weekday() == y.weekday(); -} - -CONSTCD11 -inline -bool -operator!=(const weekday_last& x, const weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const weekday_last& wdl) -{ - return os << wdl.weekday() << "[last]"; -} - -CONSTCD11 -inline -weekday_last -weekday::operator[](last_spec) const NOEXCEPT -{ - return weekday_last{*this}; -} - -// year_month - -CONSTCD11 -inline -year_month::year_month(const solar_hijri::year& y, const solar_hijri::month& m) NOEXCEPT - : y_(y) - , m_(m) - {} - -CONSTCD11 inline year year_month::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool year_month::ok() const NOEXCEPT {return y_.ok() && m_.ok();} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const months& dm) NOEXCEPT -{ - *this = *this + dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const months& dm) NOEXCEPT -{ - *this = *this - dm; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator+=(const years& dy) NOEXCEPT -{ - *this = *this + dy; - return *this; -} - -CONSTCD14 -inline -year_month& -year_month::operator-=(const years& dy) NOEXCEPT -{ - *this = *this - dy; - return *this; -} - -CONSTCD11 -inline -bool -operator==(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month& x, const year_month& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month())); -} - -CONSTCD11 -inline -bool -operator>(const year_month& x, const year_month& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month& x, const year_month& y) NOEXCEPT -{ - return !(x < y); -} - -CONSTCD14 -inline -year_month -operator+(const year_month& ym, const months& dm) NOEXCEPT -{ - auto dmi = static_cast(static_cast(ym.month())) - 1 + dm.count(); - auto dy = (dmi >= 0 ? dmi : dmi-11) / 12; - dmi = dmi - dy * 12 + 1; - return (ym.year() + years(dy)) / month(static_cast(dmi)); -} - -CONSTCD14 -inline -year_month -operator+(const months& dm, const year_month& ym) NOEXCEPT -{ - return ym + dm; -} - -CONSTCD14 -inline -year_month -operator-(const year_month& ym, const months& dm) NOEXCEPT -{ - return ym + -dm; -} - -CONSTCD11 -inline -months -operator-(const year_month& x, const year_month& y) NOEXCEPT -{ - return (x.year() - y.year()) + - months(static_cast(x.month()) - static_cast(y.month())); -} - -CONSTCD11 -inline -year_month -operator+(const year_month& ym, const years& dy) NOEXCEPT -{ - return (ym.year() + dy) / ym.month(); -} - -CONSTCD11 -inline -year_month -operator+(const years& dy, const year_month& ym) NOEXCEPT -{ - return ym + dy; -} - -CONSTCD11 -inline -year_month -operator-(const year_month& ym, const years& dy) NOEXCEPT -{ - return ym + -dy; -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month& ym) -{ - return os << ym.year() << '/' << ym.month(); -} - -// month_day - -CONSTCD11 -inline -month_day::month_day(const solar_hijri::month& m, const solar_hijri::day& d) NOEXCEPT - : m_(m) - , d_(d) - {} - -CONSTCD11 inline solar_hijri::month month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline solar_hijri::day month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -bool -month_day::ok() const NOEXCEPT -{ - CONSTDATA solar_hijri::day d[] = { - solar_hijri::day(31), solar_hijri::day(31), solar_hijri::day(31), - solar_hijri::day(31), solar_hijri::day(31), solar_hijri::day(31), - solar_hijri::day(30), solar_hijri::day(30), solar_hijri::day(30), - solar_hijri::day(30), solar_hijri::day(30), solar_hijri::day(30) - }; - return m_.ok() && solar_hijri::day(1) <= d_ && d_ <= d[static_cast(m_)-1]; -} - -CONSTCD11 -inline -bool -operator==(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day& x, const month_day& y) NOEXCEPT -{ - return x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())); -} - -CONSTCD11 -inline -bool -operator>(const month_day& x, const month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day& x, const month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day& md) -{ - return os << md.month() << '/' << md.day(); -} - -// month_day_last - -CONSTCD11 inline month month_day_last::month() const NOEXCEPT {return m_;} -CONSTCD11 inline bool month_day_last::ok() const NOEXCEPT {return m_.ok();} -CONSTCD11 inline month_day_last::month_day_last(const solar_hijri::month& m) NOEXCEPT : m_(m) {} - -CONSTCD11 -inline -bool -operator==(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() == y.month(); -} - -CONSTCD11 -inline -bool -operator!=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return x.month() < y.month(); -} - -CONSTCD11 -inline -bool -operator>(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const month_day_last& x, const month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_day_last& mdl) -{ - return os << mdl.month() << "/last"; -} - -// month_weekday - -CONSTCD11 -inline -month_weekday::month_weekday(const solar_hijri::month& m, - const solar_hijri::weekday_indexed& wdi) NOEXCEPT - : m_(m) - , wdi_(wdi) - {} - -CONSTCD11 inline month month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_indexed -month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD11 -inline -bool -month_weekday::ok() const NOEXCEPT -{ - return m_.ok() && wdi_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday& x, const month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday& mwd) -{ - return os << mwd.month() << '/' << mwd.weekday_indexed(); -} - -// month_weekday_last - -CONSTCD11 -inline -month_weekday_last::month_weekday_last(const solar_hijri::month& m, - const solar_hijri::weekday_last& wdl) NOEXCEPT - : m_(m) - , wdl_(wdl) - {} - -CONSTCD11 inline month month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday_last -month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD11 -inline -bool -month_weekday_last::ok() const NOEXCEPT -{ - return m_.ok() && wdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return x.month() == y.month() && x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const month_weekday_last& x, const month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const month_weekday_last& mwdl) -{ - return os << mwdl.month() << '/' << mwdl.weekday_last(); -} - -// year_month_day_last - -CONSTCD11 -inline -year_month_day_last::year_month_day_last(const solar_hijri::year& y, - const solar_hijri::month_day_last& mdl) NOEXCEPT - : y_(y) - , mdl_(mdl) - {} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day_last& -year_month_day_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_day_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day_last::month() const NOEXCEPT {return mdl_.month();} - -CONSTCD11 -inline -month_day_last -year_month_day_last::month_day_last() const NOEXCEPT -{ - return mdl_; -} - -CONSTCD14 -inline -day -year_month_day_last::day() const NOEXCEPT -{ - CONSTDATA solar_hijri::day d[] = { - solar_hijri::day(31), solar_hijri::day(31), solar_hijri::day(31), - solar_hijri::day(31), solar_hijri::day(31), solar_hijri::day(31), - solar_hijri::day(30), solar_hijri::day(30), solar_hijri::day(30), - solar_hijri::day(30), solar_hijri::day(30), solar_hijri::day(29) - }; - return month() != esf || !y_.is_leap() ? - d[static_cast(month()) - 1] : solar_hijri::day(30); -} - -CONSTCD14 -inline -year_month_day_last::operator sys_days() const NOEXCEPT -{ - return sys_days(year()/month()/day()); -} - -CONSTCD14 -inline -year_month_day_last::operator local_days() const NOEXCEPT -{ - return local_days(year()/month()/day()); -} - -CONSTCD11 -inline -bool -year_month_day_last::ok() const NOEXCEPT -{ - return y_.ok() && mdl_.ok(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month_day_last() == y.month_day_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month_day_last() < y.month_day_last())); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day_last& x, const year_month_day_last& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day_last& ymdl) -{ - return os << ymdl.year() << '/' << ymdl.month_day_last(); -} - -CONSTCD14 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return (ymdl.year() / ymdl.month() + dm) / last; -} - -CONSTCD14 -inline -year_month_day_last -operator+(const months& dm, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dm; -} - -CONSTCD14 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const months& dm) NOEXCEPT -{ - return ymdl + (-dm); -} - -CONSTCD11 -inline -year_month_day_last -operator+(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return {ymdl.year()+dy, ymdl.month_day_last()}; -} - -CONSTCD11 -inline -year_month_day_last -operator+(const years& dy, const year_month_day_last& ymdl) NOEXCEPT -{ - return ymdl + dy; -} - -CONSTCD11 -inline -year_month_day_last -operator-(const year_month_day_last& ymdl, const years& dy) NOEXCEPT -{ - return ymdl + (-dy); -} - -// year_month_day - -CONSTCD11 -inline -year_month_day::year_month_day(const solar_hijri::year& y, const solar_hijri::month& m, - const solar_hijri::day& d) NOEXCEPT - : y_(y) - , m_(m) - , d_(d) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(const year_month_day_last& ymdl) NOEXCEPT - : y_(ymdl.year()) - , m_(ymdl.month()) - , d_(ymdl.day()) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(sys_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_day::year_month_day(local_days dp) NOEXCEPT - : year_month_day(from_days(dp.time_since_epoch())) - {} - -CONSTCD11 inline year year_month_day::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_day::month() const NOEXCEPT {return m_;} -CONSTCD11 inline day year_month_day::day() const NOEXCEPT {return d_;} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_day& -year_month_day::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD14 -inline -days -year_month_day::to_days() const NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - - using namespace internal; - auto const y = static_cast(y_) - 475; - auto const m = static_cast(m_); - auto const d = static_cast(d_); - auto const era_d = static_cast(y >= 0 ? y : y-years_in_era+1) / static_cast(years_in_era); - auto const era = static_cast(era_d); - auto const fdoe = static_cast(epoch + era * days_in_era); - auto const yoe = static_cast(y - era * years_in_era); - - auto const period_d = static_cast(yoe/years_in_period); - auto const period = static_cast(period_d); - auto const yop = yoe%years_in_period; - auto const fdop = period*days_in_period; - auto const cycle = yop < 29 ? 0 : static_cast((yop-29)/years_in_other_cycles + 1); - auto const yoc = yop < 29 ? yop : (yop-29)%years_in_other_cycles; - auto const fdoc = cycle > 0 ? days_in_first_cycle + (cycle-1)*days_in_other_cycles : 0; - auto const group = yoc < 1 ? 0 : static_cast((yoc-1) / 4); - auto const yog = static_cast(yoc < 1 ? -1 : (yoc-1) % 4); - auto const fdoyog = group*1461 + (yog+1)*365; - auto const fdoyoe = fdop + fdoc + fdoyog; - - auto const doy = 30*(m-1) + ((m > 6) ? 6 : m-1) + d-1; // [0, 365] - auto const doe = fdoe + fdoyoe + doy; - return days{doe - unix_time_shift}; -} - -CONSTCD14 -inline -year_month_day::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_day::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_day::ok() const NOEXCEPT -{ - if (!(y_.ok() && m_.ok())) - return false; - return solar_hijri::day(1) <= d_ && d_ <= (y_/m_/last).day(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && x.day() == y.day(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x == y); -} - -CONSTCD11 -inline -bool -operator<(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return x.year() < y.year() ? true - : (x.year() > y.year() ? false - : (x.month() < y.month() ? true - : (x.month() > y.month() ? false - : (x.day() < y.day())))); -} - -CONSTCD11 -inline -bool -operator>(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return y < x; -} - -CONSTCD11 -inline -bool -operator<=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(y < x); -} - -CONSTCD11 -inline -bool -operator>=(const year_month_day& x, const year_month_day& y) NOEXCEPT -{ - return !(x < y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_day& ymd) -{ - date::detail::save_ostream _(os); - os.fill('0'); - os.flags(std::ios::dec | std::ios::right); - os << ymd.year() << '-'; - os.width(2); - os << static_cast(ymd.month()) << '-'; - os << ymd.day(); - return os; -} - -CONSTCD14 -inline -year_month_day -year_month_day::from_days(days dp) NOEXCEPT -{ - static_assert(std::numeric_limits::digits >= 18, - "This algorithm has not been ported to a 16 bit unsigned integer"); - static_assert(std::numeric_limits::digits >= 20, - "This algorithm has not been ported to a 16 bit signed integer"); - - using namespace internal; - auto const z = dp.count() + unix_time_shift; - auto const delta = static_cast(z - epoch); - auto const era = static_cast(delta >= 0 ? delta : delta-days_in_era+1) / static_cast(days_in_era); - auto const era_i = static_cast(era); - auto const fdoe = static_cast(epoch + static_cast(era_i * days_in_era)); - - auto const doe_fdoe = z - fdoe; - auto const period = static_cast(doe_fdoe < 22*days_in_period ? doe_fdoe / days_in_period : 22); - auto const dop = doe_fdoe % days_in_period; - auto const cycle = dop < days_in_first_cycle ? 0 : (dop-days_in_first_cycle) / days_in_other_cycles + 1; - auto const doc = dop < days_in_first_cycle ? dop : (dop-days_in_first_cycle) % days_in_other_cycles; - auto const group = doc < 365 && period != 22 ? -1 : static_cast(((doc < 365 ? 365 : doc)-365)/1461); - auto const yog = doc < 365 && period != 22 ? -1 : static_cast( (period != 22 ? ((doc-365 )%1461) : doc)/365); - auto const yoc = group == -1 ? 0 : (period != 22 ? 1 : 0) + group*4 + (yog == 4 ? 3 : yog); - auto const doy = group == -1 ? doc : (period != 22 ? ((yoc-1)%4 == 0 ? (group >= 0 ? (doe_fdoe - - (period*days_in_period) - - (cycle > 0 ? days_in_first_cycle + (cycle-1)*days_in_other_cycles : 0) - - (group*1461 + ((yog == 4 ? 3 : yog)+1)*365)) - : 365) - : doe_fdoe - - (period*days_in_period) - - (cycle > 0 ? days_in_first_cycle + (cycle-1)*days_in_other_cycles : 0) - - (group*1461 + ((yog == 4 ? 3 : yog)+1)*365)) - : (yog == 4 ? 365 : doe_fdoe - (period*days_in_period) - yog*365)); - auto const yoe = period != 22 ? period*years_in_period + - (cycle > 0 ? years_in_first_cycle + - (cycle-1)*years_in_other_cycles - : 0) + - yoc - : 22*years_in_period + ((yog == 4) ? 3 : yog); - auto const y = static_cast(static_cast(yoe) + 475 + era_i * years_in_era); - auto const m = doy < 186 ? doy/31 + 1 : (doy-186)/30 + 7; // [1, 12] - auto const d = doy - (30*(m-1) + ((m > 6) ? 6 : m-1) - 1); // [1, 31] - - return year_month_day{solar_hijri::year(y), solar_hijri::month(m), solar_hijri::day(d)}; -} - -CONSTCD14 -inline -year_month_day -operator+(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return (ymd.year() / ymd.month() + dm) / ymd.day(); -} - -CONSTCD14 -inline -year_month_day -operator+(const months& dm, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dm; -} - -CONSTCD14 -inline -year_month_day -operator-(const year_month_day& ymd, const months& dm) NOEXCEPT -{ - return ymd + (-dm); -} - -CONSTCD11 -inline -year_month_day -operator+(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return (ymd.year() + dy) / ymd.month() / ymd.day(); -} - -CONSTCD11 -inline -year_month_day -operator+(const years& dy, const year_month_day& ymd) NOEXCEPT -{ - return ymd + dy; -} - -CONSTCD11 -inline -year_month_day -operator-(const year_month_day& ymd, const years& dy) NOEXCEPT -{ - return ymd + (-dy); -} - -// year_month_weekday - -CONSTCD11 -inline -year_month_weekday::year_month_weekday(const solar_hijri::year& y, const solar_hijri::month& m, - const solar_hijri::weekday_indexed& wdi) - NOEXCEPT - : y_(y) - , m_(m) - , wdi_(wdi) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const sys_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday::year_month_weekday(const local_days& dp) NOEXCEPT - : year_month_weekday(from_days(dp.time_since_epoch())) - {} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday& -year_month_weekday::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday::weekday() const NOEXCEPT -{ - return wdi_.weekday(); -} - -CONSTCD11 -inline -unsigned -year_month_weekday::index() const NOEXCEPT -{ - return wdi_.index(); -} - -CONSTCD11 -inline -weekday_indexed -year_month_weekday::weekday_indexed() const NOEXCEPT -{ - return wdi_; -} - -CONSTCD14 -inline -year_month_weekday::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD14 -inline -bool -year_month_weekday::ok() const NOEXCEPT -{ - if (!y_.ok() || !m_.ok() || !wdi_.weekday().ok() || wdi_.index() < 1) - return false; - if (wdi_.index() <= 4) - return true; - auto d2 = wdi_.weekday() - solar_hijri::weekday(y_/m_/1) + days((wdi_.index()-1)*7 + 1); - return static_cast(d2.count()) <= static_cast((y_/m_/last).day()); -} - -CONSTCD14 -inline -year_month_weekday -year_month_weekday::from_days(days d) NOEXCEPT -{ - sys_days dp{d}; - auto const wd = solar_hijri::weekday(dp); - auto const ymd = year_month_day(dp); - return {ymd.year(), ymd.month(), wd[(static_cast(ymd.day())-1)/7+1]}; -} - -CONSTCD14 -inline -days -year_month_weekday::to_days() const NOEXCEPT -{ - auto d = sys_days(y_/m_/1); - return (d + (wdi_.weekday() - solar_hijri::weekday(d) + days{(wdi_.index()-1)*7}) - ).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_indexed() == y.weekday_indexed(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday& x, const year_month_weekday& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday& ymwdi) -{ - return os << ymwdi.year() << '/' << ymwdi.month() - << '/' << ymwdi.weekday_indexed(); -} - -CONSTCD14 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return (ymwd.year() / ymwd.month() + dm) / ymwd.weekday_indexed(); -} - -CONSTCD14 -inline -year_month_weekday -operator+(const months& dm, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dm; -} - -CONSTCD14 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const months& dm) NOEXCEPT -{ - return ymwd + (-dm); -} - -CONSTCD11 -inline -year_month_weekday -operator+(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return {ymwd.year()+dy, ymwd.month(), ymwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator+(const years& dy, const year_month_weekday& ymwd) NOEXCEPT -{ - return ymwd + dy; -} - -CONSTCD11 -inline -year_month_weekday -operator-(const year_month_weekday& ymwd, const years& dy) NOEXCEPT -{ - return ymwd + (-dy); -} - -// year_month_weekday_last - -CONSTCD11 -inline -year_month_weekday_last::year_month_weekday_last(const solar_hijri::year& y, - const solar_hijri::month& m, - const solar_hijri::weekday_last& wdl) NOEXCEPT - : y_(y) - , m_(m) - , wdl_(wdl) - {} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const months& m) NOEXCEPT -{ - *this = *this + m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const months& m) NOEXCEPT -{ - *this = *this - m; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator+=(const years& y) NOEXCEPT -{ - *this = *this + y; - return *this; -} - -CONSTCD14 -inline -year_month_weekday_last& -year_month_weekday_last::operator-=(const years& y) NOEXCEPT -{ - *this = *this - y; - return *this; -} - -CONSTCD11 inline year year_month_weekday_last::year() const NOEXCEPT {return y_;} -CONSTCD11 inline month year_month_weekday_last::month() const NOEXCEPT {return m_;} - -CONSTCD11 -inline -weekday -year_month_weekday_last::weekday() const NOEXCEPT -{ - return wdl_.weekday(); -} - -CONSTCD11 -inline -weekday_last -year_month_weekday_last::weekday_last() const NOEXCEPT -{ - return wdl_; -} - -CONSTCD14 -inline -year_month_weekday_last::operator sys_days() const NOEXCEPT -{ - return sys_days{to_days()}; -} - -CONSTCD14 -inline -year_month_weekday_last::operator local_days() const NOEXCEPT -{ - return local_days{to_days()}; -} - -CONSTCD11 -inline -bool -year_month_weekday_last::ok() const NOEXCEPT -{ - return y_.ok() && m_.ok() && wdl_.ok(); -} - -CONSTCD14 -inline -days -year_month_weekday_last::to_days() const NOEXCEPT -{ - auto const d = sys_days(y_/m_/last); - return (d - (solar_hijri::weekday{d} - wdl_.weekday())).time_since_epoch(); -} - -CONSTCD11 -inline -bool -operator==(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return x.year() == y.year() && x.month() == y.month() && - x.weekday_last() == y.weekday_last(); -} - -CONSTCD11 -inline -bool -operator!=(const year_month_weekday_last& x, const year_month_weekday_last& y) NOEXCEPT -{ - return !(x == y); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const year_month_weekday_last& ymwdl) -{ - return os << ymwdl.year() << '/' << ymwdl.month() << '/' << ymwdl.weekday_last(); -} - -CONSTCD14 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return (ymwdl.year() / ymwdl.month() + dm) / ymwdl.weekday_last(); -} - -CONSTCD14 -inline -year_month_weekday_last -operator+(const months& dm, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dm; -} - -CONSTCD14 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const months& dm) NOEXCEPT -{ - return ymwdl + (-dm); -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return {ymwdl.year()+dy, ymwdl.month(), ymwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator+(const years& dy, const year_month_weekday_last& ymwdl) NOEXCEPT -{ - return ymwdl + dy; -} - -CONSTCD11 -inline -year_month_weekday_last -operator-(const year_month_weekday_last& ymwdl, const years& dy) NOEXCEPT -{ - return ymwdl + (-dy); -} - -// year_month from operator/() - -CONSTCD11 -inline -year_month -operator/(const year& y, const month& m) NOEXCEPT -{ - return {y, m}; -} - -CONSTCD11 -inline -year_month -operator/(const year& y, int m) NOEXCEPT -{ - return y / month(static_cast(m)); -} - -// month_day from operator/() - -CONSTCD11 -inline -month_day -operator/(const month& m, const day& d) NOEXCEPT -{ - return {m, d}; -} - -CONSTCD11 -inline -month_day -operator/(const day& d, const month& m) NOEXCEPT -{ - return m / d; -} - -CONSTCD11 -inline -month_day -operator/(const month& m, int d) NOEXCEPT -{ - return m / day(static_cast(d)); -} - -CONSTCD11 -inline -month_day -operator/(int m, const day& d) NOEXCEPT -{ - return month(static_cast(m)) / d; -} - -CONSTCD11 inline month_day operator/(const day& d, int m) NOEXCEPT {return m / d;} - -// month_day_last from operator/() - -CONSTCD11 -inline -month_day_last -operator/(const month& m, last_spec) NOEXCEPT -{ - return month_day_last{m}; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, const month& m) NOEXCEPT -{ - return m/last; -} - -CONSTCD11 -inline -month_day_last -operator/(int m, last_spec) NOEXCEPT -{ - return month(static_cast(m))/last; -} - -CONSTCD11 -inline -month_day_last -operator/(last_spec, int m) NOEXCEPT -{ - return m/last; -} - -// month_weekday from operator/() - -CONSTCD11 -inline -month_weekday -operator/(const month& m, const weekday_indexed& wdi) NOEXCEPT -{ - return {m, wdi}; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, const month& m) NOEXCEPT -{ - return m / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(int m, const weekday_indexed& wdi) NOEXCEPT -{ - return month(static_cast(m)) / wdi; -} - -CONSTCD11 -inline -month_weekday -operator/(const weekday_indexed& wdi, int m) NOEXCEPT -{ - return m / wdi; -} - -// month_weekday_last from operator/() - -CONSTCD11 -inline -month_weekday_last -operator/(const month& m, const weekday_last& wdl) NOEXCEPT -{ - return {m, wdl}; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, const month& m) NOEXCEPT -{ - return m / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(int m, const weekday_last& wdl) NOEXCEPT -{ - return month(static_cast(m)) / wdl; -} - -CONSTCD11 -inline -month_weekday_last -operator/(const weekday_last& wdl, int m) NOEXCEPT -{ - return m / wdl; -} - -// year_month_day from operator/() - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, const day& d) NOEXCEPT -{ - return {ym.year(), ym.month(), d}; -} - -CONSTCD11 -inline -year_month_day -operator/(const year_month& ym, int d) NOEXCEPT -{ - return ym / day(static_cast(d)); -} - -CONSTCD11 -inline -year_month_day -operator/(const year& y, const month_day& md) NOEXCEPT -{ - return y / md.month() / md.day(); -} - -CONSTCD11 -inline -year_month_day -operator/(int y, const month_day& md) NOEXCEPT -{ - return year(y) / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, const year& y) NOEXCEPT -{ - return y / md; -} - -CONSTCD11 -inline -year_month_day -operator/(const month_day& md, int y) NOEXCEPT -{ - return year(y) / md; -} - -// year_month_day_last from operator/() - -CONSTCD11 -inline -year_month_day_last -operator/(const year_month& ym, last_spec) NOEXCEPT -{ - return {ym.year(), month_day_last{ym.month()}}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const year& y, const month_day_last& mdl) NOEXCEPT -{ - return {y, mdl}; -} - -CONSTCD11 -inline -year_month_day_last -operator/(int y, const month_day_last& mdl) NOEXCEPT -{ - return year(y) / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, const year& y) NOEXCEPT -{ - return y / mdl; -} - -CONSTCD11 -inline -year_month_day_last -operator/(const month_day_last& mdl, int y) NOEXCEPT -{ - return year(y) / mdl; -} - -// year_month_weekday from operator/() - -CONSTCD11 -inline -year_month_weekday -operator/(const year_month& ym, const weekday_indexed& wdi) NOEXCEPT -{ - return {ym.year(), ym.month(), wdi}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const year& y, const month_weekday& mwd) NOEXCEPT -{ - return {y, mwd.month(), mwd.weekday_indexed()}; -} - -CONSTCD11 -inline -year_month_weekday -operator/(int y, const month_weekday& mwd) NOEXCEPT -{ - return year(y) / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, const year& y) NOEXCEPT -{ - return y / mwd; -} - -CONSTCD11 -inline -year_month_weekday -operator/(const month_weekday& mwd, int y) NOEXCEPT -{ - return year(y) / mwd; -} - -// year_month_weekday_last from operator/() - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year_month& ym, const weekday_last& wdl) NOEXCEPT -{ - return {ym.year(), ym.month(), wdl}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const year& y, const month_weekday_last& mwdl) NOEXCEPT -{ - return {y, mwdl.month(), mwdl.weekday_last()}; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(int y, const month_weekday_last& mwdl) NOEXCEPT -{ - return year(y) / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, const year& y) NOEXCEPT -{ - return y / mwdl; -} - -CONSTCD11 -inline -year_month_weekday_last -operator/(const month_weekday_last& mwdl, int y) NOEXCEPT -{ - return year(y) / mwdl; -} - -} // namespace solar_hijri - -#endif // SOLAR_HIJRI_H diff --git a/src/date/tz.cpp b/src/date/tz.cpp deleted file mode 100644 index 999403e..0000000 --- a/src/date/tz.cpp +++ /dev/null @@ -1,4073 +0,0 @@ -// The MIT License (MIT) -// -// Copyright (c) 2015, 2016, 2017 Howard Hinnant -// Copyright (c) 2015 Ville Voutilainen -// Copyright (c) 2016 Alexander Kormanovsky -// Copyright (c) 2016, 2017 Jiangang Zhuang -// Copyright (c) 2017 Nicolas Veloz Savino -// Copyright (c) 2017 Florian Dang -// Copyright (c) 2017 Aaron Bishop -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -#ifdef _WIN32 - // windows.h will be included directly and indirectly (e.g. by curl). - // We need to define these macros to prevent windows.h bringing in - // more than we need and do it early so windows.h doesn't get included - // without these macros having been defined. - // min/max macros interfere with the C++ versions. -# ifndef NOMINMAX -# define NOMINMAX -# endif - // We don't need all that Windows has to offer. -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif - - // for wcstombs -# ifndef _CRT_SECURE_NO_WARNINGS -# define _CRT_SECURE_NO_WARNINGS -# endif - - // None of this happens with the MS SDK (at least VS14 which I tested), but: - // Compiling with mingw, we get "error: 'KF_FLAG_DEFAULT' was not declared in this scope." - // and error: 'SHGetKnownFolderPath' was not declared in this scope.". - // It seems when using mingw NTDDI_VERSION is undefined and that - // causes KNOWN_FOLDER_FLAG and the KF_ flags to not get defined. - // So we must define NTDDI_VERSION to get those flags on mingw. - // The docs say though here: - // https://msdn.microsoft.com/en-nz/library/windows/desktop/aa383745(v=vs.85).aspx - // that "If you define NTDDI_VERSION, you must also define _WIN32_WINNT." - // So we declare we require Vista or greater. -# ifdef __MINGW32__ - -# ifndef NTDDI_VERSION -# define NTDDI_VERSION 0x06000000 -# define _WIN32_WINNT _WIN32_WINNT_VISTA -# elif NTDDI_VERSION < 0x06000000 -# warning "If this fails to compile NTDDI_VERSION may be to low. See comments above." -# endif - // But once we define the values above we then get this linker error: - // "tz.cpp:(.rdata$.refptr.FOLDERID_Downloads[.refptr.FOLDERID_Downloads]+0x0): " - // "undefined reference to `FOLDERID_Downloads'" - // which #include cures see: - // https://support.microsoft.com/en-us/kb/130869 -# include - // But with included, the error moves on to: - // error: 'FOLDERID_Downloads' was not declared in this scope - // Which #include cures. -# include - -# endif // __MINGW32__ - -# include -#endif // _WIN32 - -#include "date/tz_private.h" - -#ifdef __APPLE__ -# include "date/ios.h" -#else -# define TARGET_OS_IPHONE 0 -# define TARGET_OS_SIMULATOR 0 -#endif - -#if USE_OS_TZDB -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if USE_OS_TZDB -# include -#endif -#include -#include -#include -#include -#include - -// unistd.h is used on some platforms as part of the the means to get -// the current time zone. On Win32 windows.h provides a means to do it. -// gcc/mingw supports unistd.h on Win32 but MSVC does not. - -#ifdef _WIN32 -# ifdef WINAPI_FAMILY -# include -# if WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP -# define WINRT -# define INSTALL . -# endif -# endif - -# include // _unlink etc. - -# if defined(__clang__) - struct IUnknown; // fix for issue with static_cast<> in objbase.h - // (see https://github.com/philsquared/Catch/issues/690) -# endif - -# include // CoTaskFree, ShGetKnownFolderPath etc. -# if HAS_REMOTE_API -# include // _mkdir -# include // ShFileOperation etc. -# endif // HAS_REMOTE_API -#else // !_WIN32 -# include -# if !USE_OS_TZDB && !defined(INSTALL) -# include -# endif -# include -# include -# if !USE_SHELL_API -# include -# include -# include -# include -# include -# include -# endif //!USE_SHELL_API -#endif // !_WIN32 - - -#if HAS_REMOTE_API - // Note curl includes windows.h so we must include curl AFTER definitions of things - // that affect windows.h such as NOMINMAX. -#if defined(_MSC_VER) && defined(SHORTENED_CURL_INCLUDE) - // For rmt_curl nuget package -# include -#else -# include -#endif -#endif - -#ifdef _WIN32 -static CONSTDATA char folder_delimiter = '\\'; -#else // !_WIN32 -static CONSTDATA char folder_delimiter = '/'; -#endif // !_WIN32 - -#if defined(__GNUC__) && __GNUC__ < 5 - // GCC 4.9 Bug 61489 Wrong warning with -Wmissing-field-initializers -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wmissing-field-initializers" -#endif // defined(__GNUC__) && __GNUC__ < 5 - -#if !USE_OS_TZDB - -# ifdef _WIN32 -# ifndef WINRT - -namespace -{ - struct task_mem_deleter - { - void operator()(wchar_t buf[]) - { - if (buf != nullptr) - CoTaskMemFree(buf); - } - }; - using co_task_mem_ptr = std::unique_ptr; -} - -static -std::wstring -convert_utf8_to_utf16(const std::string& s) -{ - std::wstring out; - const int size = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, NULL, 0); - - if (size == 0) - { - std::string msg = "Failed to determine required size when converting \""; - msg += s; - msg += "\" to UTF-16."; - throw std::runtime_error(msg); - } - - out.resize(size); - const int check = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, &out[0], size); - - if (size != check) - { - std::string msg = "Failed to convert \""; - msg += s; - msg += "\" to UTF-16."; - throw std::runtime_error(msg); - } - - return out; -} - -// We might need to know certain locations even if not using the remote API, -// so keep these routines out of that block for now. -static -std::string -get_known_folder(const GUID& folderid) -{ - std::string folder; - PWSTR pfolder = nullptr; - HRESULT hr = SHGetKnownFolderPath(folderid, KF_FLAG_DEFAULT, nullptr, &pfolder); - if (SUCCEEDED(hr)) - { - co_task_mem_ptr folder_ptr(pfolder); - const wchar_t* fptr = folder_ptr.get(); - auto state = std::mbstate_t(); - const auto required = std::wcsrtombs(nullptr, &fptr, 0, &state); - if (required != 0 && required != std::size_t(-1)) - { - folder.resize(required); - std::wcsrtombs(&folder[0], &fptr, folder.size(), &state); - } - } - return folder; -} - -# ifndef INSTALL - -// Usually something like "c:\Users\username\Downloads". -static -std::string -get_download_folder() -{ - return get_known_folder(FOLDERID_Downloads); -} - -# endif // !INSTALL - -# endif // WINRT -# else // !_WIN32 - -# if !defined(INSTALL) - -static -std::string -expand_path(std::string path) -{ -# if TARGET_OS_IPHONE - return date::iOSUtils::get_tzdata_path(); -# else // !TARGET_OS_IPHONE - ::wordexp_t w{}; - std::unique_ptr<::wordexp_t, void(*)(::wordexp_t*)> hold{&w, ::wordfree}; - ::wordexp(path.c_str(), &w, 0); - if (w.we_wordc != 1) - throw std::runtime_error("Cannot expand path: " + path); - path = w.we_wordv[0]; - return path; -# endif // !TARGET_OS_IPHONE -} - -static -std::string -get_download_folder() -{ - return expand_path("~/Downloads"); -} - -# endif // !defined(INSTALL) - -# endif // !_WIN32 - -/* - * This class is provided to mimic the following usage of `ifstream`: - * - * std::ifstream is(filename); - * - * file_streambuf ibuf(filename); - * std::istream is(&ibuf); - * - * This is required because `ifstream` does not support opening files - * containing wide characters on Windows. On Windows, `file_streambuf` uses - * `file_open()` to convert the file name to UTF-16 before opening it with - * `_wfopen()`. - * - * Note that this is not an exact re-implementation of `ifstream`, - * but is enough for usage here. - * - * It is partially based on these two implementations: - * - fdinbuf from http://www.josuttis.com/cppcode/fdstream.html - * - stdiobuf https://stackoverflow.com/questions/12342542/convert-file-to-ifstream-c-android-ndk - * - * Apparently MSVC provides non-standard overloads of `ifstream` that support - * a `const wchar_t*` file name, but MinGW does not https://stackoverflow.com/a/822032 - */ -class file_streambuf - : public std::streambuf -{ -private: - FILE* file_; - static const int buffer_size_ = 1024; - char buffer_[buffer_size_]; - -public: - ~file_streambuf() - { - if (file_) - { - ::fclose(file_); - } - } - file_streambuf(const file_streambuf&) = delete; - file_streambuf& operator=(const file_streambuf&) = delete; - - file_streambuf(const std::string& filename) - : file_(file_open(filename)) - { - } - -protected: - virtual - int_type - underflow() - { - if (gptr() == egptr() && file_) - { - const size_t size = ::fread(buffer_, 1, buffer_size_, file_); - setg(buffer_, buffer_, buffer_ + size); - } - return (gptr() == egptr()) - ? traits_type::eof() - : traits_type::to_int_type(*gptr()); - } - -private: - FILE* - file_open(const std::string& filename) - { -# ifdef _WIN32 - std::wstring wfilename = convert_utf8_to_utf16(filename); - FILE* file = ::_wfopen(wfilename.c_str(), L"rb"); -# else // !_WIN32 - FILE* file = ::fopen(filename.c_str(), "rb"); -# endif // _WIN32 - if (file == NULL) - { - std::string msg = "Error opening file \""; - msg += filename; - msg += "\"."; - throw std::runtime_error(msg); - } - return file; - } -}; - -#endif // !USE_OS_TZDB - -namespace date -{ -// +---------------------+ -// | Begin Configuration | -// +---------------------+ - -using namespace detail; - -#if !USE_OS_TZDB - -static -std::string& -access_install() -{ - static std::string install -#ifndef INSTALL - - = get_download_folder() + folder_delimiter + "tzdata"; - -#else // !INSTALL - -# define STRINGIZEIMP(x) #x -# define STRINGIZE(x) STRINGIZEIMP(x) - - = STRINGIZE(INSTALL) + std::string(1, folder_delimiter) + "tzdata"; - - #undef STRINGIZEIMP - #undef STRINGIZE -#endif // !INSTALL - - return install; -} - -void -set_install(const std::string& install) -{ - access_install() = install; -} - -static -const std::string& -get_install() -{ - static const std::string& ref = access_install(); - return ref; -} - -#if HAS_REMOTE_API -static -std::string -get_download_gz_file(const std::string& version) -{ - auto file = get_install() + version + ".tar.gz"; - return file; -} -#endif // HAS_REMOTE_API - -#endif // !USE_OS_TZDB - -// These can be used to reduce the range of the database to save memory -CONSTDATA auto min_year = date::year::min(); -CONSTDATA auto max_year = date::year::max(); - -CONSTDATA auto min_day = date::January/1; -CONSTDATA auto max_day = date::December/31; - -#if USE_OS_TZDB - -CONSTCD14 const sys_seconds min_seconds = sys_days(min_year/min_day); - -#endif // USE_OS_TZDB - -#ifndef _WIN32 - -static -std::string -discover_tz_dir() -{ - struct stat sb; - using namespace std; -# ifndef __APPLE__ - CONSTDATA auto tz_dir_default = "/usr/share/zoneinfo"; - CONSTDATA auto tz_dir_buildroot = "/usr/share/zoneinfo/uclibc"; - - // Check special path which is valid for buildroot with uclibc builds - if(stat(tz_dir_buildroot, &sb) == 0 && S_ISDIR(sb.st_mode)) - return tz_dir_buildroot; - else if(stat(tz_dir_default, &sb) == 0 && S_ISDIR(sb.st_mode)) - return tz_dir_default; - else - throw runtime_error("discover_tz_dir failed to find zoneinfo\n"); -# else // __APPLE__ -# if TARGET_OS_IPHONE -# if TARGET_OS_SIMULATOR - return "/usr/share/zoneinfo"; -# else - return "/var/db/timezone/zoneinfo"; -# endif -# else - CONSTDATA auto timezone = "/etc/localtime"; - if (!(lstat(timezone, &sb) == 0 && S_ISLNK(sb.st_mode) && sb.st_size > 0)) - throw runtime_error("discover_tz_dir failed\n"); - string result; - char rp[PATH_MAX+1] = {}; - if (readlink(timezone, rp, sizeof(rp)-1) > 0) - result = string(rp); - else - throw system_error(errno, system_category(), "readlink() failed"); - auto i = result.find("zoneinfo"); - if (i == string::npos) - throw runtime_error("discover_tz_dir failed to find zoneinfo\n"); - i = result.find('/', i); - if (i == string::npos) - throw runtime_error("discover_tz_dir failed to find '/'\n"); - return result.substr(0, i); -# endif -# endif // __APPLE__ -} - -static -const std::string& -get_tz_dir() -{ - static const std::string tz_dir = discover_tz_dir(); - return tz_dir; -} - -#endif - -// +-------------------+ -// | End Configuration | -// +-------------------+ - -#ifndef _MSC_VER -static_assert(min_year <= max_year, "Configuration error"); -#endif - -static std::unique_ptr init_tzdb(); - -tzdb_list::~tzdb_list() -{ - const tzdb* ptr = head_; - head_ = nullptr; - while (ptr != nullptr) - { - auto next = ptr->next; - delete ptr; - ptr = next; - } -} - -tzdb_list::tzdb_list(tzdb_list&& x) NOEXCEPT - : head_{x.head_.exchange(nullptr)} -{ -} - -void -tzdb_list::push_front(tzdb* tzdb) NOEXCEPT -{ - tzdb->next = head_; - head_ = tzdb; -} - -tzdb_list::const_iterator -tzdb_list::erase_after(const_iterator p) NOEXCEPT -{ - auto t = p.p_->next; - p.p_->next = p.p_->next->next; - delete t; - return ++p; -} - -struct tzdb_list::undocumented_helper -{ - static void push_front(tzdb_list& db_list, tzdb* tzdb) NOEXCEPT - { - db_list.push_front(tzdb); - } -}; - -static -tzdb_list -create_tzdb() -{ - tzdb_list tz_db; - tzdb_list::undocumented_helper::push_front(tz_db, init_tzdb().release()); - return tz_db; -} - -tzdb_list& -get_tzdb_list() -{ - static tzdb_list tz_db = create_tzdb(); - return tz_db; -} - -static -std::string -parse3(std::istream& in) -{ - std::string r(3, ' '); - ws(in); - r[0] = static_cast(in.get()); - r[1] = static_cast(in.get()); - r[2] = static_cast(in.get()); - return r; -} - -static -unsigned -parse_month(std::istream& in) -{ - CONSTDATA char*const month_names[] = - {"Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; - auto s = parse3(in); - auto m = std::find(std::begin(month_names), std::end(month_names), s) - month_names; - if (m >= std::end(month_names) - std::begin(month_names)) - throw std::runtime_error("oops: bad month name: " + s); - return static_cast(++m); -} - -#if !USE_OS_TZDB - -#ifdef _WIN32 - -static -void -sort_zone_mappings(std::vector& mappings) -{ - std::sort(mappings.begin(), mappings.end(), - [](const date::detail::timezone_mapping& lhs, - const date::detail::timezone_mapping& rhs)->bool - { - auto other_result = lhs.other.compare(rhs.other); - if (other_result < 0) - return true; - else if (other_result == 0) - { - auto territory_result = lhs.territory.compare(rhs.territory); - if (territory_result < 0) - return true; - else if (territory_result == 0) - { - if (lhs.type < rhs.type) - return true; - } - } - return false; - }); -} - -static -bool -native_to_standard_timezone_name(const std::string& native_tz_name, - std::string& standard_tz_name) -{ - // TOOD! Need be a case insensitive compare? - if (native_tz_name == "UTC") - { - standard_tz_name = "Etc/UTC"; - return true; - } - standard_tz_name.clear(); - // TODO! we can improve on linear search. - const auto& mappings = date::get_tzdb().mappings; - for (const auto& tzm : mappings) - { - if (tzm.other == native_tz_name) - { - standard_tz_name = tzm.type; - return true; - } - } - return false; -} - -// Parse this XML file: -// https://raw.githubusercontent.com/unicode-org/cldr/master/common/supplemental/windowsZones.xml -// The parsing method is designed to be simple and quick. It is not overly -// forgiving of change but it should diagnose basic format issues. -// See timezone_mapping structure for more info. -static -std::vector -load_timezone_mappings_from_xml_file(const std::string& input_path) -{ - std::size_t line_num = 0; - std::vector mappings; - std::string line; - - file_streambuf ibuf(input_path); - std::istream is(&ibuf); - - auto error = [&input_path, &line_num](const char* info) - { - std::string msg = "Error loading time zone mapping file \""; - msg += input_path; - msg += "\" at line "; - msg += std::to_string(line_num); - msg += ": "; - msg += info; - throw std::runtime_error(msg); - }; - // [optional space]a="b" - auto read_attribute = [&line, &error] - (const char* name, std::string& value, std::size_t startPos) - ->std::size_t - { - value.clear(); - // Skip leading space before attribute name. - std::size_t spos = line.find_first_not_of(' ', startPos); - if (spos == std::string::npos) - spos = startPos; - // Assume everything up to next = is the attribute name - // and that an = will always delimit that. - std::size_t epos = line.find('=', spos); - if (epos == std::string::npos) - error("Expected \'=\' right after attribute name."); - std::size_t name_len = epos - spos; - // Expect the name we find matches the name we expect. - if (line.compare(spos, name_len, name) != 0) - { - std::string msg; - msg = "Expected attribute name \'"; - msg += name; - msg += "\' around position "; - msg += std::to_string(spos); - msg += " but found something else."; - error(msg.c_str()); - } - ++epos; // Skip the '=' that is after the attribute name. - spos = epos; - if (spos < line.length() && line[spos] == '\"') - ++spos; // Skip the quote that is before the attribute value. - else - { - std::string msg = "Expected '\"' to begin value of attribute \'"; - msg += name; - msg += "\'."; - error(msg.c_str()); - } - epos = line.find('\"', spos); - if (epos == std::string::npos) - { - std::string msg = "Expected '\"' to end value of attribute \'"; - msg += name; - msg += "\'."; - error(msg.c_str()); - } - // Extract everything in between the quotes. Note no escaping is done. - std::size_t value_len = epos - spos; - value.assign(line, spos, value_len); - ++epos; // Skip the quote that is after the attribute value; - return epos; - }; - - // Quick but not overly forgiving XML mapping file processing. - bool mapTimezonesOpenTagFound = false; - bool mapTimezonesCloseTagFound = false; - std::size_t mapZonePos = std::string::npos; - std::size_t mapTimezonesPos = std::string::npos; - CONSTDATA char mapTimeZonesOpeningTag[] = { ""); - mapTimezonesCloseTagFound = (mapTimezonesPos != std::string::npos); - if (!mapTimezonesCloseTagFound) - { - std::size_t commentPos = line.find(" " << x.target_; -} - -// leap_second - -leap_second::leap_second(const std::string& s, detail::undocumented) -{ - using namespace date; - std::istringstream in(s); - in.exceptions(std::ios::failbit | std::ios::badbit); - std::string word; - int y; - MonthDayTime date; - in >> word >> y >> date; - date_ = date.to_time_point(year(y)); -} - -static -bool -file_exists(const std::string& filename) -{ -#ifdef _WIN32 - std::wstring wfilename = convert_utf8_to_utf16(filename); - return ::_waccess(wfilename.c_str(), 0) == 0; -#else - return ::access(filename.c_str(), F_OK) == 0; -#endif -} - -#if HAS_REMOTE_API - -// CURL tools - -namespace -{ - -struct curl_global_init_and_cleanup -{ - ~curl_global_init_and_cleanup() - { - ::curl_global_cleanup(); - } - curl_global_init_and_cleanup() - { - if (::curl_global_init(CURL_GLOBAL_DEFAULT) != 0) - throw std::runtime_error("CURL global initialization failed"); - } - curl_global_init_and_cleanup(curl_global_init_and_cleanup const&) = delete; - curl_global_init_and_cleanup& operator=(curl_global_init_and_cleanup const&) = delete; -}; - -struct curl_deleter -{ - void operator()(CURL* p) const - { - ::curl_easy_cleanup(p); - } -}; - -} // unnamed namespace - -static -std::unique_ptr -curl_init() -{ - static const curl_global_init_and_cleanup _{}; - return std::unique_ptr{::curl_easy_init()}; -} - -static -bool -download_to_string(const std::string& url, std::string& str) -{ - str.clear(); - auto curl = curl_init(); - if (!curl) - return false; - std::string version; - curl_easy_setopt(curl.get(), CURLOPT_USERAGENT, "curl"); - curl_easy_setopt(curl.get(), CURLOPT_URL, url.c_str()); - curl_write_callback write_cb = [](char* contents, std::size_t size, std::size_t nmemb, - void* userp) -> std::size_t - { - auto& userstr = *static_cast(userp); - auto realsize = size * nmemb; - userstr.append(contents, realsize); - return realsize; - }; - curl_easy_setopt(curl.get(), CURLOPT_WRITEFUNCTION, write_cb); - curl_easy_setopt(curl.get(), CURLOPT_WRITEDATA, &str); - curl_easy_setopt(curl.get(), CURLOPT_SSL_VERIFYPEER, false); - auto res = curl_easy_perform(curl.get()); - return (res == CURLE_OK); -} - -namespace -{ - enum class download_file_options { binary, text }; -} - -static -bool -download_to_file(const std::string& url, const std::string& local_filename, - download_file_options opts, char* error_buffer) -{ - auto curl = curl_init(); - if (!curl) - return false; - curl_easy_setopt(curl.get(), CURLOPT_URL, url.c_str()); - curl_easy_setopt(curl.get(), CURLOPT_SSL_VERIFYPEER, false); - if (error_buffer) - curl_easy_setopt(curl.get(), CURLOPT_ERRORBUFFER, error_buffer); - curl_write_callback write_cb = [](char* contents, std::size_t size, std::size_t nmemb, - void* userp) -> std::size_t - { - auto& of = *static_cast(userp); - auto realsize = size * nmemb; - of.write(contents, static_cast(realsize)); - return realsize; - }; - curl_easy_setopt(curl.get(), CURLOPT_WRITEFUNCTION, write_cb); - decltype(curl_easy_perform(curl.get())) res; - { - std::ofstream of(local_filename, - opts == download_file_options::binary ? - std::ofstream::out | std::ofstream::binary : - std::ofstream::out); - of.exceptions(std::ios::badbit); - curl_easy_setopt(curl.get(), CURLOPT_WRITEDATA, &of); - res = curl_easy_perform(curl.get()); - } - return res == CURLE_OK; -} - -std::string -remote_version() -{ - std::string version; - std::string str; - if (download_to_string("https://www.iana.org/time-zones", str)) - { - CONSTDATA char db[] = "/time-zones/releases/tzdata"; - CONSTDATA auto db_size = sizeof(db) - 1; - auto p = str.find(db, 0, db_size); - const int ver_str_len = 5; - if (p != std::string::npos && p + (db_size + ver_str_len) <= str.size()) - version = str.substr(p + db_size, ver_str_len); - } - return version; -} - - -// TODO! Using system() create a process and a console window. -// This is useful to see what errors may occur but is slow and distracting. -// Consider implementing this functionality more directly, such as -// using _mkdir and CreateProcess etc. -// But use the current means now as matches Unix implementations and while -// in proof of concept / testing phase. -// TODO! Use eventually. -static -bool -remove_folder_and_subfolders(const std::string& folder) -{ -# ifdef _WIN32 -# if USE_SHELL_API - // Delete the folder contents by deleting the folder. - std::string cmd = "rd /s /q \""; - cmd += folder; - cmd += '\"'; - return std::system(cmd.c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - // Create a buffer containing the path to delete. It must be terminated - // by two nuls. Who designs these API's... - std::vector from; - from.assign(folder.begin(), folder.end()); - from.push_back('\0'); - from.push_back('\0'); - SHFILEOPSTRUCT fo{}; // Zero initialize. - fo.wFunc = FO_DELETE; - fo.pFrom = from.data(); - fo.fFlags = FOF_NO_UI; - int ret = SHFileOperation(&fo); - if (ret == 0 && !fo.fAnyOperationsAborted) - return true; - return false; -# endif // !USE_SHELL_API -# else // !_WIN32 -# if USE_SHELL_API - return std::system(("rm -R " + folder).c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - struct dir_deleter { - dir_deleter() {} - void operator()(DIR* d) const - { - if (d != nullptr) - { - int result = closedir(d); - assert(result == 0); - } - } - }; - using closedir_ptr = std::unique_ptr; - - std::string filename; - struct stat statbuf; - std::size_t folder_len = folder.length(); - struct dirent* p = nullptr; - - closedir_ptr d(opendir(folder.c_str())); - bool r = d.get() != nullptr; - while (r && (p=readdir(d.get())) != nullptr) - { - if (strcmp(p->d_name, ".") == 0 || strcmp(p->d_name, "..") == 0) - continue; - - // + 2 for path delimiter and nul terminator. - std::size_t buf_len = folder_len + strlen(p->d_name) + 2; - filename.resize(buf_len); - std::size_t path_len = static_cast( - snprintf(&filename[0], buf_len, "%s/%s", folder.c_str(), p->d_name)); - assert(path_len == buf_len - 1); - filename.resize(path_len); - - if (stat(filename.c_str(), &statbuf) == 0) - r = S_ISDIR(statbuf.st_mode) - ? remove_folder_and_subfolders(filename) - : unlink(filename.c_str()) == 0; - } - d.reset(); - - if (r) - r = rmdir(folder.c_str()) == 0; - - return r; -# endif // !USE_SHELL_API -# endif // !_WIN32 -} - -static -bool -make_directory(const std::string& folder) -{ -# ifdef _WIN32 -# if USE_SHELL_API - // Re-create the folder. - std::string cmd = "mkdir \""; - cmd += folder; - cmd += '\"'; - return std::system(cmd.c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - return _mkdir(folder.c_str()) == 0; -# endif // !USE_SHELL_API -# else // !_WIN32 -# if USE_SHELL_API - return std::system(("mkdir -p " + folder).c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - return mkdir(folder.c_str(), 0777) == 0; -# endif // !USE_SHELL_API -# endif // !_WIN32 -} - -static -bool -delete_file(const std::string& file) -{ -# ifdef _WIN32 -# if USE_SHELL_API - std::string cmd = "del \""; - cmd += file; - cmd += '\"'; - return std::system(cmd.c_str()) == 0; -# else // !USE_SHELL_API - return _unlink(file.c_str()) == 0; -# endif // !USE_SHELL_API -# else // !_WIN32 -# if USE_SHELL_API - return std::system(("rm " + file).c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - return unlink(file.c_str()) == 0; -# endif // !USE_SHELL_API -# endif // !_WIN32 -} - -# ifdef _WIN32 - -static -bool -move_file(const std::string& from, const std::string& to) -{ -# if USE_SHELL_API - std::string cmd = "move \""; - cmd += from; - cmd += "\" \""; - cmd += to; - cmd += '\"'; - return std::system(cmd.c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - return !!::MoveFile(from.c_str(), to.c_str()); -# endif // !USE_SHELL_API -} - -// Usually something like "c:\Program Files". -static -std::string -get_program_folder() -{ - return get_known_folder(FOLDERID_ProgramFiles); -} - -// Note folder can and usually does contain spaces. -static -std::string -get_unzip_program() -{ - std::string path; - - // 7-Zip appears to note its location in the registry. - // If that doesn't work, fall through and take a guess, but it will likely be wrong. - HKEY hKey = nullptr; - if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, "SOFTWARE\\7-Zip", 0, KEY_READ, &hKey) == ERROR_SUCCESS) - { - char value_buffer[MAX_PATH + 1]; // fyi 260 at time of writing. - // in/out parameter. Documentation say that size is a count of bytes not chars. - DWORD size = sizeof(value_buffer) - sizeof(value_buffer[0]); - DWORD tzi_type = REG_SZ; - // Testing shows Path key value is "C:\Program Files\7-Zip\" i.e. always with trailing \. - bool got_value = (RegQueryValueExA(hKey, "Path", nullptr, &tzi_type, - reinterpret_cast(value_buffer), &size) == ERROR_SUCCESS); - RegCloseKey(hKey); // Close now incase of throw later. - if (got_value) - { - // Function does not guarantee to null terminate. - value_buffer[size / sizeof(value_buffer[0])] = '\0'; - path = value_buffer; - if (!path.empty()) - { - path += "7z.exe"; - return path; - } - } - } - path += get_program_folder(); - path += folder_delimiter; - path += "7-Zip\\7z.exe"; - return path; -} - -# if !USE_SHELL_API -static -int -run_program(const std::string& command) -{ - STARTUPINFO si{}; - si.cb = sizeof(si); - PROCESS_INFORMATION pi{}; - - // Allegedly CreateProcess overwrites the command line. Ugh. - std::string mutable_command(command); - if (CreateProcess(nullptr, &mutable_command[0], - nullptr, nullptr, FALSE, CREATE_NO_WINDOW, nullptr, nullptr, &si, &pi)) - { - WaitForSingleObject(pi.hProcess, INFINITE); - DWORD exit_code; - bool got_exit_code = !!GetExitCodeProcess(pi.hProcess, &exit_code); - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - // Not 100% sure about this still active thing is correct, - // but I'm going with it because I *think* WaitForSingleObject might - // return in some cases without INFINITE-ly waiting. - // But why/wouldn't GetExitCodeProcess return false in that case? - if (got_exit_code && exit_code != STILL_ACTIVE) - return static_cast(exit_code); - } - return EXIT_FAILURE; -} -# endif // !USE_SHELL_API - -static -std::string -get_download_tar_file(const std::string& version) -{ - auto file = get_install(); - file += folder_delimiter; - file += "tzdata"; - file += version; - file += ".tar"; - return file; -} - -static -bool -extract_gz_file(const std::string& version, const std::string& gz_file, - const std::string& dest_folder) -{ - auto unzip_prog = get_unzip_program(); - bool unzip_result = false; - // Use the unzip program to extract the tar file from the archive. - - // Aim to create a string like: - // "C:\Program Files\7-Zip\7z.exe" x "C:\Users\SomeUser\Downloads\tzdata2016d.tar.gz" - // -o"C:\Users\SomeUser\Downloads\tzdata" - std::string cmd; - cmd = '\"'; - cmd += unzip_prog; - cmd += "\" x \""; - cmd += gz_file; - cmd += "\" -o\""; - cmd += dest_folder; - cmd += '\"'; - -# if USE_SHELL_API - // When using shelling out with std::system() extra quotes are required around the - // whole command. It's weird but necessary it seems, see: - // http://stackoverflow.com/q/27975969/576911 - - cmd = "\"" + cmd + "\""; - if (std::system(cmd.c_str()) == EXIT_SUCCESS) - unzip_result = true; -# else // !USE_SHELL_API - if (run_program(cmd) == EXIT_SUCCESS) - unzip_result = true; -# endif // !USE_SHELL_API - if (unzip_result) - delete_file(gz_file); - - // Use the unzip program extract the data from the tar file that was - // just extracted from the archive. - auto tar_file = get_download_tar_file(version); - cmd = '\"'; - cmd += unzip_prog; - cmd += "\" x \""; - cmd += tar_file; - cmd += "\" -o\""; - cmd += get_install(); - cmd += '\"'; -# if USE_SHELL_API - cmd = "\"" + cmd + "\""; - if (std::system(cmd.c_str()) == EXIT_SUCCESS) - unzip_result = true; -# else // !USE_SHELL_API - if (run_program(cmd) == EXIT_SUCCESS) - unzip_result = true; -# endif // !USE_SHELL_API - - if (unzip_result) - delete_file(tar_file); - - return unzip_result; -} - -static -std::string -get_download_mapping_file(const std::string& version) -{ - auto file = get_install() + version + "windowsZones.xml"; - return file; -} - -# else // !_WIN32 - -# if !USE_SHELL_API -static -int -run_program(const char* prog, const char*const args[]) -{ - pid_t pid = fork(); - if (pid == -1) // Child failed to start. - return EXIT_FAILURE; - - if (pid != 0) - { - // We are in the parent. Child started. Wait for it. - pid_t ret; - int status; - while ((ret = waitpid(pid, &status, 0)) == -1) - { - if (errno != EINTR) - break; - } - if (ret != -1) - { - if (WIFEXITED(status)) - return WEXITSTATUS(status); - } - printf("Child issues!\n"); - - return EXIT_FAILURE; // Not sure what status of child is. - } - else // We are in the child process. Start the program the parent wants to run. - { - - if (execv(prog, const_cast(args)) == -1) // Does not return. - { - perror("unreachable 0\n"); - _Exit(127); - } - printf("unreachable 2\n"); - } - printf("unreachable 2\n"); - // Unreachable. - assert(false); - exit(EXIT_FAILURE); - return EXIT_FAILURE; -} -# endif // !USE_SHELL_API - -static -bool -extract_gz_file(const std::string&, const std::string& gz_file, const std::string&) -{ -# if USE_SHELL_API - bool unzipped = std::system(("tar -xzf " + gz_file + " -C " + get_install()).c_str()) == EXIT_SUCCESS; -# else // !USE_SHELL_API - const char prog[] = {"/usr/bin/tar"}; - const char*const args[] = - { - prog, "-xzf", gz_file.c_str(), "-C", get_install().c_str(), nullptr - }; - bool unzipped = (run_program(prog, args) == EXIT_SUCCESS); -# endif // !USE_SHELL_API - if (unzipped) - { - delete_file(gz_file); - return true; - } - return false; -} - -# endif // !_WIN32 - -bool -remote_download(const std::string& version, char* error_buffer) -{ - assert(!version.empty()); - -# ifdef _WIN32 - // Download folder should be always available for Windows -# else // !_WIN32 - // Create download folder if it does not exist on UNIX system - auto download_folder = get_install(); - if (!file_exists(download_folder)) - { - if (!make_directory(download_folder)) - return false; - } -# endif // _WIN32 - - auto url = "https://data.iana.org/time-zones/releases/tzdata" + version + - ".tar.gz"; - bool result = download_to_file(url, get_download_gz_file(version), - download_file_options::binary, error_buffer); -# ifdef _WIN32 - if (result) - { - auto mapping_file = get_download_mapping_file(version); - result = download_to_file( - "https://raw.githubusercontent.com/unicode-org/cldr/master/" - "common/supplemental/windowsZones.xml", - mapping_file, download_file_options::text, error_buffer); - } -# endif // _WIN32 - return result; -} - -bool -remote_install(const std::string& version) -{ - auto success = false; - assert(!version.empty()); - - std::string install = get_install(); - auto gz_file = get_download_gz_file(version); - if (file_exists(gz_file)) - { - if (file_exists(install)) - remove_folder_and_subfolders(install); - if (make_directory(install)) - { - if (extract_gz_file(version, gz_file, install)) - success = true; -# ifdef _WIN32 - auto mapping_file_source = get_download_mapping_file(version); - auto mapping_file_dest = get_install(); - mapping_file_dest += folder_delimiter; - mapping_file_dest += "windowsZones.xml"; - if (!move_file(mapping_file_source, mapping_file_dest)) - success = false; -# endif // _WIN32 - } - } - return success; -} - -#endif // HAS_REMOTE_API - -static -std::string -get_version(const std::string& path) -{ - std::string version; - - std::string path_version = path + "version"; - - if (file_exists(path_version)) - { - file_streambuf inbuf(path_version); - std::istream infile(&inbuf); - - infile >> version; - - if (!infile.fail()) - return version; - } - - std::string path_news = path + "NEWS"; - - if (file_exists(path_news)) - { - file_streambuf inbuf(path_news); - std::istream infile(&inbuf); - - while (infile) - { - infile >> version; - if (version == "Release") - { - infile >> version; - return version; - } - } - } - - throw std::runtime_error("Unable to get Timezone database version from " + path); -} - -static -std::unique_ptr -init_tzdb() -{ - using namespace date; - const std::string install = get_install(); - const std::string path = install + folder_delimiter; - std::string line; - bool continue_zone = false; - std::unique_ptr db(new tzdb); - -#if AUTO_DOWNLOAD - if (!file_exists(install)) - { - auto rv = remote_version(); - if (!rv.empty() && remote_download(rv)) - { - if (!remote_install(rv)) - { - std::string msg = "Timezone database version \""; - msg += rv; - msg += "\" did not install correctly to \""; - msg += install; - msg += "\""; - throw std::runtime_error(msg); - } - } - if (!file_exists(install)) - { - std::string msg = "Timezone database not found at \""; - msg += install; - msg += "\""; - throw std::runtime_error(msg); - } - db->version = get_version(path); - } - else - { - db->version = get_version(path); - auto rv = remote_version(); - if (!rv.empty() && db->version != rv) - { - if (remote_download(rv)) - { - remote_install(rv); - db->version = get_version(path); - } - } - } -#else // !AUTO_DOWNLOAD - if (!file_exists(install)) - { - std::string msg = "Timezone database not found at \""; - msg += install; - msg += "\""; - throw std::runtime_error(msg); - } - db->version = get_version(path); -#endif // !AUTO_DOWNLOAD - - CONSTDATA char*const files[] = - { - "africa", "antarctica", "asia", "australasia", "backward", "etcetera", "europe", - "pacificnew", "northamerica", "southamerica", "systemv", "leapseconds" - }; - - for (const auto& filename : files) - { - std::string file_path = path + filename; - if (!file_exists(file_path)) - { - continue; - } - file_streambuf inbuf(file_path); - std::istream infile(&inbuf); - while (infile) - { - std::getline(infile, line); - if (!line.empty() && line[0] != '#') - { - std::istringstream in(line); - std::string word; - in >> word; - if (word == "Rule") - { - db->rules.push_back(Rule(line)); - continue_zone = false; - } - else if (word == "Link") - { - db->links.push_back(time_zone_link(line)); - continue_zone = false; - } - else if (word == "Leap") - { - db->leap_seconds.push_back(leap_second(line, detail::undocumented{})); - continue_zone = false; - } - else if (word == "Zone") - { - db->zones.push_back(time_zone(line, detail::undocumented{})); - continue_zone = true; - } - else if (line[0] == '\t' && continue_zone) - { - db->zones.back().add(line); - } - else if (word.size() > 0 && word[0] == '#') - { - continue; - } - else - { - std::cerr << line << '\n'; - } - } - } - } - std::sort(db->rules.begin(), db->rules.end()); - Rule::split_overlaps(db->rules); - std::sort(db->zones.begin(), db->zones.end()); - db->zones.shrink_to_fit(); - std::sort(db->links.begin(), db->links.end()); - db->links.shrink_to_fit(); - std::sort(db->leap_seconds.begin(), db->leap_seconds.end()); - db->leap_seconds.shrink_to_fit(); - -#ifdef _WIN32 - std::string mapping_file = get_install() + folder_delimiter + "windowsZones.xml"; - db->mappings = load_timezone_mappings_from_xml_file(mapping_file); - sort_zone_mappings(db->mappings); -#endif // _WIN32 - - return db; -} - -const tzdb& -reload_tzdb() -{ -#if AUTO_DOWNLOAD - auto const& v = get_tzdb_list().front().version; - if (!v.empty() && v == remote_version()) - return get_tzdb_list().front(); -#endif // AUTO_DOWNLOAD - tzdb_list::undocumented_helper::push_front(get_tzdb_list(), init_tzdb().release()); - return get_tzdb_list().front(); -} - -#endif // !USE_OS_TZDB - -const tzdb& -get_tzdb() -{ - return get_tzdb_list().front(); -} - -const time_zone* -#if HAS_STRING_VIEW -tzdb::locate_zone(std::string_view tz_name) const -#else -tzdb::locate_zone(const std::string& tz_name) const -#endif -{ - auto zi = std::lower_bound(zones.begin(), zones.end(), tz_name, -#if HAS_STRING_VIEW - [](const time_zone& z, const std::string_view& nm) -#else - [](const time_zone& z, const std::string& nm) -#endif - { - return z.name() < nm; - }); - if (zi == zones.end() || zi->name() != tz_name) - { -#if !USE_OS_TZDB - auto li = std::lower_bound(links.begin(), links.end(), tz_name, -#if HAS_STRING_VIEW - [](const time_zone_link& z, const std::string_view& nm) -#else - [](const time_zone_link& z, const std::string& nm) -#endif - { - return z.name() < nm; - }); - if (li != links.end() && li->name() == tz_name) - { - zi = std::lower_bound(zones.begin(), zones.end(), li->target(), - [](const time_zone& z, const std::string& nm) - { - return z.name() < nm; - }); - if (zi != zones.end() && zi->name() == li->target()) - return &*zi; - } -#endif // !USE_OS_TZDB - throw std::runtime_error(std::string(tz_name) + " not found in timezone database"); - } - return &*zi; -} - -const time_zone* -#if HAS_STRING_VIEW -locate_zone(std::string_view tz_name) -#else -locate_zone(const std::string& tz_name) -#endif -{ - return get_tzdb().locate_zone(tz_name); -} - -#if USE_OS_TZDB - -std::ostream& -operator<<(std::ostream& os, const tzdb& db) -{ - os << "Version: " << db.version << "\n\n"; - for (const auto& x : db.zones) - os << x << '\n'; - os << '\n'; - for (const auto& x : db.leap_seconds) - os << x << '\n'; - return os; -} - -#else // !USE_OS_TZDB - -std::ostream& -operator<<(std::ostream& os, const tzdb& db) -{ - os << "Version: " << db.version << '\n'; - std::string title("--------------------------------------------" - "--------------------------------------------\n" - "Name ""Start Y ""End Y " - "Beginning ""Offset " - "Designator\n" - "--------------------------------------------" - "--------------------------------------------\n"); - int count = 0; - for (const auto& x : db.rules) - { - if (count++ % 50 == 0) - os << title; - os << x << '\n'; - } - os << '\n'; - title = std::string("---------------------------------------------------------" - "--------------------------------------------------------\n" - "Name ""Offset " - "Rule ""Abrev ""Until\n" - "---------------------------------------------------------" - "--------------------------------------------------------\n"); - count = 0; - for (const auto& x : db.zones) - { - if (count++ % 10 == 0) - os << title; - os << x << '\n'; - } - os << '\n'; - title = std::string("---------------------------------------------------------" - "--------------------------------------------------------\n" - "Alias ""To\n" - "---------------------------------------------------------" - "--------------------------------------------------------\n"); - count = 0; - for (const auto& x : db.links) - { - if (count++ % 45 == 0) - os << title; - os << x << '\n'; - } - os << '\n'; - title = std::string("---------------------------------------------------------" - "--------------------------------------------------------\n" - "Leap second on\n" - "---------------------------------------------------------" - "--------------------------------------------------------\n"); - os << title; - for (const auto& x : db.leap_seconds) - os << x << '\n'; - return os; -} - -#endif // !USE_OS_TZDB - -// ----------------------- - -#ifdef _WIN32 - -static -std::string -getTimeZoneKeyName() -{ - DYNAMIC_TIME_ZONE_INFORMATION dtzi{}; - auto result = GetDynamicTimeZoneInformation(&dtzi); - if (result == TIME_ZONE_ID_INVALID) - throw std::runtime_error("current_zone(): GetDynamicTimeZoneInformation()" - " reported TIME_ZONE_ID_INVALID."); - auto wlen = wcslen(dtzi.TimeZoneKeyName); - char buf[128] = {}; - assert(sizeof(buf) >= wlen+1); - wcstombs(buf, dtzi.TimeZoneKeyName, wlen); - if (strcmp(buf, "Coordinated Universal Time") == 0) - return "UTC"; - return buf; -} - -const time_zone* -tzdb::current_zone() const -{ - std::string win_tzid = getTimeZoneKeyName(); - std::string standard_tzid; - if (!native_to_standard_timezone_name(win_tzid, standard_tzid)) - { - std::string msg; - msg = "current_zone() failed: A mapping from the Windows Time Zone id \""; - msg += win_tzid; - msg += "\" was not found in the time zone mapping database."; - throw std::runtime_error(msg); - } - return locate_zone(standard_tzid); -} - -#else // !_WIN32 - -#if HAS_STRING_VIEW - -static -std::string_view -extract_tz_name(char const* rp) -{ - using namespace std; - string_view result = rp; - CONSTDATA string_view zoneinfo = "zoneinfo"; - size_t pos = result.rfind(zoneinfo); - if (pos == result.npos) - throw runtime_error( - "current_zone() failed to find \"zoneinfo\" in " + string(result)); - pos = result.find('/', pos); - result.remove_prefix(pos + 1); - return result; -} - -#else // !HAS_STRING_VIEW - -static -std::string -extract_tz_name(char const* rp) -{ - using namespace std; - string result = rp; - CONSTDATA char zoneinfo[] = "zoneinfo"; - size_t pos = result.rfind(zoneinfo); - if (pos == result.npos) - throw runtime_error( - "current_zone() failed to find \"zoneinfo\" in " + result); - pos = result.find('/', pos); - result.erase(0, pos + 1); - return result; -} - -#endif // HAS_STRING_VIEW - -static -bool -sniff_realpath(const char* timezone) -{ - using namespace std; - char rp[PATH_MAX+1] = {}; - if (realpath(timezone, rp) == nullptr) - throw system_error(errno, system_category(), "realpath() failed"); - auto result = extract_tz_name(rp); - return result != "posixrules"; -} - -const time_zone* -tzdb::current_zone() const -{ - // On some OS's a file called /etc/localtime may - // exist and it may be either a real file - // containing time zone details or a symlink to such a file. - // On MacOS and BSD Unix if this file is a symlink it - // might resolve to a path like this: - // "/usr/share/zoneinfo/America/Los_Angeles" - // If it does, we try to determine the current - // timezone from the remainder of the path by removing the prefix - // and hoping the rest resolves to a valid timezone. - // It may not always work though. If it doesn't then an - // exception will be thrown by local_timezone. - // The path may also take a relative form: - // "../usr/share/zoneinfo/America/Los_Angeles". - { - struct stat sb; - CONSTDATA auto timezone = "/etc/localtime"; - if (lstat(timezone, &sb) == 0 && S_ISLNK(sb.st_mode) && sb.st_size > 0) - { - using namespace std; - static const bool use_realpath = sniff_realpath(timezone); - char rp[PATH_MAX+1] = {}; - if (use_realpath) - { - if (realpath(timezone, rp) == nullptr) - throw system_error(errno, system_category(), "realpath() failed"); - } - else - { - if (readlink(timezone, rp, sizeof(rp)-1) <= 0) - throw system_error(errno, system_category(), "readlink() failed"); - } - return locate_zone(extract_tz_name(rp)); - } - } - // On embedded systems e.g. buildroot with uclibc the timezone is linked - // into /etc/TZ which is a symlink to path like this: - // "/usr/share/zoneinfo/uclibc/America/Los_Angeles" - // If it does, we try to determine the current - // timezone from the remainder of the path by removing the prefix - // and hoping the rest resolves to valid timezone. - // It may not always work though. If it doesn't then an - // exception will be thrown by local_timezone. - // The path may also take a relative form: - // "../usr/share/zoneinfo/uclibc/America/Los_Angeles". - { - struct stat sb; - CONSTDATA auto timezone = "/etc/TZ"; - if (lstat(timezone, &sb) == 0 && S_ISLNK(sb.st_mode) && sb.st_size > 0) { - using namespace std; - string result; - char rp[PATH_MAX+1] = {}; - if (readlink(timezone, rp, sizeof(rp)-1) > 0) - result = string(rp); - else - throw system_error(errno, system_category(), "readlink() failed"); - - const size_t pos = result.find(get_tz_dir()); - if (pos != result.npos) - result.erase(0, get_tz_dir().size() + 1 + pos); - return locate_zone(result); - } - } - { - // On some versions of some linux distro's (e.g. Ubuntu), - // the current timezone might be in the first line of - // the /etc/timezone file. - std::ifstream timezone_file("/etc/timezone"); - if (timezone_file.is_open()) - { - std::string result; - std::getline(timezone_file, result); - if (!result.empty()) - return locate_zone(result); - } - // Fall through to try other means. - } - { - // On some versions of some bsd distro's (e.g. FreeBSD), - // the current timezone might be in the first line of - // the /var/db/zoneinfo file. - std::ifstream timezone_file("/var/db/zoneinfo"); - if (timezone_file.is_open()) - { - std::string result; - std::getline(timezone_file, result); - if (!result.empty()) - return locate_zone(result); - } - // Fall through to try other means. - } - { - // On some versions of some bsd distro's (e.g. iOS), - // it is not possible to use file based approach, - // we switch to system API, calling functions in - // CoreFoundation framework. -#if TARGET_OS_IPHONE - std::string result = date::iOSUtils::get_current_timezone(); - if (!result.empty()) - return locate_zone(result); -#endif - // Fall through to try other means. - } - { - // On some versions of some linux distro's (e.g. Red Hat), - // the current timezone might be in the first line of - // the /etc/sysconfig/clock file as: - // ZONE="US/Eastern" - std::ifstream timezone_file("/etc/sysconfig/clock"); - std::string result; - while (timezone_file) - { - std::getline(timezone_file, result); - auto p = result.find("ZONE=\""); - if (p != std::string::npos) - { - result.erase(0, p+6); - result.erase(result.rfind('"')); - return locate_zone(result); - } - } - // Fall through to try other means. - } - throw std::runtime_error("Could not get current timezone"); -} - -#endif // !_WIN32 - -const time_zone* -current_zone() -{ - return get_tzdb().current_zone(); -} - -} // namespace date - -#if defined(__GNUC__) && __GNUC__ < 5 -# pragma GCC diagnostic pop -#endif diff --git a/src/date/tz.h b/src/date/tz.h deleted file mode 100644 index 61dde29..0000000 --- a/src/date/tz.h +++ /dev/null @@ -1,2792 +0,0 @@ -#ifndef TZ_H -#define TZ_H - -// The MIT License (MIT) -// -// Copyright (c) 2015, 2016, 2017 Howard Hinnant -// Copyright (c) 2017 Jiangang Zhuang -// Copyright (c) 2017 Aaron Bishop -// Copyright (c) 2017 Tomasz Kamiński -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -// Get more recent database at http://www.iana.org/time-zones - -// The notion of "current timezone" is something the operating system is expected to "just -// know". How it knows this is system specific. It's often a value set by the user at OS -// installation time and recorded by the OS somewhere. On Linux and Mac systems the current -// timezone name is obtained by looking at the name or contents of a particular file on -// disk. On Windows the current timezone name comes from the registry. In either method, -// there is no guarantee that the "native" current timezone name obtained will match any -// of the "Standard" names in this library's "database". On Linux, the names usually do -// seem to match so mapping functions to map from native to "Standard" are typically not -// required. On Windows, the names are never "Standard" so mapping is always required. -// Technically any OS may use the mapping process but currently only Windows does use it. - -#ifndef USE_OS_TZDB -# define USE_OS_TZDB 0 -#endif - -#ifndef HAS_REMOTE_API -# if USE_OS_TZDB == 0 -# ifdef _WIN32 -# define HAS_REMOTE_API 0 -# else -# define HAS_REMOTE_API 1 -# endif -# else // HAS_REMOTE_API makes no sense when using the OS timezone database -# define HAS_REMOTE_API 0 -# endif -#endif - -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wconstant-logical-operand" -#endif - -static_assert(!(USE_OS_TZDB && HAS_REMOTE_API), - "USE_OS_TZDB and HAS_REMOTE_API can not be used together"); - -#ifdef __clang__ -# pragma clang diagnostic pop -#endif - -#ifndef AUTO_DOWNLOAD -# define AUTO_DOWNLOAD HAS_REMOTE_API -#endif - -static_assert(HAS_REMOTE_API == 0 ? AUTO_DOWNLOAD == 0 : true, - "AUTO_DOWNLOAD can not be turned on without HAS_REMOTE_API"); - -#ifndef USE_SHELL_API -# define USE_SHELL_API 1 -#endif - -#if USE_OS_TZDB -# ifdef _WIN32 -# error "USE_OS_TZDB can not be used on Windows" -# endif -#endif - -#ifndef HAS_DEDUCTION_GUIDES -# if __cplusplus >= 201703 -# define HAS_DEDUCTION_GUIDES 1 -# else -# define HAS_DEDUCTION_GUIDES 0 -# endif -#endif // HAS_DEDUCTION_GUIDES - -#include "date.h" - -#if defined(_MSC_VER) && (_MSC_VER < 1900) -#include "tz_private.h" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _WIN32 -# ifdef DATE_BUILD_DLL -# define DATE_API __declspec(dllexport) -# elif defined(DATE_USE_DLL) -# define DATE_API __declspec(dllimport) -# else -# define DATE_API -# endif -#else -# ifdef DATE_BUILD_DLL -# define DATE_API __attribute__ ((visibility ("default"))) -# else -# define DATE_API -# endif -#endif - -namespace date -{ - -enum class choose {earliest, latest}; - -namespace detail -{ - struct undocumented; - - template - struct nodeduct - { - using type = T; - }; - - template - using nodeduct_t = typename nodeduct::type; -} - -struct sys_info -{ - sys_seconds begin; - sys_seconds end; - std::chrono::seconds offset; - std::chrono::minutes save; - std::string abbrev; -}; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const sys_info& r) -{ - os << r.begin << '\n'; - os << r.end << '\n'; - os << make_time(r.offset) << "\n"; - os << make_time(r.save) << "\n"; - os << r.abbrev << '\n'; - return os; -} - -struct local_info -{ - enum {unique, nonexistent, ambiguous} result; - sys_info first; - sys_info second; -}; - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const local_info& r) -{ - if (r.result == local_info::nonexistent) - os << "nonexistent between\n"; - else if (r.result == local_info::ambiguous) - os << "ambiguous between\n"; - os << r.first; - if (r.result != local_info::unique) - { - os << "and\n"; - os << r.second; - } - return os; -} - -class nonexistent_local_time - : public std::runtime_error -{ -public: - template - nonexistent_local_time(local_time tp, const local_info& i); - -private: - template - static - std::string - make_msg(local_time tp, const local_info& i); -}; - -template -inline -nonexistent_local_time::nonexistent_local_time(local_time tp, - const local_info& i) - : std::runtime_error(make_msg(tp, i)) -{ -} - -template -std::string -nonexistent_local_time::make_msg(local_time tp, const local_info& i) -{ - assert(i.result == local_info::nonexistent); - std::ostringstream os; - os << tp << " is in a gap between\n" - << local_seconds{i.first.end.time_since_epoch()} + i.first.offset << ' ' - << i.first.abbrev << " and\n" - << local_seconds{i.second.begin.time_since_epoch()} + i.second.offset << ' ' - << i.second.abbrev - << " which are both equivalent to\n" - << i.first.end << " UTC"; - return os.str(); -} - -class ambiguous_local_time - : public std::runtime_error -{ -public: - template - ambiguous_local_time(local_time tp, const local_info& i); - -private: - template - static - std::string - make_msg(local_time tp, const local_info& i); -}; - -template -inline -ambiguous_local_time::ambiguous_local_time(local_time tp, const local_info& i) - : std::runtime_error(make_msg(tp, i)) -{ -} - -template -std::string -ambiguous_local_time::make_msg(local_time tp, const local_info& i) -{ - assert(i.result == local_info::ambiguous); - std::ostringstream os; - os << tp << " is ambiguous. It could be\n" - << tp << ' ' << i.first.abbrev << " == " - << tp - i.first.offset << " UTC or\n" - << tp << ' ' << i.second.abbrev << " == " - << tp - i.second.offset << " UTC"; - return os.str(); -} - -class time_zone; - -#if HAS_STRING_VIEW -DATE_API const time_zone* locate_zone(std::string_view tz_name); -#else -DATE_API const time_zone* locate_zone(const std::string& tz_name); -#endif - -DATE_API const time_zone* current_zone(); - -template -struct zoned_traits -{ -}; - -template <> -struct zoned_traits -{ - static - const time_zone* - default_zone() - { - return date::locate_zone("Etc/UTC"); - } - -#if HAS_STRING_VIEW - - static - const time_zone* - locate_zone(std::string_view name) - { - return date::locate_zone(name); - } - -#else // !HAS_STRING_VIEW - - static - const time_zone* - locate_zone(const std::string& name) - { - return date::locate_zone(name); - } - - static - const time_zone* - locate_zone(const char* name) - { - return date::locate_zone(name); - } - -#endif // !HAS_STRING_VIEW -}; - -template -class zoned_time; - -template -bool -operator==(const zoned_time& x, - const zoned_time& y); - -template -class zoned_time -{ -public: - using duration = typename std::common_type::type; - -private: - TimeZonePtr zone_; - sys_time tp_; - -public: -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::default_zone())> -#endif - zoned_time(); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::default_zone())> -#endif - zoned_time(const sys_time& st); - explicit zoned_time(TimeZonePtr z); - -#if HAS_STRING_VIEW - template ::locate_zone(std::string_view())) - >::value - >::type> - explicit zoned_time(std::string_view name); -#else -# if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())) - >::value - >::type> -# endif - explicit zoned_time(const std::string& name); -#endif - - template , - sys_time>::value - >::type> - zoned_time(const zoned_time& zt) NOEXCEPT; - - zoned_time(TimeZonePtr z, const sys_time& st); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ()->to_sys(local_time{})), - sys_time - >::value - >::type> -#endif - zoned_time(TimeZonePtr z, const local_time& tp); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ()->to_sys(local_time{}, - choose::earliest)), - sys_time - >::value - >::type> -#endif - zoned_time(TimeZonePtr z, const local_time& tp, choose c); - - template , - sys_time>::value - >::type> - zoned_time(TimeZonePtr z, const zoned_time& zt); - - template , - sys_time>::value - >::type> - zoned_time(TimeZonePtr z, const zoned_time& zt, choose); - -#if HAS_STRING_VIEW - - template ::locate_zone(std::string_view())), - sys_time - >::value - >::type> - zoned_time(std::string_view name, detail::nodeduct_t&> st); - - template ::locate_zone(std::string_view())), - local_time - >::value - >::type> - zoned_time(std::string_view name, detail::nodeduct_t&> tp); - - template ::locate_zone(std::string_view())), - local_time, - choose - >::value - >::type> - zoned_time(std::string_view name, detail::nodeduct_t&> tp, choose c); - - template , - sys_time>::value && - std::is_constructible - < - zoned_time, - decltype(zoned_traits::locate_zone(std::string_view())), - zoned_time - >::value - >::type> - zoned_time(std::string_view name, const zoned_time& zt); - - template , - sys_time>::value && - std::is_constructible - < - zoned_time, - decltype(zoned_traits::locate_zone(std::string_view())), - zoned_time, - choose - >::value - >::type> - zoned_time(std::string_view name, const zoned_time& zt, choose); - -#else // !HAS_STRING_VIEW - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())), - sys_time - >::value - >::type> -#endif - zoned_time(const std::string& name, const sys_time& st); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())), - sys_time - >::value - >::type> -#endif - zoned_time(const char* name, const sys_time& st); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())), - local_time - >::value - >::type> -#endif - zoned_time(const std::string& name, const local_time& tp); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())), - local_time - >::value - >::type> -#endif - zoned_time(const char* name, const local_time& tp); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())), - local_time, - choose - >::value - >::type> -#endif - zoned_time(const std::string& name, const local_time& tp, choose c); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template ::locate_zone(std::string())), - local_time, - choose - >::value - >::type> -#endif - zoned_time(const char* name, const local_time& tp, choose c); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template , - sys_time>::value && - std::is_constructible - < - zoned_time, - decltype(zoned_traits::locate_zone(std::string())), - zoned_time - >::value - >::type> -#else - template -#endif - zoned_time(const std::string& name, const zoned_time& zt); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template , - sys_time>::value && - std::is_constructible - < - zoned_time, - decltype(zoned_traits::locate_zone(std::string())), - zoned_time - >::value - >::type> -#else - template -#endif - zoned_time(const char* name, const zoned_time& zt); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template , - sys_time>::value && - std::is_constructible - < - zoned_time, - decltype(zoned_traits::locate_zone(std::string())), - zoned_time, - choose - >::value - >::type> -#else - template -#endif - zoned_time(const std::string& name, const zoned_time& zt, - choose); - -#if !defined(_MSC_VER) || (_MSC_VER > 1916) - template , - sys_time>::value && - std::is_constructible - < - zoned_time, - decltype(zoned_traits::locate_zone(std::string())), - zoned_time, - choose - >::value - >::type> -#else - template -#endif - zoned_time(const char* name, const zoned_time& zt, - choose); - -#endif // !HAS_STRING_VIEW - - zoned_time& operator=(const sys_time& st); - zoned_time& operator=(const local_time& ut); - - explicit operator sys_time() const; - explicit operator local_time() const; - - TimeZonePtr get_time_zone() const; - local_time get_local_time() const; - sys_time get_sys_time() const; - sys_info get_info() const; - - template - friend - bool - operator==(const zoned_time& x, - const zoned_time& y); - - template - friend - std::basic_ostream& - operator<<(std::basic_ostream& os, - const zoned_time& t); - -private: - template friend class zoned_time; - - template - static - TimeZonePtr2&& - check(TimeZonePtr2&& p); -}; - -using zoned_seconds = zoned_time; - -#if HAS_DEDUCTION_GUIDES - -namespace detail -{ - template - using time_zone_representation = - std::conditional_t - < - std::is_convertible::value, - time_zone const*, - std::remove_cv_t> - >; -} - -zoned_time() - -> zoned_time; - -template -zoned_time(sys_time) - -> zoned_time>; - -template -zoned_time(TimeZonePtrOrName&&) - -> zoned_time>; - -template -zoned_time(TimeZonePtrOrName&&, sys_time) - -> zoned_time, detail::time_zone_representation>; - -template -zoned_time(TimeZonePtrOrName&&, local_time, choose = choose::earliest) - -> zoned_time, detail::time_zone_representation>; - -template -zoned_time(TimeZonePtrOrName&&, zoned_time, choose = choose::earliest) - -> zoned_time, detail::time_zone_representation>; - -#endif // HAS_DEDUCTION_GUIDES - -template -inline -bool -operator==(const zoned_time& x, - const zoned_time& y) -{ - return x.zone_ == y.zone_ && x.tp_ == y.tp_; -} - -template -inline -bool -operator!=(const zoned_time& x, - const zoned_time& y) -{ - return !(x == y); -} - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) - -namespace detail -{ -# if USE_OS_TZDB - struct transition; - struct expanded_ttinfo; -# else // !USE_OS_TZDB - struct zonelet; - class Rule; -# endif // !USE_OS_TZDB -} - -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - -class time_zone -{ -private: - std::string name_; -#if USE_OS_TZDB - std::vector transitions_; - std::vector ttinfos_; -#else // !USE_OS_TZDB - std::vector zonelets_; -#endif // !USE_OS_TZDB - std::unique_ptr adjusted_; - -public: -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) - time_zone(time_zone&&) = default; - time_zone& operator=(time_zone&&) = default; -#else // defined(_MSC_VER) && (_MSC_VER < 1900) - time_zone(time_zone&& src); - time_zone& operator=(time_zone&& src); -#endif // defined(_MSC_VER) && (_MSC_VER < 1900) - - DATE_API explicit time_zone(const std::string& s, detail::undocumented); - - const std::string& name() const NOEXCEPT; - - template sys_info get_info(sys_time st) const; - template local_info get_info(local_time tp) const; - - template - sys_time::type> - to_sys(local_time tp) const; - - template - sys_time::type> - to_sys(local_time tp, choose z) const; - - template - local_time::type> - to_local(sys_time tp) const; - - friend bool operator==(const time_zone& x, const time_zone& y) NOEXCEPT; - friend bool operator< (const time_zone& x, const time_zone& y) NOEXCEPT; - friend DATE_API std::ostream& operator<<(std::ostream& os, const time_zone& z); - -#if !USE_OS_TZDB - DATE_API void add(const std::string& s); -#endif // !USE_OS_TZDB - -private: - DATE_API sys_info get_info_impl(sys_seconds tp) const; - DATE_API local_info get_info_impl(local_seconds tp) const; - - template - sys_time::type> - to_sys_impl(local_time tp, choose z, std::false_type) const; - template - sys_time::type> - to_sys_impl(local_time tp, choose, std::true_type) const; - -#if USE_OS_TZDB - DATE_API void init() const; - DATE_API void init_impl(); - DATE_API sys_info - load_sys_info(std::vector::const_iterator i) const; - - template - DATE_API void - load_data(std::istream& inf, std::int32_t tzh_leapcnt, std::int32_t tzh_timecnt, - std::int32_t tzh_typecnt, std::int32_t tzh_charcnt); -#else // !USE_OS_TZDB - DATE_API sys_info get_info_impl(sys_seconds tp, int tz_int) const; - DATE_API void adjust_infos(const std::vector& rules); - DATE_API void parse_info(std::istream& in); -#endif // !USE_OS_TZDB -}; - -#if defined(_MSC_VER) && (_MSC_VER < 1900) - -inline -time_zone::time_zone(time_zone&& src) - : name_(std::move(src.name_)) - , zonelets_(std::move(src.zonelets_)) - , adjusted_(std::move(src.adjusted_)) - {} - -inline -time_zone& -time_zone::operator=(time_zone&& src) -{ - name_ = std::move(src.name_); - zonelets_ = std::move(src.zonelets_); - adjusted_ = std::move(src.adjusted_); - return *this; -} - -#endif // defined(_MSC_VER) && (_MSC_VER < 1900) - -inline -const std::string& -time_zone::name() const NOEXCEPT -{ - return name_; -} - -template -inline -sys_info -time_zone::get_info(sys_time st) const -{ - return get_info_impl(date::floor(st)); -} - -template -inline -local_info -time_zone::get_info(local_time tp) const -{ - return get_info_impl(date::floor(tp)); -} - -template -inline -sys_time::type> -time_zone::to_sys(local_time tp) const -{ - return to_sys_impl(tp, choose{}, std::true_type{}); -} - -template -inline -sys_time::type> -time_zone::to_sys(local_time tp, choose z) const -{ - return to_sys_impl(tp, z, std::false_type{}); -} - -template -inline -local_time::type> -time_zone::to_local(sys_time tp) const -{ - using LT = local_time::type>; - auto i = get_info(tp); - return LT{(tp + i.offset).time_since_epoch()}; -} - -inline bool operator==(const time_zone& x, const time_zone& y) NOEXCEPT {return x.name_ == y.name_;} -inline bool operator< (const time_zone& x, const time_zone& y) NOEXCEPT {return x.name_ < y.name_;} - -inline bool operator!=(const time_zone& x, const time_zone& y) NOEXCEPT {return !(x == y);} -inline bool operator> (const time_zone& x, const time_zone& y) NOEXCEPT {return y < x;} -inline bool operator<=(const time_zone& x, const time_zone& y) NOEXCEPT {return !(y < x);} -inline bool operator>=(const time_zone& x, const time_zone& y) NOEXCEPT {return !(x < y);} - -template -sys_time::type> -time_zone::to_sys_impl(local_time tp, choose z, std::false_type) const -{ - auto i = get_info(tp); - if (i.result == local_info::nonexistent) - { - return i.first.end; - } - else if (i.result == local_info::ambiguous) - { - if (z == choose::latest) - return sys_time{tp.time_since_epoch()} - i.second.offset; - } - return sys_time{tp.time_since_epoch()} - i.first.offset; -} - -template -sys_time::type> -time_zone::to_sys_impl(local_time tp, choose, std::true_type) const -{ - auto i = get_info(tp); - if (i.result == local_info::nonexistent) - throw nonexistent_local_time(tp, i); - else if (i.result == local_info::ambiguous) - throw ambiguous_local_time(tp, i); - return sys_time{tp.time_since_epoch()} - i.first.offset; -} - -#if !USE_OS_TZDB - -class time_zone_link -{ -private: - std::string name_; - std::string target_; -public: - DATE_API explicit time_zone_link(const std::string& s); - - const std::string& name() const {return name_;} - const std::string& target() const {return target_;} - - friend bool operator==(const time_zone_link& x, const time_zone_link& y) {return x.name_ == y.name_;} - friend bool operator< (const time_zone_link& x, const time_zone_link& y) {return x.name_ < y.name_;} - - friend DATE_API std::ostream& operator<<(std::ostream& os, const time_zone_link& x); -}; - -using link = time_zone_link; - -inline bool operator!=(const time_zone_link& x, const time_zone_link& y) {return !(x == y);} -inline bool operator> (const time_zone_link& x, const time_zone_link& y) {return y < x;} -inline bool operator<=(const time_zone_link& x, const time_zone_link& y) {return !(y < x);} -inline bool operator>=(const time_zone_link& x, const time_zone_link& y) {return !(x < y);} - -#endif // !USE_OS_TZDB - -class leap_second -{ -private: - sys_seconds date_; - -public: -#if USE_OS_TZDB - DATE_API explicit leap_second(const sys_seconds& s, detail::undocumented); -#else - DATE_API explicit leap_second(const std::string& s, detail::undocumented); -#endif - - sys_seconds date() const {return date_;} - - friend bool operator==(const leap_second& x, const leap_second& y) {return x.date_ == y.date_;} - friend bool operator< (const leap_second& x, const leap_second& y) {return x.date_ < y.date_;} - - template - friend - bool - operator==(const leap_second& x, const sys_time& y) - { - return x.date_ == y; - } - - template - friend - bool - operator< (const leap_second& x, const sys_time& y) - { - return x.date_ < y; - } - - template - friend - bool - operator< (const sys_time& x, const leap_second& y) - { - return x < y.date_; - } - - friend DATE_API std::ostream& operator<<(std::ostream& os, const leap_second& x); -}; - -inline bool operator!=(const leap_second& x, const leap_second& y) {return !(x == y);} -inline bool operator> (const leap_second& x, const leap_second& y) {return y < x;} -inline bool operator<=(const leap_second& x, const leap_second& y) {return !(y < x);} -inline bool operator>=(const leap_second& x, const leap_second& y) {return !(x < y);} - -template -inline -bool -operator==(const sys_time& x, const leap_second& y) -{ - return y == x; -} - -template -inline -bool -operator!=(const leap_second& x, const sys_time& y) -{ - return !(x == y); -} - -template -inline -bool -operator!=(const sys_time& x, const leap_second& y) -{ - return !(x == y); -} - -template -inline -bool -operator> (const leap_second& x, const sys_time& y) -{ - return y < x; -} - -template -inline -bool -operator> (const sys_time& x, const leap_second& y) -{ - return y < x; -} - -template -inline -bool -operator<=(const leap_second& x, const sys_time& y) -{ - return !(y < x); -} - -template -inline -bool -operator<=(const sys_time& x, const leap_second& y) -{ - return !(y < x); -} - -template -inline -bool -operator>=(const leap_second& x, const sys_time& y) -{ - return !(x < y); -} - -template -inline -bool -operator>=(const sys_time& x, const leap_second& y) -{ - return !(x < y); -} - -using leap = leap_second; - -#ifdef _WIN32 - -namespace detail -{ - -// The time zone mapping is modelled after this data file: -// http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml -// and the field names match the element names from the mapZone element -// of windowsZones.xml. -// The website displays this file here: -// http://www.unicode.org/cldr/charts/latest/supplemental/zone_tzid.html -// The html view is sorted before being displayed but is otherwise the same -// There is a mapping between the os centric view (in this case windows) -// the html displays uses and the generic view the xml file. -// That mapping is this: -// display column "windows" -> xml field "other". -// display column "region" -> xml field "territory". -// display column "tzid" -> xml field "type". -// This structure uses the generic terminology because it could be -// used to to support other os/native name conversions, not just windows, -// and using the same generic names helps retain the connection to the -// origin of the data that we are using. -struct timezone_mapping -{ - timezone_mapping(const char* other, const char* territory, const char* type) - : other(other), territory(territory), type(type) - { - } - timezone_mapping() = default; - std::string other; - std::string territory; - std::string type; -}; - -} // detail - -#endif // _WIN32 - -struct tzdb -{ - std::string version = "unknown"; - std::vector zones; -#if !USE_OS_TZDB - std::vector links; -#endif - std::vector leap_seconds; -#if !USE_OS_TZDB - std::vector rules; -#endif -#ifdef _WIN32 - std::vector mappings; -#endif - tzdb* next = nullptr; - - tzdb() = default; -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) - tzdb(tzdb&&) = default; - tzdb& operator=(tzdb&&) = default; -#else // defined(_MSC_VER) && (_MSC_VER < 1900) - tzdb(tzdb&& src) - : version(std::move(src.version)) - , zones(std::move(src.zones)) - , links(std::move(src.links)) - , leap_seconds(std::move(src.leap_seconds)) - , rules(std::move(src.rules)) - , mappings(std::move(src.mappings)) - {} - - tzdb& operator=(tzdb&& src) - { - version = std::move(src.version); - zones = std::move(src.zones); - links = std::move(src.links); - leap_seconds = std::move(src.leap_seconds); - rules = std::move(src.rules); - mappings = std::move(src.mappings); - return *this; - } -#endif // defined(_MSC_VER) && (_MSC_VER < 1900) - -#if HAS_STRING_VIEW - const time_zone* locate_zone(std::string_view tz_name) const; -#else - const time_zone* locate_zone(const std::string& tz_name) const; -#endif - const time_zone* current_zone() const; -}; - -using TZ_DB = tzdb; - -DATE_API std::ostream& -operator<<(std::ostream& os, const tzdb& db); - -DATE_API const tzdb& get_tzdb(); - -class tzdb_list -{ - std::atomic head_{nullptr}; - -public: - ~tzdb_list(); - tzdb_list() = default; - tzdb_list(tzdb_list&& x) NOEXCEPT; - - const tzdb& front() const NOEXCEPT {return *head_;} - tzdb& front() NOEXCEPT {return *head_;} - - class const_iterator; - - const_iterator begin() const NOEXCEPT; - const_iterator end() const NOEXCEPT; - - const_iterator cbegin() const NOEXCEPT; - const_iterator cend() const NOEXCEPT; - - const_iterator erase_after(const_iterator p) NOEXCEPT; - - struct undocumented_helper; -private: - void push_front(tzdb* tzdb) NOEXCEPT; -}; - -class tzdb_list::const_iterator -{ - tzdb* p_ = nullptr; - - explicit const_iterator(tzdb* p) NOEXCEPT : p_{p} {} -public: - const_iterator() = default; - - using iterator_category = std::forward_iterator_tag; - using value_type = tzdb; - using reference = const value_type&; - using pointer = const value_type*; - using difference_type = std::ptrdiff_t; - - reference operator*() const NOEXCEPT {return *p_;} - pointer operator->() const NOEXCEPT {return p_;} - - const_iterator& operator++() NOEXCEPT {p_ = p_->next; return *this;} - const_iterator operator++(int) NOEXCEPT {auto t = *this; ++(*this); return t;} - - friend - bool - operator==(const const_iterator& x, const const_iterator& y) NOEXCEPT - {return x.p_ == y.p_;} - - friend - bool - operator!=(const const_iterator& x, const const_iterator& y) NOEXCEPT - {return !(x == y);} - - friend class tzdb_list; -}; - -inline -tzdb_list::const_iterator -tzdb_list::begin() const NOEXCEPT -{ - return const_iterator{head_}; -} - -inline -tzdb_list::const_iterator -tzdb_list::end() const NOEXCEPT -{ - return const_iterator{nullptr}; -} - -inline -tzdb_list::const_iterator -tzdb_list::cbegin() const NOEXCEPT -{ - return begin(); -} - -inline -tzdb_list::const_iterator -tzdb_list::cend() const NOEXCEPT -{ - return end(); -} - -DATE_API tzdb_list& get_tzdb_list(); - -#if !USE_OS_TZDB - -DATE_API const tzdb& reload_tzdb(); -DATE_API void set_install(const std::string& install); - -#endif // !USE_OS_TZDB - -#if HAS_REMOTE_API - -DATE_API std::string remote_version(); -// if provided error_buffer size should be at least CURL_ERROR_SIZE -DATE_API bool remote_download(const std::string& version, char* error_buffer = nullptr); -DATE_API bool remote_install(const std::string& version); - -#endif - -// zoned_time - -namespace detail -{ - -template -inline -T* -to_raw_pointer(T* p) NOEXCEPT -{ - return p; -} - -template -inline -auto -to_raw_pointer(Pointer p) NOEXCEPT - -> decltype(detail::to_raw_pointer(p.operator->())) -{ - return detail::to_raw_pointer(p.operator->()); -} - -} // namespace detail - -template -template -inline -TimeZonePtr2&& -zoned_time::check(TimeZonePtr2&& p) -{ - if (detail::to_raw_pointer(p) == nullptr) - throw std::runtime_error( - "zoned_time constructed with a time zone pointer == nullptr"); - return std::forward(p); -} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time() - : zone_(check(zoned_traits::default_zone())) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const sys_time& st) - : zone_(check(zoned_traits::default_zone())) - , tp_(st) - {} - -template -inline -zoned_time::zoned_time(TimeZonePtr z) - : zone_(check(std::move(z))) - {} - -#if HAS_STRING_VIEW - -template -template -inline -zoned_time::zoned_time(std::string_view name) - : zoned_time(zoned_traits::locate_zone(name)) - {} - -#else // !HAS_STRING_VIEW - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const std::string& name) - : zoned_time(zoned_traits::locate_zone(name)) - {} - -#endif // !HAS_STRING_VIEW - -template -template -inline -zoned_time::zoned_time(const zoned_time& zt) NOEXCEPT - : zone_(zt.zone_) - , tp_(zt.tp_) - {} - -template -inline -zoned_time::zoned_time(TimeZonePtr z, const sys_time& st) - : zone_(check(std::move(z))) - , tp_(st) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(TimeZonePtr z, const local_time& t) - : zone_(check(std::move(z))) - , tp_(zone_->to_sys(t)) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(TimeZonePtr z, const local_time& t, - choose c) - : zone_(check(std::move(z))) - , tp_(zone_->to_sys(t, c)) - {} - -template -template -inline -zoned_time::zoned_time(TimeZonePtr z, - const zoned_time& zt) - : zone_(check(std::move(z))) - , tp_(zt.tp_) - {} - -template -template -inline -zoned_time::zoned_time(TimeZonePtr z, - const zoned_time& zt, choose) - : zoned_time(std::move(z), zt) - {} - -#if HAS_STRING_VIEW - -template -template -inline -zoned_time::zoned_time(std::string_view name, - detail::nodeduct_t&> st) - : zoned_time(zoned_traits::locate_zone(name), st) - {} - -template -template -inline -zoned_time::zoned_time(std::string_view name, - detail::nodeduct_t&> t) - : zoned_time(zoned_traits::locate_zone(name), t) - {} - -template -template -inline -zoned_time::zoned_time(std::string_view name, - detail::nodeduct_t&> t, choose c) - : zoned_time(zoned_traits::locate_zone(name), t, c) - {} - -template -template -inline -zoned_time::zoned_time(std::string_view name, - const zoned_time& zt) - : zoned_time(zoned_traits::locate_zone(name), zt) - {} - -template -template -inline -zoned_time::zoned_time(std::string_view name, - const zoned_time& zt, - choose c) - : zoned_time(zoned_traits::locate_zone(name), zt, c) - {} - -#else // !HAS_STRING_VIEW - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const std::string& name, - const sys_time& st) - : zoned_time(zoned_traits::locate_zone(name), st) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const char* name, - const sys_time& st) - : zoned_time(zoned_traits::locate_zone(name), st) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const std::string& name, - const local_time& t) - : zoned_time(zoned_traits::locate_zone(name), t) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const char* name, - const local_time& t) - : zoned_time(zoned_traits::locate_zone(name), t) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const std::string& name, - const local_time& t, choose c) - : zoned_time(zoned_traits::locate_zone(name), t, c) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#endif -inline -zoned_time::zoned_time(const char* name, - const local_time& t, choose c) - : zoned_time(zoned_traits::locate_zone(name), t, c) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#else -template -#endif -inline -zoned_time::zoned_time(const std::string& name, - const zoned_time& zt) - : zoned_time(zoned_traits::locate_zone(name), zt) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#else -template -#endif -inline -zoned_time::zoned_time(const char* name, - const zoned_time& zt) - : zoned_time(zoned_traits::locate_zone(name), zt) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#else -template -#endif -inline -zoned_time::zoned_time(const std::string& name, - const zoned_time& zt, - choose c) - : zoned_time(zoned_traits::locate_zone(name), zt, c) - {} - -template -#if !defined(_MSC_VER) || (_MSC_VER > 1916) -template -#else -template -#endif -inline -zoned_time::zoned_time(const char* name, - const zoned_time& zt, - choose c) - : zoned_time(zoned_traits::locate_zone(name), zt, c) - {} - -#endif // HAS_STRING_VIEW - -template -inline -zoned_time& -zoned_time::operator=(const sys_time& st) -{ - tp_ = st; - return *this; -} - -template -inline -zoned_time& -zoned_time::operator=(const local_time& ut) -{ - tp_ = zone_->to_sys(ut); - return *this; -} - -template -inline -zoned_time::operator local_time::duration>() const -{ - return get_local_time(); -} - -template -inline -zoned_time::operator sys_time::duration>() const -{ - return get_sys_time(); -} - -template -inline -TimeZonePtr -zoned_time::get_time_zone() const -{ - return zone_; -} - -template -inline -local_time::duration> -zoned_time::get_local_time() const -{ - return zone_->to_local(tp_); -} - -template -inline -sys_time::duration> -zoned_time::get_sys_time() const -{ - return tp_; -} - -template -inline -sys_info -zoned_time::get_info() const -{ - return zone_->get_info(tp_); -} - -// make_zoned_time - -inline -zoned_time -make_zoned() -{ - return zoned_time(); -} - -template -inline -zoned_time::type> -make_zoned(const sys_time& tp) -{ - return zoned_time::type>(tp); -} - -template 1916) -#if !defined(__INTEL_COMPILER) || (__INTEL_COMPILER > 1600) - , class = typename std::enable_if - < - std::is_class - < - typename std::decay - < - decltype(*detail::to_raw_pointer(std::declval())) - >::type - >{} - >::type -#endif -#endif - > -inline -zoned_time -make_zoned(TimeZonePtr z) -{ - return zoned_time(std::move(z)); -} - -inline -zoned_seconds -make_zoned(const std::string& name) -{ - return zoned_seconds(name); -} - -template 1916) -#if !defined(__INTEL_COMPILER) || (__INTEL_COMPILER > 1600) - , class = typename std::enable_if - < - std::is_class())>::type>{} - >::type -#endif -#endif - > -inline -zoned_time::type, TimeZonePtr> -make_zoned(TimeZonePtr zone, const local_time& tp) -{ - return zoned_time::type, - TimeZonePtr>(std::move(zone), tp); -} - -template 1916) -#if !defined(__INTEL_COMPILER) || (__INTEL_COMPILER > 1600) - , class = typename std::enable_if - < - std::is_class())>::type>{} - >::type -#endif -#endif - > -inline -zoned_time::type, TimeZonePtr> -make_zoned(TimeZonePtr zone, const local_time& tp, choose c) -{ - return zoned_time::type, - TimeZonePtr>(std::move(zone), tp, c); -} - -template -inline -zoned_time::type> -make_zoned(const std::string& name, const local_time& tp) -{ - return zoned_time::type>(name, tp); -} - -template -inline -zoned_time::type> -make_zoned(const std::string& name, const local_time& tp, choose c) -{ - return zoned_time::type>(name, tp, c); -} - -template -inline -zoned_time -make_zoned(TimeZonePtr zone, const zoned_time& zt) -{ - return zoned_time(std::move(zone), zt); -} - -template -inline -zoned_time -make_zoned(const std::string& name, const zoned_time& zt) -{ - return zoned_time(name, zt); -} - -template -inline -zoned_time -make_zoned(TimeZonePtr zone, const zoned_time& zt, choose c) -{ - return zoned_time(std::move(zone), zt, c); -} - -template -inline -zoned_time -make_zoned(const std::string& name, const zoned_time& zt, choose c) -{ - return zoned_time(name, zt, c); -} - -template 1916) -#if !defined(__INTEL_COMPILER) || (__INTEL_COMPILER > 1600) - , class = typename std::enable_if - < - std::is_class())>::type>{} - >::type -#endif -#endif - > -inline -zoned_time::type, TimeZonePtr> -make_zoned(TimeZonePtr zone, const sys_time& st) -{ - return zoned_time::type, - TimeZonePtr>(std::move(zone), st); -} - -template -inline -zoned_time::type> -make_zoned(const std::string& name, const sys_time& st) -{ - return zoned_time::type>(name, st); -} - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const zoned_time& tp) -{ - using duration = typename zoned_time::duration; - using LT = local_time; - auto const st = tp.get_sys_time(); - auto const info = tp.get_time_zone()->get_info(st); - return to_stream(os, fmt, LT{(st+info.offset).time_since_epoch()}, - &info.abbrev, &info.offset); -} - -template -inline -std::basic_ostream& -operator<<(std::basic_ostream& os, const zoned_time& t) -{ - const CharT fmt[] = {'%', 'F', ' ', '%', 'T', ' ', '%', 'Z', CharT{}}; - return to_stream(os, fmt, t); -} - -class utc_clock -{ -public: - using duration = std::chrono::system_clock::duration; - using rep = duration::rep; - using period = duration::period; - using time_point = std::chrono::time_point; - static CONSTDATA bool is_steady = false; - - static time_point now(); - - template - static - std::chrono::time_point::type> - to_sys(const std::chrono::time_point&); - - template - static - std::chrono::time_point::type> - from_sys(const std::chrono::time_point&); - - template - static - std::chrono::time_point::type> - to_local(const std::chrono::time_point&); - - template - static - std::chrono::time_point::type> - from_local(const std::chrono::time_point&); -}; - -template - using utc_time = std::chrono::time_point; - -using utc_seconds = utc_time; - -template -utc_time::type> -utc_clock::from_sys(const sys_time& st) -{ - using std::chrono::seconds; - using CD = typename std::common_type::type; - auto const& leaps = get_tzdb().leap_seconds; - auto const lt = std::upper_bound(leaps.begin(), leaps.end(), st); - return utc_time{st.time_since_epoch() + seconds{lt-leaps.begin()}}; -} - -// Return pair -// first is true if ut is during a leap second insertion, otherwise false. -// If ut is during a leap second insertion, that leap second is included in the count -template -std::pair -is_leap_second(date::utc_time const& ut) -{ - using std::chrono::seconds; - using duration = typename std::common_type::type; - auto const& leaps = get_tzdb().leap_seconds; - auto tp = sys_time{ut.time_since_epoch()}; - auto const lt = std::upper_bound(leaps.begin(), leaps.end(), tp); - auto ds = seconds{lt-leaps.begin()}; - tp -= ds; - auto ls = false; - if (lt > leaps.begin()) - { - if (tp < lt[-1]) - { - if (tp >= lt[-1].date() - seconds{1}) - ls = true; - else - --ds; - } - } - return {ls, ds}; -} - -struct leap_second_info -{ - bool is_leap_second; - std::chrono::seconds elapsed; -}; - -template -leap_second_info -get_leap_second_info(date::utc_time const& ut) -{ - auto p = is_leap_second(ut); - return {p.first, p.second}; -} - -template -sys_time::type> -utc_clock::to_sys(const utc_time& ut) -{ - using std::chrono::seconds; - using CD = typename std::common_type::type; - auto ls = is_leap_second(ut); - auto tp = sys_time{ut.time_since_epoch() - ls.second}; - if (ls.first) - tp = floor(tp) + seconds{1} - CD{1}; - return tp; -} - -inline -utc_clock::time_point -utc_clock::now() -{ - return from_sys(std::chrono::system_clock::now()); -} - -template -utc_time::type> -utc_clock::from_local(const local_time& st) -{ - return from_sys(sys_time{st.time_since_epoch()}); -} - -template -local_time::type> -utc_clock::to_local(const utc_time& ut) -{ - using CD = typename std::common_type::type; - return local_time{to_sys(ut).time_since_epoch()}; -} - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const utc_time& t) -{ - using std::chrono::seconds; - using CT = typename std::common_type::type; - const std::string abbrev("UTC"); - CONSTDATA seconds offset{0}; - auto ls = is_leap_second(t); - auto tp = sys_time{t.time_since_epoch() - ls.second}; - auto const sd = floor(tp); - year_month_day ymd = sd; - auto time = make_time(tp - sys_seconds{sd}); - time.seconds(detail::undocumented{}) += seconds{ls.first}; - fields fds{ymd, time}; - return to_stream(os, fmt, fds, &abbrev, &offset); -} - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const utc_time& t) -{ - const CharT fmt[] = {'%', 'F', ' ', '%', 'T', CharT{}}; - return to_stream(os, fmt, t); -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - utc_time& tp, std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - using std::chrono::seconds; - using std::chrono::minutes; - using CT = typename std::common_type::type; - minutes offset_local{}; - auto offptr = offset ? offset : &offset_local; - fields fds{}; - fds.has_tod = true; - from_stream(is, fmt, fds, abbrev, offptr); - if (!fds.ymd.ok()) - is.setstate(std::ios::failbit); - if (!is.fail()) - { - bool is_60_sec = fds.tod.seconds() == seconds{60}; - if (is_60_sec) - fds.tod.seconds(detail::undocumented{}) -= seconds{1}; - auto tmp = utc_clock::from_sys(sys_days(fds.ymd) - *offptr + fds.tod.to_duration()); - if (is_60_sec) - tmp += seconds{1}; - if (is_60_sec != is_leap_second(tmp).first || !fds.tod.in_conventional_range()) - { - is.setstate(std::ios::failbit); - return is; - } - tp = std::chrono::time_point_cast(tmp); - } - return is; -} - -// tai_clock - -class tai_clock -{ -public: - using duration = std::chrono::system_clock::duration; - using rep = duration::rep; - using period = duration::period; - using time_point = std::chrono::time_point; - static const bool is_steady = false; - - static time_point now(); - - template - static - std::chrono::time_point::type> - to_utc(const std::chrono::time_point&) NOEXCEPT; - - template - static - std::chrono::time_point::type> - from_utc(const std::chrono::time_point&) NOEXCEPT; - - template - static - std::chrono::time_point::type> - to_local(const std::chrono::time_point&) NOEXCEPT; - - template - static - std::chrono::time_point::type> - from_local(const std::chrono::time_point&) NOEXCEPT; -}; - -template - using tai_time = std::chrono::time_point; - -using tai_seconds = tai_time; - -template -inline -utc_time::type> -tai_clock::to_utc(const tai_time& t) NOEXCEPT -{ - using std::chrono::seconds; - using CD = typename std::common_type::type; - return utc_time{t.time_since_epoch()} - - (sys_days(year{1970}/January/1) - sys_days(year{1958}/January/1) + seconds{10}); -} - -template -inline -tai_time::type> -tai_clock::from_utc(const utc_time& t) NOEXCEPT -{ - using std::chrono::seconds; - using CD = typename std::common_type::type; - return tai_time{t.time_since_epoch()} + - (sys_days(year{1970}/January/1) - sys_days(year{1958}/January/1) + seconds{10}); -} - -inline -tai_clock::time_point -tai_clock::now() -{ - return from_utc(utc_clock::now()); -} - -template -inline -local_time::type> -tai_clock::to_local(const tai_time& t) NOEXCEPT -{ - using CD = typename std::common_type::type; - return local_time{t.time_since_epoch()} - - (local_days(year{1970}/January/1) - local_days(year{1958}/January/1)); -} - -template -inline -tai_time::type> -tai_clock::from_local(const local_time& t) NOEXCEPT -{ - using CD = typename std::common_type::type; - return tai_time{t.time_since_epoch()} + - (local_days(year{1970}/January/1) - local_days(year{1958}/January/1)); -} - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const tai_time& t) -{ - const std::string abbrev("TAI"); - CONSTDATA std::chrono::seconds offset{0}; - return to_stream(os, fmt, tai_clock::to_local(t), &abbrev, &offset); -} - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const tai_time& t) -{ - const CharT fmt[] = {'%', 'F', ' ', '%', 'T', CharT{}}; - return to_stream(os, fmt, t); -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - tai_time& tp, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - local_time lp; - from_stream(is, fmt, lp, abbrev, offset); - if (!is.fail()) - tp = tai_clock::from_local(lp); - return is; -} - -// gps_clock - -class gps_clock -{ -public: - using duration = std::chrono::system_clock::duration; - using rep = duration::rep; - using period = duration::period; - using time_point = std::chrono::time_point; - static const bool is_steady = false; - - static time_point now(); - - template - static - std::chrono::time_point::type> - to_utc(const std::chrono::time_point&) NOEXCEPT; - - template - static - std::chrono::time_point::type> - from_utc(const std::chrono::time_point&) NOEXCEPT; - - template - static - std::chrono::time_point::type> - to_local(const std::chrono::time_point&) NOEXCEPT; - - template - static - std::chrono::time_point::type> - from_local(const std::chrono::time_point&) NOEXCEPT; -}; - -template - using gps_time = std::chrono::time_point; - -using gps_seconds = gps_time; - -template -inline -utc_time::type> -gps_clock::to_utc(const gps_time& t) NOEXCEPT -{ - using std::chrono::seconds; - using CD = typename std::common_type::type; - return utc_time{t.time_since_epoch()} + - (sys_days(year{1980}/January/Sunday[1]) - sys_days(year{1970}/January/1) + - seconds{9}); -} - -template -inline -gps_time::type> -gps_clock::from_utc(const utc_time& t) NOEXCEPT -{ - using std::chrono::seconds; - using CD = typename std::common_type::type; - return gps_time{t.time_since_epoch()} - - (sys_days(year{1980}/January/Sunday[1]) - sys_days(year{1970}/January/1) + - seconds{9}); -} - -inline -gps_clock::time_point -gps_clock::now() -{ - return from_utc(utc_clock::now()); -} - -template -inline -local_time::type> -gps_clock::to_local(const gps_time& t) NOEXCEPT -{ - using CD = typename std::common_type::type; - return local_time{t.time_since_epoch()} + - (local_days(year{1980}/January/Sunday[1]) - local_days(year{1970}/January/1)); -} - -template -inline -gps_time::type> -gps_clock::from_local(const local_time& t) NOEXCEPT -{ - using CD = typename std::common_type::type; - return gps_time{t.time_since_epoch()} - - (local_days(year{1980}/January/Sunday[1]) - local_days(year{1970}/January/1)); -} - - -template -std::basic_ostream& -to_stream(std::basic_ostream& os, const CharT* fmt, - const gps_time& t) -{ - const std::string abbrev("GPS"); - CONSTDATA std::chrono::seconds offset{0}; - return to_stream(os, fmt, gps_clock::to_local(t), &abbrev, &offset); -} - -template -std::basic_ostream& -operator<<(std::basic_ostream& os, const gps_time& t) -{ - const CharT fmt[] = {'%', 'F', ' ', '%', 'T', CharT{}}; - return to_stream(os, fmt, t); -} - -template > -std::basic_istream& -from_stream(std::basic_istream& is, const CharT* fmt, - gps_time& tp, - std::basic_string* abbrev = nullptr, - std::chrono::minutes* offset = nullptr) -{ - local_time lp; - from_stream(is, fmt, lp, abbrev, offset); - if (!is.fail()) - tp = gps_clock::from_local(lp); - return is; -} - -// clock_time_conversion - -template -struct clock_time_conversion -{}; - -template <> -struct clock_time_conversion -{ - template - CONSTCD14 - sys_time - operator()(const sys_time& st) const - { - return st; - } -}; - -template <> -struct clock_time_conversion -{ - template - CONSTCD14 - utc_time - operator()(const utc_time& ut) const - { - return ut; - } -}; - -template<> -struct clock_time_conversion -{ - template - CONSTCD14 - local_time - operator()(const local_time& lt) const - { - return lt; - } -}; - -template <> -struct clock_time_conversion -{ - template - utc_time::type> - operator()(const sys_time& st) const - { - return utc_clock::from_sys(st); - } -}; - -template <> -struct clock_time_conversion -{ - template - sys_time::type> - operator()(const utc_time& ut) const - { - return utc_clock::to_sys(ut); - } -}; - -template<> -struct clock_time_conversion -{ - template - CONSTCD14 - local_time - operator()(const sys_time& st) const - { - return local_time{st.time_since_epoch()}; - } -}; - -template<> -struct clock_time_conversion -{ - template - CONSTCD14 - sys_time - operator()(const local_time& lt) const - { - return sys_time{lt.time_since_epoch()}; - } -}; - -template<> -struct clock_time_conversion -{ - template - utc_time::type> - operator()(const local_time& lt) const - { - return utc_clock::from_local(lt); - } -}; - -template<> -struct clock_time_conversion -{ - template - local_time::type> - operator()(const utc_time& ut) const - { - return utc_clock::to_local(ut); - } -}; - -template -struct clock_time_conversion -{ - template - CONSTCD14 - std::chrono::time_point - operator()(const std::chrono::time_point& tp) const - { - return tp; - } -}; - -namespace ctc_detail -{ - -template - using time_point = std::chrono::time_point; - -using std::declval; -using std::chrono::system_clock; - -//Check if TimePoint is time for given clock, -//if not emits hard error -template -struct return_clock_time -{ - using clock_time_point = time_point; - using type = TimePoint; - - static_assert(std::is_same::value, - "time point with appropariate clock shall be returned"); -}; - -// Check if Clock has to_sys method accepting TimePoint with given duration const& and -// returning sys_time. If so has nested type member equal to return type to_sys. -template -struct return_to_sys -{}; - -template -struct return_to_sys - < - Clock, Duration, - decltype(Clock::to_sys(declval const&>()), void()) - > - : return_clock_time - < - system_clock, - decltype(Clock::to_sys(declval const&>())) - > -{}; - -// Similiar to above -template -struct return_from_sys -{}; - -template -struct return_from_sys - < - Clock, Duration, - decltype(Clock::from_sys(declval const&>()), - void()) - > - : return_clock_time - < - Clock, - decltype(Clock::from_sys(declval const&>())) - > -{}; - -// Similiar to above -template -struct return_to_utc -{}; - -template -struct return_to_utc - < - Clock, Duration, - decltype(Clock::to_utc(declval const&>()), void()) - > - : return_clock_time - < - utc_clock, - decltype(Clock::to_utc(declval const&>()))> -{}; - -// Similiar to above -template -struct return_from_utc -{}; - -template -struct return_from_utc - < - Clock, Duration, - decltype(Clock::from_utc(declval const&>()), - void()) - > - : return_clock_time - < - Clock, - decltype(Clock::from_utc(declval const&>())) - > -{}; - -// Similiar to above -template -struct return_to_local -{}; - -template -struct return_to_local - < - Clock, Duration, - decltype(Clock::to_local(declval const&>()), - void()) - > - : return_clock_time - < - local_t, - decltype(Clock::to_local(declval const&>())) - > -{}; - -// Similiar to above -template -struct return_from_local -{}; - -template -struct return_from_local - < - Clock, Duration, - decltype(Clock::from_local(declval const&>()), - void()) - > - : return_clock_time - < - Clock, - decltype(Clock::from_local(declval const&>())) - > -{}; - -} // namespace ctc_detail - -template -struct clock_time_conversion -{ - template - CONSTCD14 - typename ctc_detail::return_to_sys::type - operator()(const std::chrono::time_point& tp) const - { - return SrcClock::to_sys(tp); - } -}; - -template -struct clock_time_conversion -{ - template - CONSTCD14 - typename ctc_detail::return_from_sys::type - operator()(const sys_time& st) const - { - return DstClock::from_sys(st); - } -}; - -template -struct clock_time_conversion -{ - template - CONSTCD14 - typename ctc_detail::return_to_utc::type - operator()(const std::chrono::time_point& tp) const - { - return SrcClock::to_utc(tp); - } -}; - -template -struct clock_time_conversion -{ - template - CONSTCD14 - typename ctc_detail::return_from_utc::type - operator()(const utc_time& ut) const - { - return DstClock::from_utc(ut); - } -}; - -template -struct clock_time_conversion -{ - template - CONSTCD14 - typename ctc_detail::return_to_local::type - operator()(const std::chrono::time_point& tp) const - { - return SrcClock::to_local(tp); - } -}; - -template -struct clock_time_conversion -{ - template - CONSTCD14 - typename ctc_detail::return_from_local::type - operator()(const local_time& lt) const - { - return DstClock::from_local(lt); - } -}; - -namespace clock_cast_detail -{ - -template - using time_point = std::chrono::time_point; -using std::chrono::system_clock; - -template -CONSTCD14 -auto -conv_clock(const time_point& t) - -> decltype(std::declval>()(t)) -{ - return clock_time_conversion{}(t); -} - -//direct trait conversion, 1st candidate -template -CONSTCD14 -auto -cc_impl(const time_point& t, const time_point*) - -> decltype(conv_clock(t)) -{ - return conv_clock(t); -} - -//conversion through sys, 2nd candidate -template -CONSTCD14 -auto -cc_impl(const time_point& t, const void*) - -> decltype(conv_clock(conv_clock(t))) -{ - return conv_clock(conv_clock(t)); -} - -//conversion through utc, 2nd candidate -template -CONSTCD14 -auto -cc_impl(const time_point& t, const void*) - -> decltype(0, // MSVC_WORKAROUND - conv_clock(conv_clock(t))) -{ - return conv_clock(conv_clock(t)); -} - -//conversion through sys and utc, 3rd candidate -template -CONSTCD14 -auto -cc_impl(const time_point& t, ...) - -> decltype(conv_clock(conv_clock(conv_clock(t)))) -{ - return conv_clock(conv_clock(conv_clock(t))); -} - -//conversion through utc and sys, 3rd candidate -template -CONSTCD14 -auto -cc_impl(const time_point& t, ...) - -> decltype(0, // MSVC_WORKAROUND - conv_clock(conv_clock(conv_clock(t)))) -{ - return conv_clock(conv_clock(conv_clock(t))); -} - -} // namespace clock_cast_detail - -template -CONSTCD14 -auto -clock_cast(const std::chrono::time_point& tp) - -> decltype(clock_cast_detail::cc_impl(tp, &tp)) -{ - return clock_cast_detail::cc_impl(tp, &tp); -} - -// Deprecated API - -template -inline -sys_time::type> -to_sys_time(const utc_time& t) -{ - return utc_clock::to_sys(t); -} - -template -inline -sys_time::type> -to_sys_time(const tai_time& t) -{ - return utc_clock::to_sys(tai_clock::to_utc(t)); -} - -template -inline -sys_time::type> -to_sys_time(const gps_time& t) -{ - return utc_clock::to_sys(gps_clock::to_utc(t)); -} - - -template -inline -utc_time::type> -to_utc_time(const sys_time& t) -{ - return utc_clock::from_sys(t); -} - -template -inline -utc_time::type> -to_utc_time(const tai_time& t) -{ - return tai_clock::to_utc(t); -} - -template -inline -utc_time::type> -to_utc_time(const gps_time& t) -{ - return gps_clock::to_utc(t); -} - - -template -inline -tai_time::type> -to_tai_time(const sys_time& t) -{ - return tai_clock::from_utc(utc_clock::from_sys(t)); -} - -template -inline -tai_time::type> -to_tai_time(const utc_time& t) -{ - return tai_clock::from_utc(t); -} - -template -inline -tai_time::type> -to_tai_time(const gps_time& t) -{ - return tai_clock::from_utc(gps_clock::to_utc(t)); -} - - -template -inline -gps_time::type> -to_gps_time(const sys_time& t) -{ - return gps_clock::from_utc(utc_clock::from_sys(t)); -} - -template -inline -gps_time::type> -to_gps_time(const utc_time& t) -{ - return gps_clock::from_utc(t); -} - -template -inline -gps_time::type> -to_gps_time(const tai_time& t) -{ - return gps_clock::from_utc(tai_clock::to_utc(t)); -} - -} // namespace date - -#endif // TZ_H diff --git a/src/date/tz_private.h b/src/date/tz_private.h deleted file mode 100644 index aec01d0..0000000 --- a/src/date/tz_private.h +++ /dev/null @@ -1,316 +0,0 @@ -#ifndef TZ_PRIVATE_H -#define TZ_PRIVATE_H - -// The MIT License (MIT) -// -// Copyright (c) 2015, 2016 Howard Hinnant -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Our apologies. When the previous paragraph was written, lowercase had not yet -// been invented (that would involve another several millennia of evolution). -// We did not mean to shout. - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) -#include "tz.h" -#else -#include "date.h" -#include -#endif - -namespace date -{ - -namespace detail -{ - -#if !USE_OS_TZDB - -enum class tz {utc, local, standard}; - -//forward declare to avoid warnings in gcc 6.2 -class MonthDayTime; -std::istream& operator>>(std::istream& is, MonthDayTime& x); -std::ostream& operator<<(std::ostream& os, const MonthDayTime& x); - - -class MonthDayTime -{ -private: - struct pair - { -#if defined(_MSC_VER) && (_MSC_VER < 1900) - pair() : month_day_(date::jan / 1), weekday_(0U) {} - - pair(const date::month_day& month_day, const date::weekday& weekday) - : month_day_(month_day), weekday_(weekday) {} -#endif - - date::month_day month_day_; - date::weekday weekday_; - }; - - enum Type {month_day, month_last_dow, lteq, gteq}; - - Type type_{month_day}; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) - union U -#else - struct U -#endif - { - date::month_day month_day_; - date::month_weekday_last month_weekday_last_; - pair month_day_weekday_; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) - U() : month_day_{date::jan/1} {} -#else - U() : - month_day_(date::jan/1), - month_weekday_last_(date::month(0U), date::weekday_last(date::weekday(0U))) - {} - -#endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) - - U& operator=(const date::month_day& x); - U& operator=(const date::month_weekday_last& x); - U& operator=(const pair& x); - } u; - - std::chrono::hours h_{0}; - std::chrono::minutes m_{0}; - std::chrono::seconds s_{0}; - tz zone_{tz::local}; - -public: - MonthDayTime() = default; - MonthDayTime(local_seconds tp, tz timezone); - MonthDayTime(const date::month_day& md, tz timezone); - - date::day day() const; - date::month month() const; - tz zone() const {return zone_;} - - void canonicalize(date::year y); - - sys_seconds - to_sys(date::year y, std::chrono::seconds offset, std::chrono::seconds save) const; - sys_days to_sys_days(date::year y) const; - - sys_seconds to_time_point(date::year y) const; - int compare(date::year y, const MonthDayTime& x, date::year yx, - std::chrono::seconds offset, std::chrono::minutes prev_save) const; - - friend std::istream& operator>>(std::istream& is, MonthDayTime& x); - friend std::ostream& operator<<(std::ostream& os, const MonthDayTime& x); -}; - -// A Rule specifies one or more set of datetimes without using an offset. -// Multiple dates are specified with multiple years. The years in effect -// go from starting_year_ to ending_year_, inclusive. starting_year_ <= -// ending_year_. save_ is in effect for times from the specified time -// onward, including the specified time. When the specified time is -// local, it uses the save_ from the chronologically previous Rule, or if -// there is none, 0. - -//forward declare to avoid warnings in gcc 6.2 -class Rule; -bool operator==(const Rule& x, const Rule& y); -bool operator<(const Rule& x, const Rule& y); -bool operator==(const Rule& x, const date::year& y); -bool operator<(const Rule& x, const date::year& y); -bool operator==(const date::year& x, const Rule& y); -bool operator<(const date::year& x, const Rule& y); -bool operator==(const Rule& x, const std::string& y); -bool operator<(const Rule& x, const std::string& y); -bool operator==(const std::string& x, const Rule& y); -bool operator<(const std::string& x, const Rule& y); -std::ostream& operator<<(std::ostream& os, const Rule& r); - -class Rule -{ -private: - std::string name_; - date::year starting_year_{0}; - date::year ending_year_{0}; - MonthDayTime starting_at_; - std::chrono::minutes save_{0}; - std::string abbrev_; - -public: - Rule() = default; - explicit Rule(const std::string& s); - Rule(const Rule& r, date::year starting_year, date::year ending_year); - - const std::string& name() const {return name_;} - const std::string& abbrev() const {return abbrev_;} - - const MonthDayTime& mdt() const {return starting_at_;} - const date::year& starting_year() const {return starting_year_;} - const date::year& ending_year() const {return ending_year_;} - const std::chrono::minutes& save() const {return save_;} - - static void split_overlaps(std::vector& rules); - - friend bool operator==(const Rule& x, const Rule& y); - friend bool operator<(const Rule& x, const Rule& y); - friend bool operator==(const Rule& x, const date::year& y); - friend bool operator<(const Rule& x, const date::year& y); - friend bool operator==(const date::year& x, const Rule& y); - friend bool operator<(const date::year& x, const Rule& y); - friend bool operator==(const Rule& x, const std::string& y); - friend bool operator<(const Rule& x, const std::string& y); - friend bool operator==(const std::string& x, const Rule& y); - friend bool operator<(const std::string& x, const Rule& y); - - friend std::ostream& operator<<(std::ostream& os, const Rule& r); - -private: - date::day day() const; - date::month month() const; - static void split_overlaps(std::vector& rules, std::size_t i, std::size_t& e); - static bool overlaps(const Rule& x, const Rule& y); - static void split(std::vector& rules, std::size_t i, std::size_t k, - std::size_t& e); -}; - -inline bool operator!=(const Rule& x, const Rule& y) {return !(x == y);} -inline bool operator> (const Rule& x, const Rule& y) {return y < x;} -inline bool operator<=(const Rule& x, const Rule& y) {return !(y < x);} -inline bool operator>=(const Rule& x, const Rule& y) {return !(x < y);} - -inline bool operator!=(const Rule& x, const date::year& y) {return !(x == y);} -inline bool operator> (const Rule& x, const date::year& y) {return y < x;} -inline bool operator<=(const Rule& x, const date::year& y) {return !(y < x);} -inline bool operator>=(const Rule& x, const date::year& y) {return !(x < y);} - -inline bool operator!=(const date::year& x, const Rule& y) {return !(x == y);} -inline bool operator> (const date::year& x, const Rule& y) {return y < x;} -inline bool operator<=(const date::year& x, const Rule& y) {return !(y < x);} -inline bool operator>=(const date::year& x, const Rule& y) {return !(x < y);} - -inline bool operator!=(const Rule& x, const std::string& y) {return !(x == y);} -inline bool operator> (const Rule& x, const std::string& y) {return y < x;} -inline bool operator<=(const Rule& x, const std::string& y) {return !(y < x);} -inline bool operator>=(const Rule& x, const std::string& y) {return !(x < y);} - -inline bool operator!=(const std::string& x, const Rule& y) {return !(x == y);} -inline bool operator> (const std::string& x, const Rule& y) {return y < x;} -inline bool operator<=(const std::string& x, const Rule& y) {return !(y < x);} -inline bool operator>=(const std::string& x, const Rule& y) {return !(x < y);} - -struct zonelet -{ - enum tag {has_rule, has_save, is_empty}; - - std::chrono::seconds gmtoff_; - tag tag_ = has_rule; - -#if !defined(_MSC_VER) || (_MSC_VER >= 1900) - union U -#else - struct U -#endif - { - std::string rule_; - std::chrono::minutes save_; - - ~U() {} - U() {} - U(const U&) {} - U& operator=(const U&) = delete; - } u; - - std::string format_; - date::year until_year_{0}; - MonthDayTime until_date_; - sys_seconds until_utc_; - local_seconds until_std_; - local_seconds until_loc_; - std::chrono::minutes initial_save_{0}; - std::string initial_abbrev_; - std::pair first_rule_{nullptr, date::year::min()}; - std::pair last_rule_{nullptr, date::year::max()}; - - ~zonelet(); - zonelet(); - zonelet(const zonelet& i); - zonelet& operator=(const zonelet&) = delete; -}; - -#else // USE_OS_TZDB - -struct ttinfo -{ - std::int32_t tt_gmtoff; - unsigned char tt_isdst; - unsigned char tt_abbrind; - unsigned char pad[2]; -}; - -static_assert(sizeof(ttinfo) == 8, ""); - -struct expanded_ttinfo -{ - std::chrono::seconds offset; - std::string abbrev; - bool is_dst; -}; - -struct transition -{ - sys_seconds timepoint; - const expanded_ttinfo* info; - - transition(sys_seconds tp, const expanded_ttinfo* i = nullptr) - : timepoint(tp) - , info(i) - {} - - friend - std::ostream& - operator<<(std::ostream& os, const transition& t) - { - using date::operator<<; - os << t.timepoint << "Z "; - if (t.info->offset >= std::chrono::seconds{0}) - os << '+'; - os << make_time(t.info->offset); - if (t.info->is_dst > 0) - os << " daylight "; - else - os << " standard "; - os << t.info->abbrev; - return os; - } -}; - -#endif // USE_OS_TZDB - -} // namespace detail - -} // namespace date - -#if defined(_MSC_VER) && (_MSC_VER < 1900) -#include "tz.h" -#endif - -#endif // TZ_PRIVATE_H diff --git a/src/include/Hik/amd64/DataType.h b/src/include/Hik/amd64/DataType.h deleted file mode 100644 index 5b75bd1..0000000 --- a/src/include/Hik/amd64/DataType.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef DATA_TYPE_H -#define DATA_TYPE_H -#define FRAME_HEAD_MAGIC 0x03211546 -#define SYSTEM_SYNC_ID 2 - -#ifdef __LINUX__ -typedef unsigned char UCHAR; -typedef unsigned char* PBYTE; -typedef char* LPTSTR; -typedef unsigned short USHORT; -typedef int HANDLE; -typedef unsigned long ULONG; -typedef unsigned long DWORD; -#endif //#ifdef __LINUX__ - -typedef struct tagFrameInfo{ - ULONG SyncId; /* 00000000000000000000000000010b */ - ULONG Magic; - USHORT FrameType; /* I frames , P frames or BBP frames Audio frames or dsp status etc */ - ULONG Length; /*lenth include this header */ - ULONG FrameNumber; /* serial number of this frame */ - UCHAR Breakable; /* indicate if stream breakable, you could restart new file(with PktSysHeader) if true */ - /*ULONG Ack;*/ - ULONG PTS; /* system clock when this frames is processed */ -}TMFRAME_HEADER, *PTMFRAME_HEADER; - -typedef enum { - StandardNone = 0x80000000, - StandardNTSC = 0x00000001, - StandardPAL = 0x00000002, - StandardSECAM = 0x00000004, -} VideoStandard_t; - - -typedef enum { - PktError = 0, - PktIFrames = 0x0001, - PktPFrames = 0x0002, - PktBBPFrames = 0x0004, - PktAudioFrames = 0x0008, - PktMotionDetection = 0x00010, - PktDspStatus = 0x00020, - PktOrigImage = 0x00040, - PktSysHeader = 0x00080, - PktBPFrames = 0x00100, - PktSFrames = 0x00200, - PktSubIFrames = 0x00400, - PktSubPFrames = 0x00800, - PktSubBBPFrames = 0x01000, - PktSubSysHeader = 0x02000 -}FrameType_t; - -typedef struct tagVersion{ - ULONG DspVersion, DspBuildNum; - ULONG DriverVersion, DriverBuildNum; - ULONG SDKVersion, SDKBuildNum; -}VERSION_INFO, *PVERSION_INFO; - -typedef enum { - ENC_CIF_FORMAT = 0, - ENC_QCIF_FORMAT = 1, - ENC_2CIF_FORMAT = 2, - ENC_4CIF_FORMAT = 3, - ENC_QQCIF_FORMAT = 4, - ENC_CIFQCIF_FORMAT =5, - ENC_CIFQQCIF_FORMAT =6, - ENC_DCIF_FORMAT =7, - ENC_VGA_FORMAT=8 -}PictureFormat_t; - -typedef struct tagMotionData{ - PictureFormat_t PicFormat; - ULONG HorizeBlocks; - ULONG VerticalBlocks; - ULONG BlockSize; -}MOTION_DATA_HEADER, *PMOTION_DATA_HEADER; - - -#define _OSD_BASE 0x9000 /*base address of special character*/ -#define _OSD_YEAR4 (_OSD_BASE+0) /*show year time by length of 4 , for example: 2005*/ -#define _OSD_YEAR2 (_OSD_BASE+1) /*show year time by length of 2, for example: 05 */ -#define _OSD_MONTH3 (_OSD_BASE+2) /*show month time in English, for example: Jan*/ -#define _OSD_MONTH2 (_OSD_BASE+3) /*show month time by two Arabic numerals, for example: 07*/ -#define _OSD_DAY (_OSD_BASE+4) /*show day time by two Arabic numerals, for example: 31*/ -#define _OSD_WEEK3 (_OSD_BASE+5) /*show week time in English: MONSUN*/ -#define _OSD_CWEEK1 (_OSD_BASE+6) /*show week time in Chinese GB code*/ -#define _OSD_HOUR24 (_OSD_BASE+7) /*show 24 hours clock: 0023 */ -#define _OSD_HOUR12 (_OSD_BASE+8) /*show 12 hours clock: 0012*/ -#define _OSD_MINUTE (_OSD_BASE+9) /*show minute time by length of 2: 0059*/ -#define _OSD_SECOND (_OSD_BASE+10) /*show second time by length of 2: 0059*/ -#define _OSD_MILISECOND (_OSD_BASE+11) /*show millisecond time by length of 3: 000~999*/ -#define _OSD_APM (_OSD_BASE+14) /*show a.m. or p.m. by length of 2 bit, AM or PM*/ - -//For new added APIs to set OSD: SetEncoderOsdDisplayMode, SetDecoderOsdDisplayMode and SetDisplayOsdDisplayMode in v6.0 SDK, we use new basic address of special character. -#define _OSD_BASE_EX 0x90000 /*base address of special character*/ -#define _OSD_YEAR4_EX (_OSD_BASE_EX+0) /*the same as _OSD_YEAR4*/ -#define _OSD_YEAR2_EX (_OSD_BASE_EX+1) /*the same as _OSD_YEAR2*/ -#define _OSD_MONTH3_EX (_OSD_BASE_EX+2) /*the same as _OSD_MONTH3*/ -#define _OSD_MONTH2_EX (_OSD_BASE_EX+3) /*the same as _OSD_MONTH2*/ -#define _OSD_DAY_EX (_OSD_BASE_EX+4) /*the same as _OSD_DAY*/ -#define _OSD_WEEK3_EX (_OSD_BASE_EX+5) /*the same as _OSD_WEEK3*/ -#define _OSD_CWEEK1_EX (_OSD_BASE_EX+6) /*the same as _OSD_CWEEK1*/ -#define _OSD_HOUR24_EX (_OSD_BASE_EX+7) /*the same as _OSD_HOUR24*/ -#define _OSD_HOUR12_EX (_OSD_BASE_EX+8) /*the same as _OSD_HOUR12*/ -#define _OSD_MINUTE_EX (_OSD_BASE_EX+9) /*the same as _OSD_MINUTE*/ -#define _OSD_SECOND_EX (_OSD_BASE_EX+10) /*the same as _OSD_SECOND*/ -#define _OSD_MILISECOND_EX (_OSD_BASE_EX+11) /*the same as _OSD_MILISECOND*/ -#define _OSD_APM_EX (_OSD_BASE_EX+14) /*the same as _OSD_APM*/ - - -#endif diff --git a/src/include/Hik/amd64/DecodeCardSdk.h b/src/include/Hik/amd64/DecodeCardSdk.h deleted file mode 100644 index 9ede7d4..0000000 --- a/src/include/Hik/amd64/DecodeCardSdk.h +++ /dev/null @@ -1,451 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// DS-40xxHC/HF BOARD SYSTEM SDK // -/////////////////////////////////////////////////////////////////////////// - -#ifndef DECODECARD_SDK_H -#define DECODECARD_SDK_H - -#include "datatype.h" - -#define DLLEXPORT_API extern "C" __declspec(dllexport) -#define ERR_WAIT_TIMEOUT 0xc0000001 -#define ERR_INVALID_HANDLE 0xc0000002 -#define ERR_INVALID_ARGUMENT 0xc0000003 -#define ERR_DDRAW_CREATE_FAILED 0xc0000004 -#define ERR_DDRAW_CAPS_FAULT 0xc0000005 -#define ERR_SET_COOPERATIVELEVEL_FAILED 0xc0000006 -#define ERR_PRIMARY_SURFACE_CREATE_FAILED 0xc0000007 -#define ERR_GET_OVERLAY_ADDRESS_FAILED 0xc0000008 -#define ERR_OVERLAY_SURFACE_CREATE_FAILED 0xc0000009 -#define ERR_OVERLAY_UPDATE_FAILED 0xc000000a -#define ERR_TMMAN_FAILURE 0xc000000b -#define ERR_CHANNELMAGIC_MISMATCH 0xc000000c -#define ERR_CALLBACK_REGISTERED 0xc000000d -#define ERR_QUEUE_OVERFLOW 0xc000000e -#define ERR_STREAM_THREAD_FAILURE 0xc000000f -#define ERR_THREAD_STOP_ERROR 0xc0000010 -#define ERR_NOT_SUPPORT 0xc0000011 -#define ERR_OUTOF_MEMORY 0xc0000012 -#define ERR_DSP_BUSY 0xc0000013 -#define ERR_DATA_ERROR 0xc0000014 -#define ERR_KERNEL 0xc0000016 -#define ERR_OFFSCREEN_CREATE_FAILED 0xc0000017 -#define ERR_MULTICLOCK_FAILURE 0xc0000018 -#define ERR_INVALID_DEVICE 0xc0000019 -#define ERR_INVALID_DRIVER 0xc000001a -//error code for MD card -#define HWERR_SUCCESS 0 -#define HWERR_ALLOCATE_MEMORY 0xc1000001 -#define HWERR_INVALID_HANDLE 0xc1000002 -#define HWERR_DDRAW_CREATE_FAILED 0xc1000003 -#define HWERR_DDRAW_CAPS_FAULT 0xc1000004 -#define HWERR_SET_COOPERATIVELEVEL_FAILED 0xc1000005 -#define HWERR_PRIMARY_SURFACE_CREATE_FAILED 0xc1000006 -#define HWERR_OVERLAY_CREATE_FAILED 0xc1000007 -#define HWERR_GET_OVERLAY_ADDRESS_FAILED 0xc1000008 -#define HWERR_OVERLAY_UPDATE_FAILED 0xc1000009 -#define HWERR_SURFACE_NULL 0xc100000a -#define HWERR_FILEHEADER_UNKNOWN 0xc100000b -#define HWERR_CREATE_FILE_FAILED 0xc100000c -#define HWERR_FILE_SIZE_ZERO 0xc100000d -#define HWERR_FILE_SIZE_INVALID 0xc100000d -#define HWERR_CREATE_OBJ_FAILED 0xc100000e -#define HWERR_CHANNELMAGIC_MISMATCH 0xc100000f -#define HWERR_PARA_OVER 0xc1000010 -#define HWERR_ORDER 0xc1000011 -#define HWERR_COMMAND 0xc1000012 -#define HWERR_UNSUPPORTED 0xc1000013 -#define HWERR_DSPOPEN 0xc1000014 -#define HWERR_DSPLOAD 0xc1000015 -#define HWERR_ALLOCATE_DSPMEMORY 0xc1000016 -#define HWERR_DSPCHECHER 0xc1000017 -#define HWERR_IMGFILE_UNKNOWN 0xc1000018 -#define HWERR_INVALID_FILE 0xc1000019 -//standart -#define HW_PAL 2 -#define HW_NTSC 1 -//jump direction -#define HW_JUMP_FORWARD 309 -#define HW_JUMP_BACKWARD 310 - - -typedef enum tagTypeVideoFormat -{ - vdfRGB8A_233 = 0x00000001, - vdfRGB8R_332 = 0x00000002, - vdfRGB15Alpha = 0x00000004, - vdfRGB16 = 0x00000008, - vdfRGB24 = 0x00000010, - vdfRGB24Alpha = 0x00000020, - - vdfYUV420Planar = 0x00000040, - vdfYUV422Planar = 0x00000080, - vdfYUV411Planar = 0x00000100, - vdfYUV420Interspersed = 0x00000200, - vdfYUV422Interspersed = 0x00000400, - vdfYUV411Interspersed = 0x00000800, - vdfYUV422Sequence = 0x00001000, /* U0, Y0, V0, Y1: For VO overlay */ - vdfYUV422SequenceAlpha = 0x00002000, - /* U0, Y0, V0, Y1: For VO overlay, with low bit for alpha blending */ - vdfMono = 0x00004000, /* 8 bit monochrome */ - - vdfYUV444Planar = 0x00008000, -}TypeVideoFormat; - - -typedef enum _BitrateControlType_t -{ - brCBR = 0, - brVBR = 1, -}BitrateControlType_t; - -typedef enum _BOARD_TYPE_DS -{ - DS400XM =0, - DS400XH =1, - DS4004HC =2, - DS4008HC =3, - DS4016HC =4, - DS4001HF =5, - DS4004HF =6, - DS4002MD =7, - DS4004MD =8, //4004MD - DS4016HCS =9, //4016HCS - DS4002HT =10, //4002HT - DS4004HT =11, //4004HT - DS4008HT =12, //4008HT - DS4004HC_PLUS =13, //4004HC+ - DS4008HC_PLUS =14, //4008HC+ - DS4016HC_PLUS =15, //4016HC+ - DS4008HF =16, //4008HF - DS4008MD =17, //4008MD - DS4008HS =18, //4008HS - DS4016HS =19, //4016HS - INVALID_BOARD_TYPE =0xffffffff, -}BOARD_TYPE_DS; - -#define STREAM_TYPE_VIDEO 1 -#define STREAM_TYPE_AUDIO 2 -#define STREAM_TYPE_AVSYNC 3 -#define DRAWFUN(x) void (CALLBACK* x)(long nPort,HDC hDc,LONG nUser) - - -typedef void (*LOGRECORD_CALLBACK)(char *str, void *context); -typedef int (*STREAM_READ_CALLBACK)(ULONG channelNumber, void *context); -typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,void *DataBuf,DWORD Length,int FrameType,void *context); - -typedef struct tagChannelCapability{ - UCHAR bAudioPreview; - UCHAR bAlarmIO; - UCHAR bWatchDog; -}CHANNEL_CAPABILITY, *PCHANNEL_CAPABILITY; - -typedef struct tagFramsStatistics{ - ULONG VideoFrames; - ULONG AudioFrames; - ULONG FramesLost; - ULONG QueueOverflow; - ULONG CurBps; -}FRAMES_STATISTICS, *PFRAMES_STATISTICS; - -DLLEXPORT_API int __stdcall InitDSPs(); -DLLEXPORT_API int __stdcall DeInitDSPs(); -DLLEXPORT_API HANDLE __stdcall ChannelOpen(int ChannelNum); -DLLEXPORT_API int __stdcall ChannelClose(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetTotalChannels(); -DLLEXPORT_API int __stdcall GetTotalDSPs(); -DLLEXPORT_API int __stdcall StartVideoPreview(HANDLE hChannelHandle,HWND WndHandle, RECT *rect, BOOLEAN bOverlay, int VideoFormat, int FrameRate); -DLLEXPORT_API int __stdcall StopVideoPreview(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetVideoPara(HANDLE hChannelHandle, int Brightness, int Contrast, int Saturation, int Hue); -DLLEXPORT_API int __stdcall GetVideoPara(HANDLE hChannelHandle, VideoStandard_t *VideoStandard, int *Brightness, int *Contrast, int *Saturation, int *Hue); -DLLEXPORT_API int __stdcall GetVideoSignal(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetSDKVersion(PVERSION_INFO VersionInfo); -DLLEXPORT_API int __stdcall GetCapability(HANDLE hChannelHandle, CHANNEL_CAPABILITY *Capability); -DLLEXPORT_API int __stdcall GetLastErrorNum(HANDLE hChannelHandle, ULONG *DspError, ULONG *SdkError); -DLLEXPORT_API int __stdcall SetStreamType(HANDLE hChannelHandle, USHORT Type); -DLLEXPORT_API int __stdcall GetStreamType(HANDLE hChannelHandle, USHORT *StreamType); -DLLEXPORT_API int __stdcall GetFramesStatistics(HANDLE hChannelHandle, PFRAMES_STATISTICS framesStatistics); -DLLEXPORT_API int __stdcall StartMotionDetection(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetBoardInfo(HANDLE hChannelHandle, ULONG *BoardType, UCHAR *SerialNo); -DLLEXPORT_API int __stdcall StopMotionDetection(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetOriginalImage(HANDLE hChannelHandle, UCHAR *ImageBuf, ULONG *Size); -DLLEXPORT_API int __stdcall RegisterLogRecordCallback(LOGRECORD_CALLBACK LogRecordFunc, void *Context); -DLLEXPORT_API int __stdcall SetAudioPreview(HANDLE hChannelHandle, BOOL bEnable); -DLLEXPORT_API int __stdcall ReadStreamData(HANDLE hChannelHandle, void *DataBuf, DWORD *Length, int *FrameType); -DLLEXPORT_API int __stdcall RegisterMessageNotifyHandle(HWND hWnd, UINT MessageId); -DLLEXPORT_API int __stdcall StartVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall StopVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetIBPMode(HANDLE hChannelHandle, int KeyFrameIntervals, int BFrames, int PFrames, int FrameRate); -DLLEXPORT_API int __stdcall SetDefaultQuant(HANDLE hChannelHandle, int IQuantVal, int PQuantVal, int BQuantVal); -DLLEXPORT_API int __stdcall SetOsd(HANDLE hChannelHandle, BOOL Enable); - -DLLEXPORT_API int __stdcall SetLogo(HANDLE hChannelHandle, int x, int y, int w, int h, unsigned char *yuv); -DLLEXPORT_API int __stdcall StopLogo(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetupMotionDetection(HANDLE hChannelHandle, RECT *RectList, int iAreas); -DLLEXPORT_API int __stdcall MotionAnalyzer(HANDLE hChannelHandle, char *MotionData, int iThreshold, int *iResult); -DLLEXPORT_API int __stdcall LoadYUVFromBmpFile(char *FileName, unsigned char *yuv, int BufLen, int *Width, int *Height); -DLLEXPORT_API int __stdcall SaveYUVToBmpFile(char *FileName, unsigned char *yuv, int Width, int Height); -DLLEXPORT_API int __stdcall CaptureIFrame(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall RegisterStreamReadCallback(STREAM_READ_CALLBACK StreamReadCallback, void *Context); -DLLEXPORT_API int __stdcall AdjustMotionDetectPrecision(HANDLE hChannelHandle, - int iGrade, int iFastMotionDetectFps, - int iSlowMotionDetectFps); -DLLEXPORT_API int __stdcall SetupBitrateControl(HANDLE hChannelHandle, ULONG MaxBps); -DLLEXPORT_API int __stdcall SetOverlayColorKey(COLORREF DestColorKey); -DLLEXPORT_API int __stdcall SetOsdDisplayMode(HANDLE hChannelHandle, int Brightness, BOOL Translucent, int parameter, USHORT *Format1, USHORT *Format2); -DLLEXPORT_API int __stdcall SetLogoDisplayMode(HANDLE hChannelHandle, COLORREF ColorKey, BOOL Translucent, int TwinkleInterval); -DLLEXPORT_API int __stdcall SetEncoderPictureFormat(HANDLE hChannelHandle, PictureFormat_t PictureFormat); -DLLEXPORT_API int __stdcall SetVideoStandard(HANDLE hChannelHandle, VideoStandard_t VideoStandard); -DLLEXPORT_API int __stdcall RestoreOverlay(); -DLLEXPORT_API int __stdcall ResetDSP(int DspNumber); -DLLEXPORT_API int __stdcall GetSoundLevel(HANDLE hChannelHandle); - - -DLLEXPORT_API int __stdcall SetBitrateControlMode(HANDLE hChannelHandle, BitrateControlType_t brc); -DLLEXPORT_API int __stdcall SetupNotifyThreshold(HANDLE hChannelHandle, int iFramesThreshold); - -DLLEXPORT_API int __stdcall SetupSubChannel(HANDLE hChannelHandle, int iSubChannel); -DLLEXPORT_API int __stdcall GetSubChannelStreamType(void *DataBuf, int FrameType); -//add for HC/HF -DLLEXPORT_API int __stdcall RegisterStreamDirectReadCallback(STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback,void *Context); -DLLEXPORT_API int __stdcall RegisterDrawFun(DWORD nport, DRAWFUN(DrawFun),LONG nUser); -DLLEXPORT_API int __stdcall SetupMask(HANDLE hChannelHandle, RECT *rectList, int iAreas); -DLLEXPORT_API int __stdcall StopMask(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetSubEncoderPictureFormat(HANDLE hChannelHandle, PictureFormat_t PictureFormat); -DLLEXPORT_API int __stdcall StartSubVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall StopSubVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetupDateTime(HANDLE hChannelHandle, SYSTEMTIME *now); -/* - Ϊ1.7汾Ĺܡ - Ժܻûķ޸ĺơ -*/ -//ԭʼͼ -typedef void (*IMAGE_STREAM_CALLBACK)(UINT channelNumber,void *context ); -DLLEXPORT_API int __stdcall SetImageStream(HANDLE hChannel,BOOL bStart,UINT fps,UINT width,UINT height,unsigned char *imageBuffer); -DLLEXPORT_API int __stdcall RegisterImageStreamCallback(IMAGE_STREAM_CALLBACK,void *context); -/* - Ƶλã - (x,y)ΪϵͳͼϽԭʼͼеꡣ - xΪ2 - (x,y)IJΧͺйأֵָ벻ƥ䣬 - ܻᵼͼֹˮƽֱ -*/ -DLLEXPORT_API int __stdcall SetInputVideoPosition(HANDLE hChannel,UINT x,UINT y); -DLLEXPORT_API int __stdcall StopRegisterDrawFun(DWORD nport); - -/* - 3.0 -*/ -#define SERIAL_NUMBER_LENGTH 12 //忨кų -typedef struct tagDS_BOARD_DETAIL -{ - BOARD_TYPE_DS type; //忨 - BYTE sn[16]; //к - UINT dspCount; //忨DSP - UINT firstDspIndex; //忨ϵһDSP - UINT encodeChannelCount; //忨ıͨ - UINT firstEncodeChannelIndex; //忨ϵһͨ - UINT decodeChannelCount; //忨Ľͨ - UINT firstDecodeChannelIndex; //忨ϵһͨ - UINT displayChannelCount; //忨Ƶͨ - UINT firstDisplayChannelIndex; //忨ϵһƵͨ - UINT reserved1; - UINT reserved2; - UINT reserved3; - UINT reserved4; -}DS_BOARD_DETAIL; -typedef struct tagDSP_DETAIL -{ - UINT encodeChannelCount; //忨ıͨ - UINT firstEncodeChannelIndex; //忨ϵһͨ - UINT decodeChannelCount; //忨Ľͨ - UINT firstDecodeChannelIndex; //忨ϵһͨ - UINT displayChannelCount; //忨Ƶͨ - UINT firstDisplayChannelIndex; //忨ϵһƵͨ - UINT reserved1; - UINT reserved2; - UINT reserved3; - UINT reserved4; -}DSP_DETAIL; -DLLEXPORT_API unsigned int __stdcall GetBoardCount(); -DLLEXPORT_API int __stdcall GetBoardDetail(UINT boardNum,DS_BOARD_DETAIL *pBoardDetail); -DLLEXPORT_API unsigned int __stdcall GetDspCount(); -DLLEXPORT_API int __stdcall GetDspDetail(UINT dspNum,DSP_DETAIL *pDspDetail); -DLLEXPORT_API unsigned int __stdcall GetEncodeChannelCount(); -DLLEXPORT_API unsigned int __stdcall GetDecodeChannelCount(); -DLLEXPORT_API unsigned int __stdcall GetDisplayChannelCount(); -DLLEXPORT_API int __stdcall SetDefaultVideoStandard(VideoStandard_t VideoStandard); -DLLEXPORT_API int __stdcall SetVideoDetectPrecision(HANDLE hChannel,unsigned int value); -DLLEXPORT_API int __stdcall SetSubStreamType(HANDLE hChannelHandle, USHORT Type); -DLLEXPORT_API int __stdcall GetSubStreamType(HANDLE hChannelHandle, USHORT *StreamType); - -#define MAX_DISPLAY_REGION 16 -typedef struct tagREGION_PARAM -{ - UINT left; - UINT top; - UINT width; - UINT height; - COLORREF color; - UINT param; -}REGION_PARAM; -DLLEXPORT_API int __stdcall SetDisplayStandard(UINT nDisplayChannel,VideoStandard_t VideoStandard); -DLLEXPORT_API int __stdcall SetDisplayRegion(UINT nDisplayChannel,UINT nRegionCount,REGION_PARAM *pParam,UINT nReserved); -DLLEXPORT_API int __stdcall ClearDisplayRegion(UINT nDisplayChannel,UINT nRegionFlag); -DLLEXPORT_API int __stdcall SetDisplayRegionPosition(UINT nDisplayChannel,UINT nRegion,UINT nLeft,UINT nTop); -DLLEXPORT_API int __stdcall FillDisplayRegion(UINT nDisplayChannel,UINT nRegion,unsigned char *pImage); -DLLEXPORT_API int __stdcall SetEncoderVideoExtOutput(UINT nEncodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved); -DLLEXPORT_API int __stdcall SetDecoderVideoExtOutput(UINT nDecodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved); -DLLEXPORT_API int __stdcall SetDecoderVideoOutput(UINT nDecodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved); -DLLEXPORT_API int __stdcall SetDecoderAudioOutput(UINT nDecodeChannel,BOOL bOpen,UINT nOutputChannel); -//3.1 -DLLEXPORT_API int __stdcall SetDeInterlace(HANDLE hChannelHandle,UINT mode,UINT level); -DLLEXPORT_API int __stdcall SetPreviewOverlayMode(BOOL bTrue); - -//DECODE functions for DS4002MD -#if defined( _WINDLL) - #define PLAYER_API extern "C"__declspec(dllexport) -#else - #define PLAYER_API extern "C" __declspec(dllimport) -#endif -typedef struct tagDISPLAY_PARA -{ - long bToScreen; - long bToVideoOut; - long nLeft; - long nTop; - long nWidth; - long nHeight; - long nReserved; -}DISPLAY_PARA,*PDISPLAY_PARA; -//Version info -typedef struct tagVERSION{ - ULONG DspVersion, DspBuildNum; - ULONG DriverVersion, DriverBuildNum; - ULONG SDKVersion, SDKBuildNum; -}HW_VERSION, *PHW_VERSION; - -//init part -PLAYER_API int __stdcall HW_InitDirectDraw(HWND hParent,COLORREF colorKey); -PLAYER_API int __stdcall HW_ReleaseDirectDraw(); -PLAYER_API int __stdcall HW_InitDecDevice(long *pDeviceTotal); -PLAYER_API int __stdcall HW_ReleaseDecDevice(); -PLAYER_API int __stdcall HW_ChannelOpen(long nChannelNum,HANDLE* phChannel); -PLAYER_API int __stdcall HW_ChannelClose(HANDLE hChannel); -//open part - -PLAYER_API int __stdcall HW_OpenStream(HANDLE hChannel,PBYTE pFileHeadBuf,DWORD nSize); -DLLEXPORT_API int __stdcall HW_ResetStream(HANDLE hChannel); -PLAYER_API int __stdcall HW_CloseStream(HANDLE hChannel); -PLAYER_API int __stdcall HW_InputData(HANDLE hChannel,PBYTE pBuf,DWORD nSize); -PLAYER_API int __stdcall HW_OpenFile(HANDLE hChannel,LPTSTR sFileName); -PLAYER_API int __stdcall HW_CloseFile(HANDLE hChannel); - -//play part -PLAYER_API int __stdcall HW_SetDisplayPara(HANDLE hChannel,DISPLAY_PARA *pPara); -PLAYER_API int __stdcall HW_Play(HANDLE hChannel); -PLAYER_API int __stdcall HW_Stop(HANDLE hChannel); -PLAYER_API int __stdcall HW_Pause(HANDLE hChannel,ULONG bPause); - -//sound part -PLAYER_API int __stdcall HW_PlaySound(HANDLE hChannel); -PLAYER_API int __stdcall HW_StopSound(HANDLE hChannel); -PLAYER_API int __stdcall HW_SetVolume(HANDLE hChannel,ULONG nVolume); -//overlay part -PLAYER_API int __stdcall HW_RefreshSurface(); -PLAYER_API int __stdcall HW_RestoreSurface(); -PLAYER_API int __stdcall HW_ClearSurface(); -PLAYER_API int __stdcall HW_ZoomOverlay(RECT* pSrcClientRect, RECT* pDecScreenRect); -//cut file -PLAYER_API int __stdcall HW_StartCapFile(HANDLE hChannel,LPTSTR sFileName); -PLAYER_API int __stdcall HW_StopCapFile(HANDLE hChannel); -//capture picture -PLAYER_API int __stdcall HW_GetYV12Image(HANDLE hChannel, PBYTE pBuffer, ULONG nSize); -PLAYER_API int __stdcall HW_GetPictureSize(HANDLE hChannel,ULONG* pWidth, ULONG* pHeight); -PLAYER_API int __stdcall HW_ConvertToBmpFile(BYTE * pBuf,ULONG nSize,ULONG nWidth,ULONG nHeight,char *sFileName,ULONG nReserved); -//setting and getting part -PLAYER_API int __stdcall HW_Jump(HANDLE hChannel,ULONG nDirection); -PLAYER_API int __stdcall HW_SetJumpInterval(HANDLE hChannel,ULONG nSecond); -PLAYER_API int __stdcall HW_GetSpeed(HANDLE hChannel,long *pSpeed); -PLAYER_API int __stdcall HW_SetSpeed(HANDLE hChannel,long nSpeed); -PLAYER_API int __stdcall HW_SetPlayPos(HANDLE hChannel,ULONG nPos); -PLAYER_API int __stdcall HW_GetPlayPos(HANDLE hChannel,ULONG* pPos); -PLAYER_API int __stdcall HW_GetVersion(PHW_VERSION pVersion); -PLAYER_API int __stdcall HW_GetCurrentFrameRate(HANDLE hChannel,ULONG* pFrameRate); -PLAYER_API int __stdcall HW_GetCurrentFrameNum(HANDLE hChannel,ULONG* pFrameNum); -PLAYER_API int __stdcall HW_GetFileTotalFrames(HANDLE hChannel,ULONG* pTotalFrames); -PLAYER_API int __stdcall HW_GetFileTime(HANDLE hChannel, ULONG* pFileTime); -PLAYER_API int __stdcall HW_GetCurrentFrameTime(HANDLE hChannel,ULONG* pFrameTime); -PLAYER_API int __stdcall HW_GetPlayedFrames(HANDLE hChannel,ULONG *pDecVFrames); -PLAYER_API int __stdcall HW_GetDeviceSerialNo(HANDLE hChannel,ULONG *pDeviceSerialNo); -PLAYER_API int __stdcall HW_SetFileEndMsg(HANDLE hChannel,HWND hWnd,UINT nMsg); -PLAYER_API int __stdcall HW_SetStreamOpenMode(HANDLE hChannel,ULONG nMode); -PLAYER_API int __stdcall HW_GetStreamOpenMode(HANDLE hChannel,ULONG *pMode); -PLAYER_API int __stdcall HW_SetVideoOutStandard(HANDLE hChannel,ULONG nStandard); -PLAYER_API int __stdcall HW_SetDspDeadlockMsg(HWND hWnd,UINT nMsg); -PLAYER_API int __stdcall HW_GetChannelNum(long nDspNum,long *pChannelNum,ULONG nNumsToGet,ULONG * pNumsGotten); -PLAYER_API int __stdcall HW_ResetDsp(long nDspNum); -PLAYER_API int __stdcall HW_SetAudioPreview(HANDLE hChannel, BOOL bEnable); -////////////////////////////////////////////// - -PLAYER_API int __stdcall HW_OpenStreamEx(HANDLE hChannel,PBYTE pFileHeadBuf,DWORD nSize); -PLAYER_API int __stdcall HW_CloseStreamEx(HANDLE hChannel); -PLAYER_API int __stdcall HW_InputVideoData(HANDLE hChannel,PBYTE pBuf,DWORD nSize); -PLAYER_API int __stdcall HW_InputAudioData(HANDLE hChannel,PBYTE pBuf,DWORD nSize); - -//4.0 -PLAYER_API int __stdcall SetOsdDisplayModeEx(HANDLE hChannelHandle,int color,BOOL Translucent,int param,int nLineCount,USHORT **Format); -typedef void (*MOTION_DETECTION_CALLBACK)(ULONG channelNumber,BOOL bMotionDetected,void *context); -PLAYER_API int __stdcall SetupMotionDetectionEx(HANDLE hChannelHandle,int iGrade,int iFastMotionDetectFps, - int iSlowMotionDetectFps,UINT delay,RECT *RectList, int iAreas, - MOTION_DETECTION_CALLBACK MotionDetectionCallback,int reserved); -PLAYER_API int __stdcall GetJpegImage(HANDLE hChannelHandle,UCHAR *ImageBuf,ULONG *Size,UINT nQuality); -//WatchDog -PLAYER_API int __stdcall SetWatchDog(UINT boardNumber,BOOL bEnable); -//4.1 -typedef void (*FILE_REF_DONE_CALLBACK)(UINT nChannel,UINT nSize); -PLAYER_API int __stdcall HW_SetFileRef(HANDLE hChannel,BOOL bEnable,FILE_REF_DONE_CALLBACK FileRefDoneCallback); -PLAYER_API int __stdcall HW_LocateByAbsoluteTime(HANDLE hChannel,SYSTEMTIME time); -PLAYER_API int __stdcall HW_LocateByFrameNumber(HANDLE hChannel,UINT frmNum); -PLAYER_API int __stdcall HW_GetCurrentAbsoluteTime(HANDLE hChannel,SYSTEMTIME *pTime); -PLAYER_API int __stdcall HW_GetFileAbsoluteTime(HANDLE hChannel,SYSTEMTIME *pStartTime,SYSTEMTIME *pEndTime); -//4.2 -DLLEXPORT_API int __stdcall HW_ImportFileRef(HANDLE hChannel,char *pBuffer,UINT nSize); -DLLEXPORT_API int __stdcall HW_ExportFileRef(HANDLE hChannel,char *pBuffer,UINT nSize); -DLLEXPORT_API int __stdcall SetDisplayVideoCapture(UINT nDisplayChannel,BOOL bStart,UINT fps,UINT width,UINT height,unsigned char *imageBuffer); -DLLEXPORT_API int __stdcall RegisterDisplayVideoCaptureCallback(IMAGE_STREAM_CALLBACK DisplayVideoCaptureCallback,void *context); -DLLEXPORT_API int __stdcall SetDisplayVideoBrightness(UINT chan,int Brightness); -DLLEXPORT_API int __stdcall SetChannelStreamCRC(HANDLE hChannel,BOOL bEnable); -DLLEXPORT_API int __stdcall SetSubChannelStreamCRC(HANDLE hChannel,BOOL bEnable); -DLLEXPORT_API int __stdcall HW_SetDecoderPostProcess(HANDLE hChannel,UINT param); -// -typedef void (*DECODER_VIDEO_CAPTURE_CALLBACK)(UINT nChannelNumber,void *DataBuf,UINT width,UINT height,UINT nFrameNum,UINT nFrameTime,SYSTEMTIME *pFrameAbsoluteTime,void *context); -DLLEXPORT_API int __stdcall RegisterDecoderVideoCaptureCallback(DECODER_VIDEO_CAPTURE_CALLBACK DecoderVideoCaptureCallback,void *context); -DLLEXPORT_API int __stdcall HW_SetDecoderVideoCapture(HANDLE hChannel,BOOL bStart,UINT param); -DLLEXPORT_API int __stdcall HW_InputDataByFrame(HANDLE hChannel,PBYTE pBuf,DWORD nSize); -/* -ץĽӿ:ԡԺܻ޸ġ -*/ -typedef struct -{ - short x,y,width,height; -}FACE_AREA_DEMO; -typedef struct -{ - FACE_AREA_DEMO faceArea; - FACE_AREA_DEMO leftEyeArea; - FACE_AREA_DEMO rightEyeArea; - FACE_AREA_DEMO leftPupilArea; - FACE_AREA_DEMO rightPupilArea; - FACE_AREA_DEMO noseArea; - FACE_AREA_DEMO mouthArea; -}FACE_INFO_DEMO; -typedef void (*FACE_DETECTION_DEMO_CALLBACK)(UINT nChannel,UINT nFaceCount,FACE_INFO_DEMO *pFaceInfo, - char *pData,UINT nDataSize,UINT nImageWidth,UINT nImageHeight); - -DLLEXPORT_API int __stdcall SetFaceDetectionDemo(HANDLE hChannelHandle,BOOL bEnable, - UINT nFrameInterval,FACE_DETECTION_DEMO_CALLBACK pFunc, - BOOL bCompress,UINT nCompressQuality,BOOL bLocateEyePos); - -#endif - diff --git a/src/include/Hik/amd64/HCNetSDK.h b/src/include/Hik/amd64/HCNetSDK.h deleted file mode 100644 index cda31c6..0000000 --- a/src/include/Hik/amd64/HCNetSDK.h +++ /dev/null @@ -1,52612 +0,0 @@ -#ifndef _HC_NET_SDK_H_ -#define _HC_NET_SDK_H_ - -#ifndef _WINDOWS_ - #if (defined(_WIN32) || defined(_WIN64)) - #include - #include - #endif -#endif - -#if defined(_WIN64) - #define OS_WINDOWS64 1 -#endif - -#if defined(__LP64__) - #define OS_POSIX64 1 -#endif - -#ifndef __PLAYRECT_defined - #define __PLAYRECT_defined - typedef struct __PLAYRECT - { - int x; - int y; - int uWidth; - int uHeight; - }PLAYRECT; -#endif - -#if (defined(_WIN32)) //windows - #define NET_DVR_API extern "C" __declspec(dllimport) - typedef unsigned __int64 UINT64; - typedef signed __int64 INT64; -#elif defined(__linux__) || defined(__APPLE__) //linux - #define BOOL int - typedef unsigned int DWORD; - typedef unsigned short WORD; - typedef unsigned short USHORT; - typedef short SHORT; - typedef int LONG; - typedef unsigned char BYTE; - typedef unsigned int UINT; - typedef void* LPVOID; - typedef void* HANDLE; - typedef unsigned int* LPDWORD; - typedef unsigned long long UINT64; - typedef signed long long INT64; - - #ifndef TRUE - #define TRUE 1 - #endif - #ifndef FALSE - #define FALSE 0 - #endif - #ifndef NULL - #define NULL 0 - #endif - - #define __stdcall - #define CALLBACK - - #define NET_DVR_API extern "C" - typedef unsigned int COLORKEY; - typedef unsigned int COLORREF; - - #ifndef __HWND_defined - #define __HWND_defined - #if defined(__APPLE__) || defined(ANDROID) - typedef void* HWND; - #elif defined(__linux__) - typedef unsigned int HWND; - #else - typedef void* HWND; - #endif - #endif - - #ifndef __HDC_defined - #define __HDC_defined - #if defined(__linux__) - typedef struct __DC - { - void* surface; //SDL Surface - HWND hWnd; //HDC window handle - }DC; - typedef DC* HDC; - #else - typedef void* HDC; - #endif - #endif - - typedef struct tagInitInfo - { - int uWidth; - int uHeight; - }INITINFO; -#endif - -//궨 -#define MAX_NAMELEN 16 //DVRص½ -#define MAX_RIGHT 32 //豸ֵ֧Ȩޣ1-12ʾȨޣ13-32ʾԶȨޣ -#define NAME_LEN 32 //û -#define MIN_PASSWD_LEN 8 //С볤 -#define PASSWD_LEN 16 //볤 -#define STREAM_PASSWD_LEN 12 //Կ󳤶 -#define MAX_PASSWD_LEN_EX 64 //볤64λ -#define GUID_LEN 16 //GUID -#define DEV_TYPE_NAME_LEN 24 //豸Ƴ -#define SERIALNO_LEN 48 //кų -#define MACADDR_LEN 6 //macַ -#define MAC_ADDRESS_NUM 48 //Macַ -#define MAX_SENCE_NUM 16 // -#define RULE_REGION_MAX 128 // -#define MAX_ETHERNET 2 //豸̫ -#define MAX_NETWORK_CARD 4 //豸Ŀ -#define MAX_NETWORK_CARD_EX 12 //豸Ŀչ -#define PATHNAME_LEN 128 //· -#define MAX_PRESET_V13 16 //Ԥõ -#define MAX_TEST_COMMAND_NUM 32 //߲Աֶγ -#define MAX_NUMBER_LEN 32 //󳤶 -#define MAX_NAME_LEN 128 //豸󳤶 -#define MAX_INDEX_LED 8 //LEDֵ 2013-11-19 -#define MAX_CUSTOM_DIR 64 //ԶĿ¼󳤶 -#define URL_LEN_V40 256 //URL -#define CLOUD_NAME_LEN 48 //ƴ洢û -#define CLOUD_PASSWD_LEN 48 //ƴ洢볤 -#define MAX_SENSORNAME_LEN 64 //Ƴ -#define MAX_SENSORCHAN_LEN 32 //ͨ -#define MAX_DESCRIPTION_LEN 32 // -#define MAX_DEVNAME_LEN_EX 64 //豸Ƴչ -#define NET_SDK_MAX_FILE_PATH 256 //ļ· -#define MAX_TMEVOICE_LEN 64 //TMEݳ -#define ISO_8601_LEN 32 //ISO_8601ʱ䳤 -#define MODULE_INFO_LEN 32 //ģϢ -#define VERSION_INFO_LEN 32 //汾Ϣ - -#define MAX_NUM_INPUT_BOARD 512 // -#define MAX_SHIPSDETE_REGION_NUM 8 // ֻбĿ - -#define MAX_RES_NUM_ONE_VS_INPUT_CHAN 8 //һֵ֧ͨķֱʵ -#define MAX_VS_INPUT_CHAN_NUM 16 //ͨ - -#define NET_SDK_MAX_FDID_LEN 256//ID󳤶 -#define NET_SDK_MAX_PICID_LEN 256 //ID󳤶 -#define NET_SDK_FDPIC_CUSTOM_INFO_LEN 96 //ͼƬԶϢ -#define NET_DVR_MAX_FACE_ANALYSIS_NUM 32 //ֵ֧ͼƬʶ -#define NET_DVR_MAX_FACE_SEARCH_NUM 5 //֧ -#define NET_SDK_SECRETKEY_LEN 128 //ļԿ -#define NET_SDK_CUSTOM_LEN 512 //ԶϢ󳤶 -#define NET_SDK_CHECK_CODE_LEN 128//У볤 -#define RELATIVE_CHANNEL_LEN 2//ͨŵ -#define NET_SDK_MAX_CALLEDTARGET_NAME 32 //ºĿû -#define NET_SDK_MAX_HBDID_LEN 256 /*256 ID󳤶*/ -//СLED -#define MAX_LEN_TEXT_CONTENT 128 //ַݳ -#define MAX_NUM_INPUT_SOURCE_TEXT 32 //źԴɵӵı -#define MAX_NUM_OUTPUT_CHANNEL 512 //LEDڸ - -//ӴڽOSD -#define MAX_LEN_OSD_CONTENT 256 //OSDϢ󳤶 -#define MAX_NUM_OSD_ONE_SUBWND 8 //Ӵֵ֧OSD -#define MAX_NUM_SPLIT_WND 64 //ֵ֧Ӵ -#define MAX_NUM_OSD 8 - -//2013-11-19 -#define MAX_DEVNAME_LEN 32 //豸󳤶 -#define MAX_LED_INFO 256 //ĻʾϢ󳤶 -#define MAX_TIME_LEN 32 //ʱ󳤶 -#define MAX_CARD_LEN 24 //󳤶 -#define MAX_OPERATORNAME_LEN 32 //Ա󳤶 - -#define THERMOMETRY_ALARMRULE_NUM 40 //ȳ񱨾 -#define MAX_THERMOMETRY_REGION_NUM 40 //ȶͼ֧ -#define MAX_THERMOMETRY_DIFFCOMPARISON_NUM 40 //ȳ² -#define MAX_SHIPS_NUM 20 //ֻֻ -#define MAX_SHIPIMAGE_NUM 6 //ֻץͼ -#define KEY_WORD_NUM 3 //ؼָ -#define KEY_WORD_LEN 128 //ؼֳ -//첽¼ص״̬궨 -#define ASYN_LOGIN_SUCC 1 //첽¼ɹ -#define ASYN_LOGIN_FAILED 0 //첽¼ʧ - -#define NET_SDK_MAX_VERIFICATION_CODE_LEN 32 //өʯ֤볤 -#define NET_SDK_MAX_OPERATE_CODE_LEN 64 //өʯƲ볤 -#define MAX_TIMESEGMENT_V30 8 //9000豸ʱ -#define MAX_TIMESEGMENT 4 //8000豸ʱ -#define MAX_ICR_NUM 8 //ץĻ˹ƬԤõ2013-07-09 -#define MAX_VEHICLEFLOW_INFO 24 //Ϣ -#define MAX_SHELTERNUM 4 //8000豸ڵ -#define MAX_DAYS 7 //ÿ -#define PHONENUMBER_LEN 32 //pppoeź󳤶 -#define MAX_ACCESSORY_CARD 256 //Ϣ󳤶 -#define MAX_DISKNUM_V30 33 //9000豸Ӳ/* 33Ӳ(16SATAӲ̡1eSATAӲ̺16NFS) */ -#define NET_SDK_MAX_NET_USER_NUM 64 //û - -#define NET_SDK_DISK_LOCATION_LEN 16 //Ӳλó -#define NET_SDK_SUPPLIER_NAME_LEN 32 //ӦƳ -#define NET_SDK_DISK_MODEL_LEN 64 //Ӳͺų -#define NET_SDK_MAX_DISK_VOLUME 33 //Ӳ̾ -#define NET_SDK_DISK_VOLUME_LEN 36 //Ӳ̾Ƴ - -#define MAX_DISKNUM 16 //8000豸Ӳ -#define MAX_DISKNUM_V10 8 //1.2汾֮ǰ汾 -#define CARD_READER_DESCRIPTION 32 // -#define MAX_FACE_NUM 2 // - -#define MAX_WINDOW_V30 32 //9000豸ʾ󲥷Ŵ -#define MAX_WINDOW_V40 64 //Netra 2.3.1չ -#define MAX_WINDOW 16 //8000豸Ӳ -#define MAX_VGA_V30 4 //9000豸ɽVGA -#define MAX_VGA 1 //8000豸ɽVGA - -#define MAX_USERNUM_V30 32 //9000豸û -#define MAX_USERNUM 16 //8000豸û -#define MAX_EXCEPTIONNUM_V30 32 //9000豸쳣 -#define MAX_EXCEPTIONNUM 16 //8000豸쳣 -#define MAX_LINK 6 //8000豸ͨƵ -#define MAX_ITC_EXCEPTIONOUT 32 //ץĻ󱨾 -#define MAX_SCREEN_DISPLAY_LEN 512 //Ļʾַ - -#define MAX_DECPOOLNUM 4 //·ÿͨѭ -#define MAX_DECNUM 4 //·ͨʵֻһ -#define MAX_TRANSPARENTNUM 2 //·͸ͨ -#define MAX_CYCLE_CHAN 16 //·Ѳͨ -#define MAX_CYCLE_CHAN_V30 64 //Ѳͨչ -#define MAX_DIRNAME_LENGTH 80 //Ŀ¼ -#define MAX_WINDOWS 16 //󴰿 - - -#define MAX_STRINGNUM_V30 8 //9000豸OSDַ -#define MAX_STRINGNUM 4 //8000豸OSDַ -#define MAX_STRINGNUM_EX 8 //8000չ -#define MAX_AUXOUT_V30 16 //9000豸 -#define MAX_AUXOUT 4 //8000豸 -#define MAX_HD_GROUP 16 //9000豸Ӳ -#define MAX_HD_GROUP_V40 32 //豸Ӳ -#define MAX_NFS_DISK 8 //8000豸NFSӲ -#define NET_SDK_VERSION_LIST_LEN 64 //㷨汾ֵ -#define IW_ESSID_MAX_SIZE 32 //WIFISSIDų -#define IW_ENCODING_TOKEN_MAX 32 //WIFIֽ -#define MAX_SERIAL_NUM 64 //ֵ֧͸ͨ· -#define MAX_DDNS_NUMS 10 //9000豸ddns -#define MAX_DOMAIN_NAME 64 /* */ -#define MAX_EMAIL_ADDR_LEN 48 //emailַ -#define MAX_EMAIL_PWD_LEN 32 //email볤 -#define MAX_SLAVECAMERA_NUM 8 // -#define MAX_CALIB_NUM 6 //궨ĸ -#define MAX_CALIB_NUM_EX 20 //չ궨ĸ -#define MAX_LEDDISPLAYINFO_LEN 1024 //LEDʾ -#define MAX_PEOPLE_DETECTION_NUM 8 //Ա -#define MAXPROGRESS 100 //طʱٷ -#define MAX_SERIALNUM 2 //8000豸ֵ֧Ĵ 1-232 2-485 -#define CARDNUM_LEN 20 //ų -#define PATIENTID_LEN 64 -#define CARDNUM_LEN_OUT 32 //ⲿṹ忨ų -#define MAX_VIDEOOUT_V30 4 //9000豸Ƶ -#define MAX_VIDEOOUT 2 //8000豸Ƶ - -#define MAX_PRESET_V30 256 /* 9000豸ֵ̨֧Ԥõ */ -#define MAX_TRACK_V30 256 /* 9000豸ֵ̨֧ */ -#define MAX_CRUISE_V30 256 /* 9000豸ֵ̨֧Ѳ */ -#define MAX_PRESET 128 /* 8000豸ֵ̨֧Ԥõ */ -#define MAX_TRACK 128 /* 8000豸ֵ̨֧ */ -#define MAX_CRUISE 128 /* 8000豸ֵ̨֧Ѳ */ - -#define MAX_PRESET_V40 300 /* ֵ̨֧Ԥõ */ -#define MAX_CRUISE_POINT_NUM 128 /* ֵ֧Ѳĸ */ -#define MAX_CRUISEPOINT_NUM_V50 256 //ֵ֧Ѳĸչ - -#define CRUISE_MAX_PRESET_NUMS 32 /* һѲѲ */ -#define MAX_FACE_PIC_NUM 30 /*ͼ*/ -#define LOCKGATE_TIME_NUM 4 //բʱθ - -#define MAX_SERIAL_PORT 8 //9000豸֧232 -#define MAX_PREVIEW_MODE 8 /* 豸֧ԤģʽĿ 1,4,9,16.... */ -#define MAX_MATRIXOUT 16 /* ģ */ -#define LOG_INFO_LEN 11840 /* ־Ϣ */ -#define DESC_LEN 16 /* ַ̨ */ -#define PTZ_PROTOCOL_NUM 200 /* 9000ֵ̨֧Э */ -#define IPC_PROTOCOL_NUM 50 //ipc Э - -#define MAX_AUDIO 1 //8000Խͨ -#define MAX_AUDIO_V30 2 //9000Խͨ -#define MAX_CHANNUM 16 //8000豸ͨ -#define MAX_ALARMIN 16 //8000豸󱨾 -#define MAX_ALARMOUT 4 //8000豸󱨾 -#define MAX_AUDIOCAST_CFG_TYPE 3 //ֹ֧㲥õ MP3MPEG2AAC -//9000 IPC -#define MAX_ANALOG_CHANNUM 32 //32ģͨ -#define MAX_ANALOG_ALARMOUT 32 //32·ģⱨ -#define MAX_ANALOG_ALARMIN 32 //32·ģⱨ - -#define MAX_IP_DEVICE 32 //IP豸 -#define MAX_IP_DEVICE_V40 64 // IP豸 64 IVMS 2000豸 -#define MAX_IP_CHANNEL 32 //IPͨ -#define MAX_IP_ALARMIN 128 //౨ -#define MAX_IP_ALARMOUT 64 //౨ -#define MAX_IP_ALARMIN_V40 4096 //౨ -#define MAX_IP_ALARMOUT_V40 4096 //౨ - -#define MAX_RECORD_FILE_NUM 20 // ÿɾ߿¼ļ -//SDK_V31 ATM -#define MAX_ACTION_TYPE 12 //ԶЭӽΪΪ -#define MAX_ATM_PROTOCOL_NUM 256 //ÿ뷽ʽӦATMЭ -#define ATM_CUSTOM_PROTO 1025 //ԶЭ ֵΪ1025 -#define ATM_PROTOCOL_SORT 4 //ATMЭ -#define ATM_DESC_LEN 32 //ATMַ -// SDK_V31 ATM - - -#define MAX_IPV6_LEN 64 //IPv6ַ󳤶 -#define MAX_EVENTID_LEN 64 //¼ID - -#define INVALID_VALUE_UINT32 0xffffffff //Чֵ -#define MAX_CHANNUM_V40 512 -#define MAX_MULTI_AREA_NUM 24 - -//SDK ¼ -#define COURSE_NAME_LEN 32 //γ -#define INSTRUCTOR_NAME_LEN 16 //ڿνʦ -#define COURSE_DESCRIPTION_LEN 256 //γϢ - -#define MAX_TIMESEGMENT_V40 16 //ÿڿϢ - - -#define MAX_MIX_CHAN_NUM 16 /*Ŀǰֵ֧ͨͨ + MIC + LINE IN + 4С*/ -#define MAX_LINE_IN_CHAN_NUM 16 //line inͨ -#define MAX_MIC_CHAN_NUM 16 //MICͨ -#define INQUEST_CASE_NO_LEN 64 //Ѷų -#define INQUEST_CASE_NAME_LEN 64 //ѶƳ -#define CUSTOM_INFO_LEN 64 //ԶϢ -#define INQUEST_CASE_LEN 64 //ѶϢ - - -#define MAX_FILE_ID_LEN 128 //ͼĿļID󳤶 -#define MAX_PIC_NAME_LEN 128 //ͼƬƳ - -/* ֵ֧ͨ ģIP֧ */ -#define MAX_CHANNUM_V30 ( MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL )//64 -#define MAX_ALARMOUT_V40 (MAX_IP_ALARMOUT_V40 +MAX_ANALOG_ALARMOUT) //4128 -#define MAX_ALARMOUT_V30 ( MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT )//96 -#define MAX_ALARMIN_V30 ( MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN )//160 -#define MAX_ALARMIN_V40 (MAX_IP_ALARMIN_V40 +MAX_ANALOG_ALARMOUT) //4128 -#define MAX_ANALOG_ALARM_WITH_VOLT_LIMIT 16 //ܵѹ޶ģⱨ - -#define MAX_ROIDETECT_NUM 8 //ֵ֧ROI -#define MAX_LANERECT_NUM 5 //ʶ -#define MAX_FORTIFY_NUM 10 //󲼷 -#define MAX_INTERVAL_NUM 4 //ʱ -#define MAX_CHJC_NUM 3 //ʡݼַ -#define MAX_VL_NUM 5 //Ȧ -#define MAX_DRIVECHAN_NUM 16 //󳵵 -#define MAX_COIL_NUM 3 //Ȧ -#define MAX_SIGNALLIGHT_NUM 6 //źŵƸ -#define LEN_16 16 -#define LEN_32 32 -#define LEN_64 64 -#define LEN_31 31 -#define MAX_LINKAGE_CHAN_NUM 16 //ͨ -#define MAX_CABINET_COUNT 8 //ֻ֧ -#define MAX_ID_LEN 48 -#define MAX_PARKNO_LEN 16 -#define MAX_ALARMREASON_LEN 32 -#define MAX_UPGRADE_INFO_LEN 48 //ȡļƥϢ(ģ) -#define MAX_CUSTOMDIR_LEN 32 //ԶĿ¼ -#define MAX_LED_INFO_LEN 512//LEDݳ -#define MAX_VOICE_INFO_LEN 128//ݳ -#define MAX_LITLE_INFO_LEN 64 //ֽƱݳ -#define MAX_CUSTOM_INFO_LEN 64 //ֽƱԶϢݳ -#define MAX_PHONE_NUM_LEN 16 //ϵ绰ݳ -#define MAX_APP_SERIALNUM_LEN 32 //Ӧкų - -#define AUDIOTALKTYPE_G722 0 -#define AUDIOTALKTYPE_G711_MU 1 -#define AUDIOTALKTYPE_G711_A 2 -#define AUDIOTALKTYPE_MP2L2 5 -#define AUDIOTALKTYPE_G726 6 -#define AUDIOTALKTYPE_AAC 7 -#define AUDIOTALKTYPE_PCM 8 -#define AUDIOTALKTYPE_G722C 9 -#define AUDIOTALKTYPE_MP3 15 - -//packet type -#define FILE_HEAD 0 //file head -#define VIDEO_I_FRAME 1 //video I frame -#define VIDEO_B_FRAME 2 //video B frame -#define VIDEO_P_FRAME 3 //video P frame -#define AUDIO_PACKET 10 //audio packet -#define PRIVT_PACKET 11 //private packet -//E frame -#define HIK_H264_E_FRAME (1 << 6) // ǰE֡,P֡Ҳûõ -#define MAX_TRANSPARENT_CHAN_NUM 4 //ÿ͸ͨ -#define MAX_TRANSPARENT_ACCESS_NUM 4 //ÿ˿ - -//ITS -#define MAX_PARKING_STATUS 8 //λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ -#define MAX_PARKING_NUM 4 //һͨ4λ (ҳλ 03) - -#define MAX_ITS_SCENE_NUM 16 //󳡾 -#define MAX_SCENE_TIMESEG_NUM 16 //󳡾ʱ -#define MAX_IVMS_IP_CHANNEL 128 //IPͨ -#define DEVICE_ID_LEN 48 //豸ų -#define MONITORSITE_ID_LEN 48 //ʾų -#define MAX_AUXAREA_NUM 16 //Ŀ -#define MAX_SLAVE_CHANNEL_NUM 16 //ͨ -#define MAX_DEVDESC_LEN 64 //豸Ϣ󳤶 -#define ILLEGAL_LEN 32 //Υ볤 -#define MAX_TRUCK_AXLE_NUM 10 // -#define MAX_CATEGORY_LEN 8 //ƸϢַ -#define SERIAL_NO_LEN 16 //λ - - -#define MAX_SECRETKEY_LEN 512 //Կ -#define MAX_INDEX_CODE_LEN 64 //ų -#define MAX_ILLEGAL_LEN 64 //Υַ -#define CODE_LEN 64 //Ȩ -#define ALIAS_LEN 32 //ֻ -#define MAX_SCH_TASKS_NUM 10 - -#define MAX_SERVERID_LEN 64 //IDij -#define MAX_SERVERDOMAIN_LEN 128 //󳤶 -#define MAX_AUTHENTICATEID_LEN 64 //֤ID󳤶 -#define MAX_AUTHENTICATEPASSWD_LEN 32 //֤󳤶 -#define MAX_SERVERNAME_LEN 64 //û -#define MAX_COMPRESSIONID_LEN 64 //ID󳤶 -#define MAX_SIPSERVER_ADDRESS_LEN 128 //SIPַ֧IPַ -//ѹ߱ -#define MAX_PlATE_NO_LEN 32 //ƺ󳤶 2013-09-27 -#define UPNP_PORT_NUM 12 //upnp˿ӳ˿Ŀ - -#define MAX_PEOPLE_DETECTION_NUM 8 //Ա - -#define MAX_NOTICE_NUMBER_LEN 32 //󳤶 -#define MAX_NOTICE_THEME_LEN 64 //󳤶 -#define MAX_NOTICE_DETAIL_LEN 1024 //󳤶 -#define MAX_NOTICE_PIC_NUM 6 //ϢͼƬ -#define MAX_DEV_NUMBER_LEN 32 //豸󳤶 -#define LOCK_NAME_LEN 32 // - - -#define HOLIDAY_GROUP_NAME_LEN 32 //Ƴ -#define MAX_HOLIDAY_PLAN_NUM 16 //ռƻ -#define TEMPLATE_NAME_LEN 32 //ƻģƳ -#define MAX_HOLIDAY_GROUP_NUM 16 //ƻģ -#define DOOR_NAME_LEN 32 // -#define STRESS_PASSWORD_LEN 8 //в볤 -#define SUPER_PASSWORD_LEN 8 //в볤 -#define GROUP_NAME_LEN 32 //ȺƳ -#define GROUP_COMBINATION_NUM 8 //Ⱥ -#define MULTI_CARD_GROUP_NUM 4 //ؿ -#define ACS_CARD_NO_LEN 32 //Žų -#define NET_SDK_EMPLOYEE_NO_LEN 32 //ų -#define NET_SDK_UUID_LEN 36 //UUID -#define NET_SDK_EHOME_KEY_LEN 32 //EHome Key -#define CARD_PASSWORD_LEN 8 //볤 -#define MAX_DOOR_NUM 32 // -#define MAX_CARD_RIGHT_PLAN_NUM 4 //Ȩƻ -#define MAX_GROUP_NUM_128 128 //Ⱥ -#define MAX_CARD_READER_NUM 64 // -#define MAX_SNEAK_PATH_NODE 8 // -#define MAX_MULTI_DOOR_INTERLOCK_GROUP 8 //Ż -#define MAX_INTER_LOCK_DOOR_NUM 8 //һŻ -#define MAX_CASE_SENSOR_NUM 8 //case sensor -#define MAX_DOOR_NUM_256 256 // -#define MAX_READER_ROUTE_NUM 16 //ˢѭ· -#define MAX_FINGER_PRINT_NUM 10 //ָƸ -#define MAX_CARD_READER_NUM_512 512 // -#define NET_SDK_MULTI_CARD_GROUP_NUM_20 20 //ؿ - -#define ERROR_MSG_LEN 32 //·Ϣ -#define MAX_DOOR_CODE_LEN 8 //볤 -#define MAX_LOCK_CODE_LEN 8 //볤 -#define PER_RING_PORT_NUM 2 //ÿĶ˿ -#define SENSORNAME_LEN 32 //Ƴ -#define MAX_SENSORDESCR_LEN 64 // -#define MAX_DNS_SERVER_NUM 2 //DNS -#define SENSORUNIT_LEN 32 //λ - -#define WEP_KEY_MAX_SIZE 32 //WEPԿ -#define WEP_KEY_MAX_NUM 4 //WEPԿ -#define WPA_KEY_MAX_SIZE 64 //WPAԿ - -#define MAX_SINGLE_FTPPICNAME_LEN 20 //󵥸FTPͨ -#define MAX_CAMNAME_LEN 32 //ͨ -#define MAX_FTPNAME_NUM 12 //TFP - - -#define MAX_IDCODE_LEN 128 // ʶ󳤶 -#define MAX_VERSIIN_LEN 64 //汾󳤶 -#define MAX_IDCODE_NUM 32 // ʶ -#define SDK_LEN_2048 2048 -#define SDK_MAX_IP_LEN 48 - -#define RECT_POINT_NUM 4 //ν - -#define MAX_PUBLIC_KEY_LEN 512 // Կ -#define CHIP_SERIALNO_LEN 32 //оƬкų -#define ENCRYPT_DEV_ID_LEN 20 //豸ID - -//MCUص -#define MAX_SEARCH_ID_LEN 36 //ʶ󳤶 -#define TERMINAL_NAME_LEN 64 //նƳ -#define MAX_URL_LEN 512 //URL -#define REGISTER_NAME_LEN 64 //նעGK󳤶 - -// -#define MAX_PORT_NUM 64 //˿ -#define MAX_SINGLE_CARD_PORT_NO 4 //շ˿ -#define MAX_FUNC_CARD_NUM 32 //շܿ -#define MAX_FC_CARD_NUM 33 //շ -#define MAX_REMARKS_LEN 128 //ע󳤶 -#define MAX_OUTPUT_PORT_NUM 32 //·˿ -#define MAX_SINGLE_PORT_RECVCARD_NUM 64 //˿ӵտ -#define MAX_GAMMA_X_VALUE 256 //GAMMAXȡֵ -#define NET_DEV_NAME_LEN 64 //豸Ƴ -#define NET_DEV_TYPE_NAME_LEN 64 //豸Ƴ -#define ABNORMAL_INFO_NUM 4 //쳣ʱθ - -#define PLAYLIST_NAME_LEN 64 //űƳ -#define PLAYLIST_ITEM_NUM 64 //Ŀ - -// -#define NET_SDK_MAX_LOGIN_PASSWORD_LEN 128 //û¼󳤶 -#define NET_SDK_MAX_ANSWER_LEN 256 //ȫ󳤶 -#define NET_SDK_MAX_QUESTION_LIST_LEN 32//ȫб󳤶 - -#define MAX_SCREEN_AREA_NUM 128 //Ļ -#define NET_SDK_MAX_THERMOMETRYALGNAME 128//㷨汾󳤶 -#define NET_SDK_MAX_SHIPSALGNAME 128//ֻ㷨汾󳤶 -#define NET_SDK_MAX_FIRESALGNAME 128//㷨汾󳤶 - -#define MAX_PASSPORT_NUM_LEN 16 //֤ų -#define MAX_PASSPORT_INFO_LEN 128 //ͨϢ -#define MAX_PASSPORT_NAME_LEN 64 // -#define MAX_PASSPORT_MONITOR_LEN 1024 //ռ໤Ϣ -#define MAX_NATIONALITY_LEN 16 //չ -#define MAX_PASSPORT_TYPE_LEN 4 //֤ͳ - -/*******************ȫִ begin**********************/ -#define NET_DVR_NOERROR 0 //ûд -#define NET_DVR_PASSWORD_ERROR 1 //û -#define NET_DVR_NOENOUGHPRI 2 //Ȩ޲ -#define NET_DVR_NOINIT 3 //ûгʼ -#define NET_DVR_CHANNEL_ERROR 4 //ͨŴ -#define NET_DVR_OVER_MAXLINK 5 //ӵDVRĿͻ˸ -#define NET_DVR_VERSIONNOMATCH 6 //汾ƥ -#define NET_DVR_NETWORK_FAIL_CONNECT 7 //ӷʧ -#define NET_DVR_NETWORK_SEND_ERROR 8 //ʧ -#define NET_DVR_NETWORK_RECV_ERROR 9 //ӷʧ -#define NET_DVR_NETWORK_RECV_TIMEOUT 10 //ӷݳʱ -#define NET_DVR_NETWORK_ERRORDATA 11 //͵ -#define NET_DVR_ORDER_ERROR 12 //ô -#define NET_DVR_OPERNOPERMIT 13 //޴Ȩ -#define NET_DVR_COMMANDTIMEOUT 14 //DVRִгʱ -#define NET_DVR_ERRORSERIALPORT 15 //ںŴ -#define NET_DVR_ERRORALARMPORT 16 //˿ڴ -#define NET_DVR_PARAMETER_ERROR 17 // -#define NET_DVR_CHAN_EXCEPTION 18 //ͨڴ״̬ -#define NET_DVR_NODISK 19 //ûӲ -#define NET_DVR_ERRORDISKNUM 20 //Ӳ̺Ŵ -#define NET_DVR_DISK_FULL 21 //Ӳ -#define NET_DVR_DISK_ERROR 22 //Ӳ̳ -#define NET_DVR_NOSUPPORT 23 //֧ -#define NET_DVR_BUSY 24 //æ -#define NET_DVR_MODIFY_FAIL 25 //޸IJɹ -#define NET_DVR_PASSWORD_FORMAT_ERROR 26 //ʽȷ -#define NET_DVR_DISK_FORMATING 27 //Ӳڸʽ -#define NET_DVR_DVRNORESOURCE 28 //DVRԴ -#define NET_DVR_DVROPRATEFAILED 29 //DVRʧ -#define NET_DVR_OPENHOSTSOUND_FAIL 30 //PCʧ -#define NET_DVR_DVRVOICEOPENED 31 //Խռ -#define NET_DVR_TIMEINPUTERROR 32 //ʱ벻ȷ -#define NET_DVR_NOSPECFILE 33 //طʱûָļ -#define NET_DVR_CREATEFILE_ERROR 34 //ļ -#define NET_DVR_FILEOPENFAIL 35 //ļ -#define NET_DVR_OPERNOTFINISH 36 //ϴεIJû -#define NET_DVR_GETPLAYTIMEFAIL 37 //ȡǰŵʱ -#define NET_DVR_PLAYFAIL 38 //ų -#define NET_DVR_FILEFORMAT_ERROR 39 //ļʽȷ -#define NET_DVR_DIR_ERROR 40 //· -#define NET_DVR_ALLOC_RESOURCE_ERROR 41 //Դ -#define NET_DVR_AUDIO_MODE_ERROR 42 //ģʽ -#define NET_DVR_NOENOUGH_BUF 43 //̫С -#define NET_DVR_CREATESOCKET_ERROR 44 //SOCKET -#define NET_DVR_SETSOCKET_ERROR 45 //SOCKET -#define NET_DVR_MAX_NUM 46 //ﵽ -#define NET_DVR_USERNOTEXIST 47 //û -#define NET_DVR_WRITEFLASHERROR 48 //дFLASH -#define NET_DVR_UPGRADEFAIL 49 //DVRʧ -#define NET_DVR_CARDHAVEINIT 50 //뿨Ѿʼ -#define NET_DVR_PLAYERFAILED 51 //òſijʧ -#define NET_DVR_MAX_USERNUM 52 //豸ûﵽ -#define NET_DVR_GETLOCALIPANDMACFAIL 53 //ÿͻ˵IPַַʧ -#define NET_DVR_NOENCODEING 54 //ͨûб -#define NET_DVR_IPMISMATCH 55 //IPַƥ -#define NET_DVR_MACMISMATCH 56 //MACַƥ -#define NET_DVR_UPGRADELANGMISMATCH 57 //ļԲƥ -#define NET_DVR_MAX_PLAYERPORT 58 //·ﵽ -#define NET_DVR_NOSPACEBACKUP 59 //豸û㹻ռб -#define NET_DVR_NODEVICEBACKUP 60 //ûҵָı豸 -#define NET_DVR_PICTURE_BITS_ERROR 61 //ͼλ24ɫ -#define NET_DVR_PICTURE_DIMENSION_ERROR 62 //ͼƬ*ޣ 128*256 -#define NET_DVR_PICTURE_SIZ_ERROR 63 //ͼƬСޣ100K -#define NET_DVR_LOADPLAYERSDKFAILED 64 //뵱ǰĿ¼Player Sdk -#define NET_DVR_LOADPLAYERSDKPROC_ERROR 65 //ҲPlayer Sdkij -#define NET_DVR_LOADDSSDKFAILED 66 //뵱ǰĿ¼DSsdk -#define NET_DVR_LOADDSSDKPROC_ERROR 67 //ҲDsSdkij -#define NET_DVR_DSSDK_ERROR 68 //ӲDsSdkijʧ -#define NET_DVR_VOICEMONOPOLIZE 69 //ռ -#define NET_DVR_JOINMULTICASTFAILED 70 //ಥʧ -#define NET_DVR_CREATEDIR_ERROR 71 //־ļĿ¼ʧ -#define NET_DVR_BINDSOCKET_ERROR 72 //׽ʧ -#define NET_DVR_SOCKETCLOSE_ERROR 73 //socketжϣ˴ͨжϻĿĵزɴ -#define NET_DVR_USERID_ISUSING 74 //עʱûIDڽij -#define NET_DVR_SOCKETLISTEN_ERROR 75 //ʧ -#define NET_DVR_PROGRAM_EXCEPTION 76 //쳣 -#define NET_DVR_WRITEFILE_FAILED 77 //дļʧ -#define NET_DVR_FORMAT_READONLY 78 //ֹʽֻӲ -#define NET_DVR_WITHSAMEUSERNAME 79 //ûýṹдͬû -#define NET_DVR_DEVICETYPE_ERROR 80 /*ʱ豸ͺŲƥ*/ -#define NET_DVR_LANGUAGE_ERROR 81 /*ʱԲƥ*/ -#define NET_DVR_PARAVERSION_ERROR 82 /*ʱ汾ƥ*/ -#define NET_DVR_IPCHAN_NOTALIVE 83 /*ԤʱIPͨ*/ -#define NET_DVR_RTSP_SDK_ERROR 84 /*ظIPCͨѶStreamTransClient.dllʧ*/ -#define NET_DVR_CONVERT_SDK_ERROR 85 /*תʧ*/ -#define NET_DVR_IPC_COUNT_OVERFLOW 86 /*ipͨ*/ -#define NET_DVR_MAX_ADD_NUM 87 /*ӱǩ(һļƬ64)ȸﵽ*/ -#define NET_DVR_PARAMMODE_ERROR 88 //ͼǿǣģʽӲʱͻ˽ʱֵ -#define NET_DVR_CODESPITTER_OFFLINE 89 //Ƶۺƽ̨ -#define NET_DVR_BACKUP_COPYING 90 //豸ڱ -#define NET_DVR_CHAN_NOTSUPPORT 91 // ָ֧ͨò -#define NET_DVR_CALLINEINVALID 92 // ߶λ̫л򳤶߲б -#define NET_DVR_CALCANCELCONFLICT 93 // ȡ궨ͻ˹ȫֵʵʴСߴ -#define NET_DVR_CALPOINTOUTRANGE 94 // 궨㳬Χ -#define NET_DVR_FILTERRECTINVALID 95 // ߴҪ -#define NET_DVR_DDNS_DEVOFFLINE 96 //豸ûעᵽddns -#define NET_DVR_DDNS_INTER_ERROR 97 //DDNS ڲ -#define NET_DVR_FUNCTION_NOT_SUPPORT_OS 98 //˹ָ֧ܲòϵͳ -#define NET_DVR_DEC_CHAN_REBIND 99 //ͨʾ -#define NET_DVR_INTERCOM_SDK_ERROR 100 //صǰĿ¼µԽʧ -#define NET_DVR_NO_CURRENT_UPDATEFILE 101 //ûȷ -#define NET_DVR_USER_NOT_SUCC_LOGIN 102 //ûû½ɹ -#define NET_DVR_USE_LOG_SWITCH_FILE 103 //ʹ־ļ -#define NET_DVR_POOL_PORT_EXHAUST 104 //˿ڳڰ󶨵Ķ˿Ѻľ -#define NET_DVR_PACKET_TYPE_NOT_SUPPORT 105 //װʽ -#define NET_DVR_IPPARA_IPID_ERROR 106 //IPʱIPID - -#define NET_DVR_LOAD_HCPREVIEW_SDK_ERROR 107 //Ԥʧ -#define NET_DVR_LOAD_HCVOICETALK_SDK_ERROR 108 //ʧ -#define NET_DVR_LOAD_HCALARM_SDK_ERROR 109 //ʧ -#define NET_DVR_LOAD_HCPLAYBACK_SDK_ERROR 110 //طʧ -#define NET_DVR_LOAD_HCDISPLAY_SDK_ERROR 111 //ʾʧ -#define NET_DVR_LOAD_HCINDUSTRY_SDK_ERROR 112 //ҵӦʧ -#define NET_DVR_LOAD_HCGENERALCFGMGR_SDK_ERROR 113 //ͨùʧ -#define NET_DVR_LOAD_HCCOREDEVCFG_SDK_ERROR 114 //豸úʧ -#define NET_DVR_LOAD_HCNETUTILS_SDK_ERROR 115 //HCNetUtilsʧ - -#define NET_DVR_CORE_VER_MISMATCH 121 //ʱcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCPREVIEW 122 //Ԥcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCVOICETALK 123 //core汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCALARM 124 //core汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCPLAYBACK 125 //طcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCDISPLAY 126 //ʾcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCINDUSTRY 127 //ҵӦcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCGENERALCFGMGR 128 //ͨùcore汾ƥ - -#define NET_DVR_COM_VER_MISMATCH_HCPREVIEW 136 //ԤHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCVOICETALK 137 //HCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCALARM 138 //HCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCPLAYBACK 139 //طHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCDISPLAY 140 //ʾHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCINDUSTRY 141 //ҵӦHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCGENERALCFGMGR 142 //ͨùHCNetSDK汾ƥ - -#define NET_ERR_CONFIG_FILE_IMPORT_FAILED 145 //ļʧ -#define NET_ERR_CONFIG_FILE_EXPORT_FAILED 146 //ļʧ -#define NET_DVR_CERTIFICATE_FILE_ERROR 147 //֤ -#define NET_DVR_LOAD_SSL_LIB_ERROR 148 //SSLʧܣǰ汾ƥ䣬ҲDzڣ -#define NET_DVR_SSL_VERSION_NOT_MATCH 149 //SSL汾ƥ - -#define NET_DVR_ALIAS_DUPLICATE 150 //ظ //2011-08-31 ͨк豸°汾ddns -#define NET_DVR_INVALID_COMMUNICATION 151 //Чͨ -#define NET_DVR_USERNAME_NOT_EXIST 152 //ûڣûڣIPC5.1.7зȥˣɾIJƷòϣ -#define NET_DVR_USER_LOCKED 153 //û -#define NET_DVR_INVALID_USERID 154 //ЧûID -#define NET_DVR_LOW_LOGIN_VERSION 155 //¼汾 -#define NET_DVR_LOAD_LIBEAY32_DLL_ERROR 156 //libeay32.dllʧ -#define NET_DVR_LOAD_SSLEAY32_DLL_ERROR 157 //ssleay32.dllʧ -#define NET_ERR_LOAD_LIBICONV 158 //libiconvʧ -#define NET_ERR_SSL_CONNECT_FAILED 159 //SSLʧ -#define NET_ERR_MCAST_ADDRESS_ERROR 160 //ȡಥַ -#define NET_ERR_LOAD_ZLIB 161 //zlib.dllʧ -#define NET_ERR_OPENSSL_NO_INIT 162 //Opensslδʼ - -#define NET_DVR_SERVER_NOT_EXIST 164 //ӦķҲ,ʱĹұŻ߷ʹ -#define NET_DVR_TEST_SERVER_FAIL_CONNECT 165 //ӲԷʧ -#define NET_DVR_NAS_SERVER_INVALID_DIR 166 //NASĿ¼ʧܣĿ¼Ч -#define NET_DVR_NAS_SERVER_NOENOUGH_PRI 167 //NASĿ¼ʧܣûȨ -#define NET_DVR_EMAIL_SERVER_NOT_CONFIG_DNS 168 //ʹûDNSЧ -#define NET_DVR_EMAIL_SERVER_NOT_CONFIG_GATEWAY 169 //ûأɷʼʧܡ -#define NET_DVR_TEST_SERVER_PASSWORD_ERROR 170 //û벻ȷԷû -#define NET_DVR_EMAIL_SERVER_CONNECT_EXCEPTION_WITH_SMTP 171 //豸smtp쳣 -#define NET_DVR_FTP_SERVER_FAIL_CREATE_DIR 172 //FTPĿ¼ʧ -#define NET_DVR_FTP_SERVER_NO_WRITE_PIR 173 //FTPûдȨ -#define NET_DVR_IP_CONFLICT 174 //IPͻ -#define NET_DVR_INSUFFICIENT_STORAGEPOOL_SPACE 175 //洢ؿռ -#define NET_DVR_STORAGEPOOL_INVALID 176 //Ʒ洢Ч,ûô洢ػߴ洢ID -#define NET_DVR_EFFECTIVENESS_REBOOT 177 //ЧҪ -#define NET_ERR_ANR_ARMING_EXIST 178 //Ѿ(ô˽вӽ£ظĶʱء) -#define NET_ERR_UPLOADLINK_EXIST 179 //ϴѾ(EHOMEЭSDKЭDzͬʱֶ֧ģһЭڵʱһӽ롣) -#define NET_ERR_INCORRECT_FILE_FORMAT 180 //ļʽȷ -#define NET_ERR_INCORRECT_FILE_CONTENT 181 //ļݲȷ -#define NET_ERR_MAX_HRUDP_LINK 182 //HRUDP 豸 -#define NET_SDK_ERR_ACCESSKEY_SECRETKEY 183 // ԿԿȷ -#define NET_SDK_ERR_CREATE_PORT_MULTIPLEX 184 //˿ڸʧ -#define NET_DVR_NONBLOCKING_CAPTURE_NOTSUPPORT 185 //֧ץͼ -#define NET_SDK_ERR_FUNCTION_INVALID 186 //ѿ첽ùЧ -#define NET_SDK_ERR_MAX_PORT_MULTIPLEX 187 //Ѵﵽ˿ڸĿ -#define NET_DVR_INVALID_LINK 188 //δЧ -#define NET_DVR_ISAPI_NOT_SUPPORT 189 //ӿڲ֧ISAPIЭ - -// 2010-5-28 -// д -#define RAID_ERROR_INDEX 200 -#define NET_DVR_NAME_NOT_ONLY (RAID_ERROR_INDEX + 0) // Ѵ -#define NET_DVR_OVER_MAX_ARRAY (RAID_ERROR_INDEX + 1 ) // дﵽ -#define NET_DVR_OVER_MAX_VD (RAID_ERROR_INDEX + 2 ) // ̴ﵽ -#define NET_DVR_VD_SLOT_EXCEED (RAID_ERROR_INDEX + 3 ) // ̲λ -#define NET_DVR_PD_STATUS_INVALID (RAID_ERROR_INDEX + 4 ) // ؽ״̬ -#define NET_DVR_PD_BE_DEDICATE_SPARE (RAID_ERROR_INDEX + 5 ) // ؽΪָȱ -#define NET_DVR_PD_NOT_FREE (RAID_ERROR_INDEX + 6 ) // ؽ̷ǿ -#define NET_DVR_CANNOT_MIG2NEWMODE (RAID_ERROR_INDEX + 7 ) // ܴӵǰǨƵµ -#define NET_DVR_MIG_PAUSE (RAID_ERROR_INDEX + 8 ) // ǨƲͣ -#define NET_DVR_MIG_CANCEL (RAID_ERROR_INDEX + 9 ) // ִеǨƲȡ -#define NET_DVR_EXIST_VD (RAID_ERROR_INDEX + 10) // ϴ̣޷ɾ -#define NET_DVR_TARGET_IN_LD_FUNCTIONAL (RAID_ERROR_INDEX + 11) // Ϊɲҹ -#define NET_DVR_HD_IS_ASSIGNED_ALREADY (RAID_ERROR_INDEX + 12) // ָ̱Ϊ -#define NET_DVR_INVALID_HD_COUNT (RAID_ERROR_INDEX + 13) // ָRAIDȼƥ -#define NET_DVR_LD_IS_FUNCTIONAL (RAID_ERROR_INDEX + 14) // ޷ؽ -#define NET_DVR_BGA_RUNNING (RAID_ERROR_INDEX + 15) // ִеĺ̨ -#define NET_DVR_LD_NO_ATAPI (RAID_ERROR_INDEX + 16) // ޷ATAPI̴ -#define NET_DVR_MIGRATION_NOT_NEED (RAID_ERROR_INDEX + 17) // Ǩ -#define NET_DVR_HD_TYPE_MISMATCH (RAID_ERROR_INDEX + 18) // ̲ͬ -#define NET_DVR_NO_LD_IN_DG (RAID_ERROR_INDEX + 19) // ̣޷д -#define NET_DVR_NO_ROOM_FOR_SPARE (RAID_ERROR_INDEX + 20) // ̿ռС޷ָΪȱ -#define NET_DVR_SPARE_IS_IN_MULTI_DG (RAID_ERROR_INDEX + 21) // ѱΪijȱ -#define NET_DVR_DG_HAS_MISSING_PD (RAID_ERROR_INDEX + 22) // ȱ - -// x86 64bit nvr 2012-02-04 -#define NET_DVR_NAME_EMPTY (RAID_ERROR_INDEX + 23) /*Ϊ*/ -#define NET_DVR_INPUT_PARAM (RAID_ERROR_INDEX + 24) /**/ -#define NET_DVR_PD_NOT_AVAILABLE (RAID_ERROR_INDEX + 25) /*̲*/ -#define NET_DVR_ARRAY_NOT_AVAILABLE (RAID_ERROR_INDEX + 26) /*в*/ -#define NET_DVR_PD_COUNT (RAID_ERROR_INDEX + 27) /*ȷ*/ -#define NET_DVR_VD_SMALL (RAID_ERROR_INDEX + 28) /*̫С*/ -#define NET_DVR_NO_EXIST (RAID_ERROR_INDEX + 29) /**/ -#define NET_DVR_NOT_SUPPORT (RAID_ERROR_INDEX + 30) /*ָ֧ò*/ -#define NET_DVR_NOT_FUNCTIONAL (RAID_ERROR_INDEX + 31) /*״̬״̬*/ -#define NET_DVR_DEV_NODE_NOT_FOUND (RAID_ERROR_INDEX + 32) /*豸ڵ㲻*/ -#define NET_DVR_SLOT_EXCEED (RAID_ERROR_INDEX + 33) /*λﵽ*/ -#define NET_DVR_NO_VD_IN_ARRAY (RAID_ERROR_INDEX + 34) /*ϲ*/ -#define NET_DVR_VD_SLOT_INVALID (RAID_ERROR_INDEX + 35) /*̲λЧ*/ -#define NET_DVR_PD_NO_ENOUGH_SPACE (RAID_ERROR_INDEX + 36) /*̿ռ䲻*/ -#define NET_DVR_ARRAY_NONFUNCTION (RAID_ERROR_INDEX + 37) /*ֻд״̬вܽǨ*/ -#define NET_DVR_ARRAY_NO_ENOUGH_SPACE (RAID_ERROR_INDEX + 38) /*пռ䲻*/ -#define NET_DVR_STOPPING_SCANNING_ARRAY (RAID_ERROR_INDEX + 39) /*ִаȫ̻ɨ*/ -#define NET_DVR_NOT_SUPPORT_16T (RAID_ERROR_INDEX + 40) /*ִ֧16T*/ -#define NET_DVR_ARRAY_FORMATING (RAID_ERROR_INDEX + 41) /*ִиʽ޷ɾ*/ -#define NET_DVR_QUICK_SETUP_PD_COUNT (RAID_ERROR_INDEX + 42) /*һҪ*/ - -//豸δʱ¼ʧܣش -#define NET_DVR_ERROR_DEVICE_NOT_ACTIVATED 250//豸δ -//SDK豸û߼ʱΪʱ -#define NET_DVR_ERROR_RISK_PASSWORD 251 //зյ -//Ѽ豸ٴμʱش -#define NET_DVR_ERROR_DEVICE_HAS_ACTIVATED 252//豸Ѽ - - -// ܴ -#define VCA_ERROR_INDEX 300 // ܴ -#define NET_DVR_ID_ERROR (VCA_ERROR_INDEX + 0) // ID -#define NET_DVR_POLYGON_ERROR (VCA_ERROR_INDEX + 1) // βҪ -#define NET_DVR_RULE_PARAM_ERROR (VCA_ERROR_INDEX + 2) // -#define NET_DVR_RULE_CFG_CONFLICT (VCA_ERROR_INDEX + 3) // Ϣͻ -#define NET_DVR_CALIBRATE_NOT_READY (VCA_ERROR_INDEX + 4) // ǰûб궨Ϣ -#define NET_DVR_CAMERA_DATA_ERROR (VCA_ERROR_INDEX + 5) // -#define NET_DVR_CALIBRATE_DATA_UNFIT (VCA_ERROR_INDEX + 6) // Ȳбڱ궨 -#define NET_DVR_CALIBRATE_DATA_CONFLICT (VCA_ERROR_INDEX + 7) // 궨Ϊе㹲߻λ̫ -#define NET_DVR_CALIBRATE_CALC_FAIL (VCA_ERROR_INDEX + 8) // 궨ֵʧ -#define NET_DVR_CALIBRATE_LINE_OUT_RECT (VCA_ERROR_INDEX + 9) // 궨߳Ӿο -#define NET_DVR_ENTER_RULE_NOT_READY (VCA_ERROR_INDEX + 10) // ûý -#define NET_DVR_AID_RULE_NO_INCLUDE_LANE (VCA_ERROR_INDEX + 11) // ͨ¼ûаֵӵºУ -#define NET_DVR_LANE_NOT_READY (VCA_ERROR_INDEX + 12) // ǰûó -#define NET_DVR_RULE_INCLUDE_TWO_WAY (VCA_ERROR_INDEX + 13) // ¼а2ֲͬ -#define NET_DVR_LANE_TPS_RULE_CONFLICT (VCA_ERROR_INDEX + 14) // ݹͻ -#define NET_DVR_NOT_SUPPORT_EVENT_TYPE (VCA_ERROR_INDEX + 15) // ֵ֧¼ -#define NET_DVR_LANE_NO_WAY (VCA_ERROR_INDEX + 16) // ûз -#define NET_DVR_SIZE_FILTER_ERROR (VCA_ERROR_INDEX + 17) // ߴ˿򲻺 -#define NET_DVR_LIB_FFL_NO_FACE (VCA_ERROR_INDEX + 18) // 㶨λʱͼû -#define NET_DVR_LIB_FFL_IMG_TOO_SMALL (VCA_ERROR_INDEX + 19) // 㶨λʱͼ̫С -#define NET_DVR_LIB_FD_IMG_NO_FACE (VCA_ERROR_INDEX + 20) // ͼʱͼû -#define NET_DVR_LIB_FACE_TOO_SMALL (VCA_ERROR_INDEX + 21) // ģʱ̫С -#define NET_DVR_LIB_FACE_QUALITY_TOO_BAD (VCA_ERROR_INDEX + 22) // ģʱͼ̫ -#define NET_DVR_KEY_PARAM_ERR (VCA_ERROR_INDEX + 23) //߼ô -#define NET_DVR_CALIBRATE_DATA_ERR (VCA_ERROR_INDEX + 24) //궨Ŀ󣬻ֵ󣬻㳬ƽ -#define NET_DVR_CALIBRATE_DISABLE_FAIL (VCA_ERROR_INDEX + 25) //ùȡ궨 -#define NET_DVR_VCA_LIB_FD_SCALE_OUTRANGE (VCA_ERROR_INDEX + 26) //˿ĿСֵС˿Ŀֵ -#define NET_DVR_LIB_FD_REGION_TOO_LARGE (VCA_ERROR_INDEX + 27) //ǰΧ󡣼Ϊͼ2/3 -#define NET_DVR_TRIAL_OVERDUE (VCA_ERROR_INDEX + 28) //ðѽ -#define NET_DVR_CONFIG_FILE_CONFLICT (VCA_ERROR_INDEX + 29) //豸ļͻܹзòʾ -//㷨ش -#define NET_DVR_FR_FPL_FAIL (VCA_ERROR_INDEX + 30) // 㶨λʧ -#define NET_DVR_FR_IQA_FAIL (VCA_ERROR_INDEX + 31) // ʧ -#define NET_DVR_FR_FEM_FAIL (VCA_ERROR_INDEX + 32) // ȡʧ -#define NET_DVR_FPL_DT_CONF_TOO_LOW (VCA_ERROR_INDEX + 33) // 㶨λʱŶȹ -#define NET_DVR_FPL_CONF_TOO_LOW (VCA_ERROR_INDEX + 34) // 㶨λŶȹ -#define NET_DVR_E_DATA_SIZE (VCA_ERROR_INDEX + 35) // ݳȲƥ -#define NET_DVR_FR_MODEL_VERSION_ERR (VCA_ERROR_INDEX + 36) // ģеģͰ汾 -#define NET_DVR_FR_FD_FAIL (VCA_ERROR_INDEX + 37) // ʶʧ -#define NET_DVR_FA_NORMALIZE_ERR (VCA_ERROR_INDEX + 38) // һ -// -#define NET_DVR_DOG_PUSTREAM_NOT_MATCH (VCA_ERROR_INDEX + 39) // ܹǰȡ豸Ͳƥ -#define NET_DVR_DEV_PUSTREAM_NOT_MATCH (VCA_ERROR_INDEX + 40) // ǰȡ豸汾ƥ -#define NET_DVR_PUSTREAM_ALREADY_EXISTS (VCA_ERROR_INDEX + 41) // 豸ͨѾӹǰ豸 -#define NET_DVR_SEARCH_CONNECT_FAILED (VCA_ERROR_INDEX + 42) // Ӽʧ -#define NET_DVR_INSUFFICIENT_DISK_SPACE (VCA_ERROR_INDEX + 43) // ɴ洢Ӳ̿ռ䲻 -#define NET_DVR_DATABASE_CONNECTION_FAILED (VCA_ERROR_INDEX + 44) // ݿʧ -#define NET_DVR_DATABASE_ADM_PW_ERROR (VCA_ERROR_INDEX + 45) // ݿû -#define NET_DVR_DECODE_YUV (VCA_ERROR_INDEX + 46) // ʧ -#define NET_DVR_IMAGE_RESOLUTION_ERROR (VCA_ERROR_INDEX + 47) // -#define NET_DVR_CHAN_WORKMODE_ERROR (VCA_ERROR_INDEX + 48) // - -#define NET_DVR_RTSP_ERROR_NOENOUGHPRI 401 //Ȩޣ401ʱת -#define NET_DVR_RTSP_ERROR_ALLOC_RESOURCE 402 //Դʧ -#define NET_DVR_RTSP_ERROR_PARAMETER 403 // -#define NET_DVR_RTSP_ERROR_NO_URL 404 //ָURLַڣ404ʱת -#define NET_DVR_RTSP_ERROR_FORCE_STOP 406 //û;ǿ˳ - -#define NET_DVR_RTSP_GETPORTFAILED 407 //rtsp õ˿ڴ -#define NET_DVR_RTSP_DESCRIBERROR 410 //rtsp decribe -#define NET_DVR_RTSP_DESCRIBESENDTIMEOUT 411 //rtsp decribe ͳʱ -#define NET_DVR_RTSP_DESCRIBESENDERROR 412 //rtsp decribe ʧ -#define NET_DVR_RTSP_DESCRIBERECVTIMEOUT 413 //rtsp decribe ճʱ -#define NET_DVR_RTSP_DESCRIBERECVDATALOST 414 //rtsp decribe ݴ -#define NET_DVR_RTSP_DESCRIBERECVERROR 415 //rtsp decribe ʧ -#define NET_DVR_RTSP_DESCRIBESERVERERR 416 //rtsp decribe ش״̬ - -#define NET_DVR_RTSP_SETUPERROR 420 //rtsp setup -#define NET_DVR_RTSP_SETUPSENDTIMEOUT 421 //rtsp setup ͳʱ -#define NET_DVR_RTSP_SETUPSENDERROR 422 //rtsp setup ʹ -#define NET_DVR_RTSP_SETUPRECVTIMEOUT 423 //rtsp setup ճʱ -#define NET_DVR_RTSP_SETUPRECVDATALOST 424 //rtsp setup ݴ -#define NET_DVR_RTSP_SETUPRECVERROR 425 //rtsp setup ʧ -#define NET_DVR_RTSP_OVER_MAX_CHAN 426 //߷Դ㣬453ʱת롣 -#define NET_DVR_RTSP_SETUPSERVERERR 427 //rtsp setup ش״̬ - -#define NET_DVR_RTSP_PLAYERROR 430 //rtsp play -#define NET_DVR_RTSP_PLAYSENDTIMEOUT 431 //rtsp play ͳʱ -#define NET_DVR_RTSP_PLAYSENDERROR 432 //rtsp play ʹ -#define NET_DVR_RTSP_PLAYRECVTIMEOUT 433 //rtsp play ճʱ -#define NET_DVR_RTSP_PLAYRECVDATALOST 434 //rtsp play ݴ -#define NET_DVR_RTSP_PLAYRECVERROR 435 //rtsp play ʧ -#define NET_DVR_RTSP_PLAYSERVERERR 436 //rtsp play ش״̬ - -#define NET_DVR_RTSP_TEARDOWNERROR 440 //rtsp teardown -#define NET_DVR_RTSP_TEARDOWNSENDTIMEOUT 441 //rtsp teardown ͳʱ -#define NET_DVR_RTSP_TEARDOWNSENDERROR 442 //rtsp teardown ʹ -#define NET_DVR_RTSP_TEARDOWNRECVTIMEOUT 443 //rtsp teardown ճʱ -#define NET_DVR_RTSP_TEARDOWNRECVDATALOST 444 //rtsp teardown ݴ -#define NET_DVR_RTSP_TEARDOWNRECVERROR 445 //rtsp teardown ʧ -#define NET_DVR_RTSP_TEARDOWNSERVERERR 446 //rtsp teardown ش״̬ - -#define NET_PLAYM4_NOERROR 500 //no error -#define NET_PLAYM4_PARA_OVER 501 //input parameter is invalid; -#define NET_PLAYM4_ORDER_ERROR 502 //The order of the function to be called is error. -#define NET_PLAYM4_TIMER_ERROR 503 //Create multimedia clock failed; -#define NET_PLAYM4_DEC_VIDEO_ERROR 504 //Decode video data failed. -#define NET_PLAYM4_DEC_AUDIO_ERROR 505 //Decode audio data failed. -#define NET_PLAYM4_ALLOC_MEMORY_ERROR 506 //Allocate memory failed. -#define NET_PLAYM4_OPEN_FILE_ERROR 507 //Open the file failed. -#define NET_PLAYM4_CREATE_OBJ_ERROR 508 //Create thread or event failed -#define NET_PLAYM4_CREATE_DDRAW_ERROR 509 //Create DirectDraw object failed. -#define NET_PLAYM4_CREATE_OFFSCREEN_ERROR 510 //failed when creating off-screen surface. -#define NET_PLAYM4_BUF_OVER 511 //buffer is overflow -#define NET_PLAYM4_CREATE_SOUND_ERROR 512 //failed when creating audio device. -#define NET_PLAYM4_SET_VOLUME_ERROR 513 //Set volume failed -#define NET_PLAYM4_SUPPORT_FILE_ONLY 514 //The function only support play file. -#define NET_PLAYM4_SUPPORT_STREAM_ONLY 515 //The function only support play stream. -#define NET_PLAYM4_SYS_NOT_SUPPORT 516 //System not support. -#define NET_PLAYM4_FILEHEADER_UNKNOWN 517 //No file header. -#define NET_PLAYM4_VERSION_INCORRECT 518 //The version of decoder and encoder is not adapted. -#define NET_PALYM4_INIT_DECODER_ERROR 519 //Initialize decoder failed. -#define NET_PLAYM4_CHECK_FILE_ERROR 520 //The file data is unknown. -#define NET_PLAYM4_INIT_TIMER_ERROR 521 //Initialize multimedia clock failed. -#define NET_PLAYM4_BLT_ERROR 522 //Blt failed. -#define NET_PLAYM4_UPDATE_ERROR 523 //Update failed. -#define NET_PLAYM4_OPEN_FILE_ERROR_MULTI 524 //openfile error, streamtype is multi -#define NET_PLAYM4_OPEN_FILE_ERROR_VIDEO 525 //openfile error, streamtype is video -#define NET_PLAYM4_JPEG_COMPRESS_ERROR 526 //JPEG compress error -#define NET_PLAYM4_EXTRACT_NOT_SUPPORT 527 //Don't support the version of this file. -#define NET_PLAYM4_EXTRACT_DATA_ERROR 528 //extract video data failed. - -//תװ -#define NET_CONVERT_ERROR_NOT_SUPPORT 581 //convert not support - -//Խ -#define NET_AUDIOINTERCOM_OK 600 //޴ -#define NET_AUDIOINTECOM_ERR_NOTSUPORT 601 //֧ -#define NET_AUDIOINTECOM_ERR_ALLOC_MEMERY 602 //ڴ -#define NET_AUDIOINTECOM_ERR_PARAMETER 603 // -#define NET_AUDIOINTECOM_ERR_CALL_ORDER 604 //ô -#define NET_AUDIOINTECOM_ERR_FIND_DEVICE 605 //δ豸 -#define NET_AUDIOINTECOM_ERR_OPEN_DEVICE 606 //ܴ豸 -#define NET_AUDIOINTECOM_ERR_NO_CONTEXT 607 //豸ij -#define NET_AUDIOINTECOM_ERR_NO_WAVFILE 608 //WAVļ -#define NET_AUDIOINTECOM_ERR_INVALID_TYPE 609 //ЧWAV -#define NET_AUDIOINTECOM_ERR_ENCODE_FAIL 610 //ʧ -#define NET_AUDIOINTECOM_ERR_DECODE_FAIL 611 //ʧ -#define NET_AUDIOINTECOM_ERR_NO_PLAYBACK 612 //ʧ -#define NET_AUDIOINTECOM_ERR_DENOISE_FAIL 613 //ʧ -#define NET_AUDIOINTECOM_ERR_UNKOWN 619 //δ֪ - -#define NET_QOS_OK 700 //no error -#define NET_QOS_ERROR (NET_QOS_OK - 1) //qos error -#define NET_QOS_ERR_INVALID_ARGUMENTS (NET_QOS_OK - 2) //invalid arguments -#define NET_QOS_ERR_SESSION_NOT_FOUND (NET_QOS_OK - 3) //session net found -#define NET_QOS_ERR_LIB_NOT_INITIALIZED (NET_QOS_OK - 4) //lib not initialized -#define NET_QOS_ERR_OUTOFMEM (NET_QOS_OK - 5) //outtofmem -#define NET_QOS_ERR_PACKET_UNKNOW (NET_QOS_OK - 10) //packet unknow -#define NET_QOS_ERR_PACKET_VERSION (NET_QOS_OK - 11) //packet version error -#define NET_QOS_ERR_PACKET_LENGTH (NET_QOS_OK - 12) //packet length error -#define NET_QOS_ERR_PACKET_TOO_BIG (NET_QOS_OK - 13) //packet too big -#define NET_QOS_ERR_SCHEDPARAMS_INVALID_BANDWIDTH (NET_QOS_OK - 20) //schedparams invalid bandwidth -#define NET_QOS_ERR_SCHEDPARAMS_BAD_FRACTION (NET_QOS_OK - 21) //schedparams bad fraction -#define NET_QOS_ERR_SCHEDPARAMS_BAD_MINIMUM_INTERVAL (NET_QOS_OK - 22) //schedparams bad minimum interval - -#define NET_ERROR_TRUNK_LINE 711 //ϵͳѱɸ -#define NET_ERROR_MIXED_JOINT 712 //ܽлƴ -#define NET_ERROR_DISPLAY_SWITCH 713 //ܽʾͨл -#define NET_ERROR_USED_BY_BIG_SCREEN 714 //Դռ -#define NET_ERROR_USE_OTHER_DEC_RESOURCE 715 //ʹϵͳԴ -#define NET_ERROR_DISP_MODE_SWITCH 716 //ʾͨʾ״̬л -#define NET_ERROR_SCENE_USING 717 //ʹ -#define NET_ERR_NO_ENOUGH_DEC_RESOURCE 718 //Դ -#define NET_ERR_NO_ENOUGH_FREE_SHOW_RESOURCE 719 //Դ -#define NET_ERR_NO_ENOUGH_VIDEO_MEMORY 720 //ԴԴ -#define NET_ERR_MAX_VIDEO_NUM 721 //һ϶Դ -#define NET_ERR_WIN_COVER_FREE_SHOW_AND_NORMAL 722 //ڿԽ˳ںͷdz -#define NET_ERR_FREE_SHOW_WIN_SPLIT 723 //Դڲַ֧ -#define NET_ERR_INAPPROPRIATE_WIN_FREE_SHOW 724 //Ĵڲֿ֧ -#define NET_DVR_TRANSPARENT_WIN_NOT_SUPPORT_SPLIT 725 //͸ȵĴڲַ֧ -#define NET_DVR_SPLIT_WIN_NOT_SUPPORT_TRANSPARENT 726 //Ĵڲ֧͸ -#define NET_ERR_MAX_LOGO_NUM 727 //logoﵽ -#define NET_ERR_MAX_WIN_LOOP_NUM 728 //Ѳﵽ -#define NET_ERR_VIRTUAL_LED_VERTICAL_CROSS 729 //LED -#define NET_ERR_MAX_VIRTUAL_LED_HEIGHT 730 //LED߶ȳ -#define NET_ERR_VIRTUAL_LED_ILLEGAL_CHARACTER 731 //LEDݰǷַ -#define NET_ERR_BASEMAP_NOT_EXIST 732 //ͼͼƬ -#define NET_ERR_LED_NOT_SUPPORT_VIRTUAL_LED 733 //LEDĻ֧LED -#define NET_ERR_LED_RESOLUTION_NOT_SUPPORT 734 //LEDֱʲ֧ -#define NET_ERR_PLAN_OVERDUE 735 //Ԥڣٵ -#define NET_ERR_PROCESSER_MAX_SCREEN_BLK 736 //źſԽĻ -#define NET_ERR_WND_SIZE_TOO_SMALL 737 //ڿ̫С -#define NET_ERR_WND_SPLIT_NOT_SUPPORT_ROAM 738 //ڲ֧ -#define NET_ERR_OUTPUT_ONE_BOARD_ONE_WALL 739 //ͬһӰֻܰ󶨵ͬһǽ -#define NET_ERR_WND_CANNOT_LCD_AND_LED_OUTPUT 740 //ڲͬʱLCDLED -#define NET_ERR_MAX_OSD_NUM 741 //OSDﵽ - -#define NET_SDK_CANCEL_WND_TOPKEEP_ATTR_FIRST 751 //ȡöִڵöԲܽõײ -#define NET_SDK_ERR_LED_SCREEN_CHECKING 752 //УLEDĻ -#define NET_SDK_ERR_NOT_SUPPORT_SINGLE_RESOLUTION 753 //LCD/LEDڰֵ֧֮ڵķֱ -#define NET_SDK_ERR_LED_RESOLUTION_MISMATCHED 754 //ڵLEDֱʺڵLEDֱʲƥ䣬Ҫͬеȸߡͬеȿ - - -#define NET_SDK_ERR_MAX_VIRTUAL_LED_WIDTH 755 //LEDȳޣֵСֵ -#define NET_SDK_ERR_MAX_VIRTUAL_LED_IN_SCREEN 756 //LED -#define NET_SDK_ERR_MAX_VIRTUAL_LED_IN_WALL 757 //ǽLED -#define NET_SDK_ERR_VIRTUAL_LED_OVERLAP 758 //LEDص -#define NET_SDK_ERR_VIRTUAL_LED_TYPE 759 //ʹ -#define NET_SDK_ERR_VIRTUAL_LED_COLOUR 760 //ɫ -#define NET_SDK_ERR_VIRTUAL_LED_MOVE_DIRECTION 761 //ƶ -#define NET_SDK_ERR_VIRTUAL_LED_MOVE_MODE 762 //ƶģʽ -#define NET_SDK_ERR_VIRTUAL_LED_MOVE_SPEED 763 //ƶٶȴ -#define NET_SDK_ERR_VIRTUAL_LED_DISP_MODE 764 //ʾģʽ -#define NET_SDK_ERR_VIRTUAL_LED_NO 765 //LEDŴ -#define NET_SDK_ERR_VIRTUAL_LED_PARA 766 //LEDô󣬰ṹ -#define NET_SDK_ERR_BASEMAP_POSITION 767 //ͼڿ߲ -#define NET_SDK_ERR_BASEMAP_PICTURE_LEN 768 //ͼͼƬȳ -#define NET_SDK_ERR_BASEMAP_PICTURE_RESOLUTION 769 //ͼͼƬֱʴ -#define NET_SDK_ERR_BASEMAP_PICTURE_FORMAT 770 //ͼͼƬʽ -#define NET_SDK_ERR_MAX_VIRTUAL_LED_NUM 771 //豸ֵ֧LED -#define NET_SDK_ERR_MAX_TIME_VIRTUAL_LED_IN_WALL 772 //ǽֵ֧ʱLED - -#define NET_ERR_TERMINAL_BUSY 780 //նæն˴ڻ - -#define NET_ERR_DATA_RETURNED_ILLEGAL 790 //豸صݲϷ -#define NET_DVR_FUNCTION_RESOURCE_USAGE_ERROR 791 //豸ռԴ¸ù޷ - -#define NET_DVR_ERR_IMPORT_EMPTY_FILE 792 //ļΪ -#define NET_DVR_ERR_IMPORT_TOO_LARGE_FILE 793 //ļ -#define NET_DVR_ERR_BAD_IPV4_ADDRESS 794 //IPV4ַЧ -#define NET_DVR_ERR_BAD_NET_MASK 795 //ַЧ -#define NET_DVR_ERR_INVALID_NET_GATE_ADDRESS 796 //صַЧ -#define NET_DVR_ERR_BAD_DNS 797 //DNSַЧ -#define NET_DVR_ERR_ILLEGAL_PASSWORD 798 //벻ܰû - -#define NET_DVR_DEV_NET_OVERFLOW 800 //豸 -#define NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK 801 //¼ļ¼޷ -#define NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK 802 //Ӳ̫С޷ʽ - -//N+1 -#define NET_SDK_ERR_REMOTE_DISCONNECT 803 //Զ޷ -#define NET_SDK_ERR_RD_ADD_RD 804 //ӱ -#define NET_SDK_ERR_BACKUP_DISK_EXCEPT 805 //쳣 -#define NET_SDK_ERR_RD_LIMIT 806 //Ѵ -#define NET_SDK_ERR_ADDED_RD_IS_WD 807 //ӵıǹ -#define NET_SDK_ERR_ADD_ORDER_WRONG 808 //˳ûбΪӹ -#define NET_SDK_ERR_WD_ADD_WD 809 //ӹ -#define NET_SDK_ERR_WD_SERVICE_EXCETP 810 //CVR쳣 -#define NET_SDK_ERR_RD_SERVICE_EXCETP 811 //CVR쳣 -#define NET_SDK_ERR_ADDED_WD_IS_RD 812 //ӵĹDZ -#define NET_SDK_ERR_PERFORMANCE_LIMIT 813 //ܴﵽ -#define NET_SDK_ERR_ADDED_DEVICE_EXIST 814 //ӵ豸Ѿ - -//Ѷ -#define NET_SDK_ERR_INQUEST_RESUMING 815 //Ѷָ -#define NET_SDK_ERR_RECORD_BACKUPING 816 //Ѷ -#define NET_SDK_ERR_DISK_PLAYING 817 //̻ط -#define NET_SDK_ERR_INQUEST_STARTED 818 //Ѷѿ -#define NET_SDK_ERR_LOCAL_OPERATING 819 //ز -#define NET_SDK_ERR_INQUEST_NOT_START 820 //Ѷδ -//Netra3.1.0 -#define NET_SDK_ERR_CHAN_AUDIO_BIND 821 //ͨδ󶨻Խʧ -//ƴ洢 -#define NET_DVR_N_PLUS_ONE_MODE 822 //豸ǰN+1ģʽ -#define NET_DVR_CLOUD_STORAGE_OPENED 823 //ƴ洢ģʽѿ - -#define NET_DVR_ERR_OPER_NOT_ALLOWED 824 //豸N+0ӹ״̬ò -#define NET_DVR_ERR_NEED_RELOCATE 825 //豸N+0ӹ״̬ҪȡضϢ² - -//ͥ -#define NET_SDK_ERR_IR_PORT_ERROR 830 //ڴ -#define NET_SDK_ERR_IR_CMD_ERROR 831 //ڵŴ -#define NET_SDK_ERR_NOT_INQUESTING 832 //豸ڷѶ״̬ -#define NET_SDK_ERR_INQUEST_NOT_PAUSED 833 //豸ڷͣ״̬ -#define NET_DVR_CHECK_PASSWORD_MISTAKE_ERROR 834 //У -#define NET_DVR_CHECK_PASSWORD_NULL_ERROR 835 //У벻Ϊ -#define NET_DVR_UNABLE_CALIB_ERROR 836 // ǰ޷궨 -#define NET_DVR_PLEASE_CALIB_ERROR 837 //ɱ궨 -#define NET_DVR_ERR_PANORAMIC_CAL_EMPTY 838 //Flashȫ궨Ϊ -#define NET_DVR_ERR_CALIB_FAIL_PLEASEAGAIN 839 //궨ʧܣ±궨(Calibration failed. Please calibrate again.) -#define NET_DVR_ERR_DETECTION_LINE 840 //ôùߣȷλںɫ(Please set detection line again. The detection line should be within the red count area.) -#define NET_DVR_ERR_TURN_OFF_IMAGE_PARA 841 //ȹرͼл(Please turn off the image parameters switch first.) -#define NET_DVR_EXCEED_FACE_IMAGES_ERROR 843 //ͼƬ -#define NET_DVR_ANALYSIS_FACE_IMAGES_ERROR 844 //ͼƬʶʧ -#define NET_ERR_ALARM_INPUT_OCCUPIED 845 //A<-1ڴץAlarm Input No. A<-1 is used to trigger vehicle capture. -#define NET_DVR_FACELIB_DATABASE_ERROR 846 //ݿ汾ƥ -#define NET_DVR_FACELIB_DATA_ERROR 847 //ݴ -#define NET_DVR_FACE_DATA_ID_ERROR 848 //PIDЧ -#define NET_DVR_FACELIB_ID_ERROR 849 //IDЧ -#define NET_DVR_EXCEED_FACE_LIBARY_ERROR 850 // -#define NET_DVR_PIC_ANALYSIS_NO_TARGET_ERROR 851 //ͼƬδʶĿ -#define NET_DVR_SUBPIC_ANALYSIS_MODELING_ERROR 852 //ͼģʧ -#define NET_DVR_PIC_ANALYSIS_NO_RESOURCE_ERROR 853 //޶Ӧܷ֧ͼƬʶ -#define NET_DVR_ANALYSIS_ENGINES_NO_RESOURCE_ERROR 854//޷Դ -#define NET_DVR_ANALYSIS_ENGINES_USAGE_EXCEED_ERROR 855//ʹʳɣѴ100% -#define NET_DVR_EXCEED_HUMANMISINFO_FILTER_ENABLED_ERROR 856 //ȥͨ -#define NET_DVR_NAME_ERROR 857 //ƴ -#define NET_DVR_NAME_EXIST_ERROR 858 //Ѵ -#define NET_DVR_FACELIB_PIC_IMPORTING_ERROR 859 //⵼ͼƬ -#define NET_DVR_ERR_CALIB_POSITION 860 //궨λó˶Χ -#define NET_DVR_ERR_DELETE 861 //޷ɾ -#define NET_DVR_ERR_SCENE_ID 862 //IDЧ -#define NET_DVR_ERR_CALIBING 863 //궨 -#define NET_DVR_PIC_FORMAT_ERROR 864 //ͼƬʽ -#define NET_DVR_PIC_RESOLUTION_INVALID_ERROR 865 //ͼƬֱЧ -#define NET_DVR_PIC_SIZE_EXCEED_ERROR 866 //ͼƬ -#define NET_DVR_PIC_ANALYSIS_TARGRT_NUM_EXCEED_ERROR 867 //ͼƬĿ -#define NET_DVR_ANALYSIS_ENGINES_LOADING_ERROR 868//ʼ -#define NET_DVR_ANALYSIS_ENGINES_ABNORMA_ERROR 869//쳣 -#define NET_DVR_ANALYSIS_ENGINES_FACELIB_IMPORTING 870//ڵ -#define NET_DVR_NO_DATA_FOR_MODELING_ERROR 871 //޴ģ -#define NET_DVR_FACE_DATA_MODELING_ERROR 872 //豸ڽͼƬģֲ֧ -#define NET_ERR_FACELIBDATA_OVERLIMIT 873 //豸ֵ֧ƣݣ -#define NET_DVR_ANALYSIS_ENGINES_ASSOCIATED_CHANNEL 874//ѹͨ -#define NET_DVR_ERR_CUSTOMID_LEN 875 //ϲԶIDijС32ַ -#define NET_DVR_ERR_CUSTOMFACELIBID_REPEAT 876 //ϲ·ظԶID -#define NET_DVR_ERR_CUSTOMHUMANID_REPEAT 877 //ϲ·ظԶԱID -#define NET_DVR_ERR_URL_DOWNLOAD_FAIL 878 //urlʧ -#define NET_DVR_ERR_URL_DOWNLOAD_NOTSTART 879 //urlδʼ - -#define NET_DVR_CFG_FILE_SECRETKEY_ERROR 880 //ļȫУԿ -#define NET_DVR_WDR_NOTDISABLE_ERROR 881 //ȹرͨǰҹתģʽµĿ̬ -#define NET_DVR_HLC_NOTDISABLE_ERROR 882 //ȹرͨǰҹתģʽµǿ - -#define NET_DVR_THERMOMETRY_REGION_OVERSTEP_ERROR 883 //Խ - - -#define NET_DVR_ERR_MODELING_DEVICEINTERNAL 884 //ģʧܣ豸ڲ -#define NET_DVR_ERR_MODELING_FACE 885 //ģʧܣģ -#define NET_DVR_ERR_MODELING_FACEGRADING 886 //ģʧܣִ -#define NET_DVR_ERR_MODELING_FACEGFEATURE 887 //ģʧܣȡ -#define NET_DVR_ERR_MODELING_FACEGANALYZING 888 //ģʧܣȡ - -#define NET_DVR_ERR_STREAM_LIMIT 889 //ܳޣȡ· -#define NET_DVR_ERR_STREAM_DESCRIPTION 890 // -#define NET_DVR_ERR_STREAM_DELETE 891 //ʹ޷ɾ -#define NET_DVR_ERR_CUSTOMSTREAM_NAME 892 //ԶΪջ򲻺Ϸ -#define NET_DVR_ERR_CUSTOMSTREAM_NOTEXISTED 893 //Զ - -#define NET_DVR_ERR_TOO_SHORT_CALIBRATING_TIME 894 //궨ʱ̫ -#define NET_DVR_ERR_AUTO_CALIBRATE_FAILED 895 //Զ궨ʧ -#define NET_DVR_ERR_VERIFICATION_FAILED 896 //Уʧ - -#define NET_DVR_NO_TEMP_SENSOR_ERROR 897 //¶ȴ -#define NET_DVR_PUPIL_DISTANCE_OVERSIZE_ERROR 898 //ͫ -#define NET_DVR_ERR_UNOPENED_FACE_SNAP 899 //Чȿץ -//2011-10-25루900-950 -#define NET_ERR_CUT_INPUTSTREAM_OVERLIMIT 900 //źԴüֵ -#define NET_ERR_WINCHAN_IDX 901 // ͨŴ -#define NET_ERR_WIN_LAYER 902 // ڲ󣬵ĻาǵĴڲ -#define NET_ERR_WIN_BLK_NUM 903 // ڵĿ󣬵ڿɸǵĻ -#define NET_ERR_OUTPUT_RESOLUTION 904 // ֱʴ -#define NET_ERR_LAYOUT 905 // ֺŴ -#define NET_ERR_INPUT_RESOLUTION 906 // ֱʲ֧ -#define NET_ERR_SUBDEVICE_OFFLINE 907 // 豸 -#define NET_ERR_NO_DECODE_CHAN 908 // ûпнͨ -#define NET_ERR_MAX_WINDOW_ABILITY 909 // , ֲʽн豸޻ʾ޵ -#define NET_ERR_ORDER_ERROR 910 // ˳ -#define NET_ERR_PLAYING_PLAN 911 // ִԤ -#define NET_ERR_DECODER_USED 912 // ʹ -#define NET_ERR_OUTPUT_BOARD_DATA_OVERFLOW 913 // -#define NET_ERR_SAME_USER_NAME 914 // ûͬ -#define NET_ERR_INVALID_USER_NAME 915 // Чû -#define NET_ERR_MATRIX_USING 916 // ʹ -#define NET_ERR_DIFFERENT_CHAN_TYPE 917 // ͨͲͬͨͿΪͬͣ -#define NET_ERR_INPUT_CHAN_BINDED 918 // ͨѾ -#define NET_ERR_BINDED_OUTPUT_CHAN_OVERFLOW 919 // ʹõľͨ󶨵ͨ -#define NET_ERR_MAX_SIGNAL_NUM 920 // źԴﵽ -#define NET_ERR_INPUT_CHAN_USING 921 // ͨʹ -#define NET_ERR_MANAGER_LOGON 922 // ԱѾ½ʧ -#define NET_ERR_USERALREADY_LOGON 923 // ûѾ½ʧ -#define NET_ERR_LAYOUT_INIT 924 // ڳʼʧ -#define NET_ERR_BASEMAP_SIZE_NOT_MATCH 925 // ͼС -#define NET_ERR_WINDOW_OPERATING 926 // ִβʧ -#define NET_ERR_SIGNAL_UPLIMIT 927 // źԴﵽ -#define NET_ERR_SIGNAL_MAX_ENLARGE_TIMES 928 // źԴŴ -#define NET_ERR_ONE_SIGNAL_MULTI_CROSS 929 // źԴܶο -#define NET_ERR_ULTRA_HD_SIGNAL_MULTI_WIN 930 // źԴظ -#define NET_ERR_MAX_VIRTUAL_LED_WIDTH 931 //LEDȴֵ -#define NET_ERR_MAX_VIRTUAL_LED_WORD_LEN 932 //LEDֵַ -#define NET_ERR_SINGLE_OUTPUTPARAM_CONFIG 933//ֵ֧ʾ -#define NET_ERR_MULTI_WIN_BE_COVER 934//ڱ -#define NET_ERR_WIN_NOT_EXIST 935 //ڲ -#define NET_ERR_WIN_MAX_SIGNALSOURCE 936//źԴֵ -#define NET_ERR_MULTI_WIN_MOVE 937//Զƶ -#define NET_ERR_MULTI_WIN_YPBPR_SDI 938 // YPBPR SDIźԴ֧9/16 -#define NET_ERR_DIFF_TYPE_OUTPUT_MIXUSE 939 //ͬ -#define NET_ERR_SPLIT_WIN_CROSS 940//Կڷ -#define NET_ERR_SPLIT_WIN_NOT_FULL_SCREEN 941 //δڷ -#define NET_ERR_SPLIT_WIN_MANY_WIN 942 //ԵжڵĴڷ -#define NET_ERR_WINDOW_SIZE_OVERLIMIT 943 //ڴС -#define NET_ERR_INPUTSTREAM_ALREADY_JOINT 944 //źԴѼƴ -#define NET_ERR_JOINT_INPUTSTREAM_OVERLIMIT 945 //ƴźԴ - -#define NET_ERR_LED_RESOLUTION 946 //LED ֱʴֱ -#define NET_ERR_JOINT_SCALE_OVERLIMIT 947 //ƴźԴĹģ -#define NET_ERR_INPUTSTREAM_ALREADY_DECODE 948 //źԴǽ -#define NET_ERR_INPUTSTREAM_NOTSUPPORT_CAPTURE 949 //źԴ֧ץͼ -#define NET_ERR_JOINT_NOTSUPPORT_SPLITWIN 950 //źԴַ֧ - -//루951-999 -#define NET_ERR_MAX_WIN_OVERLAP 951 //ﵽ󴰿ص -#define NET_ERR_STREAMID_CHAN_BOTH_VALID 952 //stream IDͨͬʱЧ -#define NET_ERR_NO_ZERO_CHAN 953 //豸ͨ -#define NEED_RECONNECT 955 //Ҫضתϵͳʹã -#define NET_ERR_NO_STREAM_ID 956 //ID -#define NET_DVR_TRANS_NOT_START 957 //תδ -#define NET_ERR_MAXNUM_STREAM_ID 958 //IDﵽ -#define NET_ERR_WORKMODE_MISMATCH 959 //ģʽƥ -#define NET_ERR_MODE_IS_USING 960 //ѹڵǰģʽ -#define NET_ERR_DEV_PROGRESSING 961 //豸ڴ -#define NET_ERR_PASSIVE_TRANSCODING 962 //ڱת - -#define NET_ERR_RING_NOT_CONFIGURE 964 //δ - -#define NET_ERR_CLOSE_WINDOW_FIRST 971 //лȫ֡ʳʱȹرնӦǽĴ -#define NET_ERR_SPLIT_WINDOW_NUM_NOT_SUPPORT 972 //VGA/DVI/DP/HDMI/HDBase_TԴȫ֡ʳ²֧9/16 -#define NET_ERR_REACH_ONE_SIGNAL_PREVIEW_MAX_LINK 973 //źԴ -#define NET_ERR_ONLY_SPLITWND_SUPPORT_AMPLIFICATION 974 //ֻз֧ӴڷŴ -#define NET_DVR_ERR_WINDOW_SIZE_PLACE 975 //λô -#define NET_DVR_ERR_RGIONAL_RESTRICTIONS 976 //Ļ볬 -#define NET_ERR_WNDZOOM_NOT_SUPPORT 977 //ڲ֧Ӵȫ -#define NET_ERR_LED_SCREEN_SIZE 978 //LED߲ȷ -#define NET_ERR_OPEN_WIN_IN_ERROR_AREA 979 //ڷǷ򿪴(LCD/LED) -#define NET_ERR_TITLE_WIN_NOT_SUPPORT_MOVE 980 //ƽģʽ֧ -#define NET_ERR_TITLE_WIN_NOT_SUPPORT_COVER 981 //ƽģʽ֧ͼ㸲 -#define NET_ERR_TITLE_WIN_NOT_SUPPORT_SPLIT 982 //ƽģʽַ֧ -#define NET_DVR_LED_WINDOWS_ALREADY_CLOSED 983 //LEDڵķֱʷ仯豸ѹرոڵLED -#define NET_DVR_ERR_CLOSE_WINDOWS 984 //ʧܣȹرմ -#define NET_DVR_ERR_MATRIX_LOOP_ABILITY 985 //Ѳ -#define NET_DVR_ERR_MATRIX_LOOP_TIME 986 //Ѳʱ䲻֧ -#define NET_DVR_ERR_LINKED_OUT_ABILITY 987 //ͨ -#define NET_ERR_REACH_SCENE_MAX_NUM 988 //ﵽ -#define NET_ERR_SCENE_MEM_NOT_ENOUGH 989 //ڴ治㣬޷½ -#define NET_ERR_RESOLUTION_NOT_SUPPORT_ODD_VOUT 990 //ڲָ֧÷ֱ -#define NET_ERR_RESOLUTION_NOT_SUPPORT_EVEN_VOUT 991 //żڲָ֧÷ֱ - -#define NET_DVR_CANCEL_WND_OPENKEEP_ATTR_FIRST 992 //ҪȡԲܱر -#define NET_SDK_LED_MODE_NOT_SUPPORT_SPLIT 993 //LEDģʽ²ִ֧ڷ -#define NET_ERR_VOICETALK_ONLY_SUPPORT_ONE_TALK 994 //ͬʱֻ֧һ·Խ -#define NET_ERR_WND_POSITION_ADJUSTED 995 //λñ豸ϲҪ»ȡ´λ -#define NET_SDK_ERR_STARTTIME_CANNOT_LESSTHAN_CURTIME 996 //ʼʱ䲻Сڵǰʱ -#define NET_SDK_ERR_NEED_ADJUST_PLAN 997 //ѱԤȽóԤɾ -#define NET_ERR_UnitConfig_Failed 998 //õλͳһѡʱõĵλϵͳµĵλͬصλô - -// -#define XML_ABILITY_NOTSUPPORT 1000 //֧ڵȡ -#define XML_ANALYZE_NOENOUGH_BUF 1001 //ڴ治 -#define XML_ANALYZE_FIND_LOCALXML_ERROR 1002 //޷ҵӦıxml -#define XML_ANALYZE_LOAD_LOCALXML_ERROR 1003 //رxml -#define XML_NANLYZE_DVR_DATA_FORMAT_ERROR 1004 //豸ݸʽ -#define XML_ANALYZE_TYPE_ERROR 1005 //ʹ -#define XML_ANALYZE_XML_NODE_ERROR 1006 //XMLڵʽ -#define XML_INPUT_PARAM_ERROR 1007 //XMLڵֵ - -#define NET_DVR_ERR_RETURNED_XML_DATA 1008 //豸صXML - -//Դ -#define NET_ERR_LEDAREA_EXIST_WINDOW 1051 //LEDдڴ(LEDѾдڴڣ޸LED -#define NET_ERR_AUDIO_EXIST 1052 //ϴƵ -#define NET_ERR_MATERIAL_NAME_EXIST 1053 //زѴ -#define NET_ERR_MATERIAL_APPROVE_STATE 1054 //ز״̬ -#define NET_ERR_DATAHD_SIGNAL_FORMAT 1055 //ʹõӲ̲ʽ - -#define NET_ERR_SCENE_SWITCHING 1056 //л -#define NER_ERR_DATA_TRANSFER 1057 //豸ת -#define NET_ERR_DATA_RESTORE 1058 //豸ݻԭ -#define NET_ERR_CHECK_NOT_ENABLE 1059 //Уʹδ -#define NET_ERR_AREA_OFFLINE 1060 // -#define NET_ERR_SCREEN_TYPE 1061 //ĻͲƥ -#define NET_ERR_MIN_OPERATE_UNIT 1062 //СԪƥ -#define NET_ERR_MAINHD_NOT_BACKUP 1063 //һλϵֹ̣̣ͨóɱ -#define NET_ERR_ONE_BACKUP_HD 1064 //ñʱ豸һͨ -#define NET_ERR_CONNECT_SUB_SYSTEM_ABNORMAL 1065 //ϵͳ쳣 -#define NET_ERR_SERIAL_PORT_VEST 1066 //Ĵڹ -#define NET_ERR_BLOCKLIST_FULL 1067 //б -#define NET_ERR_NOT_MATCH_SOURCE 1068 //ƥźԴ -#define NET_ERR_CLOCK_VIRTUAL_LED_FULL 1069 //ʱӹܵLED -#define NET_ERR_MAX_WIN_SIGNAL_LOOP_NUM 1070 //ѲźԴѴ -#define NET_ERR_RESOLUTION_NO_MATCH_FRAME 1071 //ֱ뵱ǰ֡ƥ -#define NET_ERR_NOT_UPDATE_LOW_VERSION 1072 //֧Ͱ汾 -#define NET_ERR_NO_CUSTOM_TO_UPDATE 1073 //ǶƳ޷ -#define NET_ERR_CHAN_RESOLUTION_NOT_SUPPORT_SPLIT 1074 //ڷֱʲַ֧ -#define NET_ERR_HIGH_DEFINITION_NOT_SUPPORT_SPLIT 1075 //岻֧9/16ָ -#define NET_ERR_MIRROR_IMAGE_BY_VIDEO_WALL 1076 //ǽ -#define NET_ERR_MAX_OSD_FONT_SIZE 1077 //OSDַ֧ -#define NET_ERR_HIGH_DEFINITION_NOT_SUPPORT_VIDEO_SET 1078 //岻֧Ƶ -#define NET_ERR_TILE_MODE_NOT_SUPPORT_JOINT 1079 //ƽģʽ֧ƴӴ -#define NET_ERR_ADD_AUDIO_MATRIX_FAILED 1080 //Ƶʧ -#define NET_ERR_ONE_VIRTUAL_LED_AREA_BIND_ONE_AUDIO_AREA 1081 //һLEDֻܰһƵ -#define NET_ERR_NAT_NOT_MODIFY_SERVER_NETWORK_PARAM 1082 //NAT޷޸ķ -#define NET_ERR_ORIGINAL_CHECH_DATA_ERROR 1083 //ԭʼУݴ -#define NET_ERR_INPUT_BOARD_SPLICED_IN_DIFFERENT_NETWORKAREAS 1084 //ͬ岻ƴ -#define NET_ERR_SPLICINGSOURCE_ONWALL_IN_DIFFERENT_NETWORKAREAS 1085 //ͬƴԴǽ -#define NET_ERR_ONWALL_OUTPUTBOARD_MODIFY_NETWORKAREAS 1086 //Ѱڵǽϵ岻޸ -#define NET_ERR_LAN_AND_WAN_CANNOT_SAME_NET_SEGMENT 1087 //LANIPWANIPܴͬһ -#define NET_ERR_USERNAME_REPETITIVE 1088 //ûظ -#define NET_ERR_ASSOCIATED_SAMEWALL_IN_DIFFERENT_NETWORKAREAS 1089 //ͬڲܹͬһǽ -#define NET_ERR_BASEMAP_ROAM_IN_LED_AREA 1090 //LEDͼ -#define NET_ERR_VIRTUAL_LED_NOT_SUPPORT_4K_OUTPUT 1091 //LED֧4Kʾ -#define NET_ERR_BASEMAP_NOT_SUPPORT_4K_OUTPUT 1092 //ͼ֧4Kʾ -#define NET_ERR_MIN_BLOCK_IN_VIRTUAL_LED_AND_OUTPUT 1093 //LEDཻС -#define NET_ERR_485FIlE_VERSION_INVALID 1094 //485ļ汾Ч -#define NET_ERR_485FIlE_CHECK_ERROR 1095 //485ļУ -#define NET_ERR_485FIlE_ABNORMAL_SIZE 1096 //485ļС쳣Ч -#define NET_ERR_MODIFY_SUBBOARD_NETCFG_IN_NAT 1097 //NAT޷޸Ӱ -#define NET_ERR_OSD_CONTENT_WITH_ILLEGAL_CHARACTERS 1098 //OSDݰǷַ -#define NET_ERR_NON_SLAVE_DEVICE_INSERT_SYNC_LINE 1099 //Ǵ豸ֹͬ -//ô루11001200 -#define NET_ERR_PLT_USERID 1100 //֤ƽ̨userid -#define NET_ERR_TRANS_CHAN_START 1101 //͸ͨѴ򿪣ǰ޷ -#define NET_ERR_DEV_UPGRADING 1102 //豸 -#define NET_ERR_MISMATCH_UPGRADE_PACK_TYPE 1103 //Ͳƥ -#define NET_ERR_DEV_FORMATTING 1104 //豸ڸʽ -#define NET_ERR_MISMATCH_UPGRADE_PACK_VERSION 1105 //汾ƥ -#define NET_ERR_PT_LOCKED 1106 //PT - -#define NET_DVR_LOGO_OVERLAY_WITHOUT_UPLOAD_PIC 1110 //logoʧܣûϴlogoͼƬ -#define NET_DVR_ERR_ILLEGAL_VERIFICATION_CODE 1111 //Ϸ֤ -#define NET_DVR_ERR_LACK_VERIFICATION_CODE 1112 //ȱ֤ -#define NET_DVR_ERR_FORBIDDEN_IP 1113 //IPַѱֹ(豸ֵ֧IPַ˹) -#define NET_DVR_ERR_UNLOCKPTZ 1114 //Ч̨ -#define NET_DVR_ERR_COUNTAREA_LARGE 1116 //ƴ豸ֵ -#define NET_DVR_ERR_LABEL_ID_EXCEED 1117//ǩID -#define NET_DVR_ERR_LABEL_TYPE 1118//ǩʹ -#define NET_DVR_ERR_LABEL_FULL 1119//ǩ -#define NET_DVR_ERR_LABEL_DISABLED 1120//ǩδʹ -#define NET_DVR_ERR_DOME_PT_TRANS_TO_DOME_XY 1121//PTתXYʧ -#define NET_DVR_ERR_DOME_PT_TRANS_TO_PANORAMA_XY 1122//PTתȫXYʧ -#define NET_DVR_ERR_PANORAMA_XY_TRANS_TO_DOME_PT 1123//ȫXYתPT -#define NET_DVR_ERR_SCENE_DUR_TIME_LESS_THAN_INTERV_TIME 1124//ͣʱҪڼ -#define NET_DVR_ERR_HTTP_BKN_EXCEED_ONE 1125//ֻ֧һ· -#define NET_DVR_ERR_DELETING_FAILED_TURN_OFF_HTTPS_ESDK_WEBSOCKETS_FIRST 1126//ɾʧܣȹرHTTPSеǿSDKWebSockets -#define NET_DVR_ERR_DELETING_FAILED_TURN_OFF_HTTPS_ESDK_FIRST 1127//ɾʧܣȹرHTTPSеǿSDK -#define NET_DVR_ERR_PTZ_OCCUPIED_PRIORITY 1128// иȼ̨Ȩû -#define NET_DVR_ERR_INCORRECT_VIDEOAUDIO_ID 1129// ƵͨIDͨID -#define NET_DVR_ERR_REPETITIONTIME_OVER_MAXIMUM 1130// ȥʱ󲻳ֵ -#define NET_DVR_ERR_FORMATTING_FAILED 1131// ʽ -#define NET_DVR_ERR_ENCRYPTED_FORMATTING_FAILED 1132// ܸʽʧܣ -#define NET_DVR_ERR_WRONG_PASSWORD 1133// ,ȷ루SD Уʧܣ -#define NET_DVR_ERR_EXPOSURE_SYNC 1134// ͷعͬѿֶRGB - -//2012-10-16 豸루1200~1300 -#define NET_ERR_SEARCHING_MODULE 1201 // ģ -#define NET_ERR_REGISTERING_MODULE 1202 // עģ -#define NET_ERR_GETTING_ZONES 1203 // ڻȡ -#define NET_ERR_GETTING_TRIGGERS 1204 // ڻȡ -#define NET_ERR_ARMED_STATUS 1205 // ϵͳڲ״̬ -#define NET_ERR_PROGRAM_MODE_STATUS 1206 // ϵͳڱģʽ -#define NET_ERR_WALK_TEST_MODE_STATUS 1207 // ϵͳڲģʽ -#define NET_ERR_BYPASS_STATUS 1208 // ·״̬ -#define NET_ERR_DISABLED_MODULE_STATUS 1209 // δʹ -#define NET_ERR_NOT_SUPPORT_OPERATE_ZONE 1210 // ָ֧ò -#define NET_ERR_NOT_SUPPORT_MOD_MODULE_ADDR 1211 // ģַܱ޸ -#define NET_ERR_UNREGISTERED_MODULE 1212 // ģδע -#define NET_ERR_PUBLIC_SUBSYSTEM_ASSOCIATE_SELF 1213 // ϵͳ -#define NET_ERR_EXCEEDS_ASSOCIATE_SUBSYSTEM_NUM 1214 // ϵͳ -#define NET_ERR_BE_ASSOCIATED_BY_PUBLIC_SUBSYSTEM 1215 // ϵͳϵͳ -#define NET_ERR_ZONE_FAULT_STATUS 1216 // ڹ״̬ -#define NET_ERR_SAME_EVENT_TYPE 1217 // ¼¼رͬ¼ -#define NET_ERR_ZONE_ALARM_STATUS 1218 // ڱ״̬ -#define NET_ERR_EXPANSION_BUS_SHORT_CIRCUIT 1219 //չ߶· -#define NET_ERR_PWD_CONFLICT 1220 //ͻ -#define NET_ERR_DETECTOR_GISTERED_BY_OTHER_ZONE 1221 //̽ѱע -#define NET_ERR_DETECTOR_GISTERED_BY_OTHER_PU 1222 //̽ѱע -#define NET_ERR_DETECTOR_DISCONNECT 1223 //̽ -#define NET_ERR_CALL_BUSY 1224 //豸ͨ -#define NET_DVR_ERR_ZONE_TAMPER_STAUS 1225 //ڷ״̬ -#define NET_DVR_ERR_WIRELESS_DEV_REGISTER 1226 //ѱע -#define NET_DVR_ERR_WIRELESS_DEV_ADDED 1227 //ѱ -#define NET_DVR_ERR_WIRELESS_DEV_OFFLINE 1228 //費 -#define NET_DVR_ERR_WIRELESS_DEV_TAMPER_STATUS 1229 //账ڷ״̬ -#define NET_DVR_ERR_GPRS_PHONE_CONFLICT 1230 //绰߱ijͻ -#define NET_ERR_INIT_PASSWORD_NOT_MODIFY 1231 //ʼδ޸ģ޷װ/Աûڳʼδ޸ʱ޸û⣬ظô -#define NET_ERR_USER_DISABLED 1232 //ûδ -#define NET_ERR_DEVICE_DEBUGGING 1233 //ǰ豸ڵģʽ -//Ϣ -#define NET_ERR_GET_ALL_RETURN_OVER 1300 //ȡзĿ -#define NET_ERR_RESOURCE_USING 1301 //ϢԴʹã޸ -#define NET_ERR_FILE_SIZE_OVERLIMIT 1302 //ļС - -//Ϣ -#define NET_ERR_MATERIAL_NAME 1303 //زƷǷ -#define NET_ERR_MATERIAL_NAME_LEN 1304 //زƳȷǷ -#define NET_ERR_MATERIAL_REMARK 1305 //زǷ -#define NET_ERR_MATERIAL_REMARK_LEN 1306 //زȷǷ -#define NET_ERR_MATERIAL_SHARE_PROPERTY 1307 //زĹԷǷ -#define NET_ERR_UNSUPPORT_MATERIAL_TYPE 1308 //زͲ֧ -#define NET_ERR_MATERIAL_NOT_EXIST 1309 //زIJ -#define NET_ERR_READ_FROM_DISK 1310 //Ӳ̶ȡزļʧ -#define NET_ERR_WRITE_TO_DISK 1311 //Ӳдزļʧ -#define NET_ERR_WRITE_DATA_BASE 1312 //زдݿʧ -#define NET_ERR_NO_APPROVED_NOT_EXPORT 1313 //δݽֹ -#define NET_ERR_MATERIAL_EXCEPTION 1314 //ز쳣 -#define NET_ERR_NO_MISINFO 1315 //Ϣ -#define NET_ERR_LAN_NOT_SUP_DHCP_CLIENT_CONFIGURATION 1316 //·ģʽ£DHCPͻ˷ش -#define NET_ERR_VIDEOWALL_OPTPORT_RESOLUTION_INCONSISTENT 1317 //ǽϸڷֱʲһ(ҪֱΪ4K쳣ʱ) -#define NET_ERR_VIDEOWALL_OPTPORT_RESOLUTION_INCONSISTENT_UNBIND_OPTPORT_FIRST 1318 //ǽϸڷֱʲһ£Ƚ(Ҫڰڳ쳣ʱ) -#define NET_ERR_FOUR_K_OUTPUT_RESOLUTION_UNSUPPORT_NINE_TO_SIXTEEN_SPLIT_SCREEN 1319 //4Kֱʲ֧9/16 -#define NET_ERR_SIGNAL_SOURCE_UNSUPPORT_CUSTOM_RESOLUTION 1320 //źԴָ֧Զֱ -#define NET_ERR_DVI_UNSUPPORT_FOURK_OUTPUT_RESOLUTION 1321 //DVI֧4Kֱ -#define NET_ERR_BNC_UNSUPPORT_SOURCE_CROPPING 1322 //BNC֧źԴü -#define NET_ERR_OUTPUT_NOT_SUPPORT_VIDEOWALL_RESOLUTION 1323 //ڲֵ֧ǽֱ - -// -#define NET_ERR_MAX_SCREEN_CTRL_NUM 1351 //Ļﵽ -#define NET_ERR_FILE_NOT_EXIST 1352 //ļ -#define NET_ERR_THUMBNAIL_NOT_EXIST 1353 //ͼ -#define NET_ERR_DEV_OPEN_FILE_FAIL 1354 //豸˴ļʧ -#define NET_ERR_SERVER_READ_FILE_FAIL 1355 //豸˶ȡļʧ -#define NET_ERR_FILE_SIZE 1356 //ļС -#define NET_ERR_FILE_NAME 1357 //ļƴΪջ򲻺Ϸ - -//ֶδ루1351-1400 -#define NET_ERR_BROADCAST_BUSY 1358 //豸ڹ㲥 - -//2012-12-20ץĻ루1400-1499 -#define NET_DVR_ERR_LANENUM_EXCEED 1400 // -#define NET_DVR_ERR_PRAREA_EXCEED 1401 //ʶ -#define NET_DVR_ERR_LIGHT_PARAM 1402 //źŵƽ -#define NET_DVR_ERR_LANE_LINE_INVALID 1403 //ô -#define NET_DVR_ERR_STOP_LINE_INVALID 1404 //ֹͣô -#define NET_DVR_ERR_LEFTORRIGHT_LINE_INVALID 1405 ///תֽô -#define NET_DVR_ERR_LANE_NO_REPEAT 1406 //ӳظ -#define NET_DVR_ERR_PRAREA_INVALID 1407 //ʶβҪ -#define NET_DVR_ERR_LIGHT_NUM_EXCEED 1408 //Ƶ⽻ͨźŵĿֵ -#define NET_DVR_ERR_SUBLIGHT_NUM_INVALID 1409 //Ƶ⽻ͨźŵӵĿϷ -#define NET_DVR_ERR_LIGHT_AREASIZE_INVALID 1410 //Ƶ⽻ͨźŵƿСϷ -#define NET_DVR_ERR_LIGHT_COLOR_INVALID 1411 //Ƶ⽻ͨźŵɫϷ -#define NET_DVR_ERR_LIGHT_DIRECTION_INVALID 1412 //Ƶ⽻ͨƷԲϷ -#define NET_DVR_ERR_LACK_IOABLITY 1413 //IOʵֵ֧ - -#define NET_DVR_ERR_FTP_PORT 1414 //FTP˿ںŷǷ˿ںظ쳣 -#define NET_DVR_ERR_FTP_CATALOGUE 1415 //FTPĿ¼Ƿö༶Ŀ¼༶Ŀ¼ֵΪգ -#define NET_DVR_ERR_FTP_UPLOAD_TYPE 1416 //FTPϴͷǷftpֻ֧ȫ/˫ftpֻֿ֧ںΥ£ -#define NET_DVR_ERR_FLASH_PARAM_WRITE 1417 //òʱдFLASHʧ -#define NET_DVR_ERR_FLASH_PARAM_READ 1418 //òʱFLASHʧ -#define NET_DVR_ERR_PICNAME_DELIMITER 1419 //FTPͼƬָǷ -#define NET_DVR_ERR_PICNAME_ITEM 1420 //FTPͼƬǷ ָ -#define NET_DVR_ERR_PLATE_RECOGNIZE_TYPE 1421 //ʶͷǷ κͶЧУ飩 -#define NET_DVR_ERR_CAPTURE_TIMES 1422 //ץĴǷ Чֵ05 -#define NET_DVR_ERR_LOOP_DISTANCE 1423 //ȦǷ Чֵ02000ms -#define NET_DVR_ERR_LOOP_INPUT_STATUS 1424 //Ȧ״̬Ƿ Чֵ -#define NET_DVR_ERR_RELATE_IO_CONFLICT 1425 //IOͻ -#define NET_DVR_ERR_INTERVAL_TIME 1426 //ļʱǷ 06000ms -#define NET_DVR_ERR_SIGN_SPEED 1427 //־ֵǷ󳵱־ٲܴС־ -#define NET_DVR_ERR_PIC_FLIP 1428 //ͼ÷ת ýӰ죩 -#define NET_DVR_ERR_RELATE_LANE_NUMBER 1429 // (ظ ЧֵУ199) -#define NET_DVR_ERR_TRIGGER_MODE 1430 //ץĻģʽǷ -#define NET_DVR_ERR_DELAY_TIME 1431 //ʱʱ(2000ms) -#define NET_DVR_ERR_EXCEED_RS485_COUNT 1432 //485 -#define NET_DVR_ERR_RADAR_TYPE 1433 //״ʹ -#define NET_DVR_ERR_RADAR_ANGLE 1434 //״Ƕȴ -#define NET_DVR_ERR_RADAR_SPEED_VALID_TIME 1435 //״Чʱ -#define NET_DVR_ERR_RADAR_LINE_CORRECT 1436 //״Խ -#define NET_DVR_ERR_RADAR_CONST_CORRECT 1437 //״ﳣ -#define NET_DVR_ERR_RECORD_PARAM 1438 //¼ЧԤ¼ʱ䲻10s -#define NET_DVR_ERR_LIGHT_WITHOUT_COLOR_AND_DIRECTION 1439 //ƵźŵźŵƸûйѡźŵƷɫ -#define NET_DVR_ERR_LIGHT_WITHOUT_DETECTION_REGION 1440 //ƵźŵźŵƸûл -#define NET_DVR_ERR_RECOGNIZE_PROVINCE_PARAM 1441 //ʶʡݲĺϷ - -#define NET_DVR_ERR_SPEED_TIMEOUT 1442 //IOٳʱʱǷЧֵ0 -#define NET_DVR_ERR_NTP_TIMEZONE 1443 //ntpʱ -#define NET_DVR_ERR_NTP_INTERVAL_TIME 1444 //ntpУʱ -#define NET_DVR_ERR_NETWORK_CARD_NUM 1445 //Ŀ -#define NET_DVR_ERR_DEFAULT_ROUTE 1446 //Ĭ·ɴ -#define NET_DVR_ERR_BONDING_WORK_MODE 1447 //bondingģʽ -#define NET_DVR_ERR_SLAVE_CARD 1448 //slave -#define NET_DVR_ERR_PRIMARY_CARD 1449 //Primary -#define NET_DVR_ERR_DHCP_PPOE_WORK 1450 //dhcppppoEͬʱ -#define NET_DVR_ERR_NET_INTERFACE 1451 //ӿڴ -#define NET_DVR_ERR_MTU 1452 //MTU -#define NET_DVR_ERR_NETMASK 1453 // -#define NET_DVR_ERR_IP_INVALID 1454 //IPַϷ -#define NET_DVR_ERR_MULTICAST_IP_INVALID 1455 //ಥַϷ -#define NET_DVR_ERR_GATEWAY_INVALID 1456 //زϷ -#define NET_DVR_ERR_DNS_INVALID 1457 //DNSϷ -#define NET_DVR_ERR_ALARMHOST_IP_INVALID 1458 //澯ַϷ -#define NET_DVR_ERR_IP_CONFLICT 1459 //IPͻ -#define NET_DVR_ERR_NETWORK_SEGMENT 1460 //IP֧ͬ -#define NET_DVR_ERR_NETPORT 1461 //˿ڴ - -#define NET_DVR_ERR_PPPOE_NOSUPPORT 1462 //PPPOE֧ -#define NET_DVR_ERR_DOMAINNAME_NOSUPPORT 1463 //֧ -#define NET_DVR_ERR_NO_SPEED 1464 //δòٹ -#define NET_DVR_ERR_IOSTATUS_INVALID 1465 //IO״̬ -#define NET_DVR_ERR_BURST_INTERVAL_INVALID 1466 //ļǷ -#define NET_DVR_ERR_RESERVE_MODE 1467 //ģʽ - -#define NET_DVR_ERR_LANE_NO 1468 //ӳŴ -#define NET_DVR_ERR_COIL_AREA_TYPE 1469 //Ȧʹ -#define NET_DVR_ERR_TRIGGER_AREA_PARAM 1470 // -#define NET_DVR_ERR_SPEED_LIMIT_PARAM 1471 //Υٲ -#define NET_DVR_ERR_LANE_PROTOCOL_TYPE 1472 //Эʹ - -#define NET_DVR_ERR_INTERVAL_TYPE 1473 //ļͷǷ -#define NET_DVR_ERR_INTERVAL_DISTANCE 1474 //ļǷ -#define NET_DVR_ERR_RS485_ASSOCIATE_DEVTYPE 1475 //RS485ͷǷ -#define NET_DVR_ERR_RS485_ASSOCIATE_LANENO 1476 //RS485ŷǷ -#define NET_DVR_ERR_LANENO_ASSOCIATE_MULTIRS485 1477 //ŹRS485 -#define NET_DVR_ERR_LIGHT_DETECTION_REGION 1478 //ƵźŵźŵƸǼΪ0 - -#define NET_DVR_ERR_DN2D_NOSUPPORT 1479 //֧ץ֡2D -#define NET_DVR_ERR_IRISMODE_NOSUPPORT 1480 //ֵ֧ľͷ -#define NET_DVR_ERR_WB_NOSUPPORT 1481 //ֵ֧İƽģʽ -#define NET_DVR_ERR_IO_EFFECTIVENESS 1482 //IOڵЧ -#define NET_DVR_ERR_LIGHTNO_MAX 1483 //źŵƼ/ƵƳ(16) -#define NET_DVR_ERR_LIGHTNO_CONFLICT 1484 //źŵƼ/ƵƳͻ - -#define NET_DVR_ERR_CANCEL_LINE 1485 //ֱд -#define NET_DVR_ERR_STOP_LINE 1486 //ֹͣ -#define NET_DVR_ERR_RUSH_REDLIGHT_LINE 1487 //ƴ -#define NET_DVR_ERR_IOOUTNO_MAX 1488 //IOڱԽ - -#define NET_DVR_ERR_IOOUTNO_AHEADTIME_MAX 1489 //IOǰʱ䳬 -#define NET_DVR_ERR_IOOUTNO_IOWORKTIME 1490 //IOЧʱ䳬 -#define NET_DVR_ERR_IOOUTNO_FREQMULTI 1491 //IOģʽ±Ƶ -#define NET_DVR_ERR_IOOUTNO_DUTYRATE 1492 //IOģʽռձȳ -#define NET_DVR_ERR_VIDEO_WITH_EXPOSURE 1493 //Чʽ֧Ƶ -#define NET_DVR_ERR_PLATE_BRIGHTNESS_WITHOUT_FLASHDET 1494 //ԶʹƽڳȲģʽЧ - -#define NET_DVR_ERR_RECOGNIZE_TYPE_PARAM 1495 //ʶͷǷ ʶ󳵡С򡢳ʶȣ -#define NET_DVR_ERR_PALTE_RECOGNIZE_AREA_PARAM 1496 //ʶǷ ʶʱжϳ -#define NET_DVR_ERR_PORT_CONFLICT 1497 //˿гͻ -#define NET_DVR_ERR_LOOP_IP 1498 //IPΪػַ -#define NET_DVR_ERR_DRIVELINE_SENSITIVE 1499 //ѹȳ(Ƶ羯ģʽ) - - -//2013-3-6VQD루15001550 -#define NET_ERR_VQD_TIME_CONFLICT 1500 //VQDʱγͻ -#define NET_ERR_VQD_PLAN_NO_EXIST 1501 //VQDϼƻ -#define NET_ERR_VQD_CHAN_NO_EXIST 1502 //VQD㲻 -#define NET_ERR_VQD_CHAN_MAX 1503 //VQDƻѴ -#define NET_ERR_VQD_TASK_MAX 1504 //VQDѴ - -#define NET_SDK_GET_INPUTSTREAMCFG 1551 //ȡźԴ -#define NET_SDK_AUDIO_SWITCH_CONTROL 1552 //ӴƵؿ -#define NET_SDK_GET_VIDEOWALLDISPLAYNO 1553 //ȡ豸ʾ -#define NET_SDK_GET_ALLSUBSYSTEM_BASIC_INFO 1554//ȡϵͳϢ -#define NET_SDK_SET_ALLSUBSYSTEM_BASIC_INFO 1555 //ϵͳϢ -#define NET_SDK_GET_AUDIO_INFO 1556//ȡƵϢ -#define NET_SDK_GET_MATRIX_STATUS_V50 1557 // ȡƵۺƽ̨״̬_V50 -#define NET_SDK_DELETE_MONITOR_INFO 1558//ɾMonitorϢ -#define NET_SDK_DELETE_CAMERA_INFO 1559//ɾCamaeraϢ - - -//ץĻչ(1600~1900) -#define NET_DVR_ERR_EXCEED_MAX_CAPTURE_TIMES 1600 //ץģʽΪƵʱץΪ2(IVTģʽ) -#define NET_DVR_ERR_REDAR_TYPE_CONFLICT 1601 //ͬ485ڹ״ͳͻ -#define NET_DVR_ERR_LICENSE_PLATE_NULL 1602 //ƺΪ -#define NET_DVR_ERR_WRITE_DATABASE 1603 //дݿʧ -#define NET_DVR_ERR_LICENSE_EFFECTIVE_TIME 1604 //Чʱ -//Ƶ羯 -#define NET_DVR_ERR_PRERECORDED_STARTTIME_LONG 1605 //Ԥ¼ʼʱΥץ -//Ͽ -#define NET_DVR_ERR_TRIGGER_RULE_LINE 1606 //ߴ -#define NET_DVR_ERR_LEFTRIGHT_TRIGGERLINE_NOTVERTICAL 1607 ///Ҵֱ߲ -#define NET_DVR_ERR_FLASH_LAMP_MODE 1608 //˸ģʽ -#define NET_DVR_ERR_ILLEGAL_SNAPSHOT_NUM 1609 //Υץ -#define NET_DVR_ERR_ILLEGAL_DETECTION_TYPE 1610 //Υ¼ʹ -#define NET_DVR_ERR_POSITIVEBACK_TRIGGERLINE_HIGH 1611 //򴥷߸߶ȴ -#define NET_DVR_ERR_MIXEDMODE_CAPTYPE_ALLTARGETS 1612 //ģʽֻֻ֧ץ - -#define NET_DVR_ERR_CARSIGNSPEED_GREATERTHAN_LIMITSPEED 1613//С־ٴֵ -#define NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_LIMITSPEED 1614//󳵱־ٴֵ -#define NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_CARSIGNSPEED 1615//󳵱־ٴС־ֵ -#define NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_CARLIMITSPEED 1616//ֵСֵ -#define NET_DVR_ERR_BIGCARLOWSPEEDLIMIT_GREATERTHAN_CARLOWSPEEDLIMIT 1617//󳵵ֵСֵ -#define NET_DVR_ERR_CARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED 1618//Сٴ쳣ֵ -#define NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED 1619//ٴ쳣ֵ -#define NET_DVR_ERR_STOPLINE_MORETHAN_TRIGGERLINE 1620//ֱֹͣ߳д -#define NET_DVR_ERR_YELLOWLIGHTTIME_INVALID 1621/*ƵƵƳʱ䲻Ϸ*/ -#define NET_DVR_ERR_TRIGGERLINE1_FOR_NOT_YIELD_TO_PEDESTRIAN_CANNOT_EXCEED_TRIGGERLINE2 1622//һ˴ߵλó˵ڶ˴ -#define NET_DVR_ERR_TRIGGERLINE2_FOR_NOT_YIELD_TO_PEDESTRIAN_CANNOT_EXCEED_TRIGGERLINE1 1623//ڶ˴ߵλó˵һ˴ - -//Ž -#define NET_ERR_TIME_OVERLAP 1900 //ʱص -#define NET_ERR_HOLIDAY_PLAN_OVERLAP 1901 //ռƻص -#define NET_ERR_CARDNO_NOT_SORT 1902 //δ -#define NET_ERR_CARDNO_NOT_EXIST 1903 //Ų -#define NET_ERR_ILLEGAL_CARDNO 1904 //Ŵ -#define NET_ERR_ZONE_ALARM 1905 //ڲ״̬(޸IJ) -#define NET_ERR_ZONE_OPERATION_NOT_SUPPORT 1906 //ָ֧ò -#define NET_ERR_INTERLOCK_ANTI_CONFLICT 1907 //ŻͷDZͬʱô -#define NET_ERR_DEVICE_CARD_FULL 1908 //ﵽ10W󷵻أ -#define NET_ERR_HOLIDAY_GROUP_DOWNLOAD 1909 //ʧ -#define NET_ERR_LOCAL_CONTROL_OFF 1910 //͵ؿ -#define NET_ERR_LOCAL_CONTROL_DISADD 1911 //͵ؿδ -#define NET_ERR_LOCAL_CONTROL_HASADD 1912 //͵ؿ -#define NET_ERR_LOCAL_CONTROL_DOORNO_CONFLICT 1913 //ӵľ͵ؿűųͻ -#define NET_ERR_LOCAL_CONTROL_COMMUNICATION_FAIL 1914 //͵ؿͨʧ -#define NET_ERR_OPERAND_INEXISTENCE 1915 //󲻴ڣšزδʱأ -#define NET_ERR_LOCAL_CONTROL_OVER_LIMIT 1916 //͵ؿ豸ضԾ͵ƣ -#define NET_ERR_DOOR_OVER_LIMIT 1917 //ų豸 -#define NET_ERR_ALARM_OVER_LIMIT 1918 //豸 -#define NET_ERR_LOCAL_CONTROL_ADDRESS_INCONFORMITY_TYPE 1919 //͵ؿַͲ -#define NET_ERR_NOT_SUPPORT_ONE_MORE_CARD 1920 //֧һ˶࿨ -#define NET_ERR_DELETE_NO_EXISTENCE_FACE 1921 //ɾ -#define NET_ERR_DOOR_SPECIAL_PASSWORD_REPEAT 1922 //豸ظ -#define NET_ERR_AUTH_CODE_REPEAT 1923 //豸֤ظ -#define NET_ERR_DEPLOY_EXCEED_MAX 1924 // -#define NET_ERR_NOT_SUPPORT_DEL_FP_BY_ID 1925 //ְָ֧IDɾָ -#define NET_ERR_TIME_RANGE 1926 //Чڲ÷Χ -#define NET_ERR_CAPTURE_TIMEOUT 1927 //ɼʱ -#define NET_ERR_LOW_SCORE 1928 //ɼ -#define NET_ERR_OFFLINE_CAPTURING 1929 //߲ɼУ޷Ӧ - -//ӶԽ -#define NET_DVR_ERR_OUTDOOR_COMMUNICATION 1950 //ſڻͨ쳣 -#define NET_DVR_ERR_ROOMNO_UNDEFINED 1951 //δ÷ -#define NET_DVR_ERR_NO_CALLING 1952 //޺ -#define NET_DVR_ERR_RINGING 1953 // -#define NET_DVR_ERR_IS_CALLING_NOW 1954 //ͨ -#define NET_DVR_ERR_LOCK_PASSWORD_WRONG 1955// -#define NET_DVR_ERR_CONTROL_LOCK_FAILURE 1956//ʧ -#define NET_DVR_ERR_CONTROL_LOCK_OVERTIME 1957//ʱ -#define NET_DVR_ERR_LOCK_DEVICE_BUSY 1958//豸æ -#define NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION 1959//Զ̿δ - - -//˴ 2100 - 3000 -#define NET_DVR_ERR_FILE_NOT_COMPLETE 2100 //صļ -#define NET_DVR_ERR_IPC_EXIST 2101 //IPCѾ -#define NET_DVR_ERR_ADD_IPC 2102 //ͨIPC -#define NET_DVR_ERR_OUT_OF_RES 2103 // -#define NET_DVR_ERR_CONFLICT_TO_LOCALIP 2104 //IPCipַDVRipַͻ -#define NET_DVR_ERR_IP_SET 2105 //Ƿipַ -#define NET_DVR_ERR_PORT_SET 2106 //ǷĶ˿ں - -#define NET_ERR_WAN_NOTSUPPORT 2107 //ͬһ޷ðȫ򵼳GUIDļ -#define NET_ERR_MUTEX_FUNCTION 2108 //ܻ -#define NET_ERR_QUESTION_CONFIGNUM 2109 //ȫ -#define NET_ERR_FACECHAN_NORESOURCE 2110 //ͨԴ -#define NET_ERR_DATA_CALLBACK 2111 //ݻǨ -#define NET_ERR_ATM_VCA_CHAN_IS_RELATED 2112 //ATMͨѱ -#define NET_ERR_ATM_VCA_CHAN_IS_OVERLAPED 2113 //ATMͨѱ -#define NET_ERR_FACE_CHAN_UNOVERLAP_EACH_OTHER 2114 //ܻͨ -#define NET_ERR_ACHIEVE_MAX_CHANNLE_LIMIT 2115 //ﵽ· -#define NET_DVR_SMD_ENCODING_NORESOURSE 2116 //SMDԴ -#define NET_DVR_SMD_DECODING_NORESOURSE 2117 //SMDԴ -#define NET_DVR_FACELIB_DATA_PROCESSING 2118 //ڴ -#define NET_DVR_ERR_LARGE_TIME_DIFFRENCE 2119 //豸ͷ֮ʱ̫ -#define NET_DVR_NO_SUPPORT_WITH_PLAYBACK 2120 //ѿطţֱ֧ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_SMD 2121 //ͨѿSMDֱ֧ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_FD 2122 //ͨѿץģֱ֧ -#define NET_DVR_ILLEGAL_PHONE_NUMBER 2123 //Ƿĵ绰 -#define NET_DVR_ILLEGAL_CERITIFICATE_NUMBER 2124 //Ƿ֤ -#define NET_DVR_ERR_CHANNEL_RESOLUTION_NO_SUPPORT 2125 //ֱͨʲ֧ -#define NET_DVR_ERR_CHANNEL_COMPRESSION_NO_SUPPORT 2126 //ͨʽ֧ - -#define NET_DVR_ERR_CLUSTER_DEVICE_TOO_LESS 2127 //豸٣ɾ -#define NET_DVR_ERR_CLUSTER_DEL_DEVICE_CM_PLAYLOAD 2128 //豸ǼȺɾ -#define NET_DVR_ERR_CLUSTER_DEVNUM_OVER_UPPER_LIMIT 2129 //豸ﵽޣ -#define NET_DVR_ERR_CLUSTER_DEVICE_TYPE_INCONFORMITY 2130 //豸Ͳһ -#define NET_DVR_ERR_CLUSTER_DEVICE_VERSION_INCONFORMITY 2131 //豸汾һ -#define NET_DVR_ERR_CLUSTER_IP_CONFLICT 2132 //ȺϵͳIPַͻipv4ַͻipv6ַͻ -#define NET_DVR_ERR_CLUSTER_IP_INVALID 2133 //ȺϵͳIPַЧipv4Ƿipv6Ƿ -#define NET_DVR_ERR_CLUSTER_PORT_CONFLICT 2134 //Ⱥϵͳ˿ڳͻ -#define NET_DVR_ERR_CLUSTER_PORT_INVALID 2135 //Ⱥϵͳ˿ڷǷ -#define NET_DVR_ERR_CLUSTER_USERNAEM_OR_PASSWORD_INVALID 2136 //ûǷ -#define NET_DVR_ERR_CLUSTER_DEVICE_ALREADY_EXIST 2137 //ͬ豸 -#define NET_DVR_ERR_CLUSTER_DEVICE_NOT_EXIST 2138 //豸(ʱ·csбе豸Ϣκһ̨cs϶Ҳɾʱ·id) -#define NET_DVR_ERR_CLUSTER_NON_CLUSTER_MODE 2139 //豸ڷǼȺģʽ -#define NET_DVR_ERR_CLUSTER_IP_NOT_SAME_LAN 2140 //IPַͬһͬ/ - -#define NET_DVR_ERR_CAPTURE_PACKAGE_FAILED 2141 //ץʧ -#define NET_DVR_ERR_CAPTURE_PACKAGE_PROCESSING 2142 //ץ -#define NET_DVR_ERR_SAFETY_HELMET_NO_RESOURCE 2143 //ȫñԴ -#define NET_DVR_NO_SUPPORT_WITH_ABSTRACT 2144 //ѿƵժҪֱ֧ -#define NET_DVR_ERR_TAPE_LIB_NEED_STOP_ARCHIVE 2145 //Ŵ鵵Ҫֹͣ -#define NET_DVR_INSUFFICIENT_DEEP_LEARNING_RESOURCES 2146 //ѧϰԴ -#define NET_DVR_ERR_IDENTITY_KEY 2147 // -#define NET_DVR_MISSING_IDENTITY_KEY 2148 //ȱʧ -#define NET_DVR_NO_SUPPORT_WITH_PERSON_DENSITY_DETECT 2149 //ѿԱܶȼ⣬ֱ֧ -#define NET_DVR_IPC_RESOLUTION_OVERFLOW 2150 //IPCֱʳ -#define NET_DVR_IPC_BITRATE_OVERFLOW 2151 //IPCʳ -#define NET_DVR_ERR_INVALID_TASKID 2152 //ЧtaskID -#define NET_DVR_PANEL_MODE_NOT_CONFIG 2153 //û· -#define NET_DVR_NO_HUMAN_ENGINES_RESOURCE 2154 //Դ -#define NET_DVR_ERR_TASK_NUMBER_OVERFLOW 2155 //ݳ -#define NET_DVR_ERR_COLLISION_TIME_OVERFLOW 2156 //ײʱ䳬 -#define NET_DVR_ERR_CAPTURE_PACKAGE_NO_USB 2157 //δʶỤU̻² -#define NET_DVR_ERR_NO_SET_SECURITY_EMAIL 2158 //δðȫ -#define NET_DVR_ERR_EVENT_NOTSUPPORT 2159 //¼֧ -#define NET_DVR_ERR_PASSWORD_FORMAT 2160 //ʽ -#define NET_DVR_ACCESS_FRONT_DEVICE_PARAM_FAILURE 2161 //ȡǰ豸ʧ -#define NET_DVR_ACCESS_FRONT_DEVICE_STREAM_FAILURE 2162 //ǰ豸ȡʧ -#define NET_DVR_ERR_USERNAME_FORMAT 2163 //ûʽ -#define NET_DVR_ERR_UNOPENED_HIGH_RESOLUTION_MODE 2164 //߷ֱģʽδ -#define NET_DVR_ERR_TOO_SMALL_QUATO 2165 //̫С -#define NET_DVR_ERR_EMAIL_FORMAT 2166 //ʽ -#define NET_DVR_ERR_SECURITY_CODE_FORMAT 2167 //ȫʽ -#define NET_DVR_PD_SPACE_TOO_SMALL 2168 //Ӳ̫С -#define NET_DVR_PD_NUM_TOO_BIG 2169 //ӲĶ֮һ -#define NET_DVR_ERR_USB_IS_FULL 2170 //U -#define NET_DVR_EXCEED_MAX_SMD_TYPE 2171 //ﵽSMD¼ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_BEHAVIOR 2172 //ͨѿ쳣Ϊ⣬ֱ֧ -#define NET_DVR_NO_BEHAVIOR_ENGINES_RESOURCE 2173 //쳣ΪԴ -#define NET_DVR_NO_RETENTION_ENGINES_RESOURCE 2174 //ԱԴ -#define NET_DVR_NO_LEAVE_POSITION_ENGINES_RESOURCE 2175 //ڼԴ -#define NET_DVR_NO_PEOPLE_NUM_CHANGE_ENGINES_RESOURCE 2176 //쳣Դ -#define NET_DVR_PANEL_MODE_NUM_OVER_LIMIT 2177 //·· -#define NET_DVR_SURROUND_MODE_NUM_OVER_LIMIT 2178 //·· -#define NET_DVR_FACE_MODE_NUM_OVER_LIMIT 2179 //·· -#define NET_DVR_SAFETYCABIN_MODE_NUM_OVER_LIMIT 2180 //·· -#define NET_DVR_DETECT_REGION_RANGE_INVALID 2181 //ΧǷ -#define NET_DVR_CHANNEL_CAPTURE_PICTURE_FAILURE 2182 //ͨץͼʧ -#define NET_DVR_VCACHAN_IS_NORESOURCE 2183 //ͨԴ -#define NET_DVR_IPC_NUM_REACHES_LIMIT 2184 // IpcͨĿﵽ -#define NET_DVR_IOT_NUM_REACHES_LIMIT 2185 // IOTͨĿﵽ -#define NET_DVR_IOT_CHANNEL_DEVICE_EXIST 2186 //ǰIOTͨѾ豸 -#define NET_DVR_IOT_CHANNEL_DEVICE_NOT_EXIST 2187 //ǰIOTͨ豸 -#define NET_DVR_INVALID_IOT_PROTOCOL_TYPE 2188 //ǷIOTЭ -#define NET_DVR_INVALID_EZVIZ_SECRET_KEY 2189 //Ƿөʯע֤ -#define NET_DVR_DUPLICATE_IOT_DEVICE 2190 //ظIOT豸 -#define NET_DVR_SADP_MODIFY_FALIURE 2191 // SADP޸ʧ -#define NET_DVR_IPC_NETWORK_ABNORMAL 2192 // IPC쳣 -#define NET_DVR_IPC_PASSWORD_ERROR 2193 // IPCû -#define NET_DVR_ERROR_IPC_TYPE 2194 //IPCͲ -#define NET_DVR_ERROR_IPC_LIST_NOT_EMPTY 2195 //IPCбΪգ֧һ -#define NET_DVR_ERROR_IPC_LIST_NOT_MATCH_PAIRING 2196 //IPCб䵥ƥ -#define NET_DVR_ERROR_IPC_BAD_LANGUAGE 2197 //IPCԺ豸ƥ -#define NET_DVR_ERROR_IPC_IS_LOCKING 2198 //IPCѱ -#define NET_DVR_ERROR_IPC_NOT_ACTIVATED 2199 //IPCδ -#define NET_DVR_FIELD_CODING_NOT_SUPPORT 2200 //벻֧ -#define NET_DVR_ERROR_H323_NOT_SUPPORT_H265 2201 //H323ƵͲ֧H265 -#define NET_DVR_ERROR_EXPOSURE_TIME_TOO_BIG_IN_MODE_P 2202 //Pʽ£عʱ -#define NET_DVR_ERROR_EXPOSURE_TIME_TOO_BIG_IN_MODE_N 2203 //Nʽ£عʱ -#define NET_DVR_ERROR_PING_PROCESSING 2204 //PING -#define NET_DVR_ERROR_PING_NOT_START 2205 //Pingδʼ -#define NET_DVR_ERROR_NEED_DOUBLE_VERIFICATION 2206 //Ҫ֤ -#define NET_DVR_NO_DOUBLE_VERIFICATION_USER 2207 //޶֤û -#define NET_DVR_CHANNEL_OFFLINE 2208 //ͨ -#define NET_DVR_TIMESPAN_NUM_OVER_LIMIT 2209 //ʱγ֧Ŀ -#define NET_DVR_CHANNEL_NUM_OVER_LIMIT 2210 //ͨĿ֧Ŀ -#define NET_DVR_NO_SEARCH_ID_RESOURCE 2211 //ҳѯsearchIDԴ -#define NET_DVR_ERROR_ONEKEY_EXPORT 2212 //ڽеԺ -#define NET_DVR_NO_CITY_MANAGEMENT_ENGINES_RESOURCE 2213 //ǹ㷨Դ -#define NET_DVR_NO_SITUATION_ANALYSIS_ENGINES_RESOURCE 2214 //̬ƷԴ -#define NET_DVR_INTELLIGENT_ANALYSIS_IPC_CANNT_DELETE 2215 //ڽܷIPC޷ɾ -#define NET_DVR_NOSUPPORT_RESET_PASSWORD 2216 //NVRֶ֧IPC -#define NET_DVR_ERROR_IPC_NEED_ON_LAN 2217 // IPCҪھ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_SAFETY_HELMET 2218 //ͨѿȫñ⣬ֱ֧ -#define NET_DVR_ERROR_GET_RESETPASSWORDTYPE_IS_ABNORMAL 2219 /*IPCʱȡIPC쳣*/ -#define NET_DVR_ERROR_IPC_NOSUPPORT_RESET_PASSWORD 2220 /* IPC֧*/ -#define NET_DVR_ERROR_IP_IS_NOT_ONLY_ONE 2221 /*IPCIPΨһظ*/ -#define NET_DVR_NO_SUPPORT_WITH_SMD_OR_SCD 2222 //ѿSMD/SCDֱ֧ܣSCDΪ -#define NET_DVR_NO_SUPPORT_WITH_FD 2223 //ѿץģֱ֧ -#define NET_DVR_NO_FD_ENGINES_RESOURCE 2224 //ץԴ -#define NET_DVR_ERROR_ONEKEY_REMOVE 2225 //ڽɾԺ -#define NET_DVR_FACE_PIP_BACKGROUND_CHANNEL_OVERFLOW 2226 //лͨ -#define NET_DVR_MICIN_CHANNEL_OCCUPIED 2227 //micinͨռ -#define NET_DVR_IPC_CHANNEL_IS_IN_PIP 2228 //ʧܣͨѹѶͨȡлù - -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_FACE_CONTRAST 2229 //ͨѿȶԣֱ֧ - -#define NET_DVR_INVALID_RECHARGE_CARD 2230 //Чijֵ -#define NET_DVR_CLOUD_PLATFORM_SERVER_EXCEPTION 2231 //ƽ̨쳣 -#define NET_DVR_OPERATION_FAILURE_WITHOUT_LOGIN 2232 //δ¼ʧ -#define NET_DVR_INVALID_ASSOCIATED_SERIAL_NUMBER 2233 //кŷǷ -#define NET_DVR_CLOUD_PLATFORM_ACCOUNT_NOT_EXIST 2234 //ƽ̨ʺŲ -#define NET_DVR_DEVICE_SERIAL_NUMBER_REGISTERED 2235 //豸кע -#define NET_DVR_CONFERENCE_ROOM_NOT_EXIST 2236 //Ҳ -#define NET_DVR_NEED_DISABLED_ANALOG_CHANNEL 2237//ģͨ -#define NET_DVR_STUDENT_ROLL_CALL_FAILURE 2238//ѧʧ -#define NET_DVR_SUB_DEVICE_NOT_ENABLE_INDIVIDUAL_BEHAVIOR 2239//豸δøΪģʽ -#define NET_DVR_SUB_DEVICE_CHANNEL_CONTROL_FAILED 2240//豸ͨʧ -#define NET_DVR_DEVICE_NOT_IN_CONFERENCE 2241//豸ڻ -#define NET_DVR_ALREADY_EXIST_CONFERENCE 2242//ǰѾڻ -#define NET_DVR_NO_SUPPORT_WITH_VIDEO_CONFERENCE 2243//ǰƵУֱ֧ -#define NET_DVR_START_INTERACTION_FAILURE 2244//ʼʧ -#define NET_DVR_ASK_QUESTION_STARTED 2245//ѿʼ -#define NET_DVR_ASK_QUESTION_CLOSED 2246//ѽ -#define NET_DVR_UNABLE_OPERATE_BY_HOST 2247//ѱ˽ã޷ -#define NET_DVR_REPEATED_ASK_QUESTION 2248//ظ -#define NET_DVR_SWITCH_TIMEDIFF_LESS_LIMIT 2249/*ػʱСֵ(10)*/ -#define NET_DVR_CHANNEL_DEVICE_EXIST 2250 //ǰͨѾ豸 -#define NET_DVR_CHANNEL_DEVICE_NOT_EXIST 2251 //ǰͨ豸 -#define NET_DVR_ERROR_ADJUSTING_RESOLUTION 2252 //ȹرIJüٵֱ -#define NET_DVR_SSD_FILE_SYSTEM_IS_UPGRADING 2253 //SSDļϵͳ -#define NET_DVR_SSD_FILE_SYSTEM_IS_FORMAT 2254 //SSDڸʽ -#define NET_DVR_CHANNEL_IS_CONNECTING 2255 //ǰͨ - -#define NET_DVR_CHANNEL_STREAM_TYPE_NOT_SUPPORT 2257 //ǰͨͲ֧ -#define NET_DVR_CHANNEL_USERNAME_NOT_EXIST 2258 //ǰͨû -#define NET_DVR_CHANNEL_ACCESS_PARAM_FAILURE 2259 //ǰͨȡʧ -#define NET_DVR_CHANNEL_GET_STREAM_FAILURE 2260 //ǰͨȡʧ -#define NET_DVR_CHANNEL_RISK_PASSWORD 2261 //ǰͨΪ - -#define NET_DVR_NO_SUPPORT_DELETE_STRANGER_LIB 2262 //֧ɾİ˿ -#define NET_DVR_NO_SUPPORT_CREATE_STRANGER_LIB 2263 //ִ֧İ˿ - -#define NET_DVR_NETWORK_PORT_CONFLICT 2264 //ö˿ڳͻ -#define NET_DVR_TRANSCODE_NO_RESOURCES 2265 //תԴ -#define NET_DVR_SSD_FILE_SYSTEM_ERROR 2266 //SSDļϵͳ -#define NET_DVR_INSUFFICIENT_SSD__FOR_FPD 2267 //ԱƵҵSSD -#define NET_DVR_ASSOCIATED_FACELIB_OVER_LIMIT 2268 //Ѵ -#define NET_DVR_NEED_DELETE_DIGITAL_CHANNEL 2269 //ɾͨ -#define NET_DVR_ERR_FALL_DOWN_RULENUM_LIMIT 2270 //Աع -#define NET_DVR_ERR_VIOLENT_MOTION_RULENUM_LIMIT 2271 //˶ -#define NET_DVR_UPGRADE_ENGINE_VERSION_MISMATCH 2272 //汾ƥ(з) -#define NET_ERR_SLEEP_STREAM_UNSUPPORT 2273 //УԤʧܣȻѺٽг - -//ȳش루3001 - 3500 -#define NET_DVR_ERR_NOTSUPPORT_DEICING 3001 //豸ǰ״ֳ̬֧ܣֻPOE+AC24VDC12Vֳ֧ܣ -#define NET_DVR_ERR_THERMENABLE_CLOSE 3002 //¹ʹδ(NET_DVR_THERMOMETRY_BASICPARAMʹδ) -#define NET_DVR_ERR_NOTMEET_DEICING 3003 //ǰǻ¶Ȳֶǻ¶С30Ȳſɿ -#define NET_DVR_ERR_PANORAMIC_LIMIT_OPERATED 3004 //ȫͼλͬʱ -#define NET_DVR_ERR_SMARTH264_ROI_OPERATED 3005 //SmartH264ROIͬʱ -#define NET_DVR_ERR_RULENUM_LIMIT 3006 // -#define NET_DVR_ERR_LASER_DEICING_OPERATED 3007 //Լܲͬʱ -#define NET_DVR_ERR_OFFDIGITALZOOM_OR_MINZOOMLIMIT 3008 //ȹرݱ䱶ܻ䱶ΪСִֵ̻⡢쳣Ϊ⡢ֻ⡢¡̻ιʱûйرݱ䱶߱䱶ûΪСֵʱʾô롣 -#define NET_DVR_ERR_FIREWAITING 3009 //豸̨ڻȴ -#define NET_DVR_SYNCHRONIZEFOV_ERROR 3010 //ͬӳǴ -#define NET_DVR_CERTIFICATE_VALIDATION_ERROR 3011 //֤֤ͨ -#define NET_DVR_CERTIFICATES_NUM_EXCEED_ERROR 3012 //֤ -#define NET_DVR_RULE_SHIELDMASK_CONFLICT_ERROR 3013 //ͻ -#define NET_DVR_MOTOR_PREHEATING_ERROR 3014 //Ԥ -#define NET_DVR_PT_DEICING_ERROR 3015 //̨ - -//ǰ˲Ʒߴ루3501-4000 -#define NET_DVR_ERR_NO_SAFETY_HELMET_REGION 3501 //δðȫñ -#define NET_DVR_ERR_UNCLOSED_SAFETY_HELMET 3502 //δرհȫñʹ -#define NET_DVR_ERR_MUX_RECV_STATE 3503 //·ý״̬쳣 -#define NET_DVR_UPLOAD_HBDLIBID_ERROR 3504 // ϴIDHBDID or customHBDID -#define NET_DVR_NOTSUPPORT_SMALLER_RATIOS 3505 // С1ʱֹ֧,߱ -#define NET_ERR_ACCOUNT_NOT_ACTIVED 3506// û˻δŲ齨飺ȵ¼˻޸ijʼ룬ٳԲ - -#define NET_ERR_NPQ_BASE_INDEX 8000 //NPQ -#define NET_ERR_NPQ_PARAM (NET_ERR_NPQ_BASE_INDEX + 1) //NPQ -#define NET_ERR_NPQ_SYSTEM (NET_ERR_NPQ_BASE_INDEX + 2) //NPQϵͳô(Դʧܻڲȣ -#define NET_ERR_NPQ_GENRAL (NET_ERR_NPQ_BASE_INDEX + 3) //NPQڲͨô -#define NET_ERR_NPQ_PRECONDITION (NET_ERR_NPQ_BASE_INDEX + 4) //NPQ˳ -#define NET_ERR_NPQ_NOTSUPPORT (NET_ERR_NPQ_BASE_INDEX + 5) //NPQ⹦֧ܲ - -#define NET_ERR_NPQ_NOTCALLBACK (NET_ERR_NPQ_BASE_INDEX + 100) //ûлص -#define NET_ERR_NPQ_LOADLIB (NET_ERR_NPQ_BASE_INDEX + 101) //NPQʧ -#define NET_ERR_NPQ_STEAM_CLOSE (NET_ERR_NPQ_BASE_INDEX + 104) //·NPQδ -#define NET_ERR_NPQ_MAX_LINK (NET_ERR_NPQ_BASE_INDEX + 110) //NPQȡ·ﵽ -#define NET_ERR_NPQ_STREAM_CFG (NET_ERR_NPQ_BASE_INDEX + 111) //ڳͻ -#define NET_ERR_NPQ_PLAYBACK_OVERSPEED (NET_ERR_NPQ_BASE_INDEX + 112) //NPQطűʴﵽ -#define NET_ERR_NPQ_PLAYBACK_BELOWSPEED (NET_ERR_NPQ_BASE_INDEX + 113) //NPQطűʴﵽ - -#define NET_EZVIZ_P2P_BASE_INDEX 8300 //өʯP2P -#define NET_DVR_EZVIZ_P2P_REGISTER_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 1) -#define NET_DVR_EZVIZ_P2P_LOGIN_2C_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 2) -#define NET_DVR_EZVIZ_P2P_LOGIN_2B_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 3) -#define NET_DVR_EZVIZ_P2P_BUILDLINK_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 4) -#define NET_DVR_EZVIZ_P2P_PORTMAPPING_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 5) -#define NET_DVR_EZVIZ_P2P_COULDNT_RESOLVE_HOST (NET_EZVIZ_P2P_BASE_INDEX + 6) //P2PCLOUD_ER_COULDNT_RESOLVE_HOST 1006 -#define NET_DVR_EZVIZ_P2P_COULDNT_CONNECT (NET_EZVIZ_P2P_BASE_INDEX + 7) //P2PCLOUD_ER_COULDNT_CONNECT 1007 -#define NET_DVR_EZVIZ_P2P_OPERATION_TIMEOUT (NET_EZVIZ_P2P_BASE_INDEX + 8) //P2PCLOUD_ER_OPERATION_TIMEOUT 1028 -#define NET_DVR_EZVIZ_P2P_NOT_INITIALIZED (NET_EZVIZ_P2P_BASE_INDEX + 9) //P2PCLOUD_ER_NOT_INITIALIZED 2001 -#define NET_DVR_EZVIZ_P2P_INVALID_ARG (NET_EZVIZ_P2P_BASE_INDEX + 10) //P2PCLOUD_ER_INVALID_ARG 2002 -#define NET_DVR_EZVIZ_P2P_EXCEED_MAX_SERVICE (NET_EZVIZ_P2P_BASE_INDEX + 11) //P2PCLOUD_ER_EXCEED_MAX_SERVICE 2003 -#define NET_DVR_EZVIZ_P2P_TOKEN_NOT_EXIST (NET_EZVIZ_P2P_BASE_INDEX + 12) //P2PCLOUD_ER_TOKEN_NOT_EXIST 2004 -#define NET_DVR_EZVIZ_P2P_DISCONNECTED (NET_EZVIZ_P2P_BASE_INDEX + 13) //P2PCLOUD_ER_DISCONNECTED 2005 -#define NET_DVR_EZVIZ_P2P_RELAY_ADDR_NOT_EXIST (NET_EZVIZ_P2P_BASE_INDEX + 14) //P2PCLOUD_ER_RELAY_ADDR_NOT_EXIST 2006 -#define NET_DVR_EZVIZ_P2P_DEV_NOT_ONLINE (NET_EZVIZ_P2P_BASE_INDEX + 15) //P2PCLOUD_ER_DEV_NOT_ONLINE 3121 -#define NET_DVR_EZVIZ_P2P_DEV_CONNECT_EXCEED (NET_EZVIZ_P2P_BASE_INDEX + 16) //P2PCLOUD_ER_DEV_CONNECT_EXCEED 3123 -#define NET_DVR_EZVIZ_P2P_DEV_CONNECT_FAILED (NET_EZVIZ_P2P_BASE_INDEX + 17) //P2PCLOUD_ER_DEV_CONNECT_FAILED 3209 -#define NET_DVR_EZVIZ_P2P_DEV_RECV_TIMEOUT (NET_EZVIZ_P2P_BASE_INDEX + 18) //P2PCLOUD_ER_DEV_RECV_TIMEOUT 3213 -#define NET_DVR_EZVIZ_P2P_USER_FORCE_STOP (NET_EZVIZ_P2P_BASE_INDEX + 19) //P2PCLOUD_ER_USER_FORCE_STOP 3216 -#define NET_DVR_EZVIZ_P2P_NO_PERMISSION (NET_EZVIZ_P2P_BASE_INDEX + 20) //P2PCLOUD_ER_NO_PERMISSION 3255 -#define NET_DVR_EZVIZ_P2P_DEV_PU_NOT_FOUND (NET_EZVIZ_P2P_BASE_INDEX + 21) //P2PCLOUD_ER_DEV_PU_NOT_FOUND 3297 -#define NET_DVR_EZVIZ_P2P_DEV_CONN_NOLONGER_AVAIL (NET_EZVIZ_P2P_BASE_INDEX + 22) //P2PCLOUD_ER_DEV_CONN_NOLONGER_AVAIL 3351 -#define NET_DVR_EZVIZ_P2P_DEV_NOT_LISTENING (NET_EZVIZ_P2P_BASE_INDEX + 23) //P2PCLOUD_ER_DEV_NOT_LISTENING 3610 -#define NET_DVR_EZVIZ_P2P_DEV_TUNNEL_SOCKET_LIMITED (NET_EZVIZ_P2P_BASE_INDEX + 24) //P2PCLOUD_ER_DEV_TUNNEL_SOCKET_LIMITED 3612 -#define NET_DVR_EZVIZ_P2P_FAIL_CREATE_THREAD (NET_EZVIZ_P2P_BASE_INDEX + 25) //TUNNEL_ER_FAIL_CREATE_THREAD 4001 -#define NET_DVR_EZVIZ_P2P_FAIL_ALLOC_BUFFERS (NET_EZVIZ_P2P_BASE_INDEX + 26) //P2PCLOUD_ER_FAIL_ALLOC_BUFFERS 4002 -#define NET_DVR_EZVIZ_P2P_FAIL_CREATE_SOCKET (NET_EZVIZ_P2P_BASE_INDEX + 27) //P2PCLOUD_ER_FAIL_CREATE_SOCKET 4003 -#define NET_DVR_EZVIZ_P2P_BIND_LOCAL_SERVICE (NET_EZVIZ_P2P_BASE_INDEX + 28) //P2PCLOUD_ER_BIND_LOCAL_SERVICE 4004 -#define NET_DVR_EZVIZ_P2P_LISTEN_LOCAL_SERVICE (NET_EZVIZ_P2P_BASE_INDEX + 29) //P2PCLOUD_ER_LISTEN_LOCAL_SERVICE 4005 -#define NET_DVR_EZVIZ_P2P_SVR_RSP_BAD (NET_EZVIZ_P2P_BASE_INDEX + 30) //P2PCLOUD_ER_SVR_RSP_BAD 5001 -#define NET_DVR_EZVIZ_P2P_SVR_RSP_INVALID (NET_EZVIZ_P2P_BASE_INDEX + 31) //P2PCLOUD_ER_SVR_RSP_INVALID 5002 -#define NET_DVR_EZVIZ_P2P_SVR_LOGIN_FAILED (NET_EZVIZ_P2P_BASE_INDEX + 32) //P2PCLOUD_ER_SVR_LOGIN_FAILED 5003 -#define NET_DVR_EZVIZ_P2P_SVR_TOKEN_EXPIRED (NET_EZVIZ_P2P_BASE_INDEX + 33) //P2PCLOUD_ER_SVR_TOKEN_EXPIRED 5004 -#define NET_DVR_EZVIZ_P2P_SVR_DEV_NOT_BELONG_TO_USER (NET_EZVIZ_P2P_BASE_INDEX + 34) //P2PCLOUD_ER_SVR_DEV_NOT_BELONG_TO_USER 5005 - - -//Դ 8501~9500 -#define NET_ERR_UPGRADE_PROG_ERR 8501 //ִг -#define NET_ERR_UPGRADE_NO_DEVICE 8502 //û豸(ָLEDûнӽտ) -#define NET_ERR_UPGRADE_NO_FILE 8503 //ûҵļ -#define NET_ERR_UPGRADE_DATA_ERROR 8504 //ļݲ -#define NET_ERR_UPGRADE_LINK_SERVER_ERR 8505 //ʧ -#define NET_ERR_UPGRADE_OEMCODE_NOMATCH 8506 //oemCodeƥ -#define NET_ERR_UPGRADE_FLASH_NOENOUGH 8507 //flash -#define NET_ERR_UPGRADE_RAM_NOENOUGH 8508 //RAM -#define NET_ERR_UPGRADE_DSPRAM_NOENOUGH 8509 //DSP RAM -#define NET_ERR_NOT_SUPPORT_CHECK 8510 //ĻͺŲ֧У -#define NET_ERR_LED_DEVICE_BUSY_CHECK 8511 //LED豸æУ -#define NET_ERR_DEVICE_MEM_NOT_ENOUGH 8512 //豸ڴ治 -#define NET_ERR_CHECK_PARAM 8513 //У -#define NET_ERR_RESOLUTION_OVER_LIMIT 8514 //ֱʳ -#define NET_ERR_NO_CUSTOM_BASE 8515 //Զͼ -#define NET_ERR_PRIORITY_LOWER 8516 //ȼڵǰģʽ -#define NET_ERR_SEND_MESSAGE_EXCEPT 8517 //Ϣ쳣 -#define NET_ERR_SENDCARD_UPGRADING 8518 //Ϳ -#define NET_ERR_NO_WIRELESS_NETCARD 8519 //δ -#define NET_ERR_LOAD_FS_FAIL 8520 //Ļʧ -#define NET_ERR_FLASH_UNSTORAGE_RECCARD 8521 //Flashδ洢տ -#define NET_ERR_NOT_SUPPORT_SINGLE_NETWORKCARD_AGGREGA 8522 //ֵ֧ۺ -#define NET_ERR_DISPLAYRESOLUTION_LESSTHAN_SMALLESTRESOLUTION 8523 //ʾֱССֱ -#define NET_ERR_NOT_SUPPORT_LOCAL_SOURCE_DRAG_MORE 8524 //ֱ֧Դһ϶ -#define NET_ERR_CANCEL_CURRENT_LED_AREA 8525 //ȡLED -#define NET_ERR_LED_OUT_ASSOCIATED_AREA 8526 //LEDδڹ -#define NET_ERR_MAX_VIRTUAL_LED_PICTURE_SIZE 8527 //LEDͼƬС -#define NET_ERR_DEVICE_CTRLED_BY_REMOTER 8528 //豸ǰң -/*******************ȫִ end**********************/ - -/************************************************* -NET_DVR_IsSupport()ֵ -19λֱʾϢλTRUE)ʾ֧֣ -**************************************************/ -#define NET_DVR_SUPPORT_DDRAW 0x01//֧DIRECTDRAW֧֣򲥷ܹ -#define NET_DVR_SUPPORT_BLT 0x02//Կ֧BLT֧֣򲥷ܹ -#define NET_DVR_SUPPORT_BLTFOURCC 0x04//ԿBLT֧ɫת֧֣RGBת -#define NET_DVR_SUPPORT_BLTSHRINKX 0x08//ԿBLT֧XС֧֣ϵͳת -#define NET_DVR_SUPPORT_BLTSHRINKY 0x10//ԿBLT֧YС֧֣ϵͳת -#define NET_DVR_SUPPORT_BLTSTRETCHX 0x20//ԿBLT֧XŴ֧֣ϵͳת -#define NET_DVR_SUPPORT_BLTSTRETCHY 0x40//ԿBLT֧YŴ֧֣ϵͳת -#define NET_DVR_SUPPORT_SSE 0x80//CPU֧SSEָIntel Pentium3֧SSEָ -#define NET_DVR_SUPPORT_MMX 0x100//CPU֧MMXָIntel Pentium3֧SSEָ - -/**********************̨ begin*************************/ -#define LIGHT_PWRON 2 /* ͨƹԴ */ -#define WIPER_PWRON 3 /* ͨˢ */ -#define FAN_PWRON 4 /* ͨȿ */ -#define HEATER_PWRON 5 /* ͨ */ -#define AUX_PWRON1 6 /* ͨ豸 */ -#define AUX_PWRON2 7 /* ͨ豸 */ -#define SET_PRESET 8 /* Ԥõ */ -#define CLE_PRESET 9 /* Ԥõ */ - -#define ZOOM_IN 11 /* ٶSS(ʱ) */ -#define ZOOM_OUT 12 /* ٶSSС(ʱС) */ -#define FOCUS_NEAR 13 /* ٶSSǰ */ -#define FOCUS_FAR 14 /* ٶSS */ -#define IRIS_OPEN 15 /* ȦٶSS */ -#define IRIS_CLOSE 16 /* ȦٶSSС */ - -#define TILT_UP 21 /* ̨SSٶ */ -#define TILT_DOWN 22 /* ̨SSٶ¸ */ -#define PAN_LEFT 23 /* ̨SSٶת */ -#define PAN_RIGHT 24 /* ̨SSٶת */ -#define UP_LEFT 25 /* ̨SSٶת */ -#define UP_RIGHT 26 /* ̨SSٶת */ -#define DOWN_LEFT 27 /* ̨SSٶ¸ת */ -#define DOWN_RIGHT 28 /* ̨SSٶ¸ת */ -#define PAN_AUTO 29 /* ̨SSٶԶɨ */ - -#define FILL_PRE_SEQ 30 /* ԤõѲ */ -#define SET_SEQ_DWELL 31 /* Ѳͣʱ */ -#define SET_SEQ_SPEED 32 /* Ѳٶ */ -#define CLE_PRE_SEQ 33 /* ԤõѲɾ */ -#define STA_MEM_CRUISE 34 /* ʼ¼ */ -#define STO_MEM_CRUISE 35 /* ֹͣ¼ */ -#define RUN_CRUISE 36 /* ʼ */ -#define RUN_SEQ 37 /* ʼѲ */ -#define STOP_SEQ 38 /* ֹͣѲ */ -#define GOTO_PRESET 39 /* תԤõ */ -//dacͨ˽ЭNVRNVRͨOnvifЭʱ˽ЭѲλ·ٶȡʱΪ -//OnvifΪ·еλ˽ЭѲλ·ĿʼͽNVR޷жϺʱOnvifĸǰ豸 -#define SET_SEQ_START 41 /* IP򣬿ʼѲ*/ -#define SET_SEQ_END 42 /* IP򣬽Ѳ*/ - -#define DEL_SEQ 43 /* ɾѲ· */ -#define STOP_CRUISE 44 /* ֹͣ */ -#define DELETE_CRUISE 45 /* ɾ */ -#define DELETE_ALL_CRUISE 46/* ɾ */ - -#define PAN_CIRCLE 50 /* ̨SSٶԶԲɨ */ -#define DRAG_PTZ 51 /* ϶PTZ */ -#define LINEAR_SCAN 52 /* ɨ */ //2014-03-15 -#define CLE_ALL_PRESET 53 /* Ԥõȫ */ -#define CLE_ALL_SEQ 54 /* Ѳȫ */ -#define CLE_ALL_CRUISE 55 /* ȫ */ - -#define POPUP_MENU 56 /* ʾ˵ */ - -#define TILT_DOWN_ZOOM_IN 58 /* ̨SSٶ¸&&ٶSS(ʱ) */ -#define TILT_DOWN_ZOOM_OUT 59 /* ̨SSٶ¸&&ٶSSС(ʱС) */ -#define PAN_LEFT_ZOOM_IN 60 /* ̨SSٶת&&ٶSS(ʱ)*/ -#define PAN_LEFT_ZOOM_OUT 61 /* ̨SSٶת&&ٶSSС(ʱС)*/ -#define PAN_RIGHT_ZOOM_IN 62 /* ̨SSٶת&&ٶSS(ʱ) */ -#define PAN_RIGHT_ZOOM_OUT 63 /* ̨SSٶת&&ٶSSС(ʱС) */ -#define UP_LEFT_ZOOM_IN 64 /* ̨SSٶת&&ٶSS(ʱ)*/ -#define UP_LEFT_ZOOM_OUT 65 /* ̨SSٶת&&ٶSSС(ʱС)*/ -#define UP_RIGHT_ZOOM_IN 66 /* ̨SSٶת&&ٶSS(ʱ)*/ -#define UP_RIGHT_ZOOM_OUT 67 /* ̨SSٶת&&ٶSSС(ʱС)*/ -#define DOWN_LEFT_ZOOM_IN 68 /* ̨SSٶ¸ת&&ٶSS(ʱ) */ -#define DOWN_LEFT_ZOOM_OUT 69 /* ̨SSٶ¸ת&&ٶSSС(ʱС) */ -#define DOWN_RIGHT_ZOOM_IN 70 /* ̨SSٶ¸ת&&ٶSS(ʱ) */ -#define DOWN_RIGHT_ZOOM_OUT 71 /* ̨SSٶ¸ת&&ٶSSС(ʱС) */ -#define TILT_UP_ZOOM_IN 72 /* ̨SSٶ&&ٶSS(ʱ) */ -#define TILT_UP_ZOOM_OUT 73 /* ̨SSٶ&&ٶSSС(ʱС) */ -/**********************̨ end*************************/ - -#define DVR_VEHICLE_CONTROL_LIST 0x1 //(͵)2013-11-04 - - -/************************************************* -طʱſ궨 -NET_DVR_PlayBackControl -NET_DVR_PlayControlLocDisplay -NET_DVR_DecPlayBackCtrlĺ궨 -ֲ֧鿴˵ʹ -**************************************************/ -#define NET_DVR_PLAYSTART 1//ʼ -#define NET_DVR_PLAYSTOP 2//ֹͣ -#define NET_DVR_PLAYPAUSE 3//ͣ -#define NET_DVR_PLAYRESTART 4//ָ -#define NET_DVR_PLAYFAST 5// -#define NET_DVR_PLAYSLOW 6// -#define NET_DVR_PLAYNORMAL 7//ٶ -#define NET_DVR_PLAYFRAME 8//֡ -#define NET_DVR_PLAYSTARTAUDIO 9// -#define NET_DVR_PLAYSTOPAUDIO 10//ر -#define NET_DVR_PLAYAUDIOVOLUME 11// -#define NET_DVR_PLAYSETPOS 12//ıļطŵĽ -#define NET_DVR_PLAYGETPOS 13//ȡļطŵĽ -#define NET_DVR_PLAYGETTIME 14//ȡǰѾŵʱ(ļطŵʱЧ) -#define NET_DVR_PLAYGETFRAME 15//ȡǰѾŵ֡(ļطŵʱЧ) -#define NET_DVR_GETTOTALFRAMES 16//ȡǰļܵ֡(ļطŵʱЧ) -#define NET_DVR_GETTOTALTIME 17//ȡǰļܵʱ(ļطŵʱЧ) -#define NET_DVR_THROWBFRAME 20//B֡ -#define NET_DVR_SETSPEED 24//ٶ -#define NET_DVR_KEEPALIVE 25//豸(ص2뷢һ) -#define NET_DVR_PLAYSETTIME 26//ʱ䶨λ -#define NET_DVR_PLAYGETTOTALLEN 27//ȡʱطŶӦʱڵļܳ -#define NET_DVR_PLAYSETTIME_V50 28//ʱ䶨λ(֧ʱչ) -#define NET_DVR_PLAY_FORWARD 29 //лΪ -#define NET_DVR_PLAY_REVERSE 30 //лΪ -#define NET_DVR_SET_DECODEFFRAMETYPE 31 -#define NET_DVR_SET_TRANS_TYPE 32 //תʽ -#define NET_DVR_PLAY_CONVERT 33 //طת -#define NET_DVR_START_DRAWFRAME 34 //ʼ֡ط -#define NET_DVR_STOP_DRAWFRAME 35 //ֹͣ֡ط -#define NET_DVR_CHANGEWNDRESOLUTION 36 //ڴСı䣬֪ͨſ -#define NET_DVR_RESETBUFFER 37 //վ뻺Զ̻طļ -#define NET_DVR_VOD_DRAG_ING 38 //ط϶ -#define NET_DVR_VOD_DRAG_END 39 //ط϶ -#define NET_DVR_VOD_RESET_PLAYTIME 40 //貥ʱ - - -#define PLAYM4_DECODE_NORMAIL 0 // -#define PLAYM4_DECODE_KEY_FRAME 1 //ֻI֡ -#define PLAYM4_DECODE_NONE 2 //ȫ -#define PLAYM4_DECODE_TEMPORAL_LAYER_0 3 //1/2 -#define PLAYM4_DECODE_TEMPORAL_LAYER_1 4 //1/4 - - -//Զ̰£ -/* key value send to CONFIG program */ -#define KEY_CODE_1 1 -#define KEY_CODE_2 2 -#define KEY_CODE_3 3 -#define KEY_CODE_4 4 -#define KEY_CODE_5 5 -#define KEY_CODE_6 6 -#define KEY_CODE_7 7 -#define KEY_CODE_8 8 -#define KEY_CODE_9 9 -#define KEY_CODE_0 10 -#define KEY_CODE_POWER 11 -#define KEY_CODE_MENU 12 -#define KEY_CODE_ENTER 13 -#define KEY_CODE_CANCEL 14 -#define KEY_CODE_UP 15 -#define KEY_CODE_DOWN 16 -#define KEY_CODE_LEFT 17 -#define KEY_CODE_RIGHT 18 -#define KEY_CODE_EDIT 19 -#define KEY_CODE_ADD 20 -#define KEY_CODE_MINUS 21 -#define KEY_CODE_PLAY 22 -#define KEY_CODE_REC 23 -#define KEY_CODE_PAN 24 -#define KEY_CODE_M 25 -#define KEY_CODE_A 26 -#define KEY_CODE_F1 27 -#define KEY_CODE_F2 28 - -/* for PTZ control */ -#define KEY_PTZ_UP_START KEY_CODE_UP -#define KEY_PTZ_UP_STOP 32 - -#define KEY_PTZ_DOWN_START KEY_CODE_DOWN -#define KEY_PTZ_DOWN_STOP 33 - -#define KEY_PTZ_LEFT_START KEY_CODE_LEFT -#define KEY_PTZ_LEFT_STOP 34 - -#define KEY_PTZ_RIGHT_START KEY_CODE_RIGHT -#define KEY_PTZ_RIGHT_STOP 35 - -#define KEY_PTZ_AP1_START KEY_CODE_EDIT /*Ȧ+*/ -#define KEY_PTZ_AP1_STOP 36 - -#define KEY_PTZ_AP2_START KEY_CODE_PAN /*Ȧ-*/ -#define KEY_PTZ_AP2_STOP 37 - -#define KEY_PTZ_FOCUS1_START KEY_CODE_A /*۽+*/ -#define KEY_PTZ_FOCUS1_STOP 38 - -#define KEY_PTZ_FOCUS2_START KEY_CODE_M /*۽-*/ -#define KEY_PTZ_FOCUS2_STOP 39 - -#define KEY_PTZ_B1_START 40 /*䱶+*/ -#define KEY_PTZ_B1_STOP 41 - -#define KEY_PTZ_B2_START 42 /*䱶-*/ -#define KEY_PTZ_B2_STOP 43 - -//9000 -#define KEY_CODE_11 44 -#define KEY_CODE_12 45 -#define KEY_CODE_13 46 -#define KEY_CODE_14 47 -#define KEY_CODE_15 48 -#define KEY_CODE_16 49 - - - -/************************* begin*******************************/ -//NET_DVR_SetDVRConfigNET_DVR_GetDVRConfig,עӦýṹ - -#define NET_DVR_GET_DEVICECFG 100 //ȡ豸 -#define NET_DVR_SET_DEVICECFG 101 //豸 -#define NET_DVR_GET_NETCFG 102 //ȡ -#define NET_DVR_SET_NETCFG 103 // -#define NET_DVR_GET_PICCFG 104 //ȡͼ -#define NET_DVR_SET_PICCFG 105 //ͼ -#define NET_DVR_GET_COMPRESSCFG 106 //ȡѹ -#define NET_DVR_SET_COMPRESSCFG 107 //ѹ -#define NET_DVR_GET_RECORDCFG 108 //ȡ¼ʱ -#define NET_DVR_SET_RECORDCFG 109 //¼ʱ -#define NET_DVR_GET_DECODERCFG 110 //ȡ -#define NET_DVR_SET_DECODERCFG 111 //ý -#define NET_DVR_GET_RS232CFG 112 //ȡ232ڲ -#define NET_DVR_SET_RS232CFG 113 //232ڲ -#define NET_DVR_GET_ALARMINCFG 114 //ȡ -#define NET_DVR_SET_ALARMINCFG 115 //ñ -#define NET_DVR_GET_ALARMOUTCFG 116 //ȡ -#define NET_DVR_SET_ALARMOUTCFG 117 //ñ -#define NET_DVR_GET_TIMECFG 118 //ȡDVRʱ -#define NET_DVR_SET_TIMECFG 119 //DVRʱ -#define NET_DVR_GET_PREVIEWCFG 120 //ȡԤ -#define NET_DVR_SET_PREVIEWCFG 121 //Ԥ -#define NET_DVR_GET_VIDEOOUTCFG 122 //ȡƵ -#define NET_DVR_SET_VIDEOOUTCFG 123 //Ƶ -#define NET_DVR_GET_USERCFG 124 //ȡû -#define NET_DVR_SET_USERCFG 125 //û -#define NET_DVR_GET_EXCEPTIONCFG 126 //ȡ쳣 -#define NET_DVR_SET_EXCEPTIONCFG 127 //쳣 -#define NET_DVR_GET_ZONEANDDST 128 //ȡʱʱƲ -#define NET_DVR_SET_ZONEANDDST 129 //ʱʱƲ - -//עֻ֧4OSDͣͨV30µ豸汾 -#define NET_DVR_GET_SHOWSTRING 130 //ȡַ -#define NET_DVR_SET_SHOWSTRING 131 //õַ - -#define NET_DVR_GET_EVENTCOMPCFG 132 //ȡ¼¼ -#define NET_DVR_SET_EVENTCOMPCFG 133 //¼¼ -#define NET_DVR_GET_FTPCFG 134 //ȡץͼFTP() -#define NET_DVR_SET_FTPCFG 135 //ץͼFTP() -#define NET_DVR_GET_AUXOUTCFG 140 //ȡ(HS豸2006-02-28) -#define NET_DVR_SET_AUXOUTCFG 141 //ñ(HS豸2006-02-28) -#define NET_DVR_GET_PREVIEWCFG_AUX 142 //ȡ-sϵ˫Ԥ(-sϵ˫2006-04-13) -#define NET_DVR_SET_PREVIEWCFG_AUX 143 //-sϵ˫Ԥ(-sϵ˫2006-04-13) - -#define NET_DVR_GET_PASSWORD_MANAGE_CFG 144 //ȡ -#define NET_DVR_SET_PASSWORD_MANAGE_CFG 145 // -#define NET_DVR_UNLOCK_USER 146 //û -#define NET_DVR_GET_SECURITY_CFG 147 //ȡȫ֤ -#define NET_DVR_SET_SECURITY_CFG 148 //ðȫ֤ -#define NET_DVR_GET_LOCKED_INFO_LIST 149 //ȡбϢ - - -/*********************************ֽܲӿ begin***************************************/ -//ΪӦNET_VCA_RULECFG -#define NET_DVR_SET_RULECFG 152 //쳣Ϊ -#define NET_DVR_GET_RULECFG 153 //ȡ쳣Ϊ -//궨NET_DVR_TRACK_CFG -#define NET_DVR_SET_TRACK_CFG 160//ò -#define NET_DVR_GET_TRACK_CFG 161//ȡò - -//ܷȡýṹ -#define NET_DVR_SET_IVMS_STREAMCFG 162 //ܷȡ -#define NET_DVR_GET_IVMS_STREAMCFG 163 //ȡܷȡ -//ܿƲṹ -#define NET_DVR_SET_VCA_CTRLCFG 164 //ܿƲ -#define NET_DVR_GET_VCA_CTRLCFG 165 //ȡܿƲ -//NET_VCA_MASK_REGION_LIST -#define NET_DVR_SET_VCA_MASK_REGION 166 // -#define NET_DVR_GET_VCA_MASK_REGION 167 //ȡ - -//ATM NET_VCA_ENTER_REGION -#define NET_DVR_SET_VCA_ENTER_REGION 168 //ý -#define NET_DVR_GET_VCA_ENTER_REGION 169 //ȡ - -//궨NET_VCA_LINE_SEGMENT_LIST -#define NET_DVR_SET_VCA_LINE_SEGMENT 170 //ñ궨 -#define NET_DVR_GET_VCA_LINE_SEGMENT 171 //ȡ궨 - -// ivmsNET_IVMS_MASK_REGION_LIST -#define NET_DVR_SET_IVMS_MASK_REGION 172 //IVMS -#define NET_DVR_GET_IVMS_MASK_REGION 173 //ȡIVMS -// ivmsNET_IVMS_ENTER_REGION -#define NET_DVR_SET_IVMS_ENTER_REGION 174 //IVMS -#define NET_DVR_GET_IVMS_ENTER_REGION 175 //ȡIVMS - -#define NET_DVR_SET_IVMS_BEHAVIORCFG 176 //ܷΪ -#define NET_DVR_GET_IVMS_BEHAVIORCFG 177 //ȡܷΪ - -// IVMS طż -#define NET_DVR_IVMS_SET_SEARCHCFG 178 //IVMSطż -#define NET_DVR_IVMS_GET_SEARCHCFG 179 //ȡIVMSطż - -#define NET_DVR_SET_POSITION_TRACK 180 // óϢ -#define NET_DVR_GET_POSITION_TRACK 181 // ȡϢ - -#define NET_DVR_SET_CALIBRATION 182 // ñ궨Ϣ -#define NET_DVR_GET_CALIBRATION 183 // ȡ궨Ϣ - -#define NET_DVR_SET_PDC_RULECFG 184 // ͳƹ -#define NET_DVR_GET_PDC_RULECFG 185 // ȡͳƹ - -#define NET_DVR_SET_PU_STREAMCFG 186 // ǰȡ豸Ϣ -#define NET_DVR_GET_PU_STREAMCFG 187 // ȡǰȡ豸Ϣ - -#define NET_VCA_SET_IVMS_BEHAVIOR_CFG 192 // IVMSΪ ʱ -#define NET_VCA_GET_IVMS_BEHAVIOR_CFG 193 // ȡIVMSΪ ʱ - -#define NET_VCA_SET_SIZE_FILTER 194 // ȫֳߴ -#define NET_VCA_GET_SIZE_FILTER 195 // ȡȫֳߴ - -#define NET_DVR_SET_TRACK_PARAMCFG 196 // ز˵ -#define NET_DVR_GET_TRACK_PARAMCFG 197 // ȡز˵ - -#define NET_DVR_SET_DOME_MOVEMENT_PARAM 198 // о -#define NET_DVR_GET_DOME_MOVEMENT_PARAM 199 // ȡо - -#define NET_DVR_GET_PICCFG_EX 200 //ȡͼ(SDK_V14չ) -#define NET_DVR_SET_PICCFG_EX 201 //ͼ(SDK_V14չ) -#define NET_DVR_GET_USERCFG_EX 202 //ȡû(SDK_V15չ) -#define NET_DVR_SET_USERCFG_EX 203 //û(SDK_V15չ) -#define NET_DVR_GET_COMPRESSCFG_EX 204 //ȡѹ(SDK_V15չ2006-05-15) -#define NET_DVR_SET_COMPRESSCFG_EX 205 //ѹ(SDK_V15չ2006-05-15) - - -#define NET_DVR_GET_NETAPPCFG 222 //ȡӦò NTP/DDNS/EMAIL -#define NET_DVR_SET_NETAPPCFG 223 //Ӧò NTP/DDNS/EMAIL -#define NET_DVR_GET_NTPCFG 224 //ȡӦò NTP -#define NET_DVR_SET_NTPCFG 225 //Ӧò NTP -#define NET_DVR_GET_DDNSCFG 226 //ȡӦò DDNS -#define NET_DVR_SET_DDNSCFG 227 //Ӧò DDNS -//ӦNET_DVR_EMAILPARA -#define NET_DVR_GET_EMAILCFG 228 //ȡӦò EMAIL -#define NET_DVR_SET_EMAILCFG 229 //Ӧò EMAIL - -#define NET_DVR_GET_NFSCFG 230 /* NFS disk config */ -#define NET_DVR_SET_NFSCFG 231 /* NFS disk config */ - -/*עΪƣֻ֧8OSDͣV30豸汾֮ǰ -NET_DVR_GET_SHOWSTRING NET_DVR_SET_SHOWSTRING ʹã*/ -#define NET_DVR_GET_SHOWSTRING_EX 238 //ȡַչ(֧8ַ) -#define NET_DVR_SET_SHOWSTRING_EX 239 //õַչ(֧8ַ) -#define NET_DVR_GET_NETCFG_OTHER 244 //ȡ -#define NET_DVR_SET_NETCFG_OTHER 245 // - -//ӦNET_DVR_EMAILCFGṹ -#define NET_DVR_GET_EMAILPARACFG 250 //Get EMAIL parameters -#define NET_DVR_SET_EMAILPARACFG 251 //Setup EMAIL parameters - - -#define NET_DVR_GET_DDNSCFG_EX 274 //ȡչDDNS -#define NET_DVR_SET_DDNSCFG_EX 275 //չDDNS - -#define NET_DVR_SET_PTZPOS 292 //̨PTZλ -#define NET_DVR_GET_PTZPOS 293 //̨ȡPTZλ -#define NET_DVR_GET_PTZSCOPE 294 //̨ȡPTZΧ - -#define NET_DVR_GET_AP_INFO_LIST 305//ȡԴ -#define NET_DVR_SET_WIFI_CFG 306 //IP豸߲ -#define NET_DVR_GET_WIFI_CFG 307 //ȡIP豸߲ -#define NET_DVR_SET_WIFI_WORKMODE 308 //IP豸ڹģʽ -#define NET_DVR_GET_WIFI_WORKMODE 309 //ȡIP豸ڹģʽ -#define NET_DVR_GET_WIFI_STATUS 310 //ȡ豸ǰwifi״̬ -/*********************************ܽͨ¼begin***************************************/ -#define NET_DVR_GET_REFERENCE_REGION 400 //ȡο -#define NET_DVR_SET_REFERENCE_REGION 401 //òο - -#define NET_DVR_GET_TRAFFIC_MASK_REGION 402 //ȡͨ¼ -#define NET_DVR_SET_TRAFFIC_MASK_REGION 403 //ýͨ¼ -#define NET_DVR_SET_AID_RULECFG 404 //ýͨ¼ -#define NET_DVR_GET_AID_RULECFG 405 //ȡͨ¼ - -#define NET_DVR_SET_TPS_RULECFG 406 //ýͨͳƹ -#define NET_DVR_GET_TPS_RULECFG 407 //ȡͨͳƹ - -#define NET_DVR_SET_LANECFG 408 //ó -#define NET_DVR_GET_LANECFG 409 //ȡ -#define NET_DVR_GET_VCA_RULE_COLOR_CFG 410 //ȡܹɫ -#define NET_DVR_SET_VCA_RULE_COLOR_CFG 411 //ܹɫ -#define NET_DVR_GET_SWITCH_LAMP_CFG 412 //ȡصƼò -#define NET_DVR_SET_SWITCH_LAMP_CFG 413 //ÿصƼò - - -/*********************************ܽͨ¼end***************************************/ -#define NET_DVR_SET_FACEDETECT_RULECFG 420 // -#define NET_DVR_GET_FACEDETECT_RULECFG 421 // ȡ - -#define NET_DVR_SET_VEHICLE_RECOG_TASK 422 //ʶύ -#define NET_DVR_GET_VEHICLE_RECOG_TASK 423 //ʶȡ - -#define NET_DVR_SET_TIMECORRECT 432 //УʱãֻУʱ¼Уʱ eg.NET_DVR_SET_TIMECFG ޸豸УʱãNTPУʱᱻ޸ΪֶУʱ -#define NET_DVR_GET_CONNECT_LIST 433 //ȡ豸бϢ - -/***************************DS9000(_V30) begin *****************************/ -//(NET_DVR_NETCFG_V30ṹ) -#define NET_DVR_GET_NETCFG_V30 1000 //ȡ -#define NET_DVR_SET_NETCFG_V30 1001 // - -//ͼ(NET_DVR_PICCFG_V30ṹ) -#define NET_DVR_GET_PICCFG_V30 1002 //ȡͼ -#define NET_DVR_SET_PICCFG_V30 1003 //ͼ - -//¼ʱ(NET_DVR_RECORD_V30ṹ) -#define NET_DVR_GET_RECORDCFG_V30 1004 //ȡ¼ -#define NET_DVR_SET_RECORDCFG_V30 1005 //¼ - -//û(NET_DVR_USER_V30ṹ) -#define NET_DVR_GET_USERCFG_V30 1006 //ȡû -#define NET_DVR_SET_USERCFG_V30 1007 //û - -//¼ʱ(NET_DVR_RECORD_V40ṹ) -#define NET_DVR_GET_RECORDCFG_V40 1008 //ȡ¼(չ) -#define NET_DVR_SET_RECORDCFG_V40 1009 //¼(չ) - -//9000DDNS(NET_DVR_DDNSPARA_V30ṹ) -#define NET_DVR_GET_DDNSCFG_V30 1010 //ȡDDNS(9000չ) -#define NET_DVR_SET_DDNSCFG_V30 1011 //DDNS(9000չ) - -//EMAIL(NET_DVR_EMAILCFG_V30ṹ) -#define NET_DVR_GET_EMAILCFG_V30 1012 //ȡEMAIL -#define NET_DVR_SET_EMAILCFG_V30 1013 //EMAIL - -#define NET_DVR_GET_NETCFG_V50 1015 //ȡ(V50) -#define NET_DVR_SET_NETCFG_V50 1016 //(V50) - -#define NET_GET_CRUISEPOINT_V40 1018 //ȡѲ· - -//Ѳ (NET_DVR_CRUISE_PARAṹ) -#define NET_DVR_GET_CRUISE 1020 -#define NET_DVR_SET_CRUISE 1021 - - -//ṹ (NET_DVR_ALARMINCFG_V30ṹ) -#define NET_DVR_GET_ALARMINCFG_V30 1024 -#define NET_DVR_SET_ALARMINCFG_V30 1025 - -//ṹ (NET_DVR_ALARMOUTCFG_V30ṹ) -#define NET_DVR_GET_ALARMOUTCFG_V30 1026 -#define NET_DVR_SET_ALARMOUTCFG_V30 1027 - -//Ƶṹ (NET_DVR_VIDEOOUT_V30ṹ) -#define NET_DVR_GET_VIDEOOUTCFG_V30 1028 -#define NET_DVR_SET_VIDEOOUTCFG_V30 1029 - - -/*֧8OSDͣ豸汾ΪV30ʱͨ豸汾ƥ䣬 -ͬʱ֮ǰNET_DVR_GET_SHOWSTRING NET_DVR_SET_SHOWSTRING ʹã*/ -//ַṹ (NET_DVR_SHOWSTRING_V30ṹ) -#define NET_DVR_GET_SHOWSTRING_V30 1030 -#define NET_DVR_SET_SHOWSTRING_V30 1031 - -//쳣ṹ (NET_DVR_EXCEPTION_V30ṹ) -#define NET_DVR_GET_EXCEPTIONCFG_V30 1034 -#define NET_DVR_SET_EXCEPTIONCFG_V30 1035 - -//232ṹ (NET_DVR_RS232CFG_V30ṹ) -#define NET_DVR_GET_RS232CFG_V30 1036 -#define NET_DVR_SET_RS232CFG_V30 1037 - -//Ӳ̽ṹ (NET_DVR_NET_DISKCFGṹ) -#define NET_DVR_GET_NET_DISKCFG 1038 //Ӳ̽ȡ -#define NET_DVR_SET_NET_DISKCFG 1039 //Ӳ̽ -//ѹ (NET_DVR_COMPRESSIONCFG_V30ṹ) -#define NET_DVR_GET_COMPRESSCFG_V30 1040 -#define NET_DVR_SET_COMPRESSCFG_V30 1041 - -//ȡ485 (NET_DVR_DECODERCFG_V30ṹ) -#define NET_DVR_GET_DECODERCFG_V30 1042 //ȡ -#define NET_DVR_SET_DECODERCFG_V30 1043 //ý - -//ȡԤ (NET_DVR_PREVIEWCFG_V30ṹ) -#define NET_DVR_GET_PREVIEWCFG_V30 1044 //ȡԤ -#define NET_DVR_SET_PREVIEWCFG_V30 1045 //Ԥ - -//Ԥ (NET_DVR_PREVIEWCFG_AUX_V30ṹ) -#define NET_DVR_GET_PREVIEWCFG_AUX_V30 1046 //ȡԤ -#define NET_DVR_SET_PREVIEWCFG_AUX_V30 1047 //øԤ - -//IPò NET_DVR_IPPARACFGṹ -#define NET_DVR_GET_IPPARACFG 1048 //ȡIPϢ -#define NET_DVR_SET_IPPARACFG 1049 //IPϢ - -//IPò NET_DVR_IPALARMINCFGṹ -#define NET_DVR_GET_IPALARMINCFG 1050 //ȡIPϢ -#define NET_DVR_SET_IPALARMINCFG 1051 //IPϢ - -//IPò NET_DVR_IPALARMOUTCFGṹ -#define NET_DVR_GET_IPALARMOUTCFG 1052 //ȡIPϢ -#define NET_DVR_SET_IPALARMOUTCFG 1053 //IPϢ - -//Ӳ̹IJȡ (NET_DVR_HDCFGṹ) -#define NET_DVR_GET_HDCFG 1054 //ȡӲ̹ò -#define NET_DVR_SET_HDCFG 1055 //Ӳ̹ò -//IJȡ (NET_DVR_HDGROUP_CFGṹ) -#define NET_DVR_GET_HDGROUP_CFG 1056 //ȡò -#define NET_DVR_SET_HDGROUP_CFG 1057 //ò - -//豸(NET_DVR_COMPRESSION_AUDIOṹ) -#define NET_DVR_GET_COMPRESSCFG_AUD 1058 //ȡ豸Խ -#define NET_DVR_SET_COMPRESSCFG_AUD 1059 //豸Խ - -//IPò NET_DVR_IPPARACFG_V31ṹ -#define NET_DVR_GET_IPPARACFG_V31 1060 //ȡIPϢ -#define NET_DVR_SET_IPPARACFG_V31 1061 //IPϢ - -// ͨԴ (NET_DVR_IPPARACFG_V40ṹ) -#define NET_DVR_GET_IPPARACFG_V40 1062 // ȡIP -#define NET_DVR_SET_IPPARACFG_V40 1063 // IP - -#define NET_DVR_GET_CCDPARAMCFG 1067 //IPCȡCCD -#define NET_DVR_SET_CCDPARAMCFG 1068 //IPCCCD - -#define NET_DVR_GET_IOINCFG 1070 //ȡץĻIO -#define NET_DVR_SET_IOINCFG 1071 //ץĻIO - -#define NET_DVR_GET_IOOUTCFG 1072 //ȡץĻIO -#define NET_DVR_SET_IOOUTCFG 1073 //ץĻIO - -#define NET_DVR_GET_FLASHCFG 1074 //ȡIO -#define NET_DVR_SET_FLASHCFG 1075 //IO - -#define NET_DVR_GET_LIGHTSNAPCFG 1076 //ȡץĻ̵Ʋ -#define NET_DVR_SET_LIGHTSNAPCFG 1077 //ץĻ̵Ʋ - -#define NET_DVR_GET_MEASURESPEEDCFG 1078 //ȡץĻٲ -#define NET_DVR_SET_MEASURESPEEDCFG 1079 //ץĻٲ - -#define NET_DVR_GET_IMAGEOVERLAYCFG 1080//ȡץĻͼϢ -#define NET_DVR_SET_IMAGEOVERLAYCFG 1081//ץĻͼϢ - -#define NET_DVR_GET_SNAPCFG 1082//ȡIOץĹ -#define NET_DVR_SET_SNAPCFG 1083//õIOץĹ - -#define NET_DVR_GET_VTPPARAM 1084//ȡȦ -#define NET_DVR_SET_VTPPARAM 1085//Ȧ - -#define NET_DVR_GET_SNAPENABLECFG 1086//ȡץĻʹܲ -#define NET_DVR_SET_SNAPENABLECFG 1087//ץĻʹܲ - -#define NET_DVR_GET_POSTEPOLICECFG 1088//ȡڵ羯 -#define NET_DVR_SET_POSTEPOLICECFG 1089//ÿڵ羯 - -#define NET_DVR_GET_JPEGCFG_V30 1090//ȡץͼJPEG() -#define NET_DVR_SET_JPEGCFG_V30 1091//ץͼJPEG() - -#define NET_DVR_GET_SPRCFG 1092//ȡʶ -#define NET_DVR_SET_SPRCFG 1093//óʶ -#define NET_DVR_GET_PLCCFG 1094//ȡȲ -#define NET_DVR_SET_PLCCFG 1095//óȲ - -#define NET_DVR_GET_DEVICESTATECFG 1096//ȡ豸ǰ״̬ -#define NET_DVR_SET_CALIBRATE_TIME 1097//չʱУʱ -#define NET_DVR_GET_CALIBRATE_TIME 1098//ȡչʱУʱ - -#define NET_DVR_GET_DEVICECFG_V40 1100//ȡչ豸 -#define NET_DVR_SET_DEVICECFG_V40 1101//չ豸 - -#define NET_DVR_GET_ZEROCHANCFG 1102 //ȡͨѹ -#define NET_DVR_SET_ZEROCHANCFG 1103 //ͨѹ - -#define NET_DVR_GET_ZERO_PREVIEWCFG_V30 1104 // ȡͨԤ -#define NET_DVR_SET_ZERO_PREVIEWCFG_V30 1105 // ͨԤ - -#define NET_DVR_SET_ZERO_ZOOM 1106 //ͨ -#define NET_DVR_GET_ZERO_ZOOM 1107 //ȡͨ - -#define NET_DVR_NATASSOCIATECFG_GET 1110 //ȡNATϢ -#define NET_DVR_NATASSOCIATECFG_SET 1111 //NATϢ - -#define NET_DVR_GET_SNMPCFG 1112 //ȡSNMP -#define NET_DVR_SET_SNMPCFG 1113 //SNMP - -#define NET_DVR_GET_SNMPCFG_V30 1114 //ȡSNMPv30 -#define NET_DVR_SET_SNMPCFG_V30 1115 //SNMPv30 - -#define NET_DVR_VIDEOPLATFORMALARMCFG_GET 1130 //ȡƵۺƽ̨ -#define NET_DVR_VIDEOPLATFORMALARMCFG_SET 1131 //Ƶۺƽ̨ - -#define NET_DVR_GET_RAID_ADAPTER_INFO 1134 // ȡϢ -#define NET_DVR_SET_RAID_ADAPTER_INFO 1135 // Ϣ - -#define NET_DVR_MATRIX_BIGSCREENCFG_GET 1140//ȡƴӲ -#define NET_DVR_MATRIX_BIGSCREENCFG_SET 1141//ôƴӲ - -#define NET_DVR_GET_MB_PLATFORMPARA 1145 //ȡƽ̨¼ -#define NET_DVR_SET_MB_PLATFORMPARA 1146 //ƽ̨¼ -#define NET_DVR_GET_MB_DEVSTATUS 1147 //ȡƶ豸״̬ - -#define NET_DVR_GET_DECODER_JOINT_CHAN 1151//ȡͨ -#define NET_DVR_SET_DECODER_JOINT_CHAN 1152//ýͨ - -// -#define NET_DVR_GET_NETCFG_MULTI 1161 //ȡ -#define NET_DVR_SET_NETCFG_MULTI 1162 //ö -#define NET_DVR_GET_NETCFG_MULTI_V50 1163 //ȡ() -#define NET_DVR_SET_NETCFG_MULTI_V50 1164 //ö() - -#define NET_DVR_GET_CMSPARA 1170//ȡƽ̨ -#define NET_DVR_SET_CMSPARA 1171//ƽ̨ -#define NET_DVR_GET_DIALSTATUS 1172//ȡ״̬ -#define NET_DVR_GET_SMSRELATIVEPARA 1173//ȡز -#define NET_DVR_SET_SMSRELATIVEPARA 1174//öز -#define NET_DVR_GET_PINSTATUS 1175//ȡPin״̬ -#define NET_DVR_SET_PINCMD 1176//PIN -#define NET_DVR_SET_SENSOR_CFG 1180//ģ -#define NET_DVR_GET_SENSOR_CFG 1181//ȡģ -#define NET_DVR_SET_ALARMIN_PARAM 1182//ñ -#define NET_DVR_GET_ALARMIN_PARAM 1183//ȡ -#define NET_DVR_SET_ALARMOUT_PARAM 1184//ñ -#define NET_DVR_GET_ALARMOUT_PARAM 1185//ȡ -#define NET_DVR_SET_SIREN_PARAM 1186//þŲ -#define NET_DVR_GET_SIREN_PARAM 1187//ȡŲ -#define NET_DVR_SET_ALARM_RS485CFG 1188//ñ485 -#define NET_DVR_GET_ALARM_RS485CFG 1189//ȡ485 -#define NET_DVR_GET_ALARMHOST_MAIN_STATUS 1190//ȡҪ״̬ -#define NET_DVR_GET_ALARMHOST_OTHER_STATUS 1191//ȡ״̬ -#define NET_DVR_SET_ALARMHOST_ENABLECFG 1192//ȡʹ״̬ -#define NET_DVR_GET_ALARMHOST_ENABLECFG 1193//ñʹ״̬ -#define NET_DVR_SET_ALARM_CAMCFG 1194//Ƶۺƽ̨CAM -#define NET_DVR_GET_ALARM_CAMCFG 1195//Ƶۺƽ̨CAM -#define NET_DVR_GET_GATEWAY_CFG 1196//ȡŽ -#define NET_DVR_SET_GATEWAY_CFG 1197//Ž - -#define NET_DVR_GET_ALARMDIALMODECFG 1198//ȡŲ -#define NET_DVR_SET_ALARMDIALMODECFG 1199//ñŲ -#define NET_DVR_SET_ALARMIN_PARAM_V50 1200 // ÷V50 -#define NET_DVR_GET_ALARMIN_PARAM_V50 1201 // ȡV50 -#define NET_DVR_SET_WINCFG 1202//ڲ -#define NET_DVR_GET_ALARMHOSTDIALSETUPMODE 1204//ȡ÷ʽ -#define NET_DVR_SET_ALARMHOSTDIALSETUPMODE 1205//ñ÷ʽ - -//Ƶ(Ƶ V1.3) -#define NET_DVR_SET_SUBSYSTEM_ALARM 1210 //ϵͳ/ -#define NET_DVR_GET_SUBSYSTEM_ALARM 1211 //ȡϵͳ/ -#define NET_DVR_GET_ALLOWLIST_ALARM 1215 //ȡ -#define NET_DVR_SET_ALLOWLIST_ALARM 1216 // -#define NET_DVR_GET_ALARMHOST_MODULE_LIST 1222 //ȡģ -#define NET_DVR_SET_PRIOR_ALARM 1223 //ϵͳ/ -#define NET_DVR_GET_PRIOR_ALARM 1224 //ȡϵͳ/ -#define NET_DVR_SET_TAMPER_ALARMIN_PARAM 1225 // ÷ -#define NET_DVR_GET_TAMPER_ALARMIN_PARAM 1226 // ȡ - -#define NET_DVR_GET_HOLIDAY_PARAM_CFG 1240// ȡڼղ -#define NET_DVR_SET_HOLIDAY_PARAM_CFG 1241// ýڼղ - -#define NET_DVR_GET_MOTION_HOLIDAY_HANDLE 1242// ȡƶձʽ -#define NET_DVR_SET_MOTION_HOLIDAY_HANDLE 1243// ȡƶձʽ - -#define NET_DVR_GET_VILOST_HOLIDAY_HANDLE 1244// ȡƵźŶʧձʽ -#define NET_DVR_SET_VILOST_HOLIDAY_HANDLE 1245// ȡƵźŶʧձʽ - -#define NET_DVR_GET_HIDE_HOLIDAY_HANDLE 1246// ȡڸǼձʽ -#define NET_DVR_SET_HIDE_HOLIDAY_HANDLE 1247// ڸǼձʽ - -#define NET_DVR_GET_ALARMIN_HOLIDAY_HANDLE 1248// ȡձʽ -#define NET_DVR_SET_ALARMIN_HOLIDAY_HANDLE 1249// ñձʽ -#define NET_DVR_GET_ALARMOUT_HOLIDAY_HANDLE 1250// ȡձʽ -#define NET_DVR_SET_ALARMOUT_HOLIDAY_HANDLE 1251// ñձʽ -#define NET_DVR_GET_HOLIDAY_RECORD 1252// ȡ¼ -#define NET_DVR_SET_HOLIDAY_RECORD 1253// ü¼ -#define NET_DVR_GET_NETWORK_BONDING 1254// ȡBONDING -#define NET_DVR_SET_NETWORK_BONDING 1255// BONDING -#define NET_DVR_GET_LINK_STATUS 1256// ȡͨIP״̬ -#define NET_DVR_GET_DISK_QUOTA_CFG 1278// ȡϢ -#define NET_DVR_SET_DISK_QUOTA_CFG 1279// ôϢ -#define NET_DVR_GET_JPEG_CAPTURE_CFG 1280// ȡDVRץͼ -#define NET_DVR_SET_JPEG_CAPTURE_CFG 1281// DVRץͼ -#define NET_DVR_GET_SCHED_CAPTURECFG 1282// ȡץͼƻ -#define NET_DVR_SET_SCHED_CAPTURECFG 1283// ץͼƻ -#define NET_DVR_GET_VGA_PREVIEWCFG 1284// ȡVGAԤ -#define NET_DVR_SET_VGA_PREVIEWCFG 1285// VGAԤ -#define NET_DVR_GET_VIDEO_INPUT_EFFECT 1286// ȡͨƵͼ -#define NET_DVR_SET_VIDEO_INPUT_EFFECT 1287// ͨƵͼ - -#define NET_DVR_GET_STORAGE_SERVER_SWITCH 1290//ȡ洢״̬ -#define NET_DVR_SET_STORAGE_SERVER_SWITCH 1291//ô洢״̬ - -#define NET_DVR_GET_DISK_QUOTA_CFG_V60 1292//ȡϢV60 -#define NET_DVR_SET_DISK_QUOTA_CFG_V60 1293//ôϢV60 - -#define NET_DVR_GET_OPTICAL_CHANNEL 1300//ȡϵͳͨϢ -#define NET_DVR_SET_OPTICAL_CHANNEL 1301//ùϵͳͨϢ -#define NET_DVR_GET_FIBER_CASCADE 1302//ȡ˼ģʽ -#define NET_DVR_SET_FIBER_CASCADE 1303//ù˼ģʽ -#define NET_DVR_GET_SPARTAN_STATUS 1304//ȡ״̬ -#define NET_DVR_SET_SPARTAN_STATUS 1305//ó״̬ -#define NET_DVR_GET_ETHERNET_CHANNEL 1306//ȡ˿ھۺϲ -#define NET_DVR_SET_ETHERMET_CHANNEL 1307//ö˿ھۺϲ -#define NET_DVR_OPTICAL_REBOOT 1320//˻ -#define NET_DVR_SET_AUDIOCHAN_CFG 1321//Ƶл -#define NET_DVR_GET_AUDIOCHAN_CFG 1322//ȡƵл -//SDI1.0 -#define NET_DVR_SET_MATRIX_BASE_CFG 1332 //þ -#define NET_DVR_GET_MATRIX_BASE_CFG 1333 //ȡ -#define NET_DVR_SWITCH_MATRIX_IO 1334 //л -#define NET_DVR_GET_MATRIX_IO_RELATION 1335 //ȡϵ - -#define NET_DVR_V6PSUBSYSTEMARAM_GET 1501//ȡV6ϵͳ -#define NET_DVR_V6PSUBSYSTEMARAM_SET 1502//V6ϵͳ -#define NET_DVR_GET_ALLWINCFG 1503 //ڲȡ - -#define NET_DVR_BIGSCREENASSOCIATECFG_GET 1511 //ȡ -#define NET_DVR_BIGSCREENASSOCIATECFG_SET 1512 //ô - -//1200 -#define NET_DVR_GETSCREENINFO 1601 //ȡϢ -#define NET_DVR_SETSCREENINFO 1602 //ôϢ -#define NET_DVR_GET_SCREEN_WINCFG 1603//ڲȡ -#define NET_DVR_LAYOUTLIST_GET 1605//ȡб -#define NET_DVR_SET_LAYOUTCFG 1606 // -#define NET_DVR_LAYOUTCTRL 1607//ֿƣ1-open2-close -#define NET_DVR_INPUTLIST_GET 1608 //ȡźԴб -#define NET_DVR_SET_INPUTSTREAMCFG 1609 //źԴ -#define NET_DVR_OUTPUT_SET 1610 // -#define NET_DVR_OUTPUT_GET 1611 //ȡ -#define NET_DVR_SET_OSDCFG 1612 //OSD -#define NET_DVR_GET_OSDCFG 1613 //OSDȡ -#define NET_DVR_BIGSCREEN_GETSERIAL 1614//ȡϢ -#define NET_DVR_GET_PLANLIST 1615//ȡԤб -#define NET_DVR_SET_PLAN 1616//Ԥ -#define NET_DVR_CTRL_PLAN 1617//Ԥ -#define NET_DVR_GET_DEVICE_RUN_STATUS 1618//ȡ豸״̬ -#define NET_DVR_GET_EXTERNAL_MATRIX_CFG 1619//ȡϢ -#define NET_DVR_SET_EXTERNAL_MATRIX_CFG 1620//þϢ -#define NET_DVR_GET_OUTPUT_SCREEN_RELATION 1621//ȡĻİ󶨹ϵ -#define NET_DVR_SET_OUTPUT_SCREEN_RELATION 1622//Ļİ󶨹ϵ -#define NET_DVR_GET_VCS_USER_CFG 1623//ȡûϢ -#define NET_DVR_SET_VCS_USER_CFG 1624//ûϢ -#define NET_DVR_CONTROL_SCREEN 1625//Ļ -#define NET_DVR_GET_EXTERNAL_MATRIX_CFG_V50 1626 //ȡϢ -#define NET_DVR_SET_EXTERNAL_MATRIX_CFG_V50 1627 //þϢ - -#define NET_DVR_GET_DEV_BASEINFO 1650//ȡ豸Ϣ -#define NET_DVR_SET_DEV_BASEINFO 1651//õ豸Ϣ -#define NET_DVR_GET_DEV_NETINFO 1652//ȡ豸Ϣ -#define NET_DVR_SET_DEV_NETINFO 1653//豸Ϣ -#define NET_DVR_GET_SIGNAL_SOURCE_INFO 1654//ȡźԴϢ -#define NET_DVR_SET_SIGNAL_SOURCE_INFO 1655//źԴϢ -#define NET_DVR_ADJUST_PIC_V40 1656//ͼ΢ -#define NET_DVR_RESTORE_V40 1657//ָĬϲ -#define NET_DVR_SET_NET_SIGNAL 1658//źԴ -#define NET_DVR_REBOOT_V40 1659// -#define NET_DVR_CONTROL_PICTURE_V41 1660//ͼƬV41 - -#define NET_DVR_GET_AUTO_REBOOT_CFG 1710//ȡԶ -#define NET_DVR_SET_AUTO_REBOOT_CFG 1711//Զ -#define NET_DVR_GET_TRUNK_USE_STATE 1713//ȡָʹ״̬ -#define NET_DVR_SET_PTZ_CTRL_INFO 1714//PTZƲ -#define NET_DVR_GET_PTZ_CTRL_INFO 1715//ȡPTZƲ -#define NET_DVR_GET_PTZ_STATUS 1716//ȡPTZ״̬ -#define NET_DVR_GET_DISP_ROUTE_LIST 1717//ȡʾ·б - -#define NET_DVR_GET_DEC_RESOURCE_LIST 1720//ȡýԴб -#define NET_DVR_SET_DEC_RESOURCE_LIST 1721//ԤԴ -#define NET_DVR_GET_DEC_YUV 1722//ȡͨYUV -#define NET_DVR_SET_DEC_YUV 1723//ýͨYUV -#define NET_DVR_GET_DEC_RESOUCE 1724//Ƶۺƽ̨Դ -#define NET_DVR_FREE_DEC_RESOURCE 1725//ͷŽԴ - -#define NET_DVR_SET_VIDEOWALLDISPLAYMODE 1730//õǽƴģʽ -#define NET_DVR_GET_VIDEOWALLDISPLAYMODE 1731//ȡǽƴģʽ -#define NET_DVR_GET_VIDEOWALLDISPLAYNO 1732//ȡ豸ʾ -#define NET_DVR_SET_VIDEOWALLDISPLAYPOSITION 1733//ʾλò -#define NET_DVR_GET_VIDEOWALLDISPLAYPOSITION 1734//ȡʾλò -#define NET_DVR_GET_VIDEOWALLWINDOWPOSITION 1735//ȡǽڲ -#define NET_DVR_SET_VIDEOWALLWINDOWPOSITION 1736//õǽڲ -#define NET_DVR_VIDEOWALLWINDOW_CLOSEALL 1737//ǽرд -#define NET_DVR_SET_VIRTUALLED 1738//LED -#define NET_DVR_GET_VIRTUALLED 1739//LEDȡ -#define NET_DVR_GET_IMAGE_CUT_MODE 1740//ȡͼиģʽ -#define NET_DVR_SET_IMAGE_CUT_MODE 1741//ͼиģʽ -#define NET_DVR_GET_USING_SERIALPORT 1742//ȡǰʹô -#define NET_DVR_SET_USING_SERIALPORT 1743//õǰʹô -#define NET_DVR_SCENE_CONTROL 1744// -#define NET_DVR_GET_CURRENT_SCENE 1745//ȡǰ -#define NET_DVR_GET_VW_SCENE_PARAM 1746//ȡǽģʽ -#define NET_DVR_SET_VW_SCENE_PARAM 1747//õǽģʽ -#define NET_DVR_DISPLAY_CHANNO_CONTROL 1748//ǽʾſ -#define NET_DVR_GET_WIN_DEC_INFO 1749//ȡڽϢ -#define NET_DVR_RESET_VIDEOWALLDISPLAYPOSITION 1750 //ǽӿڰ -#define NET_DVR_SET_VW_AUDIO_CFG 1752 //Ƶл -#define NET_DVR_GET_VW_AUDIO_CFG 1753 //ȡƵл -#define NET_DVR_GET_GBT28181_DECCHANINFO_CFG 1754 //ȡGBT28181Э豸ĽͨϢ -#define NET_DVR_SET_GBT28181_DECCHANINFO_CFG 1755 //GBT28181Э豸ĽͨϢ -#define NET_DVR_SET_MAINBOARD_SERIAL 1756 //ذ崮ڲ -#define NET_DVR_GET_MAINBOARD_SERIAL 1757 //ȡذ崮ڲ -#define NET_DVR_GET_SUBBOARD_INFO 1758 //ȡӰϢ -#define NET_DVR_GET_SUBBOARD_EXCEPTION 1759 //ȡ쳣Ӱ쳣Ϣ - -#define NET_DVR_GET_CAMERACHAN_SERIALCFG 1760 //ȡCameraͨ󶨴 -#define NET_DVR_SET_CAMERACHAN_SERIALCFG 1761 //Cameraͨ󶨴 -#define NET_DVR_GET_MATRIX_STATUS 1762 //ȡƵۺƽ̨״̬ -#define NET_SET_MULTIFUNCTION_SERIALCFG 1763 //ö๦ܴ -#define NET_GET_MULTIFUNCTION_SERIALCFG 1764 //ȡ๦ܴ -#define NET_DVR_PTZ_3D_SPEED 1765 // 3άٶȵ̨ - -#define NET_DVR_GET_SIGNAL_JOINT 1766 //ȡźԴ -#define NET_DVR_SET_SIGNAL_JOINT 1767 //źԴ -#define NET_DVR_SIGNAL_CUT 1768 //źԴü -#define NET_DVR_DYNAMIC_DECODE_BATCH 1769 //̬ -#define NET_DVR_DECSWITCH_SET_BATCH 1770 //ýͨ -#define NET_DVR_DECSWITCH_GET_BATCH 1771 //ȡͨ -#define NET_DVR_GET_ALL_SIGNAL_JOINT 1772 //ȡźԴ -#define NET_DVR_GET_PLAYING_PLAN 1773 //ȡִԤ -#define NET_DVR_WALL_RELATION_GET 1774 //ȡ豸ǽǽĹ -#define NET_DVR_WALL_RELATION_SET 1775 //豸ǽǽĹ -#define NET_DVR_SET_INPUTSTREAMCFG_V40 1776 //źԴ -#define NET_DVR_PTZCFG_INPUTSTREAM_GET 1777 //ȡԴ̨ -#define NET_DVR_PTZCFG_INPUTSTREAM_SET 1778 //Դ̨ -#define NET_DVR_SIGNAL_CUTPARAM_GET 1779 //ȡźԴü - -#define NET_DVR_GET_SUBSYSTEM_NETCFG 1780 //ȡϵͳ -#define NET_DVR_SET_SUBSYSTEM_NETCFG 1781 //ϵͳ -#define NET_DVR_DEL_SIGNAL_JOINT 1782 //ɾƴźԴ - -#define NET_DVR_GET_PICTURE_INFO 1783 //ȡͼƬϢ -#define NET_DVR_SET_PICTURE_INFO 1784 //ͼƬϢ -#define NET_DVR_GET_VIDEO_INFO 1785 //ȡƵϢ -#define NET_DVR_SET_VIDEO_INFO 1786 //ƵϢ -#define NET_DVR_SET_PLAYLIST 1787 //òб -#define NET_DVR_GET_PLAYLIST 1788 //ȡб -#define NET_DVR_GET_ALL_PLAYLIST 1789 //ȡвб -#define NET_DVR_PLAYITEM_CONTROL 1790 // -#define NET_DVR_SET_PLAYPLAN_TEMPLATE 1791 //òżƻģ -#define NET_DVR_GET_PLAYPLAN_TEMPLATE 1792 //ȡżƻ -#define NET_DVR_GET_ALL_PLAYPLAN_TEMPLATE 1793 //ȡвżƻ -#define NET_DVR_SET_WINDOW_PLAYPLAN 1794 //ôڲżƻ -#define NET_DVR_GET_WINDOW_PLAYPLAN 1795 //ȡڲżƻ -#define NET_DVR_TOPLAY_ITEM 1796 //ָ -#define NET_DVR_DEVICE_PLAY_CONTROL 1797 //豸ſ -#define NET_DVR_GET_PLAY_INFO 1798 //ȡǰϢ -#define NET_DVR_GET_ALL_PICTURE_INFO 1799 //ȡͼƬϢ -#define NET_DVR_GET_ALL_VIDEO_INFO 1800 //ȡƵϢ -#define NET_DVR_DELETE_VIDEO_FILE 1801 //ɾƵ - - -#define NET_DVR_GET_ALARMHOSTSUBSYSTEM_CFG 2001//ȡϵͳ -#define NET_DVR_SET_ALARMHOSTSUBSYSTEM_CFG 2002//ϵͳ -#define NET_DVR_GETEXTENDALARMININFO 2003//ȡϢ -#define NET_DVR_MODIFYALARMINNO 2004//޸ķϢ -#define NET_DVR_GET_ALARMHOST_WIRELESS_NETWORK_CFG 2005//ȡ -#define NET_DVR_SET_ALARMHOST_WIRELESS_NETWORK_CFG 2006// -#define NET_DVR_GET_ALARMHOST_NETCFG 2007//ȡ -#define NET_DVR_SET_ALARMHOST_NETCFG 2008// -#define NET_DVR_GET_LED_SCREEN_CFG 2009// ȡLEDĻ -#define NET_DVR_SET_LED_SCREEN_CFG 2010// LEDĻ -#define NET_DVR_GET_LED_CONTENT_CFG 2011// ȡLED -#define NET_DVR_SET_LED_CONTENT_CFG 2012// LED -#define NET_DVR_TURNON_LED 2013// LED -#define NET_DVR_TURNOFF_LED 2014// رLED -#define NET_DVR_GET_LED_TIMER_SWITCH 2015// ȡLEDʱز -#define NET_DVR_SET_LED_TIMER_SWITCH 2016// LEDʱز -#define NET_DVR_SET_LED_BRIGHTNESS 2017// ֶLED -#define NET_DVR_GET_LED_TIMER_BRIGHTNESS 2018//÷ʱLED -#define NET_DVR_SET_LED_TIMER_BRIGHTNESS 2019//ȡʱLED -#define NET_DVR_LED_CHECKTIME 2020//LEDУʱ -#define NET_DVR_GET_ALARMHOST_AUDIO_ASSOCIATE_ALARM 2021//ȡƵ¼ -#define NET_DVR_SET_ALARMHOST_AUDIO_ASSOCIATE_ALARM 2022//Ƶ¼ -#define NET_DVR_GET_LED_STATUS 2023//ȡLED״̬ -#define NET_DVR_CLOSE_SUBSYSTEM_FAULT_ALARM 2027//رϵͳʾ -#define NET_DVR_SET_SUBSYSTEM_BYPASS 2028//ϵͳ· -#define NET_DVR_CANCEL_SUBSYSTEM_BYPASS 2029//ϵͳ·ָ - -#define NET_DVR_GET_ALARMHOST_SUBSYSTEM_CFG_EX 2030//ȡϵͳչ -#define NET_DVR_SET_ALARMHOST_SUBSYSTEM_CFG_EX 2031//ϵͳչ -#define NET_DVR_GET_ALARMHOST_PRINTER_CFG 2032//ȡӡӡʹ -#define NET_DVR_SET_ALARMHOST_PRINTER_CFG 2033//ôӡӡʹ -#define NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM 2034//ȡָϵͳڵз -#define NET_DVR_GET_ALARMHOST_TRIGGER_LIST 2035//ȡд -#define NET_DVR_ARM_ALARMHOST_SUBSYSTEM 2036//Ͷϵͳ -#define NET_DVR_GET_ALARMHOST_EVENT_TRIG_ALARMOUT_CFG 2037// ȡ¼ -#define NET_DVR_SET_ALARMHOST_EVENT_TRIG_ALARMOUT_CFG 2038// ¼ -#define NET_DVR_GET_ALARMHOST_FAULT_CFG 2039// ȡϴ -#define NET_DVR_SET_ALARMHOST_FAULT_CFG 2040// ùϴ -#define NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE 2041//Զ -#define NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE 2042//Զע -#define NET_DVR_CLOSE_ALARMHOST_OVERALL_FAULT_ALARM 2043//رȫֹʾ - -#define NET_DVR_GET_SAFETYCABIN_WORK_MODE 2044 //ȡչģʽ -#define NET_DVR_SET_SAFETYCABIN_WORK_MODE 2045 //÷չģʽ -#define NET_DVR_GET_SAFETYCABIN_PERSON_SIGNAL_CFG 2046 //ȡź̽ -#define NET_DVR_SET_SAFETYCABIN_PERSON_SIGNAL_CFG 2047 //÷ź̽ - -#define NET_DVR_GET_ALARMHOST_MODULE_CFG 2048//ȡģϢ -//#define NET_DVR_SET_ALARMHOST_MODULE_CFG 2049//ģϢ(Ԥ) - -#define NET_DVR_GET_ALARMHOST_EXTERNAL_DEVICE_STATE 2050//ȡ485豸״̬ -#define NET_DVR_SET_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE 2051//豸ֵ -#define NET_DVR_GET_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE 2052//ȡ豸ֵ -#define NET_DVR_GET_ALARMHOST_SENSOR_JOINT_CFG 2053// ȡģ -#define NET_DVR_SET_ALARMHOST_SENSOR_JOINT_CFG 2054// ģ -#define NET_DVR_SET_ALARMHOST_RS485_SLOT_CFG 2055// ñ485λ -#define NET_DVR_GET_ALARMHOST_RS485_SLOT_CFG 2056// ȡ485λ - -#define NET_DVR_GET_ALL_VARIABLE_INFO 2057 // ȡбԪϢ -#define NET_DVR_GET_ALARM_POINT_CFG 2058 // ȡϢ -#define NET_DVR_SET_ALARM_POINT_CFG 2059 // õϢ -#define NET_DVR_GET_HISTORY_VALUE 2060 // ȡʷ -#define NET_DVR_GET_ALARMHOST_ALARM_MODE 2061 // ȡϴʽ -#define NET_DVR_SET_ALARMHOST_ALARM_MODE 2062 // ϴʽ -#define NET_DVR_GET_ALARMHOST_SENSOR_VALUE 2063 // ȡģʵʱ - -#define NET_DVR_GET_ALARMHOST_REPORT_CENTER_V40 2064 // ȡϴʽ -#define NET_DVR_SET_ALARMHOST_REPORT_CENTER_V40 2065 // ϴʽ -#define NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG 2068 // ȡʱ -#define NET_DVR_SET_OUTPUT_SCHEDULE_RULECFG 2069 // ʱ -#define NET_DVR_GET_CMS_CFG 2070 -#define NET_DVR_SET_CMS_CFG 2071 - -#define NET_DVR_GET_PASSTHROUGH_CAP 2073 //ȡ豸͸ - -#define NET_DVR_GET_ALARMHOST_MAIN_STATUS_V40 2072 // ȡҪ״̬V40 -#define NET_DVR_GET_ALARMHOST_MAIN_STATUS_V51 2083 // ȡҪ״̬V51 - -/*************************************Ƶ1.3 begin*************************************/ -#define NET_DVR_GET_ALARM_CAPTRUE_CFG 2074 //ȡץͼ -#define NET_DVR_SET_ALARM_CAPTRUE_CFG 2075 //ñץͼ -#define NET_DVR_GET_ONE_OUTPUT_SCH_RULECFG_V40 2078 // ȡʱV40 -#define NET_DVR_SET_ONE_OUTPUT_SCH_RULECFG_V40 2079 // õʱV40 -#define NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG_V40 2080 // ȡʱV40 -#define NET_DVR_SET_OUTPUT_SCHEDULE_RULECFG_V40 2081 // ʱV40 -#define NET_DVR_ALARMHOST_CLOSE_SUBSYSTEM 2082 //ϵͳ -/*************************************Ƶ1.3 end**************************************/ - - -#define NET_DVR_GET_WEEK_PLAN_CFG 2100 //ȡ״̬ܼƻ -#define NET_DVR_SET_WEEK_PLAN_CFG 2101 //״̬ܼƻ -#define NET_DVR_GET_DOOR_STATUS_HOLIDAY_PLAN 2102 //ȡ״̬ռƻ -#define NET_DVR_SET_DOOR_STATUS_HOLIDAY_PLAN 2103 //״̬ռƻ -#define NET_DVR_GET_DOOR_STATUS_HOLIDAY_GROUP 2104 //ȡ״̬ -#define NET_DVR_SET_DOOR_STATUS_HOLIDAY_GROUP 2105 //״̬ -#define NET_DVR_GET_DOOR_STATUS_PLAN_TEMPLATE 2106 //ȡ״̬ƻģ -#define NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE 2107 //״̬ƻģ -#define NET_DVR_GET_DOOR_CFG 2108 //ȡŲ -#define NET_DVR_SET_DOOR_CFG 2109 //Ų -#define NET_DVR_GET_DOOR_STATUS_PLAN 2110 //ȡ״̬ƻ -#define NET_DVR_SET_DOOR_STATUS_PLAN 2111 //״̬ƻ -#define NET_DVR_GET_GROUP_CFG 2112 //ȡȺ -#define NET_DVR_SET_GROUP_CFG 2113 //Ⱥ -#define NET_DVR_GET_MULTI_CARD_CFG 2114 //ȡؿ -#define NET_DVR_SET_MULTI_CARD_CFG 2115 //öؿ -#define NET_DVR_GET_CARD_CFG 2116 //ȡ -#define NET_DVR_SET_CARD_CFG 2117 //ÿ -#define NET_DVR_CLEAR_ACS_PARAM 2118 //Ž -#define NET_DVR_GET_SNEAK_CFG 2119 //ȡDZز -#define NET_DVR_SET_SNEAK_CFG 2120 //÷DZز -#define NET_DVR_GET_MULTI_DOOR_INTERLOCK_CFG 2121 //ȡŻ -#define NET_DVR_SET_MULTI_DOOR_INTERLOCK_CFG 2122 //öŻ -#define NET_DVR_GET_ACS_WORK_STATUS 2123 //ȡŽ״̬ -#define NET_DVR_GET_VERIFY_WEEK_PLAN 2124 //ȡ֤ʽܼƻ -#define NET_DVR_SET_VERIFY_WEEK_PLAN 2125 //ö֤ʽܼƻ -#define NET_DVR_GET_CARD_RIGHT_WEEK_PLAN 2126 //ȡȨܼƻ -#define NET_DVR_SET_CARD_RIGHT_WEEK_PLAN 2127 //ÿȨܼƻ -#define NET_DVR_GET_VERIFY_HOLIDAY_PLAN 2128 //ȡ֤ʽռƻ -#define NET_DVR_SET_VERIFY_HOLIDAY_PLAN 2129 //ö֤ʽռƻ -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN 2130 //ȡȨ޼ռƻ -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN 2131 //ÿȨ޼ռƻ -#define NET_DVR_GET_VERIFY_HOLIDAY_GROUP 2132 //ȡ֤ʽ -#define NET_DVR_SET_VERIFY_HOLIDAY_GROUP 2133 //ö֤ʽ -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP 2134 //ȡȨ޼ -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP 2135 //ÿȨ޼ -#define NET_DVR_GET_VERIFY_PLAN_TEMPLATE 2136 //ȡ֤ʽƻģ -#define NET_DVR_SET_VERIFY_PLAN_TEMPLATE 2137 //ö֤ʽƻģ -#define NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE 2138 //ȡȨ޼ƻģ -#define NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE 2139 //ÿȨ޼ƻģ -#define NET_DVR_GET_CARD_READER_CFG 2140 //ȡ -#define NET_DVR_SET_CARD_READER_CFG 2141 //ö -#define NET_DVR_GET_CARD_READER_PLAN 2142 //ȡ֤ƻ -#define NET_DVR_SET_CARD_READER_PLAN 2143 //ö֤ƻ -#define NET_DVR_GET_CASE_SENSOR_CFG 2144 //ȡ¼ -#define NET_DVR_SET_CASE_SENSOR_CFG 2145 //¼ -#define NET_DVR_GET_CARD_READER_ANTI_SNEAK_CFG 2146 //ȡDZز -#define NET_DVR_SET_CARD_READER_ANTI_SNEAK_CFG 2147 //öDZز -#define NET_DVR_GET_PHONE_DOOR_RIGHT_CFG 2148 //ȡֻȨ޲ -#define NET_DVR_SET_PHONE_DOOR_RIGHT_CFG 2149 //ȡֻȨ޲ -#define NET_DVR_GET_FINGERPRINT_CFG 2150 //ȡָƲ -#define NET_DVR_SET_FINGERPRINT_CFG 2151 //ָƲ -#define NET_DVR_DEL_FINGERPRINT_CFG 2152 //ɾָƲ -#define NET_DVR_GET_EVENT_CARD_LINKAGE_CFG 2153 //ȡ¼ò -#define NET_DVR_SET_EVENT_CARD_LINKAGE_CFG 2154 //¼ò -#define NET_DVR_GET_ANTI_SNEAK_HOST_CFG 2155 //ȡ鷴DZز -#define NET_DVR_SET_ANTI_SNEAK_HOST_CFG 2156 //鷴DZز -#define NET_DVR_GET_READER_ANTI_SNEAK_HOST_CFG 2157 //ȡDZز -#define NET_DVR_SET_READER_ANTI_SNEAK_HOST_CFG 2158 //DZز -#define NET_DVR_GET_ACS_CFG 2159 //ȡŽ -#define NET_DVR_SET_ACS_CFG 2160 //Ž -#define NET_DVR_GET_CARD_PASSWD_CFG 2161 //ȡ뿪ʹ -#define NET_DVR_SET_CARD_PASSWD_CFG 2162 //ÿ뿪ʹ -#define NET_DVR_GET_CARD_USERINFO_CFG 2163 //ȡŹûϢ -#define NET_DVR_SET_CARD_USERINFO_CFG 2164 //ÿŹûϢ - -#define NET_DVR_GET_ACS_EXTERNAL_DEV_CFG 2165 //ȡŽ -#define NET_DVR_SET_ACS_EXTERNAL_DEV_CFG 2166 //Ž -#define NET_DVR_GET_PERSONNEL_CHANNEL_CFG 2167 //ȡԱͨ -#define NET_DVR_SET_PERSONNEL_CHANNEL_CFG 2168 //Աͨ -#define NET_DVR_SET_PLATFORM_VERIFY_CFG 2169 //·ƽ̨֤ -#define NET_DVR_GET_PERSON_STATISTICS_CFG 2170 //ȡͳƲ -#define NET_DVR_SET_PERSON_STATISTICS_CFG 2171 //ͳƲ -#define NET_DVR_GET_ACS_SCREEN_DISPLAY_CFG 2172 //ȡĻַʾ -#define NET_DVR_SET_ACS_SCREEN_DISPLAY_CFG 2173 //Ļַʾ -#define NET_DVR_GET_GATE_TIME_CFG 2174 //ȡԱͨբʱ -#define NET_DVR_SET_GATE_TIME_CFG 2175 //Աͨբʱ -#define NET_DVR_GET_LOCAL_CONTROLLER_STATUS 2176 //ȡ͵ؿ״̬ -#define NET_DVR_GET_ONLINE_LOCAL_CONTROLLER 2177 //߾͵ؿ -#define NET_DVR_GET_CARD_CFG_V50 2178 //ȡ¿(V50) -#define NET_DVR_SET_CARD_CFG_V50 2179 //¿(V50) -#define NET_DVR_GET_ACS_WORK_STATUS_V50 2180 //ȡŽ״̬(V50) -#define NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V50 2181 //ȡ¼ò(V50) -#define NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V50 2182 //¼ò(V50) -#define NET_DVR_GET_FINGERPRINT_CFG_V50 2183 //ȡָƲV50 -#define NET_DVR_SET_FINGERPRINT_CFG_V50 2184 //ָƲV50 - -#define NET_DVR_GET_SAFETYCABIN_STATE 2197 //ȡ״̬ -#define NET_DVR_GET_RS485_CASCADE_CFG 2198 //ȡRs485豸 -#define NET_DVR_SET_RS485_CASCADE_CFG 2199 //Rs485豸 - -/*************************************Ƶ2.0 begin*************************************/ -#define NET_DVR_GET_REMOTECONTROLLER_PERMISION_CFG 2200 //ȡңȨ޲ -#define NET_DVR_SET_REMOTECONTROLLER_PERMISION_CFG 2201 //ңȨ޲ -#define NET_DVR_GET_KEYBOARD_CFG 2202 //ȡ̲ -#define NET_DVR_SET_KEYBOARD_CFG 2203 //ü̲ -#define NET_DVR_GET_ALARMHOST_WIRELESS_BUSINNESS_INFO 2204 //ҵѯ -#define NET_DVR_GET_ALL_REMOTECONTROLLER_LIST 2205 //ȡң -#define NET_DVR_GET_PREVIEW_DELAY_CFG 2206 //ȡӳԤ -#define NET_DVR_SET_PREVIEW_DELAY_CFG 2207 //ӳԤ -#define NET_DVR_GET_ZONE_CHANNEL_LINKAGE_CFG 2208 //ȡƵͨ -#define NET_DVR_SET_ZONE_CHANNEL_LINKAGE_CFG 2209 //÷Ƶͨ -#define NET_DVR_GET_CENTER_SERVER_CFG 2210 //ȡķ -#define NET_DVR_SET_CENTER_SERVER_CFG 2211 //ñķ -/*************************************Ƶ2.0 end**************************************/ - -/********************************һʽƷV1.0.0 begin********************************/ -#define NET_DVR_GET_EMERGENCE_ALARM_PRODUCT_CAP 2212 //ȡһʽƷ -#define NET_DVR_GET_CALL_WAITTING_CFG_CAP 2213 //ȡеȴ -#define NET_DVR_GET_CALL_WAITTING_CFG 2214 //ȡеȴ -#define NET_DVR_SET_CALL_WAITTING_CFG 2215 //úеȴ -#define NET_DVR_GET_ALARM_LAMP_CFG_CAP 2216 //ȡƲ -#define NET_DVR_GET_ALARM_LAMP_CFG 2217 //ȡƲ -#define NET_DVR_SET_ALARM_LAMP_CFG 2218 //þƲ -#define NET_DVR_GET_VOICE_PROMPTION_CFG_CAP 2219 //ȡʾ -#define NET_DVR_GET_VOICE_PROMPTION_CFG 2220 //ȡʾ -#define NET_DVR_SET_VOICE_PROMPTION_CFG 2221 //ʾ -#define NET_DVR_GET_EMERGENCE_ALARM_RESPONSE_CAP 2222 //ȡ -#define NET_DVR_EMERGENCE_ALARM_RESPONSE_CTRL 2223 // -/********************************һʽƷV1.0.0 end**********************************/ - -//籨 V2.2 -#define NET_DVR_GET_ALARMHOST_NETCFG_V50 2224 //ȡV50 -#define NET_DVR_SET_ALARMHOST_NETCFG_V50 2225 //ñV50 -#define NET_DVR_REGISTER_ALARM_RS485 2226 //RS485ע -/**********************************V3.0****************************************/ - -#define NET_DVR_GET_ALARMIN_PARAM_LIST 2227 //ȡб -//߱1.0.0 -#define NET_DVR_GET_ALARMHOST_OTHER_STATUS_V50 2228 //ȡ״̬v50 -#define NET_DVR_GET_ALARMHOST_OTHER_STATUS_V51 2236 //ȡ״̬V51 -#define NET_DVR_GET_ALARMIN_ASSOCIATED_CHAN_LIST 2229 //ȡƵͨб -#define NET_DVR_GET_ALARMIN_TRIGGER 2230 //ȡ -#define NET_DVR_SET_ALARMIN_TRIGGER 2231 //ñ -#define NET_DVR_GET_EMERGENCY_CALL_HELP_TRIGGER 2232 //ȡ -#define NET_DVR_SET_EMERGENCY_CALL_HELP_TRIGGER 2233 //ñ -#define NET_DVR_GET_CONSULT_TRIGGER 2234 //ȡҵѯ -#define NET_DVR_SET_CONSULT_TRIGGER 2235 //ñҵѯ -#define NET_DVR_GET_ALARMIN_PARAM_LIST_V50 2237 //ȡбV50 - -#define NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50 2304 //ȡȨܼƻV50 -#define NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50 2305 //ÿȨܼƻV50 - -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN_V50 2310 //ȡȨ޼ռƻV50 -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN_V50 2311 //ÿȨ޼ռƻV50 - -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP_V50 2316 //Ȩ޼V50 -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP_V50 2317 //ÿȨ޼V50 - -#define NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE_V50 2322 //ȡȨ޼ƻģV50 -#define NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50 2323//ÿȨ޼ƻģV50 - -/**********************************ָŽƷV1.0 豸****************************************/ -#define NET_DVR_GET_SCHEDULE_INFO 2500 //ȡŰϢ -#define NET_DVR_GET_ATTENDANCE_SUMMARY_INFO 2501 //ȡڻϢ -#define NET_DVR_GET_ATTENDANCE_RECORD_INFO 2502 //ȡڼ¼Ϣ -#define NET_DVR_GET_ABNORMAL_INFO 2503 //ȡ쳣ͳϢ -/**********************************ָŽƷV1.0****************************************/ - -/*************************************ƵŽһ1.0 begin**************************************/ -#define NET_DVR_CAPTURE_FINGERPRINT_INFO 2504 //ɼָϢ -/*************************************ƵŽһ1.0 end**************************************/ - -/*************************************Ƕʽն1.0 begin**************************************/ -#define NET_DVR_BULK_UPLOAD_BLOCKLIST_PICTURE 2520 //ϴֹͼƬ -#define NET_DVR_BULK_UPLOAD_ID_BLOCKLIST 2521 //ϴֹ֤ -#define NET_DVR_GET_FAILED_FACE_INFO 2522 //ȡ豸ģʧܵ¼ -#define NET_DVR_GET_FACE_AND_TEMPLATE 2523 //ȡģ -#define NET_DVR_SET_FACE_AND_TEMPLATE 2524 //ģ -/*************************************Ƕʽն1.0 end**************************************/ - -/*************************************ʶŽһ1.0 begin**************************************/ -#define NET_DVR_GET_CARD_READER_CFG_V50 2505 //ȡ(V50) -#define NET_DVR_SET_CARD_READER_CFG_V50 2506 //ö(V50) -#define NET_DVR_GET_FACE_PARAM_CFG 2507 //ȡ -#define NET_DVR_SET_FACE_PARAM_CFG 2508 // -#define NET_DVR_DEL_FACE_PARAM_CFG 2509 //ɾ -#define NET_DVR_CAPTURE_FACE_INFO 2510 //ɼϢ -/*************************************ʶŽһ1.0 end**************************************/ -#define NET_DVR_GET_REGISTER_INFO 2511 //ǼϢȡ - -#define NET_DVR_GET_SMSRELATIVEPARA_V50 2512 //ȡز -#define NET_DVR_SET_SMSRELATIVEPARA_V50 2513 //öز -#define NET_DVR_GET_ACS_EVENT 2514 //豸¼ȡ -#define NET_DVR_GET_MULTI_CARD_CFG_V50 2515 //ȡؿV50 -#define NET_DVR_SET_MULTI_CARD_CFG_V50 2516 //öؿV50 -#define NET_DVR_DEL_FINGERPRINT_CFG_V50 2517 //ɾָƲV50 -#define NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V51 2518 //ȡ¼ò(V51) -#define NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51 2519 //¼ò(V51) - -#define NET_DVR_SET_EXAM_INFO 2530 //Ϣ· -#define NET_DVR_SET_EXAMINEE_INFO 2531 //Ϣ· -#define NET_DVR_SEARCH_EXAM_COMPARE_RESULT 2532 //ԱȶԽѯ -#define NET_DVR_BULK_CHECK_FACE_PICTURE 2533 //УͼƬ -#define NET_DVR_JSON_CONFIG 2550 //JSON͸ -#define NET_DVR_FACE_DATA_RECORD 2551 //ݵ -#define NET_DVR_FACE_DATA_SEARCH 2552 //ѯе -#define NET_DVR_FACE_DATA_MODIFY 2553 //޸е -#define NET_DVR_CAPTURE_DATA_SEARCH 2554 //ѯ߲ɼݼ -#define NET_DVR_SET_FORM_DATA 2555 //ñ -#define NET_DVR_GET_FORM_DATA 2556 //ӻȡ - -#define NET_DVR_GET_CARD 2560 -#define NET_DVR_SET_CARD 2561 -#define NET_DVR_DEL_CARD 2562 -#define NET_DVR_GET_FINGERPRINT 2563 -#define NET_DVR_SET_FINGERPRINT 2564 -#define NET_DVR_DEL_FINGERPRINT 2565 -#define NET_DVR_GET_FACE 2566 -#define NET_DVR_SET_FACE 2567 - -#define NET_DVR_GET_ALL_ALARM_RS485CFG 2705 // ȡ485 -#define NET_DVR_GET_ALL_ALARMHOST_RS485_SLOT_CFG 2706 // ȡб485λ -#define NET_DVR_GET_DEVICE_SELF_CHECK_STATE 2707 //ȡ豸Լ칦 -#define NET_DVR_GET_ALL_ALARM_POINT_CFG 2708 // ȡеŲ -#define NET_DVR_GET_ALL_ALARM_SENSOR_CFG 2709 // ȡģ -#define NET_DVR_GET_ALL_ALARM_SENSOR_JOINT 2710 //ȡģ -#define NET_DVR_GET_AIR_CONDITION_PARAM 2711 //ȡյ -#define NET_DVR_GET_OUT_SCALE_CFG 2712 //ȡ -#define NET_DVR_SET_OUT_SCALE_CFG 2713 // -#define NET_DVR_GET_ALARM_CHAN_ABLITITY 2714 //ȡͨ -/**********************************V3.0****************************************/ - -//D2000 V1.0 -#define NET_DVR_GET_ALARMCENTER_NETCFG 2715 //ȡ -#define NET_DVR_SET_ALARMCENTER_NETCFG 2716 //ȡ - - -#define NET_ITC_GET_TRIGGERCFG 3003 //ȡ -#define NET_ITC_SET_TRIGGERCFG 3004 //ô -#define NET_ITC_GET_IOOUT_PARAM_CFG 3005 //ȡIO3.1֮汾 -#define NET_ITC_SET_IOOUT_PARAM_CFG 3006 //IO3.1֮汾 - -#define NET_DVR_GET_CAMERA_SETUPCFG 3007 //ȡ -#define NET_DVR_SET_CAMERA_SETUPCFG 3008 // - -#define NET_ITC_GET_TRIGGER_DEFAULTCFG 3013 //ȡģʽƼ -#define NET_DVR_GET_STATUS_DETECTCFG 3015 //ȡ״̬ʹܲ -#define NET_DVR_SET_STATUS_DETECTCFG 3016 //״̬ʹܲ -#define NET_ITC_GET_VIDEO_TRIGGERCFG 3017 //ȡƵ羯 -#define NET_ITC_SET_VIDEO_TRIGGERCFG 3018 //Ƶ羯 -#define NET_DVR_GET_TPS_ALARMCFG 3019 //ȡͨͳƱ -#define NET_DVR_SET_TPS_ALARMCFG 3020 //ýͨͳƱ - - -#define NET_DVR_GET_REDAREACFG 3100 //ȡ̵ -#define NET_DVR_SET_REDAREACFG 3101 //ú̵ -#define NET_DVR_GET_TEST_SPOT 3102 //ȡSPOTڲܲ͵ǰڼ -#define NET_DVR_SET_TEST_SPOT 3103 //SPOTڲܲ͵ǰڼ -#define NET_DVR_GET_CABINETCFG 3104 //ûȡ -#define NET_DVR_SET_CABINETCFG 3105 // -#define NET_DVR_VEHICLE_CHECK_START 3106 //ֹݻش -#define NET_DVR_SET_CAPTUREPIC_CFG 3107 //ץͼ -#define NET_DVR_GET_CAPTUREPIC_CFG 3108 //ץͼûȡ -#define NET_DVR_SET_MOBILEPLATE_RECOG_CFG 3109 //سʶ -#define NET_DVR_GET_MOBILEPLATE_RECOG_CFG 3110 //سʶûȡ -#define NET_DVR_SET_MOBILE_RADAR_CFG 3111 //״ -#define NET_DVR_GET_MOBILE_RADAR_CFG 3112 //״ûȡ -#define NET_DVR_SET_MOBILE_LOCALPLATECHK_CFG 3113 //ؽֹضԱ -#define NET_DVR_GET_MOBILE_LOCALPLATECHK_CFG 3114 //ؽֹضԱûȡ - -#define NET_ITC_GET_ICRCFG 3115 //ȡICRл -#define NET_ITC_SET_ICRCFG 3116 //ICRл -#define NET_ITC_GET_RS485_ACCESSINFO 3117 //ȡRs485豸Ϣ -#define NET_ITC_SET_RS485_ACCESSINFO 3118 //Rs485豸Ϣ -#define NET_ITC_GET_EXCEPTIONCFG 3119 //ȡ쳣 -#define NET_ITC_SET_EXCEPTIONCFG 3120 //쳣 -#define NET_ITC_GET_FTPCFG 3121 //ȡITC FTPò -#define NET_ITC_SET_FTPCFG 3122 //ITC FTPò - -#define NET_DVR_VEHICLE_CONTROL_LIST_START 3123 //óֹϢ -#define NET_DVR_GET_ALL_VEHICLE_CONTROL_LIST 3124 //ȡгֹϢ -#define NET_DVR_VEHICLE_DELINFO_CTRL 3125 //ɾ豸ڽֹݿϢ -#define NET_DVR_GET_ENTRANCE_PARAMCFG 3126 //ȡڿƲ -#define NET_DVR_SET_ENTRANCE_PARAMCFG 3127 //óڿƲ -#define NET_DVR_BARRIERGATE_CTRL 3128 //Զ̿Ƶբ -#define NET_DVR_GATELAMP_CTRL 3129 //ƹ -#define NET_DVR_GET_CURTRIGGERMODE 3130 //ȡ豸ǰģʽ -#define NET_DVR_GET_GPSDATACFG 3131 //ȡGPS -#define NET_DVR_SET_GPSDATACFG 3132 //GPS -#define NET_DVR_VEHICLELIST_CTRL_START 3133 //óֹϢ - -#define NET_DVR_GET_GUARDCFG 3134 //ȡʶƻ -#define NET_DVR_SET_GUARDCFG 3135 //óʶƻ -#define NET_DVR_GET_SNAPINFO_CFG 3136 //ȡץͼƬ -#define NET_DVR_SET_SNAPINFO_CFG 3137 //ץͼƬ -#define NET_DVR_GET_SNAPINFO_CFG_V40 3138 //ȡץͼƬչ -#define NET_DVR_SET_SNAPINFO_CFG_V40 3139 //ץͼƬչ -#define NET_DVR_SET_CURTRIGGERMODE 3140 //豸ǰģʽ(IPC/D֧) -#define NET_DVR_GET_TRAFFIC_DATA 3141 //ӻȡͨ -#define NET_DVR_GET_TRAFFIC_FLOW 3142 //ӻȡͨ -#define NET_DVR_PARKING_VEHICLE_SEND 3143 //ͣϢ· -#define NET_DVR_PARKING_CARD_SEND 3144 //ͣ· -#define NET_DVR_PARKING_CARD_CTRL 3145 //ͣͣƽӿ - -#define NET_DVR_GET_ALARMCTRL_CAPABILITIES 3146 //ȡ -#define NET_DVR_SET_ALARMCTRL_CFG 3147 //ñ -#define NET_DVR_GET_ALARMCTRL_CFG 3148 //ȡ - -#define NET_DVR_GET_AUDIO_INPUT 3201 //ȡƵ -#define NET_DVR_SET_AUDIO_INPUT 3202 //Ƶ -#define NET_DVR_GET_CAMERA_DEHAZE_CFG 3203 //ȡ͸ -#define NET_DVR_SET_CAMERA_DEHAZE_CFG 3204 //͸ -#define NET_DVR_REMOTECONTROL_ALARM 3205 //Զ̿ң -#define NET_DVR_REMOTECONTROL_DISALARM 3206 //Զ̿ң -#define NET_DVR_REMOTECONTROL_STUDY 3207 //Զ̿ңѧϰ -#define NET_DVR_WIRELESS_ALARM_STUDY 3208 //Զ̿߱ѧϰ -#define NET_IPC_GET_AUX_ALARMCFG 3209 //ȡ -#define NET_IPC_SET_AUX_ALARMCFG 3210 //ø -#define NET_DVR_GET_PREVIEW_DISPLAYCFG 3211 //ȡԤʾ -#define NET_DVR_SET_PREVIEW_DISPLAYCFG 3212 //Ԥʾ -#define NET_DVR_REMOTECONTROL_PTZ 3213 //Զ̿PTZ -#define NET_DVR_REMOTECONTROL_PRESETPOINT 3214 //Զ̿Ԥõ -#define NET_DVR_REMOTECONTROL_CRUISE 3215 //Զ̿Ѳ - -#define NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG 3216 //Զ̻ȡѹ -#define NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG 3217 //Զöѹ - -#define NET_DVR_GET_WPSCFG 3218 //ȡWPS -#define NET_DVR_SET_WPSCFG 3219 //WPS -#define NET_DVR_WPS_CONNECT 3220 //ԶWPS -#define NET_DVR_GET_DEVICE_PIN 3221 //ȡ豸PIN -#define NET_DVR_UPDATE_PIN 3223 //豸PIN -#define NET_DVR_GET_PRESETCFG 3224 //ȡԤõ -#define NET_DVR_GET_PTZCRUISECFG 3225 //ȡѲ· -#define NET_DVR_GET_PRESET_NUM 3226 //ȡԤõ -#define NET_DVR_GET_PTZCRUISE_NUM 3227 //ȡѲ· - -#define NET_DVR_GET_MOTION_TRACK_CFG 3228 //ȡ˶ -#define NET_DVR_SET_MOTION_TRACK_CFG 3229 //˶ -#define NET_DVR_CLEAR_IPC_PARAM 3230 //ǰ˲ -#define NET_DVR_GET_IPADDR_FILTERCFG 3232 //ȡIPַ˲ -#define NET_DVR_SET_IPADDR_FILTERCFG 3233 //IPַ˲ - -#define NET_DVR_GET_LOGO_OVERLAYCFG 3234 //ȡLOGOͼƬӲ -#define NET_DVR_SET_LOGO_OVERLAYCFG 3235 //LOGOͼƬӲ - -#define NET_DVR_GET_IPV6_LIST 3236 //ȡȫIPV6ַϢ -#define NET_DVR_GET_AUDIOOUT_VOLUME 3237 //ȡƵС -#define NET_DVR_SET_AUDIOOUT_VOLUME 3238 //ƵС -#define NET_DVR_GET_FUZZY_UPGRADE 3239 //ȡģƥϢ - -#define NET_DVR_GET_BV_CORRECT_PARAM 3240 //ȡУ -#define NET_DVR_SET_BV_CORRECT_PARAM 3241 //У -#define NET_DVR_GET_OUTPUT_VIDEO_TYPE 3242 //ȡƵ -#define NET_DVR_SET_OUTPUT_VIDEO_TYPE 3243 //Ƶ - -#define NET_DVR_FISHEYE_CFG 3244 //۳ -#define NET_DVR_GET_PTZ_POINT 3245 //ȡPTZ -#define NET_DVR_SET_PTZ_POINT 3246 //PTZ -#define NET_DVR_REMOTECONTROL_DEV_PARAM 3247 //豸¼ͻ˲ -#define NET_DVR_GET_FISHEYE_STREAM_STATUS 3248 //ȡ״̬ - -#define NET_DVR_GET_GBT28181_ACCESS_CFG 3249 //ȡGBT28181Э -#define NET_DVR_SET_GBT28181_ACCESS_CFG 3250 //GBT28181Э -#define NET_DVR_GET_GBT28181_CHANINFO_CFG 3251 //ȡGBT28181Э豸ͨϢ -#define NET_DVR_SET_GBT28181_CHANINFO_CFG 3252 //GBT28181Э豸ͨϢ -#define NET_DVR_GET_GBT28181_ALARMINCFG 3253 //ȡGBT28181Э豸ıϢ -#define NET_DVR_SET_GBT28181_ALARMINCFG 3254 //GBT28181Э豸ıϢ -#define NET_DVR_GET_ISP_CAMERAPARAMCFG 3255 //ȡISPǰ˲ -#define NET_DVR_SET_ISP_CAMERAPARAMCFG 3256 //ISPǰ˲ -#define NET_DVR_GET_DEVSERVER_CFG 3257 //ȡģ -#define NET_DVR_SET_DEVSERVER_CFG 3258 //ģ - -//2013-11-25 -#define NET_DVR_GET_WIPERINFO_CFG 3259 //ˢûȡ -#define NET_DVR_SET_WIPERINFO_CFG 3260 //ˢ -#define NET_DVR_GET_TRACK_DEV_PARAM 3261 //ȡ豸 -#define NET_DVR_SET_TRACK_DEV_PARAM 3262 //豸 -#define NET_DVR_GET_PTZ_TRACK_PARAM 3263 //ȡPTZ -#define NET_DVR_SET_PTZ_TRACK_PARAM 3264 //PTZ -#define NET_DVR_GET_CENTER_POINT_CFG 3265 //ȡĵ -#define NET_DVR_SET_CENTER_POINT_CFG 3266 //ĵ -#define NET_DVR_GET_CENTER_POINT_CFG_CAPABILITIES 3267 //ȡĵ -#define NET_DVR_GET_FISHEYE_CAPABILITIES 3268 //ȡ - -#define NET_DVR_GET_BASICPARAMCFG 3270 //ȡPTZûϢ -#define NET_DVR_SET_BASICPARAMCFG 3271 //PTZûϢ -#define NET_DVR_GET_PTZOSDCFG 3272 //ȡPTZ OSDòϢ -#define NET_DVR_SET_PTZOSDCFG 3273 //PTZ OSDòϢ -#define NET_DVR_GET_POWEROFFMEMCFG 3274 //ȡģʽϢ -#define NET_DVR_SET_POWEROFFMEMCFG 3275 //õģʽϢ -#define NET_DVR_GET_LIMITCFG 3276 //ȡλϢ -#define NET_DVR_SET_LIMITCFG 3277 //λϢ -#define NET_DVR_PTZLIMIT_CTRL 3278 //λ - -#define NET_DVR_PTZ_CLEARCTRL 3279 //Ϣƽӿ -#define NET_DVR_GET_PRIORITIZECFG 3281 //ȡ̨Ϣ -#define NET_DVR_SET_PRIORITIZECFG 3282 //̨Ϣ -#define NET_DVR_PTZ_INITIALPOSITIONCTRL 3283 //㷽λǿ -#define NET_DVR_GET_PRIVACY_MASKSCFG 3285 //ȡ˽ڱβ -#define NET_DVR_SET_PRIVACY_MASKSCFG 3286 //˽ڱβ -#define NET_DVR_GET_PTZLOCKCFG 3287 //ȡ̨Ϣ -#define NET_DVR_SET_PTZLOCKCFG 3288 //̨Ϣ -#define NET_DVR_PTZ_ZOOMRATIOCTRL 3289 //ñ -#define NET_DVR_GET_PTZLOCKINFO 3290 //ȡ̨ʣ -#define NET_DVR_GET_PRIVACY_MASKS_ENABLECFG 3291 //ȡȫʹ -#define NET_DVR_SET_PRIVACY_MASKS_ENABLECFG 3292 //ȫʹ -#define NET_DVR_GET_SMARTTRACKCFG 3293 //ȡ˶Ϣ -#define NET_DVR_SET_SMARTTRACKCFG 3294 //˶Ϣ -#define NET_DVR_GET_EPTZ_CFG 3295 //ȡEPTZ -#define NET_DVR_SET_EPTZ_CFG 3296 //EPTZ -#define NET_DVR_GET_EPTZ_CFG_CAPABILITIES 3297 //ȡEPTZ - -#define NET_DVR_GET_LOW_LIGHTCFG 3303//ȡնϢ -#define NET_DVR_SET_LOW_LIGHTCFG 3304//ÿնϢ -#define NET_DVR_GET_FOCUSMODECFG 3305//ȡ۽ģʽϢ -#define NET_DVR_SET_FOCUSMODECFG 3306//ÿ۽ģʽϢ -#define NET_DVR_GET_INFRARECFG 3307//ȡϢ -#define NET_DVR_SET_INFRARECFG 3308//ÿϢ -#define NET_DVR_GET_AEMODECFG 3309//ȡϢ -#define NET_DVR_SET_AEMODECFG 3310//ÿϢ -#define NET_DVR_CONTROL_RESTORE_SUPPORT 3311 //ָǰĬϲ(еǰ˲صĶָ) -#define NET_DVR_CONTROL_RESTART_SUPPORT 3312 //о -#define NET_DVR_CONTROL_PTZ_PATTERN 3313//̨ɨ -#define NET_DVR_GET_PTZ_PARKACTION_CFG 3314//ȡ̨ -#define NET_DVR_SET_PTZ_PARKACTION_CFG 3315//̨ -#define NET_DVR_CONTROL_PTZ_MANUALTRACE 3316//ֶλ -#define NET_DVR_GET_ROI_DETECT_NUM 3349 //ȡROIĿ -#define NET_DVR_GET_ROI_DETECT 3350 //ȡROI -#define NET_DVR_SET_ROI_DETECT 3351 //ROI -#define NET_DVR_GET_FACE_DETECT 3352 //ȡ -#define NET_DVR_SET_FACE_DETECT 3353 // -#define NET_DVR_GET_CORRIDOR_MODE 3354 //ȡģʽ -#define NET_DVR_SET_CORRIDOR_MODE 3355 //ģʽ -#define NET_DVR_GET_SCENECHANGE_DETECTIONCFG 3356 //ȡ -#define NET_DVR_SET_SCENECHANGE_DETECTIONCFG 3357 //ó -#define NET_DVR_GET_TRAVERSE_PLANE_DETECTION 3360 -#define NET_DVR_SET_TRAVERSE_PLANE_DETECTION 3361 -#define NET_DVR_GET_FIELD_DETECTION 3362 //ȡ -#define NET_DVR_SET_FIELD_DETECTION 3363 // -#define NET_DVR_GET_DEFOCUSPARAM 3364 //ȡ齹 -#define NET_DVR_SET_DEFOCUSPARAM 3365 //齹 -#define NET_DVR_GET_AUDIOEXCEPTIONPARAM 3366 //ȡƵ쳣 -#define NET_DVR_SET_AUDIOEXCEPTIONPARAM 3367 //Ƶ쳣 -#define NET_DVR_GET_CCDPARAMCFG_EX 3368 //ȡCCD -#define NET_DVR_SET_CCDPARAMCFG_EX 3369 //CCD -#define NET_DVR_START_GET_INPUTVOLUME 3370//ʼȡ -#define NET_DVR_SET_SCH_TASK 3380 //ʱ -#define NET_DVR_GET_SCH_TASK 3381 //ȡʱ -#define NET_DVR_SET_PRESET_NAME 3382 //Ԥõ -#define NET_DVR_GET_PRESET_NAME 3383 //ȡԤõ -#define NET_DVR_SET_AUDIO_NAME 3384 // -#define NET_DVR_GET_AUDIO_NAME 3385 //ȡ -#define NET_DVR_RESUME_INITRACKPOS 3386 //ָʼλ -#define NET_DVR_NTP_SERVER_TEST 3387 //NTP -#define NET_DVR_NAS_SERVER_TEST 3388 //NAS -#define NET_DVR_EMAIL_SERVER_TEST 3389 //Email -#define NET_DVR_FTP_SERVER_TEST 3390 //FTP -#define NET_DVR_IP_TEST 3391 //IP -#define NET_DVR_GET_NET_DISKCFG_V40 3392 //Ӳ̽ȡv40 -#define NET_DVR_SET_NET_DISKCFG_V40 3393 //Ӳ̽v40 -#define NET_DVR_GET_IOOUT_CFG 3394//ȡƲ -#define NET_DVR_SET_IOOUT_CFG 3395//òƲ -#define NET_DVR_GET_SIGNAL_SYNC 3396//ȡźŵͬò -#define NET_DVR_SET_SIGNAL_SYNC 3397//źŵͬò - -#define NET_DVR_GET_EZVIZ_ACCESS_CFG 3398//ȡEZVIZ -#define NET_DVR_SET_EZVIZ_ACCESS_CFG 3399//EZVIZ -#define NET_DVR_GET_SCHEDULE_AUTO_TRACK_CFG 3400//ȡʱܲ -#define NET_DVR_SET_SCHEDULE_AUTO_TRACK_CFG 3401//öʱܲ -#define NET_DVR_MAKE_I_FRAME 3402//ǿI֡ -#define NET_DVR_GET_ALARM_RELATE 3403//ȡͨܲ -#define NET_DVR_SET_ALARM_RELATE 3404//ñͨܲ -#define NET_DVR_GET_PDC_RULECFG_V42 3405 //ͳƹ(չ) -#define NET_DVR_SET_PDC_RULECFG_V42 3406 //ȡͳƹ(չ) -#define NET_DVR_GET_HEATMAP_CFG 3407 //ȶͼ -#define NET_DVR_SET_HEATMAP_CFG 3408 //ȡȶͼ -#define NET_DVR_REMOTECONTROL_LINEARSCAN 3409 //ұ߽ 2014-03-15 -#define NET_DVR_DPC_CTRL 3410//У -#define NET_DVR_FFC_MANUAL_CTRL 3411//ǾУ(FFC)ֶģʽ -#define NET_DVR_FFC_BACKCOMP_CTRL 3412//ǾУ(FFC) -#define NET_DVR_GET_FOCUSING_POSITION_STATE 3413//ȡ۽λ״̬ -#define NET_DVR_GET_PRIVATE_PROTOCOL_CFG 3414 //ȡ ˽йؼϢϴýӿ -#define NET_DVR_SET_PRIVATE_PROTOCOL_CFG 3415 // ˽йؼϢϴýӿ -#define NET_DVR_COMPLETE_RESTORE_CTRL 3420 //ȫֵָ - -#define NET_DVR_CLOUDSTORAGE_SERVER_TEST 3421 //ƴ洢 -#define NET_DVR_PHONE_NUM_TEST 3422 //绰 -#define NET_DVR_GET_REMOTECONTROL_STATUS 3423 //ȡ߲״̬ -#define NET_DVR_GET_MONITOR_LOCATION_INFO 3424 //ȡʾϢ -#define NET_DVR_SET_MONITOR_LOCATION_INFO 3425 //ʾϢ - - -#define NET_DVR_GET_SMART_CAPABILITIES 3500 //ȡSmart -#define NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES 3501 //ȡ¼ -#define NET_DVR_GET_REGION_ENTRANCE_CAPABILITIES 3502 //ȡ -#define NET_DVR_GET_REGION_ENTR_DETECTION 3503 //ȡ -#define NET_DVR_SET_REGION_ENTR_DETECTION 3504 //ý -#define NET_DVR_GET_REGION_ENTR_REGION 3505 //ȡĵ -#define NET_DVR_SET_REGION_ENTR_REGION 3506 //ýĵ -#define NET_DVR_GET_REGION_ENTR_TRIGGER 3507 //ȡ -#define NET_DVR_SET_REGION_ENTR_TRIGGER 3508 //ý -#define NET_DVR_GET_REGION_ENTR_SCHEDULE 3509 //ȡ򲼷ʱ -#define NET_DVR_SET_REGION_ENTR_SCHEDULE 3510 //ý򲼷ʱ -#define NET_DVR_GET_REGION_EXITINT_CAPABILITIES 3511 //ȡ뿪 -#define NET_DVR_GET_REGION_EXITING_DETECTION 3512 //ȡ뿪 -#define NET_DVR_SET_REGION_EXITING_DETECTION 3513 //뿪 -#define NET_DVR_GET_REGION_EXITING_REGION 3514 //ȡ뿪ĵ -#define NET_DVR_SET_REGION_EXITING_REGION 3515 //뿪ĵ -#define NET_DVR_GET_REGION_EXIT_TRIGGER 3516 //ȡ뿪 -#define NET_DVR_SET_REGION_EXIT_TRIGGER 3517 //뿪 -#define NET_DVR_GET_REGION_EXIT_SCHEDULE 3518 //ȡ뿪򲼷ʱ -#define NET_DVR_SET_REGION_EXIT_SCHEDULE 3519 //뿪򲼷ʱ -#define NET_DVR_GET_LOITERING_CAPABILITIES 3520 //ȡǻ -#define NET_DVR_GET_LOITERING_DETECTION 3521 //ȡǻ -#define NET_DVR_SET_LOITERING_DETECTION 3522 //ǻ -#define NET_DVR_GET_LOITERING_REGION 3523 //ȡǻĵ -#define NET_DVR_SET_LOITERING_REGION 3524 //ǻĵ -#define NET_DVR_GET_LOITERING_TRIGGER 3525 //ȡǻ -#define NET_DVR_SET_LOITERING_TRIGGER 3526 //ǻ -#define NET_DVR_GET_LOITERING_SCHEDULE 3527 //ȡǻʱ -#define NET_DVR_SET_LOITERING_SCHEDULE 3528 //ǻʱ -#define NET_DVR_GET_GROUPDETECTION_CAPABILITIES 3529 //ȡԱۼ -#define NET_DVR_GET_GROUP_DETECTION 3530 //ȡԱۼ -#define NET_DVR_SET_GROUP_DETECTION 3531 //Աۼ -#define NET_DVR_GET_GROUPDETECTION_REGION 3532 //ȡԱۼĵ -#define NET_DVR_SET_GROUPDETECTION_REGION 3533 //Աۼĵ -#define NET_DVR_GET_GROUPDETECTION_TRIGGER 3534 //ȡԱۼ -#define NET_DVR_SET_GROUPDETECTION_TRIGGER 3535 //Աۼ -#define NET_DVR_GET_GROUPDETECTION_SCHEDULE 3536 //ȡԱۼʱ -#define NET_DVR_SET_GROUPDETECTION_SCHEDULE 3537 //Աۼʱ -#define NET_DVR_GET_RAPIDMOVE_CAPABILITIES 3538 //ȡ˶ -#define NET_DVR_GET_RAPIDMOVE_DETECTION 3539 //ȡ˶ -#define NET_DVR_SET_RAPIDMOVE_DETECTION 3540 //ÿ˶ -#define NET_DVR_GET_RAPIDMOVE_REGION 3541 //ȡ˶ĵ -#define NET_DVR_SET_RAPIDMOVE_REGION 3542 //ÿ˶ĵ -#define NET_DVR_GET_RAPIDMOVE_TRIGGER 3543 //ȡ˶ -#define NET_DVR_SET_RAPIDMOVE_TRIGGER 3544 //ÿ˶ -#define NET_DVR_GET_RAPIDMOVE_SCHEDULE 3545 //ȡ˶IJʱ -#define NET_DVR_SET_RAPIDMOVE_SCHEDULE 3546 //ÿ˶IJʱ -#define NET_DVR_GET_PATKING_CAPABILITIES 3547 //ȡͣ -#define NET_DVR_GET_PARKING_DETECTION 3548 //ȡͣ -#define NET_DVR_SET_PARKING_DETECTION 3549 //ͣ -#define NET_DVR_GET_PARKING_REGION 3550 //ȡͣĵ -#define NET_DVR_SET_PARKING_REGION 3551 //ͣĵ -#define NET_DVR_GET_PARKING_TRIGGER 3552 //ȡͣ -#define NET_DVR_SET_PARKING_TRIGGER 3553 //ͣ -#define NET_DVR_GET_PARKING_SCHEDULE 3554 //ȡͣIJʱ -#define NET_DVR_SET_PARKING_SCHEDULE 3555 //ͣIJʱ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_CAPABILITIES 3556 //ȡƷ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_DETECTION 3557 //ȡƷ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_DETECTION 3558 //Ʒ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_REGION 3559 //ȡƷĵ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_REGION 3560 //Ʒĵ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_TRIGGER 3561 //ȡƷ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_TRIGGER 3562 //Ʒ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_SCHEDULE 3563 //ȡƷIJʱ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_SCHEDULE 3564 //ƷIJʱ -#define NET_DVR_GET_ATTENDEDBAGGAGE_CAPABILITIES 3565 //ȡƷȡ -#define NET_DVR_GET_ATTENDEDBAGGAGE_DETECTION 3566 //ȡƷȡ -#define NET_DVR_SET_ATTENDEDBAGGAGE_DETECTION 3567 //Ʒȡ -#define NET_DVR_GET_ATTENDEDBAGGAGE_REGION 3568 //ȡƷȡĵ -#define NET_DVR_SET_ATTENDEDBAGGAGE_REGION 3569 //Ʒȡĵ -#define NET_DVR_GET_ATTENDEDBAGGAGE_TRIGGER 3570 //ȡƷȡ -#define NET_DVR_SET_ATTENDEDBAGGAGE_TRIGGER 3571 //Ʒȡ -#define NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE 3572 //ȡƷIJʱ -#define NET_DVR_SET_ATTENDEDBAGGAGE_SCHEDULE 3573 //ƷȡIJʱ -#define NET_DVR_GET_REGIONCLIP_CAPABILITIES 3574 //ȡü -#define NET_DVR_GET_REGION_CLIP 3575 //ȡü -#define NET_DVR_SET_REGION_CLIP 3576 //ü -#define NET_DVR_GET_NETWORK_CAPABILITIES 3577 //ȡ -#define NET_DVR_GET_WIRELESS_DIAL 3578 //ȡ߲ -#define NET_DVR_SET_WIRELESS_DIAL 3579 //߲ -#define NET_DVR_GET_WIRELESSDIAL_CAPABILITIES 3580 //ȡ߲Ų -#define NET_DVR_GET_WIRELESSDIAL_SCHEDULE 3581 //ȡżƻ -#define NET_DVR_SET_WIRELESSDIAL_SCHEDULE 3582 //òżƻ -#define NET_DVR_GET_WIRELESSDIAL_STATUS 3583 //ȡ״̬ -#define NET_DVR_GET_REGION_ENTRANCE_SCHEDULE_CAPABILITIES 3584 //ȡⲼʱ -#define NET_DVR_GET_REGION_EXITING_SCHEDULE_CAPABILITIES 3585 //ȡ뿪Ⲽʱ -#define NET_DVR_GET_LOITERING_SCHEDULE_CAPABILITIES 3586 //ȡǻⲼʱ -#define NET_DVR_GET_GROUP_SCHEDULE_CAPABILITIES 3587 //ȡԱۼⲼʱ -#define NET_DVR_GET_RAPIDMOVE_SCHEDULE_CAPABILITIES 3588 //ȡ˶Ⲽʱ -#define NET_DVR_GET_PARKING_SCHEDULE_CAPABILITIES 3589 //ȡͣⲼʱ -#define NET_DVR_GET_UNATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES 3590 //ȡƷⲼʱ -#define NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES 3591 //ȡƷȡⲼʱ -#define NET_DVR_GET_WIRELESSDIAL_SCHEDULE_CAPABILITIES 3592 //ȡżƻ -#define NET_DVR_WIRELESSDIAL_CONNECT 3593 // - -#define NET_DVR_GET_LITESTORAGE 3594 //ȡ洢 -#define NET_DVR_SET_LITESTORAGE 3595 //洢 -#define NET_DVR_GET_LITESTORAGE_CAPABILITIES 3596 //ȡ洢 - -#define NET_DVR_GET_VEHICLE_CAPABILITIES 3597 //ȡ궨 -#define NET_DVR_GET_VEHICLE_CALIBRATION 3598 //ȡ궨 - -#define NET_DVR_GET_SLAVECAMERA_CAPABILITIES 3599 //ȡIPϢ -#define NET_DVR_GET_SLAVECAMERA 3600 //ȡIPϢ -#define NET_DVR_SET_SLAVECAMERA 3601 //ôIPϢ -#define NET_DVR_GET_SLAVECAMERA_STATUS 3602 //ȡ״̬ -#define NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES 3603 //ȡ&&궨 -#define NET_DVR_GET_SLAVECAMERA_CALIB 3604 //ȡ궨 -#define NET_DVR_SET_SLAVECAMERA_CALIB 3605 //ô궨 -#define NET_DVR_GET_PHY_RATIO 3606 //ȡϢ -#define NET_DVR_SET_PHY_RATIO 3607 //Ϣ -#define NET_DVR_GET_MASTERSLAVETRACKING_CAPABILITIES 3608 //ȡ -#define NET_DVR_SET_TRACKINGRATIO 3610 //ô -#define NET_DVR_GET_TRACKING 3611 //ȡӹ -#define NET_DVR_SET_TRACKING 3612 //ӹ -#define NET_DVR_GET_TRACKING_CAPABILITIES 3613 //ȡӹ - -#define NET_DVR_GET_SLAVECAMERA_CALIB_V50 3614 //ȡ궨V50 -#define NET_DVR_SET_SLAVECAMERA_CALIB_V50 3615 //ô궨V50 -#define NET_DVR_SET_TRACKINGRATIO_MANUAL 3616 //ôֶ -#define NET_DVR_GET_TRACKINGRATIO_MANUAL 3617 //ȡֶ -#define NET_DVR_SET_TRACK_INITPOSTION 3618 //ôʼλ -#define NET_DVR_GET_PTZ_CAPABILITIES 3619 //ȡptz - -#define NET_DVR_GET_THERMOMETRY_BASICPARAM_CAPABILITIES 3620 //ȡ -#define NET_DVR_GET_THERMOMETRY_BASICPARAM 3621 //ȡò -#define NET_DVR_SET_THERMOMETRY_BASICPARAM 3622 //òò -#define NET_DVR_GET_THERMOMETRY_SCENE_CAPABILITIES 3623 //ȡԤõ -#define NET_DVR_GET_THERMOMETRY_PRESETINFO 3624 //ȡԤõò -#define NET_DVR_SET_THERMOMETRY_PRESETINFO 3625 //òԤõò -#define NET_DVR_GET_THERMOMETRY_ALARMRULE_CAPABILITIES 3626//ȡ±ʽ -#define NET_DVR_GET_THERMOMETRY_ALARMRULE 3627 //ȡԤõ㱨ò -#define NET_DVR_SET_THERMOMETRY_ALARMRULE 3628 //òԤõ㱨ò -#define NET_DVR_GET_REALTIME_THERMOMETRY 3629 //ʵʱ¶ȼ -#define NET_DVR_GET_THERMOMETRY_DIFFCOMPARISON 3630 //ȡԤõ²ò -#define NET_DVR_SET_THERMOMETRY_DIFFCOMPARISON 3631 //òԤõ²ò -#define NET_DVR_GET_THERMOMETRY_TRIGGER 3632 //ȡ -#define NET_DVR_SET_THERMOMETRY_TRIGGER 3633 //ò - -#define NET_DVR_GET_THERMAL_CAPABILITIES 3634 //ȡȳThermal -#define NET_DVR_GET_FIREDETECTION_CAPABILITIES 3635 //ȡ -#define NET_DVR_GET_FIREDETECTION 3636 //ȡ -#define NET_DVR_SET_FIREDETECTION 3637 //û -#define NET_DVR_GET_FIREDETECTION_TRIGGER 3638 //ȡ -#define NET_DVR_SET_FIREDETECTION_TRIGGER 3639 //û - -#define NET_DVR_GET_OIS_CAPABILITIES 3640 //ȡѧ -#define NET_DVR_GET_OIS_CFG 3641 //ȡѧ -#define NET_DVR_SET_OIS_CFG 3642 //ùѧ -#define NET_DVR_GET_MACFILTER_CAPABILITIES 3643 //ȡMACַ -#define NET_DVR_GET_MACFILTER_CFG 3644 //ȡMACַ -#define NET_DVR_SET_MACFILTER_CFG 3645 //MACַ -#define NET_DVR_GET_EAGLEFOCUS_CALCFG_CAPABILITIES 3646 //ӥӾ۽궨 -#define NET_DVR_GET_EAGLEFOCUSING_CALCFG 3647 //ȡӥӾ۽궨 -#define NET_DVR_SET_EAGLEFOCUSING_CALCFG 3648 //ӥӾ۽궨 -#define NET_DVR_GET_EAGLEFOCUSING_CFG_CAPABILITIES 3649 //ȡӥӾ۽ -#define NET_DVR_GET_EAGLEFOCUSING_CTRL 3650 //ȡӥӾ۽ -#define NET_DVR_SET_EAGLEFOCUSING_CTRL 3651 //ӥӾ۽ - -#define NET_DVR_GET_PXOFFLINE_CAPABILITIES 3652 //ȡͣƱѻ² -#define NET_DVR_SET_PXOFFLINE_CFG 3653 //ͣƱѻ²Ϣ -#define NET_DVR_GET_PXOFFLINE_CFG 3654 //ȡͣƱѻ²Ϣ -#define NET_DVR_GET_PAPERCHARGEINFO_CAPABILITIES 3655 //ȡֽͣƱϢ· -#define NET_DVR_SET_PAPERCHARGEINFO 3656 //ֽͣƱϢ· -#define NET_DVR_GET_PARKINGSAPCE_CAPABILITIES 3657 //ȡͣͣλϢ· -#define NET_DVR_SET_PARKINGSAPCE_INFO 3658 //ͣͣλϢ· -#define NET_DVR_GET_PXMULTICTRL_CAPABILITIES 3659 //ȡͣƱ豸ǶȲ -#define NET_DVR_GET_CHARGEACCOUNT_CAPABILITIES 3661 //ȡͣƱ -#define NET_DVR_SET_CHARGE_ACCOUNTINFO 3662 //ýɷѽϢ -#define NET_DVR_SET_PXMULTICTRL_CFG 3663 //ͣƱ豸ǶȲϢ -#define NET_DVR_GET_PXMULTICTRL_CFG 3664 //ȡͣƱ豸ǶȲϢ -#define NET_DVR_GET_TME_CHARGERULE 3665 //ȡͣڳշѹ -#define NET_DVR_SET_TME_CHARGERULE 3666 //ͣڳշѹ -#define NET_DVR_GET_TME_CHARGERULE_CAPABILITIES 3667 //ȡͣ շϢ -#define NET_DVR_GET_ILLEGALCARDFILTERING_CAPABILITIES 3668 //ȡͣƱ -#define NET_DVR_GET_ILLEGALCARDFILTERING_CFG 3669 //ȡͣƱ -#define NET_DVR_SET_ILLEGALCARDFILTERING_CFG 3670 //ͣƱ -#define NET_DVR_GET_LEDDISPLAY_CAPABILITIES 3671 //ȡLEDĻʾò -#define NET_DVR_SET_LEDDISPLAY_CFG 3672 //LEDĻʾ -#define NET_DVR_GET_LEDDISPLAY_CFG 3673 //ȡLEDĻʾ -#define NET_DVR_GET_VOICEBROADCAST_CAPABILITIES 3674 //ȡƲò -#define NET_DVR_SET_VOICEBROADCAST_CFG 3675 //Ʋ -#define NET_DVR_GET_PAPERPRINTFORMAT_CAPABILITIES 3676//ȡֽƱӡʽ -#define NET_DVR_GET_PAPERPRINTFORMAT_CFG 3677 //ȡֽƱӡʽ -#define NET_DVR_SET_PAPERPRINTFORMAT_CFG 3678 //ֽƱӡʽ -#define NET_DVR_GET_LOCkGATE_CAPABILITIES 3679 //ȡբ -#define NET_DVR_GET_LOCKGATE_CFG 3680 //ȡբ -#define NET_DVR_SET_LOCKGATE_CFG 3681 //բ -#define NET_DVR_GET_PARKING_DATASTATE 3682 //ȡͬ״̬ -#define NET_DVR_SET_PARKING_DATASTATE 3683 //ͬ״̬ -#define NET_DVR_GET_TME_CAPABILITIES 3684 //ȡͣ豸 - -#define NET_DVR_GET_TMEVOICE_CAPABILITIES 3686 //ȡϢ -#define NET_DVR_SET_TMEVOICE_CFG 3687 // -#define NET_DVR_GET_TMEVOICE_CFG 3688 //ȡ -#define NET_DVR_DEL_TMEVOICE_CFG 3689 //ɾ -#define NET_DVR_GET_POSITION 3698 // ȡλò -#define NET_DVR_SET_POSITION 3699 // ÷λò -#define NET_DVR_GET_CENTRALIZEDCTRL_CAPABILITIES 3700//ȡв -#define NET_DVR_GET_CENTRALIZEDCTRL 3701//ȡв -#define NET_DVR_SET_CENTRALIZEDCTRL 3702//üв -#define NET_DVR_GET_COMPASS_CAPABILITIES 3703//ȡ -#define NET_DVR_GET_VANDALPROOFALARM 3704//ȡƻ -#define NET_DVR_SET_VANDALPROOFALARM 3705//÷ƻ -#define NET_DVR_COMPASS_CALIBRATE_CTRL 3706//̽ƽӿ -#define NET_DVR_COMPASS_NORTH_CTRL 3707//ָƽӿ -#define NET_DVR_GET_AZIMUTHINFO 3708//ȡλǶȲ - - -#define NET_DVR_GET_SATELLITETIME 3709//ȡǶλ -#define NET_DVR_SET_SATELLITETIME 3710//Ƕλ -#define NET_DVR_GET_GISINFO 3711//ȡǰGISϢ -#define NET_DVR_GET_STREAMING_CAPABILITIES 3712//ȡƵ -#define NET_DVR_GET_REFRESHFRAME_CAPABILITIES 3713//ȡˢ֡ -#define NET_DVR_STREAMING_REFRESH_FRAME 3714//ȡԤǿˢ֡ -#define NET_DVR_FACECAPTURE_STATISTICS 3715//Աͳ -#define NET_DVR_GET_WIRELESSSERVER_CAPABILITIES 3716 //ȡȵ㹦Э -#define NET_DVR_GET_WIRELESSSERVER 3717 //ȡȵ㹦Э -#define NET_DVR_SET_WIRELESSSERVER 3718 //ȵ㹦Э -#define NET_DVR_GET_CONNECT_LIST_CAPABILITIES 3719 //ȡ豸бϢ -#define NET_DVR_GET_THSCREEN_CAPABILITIES 3720 //ȡʪЭ -#define NET_DVR_GET_THSCREEN 3721 //ȡʪЭ -#define NET_DVR_GET_EXTERNALDEVICE_CAPABILITIES 3722//ȡЭ -#define NET_DVR_GET_EXTERNALDEVICE 3723//ȡЭ -#define NET_DVR_SET_EXTERNALDEVICE 3724//Э -#define NET_DVR_GET_LEDDISPLAYINFO_CAPABILITIES 3725 //ȡLEDʾϢ -#define NET_DVR_SET_LEDDISPLAYINFO 3726 //LEDʾϢ -#define NET_DVR_GET_SUPPLEMENTLIGHT_CAPABILITIES 3727 //ȡòЭ (֧֣ʵ֣豸ڲ) -#define NET_DVR_GET_SUPPLEMENTLIGHT 3728 //ȡòЭ -#define NET_DVR_SET_SUPPLEMENTLIGHT 3729 //òЭ -#define NET_DVR_SET_THSCREEN 3730 //ʪЭ -#define NET_DVR_GET_LOWPOWER_CAPABILITIES 3731 //ȡ͹Э -#define NET_DVR_GET_LOWPOWER 3732 //ȡ͹Э -#define NET_DVR_SET_LOWPOWER 3733 //õ͹Э -#define NET_DVR_GET_ZOOMLINKAGE_CAPABILITIES 3734 //ȡ䱶Э -#define NET_DVR_GET_ZOOMLINKAGE 3735 //ȡ䱶Э -#define NET_DVR_SET_ZOOMLINKAGE 3736 //ñ䱶Э -#define NET_DVR_THSCREEN_TIMING 3737 //ʪ -#define NET_DVR_GET_OSD_BATTERY_POWER_CFG 3741 //ȡOSDصʾ -#define NET_DVR_SET_OSD_BATTERY_POWER_CFG 3742 //OSDصʾ -#define NET_DVR_GET_OSD_BATTERY_POWER_CFG_CAPABILITIES 3743//OSDصʾ -#define NET_DVR_GET_VANDALPROOFALARM_TRIGGER 3744 //ȡƻ -#define NET_DVR_SET_VANDALPROOFALARM_TRIGGER 3745 //÷ƻ -#define NET_DVR_GET_PANORAMAIMAGE_CAPABILITIES 3746 //ȡȫͼ -#define NET_DVR_GET_PANORAMAIMAGE 3747 //ȡȫͼЭ -#define NET_DVR_SET_PANORAMAIMAGE 3748 //ȫͼЭ -#define NET_DVR_GET_STREAMENCRYPTION 3749 //ȡ -#define NET_DVR_SET_STREAMENCRYPTION 3750 // -#define NET_DVR_GET_STREAMENCRYPTION_CAPABILITIES 3751 //ȡ -#define NET_DVR_GET_REVISE_GPS_CAPABILITIES 3752 //ȡУ׼GPSγ -#define NET_DVR_GET_REVISE_GPS 3753 //ȡУ׼GPSγ -#define NET_DVR_SET_REVISE_GPS 3754 //У׼GPSγ -#define NET_DVR_GET_PDC_RECOMMEND 3755 //ȡͳƱʾƼֵ -#define NET_DVR_REMOVE_FLASHSTORAGE 3756 // -#define NET_DVR_GET_COUNTING_CAPABILITIES 3757 //ȡͳ -#define NET_DVR_SET_SENSOR_ADJUSTMENT 3758 //Sensor ڲЭ -#define NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES 3759 //ȡSensor ڲЭ -#define NET_DVR_GET_WIRELESSSERVER_FULLVERSION_CFG 3760 //ȡwifiȵ() -#define NET_DVR_SET_WIRELESSSERVER_FULLVERSION_CFG 3761 //wifiȵ() -#define NET_DVR_GET_ONLINEUSER_INFO 3762 //ӻȡûϢ -#define NET_DVR_GET_SENSOR_ADJUSTMENT_INFO 3763 //ȡָsensorڲ -#define NET_DVR_SENSOR_RESET_CTRL 3764 //Sensor ڸλ - -#define NET_DVR_GET_POSTRADAR_CAPABILITIES 3765 //ȡ״ -#define NET_DVR_GET_POSTRADARSPEED_CFG 3766 //ȡ״ -#define NET_DVR_SET_POSTRADARSPEED_CFG 3767 //״ -#define NET_DVR_GET_POSTRADARSPEED_RECOM_CFG 3768 //ȡ״Ƽֵ -#define NET_DVR_GET_POSTRADARPARAM_CFG 3769 //ȡ״ -#define NET_DVR_SET_POSTRADARPARAM_CFG 3770 //״ -#define NET_DVR_GET_POSTRADARPARAM_RECOM_CFG 3771 //ȡ״Ƽֵ - -#define NET_DVR_GET_ENCRYPT_DEVICE_INFO 3772 //ȡ豸Ϣ -#define NET_DVR_GET_ANR_ARMING_HOST 3773 //ȡϢ -#define NET_DVR_GET_FIRMWARE_VERSION 3776 //GET firmware version -/********************************IPCFF****************************/ -#define NET_DVR_GET_FTP_CAPABILITIES 3782 //ȡftp -#define NET_DVR_GET_FTPUPLOAD_CFG 3783 //ȡftpϴϢ -#define NET_DVR_SET_FTPUPLOAD_CFG 3784 //ftpϴϢ -#define NET_DVR_GET_VEHICLE_INFORMATION 3785 //ȡϢ -#define NET_DVR_GET_DDNS_COUNTRY_ABILITY 3800//ȡ豸ֵ֧DDNSб -#define NET_DVR_GET_DEVICECFG_V50 3801 //ȡ豸 -#define NET_DVR_SET_DEVICECFG_V50 3802 //豸 -#define NET_DVR_SET_VEHICLE_RECOG_TASK_V50 3851 //ʶύV50չ -#define NET_DVR_GET_SMARTCALIBRATION_CAPABILITIES 3900// SmartΪ궨˳ߴ繦 -#define NET_DVR_GET_TEMPERATURE_TRIGGER 3903 //ȡ² -#define NET_DVR_SET_TEMPERATURE_TRIGGER 3904 //ò² - -#define NET_DVR_GET_SMARTCALIBRATION_CFG 3910 //ȡSmartΪ궨˳ߴ繦 -#define NET_DVR_SET_SMARTCALIBRATION_CFG 3911 //SmartΪ궨˳ߴ繦 -#define NET_DVR_POST_SETUP_CALIB 3912 //궨 -#define NET_DVR_SET_POS_INFO_OVERLAY 3913//PosϢӿ -#define NET_DVR_GET_POS_INFO_OVERLAY 3914//ȡPosϢӿ -#define NET_DVR_GET_CAMERA_WORK_MODE 3915 //ģʽ -#define NET_DVR_SET_CAMERA_WORK_MODE 3916 //ȡģʽ -#define NET_DVR_GET_RESOLUTION_SWITCH_CAPABILITIES 3917 //ȡֱģʽл -#define NET_DVR_GET_RESOLUTION_SWITCH 3918 //ȡֱģʽл -#define NET_DVR_SET_RESOLUTION_SWITCH 3919 //÷ֱģʽл -#define NET_DVR_GET_CONFIRM_MECHANISM_CAPABILITIES 3920 //ϴȷϻƿ -#define NET_DVR_CONFIRM_MECHANISM_CTRL 3921 //ϴȷϻƿ -#define NET_DVR_GET_VEHICLLE_RESULT_CAPABILITIES 3951 //ȡȡϢ -#define NET_DVR_GET_CALIB_CAPABILITIES 3952//ȡ궨 -#define NET_DVR_GET_POSINFO_OVERLAY_CAPABILITIES 3953//ȡȡPos -#define NET_SDK_FINDMEDICALFILE 3954 //ӰƼǻҽƲ¼ļ -#define NET_SDK_FINDMEDICALPICTURE 3955 //ӰƼǻҽƲͼƬļ -#define NET_DVR_SET_POSINFO_OVERLAY 3960//Pos -#define NET_DVR_GET_POSINFO_OVERLAY 3961//ȡPos -#define NET_DVR_GET_FACELIB_TRIGGER 3962 //ȡȶԿ -#define NET_DVR_SET_FACELIB_TRIGGER 3963 //ȶԿ -#define NET_DVR_GET_FACECONTRAST_TRIGGER 3965//ȡȶ -#define NET_DVR_SET_FACECONTRAST_TRIGGER 3966//ȶ -#define NET_DVR_GET_FACECONTRAST_SCHEDULE_CAPABILITIES 3967 //ȡȶԲʱ -#define NET_DVR_GET_FACECONTRAST_SCHEDULE 3968//ȡȶԲʱ -#define NET_DVR_SET_FACECONTRAST_SCHEDULE 3969//ȶԲʱ -#define NET_DVR_GET_FACELIB_SCHEDULE_CAPABILITIES 3970 //ȡȶԿIJʱ -#define NET_DVR_GET_VCA_VERSION_LIST 3973//ȡ㷨汾 -#define NET_DVR_GET_SETUP_CALIB 3974//ȡ궨 -#define NET_DVR_GET_PANORAMA_LINKAGE 3975//ȡץͼϴʹ -#define NET_DVR_SET_PANORAMA_LINKAGE 3976//ץͼϴʹ -#define NET_DVR_GET_FACELIB_SCHEDULE 3977 //ȡȶԿIJʱ -#define NET_DVR_SET_FACELIB_SCHEDULE 3978 //ȶԿIJʱ -#define NET_DVR_GET_SOFTWARE_SERVICE_CAPABILITIES 3980//ȡ -#define NET_DVR_GET_SOFTWARE_SERVICE 3981//ȡ -#define NET_DVR_SET_SOFTWARE_SERVICE 3982// -#define NET_DVR_GET_PREVIEW_MODE_CAPABILITIES 3983//ȡԤģʽ -#define NET_DVR_SET_EAGLE_FOCUS_GOTOSCENE 3984//ӥʽ۽תָijID -#define NET_DVR_EAGLE_FOCUS_SCENE_DEL 3985//ɾӥʽ۽궨ij -#define NET_DVR_GET_SAFETY_HELMET_TRIGGER 3986 //ȡȫñ -#define NET_DVR_SET_SAFETY_HELMET_TRIGGER 3987 //ðȫñ -#define NET_DVR_GET_SAFETY_HELMET_SCHEDULE_CAPABILITIES 3988 //ȡȫñⲼʱ -#define NET_DVR_GET_SAFETY_HELMET_SCHEDULE 3989//ȡȫñⲼʱ -#define NET_DVR_SET_SAFETY_HELMET_SCHEDULE 3990//ðȫñⲼʱ - -#define NET_DVR_GET_SIGN_ABNORMAL_TRIGGER 4150 //ȡ쳣 -#define NET_DVR_SET_SIGN_ABNORMAL_TRIGGER 4151 //쳣 - -#define NET_DVR_ONE_KEY_CONFIG_SAN_V50 4152 //һSAN(V50) -#define NET_DVR_GET_HDCFG_V50 4153 //ȡӲϢV50 -#define NET_DVR_SET_HDCFG_V50 4154 //ӲϢV50 -#define NET_DVR_GET_HDVOLUME_CFG 4155 //ȡӲ̾Ϣ -#define NET_DVR_SET_HDVOLUME_CFG 4156 //Ӳ̾Ϣ -#define NET_DVR_GET_POWER_SUPPLY_CABINET_TRIGGER 4157 //ȡ񹩵 -#define NET_DVR_SET_POWER_SUPPLY_CABINET_TRIGGER 4158 //û񹩵 -#define NET_DVR_GET_SENSOR_TRIGGER 4159 //ȡ -#define NET_DVR_SET_SENSOR_TRIGGER 4160 //ô -#define NET_DVR_GET_FACESNAP_TRIGGER 4161 //ȡץ -#define NET_DVR_SET_FACESNAP_TRIGGER 4162 //ץ -#define NET_DVR_GET_FACESNAP_SCHEDULE_CAPABILITIES 4163 //ȡץIJʱ -#define NET_DVR_GET_FACESNAP_SCHEDULE 4164 //ȡץIJʱ -#define NET_DVR_SET_FACESNAP_SCHEDULE 4165 //ץIJʱ - -#define NET_DVR_SET_SCREEN_SWITCH 4171 //л -#define NET_DVR_GET_BV_CALIB_PIC 4172 //ȡ豸ץȡͼƬ͸Ϣ -#define NET_DVR_GET_BV_CALIB_RESULT 4173 //ȡ˫Ŀα궨 -#define NET_DVR_GET_BV_HCORRECTION 4174 //ȡ˫Ŀ߶Ƚ -#define NET_DVR_DEL_BV_CALIB_PIC 4175 //ɾͼƬ -#define NET_DVR_GET_TV_SCREEN_CFG 4176 //ȡͣʱ -#define NET_DVR_SET_TV_SCREEN_CFG 4177 //õͣʱ -#define NET_DVR_ADJUST_BV_CALIB 4178 //˫Ŀ궨΢ -#define NET_DVR_GET_HUMAN_CALIB 4179 //ȡ궨 -#define NET_DVR_SET_HUMAN_CALIB 4180 //궨 -#define NET_DVR_GET_USERCFG_V51 4181 //ȡû -#define NET_DVR_SET_USERCFG_V51 4182 //û -#define NET_DVR_GET_SOFTIO_TRIGGER 4183 //ȡSoftIO -#define NET_DVR_SET_SOFTIO_TRIGGER 4184 //SoftIO -#define NET_DVR_GET_SOFTIO_SCHEDULE_CAPABILITIES 4185 //ȡSoftIOʱ -#define NET_DVR_GET_SOFTIO_SCHEDULE 4186 //ȡSoftIOʱ -#define NET_DVR_SET_SOFTIO_SCHEDULE 4187 //SoftIOʱ -#define NET_DVR_GET_HFPD_TRIGGER 4188 //ȡƵԱ -#define NET_DVR_SET_HFPD_TRIGGER 4189 //øƵԱ -#define NET_DVR_GET_HFPD_SCHEDULE_CAPABILITIES 4190 //ȡƵԱⲼʱ -#define NET_DVR_GET_HFPD_SCHEDULE 4191 //ȡƵԱⲼʱ -#define NET_DVR_SET_HFPD_SCHEDULE 4192 //øƵԱⲼʱ -#define NET_DVR_GET_ALARM_INFO 4193 //ȡ¼Ϣ -#define NET_DVR_GET_USERCFG_V52 4194 //ȡû -#define NET_DVR_SET_USERCFG_V52 4195 //û - -/********************************NVR_˲Ʒ****************************/ -#define NET_DVR_GET_MUTEX_FUNCTION 4353 //ȡܻϢ - -#define NET_DVR_GET_SINGLE_CHANNELINFO 4360 //ȡͨ -#define NET_DVR_GET_CHANNELINFO 4361 //ȡͨ -#define NET_DVR_CHECK_LOGIN_PASSWORDCFG 4362 //û¼У -#define NET_DVR_GET_SINGLE_SECURITY_QUESTION_CFG 4363 //ȡ豸ȫ -#define NET_DVR_SET_SINGLE_SECURITY_QUESTION_CFG 4364 //õ豸ȫ -#define NET_DVR_GET_SECURITY_QUESTION_CFG 4365 //ȡ豸ȫ -#define NET_DVR_SET_SECURITY_QUESTION_CFG 4366 //豸ȫ -#define NET_DVR_GET_ONLINEUSERLIST_SC 4367 //Զ̻ȡ½ûϢӣ - -#define NET_DVR_GET_BLOCKLIST_FACECONTRAST_TRIGGER 4368 //ȡֹȶ -#define NET_DVR_SET_BLOCKLIST_FACECONTRAST_TRIGGER 4369 //ýֹȶ -#define NET_DVR_GET_ALLOWLIST_FACECONTRAST_TRIGGER 4370 //ȡȶ -#define NET_DVR_SET_ALLOWLIST_FACECONTRAST_TRIGGER 4371 //ȶ -#define NET_DVR_GET_BLOCKLIST_FACECONTRAST_SCHEDULE_CAPABILITIES 4372 //ȡֹȶԲʱ -#define NET_DVR_GET_BLOCKLIST_FACECONTRAST_SCHEDULE 4373 //ȡֹȶԲʱ -#define NET_DVR_SET_BLOCKLIST_FACECONTRAST_SCHEDULE 4374 //ýֹȶԲʱ -#define NET_DVR_GET_ALLOWLIST_FACECONTRAST_SCHEDULE_CAPABILITIES 4375 //ȡȶԲʱ -#define NET_DVR_GET_ALLOWLIST_FACECONTRAST_SCHEDULE 4376 //ȡȶԲʱ -#define NET_DVR_SET_ALLOWLIST_FACECONTRAST_SCHEDULE 4377 //ȶԲʱ - -#define NET_DVR_GET_HUMAN_RECOGNITION_SCHEDULE_CAPABILITIES 4378 //ȡʶ𲼷ʱ -#define NET_DVR_GET_HUMAN_RECOGNITION_SCHEDULE 4379 //ȡʶ𲼷ʱ -#define NET_DVR_SET_HUMAN_RECOGNITION_SCHEDULE 4380 //ʶ𲼷ʱ -#define NET_DVR_GET_HUMAN_RECOGNITION_TRIGGER 4381 //ȡʶ -#define NET_DVR_SET_HUMAN_RECOGNITION_TRIGGER 4382 //ʶ -#define NET_DVR_GET_GBT28181_AUDIO_OUTPUT_CFG 4383 //ȡGBT28181Э豸ԽϢ -#define NET_DVR_SET_GBT28181_AUDIO_OUTPUT_CFG 4384 //GBT28181Э豸ԽϢ - -#define NET_DVR_GET_STUDENTS_STOODUP_TRIGGER 4386 //ȡѧ -#define NET_DVR_SET_STUDENTS_STOODUP_TRIGGER 4387 //ѧ -#define NET_DVR_GET_FRAMES_PEOPLE_COUNTING_SCHEDULE_CAPABILITIES 4388 //ȡͳƲʱ -#define NET_DVR_GET_FRAMES_PEOPLE_COUNTING_SCHEDULE 4389 //ȡͳƲʱ -#define NET_DVR_SET_FRAMES_PEOPLE_COUNTING_SCHEDULE 4390 //ͳƲʱ -#define NET_DVR_GET_FRAMES_PEOPLE_COUNTING_TRIGGER 4391 //ȡͳ -#define NET_DVR_SET_FRAMES_PEOPLE_COUNTING_TRIGGER 4392 //ͳ - -#define NET_DVR_GET_PERSONDENSITY_TRIGGER 4393 //ȡԱܶȼ -#define NET_DVR_SET_PERSONDENSITY_TRIGGER 4394 //Աܶȼ -#define NET_DVR_GET_PERSONDENSITY_SCHEDULE_CAPABILITIES 4395 //ȡԱܶȼIJʱ -#define NET_DVR_GET_PERSONDENSITY_SCHEDULE 4396 //ȡԱܶȼIJʱ -#define NET_DVR_SET_PERSONDENSITY_SCHEDULE 4397 //ԱܶȼIJʱ - -#define NET_DVR_GET_STUDENTS_STOODUP_SCHEDULE_CAPABILITIES 4398 //ȡѧⲼʱ -#define NET_DVR_GET_STUDENTS_STOODUP_SCHEDULE 4399 //ȡѧⲼʱ -#define NET_DVR_SET_STUDENTS_STOODUP_SCHEDULE 4400 //ѧⲼʱ - -#define NET_DVR_SET_FACE_THERMOMETRY_TRIGGER 4401 // -#define NET_DVR_GET_FACE_THERMOMETRY_SCHEDULE_CAPABILITIES 4402 //ȡ²ʱ -#define NET_DVR_GET_FACE_THERMOMETRY_SCHEDULE 4403 //ȡ²ʱ -#define NET_DVR_SET_FACE_THERMOMETRY_SCHEDULE 4404 //²ʱ -#define NET_DVR_GET_FACE_THERMOMETRY_TRIGGER 4405 //ȡ -#define NET_DVR_GET_PERSONQUEUE_TRIGGER 4406 //ȡԱŶӼ -#define NET_DVR_SET_PERSONQUEUE_TRIGGER 4407 //ԱŶӼ -#define NET_DVR_GET_PERSONQUEUE_SCHEDULE_CAPABILITIES 4408 //ȡԱŶӼIJʱ -#define NET_DVR_GET_PERSONQUEUE_SCHEDULE 4409 //ȡԱŶӼIJʱ -#define NET_DVR_SET_PERSONQUEUE_SCHEDULE 4410 //ԱŶӼIJʱ -#define NET_DVR_SET_START_VIDEOAUDIO 4411 //NVRƵ(豸Բ⹦) - - -/********************************ʶ****************************/ -#define NET_DVR_GET_FACESNAPCFG 5001 //ȡץIJ -#define NET_DVR_SET_FACESNAPCFG 5002 //ץIJ -#define NET_DVR_GET_DEVACCESS_CFG 5005 //ȡ豸 -#define NET_DVR_SET_DEVACCESS_CFG 5006 //ý豸 -#define NET_DVR_GET_SAVE_PATH_CFG 5007 //ȡ洢Ϣ -#define NET_DVR_SET_SAVE_PATH_CFG 5008 //ô洢Ϣ -#define NET_VCA_GET_RULECFG_V41 5011 //ȡ쳣Ϊ(չ) -#define NET_VCA_SET_RULECFG_V41 5012 //쳣Ϊ(չ) -#define NET_DVR_GET_AID_RULECFG_V41 5013 //ȡͨ¼ -#define NET_DVR_SET_AID_RULECFG_V41 5014 //ýͨ¼ -#define NET_DVR_GET_TPS_RULECFG_V41 5015 //ȡͨͳƹ(չ) -#define NET_DVR_SET_TPS_RULECFG_V41 5016 //ýͨͳƹ(չ) -#define NET_VCA_GET_FACEDETECT_RULECFG_V41 5017 //ȡATM(չ) -#define NET_VCA_SET_FACEDETECT_RULECFG_V41 5018 //ATM(չ) -#define NET_DVR_GET_PDC_RULECFG_V41 5019 //ͳƹ(չ) -#define NET_DVR_SET_PDC_RULECFG_V41 5020 //ȡͳƹ(չ) -#define NET_DVR_GET_TRIAL_VERSION_CFG 5021 //ȡðϢ -#define NET_DVR_GET_VCA_CTRLINFO_CFG 5022 //ȡܿƲ -#define NET_DVR_SET_VCA_CTRLINFO_CFG 5023 //ܿƲ -#define NET_DVR_SYN_CHANNEL_NAME 5024 //ͬͨ -#define NET_DVR_GET_RESET_COUNTER 5025 //ȡͳͨͳƣ -#define NET_DVR_SET_RESET_COUNTER 5026 //ͳͨͳƣ -#define NET_DVR_GET_OBJECT_COLOR 5027 //ȡɫ -#define NET_DVR_SET_OBJECT_COLOR 5028 //ɫ -#define NET_DVR_GET_AUX_AREA 5029 //ȡ -#define NET_DVR_SET_AUX_AREA 5030 //ø -#define NET_DVR_GET_CHAN_WORKMODE 5031 //ȡͨģʽ -#define NET_DVR_SET_CHAN_WORKMODE 5032 //ͨģʽ -#define NET_DVR_GET_SLAVE_CHANNEL 5033 //ȡͨ -#define NET_DVR_SET_SLAVE_CHANNEL 5034 //ôͨ -#define NET_DVR_GET_VQD_EVENT_RULE 5035 //ȡƵ¼ -#define NET_DVR_SET_VQD_EVENT_RULE 5036 //Ƶ¼ -#define NET_DVR_GET_BASELINE_SCENE 5037 //ȡ׼ -#define NET_DVR_SET_BASELINE_SCENE 5038 //û׼ -#define NET_DVR_CONTROL_BASELINE_SCENE 5039 //׼ -#define NET_DVR_SET_VCA_DETION_CFG 5040 //ƶ -#define NET_DVR_GET_VCA_DETION_CFG 5041 //ȡƶ -#define NET_DVR_GET_STREAM_ATTACHINFO_CFG 5042 //ȡϢ -#define NET_DVR_SET_STREAM_ATTACHINFO_CFG 5043 //Ϣ - -#define NET_DVR_GET_BV_CALIB_TYPE 5044 //ȡ˫Ŀ궨 -#define NET_DVR_CONTROL_BV_SAMPLE_CALIB 5045 //˫Ŀ궨 -#define NET_DVR_GET_BV_SAMPLE_CALIB_CFG 5046 //ȡ˫Ŀ궨 -#define NET_DVR_GET_RULECFG_V42 5049 //ȡ쳣Ϊ(֧16չ) -#define NET_DVR_SET_RULECFG_V42 5050 //쳣Ϊ(֧16չ) -#define NET_DVR_SET_VCA_DETION_CFG_V40 5051 //ƶ -#define NET_DVR_GET_VCA_DETION_CFG_V40 5052 //ȡƶ -#define NET_DVR_SET_FLASH_CFG 5110 //дݵFlash ʹ -/********************************ʶ end****************************/ - -//2014-12-03 -#define NET_DVR_GET_T1TEST_CFG 5053 //߲ýӿڣȡ -#define NET_DVR_SET_T1TEST_CFG 5054 ////߲ýӿڣã - -/********************************ITS****************************/ -#define NET_ITS_GET_OVERLAP_CFG_V50 5055 //ȡַӲչ -#define NET_ITS_SET_OVERLAP_CFG_V50 5056 //ַӲչ - -#define NET_DVR_GET_PARKLAMP_STATE 5057 //ȡͣźŵ״̬Ϣ -#define NET_DVR_GET_CLOUDSTORAGE_CFG 5058 //ȡƴ洢ò -#define NET_DVR_SET_CLOUDSTORAGE_CFG 5059 //ƴ洢ò - -#define NET_ITS_GET_BASE_INFO 5060 //ȡն˻Ϣ -#define NET_DVR_GET_SENSOR_INFO 5061 //Ϣѯ -#define NET_DVR_SET_SENSOR_SWITCH 5062 //Զ̿ -#define NET_ITS_GET_IMGMERGE_CFG 5063 //ȡͼƬϳò -#define NET_ITS_SET_IMGMERGE_CFG 5064 //ͼƬϳò -#define NET_ITS_GET_UPLOAD_CFG 5065 //ȡϴ -#define NET_ITS_SET_UPLOAD_CFG 5066 //ϴ -#define NET_DVR_GET_SENSOR_PORT_CAPABILITIES 5067 //ȡ -#define NET_ITS_GET_WORKSTATE 5069 //ȡն˹״̬ -#define NET_ITS_GET_IPC_CHAN_CFG 5070 //ȡͨIPCϢ -#define NET_ITS_SET_IPC_CHAN_CFG 5071 //ͨIPCϢ -#define NET_ITS_GET_OVERLAP_CFG 5072 //ȡַӲ -#define NET_ITS_SET_OVERLAP_CFG 5073 //ַӲ -#define NET_DVR_GET_TRIGGEREX_CFG 5074 //ȡITCչ -#define NET_DVR_SET_TRIGGEREX_CFG 5075 //ITCչ -#define NET_ITS_GET_ROAD_INFO 5076 //ȡ·Ϣ - -#define NET_ITS_REMOTE_DEVICE_CONTROL 5077//Զ豸 -#define NET_ITS_GET_GATEIPC_CHAN_CFG 5078//ȡڲ -#define NET_ITS_SET_GATEIPC_CHAN_CFG 5079//óڲ -#define NET_ITS_TRANSCHAN_START 5080//ͬݷ -#define NET_ITS_GET_ECTWORKSTATE 5081//ȡն˹״̬ -#define NET_ITS_GET_ECT_CHAN_INFO 5082//ȡնͨ״̬ -#define NET_DVR_GET_HEATMAP_RESULT 5083//ȶͼݲ -#define NET_DVR_SET_ITS_EXDEVCFG 5084 //ITS豸Ϣ -#define NET_DVR_GET_ITS_EXDEVCFG 5085 //ȡITS豸Ϣ -#define NET_DVR_GET_ITS_EXDEVSTATUS 5086 //ȡITS豸Ϣ -#define NET_DVR_SET_ITS_ENDEVCMD 5087 //ITSն˳ڿ -#define NET_DVR_SET_ENISSUED_DATADEL 5088 //ITSն˳ڿ -#define NET_DVR_GET_PDC_RESULT 5089//ݲѯ 2014-03-21 -#define NET_ITS_GET_LAMP_CTRLCFG 5090 //ȡõƲ -#define NET_ITS_SET_LAMP_CTRLCFG 5091 //õƲ -#define NET_ITS_GET_PARKSPACE_ATTRIBUTE_CFG 5092 //ȡ⳵λ -#define NET_ITS_SET_PARKSPACE_ATTRIBUTE_CFG 5093 //⳵λ -#define NET_ITS_SET_LAMP_EXTERNAL_CFG 5095 //ò -#define NET_ITS_SET_COMPEL_CAPTURE 5096 //óλǿץͼ -#define NET_DVR_SET_TIMESIGN_CFG 5097 //չУʱԶ -#define NET_DVR_GET_TIMESIGN_CFG 5098 //ȡչУʱԶ -#define NET_DVR_GET_SIGNALLAMP_STATUS 5099 //źŵƼ -/********************************ITS end****************************/ - -#define NET_DVR_GET_MONITOR_PLAN_VQD 5100 //ӻȡϷƻ -#define NET_DVR_GET_MONITORID_VQD 5101 //ӻȡӦƻڵIJϢ -#define NET_DVR_SET_MONITOR_INFO 5102 //üƻڵIJϢ -#define NET_DVR_DEL_MONITOR_PLAN_VQD 5103 //ɾƻ -#define NET_DVR_GET_MONITOR_VQD_STATUS 5104 //ƽ̨ѯϷ״̬ -#define NET_DVR_GET_RECORD_INFO 5105 //ȡԴͼƬѯ -#define NET_DVR_GET_MONITOR_VQDCFG 5106 //ȡIJϢ -#define NET_DVR_SET_MONITOR_VQDCFG 5107 //÷IJϢ -#define NET_DVR_SET_MONITOR_PLAN_VQDCFG 5108 //ùƻ(ļƻ) - -#define NET_DVR_SCENE_CHANGE_UPDATE 5109 //ݸ - -#define NET_DVR_GET_CALIBRATE_POINT 5153 //һתǹ豸 ⲿ ߴ벻ʵֹ֣ͻύߣ/*************************ܶೡ********************************/ -#define NET_DVR_GET_SCENE_CFG 5201 //ȡϢ -#define NET_DVR_SET_SCENE_CFG 5202 //óϢ -#define NET_DVR_GET_SCENE_REFERENCE_REGION 5203 //ȡο -#define NET_DVR_SET_SCENE_REFERENCE_REGION 5204 //òο -#define NET_DVR_GET_SCENE_CALIBRATION 5205 //ȡ궨Ϣ -#define NET_DVR_SET_SCENE_CALIBRATION 5206 //ñ궨Ϣ -#define NET_DVR_GET_SCENE_MASK_REGION 5207 //ȡ -#define NET_DVR_SET_SCENE_MASK_REGION 5208 // -#define NET_DVR_GET_SCENE_LANECFG 5209 //ȡ -#define NET_DVR_SET_SCENE_LANECFG 5210 //ó -#define NET_DVR_GET_SCENE_AID_RULECFG 5211 //ȡͨ¼ -#define NET_DVR_SET_SCENE_AID_RULECFG 5212 //ýͨ¼ -#define NET_DVR_GET_SCENE_TPS_RULECFG 5213 //ȡͨͳƹ -#define NET_DVR_SET_SCENE_TPS_RULECFG 5214 //ýͨͳƹ -#define NET_DVR_GET_SCENE_TIME_CFG 5215 //ȡͨijʱ -#define NET_DVR_SET_SCENE_TIME_CFG 5216 //ͨijʱ -#define NET_DVR_GET_FORENSICS_MODE 5217 //ȡȡ֤ʽ -#define NET_DVR_SET_FORENSICS_MODE 5218 //ȡ֤ʽ -#define NET_DVR_FORCESTOP_FORENSICS_CTRL 5219 //ǿֹͣȡ֤ -#define NET_DVR_GET_ALARM_PROCESS_CFG 5220 //ȡ -#define NET_DVR_SET_ALARM_PROCESS_CFG 5221 //ñ -#define NET_DVR_GET_BLOCKLIST_ALARM_INFO 5222 //ȡ -#define NET_DVR_GET_STORAGE_RESOURCE_CFG 5225 //ȡ洢Դ -#define NET_DVR_SET_STORAGE_RESOURCE_CFG 5226 //ô洢Դ -#define NET_DVR_DEL_BLOCKLIST_ALARM_RECORD 5227 //Զɾ¼ -#define NET_DVR_SET_BLOCKLIST_GROUP_INFO 5229 //Զ̷б -#define NET_DVR_DEL_BLOCKLIST_GROUP_INFO 5230 //Զɾб -#define NET_DVR_GET_BLOCKLIST_GROUP_INFO 5231 //Զ̻ȡȫб -#define NET_DVR_SET_BLOCKLIST_GROUP_RECORD_CFG 5232 //¼ -#define NET_DVR_GET_BLOCKLIST_GROUP_RECORD_CFG 5234 //Զ̻ȡ¼ -#define NET_DVR_DEL_BLOCKLIST_GROUP_RECORD_CFG 5235 //Զɾ¼ -#define NET_DVR_GET_AREA_MONITOR_CFG 5236 //ȡ򲼷 -#define NET_DVR_SET_AREA_MONITOR_CFG 5237 //򲼷 -#define NET_DVR_DEL_AREA_MONITOR_CFG 5238 //ɾ򲼷 -#define NET_DVR_RETRIEVAL_SNAP_RECORD 5240 //ץĿ -#define NET_DVR_GET_ALARMLIST 5241 //ȡб -#define NET_DVR_DETECT_IMAGE 5242 //ͼƬ -#define NET_DVR_GET_SNAP_RECORD 5243 //ȡץļ¼ -#define NET_DVR_DEL_SNAP_RECORD 5244 //ɾץļ¼ -#define NET_DVR_GET_FACE_RECORD 5245 //Զ̻ȡ¼б -#define NET_DVR_SET_FACE_RECORD 5246 //¼ -#define NET_DVR_DEL_FACE_RECORD 5247 //ɾ¼ -#define NET_DVR_GET_FACE_DATABASE 5248 //ȡò -#define NET_DVR_SET_FACE_DATABASE 5249 //ò -#define NET_DVR_DEL_FACE_DATABASE 5250 //ɾ -#define NET_DVR_RETRIEVAL_FACE_DATABASE 5251 // -#define NET_DVR_SET_BLOCKLIST_REL_DEV_CFG 5252 //豸 -#define NET_DVR_DEL_BLOCKLIST_REL_DEV 5253 //ɾ 豸Ϣ -/*************************ܶೡend*****************************/ - -#define NET_DVR_GET_DISK_RAID_INFO 6001 //ȡRaidϢ -#define NET_DVR_SET_DISK_RAID_INFO 6002 //ôRaidϢ - -#define NET_DVR_GET_DVR_SYNCHRONOUS_IPC 6005 //ȡǷΪǰIPCͬ豸 -#define NET_DVR_SET_DVR_SYNCHRONOUS_IPC 6006 //ãǷΪǰIPCͬ豸 - -#define NET_DVR_SET_DVR_IPC_PASSWD 6008 //ãIPCû -#define NET_DVR_GET_DEVICE_NET_USING_INFO 6009 //ȡǰ豸Դʹ - -#define NET_DVR_SET_DVR_IPC_NET 6012 //ãǰIPCַ - -#define NET_DVR_GET_RECORD_CHANNEL_INFO 6013 //ȡ¼ͨϢ -#define NET_DVR_SET_RECORD_CHANNEL_INFO 6014 //ã¼ͨϢ - - -#define NET_DVR_MOUNT_DISK 6015 // ش -#define NET_DVR_UNMOUNT_DISK 6016 // жش - -// CVR -#define NET_DVR_GET_STREAM_SRC_INFO 6017 //ȡԴϢ -#define NET_DVR_SET_STREAM_SRC_INFO 6018 //ãԴϢ -#define NET_DVR_GET_STREAM_RECORD_INFO 6019 //ȡ¼Ϣ -#define NET_DVR_SET_STREAM_RECORD_INFO 6020 //ã¼Ϣ -#define NET_DVR_GET_STREAM_RECORD_STATUS 6021 //ȡ¼״̬ -#define NET_DVR_SET_STREAM_RECORD_STATUS 6022 //ã¼״̬ -#define NET_DVR_GET_STREAM_INFO 6023 //ȡӵIDϢ -#define NET_DVR_GET_STREAM_SRC_INFO_V40 6024 //ȡԴϢ -#define NET_DVR_SET_STREAM_SRC_INFO_V40 6025 //ãԴϢ -#define NET_DVR_GET_RELOCATE_INFO 6026 //ȡN+0ģʽضϢ -#define NET_DVR_START_GOP_INFO_PASSBACK 6032 //Ϣ -#define NET_DVR_GET_CHANS_RECORD_STATUS_CFG 6035 //ȡͨ¼״̬Ϣ -#define NET_DVR_SET_CHANS_RECORD_STATUS_CFG 6036 //ͨ¼״̬Ϣ -//NVR96xx -#define NET_DVR_GET_IP_ALARM_GROUP_NUM 6100 //ȡIPͨ -#define NET_DVR_GET_IP_ALARM_IN 6101 //ȡIPͨϢ -#define NET_DVR_GET_IP_ALARM_OUT 6102 //ȡIPͨϢ - -//9000 v2.2 -#define NET_DVR_GET_FTPCFG_SECOND 6103 //ȡͼƬϴFTP -#define NET_DVR_SET_FTPCFG_SECOND 6104 //ͼƬϴFTP - -#define NET_DVR_GET_DEFAULT_VIDEO_EFFECT 6105 // ȡƵЧĬֵ -#define NET_DVR_SET_VIDEO_EFFECT 6106 // ͨƵͼ -#define NET_DVR_DEL_INVALID_DISK 6107 // ɾЧ - -#define NET_DVR_GET_DRAWFRAME_DISK_QUOTA_CFG 6109 //ȡ֡ͨ -#define NET_DVR_SET_DRAWFRAME_DISK_QUOTA_CFG 6110 //ó֡ͨ - -#define NET_DVR_GET_NAT_CFG 6111 //ȡNATӳ -#define NET_DVR_SET_NAT_CFG 6112 //NATӳ -#define NET_DVR_GET_AES_KEY 6113 //ȡ豸AESԿ -#define NET_DVR_GET_POE_CFG 6114 //ȡPOE -#define NET_DVR_SET_POE_CFG 6115 //POE -#define NET_DVR_GET_CUSTOM_PRO_CFG 6116 //ȡԶЭ -#define NET_DVR_SET_CUSTOM_PRO_CFG 6117 //ԶЭ -#define NET_DVR_GET_STREAM_CABAC 6118 //ȡѹѡ -#define NET_DVR_SET_STREAM_CABAC 6119 //ѹѡ -#define NET_DVR_GET_ESATA_MINISAS_USAGE_CFG 6120 //ȡeSATAminiSAS; -#define NET_DVR_SET_ESATA_MINISAS_USAGE_CFG 6121 //eSATAminiSAS; - -#define NET_DVR_GET_HDCFG_V40 6122 //ȡӲϢ -#define NET_DVR_SET_HDCFG_V40 6123 //ӲϢ -#define NET_DVR_GET_POE_CHANNEL_ADD_MODE 6124 //ȡPOEͨӷʽ -#define NET_DVR_SET_POE_CHANNEL_ADD_MODE 6125 //POEͨӷʽ -#define NET_DVR_GET_DIGITAL_CHANNEL_STATE 6126 //ȡ豸ͨ״̬ -#define NET_DVR_GET_BONJOUR_CFG 6127 // ȡBonjourϢ -#define NET_DVR_SET_BONJOUR_CFG 6128 // BonjourϢ - - -#define NET_DVR_GET_SOCKS_CFG 6130//ȡSOCKSϢ -#define NET_DVR_SET_SOCKS_CFG 6131//SOCKSϢ - -#define NET_DVR_GET_QOS_CFG 6132//ȡQoSϢ -#define NET_DVR_SET_QOS_CFG 6133//QoSϢ - -#define NET_DVR_GET_HTTPS_CFG 6134//ȡHTTPSϢ -#define NET_DVR_SET_HTTPS_CFG 6135//HTTPSϢ - -#define NET_DVR_GET_WD1_CFG 6136//Զ̻ȡWD1ʹܿ -#define NET_DVR_SET_WD1_CFG 6137//ԶWD1ʹܿ - -#define NET_DVR_CREATE_CERT 6138//֤ -#define NET_DVR_DELETE_CERT 6139//ɾ֤ - - -#define NET_DVR_GET_RECORD_LOCK_PERCENTAGE 6140 //ȡ¼ -#define NET_DVR_SET_RECORD_LOCK_PERCENTAGE 6141 //¼ - -#define NET_DVR_CMD_TRIGGER_PERIOD_RECORD 6144 //ⲿָʱ¼ -#define NET_DVR_UPLOAD_CERT 6145 //ϴ֤ -#define NET_DVR_DOWNLOAD_CERT 6146 //֤ -#define NET_DVR_GET_CERT 6147 //ȡ֤ - -#define NET_DVR_GET_POS_FILTER_CFG 6148 //ȡPOS˹ -#define NET_DVR_SET_POS_FILTER_CFG 6149 //POS˹ -#define NET_DVR_GET_CONNECT_POS_CFG 6150 //ȡDVRPOSӷʽ -#define NET_DVR_SET_CONNECT_POS_CFG 6151 //DVRPOSӷʽ -#define NET_DVR_GET_CHAN_FILTER_CFG 6152 //ȡͨϢ -#define NET_DVR_SET_CHAN_FILTER_CFG 6153 //ùͨϢ - - -#define NET_DVR_GET_FTPCFG_V40 6162 //ȡFTPϢ -#define NET_DVR_SET_FTPCFG_V40 6163 //FTPϢ - -#define NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION 6164 //ȡ¼ֲ -#define NET_DVR_GET_ACCESS_DEVICE_CHANNEL_INFO 6165 //ȡ豸ͨϢ -#define NET_DVR_GET_PREVIEW_SWITCH_CFG 6166 //ȡ豸Ԥл -#define NET_DVR_SET_PREVIEW_SWITCH_CFG 6167 //豸Ԥл - -//Netra3.0.0 -#define NET_DVR_GET_N_PLUS_ONE_WORK_MODE 6168 //ȡN+1ģʽ -#define NET_DVR_SET_N_PLUS_ONE_WORK_MODE 6169 //N+1ģʽ - -#define NET_DVR_GET_HD_STATUS 6170 //ȡӲ״̬ -#define NET_DVR_SET_HD_STATUS 6171 //Ӳ״̬ - -#define NET_DVR_IMPORT_IPC_CFG_FILE 6172 //IPCļ -#define NET_DVR_EXPORT_IPC_CFG_FILE 6173 //IPCļ -#define NET_DVR_UPGRADE_IPC 6174 //IPͨ - -#define NET_DVR_GET_RAID_BACKGROUND_TASK_SPEED 6175 //ȡRAID̨ٶ -#define NET_DVR_SET_RAID_BACKGROUND_TASK_SPEED 6176 //RAID̨ٶ - -//marvell 256·NVR -#define NET_DVR_GET_EXCEPTIONCFG_V40 6177 //ȡ쳣 -#define NET_DVR_SET_EXCEPTIONCFG_V40 6178 //쳣 -#define NET_DVR_GET_PICCFG_V40 6179 //ȡͼ ֱ֧䳤 NetSDK_ -#define NET_DVR_SET_PICCFG_V40 6180 //ͼ ֱ֧䳤 -#define NET_DVR_GET_ALARMINCFG_V40 6181 //ȡֱ֧䳤 -#define NET_DVR_SET_ALARMINCFG_V40 6182 //ȡֱ֧䳤 -#define NET_DVR_GET_IPALARMINCFG_V40 6183 //ȡIPϢ -#define NET_DVR_GET_IPALARMOUTCFG_V40 6185 //ȡIPϢ -#define NET_DVR_GET_USERCFG_V40 6187 //ȡû -#define NET_DVR_SET_USERCFG_V40 6188 //û -#define NET_DVR_GET_WORK_STATUS 6189 //ȡ豸״̬ -#define NET_DVR_GET_JPEG_CAPTURE_CFG_V40 6190 //ȡDVRץͼ -#define NET_DVR_SET_JPEG_CAPTURE_CFG_V40 6191 //DVRץͼ -#define NET_DVR_GET_HDGROUP_CFG_V40 6192 //ȡò -#define NET_DVR_SET_HDGROUP_CFG_V40 6193 //ò -#define NET_DVR_GET_SMD_HOLIDAY_HANDLE 6194 //ȡܼռƻ -#define NET_DVR_SET_SMD_HOLIDAY_HANDLE 6195 //üܼռƻ -#define NET_DVR_GET_PIC_MODEL_CFG 6196 //ȡͼƬģò -#define NET_DVR_SET_PIC_MODEL_CFG 6197 //ͼƬģò -#define NET_DVR_START_LOCAL_MOUSE_EVENT 6198 //豸¼¼ -#define NET_DVR_START_SIMULARE_MOUSE_EVENT 6199 //Զģ¼ -#define NET_DVR_GET_WORK_STATUS_V50 6200 //ȡ豸״̬V50 - -//91ϵHD-SDIDVR -#define NET_DVR_GET_ACCESS_CAMERA_INFO 6201 // ȡǰϢ -#define NET_DVR_SET_ACCESS_CAMERA_INFO 6202 // ǰϢ -#define NET_DVR_PULL_DISK 6203 // ȫ -#define NET_DVR_SCAN_RAID 6204 // ɨ -// CVR 2.0.X -#define NET_DVR_GET_USER_RIGHT_CFG 6210 // ȡûȨ -#define NET_DVR_SET_USER_RIGHT_CFG 6211 // ûȨ - -#define NET_DVR_ONE_KEY_CONFIG 6212 // һCVR -#define NET_DVR_RESTART_SERVICE 6213 // CVR - -#define NET_DVR_GET_MAX_MACHINE_NUM_CFG 6214 // ȡ -#define NET_DVR_SET_MAX_MACHINE_NUM_CFG 6215 // ñ - -#define NET_DVR_ADD_DEVICE 6216 //N+1ģʽ豸 -#define NET_DVR_DEL_DEVICE 6217 //N+1ģʽɾ豸 - -#define NET_DVR_GET_DATA_CALLBACK_CFG 6218 // ȡݻǨ״̬ -#define NET_DVR_SET_DATA_CALLBACK_CFG 6219 // ݻǨ״̬ - -#define NET_DVR_CLONE_LUN 6220 //¡LUN -#define NET_DVR_EXPAND_LUN 6221 //չLUN - -#define NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO 6222 //ȡN+1豸Ϣ -#define NET_DVR_MODIFY_DVR_NET_DISK 6223 //޸DVR -//#define NET_DVR_DEL_DVR_NET_DISK 6224 //ɾDVR - -#define NET_DVR_CREATE_NAS 6225 //NAS -#define NET_DVR_DELETE_NAS 6226 //ɾNAS - -#define NET_DVR_OPEN_ISCSI 6227 //iSCSI -#define NET_DVR_CLOSE_ISCSI 6228 //رiSCSI - -#define NET_DVR_GET_FC 6229 //ȡϢ -#define NET_DVR_OPEN_FC 6230 //FC -#define NET_DVR_CLOSE_FC 6231 //رFC -#define NET_DVR_ONE_KEY_CONFIG_SAN 6232 // һSAN, һCVR߼һ - -//CVR2.3.2 -#define NET_DVR_RECORD_CHECK 6233 //¼Լ -#define NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL 6234 //ֶ¼ش -#define NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL 6235 //ȡֶ¼ش -#define NET_DVR_RECORD_PASSBACK_TASK_MANUAL_CTRL 6236 //ֶ¼ش -#define NET_DVR_DEL_RECORD_PASSBACK_TASK_MANUAL 6237 //ɾֶ¼ش -#define NET_DVR_GET_RECORD_PASSBACK_PLAN_CFG 6238 //ȡ¼شƻ -#define NET_DVR_SET_RECORD_PASSBACK_PLAN_CFG 6239 //¼شƻ -#define NET_DVR_GET_DEV_STORAGE_CFG 6240 //ȡ豸洢Ϣ -#define NET_DVR_GET_ONLINE_USER_CFG 6241 //ȡû -#define NET_DVR_GET_RECORD_SEGMENT_CFG 6242 //ȡ¼ - -#define NET_DVR_GET_REC_PASSBACK_TASK_EXECUTABLE 6243 //ѯֶ¼شִ -#define NET_DVR_GET_STREAM_MEDIA_CFG 6244 //ȡýش¼ãIDʽ -#define NET_DVR_SET_STREAM_MEDIA_CFG 6245 //ýش¼ãIDʽ -#define NET_DVR_GET_USERCFG_V50 6246 //ȡûV50 -#define NET_DVR_SET_USERCFG_V50 6247 //ûV50 - -#define NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG_CAP 6248 //ȡCVRشܻ -#define NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG 6249 //ȡCVRشܻ -#define NET_DVR_SET_RECORD_PASSBACK_BASIC_CFG 6250 //CVRشܻ -#define NET_DVR_ONE_KEY_CONFIG_V50 6251 // һCVR(V50) -#define NET_DVR_GET_RACM_CAP 6252 //ȡ洢RACM -#define NET_DVR_GET_THUMBNAILS 6253 //ȡͼĬ¼ͼ(֧ID) -#define NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL_V50 6254 //ֶ¼شV50ID -#define NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG_CAP 6255 //ȡCVRشʷ¼ƻ -#define NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG 6256 //ȡCVRشʷ¼ƻ -#define NET_DVR_SET_RECORD_PASSBACK_HISTORY_PLAN_CFG 6257 //CVRشʷ¼ƻ -#define NET_DVR_ONE_KEY_CONFIG_V51 6258 // һCVR(V51) - - -#define NET_DVR_GET_RECORD_PACK 6301 //ȡ¼ -#define NET_DVR_SET_RECORD_PACK 6302 //¼ - -#define NET_DVR_GET_CLOUD_STORAGE_CFG 6303 //ȡƴ洢Ϣ -#define NET_DVR_SET_CLOUD_STORAGE_CFG 6304 //ƴ洢Ϣ -#define NET_DVR_GET_GOP_INFO 6305 //ȡGOPϢ -#define NET_DVR_GET_PHY_DISK_INFO 6306 //ȡϢ -//¼ⲿ -#define NET_DVR_GET_RECORDING_AUTO_TRACK_CFG 6307 //ȡSDIԶϢ -#define NET_DVR_SET_RECORDING_AUTO_TRACK_CFG 6308 //SDIԶϢ - -#define NET_DVR_GET_RECORDING_PUBLISH_CFG 6309 //ȡһϢ -#define NET_DVR_SET_RECORDING_PUBLISH_CFG 6310 //һϢ - - -#define NET_DVR_RECORDING_ONEKEY_CONTROL 6311 //¼ - -#define NET_DVR_GET_RECORDING_END_TIME 6312 //ȡ¼ʣʱ - -#define NET_DVR_RECORDING_PUBLISH 6313 //һ¼ - -#define NET_DVR_GET_CURRICULUM_CFG 6314 //ȡαϢ -#define NET_DVR_SET_CURRICULUM_CFG 6315 //ÿαϢ - -#define NET_DVR_GET_COURSE_INDEX_CFG 6316 //ȡγϢ -#define NET_DVR_SET_COURSE_INDEX_CFG 6317 //ÿγϢ - -#define NET_DVR_GET_PPT_CHANNEL 6318 //ȡPPT֧ͨ -#define NET_DVR_GET_PPT_DETECT_CFG 6319 //ȡPPT -#define NET_DVR_SET_PPT_DETECT_CFG 6320 //PPT - -#define NET_DVR_GET_RECORDINGHOST_CFG 6321 //ȡ¼Ϣ -#define NET_DVR_SET_RECORDINGHOST_CFG 6322 //¼Ϣ -#define NET_DVR_GET_BACKUP_RECORD_CFG 6323 //ȡһϢ -#define NET_DVR_SET_BACKUP_RECORD_CFG 6324 //һϢ - -//ͥ -#define NET_DVR_GET_AUDIO_ACTIVATION_CFG 6326 //ȡò -#define NET_DVR_SET_AUDIO_ACTIVATION_CFG 6327 //ò -#define NET_DVR_GET_DECODERCFG_V40 6328 //ȡϢ -#define NET_DVR_SET_DECODERCFG_V40 6329 //ýϢ - -#define NET_DVR_INFRARED_OUTPUT_CONTROL 6330 // -#define NET_DVR_GET_INFRARED_CMD_NAME_CFG 6331 //ȡƲ -#define NET_DVR_SET_INFRARED_CMD_NAME_CFG 6332 //úƲ -#define NET_DVR_START_INFRARED_LEARN 6333 //Զ̺ѧ - -#define NET_DVR_GET_TRIAL_SYSTEM_CFG 6334 //ȡͥϵͳϢ -#define NET_DVR_SET_CASE_INFO 6335 //Ϣ¼ -#define NET_DVR_GET_TRIAL_MICROPHONE_STATUS 6336 //ȡ˷״̬Ϣ -#define NET_DVR_SET_TRIAL_MICROPHONE_STATUS 6337 //ȡ˷״̬Ϣ -#define NET_DVR_GET_TRIAL_HOST_STATUS 6338 //ȡͥ״̬Ϣ -#define NET_DVR_GET_LAMP_OUT 6339 //ȡLAMPϢ -#define NET_DVR_SET_LAMP_OUT 6340 //LAMPϢ -#define NET_DVR_LAMP_REMOTE_CONTROL 6341 // LAMP -#define NET_DVR_REMOTE_CONTROL_PLAY 6342 //Զ̿Ʊػط -#define NET_DVR_GET_LOCAL_INPUT_CFG 6343 //ȡͥ״̬ϢͥϢ -#define NET_DVR_SET_LOCAL_INPUT_CFG 6344 //ͥϢ -#define NET_DVR_GET_CASE_INFO 6345 //ȡǰϢ - -//Ѷⲿ -#define NET_DVR_INQUEST_GET_CDW_STATUS 6350 //ȡѶ¼״̬- -#define NET_DVR_GET_MIX_AUDIOIN_CFG 6351 //ȡڲ -#define NET_DVR_SET_MIX_AUDIOIN_CFG 6352 //ûڲ -#define NET_DVR_GET_MIX_AUDIOOUT_CFG 6353 //ȡڲ -#define NET_DVR_SET_MIX_AUDIOOUT_CFG 6354 //ûڲ -#define NET_DVR_GET_AUDIOIN_VOLUME_CFG 6355 //ȡƵڲ -#define NET_DVR_SET_AUDIOIN_VOLUME_CFG 6356 //Ƶڲ -#define NET_DVR_GET_AREA_MASK_CFG 6357 //ȡ -#define NET_DVR_SET_AREA_MASK_CFG 6358 // -#define NET_DVR_GET_AUDIO_DIACRITICAL_CFG 6359 //ȡƵ -#define NET_DVR_SET_AUDIO_DIACRITICAL_CFG 6360 //Ƶ -#define NET_DVR_GET_WIFI_DHCP_ADDR_CFG 6361 //WIFI DHCP ַΧ -#define NET_DVR_SET_WIFI_DHCP_ADDR_CFG 6362 //WIFI DHCP ַΧ -#define NET_DVR_GET_WIFI_CLIENT_LIST_INFO 6363 //ȡwifiȵӵ豸Ϣ -#define NET_DVR_REMOTECONTROL_POWER_ON 6364 //Զ̿ -#define NET_DVR_GET_MULTISTREAM_RELATION_CHAN_CFG 6365 //ȡͨ -#define NET_DVR_SET_MULTISTREAM_RELATION_CHAN_CFG 6366 //öͨ -#define NET_DVR_GET_VIDEOOUT_RESOLUTION_CFG 6367 //ȡ豸Ƶڷֱ -#define NET_DVR_SET_VIDEOOUT_RESOLUTION_CFG 6368 //豸Ƶڷֱ -#define NET_DVR_GET_AUDIOOUT_VOLUME_CFG 6369 //ȡƵڲ -#define NET_DVR_SET_AUDIOOUT_VOLUME_CFG 6370 //Ƶڲ -#define NET_DVR_INQUEST_PAUSE_CDW 6371 //ͣ¼ -#define NET_DVR_INQUEST_RESUME_CDW 6372 //ָ¼ -#define NET_DVR_GET_INPUT_CHAN_CFG 6373 //ȡͨ -#define NET_DVR_SET_INPUT_CHAN_CFG 6374 //ͨ -#define NET_DVR_GET_INQUEST_MIX_AUDIOIN_CFG 6375 //ȡѶƵ -#define NET_DVR_SET_INQUEST_MIX_AUDIOIN_CFG 6376 //ѶƵ -#define NET_DVR_CASE_INFO_CTRL 6377 //Ϣʾ -#define NET_DVR_GET_INQUEST_USER_RIGHT 6378 //ȡѶûȨ -#define NET_DVR_SET_INQUEST_USER_RIGHT 6379 //ѶûȨ -#define NET_DVR_GET_INQUEST_CASE_INFO 6380 //ȡѶϢ -#define NET_DVR_SET_INQUEST_CASE_INFO 6381 //ѶϢ - -#define NET_DVR_GET_FILM_MODE_CFG 6387 //ȡӰģʽ -#define NET_DVR_SET_FILM_MODE_CFG 6388 //õӰģʽ -#define NET_DVR_GET_FILM_MODE_CFG_CAP 6389 //ȡӰģʽ - -#define NET_DVR_GET_DIRECTED_STRATEGY_CFG 6390 //ȡ -#define NET_DVR_SET_DIRECTED_STRATEGY_CFG 6391 //õ -#define NET_DVR_GET_DIRECTED_STRATEGY_CFG_CAP 6392 //ȡӰģʽ -#define NET_DVR_GET_FRAME_CFG 6393 //ȡ߿ -#define NET_DVR_SET_FRAME_CFG 6394 //û߿ -#define NET_DVR_GET_FRAME_CFG_CAP 6395 //ȡ߿ -#define NET_DVR_GET_AUDIO_EFFECTIVE_CFG 6396 //ȡƵŻ -#define NET_DVR_SET_AUDIO_EFFECTIVE_CFG 6397 //ƵЧ -#define NET_DVR_GET_AUDIO_EFFECTIVE_CFG_CAP 6398 //ȡƵЧŻ -#define NET_DVR_GET_RECORD_VIDEO_CFG 6399 //ȡ¼Ƶ -#define NET_DVR_SET_RECORD_VIDEO_CFG 6400 //¼Ƶ - - -#define NET_DVR_GET_OUTPUT_CFG 6401 //ȡʾ -#define NET_DVR_SET_OUTPUT_CFG 6402 //ʾ -#define NET_DVR_CODER_DISPLAY_START 6403 //ʼ -#define NET_DVR_CODER_DISPLAY_STOP 6404 //ֹͣ -#define NET_DVR_GET_WINDOW_STATUS 6405 //ȡʾ״̬ - -//VQDܽӿ -#define NET_DVR_GET_VQD_LOOP_DIAGNOSE_CFG 6406 //ȡVQDѭò -#define NET_DVR_SET_VQD_LOOP_DIAGNOSE_CFG 6407 //VQDѭò -#define NET_DVR_GET_VQD_DIAGNOSE_INFO 6408 //ֶȡVQDϢ - -#define NET_DVR_RECORDING_PUBLISH_FILE 6421 //ļ -#define NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP 6422 //ȡļ -#define NET_DVR_GET_PUBLISH_PROGRESS 6423 //ȡ -#define NET_DVR_GET_RECORD_VIDEO_CFG_CAP 6424 //ȡ¼Ƶ -#define NET_DVR_GET_RTMP_CFG 6425 //ȡRTMP -#define NET_DVR_SET_RTMP_CFG 6426 //RTMP -#define NET_DVR_GET_RTMP_CFG_CAP 6427 //ȡRTMP -#define NET_DVR_DEL_BACKGROUND_PIC 6428 //ɾͼƬļ -#define NET_DVR_GET_BACKGROUND_PIC_CFG 6429 //ѯͼƬļ -#define NET_DVR_GET_BACKGROUND_PIC_INFO 6430 //ȡͼƬΪͼƬ -#define NET_DVR_SET_BACKGROUND_PIC_INFO 6431 //ͼƬΪͼƬ -#define NET_DVR_GET_BACKGROUND_PIC_INFO_CAP 6432 //ȡͼƬΪͼƬ -#define NET_DVR_GET_RECORD_HOST_CAP 6433 //ȡ¼ -#define NET_DVR_GET_COURSE_LIST 6434 //ȡγб -#define NET_DVR_GET_RECORD_STATUS 6435 //ѯ¼ǰ״̬ -#define NET_DVR_MANUAL_CURRICULUM_CONTROL 6436 //ֶα -#define NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG 6437 //ȡͼּ -#define NET_DVR_SET_IMAGE_DIFF_DETECTION_CFG 6438 //ͼּ -#define NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG_CAP 6439 //ȡͼּ -#define NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO 6440 //ȡļϢ -#define NET_DVR_SET_RECORDING_PUBLISH_FILE_INFO 6441 //÷ļϢ -#define NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO_CAP 6442 //ȡļϢ -#define NET_DVR_MANUAL_CURRICULUM_CONTROL_CAP 6443 //ȡֶγ¼ -#define NET_DVR_GET_STATISTIC_DATA_LIST 6444 //ȡͳб - -#define NET_DVR_GET_DEVICE_LAN_ENCODE 6501 //ȡ豸Ա -#define NET_DVR_GET_GBT28181_SERVICE_CFG 6503 //ȡGB28181 -#define NET_DVR_SET_GBT28181_SERVICE_CFG 6504 //GB28181 -#define NET_DVR_GET_GBT28181_SERVICE_CAPABILITIES 6505 //ȡGB28181 - -#define NET_DVR_GET_CLOUD_URL 6506 //ȡƴ洢URL -#define NET_DVR_GET_CLOUD_URL_CAP 6507 //ȡƴ洢URL- -#define NET_DVR_GET_CLOUD_CFG 6508 //ȡƴ洢ò -#define NET_DVR_SET_CLOUD_CFG 6509 //ƴ洢ò -#define NET_DVR_GET_CLOUD_CFG_CAP 6510 //ȡƴ洢- -#define NET_DVR_GET_CLOUD_UPLOADSTRATEGY 6511 //ȡƴ洢ϴ -#define NET_DVR_SET_CLOUD_UPLOADSTRATEGY 6512 //ƴ洢ϴ -#define NET_DVR_GET_CLOUDSTORAGE_UPLOADSTRATEGY_CAP 6513 //ƴ洢ϴ- - -#define NET_DVR_GET_VIDEO_IMAGE_DB_CFG 6601 //ȡͼϢ -#define NET_DVR_SET_VIDEO_IMAGE_DB_CFG 6602 //ͼϢ -#define NET_DVR_GET_VIDEO_IMAGE_DB_CFG_CAP 6603 //ȡͼ -#define NET_DVR_GET_FILE_INFO_BY_ID 6604 //ļIDȡͼļϢ -#define NET_DVR_QUERY_FILE_INFO_CAP 6605 //ļѯļϢ -#define NET_DVR_DEL_FILE_FROM_DB 6606 //ͼɾļ -#define NET_DVR_GET_VIDEO_IMAGE_DB_CAP 6607 //ȡͼ - -#define NET_DVR_GET_FIGURE 6610 //ȡͼ - -#define NET_DVR_SYNC_IPC_PASSWD 6621 //ͬIPCNVRһ -#define NET_DVR_GET_VEHICLE_BLOCKLIST_SCHEDULE 6622 //ȡֹʱ -#define NET_DVR_SET_VEHICLE_BLOCKLIST_SCHEDULE 6623 //ýֹʱ - -#define NET_DVR_GET_VEHICLE_ALLOWLIST_SCHEDULE 6624 //ȡʱ -#define NET_DVR_SET_VEHICLE_ALLOWLIST_SCHEDULE 6625 //ʱ - -#define NET_DVR_GET_VEHICLE_BLOCKLIST_EVENT_TRIGGER 6626 //ȡֹ -#define NET_DVR_SET_VEHICLE_BLOCKLIST_EVENT_TRIGGER 6627 //ýֹ - -#define NET_DVR_GET_VEHICLE_ALLOWLIST_EVENT_TRIGGER 6628 //ȡ -#define NET_DVR_SET_VEHICLE_ALLOWLIST_EVENT_TRIGGER 6629 // - -#define NET_DVR_GET_TRAFFIC_CAP 6630 //ȡץ -#define NET_DVR_GET_VEHICLE_ALLLIST_EVENT_TRIGGER 6631 //ȡȫⲼ -#define NET_DVR_SET_VEHICLE_ALLLIST_EVENT_TRIGGER 6632 //ȫⲼ -#define NET_DVR_GET_VEHICLE_OTHERLIST_EVENT_TRIGGER 6633 //ȡ -#define NET_DVR_SET_VEHICLE_OTHERLIST_EVENT_TRIGGER 6634 // - -#define NET_DVR_GET_STORAGEDETECTION_EVENT_TRIGGER 6635 //ȡ洢 -#define NET_DVR_SET_STORAGEDETECTION_EVENT_TRIGGER 6636 //ô洢 -#define NET_DVR_GET_STORAGEDETECTION_SCHEDULE_CAPABILITIES 6637 //ȡ洢Ⲽʱ -#define NET_DVR_GET_STORAGEDETECTION_SCHEDULE 6638 //ȡ洢ʱ -#define NET_DVR_SET_STORAGEDETECTION_SCHEDULE 6639 //ô洢ʱ -#define NET_DVR_GET_STORAGEDETECTION_STATE 6640 //ȡ洢״̬ - -#define NET_DVR_GET_STORAGEDETECTION_RWLOCK 6646 //ȡ洢Ķд -#define NET_DVR_GET_STORAGEDETECTION_RWLOCK_CAPABILITIES 6647 //ȡ洢Ķд -#define NET_DVR_SET_STORAGEDETECTION_RWLOCK 6648 //ô洢Ķд -#define NET_DVR_GET_PTZTRACKSTATUS 6649 //ȡ״̬ - -#define NET_DVR_SET_STORAGEDETECTION_UNLOCK 6653 //ô洢Ľ -#define NET_DVR_GET_STORAGEDETECTION_UNLOCK_CAPABILITIES 6654 //ȡ洢Ľ - -#define NET_DVR_SET_SHIPSDETECTION_CFG 6655 //ôֻ -#define NET_DVR_GET_SHIPSDETECTION_CFG 6656 //ȡֻ -#define NET_DVR_GET_SHIPSDETECTION_CAPABILITIES 6657 //ȡֻ -#define NET_DVR_GET_SHIPSDETECTION_COUNT 6658 //ȡֻϢ -#define NET_DVR_SHIPSCOUNT_DELETE_CTRL 6659 //մֻϢ - -#define NET_DVR_GET_BAREDATAOVERLAY_CAPABILITIES 6660 //ȡݵ -#define NET_DVR_SET_BAREDATAOVERLAY_CFG 6661 //ݵ -#define NET_DVR_GET_BAREDATAOVERLAY_CFG 6662 //ȡݵ -#define NET_DVR_GET_SHIPSDETECTION_SCHEDULE 6663 //ȡֻⲼʱ -#define NET_DVR_SET_SHIPSDETECTION_SCHEDULE 6664 //ôֻⲼʱ -#define NET_DVR_GET_SHIPSDETECTION_EVENT_TRIGGER 6665 //ȡֻ -#define NET_DVR_SET_SHIPSDETECTION_EVENT_TRIGGER 6666 //ôֻ -#define NET_DVR_GET_SHIPSDETECTION_SCHEDULE_CAPABILITIES 6667 //ȡֻⲼʱ - -#define NET_DVR_FIRE_FOCUSZOOM_CTRL 6670 //ɼ⾵ͷ۽䱶 - -#define NET_DVR_GET_FIREDETECTION_SCHEDULE_CAPABILITIES 6671 //ȡⲼʱ -#define NET_DVR_GET_FIREDETECTION_SCHEDULE 6672 //ȡⲼʱ -#define NET_DVR_SET_FIREDETECTION_SCHEDULE 6673 //ûⲼʱ -#define NET_DVR_GET_MANUALRANGING_CAPABILITIES 6675 //ȡֶ -#define NET_DVR_SET_MANUALRANGING 6677 //ֶ -#define NET_DVR_GET_MANUALDEICING_CAPABILITIES 6678//ȡֶ -#define NET_DVR_SET_MANUALDEICING 6679 //ֶ -#define NET_DVR_GET_MANUALDEICING 6680 //ȡֶ - -#define NET_DVR_GET_THERMALPOWER_CAPABILITIES 6689 //ȡԴ -#define NET_DVR_GET_THERMALPOWER 6690 //ȡԴò -#define NET_DVR_SET_THERMALPOWER 6691 //Դò -#define NET_DVR_GET_PTZABSOLUTEEX_CAPABILITIES 6695 //ȡ߾PTZλչ -#define NET_DVR_GET_PTZABSOLUTEEX 6696 //ȡ߾PTZλչ -#define NET_DVR_SET_PTZABSOLUTEEX 6697 //ø߾PTZλչ - -#define NET_DVR_GET_CRUISE_CAPABILITIES 6698 //ȡ豸Ѳģʽ -#define NET_DVR_GET_CRUISE_INFO 6699 //ȡ豸Ѳģʽ -#define NET_DVR_GET_TEMP_HUMI_CAPABILITIES 6700 //ʪʵʱȡ -#define NET_DVR_GET_TEMP_HUMI_INFO 6701 //ʪʵʱȡ - -#define NET_DVR_GET_MANUALTHERM_INFO 6706 //ֶʵʱȡ -#define NET_DVR_GET_MANUALTHERM_CAPABILITIES 6707 //ȡֶʵʱ -#define NET_DVR_SET_MANUALTHERM 6708 //ֶ - -//DVR96000 -#define NET_DVR_GET_ACCESSORY_CARD_INFO_CAPABILITIES 6709 //ȡϢ -#define NET_DVR_GET_ACCESSORY_CARD_INFO 6710 //ȡϢ - -#define NET_DVR_GET_THERMINTELL_CAPABILITIES 6711 //ȡȳܻ -#define NET_DVR_GET_THERMINTELL 6712 //ȡȳܻò -#define NET_DVR_SET_THERMINTELL 6713 //ȳܻò -#define NET_GET_CRUISEPOINT_V50 6714 //ȡѲ·չ -#define NET_DVR_GET_MANUALTHERM_BASIC_CAPABILITIES 6715 //ȡֶ» -#define NET_DVR_SET_MANUALTHERM_BASICPARAM 6716 //ֶ» -#define NET_DVR_GET_MANUALTHERM_BASICPARAM 6717 //ȡֶ» - -#define NET_DVR_GET_FIRESHIELDMASK_CAPABILITIES 6718 //ȡ - -#define NET_DVR_GET_HIDDEN_INFORMATION_CAPABILITIES 6720 //Ϣ -#define NET_DVR_GET_HIDDEN_INFORMATION 6721 //ȡϢ -#define NET_DVR_SET_HIDDEN_INFORMATION 6722 //Ϣ - -#define NET_DVR_SET_FIRESHIELDMASK_CFG 6723 //ûβ -#define NET_DVR_GET_FIRESHIELDMASK_CFG 6724 //ȡβ - -#define NET_DVR_GET_SMOKESHIELDMASK_CAPABILITIES 6725 //ȡ -#define NET_DVR_SET_SMOKESHIELDMASK_CFG 6726 //β -#define NET_DVR_GET_SMOKESHIELDMASK_CFG 6727 //ȡβ - -#define NET_DVR_GET_AREASCAN_CAPABILITIES 6728 //ȡɨ -#define NET_DVR_GET_AREASCAN_CFG 6730 //ȡɨ - -#define NET_DVR_DEL_AREASCAN_CFG 6731 //ɨɾ -#define NET_DVR_AREASCAN_INIT_CTRL 6732 //ɨ -#define NET_DVR_AREASCAN_CONFIRM_CTRL 6733 //ɨ -#define NET_DVR_AREASCAN_STOP_CTRL 6734 //ֹͣɨ -#define NET_DVR_SAVE_SCANZOOM_CTRL 6735 //ɨ豶ʣ浱ǰѧΪɨ豶 -#define NET_DVR_GET_SCANZOOM_CTRL 6736 //ȡɨ豶ʣԤеĹѧʷصǰɨ豶ʡ -#define NET_DVR_DEL_FIRESHIELDMASK_CTRL 6737 //ɾ -#define NET_DVR_DEL_SMOKESHIELDMASK_CTRL 6738 //ɾ - -#define NET_DVR_GET_DENSEFOG_EVENT_TRIGGER 6740 //ȡ -#define NET_DVR_SET_DENSEFOG_EVENT_TRIGGER 6741 //ô -#define NET_DVR_SET_DENSEFOGDETECTION_CFG 6742 //ô -#define NET_DVR_GET_DENSEFOGDETECTION_CFG 6743 //ȡ -#define NET_DVR_GET_DENSEFOGDETECTION_CAPABILITIES 6744 //ȡ - -#define NET_DVR_GET_THERMOMETRY_SCHEDULE_CAPABILITIES 6750 //ȡ¼Ⲽʱ -#define NET_DVR_GET_THERMOMETRY_SCHEDULE 6751 //ȡ¼Ⲽʱ -#define NET_DVR_SET_THERMOMETRY_SCHEDULE 6752 //ò¼Ⲽʱ -#define NET_DVR_GET_TEMPERTURE_SCHEDULE_CAPABILITIES 6753 //ȡ²ʱ -#define NET_DVR_GET_TEMPERTURE_SCHEDULE 6754 //ȡ²ʱ -#define NET_DVR_SET_TEMPERTURE_SCHEDULE 6755 //²ʱ -#define NET_DVR_GET_SEARCH_LOG_CAPABILITIES 6756 //־֧ -#define NET_DVR_GET_VEHICLEFLOW 6758 //ȡ -#define NET_DVR_GET_IPADDR_FILTERCFG_V50 6759 //ȡIPַ˲չ -#define NET_DVR_SET_IPADDR_FILTERCFG_V50 6760 //IPַ˲չ -#define NET_DVR_GET_TEMPHUMSENSOR_CAPABILITIES 6761 //ȡʪȴ -#define NET_DVR_GET_TEMPHUMSENSOR 6762 //ȡʪȴЭ -#define NET_DVR_SET_TEMPHUMSENSOR 6763 //ʪȴЭ - -#define NET_DVR_GET_THERMOMETRY_MODE_CAPABILITIES 6764 //ȡģʽ -#define NET_DVR_GET_THERMOMETRY_MODE 6765 //ȡģʽ -#define NET_DVR_SET_THERMOMETRY_MODE 6766 //òģʽ - -#define NET_DVR_GET_THERMAL_PIP_CAPABILITIES 6767 //ȡȳл -#define NET_DVR_GET_THERMAL_PIP 6768 //ȡȳлò -#define NET_DVR_SET_THERMAL_PIP 6769 //ȳлò -#define NET_DVR_GET_THERMAL_INTELRULEDISPLAY_CAPABILITIES 6770 //ȡȳܹʾ -#define NET_DVR_GET_THERMAL_INTELRULE_DISPLAY 6771 //ȡȳܹʾ -#define NET_DVR_SET_THERMAL_INTELRULE_DISPLAY 6772 //ȳܹʾ -#define NET_DVR_GET_THERMAL_ALGVERSION 6773 //ȡȳ㷨汾 -#define NET_DVR_GET_CURRENT_LOCK_CAPABILITIES 6774 //ȡ -#define NET_DVR_GET_CURRENT_LOCK 6775 //ȡò -#define NET_DVR_SET_CURRENT_LOCK 6776 //õò - -#define NET_DVR_DEL_MANUALTHERM_RULE 6778 //ɾֶ¹ - -#define NET_DVR_GET_UPGRADE_INFO 6779 //ȡϢ - -#define NET_DVR_SWITCH_TRANSFER 7000 - -#define NET_DVR_GET_MB_POWERCTRLPARA 8000//ȡƲ -#define NET_DVR_SET_MB_POWERCTRLPARA 8001 //Ʋ -#define NET_DVR_GET_AUTOBACKUPPARA 8002//ȡԶݲ -#define NET_DVR_SET_AUTOBACKUPPARA 8003 //Զݲ -#define NET_DVR_GET_MB_GPSPARA 8004//ȡGPS -#define NET_DVR_SET_MB_GPSPARA 8005 //GPS -#define NET_DVR_GET_MB_SENSORINPARA 8006//ȡSENSOR -#define NET_DVR_SET_MB_SENSORINPARA 8007 //SENSOR -#define NET_DVR_GET_GSENSORPARA 8008//ȡGSENSOR -#define NET_DVR_SET_GSENSORPARA 8009 //GSENSOR -#define NET_DVR_GET_MB_DOWNLOADSVRPARA 8010//ȡط -#define NET_DVR_SET_MB_DOWNLOADSVRPARA 8011//ط -#define NET_DVR_GET_PLATERECOG_PARA 8012//ȡʶ -#define NET_DVR_SET_PLATERECOG_PARA 8013//óʶ -#define NET_DVR_GET_ENFORCESYS_PARA 8014//ȡ -#define NET_DVR_SET_ENFORCESYS_PARA 8015//ó -#define NET_DVR_GET_GPS_DATA 8016 //ȡGPS -#define NET_DVR_GET_ANALOG_ALARMINCFG 8017//ȡģⱨ -#define NET_DVR_SET_ANALOG_ALARMINCFG 8018//ģⱨ - -#define NET_DVR_GET_SYSTEM_CAPABILITIES 8100 //ȡ豸ϵͳ -#define NET_DVR_GET_EAGLEEYE_CAPABILITIES 8101 //ȡ豸ӥ -#define NET_DVR_GET_SLAVECAMERA_CALIB_V51 8102 //ȡ궨V51 -#define NET_DVR_SET_SLAVECAMERA_CALIB_V51 8103 //ô궨V51 -#define NET_DVR_SET_GOTOSCENE 8105 //תָijID - -//IKEϵNVRƷ -#define NET_DVR_GET_PTZ_NOTIFICATION 8201//ȡͨ¼PTZ -#define NET_DVR_SET_PTZ_NOTIFICATION 8202//öͨ¼PTZ -/*****************************ǽ start****************************/ -#define NET_DVR_MATRIX_WALL_SET 9001 //õǽĻ -#define NET_DVR_MATRIX_WALL_GET 9002 //ȡǽĻ -#define NET_DVR_WALLWIN_GET 9003 //ǽлȡڲ -#define NET_DVR_WALLWIN_SET 9004 //ǽôڲ -#define NET_DVR_WALLWINPARAM_SET 9005 //õǽز -#define NET_DVR_WALLWINPARAM_GET 9006 //ȡǽز -#define NET_DVR_WALLSCENEPARAM_GET 9007 //óģʽ -#define NET_DVR_WALLSCENEPARAM_SET 9008 //ȡģʽ -#define NET_DVR_MATRIX_GETWINSTATUS 9009 //ȡڽ״̬ -#define NET_DVR_GET_WINASSOCIATEDDEVINFO 9010 //ǽлȡӦԴϢ -#define NET_DVR_WALLOUTPUT_GET 9011 //ǽлȡʾ -#define NET_DVR_WALLOUTPUT_SET 9012 //ǽʾ -#define NET_DVR_GET_UNITEDMATRIXSYSTEM 9013 //ǽлȡӦԴ -#define NET_DVR_GET_WALL_CFG 9014 //ȡǽȫֲ -#define NET_DVR_SET_WALL_CFG 9015 //õǽȫֲ -#define NET_DVR_CLOSE_ALL_WND 9016 //رд -#define NET_DVR_SWITCH_WIN_TOP 9017 //ö -#define NET_DVR_SWITCH_WIN_BOTTOM 9018 //õ - -#define NET_DVR_CLOSE_ALL_WND_V41 9019 //ǽرдv41жǽ -#define NET_DVR_GET_WALL_WINDOW_V41 9020 //ȡǽеĴv41 -#define NET_DVR_SET_WALL_WINDOW_V41 9021 //õǽеĴv41 -#define NET_DVR_GET_CURRENT_SCENE_V41 9022 //ȡǰǽʹõijv41 -#define NET_DVR_GET_WALL_SCENE_PARAM_V41 9023 //ȡǰǽʹõijv41 -#define NET_DVR_SET_WALL_SCENE_PARAM_V41 9024 //õǰǽʹõijv41 -#define NET_DVR_GET_MATRIX_LOGO_CFG 9025 //ȡlogo -#define NET_DVR_SET_MATRIX_LOGO_CFG 9026 //logo -#define NET_DVR_GET_WIN_LOGO_CFG 9027 //ȡlogo -#define NET_DVR_SET_WIN_LOGO_CFG 9028 //ôlogo -#define NET_DVR_DELETE_LOGO 9029 //ɾlogo -#define NET_DVR_SET_DISPLAY_EFFECT_CFG 9030 //ʾЧv41 -#define NET_DVR_GET_DISPLAY_EFFECT_CFG 9031 //ȡʾЧv41 -#define NET_DVR_DEC_PLAY_REMOTE_FILE 9032 //벥Զļ -#define NET_DVR_DEC_PLAY_REMOTE_FILE_V50 9314 //벥ԶļV50 -#define NET_DVR_GET_WIN_ZOOM_STATUS 9033 //ȡڵӷŴ״̬ -#define NET_DVR_GET_ALL_MATRIX_LOGOCFG 9034 //ȡlogo - -/*****************************ǽ end******************************/ - -/*******************************LCDƴ begin******************************************/ -#define NET_DVR_SIMULATE_REMOTE_CONTROL 9035 //ģңذ 2013-09-05 -#define NET_DVR_SET_SCREEN_SIGNAL_CFG 9036 //ĻźԴ -#define NET_DVR_GET_SCREEN_SIGNAL_CFG 9037 //ȡĻźԴ -#define NET_DVR_SET_SCREEN_SPLICE_CFG 9038 //Ļƴ -#define NET_DVR_GET_SCREEN_SPLICE_CFG 9039 //ȡĻƴ -#define NET_DVR_GET_SCREEN_FAN_WORK_MODE 9040 //ȡȹʽ -#define NET_DVR_SET_SCREEN_FAN_WORK_MODE 9041 //÷ȹʽ -#define NET_DVR_SHOW_SCREEN_WORK_STATUS 9044 //ʾĻ״̬ -#define NET_DVR_GET_VGA_CFG 9045 //ȡVGAź -#define NET_DVR_SET_VGA_CFG 9046 //VGAź -#define NET_DVR_GET_SCREEN_MENU_CFG 9048 //ȡĻ˵ -#define NET_DVR_SET_SCREEN_MENU_CFG 9049 //Ļ˵ -#define NET_DVR_SET_SCREEN_DISPLAY_CFG 9050 //ʾ 2013-08-28 -#define NET_DVR_GET_SCREEN_DISPLAY_CFG 9051 //ȡʾ 2013-08-28 - -#define NET_DVR_SET_FUSION_CFG 9052 //ͼںϲ -#define NET_DVR_GET_FUSION_CFG 9053 //ȡͼںϲ - -#define NET_DVR_SET_PIP_CFG 9060 //ûл -#define NET_DVR_GET_PIP_CFG 9061 //ȡл -#define NET_DVR_SET_DEFOG_LCD 9073 //͸ -#define NET_DVR_GET_DEFOG_LCD 9074 //ȡ͸ -#define NET_DVR_SHOW_IP 9075 //ʾIP -#define NET_DVR_SCREEN_MAINTENANCE_WALL 9076 //Ļάǽ -#define NET_DVR_SET_SCREEN_POS 9077 //Ļλò -#define NET_DVR_GET_SCREEN_POS 9078 //ȡĻλò -/*******************************LCDƴ end******************************************/ - -/*******************************LCDƴV1.2 begin******************************************/ -#define NET_DVR_SCREEN_INDEX_SET 9079 //Ļز -#define NET_DVR_SCREEN_INDEX_GET 9080 //Ļزȡ -#define NET_DVR_SCREEN_SPLICE_SET 9081 //ĻƴӲ -#define NET_DVR_SCREEN_SPLICE_GET 9082 //ȡĻƴӲ -#define NET_DVR_SET_SCREEN_PARAM 9083 //Ļز -#define NET_DVR_GET_SCREEN_PARAM 9084 //ȡĻز -#define NET_DVR_SET_SWITCH_CFG 9085 //öʱػ -#define NET_DVR_GET_SWITCH_CFG 9086 //ȡʱػ -#define NET_DVR_SET_POWERON_DELAY_CFG 9087 //ʱ -#define NET_DVR_GET_POWERON_DELAY_CFG 9088 //ȡʱ -#define NET_DVR_SET_SCREEN_POSITION 9089 //Ļλò -#define NET_DVR_GET_SCREEN_POSITION 9090 //ȡĻλò -#define NET_DVR_SCREEN_SCENE_CONTROL 9091 //Ļ -#define NET_DVR_GET_CURRENT_SCREEN_SCENE 9092 //ȡǰĻ -#define NET_DVR_GET_SCREEN_SCENE_PARAM 9093 //ȡĻģʽ -#define NET_DVR_SET_SCREEN_SCENE_PARAM 9094 //Ļģʽ -#define NET_DVR_GET_EXTERNAL_MATRIX_RELATION 9095 //ȡӾϵ -#define NET_DVR_GET_LCD_AUDIO_CFG 9096 //ȡLCDĻƵ -#define NET_DVR_SET_LCD_AUDIO_CFG 9097 //LCDĻƵ -#define NET_DVR_GET_LCD_WORK_STATE 9098 //ȡLCDĻ״̬ -#define NET_DVR_GET_BOOT_LOGO_CFG 9099 //ȡLCDĻlogoʾ -#define NET_DVR_SET_BOOT_LOGO_CFG 9100 //LCDĻlogoʾ - -/*******************************LCDƴV1.2 end ******************************************/ -#define NET_DVR_GET_STREAM_DST_COMPRESSIONINFO 9101 //ȡĿѹ -#define NET_DVR_SET_STREAM_DST_COMPRESSIONINFO 9102 //Ŀѹ -#define NET_DVR_GET_STREAM_TRANS_STATUS 9103 //ȡ״̬ -#define NET_DVR_GET_DEVICE_TRANS_STATUS 9104 //ȡ豸ת״̬ -#define NET_DVR_GET_ALLSTREAM_SRC_INFO 9105 //ȡϢ -#define NET_DVR_GET_BIG_SCREEN_AUDIO 9106 //ȡƵϢ -#define NET_DVR_SET_BIG_SCREEN_AUDIO 9107 //ôƵϢ -#define NET_DVR_GET_DEV_WORK_MODE 9108 //ȡת豸ģʽ -#define NET_DVR_SET_DEV_WORK_MODE 9109 //ת豸ģʽ -#define NET_DVR_APPLY_TRANS_CHAN 9110 //IDתͨ -#define NET_DVR_GET_DISPCHAN_CFG 9111 //ȡʾͨ -#define NET_DVR_SET_DISPCHAN_CFG 9112 //ʾͨ - -#define NET_DVR_GET_DEC_CHAN_STATUS 9113 //ȡͨ״̬ -#define NET_DVR_GET_DISP_CHAN_STATUS 9114 //ȡʾͨ״̬ -#define NET_DVR_GET_ALARMIN_STATUS 9115 //ȡ״̬ -#define NET_DVR_GET_ALARMOUT_STATUS 9116 //ȡ״̬ -#define NET_DVR_GET_AUDIO_CHAN_STATUS 9117 //ȡԽ״̬ - -#define NET_DVR_GET_VIDEO_AUDIOIN_CFG 9118 //ȡƵƵ -#define NET_DVR_SET_VIDEO_AUDIOIN_CFG 9119 //ƵƵ - -#define NET_DVR_SET_BASEMAP_CFG 9120 //õͼ -#define NET_DVR_GET_BASEMAP_CFG 9121 //ȡͼ -#define NET_DVR_GET_VIRTUAL_SCREEN_CFG 9122 //ȡϵͳ -#define NET_DVR_SET_VIRTUAL_SCREEN_CFG 9123 //óϵͳ -#define NET_DVR_GET_BASEMAP_WIN_CFG 9124 //ȡͼڲ -#define NET_DVR_SET_BASEMAP_WIN_CFG 9125 //õͼڲ -#define NET_DVR_DELETE_PICTURE 9126 //ɾͼ -#define NET_DVR_GET_BASEMAP_PIC_INFO 9127 //ȡͼͼƬϢ -#define NET_DVR_SET_BASEMAP_WIN_CFG_V40 9128 //õͼڲV40 -#define NET_DVR_GET_BASEMAP_WIN_CFG_V40 9129 //ȡͼڲV40 - -#define NET_DVR_GET_DEC_VCA_CFG 9130 //ȡܱ -#define NET_DVR_SET_DEC_VCA_CFG 9131 //ýܱ - -#define NET_DVR_SET_VS_INPUT_CHAN_INIT_ALL 9132 //ʼӰͨ -#define NET_DVR_GET_VS_INPUT_CHAN_INIT_ALL 9133 //ȡӰͨijʼ -#define NET_DVR_GET_VS_INPUT_CHAN_INIT 9134 //ȡͨijʼ -#define NET_DVR_GET_VS_INPUT_CHAN_CFG 9135 //ȡͨò - -#define NET_DVR_GET_TERMINAL_CONFERENCE_STATUS 9136 //ȡն˻״̬ -#define NET_DVR_GET_TERMINAL_INPUT_CFG_CAP 9137 //ȡն -#define NET_DVR_GET_TERMINAL_INPUT_CFG 9138 //ȡնƵ -#define NET_DVR_SET_TERMINAL_INPUT_CFG 9139 //նƵ - -#define NET_DVR_GET_CONFERENCE_REGION_CAP 9140 //ȡն˻ -#define NET_DVR_GET_CONFERENCE_REGION 9141 //ȡն˻ -#define NET_DVR_SET_CONFERENCE_REGION 9142 //ն˻ -#define NET_DVR_GET_TERMINAL_CALL_CFG_CAP 9143 //ȡն˺ -#define NET_DVR_GET_TERMINAL_CALL_CFG 9144 //ȡն˺в -#define NET_DVR_SET_TERMINAL_CALL_CFG 9145 //ն˺в -#define NET_DVR_GET_TERMINAL_CTRL_CAP 9146 //ȡն˺п -#define NET_DVR_TERMINAL_CTRL 9147 //ն˺п -#define NET_DVR_GET_CALL_QUERY_CAP 9148 //ȡ -#define NET_DVR_GET_CALLINFO_BY_COND 9149 //ѯм¼ - -#define NET_DVR_SET_FUSION_SCALE 9150 //ͼںϹģ -#define NET_DVR_GET_FUSION_SCALE 9151 //ȡͼںϹģ - -#define NET_DVR_GET_VCS_CAP 9152 //ȡMCU - - -#define NET_DVR_GET_TERMINAL_GK_CFG_CAP 9153 //ȡնעGK -#define NET_DVR_GET_TERMINAL_GK_CFG 9154 //ȡնעGK -#define NET_DVR_SET_TERMINAL_GK_CFG 9155 //նעGK -#define NET_DVR_GET_MCU_CONFERENCESEARCH_CAP 9156 //ȡMCU豸 -#define NET_DVR_SET_VS_INPUT_CHAN_CFG 9157 //ͨò -#define NET_DVR_GET_VS_NETSRC_CFG 9158 //Դ -#define NET_DVR_SET_VS_NETSRC_CFG 9159 //Դ - -#define NET_DVR_GET_LLDP_CFG 9160 //ȡLLDP -#define NET_DVR_SET_LLDP_CFG 9161 //LLDP -#define NET_DVR_GET_LLDP_CAP 9162 //ȡLLDP -#define NET_DVR_GET_FIBER_CONVERT_BASIC_INFO 9163 //ȡշϢ -#define NET_DVR_GET_FIBER_CONVERT_WORK_STATE 9164 //ȡշ״ -#define NET_DVR_GET_FIBER_CONVERT_TOPOLOGY 9165 //ȡշϢ -#define NET_DVR_GET_FC_PORT_REMARKS 9166 //ȡշ˿עͲ -#define NET_DVR_SET_FC_PORT_REMARKS 9167 //ùշ˿עͲ -#define NET_DVR_GET_PORT_REMARKS_CAP 9168 //ȡշ˿ע - -#define NET_DVR_GET_MCU_CONFERENCECONTROL_CAP 9169 //ȡ -#define NET_DVR_GET_MCU_TERMINALCONTROL_CAP 9170 //ȡն˿ -#define NET_DVR_GET_MCU_TERIMINALGROUP_CAP 9171 //ȡն˷ -#define NET_DVR_GET_MCU_TERMINAL_CAP 9174 //ȡն˹ -#define NET_DVR_GET_MCU_CONFERENCE_CAP 9175 //ȡ -#define NET_DVR_GET_MCU_GK_CFG_CAP 9176 //ȡMCUGK -#define NET_DVR_GET_MCU_GK_SERVER_CAP 9177 //ȡMCUGK - -#define NET_DVR_GET_EDID_CFG_FILE_INFO 9178 //ȡEDIDļϢ -#define NET_DVR_GET_EDID_CFG_FILE_INFO_LIST 9179 //ȡEDIDļϢ -#define NET_DVR_SET_EDID_CFG_FILE_INFO 9180 //EDIDļϢ -#define NET_DVR_DEL_EDID_CFG_FILE_INFO 9181 //ɾEDIDļϢļ -#define NET_DVR_GET_EDID_CFG_FILE_INFO_CAP 9182 //EDIDļϢ - -#define NET_DVR_GET_SUBWND_DECODE_OSD 9183 //ȡӴڽOSDϢ -#define NET_DVR_GET_SUBWND_DECODE_OSD_ALL 9184 //ȡӴڽOSDϢ -#define NET_DVR_SET_SUBWND_DECODE_OSD 9185 //ӴڽOSDϢ -#define NET_DVR_GET_SUBWND_DECODE_OSD_CAP 9186 //ȡӴڽOSDϢ -#define NET_DVR_GET_DECODE_CHANNEL_OSD 9187 //ȡͨOSDϢ -#define NET_DVR_SET_DECODE_CHANNEL_OSD 9188 //ýͨOSDϢ - - -#define NET_DVR_GET_OUTPUT_PIC_INFO 9200 //ȡͼƬ -#define NET_DVR_SET_OUTPUT_PIC_INFO 9201 //ͼƬ -#define NET_DVR_GET_OUTPUT_PIC_WIN_CFG 9202 //ȡͼƬڲ -#define NET_DVR_SET_OUTPUT_PIC_WIN_CFG 9203 //ͼƬڲ -#define NET_DVR_GET_OUTPUT_ALL_PIC_WIN_CFG 9204 //ȡͼƬڲ -#define NET_DVR_DELETE_OUPUT_PIC 9205 //ɾͼƬ -#define NET_DVR_GET_OUTPUT_OSD_CFG 9206 //ȡOSD -#define NET_DVR_SET_OUTPUT_OSD_CFG 9207 //OSD -#define NET_DVR_GET_OUTPUT_ALL_OSD_CFG 9208 //ȡOSD -#define NET_DVR_GET_CHAN_RELATION 9209 //ȡͨԴ -#define NET_DVR_SET_CHAN_RELATION 9210 //ñͨԴ -#define NET_DVR_GET_ALL_CHAN_RELATION 9211 //ȡбͨԴ -#define NET_DVR_GET_NS_RING_CFG 9212 //ȡ˰廷 -#define NET_DVR_SET_NS_RING_CFG 9213 //ù˰廷 -#define NET_DVR_GET_NS_RING_STATUS 9214 //ȡ˰廷״̬ -#define NET_DVR_GET_OPTICAL_PORT_INFO 9220 //ȡϢ -#define NET_DVR_SET_OPTICAL_PORT_INFO 9221 //ùϢ -#define NET_DVR_GET_OPTICAL_CHAN_RELATE_CFG 9222 //ȡͨԴ -#define NET_DVR_SET_OPTICAL_CHAN_RELATE_CFG 9223 //ñͨԴ -#define NET_DVR_GET_WIN_ROAM_SWITCH_CFG 9224 //ȡοز -#define NET_DVR_SET_WIN_ROAM_SWITCH_CFG 9225 //ýοز -#define NET_DVR_START_SCREEN_CRTL 9226 //ʼĻ -#define NET_DVR_GET_SCREEN_FLIE_LIST 9227 //ȡĻļб -#define NET_DVR_GET_SCREEN_FILEINFO 9228 //ȡĻļϢ -#define NET_DVR_SET_SCREEN_FILEINFO 9229 //ĻļϢ - -/*******************************СLEDʾ begin***************************************/ -#define NET_DVR_GET_LED_OUTPUT_CFG 9230 //ȡͿ -#define NET_DVR_SET_LED_OUTPUT_CFG 9231 //÷Ϳ -#define NET_DVR_GET_LED_OUTPUT_PORT_CFG 9232 //ȡLEDͿ˿ڲ -#define NET_DVR_SET_LED_OUTPUT_PORT_CFG 9233 //LEDͿ˿ڲ -#define NET_DVR_GET_LED_DISPLAY_AREA_CFG 9234 //ȡLEDͿʾ -#define NET_DVR_SET_LED_DISPLAY_AREA_CFG 9235 //LEDͿʾ -#define NET_DVR_GET_LED_PORT_CFG 9236 //ȡLEDͿ˿ڲ -#define NET_DVR_SET_LED_PORT_CFG 9237 //LEDͿ˿ڲ -#define NET_DVR_GET_LED_DISPLAY_CFG 9238 //ȡLEDͿʾ -#define NET_DVR_SET_LED_DISPLAY_CFG 9239 //LEDͿʾ -#define NET_DVR_GET_ALL_LED_PORT_CFG 9240 //ȡLEDͿijӦ -#define NET_DVR_SAVE_LED_CONFIGURATION 9241 //̻ -#define NET_DVR_GET_LED_TEST_SIGNAL_CFG 9242 //ȡLEDźŲ -#define NET_DVR_SET_LED_TEST_SIGNAL_CFG 9243 //LEDźŲ -#define NET_DVR_GET_LED_NOSIGNAL_CFG 9244 //ȡLEDźʾģʽ -#define NET_DVR_SET_LED_NOSIGNAL_CFG 9245 //LEDźʾģʽ -#define NET_DVR_GET_LED_INPUT_CFG 9246 //ȡLEDͿ -#define NET_DVR_SET_LED_INPUT_CFG 9247 //LEDͿ -#define NET_DVR_GET_LED_RECV_GAMMA_CFG 9248 //ȡտGAMMA -#define NET_DVR_SET_LED_RECV_GAMMA_CFG 9249 //ýտGAMMA -#define NET_DVR_GET_LED_RECV_CFG 9250 //ȡտ -#define NET_DVR_SET_LED_RECV_CFG 9251 //ýտ -#define NET_DVR_GET_LED_RECV_ADVANCED_CFG 9252 //ȡտ߼ -#define NET_DVR_SET_LED_RECV_ADVANCED_CFG 9253 //ýտ߼ -#define NET_DVR_GET_LED_SCREEN_DISPLAY_CFG 9254 //ȡLEDʾ -#define NET_DVR_SET_LED_SCREEN_DISPLAY_CFG 9255 //LEDʾ -/*******************************СLEDʾ end*****************************************/ - -#define NET_DVR_GET_INSERTPLAY_PROGRESS 9273 //ȡ岥 - -#define NET_DVR_GET_SCREEN_CONFIG 9260 //ȡĻ -#define NET_DVR_SET_SCREEN_CONFIG 9261 //Ļ -#define NET_DVR_GET_SCREEN_CONFIG_CAP 9262 //ȡĻ - -#define NET_DVR_GET_SCHEDULE_PUBLISH_PROGRESS 9271 //ȡճ̷ -#define NET_DVR_GET_PUBLISH_UPGRADE_PROGRESS 9272 //ȡϢն - -#define NET_DVR_GET_INPUT_BOARD_CFG 9281 //ȡϢ -#define NET_DVR_GET_INPUT_BOARD_CFG_LIST 9282 //ȡϢб -#define NET_DVR_SET_INPUT_BOARD_CFG 9283 //Ϣ - -#define NET_DVR_GET_INPUT_SOURCE_TEXT_CAP 9284 //ȡԴַ -#define NET_DVR_GET_INPUT_SOURCE_TEXT_CFG 9285 //ȡԴַӲ -#define NET_DVR_GET_INPUT_SOURCE_TEXT_CFG_LSIT 9286 //ȡԴַӲб -#define NET_DVR_SET_INPUT_SOURCE_TEXT_CFG 9287 //ԴַӲ -#define NET_DVR_SET_INPUT_SOURCE_TEXT_CFG_LIST 9288 //ԴַӲб -#define NET_DVR_GET_INPUT_SOURCE_RESOLUTION_CAP 9289 //ȡԴԶֱ -#define NET_DVR_GET_INPUT_SOURCE_RESOLUTION_CFG 9290 //ȡԴԶֱʲ -#define NET_DVR_GET_INPUT_SOURCE_RESOLUTION_CFG_LIST 9291 //ȡԴԶֱб -#define NET_DVR_SET_INPUT_SOURCE_RESOLUTION_CFG 9292 //ԴԶֱʲ -#define NET_DVR_SET_INPUT_SOURCE_RESOLUTION_CFG_LIST 9293 //ԴԶֱʲ -#define NET_DVR_GET_LED_AREA_INFO_LIST 9295 //ȡLEDб - -#define NET_DVR_GET_DISPINPUT_CFG 9296 //ȡʾ -#define NET_DVR_GET_DISPINPUT_CFG_LIST 9297 //ȡʾ -#define NET_DVR_SET_DISPINPUT_CFG 9298 //ʾ -#define NET_DVR_GET_DISPINPUT_CFG_CAP 9299 //ȡʾ -#define NET_DVR_GET_CURRENT_VALID_PORT 9300 //ȡǰЧ,ӵĶ˿ - -#define NET_DVR_SET_ONLINE_UPGRADE 9301 // -#define NET_DVR_GET_ONLINEUPGRADE_PROGRESS 9302 //ȡ -#define NET_DVR_GET_FIRMWARECODE 9303 //ȡʶ -#define NET_DVR_GET_ONLINEUPGRADE_SERVER 9304 //ȡ״̬ -#define NET_DVR_GET_ONLINEUPGRADE_VERSION 9305 //ȡ°汾Ϣ -#define NET_DVR_GET_RECOMMEN_VERSION 9306 //ǷƼ˰汾 -#define NET_DVR_GET_ONLINEUPGRADE_ABILITY 9309 //ȡ - -#define NET_DVR_GET_FIBER_CONVERT_BASIC_INFO_V50 9310 //ȡԶշϢV50 -#define NET_DVR_GET_FIBER_CONVERT_WORK_STATE_V50 9311 //ȡԶշ״̬ - -#define NET_SDK_LED_SCREEN_CHECK 9312 //LEDĻУ -#define NET_SDK_GENERATE_OUTPUT_CONTROL 9315 //ͨչģ -#define NET_SDK_GET_MATRIX_STATUS_V51 9313 /*ȡƵۺƽ̨״̬*/ - -//DS-19D2000-S V2.0 ò -#define NET_DVR_GET_ALARM_LINKAGE_CFG 9316 //ȡò -#define NET_DVR_SET_ALARM_LINKAGE_CFG 9317 //öò - - -#define NET_DVR_GET_RS485_WORK_MODE 10001 //ȡRS485ڹģʽ -#define NET_DVR_SET_RS485_WORK_MODE 10002 //RS485ڹģʽ -#define NET_DVR_GET_SPLITTER_TRANS_CHAN_CFG 10003 //ȡ͸ͨ -#define NET_DVR_SET_SPLITTER_TRANS_CHAN_CFG 10004 //͸ͨ - -#define NET_DVR_GET_RS485_PROTOCOL_VERSION 10301 //ȡRS485Э汾Ϣ -#define NET_DVR_ALARMHOST_REGISTER_DETECTOR 10302 //Զע̽ - -#define NET_DVR_GET_SIP_CFG 11001 //IPӻȡSIP -#define NET_DVR_SET_SIP_CFG 11002 //IPӻSIP -#define NET_DVR_GET_IP_VIEW_DEVCFG 11003 //ȡIPԽֻ -#define NET_DVR_SET_IP_VIEW_DEVCFG 11004 //IPԽֻ -#define NET_DVR_GET_IP_VIEW_AUDIO_CFG 11005 //ȡIPԽֻƵ -#define NET_DVR_SET_IP_VIEW_AUDIO_CFG 11006 //IPԽֻƵ -#define NET_DVR_GET_IP_VIEW_CALL_CFG 11007 //ȡIPԽֻв -#define NET_DVR_SET_IP_VIEW_CALL_CFG 11008 //IPԽֻв -#define NET_DVR_GET_AUDIO_LIMIT_ALARM_CFG 11009 //ȡò -#define NET_DVR_SET_AUDIO_LIMIT_ALARM_CFG 11010 //ò -#define NET_DVR_GET_BUTTON_DOWN_ALARM_CFG 11011 //ȡť¸澯ò -#define NET_DVR_SET_BUTTON_DOWN_ALARM_CFG 11012 //ðť¸澯ò - -#define NET_DVR_GET_ISCSI_CFG 11070 // ȡISCSI洢Э -#define NET_DVR_SET_ISCSI_CFG 11071 // ȡISCSI洢Э - -#define NET_DVR_GET_SECURITYMODE 12004 //ȡǰȫģʽ -//2013-11-21 ȡ豸ǰ¶Ⱥʪ -#define NET_DVR_GET_TEMP_HUMI 12005 - -//2014-02-15 IPCԶĿ -#define NET_DVR_SET_ALARMSOUNDMODE 12006 //ñģʽ -#define NET_DVR_GET_ALARMSOUNDMODE 12007 //ȡģʽ - -#define NET_DVR_SET_IPDEVICE_ACTIVATED 13000//ͨNVRǰ豸 -#define NET_DVR_GET_DIGITAL_CHAN_SECURITY_STATUS 13001 //ȡͨӦ豸ȫ״̬ -#define NET_DVR_GET_ACTIVATE_IPC_ABILITY 13003 //ȡNVRIPC - - -/*******************************¥ӶԽ start***********************************/ -#define NET_DVR_GET_VIDEO_INTERCOM_DEVICEID_CFG 16001 //ȡӶԽ豸 -#define NET_DVR_SET_VIDEO_INTERCOM_DEVICEID_CFG 16002 //ÿӶԽ豸 -#define NET_DVR_SET_PRIVILEGE_PASSWORD 16003 //ȨϢ -#define NET_DVR_GET_OPERATION_TIME_CFG 16004 //ȡʱ -#define NET_DVR_SET_OPERATION_TIME_CFG 16005 //òʱ -#define NET_DVR_GET_VIDEO_INTERCOM_RELATEDEV_CFG 16006 //ȡ豸 -#define NET_DVR_SET_VIDEO_INTERCOM_RELATEDEV_CFG 16007 //ù豸 -#define NET_DVR_REMOTECONTROL_NOTICE_DATA 16008 //Ϣ· -#define NET_DVR_REMOTECONTROL_GATEWAY 16009 //Զ̿ -#define NET_DVR_REMOTECONTROL_OPERATION_AUTH 16010 //Ȩ֤ - -#define NET_DVR_GET_VIDEO_INTERCOM_IOIN_CFG 16016 //ȡIO -#define NET_DVR_SET_VIDEO_INTERCOM_IOIN_CFG 16017 //IO -#define NET_DVR_GET_VIDEO_INTERCOM_IOOUT_CFG 16018 //ȡIO -#define NET_DVR_SET_VIDEO_INTERCOM_IOOUT_CFG 16019 //IO -#define NET_DVR_GET_ELEVATORCONTROL_CFG 16020 //ȡݿ -#define NET_DVR_SET_ELEVATORCONTROL_CFG 16021 //ݿ -#define NET_DVR_GET_VIDEOINTERCOM_STREAM 16022 //ȡӶԽͨ -#define NET_DVR_SET_VIDEOINTERCOM_STREAM 16023 //ÿӶԽͨ -#define NET_DVR_GET_WDR_CFG 16024 //ȡ̬ -#define NET_DVR_SET_WDR_CFG 16025 //ÿ̬ -#define NET_DVR_GET_VIS_DEVINFO 16026 //ȡ豸Ϣ -#define NET_DVR_GET_VIS_REGISTER_INFO 16027 //ȡ豸ע豸Ϣ -#define NET_DVR_GET_ELEVATORCONTROL_CFG_V40 16028 //ȡݿ-չ -#define NET_DVR_SET_ELEVATORCONTROL_CFG_V40 16029 //ݿ-չ -#define NET_DVR_GET_CALL_ROOM_CFG 16030 //ȡס -#define NET_DVR_SET_CALL_ROOM_CFG 16031 //ðס -#define NET_DVR_VIDEO_CALL_SIGNAL_PROCESS 16032 //ӻԽ -#define NET_DVR_GET_CALLER_INFO 16033 //ȡгϢ -#define NET_DVR_GET_CALL_STATUS 16034 //ȡͨ״̬ -#define NET_DVR_GET_SERVER_DEVICE_INFO 16035 //ȡ豸б -#define NET_DVR_SET_CALL_SIGNAL 16036 //ӶԽֻ˷ -#define NET_DVR_GET_VIDEO_INTERCOM_ALARM_CFG 16037 //ȡӶԽ¼ -#define NET_DVR_SET_VIDEO_INTERCOM_ALARM_CFG 16038 //ÿӶԽ¼ -#define NET_DVR_GET_RING_LIST 16039 //ѯб - -#define NET_DVR_GET_ROOM_CUSTOM_CFG 16040 //Զȡ -#define NET_DVR_SET_ROOM_CUSTOM_CFG 16041 //Զ -#define NET_DVR_GET_ELEVATORCONTROL_CFG_V50 16042 //ȡݿV50 -#define NET_DVR_SET_ELEVATORCONTROL_CFG_V50 16043 //ݿV50 -#define NET_DVR_GET_SIP_CFG_V50 16044 //ȡSIPV50 -#define NET_DVR_SET_SIP_CFG_V50 16045 //SIPV50 -#define NET_DVR_GET_NOTICE_VIDEO_DATA 16050 //Ƶȡ - -/*******************************¥ӶԽ end***********************************/ - -#define NET_DVR_DEBUGINFO_START 18000 //豸Ϣ -#define NET_DVR_AUTO_TEST_START 18001 //ԶԳӻȡ - -#define NET_DVR_GET_SELFCHECK_RESULT 20000 //ȡ豸Լ -#define NET_DVR_SET_TEST_COMMAND 20001 //òԿ -#define NET_DVR_SET_TEST_DEVMODULE 20002 //òӲģ -#define NET_DVR_GET_TEST_DEVMODULE 20003 //ȡӲģ - -#define NET_DVR_SET_AUTOFOCUS_TEST 20004 //ԶԽ 2013-10-26 -#define NET_DVR_CHECK_USER_STATUS 20005 //ûǷ -#define NET_DVR_GET_TEST_COMMAND 20010 //ȡԿ -#define NET_DVR_GET_DIAL_SWITCH_CFG 20200 //ȡ뿪Ϣ -#define NET_DVR_SET_AGING_TRICK_SCAN 20201 //ϻǰ󹤾߲ -#define NET_DVR_GET_ECCENTRIC_CORRECT_STATE 20202 //ȡȡƫУ״̬ - -#define NET_DVR_GET_THERMOMETRYRULE_TEMPERATURE_INFO 23001 //ֶȡ¹¶Ϣ - -#define NET_DVR_T1_TEST_CMD 131073 //ãͨı־ʲô.ݳȲô1024 -//ʽΪ//ָ豸Ĭϲػ - -// ֶƲ˵ģʽⲿ -#define NET_DVR_GET_MEMU_OUTPUT_MODE 155649 // ȡ˵ģʽ -#define NET_DVR_SET_MEMU_OUTPUT_MODE 155650 // ò˵ģʽ - -/***************************DS9000(_V30) end *****************************/ - -#define NET_DVR_GET_DEV_LOGIN_RET_INFO 16777200 //豸½ز - - -#define NET_DVR_GET_TEST_VERSION_HEAD 268435441 //ȡ԰汾ͷ -#define NET_DVR_SET_TEST_VERSION_HEAD 268435442 //ò԰汾ͷ -#define NET_DVR_GET_TEST_VERSION_HEAD_V1 268435443 //ȡ԰汾ͷ-ڶ -#define NET_DVR_SET_TEST_VERSION_HEAD_V1 268435444 //ò԰汾ͷ-ڶ -#define NET_DVR_GET_TEST_VERSION_HEAD_V2 268435445 //ȡ԰汾ͷ- -#define NET_DVR_SET_TEST_VERSION_HEAD_V2 268435446 //ò԰汾ͷ- - -#define NET_DVR_GET_TEST_VERSION_HEAD_ONLY_0 268435447 //ȡ԰汾ͷ,ǰһ汾 -#define NET_DVR_SET_TEST_VERSION_HEAD_ONLY_0 268435448 //ò԰汾ͷ,ǰһ汾 - - -#define MAX_LOCAL_ADDR_LEN 96 //SOCKS󱾵θ -#define MAX_COUNTRY_NAME_LEN 4 //ҼдƳ - -/************************DVR־ begin***************************/ - -/* */ -// -#define MAJOR_ALARM 0x1 -// -#define MINOR_ALARM_IN 0x1 /* */ -#define MINOR_ALARM_OUT 0x2 /* */ -#define MINOR_MOTDET_START 0x3 /* ƶⱨʼ */ -#define MINOR_MOTDET_STOP 0x4 /* ƶⱨ */ -#define MINOR_HIDE_ALARM_START 0x5 /* ڵʼ */ -#define MINOR_HIDE_ALARM_STOP 0x6 /* ڵ */ -#define MINOR_VCA_ALARM_START 0x7 /*ܱʼ*/ -#define MINOR_VCA_ALARM_STOP 0x8 /*ֹܱͣ*/ -#define MINOR_ITS_ALARM_START 0x09 // ͨ¼ʼ -#define MINOR_ITS_ALARM_STOP 0x0A // ͨ¼ -//2010-11-10 籨־ -#define MINOR_NETALARM_START 0x0b /*籨ʼ*/ -#define MINOR_NETALARM_STOP 0x0c /*籨*/ -//2010-12-16 ־"MINOR_ALARM_IN"ʹ -#define MINOR_NETALARM_RESUME 0x0d /*籨ָ*/ -//2012-4-5 IPC PIRߡȱ -#define MINOR_WIRELESS_ALARM_START 0x0e /* ߱ʼ */ -#define MINOR_WIRELESS_ALARM_STOP 0x0f /* ߱ */ -#define MINOR_PIR_ALARM_START 0x10 /* Ӧʼ */ -#define MINOR_PIR_ALARM_STOP 0x11 /* Ӧ */ -#define MINOR_CALLHELP_ALARM_START 0x12 /* ȱʼ */ -#define MINOR_CALLHELP_ALARM_STOP 0x13 /* ȱ */ -#define MINOR_IPCHANNEL_ALARMIN_START 0x14 //ͨ뿪ʼPCNVRڽյͨMINOR_ALARM_INͨ뿪ʼ10sղMINOR_ALARM_INͨ -#define MINOR_IPCHANNEL_ALARMIN_STOP 0x15 //ͨ뿪ʼͬ -#define MINOR_DETECTFACE_ALARM_START 0x16 /* ⱨʼ */ -#define MINOR_DETECTFACE_ALARM_STOP 0x17 /* ⱨ */ -#define MINOR_VQD_ALARM_START 0x18 //VQD -#define MINOR_VQD_ALARM_STOP 0x19 //VQD -#define MINOR_VCA_SECNECHANGE_DETECTION 0x1a //ⱨ 2013-07-16 - -#define MINOR_SMART_REGION_EXITING_BEGIN 0x1b //뿪⿪ʼ -#define MINOR_SMART_REGION_EXITING_END 0x1c //뿪 -#define MINOR_SMART_LOITERING_BEGIN 0x1d //ǻ⿪ʼ -#define MINOR_SMART_LOITERING_END 0x1e //ǻ - -#define MINOR_VCA_ALARM_LINE_DETECTION_BEGIN 0x20 -#define MINOR_VCA_ALARM_LINE_DETECTION_END 0x21 -#define MINOR_VCA_ALARM_INTRUDE_BEGIN 0x22 //⿪ʼ -#define MINOR_VCA_ALARM_INTRUDE_END 0x23 // -#define MINOR_VCA_ALARM_AUDIOINPUT 0x24 //Ƶ쳣 -#define MINOR_VCA_ALARM_AUDIOABNORMAL 0x25 //ǿͻ -#define MINOR_VCA_DEFOCUS_DETECTION_BEGIN 0x26 //齹⿪ʼ -#define MINOR_VCA_DEFOCUS_DETECTION_END 0x27 //齹 - -//NVR -#define MINOR_EXT_ALARM 0x28/*IPCⲿ*/ -#define MINOR_VCA_FACE_ALARM_BEGIN 0x29 /*⿪ʼ*/ -#define MINOR_SMART_REGION_ENTRANCE_BEGIN 0x2a //⿪ʼ -#define MINOR_SMART_REGION_ENTRANCE_END 0x2b // -#define MINOR_SMART_PEOPLE_GATHERING_BEGIN 0x2c //Աۼ⿪ʼ -#define MINOR_SMART_PEOPLE_GATHERING_END 0x2d //Աۼ -#define MINOR_SMART_FAST_MOVING_BEGIN 0x2e //˶⿪ʼ -#define MINOR_SMART_FAST_MOVING_END 0x2f //˶ - -#define MINOR_VCA_FACE_ALARM_END 0x30 /**/ -#define MINOR_VCA_SCENE_CHANGE_ALARM_BEGIN 0x31 /*⿪ʼ*/ -#define MINOR_VCA_SCENE_CHANGE_ALARM_END 0x32 /**/ -#define MINOR_VCA_ALARM_AUDIOINPUT_BEGIN 0x33 /*Ƶ쳣뿪ʼ*/ -#define MINOR_VCA_ALARM_AUDIOINPUT_END 0x34 /*Ƶ쳣*/ -#define MINOR_VCA_ALARM_AUDIOABNORMAL_BEGIN 0x35 /*ǿͻ⿪ʼ*/ -#define MINOR_VCA_ALARM_AUDIOABNORMAL_END 0x36 /*ǿͻ*/ - -#define MINOR_VCA_LECTURE_DETECTION_BEGIN 0x37 //ڿ⿪ʼ -#define MINOR_VCA_LECTURE_DETECTION_END 0x38 //ڿ -#define MINOR_VCA_ALARM_AUDIOSTEEPDROP 0x39 //ǿ 2014-03-21 -#define MINOR_VCA_ANSWER_DETECTION_BEGIN 0x3a //ش⿪ʼ -#define MINOR_VCA_ANSWER_DETECTION_END 0x3b //ش - -#define MINOR_SMART_PARKING_BEGIN 0x3c //ͣ⿪ʼ -#define MINOR_SMART_PARKING_END 0x3d //ͣ -#define MINOR_SMART_UNATTENDED_BAGGAGE_BEGIN 0x3e //Ʒ⿪ʼ -#define MINOR_SMART_UNATTENDED_BAGGAGE_END 0x3f //Ʒ -#define MINOR_SMART_OBJECT_REMOVAL_BEGIN 0x40 //Ʒȡ⿪ʼ -#define MINOR_SMART_OBJECT_REMOVAL_END 0x41 //Ʒȡ -#define MINOR_SMART_VEHICLE_ALARM_START 0x46 //Ƽ⿪ʼ -#define MINOR_SMART_VEHICLE_ALARM_STOP 0x47 //Ƽ -#define MINOR_THERMAL_FIREDETECTION 0x48 //ȳ⿪ʼ -#define MINOR_THERMAL_FIREDETECTION_END 0x49 //ȳ -#define MINOR_SMART_VANDALPROOF_BEGIN 0x50 //ƻ⿪ʼ -#define MINOR_SMART_VANDALPROOF_END 0x51 //ƻ - -#define MINOR_FACESNAP_MATCH_ALARM_START 0x55 /*ȶԱʼ*/ -#define MINOR_FACESNAP_MATCH_ALARM_STOP 0x56 /*ȶԱ*/ -#define MINOR_ALLOWLIST_FACESNAP_MATCH_ALARM_START 0x57 /*ȶԣİˣʼ*/ -#define MINOR_ALLOWLIST_FACESNAP_MATCH_ALARM_STOP 0x58 /*ȶԣİˣ*/ - -#define MINOR_THERMAL_SHIPSDETECTION 0x5a //ȳֻ -#define MINOR_THERMAL_THERMOMETRY_EARLYWARNING_BEGIN 0x5b //ȳԤʼ -#define MINOR_THERMAL_THERMOMETRY_EARLYWARNING_END 0x5c //ȳԤ -#define MINOR_THERMAL_THERMOMETRY_ALARM_BEGIN 0x5d //ȳ±ʼ -#define MINOR_THERMAL_THERMOMETRY_ALARM_END 0x5e //ȳ± -#define MINOR_THERMAL_THERMOMETRY_DIFF_ALARM_BEGIN 0x5f //ȳ²ʼ -#define MINOR_THERMAL_THERMOMETRY_DIFF_ALARM_END 0x60 //ȳ² -#define MINOR_FACE_THERMOMETRY_ALARM 0x63 //± -#define MINOR_SMART_DENSEFOGDETECTION_BEGIN 0x6e //⿪ʼ -#define MINOR_SMART_DENSEFOGDETECTION_END 0x6f // -#define MINOR_RUNNING_ALARM 0x70 //ܼ -#define MINOR_RETENTION_ALARM 0x71 // -#define MINOR_SAFETY_HELMET_ALARM_START 0x72 /*δȫñⱨʼ*/ -#define MINOR_SAFETY_HELMET_ALARM_STOP 0x73 /*δȫñⱨ*/ -#define MINOR_HFPD_ALARM_START 0x74 /*ƵԱⱨʼ*/ -#define MINOR_HFPD_ALARM_STOP 0x75 /*ƵԱⱨ*/ -#define MINOR_MIXED_TARGET_ALARM_START 0x76 /*Ŀⱨʼ*/ -#define MINOR_MIXED_TARGET_ALARM_STOP 0x77 /*Ŀⱨ*/ -#define MINOR_VCA_PLAY_CELLPHONE_ALARM_BEGIN 0x78 //ֻⱨʼ -#define MINOR_VCA_PLAY_CELLPHONE_ALARM_END 0x79 //ֻⱨ -#define MINOR_VCA_GET_UP_ALARM_BEGIN 0x80 //𴲼ⱨʼ -#define MINOR_VCA_GET_UP_ALARM_END 0x81 //𴲼ⱨ -#define MINOR_VCA_ADV_REACH_HEIGHT_ALARM_BEGIN 0x82 //ʸ߱ʼ -#define MINOR_VCA_ADV_REACH_HEIGHT_ALARM_END 0x83 //ʸ߱ -#define MINOR_VCA_TOILET_TARRY_ALARM_BEGIN 0x84 //޳ʱʼ -#define MINOR_VCA_TOILET_TARRY_ALARM_END 0x85 //޳ʱ -#define MINOR_HUMAN_RECOGNITION_ALARM_BEGIN 0x86 //ʶ𱨾ʼ -#define MINOR_HUMAN_RECOGNITION_ALARM_END 0x87 //ʶ𱨾 -#define MINOR_STUDENTS_STOODUP_ALARM_BEGIN 0x88 //ѧʼ -#define MINOR_STUDENTS_STOODUP_ALARM_END 0x89 //ѧ -#define MINOR_FRAMES_PEOPLE_COUNTING_ALARM 0x8a //ͳƱ -#define MINOR_FACE_SNAP_ALARM_BEGIN 0x8b //ץıʼ -#define MINOR_FACE_SNAP_ALARM_END 0x8c //ץı -#define MINOR_TEACHER_BEHAVIOR_DETECT_ALARM_BEGIN 0x8d //ʦΪⱨʼ -#define MINOR_TEACHER_BEHAVIOR_DETECT_ALARM_END 0x8e //ʦΪⱨ -#define MINOR_PERIMETER_CAPTURE_ALARM_BEGIN 0x8f //ܽץıʼ -#define MINOR_PERIMETER_CAPTURE_ALARM_END 0x90 //ܽץı -#define MINOR_UNREGISTERED_STREET_VENDOR_ALARM 0x91 //Ƿ̯ - -#define MINOR_PERSON_QUEUE_TIME_ALARM_BEGIN 0x92 //Ŷʱⱨʼ -#define MINOR_PERSON_QUEUE_TIME_ALARM_END 0x93 //Ŷʱⱨ -#define MINOR_PERSON_QUEUE_COUNTING_ALARM_BEGIN 0x94 //Ŷⱨʼ -#define MINOR_PERSON_QUEUE_COUNTING_ALARM_END 0x95 //Ŷⱨ -#define MINOR_FACE_SNAP_MATCH_FAILURE_ALARM_START 0x96 //ȶʧܱʼ -#define MINOR_FACE_SNAP_MATCH_FAILURE_ALARM_END 0x97 //ȶʧܱ - - -#define MINOR_ACCESS_CONTROLLER_EVENT 0x100 //޼ -#define MINOR_VIDEO_INTERCOM_EVENT 0x101 //ӶԽ豸¼ -#define MINOR_GJD_EVENT 0x102 //GJD¼ -#define MINOR_LUMINITE_EVENT 0x103 // LUMINITE¼ -#define MINOR_OPTEX_EVENT 0x104 // OPTEX¼ -#define MINOR_CAMERA_DETECTOR_EVENT 0x105 // ¼ -#define MINOR_SECURITY_CONTROL_PANEL_EVENT 0x106 //˽б¼ - -#define MINOR_VCA_SPACE_CHANGE_START 0x10c //쳣⿪ʼ -#define MINOR_VCA_SPACE_CHANGE_STOP 0x10d //쳣 -#define MINOR_MANUAL_ALARM 0x10e //ֶ -#define MINOR_DETECTOR_ALARM 0x10f //̽ -#define MINOR_LINKAGE_ALARM 0x110 // -#define MINOR_VCA_SITUATION_ANALYSIS_START 0x111 //̬Ʒ⿪ʼ -#define MINOR_VCA_SITUATION_ANALYSIS_STOP 0x112 //̬Ʒ -#define MINOR_FIRE_ALARM 0x113 //𾯱 -#define MINOR_SUPERVISE_ALARM 0x114 //ܱ -#define MINOR_SHIELD_ALARM 0x115 //α -#define MINOR_ABNORMAL_ALARM 0x116 //ϱ -#define MINOR_RESIDUAL_CURRENT_ALARM 0x117 //ʣ -#define MINOR_TEMPERATURE_ALARM 0x118 //¶ȱ -#define MINOR_ARC_ALARM 0x119 //绡 - -#define MINOR_VCA_YARD_TARRY_ALARM_BEGIN 0x11a //ŷ糡ʼ -#define MINOR_VCA_YARD_TARRY_ALARM_END 0x11b //ŷ糡 -#define MINOR_VCA_KEY_PERSON_GET_UP_ALARM_BEGIN 0x11c //صԱʼ -#define MINOR_VCA_KEY_PERSON_GET_UP_ALARM_END 0x11d //صԱ -#define MINOR_VCA_SIT_QUIETLY_ALARM_BEGIN 0x11e //һʼ -#define MINOR_VCA_SIT_QUIETLY_ALARM_END 0x11f //һ -#define MINOR_VCA_STAND_UP_ALARM_BEGIN 0x120 //վʼ -#define MINOR_VCA_STAND_UP_ALARM_END 0x121 //վ -#define MINOR_VCA_REACH_HIGHT_ALARM_BEGIN 0x122 //ʸ߱ʼ -#define MINOR_VCA_REACH_HIGHT_ALARM_END 0x123 //ʸ߱ - -#define MINOR_LFPD_ALARM_START 0x124 /*ƵԱⱨʼ*/ -#define MINOR_LFPD_ALARM_STOP 0x125 /*ƵԱⱨ*/ - -#define MINOR_DREDGERDETECTION_ALARM 0x126// ɳⱨ -#define MINOR_STUDENT_BEHAVIOR_ALARM_BEGIN 0x127 //ѧΪʼ -#define MINOR_STUDENT_BEHAVIOR_ALARM_END 0x128 //ѧΪ -#define MINOR_VCA_ALARM_VEHICLEMONITOR 0x129 //(ڳһ⣨Ϣ־) -#define MINOR_WASTEGASDETECTION_ALARM 0x130// ŷʾ¼ϱ -#define MINOR_GREYSCALE_ALARM 0x131// Ҷȱ -#define MINOR_VIBRATION_DETECTION_ALARM_BEGIN 0x132 //ⱨʼ -#define MINOR_VIBRATION_DETECTION_ALARM_END 0x133 //ⱨ -#define MINOR_SMOKE_DETECT_ALARM_BEGIN 0x134 //̼ⱨʼ -#define MINOR_SMOKE_DETECT_ALARM_END 0x135 //̼ⱨ -#define MINOR_METHANE_CONCENTRATION_ALARM 0x136 //Ũ쳣¼ -#define MINOR_METHANE_LIGHTINTENSITY_ALARM 0x137 //ǿ쳣¼ -#define MINOR_SMOG_BEGIN 0x138 //ʼ -#define MINOR_SMOG_END 0x139 // -#define MINOR_VOCS_ALARM 0x140 //VOCs屨 - -//0x400-0x1000 Ž -#define MINOR_ALARMIN_SHORT_CIRCUIT 0x400 //· -#define MINOR_ALARMIN_BROKEN_CIRCUIT 0x401 //· -#define MINOR_ALARMIN_EXCEPTION 0x402 //쳣 -#define MINOR_ALARMIN_RESUME 0x403 //ָ -#define MINOR_HOST_DESMANTLE_ALARM 0x404 //豸𱨾 -#define MINOR_HOST_DESMANTLE_RESUME 0x405 //豸ָ -#define MINOR_CARD_READER_DESMANTLE_ALARM 0x406 //𱨾 -#define MINOR_CARD_READER_DESMANTLE_RESUME 0x407 //ָ -#define MINOR_CASE_SENSOR_ALARM 0x408 //¼뱨 -#define MINOR_CASE_SENSOR_RESUME 0x409 //¼ָ -#define MINOR_STRESS_ALARM 0x40a //вȱ -#define MINOR_OFFLINE_ECENT_NEARLY_FULL 0x40b //¼90% -#define MINOR_CARD_MAX_AUTHENTICATE_FAIL 0x40c //֤ʧܳα -#define MINOR_SD_CARD_FULL 0x40d //SD洢 -#define MINOR_LINKAGE_CAPTURE_PIC 0x40e //ץ¼ -#define MINOR_SECURITY_MODULE_DESMANTLE_ALARM 0x40f //ſذȫģ𱨾 -#define MINOR_SECURITY_MODULE_DESMANTLE_RESUME 0x410 //ſذȫģָ - -#define MINOR_POS_START_ALARM 0x411 //POS -#define MINOR_POS_END_ALARM 0x412 //POS -#define MINOR_FACE_IMAGE_QUALITY_LOW 0x413 //ͼʵ -#define MINOR_FINGE_RPRINT_QUALITY_LOW 0x414 //ָͼʵ -#define MINOR_FIRE_IMPORT_SHORT_CIRCUIT 0x415 //· -#define MINOR_FIRE_IMPORT_BROKEN_CIRCUIT 0x416 //· -#define MINOR_FIRE_IMPORT_RESUME 0x417 //ָ -#define MINOR_FIRE_BUTTON_TRIGGER 0x418 //ť -#define MINOR_FIRE_BUTTON_RESUME 0x419 //ťָ -#define MINOR_MAINTENANCE_BUTTON_TRIGGER 0x41a //άť -#define MINOR_MAINTENANCE_BUTTON_RESUME 0x41b //άťָ -#define MINOR_EMERGENCY_BUTTON_TRIGGER 0x41c //ť -#define MINOR_EMERGENCY_BUTTON_RESUME 0x41d //ťָ -#define MINOR_DISTRACT_CONTROLLER_ALARM 0x41e //ֿ𱨾 -#define MINOR_DISTRACT_CONTROLLER_RESUME 0x41f //ֿ𱨾ָ - -#define MINOR_PERSON_DENSITY_DETECTION_START 0x420 //Աܶȳֵʼ -#define MINOR_PERSON_DENSITY_DETECTION_END 0x421 //Աܶȳֵ - -#define MINOR_CHANNEL_CONTROLLER_DESMANTLE_ALARM 0x422 //ͨ𱨾 -#define MINOR_CHANNEL_CONTROLLER_DESMANTLE_RESUME 0x423 //ͨ𱨾ָ -#define MINOR_CHANNEL_CONTROLLER_FIRE_IMPORT_ALARM 0x424 //ͨ뱨 -#define MINOR_CHANNEL_CONTROLLER_FIRE_IMPORT_RESUME 0x425 //ͨ뱨ָ - -#define MINOR_HEART_RATE_ABNORMAL_BEGIN 0x426 //쳣ʼ -#define MINOR_HEART_RATE_ABNORMAL_END 0x427 //쳣 -#define MINOR_BLOOD_OXYGEN_ABNORMAL_BEGIN 0x428 //Ѫ쳣ʼ -#define MINOR_BLOOD_OXYGEN_ABNORMAL_END 0x429 //Ѫ쳣 -#define MINOR_SYSTOLIC_BLOOD_PRESSURE_ABNORMAL_BEGIN 0x42a //Ѫѹѹ쳣ʼ -#define MINOR_SYSTOLIC_BLOOD_PRESSURE_ABNORMAL_END 0x42b //Ѫѹѹ쳣 -#define MINOR_DIASTOLIC_BLOOD_PRESSURE_ABNORMAL_BEGIN 0x42c //Ѫѹѹ쳣ʼ -#define MINOR_DIASTOLIC_BLOOD_PRESSURE_ABNORMAL_END 0x42d //Ѫѹѹ쳣 -#define MINOR_VCA_LEAVE_POSITION_START 0x42e//ڼ⿪ʼ -#define MINOR_VCA_LEAVE_POSITION_STOP 0x42f//ڼ -#define MINOR_VCA_STOOODUP_START 0x430//⿪ʼ -#define MINOR_VCA_STOOODUP_STOP 0x431// -#define MINOR_VCA_PEOPLENUM_CHANGE_START 0x434//仯ʼ -#define MINOR_VCA_PEOPLENUM_CHANGE_STOP 0x435//仯 -#define MINOR_VCA_RUNNING_START 0x438//Աܿʼ -#define MINOR_VCA_RUNNING_STOP 0x439//Աܽ -#define MINOR_VCA_VIOLENT_MOTION_START 0x43a//˶ʼ -#define MINOR_VCA_VIOLENT_MOTION_STOP 0x43b//˶ -#define MINOR_VCA_FAIL_DOWN_START 0x43c//Աؿʼ -#define MINOR_VCA_FAIL_DOWN_STOP 0x43d//Աؽ -#define MINOR_VCA_RETENTION_START 0x43e//Աʼ -#define MINOR_VCA_RETENTION_STOP 0x43f//Ա - -#define MINOR_PRINTER_OUT_OF_PAPER 0x440 //ӡȱֽ -#define MINOR_LEGAL_EVENT_NEARLY_FULL 0x442 //ߺϷ¼90% -#define MINOR_FIRE_IMPORT_ALARM 0x443 //뱨 -#define MINOR_TRANSACTION_RECORD_NEARLY_FULL 0x444 //׼¼90% - -#define MINOR_ALARM_CUSTOM1 0x900 //ŽԶ屨1 -#define MINOR_ALARM_CUSTOM2 0x901 //ŽԶ屨2 -#define MINOR_ALARM_CUSTOM3 0x902 //ŽԶ屨3 -#define MINOR_ALARM_CUSTOM4 0x903 //ŽԶ屨4 -#define MINOR_ALARM_CUSTOM5 0x904 //ŽԶ屨5 -#define MINOR_ALARM_CUSTOM6 0x905 //ŽԶ屨6 -#define MINOR_ALARM_CUSTOM7 0x906 //ŽԶ屨7 -#define MINOR_ALARM_CUSTOM8 0x907 //ŽԶ屨8 -#define MINOR_ALARM_CUSTOM9 0x908 //ŽԶ屨9 -#define MINOR_ALARM_CUSTOM10 0x909 //ŽԶ屨10 -#define MINOR_ALARM_CUSTOM11 0x90a //ŽԶ屨11 -#define MINOR_ALARM_CUSTOM12 0x90b //ŽԶ屨12 -#define MINOR_ALARM_CUSTOM13 0x90c //ŽԶ屨13 -#define MINOR_ALARM_CUSTOM14 0x90d //ŽԶ屨14 -#define MINOR_ALARM_CUSTOM15 0x90e //ŽԶ屨15 -#define MINOR_ALARM_CUSTOM16 0x90f //ŽԶ屨16 -#define MINOR_ALARM_CUSTOM17 0x910 //ŽԶ屨17 -#define MINOR_ALARM_CUSTOM18 0x911 //ŽԶ屨18 -#define MINOR_ALARM_CUSTOM19 0x912 //ŽԶ屨19 -#define MINOR_ALARM_CUSTOM20 0x913 //ŽԶ屨20 -#define MINOR_ALARM_CUSTOM21 0x914 //ŽԶ屨21 -#define MINOR_ALARM_CUSTOM22 0x915 //ŽԶ屨22 -#define MINOR_ALARM_CUSTOM23 0x916 //ŽԶ屨23 -#define MINOR_ALARM_CUSTOM24 0x917 //ŽԶ屨24 -#define MINOR_ALARM_CUSTOM25 0x918 //ŽԶ屨25 -#define MINOR_ALARM_CUSTOM26 0x919 //ŽԶ屨26 -#define MINOR_ALARM_CUSTOM27 0x91a //ŽԶ屨27 -#define MINOR_ALARM_CUSTOM28 0x91b //ŽԶ屨28 -#define MINOR_ALARM_CUSTOM29 0x91c //ŽԶ屨29 -#define MINOR_ALARM_CUSTOM30 0x91d //ŽԶ屨30 -#define MINOR_ALARM_CUSTOM31 0x91e //ŽԶ屨31 -#define MINOR_ALARM_CUSTOM32 0x91f //ŽԶ屨32 -#define MINOR_ALARM_CUSTOM33 0x920 //ŽԶ屨33 -#define MINOR_ALARM_CUSTOM34 0x921 //ŽԶ屨34 -#define MINOR_ALARM_CUSTOM35 0x922 //ŽԶ屨35 -#define MINOR_ALARM_CUSTOM36 0x923 //ŽԶ屨36 -#define MINOR_ALARM_CUSTOM37 0x924 //ŽԶ屨37 -#define MINOR_ALARM_CUSTOM38 0x925 //ŽԶ屨38 -#define MINOR_ALARM_CUSTOM39 0x926 //ŽԶ屨39 -#define MINOR_ALARM_CUSTOM40 0x927 //ŽԶ屨40 -#define MINOR_ALARM_CUSTOM41 0x928 //ŽԶ屨41 -#define MINOR_ALARM_CUSTOM42 0x929 //ŽԶ屨42 -#define MINOR_ALARM_CUSTOM43 0x92a //ŽԶ屨43 -#define MINOR_ALARM_CUSTOM44 0x92b //ŽԶ屨44 -#define MINOR_ALARM_CUSTOM45 0x92c //ŽԶ屨45 -#define MINOR_ALARM_CUSTOM46 0x92d //ŽԶ屨46 -#define MINOR_ALARM_CUSTOM47 0x92e //ŽԶ屨47 -#define MINOR_ALARM_CUSTOM48 0x92f //ŽԶ屨48 -#define MINOR_ALARM_CUSTOM49 0x930 //ŽԶ屨49 -#define MINOR_ALARM_CUSTOM50 0x931 //ŽԶ屨50 -#define MINOR_ALARM_CUSTOM51 0x932 //ŽԶ屨51 -#define MINOR_ALARM_CUSTOM52 0x933 //ŽԶ屨52 -#define MINOR_ALARM_CUSTOM53 0x934 //ŽԶ屨53 -#define MINOR_ALARM_CUSTOM54 0x935 //ŽԶ屨54 -#define MINOR_ALARM_CUSTOM55 0x936 //ŽԶ屨55 -#define MINOR_ALARM_CUSTOM56 0x937 //ŽԶ屨56 -#define MINOR_ALARM_CUSTOM57 0x938 //ŽԶ屨57 -#define MINOR_ALARM_CUSTOM58 0x939 //ŽԶ屨58 -#define MINOR_ALARM_CUSTOM59 0x93a //ŽԶ屨59 -#define MINOR_ALARM_CUSTOM60 0x93b //ŽԶ屨60 -#define MINOR_ALARM_CUSTOM61 0x93c //ŽԶ屨61 -#define MINOR_ALARM_CUSTOM62 0x93d //ŽԶ屨62 -#define MINOR_ALARM_CUSTOM63 0x93e //ŽԶ屨63 -#define MINOR_ALARM_CUSTOM64 0x93f //ŽԶ屨64 -#define MINOR_LOCK_HIJIACK_FINGER_ALARM 0x950 //ٳָƱ -#define MINOR_LOCK_HIJIACK_PASSWORD_ALARM 0x951 //ٳ뱨 -#define MINOR_LOCK_PRY_DOOR_ALARM 0x952 //ű -#define MINOR_LOCK_LOCKED_ALARM 0x953 // -#define MINOR_LOCK_BATTERLOW_ALARM 0x954 //͵ѹ -#define MINOR_LOCK_BLOCKLIST_DOOR_ALARM 0x955 //ֹ -#define MINOR_LOCK_OFFLINE_ALARM 0x956 //߱ -#define MINOR_LOCK_UNCLOSED_ALARM 0x957 //ڱ -#define MINOR_LOCK_NO_HOME_ALARM 0x958 //ûδؼұ -#define MINOR_LOCK_MAGNETOMETER_ALARM 0x959 //Ŵ̽ -#define MINOR_LOCK_IR_DETECTOR_ALARM 0x95a //̽ -#define MINOR_LOCK_FP_LOCKED_ALARM 0x95b //ָ -#define MINOR_LOCK_PASSWORD_LOCKED_ALARM 0x95c // -#define MINOR_LOCK_HIJIACK_ALARM 0x95d //ٳֱ - -//2018-04-23 ͨر־ -#define MINOR_ALARMHOST_SHORT_CIRCUIT 0x1001 //· -#define MINOR_ALARMHOST_BROKEN_CIRCUIT 0x1002 //· -#define MINOR_ALARMHOST_ALARM_RESET 0x1003 //λ -#define MINOR_ALARMHOST_ALARM_NORMAL 0x1004 //ָ -#define MINOR_ALARMHOST_PASSWORD_ERROR 0x1005 //3 -#define MINOR_ALARMHOST_ID_CARD_ILLEGALLY 0x1006 //ǷӦID -#define MINOR_ALARMHOST_KEYPAD_REMOVE 0x1007 //̷ -#define MINOR_ALARMHOST_KEYPAD_REMOVE_RESTORE 0x1008 //̷λ - -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT1 0x1011 //ģڱ1 -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT2 0x1012 //ģڱ2 -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT3 0x1013 //ģڱ3 -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT4 0x1014 //ģڱ4 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT1 0x1015 //ģڱ1 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT2 0x1016 //ģڱ2 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT3 0x1017 //ģڱ3 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT4 0x1018 //ģڱ4 - -#define MINOR_ALARMHOST_VIRTUAL_DEFENCE_SUSPECT 0x1021 //˾ -#define MINOR_ALARMHOST_VIRTUAL_DEFENCE_FIRE 0x1022 // -#define MINOR_ALARMHOST_VIRTUAL_DEFENCE_URGENT 0x1023 // - -#define MINOR_UPS_ALARM 0x1028 //UPS -#define MINOR_ELECTRICITY_METER_ALARM 0x1029 //ܵ -#define MINOR_SWITCH_POWER_ALARM 0x1030 //صԴ -#define MINOR_GAS_DETECT_SYS_ALARM 0x1031 //ϵͳ -#define MINOR_TRANSFORMER_TEMPRATURE_ALARM 0x1032 //Ա -#define MINOR_TEMP_HUMI_ALARM 0x1033 //ʪȴ -#define MINOR_UPS_ALARM_RESTORE 0x1034 //UPSָ -#define MINOR_ELECTRICITY_METER_ALARM_RESTORE 0x1035 //ָܵ -#define MINOR_SWITCH_POWER_ALARM_RESTORE 0x1036 //صԴָ -#define MINOR_GAS_DETECT_SYS_ALARM_RESTORE 0x1037 //ϵͳָ -#define MINOR_TRANSFORMER_TEMPRATURE_ALARM_RESTORE 0x1038 //Աָ -#define MINOR_TEMP_HUMI_ALARM_RESTORE 0x1039 //ʪȴָ -#define MINOR_WATER_LEVEL_SENSOR_ALARM 0x1040 //ˮλ -#define MINOR_WATER_LEVEL_SENSOR_ALARM_RESTORE 0x1041 //ˮλָ -#define MINOR_DUST_NOISE_ALARM 0x1042 //ﳾ -#define MINOR_DUST_NOISE_ALARM_RESTORE 0x1043 //ﳾָ -#define MINOR_ENVIRONMENTAL_LOGGER_ALARM 0x1044 //ɼDZ -#define MINOR_ENVIRONMENTAL_LOGGER_ALARM_RESTORE 0x1045 //ɼDZָ - -#define MINOR_TRIGGER_TAMPER 0x1046 //̽ -#define MINOR_TRIGGER_TAMPER_RESTORE 0x1047 //ָ̽ -#define MINOR_EMERGENCY_CALL_HELP_ALARM 0x1048 // -#define MINOR_EMERGENCY_CALL_HELP_ALARM_RESTORE 0x1049 //ָ -#define MINOR_CONSULTING_ALARM 0x1050 //ҵѯ -#define MINOR_CONSULTING_ALARM_RESTORE 0x1051 //ҵѯָ -#define MINOR_ALARMHOST_ZONE_MODULE_REMOVE 0x1052 //ģ -#define MINOR_ALARMHOST_ZONE_MODULE_RESET 0x1053 //ģλ - -#define MINOR_ALARMHOST_ALARM_WIND_SPEED_ALARM 0x1054 //ٴ澯 -#define MINOR_ALARMHOST_ALARM_WIND_SPEED_ALARM_RESTORE 0x1055 //ٴ澯ָ -#define MINOR_ALARMHOST_ALARM_GENERATE_OUTPUT_ALARM 0x1056 //ͨչģ澯 -#define MINOR_ALARMHOST_ALARM_GENERATE_OUTPUT_RESTORE 0x1057 //ͨչģ澯ָ -#define MINOR_ALARMHOST_ALARM_SOAK_ALARM 0x1058 //ˮ澯 -#define MINOR_ALARMHOST_ALARM_SOAK_ALARM_RESTORE 0x1059 //ˮ澯ָ -#define MINOR_ALARMHOST_ALARM_SOLAR_POWER_ALARM 0x1060 //̫ܴ澯 -#define MINOR_ALARMHOST_ALARM_SOLAR_POWER_ALARM_RESTORE 0x1061 //̫ܴ澯ָ -#define MINOR_ALARMHOST_ALARM_SF6_ALARM 0x1062 //SF6澯 -#define MINOR_ALARMHOST_ALARM_SF6_ALARM_RESTORE 0x1063 //SF6澯ָ -#define MINOR_ALARMHOST_ALARM_WEIGHT_ALARM 0x1064 //Ǹ澯 -#define MINOR_ALARMHOST_ALARM_WEIGHT_ALARM_RESTORE 0x1065 //Ǹ澯ָ -#define MINOR_ALARMHOST_ALARM_WEATHER_ALARM 0x1066 //ɼϵͳ澯 -#define MINOR_ALARMHOST_ALARM_WEATHER_ALARM_RESTORE 0x1067 //ɼϵͳ澯ָ -#define MINOR_ALARMHOST_ALARM_FUEL_GAS_ALARM 0x1068 //ȼʾϵͳ澯 -#define MINOR_ALARMHOST_ALARM_FUEL_GAS_ALARM_RESTORE 0x1069 //ȼʾϵͳ澯 -#define MINOR_ALARMHOST_ALARM_FIRE_ALARM 0x1070 //ֱϵͳ澯 -#define MINOR_ALARMHOST_ALARM_FIRE_ALARM_RESTORE 0x1071 //ֱϵͳ澯ָ -#define MINOR_ALARMHOST_WIRELESS_OUTPUT_MODULE_REMOVE 0x1072 //ģ -#define MINOR_ALARMHOST_WIRELESS_OUTPUT_MODULE_RESET 0x1073 //ģλ -#define MINOR_ALARMHOST_WIRELESS_REPEATER_MODULE_REMOVE 0x1074 //м - -#define MINOR_ALARMHOST_WIRELESS_SIREN_MODULE_REMOVE 0x1075 //߾ŷ -#define MINOR_ALARMHOST_WIRELESS_SIREN_MODULE_RESET 0x1076 //߾ŷλ - -#define MINOR_RS485_DEV_ALARM 0x1077 //RS485豸豸δ֪豸 -#define MINOR_RS485_DEV_RESTORE 0x1078 //RS485豸ָ豸δ֪豸 -#define MINOR_ALARMHOST_ALARM_HOST_ALARM 0x1079 // -#define MINOR_ALARMHOST_ALARM_HOST_RESTORE 0x107a //ָ - -#define MINOR_AIR_CONDITION_DEV_ALARM 0x107b //յ -#define MINOR_AIR_CONDITION_DEV_RESTORE 0x107c //յָ - -#define MINOR_ALARMHOST_WIRELESS_REPEATER_MODULE_RESET 0x107d //мλ - -#define MINOR_ALARM_ELEVATOR_BREAKDOWN 0x107e//ݹ -#define MINOR_WATER_PRESSURE_SENSOR_ALARM 0x107f //ˮѹ -#define MINOR_FLOW_SENSOR_ALARM 0x1080 // -#define MINOR_SENSOR_LINKAGE_ALARM 0x1081 // -#define MINOR_SENSOR_LINKAGE_ALARM_RESTORE 0x1082 //ָ -#define MINOR_SHELF_ABNORMAL_ALARM 0x1083 //쳣 - -//LED 0x1201 ~ 0x1300 -#define MINOR_SYSTEM_CHECK_ALARM 0x1201 //ϵͳⱨ - -/* 쳣 */ -// -#define MAJOR_EXCEPTION 0x2 -// -#define MINOR_SUBSYSTEM_ERROR 0x0a /* ϵͳ쳣 */ -#define MINOR_RAID_ERROR 0x20 /* 쳣 */ -#define MINOR_VI_LOST 0x21 /* ƵźŶʧ */ -#define MINOR_ILLEGAL_ACCESS 0x22 /* Ƿ */ -#define MINOR_HD_FULL 0x23 /* Ӳ */ -#define MINOR_HD_ERROR 0x24 /* Ӳ̴ */ -#define MINOR_DCD_LOST 0x25 /* MODEM (ʹ) */ -#define MINOR_IP_CONFLICT 0x26 /* IPַͻ */ -#define MINOR_NET_BROKEN 0x27 /* Ͽ*/ -#define MINOR_REC_ERROR 0x28 /* ¼ */ -#define MINOR_IPC_NO_LINK 0x29 /* IPC쳣 */ -#define MINOR_VI_EXCEPTION 0x2a /* Ƶ쳣(ֻģͨ) */ -#define MINOR_IPC_IP_CONFLICT 0x2b /*ipc ip ַ ͻ*/ -#define MINOR_SENCE_EXCEPTION 0x2c // 쳣 - -#define MINOR_PIC_REC_ERROR 0x2d /* ץͼ--ȡͼƬļʧ*/ -#define MINOR_VI_MISMATCH 0x2e /* Ƶʽƥ*/ -#define MINOR_RESOLUTION_MISMATCH 0x2f /*ǰ/¼ֱʲƥ */ - -//2009-12-16 Ƶۺƽ̨־ -#define MINOR_FANABNORMAL 0x31 /* Ƶۺƽ̨״̬쳣 */ -#define MINOR_FANRESUME 0x32 /* Ƶۺƽ̨״ָ̬ */ -#define MINOR_SUBSYSTEM_ABNORMALREBOOT 0x33 /* Ƶۺƽ̨6467쳣 */ -#define MINOR_MATRIX_STARTBUZZER 0x34 /* Ƶۺƽ̨dm6467쳣 */ - -//2010-01-22 Ƶۺƽ̨쳣־ -#define MINOR_NET_ABNORMAL 0x35 /*״̬쳣*/ -#define MINOR_MEM_ABNORMAL 0x36 /*ڴ״̬쳣*/ -#define MINOR_FILE_ABNORMAL 0x37 /*ļ״̬쳣*/ -#define MINOR_PANEL_ABNORMAL 0x38 /*ǰ쳣*/ -#define MINOR_PANEL_RESUME 0x39 /*ǰָ*/ -#define MINOR_RS485_DEVICE_ABNORMAL 0x3a /*RS485״̬쳣*/ -#define MINOR_RS485_DEVICE_REVERT 0x3b /*RS485״̬쳣ָ*/ - -//2012-2-18 Ӵ쳣־ -#define MINOR_SCREEN_SUBSYSTEM_ABNORMALREBOOT 0x3c //Ӱ쳣 -#define MINOR_SCREEN_SUBSYSTEM_ABNORMALINSERT 0x3d //Ӱ -#define MINOR_SCREEN_SUBSYSTEM_ABNORMALPULLOUT 0x3e //Ӱγ -#define MINOR_SCREEN_ABNARMALTEMPERATURE 0x3f //¶쳣 -//2012-07-26 Ƶۺƽ̨v2.1 -#define MINOR_HIGH_TEMPERATURE_PROTECT 0x40 //Ӱȱ - -//Netra 2.2.2 -#define MINOR_RECORD_OVERFLOW 0x41 /**/ -#define MINOR_DSP_ABNORMAL 0x42 //DSP쳣 - -//Netra 3.0.0 -#define MINOR_ANR_RECORD_FAIED 0x43 /*ANR¼ʧ*/ -#define MINOR_SPARE_WORK_DEVICE_EXCEPT 0x44 /*ȱ豸쳣*/ -#define MINOR_START_IPC_MAS_FAILED 0x45 /*IPC MASʧ*/ -//256·NVR -#define MINOR_IPCM_CRASH 0x46 /*IPCM쳣*/ -#define MINOR_POE_POWER_EXCEPTION 0x47 /*POE 쳣*/ -#define MINOR_UPLOAD_DATA_CS_EXCEPTION 0x48 //ƴ洢ϴʧ/ -#define MINOR_DIAL_EXCEPTION 0x49 /*쳣*/ -#define MINOR_DEV_EXCEPTION_OFFLINE 0x50 //豸쳣 -#define MINOR_UPGRADEFAIL 0x51 //Զ豸ʧ -#define MINOR_AI_LOST 0x52 /* ƵźŶʧ */ -#define MINOR_SYNC_IPC_PASSWD 0x53 /* ͬIPC쳣 */ -#define MINOR_EZVIZ_OFFLINE 0x54 /* өʯ쳣*/ -#define MINOR_VQD_ABNORMAL 0x55 //VQD쳣 -#define MINOR_ACCESSORIES_PLATE 0x57 //쳣 -#define MINOR_KMS_EXPAMSION_DISK_LOST 0x58 // KMS̶ʧ -#define MINOR_ABNORMAL_PORT 0x59 // ˿쳣 -#define MINOR_CAMERA_ANGLE_ANOMALY 0x60// ӽ쳣 -#define MINOR_DATA_DISK_ERROE 0x61// ̴ -#define MINOR_INTELLIGENT_SYSTEM_RUNNING_ERROR 0x62// ϵͳ쳣 -#define MINOR_FACESNAP_RESOLUTION_OVERFLOW 0x63// ץֱʳ -#define MINOR_SMD_RESOLUTION_OVERFLOW 0x64// SMDֱʳ -#define MINOR_AUDIO_LOSS_EXCEPTION 0x65// Ƶʧ쳣 -#define MINOR_SAFETY_HELMET_EXCEPTION 0x66 //δȫñ쳣 -#define MINOR_VCA_PIC_LENGTH_OVERFLOW 0x67 // VCAͼƬȹ糬2MСͼƬ -#define MINOR_FACE_MODEL_EXCEPTION 0x68// ģͬ쳣 -#define MINOR_SSD_EXCEPTION 0x69 // SSD쳣 -//NVRȺ -#define MINOR_CLUSTER_DEVICE_OFFLINE 0x70 // Ⱥ豸 -#define MINOR_CLUSTER_CONFIG_FAILED 0x71 // Ⱥ豸ʧ -#define MINOR_CLUSTER_DISASTER_TOLERANCE_EXCEPT 0x72 // Ⱥ쳣:ȺCMѡʧ,Ⱥ洢ڲ,Ⱥ,ȺͨԴ,Ⱥ豸 -#define MINOR_CLUSTER_STORFULL_EXCEPTION 0x73 //ȺӲ -#define MINOR_CLUSTER_VERSION_EXCEPTION 0x74 //Ⱥ汾쳣 -#define MINOR_CLUSTER_OFFLINENODE_EXCEPTION 0x75 //Ⱥ -#define MINOR_CLUSTER_RECORDCYCLE_EXCEPTION 0x76 //Ⱥ¼ڲ -#define MINOR_CLUSTER_IPCTRANSFER_EXCEPTION 0x77 //ȺIPCǨʧ -#define MINOR_CLUSTER_IPCONFLICT_EXCEPTION 0x78 // ȺIPͻ¼CMIPַ - -#define MINOR_GET_SUB_STREAM_FAILURE 0x79//ȡʧ -#define MINOR_HDD_SHM_DETECT_EXCEPTION 0x7a//ӲSHM쳣 -#define MINOR_DEVICE_FORTIFY_FAILURE 0x7b//ǰ豸ʧ -#define MINOR_EVENT_UPLOAD_EXCEPTION 0x7c //¼쳣豸ϴ¼ʧܻ߶ˣ - -#define MINOR_LORA_EXCEPTION 0x7d//LoRa쳣 -#define MINOR_AK_OR_SK_IS_EMPTY 0x7e//ƴ洢Ϊ - -#define MINOR_HIGH_HD_TEMPERATURE 0x80 /*Ӳ¶ȹ*/ -#define MINOR_LOW_HD_TEMPERATURE 0x81 /*Ӳ¶ȹ*/ -#define MINOR_HD_IMPACT 0x82 /*Ӳܵ*/ -#define MINOR_HD_BAD_BLOCK 0x83 /*Ӳֻ̳*/ -#define MINOR_SEVERE_HD_FAILURE 0x84 /*Ӳع*/ -#define MINOR_RELEASE_FAILED 0x85 //Ϣʧ -#define MINOR_PORT_CONFLICT 0x86 //˿ڳͻ -#define MINOR_MODULE_STARTUP_FAILED 0x87 //ģʧ -#define MINIOR_VCA_RUNNING_EXCEPTION 0x88 //ܰ쳣 - -//0x400-0x1000 Ž쳣 -#define MINOR_DEV_POWER_ON 0x400 //豸ϵ -#define MINOR_DEV_POWER_OFF 0x401 //豸ر -#define MINOR_WATCH_DOG_RESET 0x402 //Źλ -#define MINOR_LOW_BATTERY 0x403 //صѹ -#define MINOR_BATTERY_RESUME 0x404 //صѹָ -#define MINOR_AC_OFF 0x405 //ϵ -#define MINOR_AC_RESUME 0x406 //ָ -#define MINOR_NET_RESUME 0x407 //ָ -#define MINOR_FLASH_ABNORMAL 0x408 //FLASHд쳣 -#define MINOR_CARD_READER_OFFLINE 0x409 // -#define MINOR_CARD_READER_RESUME 0x40a //߻ָ -#define MINOR_INDICATOR_LIGHT_OFF 0x40b //ָʾƹر -#define MINOR_INDICATOR_LIGHT_RESUME 0x40c //ָʾƻָ -#define MINOR_CHANNEL_CONTROLLER_OFF 0x40d //ͨ -#define MINOR_CHANNEL_CONTROLLER_RESUME 0x40e //ָͨ -#define MINOR_SECURITY_MODULE_OFF 0x40f //ſذȫģ -#define MINOR_SECURITY_MODULE_RESUME 0x410 //ſذȫģ -#define MINOR_BATTERY_ELECTRIC_LOW 0x411 //صѹ(豸ʹ) -#define MINOR_BATTERY_ELECTRIC_RESUME 0x412 //صѹָ(豸ʹ) -#define MINOR_LOCAL_CONTROL_NET_BROKEN 0x413 //͵ؿϿ -#define MINOR_LOCAL_CONTROL_NET_RSUME 0x414 //͵ؿָ -#define MINOR_MASTER_RS485_LOOPNODE_BROKEN 0x415 //RS485·ڵϿ -#define MINOR_MASTER_RS485_LOOPNODE_RESUME 0x416 //RS485·ڵָ -#define MINOR_LOCAL_CONTROL_OFFLINE 0x417 //͵ؿ -#define MINOR_LOCAL_CONTROL_RESUME 0x418 //͵ؿ߻ָ -#define MINOR_LOCAL_DOWNSIDE_RS485_LOOPNODE_BROKEN 0x419 //͵RS485·Ͽ -#define MINOR_LOCAL_DOWNSIDE_RS485_LOOPNODE_RESUME 0x41a //͵RS485·ָ -#define MINOR_DISTRACT_CONTROLLER_ONLINE 0x41b //ֿ -#define MINOR_DISTRACT_CONTROLLER_OFFLINE 0x41c //ֿ -#define MINOR_ID_CARD_READER_NOT_CONNECT 0x41d //֤Ķδӣרã -#define MINOR_ID_CARD_READER_RESUME 0x41e //֤Ķӻָרã -#define MINOR_FINGER_PRINT_MODULE_NOT_CONNECT 0x41f //ָģδӣרã -#define MINOR_FINGER_PRINT_MODULE_RESUME 0x420 //ָģӻָרã -#define MINOR_CAMERA_NOT_CONNECT 0x421 //ͷδ -#define MINOR_CAMERA_RESUME 0x422 //ͷӻָ -#define MINOR_COM_NOT_CONNECT 0x423 //COMδ -#define MINOR_COM_RESUME 0x424 //COMӻָ -#define MINOR_DEVICE_NOT_AUTHORIZE 0x425 //豸δȨ -#define MINOR_PEOPLE_AND_ID_CARD_DEVICE_ONLINE 0x426 //֤豸 -#define MINOR_PEOPLE_AND_ID_CARD_DEVICE_OFFLINE 0x427 //֤豸 -#define MINOR_LOCAL_LOGIN_LOCK 0x428 //ص¼ -#define MINOR_LOCAL_LOGIN_UNLOCK 0x429 //ص¼ -#define MINOR_SUBMARINEBACK_COMM_BREAK 0x42a //뷴DZطͨŶϿ -#define MINOR_SUBMARINEBACK_COMM_RESUME 0x42b //뷴DZطͨŻָ -#define MINOR_MOTOR_SENSOR_EXCEPTION 0x42c //򴫸쳣 -#define MINOR_CAN_BUS_EXCEPTION 0x42d //CAN쳣 -#define MINOR_CAN_BUS_RESUME 0x42e //CAN߻ָ -#define MINOR_GATE_TEMPERATURE_OVERRUN 0x42f //բǻ¶ȳ -#define MINOR_IR_EMITTER_EXCEPTION 0x430 //쳣 -#define MINOR_IR_EMITTER_RESUME 0x431 //ָ -#define MINOR_LAMP_BOARD_COMM_EXCEPTION 0x432 //ưͨ쳣 -#define MINOR_LAMP_BOARD_COMM_RESUME 0x433 //ưͨŻָ -#define MINOR_IR_ADAPTOR_COMM_EXCEPTION 0x434 //תӰͨ쳣 -#define MINOR_IR_ADAPTOR_COMM_RESUME 0x435 //תӰͨŻָ -#define MINOR_PRINTER_ONLINE 0x436 //ӡ -#define MINOR_PRINTER_OFFLINE 0x437 //ӡ -#define MINOR_4G_MOUDLE_ONLINE 0x438 //4Gģ -#define MINOR_4G_MOUDLE_OFFLINE 0x439 //4Gģ -#define MINOR_DSP_START_FAILED 0x43a //DSPʧ -#define MINOR_SMART_REGULATION_NOT_ALLOWED 0x43b //ܹ֧ -#define MINOR_AUXILIARY_BOARD_OFFLINE 0x43c // -#define MINOR_AUXILIARY_BOARD_RESUME 0x43d //߻ָ -#define MINOR_IDCARD_SECURITY_MOUDLE_EXCEPTION 0x43e //֤ȫģ쳣 -#define MINOR_IDCARD_SECURITY_MOUDLE_RESUME 0x43f //֤ȫģָ -#define MINOR_FP_PERIPHERAL_EXCEPTION 0x440 //ָƲɼ쳣 -#define MINOR_FP_PERIPHERAL_RESUME 0x441 //ָƲɼָ -#define MINOR_REPLAY_ATTACK 0x442 //ظ -#define MINOR_TLS_ABNORMAL 0x443 //TLSͨ쳣 -#define MINOR_SMART_PLATE_OFFLINE 0x444 // -#define MINOR_SMART_PLATE_ONLINE 0x445 // -#define MINOR_REFUND_LOCKED 0x446 // -#define MINOR_CODER_ONLINE 0x447 // -#define MINOR_CODER_OFFLINE 0x448 // -#define MINOR_KEYBOARD_OFFLINE 0x449 //С -#define MINOR_KEYBOARD_ONLINE 0x44a //С -#define MINOR_5G_MOUDLE_ONLINE 0x44b //5Gģ -#define MINOR_5G_MOUDLE_OFFLINE 0x44c //5Gģ -#define MINOR_EXTEND_MODULE_ONLINE 0x44d //չģߣչģ飺Ҫusbʽָ֤ƴάģ飬֧ȲΣ -#define MINOR_EXTEND_MODULE_OFFLINE 0x44e //չģߣչģ飺Ҫusbʽָ֤ƴάģ飬֧ȲΣ -#define MINOR_INTERLOCK_SERVER_DISCONNECTED 0x44f //ŻͨŶϿ -#define MINOR_INTERLOCK_SERVER_CONNECTED 0x450 //ŻͨŻָ -#define MINOR_QRCODE_READER_OFFLINE 0x451 //άĶ -#define MINOR_QRCODE_READER_ONLINE 0x452 //άĶ -#define MINOR_HEALTH_INFO_ABNORMAL_LOCK 0x453 //Ϣ쳣 -#define MINOR_HEALTH_INFO_ABNORMAL_UNLOCK 0x454 //Ϣ쳣 - -#define MINOR_EXCEPTION_CUSTOM1 0x900 //ŽԶ쳣1 -#define MINOR_EXCEPTION_CUSTOM2 0x901 //ŽԶ쳣2 -#define MINOR_EXCEPTION_CUSTOM3 0x902 //ŽԶ쳣3 -#define MINOR_EXCEPTION_CUSTOM4 0x903 //ŽԶ쳣4 -#define MINOR_EXCEPTION_CUSTOM5 0x904 //ŽԶ쳣5 -#define MINOR_EXCEPTION_CUSTOM6 0x905 //ŽԶ쳣6 -#define MINOR_EXCEPTION_CUSTOM7 0x906 //ŽԶ쳣7 -#define MINOR_EXCEPTION_CUSTOM8 0x907 //ŽԶ쳣8 -#define MINOR_EXCEPTION_CUSTOM9 0x908 //ŽԶ쳣9 -#define MINOR_EXCEPTION_CUSTOM10 0x909 //ŽԶ쳣10 -#define MINOR_EXCEPTION_CUSTOM11 0x90a //ŽԶ쳣11 -#define MINOR_EXCEPTION_CUSTOM12 0x90b //ŽԶ쳣12 -#define MINOR_EXCEPTION_CUSTOM13 0x90c //ŽԶ쳣13 -#define MINOR_EXCEPTION_CUSTOM14 0x90d //ŽԶ쳣14 -#define MINOR_EXCEPTION_CUSTOM15 0x90e //ŽԶ쳣15 -#define MINOR_EXCEPTION_CUSTOM16 0x90f //ŽԶ쳣16 -#define MINOR_EXCEPTION_CUSTOM17 0x910 //ŽԶ쳣17 -#define MINOR_EXCEPTION_CUSTOM18 0x911 //ŽԶ쳣18 -#define MINOR_EXCEPTION_CUSTOM19 0x912 //ŽԶ쳣19 -#define MINOR_EXCEPTION_CUSTOM20 0x913 //ŽԶ쳣20 -#define MINOR_EXCEPTION_CUSTOM21 0x914 //ŽԶ쳣21 -#define MINOR_EXCEPTION_CUSTOM22 0x915 //ŽԶ쳣22 -#define MINOR_EXCEPTION_CUSTOM23 0x916 //ŽԶ쳣23 -#define MINOR_EXCEPTION_CUSTOM24 0x917 //ŽԶ쳣24 -#define MINOR_EXCEPTION_CUSTOM25 0x918 //ŽԶ쳣25 -#define MINOR_EXCEPTION_CUSTOM26 0x919 //ŽԶ쳣26 -#define MINOR_EXCEPTION_CUSTOM27 0x91a //ŽԶ쳣27 -#define MINOR_EXCEPTION_CUSTOM28 0x91b //ŽԶ쳣28 -#define MINOR_EXCEPTION_CUSTOM29 0x91c //ŽԶ쳣29 -#define MINOR_EXCEPTION_CUSTOM30 0x91d //ŽԶ쳣30 -#define MINOR_EXCEPTION_CUSTOM31 0x91e //ŽԶ쳣31 -#define MINOR_EXCEPTION_CUSTOM32 0x91f //ŽԶ쳣32 -#define MINOR_EXCEPTION_CUSTOM33 0x920 //ŽԶ쳣33 -#define MINOR_EXCEPTION_CUSTOM34 0x921 //ŽԶ쳣34 -#define MINOR_EXCEPTION_CUSTOM35 0x922 //ŽԶ쳣35 -#define MINOR_EXCEPTION_CUSTOM36 0x923 //ŽԶ쳣36 -#define MINOR_EXCEPTION_CUSTOM37 0x924 //ŽԶ쳣37 -#define MINOR_EXCEPTION_CUSTOM38 0x925 //ŽԶ쳣38 -#define MINOR_EXCEPTION_CUSTOM39 0x926 //ŽԶ쳣39 -#define MINOR_EXCEPTION_CUSTOM40 0x927 //ŽԶ쳣40 -#define MINOR_EXCEPTION_CUSTOM41 0x928 //ŽԶ쳣41 -#define MINOR_EXCEPTION_CUSTOM42 0x929 //ŽԶ쳣42 -#define MINOR_EXCEPTION_CUSTOM43 0x92a //ŽԶ쳣43 -#define MINOR_EXCEPTION_CUSTOM44 0x92b //ŽԶ쳣44 -#define MINOR_EXCEPTION_CUSTOM45 0x92c //ŽԶ쳣45 -#define MINOR_EXCEPTION_CUSTOM46 0x92d //ŽԶ쳣46 -#define MINOR_EXCEPTION_CUSTOM47 0x92e //ŽԶ쳣47 -#define MINOR_EXCEPTION_CUSTOM48 0x92f //ŽԶ쳣48 -#define MINOR_EXCEPTION_CUSTOM49 0x930 //ŽԶ쳣49 -#define MINOR_EXCEPTION_CUSTOM50 0x931 //ŽԶ쳣50 -#define MINOR_EXCEPTION_CUSTOM51 0x932 //ŽԶ쳣51 -#define MINOR_EXCEPTION_CUSTOM52 0x933 //ŽԶ쳣52 -#define MINOR_EXCEPTION_CUSTOM53 0x934 //ŽԶ쳣53 -#define MINOR_EXCEPTION_CUSTOM54 0x935 //ŽԶ쳣54 -#define MINOR_EXCEPTION_CUSTOM55 0x936 //ŽԶ쳣55 -#define MINOR_EXCEPTION_CUSTOM56 0x937 //ŽԶ쳣56 -#define MINOR_EXCEPTION_CUSTOM57 0x938 //ŽԶ쳣57 -#define MINOR_EXCEPTION_CUSTOM58 0x939 //ŽԶ쳣58 -#define MINOR_EXCEPTION_CUSTOM59 0x93a //ŽԶ쳣59 -#define MINOR_EXCEPTION_CUSTOM60 0x93b //ŽԶ쳣60 -#define MINOR_EXCEPTION_CUSTOM61 0x93c //ŽԶ쳣61 -#define MINOR_EXCEPTION_CUSTOM62 0x93d //ŽԶ쳣62 -#define MINOR_EXCEPTION_CUSTOM63 0x93e //ŽԶ쳣63 -#define MINOR_EXCEPTION_CUSTOM64 0x93f //ŽԶ쳣64 -#define MINOR_SWITCH_WIRED_NETWORK 0x950 //л -#define MINOR_SWITCH_WIRELESS_NETWORK 0x951 //л -#define MINOR_LOCK_ONLINE_RESUME 0x952 //ָ -#define MINOR_USB_ONLINE 0x953 //USBͷ -#define MINOR_USB_OFFLINE 0x954 //USBͷ - - - -//2018-04-23 ͨ쳣־ -#define MINOR_ALARMHOST_WDT_RESET 0x1003 //WDT λ -#define MINOR_ALARMHOST_RTC_EXCEPTION 0x1007 //RTCʵʱʱ쳣 - -#define MINOR_ALARMHOST_TEL_LINE_CONNECT_FAILURE 0x100a //绰Ӷ -#define MINOR_ALARMHOST_TEL_LINE_CONNECT_RESTORE 0x100b //绰ӻָ -#define MINOR_ALARMHOST_EXPANDER_BUS_LOSS 0x100c //չģ -#define MINOR_ALARMHOST_EXPANDER_BUS_RESTORE 0x100d //չģ߻ָ -#define MINOR_ALARMHOST_KEYPAD_BUS_LOSS 0x100e //ģ -#define MINOR_ALARMHOST_KEYPAD_BUS_RESTORE 0x100f //ģ߻ָ -#define MINOR_ALARMHOST_SENSOR_FAILURE 0x1010 //ģ -#define MINOR_ALARMHOST_SENSOR_RESTORE 0x1011 //ģָ -#define MINOR_ALARMHOST_RS485_CONNECT_FAILURE 0x1012 //RS485ͨӶ -#define MINOR_ALARMHOST_RS485_CONNECT_RESTORE 0x1013 //RS485ͨӶϻָ - -//쳣͡쳣ָ־Ӷϡӻָ־ʱһģû豸֧֡쳣͡쳣ָ͡ -#define MINOR_ALARMHOST_WIRED_NETWORK_ABNORMAL 0x1015 //쳣 -#define MINOR_ALARMHOST_WIRED_NETWORK_RESTORE 0x1016 //ָ -#define MINOR_ALARMHOST_GPRS_ABNORMAL 0x1017 //GPRSͨ쳣 -#define MINOR_ALARMHOST_GPRS_RESTORE 0x1018 //GPRSָ -#define MINOR_ALARMHOST_3G_ABNORMAL 0x1019 //3Gͨ쳣 -#define MINOR_ALARMHOST_3G_RESTORE 0x101a //3Gָ -#define MINOR_ALARMHOST_SIM_CARD_ABNORMAL 0x101b //SIM쳣 -#define MINOR_ALARMHOST_SIM_CARD_RESTORE 0x101c //SIMָ - -#define MINOR_FORMAT_HDD_ERROR 0x1026 //Զ̸ʽӲʧ -#define MINOR_USB_ERROR 0x1027 //USBͨŹ -#define MINOR_USB_RESTORE 0x1028 //USBͨŹϻָ -#define MINOR_PRINT_ERROR 0x1029 //ӡ -#define MINOR_PRINT_RESTORE 0x1030 //ӡϻָ -#define MINOR_ALARMHOST_SUBSYSTEM_COMMUNICATION_ERROR 0x1031 //ӰͨѶ - -#define MINOR_MCU_RESTART 0x1035 //MCU -#define MINOR_GPRS_MODULE_FAULT 0x1036 //GPRSģ -#define MINOR_TELEPHONE_MODULE_FAULT 0x1037 //绰ģ -#define MINOR_WIFI_ABNORMAL 0x1038 //WIFIͨ쳣 -#define MINOR_WIFI_RESTORE 0x1039 //WIFIָ -#define MINOR_RF_ABNORMAL 0x103a //RFź쳣 -#define MINOR_RF_RESTORE 0x103b //RFźŻָ -#define MINOR_DETECTOR_ONLINE 0x103c //̽ -#define MINOR_DETECTOR_OFFLINE 0x103d //̽ -#define MINOR_DETECTOR_BATTERY_NORMAL 0x103e //̽ -#define MINOR_DETECTOR_BATTERY_LOW 0x103f //̽Ƿѹ -#define MINOR_DATA_TRAFFIC_OVERFLOW 0x1040 // -#define MINOR_ALARMHOST_ZONE_MODULE_LOSS 0x1041 //ģ -#define MINOR_ALARMHOST_ZONE_MODULE_RESTORE 0x1042 //ģ߻ָ -#define MINOR_WIRELESS_OUTPUT_LOSS 0x1043 //ģ -#define MINOR_WIRELESS_OUTPUT_RESTORE 0x1044 //ģָ -#define MINOR_WIRELESS_REPEATER_LOSS 0x1045 //м -#define MINOR_WIRELESS_REPEATER_RESTORE 0x1046 //мָ -#define MINOR_ALARMHOST_TRIGGER_MODULE_LOSS 0x1047 //ģ -#define MINOR_ALARMHOST_TRIGGER_MODULE_RESTORE 0x1048 //ģ߻ָ -#define MINOR_ALARMHOST_WIRELESS_SIREN_LOSS 0x1049 //߾ -#define MINOR_ALARMHOST_WIRELESS_SIREN_RESTORE 0x104a //߾Żָ -#define MINOR_TX1_SUB_SYSTEM_EXCEPTION 0x1050 /*TX1ϵͳ쳣*/ -#define MINOR_TX1_REBOOT_EXCEPTION 0x1051 /*TX1ϵͳ쳣*/ -#define MINOR_TX1_SUB_SYSTEM_LOSS 0x1052 /*ϵͳ쳣*/ -#define MINOR_TX1_SUB_SYSTEM_RESTORE 0x1053 /*ϵͳ߻ָ*/ -#define MINOR_WIRELESS_SPEED_EXCEPTION 0x1054 //ߴ쳣 -#define MINOR_SUB_BOARD_HEARTBEAT_EXCEPTION 0x1055 //Ӱ쳣 -#define MINOR_HOTSTANDBY__EXCEPTION 0x1056 //ȱ쳣 -#define MINOR_PRODUCTIONDATA_EXCEPTION 0x1057 //쳣 - - -//LED 쳣 0x1201~0x1300 -#define MINOR_LED_SYSTEM_EXCEPTION 0x1201 //LEDϵͳ쳣 -#define MINOR_FLASH_NOTENOUGH_EXCEPTION 0x1202 //FLASHռ䲻 - -#define MINOR_LOG_EXCEPTION 0x1301 //־쳣 - -//[add]by silujie 2013-3-22 14:16 -//0x2000~0x3fff Ϊ豸־ -//0x4000~0x5000 Ϊ豸쳣־ -#define MINOR_SUBSYSTEM_IP_CONFLICT 0x4000 //ӰIPͻ -#define MINOR_SUBSYSTEM_NET_BROKEN 0x4001 //Ӱ -#define MINOR_FAN_ABNORMAL 0x4002 //쳣 -#define MINOR_BACKPANEL_TEMPERATURE_ABNORMAL 0x4003 //¶쳣 - -#define MINOR_SDCARD_ABNORMAL 0x4004 //SD -#define MINOR_SDCARD_DAMAGE 0x4005 //SD -#define MINOR_POC_ABNORMAL 0x4006 //豸POCģ쳣 -#define MINOR_MAIN_POWER_FAULT 0x4007 // -#define MINOR_BACK_UP_POWER_FAULT 0x4008 // -#define MINOR_TAMPER_FAULT 0x4009 // -#define MINOR_RS232_FAULT 0x400a //232߹ -#define MINOR_RS485_FAULT 0x400b //485߹ -#define MINOR_LAN_STATUS_FAULT 0x400c //LAN߽״̬ -#define MINOR_LAN_LINK1_FAULT 0x400d //LAN·1 -#define MINOR_LAN_LINK2_FAULT 0x400e //LAN·2 -#define MINOR_SIM_CARD_STATUS_FAULT 0x400f //4G-SIM״̬ -#define MINOR_4G_LINK1_FAULT 0x4010 //4G·1 -#define MINOR_4G_LINK2_FAULT 0x4011 //4G·2 -#define MINOR_OTHER_FAULT 0x4012 // -#define MINOR_FIRE_CONTROL_CONNECT_FAULT 0x4013 //ӹ -#define MINOR_SENSOR_SHORT_CIRCUIT 0x4014 //· -#define MINOR_SENSOR_OPEN_CIRCUIT 0x4015 //· -#define MINOR_SENSOR_MIS_CONNECT 0x4016 // -#define MINOR_SENSOR_FAULT_RESTORE 0x4017 //ϻָ -#define MINOR_DEVICE_FAULT 0x4018 //豸 -#define MINOR_OVERVOLTAGE 0X4019 //Դѹ -#define MINOR_UNDERVOLTAGE 0X401a //Դѹ -#define MINOR_PANLOCKING 0x401b //̨ˮƽת -#define MINOR_TILTLOCKING 0x401c //ֱ̨ת -#define MINOR_SUBBOARD_TEMPERATURE_ABNORMAL 0x401d //Ӱ¶쳣 -#define MINOR_EZVIZ_UPGRADE_EXCEPTION 0x401e //өʯ쳣 - -//өʯز쳣־ -#define MINOR_EZVIZ_OPERATION_ABNORMAL 0x4020 //өʯ쳣 - -#define MINOR_IFRAME_IS_TOO_LARGE 0x4030 //Ԥ/طʱI֡ - -/* */ -// -#define MAJOR_OPERATION 0x3 - -// -#define MINOR_VCA_MOTIONEXCEPTION 0x29 //쳣 -#define MINOR_START_DVR 0x41 /* */ -#define MINOR_STOP_DVR 0x42 /* ػ */ -#define MINOR_STOP_ABNORMAL 0x43 /* 쳣ػ */ -#define MINOR_REBOOT_DVR 0x44 /*豸*/ - -#define MINOR_LOCAL_LOGIN 0x50 /* ص½ */ -#define MINOR_LOCAL_LOGOUT 0x51 /* ע½ */ -#define MINOR_LOCAL_CFG_PARM 0x52 /* ò */ -#define MINOR_LOCAL_PLAYBYFILE 0x53 /* ذļطŻ */ -#define MINOR_LOCAL_PLAYBYTIME 0x54 /* ذʱطŻ*/ -#define MINOR_LOCAL_START_REC 0x55 /* ؿʼ¼ */ -#define MINOR_LOCAL_STOP_REC 0x56 /* ֹͣ¼ */ -#define MINOR_LOCAL_PTZCTRL 0x57 /* ̨ */ -#define MINOR_LOCAL_PREVIEW 0x58 /* Ԥ (ʹ)*/ -#define MINOR_LOCAL_MODIFY_TIME 0x59 /* ޸ʱ(ʹ) */ -#define MINOR_LOCAL_UPGRADE 0x5a /* */ -#define MINOR_LOCAL_RECFILE_OUTPUT 0x5b /* ر¼ļ */ -#define MINOR_LOCAL_FORMAT_HDD 0x5c /* سʼӲ */ -#define MINOR_LOCAL_CFGFILE_OUTPUT 0x5d /* ļ */ -#define MINOR_LOCAL_CFGFILE_INPUT 0x5e /* 뱾ļ */ -#define MINOR_LOCAL_COPYFILE 0x5f /* رļ */ -#define MINOR_LOCAL_LOCKFILE 0x60 /* ¼ļ */ -#define MINOR_LOCAL_UNLOCKFILE 0x61 /* ؽ¼ļ */ -#define MINOR_LOCAL_DVR_ALARM 0x62 /* ֶʹ*/ -#define MINOR_IPC_ADD 0x63 /* IPC */ -#define MINOR_IPC_DEL 0x64 /* ɾIPC */ -#define MINOR_IPC_SET 0x65 /* IPC */ -#define MINOR_LOCAL_START_BACKUP 0x66 /* ؿʼ */ -#define MINOR_LOCAL_STOP_BACKUP 0x67 /* ֹͣ*/ -#define MINOR_LOCAL_COPYFILE_START_TIME 0x68 /* رݿʼʱ*/ -#define MINOR_LOCAL_COPYFILE_END_TIME 0x69 /* رݽʱ*/ -#define MINOR_LOCAL_ADD_NAS 0x6a /*Ӳ nfsiscsi*/ -#define MINOR_LOCAL_DEL_NAS 0x6b /* ɾnas nfsiscsi*/ -#define MINOR_LOCAL_SET_NAS 0x6c /* nas nfsiscsi*/ -#define MINOR_LOCAL_RESET_PASSWD 0x6d /* ػָԱĬ*/ - -#define MINOR_REMOTE_LOGIN 0x70 /* Զ̵¼ */ -#define MINOR_REMOTE_LOGOUT 0x71 /* Զע½ */ -#define MINOR_REMOTE_START_REC 0x72 /* Զ̿ʼ¼ */ -#define MINOR_REMOTE_STOP_REC 0x73 /* Զֹͣ¼ */ -#define MINOR_START_TRANS_CHAN 0x74 /* ʼ͸ */ -#define MINOR_STOP_TRANS_CHAN 0x75 /* ֹͣ͸ */ -#define MINOR_REMOTE_GET_PARM 0x76 /* Զ̻ȡ */ -#define MINOR_REMOTE_CFG_PARM 0x77 /* Զò */ -#define MINOR_REMOTE_GET_STATUS 0x78 /* Զ̻ȡ״̬ */ -#define MINOR_REMOTE_ARM 0x79 /* Զ̲ */ -#define MINOR_REMOTE_DISARM 0x7a /* Զ̳ */ -#define MINOR_REMOTE_REBOOT 0x7b /* Զ */ -#define MINOR_START_VT 0x7c /* ʼԽ */ -#define MINOR_STOP_VT 0x7d /* ֹͣԽ */ -#define MINOR_REMOTE_UPGRADE 0x7e /* Զ */ -#define MINOR_REMOTE_PLAYBYFILE 0x7f /* Զ̰ļطŻ */ -#define MINOR_REMOTE_PLAYBYTIME 0x80 /* Զ̰ʱطŻ */ -#define MINOR_REMOTE_PTZCTRL 0x81 /* Զ̨ */ -#define MINOR_REMOTE_FORMAT_HDD 0x82 /* Զ̸ʽӲ */ -#define MINOR_REMOTE_STOP 0x83 /* Զ̹ػ */ -#define MINOR_REMOTE_LOCKFILE 0x84 /* Զļ */ -#define MINOR_REMOTE_UNLOCKFILE 0x85 /* Զ̽ļ */ -#define MINOR_REMOTE_CFGFILE_OUTPUT 0x86 /* Զ̵ļ */ -#define MINOR_REMOTE_CFGFILE_INTPUT 0x87 /* Զ̵ļ */ -#define MINOR_REMOTE_RECFILE_OUTPUT 0x88 /* Զ̵¼ļ */ -#define MINOR_REMOTE_DVR_ALARM 0x89 /* Զֶʹ*/ -#define MINOR_REMOTE_IPC_ADD 0x8a /* ԶIPC */ -#define MINOR_REMOTE_IPC_DEL 0x8b /* ԶɾIPC */ -#define MINOR_REMOTE_IPC_SET 0x8c /* ԶIPC */ -#define MINOR_REBOOT_VCA_LIB 0x8d /*ܿ*/ -#define MINOR_REMOTE_ADD_NAS 0x8e /* Զnas nfsiscsi*/ -#define MINOR_REMOTE_DEL_NAS 0x8f /* Զɾnas nfsiscsi*/ -#define MINOR_REMOTE_SET_NAS 0x90 /* Զnas nfsiscsi*/ -#define MINOR_LOCAL_OPERATE_LOCK 0x9d /* ز */ -#define MINOR_LOCAL_OPERATE_UNLOCK 0x9e /* ز */ -#define MINOR_REMOTE_DELETE_HDISK 0x9a /* Զɾ쳣ڵӲ */ -#define MINOR_REMOTE_LOAD_HDISK 0x9b /* Զ̼Ӳ */ -#define MINOR_REMOTE_UNLOAD_HDISK 0x9c /* ԶжӲ */ -#define MINOR_SCHEDULE_ANGLECALIBRATION 0x139 /*У׼*/ -#define MINOR_OTHER_OPERATE 0x200 /* */ - -//2010-05-26 ѶDVR־ -#define MINOR_LOCAL_START_REC_CDRW 0x91 /* ؿʼѶ */ -#define MINOR_LOCAL_STOP_REC_CDRW 0x92 /* ֹͣѶ */ -#define MINOR_REMOTE_START_REC_CDRW 0x93 /* Զ̿ʼѶ */ -#define MINOR_REMOTE_STOP_REC_CDRW 0x94 /* ԶֹͣѶ */ - -#define MINOR_LOCAL_PIC_OUTPUT 0x95 /* رͼƬļ */ -#define MINOR_REMOTE_PIC_OUTPUT 0x96 /* Զ̱ͼƬļ */ - -//2011-07-26 81ѶDVR־ -#define MINOR_LOCAL_INQUEST_RESUME 0x97 /* ػָѶ¼*/ -#define MINOR_REMOTE_INQUEST_RESUME 0x98 /* Զָ̻Ѷ¼*/ - -//2013-01-23 86ѶNVR־ -#define MINOR_LOCAL_ADD_FILE 0x99 /*صļ*/ -#define MINOR_LOCAL_DEL_FILE 0x9f /*ɾѶ*/ -#define MINOR_REMOTE_INQUEST_ADD_FILE 0x100 /*Զ̵ļ*/ - -//2009-12-16 Ƶۺƽ̨־ -#define MINOR_SUBSYSTEMREBOOT 0xa0 /*Ƶۺƽ̨dm6467 */ -#define MINOR_MATRIX_STARTTRANSFERVIDEO 0xa1 /*Ƶۺƽ̨лʼͼ*/ -#define MINOR_MATRIX_STOPTRANSFERVIDEO 0xa2 /*Ƶۺƽ̨лֹͣͼ*/ -#define MINOR_REMOTE_SET_ALLSUBSYSTEM 0xa3 /*Ƶۺƽ̨6467ϵͳϢ*/ -#define MINOR_REMOTE_GET_ALLSUBSYSTEM 0xa4 /*Ƶۺƽ̨ȡ6467ϵͳϢ*/ -#define MINOR_REMOTE_SET_PLANARRAY 0xa5 /*Ƶۺƽ̨üƻѲ*/ -#define MINOR_REMOTE_GET_PLANARRAY 0xa6 /*Ƶۺƽ̨ȡƻѲ*/ -#define MINOR_MATRIX_STARTTRANSFERAUDIO 0xa7 /*Ƶۺƽ̨лʼƵ*/ -#define MINOR_MATRIX_STOPRANSFERAUDIO 0xa8 /*Ƶۺƽ̨лֹͣƵ*/ -#define MINOR_LOGON_CODESPITTER 0xa9 /*Ƶۺƽ̨½*/ -#define MINOR_LOGOFF_CODESPITTER 0xaa /*Ƶۺƽ̨˳*/ - -//2010-01-22 Ƶۺƽ̨н־ -#define MINOR_START_DYNAMIC_DECODE 0xb0 /*ʼ̬*/ -#define MINOR_STOP_DYNAMIC_DECODE 0xb1 /*ֹ̬ͣ*/ -#define MINOR_GET_CYC_CFG 0xb2 /*ȡͨѲ*/ -#define MINOR_SET_CYC_CFG 0xb3 /*ýͨѲ*/ -#define MINOR_START_CYC_DECODE 0xb4 /*ʼѲ*/ -#define MINOR_STOP_CYC_DECODE 0xb5 /*ֹͣѲ*/ -#define MINOR_GET_DECCHAN_STATUS 0xb6 /*ȡͨ״̬*/ -#define MINOR_GET_DECCHAN_INFO 0xb7 /*ȡͨǰϢ*/ -#define MINOR_START_PASSIVE_DEC 0xb8 /*ʼ*/ -#define MINOR_STOP_PASSIVE_DEC 0xb9 /*ֹͣ*/ -#define MINOR_CTRL_PASSIVE_DEC 0xba /*Ʊ*/ -#define MINOR_RECON_PASSIVE_DEC 0xbb /**/ -#define MINOR_GET_DEC_CHAN_SW 0xbc /*ȡͨܿ*/ -#define MINOR_SET_DEC_CHAN_SW 0xbd /*ýͨܿ*/ -#define MINOR_CTRL_DEC_CHAN_SCALE 0xbe /*ͨſ*/ -#define MINOR_SET_REMOTE_REPLAY 0xbf /*Զ̻ط*/ -#define MINOR_GET_REMOTE_REPLAY 0xc0 /*ȡԶ̻ط״̬*/ -#define MINOR_CTRL_REMOTE_REPLAY 0xc1 /*Զ̻طſ*/ -#define MINOR_SET_DISP_CFG 0xc2 /*ʾͨ*/ -#define MINOR_GET_DISP_CFG 0xc3 /*ȡʾͨ*/ -#define MINOR_SET_PLANTABLE 0xc4 /*üƻѲ*/ -#define MINOR_GET_PLANTABLE 0xc5 /*ȡƻѲ*/ -#define MINOR_START_PPPPOE 0xc6 /*ʼPPPoE*/ -#define MINOR_STOP_PPPPOE 0xc7 /*PPPoE*/ -#define MINOR_UPLOAD_LOGO 0xc8 /*ϴLOGO*/ -//ģʽ־ -#define MINOR_LOCAL_PIN 0xc9 /* PINܲ */ -#define MINOR_LOCAL_DIAL 0xca /* ֶϿ */ -#define MINOR_SMS_CONTROL 0xcb /* ſ */ -#define MINOR_CALL_ONLINE 0xcc /* п */ -#define MINOR_REMOTE_PIN 0xcd /* ԶPINܲ */ - -//2010-12-16 ־ -#define MINOR_REMOTE_BYPASS 0xd0 /* Զ·*/ -#define MINOR_REMOTE_UNBYPASS 0xd1 /* Զ·ָ*/ -#define MINOR_REMOTE_SET_ALARMIN_CFG 0xd2 /* Զñ*/ -#define MINOR_REMOTE_GET_ALARMIN_CFG 0xd3 /* Զ̻ȡ*/ -#define MINOR_REMOTE_SET_ALARMOUT_CFG 0xd4 /* Զñ*/ -#define MINOR_REMOTE_GET_ALARMOUT_CFG 0xd5 /* Զ̻ȡ*/ -#define MINOR_REMOTE_ALARMOUT_OPEN_MAN 0xd6 /* Զֶ*/ -#define MINOR_REMOTE_ALARMOUT_CLOSE_MAN 0xd7 /* Զֶرձ*/ -#define MINOR_REMOTE_ALARM_ENABLE_CFG 0xd8 /* ԶñRS485ʹ״̬*/ -#define MINOR_DBDATA_OUTPUT 0xd9 /* ݿ¼ */ -#define MINOR_DBDATA_INPUT 0xda /* ݿ¼ */ -#define MINOR_MU_SWITCH 0xdb /* л */ -#define MINOR_MU_PTZ 0xdc /* PTZ */ -#define MINOR_DELETE_LOGO 0xdd /* ɾlogo */ -#define MINOR_REMOTE_INQUEST_DEL_FILE 0xde /*Զɾļ*/ - -#define MINOR_LOCAL_CONF_REB_RAID 0x101 /*Զؽ*/ -#define MINOR_LOCAL_CONF_SPARE 0x102 /*ȱ*/ -#define MINOR_LOCAL_ADD_RAID 0x103 /*ش*/ -#define MINOR_LOCAL_DEL_RAID 0x104 /*ɾ*/ -#define MINOR_LOCAL_MIG_RAID 0x105 /*Ǩ*/ -#define MINOR_LOCAL_REB_RAID 0x106 /* ֶؽ*/ -#define MINOR_LOCAL_QUICK_CONF_RAID 0x107 /*һ*/ -#define MINOR_LOCAL_ADD_VD 0x108 /*ش*/ -#define MINOR_LOCAL_DEL_VD 0x109 /*ɾ*/ -#define MINOR_LOCAL_RP_VD 0x10a /*޸*/ -#define MINOR_LOCAL_FORMAT_EXPANDVD 0X10b /*չ*/ -#define MINOR_LOCAL_RAID_UPGRADE 0X10c /*raid*/ -#define MINOR_LOCAL_STOP_RAID 0x10d /*ͣRAID(ȫ)*/ -#define MINOR_REMOTE_CONF_REB_RAID 0x111 /*ԶԶؽ*/ -#define MINOR_REMOTE_CONF_SPARE 0x112 /*Զȱ*/ -#define MINOR_REMOTE_ADD_RAID 0x113 /*Զ̴*/ -#define MINOR_REMOTE_DEL_RAID 0x114 /*Զɾ*/ -#define MINOR_REMOTE_MIG_RAID 0x115 /*ԶǨ*/ -#define MINOR_REMOTE_REB_RAID 0x116 /* Զֶؽ*/ -#define MINOR_REMOTE_QUICK_CONF_RAID 0x117 /*Զһ*/ -#define MINOR_REMOTE_ADD_VD 0x118 /*Զ̴*/ -#define MINOR_REMOTE_DEL_VD 0x119 /*Զɾ*/ -#define MINOR_REMOTE_RP_VD 0x11a /*Զ޸*/ -#define MINOR_REMOTE_FORMAT_EXPANDVD 0X11b /*Զ*/ -#define MINOR_REMOTE_RAID_UPGRADE 0X11c /*Զraid*/ -#define MINOR_REMOTE_STOP_RAID 0x11d /*ԶͣRAID(ȫ)*/ -#define MINOR_LOCAL_START_PIC_REC 0x121 /*ؿʼץͼ*/ -#define MINOR_LOCAL_STOP_PIC_REC 0x122 /*ֹͣץͼ*/ -#define MINOR_LOCAL_SET_SNMP 0x125 /*SNMP*/ -#define MINOR_LOCAL_TAG_OPT 0x126 /*رǩ*/ -#define MINOR_REMOTE_START_PIC_REC 0x131 /*Զ̿ʼץͼ*/ -#define MINOR_REMOTE_STOP_PIC_REC 0x132 /*Զֹͣץͼ*/ -#define MINOR_REMOTE_SET_SNMP 0x135 /*ԶSNMP*/ -#define MINOR_REMOTE_TAG_OPT 0x136 /*Զ̱ǩ*/ -#define MINOR_REMOTE_LOGIN_LOCK 0x137 //Զ̵¼ -#define MINOR_REMOTE_LOGIN_UNLOCK 0x138 //Զ̵¼ -// 9000 v2.2.0 -#define MINOR_LOCAL_VOUT_SWITCH 0x140 /* л*/ -#define MINOR_STREAM_CABAC 0x141 /* ѹѡò*/ - -//Netra 3.0.0 -#define MINOR_LOCAL_SPARE_OPT 0x142 /*N+1 ȱز*/ -#define MINOR_REMOTE_SPARE_OPT 0x143 /*ԶN+1 ȱز*/ -#define MINOR_LOCAL_IPCCFGFILE_OUTPUT 0x144 /* صipcļ*/ -#define MINOR_LOCAL_IPCCFGFILE_INPUT 0x145 /* صipcļ */ -#define MINOR_LOCAL_IPC_UPGRADE 0x146 /* IPC */ -#define MINOR_REMOTE_IPCCFGFILE_OUTPUT 0x147 /* Զ̵ipcļ*/ -#define MINOR_REMOTE_IPCCFGFILE_INPUT 0x148 /* Զ̵ipcļ*/ -#define MINOR_REMOTE_IPC_UPGRADE 0x149 /* ԶIPC */ - -#define MINOR_LOCAL_UNLOAD_HDISK 0x150 /*жӲ*/ -#define MINOR_LOCAL_AUDIO_MIX 0x151 /*Ƶ*/ -#define MINOR_REMOTE_AUDIO_MIX 0x152 /*ԶƵ*/ -#define MINOR_LOCAL_TRIAL_PAUSE 0x153 /*ͣѶ*/ -#define MINOR_LOCAL_TRIAL_RESUME 0x154 /*ؼѶ*/ -#define MINOR_REMOTE_TRIAL_PAUSE 0x155 /*ԶͣѶ*/ -#define MINOR_REMOTE_TRIAL_RESUME 0x156 /*Զ̼Ѷ*/ -#define MINOR_REMOTE_MODIFY_VERIFICATION_CODE 0x157 /*޸ƽ̨֤*/ - -#define MINOR_LOCAL_MAKECALL 0x180 /*غ*/ -#define MINOR_LOCAL_REJECTCALL 0x181 /*ؾܽ*/ -#define MINOR_LOCAL_ANSWERCALL 0x182 /*ؽ*/ -#define MINOR_LOCAL_HANGUPCALL 0x183 /*عҶ*/ - -#define MINOR_REMOTE_MAKECALL 0x188 /*Զ̺*/ -#define MINOR_REMOTE_REJECTCALL 0x189 /*Զ̾ܽ*/ -#define MINOR_REMOTE_ANSWERCALL 0x18a /*Զ̽*/ -#define MINOR_REMOTE_HANGUPCALL 0x18b /*Զ̹Ҷ*/ - -#define MINOR_LOCAL_CHANNEL_ORDERED 0x19b /*ͨ*/ - -#define MINOR_SET_MULTI_MASTER 0x201 /*ô*/ -#define MINOR_SET_MULTI_SLAVE 0x202 /*ô*/ -#define MINOR_CANCEL_MULTI_MASTER 0x203 /*ȡ*/ -#define MINOR_CANCEL_MULTI_SLAVE 0x204 /*ȡ*/ - -#define MINOR_DISPLAY_LOGO 0x205 /*ʾLOGO*/ -#define MINOR_HIDE_LOGO 0x206 /*LOGO*/ -#define MINOR_SET_DEC_DELAY_LEVEL 0x207 /*ͨʱ*/ -#define MINOR_SET_BIGSCREEN_DIPLAY_AREA 0x208 /*ôʾ*/ -#define MINOR_CUT_VIDEO_SOURCE 0x209 /*ƵԴи*/ -#define MINOR_SET_BASEMAP_AREA 0x210 /*ͼ*/ -#define MINOR_DOWNLOAD_BASEMAP 0x211 /*شͼ*/ -#define MINOR_CUT_BASEMAP 0x212 /*ͼи*/ -#define MINOR_CONTROL_ELEC_ENLARGE 0x213 /*ӷŴ(Ŵԭ)*/ -#define MINOR_SET_OUTPUT_RESOLUTION 0x214 /*ʾֱ*/ -#define MINOR_SET_TRANCSPARENCY 0X215 /*ͼ͸*/ -#define MINOR_SET_OSD 0x216 /*ʾOSD*/ -#define MINOR_RESTORE_DEC_STATUS 0x217 /*ָʼ״̬(лʱָʼ״̬)*/ - -//2011-11-11 Ӵ־ -#define MINOR_SCREEN_OPEN_SCREEN 0x218 //Ļ -#define MINOR_SCREEN_CLOSE_SCREEN 0x219 //رĻ -#define MINOR_SCREEN_SWITCH_SIGNAL 0x21a //źԴл -#define MINOR_SCREEN_MODIFY_NETWORK 0x21b // -#define MINOR_SCREEN_MODIFY_LEDRES 0x21c //LEDֱ -#define MINOR_SCREEN_SHOW_NORMAL 0x21d //ôͨʾģʽ -#define MINOR_SCREEN_SHOW_TILE 0x21e //ôƽʾģʽ -#define MINOR_SCREEN_DEC_NORMAL 0x21f //ͨģʽ -#define MINOR_SCREEN_DEC_LOWLATENCY 0x220 //õʱģʽ -#define MINOR_SCREEN_MODIFY_SELFRES 0x221 //źԴԶֱ -#define MINOR_SCREEN_OUTPUT_POSITION 0x222 //ڹĻ -#define MINOR_SCREEN_IMAGE_ENHANCE 0x223 //ͼǿ -#define MINOR_SCREEN_JOIN_SIGNAL 0x224 //źԴƴ -#define MINOR_SCREEN_SIGNAL_OSD 0x225 //źԴַ -#define MINOR_SCREEN_ASSOCIATED_INTERACTION 0x226 //źԴ -#define MINOR_SCREEN_MODIFY_MATRIX 0x227 //þ -#define MINOR_SCREEN_WND_TOP_KEEP 0x228 //ö -#define MINOR_SCREEN_WND_OPEN_KEEP 0x229 //ڴ򿪱 -#define MINOR_SCREEN_WALL_MIRROR 0x22a //ǽ -#define MINOR_SCREEN_UPLOAD_BASEMAP 0x22b //ϴͼ -#define MINOR_SCREEN_SHOW_BASEMAP 0x22c //ʾͼ -#define MINOR_SCREEN_HIDE_BASEMAP 0x22d //صͼ -#define MINOR_SCREEN_MODIFY_SERIAL 0x22e //ôڲ - -#define MINOR_SCREEN_SET_INPUT 0x251 /*޸Դ*/ -#define MINOR_SCREEN_SET_OUTPUT 0x252 /*޸ͨ*/ -#define MINOR_SCREEN_SET_OSD 0x253 /*޸LED*/ -#define MINOR_SCREEN_SET_LOGO 0x254 /*޸LOGO*/ -#define MINOR_SCREEN_SET_LAYOUT 0x255 /*ò*/ -#define MINOR_SCREEN_PICTUREPREVIEW 0x256 /*Բ*/ - - -//2012-06-14 CVCS2.0, õȲV1.0 V1.1Ѿˣʱ豸־ûж -#define MINOR_SCREEN_GET_OSD 0x257 /*ȡLED*/ -#define MINOR_SCREEN_GET_LAYOUT 0x258 /*ȡ*/ -#define MINOR_SCREEN_LAYOUT_CTRL 0x259 /*ֿ*/ -#define MINOR_GET_ALL_VALID_WND 0x260 /*ȡЧ*/ -#define MINOR_GET_SIGNAL_WND 0x261 /*ȡϢ*/ -#define MINOR_WINDOW_CTRL 0x262 /*ڿ*/ -#define MINOR_GET_LAYOUT_LIST 0x263 /*ȡб*/ -#define MINOR_LAYOUT_CTRL 0x264 /*ֿ*/ -#define MINOR_SET_LAYOUT 0x265 /*ò*/ -#define MINOR_GET_SIGNAL_LIST 0x266 /*ȡźԴб*/ -#define MINOR_GET_PLAN_LIST 0x267 /*ȡԤб*/ -#define MINOR_SET_PLAN 0x268 /*޸Ԥ*/ -#define MINOR_CTRL_PLAN 0x269 /*Ԥ*/ -#define MINOR_CTRL_SCREEN 0x270 /*Ļ*/ -#define MINOR_ADD_NETSIG 0x271 /*źԴ*/ -#define MINOR_SET_NETSIG 0x272 /*޸źԴ*/ -#define MINOR_SET_DECBDCFG 0x273 /*ý*/ -#define MINOR_GET_DECBDCFG 0x274 /*ȡ*/ -#define MINOR_GET_DEVICE_STATUS 0x275 /*ȡ豸Ϣ*/ -#define MINOR_UPLOAD_PICTURE 0x276 /*ͼϴ*/ -#define MINOR_SET_USERPWD 0x277 /*û*/ -#define MINOR_ADD_LAYOUT 0x278 /*Ӳ*/ -#define MINOR_DEL_LAYOUT 0x279 /*ɾ*/ -#define MINOR_DEL_NETSIG 0x280 /*ɾźԴ*/ -#define MINOR_ADD_PLAN 0x281 /*Ԥ*/ -#define MINOR_DEL_PLAN 0x282 /*ɾԤ*/ -#define MINOR_GET_EXTERNAL_MATRIX_CFG 0x283 //ȡӾ -#define MINOR_SET_EXTERNAL_MATRIX_CFG 0x284 //Ӿ -#define MINOR_GET_USER_CFG 0x285 //ȡû -#define MINOR_SET_USER_CFG 0x286 //û -#define MINOR_GET_DISPLAY_PANEL_LINK_CFG 0x287 //ȡʾǽ -#define MINOR_SET_DISPLAY_PANEL_LINK_CFG 0x288 //ʾǽ - -#define MINOR_GET_WALLSCENE_PARAM 0x289 //ȡǽ -#define MINOR_SET_WALLSCENE_PARAM 0x28a //õǽ -#define MINOR_GET_CURRENT_WALLSCENE 0x28b //ȡǰʹó -#define MINOR_SWITCH_WALLSCENE 0x28c //л -#define MINOR_SIP_LOGIN 0x28d //SIPעɹ -#define MINOR_VOIP_START 0x28e //VOIPԽʼ -#define MINOR_VOIP_STOP 0x28f //VOIPԽֹͣ -#define MINOR_WIN_TOP 0x290 //ǽö -#define MINOR_WIN_BOTTOM 0x291 //ǽõ -#define MINOR_SET_USER_ADD_CFG 0x292 //û -#define MINOR_SET_USER_MODF_CFG 0x293 //޸û -#define MINOR_SET_USER_DEL_CFG 0x294 //ɾû - -// Netra 2.2.2 -#define MINOR_LOCAL_LOAD_HDISK 0x300 //ؼӲ -#define MINOR_LOCAL_DELETE_HDISK 0x301 //ɾ쳣ڵӲ - -//KY2013 3.0.0 -#define MINOR_LOCAL_MAIN_AUXILIARY_PORT_SWITCH 0X302 //л -#define MINOR_LOCAL_HARD_DISK_CHECK 0x303 //ӲԼ - -//Netra3.1.0 -#define MINOR_LOCAL_CFG_DEVICE_TYPE 0x310 //豸 -#define MINOR_REMOTE_CFG_DEVICE_TYPE 0x311 //Զ豸 -#define MINOR_LOCAL_CFG_WORK_HOT_SERVER 0x312 //ùȱ -#define MINOR_REMOTE_CFG_WORK_HOT_SERVER 0x313 //Զùȱ -#define MINOR_LOCAL_DELETE_WORK 0x314 //ɾ -#define MINOR_REMOTE_DELETE_WORK 0x315 //Զɾ -#define MINOR_LOCAL_ADD_WORK 0x316 //ӹ -#define MINOR_REMOTE_ADD_WORK 0x317 //Զӹ -#define MINOR_LOCAL_IPCHEATMAP_OUTPUT 0x318 /* صȶͼļ */ -#define MINOR_LOCAL_IPCHEATFLOW_OUTPUT 0x319 /* صȶļ */ -#define MINOR_REMOTE_SMS_SEND 0x350 /*Զ̷Ͷ*/ -#define MINOR_LOCAL_SMS_SEND 0x351 /*طͶ*/ -#define MINOR_ALARM_SMS_SEND 0x352 /*Ͷű*/ -#define MINOR_SMS_RECV 0x353 /*ն*/ -//ע0x3500x351ָ˹GUIIEؼϱ༭Ͷţ -#define MINOR_LOCAL_SMS_SEARCH 0x354 /**/ -#define MINOR_REMOTE_SMS_SEARCH 0x355 /*Զ*/ -#define MINOR_LOCAL_SMS_READ 0x356 /*ز鿴*/ -#define MINOR_REMOTE_SMS_READ 0x357 /*Զ̲鿴*/ -#define MINOR_REMOTE_DIAL_CONNECT 0x358 /*Զֶ̿*/ -#define MINOR_REMOTE_DIAL_DISCONN 0x359 /*Զֶֹͣ*/ -#define MINOR_LOCAL_ALLOWLIST_SET 0x35A /**/ -#define MINOR_REMOTE_ALLOWLIST_SET 0x35B /*Զ*/ -#define MINOR_LOCAL_DIAL_PARA_SET 0x35C /*òŲ*/ -#define MINOR_REMOTE_DIAL_PARA_SET 0x35D /*ԶòŲ*/ -#define MINOR_LOCAL_DIAL_SCHEDULE_SET 0x35E /*òżƻ*/ -#define MINOR_REMOTE_DIAL_SCHEDULE_SET 0x35F /*Զòżƻ*/ -#define MINOR_PLAT_OPER 0x360 /* ƽ̨*/ -#define MINOR_REMOTE_CFG_POE_WORK_MODE 0x361//ԶPOEģʽ -#define MINOR_LOCAL_CFG_POE_WORK_MODE 0x362//POEģʽ -#define MINOR_REMOTE_CFG_FACE_CONTRAST 0x363//Զȶ -#define MINOR_LOCAL_CFG_FACE_CONTRAST 0x364//ȶ -#define MINOR_REMOTE_CFG_ALLOWLIST_FACE_CONTRAST 0x365//Զȶ -#define MINOR_LOCAL_CFG_ALLOWLIST_FACE_CONTRAST 0x366//ȶ -#define MINOR_LOCAL_CHECK_TIME 0x367 //ֶУʱ -#define MINOR_VCA_ONEKEY_EXPORT_PICTURE 0x368 //һͼƬ -#define MINOR_VCA_ONEKEY_DELETE_PICTURE 0x369 //һɾͼƬ -#define MINOR_VCA_ONEKEY_EXPORT_VIDEO 0x36a //һ¼ -#define MINOR_VCA_ONEKEY_DELETE_VIDEO 0x36b //һɾ¼ -#define MINOR_REMOTE_CFG_WIRELESS_DIALPARAM 0x36c /*Զ߲Ų*/ -#define MINOR_LOCAL_CFG_WIRELESS_DIALPARAM 0x36d /*߲Ų*/ -#define MINOR_REMOTE_CFG_WIRELESS_SMSPARAM 0x36e /*Զ߶ò*/ -#define MINOR_LOCAL_CFG_WIRELESS_SMSPARAM 0x36f /*߶ò*/ -#define MINOR_REMOTE_CFG_WIRELESS_SMSSElFHELP 0x370 /*Զ߶ò*/ -#define MINOR_LOCAL_CFG_WIRELESS_SMSSElFHELP 0x371 /*߶ò*/ -#define MINOR_REMOTE_CFG_WIRELESS_NETFLOWPARAM 0x372 /*Զò*/ -#define MINOR_LOCAL_CFG_WIRELESS_NETFLOWPARAM 0x373 /*ò*/ - -//0x400-0x1000 Ž -#define MINOR_REMOTE_OPEN_DOOR 0x400 //Զ̿ -#define MINOR_REMOTE_CLOSE_DOOR 0x401 //Զ̹(ܿ) -#define MINOR_REMOTE_ALWAYS_OPEN 0x402 //Զ̳() -#define MINOR_REMOTE_ALWAYS_CLOSE 0x403 //Զ̳() -#define MINOR_REMOTE_CHECK_TIME 0x404 //ԶֶУʱ -#define MINOR_NTP_CHECK_TIME 0x405 //NTPԶУʱ -#define MINOR_REMOTE_CLEAR_CARD 0x406 //Զտ -#define MINOR_REMOTE_RESTORE_CFG 0x407 //Զָ̻Ĭϲ -#define MINOR_ALARMIN_ARM 0x408 // -#define MINOR_ALARMIN_DISARM 0x409 // -#define MINOR_LOCAL_RESTORE_CFG 0x40a //ػָĬϲ -#define MINOR_REMOTE_CAPTURE_PIC 0x40b //Զץ -#define MINOR_MOD_NET_REPORT_CFG 0x40c //޸IJ -#define MINOR_MOD_GPRS_REPORT_PARAM 0x40d //޸GPRSIJ -#define MINOR_MOD_REPORT_GROUP_PARAM 0x40e //޸ -#define MINOR_UNLOCK_PASSWORD_OPEN_DOOR 0x40f // -#define MINOR_AUTO_RENUMBER 0x410 //Զ± -#define MINOR_AUTO_COMPLEMENT_NUMBER 0x411 //Զ -#define MINOR_NORMAL_CFGFILE_INPUT 0x412 //ͨļ -#define MINOR_NORMAL_CFGFILE_OUTTPUT 0x413 //ͨļ -#define MINOR_CARD_RIGHT_INPUT 0x414 //뿨Ȩ޲ -#define MINOR_CARD_RIGHT_OUTTPUT 0x415 //Ȩ޲ -#define MINOR_LOCAL_USB_UPGRADE 0x416 //U -#define MINOR_REMOTE_VISITOR_CALL_LADDER 0x417 //ÿͺ -#define MINOR_REMOTE_HOUSEHOLD_CALL_LADDER 0x418 //ס -#define MINOR_REMOTE_ACTUAL_GUARD 0x419 //Զʵʱ -#define MINOR_REMOTE_ACTUAL_UNGUARD 0x41a //Զʵʱ -#define MINOR_REMOTE_CONTROL_NOT_CODE_OPER_FAILED 0x41b //ңδʧ -#define MINOR_REMOTE_CONTROL_CLOSE_DOOR 0x41c //ң -#define MINOR_REMOTE_CONTROL_OPEN_DOOR 0x41d //ң -#define MINOR_REMOTE_CONTROL_ALWAYS_OPEN_DOOR 0x41e //ң -#define MINOR_M1_CARD_ENCRYPT_VERIFY_OPEN 0x41f /*M1֤ܿ*/ -#define MINOR_M1_CARD_ENCRYPT_VERIFY_CLOSE 0x420 /*M1֤ܹر*/ -#define MINOR_NFC_FUNCTION_OPEN 0x421 /*NFCŹܿ*/ -#define MINOR_NFC_FUNCTION_CLOSE 0x422 /*NFCŹܹر*/ -#define MINOR_OFFLINE_DATA_OUTPUT 0x423 //߲ɼݵ -#define MINOR_CREATE_SSH_LINK 0x42d //SSH -#define MINOR_CLOSE_SSH_LINK 0x42e //ϿSSH -#define MINOR_LOCAL_IMPORT_USERINFO 0x42f //صԱݣԱȨޣģ壬ͼƬ¼ͣ -#define MINOR_LOCAL_EXPORT_USERINFO 0x430 //صԱ -#define MINOR_CREATE_CERTIFICATE 0x431 //֤飨SSLͨŵ֤飬SDKTLSHTTPSȣ -#define MINOR_UPLOAD_CERTIFICATE 0x432 //ϴ֤ -#define MINOR_DELETE_CERTIFICATE 0x433 //ɾ֤ -#define MINOR_COMSUME_ARM 0x434 //Ѳ -#define MINOR_COMSUME_DISARM 0x435 //ѳ -#define MINOR_ORCODE_KEY_MODIFY 0x436 //άԿ޸ - -#define MINOR_OPERATION_CUSTOM1 0x900 //ŽԶ1 -#define MINOR_OPERATION_CUSTOM2 0x901 //ŽԶ2 -#define MINOR_OPERATION_CUSTOM3 0x902 //ŽԶ3 -#define MINOR_OPERATION_CUSTOM4 0x903 //ŽԶ4 -#define MINOR_OPERATION_CUSTOM5 0x904 //ŽԶ5 -#define MINOR_OPERATION_CUSTOM6 0x905 //ŽԶ6 -#define MINOR_OPERATION_CUSTOM7 0x906 //ŽԶ7 -#define MINOR_OPERATION_CUSTOM8 0x907 //ŽԶ8 -#define MINOR_OPERATION_CUSTOM9 0x908 //ŽԶ9 -#define MINOR_OPERATION_CUSTOM10 0x909 //ŽԶ10 -#define MINOR_OPERATION_CUSTOM11 0x90a //ŽԶ11 -#define MINOR_OPERATION_CUSTOM12 0x90b //ŽԶ12 -#define MINOR_OPERATION_CUSTOM13 0x90c //ŽԶ13 -#define MINOR_OPERATION_CUSTOM14 0x90d //ŽԶ14 -#define MINOR_OPERATION_CUSTOM15 0x90e //ŽԶ15 -#define MINOR_OPERATION_CUSTOM16 0x90f //ŽԶ16 -#define MINOR_OPERATION_CUSTOM17 0x910 //ŽԶ17 -#define MINOR_OPERATION_CUSTOM18 0x911 //ŽԶ18 -#define MINOR_OPERATION_CUSTOM19 0x912 //ŽԶ19 -#define MINOR_OPERATION_CUSTOM20 0x913 //ŽԶ20 -#define MINOR_OPERATION_CUSTOM21 0x914 //ŽԶ21 -#define MINOR_OPERATION_CUSTOM22 0x915 //ŽԶ22 -#define MINOR_OPERATION_CUSTOM23 0x916 //ŽԶ23 -#define MINOR_OPERATION_CUSTOM24 0x917 //ŽԶ24 -#define MINOR_OPERATION_CUSTOM25 0x918 //ŽԶ25 -#define MINOR_OPERATION_CUSTOM26 0x919 //ŽԶ26 -#define MINOR_OPERATION_CUSTOM27 0x91a //ŽԶ27 -#define MINOR_OPERATION_CUSTOM28 0x91b //ŽԶ28 -#define MINOR_OPERATION_CUSTOM29 0x91c //ŽԶ29 -#define MINOR_OPERATION_CUSTOM30 0x91d //ŽԶ30 -#define MINOR_OPERATION_CUSTOM31 0x91e //ŽԶ31 -#define MINOR_OPERATION_CUSTOM32 0x91f //ŽԶ32 -#define MINOR_OPERATION_CUSTOM33 0x920 //ŽԶ33 -#define MINOR_OPERATION_CUSTOM34 0x921 //ŽԶ34 -#define MINOR_OPERATION_CUSTOM35 0x922 //ŽԶ35 -#define MINOR_OPERATION_CUSTOM36 0x923 //ŽԶ36 -#define MINOR_OPERATION_CUSTOM37 0x924 //ŽԶ37 -#define MINOR_OPERATION_CUSTOM38 0x925 //ŽԶ38 -#define MINOR_OPERATION_CUSTOM39 0x926 //ŽԶ39 -#define MINOR_OPERATION_CUSTOM40 0x927 //ŽԶ40 -#define MINOR_OPERATION_CUSTOM41 0x928 //ŽԶ41 -#define MINOR_OPERATION_CUSTOM42 0x929 //ŽԶ42 -#define MINOR_OPERATION_CUSTOM43 0x92a //ŽԶ43 -#define MINOR_OPERATION_CUSTOM44 0x92b //ŽԶ44 -#define MINOR_OPERATION_CUSTOM45 0x92c //ŽԶ45 -#define MINOR_OPERATION_CUSTOM46 0x92d //ŽԶ46 -#define MINOR_OPERATION_CUSTOM47 0x92e //ŽԶ47 -#define MINOR_OPERATION_CUSTOM48 0x92f //ŽԶ48 -#define MINOR_OPERATION_CUSTOM49 0x930 //ŽԶ49 -#define MINOR_OPERATION_CUSTOM50 0x931 //ŽԶ50 -#define MINOR_OPERATION_CUSTOM51 0x932 //ŽԶ51 -#define MINOR_OPERATION_CUSTOM52 0x933 //ŽԶ52 -#define MINOR_OPERATION_CUSTOM53 0x934 //ŽԶ53 -#define MINOR_OPERATION_CUSTOM54 0x935 //ŽԶ54 -#define MINOR_OPERATION_CUSTOM55 0x936 //ŽԶ55 -#define MINOR_OPERATION_CUSTOM56 0x937 //ŽԶ56 -#define MINOR_OPERATION_CUSTOM57 0x938 //ŽԶ57 -#define MINOR_OPERATION_CUSTOM58 0x939 //ŽԶ58 -#define MINOR_OPERATION_CUSTOM59 0x93a //ŽԶ59 -#define MINOR_OPERATION_CUSTOM60 0x93b //ŽԶ60 -#define MINOR_OPERATION_CUSTOM61 0x93c //ŽԶ61 -#define MINOR_OPERATION_CUSTOM62 0x93d //ŽԶ62 -#define MINOR_OPERATION_CUSTOM63 0x93e //ŽԶ63 -#define MINOR_OPERATION_CUSTOM64 0x93f //ŽԶ64 -#define MINOR_OPERATION_REALTIMEBROADCAST 0x940 //ʵʱ㲥 -#define MINOR_OPERATION_PLANBROADCAST 0x941 //ƻ㲥 - -#define MINOR_SET_WIFI_PARAMETER 0x950 //WIFIò -#define MINOR_EZVIZ_LOGIN 0x951 //өʯƵ½ -#define MINOR_EZVIZ_LOGINOUT 0x952 //өʯƵdz -#define MINOR_LOCK_ADD 0x953 // -#define MINOR_LOCK_DELETE 0x954 //ɾ -#define MINOR_LOCK_GET_STATUS 0x955 //״̬ȡ -#define MINOR_LOCK_SET_TMP_PASSWORD 0x956 //ʱ· -#define MINOR_LOCK_SET_SILENT_MODE 0x957 // -#define MINOR_LOCK_SET_LATE_WARNING 0x958 // -#define MINOR_LOCK_IPC_ADD 0x959 //IPC -#define MINOR_LOCK_IPC_REMOVE 0x95a //IPC -#define MINOR_LOCK_DETECTOR_ADD 0x95b //̽ -#define MINOR_LOCK_DETECTOR_REMOVE 0x95c //̽ -#define MINOR_LOCK_MESSAGE_REMINDING_OPEN 0x95d //ϢѴ -#define MINOR_LOCK_MESSAGE_REMINDING_CLOSE 0x95e //Ϣѹر -#define MINOR_LOCK_SET_HEART_BEAT 0x95f // -#define MINOR_LOCK_REBOOT 0x960 // -#define MINOR_LOCK_CLEAR_USER 0x961 //û -#define MINOR_LOCK_FORMAT 0x962 //ʽ -#define MINOR_LOCK_FINGER_CHANGE 0x963 //ָƸĶ -#define MINOR_LOCK_PASSWORD_CHANGE 0x964 //Ķ -#define MINOR_LOCK_CARD_CHANGE 0x965 //ϢĶ -#define MINOR_LOCK_USER_CHANGE 0x966 //ûϢĶ -#define MINOR_LOCK_SYSTEM_CHANGE 0x967 //ϵͳϢĶ -#define MINOR_LOCK_CHANGE_ADD_UESR 0x968 //û -#define MINOR_LOCK_CHANGE_DEL_UESR 0x969 //ɾû -#define MINOR_LOCK_CHANGE_CUSTOM_USER_NAME 0x96a //ԶûûĶ -#define MINOR_LOCK_CHANGE_REMOTE_DEVICE 0x96b //ңϢĶ -#define MINOR_LOCK_CHANGE_ADD_FP 0x96c //ָ -#define MINOR_LOCK_CHANGE_DEL_FP 0x96d //ɾָ -#define MINOR_LOCK_CHANGE_ADD_PASSWORD 0x96e // -#define MINOR_LOCK_CHANGE_DEL_PASSWORD 0x96f //ɾ -#define MINOR_LOCK_CHANGE_ADD_CARD 0x970 //Ƭ -#define MINOR_LOCK_CHANGE_DEL_CARD 0x971 //ɾƬ -#define MINOR_LOCK_NETWORK_SWITCH 0x972 //繦ܿظĶ -#define MINOR_LOCK_CLEAR_NETWORK_DATA 0x973 // -#define MINOR_LOCK_CLEAR_HOST_USER 0x974 //û -#define MINOR_LOCK_CLEAR_GUEST_USER 0x975 //տû -#define MINOR_LOCK_CLEAN_ALL_REMOTE_DEVICE 0x976 //ңûϢ -#define MINOR_LOCK_CLEAN_NORMAL_USER_FINGRT 0x977 //ͨûָ -#define MINOR_LOCK_CLEAN_ALL_CARD 0x978 //пƬ -#define MINOR_LOCK_CLEAN_ALL_PASSWORD 0x979 // -#define MINOR_START_WIRELESSSERVER 0x97a //豸ȵ -#define MINOR_STOP_WIRELESSSERVER 0x97b //ر豸ȵ -#define MINOR_EMERGENCY_CARD_AUTH_NORMAL_CARD 0x97c //ӦȨͨ -#define MINOR_CHANGE_ALWAYS_OPEN_RIGHT 0x97d //ͨģʽĶ -#define MINOR_LOCK_DOOR_BELL_EVENT 0x97e //¼ - -//Ϣ־ -#define MINOR_BACKUP_DATA 0xc41 //ݱ -#define MINOR_TRANSFER_DATA 0xc42 //Ǩ -#define MINOR_RESTORE_DATA 0xc43 //ݻԭ -#define MINOR_SET_INPUT_PLAN 0xc44 //ն˶ʱлƻ -#define MINOR_TERMINAL_ADB 0xc45//նADB -#define MINOR_TERMINAL_VOLUME 0xc46 //ն -#define MINOR_TERMINAL_LOGO 0xc47 //նLOGO -#define MINOR_TERMINAL_DEFAULT_SCHEDULE 0xc48 //Ƭճʹ -#define MINOR_TERMINAL_PASSWORD 0xc49 //ն -#define MINOR_TERMINAL_IP 0xc4a//նIP -#define MINOR_TERMINAL_RELATE_IPC 0xc4b//ն˹IPC -#define MINOR_TERMINAL_SERVER 0xc4c//ն˹ -#define MINOR_TERMINAL_SADP 0xc4d//նSADP -#define MINOR_TERMINAL_TIMEZONE 0xc4e//նʱ -#define MINOR_TERMINAL_TEMP_PROTECT 0xc4f//ն¶ȱ -#define MINOR_ADD_ORGANIZATION 0xc50 //֯ -#define MINOR_DELETE_ORGANIZATION 0xc51 //ɾ֯ -#define MINOR_MODIFY_ORGANIZATION 0xc52 //޸֯ -#define MINOR_WEATHER_FACTORY 0xc53 // -#define MINOR_SADP_ENABLE 0xc54 //sadp -#define MINOR_SSH_ENABLE 0xc55 //SSH -#define MINOR_MODIFY_MATERIAL 0xc56 //زIJ޸ -#define MINOR_INSERT_CHARACTER 0xc57 //岥Ϣ -#define MINOR_TERMINAL_BACKLIGHT 0xc58 //ն˱ -#define MINOR_DOWNLOAD_MATERIAL_THUMBNAIL 0xc59 //زͼ -#define MINOR_UPLOAD_PROGRAM_THUMBNAIL 0xc5a//ϴĿͼ -#define MINOR_TDOWNLOAD_PROGRAM_THUMBNAIL 0xc5b//ؽĿͼ -#define MINOR_BATCH_DELETE_SCHEDULE_PLAN 0xc5c//ɾƻ -#define MINOR_REPUBLISH 0xc5d//· -#define MINOR_CLEAR_TERMINAL_PLAY_INFO 0xc5e//ն˲Ϣ -#define MINOR_GET_TERMINAL_RESOLUTION 0xc5f//ȡն˷ֱ -#define MINOR_SET_TERMINAL_RESOLUTION 0xc60//ն˷ֱ -#define MINOR_GET_BATCH_TERMINAL_UPGRATE_PROGRESS 0xc61//ȡն -#define MINOR_GET_BATCH_PROGRESS 0xc62//ȡն˷ -#define MINOR_GET_TEMPLATE 0xc64//ȡģ -#define MINOR_INIT_TEMPLATE 0xc65//ʼģ -#define MINOR_GET_TERMINAL_NTP_SERVERS 0xc66//ȡնNTP -#define MINOR_SET_TERMINAL_NTP_SERVERS 0xc67//նNTP -#define MINOR_GET_RELEASE_DETAILS 0xc68//ȡϸϢ -#define MINOR_UPLOAD_TEMPLATE_THUMBNAIL 0xc69//ϴģͼ -#define MINOR_DOWNLOAD_TEMPLATE_THUMBNAIL 0xc6a//ģͼ -#define MINOR_ADD_TEMPLATE 0xc6b//ģ -#define MINOR_DELETE_TEMPLATE 0xc6c//ɾģ -#define MINOR_MODIFY_TEMPLATE 0xc6d//޸ģ -#define MINOR_ADD_SCHEDULE_PLAN 0xc6e//ӷƻ -#define MINOR_MODIFY_SCHEDULE_PLAN 0xc6f//޸ķƻ -#define MINOR_CANCEL_SCHEDULE_RELEASE 0xc70//ȡճ̷ -#define MINOR_GET_SCHEDULE 0xc71//ȡճ -#define MINOR_ADD_INSERT 0xc72//½岥 -#define MINOR_CANCEL_INSERT 0xc73//ȡ岥 -#define MINOR_SWITCH_LANGUAGE 0xc74//л -#define MINOR_SET_ADMIN_INITIAL_PASSWORD 0xc75//adminʼ -#define MINOR_MODIFY_PORT 0xc76//޸Ķ˿ -#define MINOR_MODIFY_STORAGE_PATH 0xc77//޸Ĵ洢· -#define MINOR_EXIT_PROGRAM 0xc78//˳ -#define MINOR_MODULE_STARTUP_SUCCESS 0xc79//ģɹ -#define MINOR_APPROVE_SCHEDULE 0xc80//ճ -#define MINOR_GENERAL_DATA_SEND 0xc81//· -#define MINOR_SET_SIGN_INTERFACE 0xc82//ǩ -#define MINOR_GET_SIGN_INTERFACE 0xc83//ȡǩ -#define MINOR_SET_SHOW_MODE 0xc84//ʾģʽ -#define MINOR_GET_SHOW_MODE 0xc85//ȡʾģʽ -#define MINOR_SET_SCREEN_DIRECTION 0xc86//Ļ -#define MINOR_GET_SCREEN_DIRECTION 0xc87//ȡĻ -#define MINOR_SET_LOCK_SCREEN 0xc88// -#define MINOR_GET_LOCK_SCREEN 0xc89//ȡ -#define MINOR_SET_FACE_DATA_LIB 0xc8a// -#define MINOR_DELETE_FACE_DATA_LIB 0xc8b//ɾ -#define MINOR_SET_SPEC_FACE_DATA_LIB 0xc8c//ָ -#define MINOR_DELETE_SPEC_FACE_DATA_LIB 0xc8d//ɾָ -#define MINOR_ADD_FACE_DATA 0xc8e// -#define MINOR_SEARCH_FACE_DATA 0xc8f//ѯ -#define MINOR_MODIFY_FACE_DATA 0xc90//޸ -#define MINOR_DELETE_FACE_DATA 0xc91//ɾ -#define MINOR_DELETE_USERINFO_DETAIL 0xc92//ԱϢȨɾ -#define MINOR_ADD_USERINFO 0xc93//ԱϢ -#define MINOR_MODIFY_USERINFO 0xc94//޸ԱϢ -#define MINOR_DELETE_USERINFO 0xc95//ɾԱϢ -#define MINOR_ADD_CARD_INFO 0xc96//ӿϢ -#define MINOR_MODIFY_CARD_INFO 0xc97//޸ĿϢ -#define MINOR_DELETE_CARD_INFO 0xc98//ɾϢ -#define MINOR_SET_USER_RIGHT_WEEK 0xc99//ԱȨܼƻ -#define MINOR_SET_USER_RIGHT_HOLIDAY 0xc9a//ԱȨ޽ռƻ -#define MINOR_SET_USER_RIGHT_HOLIDAYGROUP 0xc9b//ԱȨ޼ƻ -#define MINOR_SET_USER_RIGHT_TEMPLATE 0xc9c//ԱȨ޼ƻģ - -//2012-03-05 ITC־ -#define MINOR_SET_TRIGGERMODE_CFG 0x1001 /*ôģʽ*/ -#define MINOR_GET_TRIGGERMODE_CFG 0x1002 /*ȡģʽ*/ -#define MINOR_SET_IOOUT_CFG 0x1003 /*IO*/ -#define MINOR_GET_IOOUT_CFG 0x1004 /*ȡIO*/ -#define MINOR_GET_TRIGGERMODE_DEFAULT 0x1005 /*ȡģʽƼ*/ -#define MINOR_GET_ITCSTATUS 0x1006 /*ȡ״̬*/ -#define MINOR_SET_STATUS_DETECT_CFG 0x1007 /*״̬*/ -#define MINOR_GET_STATUS_DETECT_CFG 0x1008 /*ȡ״̬*/ -#define MINOR_SET_VIDEO_TRIGGERMODE_CFG 0x1009 /*Ƶģʽ*/ -#define MINOR_GET_VIDEO_TRIGGERMODE_CFG 0x100a /*ȡƵģʽ*/ - -//2018-04-23 ͨز־ -#define MINOR_ALARMHOST_GUARD 0x1010 //ͨ() -#define MINOR_ALARMHOST_UNGUARD 0x1011 //ͨ -#define MINOR_ALARMHOST_BYPASS 0x1012 //· -#define MINOR_ALARMHOST_DURESS_ACCESS 0x1013 //Ю - -#define MINOR_ALARMHOST_RS485_PARAM 0x1018 //޸485ò -#define MINOR_ALARMHOST_ALARM_OUTPUT 0x1019 //ƴ -#define MINOR_ALARMHOST_ACCESS_OPEN 0x101a //Ž -#define MINOR_ALARMHOST_ACCESS_CLOSE 0x101b //Ž -#define MINOR_ALARMHOST_SIREN_OPEN 0x101c //ƾſ -#define MINOR_ALARMHOST_SIREN_CLOSE 0x101d //ƾŹ -#define MINOR_ALARMHOST_MOD_ZONE_CONFIG 0x101e //޸ķ -#define MINOR_ALARMHOST_MOD_ALARMOUT_CONIFG 0x101f //޸Ĵ -#define MINOR_ALARMHOST_MOD_ANALOG_CONFIG 0x1020 //޸ģ -#define MINOR_ALARMHOST_RS485_CONFIG 0x1021 //޸485ͨ -#define MINOR_ALARMHOST_PHONE_CONFIG 0x1022 //޸IJ -#define MINOR_ALARMHOST_ADD_ADMIN 0x1023 //ӹԱ -#define MINOR_ALARMHOST_MOD_ADMIN_PARAM 0x1024 //޸ĹԱ -#define MINOR_ALARMHOST_DEL_ADMIN 0x1025 //ɾԱ -#define MINOR_ALARMHOST_ADD_NETUSER 0x1026 //Ӻ˲Ա -#define MINOR_ALARMHOST_MOD_NETUSER_PARAM 0x1027 //޸ĺ˲Ա -#define MINOR_ALARMHOST_DEL_NETUSER 0x1028 //ɾ˲Ա -#define MINOR_ALARMHOST_ADD_OPERATORUSER 0x1029 //ǰ˲Ա -#define MINOR_ALARMHOST_MOD_OPERATORUSER_PW 0x102a //޸ǰ˲Ա -#define MINOR_ALARMHOST_DEL_OPERATORUSER 0x102b //ɾǰ˲Ա -#define MINOR_ALARMHOST_ADD_KEYPADUSER 0x102c //Ӽ/û -#define MINOR_ALARMHOST_DEL_KEYPADUSER 0x102d //ɾ/û - - -#define MINOR_ALARMHOST_MOD_HOST_CONFIG 0x1032 //޸ -#define MINOR_ALARMHOST_RESTORE_BYPASS 0x1033 //·ָ - -#define MINOR_ALARMHOST_ALARMOUT_OPEN 0x1034 // -#define MINOR_ALARMHOST_ALARMOUT_CLOSE 0x1035 //ر -#define MINOR_ALARMHOST_MOD_SUBSYSTEM_PARAM 0x1036 //޸ϵͳ -#define MINOR_ALARMHOST_GROUP_BYPASS 0x1037 //· -#define MINOR_ALARMHOST_RESTORE_GROUP_BYPASS 0x1038 //·ָ -#define MINOR_ALARMHOST_MOD_GRPS_PARAM 0x1039 //޸GPRS - -#define MINOR_ALARMHOST_MOD_REPORT_MOD 0x103b //޸ϴʽ -#define MINOR_ALARMHOST_MOD_GATEWAY_PARAM 0x103c //޸Ž - -#define MINOR_STAY_ARM 0x104c //ز -#define MINOR_QUICK_ARM 0x104d //ʱ -#define MINOR_AUTOMATIC_ARM 0x104e //Զ -#define MINOR_AUTOMATIC_DISARM 0x104f //Զ -#define MINOR_KEYSWITCH_ARM 0x1050 //Կײ -#define MINOR_KEYSWITCH_DISARM 0x1051 //Կײ -#define MINOR_CLEAR_ALARM 0x1052 // -#define MINOR_MOD_FAULT_CFG 0x1053 //޸ϵͳ -#define MINOR_MOD_EVENT_TRIGGER_ALARMOUT_CFG 0x1054 //޸¼ -#define MINOR_SEARCH_EXTERNAL_MODULE 0x1055 //ģ -#define MINOR_REGISTER_EXTERNAL_MODULE 0x1056 //עģ -#define MINOR_CLOSE_KEYBOARD_ALARM 0x1057 //رռ̱ʾ -#define MINOR_MOD_3G_PARAM 0x1058 //޸3G -#define MINOR_MOD_PRINT_PARAM 0x1059 //޸Ĵӡ -#define MINOR_ALARMHOST_SD_CARD_FORMAT 0x1060 //SDʽ -#define MINOR_ALARMHOST_SUBSYSTEM_UPGRADE 0x1061 //Ӱ̼ - -#define MINOR_PLAN_ARM_CFG 0x1062 //ƻ -#define MINOR_PHONE_ARM 0x1063 //ֻ -#define MINOR_PHONE_STAY_ARM 0x1064 //ֻز -#define MINOR_PHONE_QUICK_ARM 0x1065 //ֻʱ -#define MINOR_PHONE_DISARM 0x1066 //ֻ -#define MINOR_PHONE_CLEAR_ALARM 0x1067 //ֻ -#define MINOR_ALLOWLIST_CFG 0x1068 // -#define MINOR_TIME_TRIGGER_CFG 0x1069 //ʱش -#define MINOR_CAPTRUE_CFG 0x106a //ץͼ -#define MINOR_TAMPER_CFG 0x106b // - -#define MINOR_REMOTE_KEYPAD_UPGRADE 0x106c //Զ -#define MINOR_ONETOUCH_AWAY_ARMING 0x106d //һ -#define MINOR_ONETOUCH_STAY_ARMING 0x106e //һز -#define MINOR_SINGLE_PARTITION_ARMING_OR_DISARMING 0x106f // -#define MINOR_CARD_CONFIGURATION 0x1070 // -#define MINOR_CARD_ARMING_OR_DISARMING 0x1071 //ˢ -#define MINOR_EXPENDING_NETCENTER_CONFIGURATION 0x1072 //չ -#define MINOR_NETCARD_CONFIGURATION 0x1073 // -#define MINOR_DDNS_CONFIGURATION 0x1074 //DDNS -#define MINOR_RS485BUS_CONFIGURATION 0x1075 // 485߲ -#define MINOR_RS485BUS_RE_REGISTRATION 0x1076 //485ע - -#define MINOR_REMOTE_OPEN_ELECTRIC_LOCK 0x1077 //Զ̴򿪵 -#define MINOR_REMOTE_CLOSE_ELECTRIC_LOCK 0x1078 //Զ̹رյ -#define MINOR_LOCAL_OPEN_ELECTRIC_LOCK 0x1079 //ش򿪵 -#define MINOR_LOCAL_CLOSE_ELECTRIC_LOCK 0x107a //عرյ -#define MINOR_OPEN_ALARM_LAMP 0x107b //򿪾(Զ) -#define MINOR_CLOSE_ALARM_LAMP 0x107c //رվ(Զ) - - -#define MINOR_TEMPORARY_PASSWORD 0x107d //ʱ¼ - -#define MINOR_HIDDNS_CONFIG 0x1082 // HIDDNS -#define MINOR_REMOTE_KEYBOARD_UPDATA 0x1083 //Զ̼־ -#define MINOR_ZONE_ADD_DETECTOR 0x1084 //̽ -#define MINOR_ZONE_DELETE_DETECTOR 0x1085 //ɾ̽ -#define MINOR_QUERY_DETECTOR_SIGNAL 0x1086 //ѯ̽źǿ -#define MINOR_QUERY_DETECTOR_BATTERY 0x1087 //ѯ̽ -#define MINOR_SET_DETECTOR_GUARD 0x1088 //̽ -#define MINOR_SET_DETECTOR_UNGUARD 0x1089 //̽ -#define MINOR_WIRELESS_CONFIGURATION 0x108a //߲ -#define MINOR_OPEN_VOICE 0x108b // -#define MINOR_CLOSE_VOICE 0x108c //ر -#define MINOR_ENABLE_FUNCTION_KEY 0x108d //ùܼ -#define MINOR_DISABLE_FUNCTION_KEY 0x108e //رչܼ -#define MINOR_READ_CARD 0x108f //Ѳˢ -#define MINOR_START_BROADCAST 0x1090 //㲥 -#define MINOR_STOP_BROADCAST 0x1091 //ر㲥 -#define MINOR_REMOTE_ZONE_MODULE_UPGRADE 0x1092 //Զģ -#define MINOR_NETWORK_MODULE_EXTEND 0x1093 //ģ -#define MINOR_ADD_CONTROLLER 0x1094 //ңû -#define MINOR_DELETE_CONTORLLER 0x1095 //ɾңû -#define MINOR_REMOTE_NETWORKMODULE_UPGRADE 0x1096 //Զģ -#define MINOR_WIRELESS_OUTPUT_ADD 0x1097 //עģ -#define MINOR_WIRELESS_OUTPUT_DEL 0x1098 //ɾģ -#define MINOR_WIRELESS_REPEATER_ADD 0x1099 //עм -#define MINOR_WIRELESS_REPEATER_DEL 0x109a //ɾм -#define MINOR_PHONELIST_CFG 0x109b //绰 -#define MINOR_RF_SIGNAL_CHECK 0x109c // RFźŲѯ -#define MINOR_USB_UPGRADE 0x109d // USB -#define MINOR_DOOR_TIME_REMINDER_CFG 0x109f //ŴŶʱѲ -#define MINOR_WIRELESS_SIREN_ADD 0x1100 //ע߾ -#define MINOR_WIRELESS_SIREN_DEL 0x1101 //ɾ߾ -#define MINOR_OUT_SCALE_OPEN 0x1102 //翪 -#define MINOR_OUT_SCALE_CLOSE 0x1103 //ر - -#define MINOR_ALARMHOST_4G_MODULS_START 0x1108 //4Gģ -#define MINOR_ALARMHOST_4G_MODULS_STOP 0x1109 //4Gģͣ - -#define MINOR_EZVIZ_CLOUD_START 0x1110 //өʯ -#define MINOR_EZVIZ_CLOUD_STOP 0x1111 //өʯͣ -#define MINOR_SIPUA_GRID_START 0x1112 //B -#define MINOR_SIPUA_GRID_STOP 0x1113 //Bͣ - -#define MINOR_MODBUS_FILE_DOWNLOAD 0x1114 //modbusЭļ -#define MINOR_MODBUS_FILE_UPLOAD 0x1115 //modbusЭļ - -#define MINOR_RS485_DLL_FILE_DOWNLOAD 0x1116 //485Эļ -#define MINOR_RS485_DLL_FLIE_UPLOAD 0x1117 //485Эļ -#define MINOR_TX1_REBOOT 0x1118 //TX1ϵͳ - -#define MINOR_LORA_PARAM 0x1119 //LoRa -#define MINOR_GB28181_PLATE_CFG_PARAM 0x111a //ƽ̨ -#define MINOR_GB28181_SERVER_START 0x111b // -#define MINOR_GB28181_SERVER_STOP 0x111c //ͣ -#define MINOR_WEB_AUTHENTICATION 0x111d //web֤ʽ -#define MINOR_SADP_ENABLED 0x111e //SADP -#define MINOR_HTTPS_ENABLED 0x111f //HTTPS -#define MINOR_EZVIZ_PARAM_CFG 0x1120 //өʯ -#define MINOR_SET_MOTION_DETECTION_CFG 0x1121 //ƶ -#define MINOR_GET_MOTION_DETECTION_CFG 0x1122 //ȡƶ -#define MINOR_SET_SHELTER_ALARM_CFG 0x1123 //ڵ -#define MINOR_GET_SHELTER_ALARM_CFG 0x1124 //ȡڵ -#define MINOR_SET_VIDEO_LOSS_CFG 0x1125 //Ƶʧ -#define MINOR_GET_VIDEO_LOSS_CFG 0x1126 //ȡƵʧ -#define MINOR_SET_ABNORMAL_CFG 0x1127 //쳣 -#define MINOR_GET_ABNORMAL_CFG 0x1128 //ȡ쳣 -#define MINOR_SET_ALARM_LINKAGE_CFG 0x1129 //ñ -#define MINOR_GET_ALARM_LINKAGE_CFG 0x112a //ȡ -#define MINOR_SET_NETWORK_CFG 0x112b // -#define MINOR_GET_NETWORK_CFG 0x112c //ȡ -#define MINOR_SET_VIDEO_MASK_CFG 0x112d //ƵڸDz -#define MINOR_GET_VIDEO_MASK_CFG 0x112e //ȡƵڸDz - -#define MINOR_BASIC_OPERATION_CFG 0x112f // -#define MINOR_DISPLAY_EFFECT_ADJUST_CFG 0x1130 //ʾЧ -#define MINOR_DISPLAY_PROPERTY_CFG 0x1131 //ʾ -#define MINOR_SIGNAL_CABLE_CFG 0x1132 //ź -#define MINOR_BASIC_CFG 0x1133 // -#define MINOR_IMAGE_ADJUST_CFG 0x1134 //ͼ -#define MINOR_IMAGE_ENHANCE_CFG 0x1135 //ͼǿ -#define MINOR_NOSIGN_SCREEN_SAVER_CFG 0x1136 //ź -#define MINOR_ADVANCED_OPERATION_CFG 0x1137 //߼ -#define MINOR_RECEIVE_CARD_CFG 0x1138 //տ -#define MINOR_INPUT_SUPPORT_CFG 0x1139 //ֹ֧ -#define MINOR_SYSTEM_MAINTAIN_CFG 0x113a //ϵͳά -#define MINOR_SYSTEM_TEST_CFG 0x113b //ϵͳ -#define MINOR_JOINT_CFG 0x113c //ƴ -#define MINOR_SHOW_MODE_CFG 0x113d //ʾģʽ -#define MINOR_ADVANCED_IMAGE_CFG 0x113e //߼ͼ -#define MINOR_SHELF_SIZE_CALIBRATION 0x1140 //ܹ궨 -#define MINOR_CARGO_SENSOR_CALIBRATION 0x1141 //񴫸궨 -#define MINOR_CARGO_PRODUCT_BIND_CFG 0x1142 //Ʒ - -//2013-04-19 ITS־ -#define MINOR_LOCAL_ADD_CAR_INFO 0x2001 /*ӳϢ*/ -#define MINOR_LOCAL_MOD_CAR_INFO 0x2002 /*޸ijϢ*/ -#define MINOR_LOCAL_DEL_CAR_INFO 0x2003 /*ɾϢ*/ -#define MINOR_LOCAL_FIND_CAR_INFO 0x2004 /*زҳϢ*/ -#define MINOR_LOCAL_ADD_MONITOR_INFO 0x2005 /*ӲϢ*/ -#define MINOR_LOCAL_MOD_MONITOR_INFO 0x2006 /*޸IJϢ*/ -#define MINOR_LOCAL_DEL_MONITOR_INFO 0x2007 /*ɾϢ*/ -#define MINOR_LOCAL_FIND_MONITOR_INFO 0x2008 /*زѯϢ*/ -#define MINOR_LOCAL_FIND_NORMAL_PASS_INFO 0x2009 /*زѯͨϢ*/ -#define MINOR_LOCAL_FIND_ABNORMAL_PASS_INFO 0x200a /*زѯ쳣ͨϢ*/ -#define MINOR_LOCAL_FIND_PEDESTRIAN_PASS_INFO 0x200b /*زѯͨϢ*/ -#define MINOR_LOCAL_PIC_PREVIEW 0x200c /*ͼƬԤ*/ -#define MINOR_LOCAL_SET_GATE_PARM_CFG 0x200d /*ñóڲ*/ -#define MINOR_LOCAL_GET_GATE_PARM_CFG 0x200e /*ȡóڲ*/ -#define MINOR_LOCAL_SET_DATAUPLOAD_PARM_CFG 0x200f /*ñϴ*/ -#define MINOR_LOCAL_GET_DATAUPLOAD_PARM_CFG 0x2010 /*ȡϴ*/ - -//2013-11-19־ -#define MINOR_LOCAL_DEVICE_CONTROL 0x2011 /*豸(ؿբ)*/ -#define MINOR_LOCAL_ADD_EXTERNAL_DEVICE_INFO 0x2012 /*豸Ϣ */ -#define MINOR_LOCAL_MOD_EXTERNAL_DEVICE_INFO 0x2013 /*޸豸Ϣ */ -#define MINOR_LOCAL_DEL_EXTERNAL_DEVICE_INFO 0x2014 /*ɾ豸Ϣ */ -#define MINOR_LOCAL_FIND_EXTERNAL_DEVICE_INFO 0x2015 /*زѯ豸Ϣ */ -#define MINOR_LOCAL_ADD_CHARGE_RULE 0x2016 /*շѹ */ -#define MINOR_LOCAL_MOD_CHARGE_RULE 0x2017 /*޸շѹ */ -#define MINOR_LOCAL_DEL_CHARGE_RULE 0x2018 /*ɾշѹ */ -#define MINOR_LOCAL_FIND_CHARGE_RULE 0x2019 /*زѯշѹ */ -#define MINOR_LOCAL_COUNT_NORMAL_CURRENTINFO 0x2020 /*ͳͨϢ */ -#define MINOR_LOCAL_EXPORT_NORMAL_CURRENTINFO_REPORT 0x2021 /*صͨϢͳƱ */ -#define MINOR_LOCAL_COUNT_ABNORMAL_CURRENTINFO 0x2022 /*ͳ쳣ͨϢ */ -#define MINOR_LOCAL_EXPORT_ABNORMAL_CURRENTINFO_REPORT 0x2023 /*ص쳣ͨϢͳƱ */ -#define MINOR_LOCAL_COUNT_PEDESTRIAN_CURRENTINFO 0x2024 /*ͳͨϢ */ -#define MINOR_LOCAL_EXPORT_PEDESTRIAN_CURRENTINFO_REPORT 0x2025 /*صͨϢͳƱ */ -#define MINOR_LOCAL_FIND_CAR_CHARGEINFO 0x2026 /*زѯշϢ */ -#define MINOR_LOCAL_COUNT_CAR_CHARGEINFO 0x2027 /*ͳƹշϢ */ -#define MINOR_LOCAL_EXPORT_CAR_CHARGEINFO_REPORT 0x2028 /*صշϢͳƱ */ -#define MINOR_LOCAL_FIND_SHIFTINFO 0x2029 /*زѯӰϢ */ -#define MINOR_LOCAL_FIND_CARDINFO 0x2030 /*زѯƬϢ */ -#define MINOR_LOCAL_ADD_RELIEF_RULE 0x2031 /*Ӽ */ -#define MINOR_LOCAL_MOD_RELIEF_RULE 0x2032 /*޸ļ */ -#define MINOR_LOCAL_DEL_RELIEF_RULE 0x2033 /*ɾ */ -#define MINOR_LOCAL_FIND_RELIEF_RULE 0x2034 /*زѯ */ -#define MINOR_LOCAL_GET_ENDETCFG 0x2035 /*ػȡڿƻ߼ */ -#define MINOR_LOCAL_SET_ENDETCFG 0x2036 /*óڿƻ߼*/ -#define MINOR_LOCAL_SET_ENDEV_ISSUEDDATA 0x2037 /*óڿƻ·ƬϢ */ -#define MINOR_LOCAL_DEL_ENDEV_ISSUEDDATA 0x2038 /*ճڿƻ·ƬϢ */ - -#define MINOR_REMOTE_DEVICE_CONTROL 0x2101 /*Զ豸*/ -#define MINOR_REMOTE_SET_GATE_PARM_CFG 0x2102 /*Զóڲ*/ -#define MINOR_REMOTE_GET_GATE_PARM_CFG 0x2103 /*ȡԶóڲ*/ -#define MINOR_REMOTE_SET_DATAUPLOAD_PARM_CFG 0x2104 /*Զϴ*/ -#define MINOR_REMOTE_GET_DATAUPLOAD_PARM_CFG 0x2105 /*ȡԶϴ*/ -#define MINOR_REMOTE_GET_BASE_INFO 0x2106 /*Զ̻ȡն˻Ϣ*/ -#define MINOR_REMOTE_GET_OVERLAP_CFG 0x2107 /*Զ̻ȡַӲ*/ -#define MINOR_REMOTE_SET_OVERLAP_CFG 0x2108 /*ԶַӲ*/ -#define MINOR_REMOTE_GET_ROAD_INFO 0x2109 /*Զ̻ȡ·Ϣ*/ -#define MINOR_REMOTE_START_TRANSCHAN 0x210a /*Զ̽ͬݷ*/ -#define MINOR_REMOTE_GET_ECTWORKSTATE 0x210b /*Զ̻ȡն˹״̬*/ -#define MINOR_REMOTE_GET_ECTCHANINFO 0x210c /*Զ̻ȡնͨ״̬*/ - -//Զ̿ 2013-11-19 -#define MINOR_REMOTE_ADD_EXTERNAL_DEVICE_INFO 0x210d /*Զ豸Ϣ */ -#define MINOR_REMOTE_MOD_EXTERNAL_DEVICE_INFO 0x210e /*Զ޸豸Ϣ */ -#define MINOR_REMOTE_GET_ENDETCFG 0x210f /*Զ̻ȡڿƻ߼ */ -#define MINOR_REMOTE_SET_ENDETCFG 0x2110 /*Զóڿƻ߼*/ -#define MINOR_REMOTE_ENDEV_ISSUEDDATA 0x2111 /*Զóڿƻ·ƬϢ */ -#define MINOR_REMOTE_DEL_ENDEV_ISSUEDDATA 0x2112 /*Զճڿƻ·ƬϢ */ - -//ITS 0x2115~0x2120 ͣλĿ -#define MINOR_REMOTE_ON_CTRL_LAMP 0x2115 /*Զ̿Ƴλָʾ*/ -#define MINOR_REMOTE_OFF_CTRL_LAMP 0x2116 /*رԶ̿Ƴλָʾ*/ -//Netra3.1.0 -#define MINOR_SET_VOICE_LEVEL_PARAM 0x2117 /*С */ -#define MINOR_SET_VOICE_INTERCOM_PARAM 0x2118 /*¼ */ -#define MINOR_SET_INTELLIGENT_PARAM 0x2119 /**/ -#define MINOR_LOCAL_SET_RAID_SPEED 0x211a /*raidٶ*/ -#define MINOR_REMOTE_SET_RAID_SPEED 0x211b /*Զraidٶ*/ -//Nerta3.1.2 -#define MINOR_REMOTE_CREATE_STORAGE_POOL 0x211c //ԶӴ洢 -#define MINOR_REMOTE_DEL_STORAGE_POOL 0x211d //Զɾ洢 - -#define MINOR_REMOTE_DEL_PIC 0x2120 //ԶɾͼƬ -#define MINOR_REMOTE_DEL_RECORD 0x2121 //Զɾ¼ -#define MINOR_REMOTE_CLOUD_ENABLE 0x2123 //Զϵͳ -#define MINOR_REMOTE_CLOUD_DISABLE 0x2124 //Զϵͳ -#define MINOR_REMOTE_CLOUD_MODIFY_PARAM 0x2125 //Զ޸Ĵ洢ز -#define MINOR_REMOTE_CLOUD_MODIFY_VOLUME 0x2126 //Զ޸Ĵ洢 -#define MINOR_REMOTE_GET_GB28181_SERVICE_PARAM 0x2127 //Զ̻ȡGB28181 -#define MINOR_REMOTE_SET_GB28181_SERVICE_PARAM 0x2128 //ԶGB28181 -#define MINOR_LOCAL_GET_GB28181_SERVICE_PARAM 0x2129 //ػȡGB28181 -#define MINOR_LOCAL_SET_GB28181_SERVICE_PARAM 0x212a //B28181 -#define MINOR_REMOTE_SET_SIP_SERVER 0x212b //ԶSIP SERVER -#define MINOR_LOCAL_SET_SIP_SERVER 0x212c //SIP SERVER -#define MINOR_LOCAL_BLOCKALLOWFILE_OUTPUT 0x212d // -#define MINOR_LOCAL_BLOCKALLOWFILE_INPUT 0x212e // -#define MINOR_REMOTE_BLOCKALLOWCFGFILE_OUTPUT 0x212f //Զ -#define MINOR_REMOTE_BLOCKALLOWCFGFILE_INPUT 0x2130 //Զ - - -#define MINOR_REMOTE_CREATE_MOD_VIEWLIB_SPACE 0x2200 /*Զ̴/޸ͼռ*/ -#define MINOR_REMOTE_DELETE_VIEWLIB_FILE 0x2201 /*Զɾͼļ*/ -#define MINOR_REMOTE_DOWNLOAD_VIEWLIB_FILE 0x2202 /*Զͼļ*/ -#define MINOR_REMOTE_UPLOAD_VIEWLIB_FILE 0x2203 /*Զϴͼļ*/ -#define MINOR_LOCAL_CREATE_MOD_VIEWLIB_SPACE 0x2204 /*ش/޸ͼռ*/ - -#define MINOR_LOCAL_SET_DEVICE_ACTIVE 0x3000 //ؼ豸 -#define MINOR_REMOTE_SET_DEVICE_ACTIVE 0x3001 //Զ̼豸 -#define MINOR_LOCAL_PARA_FACTORY_DEFAULT 0x3002 //ػظ -#define MINOR_REMOTE_PARA_FACTORY_DEFAULT 0x3003 //Զָ̻ -#define MIMOR_REMOTE_DELETE_ALL_VERIFYORCAP_PICS 0x3004 //Զɾ֤ץͼƬ -#define MIMOR_LOCAL_DELETE_ALL_VERIFYORCAP_PICS 0x3005 //ɾ֤ץͼƬ -#define MIMOR_REMOTE_DELETE_EVENTS_AT_SPECTIME 0x3006 //Զָ̰ʱɾ¼ -#define MIMOR_LOCAL_DELETE_EVENTS_AT_SPECTIME 0x3007 //ذָʱɾ¼ -#define MIMOR_REMOTE_OPEN_SUMMER_TIME 0x3008 //Զ̿ʱ -#define MIMOR_LOCAL_OPEN_SUMMER_TIME 0x3009 //ؿʱ -#define MIMOR_REMOTE_CLOSE_SUMMER_TIME 0x3010 //Զ̹رʱ -#define MIMOR_LOCAL_CLOSE_SUMMER_TIME 0x3011 //عرʱ -#define MIMOR_REMOTE_EZVIZ_UNBIND 0x3012 //Զөʯƽ -#define MIMOR_LOCAL_EZVIZ_UNBIND 0x3013 //өʯƽ -#define MIMOR_ENTER_LOCALUI_BACKGROUND 0x3014 //UĮ -#define MIMOR_REMOTE_DELETE_FACEBASEMAP 0x3015 //Զɾͼ -#define MIMOR_LOCAL_DELETE_FACEBASEMAP 0x3016 //ɾͼ - - -/*Ϣ־*/ -#define MINOR_UPLAOD_STATIC_MATERIAL 0x2401 //̬زϴ -#define MINOR_UPLOAD_DYNAMIC_MATERIAL 0x2402 //̬زϴ -#define MINOR_DELETE_MATERIAL 0x2403 //ɾز -#define MINOR_DOWNLOAD_STATIC_MATERIAL 0x2404 //̬ز -#define MINOR_COVER_STATIC_MATERIAL 0x2405 //̬زĸ -#define MINOR_APPROVE_MATERIAL 0x2406 //ز -#define MINOR_UPLAOD_PROGRAM 0x2407 //ϴĿ -#define MINOR_DOWNLOAD_PROGRAM 0x2408 //ؽĿ -#define MINOR_DELETE_PROGRAM 0x2409 //ɾĿ -#define MINOR_MODIFY_PROGRAM 0x240a //Ŀ޸ -#define MINOR_APPROVE_PRAGRAM 0x240b //Ŀ -#define MINOR_UPLAOD_SCHEDULE 0x240c //ϴճ -#define MINOR_DOWNLOAD_SCHEDULE 0x240d //ճ -#define MINOR_DELETE_SCHEDULE 0x240e //ɾճ -#define MINOR_MODIFY_SCHEDULE 0x240f //޸ճ -#define MINOR_RELEASE_SCHEDULE 0x2410 //ճ -#define MINOR_ADD_TERMINAL 0x2411 //ն -#define MINOR_DELETE_TERMINAL 0x2412 //ɾն -#define MINOR_MODIFY_TERMIANL_PARAM 0x2413 //޸ն˲ -#define MINOR_MODIFY_TERMIANL_PLAY_PARAM 0x2414 //ն˲Ų -#define MINOR_ADD_TERMIANL_GROUP 0x2415 //ն -#define MINOR_MODIFY_TERMINAL_GROUP_PARAM 0x2416 //޸ն -#define MINOR_DELETE_TERMIANL_GROUP 0x2417 //ɾն -#define MINOR_TERMINAL_PLAY_CONTROL 0x2418 //ն˲ſ -#define MINOR_TERMINAL_ON_OFF_LINE 0x2419 //ն -#define MINOR_SET_SWITCH_PLAN 0x241a //ն˶ʱػƻ -#define MINOR_SET_VOLUME_PLAN 0x241b //ն˶ʱƻ -#define MINOR_TERMINAL_SCREENSHOT 0x241c //ն˽ -#define MINOR_SYSTEM_TIME_CFG 0x241d //ϵͳУʱ -#define MINOR_ADD_USER_CFG 0x241e //û -#define MINOR_DEL_USER_CFG 0x241f //ɾû -#define MINOR_REMOTE_MANAGE_HDD 0x2420 //Զ̱༭Ӳ -#define MINOR_TERMINAL_UPDATE_START 0x2421 //ն -#define MINOR_SVR_RESTORE_DEFAULT_PARAM 0x2422 //Զָ̻Ĭ -#define MINOR_SVR_REMOTE_RESTORE_FACTORY 0x2423 //Զָ̻ -#define MINOR_SVR_REMOTE_REBOOT 0x2424 //Զ -#define MINOR_SVR_MODIFY_NETWORK_PARAM 0x2425 //޸ -#define MINOR_SVR_SOFTWARE_UPGRADE 0x2426 // - - - -#define MINOR_REMOTE_CONFERENCE_CONFIG 0x2501 //MCU -#define MINOR_REMOTE_TERMINAL_CONFIG 0x2502 //MCUն -#define MINOR_REMOTE_GROUP_CONFIG 0x2503 //MCU -#define MINOR_REMOTE_CONFERENCE_CTRL 0x2504 //MCU -#define MINOR_REMOTE_TERMINAL_CTRL 0x2505 //MCUն˿ -#define MINOR_ADD_VIDEOWALLSCENE 0x2506 //½ǽ -#define MINOR_DEL_VIDEOWALLSCENE 0x2507 //ɾǽ -#define MINOR_SAVE_VIDEOWALLSCENE 0x2508 //ǽ -#define MINOR_UPLOAD_SCENECFGFILE 0x2509 //ϴǽļ -#define MINOR_DOWNLOAD_SCENECFGFILE 0x250a //صǽļ - - -//NVR -#define MINOR_LOCAL_RESET_LOGIN_PASSWORD 0x2600 /* admin½*/ -#define MINOR_REMOTE_RESET_LOGIN_PASSWORD 0x2601 /* Զadmin¼ */ -#define MINOR_LOCAL_FACE_BASE_CREATE 0x2602 /* Աȿⴴ*/ -#define MINOR_REMOTE_FACE_BASE_CREATE 0x2603 /* ԶԱȿⴴ*/ -#define MINOR_LOCAL_FACE_BASE_MODIFY 0x2604 /* Աȿ޸*/ -#define MINOR_REMOTE_FACE_BASE_MODIFY 0x2605 /* ԶԱȿ޸*/ -#define MINOR_LOCAL_FACE_BASE_DELETE 0x2606 /* Աȿɾ*/ -#define MINOR_REMOTE_FACE_BASE_DELETE 0x2607 /* ԶԱȿɾ*/ -#define MINOR_LOCAL_FACE_DATA_APPEND 0x2608 /* ¼*/ -#define MINOR_REMOTE_FACE_DATA_APPEND 0x2609 /* Զ¼*/ -#define MINOR_LOCAL_FACE_DATA_SEARCH 0x2610 /* ȶݲ*/ -#define MINOR_REMOTE_FACE_DATA_SEARCH 0x2611 /* Զȶݲ*/ -#define MINOR_LOCAL_FACE_DATA_ANALYSIS 0x2612 /* ͼƬ*/ -#define MINOR_REMOTE_FACE_DATA_ANALYSIS 0x2613 /* ԶͼƬ*/ -#define MINOR_LOCAL_FACE_DATA_EDIT 0x2614 /* ޸*/ -#define MINOR_REMOTE_FACE_DATA_EDIT 0x2615 /* Զ޸*/ - -#define MINOR_LOCAL_FACE_DATA_DELETE 0x2616 /* ɾ*/ -#define MINOR_REMOTE_FACE_DATA_DELET 0x2617 /* Զɾ*/ - -#define MINOR_LOCAL_VCA_ANALYSIS_CFG 0x2618 /* ܷ*/ -#define MINOR_REMOTE_VCA_ANALYSIS_CFG 0x2619 /* Զܷ*/ - -#define MINOR_LOCAL_FACE_BASE_IMPORT 0x261a /* ص*/ -#define MINOR_LOCAL_FACE_BASE_EXPORT 0x261b /* ص*/ -//NVRȺ -#define MINOR_REMOTE_CLUSTER_MODE_CONFIG 0x261c /* Զ̼Ⱥģʽò*/ -#define MINOR_LOCAL_CLUSTER_MODE_CONFIG 0x261d /* ؼȺģʽò*/ -#define MINOR_REMOTE_CLUSTER_NETWORK_CONFIG 0x261e /* Զ̼Ⱥò*/ -#define MINOR_LOCAL_CLUSTER_NETWORK_CONFIG 0x261f /* ؼȺò*/ -#define MINOR_REMOTE_CLUSTER_ADD_DEVICE 0x2620 /* Զ̼Ⱥ豸*/ -#define MINOR_LOCAL_CLUSTER_ADD_DEVICE 0x2621 /* ؼȺ豸*/ -#define MINOR_REMOTE_CLUSTER_DEL_DEVICE 0x2622 /* Զ̼Ⱥɾ豸*/ -#define MINOR_LOCAL_CLUSTER_DEL_DEVICE 0x2623 /* ؼȺɾ豸*/ -#define MINOR_REMOTE_HFPD_CFG 0x2624 /* Զ̸ƵԱ*/ -#define MINOR_REMOTE_FACE_CONTRAST_TASK 0x2625 /* Զȶ */ -#define MINOR_REMOTE_LFPD_CFG 0x2626 /* Զ̵ƵԱ*/ -#define MINOR_REMOTE_IOTCFGFILE_INPUT 0x2627//Զ̵IOTļ -#define MINOR_REMOTE_IOTCFGFILE_OUTPUT 0x2628//Զ̵IOTļ -#define MINOR_LOCAL_IOT_ADD 0x2629//IOTͨ -#define MINOR_REMOTE_IOT_ADD 0x262a//ԶIOTͨ -#define MINOR_LOCAL_IOT_DEL 0x262b//ɾIOTͨ -#define MINOR_REMOTE_IOT_DEL 0x262c//ԶɾIOTͨ -#define MINOR_LOCAL_IOT_SET 0x262d//IOTͨ -#define MINOR_REMOTE_IOT_SET 0x262e//ԶIOTͨ -#define MINOR_LOCAL_IOTCFGFILE_INPUT 0x262f //صIOTļ -#define MINOR_LOCAL_IOTCFGFILE_OUTPUT 0x2630//صIOTļ -#define MINOR_LOCAL_VAD_CFG 0x2631 /* */ -#define MINOR_REMOTE_VAD_CFG 0x2632 /* Զ*/ -#define MINOR_LOCAL_ADDRESS_FILTER_CONFIG 0x2633 /* صַ*/ -#define MINOR_REMOTE_ADDRESS_FILTER_CONFIG 0x2634 /* Զ̵ַ*/ -#define MINOR_LOCAL_POE_CFG 0x2635 /* POE*/ -#define MINOR_REMOTE_POE_CFG 0x2636 /* ԶPOE*/ -#define MINOR_LOCAL_RESET_CHANNEL_PASSWORD 0x2637 /* ͨ*/ -#define MINOR_REMOTE_RESET_CHANNEL_PASSWORD 0x2638 /* Զͨ*/ -#define MINOR_LOCAL_SSD_UPGRADE_START 0x2639 /* SSDļϵͳʼ*/ -#define MINOR_LOCAL_SSD_UPGRADE_STOP 0x2640 /* SSDļϵͳ*/ -#define MINOR_REMOTE_SSD_UPGRADE_START 0x2641 /* ԶSSDļϵͳʼ*/ -#define MINOR_REMOTE_SSD_UPGRADE_STOP 0x2642 /* ԶSSDļϵͳ*/ -#define MINOR_LOCAL_SSD_FORMAT_START 0x2643 /*SSDļϵͳʽʼ*/ -#define MINOR_LOCAL_SSD_FORMAT_STOP 0x2644 /*SSDļϵͳʽ*/ -#define MINOR_REMOTE_SSD_FORMAT_START 0x2645 /*ԶSSDļϵͳʽʼ*/ -#define MINOR_REMOTE_SSD_FORMAT_STOP 0x2646 /*ԶSSDļϵͳʽ*/ -#define MINOR_LOCAL_AUTO_SWITCH_CONFIG 0x2647 /* Զػ*/ -#define MINOR_REMOTE_AUTO_SWITCH_CONFIG 0x2648 /* ԶԶػ*/ - -#define MINOR_LOCAL_SSD_INITIALIZATION_START 0x264a /* SSDʼʼ*/ -#define MINOR_LOCAL_SSD_INITIALIZATION_END 0x264b /* SSDʼ*/ -#define MINOR_REMOTE_SSD_INITIALIZATION_START 0x264c /* ԶSSDʼʼ*/ -#define MINOR_REMOTE_SSD_INITIALIZATION_END 0x264d /* ԶSSDʼ*/ - - -//AIƽ̨IJ־ -#define MINOR_REMOTE_AI_MODEL_ADD 0x2650//ģͰ -#define MINOR_REMOTE_AI_MODEL_QUERY 0x2651//ģͰѯ -#define MINOR_REMOTE_AI_MODEL_DELETE 0x2652//ģͰɾ -#define MINOR_REMOTE_AI_MODEL_UPDATE 0x2653//ģͰ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_ADD 0x2654//ͼƬѯ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_QUERY 0x2655//ͼƬѯѯ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_DELETE 0x2656//ͼƬѯɾ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_MODIFY 0x2657//ͼƬѯ޸ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_ADD 0x2658//Ƶѯ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_QUERY 0x2659//Ƶѯѯ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_DELETE 0x265A//Ƶѯɾ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_MODIFY 0x265B//Ƶѯ޸ -#define MINOR_REMOTE_AI_PICTURE_TASK_ADD 0x265C//ͼƬ -#define MINOR_REMOTE_AI_PICTURE_TASK_QUERY 0x265D//ͼƬѯ -#define MINOR_REMOTE_AI_PICTURE_TASK_DELETE 0x265E//ͼƬɾ -#define MINOR_REMOTE_AI_PICTURE_TASK_MODIFY 0x265F//ͼƬ޸ -#define MINOR_REMOTE_AI_VIDEO_TASK_ADD 0x2660//Ƶ -#define MINOR_REMOTE_AI_VIDEO_TASK_QUERY 0x2661//Ƶѯ -#define MINOR_REMOTE_AI_VIDEO_TASK_DELETE 0x2662//Ƶɾ -#define MINOR_REMOTE_AI_VIDEO_TASK_MODIFY 0x2663//Ƶ޸ -#define MINOR_REMOTE_AI_RULE_CONFIG 0x2664//AI - -#define MINOR_REMOTE_LOG_STORAGE_CONFIG 0x2665//־洢 -#define MINOR_REMOTE_LOG_SERVER_CONFIG 0x2666//־ - -#define MINOR_REMOTE_RESET_IPC_PASSWORD 0x2670//NVRIPC־ - -//өʯƽ̨־ -#define MINOR_LOCAL_EZVIZ_OPERATION 0x2671 //өʯ(өʯú) -#define MINOR_REMOTE_EZVIZ_OPERATION 0x2672 //Զөʯ(өʯú) - -#define MINOR_EZVIZ_BITSTREAM_PARAMATERS_CONFIG 0x2673 /* өʯ*/ -#define MINOR_EZVIZ_ALARM_PARAMATERS_CONFIG 0x2674 /* өʯ*/ -#define MINOR_EZVIZ_UPGRADE 0x2675 /* өʯ*/ -#define MINOR_EZVIZ_REGISTER 0x2676 /* өʯע*/ -#define MINOR_EZVIZ_LOCAL_PARAMATERS_CONFIG 0x2677 /* өʯز*/ -#define MINOR_EZVIZ_REMOTE_PARAMATERS_CONFIG 0x2678 /* өʯԶ̲*/ - - -//־ -#define MINOR_STOP_SOUND 0x2700 /**/ -#define MINOR_SELF_CHECK 0x2701 /*Լ*/ -#define MINOR_DUTY_CHECK 0x2702 /**/ -#define MINOR_SWITCH_SIMPLE_WORKMODE 0x2703 /*лģʽ*/ -#define MINOR_SWITCH_NORMAL_WORKMODE 0x2704 /*л׼ģʽ*/ -#define MINOR_LOCAL_SSD_OPERATE_START 0x2705 /* SSDʼ*/ -#define MINOR_LOCAL_SSD_OPERATE_STOP 0x2706 /* SSD*/ -#define MINOR_REMOTE_SSD_OPERATE_START 0x2707 /* ԶSSDʼ*/ -#define MINOR_REMOTE_SSD_OPERATE_STOP 0x2708 /* ԶSSD*/ - -/*־Ϣ*/ -// -#define MAJOR_INFORMATION 0x4 /*Ϣ*/ -// -#define MINOR_HDD_INFO 0xa1 /*ӲϢ*/ -#define MINOR_SMART_INFO 0xa2 /*SMARTϢ*/ -#define MINOR_REC_START 0xa3 /*ʼ¼*/ -#define MINOR_REC_STOP 0xa4 /*ֹͣ¼*/ -#define MINOR_REC_OVERDUE 0xa5 /*¼ɾ*/ -#define MINOR_LINK_START 0xa6 //ǰ豸 -#define MINOR_LINK_STOP 0xa7 //Ͽǰ豸 -#define MINOR_NET_DISK_INFO 0xa8 //ӲϢ -#define MINOR_RAID_INFO 0xa9 //raidϢ -#define MINOR_RUN_STATUS_INFO 0xaa /*ϵͳ״̬Ϣ*/ - -//Netra3.0.0 -#define MINOR_SPARE_START_BACKUP 0xab /*ȱϵͳʼָ*/ -#define MINOR_SPARE_STOP_BACKUP 0xac /*ȱϵͳָֹͣ*/ -#define MINOR_SPARE_CLIENT_INFO 0xad /*ȱͻϢ*/ -#define MINOR_ANR_RECORD_START 0xae /*ANR¼ʼ*/ -#define MINOR_ANR_RECORD_END 0xaf /*ANR¼*/ -#define MINOR_ANR_ADD_TIME_QUANTUM 0xb0 /*ANRʱ*/ -#define MINOR_ANR_DEL_TIME_QUANTUM 0xb1 /*ANRɾʱ*/ - -#define MINOR_PIC_REC_START 0xb3 /* ʼץͼ*/ -#define MINOR_PIC_REC_STOP 0xb4 /* ֹͣץͼ*/ -#define MINOR_PIC_REC_OVERDUE 0xb5 /* ͼƬļɾ */ -//Netra3.1.0 -#define MINOR_CLIENT_LOGIN 0xb6 /*¼ɹ*/ -#define MINOR_CLIENT_RELOGIN 0xb7 /*µ¼*/ -#define MINOR_CLIENT_LOGOUT 0xb8 /*˳ɹ*/ -#define MINOR_CLIENT_SYNC_START 0xb9 /*¼ͬʼ*/ -#define MINOR_CLIENT_SYNC_STOP 0xba /*¼ֹͬ*/ -#define MINOR_CLIENT_SYNC_SUCC 0xbb /*¼ͬɹ*/ -#define MINOR_CLIENT_SYNC_EXCP 0xbc /*¼ͬ쳣*/ -#define MINOR_GLOBAL_RECORD_ERR_INFO 0xbd /*ȫִ¼Ϣ*/ -#define MINOR_BUFFER_STATE 0xbe /*״̬־¼*/ -#define MINOR_DISK_ERRORINFO_V2 0xbf /*Ӳ̴ϸϢV2*/ -#define MINOR_CS_DATA_EXPIRED 0xc0 //ƴ洢ݹ -#define MINOR_PLAT_INFO 0xc1 //ƽ̨Ϣ -#define MINOR_DIAL_STAT 0xc2 /*״̬*/ - -#define MINOR_UNLOCK_RECORD 0xc3 //¼ -#define MINOR_VIS_ALARM 0xc4 // -#define MINOR_TALK_RECORD 0xc5 //ͨ¼ -#define MINOR_ACCESSORIES_MESSAGE 0xc6 //Ϣ -#define MINOR_KMS_EXPAMSION_DISK_INSERT 0xc7// KMS̲ -#define MINOR_IPC_CONNECT 0xc8// IPCϢ -#define MINOR_INTELLIGENT_BOARD_STATUS 0xc9// ܰ״̬ -#define MINOR_IPC_CONNECT_STATUS 0xca// IPC״̬ -#define MINOR_AUTO_TIMING 0xcb //ԶУʱ -#define MINOR_EZVIZ_OPERATION 0xcc //өʯ״̬ -//NVRȺ -#define MINOR_CLUSTER_DEVICE_ONLINE 0xcd //Ⱥ豸 -#define MINOR_CLUSTER_MGR_SERVICE_STARTUP 0xce //Ⱥ -#define MINOR_CLUSTER_BUSINESS_TRANSFER 0xcf //ȺҵǨ -#define MINOR_CLUSTER_STATUS 0xd0 //Ⱥ״̬Ϣ -#define MINOR_CLUSTER_CS_STATUS 0xd1 //ȺCSCM豸״̬ʧܣ¼CSCMIPַ -#define MINOR_CLUSTER_CM_STATUS 0xd2 //CM״̬л¼CMתĽɫleaderfollowercandidate -#define MINOR_VOICE_START_DETECTED 0xd3 /*⵽ʼ*/ -#define MINOR_VOICE_END_DETECTED 0xd4 /*⵽*/ -#define MINOR_DOUBLE_VERIFICATION_PASS 0xd5 /*֤ͨ*/ -#define MINOR_WIRELESS_RUNNING_STATUS 0xd6 /*״̬*/ -#define MINOR_SYSTEM_DATA_SYNCHRONIZATION 0xd7 /*ϵͳͬ*/ -#define MINOR_HD_FORMAT_START 0xd8 /*Ӳ̸ʽʼ*/ -#define MINOR_HD_FORMAT_STOP 0xd9 /*Ӳ̸ʽ*/ - -//0x400-0x4ff ŽϢ־ -#define MINOR_LIVE_DETECT_OPEN 0x400 //˼⿪ -#define MINOR_LIVE_DETECT_CLOSE 0x401 //˼ر -#define MINOR_CLEAR_DATA_COLLECTION 0x402 //ɼ -#define MINOR_DELETE_DATA_COLLECTION 0x403 //ɼɾ -#define MINOR_EXPORT_DATA_COLLECTION 0x404 //ɼݵ -#define MINOR_CARD_LEN_CONFIG 0x405 // -#define MINOR_DATA_BASE_INIT_FAILED 0x406 //ݿʼʧ -#define MINOR_DATA_BASE_PATCH_UPDATE 0x407 //ݿⲹ -#define MINOR_PSAM_CARD_INSERT 0x408 //Psam -#define MINOR_PSAM_CARD_REMOVE 0x409 //Psamγ -#define MINOR_HARD_FAULT_REBOOT 0x40a //Ӳ쳣hardfault -#define MINOR_PSAM_CARD_OCP 0x40b //Psam -#define MINOR_STACK_OVERFLOW 0x40c //ջ -#define MINOR_PARM_CFG 0x40d // -#define MINOR_CLR_USER 0x40e //û -#define MINOR_CLR_CARD 0x40f //п -#define MINOR_CLR_FINGER_BY_READER 0x410 //ָ() -#define MINOR_CLR_FINGER_BY_CARD 0x411 //ָ() -#define MINOR_CLR_FINGER_BY_EMPLOYEE_ON 0x412 //ָ() -#define MINOR_DEL_FINGER 0x413 //ɾһָ -#define MINOR_CLR_WEEK_PLAN 0x414 //Ȩܼƻ -#define MINOR_SET_WEEK_PLAN 0x415 //Ȩܼƻ -#define MINOR_SET_HOLIDAY_PLAN 0x416 //Ȩ޼ռƻ -#define MINOR_CLR_HOLIDAY_PLAN 0x417 //Ȩ޼ռƻ -#define MINOR_SET_HOLIDAY_GROUP 0x418 //Ȩ޼ƻ -#define MINOR_CLR_HOLIDAY_GROUP 0x419 //Ȩ޼ƻ -#define MINOR_CLR_TEMPLATE_PLAN 0x41a //Ȩ޼ƻ -#define MINOR_SET_TEMPLATE_PLAN 0x41b //Ȩ޼ƻ -#define MINOR_ADD_CARD 0x41c // -#define MINOR_MOD_CARD 0x41d //޸Ŀ -#define MINOR_ADD_FINGER_BY_CARD 0x41e //ָ() -#define MINOR_ADD_FINGER_BY_EMPLOYEE_NO 0x41f //ָ() -#define MINOR_MOD_FINGER_BY_CARD 0x420 //޸ָ() -#define MINOR_MOD_FINGER_BY_EMPLOYEE_NO 0x421 //޸ָ() -#define MINOR_IMPORT_USER_LIST 0x422 //ûб루߲ɼ -#define MINOR_USB_LOGIN 0x423 //USB½ -#define MINOR_USB_LOGOUT 0x424 //USBdz -#define MINOR_ISAPI_HTTP_LOGIN 0x425 //ISAPI HTTP½ -#define MINOR_ISAPI_HTTP_LOGOUT 0x426 //ISAPI HTTP dz -#define MINOR_ISAPI_HTTPS_LOGIN 0x427 //ISAPI HTTPS½ -#define MINOR_ISAPI_HTTPS_LOGOUT 0x428 //ISAPI HTTPSdz -#define MINOR_ISUP_ONLINE 0x429 //ISUP -#define MINOR_ISUP_OFFLINE 0x42a//ISUP -#define MINOR_FP_ISSUE_REC 0x42b //ָƷ¼ -#define MINOR_FACE_ISSUE_REC 0x42c//¼ -#define MINOR_ADD_IRIS 0x42d //·Ĥ -#define MINOR_MODIFY_IRIS 0x42e //޸ĺĤ -#define MINOR_DELETE_EMPLOYEE_IRIS 0x42f //ɾûĤɾ -#define MINOR_DELETE_WHOLE_IRIS 0x430 //ɾȫĤ -#define MINOR_MODIFY_IRIS_CFG 0x431 //޸ĺĤ -#define MINOR_ADD_USER_INFO 0x432 //ԱϢŽԱȨޣ -#define MINOR_MODIFY_USER_INFO 0x433 //޸ԱϢŽԱȨޣ -#define MINOR_CLR_USER_INFO 0x434 //ɾԱϢŽԱȨޣţ -#define MINOR_CLR_CARD_BY_CARD_OR_EMPLOYEE 0x435 //ɾŻ򹤺ţ -#define MINOR_CLR_ALL_CARD 0x436 //ɾп -#define MINOR_SIM_CARD_INSERT 0x437 //SIM -#define MINOR_SIM_CARD_PULLOUT 0x438 //SIMγ -#define MINOR_FINGERPRINT_RECOGNITION_OPEN 0x439 //ָʶ -#define MINOR_FINGERPRINT_RECOGNITION_CLOSE 0x43a //ָʶر -#define MINOR_FACE_RECOGNITION_OPEN 0x43b //ʶ -#define MINOR_FACE_RECOGNITION_CLOSE 0x43c //ʶر -#define MINOR_RESET_ONLINE_READER 0x43d //߶ -#define MINOR_CLEAR_IRIS_PICTURE 0x43e //պĤͼ -#define MINOR_ADD_VP 0x43f //· -#define MINOR_MODIFY_VP 0x440 //޸ -#define MINOR_DELETE_EMPLOYEE_VP 0x441 //ɾ -#define MINOR_DELETE_ALL_VP 0x442 //ɾ - - -//802.1x֤־ -#define MINOR_802_1X_AUTH_SUCC 0x320 /*802.1x֤ɹ*/ -#define MINOR_802_1X_AUTH_FAIL 0x321 /*802.1x֤ʧ*/ - -/*¼*/ -// -#define MAJOR_EVENT 0x5 /*¼*/ -// -#define MINOR_LEGAL_CARD_PASS 0x01 //Ϸ֤ͨ -#define MINOR_CARD_AND_PSW_PASS 0x02 //ˢ֤ͨ -#define MINOR_CARD_AND_PSW_FAIL 0x03 //ˢ֤ʧ -#define MINOR_CARD_AND_PSW_TIMEOUT 0x04 //֤ʱ -#define MINOR_CARD_AND_PSW_OVER_TIME 0x05 //ˢ볬 -#define MINOR_CARD_NO_RIGHT 0x06 //δȨ -#define MINOR_CARD_INVALID_PERIOD 0x07 //Чʱ -#define MINOR_CARD_OUT_OF_DATE 0x08 //Ź -#define MINOR_INVALID_CARD 0x09 //޴˿ -#define MINOR_ANTI_SNEAK_FAIL 0x0a //DZ֤ʧ -#define MINOR_INTERLOCK_DOOR_NOT_CLOSE 0x0b //δر -#define MINOR_NOT_BELONG_MULTI_GROUP 0x0c //ڶ֤Ⱥ -#define MINOR_INVALID_MULTI_VERIFY_PERIOD 0x0d //ڶ֤ʱ -#define MINOR_MULTI_VERIFY_SUPER_RIGHT_FAIL 0x0e //֤ģʽȨ֤ʧ -#define MINOR_MULTI_VERIFY_REMOTE_RIGHT_FAIL 0x0f //֤ģʽԶ֤ʧ -#define MINOR_MULTI_VERIFY_SUCCESS 0x10 //֤ɹ -#define MINOR_LEADER_CARD_OPEN_BEGIN 0x11 //׿ſʼ -#define MINOR_LEADER_CARD_OPEN_END 0x12 //׿Ž -#define MINOR_ALWAYS_OPEN_BEGIN 0x13 //״̬ʼ -#define MINOR_ALWAYS_OPEN_END 0x14 //״̬ -#define MINOR_LOCK_OPEN 0x15 // -#define MINOR_LOCK_CLOSE 0x16 //ر -#define MINOR_DOOR_BUTTON_PRESS 0x17 //Űť -#define MINOR_DOOR_BUTTON_RELEASE 0x18 //Űťſ -#define MINOR_DOOR_OPEN_NORMAL 0x19 //ţŴţ -#define MINOR_DOOR_CLOSE_NORMAL 0x1a //ţŴţ -#define MINOR_DOOR_OPEN_ABNORMAL 0x1b //쳣򿪣Ŵţ -#define MINOR_DOOR_OPEN_TIMEOUT 0x1c //Ŵ򿪳ʱŴţ -#define MINOR_ALARMOUT_ON 0x1d // -#define MINOR_ALARMOUT_OFF 0x1e //ر -#define MINOR_ALWAYS_CLOSE_BEGIN 0x1f //״̬ʼ -#define MINOR_ALWAYS_CLOSE_END 0x20 //״̬ -#define MINOR_MULTI_VERIFY_NEED_REMOTE_OPEN 0x21 //ض֤ҪԶ̿ -#define MINOR_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS 0x22 //֤֤ɹ¼ -#define MINOR_MULTI_VERIFY_REPEAT_VERIFY 0x23 //֤ظ֤¼ -#define MINOR_MULTI_VERIFY_TIMEOUT 0x24 //֤ظ֤¼ -#define MINOR_DOORBELL_RINGING 0x25 // -#define MINOR_FINGERPRINT_COMPARE_PASS 0x26 //ָƱȶͨ -#define MINOR_FINGERPRINT_COMPARE_FAIL 0x27 //ָƱȶʧ -#define MINOR_CARD_FINGERPRINT_VERIFY_PASS 0x28 //ˢָ֤ͨ -#define MINOR_CARD_FINGERPRINT_VERIFY_FAIL 0x29 //ˢָ֤ʧ -#define MINOR_CARD_FINGERPRINT_VERIFY_TIMEOUT 0x2a //ˢָ֤ʱ -#define MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_PASS 0x2b //ˢָƼ֤ͨ -#define MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_FAIL 0x2c //ˢָƼ֤ʧ -#define MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_TIMEOUT 0x2d //ˢָƼ֤ʱ -#define MINOR_FINGERPRINT_PASSWD_VERIFY_PASS 0x2e //ָƼ֤ͨ -#define MINOR_FINGERPRINT_PASSWD_VERIFY_FAIL 0x2f //ָƼ֤ʧ -#define MINOR_FINGERPRINT_PASSWD_VERIFY_TIMEOUT 0x30 //ָƼ֤ʱ -#define MINOR_FINGERPRINT_INEXISTENCE 0x31 //ָƲ -#define MINOR_CARD_PLATFORM_VERIFY 0x32 //ˢƽ̨֤ -#define MINOR_CALL_CENTER 0x33 //¼ -#define MINOR_FIRE_RELAY_TURN_ON_DOOR_ALWAYS_OPEN 0x34 //̵ͨų -#define MINOR_FIRE_RELAY_RECOVER_DOOR_RECOVER_NORMAL 0x35 //̵ָŻָ -#define MINOR_FACE_AND_FP_VERIFY_PASS 0x36 //ָ֤ͨ -#define MINOR_FACE_AND_FP_VERIFY_FAIL 0x37 //ָ֤ʧ -#define MINOR_FACE_AND_FP_VERIFY_TIMEOUT 0x38 //ָ֤ʱ -#define MINOR_FACE_AND_PW_VERIFY_PASS 0x39 //֤ͨ -#define MINOR_FACE_AND_PW_VERIFY_FAIL 0x3a //֤ʧ -#define MINOR_FACE_AND_PW_VERIFY_TIMEOUT 0x3b //֤ʱ -#define MINOR_FACE_AND_CARD_VERIFY_PASS 0x3c //ˢ֤ͨ -#define MINOR_FACE_AND_CARD_VERIFY_FAIL 0x3d //ˢ֤ʧ -#define MINOR_FACE_AND_CARD_VERIFY_TIMEOUT 0x3e //ˢ֤ʱ -#define MINOR_FACE_AND_PW_AND_FP_VERIFY_PASS 0x3f //ָ֤ͨ -#define MINOR_FACE_AND_PW_AND_FP_VERIFY_FAIL 0x40 //ָ֤ʧ -#define MINOR_FACE_AND_PW_AND_FP_VERIFY_TIMEOUT 0x41 //ָ֤ʱ -#define MINOR_FACE_CARD_AND_FP_VERIFY_PASS 0x42 //ˢָ֤ͨ -#define MINOR_FACE_CARD_AND_FP_VERIFY_FAIL 0x43 //ˢָ֤ʧ -#define MINOR_FACE_CARD_AND_FP_VERIFY_TIMEOUT 0x44 //ˢָ֤ʱ -#define MINOR_EMPLOYEENO_AND_FP_VERIFY_PASS 0x45 //żָ֤ͨ -#define MINOR_EMPLOYEENO_AND_FP_VERIFY_FAIL 0x46 //żָ֤ʧ -#define MINOR_EMPLOYEENO_AND_FP_VERIFY_TIMEOUT 0x47 //żָ֤ʱ -#define MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_PASS 0x48 //żָƼ֤ͨ -#define MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_FAIL 0x49 //żָƼ֤ʧ -#define MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_TIMEOUT 0x4a //żָƼ֤ʱ -#define MINOR_FACE_VERIFY_PASS 0x4b //֤ͨ -#define MINOR_FACE_VERIFY_FAIL 0x4c //֤ʧ -#define MINOR_EMPLOYEENO_AND_FACE_VERIFY_PASS 0x4d //ż֤ͨ -#define MINOR_EMPLOYEENO_AND_FACE_VERIFY_FAIL 0x4e //ż֤ʧ -#define MINOR_EMPLOYEENO_AND_FACE_VERIFY_TIMEOUT 0x4f //ż֤ʱ -#define MINOR_FACE_RECOGNIZE_FAIL 0x50 //ʶʧ -#define MINOR_FIRSTCARD_AUTHORIZE_BEGIN 0x51 //׿Ȩʼ -#define MINOR_FIRSTCARD_AUTHORIZE_END 0x52 //׿Ȩ -#define MINOR_DOORLOCK_INPUT_SHORT_CIRCUIT 0x53 //· -#define MINOR_DOORLOCK_INPUT_BROKEN_CIRCUIT 0x54 //· -#define MINOR_DOORLOCK_INPUT_EXCEPTION 0x55 //쳣 -#define MINOR_DOORCONTACT_INPUT_SHORT_CIRCUIT 0x56 //Ŵ· -#define MINOR_DOORCONTACT_INPUT_BROKEN_CIRCUIT 0x57 //Ŵ· -#define MINOR_DOORCONTACT_INPUT_EXCEPTION 0x58 //Ŵ쳣 -#define MINOR_OPENBUTTON_INPUT_SHORT_CIRCUIT 0x59 //Űť· -#define MINOR_OPENBUTTON_INPUT_BROKEN_CIRCUIT 0x5a //Űť· -#define MINOR_OPENBUTTON_INPUT_EXCEPTION 0x5b //Űť쳣 -#define MINOR_DOORLOCK_OPEN_EXCEPTION 0x5c //쳣 -#define MINOR_DOORLOCK_OPEN_TIMEOUT 0x5d //򿪳ʱ -#define MINOR_FIRSTCARD_OPEN_WITHOUT_AUTHORIZE 0x5e //׿δȨʧ -#define MINOR_CALL_LADDER_RELAY_BREAK 0x5f //ݼ̵Ͽ -#define MINOR_CALL_LADDER_RELAY_CLOSE 0x60 //ݼ̵պ -#define MINOR_AUTO_KEY_RELAY_BREAK 0x61 //Զ̵Ͽ -#define MINOR_AUTO_KEY_RELAY_CLOSE 0x62 //Զ̵պ -#define MINOR_KEY_CONTROL_RELAY_BREAK 0x63 //ݿؼ̵Ͽ -#define MINOR_KEY_CONTROL_RELAY_CLOSE 0x64 //ݿؼ̵պ -#define MINOR_EMPLOYEENO_AND_PW_PASS 0x65 //ż֤ͨ -#define MINOR_EMPLOYEENO_AND_PW_FAIL 0x66 //ż֤ʧ -#define MINOR_EMPLOYEENO_AND_PW_TIMEOUT 0x67 //ż֤ʱ -#define MINOR_HUMAN_DETECT_FAIL 0x68 //˼ʧ -#define MINOR_PEOPLE_AND_ID_CARD_COMPARE_PASS 0x69 //֤ȶͨ -#define MINOR_PEOPLE_AND_ID_CARD_COMPARE_FAIL 0x70 //֤ȶʧ -#define MINOR_CERTIFICATE_BLOCKLIST 0x71 //ֹ¼ -#define MINOR_LEGAL_MESSAGE 0x72 //Ϸ -#define MINOR_ILLEGAL_MESSAGE 0x73 //Ƿ -#define MINOR_DOOR_OPEN_OR_DORMANT_FAIL 0x75 //״̬ջ״̬֤ʧ -#define MINOR_AUTH_PLAN_DORMANT_FAIL 0x76 //֤ƻģʽ֤ʧ -#define MINOR_CARD_ENCRYPT_VERIFY_FAIL 0x77 //Уʧ -#define MINOR_SUBMARINEBACK_REPLY_FAIL 0x78 //DZطӦʧ -#define MINOR_DOOR_OPEN_OR_DORMANT_OPEN_FAIL 0x82 //ųջʱŰťʧ -#define MINOR_HEART_BEAT 0x83 //¼ -#define MINOR_DOOR_OPEN_OR_DORMANT_LINKAGE_OPEN_FAIL 0x84 //ųջʱʧ -#define MINOR_TRAILING 0x85 //βͨ -#define MINOR_REVERSE_ACCESS 0x86 // -#define MINOR_FORCE_ACCESS 0x87 //ײ -#define MINOR_CLIMBING_OVER_GATE 0x88 //Խ -#define MINOR_PASSING_TIMEOUT 0x89 //ͨгʱ -#define MINOR_INTRUSION_ALARM 0x8a //󴳱 -#define MINOR_FREE_GATE_PASS_NOT_AUTH 0x8b //բͨʱδ֤ͨ -#define MINOR_DROP_ARM_BLOCK 0x8c //ڱ۱赲 -#define MINOR_DROP_ARM_BLOCK_RESUME 0x8d //ڱ赲 -#define MINOR_LOCAL_FACE_MODELING_FAIL 0x8e //豸ģʧ -#define MINOR_STAY_EVENT 0x8f //¼ -#define MINOR_CERTIFICATE_ALLOWLIST_PASS 0x90 //Ȩ֤ͨ -#define MINOR_CERTIFICATE_ALLOWLIST_FALL 0x91 //Ȩ֤ʧ -#define MINOR_FACE_COLLECTION 0x92 //ɼ¼֤Զ̺ʱϱ -#define MINOR_CARD_COLLECTION 0x93 //ɼ¼֤Զ̺ʱϱ -#define MINOR_PSW_ERROR_OVER_TIMES 0x94 //֤ʧܳ -#define MINOR_ID_CARD_COLLECTION 0x95 //֤ɼ¼֤Զ̺ʱϱ -#define MINOR_PSW_VERIFY_FAIL 0x96 //֤ʧ -#define MINOR_PASSWORD_MISMATCH 0x97 //벻ƥ -#define MINOR_EMPLOYEE_NO_NOT_EXIST 0x98 //Ų -#define MINOR_COMBINED_VERIFY_PASS 0x99 //֤ͨ -#define MINOR_COMBINED_VERIFY_TIMEOUT 0x9a //֤ʱ -#define MINOR_VERIFY_MODE_MISMATCH 0x9b //֤ʽƥ -#define MINOR_ORCODE_VERIFY_PASS 0x9c //ά֤ͨ -#define MINOR_ORCODE_VERIFY_FAIL 0x9d //ά֤ʧ -#define MINOR_HOUSEHOLDER_AUTHORIZE_PASS 0x9e //Ȩ֤ͨ -#define MINOR_BLUETOOTH_VERIFY_PASS 0x9f //֤ͨ -#define MINOR_BLUETOOTH_VERIFY_FAIL 0xa0 //֤ʧ - -#define MINOR_PASSPORT_VERIFY_FAIL 0xa1 //ϢУʧ -#define MINOR_INFORMAL_M1_CARD_VERIFY_FAIL 0xa2 //M1֤ʧ -#define MINOR_CPU_CARD_ENCRYPT_VERIFY_FAIL 0xa3 //CPUУʧ -#define MINOR_NFC_DISABLE_VERIFY_FAIL 0xa4 //NFCܹر֤ʧ - -#define MINOR_LORA_MODULE_ONLINE 0xa5 //LoRaģ -#define MINOR_LORA_MODULE_OFFLINE 0xa6 //LoRaģ -#define MINOR_MQTT_STATUS 0xa7 //Mqtt״̬ - -#define MINOR_EM_CARD_RECOGNIZE_NOT_ENABLED 0xa8 //EMʶδ -#define MINOR_M1_CARD_RECOGNIZE_NOT_ENABLED 0xa9 //M1ʶδ -#define MINOR_CPU_CARD_RECOGNIZE_NOT_ENABLED 0xaa //CPUʶδ -#define MINOR_ID_CARD_RECOGNIZE_NOT_ENABLED 0xab //֤ʶδ -#define MINOR_CARD_SET_SECRET_KEY_FAIL 0xac //װԿʧ -#define MINOR_LOCAL_UPGRADE_FAIL 0xad /* ʧ */ -#define MINOR_REMOTE_UPGRADE_FAIL 0xae /* Զʧ */ -#define MINOR_REMOTE_EXTEND_MODULE_UPGRADE_SUCC 0xaf /*Զչģɹ*/ -#define MINOR_REMOTE_EXTEND_MODULE_UPGRADE_FAIL 0xb0 /*Զչģʧ*/ -#define MINOR_REMOTE_FINGER_PRINT_MODULE_UPGRADE_SUCC 0xb1 /*Զָģɹ*/ -#define MINOR_REMOTE_FINGER_PRINT_MODULE_UPGRADE_FAIL 0xb2 /*Զָģʧ*/ -#define MINOR_DYNAMICCODE_VERIFY_PASS 0xb3 // ̬֤֤ͨ -#define MINOR_DYNAMICCODE_VERIFY_FAIL 0xb4 // ̬֤֤ʧ -#define MINOR_PASSWD_VERIFY_PASS 0xb5 //֤ͨ -#define MINOR_COMSUME_TIMEOUT 0xb6 //ѳʱ -#define MINOR_REFUND_TIMEOUT 0xb7 //ʱ -#define MINOR_COMSUME_AMOUNT_OVERLIMIT 0xb8 //ѽֵ -#define MINOR_COMSUME_TIMES_OVERLIMIT 0xb9 //Ѵ -#define MINOR_USER_COMSUME_ENSURE_TIMEOUT 0xba //ûȷϳʱ -#define MINOR_BLOCKLIST_REACH_THRESHOLD 0xbb //ֹﵽֵ -#define MINOR_DESFIRE_CARD_ENCRYPT_VERIFY_FAIL 0xbc //DesfireУʧ -#define MINOR_DESFIRE_CARD_RECOGNIZE_NOT_ENABLED 0xbd //Desfireʶδ -#define MINOR_IRIS_VERIFY_PASS 0xbe //Ĥ֤ͨ -#define MINOR_IRIS_VERIFY_FAIL 0xbf //Ĥ֤ʧ -#define MINOR_IRIS_BIOASSAY_FAIL 0xc0 //Ĥʧ -#define MINOR_FULL_STAFF 0xc1 //Ա¼Ա90%ʱ -#define MINOR_ATTENDANCE_RECORD_EXCEED_THRESHOLD 0xc2 //ؿڼ¼õֵ -#define MINOR_DYNAMICCODE_VERIFY_INVALID 0xc3 // ̬֤֤ -#define MINOR_MEETING_NO_SIGNIN 0xc4 //δǩ -#define MINOR_MEETING_SIGNIN 0xc5 //ǩ -#define MINOR_MEETING_LATE 0xc6 //ٵ - -#define MINOR_INTERLOCK_SERVER_FAILED_RESPONSE 0xc9 //ŻӦʧ -#define MINOR_FINGERPRINT_DISENABELD_VERIFY_FAIL 0xca //ָʶδʹ֤ʧ -#define MINOR_FACE_DISENABELD_VERIFY_FAIL 0xcb //ʶδʹ֤ʧ -#define MINOR_MONITOR_OPEN_DOOR 0xcc // -#define MINOR_READER_FACTORY_RESET 0xcd //ָ -#define MINOR_READER_ID_CONFLICT 0xce //IDͻ -#define MINOR_FELICA_CARD_RECOGNIZE_NOT_ENABLED 0xcf //Felicaʶδ -#define MINOR_PROPERTY_EXCEPTION_VERIFY_FAIL 0xd0 //쳣֤ʧܣδ֣ȫñ쳣쳣 -#define MINOR_MEETING_NO_PERSON 0xd1 //ǻԱģʽ£״̬ǻԱǩϱ¼ -#define MINOR_MEETING_NOT_START 0xd2 //δʼ״̬Աǩ -#define MINOR_MEETING_SIGNEDIN 0xd3 //ǩǩԱظǩ -#define MINOR_AUTHENTICATION_TIMES_REACHED 0xd4 //Ա֤Ȩ޼ƻĵǰʱڣﵽ֤ƣ -#define MINOR_FACE_MODEL_FAIL_BY_UPGRADE 0xd5 //ģʧ¼ - -#define MINOR_UNCLOCK_RECORD 0xd6 //豸¼¼ϱ -#define MINOR_DOOR_NOT_OPEN 0xd7 //δԽ豸 -#define MINOR_DOOR_UNCLOSED 0xd8 //δرԽ豸 -#define MINOR_ORCODE_KEY_VERIFY_FAIL 0xd9 //άԿ֤ʧ -#define MINOR_PERSON_PASS_THROUGH 0xda //Աͨ¼ - -#define MINOR_EVENT_CUSTOM1 0x500 //ŽԶ¼1 -#define MINOR_EVENT_CUSTOM2 0x501 //ŽԶ¼2 -#define MINOR_EVENT_CUSTOM3 0x502 //ŽԶ¼3 -#define MINOR_EVENT_CUSTOM4 0x503 //ŽԶ¼4 -#define MINOR_EVENT_CUSTOM5 0x504 //ŽԶ¼5 -#define MINOR_EVENT_CUSTOM6 0x505 //ŽԶ¼6 -#define MINOR_EVENT_CUSTOM7 0x506 //ŽԶ¼7 -#define MINOR_EVENT_CUSTOM8 0x507 //ŽԶ¼8 -#define MINOR_EVENT_CUSTOM9 0x508 //ŽԶ¼9 -#define MINOR_EVENT_CUSTOM10 0x509 //ŽԶ¼10 -#define MINOR_EVENT_CUSTOM11 0x50a //ŽԶ¼11 -#define MINOR_EVENT_CUSTOM12 0x50b //ŽԶ¼12 -#define MINOR_EVENT_CUSTOM13 0x50c //ŽԶ¼13 -#define MINOR_EVENT_CUSTOM14 0x50d //ŽԶ¼14 -#define MINOR_EVENT_CUSTOM15 0x50e //ŽԶ¼15 -#define MINOR_EVENT_CUSTOM16 0x50f //ŽԶ¼16 -#define MINOR_EVENT_CUSTOM17 0x510 //ŽԶ¼17 -#define MINOR_EVENT_CUSTOM18 0x511 //ŽԶ¼18 -#define MINOR_EVENT_CUSTOM19 0x512 //ŽԶ¼19 -#define MINOR_EVENT_CUSTOM20 0x513 //ŽԶ¼20 -#define MINOR_EVENT_CUSTOM21 0x514 //ŽԶ¼21 -#define MINOR_EVENT_CUSTOM22 0x515 //ŽԶ¼22 -#define MINOR_EVENT_CUSTOM23 0x516 //ŽԶ¼23 -#define MINOR_EVENT_CUSTOM24 0x517 //ŽԶ¼24 -#define MINOR_EVENT_CUSTOM25 0x518 //ŽԶ¼25 -#define MINOR_EVENT_CUSTOM26 0x519 //ŽԶ¼26 -#define MINOR_EVENT_CUSTOM27 0x51a //ŽԶ¼27 -#define MINOR_EVENT_CUSTOM28 0x51b //ŽԶ¼28 -#define MINOR_EVENT_CUSTOM29 0x51c //ŽԶ¼29 -#define MINOR_EVENT_CUSTOM30 0x51d //ŽԶ¼30 -#define MINOR_EVENT_CUSTOM31 0x51e //ŽԶ¼31 -#define MINOR_EVENT_CUSTOM32 0x51f //ŽԶ¼32 -#define MINOR_EVENT_CUSTOM33 0x520 //ŽԶ¼33 -#define MINOR_EVENT_CUSTOM34 0x521 //ŽԶ¼34 -#define MINOR_EVENT_CUSTOM35 0x522 //ŽԶ¼35 -#define MINOR_EVENT_CUSTOM36 0x523 //ŽԶ¼36 -#define MINOR_EVENT_CUSTOM37 0x524 //ŽԶ¼37 -#define MINOR_EVENT_CUSTOM38 0x525 //ŽԶ¼38 -#define MINOR_EVENT_CUSTOM39 0x526 //ŽԶ¼39 -#define MINOR_EVENT_CUSTOM40 0x527 //ŽԶ¼40 -#define MINOR_EVENT_CUSTOM41 0x528 //ŽԶ¼41 -#define MINOR_EVENT_CUSTOM42 0x529 //ŽԶ¼42 -#define MINOR_EVENT_CUSTOM43 0x52a //ŽԶ¼43 -#define MINOR_EVENT_CUSTOM44 0x52b //ŽԶ¼44 -#define MINOR_EVENT_CUSTOM45 0x52c //ŽԶ¼45 -#define MINOR_EVENT_CUSTOM46 0x52d //ŽԶ¼46 -#define MINOR_EVENT_CUSTOM47 0x52e //ŽԶ¼47 -#define MINOR_EVENT_CUSTOM48 0x52f //ŽԶ¼48 -#define MINOR_EVENT_CUSTOM49 0x530 //ŽԶ¼49 -#define MINOR_EVENT_CUSTOM50 0x531 //ŽԶ¼50 -#define MINOR_EVENT_CUSTOM51 0x532 //ŽԶ¼51 -#define MINOR_EVENT_CUSTOM52 0x533 //ŽԶ¼52 -#define MINOR_EVENT_CUSTOM53 0x534 //ŽԶ¼53 -#define MINOR_EVENT_CUSTOM54 0x535 //ŽԶ¼54 -#define MINOR_EVENT_CUSTOM55 0x536 //ŽԶ¼55 -#define MINOR_EVENT_CUSTOM56 0x537 //ŽԶ¼56 -#define MINOR_EVENT_CUSTOM57 0x538 //ŽԶ¼57 -#define MINOR_EVENT_CUSTOM58 0x539 //ŽԶ¼58 -#define MINOR_EVENT_CUSTOM59 0x53a //ŽԶ¼59 -#define MINOR_EVENT_CUSTOM60 0x53b //ŽԶ¼60 -#define MINOR_EVENT_CUSTOM61 0x53c //ŽԶ¼61 -#define MINOR_EVENT_CUSTOM62 0x53d //ŽԶ¼62 -#define MINOR_EVENT_CUSTOM63 0x53e //ŽԶ¼63 -#define MINOR_EVENT_CUSTOM64 0x53f //ŽԶ¼64 -#define MINOR_ESD_OK 0x540 //ESDϸ -#define MINOR_ESD_LINKAGE_DISENABLE 0x541 //ESDϸ񣬲 -#define MINOR_ESD_LINKAGE_ENABLE 0x542 //ESDϸ񣬿 -#define MINOR_ESD_OVERTIME 0x543 //ESDⳬʱ - - -#define MINOR_LOCK_FINGER_OPEN_DOOR 0x600 //ָƿ -#define MINOR_LOCK_PASSWORD_OPEN_DOOR 0x601 //뿪 -#define MINOR_LOCK_CARD_OPEN_DOOR 0x602 //ˢ -#define MINOR_LOCK_CENTER_OPEN_DOOR 0x603 //Ŀ -#define MINOR_LOCK_APP_OPEN_DOOR 0x604 //APP -#define MINOR_LOCK_KEY_OPEN_DOOR 0x605 //Կ׿ -#define MINOR_LOCK_REMOTE_DEVICE_OPEN_DOOR 0x606 //ң -#define MINOR_LOCK_TMP_PASSWORD_OPEN_DOOR 0x607 //ʱ뿪 -#define MINOR_LOCK_BLUETOOTH_OPEN_DOOR 0x608 // -#define MINOR_LOCK_MULTI_OPEN_DOOR 0x609 //ؿ - - -#define MINOR_VP_ANTI_SPOOFING_FAIL 0x700 //ƻʧ -#define MINOR_VP_VERIFY_FAIL 0x701 //֤ʧ - - -//2018-04-23 ͨ¼־ -#define MINOR_ALARMHOST_SCHOOLTIME_IRGI_B 0x1001 //BУʱ -#define MINOR_ALARMHOST_SCHOOLTIME_SDK 0x1002 //SDKУʱ -#define MINOR_ALARMHOST_SCHOOLTIME_SELFTEST 0x1003 //ԼУʱ -#define MINOR_ALARMHOST_SUBSYSTEM_ABNORMALINSERT 0x1004 //Ӱ -#define MINOR_ALARMHOST_SUBSYSTEM_ABNORMALPULLOUT 0x1005 //Ӱγ - -#define MINOR_ALARMHOST_AUTO_ARM 0x1006 //Զ -#define MINOR_ALARMHOST_AUTO_DISARM 0x1007 //Զ -#define MINOR_ALARMHOST_TIME_TIGGER_ON 0x1008 //ʱ -#define MINOR_ALARMHOST_TIME_TIGGER_OFF 0x1009 //ʱرմ -#define MINOR_ALARMHOST_AUTO_ARM_FAILD 0x100a //Զʧ -#define MINOR_ALARMHOST_AUTO_DISARM_FAILD 0x100b //Զʧ -#define MINOR_ALARMHOST_TIME_TIGGER_ON_FAILD 0x100c //ʱʧ -#define MINOR_ALARMHOST_TIME_TIGGER_OFF_FAILD 0x100d //ʱرմʧ -#define MINOR_ALARMHOST_MANDATORY_ALARM 0x100e //ǿƲ -#define MINOR_ALARMHOST_KEYPAD_LOCKED 0x100f // -#define MINOR_ALARMHOST_USB_INSERT 0x1010 //USB -#define MINOR_ALARMHOST_USB_PULLOUT 0x1011 //USBγ -#define MINOR_ALARMHOST_4G_MODULS_ONLINE 0x1012 //4Gģ -#define MINOR_ALARMHOST_4G_MODULS_OFFLINE 0x1013 //4Gģ - -#define MINOR_EZVIZ_CLOUD_ONLINE 0x1014 //өʯ -#define MINOR_EZVIZ_CLOUD_OFFLINE 0x1015 //өʯ - -#define MINOR_SIPUA_GRID_ONLINE 0x1016 //B -#define MINOR_SIPUA_GRID_OFFLINE 0x1017 //B - -#define MINOR_INTERNET_ACCESS_CONNECTED 0x1018 // -#define MINOR_INTERNET_ACCESS_BREAK 0x1019 //ڶϿ - -#define MINOR_WIRELESS_CONNECTED 0x101a // -#define MINOR_WIRELESS_BREAK 0x101b //߶Ͽ -#define MINOR_PORT_LINK_DOWN 0x101c //˿down -#define MINOR_PORT_LINK_UP 0x101d //˿up -#define MINOR_POE_PORT_POWER_ON 0x101e //POE˿power on -#define MINOR_POE_PORT_POWER_OFF 0x101f //POE˿power off -#define MINOR_POE_TOTAL_POWER_MAX 0x1020 //POEܹʴﵽpoe-max -#define MINNOR_POE_TOTAL_POWER_RESUME 0x1021 //POEܹʻָ -#define MINNOR_CARGO_ITEMS 0x1022 //Ʒȡ - - -typedef enum tagALARMHOST_MAJOR_TYPE -{ - MAJOR_ALARMHOST_ALARM = 1, - MAJOR_ALARMHOST_EXCEPTION, - MAJOR_ALARMHOST_OPERATION, - MAJ0R_ALARMHOST_EVENT -}ALARMHOST_MAJOR_TYPE; - -typedef enum tagALARMHOST_MINOR_TYPE -{ - // - MINOR_SHORT_CIRCUIT =0x01, // · - MINOR_BROKEN_CIRCUIT, // · - MINOR_ALARM_RESET, // λ - MINOR_ALARM_NORMAL, // ָ - MINOR_PASSWORD_ERROR, // 3 - MINOR_ID_CARD_ILLEGALLY, // ǷӦID - MINOR_KEYPAD_REMOVE, // ̷ - MINOR_KEYPAD_REMOVE_RESTORE, // ̷λ - MINOR_DEV_REMOVE, // 豸 - MINOR_DEV_REMOVE_RESTORE, // 豸λ - MINOR_BELOW_ALARM_LIMIT1, // ģڱ1 - MINOR_BELOW_ALARM_LIMIT2, // ģڱ2 - MINOR_BELOW_ALARM_LIMIT3, // ģڱ3 - MINOR_BELOW_ALARM_LIMIT4, // ģڱ4 - MINOR_ABOVE_ALARM_LIMIT1, // ģڱ1 - MINOR_ABOVE_ALARM_LIMIT2, // ģڱ2 - MINOR_ABOVE_ALARM_LIMIT3, // ģڱ3 - MINOR_ABOVE_ALARM_LIMIT4, // ģڱ4 - MINOR_URGENCYBTN_ON, // ť - MINOR_URGENCYBTN_OFF, // ťλ - MINOR_VIRTUAL_DEFENCE_SUSPECT, //˾ - MINOR_VIRTUAL_DEFENCE_FIRE, // - MINOR_VIRTUAL_DEFENCE_URGENT, // - MINOR_ALARMHOST_MOTDET_START, //ƶⱨʼ - MINOR_ALARMHOST_MOTDET_STOP, //ƶⱨ - MINOR_ALARMHOST_HIDE_ALARM_START, //ڵʼ - MINOR_ALARMHOST_HIDE_ALARM_STOP, //ڵ - MINOR_ALARMHOST_UPS_ALARM, //UPS - MINOR_ALARMHOST_ELECTRICITY_METER_ALARM, // - MINOR_ALARMHOST_SWITCH_POWER_ALARM, //صԴ - MINOR_ALARMHOST_GAS_DETECT_SYS_ALARM, //ϵͳ - MINOR_ALARMHOST_TRANSFORMER_TEMPRATURE_ALARM, //Ա - MINOR_ALARMHOST_TEMP_HUMI_ALARM, //ʪȴ - MINOR_ALARMHOST_UPS_ALARM_RESTORE, //UPSָ - MINOR_ALARMHOST_ELECTRICITY_METER_ALARM_RESTORE, //ָ - MINOR_ALARMHOST_SWITCH_POWER_ALARM_RESTORE, //صԴָ - MINOR_ALARMHOST_GAS_DETECT_SYS_ALARM_RESTORE, //ϵͳָ - MINOR_ALARMHOST_TRANSFORMER_TEMPRATURE_ALARM_RESTORE, //Աָ - MINOR_ALARMHOST_TEMP_HUMI_ALARM_RESTORE, //ʪȴָ - MINOR_ALARMHOST_WATER_LEVEL_SENSOR_ALARM, //ˮλ - MINOR_ALARMHOST_WATER_LEVEL_SENSOR_ALARM_RESTORE, //ˮλָ - MINOR_ALARMHOST_DUST_NOISE_ALARM, //ﳾ - MINOR_ALARMHOST_DUST_NOISE_ALARM_RESTORE, //ﳾָ - MINOR_ALARMHOST_ENVIRONMENTAL_LOGGER_ALARM, //ɼDZ - MINOR_ALARMHOST_ENVIRONMENTAL_LOGGER_ALARM_RESTORE, //ɼDZָ - - MINOR_ALARMHOST_TRIGGER_TAMPER, //̽ - MINOR_ALARMHOST_TRIGGER_TAMPER_RESTORE, //ָ̽ - MINOR_ALARMHOST_EMERGENCY_CALL_HELP_ALARM, // - MINOR_ALARMHOST_EMERGENCY_CALL_HELP_ALARM_RESTORE, //ָ - MINOR_ALARMHOST_CONSULTING_ALARM, //ҵѯ - MINOR_ALARMHOST_CONSULTING_ALARM_RESTORE, //ҵѯָ - MINOR_ZONE_MODULE_REMOVE, // ģ - MINOR_ZONE_MODULE_RESET, // ģλ - - MINOR_ALARM_WIND_SPEED_ALARM, //ٴ澯 - MINOR_ALARM_WIND_SPEED_ALARM_RESTORE, //ٴ澯ָ - MINOR_ALARM_GENERATE_OUTPUT_ALARM, //ͨģ澯 - MINOR_ALARM_GENERATE_OUTPUT_RESTORE, //ͨģ澯ָ - MINOR_ALARM_SOAK_ALARM, //ˮ澯 - MINOR_ALARM_SOAK_ALARM_RESTORE, //ˮ澯ָ - MINOR_ALARM_SOLAR_POWER_ALARM, //̫ܴ澯 - MINOR_ALARM_SOLAR_POWER_ALARM_RESTORE, //̫ܴ澯ָ - MINOR_ALARM_SF6_ALARM, //SF6澯 - MINOR_ALARM_SF6_ALARM_RESTORE, //SF6澯ָ - MINOR_ALARM_WEIGHT_ALARM, //Ǹ澯 - MINOR_ALARM_WEIGHT_ALARM_RESTORE, //Ǹ澯ָ - MINOR_ALARM_WEATHER_ALARM, //ɼϵͳ澯 - MINOR_ALARM_WEATHER_ALARM_RESTORE, //ɼϵͳ澯ָ - MINOR_ALARM_FUEL_GAS_ALARM, //ȼʾϵͳ澯 - MINOR_ALARM_FUEL_GAS_ALARM_RESTORE, //ȼʾϵͳ澯ָ - MINOR_ALARM_FIRE_ALARM, //ֱϵͳ澯 - MINOR_ALARM_FIRE_ALARM_RESTORE, //ֱϵͳ澯ָ - - MINOR_WIRELESS_OUTPUT_MODULE_REMOVE, // ģ - MINOR_WIRELESS_OUTPUT_MODULE_RESET, // ģλ - MINOR_WIRELESS_REPEATER_MODULE_REMOVE, // м - MINOR_WIRELESS_REPEATER_MODULE_RESET, // мλ - MINOR_WIRELESS_SIREN_MODULE_REMOVE, // ߾ŷ - MINOR_WIRELESS_SIREN_MODULE_RESET, // ߾ŷλ - MINOR_SOUND_INTENSITY_RISE, // ǿ - MINOR_SOUND_INTENSITY_RISE_RESET, // ǿָ - MINOR_SOUND_INTENSITY_DROP, // ǿ - MINOR_SOUND_INTENSITY_DROP_RESET, // ǿָ - MINOR_AUDIO_INPUT_EXCEPTION, // Ƶ쳣 - MINOR_AUDIO_INPUT_EXCEPTION_RESET, // Ƶ쳣ָ - MINOR_FACE_DETECTION_ALARM, // ⱨ - MINOR_FACE_DETECTION_ALARM_RESTORE, // ⱨָ - - // 쳣 - MINOR_POWER_ON = 0x01, // ϵ - MINOR_POWER_OFF, // - MINOR_WDT_RESET, // WDT λ - MINOR_LOW_BATTERY_VOLTAGE, // صѹ - MINOR_AC_LOSS, // ϵ - MINOR_AC_RESTORE, // ָ - MINOR_RTC_EXCEPTION, // RTCʵʱʱ쳣 - MINOR_NETWORK_CONNECT_FAILURE, // Ӷ - MINOR_NETWORK_CONNECT_RESTORE, // ӻָ - MINOR_TEL_LINE_CONNECT_FAILURE, // 绰Ӷ - MINOR_TEL_LINE_CONNECT_RESTORE, // 绰ӻָ - MINOR_EXPANDER_BUS_LOSS, // չģ - MINOR_EXPANDER_BUS_RESTORE, // չģ߻ָ - MINOR_KEYPAD_BUS_LOSS, // ģ - MINOR_KEYPAD_BUS_RESTORE, // ģ߻ָ - MINOR_SENSOR_FAILURE, // ģ - MINOR_SENSOR_RESTORE, // ģָ - MINOR_RS485_CONNECT_FAILURE, // RS485ͨӶ - MINOR_RS485_CONNECT_RESTORE, // RS485ͨӶϻָ - MINOR_BATTERT_VOLTAGE_RESTORE, // صѹָ - MINOR_WIRED_NETWORK_ABNORMAL, //쳣 - MINOR_WIRED_NETWORK_RESTORE, //ָ - MINOR_GPRS_ABNORMAL, //GPRSͨ쳣 - MINOR_GPRS_RESTORE, //GPRSָ - MINOR_3G_ABNORMAL, //3Gͨ쳣 - MINOR_3G_RESTORE, //3Gָ - MINOR_SIM_CARD_ABNORMAL, //SIM쳣 - MINOR_SIM_CARD_RESTORE, //SIMָ - MINOR_ALARMHOST_VI_LOST, // ƵźŶʧ - MINOR_ALARMHOST_ILLEGAL_ACCESS, // Ƿ - MINOR_ALARMHOST_HD_FULL, // Ӳ - MINOR_ALARMHOST_HD_ERROR, // Ӳ̴ - MINOR_ALARMHOST_DCD_LOST, // MODEM (ʹ) - MINOR_ALARMHOST_IP_CONFLICT, // IPַͻ - MINOR_ALARMHOST_NET_BROKEN, // Ͽ - MINOR_ALARMHOST_REC_ERROR, // ¼ - MINOR_ALARMHOST_VI_EXCEPTION, // Ƶ쳣(ֻģͨ) - MINOR_ALARMHOST_FORMAT_HDD_ERROR, //Զ̸ʽӲʧ - MINOR_ALARMHOST_USB_ERROR, //USBͨŹ - MINOR_ALARMHOST_USB_RESTORE, //USBͨŹϻָ - MINOR_ALARMHOST_PRINT_ERROR, //ӡ - MINOR_ALARMHOST_PRINT_RESTORE, //ӡϻָ - MINOR_SUBSYSTEM_COMMUNICATION_ERROR, //ӰͨѶ - MINOR_ALARMHOST_IPC_NO_LINK, /* IPCӶϿ */ - MINOR_ALARMHOST_IPC_IP_CONFLICT, /*ipc ip ַ ͻ*/ - MINOR_ALARMHOST_VI_MISMATCH, /*Ƶʽƥ*/ - MINOR_ALARMHOST_MCU_RESTART, //MCU - MINOR_ALARMHOST_GPRS_MODULE_FAULT, //GPRSģ - MINOR_ALARMHOST_TELEPHONE_MODULE_FAULT, //绰ģ - MINOR_ALARMHOST_WIFI_ABNORMAL, //WIFIͨ쳣 - MINOR_ALARMHOST_WIFI_RESTORE, //WIFIָ - MINOR_ALARMHOST_RF_ABNORMAL, //RFź쳣 - MINOR_ALARMHOST_RF_RESTORE, //RFźŻָ - MINOR_ALARMHOST_DETECTOR_ONLINE, //̽ - MINOR_ALARMHOST_DETECTOR_OFFLINE, //̽ - MINOR_ALARMHOST_DETECTOR_BATTERY_NORMAL, //̽ - MINOR_ALARMHOST_DETECTOR_BATTERY_LOW, //̽Ƿѹ - MINOR_ALARMHOST_DATA_TRAFFIC_OVERFLOW, // - MINOR_ZONE_MODULE_LOSS, // ģ - MINOR_ZONE_MODULE_RESTORE, // ģ߻ָ - MINOR_ALARMHOST_WIRELESS_OUTPUT_LOSS, //ģ - MINOR_ALARMHOST_WIRELESS_OUTPUT_RESTORE, //ģָ - MINOR_ALARMHOST_WIRELESS_REPEATER_LOSS, //м - MINOR_ALARMHOST_WIRELESS_REPEATER_RESTORE, //мָ - MINOR_TRIGGER_MODULE_LOSS, // ģ - MINOR_TRIGGER_MODULE_RESTORE, // ģ߻ָ - MINOR_WIRELESS_SIREN_LOSS, // ߾ - MINOR_WIRELESS_SIREN_RESTORE, // ߾Żָ - MINOR_ALARMHOST_WIRELESS_RS485_LOSS, //RS485ģ - MINOR_ALARMHOST_WIRELESS_RS485_RESTORE, //RS485ģָ - - // - MINOR_GUARD = 0x01, // ͨ - MINOR_UNGUARD, // ͨ - MINOR_BYPASS, // · - MINOR_DURESS_ACCESS, // Ю - MINOR_ALARMHOST_LOCAL_REBOOT, // - MINOR_ALARMHOST_REMOTE_REBOOT, // Զ - MINOR_ALARMHOST_LOCAL_UPGRADE, // - MINOR_ALARMHOST_REMOTE_UPGRADE, // Զ - MINOR_RECOVERY_DEFAULT_PARAM, // ָĬϲ - MINOR_ALARM_OUTPUT, // Ʊ - MINOR_ACCESS_OPEN, // Ž - MINOR_ACCESS_CLOSE, // Ž - MINOR_SIREN_OPEN, // ƾſ - MINOR_SIREN_CLOSE, // ƾŹ - MINOR_MOD_ZONE_CONFIG, // ޸ķ - MINOR_MOD_ALARMOUT_CONIFG, // Ʊ - MINOR_MOD_ANALOG_CONFIG, // ޸ģ - MINOR_RS485_CONFIG, // ޸485ͨ - MINOR_PHONE_CONFIG, // ޸IJ - MINOR_ADD_ADMIN, // ӹԱ - MINOR_MOD_ADMIN_PARAM, // ޸ĹԱ - MINOR_DEL_ADMIN, // ɾԱ - MINOR_ADD_NETUSER, // Ӻ˲Ա - MINOR_MOD_NETUSER_PARAM, // ޸ĺ˲Ա - MINOR_DEL_NETUSER, // ɾ˲Ա - MINOR_ADD_OPERATORUSER, // ǰ˲Ա - MINOR_MOD_OPERATORUSER_PW, // ޸ǰ˲Ա - MINOR_DEL_OPERATORUSER, // ɾǰ˲Ա - MINOR_ADD_KEYPADUSER, // Ӽ/û - MINOR_DEL_KEYPADUSER, // ɾ/û - MINOR_REMOTEUSER_LOGIN, // Զû½ - MINOR_REMOTEUSER_LOGOUT, // Զûע - MINOR_REMOTE_GUARD, // Զ̲ - MINOR_REMOTE_UNGUARD, // Զ̳ - MINOR_MOD_HOST_CONFIG, // ޸ - MINOR_RESTORE_BYPASS, // ·ָ - MINOR_ALARMOUT_OPEN, // - MINOR_ALARMOUT_CLOSE, // ر - MINOR_MOD_SUBSYSTEM_PARAM, // ޸ϵͳ - MINOR_GROUP_BYPASS, // · - MINOR_RESTORE_GROUP_BYPASS, // ·ָ - MINOR_MOD_GRPS_PARAM, // ޸GPRS - MINOR_MOD_NET_REPORT_PARAM, // ޸ϱ - MINOR_MOD_REPORT_MOD, // ޸ϴʽ - MINOR_MOD_GATEWAY_PARAM, // ޸Ž - MINOR_ALARMHOST_REMOTE_START_REC, // Զ̿ʼ¼ - MINOR_ALARMHOST_REMOTE_STOP_REC, // Զֹͣ¼ - MINOR_ALARMHOST_START_TRANS_CHAN, // ʼ͸ - MINOR_ALARMHOST_STOP_TRANS_CHAN, // ֹͣ͸ - MINOR_ALARMHOST_START_VT, // ʼԽ - MINOR_ALARMHOST_STOP_VTM, // ֹͣԽ - MINOR_ALARMHOST_REMOTE_PLAYBYFILE, // Զ̰ļط - MINOR_ALARMHOST_REMOTE_PLAYBYTIME, // Զ̰ʱط - MINOR_ALARMHOST_REMOTE_PTZCTRL, // Զ̨ - MINOR_ALARMHOST_REMOTE_FORMAT_HDD, // Զ̸ʽӲ - MINOR_ALARMHOST_REMOTE_LOCKFILE, // Զļ - MINOR_ALARMHOST_REMOTE_UNLOCKFILE, // Զ̽ļ - MINOR_ALARMHOST_REMOTE_CFGFILE_OUTPUT, // Զ̵ļ - MINOR_ALARMHOST_REMOTE_CFGFILE_INTPUT, // Զ̵ļ - MINOR_ALARMHOST_REMOTE_RECFILE_OUTPUT, // Զ̵¼ļ - - MINOR_ALARMHOST_STAY_ARM, //ز - MINOR_ALARMHOST_QUICK_ARM, //ʱ - MINOR_ALARMHOST_AUTOMATIC_ARM, //Զ - MINOR_ALARMHOST_AUTOMATIC_DISARM, //Զ - MINOR_ALARMHOST_KEYSWITCH_ARM, //Կ׷ - MINOR_ALARMHOST_KEYSWITCH_DISARM, //Կ׷ - MINOR_ALARMHOST_CLEAR_ALARM, // - MINOR_ALARMHOST_MOD_FAULT_CFG, //޸ϵͳ - MINOR_ALARMHOST_MOD_EVENT_TRIGGER_ALARMOUT_CFG, //޸¼ - MINOR_ALARMHOST_SEARCH_EXTERNAL_MODULE, //ģ - MINOR_ALARMHOST_REGISTER_EXTERNAL_MODULE, //עģ - MINOR_ALARMHOST_CLOSE_KEYBOARD_ALARM, //رռ̱ʾ - MINOR_ALARMHOST_MOD_3G_PARAM, //޸3G - MINOR_ALARMHOST_MOD_PRINT_PARAM, //޸Ĵӡ - MINOR_SD_CARD_FORMAT, //SDʽ - MINOR_SUBSYSTEM_UPGRADE, //Ӱ̼ - - MINOR_ALARMHOST_PLAN_ARM_CFG, //ƻ - MINOR_ALARMHOST_PHONE_ARM, //ֻ - MINOR_ALARMHOST_PHONE_STAY_ARM, //ֻز - MINOR_ALARMHOST_PHONE_QUICK_ARM,//ֻʱ - MINOR_ALARMHOST_PHONE_DISARM, //ֻ - MINOR_ALARMHOST_PHONE_CLEAR_ALARM, //ֻ - MINOR_ALARMHOST_ALLOWLIST_CFG, // - MINOR_ALARMHOST_TIME_TRIGGER_CFG, //ʱش - MINOR_ALARMHOST_CAPTRUE_CFG, //ץͼ - MINOR_ALARMHOST_TAMPER_CFG, // - - MINOR_ALARMHOST_REMOTE_KEYPAD_UPGRADE, //Զ - MINOR_ALARMHOST_ONETOUCH_AWAY_ARMING, //һ - MINOR_ALARMHOST_ONETOUCH_STAY_ARMING, //һز - MINOR_ALARMHOST_SINGLE_PARTITION_ARMING_OR_DISARMING, // - MINOR_ALARMHOST_CARD_CONFIGURATION, // - MINOR_ALARMHOST_CARD_ARMING_OR_DISARMING, //ˢ - MINOR_ALARMHOST_EXPENDING_NETCENTER_CONFIGURATION, //չ - MINOR_ALARMHOST_NETCARD_CONFIGURATION, // - MINOR_ALARMHOST_DDNS_CONFIGURATION, //DDNS - MINOR_ALARMHOST_RS485BUS_CONFIGURATION, // 485߲ - MINOR_ALARMHOST_RS485BUS_RE_REGISTRATION, //485ע - - MINOR_ALARMHOST_REMOTE_OPEN_ELECTRIC_LOCK, //Զ̴򿪵 - MINOR_ALARMHOST_REMOTE_CLOSE_ELECTRIC_LOCK, //Զ̹رյ - MINOR_ALARMHOST_LOCAL_OPEN_ELECTRIC_LOCK, //ش򿪵 - MINOR_ALARMHOST_LOCAL_CLOSE_ELECTRIC_LOCK, //عرյ - MINOR_ALARMHOST_OPEN_ALARM_LAMP, //򿪾(Զ) - MINOR_ALARMHOST_CLOSE_ALARM_LAMP, //رվ(Զ) - - - MINOR_ALARMHOST_TEMPORARY_PASSWORD, //ʱ¼ - MINOR_ALARMHOST_ONEKEY_AWAY_ARM, //һ - MINOR_ALARMHOST_ONEKEY_STAY_ARM, //һز - MINOR_ALARMHOST_SINGLE_ZONE_ARM, // - MINOR_ALARMHOST_SINGLE_ZONE_DISARM, // - MINOR_ALARMHOST_HIDDNS_CONFIG, // HIDDNS - MINOR_ALARMHOST_REMOTE_KEYBOARD_UPDATA, //Զ̼־ - MINOR_ALARMHOST_ZONE_ADD_DETECTOR, //̽ - MINOR_ALARMHOST_ZONE_DELETE_DETECTOR, //ɾ̽ - MINOR_ALARMHOST_QUERY_DETECTOR_SIGNAL, //ѯ̽źǿ - MINOR_ALARMHOST_QUERY_DETECTOR_BATTERY, //ѯ̽ - MINOR_ALARMHOST_SET_DETECTOR_GUARD, //̽ - MINOR_ALARMHOST_SET_DETECTOR_UNGUARD, //̽ - MINOR_ALARMHOST_SET_WIFI_PARAMETER, //WIFIò - MINOR_ALARMHOST_OPEN_VOICE, // - MINOR_ALARMHOST_CLOSE_VOICE, //ر - MINOR_ALARMHOST_ENABLE_FUNCTION_KEY, //ùܼ - MINOR_ALARMHOST_DISABLE_FUNCTION_KEY, //رչܼ - MINOR_ALARMHOST_READ_CARD, //Ѳˢ - MINOR_ALARMHOST_START_BROADCAST, //㲥 - MINOR_ALARMHOST_STOP_BROADCAST, //ر㲥 - MINOR_ALARMHOST_REMOTE_ZONE_MODULE_UPGRADE, //Զģ - MINOR_ALARMHOST_NETWORK_MODULE_EXTEND, //ģ - MINOR_ALARMHOST_ADD_CONTROLLER, //ңû - MINOR_ALARMHOST_DELETE_CONTORLLER, //ɾңû - MINOR_ALARMHOST_REMOTE_NETWORKMODULE_UPGRADE, //Զģ - MINOR_ALARMHOST_WIRELESS_OUTPUT_ADD, //עģ - MINOR_ALARMHOST_WIRELESS_OUTPUT_DEL, //ɾģ - MINOR_ALARMHOST_WIRELESS_REPEATER_ADD, //עм - MINOR_ALARMHOST_WIRELESS_REPEATER_DEL, //ɾм - MINOR_ALARMHOST_PHONELIST_CFG, //绰 - MINOR_ALARMHOST_RF_SIGNAL_CHECK, // RFźŲѯ - MINOR_ALARMHOST_USB_UPGRADE, // USB - MINOR_ALARMHOST_DOOR_TIME_REMINDER_CFG,//ŴŶʱѲ - MINOR_ALARMHOST_WIRELESS_SIREN_ADD, //ע߾ - MINOR_ALARMHOST_WIRELESS_SIREN_DEL, //ɾ߾ - MINOR_ALARMHOST_OUT_SCALE_OPEN, //翪 - MINOR_ALARMHOST_OUT_SCALE_CLOSE, //ر - - MINOR_ALARMHOST_TIME_ZONE_CFG,//ʱ޸ - MINOR_ALARMHOST_NTP_START_AND_PARAMETERS_CFG,//NTP޸ - MINOR_ALARMHOST_DST_START_AND_PARAMETERS_CFG,//DST޸ - MINOR_ALARMHOST_DEVINFO_CFG,//豸Ϣ - MINOR_ALARMHOST_VIDEO_OVERLAP_CFG,//¼񸲸 - MINOR_ALARMHOST_SSH_CFG,//SSH - MINOR_ALARMHOST_PASSWORD_MANAGE_CFG,// - MINOR_ALARMHOST_RESTORE_DEFAULT_PARAMETERS,//ָĬϲ - MINOR_ALARMHOST_RESTORECOMPLETELY_DEFAULT_PARAMETERS,//ȫָĬϲ - MINOR_ALARMHOST_AUDIO_AUTO_DETECT_CFG,//Զ - MINOR_ALARMHOST_AUDIO_MANUAL_DETECT_CFG,//ֶ - MINOR_ALARMHOST_NET_PARAMETERS_CFG,// - MINOR_ALARMHOST_MTU_CFG,//MTU - MINOR_ALARMHOST_PORT_CFG,//˿ - MINOR_ALARMHOST_DEFAULT_ROUTER_CFG,//Ĭ· - MINOR_ALARMHOST_DNS_PARAMETERS_CFG,//DNS - MINOR_ALARMHOST_UNPNP_PARAMETERS_CFG,//UNPNP - MINOR_ALARMHOST_SIP_PARAMETERS_CFG,//SIP - MINOR_ALARMHOST_FLOW_LIMIT_CFG,//޶ - MINOR_ALARMHOST_APN_PARAMETERS_CFG,//APN - MINOR_ALARMHOST_MESSAGE_TELEPHONENO_CFG,//ŵ绰 - MINOR_ALARMHOST_EZVIZ_PARAMATERS_CFG,//өʯ - MINOR_ALARMHOST_ISUP_PARAMATERS_CFG,//ISUP - MINOR_ALARMHOST_SIP_SWITCH_CFG,//SIP׼Э˽Эл - MINOR_ALARMHOST_INFO_UPLOAD_TO_PLATFORM_CFG,//ϴƽ̨Ϣ - MINOR_ALARMHOST_ONVIF_CONTROL,//ONVIF(ر) - MINOR_ALARMHOST_ONVIF_USER_ADD,//onvifû - MINOR_ALARMHOST_ONVIF_USER_MOD,//onvifû޸ - MINOR_ALARMHOST_ONVIF_USER_DELETE,//onvifûɾ - MINOR_ALARMHOST_TIME_OF_BELLS_CFG,//ʱ - MINOR_ALARMHOST_CALL_WAITTIME_CFG,//еȴʱ - MINOR_ALARMHOST_PROMPT_PARAMATERS_CFG,//ʾ - MINOR_ALARMHOST_MUTEPLAN_PARAMATERS_CFG,//ƻ - MINOR_ALARMHOST_SD_PARTITION_CFG,//SD - MINOR_ALARMHOST_AUDIO_PARAMETERS_CFG,//Ƶ - MINOR_ALARMHOST_VOICETALK_AUDIO_ENCODING_CFG,//ԽƵ - MINOR_ALARMHOST_RECORD_PLAN_PARAMETERS_CFG,//¼ƻ - MINOR_ALARMHOST_RECORD_ADVANCE_PARAMETERS_CFG,//¼߼ - MINOR_ALARMHOST_PICTURE_PLAN_PARAMETERS_CFG,//ץͼƻ - MINOR_ALARMHOST_PICTURE_ADVANCE_PARAMETERS_CFG,//ץͼ߼ - MINOR_ALARMHOST_AUDIO_EXCEPTION_PARAMETERS_CFG,//Ƶ쳣 - MINOR_ALARMHOST_PATROL_CARD_CFG,//Ѳ - MINOR_ALARMHOST_VOICE_VOLUME_CFG,// - MINOR_ALARMHOST_VOICE_MODE_CFG,//ģʽã룬㲥ģʽ - MINOR_ALARMHOST_AUDIO_OR_MATERIALS_UPLOAD,//Ƶزļϴ - MINOR_ALARMHOST_AUDIO_OR_MATERIALS_DELETE,//Ƶزļɾ - MINOR_ALARMHOST_ALARM_LAMP_FLASH_TIME_CFG,//˸ʱ - MINOR_ALARMHOST_ALARM_LAMP_FLASH_PLAN_CFG,//ƻ˸ - MINOR_ALARMHOST_FRONT_END_VIDEO_PARAMETERS_CFG,//ǰƵ - MINOR_ALARMHOST_WDR_CFG,//̬ - MINOR_ALARMHOST_BPFRAME_CFG,//PN֡ - MINOR_ALARMHOST_PASSWORD_RESET_CFG,// - MINOR_ALARMHOST_ACCOUNT_LOCK,//˻ - MINOR_ALARMHOST_ACCOUNT_UNLOCK,//˻ - MINOR_ALARMHOST_START_LIVEVIEW_REMOTELY,//Զ̿Ԥ - MINOR_ALARMHOST_STOP_LIVEVIEW_REMOTELT,//Զ̹رԤ - MINOR_ALARMHOST_TELEPHONE_CENTER_SETTINGS,//绰IJ - MINOR_ALARMHOST_NATIONAL_STANDARD_CFG,// - MINOR_ALARMHOST_SUPPLEMENTLIGHT_CFG,// - MINOR_ALARMHOST_FACESNAP_CFG,//ץ - MINOR_ALARMHOST_PUBLISHMANAGE_CFG,// - MINOR_ALARMHOST_KEYDIAL_CFG,// - MINOR_ALARMHOST_VOICETALK_SILENT_CFG,//Խ - MINOR_ALARMHOST_START_VIDEO_PROTECT,//Ƶ - MINOR_ALARMHOST_START_AUDIO_PROTECT,//ü - MINOR_ALARMHOST_START_MANUAL_ANSWER,//ֶ - MINOR_ALARMHOST_START_LOG_SERVER,//ðȫ־ - MINOR_ALARMHOST_ADD_CARD,//ӿƬ - MINOR_ALARMHOST_DELETE_CARD,//ɾƬ - MINOR_ALARMHOST_MOTION_DETECTION_CFG,//ƶ - MINOR_ALARMHOST_VIDEO_BLOCK_CFG,//Ƶڵ - MINOR_ALARMHOST_FACE_DETECTION_CFG,// - MINOR_ALARMHOST_LOG_BACKUP,//־ - - - MINOR_ALARMHOST_LOCAL_SET_DEVICE_ACTIVE = 0xf0, //ؼ豸 - MINOR_ALARMHOST_REMOTE_SET_DEVICE_ACTIVE = 0xf1, //Զ̼豸 - MINOR_ALARMHOST_LOCAL_PARA_FACTORY_DEFAULT = 0xf2, //ػظ - MINOR_ALARMHOST_REMOTE_PARA_FACTORY_DEFAULT = 0xf3, //Զָ̻ - - MINOR_ADD_IPC = 0xf4, //IPC(IPC) - MINOR_MODIFY_IPC = 0xf5, //IPC޸ - MINOR_DELETE_IPC = 0xf6, //IPCɾ - MINOR_SYS_CHECK_START = 0xf7, //ϵͳ⿪ʼ - MINOR_SYS_CHECK_STOP = 0xf8, //ϵͳֹ - MINOR_SYS_CHECK_FINISH = 0xf9, //ϵͳ - MINOR_DEVICE_TAMPER_CFG = 0xfa, //豸 - MINOR_ALARMHOST_INDICATORLIGHT_CFG = 0xfb, //ָʾ - MINOR_ALARMHOST_WIRELESSBUTTON_CFG = 0xfc, //߰ť - MINOR_ALARMHOST_IRCUTFILTER_CFG = 0xfd, //ҹл - MINOR_ALARMHOST_KEYWORD_AUDIO_RECOGNITION_CFG = 0xfe, //ؼʶ - MINOR_ALARMHOST_DEVICE_POWER_MODE_SWITCH_CFG = 0xff, //豸ģʽл - - - // ¼ - MINOR_SCHOOLTIME_IRGI_B = 0x01, // BУʱ - MINOR_SCHOOLTIME_SDK, // SDKУʱ - MINOR_SCHOOLTIME_SELFTEST, // ʱԼУʱ - MINOR_SUBSYSTEM_ABNORMALINSERT, //Ӱ - MINOR_SUBSYSTEM_ABNORMALPULLOUT, //Ӱγ - - MINOR_AUTO_ARM, //Զ - MINOR_AUTO_DISARM, //Զ - MINOR_TIME_TIGGER_ON, //ʱ - MINOR_TIME_TIGGER_OFF, //ʱرմ - MINOR_AUTO_ARM_FAILD, //Զʧ - MINOR_AUTO_DISARM_FAILD, //Զʧ - MINOR_TIME_TIGGER_ON_FAILD, //ʱʧ - MINOR_TIME_TIGGER_OFF_FAILD, //ʱرմʧ - MINOR_MANDATORY_ALARM, //ǿƲ - MINOR_KEYPAD_LOCKED, // - MINOR_USB_INSERT, //USB - MINOR_USB_PULLOUT, //USBγ - MINOR_KEYPAD_UNLOCK, //̽ -}ALARMHOST_MINOR_TYPE; - - -//־ΪMAJOR_OPERATION=03ΪMINOR_LOCAL_CFG_PARM=0x52MINOR_REMOTE_GET_PARM=0x76 -//MINOR_REMOTE_CFG_PARM=0x77ʱdwParaType:Ч京£ -#define PARA_VIDEOOUT 0x1 -#define PARA_IMAGE 0x2 -#define PARA_ENCODE 0x4 -#define PARA_NETWORK 0x8 -#define PARA_ALARM 0x10 -#define PARA_EXCEPTION 0x20 -#define PARA_DECODER 0x40 /**/ -#define PARA_RS232 0x80 -#define PARA_PREVIEW 0x100 -#define PARA_SECURITY 0x200 -#define PARA_DATETIME 0x400 -#define PARA_FRAMETYPE 0x800 /*֡ʽ*/ -#define PARA_DETECTION 0x1000 // -#define PARA_VCA_RULE 0x1001 //Ϊ -#define PARA_VCA_CTRL 0x1002 //ܿϢ -#define PARA_VCA_PLATE 0x1003 // ʶ - -#define PARA_CODESPLITTER 0x2000 /**/ -//2010-01-22 Ƶۺƽ̨־Ϣ -#define PARA_RS485 0x2001 /* RS485Ϣ*/ -#define PARA_DEVICE 0x2002 /* 豸Ϣ*/ -#define PARA_HARDDISK 0x2003 /* ӲϢ */ -#define PARA_AUTOBOOT 0x2004 /* ԶϢ*/ -#define PARA_HOLIDAY 0x2005 /* ڼϢ*/ -#define PARA_IPC 0x2006 /* IPͨ */ -/************************* end*******************************/ - - -/*******************ļ־ֵ*************************/ -#define NET_DVR_FILE_SUCCESS 1000 //ļϢ -#define NET_DVR_FILE_NOFIND 1001 //ûļ -#define NET_DVR_ISFINDING 1002 //ڲļ -#define NET_DVR_NOMOREFILE 1003 //ļʱûиļ -#define NET_DVR_FILE_EXCEPTION 1004 //ļʱ쳣 -#define NET_DVR_FIND_TIMEOUT 1005 //ļʱ - -/*********************ص begin************************/ - -//ص -#define COMM_ALARM 0x1100 //8000Ϣϴ - -//ӦNET_VCA_RULE_ALARM -#define COMM_ALARM_RULE 0x1102 //쳣ΪⱨϢ -#define COMM_ALARM_PDC 0x1103 //ͳƱϢ -#define COMM_ALARM_VIDEOPLATFORM 0x1104 //Ƶۺƽ̨ -#define COMM_ALARM_ALARMHOST 0x1105 //籨 -#define COMM_ALARM_FACE 0x1106 //ʶ𱨾Ϣ -#define COMM_RULE_INFO_UPLOAD 0x1107 // ¼Ϣϴ -#define COMM_ALARM_AID 0x1110 //ͨ¼Ϣ -#define COMM_ALARM_TPS 0x1111 //ͨͳƱϢ -//ץĽϴ -#define COMM_UPLOAD_FACESNAP_RESULT 0x1112 //ʶϴ -#define COMM_ALARM_TFS 0x1113 //ͨȡ֤Ϣ -#define COMM_ALARM_TPS_V41 0x1114 //ͨͳƱϢչ -#define COMM_ALARM_AID_V41 0x1115 //ͨ¼Ϣչ -#define COMM_ALARM_VQD_EX 0x1116 //Ƶϱ -#define COMM_ALARM_NOTIFICATION_REPORT 0x1117 //֪ͨ¼ϱ -#define COMM_SENSOR_VALUE_UPLOAD 0x1120 //ģʵʱϴ -#define COMM_SENSOR_ALARM 0x1121 //ģϴ -#define COMM_SWITCH_ALARM 0x1122 // -#define COMM_ALARMHOST_EXCEPTION 0x1123 //ϱ -#define COMM_ALARMHOST_OPERATEEVENT_ALARM 0x1124 //¼ϴ -#define COMM_ALARMHOST_SAFETYCABINSTATE 0x1125 //״̬ -#define COMM_ALARMHOST_ALARMOUTSTATUS 0x1126 ///״̬ -#define COMM_ALARMHOST_CID_ALARM 0x1127 //汨ϴ -#define COMM_ALARMHOST_EXTERNAL_DEVICE_ALARM 0x1128 //豸ϴ -#define COMM_ALARMHOST_DATA_UPLOAD 0x1129 //ϴ -#define COMM_FACECAPTURE_STATISTICS_RESULT 0x112a //ץͳϴ -#define COMM_ALARM_WIRELESS_INFO 0x122b // Ϣϴ -#define COMM_SCENECHANGE_DETECTION_UPLOAD 0x1130 //ϴ()2013-7-16 -#define COMM_CROSSLINE_ALARM 0x1131 //ѹ߱() 2013-09-27 -#define COMM_UPLOAD_VIDEO_INTERCOM_EVENT 0x1132 //ӶԽ¼¼ϴ -#define COMM_ALARM_VIDEO_INTERCOM 0x1133 //ӶԽϴ -#define COMM_UPLOAD_NOTICE_DATA 0x1134 //ӶԽϢϴ -#define COMM_ALARM_AUDIOEXCEPTION 0x1150 //Ϣ -#define COMM_ALARM_DEFOCUS 0x1151 //齹Ϣ -#define COMM_ALARM_BUTTON_DOWN_EXCEPTION 0x1152 //ť±Ϣ -#define COMM_ALARM_ALARMGPS 0x1202 //GPSϢϴ -#define COMM_TRADEINFO 0x1500 //ATMDVRϴϢ -#define COMM_UPLOAD_PLATE_RESULT 0x2800 //ϴϢ -#define COMM_ITC_STATUS_DETECT_RESULT 0x2810 //ʵʱ״̬ϴ(ܸIPC) -#define COMM_IPC_AUXALARM_RESULT 0x2820 //PIR߱ȱϴ -#define COMM_UPLOAD_PICTUREINFO 0x2900 //ϴͼƬϢ -#define COMM_SNAP_MATCH_ALARM 0x2902 //ֹȶԽϴ -#define COMM_ITS_PLATE_RESULT 0x3050 //նͼƬϴ -#define COMM_ITS_TRAFFIC_COLLECT 0x3051 //նͳϴ -#define COMM_ITS_GATE_VEHICLE 0x3052 //ڳץϴ -#define COMM_ITS_GATE_FACE 0x3053 //ץϴ -#define COMM_ITS_GATE_COSTITEM 0x3054 //ڹշϸ 2013-11-19 -#define COMM_ITS_GATE_HANDOVER 0x3055 //ڽӰ 2013-11-19 -#define COMM_ITS_PARK_VEHICLE 0x3056 //ͣϴ -#define COMM_ITS_BLOCKLIST_ALARM 0x3057 //ֹϴ - -#define COMM_VEHICLE_CONTROL_LIST_DSALARM 0x3058 //Ҫͬ2013-11-04 -#define COMM_VEHICLE_CONTROL_ALARM 0x3059 //2013-11-04 -#define COMM_FIRE_ALARM 0x3060 //2013-11-04 - -#define COMM_ITS_GATE_ALARMINFO 0x3061 //ڿƻϴ - -#define COMM_VEHICLE_RECOG_RESULT 0x3062 //ʶϴ 2014-11-12 -#define COMM_PLATE_RESULT_V50 0x3063 //ϴ V50 - -#define COMM_GATE_CHARGEINFO_UPLOAD 0x3064 //ڸϢϴ -#define COMM_TME_VEHICLE_INDENTIFICATION 0x3065 //TMEץͼϴ -#define COMM_GATE_CARDINFO_UPLOAD 0x3066 //ڿƬϢϴ -#define COMM_LOADING_DOCK_OPERATEINFO 0x3067 //̨ҵϴ - -#define COMM_ALARM_SENSORINFO_UPLOAD 0x3077 //ϴϢ -#define COMM_ALARM_CAPTURE_UPLOAD 0x3078 //ץͼƬϴ - -#define COMM_ITS_RADARINFO 0x3079 //״ﱨϴ - -#define COMM_SIGNAL_LAMP_ABNORMAL 0x3080 //źŵ쳣ϴ - -#define COMM_ALARM_TPS_REAL_TIME 0x3081 //TPSʵʱϴ -#define COMM_ALARM_TPS_STATISTICS 0x3082 //TPSͳƹϴ - -#define COMM_ALARM_V30 0x4000 //9000Ϣϴ -#define COMM_IPCCFG 0x4001 //9000豸IPCøı䱨Ϣϴ -#define COMM_IPCCFG_V31 0x4002 //9000豸IPCøı䱨Ϣϴչ 9000_1.1 -#define COMM_IPCCFG_V40 0x4003 // IVMS 2000 NVR IPCøıʱϢϴ -#define COMM_ALARM_DEVICE 0x4004 //豸ݣֵͨ256չ -#define COMM_ALARM_CVR 0x4005 //CVR 2.0.Xⲿ -#define COMM_ALARM_HOT_SPARE 0x4006 //ȱ쳣N+1ģʽ쳣 -#define COMM_ALARM_V40 0x4007 //ƶ⣬ƵʧڵIOźȱϢϴΪɱ䳤 - -#define COMM_UPLOAD_HEATMAP_RESULT 0x4008 //ȶͼϴ 2014-03-21 -#define COMM_ALARM_DEVICE_V40 0x4009 //豸չ -#define COMM_ALARM_FACE_DETECTION 0x4010 //ⱨ -#define COMM_ALARM_TARGET_LEFT_REGION 0x4011 //Ŀ뿪򱨾(ʦѧ(л¼Ƽѧ)) -#define COMM_GISINFO_UPLOAD 0x4012 //GISϢϴ -#define COMM_VANDALPROOF_ALARM 0x4013 //ϴƻϢ -#define COMM_PEOPLE_DETECTION_UPLOAD 0x4014 //ԱϢϴ -#define COMM_ALARM_STORAGE_DETECTION 0x4015 //洢ܼⱨϴ -#define COMM_MVM_REGISTER 0x4016 //شŹMagnetic Vehicle Managerע -#define COMM_MVM_STATUS_INFO 0x4017 //شŹMagnetic Vehicle Manager״̬ϱ -#define COMM_UPLOAD_HEATMAP_RESULT_PDC 0x4018 //ȶͼͳϴ¼ -#define COMM_UPLOAD_HEATMAP_RESULT_DURATION 0x4019 //ȶͼԱͣʱͳϴ¼ -#define COMM_UPLOAD_HEATMAP_RESULT_INTERSECTION 0x4020 //·ڷȶֵϴ -#define COMM_UPLOAD_AIOP_VIDEO 0x4021 //豸֧AIƽ̨룬ϴƵ -#define COMM_UPLOAD_AIOP_PICTURE 0x4022 //豸֧AIƽ̨룬ϴͼƬ -#define COMM_UPLOAD_AIOP_POLLING_SNAP 0x4023 //豸֧AIƽ̨룬ϴѲץͼͼƬ ӦĽṹ(NET_AIOP_POLLING_PICTURE_HEAD) -#define COMM_UPLOAD_AIOP_POLLING_VIDEO 0x4024 //豸֧AIƽ̨룬ϴѲƵ ӦĽṹ(NET_AIOP_POLLING_VIDEO_HEAD) -#define COMM_UPLOAD_AIOP_HISTORY_VIDEO 0x4025 //豸֧AIƽ̨룬ϴʷƵ ӦĽṹ(NET_AIOP_HISTORY_VIDEO_HEAD) - - -#define COMM_ITS_ROAD_EXCEPTION 0x4500 //·豸쳣 -#define COMM_ITS_EXTERNAL_CONTROL_ALARM 0x4520 //ر -#define COMM_ALARM_SHIPSDETECTION 0x4521 // ֻⱨϢ - -#define COMM_VCA_DBD_ALARM 0x4550 //ʻΪϢ -#define COMM_VCA_ADAS_ALARM 0x4551 //߼ʻϢ -#define COMM_VEH_REALTIME_INFO 0x4552 //гʵʱϢ -#define COMM_VCA_ATTEND_ALARM 0x4553 //¼Ϣ - -#define COMM_FIREDETECTION_ALARM 0x4991 //ⱨ -#define COMM_ALARM_DENSEFOGDETECTION 0x4992 //ⱨϢ -#define COMM_VCA_ALARM 0x4993 //ܼⱨ -#define COMM_FACE_THERMOMETRY_ALARM 0x4994 //± - -#define COMM_TAPE_ARCHIVE_ALARM 0x4996 //Ŵ鵵 - -#define COMM_SCREEN_ALARM 0x5000 // -#define COMM_DVCS_STATE_ALARM 0x5001 //ֲʽϴ -#define COMM_ALARM_ACS 0x5002 //Ž -#define COMM_ALARM_FIBER_CONVERT 0x5003 //շ -#define COMM_ALARM_SWITCH_CONVERT 0x5004 // -#define COMM_ALARM_DEC_VCA 0x5010 //ܽ뱨 -#define COMM_ALARM_LCD 0x5011 //Ļ -#define COMM_CONFERENCE_CALL_ALARM 0x5012 //и澯 - -#define COMM_ALARM_WALL_CONFERNECE 0x5015 //MCUѿĻϢ - -#define COMM_DIAGNOSIS_UPLOAD 0x5100 //ϷVQDϴ -#define COMM_HIGH_DENSITY_UPLOAD 0x5101 //Աۼܶϴ - -#define COMM_ID_INFO_ALARM 0x5200 //֤Ϣϴ -#define COMM_PASSNUM_INFO_ALARM 0x5201 //ͨϱ -#define COMM_PASSPORT_ALARM 0x5202 //Ϣϴ - -#define COMM_THERMOMETRY_DIFF_ALARM 0x5211 //²ϴ -#define COMM_THERMOMETRY_ALARM 0x5212 //¶ȱϴ -#define COMM_PANORAMIC_LINKAGE_ALARM 0x5213 //ȫλϴ -#define COMM_TAG_INFO_ALARM 0x5215 // ǩϢϴ -#define COMM_ALARM_VQD 0x6000 //VQDϴ -#define COMM_PUSH_UPDATE_RECORD_INFO 0x6001 //ģʽ¼Ϣϴ -#define COMM_SWITCH_LAMP_ALARM 0x6002 //صƼ -#define COMM_INQUEST_ALARM 0x6005 // Ѷϴ -#define COMM_VIDEO_PARKING_POLE_ALARM 0x6006 //Ƶ׮ -#define COMM_GPS_STATUS_ALARM 0x6010 // GPS״̬ϴ -#define COMM_BASE_STATION_INFO_ALARM 0x6011 //վϢϴ -#define COMM_ALARM_SUBSCRIBE_EVENT 0x6012 //Ľϱ - -#define COMM_FACESNAP_RAWDATA_ALARM 0x6015 //ȶԱ͸ʽ -#define COMM_CLUSTER_ALARM 0x6020 //Ⱥϴ - -#define COMM_ISAPI_ALARM 0x6009 - -//PJ01C20170209084¼NVSܿĿר -#define COMM_FRAMES_PEOPLE_COUNTING_ALARM 0x6069 //֡ͳƽϴ - -#define COMM_SIGN_ABNORMAL_ALARM 0x6120 //쳣 -#define COMM_HFPD_ALARM 0x6121 //ƵԱⱨ - -#define COMM_HCU_ALARM 0x6150 //ܺӱSDKⲻʵ֣豸DVRͨЭ飬ռλֹͻ - -#define COMM_DEV_STATUS_CHANGED 0x7000 //豸״̬ı䱨ϴ - -#define COMM_ALARM_EXCEPTION 0x7fff //쳣 - -/*************쳣(Ϣʽ, صʽ())****************/ -#define EXCEPTION_EXCHANGE 0x8000 //ûʱ쳣 -#define EXCEPTION_AUDIOEXCHANGE 0x8001 //Խ쳣 -#define EXCEPTION_ALARM 0x8002 //쳣 -#define EXCEPTION_PREVIEW 0x8003 //Ԥ쳣 -#define EXCEPTION_SERIAL 0x8004 //͸ͨ쳣 -#define EXCEPTION_RECONNECT 0x8005 //Ԥʱ -#define EXCEPTION_ALARMRECONNECT 0x8006 //ʱ -#define EXCEPTION_SERIALRECONNECT 0x8007 //͸ͨ -#define SERIAL_RECONNECTSUCCESS 0x8008 //͸ͨɹ -#define EXCEPTION_PLAYBACK 0x8010 //ط쳣 -#define EXCEPTION_DISKFMT 0x8011 //Ӳ̸ʽ -#define EXCEPTION_PASSIVEDECODE 0x8012 //쳣 -#define EXCEPTION_EMAILTEST 0x8013 //ʼ쳣 -#define EXCEPTION_BACKUP 0x8014 //쳣 -#define PREVIEW_RECONNECTSUCCESS 0x8015 //Ԥʱɹ -#define ALARM_RECONNECTSUCCESS 0x8016 //ʱɹ -#define RESUME_EXCHANGE 0x8017 //ûָ -#define NETWORK_FLOWTEST_EXCEPTION 0x8018 //쳣 -#define EXCEPTION_PICPREVIEWRECONNECT 0x8019 //ͼƬԤ -#define PICPREVIEW_RECONNECTSUCCESS 0x8020 //ͼƬԤɹ -#define EXCEPTION_PICPREVIEW 0x8021 //ͼƬԤ쳣 -#define EXCEPTION_MAX_ALARM_INFO 0x8022 //ϢѴ -#define EXCEPTION_LOST_ALARM 0x8023 //ʧ -#define EXCEPTION_PASSIVETRANSRECONNECT 0x8024 //ת -#define PASSIVETRANS_RECONNECTSUCCESS 0x8025 //תɹ -#define EXCEPTION_PASSIVETRANS 0x8026 //ת쳣 -#define SUCCESS_PUSHDEVLOGON 0x8030 //ģʽ豸עɹ -#define EXCEPTION_RELOGIN 0x8040 //ûص½ -#define RELOGIN_SUCCESS 0x8041 //ûص½ɹ -#define EXCEPTION_PASSIVEDECODE_RECONNNECT 0x8042 // -#define EXCEPTION_CLUSTER_CS_ARMFAILED 0x8043 //Ⱥ쳣 - -#define EXCEPTION_RELOGIN_FAILED 0x8044 //ص½ʧܣֹͣص½ -#define EXCEPTION_PREVIEW_RECONNECT_CLOSED 0x8045 //رԤ -#define EXCEPTION_ALARM_RECONNECT_CLOSED 0x8046 //رձ -#define EXCEPTION_SERIAL_RECONNECT_CLOSED 0x8047 //ر͸ͨ -#define EXCEPTION_PIC_RECONNECT_CLOSED 0x8048 //رջ -#define EXCEPTION_PASSIVE_DECODE_RECONNECT_CLOSED 0x8049 //رձ -#define EXCEPTION_PASSIVE_TRANS_RECONNECT_CLOSED 0x804a //رձת -#define EXCEPTION_VIDEO_DOWNLOAD 0x804b // [add] by yangzheng 2019/11/09 ¼쳣 - -/********************Ԥص*********************/ -#define NET_DVR_SYSHEAD 1 //ϵͳͷ -#define NET_DVR_STREAMDATA 2 //ƵݣƵֿƵݣ -#define NET_DVR_AUDIOSTREAMDATA 3 //Ƶ -#define NET_DVR_STD_VIDEODATA 4 //׼Ƶ -#define NET_DVR_STD_AUDIODATA 5 //׼Ƶ -#define NET_DVR_SDP 6 //SDPϢ(RstpʱЧ) -#define NET_DVR_CHANGE_FORWARD 10 //ıΪ -#define NET_DVR_CHANGE_REVERSE 11 //ıΪ -#define NET_DVR_PLAYBACK_ALLFILEEND 12 //طļ -#define NET_DVR_VOD_DRAW_FRAME 13 //طų֡ -#define NET_DVR_VOD_DRAW_DATA 14 //϶ƽ -#define NET_DVR_HLS_INDEX_DATA 15 //HLS -#define NET_DVR_PLAYBACK_NEW_POS 16 //ط(ʱ䶨λNET_DVR_PLAYSETTIMENET_DVR_PLAYSETTIME_V50ӿڷسɹ󣬻ҪȴյûصͺſΪɹ) -#define NET_DVR_METADATA_DATA 107 //Metadata -#define NET_DVR_PRIVATE_DATA 112 //˽,Ϣ - -//豸ͺ(DVR) -/* 豸 */ -#define DVR 1 /*δdvrͷDVR*/ -#define ATMDVR 2 /*atm dvr*/ -#define DVS 3 /*DVS*/ -#define DEC 4 /* 6001D */ -#define ENC_DEC 5 /* 6001F */ -#define DVR_HC 6 /*8000HC*/ -#define DVR_HT 7 /*8000HT*/ -#define DVR_HF 8 /*8000HF*/ -#define DVR_HS 9 /* 8000HS DVR(no audio) */ -#define DVR_HTS 10 /* 8016HTS DVR(no audio) */ -#define DVR_HB 11 /* HB DVR(SATA HD) */ -#define DVR_HCS 12 /* 8000HCS DVR */ -#define DVS_A 13 /* ATAӲ̵DVS */ -#define DVR_HC_S 14 /* 8000HC-S */ -#define DVR_HT_S 15 /* 8000HT-S */ -#define DVR_HF_S 16 /* 8000HF-S */ -#define DVR_HS_S 17 /* 8000HS-S */ -#define ATMDVR_S 18 /* ATM-S */ -#define DVR_7000H 19 /*7000Hϵ*/ -#define DEC_MAT 20 /*·*/ -#define DVR_MOBILE 21 /* mobile DVR */ -#define DVR_HD_S 22 /* 8000HD-S */ -#define DVR_HD_SL 23 /* 8000HD-SL */ -#define DVR_HC_SL 24 /* 8000HC-SL */ -#define DVR_HS_ST 25 /* 8000HS_ST */ -#define DVS_HW 26 /* 6000HW */ -#define DS630X_D 27 /* · */ -#define DS640X_HD 28 /*640X*/ -#define DS610X_D 29 /*610X*/ -#define IPCAM 30 /*IP */ -#define MEGA_IPCAM 31 /*IP*/ -#define IPCAM_X62MF 32 /*862MFԽ9000豸*/ -#define ITCCAM 35 /*ܸ*/ -#define IVS_IPCAM 36 /*ܷ*/ -#define ZOOMCAM 38 /*һ*/ -#define IPDOME 40 /*IP */ -#define IPDOME_MEGA200 41 /*IP 200*/ -#define IPDOME_MEGA130 42 /*IP 130*/ -#define IPDOME_AI 43 /*IP ܿ*/ -#define TII_IPCAM 44 /*ȳ*/ -#define IPTC_DOME 45 /*ȳ˫Ŀ*/ -#define DS_2DP_Z 46 /*ӥۣ*/ -#define DS_2DP 47 /*ӥۣС*/ -#define ITS_WMS 48 /*ݹ*/ -#define IPMOD 50 /*IP ģ*/ -#define TRAFFIC_YTDOME 51 //̨ͨ״٣ -#define TRAFFIC_RDDOME 52 //̨ͨ״٣ -#define IDS6501_HF_P 60 // 6501 -#define IDS6101_HF_A 61 //ATM -#define IDS6002_HF_B 62 //˫DS6002-HF/B -#define IDS6101_HF_B 63 //쳣Ϊ⣺DS6101-HF/B DS6101-HF/B_SATA -#define IDS52XX 64 //ܷIVMS -#define IDS90XX 65 // 9000 -#define IDS8104_AHL_S_HX 66 // ʶ ATM -#define IDS8104_AHL_S_H 67 // ˽ʶ ATM -#define IDS91XX 68 // 9100 -#define IIP_CAM_B 69 // ΪIP -#define IIP_CAM_F 70 //IP -#define DS71XX_H 71 /* DS71XXH_S */ -#define DS72XX_H_S 72 /* DS72XXH_S */ -#define DS73XX_H_S 73 /* DS73XXH_S */ -#define DS72XX_HF_S 74 //DS72XX_HF_S -#define DS73XX_HFI_S 75 //DS73XX_HFI_S -#define DS76XX_H_S 76 /* DVR,e.g. DS7604_HI_S */ -#define DS76XX_N_S 77 /* NVR,e.g. DS7604_NI_S */ -#define DS_TP3200_EC 78 /*ܼ*/ -#define DS81XX_HS_S 81 /* DS81XX_HS_S */ -#define DS81XX_HL_S 82 /* DS81XX_HL_S */ -#define DS81XX_HC_S 83 /* DS81XX_HC_S */ -#define DS81XX_HD_S 84 /* DS81XX_HD_S */ -#define DS81XX_HE_S 85 /* DS81XX_HE_S */ -#define DS81XX_HF_S 86 /* DS81XX_HF_S */ -#define DS81XX_AH_S 87 /* DS81XX_AH_S */ -#define DS81XX_AHF_S 88 /* DS81XX_AHF_S */ -#define DS90XX_HF_S 90 /*DS90XX_HF_S*/ -#define DS91XX_HF_S 91 /*DS91XX_HF_S*/ -#define DS91XX_HD_S 92 /*91XXHD-S(MD)*/ -#define IDS90XX_A 93 // 9000 ATM -#define IDS91XX_A 94 // 9100 ATM -#define DS95XX_N_S 95 /*DS95XX_N_S NVR κ*/ -#define DS96XX_N_SH 96 /*DS96XX_N_SH NVR*/ -#define DS90XX_HF_SH 97 /*DS90XX_HF_SH */ -#define DS91XX_HF_SH 98 /*DS91XX_HF_SH */ -#define DS_B10_XY 100 /*Ƶۺƽ̨豸ͺ(X:ƬY:Ƭ)*/ -#define DS_6504HF_B10 101 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B10 102 /*Ƶۺƽ̨ڲ*/ -#define DS_1832_B10 103 /*Ƶۺƽ̨ڲ*/ -#define DS_6401HFH_B10 104 /*Ƶۺƽ̨ڲ˰*/ -#define DS_65XXHC 105 //65XXHC DVS -#define DS_65XXHC_S 106 //65XXHC-SATA DVS -#define DS_65XXHF 107 //65XXHF DVS -#define DS_65XXHF_S 108 //65XXHF-SATA DVS -#define DS_6500HF_B 109 //65 rack DVS -#define IVMS_6200_C 110 // iVMS-6200(/C) -#define IVMS_6200_B 111 // iVMS-6200(/B) -#define DS_72XXHV_ST15 112 //72XXHV_ST ˼3515ƽ̨ DVR -#define DS_72XXHV_ST20 113 //72XXHV_ST ˼3520ƽ̨ DVR -#define IVMS_6200_T 114 // IVMS-6200(/T) -#define IVMS_6200_BP 115 // IVMS-6200(/BP) -#define DS_81XXHC_ST 116 //DS_81XXHC_ST -#define DS_81XXHS_ST 117 //DS_81XXHS_ST -#define DS_81XXAH_ST 118 //DS_81XXAH_ST -#define DS_81XXAHF_ST 119 //DS_81XXAHF_ST -#define DS_66XXDVS 120 //66XX DVS - -#define DS_1964_B10 121 /*Ƶۺƽ̨ڲ*/ -#define DS_B10N04_IN 122 /*Ƶۺƽ̨ڲ*/ -#define DS_B10N04_OUT 123 /*Ƶۺƽ̨ڲ*/ -#define DS_B10N04_INTEL 124 /*Ƶۺƽ̨ڲ*/ -#define DS_6408HFH_B10E_RM 125 //V6 -#define DS_B10N64F1_RTM 126 //V6DSP -#define DS_B10N64F1D_RTM 127 //V6DSP -#define DS_B10_SDS 128 //Ƶۺƽ̨ -#define DS_B10_DS 129 //Ƶۺƽ̨ -#define DS_6401HFH_B10V 130 //VGA -#define DS_6504D_B10B 131 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B10H 132 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B10V 133 /*Ƶۺƽ̨ڲVGA*/ -#define DS_6408HFH_B10S 134 //Ƶۺƽ̨SDIӰ -#define DS_18XX_N 135 /* */ -#define DS_6504HF_B10F_CLASS 136 //˻SD -#define DS_18XX_PTZ 141 /*Ʒ*/ -#define DS_19AXX 142 /*ͨñƷ*/ -#define DS_19BXX 143 /*ñ*/ -#define DS_19CXX 144 /*б*/ -#define DS_19DXX 145 /**/ -#define DS_19XX 146 /*1900ϵб*/ -#define DS_19SXX 147 /*Ƶ*/ -#define DS_1HXX 148 /*CSƷ*/ // -#define DS_PEAXX 149 /*һʽƷ*/ -#define DS_PWXX 150 /*߱Ʒ*/ -#define DS_PMXX 151 /*4Gģ*/ -#define DS_19DXX_S 152 /*Ƶ*/ -#define DS_PWAXX 153 /* Axiom Hub߱ */ -#define DS_PHAXX 154 /* Axiom Hybridϱ */ -#define DS_PHAProXX 155 /* Axiom Hybrid Proϱ*/ - - -//2011-11-30 -#define DS_C10H 161 /**/ -#define DS_C10N_BI 162 //BNC -#define DS_C10N_DI 163 //rbg -#define DS_C10N_SI 164 // -#define DS_C10N_DO 165 //ʾ -#define DS_C10N_SERVER 166 //ֲʽ - - -#define IDS_8104_AHFL_S_H 171 // 8104ATM -#define IDS_65XX_HF_A 172 // 65 ATM -#define IDS90XX_HF_RH 173 // 9000 RH -#define IDS91XX_HF_RH 174 // 9100 RH豸 -#define IDS_65XX_HF_B 175 // 65 쳣Ϊ -#define IDS_65XX_HF_P 176 // 65 ʶ -#define IVMS_6200_F 177 // IVMS-6200(/F) -#define IVMS_6200_A 178 //iVMS-6200(/A) -#define IVMS_6200_F_S 179 // IVMS-6200(/F_S) - -#define DS90XX_HF_RH 181 // 9000 RH 648 -#define DS91XX_HF_RH 182 // 9100 RH豸 648 -#define DS78XX_S 183 // 78ϵ豸 6446 -#define DS81XXHW_S 185 // 81 Resolution 960 KY2011 -#define DS81XXHW_ST 186 // DS81XXHW_ST KY2011 -#define DS91XXHW_ST 187 // DS91XXHW_ST KY2011 -#define DS91XX_ST 188 // DS91XX_ST netra -#define DS81XX_ST 189 // DS81XX_ST netra -#define DS81XXHX_ST 190 // DS81XXHDI_ST,DS81XXHE_ST ky2012 -#define DS73XXHX_ST 191 // DS73XXHI_ST ky2012 -#define DS81XX_SH 192 // Ѷ81SH,81SHF -#define DS81XX_SN 193 // Ѷ81SNL - -#define DS96XXN_ST 194 //NVR:DS96xxN_ST -#define DS86XXN_ST 195 //NVR:DS86xxN_ST -#define DS80XXHF_ST 196 //DVR:DS80xxHF_ST -#define DS90XXHF_ST 197 //DVR:DS90xxHF_ST -#define DS76XXN_ST 198 //NVR:DS76xxN_ST - -#define DS_9664N_RX 199 //NVR:DS_9664N_RX -#define ENCODER_SERVER 200 // 뿨 -#define DECODER_SERVER 201 // 뿨 -#define PCNVR_SERVER 202 // PCNVR洢 -#define CVR_SERVER 203 // ŵCVRԼΪDVR_S-1 -#define DS_91XXHFH_ST 204 // 91ϵHD-SDIDVR -#define DS_66XXHFH 205 // 66 -#define TRAFFIC_TS_SERVER 210 //ն˷ -#define TRAFFIC_VAR 211 //Ƶ¼ -#define IPCALL 212 //IPӶԽֻ -#define SAN_SERVER 213 //CVR_SERVERͬijֻģʽͬ - -#define DS_B11_M_CLASS 301 /*Ƶۺƽ̨豸ͺ*/ -#define DS_B12_M_CLASS 302 /*Ƶۺƽ̨豸ͺ*/ -#define DS_6504HF_B11_CLASS 303 /*Ƶۺƽ̨ڲ*/ -#define DS_6504HF_B12_CLASS 304 /*Ƶۺƽ̨ڲ*/ -#define DS_6401HFH_B11V_CLASS 305 //VGA -#define DS_6401HFH_B12V_CLASS 306 //VGA -#define DS_6408HFH_B11S_CLASS 307 //SDI -#define DS_6408HFH_B12S_CLASS 308 //SDI -#define DS_6504D_B11H_CLASS 309 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B11B_CLASS 310 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B12B_CLASS 311 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B11V_CLASS 312 /*Ƶۺƽ̨ڲVGA*/ -#define DS_6504D_B12V_CLASS 313 /*Ƶۺƽ̨ڲVGA*/ -//B10 -#define DS_6401HFH_B10R_CLASS 314 //B10 RGB -#define DS_6401HFH_B10D_CLASS 315 //B10 DVI -#define DS_6401HFH_B10H_CLASS 316 //B10 HDMI -//B11 -#define DS_6401HFH_B11R_CLASS 317 //B11 RGB -#define DS_6401HFH_B11D_CLASS 318 //B11 DVI -#define DS_6401HFH_B11H_CLASS 319 //B11 HDMI -//B12 -#define DS_6401HFH_B12R_CLASS 320 //B12 RGB -#define DS_6401HFH_B12D_CLASS 321 //B12 DVI -#define DS_6401HFH_B12H_CLASS 322 //B12 HDMI -#define DS_65XXD_B10Ex_CLASS 323 //netra - -//B10 V2.1 -#define DS_6516HW_B10_CLASS 324 //netra߱ -#define DS_6401HFH_B10F_RX_CLASS 326 //˻루֧1/2·˻룩 -#define DS_6502HW_B10F_RX_CLASS 327 //960H˻루֧1/4/8·˻룩 -//2012-5-16 -#define DS_6504D_B11Ex_CLASS 328 //netra -#define DS_6504D_B12Ex_CLASS 329 //netra -#define DS_6512_B11_CLASS 330 //netra߱ -#define DS_6512_B12_CLASS 331 //netra߱ -#define DS_6504D_B10H_CLASS 332 //Ƶۺƽ̨ڲ - -#define DS_65XXT_B10_CLASS 333 //Ƶۺƽ̨תϵͳ -#define DS_65XXD_B10_CLASS 335 //Ƶۺƽ̨ -#define DS_IVMSE_B10X_CLASS 336 //X86ϵͳ -#define DS_6532D_B10ES_CLASS 337 //ǿͽ_SDI(B10) -#define DS_6508HFH_B10ES_CLASS 338 //SDIϵͳ -#define DS_82NCG_CLASS 340 //еϵͳ -#define DS_82VAG_CLASS 341 //еϵͳ -#define DS_1802XXF_B10_CLASS 342 //ڽϵͳ -#define iDS_6504_B10EVAC_CLASS 343 //ϵͳ -#define iDS_6504_B10EDEC_CLASS 344 //ϵͳ -#define DS_6402HFH_B10EV_CLASS 345 //netra(VGA) -#define DS_6402HFH_B10ED_CLASS 346 //netra(DVI) -#define DS_6402HFH_B10EH_CLASS 347 //netra(HDMI) -#define DS_6404HFH_B10T_RX_CLASS 348 //˽ -#define DS_6504D_AIO_CLASS 349 //netra -#define DS_IVMST_B10_CLASS 350 //X86תϵͳ -#define DS_6402_AIO_CLASS 351 //netra -#define DS_iVMSE_AIO_CLASS 352 //x86ϵͳ -#define DS_AIO_M_CLASS 353 //һ - - -#define DS_6508HF_B10E_CLASS 355 //BNCϵͳ -#define DS_6404HFH_B10ES_CLASS 356 //SDIϵͳ -#define DS_6402HFH_B10ER_CLASS 358 //RGBϵͳ -#define DS_6404HFH_B10T_RM_CLASS 361 //ϵͳ -#define DS_6516D_B10EB_CLASS 362 //BNCϵͳ -#define DS_6516D_B10ES_CLASS 363 //SDIϵͳ - -//DVI/HDMI/VGAԽ빫һ -#define DS_6508D_B10FH_CLASS 364 -#define DS_6508D_B10FD_CLASS 364 -#define DS_6508D_B10FV_CLASS 364 - -#define DS_6508_B11E_CLASS 365 //BNCϵͳ -#define DS_6402_B11ES_CLASS 366 //SDIϵͳ -#define DS_6402_B11EV_CLASS 367 //VGAϵͳ -#define DS_6402_B11ER_CLASS 368 //RGBϵͳ -#define DS_6402_B11ED_CLASS 369 //DVIϵͳ -#define DS_6402_B11EH_CLASS 370 //HDMIϵͳ -#define DS_6516D_B11EB_CLASS 371 //BNCϵͳ -#define DS_6516D_B11ES_CLASS 372 //SDIϵͳ - -#define DS_6508_B12E_CLASS 373 //BNCϵͳ -#define DS_6402_B12ES_CLASS 375 //SDIϵͳ -#define DS_6402_B12EV_CLASS 376 //VGAϵͳ -#define DS_6402_B12ER_CLASS 377 //RGBϵͳ -#define DS_6402_B12ED_CLASS 378 //DVIϵͳ -#define DS_6402_B12EH_CLASS 379 //HDMIϵͳ -#define DS_6516D_B12EB_CLASS 380 //BNCϵͳ - -#define DS_iVMSE_AIO_8100x_CLASS 381 //ҵһX86ϵͳ -#define DS_iVMSE_AIO_87x_CLASS 382 //¥һX86ϵͳ -#define DS_6532D_B11ES_CLASS 384 //ǿͽ_SDI(B11) -#define DS_6532D_B12ES_CLASS 385 //ǿͽ_SDI(B12) -//B20 -#define DS_B20_MSU_NP 400 //B20ذ -#define DS_6416HFH_B20S 401 //SDI -#define DS_6416HFH_B20_RM 402 // -#define DS_6564D_B20D 403 //DVI -#define DS_6564D_B20H 404 //HDMI -#define DS_6564D_B20V 405 //VGA -#define DS_B20_6516D_DEV_CLASS 406 //B20ϵͳ -#define DS_6408HFH_B20V 407 //VGA -#define DS_MMC_B20_CLASS 408 //B20 -#define DS_CARD_CHIP_B20_CLASS 409 //B20Ӱ -#define DS_6564D_B20B_DEV_CLASS 410 //BNCϵͳ -#define DS_6564D_B20S_DEV_CLASS 411 //SDIϵͳ -#define DS_6532HF_B20B_DEV_CLASS 412 //BNCϵͳ -#define DS_6408HFH_B20D_DEV_CLASS 413 //DVIϵͳ -#define DS_6408HFH_B20H_DEV_CLASS 414 //HDMIϵͳ -#define DS_IVMSE_B20_CLASS 415 //X86ϵͳ -#define DS_6402HFH_B20Y_DEV_CLASS 416 //YUVϵͳ -#define DS_6508HW_B20_DEV_CLASS 417 //HWϵͳ -#define DS_B20N128Fx_B20_DEV_CLASS 418 //DS_B20N128Fx_M -#define DS_AIO_MCU_NP_DEV_CLASS 419 //IOذ -#define DS_6402_AIO_EV_DEV_CLASS 420 //VGA -#define DS_6508D_AIO_EV_DEV_CLASS 421 //VGA -#define DS_6508D_AIO_ED_DEV_CLASS 422 //DVI -#define DS_6508D_AIO_EH_DEV_CLASS 423 //HDMI -#define DS_6508HD_B20F_DEV_CLASS 424 //Ƶǿ -#define DS_6402HFH_B20ES_DEV_CLASS 425 //3G SID -#define DS_6532D_B20_DEV_CLASS 426 //B20ϵͳ -#define DS_IVMST_B20_DEV_CLASS 427 //X86ϵͳ -#define DS_6416HFH_B20DD_DEV_CLASS 428 //DVI˫· -#define DS_6441VS_B20_DEV_CLASS 429 //ƴ -#define DS_6404HFH_B20T_CLASS 431 //TVI -#define DS_FS22_B20_DEV_CLASS 432 //ϵͳ -#define DS_IVMSE_B20UH_DEV_CLASS 433 //X86 -#define IDS_6524J_B20_DEV_CLASS 434 -#define IDS_6532B_B20_DEV_CLASS 435 -#define DS_6404HFH_B20Fx_DEV_CLASS 436 //˻ϵͳ -#define DS_N128x_B20Fy_CLASS 437 //ϵͳ -#define DS_181600F_B20_CLASS 438 //ϵͳ -#define DS_6904UD_B20H_CLASS 439 //ϵͳ - -#define DS_B21_MCU_NP_CLASS 440 //B21 -#define DS_B21_S10_x_CLASS 441 //B21 x = A/S/D -#define DS_6402HFH_B21D_CLASS 442 //B21ϵͳ -#define DS_6508HD_B21D_CLASS 443 //B21ϵͳ -#define DS_iVMSE_B21HW_CLASS 444 //B21 X86ϵͳ - -#define DS_C10S 501 //C10S ʽ -#define DS_C3X 502 //ʽƴӿ - -#define DS_C10N_SDI 551 //SDI -#define DS_C10N_BIW 552 //8·BNC -#define DS_C10N_DON 553 //ʾ -#define DS_C10N_TVI 554 //TVI -#define DS_C10N_DI2 555 //DVI 2· -#define DS_C10N_AUDIO_OUT 556 //DVIHDMIVGAƵ -#define DS_C10N_AUDIO_IN 557 //DVIHDMIVGAƵ - -//汾ķֲʽ -#define DS_C20N 570 //ֲʽ -#define DS_C20N_BNC 571 //BNC豸 -#define DS_C20N_DVI 572 //DVI豸 -#define DS_C20N_DP 573 //DP豸 -#define DS_C20N_OUT 574 //豸 - -//ʽ 5301 - 5350 50 -#define DS_C30 5301 //C30ʽƴӿ -#define DS_C31 5302 //C31ʽƴӿ -#define DS_M0804 5303 //M0804ƴӿ - -//Ӳ汾ķֲʽ -#define DS_C20N_VWMS 5351 //C20N -#define DS_C20N_DI2 5352 //·DVI豸 -#define DS_C20N_DO2 5353 //·DVI豸 -#define DS_C20N_UHDI 5354 //DP/HDMI 1·4K豸 -#define DS_C20N_YI2 5355 //·YPbPr - -#define DS_C12N_VWMS 5356 //C12N -#define DS_C12N_DO 5357 //1·DVI -#define DS_C12N_HOE 5358 //1·HDMI 4K - -#define DS_C20N_HI2 5359 // HDMIڵ(2·) -#define DS_C20N_VI2 5360 //VGAڵ(2·) -#define DS_C20N_SI2 5361 //SDIڵ(2·) -#define DS_C20N_HO2 5362 //HDMIڵ(2·) -#define DS_C20N_S24G 5363 //C20Nרǧ׽(24·) -#define DS_C20N_S24X 5364 //C20Nר׽(24·) -#define DS_C12A_0104H 5365 //ƴӿ -#define DS_C20N_DO2_V2 5366 //·DVI豸V2 -#define DS_C20N_HO2_V2 5367 //·HDMI豸V2 -#define DS_C21N 5368 //ֲʽ -#define DS_C21K 5369 //ϯKVMϵͳC21 -#define DS_68TS_A 5370 //һ -#define DS_C22N_UHDI 5371 //4K60豸(1·) -#define DS_C21N_UHDI_T 5372 //1·4K60ڵ -#define DS_C22N_HI1 5373 //1·HDMI -#define DS_C22N_HO1 5374 //1·HDMI - - -//ȫϢʾ豸 -#define DS_D1HXX 5591 //ȫϢʾ豸 -#define DS_60SDL_X 5592 //Windows˫ն -#define DS_6043DL_B 5593 //׿˫43ն -#define DS_6049DL_B 5594 //׿˫49ն -#define DS_6055DL_B 5595 //׿˫55ն - -//ߴ豸 -#define ELEVATO_BRIDGE 5751 //ߵ -#define DS_3WF01S_5NG_M 5752 //5.8G1߹ -#define DS_3WF0EC_2N_D 5753 //2.4G500 -#define DS_3WF0EC_5ACT 5754 //5.8G 11ac -#define DS_3WF03S_5AC 5755 //5.8G 3ᆳ -#define DS_3WF0ES_5AC_H 5756 //5.8G500׸ߴ͸ -#define DS_3WF05S_5AC_H 5765 //5.8G 5KMǧڲ -#define DS_3WSXXX 5766 //·ϵУAC -#define DS_3WAXXX 5767 //APϵ -#define DS_3WAXXXP 5768 //APϵ -#define DS_3WRXXX 5769 //ͨ·ϵ -#define DS_3WMRXXX 5770 //MESH·ϵ -#define DS_3WAX18 5881 //AP - -//豸 -#define DS_3CXXXX 5891 //ͳһƽ̨ - - -//豸 -#define DS_19M00_MN 601 //ģ -#define DS_KH8302_A 602 //ڻ -#define DS_KD8101_2 603 //ſڻ -#define DS_KM8301 604 // -#define DS_KVXXXX_XX 605 //ſڻ -#define DS_LHPM1D_C 606 //Ƶ -#define DS_KAM03 607 //תģ -#define DS_KDXXX 608 //ܽնˣҵDS-KD9623-F-JPDS-KD9623-FC-JPDS-KD9803-F-JPҽҵDS-KD9803-3XF5G-HIDS-KD9803-3XFW-HIDS-KD9803-W-HI - -#define DS64XXHD_T 701 //64-T -#define DS_65XXD 703 //65 -#define DS63XXD_T 704 //63-T -#define SCE_SERVER 705 //ץ -#define DS_64XXHD_S 706 //64XXHD-S -#define DS_68XXT 707 //๦Ƶת -#define DS_65XXD_T 708 //65D-T -#define DS_65XXHD_T 709 //65HD-T -#define DS_69XXUD 710 //69XXUD -#define DS_65XXUD 711 //65XXUD -#define DS_65XXUD_L 712 //65XXUD_L -#define DS_65XXUD_T 713 //65XXUD_T - - -#define DS_D20XX 750 //LCDĻ 뿨 -//SDI -#define DS_C50S 751 //SDI -#define DS_D50XX 752 //LCDĻ 뿨 - -#define DS_D40 760 //LEDͿ - -#define DS_65VMXX 770 //Ƶ -#define DS_65VTXX 771 //Ƶն -#define DS_65VTA 772 //Ƶһʽն -#define DS_65VT_RX 773 //ѧն -#define DS_65VM_MCU_NP 774 //MCU - - -#define DS_CS_SERVER 800 // -#define DS_68GAP_MCU 831 //Ƶբ -#define DS_K260X 850 //Ž -#define DS_K1TXXX 851 //ָһ -#define DS_K280X 852 //Ž -#define DS_K281X 853 //ŽDS-K281Xϵ -#define DS_K1T80X 854 //Žһ -#define RAC_6X00 856 //ָŽһ -#define DS_K2602_AX 857 //Աͨ -#define DS_K1T803F 858 //ָŽƷ -#define DS_K2700 859 //ֲʽܹŽ -#define DS_K270X 860 //ֲʽܹ͵ؿ -#define DS_K1T500S 861 //Žһ -#define DS_K1A801F 862 //ָŽƷ -#define DS_K1T600X 863 //ʶŽһ -#define DS_K22X 864 //ݿ -#define DS_K2M0016AX 865 //ݿطֿ -#define DS_K2602S_AX 867 //ԱͨƷ -#define DS_K560XX 870 //ʽ/̨ʽʶն -#define DS_K260X_E 873 //ͶŽ -#define DS_K5603X 874 //̨ʽ/ڹʽǶʽ֤豸 -#define DS_K3M200X 875 //Ȩ޿ -#define DS_K3M100X 879 //ͨ -#define DS_K1T8101XT 881 //ʶŽһ -#define DS_K1T8101XX 882 //ʶŽһ -#define DS_K5604 883 //5604֤豸 -#define DS_K1T607XXXX 884 //жŽһDS_K1T607M/MF/E/EF/MG/MFG?MW/MFW/TM/TMF/TE/TEF/TMG/TMFG/TMW/TMFW -#define DS_K1A850X 885 //Ͷ˾ָƿڻ -#define DS_K1T800X 886 //Ͷ˾ָŽһ -#define DS_K1T610XXXX 887 //жŽһDS_K1T610M/MF/E/EF/MG/MFG?MW/MFW/TM/TMF/TE/TEF/TMG/TMFG/TMW/TMFW -#define DS_K1T8115X 888 //DS-K1T8115DS-K1T8115MDS-K1T8115M-Z ʶһ -#define DS_K1T815LC_M 889 //ʶһ -#define DS_K1T606M_Z 890 //ʶһ -#define DS_K5607_XXX 891 //K5607ᱡͨ -#define DS_K1T806X 892 //Ͷ˾ŽһDS-K1T806ϵ -#define DS_K1T950MX 893 //ָŽһ -#define DS_K1T331XX 894 //ͶŽһ -#define DS_K1T671T 895 //Žһ -#define DS_K1T671 896 //Žһ -#define DS_K5671 897 //ᱡͨ -#define DS_K1T640 898 //4.3Žһ -#define DS_K1A802A 899 //ָƿڻ - -#define DS_6800M 900 //68M -#define DS_68NTH 901 //Ϣ -#define DS_D60S 902 //Ϣ -#define DS_D60W 903 //ϢWindowsն -#define DS_D10 931 //Ͷʾ豸 -#define DS_3K0X_NM 951 //շ -#define DS_3E2328 952 //׽ -#define DS_3E1528 953 //ǧ׽ -#define SCREEN_LINK_SERVER 971 //Ļ -#define DS_D51OPSXX 972 //OPSԺ -//һ廯̨ -#define IP_PTSYS_MEGA200 1001 //IP 200һ廯̨ -#define IPCAM_FISHEYE 1002 // -#define IPCAM_FISHEYE_E 1003 // - -//68xxϵ˫Ŀ3D -#define IPCAM_BINOCULAR 1004 //˫Ŀ - -#define IPCAM_365 1010 //֧365ƽ̨IPC CAM -#define IPCAM_R0 1011 //֧A5Sƽ̨IPC CAM -#define IPCAM_R1 1012 //֧385ƽ̨IPC CAM -#define IPCAM_R2 1013 //֧R2ƽ̨IPC CAM -#define IPCAM_R3 1014 //֧8127ƽ̨IPC CAM -#define IPCAM_R4 1015 //֧S2ƽ̨IPC CAM - -#define IPDOME_365 1110 //֧365ƽ̨IPD CAM -#define IPDOME_R0 1111 //֧A5Sƽ̨IPD CAM -#define IPDOME_R1 1112 //֧385ƽ̨IPD CAM -#define IPDOME_R2 1113 //֧R2ƽ̨IPD CAM -#define IPDOME_R3 1114 //֧8127ƽ̨IPD CAM -#define IPDOME_R4 1115 //֧S2ƽ̨IPD CAM -#define ITCCAM_R3 1211 //֧8127ƽ̨ITCCAM - -//˻ҵ豸1300~1350 -#define UAV_S 1300 //˻վ豸 Ummanned Aerial Vehicle C Station - -//豸 2013-11-19 -#define TRAFFIC_ECT 1400 //ECT豸 -#define TRAFFIC_PARKING_SERVER 1401 //ͣ -#define TRAFFIC_TME 1402 //ڿƻ -// DVR -#define DS90XXHW_ST 2001 // DS90XXHW_STDVR -#define DS72XXHX_SH 2002 // DS-72xxHV_SH, DS-72xxHF-SH -#define DS_92XX_HF_ST 2003 // DS-92XX-HF-ST -#define DS_91XX_HF_XT 2004 // 9100DVR_HF_XT -#define DS_90XX_HF_XT 2005 // 9000DVR_HF_XT -#define DS_73XXHX_SH 2006 // 7300DVR_HX_SH -#define DS_72XXHFH_ST 2007 // 7200DVR_HFH_ST -//DS_67ϵ - -#define DS_67XXHF_SATA 2008 // DS-67XXHF-SATA -#define DS_67XXHW 2009 // DS-67XXHW -#define DS_67XXHW_SATA 2010 // DS-67XXHW-SATA -#define DS_67XXHF 2011 // DS-67XXHF - -//Netra2.3 -#define DS_72XXHF_SV 2012 // DS-72xxHF-SV -#define DS_72XXHW_SV 2013 // DS-72xxHW-SV - -#define DS_81XXHX_SH 2014 // 8100DVR_HX_SH - -#define DS_71XXHX_SL 2015 //СDVR - -#define DS_76XXH_ST 2016 //DS_76XXH_ST - - -#define DS_73XXHFH_ST 2017 //73HFHϵ -#define DS_81XXHFH_ST 2018 //81HFHϵ ST - -#define DS_72XXHFH_SL 2019 //hi3521 -#define DS_FDXXCGA_FLT 2020 //2λATM - -#define IDS_91XX_HF_ST_A 2100 //iDS-9100HF-ST/A -#define IDS_91XX_HF_ST_B 2101 //iDS-9100HF-ST/B -#define IDS_90XX_HF_ST_A 2102 //iDS-9000HF-ST/A -#define IDS_90XX_HF_ST_B 2103 //iDS-9000HF-ST/B -#define IDS_81XX_HF_ST_A 2104 //iDS-8100HF-ST/A -#define IDS_81XX_HF_ST_B 2105 //iDS-8100HF-ST/B -#define IDS_80XX_HF_ST_A 2106 //iDS-8000HF-ST/A -#define IDS_80XX_HF_ST_B 2107 //iDS-8000HF-ST/B -#define IDS_8104_AHFL_ST 2108 //ܻATM -#define IDS_2CD6812F_C 2109 //ֱ˫Ŀ - - -// NVR -#define DS_77XXN_ST 2201 // NVR DS-77XXHF-ST -#define DS_95XX_N_ST 2202 // 95XXN_ST NVR -#define DS_85XX_N_ST 2203 // 85XXN_ST NVR -#define DS_96XX_N_XT 2204 // 9600NVR_N_XT -#define DS_76XX_N_SE 2205 // 7600NVR_N_SE - -//Ѷ -#define DS_86XXSN_SX 2206 // 8608NVR_SX4DS-8608SNL-SPDS-8608SNL-STDS-8608SN-SPDS-8608SN-STLʾLCDPPOE - -//#define DS_96XX_N_RX 2207 //DS-96XX-N-RX -#define DS_71XXN_SL 2208 //DS-71XXN-SL òƷ -#define CS_N1_1XX 2209 //CS_N1_1XXҵ - -#define DS_71XXN_SN 2210 //71XX_N_SN òƷ -#define CS_N1_2XX 2211 //N1_2XX ҵ -#define DS_76XX_N_SHT 2212 //76XX_N_SHT ˻߲Ʒ -#define DS_96XXX_N_E 2213 //NVR(256) - -#define DS_76XXN_EX 2214 /* 76 78ϵNVRע 4 8 16·E1һλ 8 16 32· E2λ /N /P豸*/ -#define DS_77XXN_E4 2215/* 77ϵNVR ע8 16 32· /N /P豸*/ -#define DS_86XXN_E8 2216/* 86ϵNVR ע8 16 32· /N /P豸*/ -#define DS_9616N_H8 2217 //DS_9616N_H8 -#define DS_72XXHX_EX_GXY 2218 //ʾ72ϵDVRƷ72xxʾͨHXĿǰHW,Ϊ˺չEXʾλG XYʾ -#define DS_76XXN_EX_GXY 2219 //ʾ76ϵNVRƷ76xxʾͨEXʾλG XYʾ -#define DS_72XXHXH_SH_21 2220 // 72XXHXH_SH_21 -#define DS_72XXHXH_SH_31 2221 // 72XXHXH_SH_31 -#define DS_73XXHXH_SH_31 2222 // 73XXHXH_SH_31 -#define DS_81XXHXH_SH_31 2223 // 81XXHXH_SH_31 -#define DS_71XXHXH_SH_21 2224 // 71XXHXH_SH_21 -#define DS_71XXHXH_SH_31 2225 // 71XXHXH_SH_31 -#define DS_NBXX_N_E1_X 2226 //Яʽ -#define DS_96XXN_FX 2230 -#define DS_86XXN_FX 2231 -#define DS_96XXXN_HX 2232 //96ϵ豸 - - -#define DS_86XXN_I 2233 //DS_86XXN_I -#define DS_77XX_N_I 2234 //DS_77XX_N_I -#define DS_76XX_N_I 2235 //DS_76XX_N_I -#define DS_78XX_N_I 2236 //DS_78XX_N_I -#define DS_96XXXN_IX 2237 //DS-96XXX_N_IDS-96128N-I16DS-96128N-I24DS-96256N-I16DS-96256N-I24 - -#define DS_90XXHXH_XT 2238 //DS_90XXHXH_XTDS-9016HQH-XT - -#define DS_NVR_ALL 2239 //NVR豸ͳһ룬NVRƷѶϵУʹDS_NVR_ALL -#define DS_DVR_ALL 2240 //DVR豸ͳһ룬DVRƷѶϵУʹDS_DVR_ALL - -//PCNVR -#define PCNVR_IVMS_4200 2301 // PCNVR_IVMS_4200 - - -//ܷ -#define IVMS_6200_TP 2401 //IVMS-6200 ͨյ -#define IVMS_6200_TF 2402 //IVMS-6200 ͨȡ֤ -#define IVMS_6200_D 2403 //iVMS-6200(/D) -#define IDS_81XXAHW_ST 2405 //iDS-81xxAHW-ST -#define IDS_81XXAHW_SP 2406 //iDS-81xxAHW-SP -#define IDS_81XXAHWL_ST 2407 //iDS-81xxAHWL-ST -#define IDS_81XXAHWL_SP 2408 //iDS-81xxAHWL-SP -#define IDS_9616N_H8 2409 //iDS_9616N_H8 -#define IVMS_6200_SMD 2500 //IVMS_6200_SMD -//HISI3531ƽ̨ATM DVR LʾҺPʾpoe -#define DS_81XXAHW_ST 2501 -#define DS_81XXAHW_SP 2502 -#define DS_81XXAHWL_ST 2503 -#define DS_81XXAHWL_SP 2504 - -//TVI ATM -#define DS_81XXAHGH_E4 2601 //DS_81XXAHGH_E4 - -/************************************************************************/ -/* ʾƷ豸startϵ豸ͣ */ -/************************************************************************/ - -/** B20ϵУ4001-4100 */ - -#define DS_6904UD_AIOE_H_CLASS 4002 //B20һ -#define DS_6402HFH_B21B_CLASS 4005 //B21 -#define DS_6902UD_B21H_CLASS 4006 //B21 HDMI -#define DS_6902UD_B21D_CLASS 4007 //B21 DVI -#define DS_6902UD_B21V_CLASS 4008 //B21 VGA -#define DS_6904UD_B20D_CLASS 4010 //B20 DVI -#define DS_6904UD_B20V_CLASS 4011 //B20 VGA -#define DS_B30_MCU 4012 //B30ذ -#define DS_B30_SW 4013 //B30 -#define DS_B30_04XI 4014 //B30 -#define DS_B30_04XO 4015 //B30 -#define DS_B31 4016 //B31һ - -//B21һ豸ͺ -#define DS_AIOH_MCU_NP 4042 //ذ -#define DS_6404HFH_AIOH_D 4043 //4·DVI -#define DS_6908UD_AIOH_D 4044 //4·DVI -#define DS_6908UD_AIOH_H 4045 //4·HDMI - -//һ豸ͺ -#define DS_69XXUD_B 4046 //һ -#define DS_6404HFH_I 4047 //4·DVI -#define DS_6904UD_O 4048 //8·HDMI - - -//ʽƴ -#define DS_C12L_0204H 4060 //Сƴ - -//ARһ 4101 - 4120 20 -#define DS_D1A24FDI 4101 //ARһ - -//5001-5050 -#define DS_69XXHD 5001 //69XXHD -#define DS_69UD_V2 5002 //69UDV2 -#define DS_69UD_T 5003 //6볬 -#define DS_6AUD 5004 // -#define DS_6AUD_V3 5005 //V3 - -//ת 5401 - 5450 50 -#define DS_68VTG 5401 //ۺת - -//Ƶ豸 5571 - 5590 20 -#define DS_65VT0010 5571 //һʽն -#define DS_65VM_MCU 5572 //ܶMCUذ -#define DS_65VM_MPC 5573 //ܶMCUýԴ -#define DS_65VT2XXYR_SF 5574 //˾Ѷն -#define DS_65VT0XXY 5575 //Ƶն -#define DS_65VT0010Z 5576 //һʽն -#define DS_65VT0050Z 5577 //ܷʽն -#define DS_65VS0XXXS 5878 //opensips豸 -#define DS_65VS0XXXM 5579 //Ƶƽ̨豸 -#define DS_65VM00XX_X 5580 //ƵX86ϵͳMCU -#define DS_65VA800_BOX 5581 //Ƶ˷ -#define DS_65VT0020S 5582 //һʽĿܻն -#define DS_65VT0020D 5583 //һʽ˫Ŀܻն -#define DS_65VM00XX_G 5584 //ƵMCU -#define DS_65VM0000_GPU 5585 //Ƶý崦 -#define DS_65VTA011 5586 //Ŀ߼ն -#define DS_65VCP1100M_S 5587 //4KĿ(ܻն) -#define Z_MINISMC_01 5588 //4K USB - -#define DS_65VCAXX 5590 //߼ - -#define DS_65VTR00X0 5791 //ʽŴն -#define DS_65VA800AM_S 5792 //Ƶ˷ -#define DS_65VAM0100UB 5793 //Ƶ˷ -#define DS_65VA800SW 5794 //Ƶת -#define DS_65VTA22XX_X 5795 //SmartEye A2200 -#define DS_65VCAXXXX 5796 //Smart Meeting Bar - -//ƵģY10ϵУ -#define DS_Y10_MCU 5771 //ذ -#define DS_Y10_SW1 5772 // -#define DS_6516UD_Y10D 5773 //8·DVIʾӿڽ -#define DS_6532UD_Y10D 5774 //16·DVIʾӿڽ -#define DS_6E2724_Y10 5775 //24׽ӿڱ -#define DS_68SAA_AA_Y10 5776 //˫·2620ڴ32Gҵ -#define DS_68SBA_AA_Y10 5777 //˫·2630ڴ32Gҵ -#define DS_68SCA_AA_Y10 5778 //˫·2650ڴ32Gҵ -#define DS_68GPU_A1_Y10 5779 //P4Կ -#define DS_CPU_SERVER 5780 //CPU -#define DS_GPU_SERVER 5781 //GPU -#define DS_BIGDATA_SERVER 5782 //ݷ - - -//һϵ -#define DS_B80_MCU 5821//ذ -#define DS_B80_SW 5822// -#define DS_B80_SR_01 5823// -#define DS_B80_AI04 5824//ܷ壬֧4· -#define DS_B80_ST 5825//洢壬֧42.52TӲ -#define DS_B80_D04 5826//ݲɼҵ -#define DS_B80_BNC08 5827// -#define DS_B80_SDI08 5828// -#define DS_B80_VP 5829//ת/ -#define DS_B80_VO02 5830//Ƶ -#define DS_B81_MCU 5831//B81ģ -#define DS_B81_AI 5832//B81ܷģ -#define DS_B81_TVI 5833//B81 ģƵģ飨TVI/BNC -#define DS_B81_APL 5834//B81ģ X86ƽ̨ -#define DS_B81_D08T 5835//B81 ݲɼģ -#define DS_B85 5836//B85С -#define DS_B86 5837//B86п -#define AX_GW100_V16A00M 5838//B81Ǹ룩OEM豸 -#define DS_B81_AT_M 5839//B81Ǹ룩 - -// -#define DS_3LGCX 5841//ͨ -#define DS_3LGRX 5842//LoRa -#define DS_3LGT4 5843 //豸 -#define DS_3LGT40_N 5844 //NB-IoT -#define DS_3LGS_I 5845 // - - -// -#define DS_3E11XX 5681 //׽ -#define DS_3E13XX 5682 //ǧн -#define DS_3E15XX 5683 //ǧ׽ -#define DS_3E11XXP 5684 //POE -#define DS_3E13XXP 5685 //ǧPOE -#define DS_3E15XXP 5686 //ǧPOE -#define DS_3E1520U 5687 //USB -#define DS_3EODM_H 5688 // -#define DS_3EODM_W 5689 //ï -#define DS_3T1XXX 5690 //DS-3T1XXXϵн -#define DS_3E2XXX 5861 //ȫܽ -#define DS_3E2XXXP 5862 //ȫܽ-POE -#define DS_3E3XXX 5863 //ȫܽ -#define DS_3E3XXXP 5864 //ȫܽ-POE - -//շ -#define DS_3D01R_NM 5691 //շտ -#define DS_3D01T_NM 5692 //շͻ -#define DS_3K02_RNM 5693 //շܿ - - -/************************************************************************/ -/* ʾƷ豸endϵ豸ͣ */ -/************************************************************************/ - -#define IDS_90XX_HXH_XX_S 6001 //DVRƷ -#define IDS_90XX_HXH_XX_FA 6002 //DVRƷ - -#define DS_81XX_SHXL_K4 6101 //KY2017ƽ̨ѶDS-8104SHFHL-K4/4P - -#define DS_8116THFHL_F4 6201 //׼ͥDS-8116THFHL-F4 - -#define DS_81XXAHQ_E4 6301 //DS_81XXAHQ_E4(TVI ATM) -#define IDS_81XXAHQ_E4 6302 //IDS_81XXAHQ_E4(TVI ATM) - -#define IDS_86XX_NX_A 7501 //ATM NVR(iDS-8632NX-I8/A) -#define IDS_96XX_NX_S 7502 //峬NVR -#define IDS_96XX_NX_V 7503 //ԼվNVR -#define IDS_96XX_NX_FA 7504 //NVR iDS-9632NX-I8/FA -#define IDS_86XX_NX_IX_B 7505 //86ϵаȫñNVRƷ -#define IDS_67XX_NX_S_X 7506 //ܰƷNVR(IDS_67XX_NX/S_X) -#define NP_ST204_X_ 7507 //ڶܰǣNP_ST204_S:NP_ST204_D:NP_ST204_D_4G -#define NP_ST_ANJIAN 7508 // - -#define IDS_ECDXX_HE 8001//ѧĿ -#define IDS_ECDXX_HT 8002//ʦĿ - -#define IDS_ECDXX_E 8101//4K - -#define IDS_EPTXX_HF 8201//ץĻ - - -#define DS_2CD69XXX_I 8351 //3200WȫƴIPCͺ -#define DS_TRIXX 8471 //Ƶ̶ʽDS_TRI900 - -#define DS_K1F600_D6EXX 10501 //๦ܲɼ -#define DS_K1T341 10502 //Ž -#define DS_K1T641XXX 10503 //жͨŽ -#define DS_K1T642XXX 10504 //жͨŽ -#define DS_K1T601 10505 //ƵƷ -#define DS_K1T672XXX 10506 //7糬ŽƷ -#define DS_K56A0X 10507 //׿ж֤ -#define DS_K56Q_F70 10508 //Ͷ) -#define DS_K1T6Q_F70M 10509 //F70ϵʶһ) -#define DS_K1T6Q_F40X 10510 //F40ϵʶһ) -#define DS_K5604A_XXX 10511 //еͶ -#define DS_K1A330X 10512 //Ͷڻ) -#define DS_K1T804A 10513 //ָŽһ -#define DS_K1T202 10514 //ָŽһ -#define DS_K1T343MX 10515 //Žһ) -#define DS_K1T331W_D 10516 //ͶŽһDS-K1T331W(D) -#define DS_K1T671WX_D 10517 //ŽһDS-K1T671M(D) DS-K1T671MW(D) DS-K1T671MG(D) -#define DS_K1T680X 10518 //8.0ŽDS-K1T680M DS-K1T680D -#define DS_K1T640A 10519 //ŽһDS-K1T640AM DS-K1T640AMW -#define DS_K1F600U_D6E_X 10520 //๦ܲɼ(DS-K1F600U-D6E DS-K1F600U-D6E-F DS-K1F600U-D6E-IF) -#define DS_K1T671AMX 10521 //Žһ(DS-K1T671AM DS-K1T671AMW DS-K1T671AM-5G) -#define DS_VISITORXX 10530 //ÿͻ -#define DS_FACE_PAYMENT_TERMINALXX 10531 //ѻ -#define DS_K1T341B_T 10532 //Žһ,ֲ֧£DS-K1T341BMWI-T DS-K1T341BMI-T -#define DS_K1T343 10533 //F1Proƽ̨4.3ŽһDS-K1T343M/MX/MW/MWX/MF/MFX/MFW/MFWX/EX/EWX/EFX/EFWX,D10,D10W/F/FW -#define DS_K1T673 10534 //F1Plusƽ̨7Žһҵ(DS_K1T673M/MG/MW/TMW/TMG/DX/DWX/TDX/TDWX/TDGX) -#define DS_K1T981 10535 //Ĥʶһ -#define DS_K5680X 10536 //K5680ϵ8֤豸 -#define DS_K5022A_X 10537 //5022Aϵа׿ÿͻ -#define DS_K1T342 10538 //F1Proƽ̨4.3ŽһDS-K1T342M/MX/MW/MWX/MF/MFX/MFW/MFWX/EX/EWX/EFWX/DX/DWX,D11,D11S/Pro/Plus -#define DS_K1T690 10539 //DS_K1T690 -#define DS_K1T340 10540 //DS_K1T340 -#define DS_K1T6QT_F72 10541 //F72ϵʶһ) -#define DS_K1T641A 10542 //F1Plusƽ̨4.3Žһl641ϵ -#define DS_K1TACS 10543 //ŽƷֵISAPI¼豸ϢṹwDevTypeֶη -#define DS_K1T6_GS3 10544 //ҵʶһDS-K1T6-GS3ϵ -#define DS_K1T6Q_F41_3XF 10545 //ʶһDS_K1T6Q_F41_3XFϵ -#define DS_K56A1X 10546 //K56A1ϵ֤豸 -#define DS_K1T320MFW 10547 //F2 Proƽ̨2.4糬Ͷ˾Žһ -#define DS_K5033X 10548 //5033ϵа׿ʽÿͻ - -#define DS_K1T681X 10550 //A2Sƽ̨8ŽһDS-K1T681M DS-K1T681MW DS-K1T681MG DS-K1T681M-3Dȣ -#define DS_K5670X 10551 //F2proͶ7繤K5670ϵ -#define DS_K1T670X 10552 //жҵһʽDS-K1T670ϵ - -//ÿͻ1053010601-10650 -#define DS_K3501 10601 //ÿͻK3501ϵ -//ѻ1053110651-10700 -#define DS_K6600X 10651 //K6600ϵ̳ - -//ܹ10701-10750 -#define DS_KL_CABINET 10701 //ܹƷֵISAPI¼豸ϢṹwDevTypeֶη - -//ݿ10751-10800 - -//Աͨ10801-10850 -#define DS_K3B961 10801 //ԱͨƷֵISAPI¼豸ϢṹwDevTypeֶη - -#define DS_KBS6XXX_WX 11001 //DS-KBS6100-WV/DS-KBS6101-W/DS-KBS6100-W/DS-KBS6101-W/DS-KBS6200-W/DS-KBS6201-W -#define DS_KBC6XXX_X 11002 //DS-KBC6300/DS-KBC6600 -#define DS_KBI6000_P 11003 //ѰͲDS-KBI6000-P -#define DS_KBA6XXX 11004 //豸()DS-KBA6120/DS-KBA6240/DS-KBA6360/DS-KBA6650/DS-KBA6400-2/DS-KBA6800-2 - -#define DS_IEXX_E_J 11501 //ܷ - -#define IDS_67XX_NX_A 12501 //67ϵNVSƷ(iDS-6704NX/A) -#define IDS_67XX_NX_L 12502 //67ϵ¼NVSƷ -#define IDS_ENIXX_XHE 12503 //¼NVSҵרҵƷ -#define IDS_67XX_NX_V 12504 //ԼվNVS -#define IDS_67XX_NX_B 12505 //67ϵаȫñNVSƷ - -//豸 -#define DS_IE63XX_E_FA 13001 //׵ -#define DS_DS_GPKIA 13002 //ӥ -#define DS_DS_PURE 13003 //״ -#define DS_DS_FS 13004 //̬ݷ -#define DS_DS_FD 13005 //ץļ -#define DS_DS_BLADE 13006 // -#define DS_DS_HMCP 13007 //ģͶԱȷ - -//豸 -#define DS_LNX_RF 13501 // - -//״豸 13551-14000500 -#define DS_PA_RADAR 13551 //PA״ -#define DS_PERIMETER_RADAR 13552 //ܽ״ -#define DS_SECURITY_RADAR 13553 //120װ״ -#define DS_IMAGING_RADAR_PANEL 13554 //״ - -//豸 14001-14500500 -#define DS_N1104X 14001 // -#define DS_N1103X 14002 //ûϢ豸 -#define NP_FSC201 14003 //ˮ豸 -#define NP_FDC240 14004 //ʽ̽ -#define DS_N1107 14005 // -#define NP_FAXXX 14006 // -#define NP_FVY100 14007 //Ƶ̸ -#define NP_FVW100 14008 // -#define NP_FVG100 14009 // -#define NP_FVY300 14010 //Ƶ̸ -#define NP_FVR212_P 14011 //һ̽ -#define NP_FVR213_P 14012 //һ̽() - -//豸 14501-15000500 -#define NP_ST204_X 14501 //ڶܰ -#define ISD_SG2XXL_X 14502 //(ISD-SG206L ISD-SG218L ISD-SG218L-F) -#define ISD_SL300T 14503 //Һ - -//ģƵ豸 15001-15500500 -#define IPA 15001 -/**********************豸 end***********************/ -/**********************豸 begin**********************/ - -/* dvr 1-50 */ -#define DEV_CLASS_DVR 1 //ͨdvr -#define DEV_CLASS_INTERROGATION 2 //Ѷ -#define DEV_CLASS_SIMPLE_TRAIL 3 //ͥ -#define DEV_CLASS_TRAIL 4 //׼ͥ -#define DEV_CLASS_RECORD_PLAY 5 //¼ -#define DEV_CLASS_ATM 6 //ATM - -/* dvs 51-100 */ -#define DEV_CLASS_DVS 51 //ͨdvs - -/* nvr 101-150 */ -#define DEV_CLASS_NVR 101 //ͨnvr - -/* ipc 151-200 */ -#define DEV_CLASS_GUN 151 //ipcǹ -#define DEV_CLASS_BALL 152 //ipc -#define DEV_CLASS_SNAP 153 //ץĻ -#define DEV_CLASS_INTELLI_TILT 154 //̨ -#define DEV_CLASS_FISH_EYE 155 // -#define DEV_CLASS_2DP_Z 156 //ӥ -#define DEV_CLASS_2DP 157 //Сӥ -#define DEV_CLASS_PT 158 //ȫϸ -#define DEV_CLASS_TRI 159 //Ƶ̶ʽ - -/* CVR 201 - 250*/ -#define DEV_CLASS_CVR 201 //CVR - -/* 251 - 300*/ -#define DEV_CLASS_B20 251 //B20ϵ -#define DEV_CLASS_B10 252 //B10ϵ -#define DEV_CLASS_DECODER 253 // -#define DEV_CLASS_MATRIXMANAGEDEVICE 254 // -#define DEV_CLASS_OTICAL 255 //˻ -#define DEV_CLASS_CODESPITTER 256 // -#define DEV_CLASS_ALARMHOST 257 //ҵ -#define DEV_CLASS_MOVING_RING 258 //豸 -#define DEV_CLASS_CVCS 259 //ʽ -#define DEV_CLASS_DVCS 260 //ֲʽ -#define DEV_CLASS_TRANSCODER 261 //ת -#define DEV_CLASS_LCD_SCREEN 262 //LCDĻ -#define DEV_CLASS_LED_SCREEN 263 //LEDĻ -#define DEV_CLASS_MATRIX 264 // -#define DEV_CLASS_CONFERENCE_SYSTEM 265 //Ƶ豸 -#define DEV_CLASS_INFORMATION_RELEASE_EQUIPMENT 266 //Ϣ豸 -#define DEV_CLASS_NET_GAP 267 //բ -#define DEV_CLASS_MERGE 268 // -#define DEV_CLASS_REAR_PROJECTION 269 //Ͷʾ豸 -#define DEV_CLASS_SWITCH 270 // -#define DEV_CLASS_FIBER_CONVERTER 271 //շ -#define DEV_CLASS_SCREEN_SERVER 272 //Ļ -#define DEV_CLASS_SCE_SERVER 273 //ץ -#define DEV_CLASS_WIRELESS_TRANS 274 //ߴ豸 -#define DEV_CLASS_Y10_SERIES 275 //Y10ϵ -#define DEV_CLASS_SAFETY_MAVHINE 276 //һ -#define DEV_CLASS_IOTGATEWAY 277 // -#define DEV_CLASS_NET_MANAGEMENT_EQUIPMENT 278 //豸 -#define DEV_CLASS_PUBLISH_SIGNAGE 279 //Ӱ -#define DEV_CLASS_AR_MACHINE 280 //ARһ -/* 301 - 350*/ -#define DEV_CLASS_VIDEO_ALARM_HOST 301 //Ƶ -#define DEV_CLASS_NET_ALARM_HOST 302 //籨 -#define DEV_CLASS_ONE_KEY_ALARM 303 //һʽƷ -#define DEV_CLASS_WIRELESS_ALARM_HOST 304 //߱ -#define DEV_CLASS_ALARM_MODULE 305 //ģ -#define DEV_CLASS_HOME_ALARM_HOST 306 //ñ -#define DEV_CLASS_HYBRID_ALARM_HOST 307 //ϱ -#define DEV_CLASS_NETWORK_RECEIVER 308 //ӾƷ - -/* Ž 351 - 400*/ -#define DEV_CLASS_ACCESS_CONTROL 351 //ŽƷ -#define DEV_CLASS_VISITOR 352 //ÿͻƷ -#define DEV_CLASS_FACE_PAYMENT_TERMINALXX 353 //ѻƷ -#define DEV_CLASS_CABINET 354 //ܹ -#define DEV_CLASS_LADDER_CONTROL 355 //ݿ -#define DEV_CLASS_PERSONNEL_CHANNEL 356 //Աͨ - -/* ӶԽ 401 - 450*/ -#define DEV_CLASS_VIDEO_INTERCOM 401 //ӶԽ - -/* ˻ 451 - 500*/ -#define DEV_CLASS_UMMANNED_AERIAL_VEHICLE 451 //˻Ʒ - -/* ƶƷ: 501-550*/ -#define DEV_CLASS_MOBILE 501 //ƶƷ - -/* ƶ豸: 551-600*/ -#define DEV_CLASS_MOBILE_VEHICLE 551 //ƶ豸 - -//ܷǣ601-650 -#define DEV_CLASS_INTELLIGENT_ANALYZER 601 //ܷ - -//ܽͨ651-700 -#define DEV_CLASS_INTELLIGENT_TRAFFIC_SERVER 651 //ܽͨ -#define DS_TP2200_EC 652 //ͻʾ - -/* nvs 701-750 */ -#define DEV_CLASS_NVS 701 //ͨnvs - -/*ԴRFIDϵ 751-800*/ -#define DS_TRI21A_1_P 751 //ԴRFIDȡ - -/* 豸801-850 */ -#define DS_CLASS_FA 801 //׵ -#define DS_CLASS_PURE 802 //״ -#define DS_CLASS_FS 803 //̬ݷ -#define DS_CLASS_FD 804 //ץļ -#define DS_CLASS_HAWK 805 //ӥ -#define DS_CLASS_BLADE 806 // -#define DS_CLASS_HMCP 807 //ģͶԱȷ - -/* 851 - 900*/ -#define DEV_CLASS_SMART_LOCK 851 // - -/* ״ 901 - 950*/ -#define DEV_CLASS_RADAR 901 //״Ʒ - -/* ǻ 951 - 1000*/ -#define DEV_CLASS_FIRE_CONTROL 951 //Ʒ - -/* 1001 - 1050*/ -#define DEV_CLASS_SECURITY_CHECK 1001 //Ʒ - -#define DEV_CLASS_CONFERENCE_TABLET 1051 //ƽ - -#define DEV_CLASS_JUDICIAL_TABLET 1101 //˾ƽ - -/*ȫϸ 8451-8470*/ -#define iDS_PT 8451 //ȫϸ - -/*ӾƷ 9851 - 9900*/ -#define DS_XCM1_IP 9851 //Ӿ - -/* 豸 65534 */ -#define DEV_CLASS_DEFAULT 65534 //Ĭ豸 -/**********************豸 end**********************/ - -/******************************ȡ*********************************/ -//ȡ -#define DEVICE_SOFTHARDWARE_ABILITY 0x001 //豸Ӳ -#define DEVICE_NETWORK_ABILITY 0x002 //豸 -#define DEVICE_ENCODE_ALL_ABILITY 0x003 //豸б -#define DEVICE_ENCODE_CURRENT 0x004 //豸ǰ -#define IPC_FRONT_PARAMETER 0x005 //ipcǰ˲1.0 -#define IPC_UPGRADE_DESCRIPTION 0x006 //ipcϢ -#define DEVICE_RAID_ABILITY 0x007 //RAID -#define DEVICE_ENCODE_ALL_ABILITY_V20 0x008 //豸б2.0 -#define IPC_FRONT_PARAMETER_V20 0x009 //ipcǰ˲2.0 -#define DEVICE_ALARM_ABILITY 0x00a // -#define DEVICE_DYNCHAN_ABILITY 0x00b //豸ͨ -#define DEVICE_USER_ABILITY 0x00c //豸û -#define DEVICE_NETAPP_ABILITY 0x00d //豸Ӧò -#define DEVICE_VIDEOPIC_ABILITY 0x00e //豸ͼ -#define DEVICE_JPEG_CAP_ABILITY 0x00f //豸JPEGץͼ -#define DEVICE_SERIAL_ABILITY 0x010 //RS232RS485 -#define DEVICE_ABILITY_INFO 0x011 //豸ͨͣݷ͵ڵ -#define STREAM_ABILITY 0x012 // -#define SYSTEM_MANAGEMENT_ABILITY 0x013 //豸ϵͳ -#define IP_VIEW_DEV_ABILITY 0x014 //IPӶԽֻ -#define VCA_DEV_ABILITY 0x100 //豸ܷ -#define VCA_CHAN_ABILITY 0x110 //쳣Ϊ -#define TRANSFER_ABILITY 0x120 -#define MATRIXDECODER_ABILITY 0x200 //·ʾ -#define VIDEOPLATFORM_ABILITY 0x210 //Ƶۺƽ̨ -#define VIDEOPLATFORM_SBUCODESYSTEM_ABILITY 0x211 //Ƶۺƽ̨ϵͳ -#define WALL_ABILITY 0x212 //ǽ -#define MATRIX_ABILITY 0x213 //SDI -#define DECODECARD_ABILITY 0x220 //뿨 -#define VIDEOPLATFORM_ABILITY_V40 0x230 //Ƶۺƽ̨ -#define MATRIXMANAGEDEVICE_ABILITY 0x240 // -#define MATRIXDECODER_ABILITY_V41 0x260 // -#define DECODER_ABILITY 0x261 //xml -#define DECODECARD_ABILITY_V41 0x270 //뿨V41 -#define CODECARD_ABILITY 0x271 //뿨 -#define SNAPCAMERA_ABILITY 0x300 //ץĻ -#define ITC_TRIGGER_MODE_ABILITY 0x301 //IPC豸Ĵģʽ -#define COMPRESSIONCFG_ABILITY 0x400 //ȡѹ -#define COMPRESSION_LIMIT 0x401 //ȡѹ -#define PIC_CAPTURE_ABILITY 0x402 //ͼƬֱ -#define ALARMHOST_ABILITY 0x500 //籨 -#define IT_DEVICE_ABILITY 0x501 //ܽͨ -#define SCREENCONTROL_ABILITY 0x600 // -#define SCREENSERVER_ABILITY 0x610 // -#define FISHEYE_ABILITY 0x700 // -#define LCD_SCREEN_ABILITY 0x800 //LCDĻ 2013-10-12 -#define ACS_ABILITY 0x801 //Ž -#define MERGEDEV_ABILITY 0x802 // -#define CAM_FUSION_ABILITY 0x803 //ƴ -#define OPTICAL_DEV_ACCESS_ABILITY 0x805 //˻ -#define NET_RING_ABILITY 0x806 // -#define LED_ABILITY 0x807 //LED -#define PUBLISHDEV_ABILITY 0x80a //Ϣ -#define SCREEN_EXCHANGE_ABILITY 0x80b //Ļ -#define REMOTE_NETMGR_FOT_ABILITY 0x80e //Զշ -/************************************************* -ýṹ(_V30Ϊ9000) -**************************************************/ - -//Ӱ쳣Ϣ -// -#define EXCEPTION_MAJOR_MAINBOARD_BOOT 0x1 // -// -#define EXCEPTION_MINOR_PCIE_SCAN 0x1 // pcie·ɨ쳣 -#define EXCEPTION_MINOR_DOWNLOAD_SUBBOARD 0xa //Ӱ쳣 - -// -#define EXCEPTION_MAJOR_SUBBOARD_BOOT 0x2 //Ӱ -// -#define EXCEPTION_MINOR_INEXISTENCE 0x1 //PCI-EɨǰӰ岻 -#define EXCEPTION_MINOR_UBOOT_DOWNLOAD 0xa // uboot쳣 -#define EXCEPTION_MINOR_UBOOT_INIT 0xe //ubootʼ쳣 -#define EXCEPTION_MINOR_ROOTFS_DOWNLOAD 0x14 //rootfs.img쳣 -#define EXCEPTION_MINOR_UIMAGE_DOWNLOAD 0x19 //uImage쳣 -#define EXCEPTION_MINOR_UBOOT_SETBOOTFLAG 0x1e // uboot־λλ쳣 -#define EXCEPTION_MINOR_ROOTFS_BOOT_SUBBOARD 0x23 // rootfs쳣 -#define EXCEPTION_MINOR_NEED_FILE_FINISH 0x28 //Ӱļ쳣 - -// -#define EXCEPTION_MAJOR_SUBBOARD_HARDWARE 0x3 //ӰӲ -// -#define EXCEPTION_MINOR_AD 0x1 //AD쳣 -#define EXCEPTION_MINOR_DA 0xa // DA쳣 -#define EXCEPTION_MINOR_TIMER 0xb //ʱ쳣 - -// -#define EXCEPTION_MAJOR_FPGA 0x4 //FPGA -// -#define EXCEPTION_MINOR_IDLE 0x1 //޷IDLE -#define EXCEPTION_MINOR_LANE 0xa // LANE OKʧ -#define EXCEPTION_MINOR_REGISTER_ALL_F 0xe //FPGAĴȫF -#define EXCEPTION_MINOR_MEMORY_INIT_FAIL 0x14 //FPGAڴʼʧ -// -#define EXCEPTION_MAJOR_DSP 0x5 //DSP - -// -#define EXCEPTION_MAJOR_ARM 0x6 //ARM - -// -#define EXCEPTION_MAJOR_BACKBOARD 0x7 // -// -#define EXCEPTION_MINOR_BACKBOARD_TYPE 0x1 //ȡ쳣 -#define EXCEPTION_MINOR_SERDES 0xa //ƵоƬ -#define EXCEPTION_MINOR_CLOCK 0xe //ʱӹ -#define EXCEPTION_MINOR_SYNCH 0x14 //ͬźŹ - -// -#define EXCEPTION_MAJOR_SUBBOARD_NET 0x8 //Ӱ -// -#define EXCEPTION_MINOR_IP_CONFLICT 0x1 //IPͻ -#define EXCEPTION_MINOR_DISCONNECT 0x14 // - -//[add]by zengxiaole 2017-09-27 DS-19D2000-S v2.0 -#define MAX_FIRE_ALARM_ZONE 12 // -#define MAX_FIRE_ALARM_POINT_ZONE 32 // - - -typedef enum tagCharEncodeType -{ - ENUM_MEM_CHAR_ENCODE_ERR = -1, //Error - ENUM_MEM_CHAR_ENCODE_NO = 0, //Don't know. - ENUM_MEM_CHAR_ENCODE_CN = 1, //EUC-CN, GB2312 - ENUM_MEM_CHAR_ENCODE_GBK = 2, //GBK - ENUM_MEM_CHAR_ENCODE_BIG5 = 3, //BIG5 - ENUM_MEM_CHAR_ENCODE_JP = 4, //JISX0208-1, EUC-JP - ENUM_MEM_CHAR_ENCODE_KR = 5, //EUC-KR - ENUM_MEM_CHAR_ENCODE_UTF8 = 6, //UTF-8 - ENUM_MEM_CHAR_ENCODE_ISO8859_1 = 7, //ISO-8859-n: ENUM_MEM_CHAR_ENCODE_ISO8859_1 + n -1 - ENUM_MEM_CHAR_ENCODE_UNICODE = 8, //Unicode -}CHAR_ENCODE_TYPE; - - -///////////////////////////////////////////////////////////////////////// -//Уʱṹ -typedef struct -{ - DWORD dwYear; // - DWORD dwMonth; // - DWORD dwDay; // - DWORD dwHour; //ʱ - DWORD dwMinute; // - DWORD dwSecond; // -}NET_DVR_TIME, *LPNET_DVR_TIME; - -typedef struct tagNET_DVR_TIME_V30 -{ - WORD wYear; - BYTE byMonth; - BYTE byDay; - BYTE byHour; - BYTE byMinute; - BYTE bySecond; - BYTE byISO8601; /*Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ */ - WORD wMilliSec; //룬ȲĬΪ0 - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾ, byISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 30, 45+ʾbyISO8601Ϊ1ʱЧ -}NET_DVR_TIME_V30, *LPNET_DVR_TIME_V30; - -typedef struct tagNET_DVR_TIME_SEARCH -{ - WORD wYear; //꣬豸OSDʱ - BYTE byMonth; //£豸OSDʱ - BYTE byDay; //գ豸OSDʱ - BYTE byHour; //ʱ豸OSDʱ - BYTE byMinute; //֣豸OSDʱ - BYTE bySecond; //룬豸OSDʱ - char cTimeDifferenceH; //ʱ׼ʱʱСʱ-12 ... +14 - char cTimeDifferenceM; //ʱ׼ʱʱӣ-30, 0, 30, 45 - BYTE byLocalOrUTC; //0-ʱЧ豸ʱ䣬豸OSDʱ 1-ʱЧ - WORD wMillisecond; //룬ȲĬΪ0 -}NET_DVR_TIME_SEARCH, *LPNET_DVR_TIME_SEARCH; - -typedef struct tagNET_DVR_TIME_SEARCH_COND -{ - WORD wYear; // - BYTE byMonth; // - BYTE byDay; // - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE bySecond; // - BYTE byLocalOrUTC; //0-ʱЧ豸ʱ䣬豸OSDʱ 1-ʱЧ - WORD wMillisecond; //룬ȲĬΪ0 - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾbyLocalOrUTCΪ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 0, 30, 45+ʾbyLocalOrUTCΪ1ʱЧ -}NET_DVR_TIME_SEARCH_COND, *LPNET_DVR_TIME_SEARCH_COND; - - -typedef struct tagNET_DVR_TIME_V50 -{ - WORD wYear; // - BYTE byMonth; // - BYTE byDay; // - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE bySecond; // - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - WORD wMillisecond; //룬ȲĬΪ0 - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾbyISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 0, 30, 45+ʾbyISO8601Ϊ1ʱЧ -}NET_DVR_TIME_V50, *LPNET_DVR_TIME_V50; - - - -typedef struct tagNET_DVR_CALIBRATE_TIME -{ - DWORD dwSize; - NET_DVR_TIME struTime; - WORD wMilliSec; - BYTE byRes[14]; -}NET_DVR_CALIBRATE_TIME,*LPNET_DVR_CALIBRATE_TIME; - -#define MAX_TIMESIGN_LEN 32 //ԶУʱϢ -typedef struct tagNET_DVR_TIMESIGN_CFG -{ - DWORD dwSize; - BYTE byCustomSetTimeSign[MAX_TIMESIGN_LEN/*32*/];//ԶУʱ - BYTE byRes[96]; -}NET_DVR_TIMESIGN_CFG,*LPNET_DVR_TIMESIGN_CFG; - - -typedef struct tagNET_DVR_TIME_EX -{ - WORD wYear; - BYTE byMonth; - BYTE byDay; - BYTE byHour; - BYTE byMinute; - BYTE bySecond; - BYTE byRes; -}NET_DVR_TIME_EX,*LPNET_DVR_TIME_EX; - -//ʱ(ӽṹ) -typedef struct -{ - //ʼʱ - BYTE byStartHour; - BYTE byStartMin; - //ʱ - BYTE byStopHour; - BYTE byStopMin; -}NET_DVR_SCHEDTIME, *LPNET_DVR_SCHEDTIME; - -/*豸쳣ʽ*/ -/*豸쳣ʽ*/ -#define NOACTION 0x0 /*Ӧ*/ -#define WARNONMONITOR 0x1 /*ʾϾ*/ -#define WARNONAUDIOOUT 0x2 /**/ -#define UPTOCENTER 0x4 /*ϴ*/ -#define TRIGGERALARMOUT 0x8 /**/ -#define TRIGGERCATPIC 0x10 /*ץͼϴE-mail*/ -#define SEND_PIC_FTP 0x200 /*ץͼϴftp*/ - -typedef struct tagNET_DVR_STRUCTHEAD -{ - WORD wLength; //ṹ - BYTE byVersion ; /*ߵ4λֱߵͰ汾ݰ汾ͳȽչͬİ汾ijȽ*/ - BYTE byRes; -}NET_DVR_STRUCTHEAD, *LPNET_DVR_STRUCTHEAD; - -typedef struct tagNET_DVR_HANDLEEXCEPTION_V41 -{ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x400: 齻 ۽ģʽṩԭ豸ԶɣIPC5.1.0*/ - /*0x800: PTZ(Ŀ)*/ - /*0x4000:׹Ʊ*/ - /*0x10000:ű*/ - /*0x20000:ָʾƱ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; //ͨ - BYTE byRes[64]; // -}NET_DVR_HANDLEEXCEPTION_V41, *LPNET_DVR_HANDLEEXCEPTION_V41; - -typedef struct tagNET_DVR_HANDLEEXCEPTION_V40 -{ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x80: ¼(ĿǰֻPCNVR֧) */ - /*0x100: ̨Ԥõ (ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x400: 齻 ۽ģʽṩԭ豸ԶɣIPC5.1.0*/ - /*0x800: PTZ(Ŀ)*/ - /*0x1000:ץͼϴ*/ - /*0x2000:ű*/ - /*0x4000:׹Ʊ*/ - /*0x8000:*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOutChanNum; //ıͨ ʵ֧ - DWORD dwRelAlarmOut[MAX_CHANNUM_V30]; //ͨ - BYTE byWhiteLightDurationTime;//׹˸ʱ1~60s(˰׹ƱʱЧ) - BYTE byBrightness;//׹ȣΧ0-100Ĭ50 - BYTE byAudioType;// - BYTE byTimes;//Χ0-9Ĭ2, 0xff- - BYTE byRes[60]; // -}NET_DVR_HANDLEEXCEPTION_V40, *LPNET_DVR_HANDLEEXCEPTION_V40; - -//쳣ṹ(ӽṹ)(ദʹ)(9000չ) -typedef struct -{ - DWORD dwHandleType; /*ʽ,ʽ""*/ - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x2000:ű*/ - BYTE byRelAlarmOut[MAX_ALARMOUT_V30]; - //ͨ,,Ϊ1ʾ -}NET_DVR_HANDLEEXCEPTION_V30, *LPNET_DVR_HANDLEEXCEPTION_V30; - -//쳣ṹ(ӽṹ)(ദʹ) -typedef struct -{ - DWORD dwHandleType; /*ʽ,ʽ""*/ - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JpegץͼϴEMail*/ - BYTE byRelAlarmOut[MAX_ALARMOUT]; //ͨ,,Ϊ1ʾ -}NET_DVR_HANDLEEXCEPTION, *LPNET_DVR_HANDLEEXCEPTION; - -//DVR豸 -typedef struct -{ - DWORD dwSize; - BYTE sDVRName[NAME_LEN]; //DVR - DWORD dwDVRID; //DVR ID,ң //V1.4(0-99), V1.5(0-255) - DWORD dwRecycleRecord; //Ƿѭ¼,0:; 1: - //²ɸ - BYTE sSerialNumber[SERIALNO_LEN]; //к - DWORD dwSoftwareVersion; //汾,16λ汾,16λǴΰ汾 - DWORD dwSoftwareBuildDate; //,0xYYYYMMDD - DWORD dwDSPSoftwareVersion; //DSP汾,16λ汾,16λǴΰ汾 - DWORD dwDSPSoftwareBuildDate; // DSP,0xYYYYMMDD - DWORD dwPanelVersion; // ǰ汾,16λ汾,16λǴΰ汾 - DWORD dwHardwareVersion; // Ӳ汾,16λ汾,16λǴΰ汾 - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byRS232Num; //DVR 232ڸ - BYTE byRS485Num; //DVR 485ڸ - BYTE byNetworkPortNum; //ڸ - BYTE byDiskCtrlNum; //DVR Ӳ̿ - BYTE byDiskNum; //DVR Ӳ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byDecordChans; //DVR · - BYTE byVGANum; //VGAڵĸ - BYTE byUSBNum; //USBڵĸ - BYTE byAuxoutNum; //ڵĸ - BYTE byAudioNum; //ڵĸ - BYTE byIPChanNum; //ͨ -}NET_DVR_DEVICECFG, *LPNET_DVR_DEVICECFG; - -/* -IPַ -*/ -typedef struct -{ - char sIpV4[16]; /* IPv4ַ */ - BYTE byIPv6[128]; /* */ -}NET_DVR_IPADDR, *LPNET_DVR_IPADDR; - -typedef union tagNET_DVR_IPADDR_UNION -{ - char szIPv4[16]; //IPv4ַ - char szIPv6[256]; //IPv6ַ -}NET_DVR_IPADDR_UNION, *LPNET_DVR_IPADDR_UNION; - -typedef struct tagNET_DVR_ADDRESS -{ - NET_DVR_IPADDR struIP; //IPַ - WORD wPort; //˿ں - BYTE byRes[2]; -}NET_DVR_ADDRESS, *LPNET_DVR_ADDRESS; - -/* -ݽṹ(ӽṹ)(9000չ) -*/ -typedef struct -{ - NET_DVR_IPADDR struDVRIP; //DVR IPַ - NET_DVR_IPADDR struDVRIPMask; //DVR IPַ - DWORD dwNetInterface; //ӿ1-10MBase-T 2-10MBase-Tȫ˫ 3-100MBase-TX 4-100Mȫ˫ 5-10M/100MӦ - WORD wDVRPort; //˿ں - WORD wMTU; //MTUãĬ1500 - BYTE byMACAddr[MACADDR_LEN]; // ַ - BYTE byEthernetPortNo; //ںţ0-Ч1-02-1Դƣֻ - BYTE byRes[1]; // -}NET_DVR_ETHERNET_V30, *LPNET_DVR_ETHERNET_V30; - -/* -ݽṹ(ӽṹ) -*/ -typedef struct -{ - char sDVRIP[16]; //DVR IPַ - char sDVRIPMask[16]; //DVR IPַ - DWORD dwNetInterface; //ӿ 1-10MBase-T 2-10MBase-Tȫ˫ 3-100MBase-TX 4-100Mȫ˫ 5-10M/100MӦ - WORD wDVRPort; //˿ں - BYTE byMACAddr[MACADDR_LEN]; //ַ -}NET_DVR_ETHERNET; - -//pppoeṹ -typedef struct -{ - DWORD dwPPPOE; //0-,1- - BYTE sPPPoEUser[NAME_LEN]; //PPPoEû - char sPPPoEPassword[PASSWD_LEN]; // PPPoE - NET_DVR_IPADDR struPPPoEIP; //PPPoE IPַ -}NET_DVR_PPPOECFG, *LPNET_DVR_PPPOECFG; - -//ýṹ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_ETHERNET_V30 struEtherNet[MAX_ETHERNET]; //̫ - NET_DVR_IPADDR struRes1[2]; /**/ - NET_DVR_IPADDR struAlarmHostIpAddr; /* IPַ */ - BYTE byRes2[4]; /* */ - WORD wAlarmHostIpPort; /* ˿ں */ - BYTE byUseDhcp; /* ǷDHCP 0xff-Ч 0- 1-*/ - BYTE byIPv6Mode; //IPv6䷽ʽ0-·ɹ棬1-ֶã2-DHCP - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ - BYTE byIpResolver[MAX_DOMAIN_NAME]; /* IPIPַ */ - WORD wIpResolverPort; /* IP˿ں */ - WORD wHttpPortNo; /* HTTP˿ں */ - NET_DVR_IPADDR struMulticastIpAddr; /* ಥַ */ - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - NET_DVR_PPPOECFG struPPPoE; - BYTE byEnablePrivateMulticastDiscovery; //˽жಥ0~Ĭϣ1~ã2- - BYTE byEnableOnvifMulticastDiscovery; //Onvifಥ0~Ĭϣ1~ã2- - BYTE byEnableDNS; //DNSԶʹ, 0-1-򿪣2-ر - BYTE byRes[61]; -} NET_DVR_NETCFG_V30, *LPNET_DVR_NETCFG_V30; - -//ṹ -typedef struct -{ - NET_DVR_IPADDR struDVRIP; //DVR IPַ - NET_DVR_IPADDR struDVRIPMask; //DVR IPַ - DWORD dwNetInterface; //ӿ1-10MBase-T 2-10MBase-Tȫ˫ 3-100MBase-TX 4-100Mȫ˫ 5-10M/100M/1000MӦ - BYTE byCardType; //ͣ0-ͨ1-2- - BYTE byEnableDNS; //DNSǷԶʹܣ0-1-, 0-ر - WORD wMTU; //MTUãĬ1500 - BYTE byMACAddr[MACADDR_LEN]; //ַֻʾ - BYTE byEthernetPortNo; //ںţ0-Ч1-02-1Դƣֻ - BYTE bySilkScreen; //˿ӡϢ0-Ч1-GE12-GE23-G14-G2ֻ - BYTE byUseDhcp; /* ǷDHCP */ - BYTE byRes3[3]; - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ -}NET_DVR_ETHERNET_MULTI, *LPNET_DVR_ETHERNET_MULTI; - -//ýṹ -typedef struct -{ - DWORD dwSize; - BYTE byDefaultRoute; //Ĭ·ɣ0ʾstruEtherNet[0]1ʾstruEtherNet[1] - BYTE byNetworkCardNum; //豸ʵʿõĿ - BYTE byWorkMode; //0-ͨģʽ1-ģʽ - BYTE byRes; // - NET_DVR_ETHERNET_MULTI struEtherNet[MAX_NETWORK_CARD]; //̫ - NET_DVR_IPADDR struManageHost1IpAddr; /* IPַ */ - NET_DVR_IPADDR struManageHost2IpAddr; /* IPַ */ - NET_DVR_IPADDR struAlarmHostIpAddr; /* IPַ */ - WORD wManageHost1Port; /* ˿ں */ - WORD wManageHost2Port; /* ˿ں */ - WORD wAlarmHostIpPort; /* ˿ں */ - BYTE byIpResolver[MAX_DOMAIN_NAME]; /* IPIPַ */ - WORD wIpResolverPort; /* IP˿ں */ - WORD wDvrPort; //ͨѶ˿ Ĭ8000 - WORD wHttpPortNo; /* HTTP˿ں */ - WORD wDvrPort2; //ͨѶ˿2 - BYTE byRes2[4]; - NET_DVR_IPADDR struMulticastIpAddr; /* ಥַ */ - NET_DVR_PPPOECFG struPPPoE; - BYTE byRes3[24]; -}NET_DVR_NETCFG_MULTI, *LPNET_DVR_NETCFG_MULTI; - -//ýṹ -typedef struct -{ - DWORD dwSize; - NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET]; /* ̫ */ - char sManageHostIP[16]; //Զַ̹ - WORD wManageHostPort; //Զ̹˿ں - char sIPServerIP[16]; //IPServerַ - char sMultiCastIP[16]; //ಥַ - char sGatewayIP[16]; //صַ - char sNFSIP[16]; //NFSIPַ - BYTE sNFSDirectory[PATHNAME_LEN];//NFSĿ¼ - DWORD dwPPPOE; //0-,1- - BYTE sPPPoEUser[NAME_LEN]; //PPPoEû - char sPPPoEPassword[PASSWD_LEN];// PPPoE - char sPPPoEIP[16]; //PPPoE IPַ(ֻ) - WORD wHttpPort; //HTTP˿ں -}NET_DVR_NETCFG, *LPNET_DVR_NETCFG; - -//ýṹ(V50) -typedef struct tagNET_DVR_NETCFG_V50 -{ - DWORD dwSize; - NET_DVR_ETHERNET_V30 struEtherNet[MAX_ETHERNET]; //̫ - NET_DVR_IPADDR struRes1[2]; /**/ - NET_DVR_IPADDR struAlarmHostIpAddr; /* IPַ */ - BYTE byRes2[4]; /* */ - WORD wAlarmHostIpPort; /* ˿ں */ - BYTE byUseDhcp; /* ǷDHCP 0xff-Ч 0- 1-*/ - BYTE byIPv6Mode; //IPv6䷽ʽ0-·ɹ棬1-ֶã2-DHCP - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ - BYTE byIpResolver[MAX_DOMAIN_NAME]; /* IPIPַ */ - WORD wIpResolverPort; /* IP˿ں */ - WORD wHttpPortNo; /* HTTP˿ں */ - NET_DVR_IPADDR struMulticastIpAddr; /* ಥַ */ - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - NET_DVR_PPPOECFG struPPPoE; - BYTE byEnablePrivateMulticastDiscovery; //˽жಥ0~Ĭϣ1~ã2- - BYTE byEnableOnvifMulticastDiscovery; //Onvifಥ0~Ĭϣ1~ã2- - WORD wAlarmHost2IpPort; /* 2˿ں */ - NET_DVR_IPADDR struAlarmHost2IpAddr; /* 2 IPַ */ - BYTE byEnableDNS; //DNSʹ, 0-رգ1- - BYTE byRes[599]; -}NET_DVR_NETCFG_V50, *LPNET_DVR_NETCFG_V50; - -//sip -typedef struct tagNET_DVR_SIP_CFG -{ - DWORD dwSize; - BYTE byEnableAutoLogin; //ʹԶעᣬ0-ʹܣ1-ʹ - BYTE byLoginStatus; //ע״̬0-δעᣬ1-עᣬ˲ֻܻȡ - BYTE byRes1[2]; - NET_DVR_IPADDR stuServerIP; //SIPIP - WORD wServerPort; //SIP˿ - BYTE byRes2[2]; - BYTE byUserName[NAME_LEN]; //עû - BYTE byPassWord[PASSWD_LEN]; //ע - BYTE byLocalNo[MAX_NUMBER_LEN]; - BYTE byDispalyName[MAX_NAME_LEN]; //豸ʾ - WORD wLocalPort; //ض˿ - BYTE byLoginCycle; //עڣ1-99 - BYTE byType;//0-IP/IPV6,1- - BYTE byDomainName[MAX_DOMAIN_NAME]; // - BYTE byRes[64]; -}NET_DVR_SIP_CFG, *LPNET_DVR_SIP_CFG; - -typedef struct tagNET_DVR_SIP_CFG_V50 -{ - DWORD dwSize; - BYTE byEnableAutoLogin; //ʹԶעᣬ0-ʹܣ1-ʹ - BYTE byLoginStatus; //ע״̬0-δעᣬ1-עᣬ˲ֻܻȡ - BYTE byRes1[2]; - NET_DVR_IPADDR stuServerIP; //SIPIP - WORD wServerPort; //SIP˿ - BYTE byRes2[2]; - BYTE byUserName[NAME_LEN]; //עû - BYTE byPassWord[PASSWD_LEN]; //ע - BYTE byLocalNo[MAX_NUMBER_LEN]; - BYTE byDispalyName[MAX_NAME_LEN]; //豸ʾ - WORD wLocalPort; //ض˿ - BYTE byLoginCycle; //עڣ1-99 - BYTE byRes3; - BYTE bySIPServerDomain[MAX_DOMAIN_NAME]; //sipIPֻҪһֵʱIPȣ - NET_DVR_IPADDR stuSTUNServerIP; // STUNIP - BYTE bySTUNServerDomain[MAX_DOMAIN_NAME]; //STUN IPֻҪһֵʱIPȣ - WORD wSTUNServerPort; // STUN˿ - BYTE byRes4[2]; - NET_DVR_IPADDR stuProxyServerIP; //IP - BYTE byProxyServerDomain[MAX_DOMAIN_NAME]; // IPֻҪһֵʱIPȣ - WORD wProxyServerPort; // ˿ - BYTE byNetWork; //ʾͣ0-Ч1-1 2-23- - BYTE byRes5; - BYTE byCalledTargetName[NET_SDK_MAX_CALLEDTARGET_NAME]; - BYTE byRes[224]; -}NET_DVR_SIP_CFG_V50, *LPNET_DVR_SIP_CFG_V50; - -//IPӶԽֻ -typedef struct tagNET_DVR_IP_VIEW_DEVCFG -{ - DWORD dwSize; - BYTE byDefaultRing; //ĬΧ1-6 - BYTE byRingVolume; //Χ0-9 - BYTE byInputVolume; //ֵΧ0-6 - BYTE byOutputVolume; //ֵΧ0-9 - WORD wRtpPort; //Rtp˿ - BYTE byRes1[2]; - DWORD dwPreviewDelayTime; //Ԥʱã0-30 - BYTE byRes2[64]; -}NET_DVR_IP_VIEW_DEVCFG,*LPNET_DVR_IP_VIEW_DEVCFG; - -//IpӶԽƵز -typedef struct tagNET_DVR_IP_VIEW_AUDIO_CFG -{ - DWORD dwSize; - BYTE byAudioEncPri1; //Ƶȼ10-G7221-G711_U2-G711_A 5-MPEG2,6-G7267-AAC - BYTE byAudioEncPri2; //Ƶȼ2sip֧Ƶ1ʱʹƵ20-G7221-G711_U2-G711_A 5-MPEG2,6-G7267-AAC - WORD wAudioPacketLen1; //Ƶ1ݰ - WORD wAudioPacketLen2; //Ƶ2ݰ - BYTE byRes[30]; -}NET_DVR_IP_VIEW_AUDIO_CFG,*LPNET_DVR_IP_VIEW_AUDIO_CFG; - -//IPֻжԽýṹ -typedef struct tagNET_DVR_IP_VIEW_CALL_CFG -{ - DWORD dwSize ; - BYTE byEnableAutoResponse; //ʹԶӦ,0-ʹܣ1-ʹ - BYTE byAudoResponseTime; //ԶӦʱ䣬0-30 - BYTE byRes1[2]; - BYTE byEnableAlarmNumber1; //10-1- - BYTE byRes2[3]; - BYTE byAlarmNumber1[MAX_NUMBER_LEN]; //к1 - BYTE byEnableAlarmNumber2; //20-1- - BYTE byRes3[3]; - BYTE byAlarmNumber2[MAX_NUMBER_LEN]; //к2к1ʧ᳢ܻԺк2 - BYTE byRes4[72]; -}NET_DVR_IP_VIEW_CALL_CFG,*LPNET_DVR_IP_VIEW_CALL_CFG; - -//ͨͼṹ -//ƶ(ӽṹ)(鷽ʽչ) -typedef struct -{ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwCurRecordChanNum; //ǰʵõĹ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; /* ʵʴ¼ֵͨʾ,ýУ±0 - MAX_CHANNUM_V30-1Чм0xffffffff,Ч*/ - BYTE byRes[64]; // -}NET_DVR_RECORDCHAN, *LPNET_DVR_RECORDCHAN; - -//ƶ(ӽṹ)(9000չ) -typedef struct -{ - BYTE byMotionScope[64][96]; /*,0-96λ,ʾ64,96*64С,Ϊ1ʾƶ,0-ʾ*/ - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,oxffر*/ - BYTE byEnableHandleMotion; /* Ƿƶ 0 1*/ - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - char reservedData; - NET_DVR_HANDLEEXCEPTION_V30 struMotionHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; /* ¼ͨ*/ -}NET_DVR_MOTION_V30, *LPNET_DVR_MOTION_V30; - -//ƶ(ӽṹ) -typedef struct -{ - BYTE byMotionScope[18][22]; /*,22*18С,Ϊ1ʾĺƶ,0-ʾ*/ - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffر*/ - BYTE byEnableHandleMotion; /* Ƿƶ */ - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - char reservedData; - NET_DVR_HANDLEEXCEPTION strMotionHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM]; //¼ͨ,Ϊ1ʾͨ -}NET_DVR_MOTION, *LPNET_DVR_MOTION; - -//ڵ(ӽṹ)(9000չ) С704*576 -typedef struct -{ - DWORD dwEnableHideAlarm; /* Ƿڵ ,0-,1- 2- 3-*/ - WORD wHideAlarmAreaTopLeftX; /* ڵx */ - WORD wHideAlarmAreaTopLeftY; /* ڵy */ - WORD wHideAlarmAreaWidth; /* ڵĿ */ - WORD wHideAlarmAreaHeight; /*ڵĸ*/ - NET_DVR_HANDLEEXCEPTION_V30 strHideAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ -}NET_DVR_HIDEALARM_V30, *LPNET_DVR_HIDEALARM_V30; -//ڵ(ӽṹ) С704*576 -typedef struct -{ - DWORD dwEnableHideAlarm; /* Ƿڵ ,0-,1- 2- 3-*/ - WORD wHideAlarmAreaTopLeftX; /* ڵx */ - WORD wHideAlarmAreaTopLeftY; /* ڵy */ - WORD wHideAlarmAreaWidth; /* ڵĿ */ - WORD wHideAlarmAreaHeight; /*ڵĸ*/ - NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ -}NET_DVR_HIDEALARM, *LPNET_DVR_HIDEALARM; - -//źŶʧ(ӽṹ)(9000չ) -typedef struct -{ - BYTE byEnableHandleVILost; /* ǷźŶʧ */ - NET_DVR_HANDLEEXCEPTION_V30 strVILostHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ -}NET_DVR_VILOST_V30, *LPNET_DVR_VILOST_V30; - -//źŶʧ(ӽṹ) -typedef struct -{ - BYTE byEnableHandleVILost; /* ǷźŶʧ */ - NET_DVR_HANDLEEXCEPTION strVILostHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ -}NET_DVR_VILOST, *LPNET_DVR_VILOST; - -//ڵ(ӽṹ) -typedef struct -{ - WORD wHideAreaTopLeftX; /* ڵx */ - WORD wHideAreaTopLeftY; /* ڵy */ - WORD wHideAreaWidth; /* ڵĿ */ - WORD wHideAreaHeight; /*ڵĸ*/ -}NET_DVR_SHELTER, *LPNET_DVR_SHELTER; - -typedef struct -{ - BYTE byBrightness; /*,0-255*/ - BYTE byContrast; /*Աȶ,0-255*/ - BYTE bySaturation; /*Ͷ,0-255*/ - BYTE byHue; /*ɫ,0-255*/ -}NET_DVR_COLOR, *LPNET_DVR_COLOR; - -typedef struct -{ - BYTE byRed; //RGBɫеĺɫ - BYTE byGreen; //RGBɫеɫ - BYTE byBlue; //RGBɫеɫ - BYTE byRes; // -}NET_DVR_RGB_COLOR, *LPNET_DVR_RGB_COLOR; - -//ֵһ,ֵΪǰİٷֱȴС, ΪСλ -//ṹ -typedef struct tagNET_VCA_POINT -{ - float fX; // X, 0.000~1 - float fY; //Y, 0.000~1 -}NET_VCA_POINT, *LPNET_VCA_POINT; - -//ͨͼṹ(9000չ) -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL*/ - BYTE byReservedData[64];/**/ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ С704*576 - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //ƵźŶʧ - NET_DVR_VILOST_V30 struVILost; - NET_DVR_VILOST_V30 struRes; /**/ - // BYTE byRes1[328]; - //ƶ - NET_DVR_MOTION_V30 struMotion; - //ڵ - NET_DVR_HIDEALARM_V30 struHideAlarm; - //ڵ С704*576 - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ С704*576 - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 1: ͸,˸ */ - /* 2: ͸,˸ */ - /* 3: ˸,͸ */ - /* 4: ͸,˸ */ - BYTE byHourOSDType; /* OSDСʱ:0-24Сʱ,1-12Сʱ */ - BYTE byFontSize;//С16*16()/8*16(Ӣ)1-32*32()/16*32(Ӣ)2-64*64()/32*64(Ӣ) 3-48*48()/24*48(Ӣ) 4-24*24()/12*24(Ӣ) 5-96*96()/48*96(Ӣ) 6-128*128()/64*128(Ӣ) 7-80*80()/40*80(Ӣ) 8-112*112()/56*112(Ӣ) 0xff-Ӧ(adaptive) - BYTE byOSDColorType; //0-Ĭϣڰף1-Զ壻2- - /*뷽ʽѡģʽʱԷֱ½ǡ½ַӡ - ½ - ֧6ַӣͨNET_DVR_SET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ05±ֵַķʽΪµϵķʽ - ½ - ֧2ַӣͨNET_DVR_SET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ6͵7±ֵַķʽΪµϵķʽ - */ - BYTE byAlignment;//뷽ʽ 0-Ӧ1-Ҷ, 2-,3-ģʽ, 4-ȫҶ(ַʱԼOSDַ)5-ȫ(ַʱԼOSDַ) - BYTE byOSDMilliSecondEnable;//Ƶʱֺ֧룻0~, 1- - NET_DVR_RGB_COLOR struOsdColor;//OSDɫ - DWORD dwBoundary; //ֵ߽룬ҶԼģʽıֵ߽0-ʾĬֵλ - NET_DVR_RGB_COLOR struOsdBkColor; //ԶOSDɫ - BYTE byOSDBkColorMode; //OSDɫģʽ0-Ĭϣ1-ԶOSDɫ - BYTE byUpDownBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2, ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byLeftRightBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2, ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byAngleEnabled;//OSDǷӸϢ,0~, 1- - WORD wTiltAngleTopLeftX; /* Ϣʾλõx */ - WORD wTiltAngleTopLeftY; /* Ϣʾλõy */ - BYTE byRes[40]; -}NET_DVR_PICCFG_V30, *LPNET_DVR_PICCFG_V30; - -//ͨͼṹSDK_V14չ -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL*/ - BYTE byBrightness; /*,0-255*/ - BYTE byContrast; /*Աȶ,0-255*/ - BYTE bySaturation; /*Ͷ,0-255 */ - BYTE byHue; /*ɫ,0-255*/ - //ʾͨ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ С704*576 - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //źŶʧ - NET_DVR_VILOST struVILost; - //ƶ - NET_DVR_MOTION struMotion; - //ڵ - NET_DVR_HIDEALARM struHideAlarm; - //ڵ С704*576 - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ С704*576 - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 1: ͸,˸ */ - /* 2: ͸,˸ */ - /* 3: ˸,͸ */ - /* 4: ͸,˸ */ - BYTE byHourOsdType; /* OSDСʱ:0-24Сʱ,1-12Сʱ */ -}NET_DVR_PICCFG_EX, *LPNET_DVR_PICCFG_EX; - -//ͨͼṹ(SDK_V13֮ǰ汾) -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL*/ - BYTE byBrightness; /*,0-255*/ - BYTE byContrast; /*Աȶ,0-255*/ - BYTE bySaturation; /*Ͷ,0-255 */ - BYTE byHue; /*ɫ,0-255*/ - //ʾͨ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ С704*576 - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //źŶʧ - NET_DVR_VILOST struVILost; - //ƶ - NET_DVR_MOTION struMotion; - //ڵ - NET_DVR_HIDEALARM struHideAlarm; - //ڵ С704*576 - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - WORD wHideAreaTopLeftX; /* ڵx */ - WORD wHideAreaTopLeftY; /* ڵy */ - WORD wHideAreaWidth; /* ڵĿ */ - WORD wHideAreaHeight; /*ڵĸ*/ - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ С704*576 - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 1: ͸,˸ */ - /* 2: ͸,˸ */ - /* 3: ˸,͸ */ - /* 4: ͸,˸ */ - char reservedData2; -}NET_DVR_PICCFG, *LPNET_DVR_PICCFG; - -typedef enum _BITRATE_ENCODE_INDEX_ -{ - BITRATE_ENCODE_def = 0, - BITRATE_ENCODE_8kps = 1, - BITRATE_ENCODE_16kps = 2, - BITRATE_ENCODE_32kps = 3, - BITRATE_ENCODE_64kps = 4, - BITRATE_ENCODE_128kps = 5, - BITRATE_ENCODE_192kps = 6, - BITRATE_ENCODE_40kps = 7, - BITRATE_ENCODE_48kps = 8, - BITRATE_ENCODE_56kps = 9, - BITRATE_ENCODE_80kps = 10, - BITRATE_ENCODE_96kps = 11, - BITRATE_ENCODE_112kps = 12, - BITRATE_ENCODE_144kps = 13, - BITRATE_ENCODE_160kps = 14, - BITRATE_ENCODE_224kps = 15, - BITRATE_ENCODE_256kps = 16, - BITRATE_ENCODE_320kps = 17 -}BITRATE_ENCODE_INDEX; - -//ѹ(ӽṹ)(9000չ) -typedef struct -{ - BYTE byStreamType; // 0-Ƶ, 1-, ʾ¼ѹʱλʾǷѹ - /*ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, - 4-2CIF 5, 6-QVGA(320*240), 7-QQVGA(160*120), - 12-384*288 13-576*576, - 16-VGA640*480, 17-UXGA1600*1200, 18-SVGA(800*600), 19-HD720p(1280*720, - 20-XVGA, 21-HD900p, 22-1360*1024, 23-1536*1536, - 24-1920*1920, 27-HD1080i, - 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048, - 32-2448*1200, 33-2448*800, 34-XGA1024*768 35-SXGA1280*1024, - 36-WD1(960*576/960*480), 37-1080i, 38-WSXGA(1440*900), 39-HD_F(1920*1080/1280*720), - 40-HD_H(1920*540/1280*360), 41-HD_Q(960*540/630*360), 42-2336*1744, 43-1920*1456, - 44-2592*2048, 45-3296*2472, 46-1376*768, 47-1366*768, - 48-1360*768, 49-WSXGA+, 50-720*720, 51-1280*1280, - 52-2048*768, 53-2048*2048, 54-2560*2048, 55-3072*2048, - 56-2304*1296 57-WXGA(1280*800), 58-1600*600, 59-1600*900, - 60-2752*2208, 61-, 62-4000*3000, 63-4096*2160, - 64-3840*2160, 65-4000*2250, 66-3072*1728, 67-2592*1944, - 68-2464*1520, 69-1280*1920, 70-2560*1440, 71-1024*1024, - 72-160*128, 73-324*240, 74-324*256, 75-336*256, - 76-640*512, 77-2720*2048, 78-384*256, 79-384*216, - 80-320*256, 81-320*180, 82-320*192, 83-512*384, - 84-325*256, 85-256*192, 86-640*360, 87-1776x1340, - 88-1936x1092, 89-2080x784, 90-2144x604, 91-1920*1200, - 92-4064*3040, 93-3040*3040, 94-3072*2304, 95-3072*1152, - 96-2560*2560, 97-2688*1536, 98-2688*1520, 99-3072*3072, - 100-3392*2008, 101-4000*3080, 102-960*720, 103-1024*1536, - 104-704*1056, 105-352*528, 106-2048*1530, 107-2560*1600, - 108-2800*2100, 109-4088*4088, 110-4000*3072, 111-960*1080(1080p Lite) - 112-640*720(half 720p), 113-640*960, 114-320*480, 115-3840*2400, - 116-3840*1680, 117-2560*1120, 118-704*320, 119-1200*1920, - 120-480*768, 121-768*480, 122-320*512, 123-512*320, - 124-4096*1800, 125-1280*560, 126-2400*3840, 127-480*272, - 128-512*272, 129-2592*2592, 130-1792*2880, 131-1600*2560, - 132-2720*1192, 133-3MP(1920*1536/2048*1536) 134-5MP(2560*1944) - 135-2560*960, 136-2064*1544 137-4096*1200, - 138-3840*1080 139-2720*800 140-512*232 141-704*200, - 142-512*152, 143-2048*896 144-2048*600 145-1280*376, - 146-2592*1520, 147-2592*1536, 148-3072*8192, 149-768*2048, - 150-8208*3072, 151-4096*1536, 152-6912*2800, 153-3456*1400 - 154-480*720, 155-800*450, 156-480*270, 157-2560*1536, - 160-3264*2448, 161-288*320, 162-144*176, 163-480*640, - 164-240*320, 165-120*160, 166-576*720, 167-720*1280, - 168-576*960, 169-2944*1656, 170-432*240, 171-2160*3840, - 172-1080*1920, 173-7008*1080, 174-3504*540, 175-1752*270, - 176-876*135, 177-4096*1440, 178-4096*1080, 179-1536*864, - 180-180*240, 181-360*480, 182-540*720, 183-720*960, - 184-960*1280, 185-1080*1440, - 186-3200*1800, 187-1752*272, 188-872*136, 189-1280*1440, - 190-3520*544, 191-1728*256, 192-864*128, 193-5470*3684, - 194-2560*750, 195-1600*480, 196-1024*300, 197-848*480, - 198-8160*3616, 199-8160*2304, 200-4064*2560, 201-1400*1050, - 202-2688*1512, 203-704*288, 204-1560*656, 205-3072*1280, - 206-4320*1808, 207-6120*2560, 208-1280*960, 209-3000*3000, - 210-2032*3616, 211-7680*4320, 212-5760*3240, 213-3264*1836, - 214-2712*1536, 215-1080*720(ռλδ), 216-360x640(ռλδ),217-1440*812, - 218-8160*2416, 219-5760*1712, 220-4080*1200, 221-6144*2560, - 222-1568*656, 223-4096*1808, 224-2720*1200, 225-2896*848 - 226-2048*608 227-3840*1120 228-2720*784 229-1920*560, - 230-1360*400 231-704*208 232-496*144 233-352*128, - 234-512*240 235-512*160 236-368*128 237-256*128 - 238-2048*592 239-1456*416 240-1024*304 241-1280*368 - 242-912*256 243-640*192 244-252*112 δʹã 245-(576*704[P]/480*704[N]) - - 254-ʾֶηΧʹNET_DVR_MULTI_STREAM_COMPRESSIONCFGеdwResolutionʾֱ - 0xff-Auto(ʹõǰֱ) - 256-3888*1696 257-2784*1200 258-496*224 259-352*160 - 260-912*400 261-640*288 262-1456*640 263-1024*448 - 264-2896*1280 265-2544*1080 266-2736*768 267-1920*544 - 268-3840*1696 269-2880*848 270-5424*2400 271-5520*1600 - 272-848*376 273-912*272 274-1360*600 275-1456*432 - 276-2736*1200 277-5760*1696 278-8160*2400 279-5520*2400 - 280-4608*2592 281-4944*3280 282-6016*4008 283-720*480 - 284-3200*2400 285-2784*800 286-1968*848 287-1392*608 - 288-2736*1184 289-1920*848 290-2560*2880 291-1944*1212 - 292-1920*2400 293-384*384 294-768*768 295-4800*2688 - 296-6480*1080 297-8640*1440 298-4800*800 299-6720*1200 - 300-3600*600 301-4800*840 302-2400*400 303-3072*540 - 304-1440*810 305-1920*320 306-2688*480 307-1440*240 - 308-4800*1792 309-3360*1264 310-2304*880 311-3840*1440 - 312-2688*1008 313-1824*704 314-1248*496 315-1920*720 - 316-1344*496 317-912*336 318-1280*480 319-864*336 - 320-576*224 321-2704*1008 322-1904*704 323-1808*672 - 324-1264*464 325-944*336 326-2400*1344 327-2032*1440 - 328-4064*1792 329-304*112 330-960*360 331-672*240 - 332-464*160 333-896*336 334-624*224 335-640*240 - 336-448*160 337-4976*1452 338-1968*560 339-2736*784 - 340-3888*1136 341-6120*1800 342-4320*1280 343-3056*896 - 344-1776*528 345-1392*400 346-7256*1520 347-512*288 - 348-1936*1210 349-640*400 350-2688*1792 351-2464*2056 - 352-2720*1600 353-4800*1600 354-3600*1200 355-δ - 356-2400*800 357-1200*400 358-4096*3008 359-7680*4096 - 360-1080*1520 361-6656*3744 362-5120*1400 363-2560*704 - 364-2688*3040 365-1280*352 366-3376*1008 367-1688*504 - 368-5120*1440 369-1920*2160 370-4080*1808 371-4080*1152 - 372-2688*3888 373-3840*2880 374-2464*3520 375-4416*1696 - 376-1408*540 377-3456*1080 378-1728*540 379-704*1152 - 380-1408*1152 381-5120*2880 382-720*576 383-3984*1168 - 384-1920*1440 385-3840*4096 386-1920*536 387-1536*432 - 388-3072*864 389-1440*1080 390-720*540 391-960*544 - 392-720*544 393-5430*3054 394-8000*6000 395-6560*3690 - 396-2688*1944 397-960*272 398-960*368 399-960*304 - 400-3632*1632 401-1200*536 402-960*432 403-1920*3264 - 404-3040*1368 405-1704*2896 406-768*216 407-360*272 - 408-960*536 409-720*536 410-848*240 411-368*272 - 412-4096*2460 413-536*240 414-2560*1168 415-1920*864 - 416-752*336 417-752*416 418-560*416 419-592*272 - 420-448*336 421-832*464 422-624*464 423-672*304 - 424-672*368 425-496*368 426-832*368 427-592*336 - 428-8032*6032 429-4096*2464 430-8128*2304 431-1480*1664 - 432-1280*1944 433-1024*600 434-1520*2736 435-5328*3040 - 436-192*256 437-8112*2304 438-720x576 439-704*576 - 440-2560*480 441-2048*384 442-8160*3922 443-6128*1800 - 444-3680*1656 445-2048*1152 446-4096*576 447-2048*288 - 448-240*240 449-1200*900 450-8112*2416 451-5472*1600 - 452-2880*2160 453-1920*540 454-4032*1200 455-3792*1120 - 456-2688*794 457-4096*768 - */ - BYTE byResolution; - BYTE byBitrateType; // 0:, 1:,0xfe:ԶԴһ - BYTE byPicQuality; //ͼ 0- 1-κ 2-Ϻ 3-һ 4-ϲ 5-,ԶԴһ - /*Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K - 24-3072K 25-4096K 26-8192K 27-16384K (28-30 Reserved) 31-12288K*/ - DWORD dwVideoBitrate; - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; V2.0汾¼14-15; 15-18; 16-22; - //17-2518-3019-3520-4021-4522-5023-5524-6025-3;26-5;27-7;28-9;29-100; 30-120;31-24;32-48,33-8.3,0xfffffffe-ԶԴһ - WORD wIntervalFrameI; //I֡,0xfffe ԶԴһ - BYTE byIntervalBPFrame;//0-BBP֡; 1-BP֡; 2-P֡(2006-08-11 ӵP֡ýӿڣԸʵʱʱ)0xfe-ԶԴһ - BYTE byres1; // - BYTE byVideoEncType; //Ƶ 0-˽2641-׼h2642-׼mpeg47-M-JPEG8-MPEG29-SVAC, 10-׼h265, 0xfe-ԶԴһ£0xff-Ч - BYTE byAudioEncType; //Ƶ 0-G722;1-G711_U;2-G711_A;5-MP2L2;6-G276;7-AAC;8-PCM;12-AAC_LC;13-AAC_LD;14-Opus;15-MP3;0xff-Ч - BYTE byVideoEncComplexity; //Ƶ븴Ӷȣ0-ͣ1-У2,0xfe:ԶԴһ - BYTE byEnableSvc; //0 - SVCܣ1- SVC; 2-ԶSVC - BYTE byFormatType; //װͣ1-2-RTPװ3-PSװ4-TSװ5-˽У6-FLV7-ASF8-3GP,9-RTP+PS꣺GB281810xff-Ч - BYTE byAudioBitRate; //Ƶ ο BITRATE_ENCODE_INDEX - BYTE byStreamSmooth;//ƽ 11001ȼʾ(Clear)100ʾƽ(Smooth) - BYTE byAudioSamplingRate;//Ƶ0-Ĭ,1- 16kHZ, 2-32kHZ, 3-48kHZ, 4- 44.1kHZ,5-8kHZ - BYTE bySmartCodec;///*bit0-ٱ 0-رգ1-򿪣bit1 - ģʽ 0 - رգ1 - */ - BYTE byDepthMapEnable;// ͼʹܿأ0-رգ1-򿪣󣬵ڶͨ˫ĿƵãĬ 960*540 ͼ - //ƽʣSmartCodecʹܿЧ, 0-0K 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K 24-2560K 25-3072K 26-4096K 27-5120K 28-6144K 29-7168K 30-8192K - //λ(15λ)ó1ʾԶ, 0-14λʾֵ(MIN- 0 K) - WORD wAverageVideoBitrate; -}NET_DVR_COMPRESSION_INFO_V30, *LPNET_DVR_COMPRESSION_INFO_V30; - -//ͨѹ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO_V30 struNormHighRecordPara; //¼ Ӧ8000ͨ - NET_DVR_COMPRESSION_INFO_V30 struRes;// char reserveData[28]; - NET_DVR_COMPRESSION_INFO_V30 struEventRecordPara; //¼ѹ - NET_DVR_COMPRESSION_INFO_V30 struNetPara; //() -}NET_DVR_COMPRESSIONCFG_V30, *LPNET_DVR_COMPRESSIONCFG_V30; - -//ѹ(ӽṹ) -typedef struct -{ - BYTE byStreamType; //0-Ƶ,1-,ʾѹʱλʾǷѹ - BYTE byResolution; //ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(ר) - BYTE byBitrateType; //0:ʣ1:ʣ2 - BYTE byPicQuality; //ͼ 0- 1-κ 2-Ϻ 3-һ 4-ϲ 5- - DWORD dwVideoBitrate; /*Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K - 24-2560K 25-3072K 26-4096K 27-5120K 28-6144K 29-7168K 30-8192K 31-12288K*/ - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; -}NET_DVR_COMPRESSION_INFO, *LPNET_DVR_COMPRESSION_INFO; - -//ͨѹ -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO struRecordPara; //¼/¼¼ - NET_DVR_COMPRESSION_INFO struNetPara; /// -}NET_DVR_COMPRESSIONCFG, *LPNET_DVR_COMPRESSIONCFG; - -//ѹ(ӽṹ)(չ) I֡ -typedef struct -{ - BYTE byStreamType; //0-Ƶ, 1- - BYTE byResolution; //ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(ר) - BYTE byBitrateType; //0:ʣ1:ʣ2 - BYTE byPicQuality; //ͼ 0- 1-κ 2-Ϻ 3-һ 4-ϲ 5- - DWORD dwVideoBitrate; /*Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K - 24-3072K 25-4096K 26-8192K 27-16384K (28-30 Reserved) 31-12288K*/ - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.014-15, 15-18, 16-22; - WORD wIntervalFrameI; //I֡ - //2006-08-11 ӵP֡ýӿڣԸʵʱʱ - BYTE byIntervalBPFrame;//0-BBP֡; 1-BP֡; 2-P֡ - BYTE byRes; -}NET_DVR_COMPRESSION_INFO_EX, *LPNET_DVR_COMPRESSION_INFO_EX; - -//ͨѹ(չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO_EX struRecordPara; //¼ - NET_DVR_COMPRESSION_INFO_EX struNetPara; // -}NET_DVR_COMPRESSIONCFG_EX, *LPNET_DVR_COMPRESSIONCFG_EX; - - -//ʱ¼(ӽṹ) -typedef struct -{ - NET_DVR_SCHEDTIME struRecordTime; - BYTE byRecordType; //0:ʱ¼1:ƶ⣬2:¼3:|4:&, 5:, 6: ¼,10-PIR11-߱12-ȱ13-б,14-ܽͨ¼15Խ⣬16⣬17Ƶ쳣 - char reservedData[3]; -}NET_DVR_RECORDSCHED, *LPNET_DVR_RECORDSCHED; - -//ȫ¼(ӽṹ) -typedef struct -{ - WORD wAllDayRecord; /* Ƿȫ¼ 0- 1-*/ - BYTE byRecordType; /* ¼ 0:ʱ¼1:ƶ⣬2:¼3:|4:& 5:, 6: ¼, - 10-PIR11-߱12-ȱ13-ƶ||PIR|߱|ȱ,14-ܽͨ¼,15-Խ,16-,17-쳣, - 18-,19-⣨Խ|||뿪|ʶ,20, 21-POS¼*/ - char reservedData; -}NET_DVR_RECORDDAY, *LPNET_DVR_RECORDDAY; - -//ͨ¼(9000չ) -typedef struct -{ - DWORD dwSize; - DWORD dwRecord; /*Ƿ¼ 0- 1-*/ - NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS]; - NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwRecordTime; /* ¼ʱ 0-5룬 1-10룬 2-30룬 3-1ӣ 4-2ӣ 5-5ӣ 6-10*/ - DWORD dwPreRecordTime; /* Ԥ¼ʱ 0-Ԥ¼ 1-5 2-10 3-15 4-20 5-25 6-30 7-0xffffffff(Ԥ¼) */ - DWORD dwRecorderDuration; /* ¼񱣴ʱ */ - BYTE byRedundancyRec; /*Ƿ¼,Ҫ˫ݣ0/1*/ - BYTE byAudioRec; /*¼ʱʱǷ¼Ƶݣд˷*/ - BYTE byStreamType; // 0-1-2-ͬʱ 3- - BYTE byPassbackRecord; // 0:ش¼ 1ش¼ - WORD wLockDuration; // ¼ʱλСʱ 0ʾ0xffffʾ¼εʱijʱ¼񣬽 - BYTE byRecordBackup; // 0:¼񲻴浵 1¼浵 - BYTE bySVCLevel; //SVC֡ͣ0-飬1-֮һ 2-ķ֮ - BYTE byRecordManage; //¼ȣ0-ã 1-; ʱжʱ¼񣻲ʱжʱ¼񣬵¼ƻʹãƶ⣬شڰ¼ƻ - BYTE byExtraSaveAudio; //Ƶ0-ǵ棬1- - /*¼ܺ㷨Զ¼㷨书Ϊ¼Ŀ֣ήʡ֡ʣĿʱָֻȫʼ֡ʣӶﵽԴĵĿ*/ - BYTE byIntelligentRecord;//Ƿ¼ 0- 1- - BYTE byReserve; -}NET_DVR_RECORD_V30, *LPNET_DVR_RECORD_V30; - -//ʱ¼(ӽṹ) -typedef struct -{ - NET_DVR_SCHEDTIME struRecordTime; - /*¼ͣ0:ʱ¼1:ƶ⣬2:¼3:|4:& 5:, - 6-ܱ¼10-PIR11-߱12-ȱ13-ȫ¼,14-ܽͨ¼, - 15-Խ,16-,17-쳣,18-, - 19-(Խ|||쳣|),20,21-POS¼, - 22-, 23-뿪,24-ǻ,25-Աۼ,26-˶,27-ͣ, - 28-Ʒ,29-Ʒȡ,30-⣬31-ƻ,32-ܶʼ(˾),33-¼(˾), 34-˯¼(˾) - 35-ֻ, 36-Ԥ37-±38-²39-߲±,40-41-,42-ҵѯ,43-,44-ʸ,45-޳ʱ46-ץģ47-Ƿ̯,48-Ŀץ, - 49-˶50ڼ⣬51-52仯 53-ŷʾ 54-Ҷȱ*/ - BYTE byRecordType; - BYTE byRes[31]; -}NET_DVR_RECORDSCHED_V40, *LPNET_DVR_RECORDSCHED_V40; - -//ȫ¼(ӽṹ) -typedef struct -{ - BYTE byAllDayRecord; /* Ƿȫ¼ 0- 1-*/ - /*¼ͣ0:ʱ¼1:ƶ⣬2:¼3:|4:& 5:, - 6-ܱ¼10-PIR11-߱12-ȱ13-ȫ¼,14-ܽͨ¼, - 15-Խ,16-,17-쳣,18-, - 19-(Խ|||쳣|),20,21-POS¼, - 22-, 23-뿪,24-ǻ,25-Աۼ,26-˶,27-ͣ, - 28-Ʒ,29-Ʒȡ,30-⣬31-ƻ,32-ܶʼ(˾),33-¼(˾), 34-˯¼(˾) - 35-ֻ, 36-Ԥ37-±38-²39-߲±,40-41-,42-ҵѯ,43-,44-ʸ,45-޳ʱ,46-ץ,47-Ƿ̯,48-Ŀץ, - 49-˶50ڼ⣬51-52仯 53-ŷʾ 54-Ҷȱ*/ - BYTE byRecordType; - BYTE byRes[62]; -}NET_DVR_RECORDDAY_V40, *LPNET_DVR_RECORDDAY_V40; - -typedef struct -{ - DWORD dwSize; - DWORD dwRecord; /*Ƿ¼ 0- 1-*/ - NET_DVR_RECORDDAY_V40 struRecAllDay[MAX_DAYS]; - NET_DVR_RECORDSCHED_V40 struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwRecordTime; /* ¼ʱ 0-5룬 1-10룬 2-30룬 3-1ӣ 4-2ӣ 5-5ӣ 6-10*/ - DWORD dwPreRecordTime; /* Ԥ¼ʱ 0-Ԥ¼ 1-5 2-10 3-15 4-20 5-25 6-30 7-0xffffffff(Ԥ¼) */ - DWORD dwRecorderDuration; /* ¼񱣴ʱ */ - BYTE byRedundancyRec; /*Ƿ¼,Ҫ˫ݣ0/1*/ - BYTE byAudioRec; /*¼ʱʱǷ¼Ƶݣд˷*/ - BYTE byStreamType; // 0-1-2-ͬʱ 3- - BYTE byPassbackRecord; // 0:ش¼ 1ش¼ - WORD wLockDuration; // ¼ʱλСʱ 0ʾ0xffffʾ¼εʱijʱ¼񣬽 - BYTE byRecordBackup; // 0:¼񲻴浵 1¼浵 - BYTE bySVCLevel; //SVC֡ͣ0-飬1-֮һ 2-ķ֮ - BYTE byRecordManage; //¼ȣ0-ã 1-; ʱжʱ¼񣻲ʱжʱ¼񣬵¼ƻʹãƶ⣬شڰ¼ƻ - BYTE byExtraSaveAudio;//Ƶ洢 - /*¼ܺ㷨Զ¼㷨书Ϊ¼Ŀ֣ήʡ֡ʣĿʱָֻȫʼ֡ʣӶﵽԴĵĿ*/ - BYTE byIntelligentRecord;//Ƿ¼ 0- 1- - BYTE byRes[125]; -}NET_DVR_RECORD_V40, *LPNET_DVR_RECORD_V40; - -//ͨ¼ -typedef struct -{ - DWORD dwSize; - DWORD dwRecord; /*Ƿ¼ 0- 1-*/ - NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS]; - NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT]; - DWORD dwRecordTime; /* ¼ʱ䳤 */ - DWORD dwPreRecordTime; /* Ԥ¼ʱ 0-Ԥ¼ 1-5 2-10 3-15 4-20 5-25 6-30 7-0xffffffff(Ԥ¼) */ -}NET_DVR_RECORD, *LPNET_DVR_RECORD; - -//̨Эṹ -typedef struct -{ - DWORD dwType; /*ֵ*/ - BYTE byDescribe[DESC_LEN]; /*8000еһ*/ -}NET_DVR_PTZ_PROTOCOL; - -typedef struct -{ - DWORD dwSize; - NET_DVR_PTZ_PROTOCOL struPtz[PTZ_PROTOCOL_NUM];/*200PTZЭ*/ - DWORD dwPtzNum; /*ЧptzЭĿ0ʼ(ʱ1)*/ - BYTE byRes[8]; -}NET_DVR_PTZCFG, *LPNET_DVR_PTZCFG; - -/***************************̨(end)******************************/ -typedef struct tagNET_DVR_SERIALSTART_V40 //͸ͨ -{ - DWORD dwSize; //ṹС - DWORD dwSerialType; //ںţ1-232ڣ2-485ڣ - BYTE bySerialNum; //ڱ - BYTE byRes[255]; -}NET_DVR_SERIALSTART_V40,*LPNET_DVR_SERIALSTART_V40; - -//ͨ(̨) չ -typedef struct tagNET_DVR_DECODERCFG_V40 -{ - DWORD dwSize; //ṹС - DWORD dwBaudRate; // 0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit; //мλ 05λ16λ27λ38λ; - BYTE byStopBit; //ֹͣλ 01λ12λ - BYTE byParity; //У 0У飬1У飬2żУ - BYTE byFlowcontrol; //0ޣ1,2-Ӳ - WORD wDecoderType; //*/ - WORD wDecoderAddress; //ַ0-255 - BYTE bySetPreset [MAX_PRESET_V30]; //ԤõǷ,0-û,1- - BYTE bySetCruise[MAX_CRUISE_V30]; //ѲǷ: 0-û,1- - BYTE bySetTrack [MAX_TRACK_V30]; //Ƿ,0-û,1- - BYTE bySerialNO; //ڱ - BYTE byWorkMode; /*ģʽ 1-󴮿ڿƣ2-Ļƣ3-͸ͨģʽ 4-PPPģʽ 5-̨ģʽ 6-ֱ 7-̿ 8- 9-̨ 12-LEDʾ13-ץݴ*/ - BYTE byRes[254]; // -}NET_DVR_DECODERCFG_V40,*LPNET_DVR_DECODERCFG_V40; - -typedef struct tagNET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO -{ - float fMaxTemperature;//£ȷСһλ - float fMinTemperature;//£ȷСһλ - float fAverageTemperature;//ƽ£ȷСһλ - NET_VCA_POINT struHighestPoint; //¶λ - NET_VCA_POINT struLowestPoint; //¶λ - BYTE byIsFreezedata;//Ƿݶ 0- 1- - BYTE byRes[15]; -}NET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO, *LPNET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO; - -//ͨ(̨)(9000չ) -typedef struct -{ - DWORD dwSize; - DWORD dwBaudRate;//(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit;// мλ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - WORD wDecoderType;//, 0ʼӦptzЭбNET_DVR_IPC_PROTO_LISTõ - WORD wDecoderAddress; /*ַ:0 - 255*/ - BYTE bySetPreset[MAX_PRESET_V30]; /* ԤõǷ,0-û,1-*/ - BYTE bySetCruise[MAX_CRUISE_V30]; /* ѲǷ: 0-û,1- */ - BYTE bySetTrack[MAX_TRACK_V30]; /* Ƿ,0-û,1-*/ -}NET_DVR_DECODERCFG_V30, *LPNET_DVR_DECODERCFG_V30; - -//ͨ(̨) -typedef struct -{ - DWORD dwSize; - DWORD dwBaudRate; //(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit; // мλ 05λ16λ27λ38λ; - BYTE byStopBit; // ֹͣλ 01λ12λ; - BYTE byParity; // У 0У飬1У飬2żУ; - BYTE byFlowcontrol; // 0ޣ1,2-Ӳ - WORD wDecoderType; // NET_DVR_IPC_PROTO_LISTеõ - WORD wDecoderAddress; /*ַ:0 - 255*/ - BYTE bySetPreset[MAX_PRESET]; /* ԤõǷ,0-û,1-*/ - BYTE bySetCruise[MAX_CRUISE]; /* ѲǷ: 0-û,1- */ - BYTE bySetTrack[MAX_TRACK]; /* Ƿ,0-û,1-*/ -}NET_DVR_DECODERCFG, *LPNET_DVR_DECODERCFG; - -//ppp(ӽṹ) -typedef struct -{ - NET_DVR_IPADDR struRemoteIP; //ԶIPַ - NET_DVR_IPADDR struLocalIP; //IPַ - char sLocalIPMask[16]; //IPַ - BYTE sUsername[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byPPPMode; //PPPģʽ, 01 - BYTE byRedial; //Ƿز 0-,1- - BYTE byRedialMode; //زģʽ,0-ɲָ,1-Ԥûز - BYTE byDataEncrypt; //ݼ,0-,1- - DWORD dwMTU; //MTU - char sTelephoneNumber[PHONENUMBER_LEN]; //绰 -}NET_DVR_PPPCFG_V30, *LPNET_DVR_PPPCFG_V30; - -//ppp(ӽṹ) -typedef struct -{ - char sRemoteIP[16]; //ԶIPַ - char sLocalIP[16]; //IPַ - char sLocalIPMask[16]; //IPַ - BYTE sUsername[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byPPPMode; //PPPģʽ, 01 - BYTE byRedial; //Ƿز 0-,1- - BYTE byRedialMode; //زģʽ,0-ɲָ,1-Ԥûز - BYTE byDataEncrypt; //ݼ,0-,1- - DWORD dwMTU; //MTU - char sTelephoneNumber[PHONENUMBER_LEN]; //绰 -}NET_DVR_PPPCFG, *LPNET_DVR_PPPCFG; - -//RS232ڲ(9000չ) -typedef struct -{ - DWORD dwBaudRate; /*(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k;*/ - BYTE byDataBit; /* мλ 05λ16λ27λ38λ */ - BYTE byStopBit; /* ֹͣλ 01λ12λ */ - BYTE byParity; /* У 0У飬1У飬2żУ */ - BYTE byFlowcontrol; /* 0ޣ1,2-Ӳ */ - DWORD dwWorkMode; //ģʽ0232PPPţ1232ڲƣ2͸ͨ 3- ptzģʽ,Ѷʪȴ, 4-ģʽ 5-󴮿ڿ 6-Ļ 7-ֱ 8-̿ 9- 10-̨ -}NET_DVR_SINGLE_RS232; - -typedef struct tagNET_DVR_USB_RS232 -{ - DWORD dwBaudRate; /*(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k;*/ - BYTE byDataBit; /* мλ 05λ16λ27λ38λ */ - BYTE byStopBit; /* ֹͣλ 01λ12λ */ - BYTE byParity; /* У 0У飬1У飬2żУ */ - BYTE byFlowcontrol; /* 0ޣ1,2-Ӳ */ - BYTE byVirtualSerialPort; //⴮ڱ - BYTE byRes[3]; -}NET_DVR_USB_RS232,*LPNET_DVR_USB_RS232; - -//RS232ڲ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_SINGLE_RS232 struRs232[MAX_SERIAL_PORT];/*ע⣺˽ṹ޸ˣԭǵṹ޸Ϊṹ*/ - NET_DVR_PPPCFG_V30 struPPPConfig; -}NET_DVR_RS232CFG_V30, *LPNET_DVR_RS232CFG_V30; - -//RS232ڲ -typedef struct -{ - DWORD dwSize; - DWORD dwBaudRate;//(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit;// мλ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - DWORD dwWorkMode;// ģʽ0խ(232PPP)1̨(232ڲ)2͸ͨ - NET_DVR_PPPCFG struPPPConfig; -}NET_DVR_RS232CFG, *LPNET_DVR_RS232CFG; - - -typedef struct -{ - DWORD dwEnablePresetChan; /*Ԥõͨ, 0xfffffffʾԤõ*/ - DWORD dwPresetPointNo; /*ԤõͨӦԤõ, 0xfffffffʾԤõ㡣*/ -}NET_DVR_PRESETCHAN_INFO, LPNET_DVR_PRESETCHAN_INFO; - -typedef struct -{ - DWORD dwEnableCruiseChan; /*Ѳͨ*/ - DWORD dwCruiseNo; /*ѲͨӦѲ, 0xfffffffʾЧ*/ -}NET_DVR_CRUISECHAN_INFO, LPNET_DVR_CRUISECHAN_INFO; - -typedef struct -{ - DWORD dwEnablePtzTrackChan; /*̨ͨ*/ - DWORD dwPtzTrackNo; /*̨ͨӦı, 0xfffffffʾЧ*/ -}NET_DVR_PTZTRACKCHAN_INFO, LPNET_DVR_PTZTRACKCHAN_INFO; - -typedef struct tagNET_DVR_PTZ_NOTIFICATION_COND -{ - DWORD dwSize; - /* - 0-facedetection, - 1-vehicleDetection, - 2-scenechangedetection, - 3-LineDetection, - 4-regionEntrance, - 5-regionExiting, - 6-loitering, - 7-group, - 8-rapidMove, - 9-parking, - 10-unattendedBaggage, - 11-attendedBaggage, - 12-audioDetection, - 13-PIR, - 14-defocusDetection - 15-temperature, - 16-fireDetection, - 17-thermometry, - 18-shipsDetection - 19-fieldDetection - 20-blockListFaceContrast - 21-allowListFaceContrast - 22- humanRecognition - 23- faceContrast - */ - WORD byEventType; - BYTE byRes[2]; - DWORD dwChannel; - BYTE byRes1[128]; -}NET_DVR_PTZ_NOTIFICATION_COND, *LPNET_DVR_PTZ_NOTIFICATION_COND; - -typedef struct tagNET_DVR_PTZ_NOTIFICATION_CFG -{ - DWORD dwSize; - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ( ptz) - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ( ptz) - DWORD dwEnablePtzTrackChanNum; //ǰ̨ͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨ͨϢ( ptz) - BYTE byRes1[1024]; -}NET_DVR_PTZ_NOTIFICATION_CFG, *LPNET_DVR_PTZ_NOTIFICATION_CFG; - - -typedef struct tagNET_DVR_PTZ_NOTIFICATION -{ - DWORD dwSize; - /* - 0-facedetection, - 1-vehicleDetection, - 2-scenechangedetection, - 3-LineDetection, - 4-regionEntrance, - 5-regionExiting, - 6-loitering, - 7-group, - 8-rapidMove, - 9-parking, - 10-unattendedBaggage, - 11-attendedBaggage, - 12-audioDetection, - 13-PIR, - 14-defocusDetection - 15-temperature, - 16-fireDetection, - 17-thermometry, - 18-shipsDetection - 19-fieldDetection - 20-blockListFaceContrast - 21-allowListFaceContrast - 22- humanRecognition - */ - WORD byEventType; - BYTE byRes[62]; - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ( ptz) - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ( ptz) - DWORD dwEnablePtzTrackChanNum; //ǰ̨ͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨ͨϢ( ptz) - BYTE byRes1[1024]; -}NET_DVR_PTZ_NOTIFICATION, *LPNET_DVR_PTZ_NOTIFICATION; - -#define NET_SDK_MAX_EVENT_NUM 64 //¼ָ֧ - -//(256·NVRչ) -typedef struct tagNET_DVR_ALARMINCFG_V40 -{ - DWORD dwSize; - BYTE sAlarmInName[NAME_LEN]; /* */ - BYTE byAlarmType; //,0,1 - BYTE byAlarmInHandle; /* Ƿ 0- 1-*/ - BYTE byChannel; // 봥ʶͨ - BYTE byInputType; // 0-ʽ 1-źʽ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000:ץͼϴ*/ - /*0x2000:ű*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOutChanNum; //ıͨ ʵ֧ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; //ͨ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - /*¼ͨ*/ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwCurRecordChanNum; //ǰʵõĹ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; /* ʵʴ¼ֵͨʾ,ýУ±0 - dwCurRecordChanNum -1Чм0xffffffff,Ч*/ - DWORD dwMaxEnablePtzCtrlNun; //ǫ̃(ֻ) - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ - BYTE byPresetDurationTime[MAX_CHANNUM_V40];//Ԥõͣʱ Χ0-20sĬ10s - BYTE byRes2[4]; /**/ - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ - DWORD dwEnablePtzTrackChanNum; //ǰѲͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨ͨϢ - WORD wEventType[NET_SDK_MAX_EVENT_NUM/*64*/]; /*¼ͣÿһλӦһ¼*/ - BYTE byRes[128]; -}NET_DVR_ALARMINCFG_V40, *LPNET_DVR_ALARMINCFG_V40; - -//(9000չ) -typedef struct -{ - DWORD dwSize; - BYTE sAlarmInName[NAME_LEN]; /* */ - BYTE byAlarmType; //,0,1 - BYTE byAlarmInHandle; /* Ƿ 0- 1-*/ - BYTE byChannel; // 봥ʶͨ - BYTE byInputType; // 0-ʽ 1-źʽ - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byEnablePreset[MAX_CHANNUM_V30]; /* ǷԤõ 0-,1-*/ - BYTE byPresetNo[MAX_CHANNUM_V30]; /* ǫ̃Ԥõ,һԵǫ̈ͨԤõ, 0xffʾԤõ㡣*/ - BYTE byRes2[192]; /**/ - BYTE byEnableCruise[MAX_CHANNUM_V30]; /* ǷѲ 0-,1-*/ - BYTE byCruiseNo[MAX_CHANNUM_V30]; /* Ѳ */ - BYTE byEnablePtzTrack[MAX_CHANNUM_V30]; /* Ƿ 0-,1-*/ - BYTE byPTZTrack[MAX_CHANNUM_V30]; /* ǫ̃ */ - BYTE byRes3[16]; -}NET_DVR_ALARMINCFG_V30, *LPNET_DVR_ALARMINCFG_V30; - - -typedef struct tagNET_DVR_ALARMINFO_FIXED_HEADER -{ - /*0-ź,1-Ӳ,2-źŶʧ3ƶ⣬4Ӳδʽ,5-дӲ̳,6-ڵ - 7-ʽƥ, 8-Ƿʣ9-Ƶź쳣10-¼쳣11-ܳ仯12-쳣13-ǰ/¼ֱʲƥ, - 14-Դʧ,15-ⱨ, 16-ȱ쳣17-¼18-Խ󱨾,19-Ƶʧ20-¼ - 21-ر¼22-㷨쳣23-屨,24-Ӳ쳣,25-,26-ͼƬ,27-POC쳣,28-ӽ쳣 - 30-ȱSD,32-̨ת쳣34-쳣*/ - DWORD dwAlarmType;// - NET_DVR_TIME_EX struAlarmTime; //ʱ - union - { - BYTE byUnionLen[116]; //ֳȥ8ֽչʱ - struct - { - DWORD dwAlarmInputNo; //ıͨţһֻһ - DWORD dwTrigerAlarmOutNum; /*ıں䳤ݲдıͨţֽڱʾһ*/ - DWORD dwTrigerRecordChanNum; /*¼ͨں䳤ݲд¼ͨţֽڱʾһ*/ - }struIOAlarm; // dwAlarmTypeΪ0ʱЧ - struct - { - DWORD dwAlarmChanNum; /*ͨݸں䳤ݲзıͨţֽڱʾһ*/ - DWORD dwPicLen;//JpegͼƬ - BYTE byPicURL; //ͼƬݲURLʽ 0-ͼƬݣ1-ͼƬURLʽ - BYTE byTarget; /*0-ʶĿ꣬1-ʶĿΪˣ2-ʶĿΪ*/ - BYTE byRes1[2]; // -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pDataBuff; //ͼƬͼƬURL -#else - char* pDataBuff; //ͼƬͼƬURL - BYTE byRes3[4]; -#endif - }struAlarmChannel; // dwAlarmTypeΪ2369101328ʱЧ - struct - { - DWORD dwAlarmHardDiskNum; /*Ӳݳȣں䳤ݲзӲ̺ţĽڱʾһ*/ - }struAlarmHardDisk; // dwAlarmTypeΪ1,4,5ʱЧ - struct - { - BYTE bySubAlarmType; //ͣ1-һӳ¼ - BYTE byRes1[3]; // - NET_DVR_TIME_EX struRecordEndTime; //¼ʱ - }struRecordingHost; //¼רñ - struct - { - float fVoltageValue;//Դѹֵ,λV,ȷ0.1 - BYTE byVoltageAlarmType; //Դѹͣ0-Դѹߣ1-Դѹ - BYTE byRes1[3]; //ֽ - }struVoltageInstable; //dwAlarmType=31ʱЧ - - struct - { - float fTemperature;//¶ȣȷС1λ - DWORD dwCustomInfoLength; //ԶϢ - BYTE* pCustomInfo; //ԶϢ - BYTE byType; //̨ת 1-ˮƽת 2-ֱת - BYTE byDeicingEnabled; // ̨ʹ 0-ر 1- - BYTE byRes2[2]; // - DWORD dwChannel; //ͨ - }struPTLocking; //̨ת쳣 dwAlarmType=32ʱЧ - - struct - { - BYTE byExceptionType; //쳣,0-, 1- ־洢쳣2-־ - }struLogException; //dwAlarmType=33ʱЧ,־쳣Ϣ - - struct - { - NET_DVR_TIME_EX struAlarmTime; //ʱ䣬豸ʱ - BYTE byExceptionType; // 0- 1- ߳ 2- ǰ012 Ϊ - BYTE byRes1[3]; //ֽ - }struAbnormalReboot; //쳣 dwAlarmType=34ʱЧ - - }uStruAlarm; - DWORD* pRes; //ڼ64λ½ṹֽڲ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes; // - WORD wDevInfoIvmsChannel; //Ӻ͸ǰʱͨ - BYTE byRes2[2]; // -}NET_DVR_ALRAM_FIXED_HEADER, *LPNET_DVR_ALARM_FIXED_HEADER; - -//ϴϢ(256·NVRչ) -typedef struct NET_DVR_ALARMINFO_V40 -{ - NET_DVR_ALRAM_FIXED_HEADER struAlarmFixedHeader; //̶ - DWORD* pAlarmData; //ɱ䲿 -}NET_DVR_ALARMINFO_V40, *LPNET_DVR_ALARMINFO_V40; - -// -typedef struct -{ - DWORD dwSize; - BYTE sAlarmInName[NAME_LEN]; /* */ - BYTE byAlarmType; //,0,1 - BYTE byAlarmInHandle; /* Ƿ 0- 1-*/ - BYTE byChannel; // 봥ʶͨ - BYTE byRes; - NET_DVR_HANDLEEXCEPTION struAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM]; //¼ͨ,Ϊ1ʾͨ - BYTE byEnablePreset[MAX_CHANNUM]; /* ǷԤõ 0-,1-*/ - BYTE byPresetNo[MAX_CHANNUM]; /* ǫ̃Ԥõ,һԵǫ̈ͨԤõ, 0xffʾԤõ㡣*/ - BYTE byEnableCruise[MAX_CHANNUM]; /* ǷѲ 0-,1-*/ - BYTE byCruiseNo[MAX_CHANNUM]; /* Ѳ */ - BYTE byEnablePtzTrack[MAX_CHANNUM]; /* Ƿ 0-,1-*/ - BYTE byPTZTrack[MAX_CHANNUM]; /* ǫ̃ */ -}NET_DVR_ALARMINCFG, *LPNET_DVR_ALARMINCFG; - -//ģⱨ -typedef struct -{ - DWORD dwSize; - BYTE byEnableAlarmHandle; // - BYTE byRes1[3]; - BYTE byAlarmInName[NAME_LEN]; //ģⱨ - WORD wAlarmInUpper; //ģѹޣʵֵ10Χ0~360 - WORD wAlarmInLower; //ģѹޣʵֵ10Χ0~360 - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ - BYTE byRes2[100]; -}NET_DVR_ANALOG_ALARMINCFG, *LPNET_DVR_ANALOG_ALARMINCFG; - -//ϴϢ(9000չ) -typedef struct -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣, - 10-¼쳣,11- ܳ仯,12-쳣,13-ǰ/¼ֱʲƥ,14-Դʧ,15-, 16-POE쳣,17-쳣, - 18-쳣,19-Ƶʧ20-¼21-ر¼22-㷨쳣23-屨,24-Ӳ쳣,25-,26-ͼƬ,27-POC쳣 - 28-ӽ쳣,29-ͣ30-ȱSD*/ - DWORD dwAlarmInputNumber;/*˿*/ - BYTE byAlarmOutputNumber[MAX_ALARMOUT_V30];/*˿ڣΪ1ʾӦ*/ - BYTE byAlarmRelateChannel[MAX_CHANNUM_V30];/*¼ͨΪ1ʾӦ¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - BYTE byChannel[MAX_CHANNUM_V30];/*dwAlarmTypeΪ23,6,9,10,14,19,28ʱʾĸͨdwChannel[0]Ӧ1ͨ*/ - BYTE byDiskNumber[MAX_DISKNUM_V30];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]Ӧ1Ӳ*/ - #ifdef SDK_CHEZAI - NET_DVR_ADDIT_POSITION GPS_pos; /* GPSλϢ */ - #endif -}NET_DVR_ALARMINFO_V30, *LPNET_DVR_ALARMINFO_V30; - -typedef struct tagNET_DVR_ALARM_HOT_SPARE -{ - DWORD dwSize; //ṹ - DWORD dwExceptionCase; //ԭ 0-쳣 - NET_DVR_IPADDR struDeviceIP; //쳣豸IPַ - BYTE byRes[256]; // -}NET_DVR_ALARM_HOT_SPARE, *LPNET_DVR_ALARM_HOT_SPARE; - -typedef struct -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣10-¼쳣 11- ܳ仯*/ - DWORD dwAlarmInputNumber;/*˿*/ - DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*˿ڣһλΪ1ʾӦһ*/ - DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*¼ͨһλΪ1ʾӦһ·¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - DWORD dwChannel[MAX_CHANNUM];/*dwAlarmTypeΪ23,6,9,10ʱʾĸͨdwChannel[0]λӦ1ͨ*/ - DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]λӦ1Ӳ*/ -}NET_DVR_ALARMINFO, *LPNET_DVR_ALARMINFO; - -////////////////////////////////////////////////////////////////////////////////////// -//IPC -/* IP豸ṹ */ -typedef struct -{ - DWORD dwEnable; /* IP豸Ƿ */ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - NET_DVR_IPADDR struIP; /* IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byRes[34]; /* */ -}NET_DVR_IPDEVINFO, *LPNET_DVR_IPDEVINFO; - -#define DEV_ID_LEN 32 //豸ID - -//ipc豸Ϣչ֧ip豸 -typedef struct tagNET_DVR_IPDEVINFO_V31 -{ - BYTE byEnable; //IP豸ǷЧ - BYTE byProType; //Эͣ0-˽Э飬1-Э飬2- - BYTE byEnableQuickAdd; // 0 ֿ֧ 1 ʹÿ - // Ҫ豸IPЭͣϢ豸Ĭָ - BYTE byCameraType; //ֵͨͣΪ 0-壬1-۽ʦ2-۽ѧ3-ʦȫ4-ѧȫ5-ý壬6Cʦλ,7-ѧλ,8-鶨λ,9- - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - BYTE byDomain[MAX_DOMAIN_NAME]; //豸 - NET_DVR_IPADDR struIP; //IPַ - WORD wDVRPort; // ˿ں - BYTE szDeviceID[DEV_ID_LEN]; //豸ID - BYTE byEnableTiming; //0-1-NVRIPCԶУʱ2-NVRIPCԶУʱ - BYTE byCertificateValidation;//֤֤ - // byCertificateValidation:bit0: 0-֤֤ 1-֤֤ - // byCertificateValidation:bit1: 0-ĬͨŶ˿ 1-ĬͨŶ˿ -}NET_DVR_IPDEVINFO_V31, *LPNET_DVR_IPDEVINFO_V31; - -/* IPͨƥ */ -typedef struct -{ - BYTE byEnable; /* ͨǷ */ - BYTE byIPID; //IP豸ID8λ豸IDΪ0ʱʾͨ - BYTE byChannel; /* ͨ */ - BYTE byIPIDHigh; // IP豸IDĸ8λ - BYTE byTransProtocol; //Э0-TCP/auto(豸)1-UDP 2-ಥ 3-TCP 4-auto - BYTE byGetStream; /* ǷԸͨȡ0-ǣ1-*/ - BYTE byres[30]; /* */ -} NET_DVR_IPCHANINFO, *LPNET_DVR_IPCHANINFO; - -/* IPýṹ */ -typedef struct -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPDEVINFO struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷãӵ͵߱ʾ1-32ͨ0ʾЧ 1Ч */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ -}NET_DVR_IPPARACFG, *LPNET_DVR_IPPARACFG; -/* չIPýṹ */ -typedef struct tagNET_DVR_IPPARACFG_V31 -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷãӵ͵߱ʾ1-32ͨ0ʾЧ 1Ч */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ -}NET_DVR_IPPARACFG_V31, *LPNET_DVR_IPPARACFG_V31; - -typedef struct tagNET_DVR_IPSERVER_STREAM -{ - BYTE byEnable; // Ƿ - BYTE byRes[3]; // ֽ - NET_DVR_IPADDR struIPServer; //IPServer ַ - WORD wPort; //IPServer ˿ - WORD wDvrNameLen; // DVR Ƴ - BYTE byDVRName[NAME_LEN]; // DVR - WORD wDVRSerialLen; // кų - WORD byRes1[2]; // ֽ - BYTE byDVRSerialNumber[SERIALNO_LEN]; // DVRкų - BYTE byUserName[NAME_LEN]; // DVR ½û - BYTE byPassWord[PASSWD_LEN]; // DVR½ - BYTE byChannel; // DVR ͨ - BYTE byRes2[11]; // ֽ -}NET_DVR_IPSERVER_STREAM, *LPNET_DVR_IPSERVER_STREAM; - -//ý -typedef struct tagNET_DVR_STREAM_MEDIA_SERVER_CFG -{ - BYTE byValid; /*Ƿ*/ - BYTE byRes1[3]; - NET_DVR_IPADDR struDevIP; - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э 0-TCP1-UDP*/ - BYTE byRes2[69]; -}NET_DVR_STREAM_MEDIA_SERVER_CFG,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG; - -//豸ͨϢ -typedef struct tagNET_DVR_DEV_CHAN_INFO -{ - NET_DVR_IPADDR struIP; //DVR IPַ - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byDeviceType; //豸(Ƶۺƽ̨ܰʹ)1-ʱƵۺƽ̨byVcaSupportChanModeֶʹýͨʾͨ2- - BYTE byDispChan;//ʾͨ,ʹ - BYTE bySubDispChan;//ʾͨͨţʱʹ - BYTE byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wʹãݸòԴ - BYTE byRes[2]; - BYTE byDomain[MAX_DOMAIN_NAME]; //豸 - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_DVR_DEV_CHAN_INFO,*LPNET_DVR_DEV_CHAN_INFO; - -//ֱͨýȡ -typedef struct tagNET_DVR_PU_STREAM_CFG -{ - DWORD dwSize; - NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; -}NET_DVR_PU_STREAM_CFG,*LPNET_DVR_PU_STREAM_CFG; - -typedef struct tagNET_DVR_DDNS_STREAM_CFG -{ - BYTE byEnable; // Ƿ - BYTE byRes1[3]; - NET_DVR_IPADDR struStreamServer; //ýַ - WORD wStreamServerPort; //ý˿ - BYTE byStreamServerTransmitType; //ý崫Э 0-TCP1-UDP - BYTE byRes2; - NET_DVR_IPADDR struIPServer; //IPSERVERַ - WORD wIPServerPort; //IPserver˿ں - BYTE byRes3[2]; - BYTE sDVRName[NAME_LEN]; //DVR - WORD wDVRNameLen; // DVRƳ - WORD wDVRSerialLen; // кų - BYTE sDVRSerialNumber[SERIALNO_LEN]; // DVRк - BYTE sUserName[NAME_LEN]; // DVR ½û - BYTE sPassWord[PASSWD_LEN]; // DVR½ - WORD wDVRPort; //DVR˿ں - BYTE byRes4[2]; - BYTE byChannel; // DVR ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; //ǰ豸,ͨӿڻȡ -}NET_DVR_DDNS_STREAM_CFG, *LPNET_DVR_DDNS_STREAM_CFG; - -#define URL_LEN 240 //URL -typedef struct tagNET_DVR_PU_STREAM_URL -{ - BYTE byEnable; - BYTE strURL[URL_LEN]; - BYTE byTransPortocol ; // Э 0-tcp 1-UDP - WORD wIPID; //豸IDţwIPID = iDevInfoIndex + iGroupNO*64 +1 - BYTE byChannel; //ͨ - BYTE byRes[7]; -}NET_DVR_PU_STREAM_URL, *LPNET_DVR_PU_STREAM_URL; - -typedef struct tagNET_DVR_HKDDNS_STREAM -{ - BYTE byEnable; // Ƿ - BYTE byRes[3]; // ֽ - BYTE byDDNSDomain[64]; // hiDDNS - WORD wPort; // hiDDNS ˿ - WORD wAliasLen; // - BYTE byAlias[NAME_LEN]; // - WORD wDVRSerialLen; // кų - BYTE byRes1[2]; // ֽ - BYTE byDVRSerialNumber[SERIALNO_LEN]; // DVRк - BYTE byUserName[NAME_LEN]; // DVR ½û - BYTE byPassWord[PASSWD_LEN]; // DVR½ - BYTE byChannel; // DVRͨ - BYTE byRes2[11]; // -}NET_DVR_HKDDNS_STREAM, *LPNET_DVR_HKDDNS_STREAM; - -typedef struct tagNET_DVR_IPCHANINFO_V40 -{ - BYTE byEnable; /* ͨǷ */ - BYTE byRes1; - WORD wIPID; //IP豸ID - DWORD dwChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP2- ಥ3-RTSP0xff- auto(Զ) - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byRes; - BYTE strURL[URL_LEN/*240*/]; /*RTSPЭȡURL RTSPЭʱЧ*/ -}NET_DVR_IPCHANINFO_V40,*LPNET_DVR_IPCHANINFO_V40; - -// ŵCVR -#define MAX_ID_COUNT 256 -#define MAX_STREAM_ID_COUNT 1024 -#define STREAM_ID_LEN 32 -#define PLAN_ID_LEN 32 -#define DEVICE_NO_LEN 24 -#define MAX_VOLUMENAME_LEN 32 //¼ -#define MAX_VAG_CHANNO_LEN 32 //VAGЭȡʱͨű볤 - -#define MAX_STREAM_ID_NUM 30 //IDĿ - -// Ϣ - 72ֽڳ -typedef struct tagNET_DVR_STREAM_INFO -{ - DWORD dwSize; - BYTE byID[STREAM_ID_LEN]; //ID - DWORD dwChannel; //豸ͨ0xffffffffʱʾ - BYTE byRes[32]; // -}NET_DVR_STREAM_INFO, *LPNET_DVR_STREAM_INFO; - -typedef struct tagNET_DVR_RTSP_PROTOCAL_CFG -{ - BYTE byEnable; - BYTE byLocalBackUp; //Ƿ񱾵ر - BYTE byRes[2]; - BYTE strURL[URL_LEN_V40]; - DWORD dwProtocalType; //Э - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byAddress[MAX_DOMAIN_NAME]; //ǰIP,Ҫ豸 - //ʽΪĸ'.'Ϊ,ΪIPַ - WORD wPort; - BYTE byRes1[122]; // -}NET_DVR_RTSP_PROTOCAL_CFG, *LPNET_DVR_RTSP_PROTOCAL_CFG; - -typedef union tagNET_DVR_GET_STREAM_UNION -{ - NET_DVR_IPCHANINFO struChanInfo; /*IPͨϢ*/ - NET_DVR_IPSERVER_STREAM struIPServerStream; // IPServerȥ - NET_DVR_PU_STREAM_CFG struPUStream; // ͨǰ豸ȡýȥ - NET_DVR_DDNS_STREAM_CFG struDDNSStream; //ͨIPServerýȡ - NET_DVR_PU_STREAM_URL struStreamUrl; //ͨý嵽urlȡ - NET_DVR_HKDDNS_STREAM struHkDDNSStream; //ͨhiDDNSȥȡ - NET_DVR_IPCHANINFO_V40 struIPChan; //ֱӴ豸ȡչ -}NET_DVR_GET_STREAM_UNION, *LPNET_DVR_GET_STREAM_UNION; - -typedef enum -{ - NET_SDK_IP_DEVICE = 0, - NET_SDK_STREAM_MEDIA, - NET_SDK_IPSERVER, - NET_SDK_DDNS_STREAM_CFG, - NET_SDK_STREAM_MEDIA_URL, - NET_SDK_HKDDNS, - NET_SDK_IP_DEVICE_ADV, - NET_SDK_IP_DEVICE_V40, - NET_SDK_RTSP -}GET_STREAM_TYPE; - -typedef struct tagNET_DVR_STREAM_MODE -{ - BYTE byGetStreamType; //ȡʽGET_STREAM_TYPE0-ֱӴ豸ȡ1-ýȡ2-ͨIPServeripַȡ,3.ͨIPServerҵ豸ͨýȥ豸 - //4-ͨýURLȥȡ,5-ͨhkDDNSȡ6-ֱӴ豸ȡ(չ)ʹNET_DVR_IPCHANINFO_V40ṹ, 7-ͨRTSPЭ鷽ʽȡ - BYTE byRes[3]; //ֽ - NET_DVR_GET_STREAM_UNION uGetStream; // ͬȡʽṹ -}NET_DVR_STREAM_MODE, *LPNET_DVR_STREAM_MODE; - -//չIP豸 -typedef struct tagNET_DVR_IPPARACFG_V40 -{ - DWORD dwSize; /* ṹС */ - DWORD dwGroupNum; // 豸ֵ֧ - DWORD dwAChanNum; //ģͨ - DWORD dwDChanNum; //ͨ - DWORD dwStartDChan; //ʼͨ - BYTE byAnalogChanEnable[MAX_CHANNUM_V30]; /* ģͨǷãӵ͵߱ʾ1-64ͨ0ʾЧ 1Ч */ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE_V40]; /* IP豸 */ - NET_DVR_STREAM_MODE struStreamMode[MAX_CHANNUM_V30]; - BYTE byRes2[20]; // ֽ -}NET_DVR_IPPARACFG_V40, *LPNET_DVR_IPPARACFG_V40; - - -//ΪCVRչı -typedef struct tagNET_DVR_ALARMINFO_DEV -{ - DWORD dwAlarmType; //0-(ͨ)ź1-˽о𻵣2- NVR˳ - //3-״̬쳣4-ϵͳʱ쳣5-¼ʣͣ - //6-(ͨ)ƶⱨ7-(ͨ)ڵ8-¼ʧ; 9-Ƶʵʱʾ; 10-Դʹʸ澯; 11- CVRԶ޸쳣 12-¼쳣 - NET_DVR_TIME struTime; //ʱ - BYTE byRes[32]; // - DWORD dwNumber; //Ŀ - WORD *pNO; //dwNumberWORD; ÿWORDʾһͨţߴ̺, ЧʱΪ0 -}NET_DVR_ALARMINFO_DEV, *LPNET_DVR_ALARMINFO_DEV; - -/* */ -typedef struct -{ - BYTE byIPID; /* IP豸IDȡֵ1- MAX_IP_DEVICE */ - BYTE byAlarmOut; /* */ - BYTE byRes[18]; /* */ -}NET_DVR_IPALARMOUTINFO, *LPNET_DVR_IPALARMOUTINFO; - -/* IPýṹ */ -typedef struct -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT];/* IP */ -}NET_DVR_IPALARMOUTCFG, *LPNET_DVR_IPALARMOUTCFG; - -/* IP */ -typedef struct tagNET_DVR_IPALARMOUTINFO_V40 -{ - DWORD dwIPID; /* IP豸ID */ - DWORD dwAlarmOut; /* IP豸IDӦı */ - BYTE byRes[32]; /* */ -}NET_DVR_IPALARMOUTINFO_V40, *LPNET_DVR_IPALARMOUTINFO_V40;/**/ - -typedef struct tagNET_DVR_IPALARMOUTCFG_V40 -{ - DWORD dwSize; //ṹ峤 - DWORD dwCurIPAlarmOutNum; - NET_DVR_IPALARMOUTINFO_V40 struIPAlarmOutInfo[MAX_IP_ALARMOUT_V40];/*IP*/ - BYTE byRes[256]; -}NET_DVR_IPALARMOUTCFG_V40, *LPNET_DVR_IPALARMOUTCFG_V40; /*IP*/ - -/* */ -typedef struct -{ - BYTE byIPID; /* IP豸IDȡֵ1- MAX_IP_DEVICE */ - BYTE byAlarmIn; /* */ - BYTE byRes[18]; /* */ -}NET_DVR_IPALARMININFO, *LPNET_DVR_IPALARMININFO; - -/* IPýṹ */ -typedef struct -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN];/* IP */ -}NET_DVR_IPALARMINCFG, *LPNET_DVR_IPALARMINCFG; - -/* IP */ -typedef struct tagNET_DVR_IPALARMININFO_V40 -{ - DWORD dwIPID; /* IP豸ID */ - DWORD dwAlarmIn; /* IP豸IDӦı */ - BYTE byRes[32]; /* */ -}NET_DVR_IPALARMININFO_V40, *LPNET_DVR_IPALARMININFO_V40; /* */ - -typedef struct tagNET_DVR_IPALARMINCFG_V40 -{ - DWORD dwSize; //ṹ峤 - DWORD dwCurIPAlarmInNum; //ǰ - NET_DVR_IPALARMININFO_V40 struIPAlarmInInfo[MAX_IP_ALARMIN_V40];/* IP*/ - BYTE byRes[256]; -}NET_DVR_IPALARMINCFG_V40, *LPNET_DVR_IPALARMINCFG_V40; /*IPԴ*/ - -//ipc alarm info -typedef struct tagNET_DVR_IPALARMINFO -{ - NET_DVR_IPDEVINFO struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷã0-δ 1- */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN]; /* IP */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT]; /* IP */ -}NET_DVR_IPALARMINFO, *LPNET_DVR_IPALARMINFO; - -//ipcøı䱨Ϣչ 9000_1.1 -typedef struct tagNET_DVR_IPALARMINFO_V31 -{ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷã0-δ 1- */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN]; /* IP */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT]; /* IP */ -}NET_DVR_IPALARMINFO_V31, *LPNET_DVR_IPALARMINFO_V31; - -typedef struct tagNET_DVR_IPALARMINFO_V40 -{ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE_V40]; // IP豸 - BYTE byAnalogChanEnable[MAX_CHANNUM_V30]; /* ģͨǷã0-δ 1- */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_CHANNUM_V30]; /* IPͨ */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN]; /* IP */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT]; /* IP */ - BYTE byRes[20]; // ֽ -}NET_DVR_IPALARMINFO_V40, *LPNET_DVR_IPALARMINFO_V40; - -typedef enum _HD_STAT_ -{ - HD_STAT_OK = 0, /* */ - HD_STAT_UNFORMATTED = 1, /* δʽ */ - HD_STAT_ERROR = 2, /* */ - HD_STAT_SMART_FAILED = 3, /* SMART״̬ */ - HD_STAT_MISMATCH = 4, /* ƥ */ - HD_STAT_IDLE = 5, /* */ - NET_HD_STAT_OFFLINE = 6, /* ̴δ״̬ */ - HD_RIADVD_EXPAND = 7, /* ̿ */ - HD_STAT_REPARING = 10, /* Ӳ޸(9000 2.0) */ - HD_STAT_FORMATING = 11, /* Ӳڸʽ(9000 2.0) */ -}HD_STAT; - - -//ӲϢ -typedef struct -{ - DWORD dwHDNo; /*Ӳ̺, ȡֵ0~MAX_DISKNUM_V30-1*/ - DWORD dwCapacity; /*Ӳ()*/ - DWORD dwFreeSpace; /*Ӳʣռ()*/ - DWORD dwHdStatus; //Ӳ״̬() HD_STAT 0-, 1-δʽ, 2-, 3-SMART״̬, - //4-ƥ, 5- 6-Ӳ̲ 7-̿ 10-Ӳ޸ - //11-Ӳڸʽ 12-Ӳڵȴʽ 13-Ӳж 14-Ӳ̲ - //15-ɾ(Ӳ),16- - BYTE byHDAttr; /*0-ͨ, 1-; 2-ֻ 3-浵CVRרã4-ɶд*/ - BYTE byHDType; /*0-Ӳ,1-ESATAӲ,2-NASӲ,3-iSCSIӲ 4-Array,5-SD,6-minSAS*/ - BYTE byDiskDriver; // ֵ ASCIIַ - BYTE byRes1; - DWORD dwHdGroup; /*ĸ 1-MAX_HD_GROUP*/ - BYTE byRecycling; // Ƿѭ 0ѭã1ѭ - BYTE bySupportFormatType; /*ǰӲֵ֧ĸʽ,ֻǰýڵ֧byHDType=5(SD)ʱ; - bySupportFormatType=0,豸ĬʽӲ; - bySupportFormatType:bit0: 0-֧FAT32ʽ,1-֧; - bySupportFormatType:bit1: 0-֧EXT4ʽ,1-֧;*/ - BYTE byFormatType; /*ǰӲ̸ʽ: 0-豸Ĭϸʽ,1-ָFAT32ʽ(byHDType=5(SD)ʱЧ), - 2-ָEXT4ʽ(byHDType=5(SD)ʱЧ)*/ - BYTE byRes2; - DWORD dwStorageType; //λʾ 0-֧ 0-֧ - // dwStorageType & 0x1 ʾǷͨ¼רô洢 - // dwStorageType & 0x2 ʾǷdz֡¼רô洢 - // dwStorageType & 0x4 ʾǷͼƬ¼רô洢 - - DWORD dwPictureCapacity; //ӲͼƬ()λ:MB - DWORD dwFreePictureSpace; //ʣͼƬռ()λ:MB - BYTE byRes3[104]; -}NET_DVR_SINGLE_HD, *LPNET_DVR_SINGLE_HD; - -typedef struct -{ - DWORD dwSize; - DWORD dwHDCount; /*Ӳ()*/ - NET_DVR_SINGLE_HD struHDInfo[MAX_DISKNUM_V30];//ӲزҪЧ -}NET_DVR_HDCFG, *LPNET_DVR_HDCFG; - -//ӲϢ -typedef struct -{ - DWORD dwHDNo; /*Ӳ̺, ȡֵ0~MAX_DISKNUM_V30-1*/ - DWORD dwCapacity; /*Ӳ()*/ - DWORD dwFreeSpace; /*Ӳʣռ()*/ - DWORD dwHdStatus; //Ӳ״̬() HD_STAT 0-, 1-δʽ, 2-, 3-SMART״̬, - //4-ƥ, 5- 6-Ӳ̲ 7-̿ 10-Ӳ޸ - //11-Ӳڸʽ 12-Ӳڵȴʽ 13-Ӳж 14-Ӳ̲ - //15-ɾ(Ӳ),16-,17-棨ʱɻ̣,18-̣Ѿ𻵵Ӳ̣,19-̣쳣߳Уֻ,20-δ֤δ⣬ҪCVRжԴ̽м⣩ - //21-δ¼иʽ - BYTE byHDAttr; /*0-ͨ, 1-; 2-ֻ3-浵4-ɶд*/ - BYTE byHDType; /*0-Ӳ,1-ESATAӲ,2-NASӲ,3-iSCSIӲ 4-Array,5-SD,6-minSAS*/ - BYTE byDiskDriver; // ֵ ASCIIַ - BYTE byGenusGruop; //飺0-1-У2-洢أ3-̣4-δʼ5-Ч̣6-ȱ7-ȫȱֻ - DWORD dwHdGroup; /*ĸ 1-MAX_HD_GROUP*/ - BYTE byRecycling; // Ƿѭ 0ѭã1ѭ - BYTE bySupportFormatType; /*ǰӲֵ֧ĸʽ,ֻǰýڵ֧byHDType=5(SD)ʱ; - bySupportFormatType=0,豸ĬʽӲ; - bySupportFormatType:bit0: 0-֧FAT32ʽ,1-֧; - bySupportFormatType:bit1: 0-֧EXT4ʽ,1-֧;*/ - BYTE byFormatType; /*ǰӲ̸ʽ: 0-豸Ĭϸʽ,1-ָFAT32ʽ(byHDType=5(SD)ʱЧ), - 2-ָEXT4ʽ(byHDType=5(SD)ʱЧ)*/ - BYTE byRes2; - DWORD dwStorageType; //λʾ 0-֧ 0-֧ - // dwStorageType & 0x1 ʾǷͨ¼רô洢 - // dwStorageType & 0x2 ʾǷdz֡¼רô洢 - // dwStorageType & 0x4 ʾǷͼƬ¼רô洢 - - DWORD dwPictureCapacity; //ӲͼƬ()λ:MB - DWORD dwFreePictureSpace; //ʣͼƬռ()λ:MB - BYTE byDiskLocation[NET_SDK_DISK_LOCATION_LEN/*16*/];//Ӳλãʽעֻ - BYTE bySupplierName[NET_SDK_SUPPLIER_NAME_LEN/*32*/];//Ӧƣֻ - BYTE byDiskModel[NET_SDK_DISK_MODEL_LEN /*64*/];//Ӳͺţֻ - char szHDLocateIP[SDK_MAX_IP_LEN];//IPϢ - BYTE byRes3[80]; -}NET_DVR_SINGLE_HD_V50, *LPNET_DVR_SINGLE_HD_V50; - -typedef struct -{ - DWORD dwSize; - DWORD dwHDCount; /*Ӳ()*/ - NET_DVR_SINGLE_HD_V50 struHDInfoV50[MAX_DISKNUM_V30];//ӲزҪЧ - BYTE byRes[128]; -}NET_DVR_HDCFG_V50, *LPNET_DVR_HDCFG_V50; - -typedef struct tagNET_DVR_HARD_DISK_SINGLE_VOLUME_INFO -{ - DWORD dwSize; - BYTE byHDVolumeNo; /*Ӳ̾ID()*/ - BYTE byType; /*Ӳ̾:0-¼ڱ¼񣩣1-浵ڴ浵¼·¼ƻʱܹ浵, - 2-ļֻڴ洢ͻϴļ·¼ƻʱܹļҪ˵3-ͼƬֻڴ洢ͻϴͼƬ*/ - BYTE byRes1[2]; - DWORD dwCapacity; /*Ӳ̾λMB()*/ - DWORD dwFreeSpace; /*Ӳ̾ʣռ䣬λMB() */ - BYTE byHDVolumeName[NET_SDK_DISK_VOLUME_LEN/*36*/]; /*Ӳ̾()*/ - BYTE byLoopCover; /*Ƿѭǣ0-ѭǣ1-ѭǣӲ֮̾ѭϵ¼*/ - BYTE byRes[63]; -}NET_DVR_HARD_DISK_SINGLE_VOLUME_INFO, *LPNET_DVR_HARD_DISK_SINGLE_VOLUME_INFO; - -typedef struct tagNET_DVR_HARD_DISK_VOLUME_INFO -{ - DWORD dwSize; - DWORD dwHDVolumeCount; /*ǰӲ̾()*/ - NET_DVR_HARD_DISK_SINGLE_VOLUME_INFO struSingleVolumeInfo[NET_SDK_MAX_DISK_VOLUME/*33*/]; /*Ӳ̾Ϣ*/ - BYTE byRes[128]; -}NET_DVR_HARD_DISK_VOLUME_INFO, *LPNET_DVR_HARD_DISK_VOLUME_INFO; - -//Ϣչ -typedef struct tagNET_DVR_SINGLE_HDGROUP_V40 -{ - DWORD dwHDGroupNo; /*() 1-MAX_HD_GROUP*/ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; //¼ֵͨʾ0xffffffffʱΪЧ - BYTE byRes[64]; /* */ -}NET_DVR_SINGLE_HDGROUP_V40, *LPNET_DVR_SINGLE_HDGROUP_V40; - -typedef struct tagNET_DVR_HDGROUP_CFG_V40 -{ - DWORD dwSize; //ṹС - DWORD dwMaxHDGroupNum; //豸ֵ֧-ֻ - DWORD dwCurHDGroupNum; /*ǰõ*/ - NET_DVR_SINGLE_HDGROUP_V40 struHDGroupAttr[MAX_HD_GROUP]; //ӲزҪЧ - BYTE byRes[128]; // -}NET_DVR_HDGROUP_CFG_V40, *LPNET_DVR_HDGROUP_CFG_V40; - -//Ϣ -typedef struct -{ - DWORD dwHDGroupNo; /*() 1-MAX_HD_GROUP*/ - BYTE byHDGroupChans[MAX_CHANNUM_V30]; /*Ӧ¼ͨ, 0-ʾͨ¼󵽸飬1-ʾ¼󵽸*/ - BYTE byRes[8]; -}NET_DVR_SINGLE_HDGROUP, *LPNET_DVR_SINGLE_HDGROUP; - -typedef struct -{ - DWORD dwSize; - DWORD dwHDGroupCount; /*()*/ - NET_DVR_SINGLE_HDGROUP struHDGroupAttr[MAX_HD_GROUP];//ӲزҪЧ -}NET_DVR_HDGROUP_CFG, *LPNET_DVR_HDGROUP_CFG; - - -//ŲĽṹ -typedef struct -{ - DWORD dwSize; - DWORD dwMajorScale; /* ʾ 0-ţ1-*/ - DWORD dwMinorScale; /* ʾ 0-ţ1-*/ - DWORD dwRes[2]; -}NET_DVR_SCALECFG, *LPNET_DVR_SCALECFG; - - - -//DVR(9000չ) -typedef struct -{ - DWORD dwSize; - BYTE sAlarmOutName[NAME_LEN]; /* */ - DWORD dwAlarmOutDelay; /* ʱ(-1Ϊޣֶر) */ - //0-5,1-10,2-30,3-1,4-2,5-5,6-10,7-ֶ,8-1,9-2,10-3,11-4 - NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT_V30];/* ʱ */ - BYTE byAlarmOutHandle; /* Ƿ 0- 1-*/ - BYTE byNormalSatus; /* ̬ 0- 1-*/ - BYTE byRes[14]; -}NET_DVR_ALARMOUTCFG_V30, *LPNET_DVR_ALARMOUTCFG_V30; - -//DVR -typedef struct -{ - DWORD dwSize; - BYTE sAlarmOutName[NAME_LEN]; /* */ - DWORD dwAlarmOutDelay; /* ʱ(-1Ϊޣֶر) */ - //0-5,1-10,2-30,3-1,4-2,5-5,6-10,7-ֶ, 8-1, 9-3 - NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];/* ʱ */ -}NET_DVR_ALARMOUTCFG, *LPNET_DVR_ALARMOUTCFG; - -//DVRԤ(9000չ) -/*лָڵǰԤģʽлʾ棬лԤģʽbyPreviewNumberΪ01棩bySwitchSeq[0][0] = 1,bySwitchSeq[0][1] = 2,bySwitchSeq[0][2] = 3 -򱾵ػһֱ1棬Ȼ水1,2,3ͨ˳л*/ -typedef struct -{ - DWORD dwSize; - BYTE byPreviewNumber;//Ԥģʽ,0-1,1-4,2-9,3-16,0xff: - BYTE byEnableAudio;//ǷԤ,0-Ԥ,1-Ԥ - WORD wSwitchTime;//лʱ,0-л,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s - BYTE bySwitchSeq[MAX_PREVIEW_MODE][MAX_WINDOW_V30];//л˳,lSwitchSeq[i]Ϊ 0xffʾ - BYTE byRes[24]; -}NET_DVR_PREVIEWCFG_V30, *LPNET_DVR_PREVIEWCFG_V30; - -//DVRԤ -typedef struct -{ - DWORD dwSize; - BYTE byPreviewNumber;//ԤĿ,0-1,1-4,2-9,3-16,0xff: - BYTE byEnableAudio;//ǷԤ,0-Ԥ,1-Ԥ - WORD wSwitchTime;//лʱ,0-л,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s - BYTE bySwitchSeq[MAX_WINDOW];//л˳,lSwitchSeq[i]Ϊ 0xffʾ -}NET_DVR_PREVIEWCFG, *LPNET_DVR_PREVIEWCFG; - -//DVRƵ -typedef struct -{ - WORD wResolution; /* ֱ */ - WORD wFreq; /* ˢƵ */ - DWORD dwBrightness; /* */ -}NET_DVR_VGAPARA; - -/* -* MATRIXṹ -*/ -typedef struct -{ - WORD wOrder[MAX_ANALOG_CHANNUM]; /* Ԥ˳, 0xffʾӦĴڲԤ */ - WORD wSwitchTime; /* Ԥлʱ */ - BYTE res[14]; -}NET_DVR_MATRIXPARA_V30, *LPNET_DVR_MATRIXPARA_V30; - -typedef struct -{ - WORD wDisplayLogo; /* ʾƵͨ */ - WORD wDisplayOsd; /* ʾʱ */ -}NET_DVR_MATRIXPARA; - -typedef struct -{ - BYTE byVideoFormat; /* ʽ,0-PAL,1-NTSC */ - BYTE byMenuAlphaValue; /* ˵뱳ͼԱȶ */ - WORD wScreenSaveTime; /* Ļʱ 0-Ӳ,1-1,2-2,3-5,4-10,5-20,6-30 */ - WORD wVOffset; /* Ƶƫ */ - WORD wBrightness; /* Ƶ */ - BYTE byStartMode; /* Ƶģʽ(0:˵,1:Ԥ)*/ - BYTE byEnableScaler; /* Ƿ (0-, 1-)*/ -}NET_DVR_VOOUT; - -//DVRƵ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT_V30]; - NET_DVR_VGAPARA struVGAPara[MAX_VGA_V30]; /* VGA */ - NET_DVR_MATRIXPARA_V30 struMatrixPara[MAX_MATRIXOUT]; /* MATRIX */ - BYTE byRes[16]; -}NET_DVR_VIDEOOUT_V30, *LPNET_DVR_VIDEOOUT_V30; - -//DVRƵ -typedef struct -{ - DWORD dwSize; - NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT]; - NET_DVR_VGAPARA struVGAPara[MAX_VGA]; /* VGA */ - NET_DVR_MATRIXPARA struMatrixPara; /* MATRIX */ -}NET_DVR_VIDEOOUT, *LPNET_DVR_VIDEOOUT; - - -//û(ӽṹ)(չ) -typedef struct tagNET_DVR_USER_INFO_V40 -{ - BYTE sUserName[NAME_LEN]; /* ûֻ16ֽ */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - BYTE byRemoteRight[MAX_RIGHT];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - DWORD dwNetPreviewRight[MAX_CHANNUM_V40]; /* Զ̿Ԥͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalRecordRight[MAX_CHANNUM_V40]; /* ؿ¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetRecordRight[MAX_CHANNUM_V40]; /* Զ̿¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPlaybackRight[MAX_CHANNUM_V40]; /* ؿԻطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPlaybackRight[MAX_CHANNUM_V40]; /* Զ̿Իطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPTZRight[MAX_CHANNUM_V40]; /* ؿPTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPTZRight[MAX_CHANNUM_V40]; /* Զ̿PTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalBackupRight[MAX_CHANNUM_V40]; /* رȨͨǰ˳У0xffffffffΪЧ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־ - ״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غ - Զ̻ط,ԽԶԤر,/Զ̹ػ/ - ߡԱ */ - BYTE byAlarmOnRight; // ڲȨ 1-Ȩޣ0-Ȩ - BYTE byAlarmOffRight; // ڳȨ 1-Ȩޣ0-Ȩ - BYTE byBypassRight; // ·Ȩ 1-Ȩޣ0-Ȩ - BYTE byRes1[2]; //ֽڶ - BYTE byPublishRight[MAX_RIGHT]; //ϢרȨ - /*0: زȨ*/ - /*1: ĿȨ*/ - /*2: ճȨ*/ - /*3: ϴزȨ*/ - /*4: ½ĿȨ*/ - /*5: ½ճȨ*/ - /*6: ϢȨ*/ - /*7: ն˹Ȩ*/ - /*8: ҵȨ*/ - BYTE byRes[84]; -}NET_DVR_USER_INFO_V40, *LPNET_DVR_USER_INFO_V40; - -//û(ӽṹ)(չ) -typedef struct tagNET_DVR_USER_INFO_V51 -{ - BYTE sUserName[NAME_LEN/*32*/]; /* ûֻ16ֽ */ - BYTE sPassword[PASSWD_LEN/*16*/]; /* */ - BYTE byLocalRight[MAX_RIGHT/*32*/]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - /*10: Ԥ */ - BYTE byRemoteRight[MAX_RIGHT/*32*/];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - DWORD dwNetPreviewRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Ԥͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalRecordRight[MAX_CHANNUM_V40/*512*/]; /* ؿ¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetRecordRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* ؿԻطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Իطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPTZRight[MAX_CHANNUM_V40/*512*/]; /* ؿPTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPTZRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿PTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalBackupRight[MAX_CHANNUM_V40/*512*/]; /* رȨͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPreviewRight[MAX_CHANNUM_V40/*512*/]; /* ԤȨͨǰ˳У0xffffffffΪЧ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN/*6*/]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־ - ״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غ - Զ̻ط,ԽԶԤر,/Զ̹ػ/ߡԱ */ - BYTE byAlarmOnRight; // ڲȨ 1-Ȩޣ0-Ȩ - BYTE byAlarmOffRight; // ڳȨ 1-Ȩޣ0-Ȩ - BYTE byBypassRight; // ·Ȩ 1-Ȩޣ0-Ȩ - BYTE byRes1[2]; //ֽڶ - BYTE byPublishRight[MAX_RIGHT/*32*/]; //ϢרȨ - /*0: زȨ*/ - /*1: ĿȨ*/ - /*2: ճȨ*/ - /*3: ϴزȨ*/ - /*4: ½ĿȨ*/ - /*5: ½ճȨ*/ - /*6: ϢȨ*/ - /*7: ն˹Ȩ*/ - /*8: ҵȨ*/ - DWORD dwPasswordValidity; //Ч,Աû޸,λ죬0ʾЧ - BYTE byKeypadPassword[PASSWD_LEN/*16*/]; // - BYTE byUserOperateType; //ûͣ1-û2-û3-û+û - BYTE byRes[1007]; -}NET_DVR_USER_INFO_V51, *LPNET_DVR_USER_INFO_V51; - -typedef struct tagNET_DVR_USER_V51 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V51 struUser[MAX_USERNUM_V30/*32*/]; /* û */ - char sloginPassword[PASSWD_LEN/*16*/]; /* ½ȷ */ - BYTE byRes[240]; // -}NET_DVR_USER_V51, *LPNET_DVR_USER_V51; - -//û(ӽṹ)(չ) -typedef struct tagNET_DVR_USER_INFO_V52 -{ - BYTE sUserName[NAME_LEN/*32*/]; /* ûֻ16ֽ */ - BYTE sPassword[PASSWD_LEN/*16*/]; /* */ - BYTE byLocalRight[MAX_RIGHT/*32*/]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - /*10: Ԥ */ - BYTE byRemoteRight[MAX_RIGHT/*32*/];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - DWORD dwNetPreviewRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Ԥͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalRecordRight[MAX_CHANNUM_V40/*512*/]; /* ؿ¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetRecordRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* ؿԻطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Իطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPTZRight[MAX_CHANNUM_V40/*512*/]; /* ؿPTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPTZRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿PTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalBackupRight[MAX_CHANNUM_V40/*512*/]; /* رȨͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPreviewRight[MAX_CHANNUM_V40/*512*/]; /* ԤȨͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalDoubleVerificationPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* ؿԶ֤طŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalDoubleVerificationBackupRight[MAX_CHANNUM_V40/*512*/]; /* ؿԶ֤ݵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetDoubleVerificationPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Զ֤طŵͨǰ˳У0xffffffffΪЧ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN/*6*/]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־ - ״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غ - Զ̻ط,ԽԶԤر,/Զ̹ػ/ߡԱ */ - BYTE byAlarmOnRight; // ڲȨ 1-Ȩޣ0-Ȩ - BYTE byAlarmOffRight; // ڳȨ 1-Ȩޣ0-Ȩ - BYTE byBypassRight; // ·Ȩ 1-Ȩޣ0-Ȩ - BYTE byRes1[2]; //ֽڶ - BYTE byPublishRight[MAX_RIGHT/*32*/]; //ϢרȨ - /*0: زȨ*/ - /*1: ĿȨ*/ - /*2: ճȨ*/ - /*3: ϴزȨ*/ - /*4: ½ĿȨ*/ - /*5: ½ճȨ*/ - /*6: ϢȨ*/ - /*7: ն˹Ȩ*/ - /*8: ҵȨ*/ - DWORD dwPasswordValidity; //Ч,Աû޸,λ죬0ʾЧ - BYTE byKeypadPassword[PASSWD_LEN/*16*/]; // - BYTE byUserOperateType; //ûͣ1-û2-û3-û+û - BYTE byRes[1007]; -}NET_DVR_USER_INFO_V52, *LPNET_DVR_USER_INFO_V52; - -typedef struct tagNET_DVR_USER_V52 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V52 struUser[MAX_USERNUM_V30/*32*/]; /* û */ - char sloginPassword[PASSWD_LEN/*16*/]; /* ½ȷ */ - BYTE byRes[240]; // -}NET_DVR_USER_V52, *LPNET_DVR_USER_V52; - -//û(ӽṹ)(9000չ) -typedef struct -{ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - BYTE byRemoteRight[MAX_RIGHT];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - BYTE byNetPreviewRight[MAX_CHANNUM_V30]; /* Զ̿Ԥͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalPlaybackRight[MAX_CHANNUM_V30]; /* ؿԻطŵͨ 0-Ȩޣ1-Ȩ*/ - BYTE byNetPlaybackRight[MAX_CHANNUM_V30]; /* Զ̿Իطŵͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalRecordRight[MAX_CHANNUM_V30]; /* ؿ¼ͨ 0-Ȩޣ1-Ȩ*/ - BYTE byNetRecordRight[MAX_CHANNUM_V30]; /* Զ̿¼ͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalPTZRight[MAX_CHANNUM_V30]; /* ؿPTZͨ 0-Ȩޣ1-Ȩ*/ - BYTE byNetPTZRight[MAX_CHANNUM_V30]; /* Զ̿PTZͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalBackupRight[MAX_CHANNUM_V30]; /* رȨͨ 0-Ȩޣ1-Ȩ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* - ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غԶ̻ط,ԽԶԤ - ر,/Զ̹ػ/ - ߡԱ - */ - BYTE byAlarmOnRight; // ڲȨ - BYTE byAlarmOffRight; // ڳȨ - BYTE byBypassRight; // ·Ȩ - BYTE byRes[14]; -}NET_DVR_USER_INFO_V30, *LPNET_DVR_USER_INFO_V30; - -//û(SDK_V15չ)(ӽṹ) -typedef struct -{ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - DWORD dwLocalPlaybackRight; /* ؿԻطŵͨ bit0 -- channel 1*/ - DWORD dwRemoteRight[MAX_RIGHT]; /* Ȩ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - DWORD dwNetPreviewRight; /* Զ̿Ԥͨ bit0 -- channel 1*/ - DWORD dwNetPlaybackRight; /* Զ̿Իطŵͨ bit0 -- channel 1*/ - char sUserIP[16]; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ -}NET_DVR_USER_INFO_EX, *LPNET_DVR_USER_INFO_EX; - -//û(ӽṹ) -typedef struct -{ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - DWORD dwRemoteRight[MAX_RIGHT]; /* Ȩ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - char sUserIP[16]; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ -}NET_DVR_USER_INFO, *LPNET_DVR_USER_INFO; - -//DVRû(չ) -typedef struct tagNET_DVR_USER_V40 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V40 struUser[MAX_USERNUM_V30]; /* û */ -}NET_DVR_USER_V40,*LPNET_DVR_USER_V40; -typedef struct tagNET_DVR_USER_V50 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V40 struUser[MAX_USERNUM_V30]; /* û */ - char sloginPassword[PASSWD_LEN/*16*/]; /* ½ȷ */ - BYTE byRes[240]; // -}NET_DVR_USER_V50, *LPNET_DVR_USER_V50; -//DVRû(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_USER_INFO_V30 struUser[MAX_USERNUM_V30]; -}NET_DVR_USER_V30, *LPNET_DVR_USER_V30; - -//DVRû(SDK_V15չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_USER_INFO_EX struUser[MAX_USERNUM]; -}NET_DVR_USER_EX, *LPNET_DVR_USER_EX; - -//DVRû -typedef struct -{ - DWORD dwSize; - NET_DVR_USER_INFO struUser[MAX_USERNUM]; -}NET_DVR_USER, *LPNET_DVR_USER; - -typedef struct tagNET_DVR_EXCEPTION_V40 -{ - DWORD dwSize ; //ṹС - DWORD dwMaxGroupNum ; //豸ֵ֧ - NET_DVR_HANDLEEXCEPTION_V41 struExceptionHandle[MAX_EXCEPTIONNUM_V30]; - BYTE byRes[128]; // -}NET_DVR_EXCEPTION_V40,*LPNET_DVR_EXCEPTION_V40; /*쳣չṹ*/ - -//DVR쳣(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_HANDLEEXCEPTION_V30 struExceptionHandleType[MAX_EXCEPTIONNUM_V30]; - /*0-,1- Ӳ̳,2-߶,3-IP ַͻ, 4-Ƿ, 5-/Ƶʽƥ, 6-Ƶź쳣, 7-¼쳣 8-쳣9-ǰ/¼ֱʲƥ쳣10-г(ר) 11-ȱ쳣N+1ʹã12-¶ȣ13-ϵͳ쳣14-쳣, 15-POE쳣, 16-POC쳣,17-Դѹ쳣*/ -}NET_DVR_EXCEPTION_V30, *LPNET_DVR_EXCEPTION_V30; - - - -//DVR쳣 -typedef struct -{ - DWORD dwSize; - NET_DVR_HANDLEEXCEPTION struExceptionHandleType[MAX_EXCEPTIONNUM]; - /*0-,1- Ӳ̳,2-߶,3-IP ַͻ,4-Ƿ, 5-/Ƶʽƥ, 6-Ƶź쳣*/ -}NET_DVR_EXCEPTION, *LPNET_DVR_EXCEPTION; - -//ͨ״̬(9000չ) -typedef struct -{ - BYTE byRecordStatic; //ͨǷ¼,0-¼,1-¼ - BYTE bySignalStatic; //ӵź״̬,0-,1-źŶʧ - BYTE byHardwareStatic;//ͨӲ״̬,0-,1-쳣,DSP - BYTE byRes1; // - DWORD dwBitRate;//ʵ - DWORD dwLinkNum;//ͻӵĸ - NET_DVR_IPADDR struClientIP[MAX_LINK];//ͻ˵IPַ - DWORD dwIPLinkNum;//ͨΪIP룬ôʾIP뵱ǰ - BYTE byExceedMaxLink; // Ƿ񳬳˵·6· 0 - δ, 1- - BYTE byRes[3]; // ֽ - DWORD dwAllBitRate; //ʵ֮ - DWORD dwChannelNo; //ǰͨţ0xffffffffʾЧ -}NET_DVR_CHANNELSTATE_V30, *LPNET_DVR_CHANNELSTATE_V30; - -//ͨ״̬ -typedef struct -{ - BYTE byRecordStatic; //ͨǷ¼,0-¼,1-¼ - BYTE bySignalStatic; //ӵź״̬,0-,1-źŶʧ - BYTE byHardwareStatic;//ͨӲ״̬,0-,1-쳣,DSP - char reservedData; // - DWORD dwBitRate;//ʵ - DWORD dwLinkNum;//ͻӵĸ - DWORD dwClientIP[MAX_LINK];//ͻ˵IPַ -}NET_DVR_CHANNELSTATE, *LPNET_DVR_CHANNELSTATE; - -//Ӳ״̬ -typedef struct -{ - DWORD dwVolume;//Ӳ̵ - DWORD dwFreeSpace;//Ӳ̵ʣռ - DWORD dwHardDiskStatic; //Ӳ̵״̬,λ:1-,2-,3-Ӳ̳,4-δʽ, 5-δ״̬(Ӳ),6-Ӳڸʽ,7-Ӳ(δѭǵ),8-쳣豸ͳƣ -}NET_DVR_DISKSTATE, *LPNET_DVR_DISKSTATE; - -typedef struct tagNET_DVR_WORKSTATE_V40 -{ - DWORD dwSize ; //ṹС - DWORD dwDeviceStatic; //豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; //Ӳ״̬,һֻܻȡ33ӲϢ - NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V40/*512*/];//ͨ״̬ǰ˳ - DWORD dwHasAlarmInStatic[MAX_ALARMIN_V40/*512*/]; //бıڣֵʾ±ֵ˳УֵΪ0xffffffffʱǰֵЧ - DWORD dwHasAlarmOutStatic[MAX_ALARMOUT_V40/*512*/]; //бıڣֵʾ±ֵ˳УֵΪ0xffffffffʱǰֵЧ - DWORD dwLocalDisplay; //ʾ״̬,0-,1- - BYTE byAudioInChanStatus[MAX_AUDIO_V30/*2*/]; //λʾͨ״̬ 0-δʹã1-ʹУ0λʾ1ͨ - BYTE byRes1[2]; - float fHumidity; //֪ʪ,Χ:0.0 ~100.0 - float fTemperature; //֪¶ȣΧ-20.0 ~ 90.0 - BYTE byRes[116]; // -}NET_DVR_WORKSTATE_V40, *LPNET_DVR_WORKSTATE_V40; /*豸״̬չṹ*/ - -typedef struct tagNET_DVR_GETWORKSTATE_COND -{ - DWORD dwSize ; //ṹ峤 - BYTE byFindHardByCond; /*0-ȫ(һֻܲ33)ʱdwFindHardStatusNumЧ*/ - BYTE byFindChanByCond ; /*0-ȫͨʱdwFindChanNumЧ*/ - BYTE byRes1[2] ;// - DWORD dwFindHardStatus[MAX_DISKNUM_V30/*33*/] ; /*ҪҵӲ̺ţֵʾֵ˳У 0xffffffffΪЧ */ - DWORD dwFindChanNo[MAX_CHANNUM_V40/*512*/] ; /*Ҫҵͨţֵʾֵ˳У 0xffffffffΪЧ */ - BYTE byRes[64] ; // -}NET_DVR_GETWORKSTATE_COND, *LPNET_DVR_GETWORKSTATE_COND; - -//DVR״̬(9000չ) -typedef struct -{ - DWORD dwDeviceStatic; //豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; - NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V30];//ͨ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN_V30]; //˿ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT_V30]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay;//ʾ״̬,0-,1- - BYTE byAudioChanStatus[MAX_AUDIO_V30];//ʾͨ״̬ 0-δʹã1-ʹ, 0xffЧ - BYTE byRes[10]; -}NET_DVR_WORKSTATE_V30, *LPNET_DVR_WORKSTATE_V30; - -//DVR״̬ -typedef struct -{ - DWORD dwDeviceStatic; //豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM]; - NET_DVR_CHANNELSTATE struChanStatic[MAX_CHANNUM];//ͨ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN]; //˿ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay;//ʾ״̬,0-,1- -}NET_DVR_WORKSTATE, *LPNET_DVR_WORKSTATE; - - - -//־Ϣ(9000չ) -typedef struct -{ - NET_DVR_TIME strLogTime; - DWORD dwMajorType; // 1-; 2-쳣; 3-; 0xff-ȫ - DWORD dwMinorType;// 0-ȫ; - BYTE sPanelUser[MAX_NAMELEN]; //û - BYTE sNetUser[MAX_NAMELEN];//û - NET_DVR_IPADDR struRemoteHostAddr;//Զַ - DWORD dwParaType;//,9000豸MINOR_START_VT/MINOR_STOP_VTʱʾԽĶӺ - DWORD dwChannel;//ͨ - DWORD dwDiskNumber;//Ӳ̺ - DWORD dwAlarmInPort;//˿ - DWORD dwAlarmOutPort;//˿ - DWORD dwInfoLen; - char sInfo[LOG_INFO_LEN]; -}NET_DVR_LOG_V30, *LPNET_DVR_LOG_V30; - -//־Ϣ -typedef struct -{ - NET_DVR_TIME strLogTime; - DWORD dwMajorType; // 1-; 2-쳣; 3-; 0xff-ȫ - DWORD dwMinorType;// 0-ȫ; - BYTE sPanelUser[MAX_NAMELEN]; //û - BYTE sNetUser[MAX_NAMELEN];//û - char sRemoteHostAddr[16];//Զַ - DWORD dwParaType;// - DWORD dwChannel;//ͨ - DWORD dwDiskNumber;//Ӳ̺ - DWORD dwAlarmInPort;//˿ - DWORD dwAlarmOutPort;//˿ -}NET_DVR_LOG, *LPNET_DVR_LOG; - - -typedef struct tagNET_DVR_FIND_LOG_COND -{ - DWORD dwSelectMode; // 0ȫ1ͣ2ʱ䣻3ʱ - DWORD dwMainType; //־ - DWORD dwSubType; //־ - NET_DVR_TIME_V50 struStartTime; //ʼʱ - NET_DVR_TIME_V50 struEndTime; //ʱ - BOOL bOnlySmart; //ǷֻS.M.A.R.TϢ־ - BYTE byRes[128]; -}NET_DVR_FIND_LOG_COND, *LPNET_DVR_FIND_LOG_COND; - - -typedef struct -{ - NET_DVR_TIME_V50 struLogTime; //־ʱ - DWORD dwMajorType; // 1-; 2-쳣; 3-; 0xff-ȫ - DWORD dwMinorType; // 0-ȫ; - BYTE sPanelUser[MAX_NAMELEN];//û - BYTE sNetUser[MAX_NAMELEN]; //û - NET_DVR_IPADDR struRemoteHostAddr; //Զַ - DWORD dwParaType; //,9000豸MINOR_START_VT/MINOR_STOP_VTʱʾԽĶӺ - DWORD dwChannel; //ͨ - DWORD dwDiskNumber; //Ӳ̺ - DWORD dwAlarmInPort; //˿ - DWORD dwAlarmOutPort; //˿ - DWORD dwInfoLen; - char sInfo[LOG_INFO_LEN]; - BYTE byRes[128]; -}NET_DVR_LOG_V50, *LPNET_DVR_LOG_V50; - - -/************************DVR־ end***************************/ - -/************************־ begin************************************************/ -typedef struct tagNET_DVR_ALARMHOST_SEARCH_LOG_PARAM -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME struStartTime; // ʼʱ - NET_DVR_TIME struEndTime; // ʱ - BYTE byRes[8]; // ֽ -}NET_DVR_ALARMHOST_SEARCH_LOG_PARAM, LPNET_DVR_ALARMHOST_SEARCH_LOG_PARAM; - -typedef struct tagNET_DVR_ALARMHOST_LOG_RET -{ - NET_DVR_TIME struLogTime; // ־ʱ - BYTE sUserName[NAME_LEN]; // û - NET_DVR_IPADDR struIPAddr; // IPַ - WORD wMajorType; // - WORD wMinorType; // - WORD wParam; // - BYTE byRes[10]; - DWORD dwInfoLen; // Ϣ - char sInfo[LOG_INFO_LEN]; // Ϣ -}NET_DVR_ALARMHOST_LOG_RET, *LPNET_DVR_ALARMHOST_LOG_RET; - -/*************************־ end***********************************************/ - -//״̬(9000չ) -typedef struct -{ - BYTE Output[MAX_ALARMOUT_V30]; -}NET_DVR_ALARMOUTSTATUS_V30, *LPNET_DVR_ALARMOUTSTATUS_V30; - -//״̬ -typedef struct -{ - BYTE Output[MAX_ALARMOUT]; -}NET_DVR_ALARMOUTSTATUS, *LPNET_DVR_ALARMOUTSTATUS; - -//Ϣ -typedef struct -{ - USHORT m_Year; - USHORT m_Month; - USHORT m_Day; - USHORT m_Hour; - USHORT m_Minute; - USHORT m_Second; - BYTE DeviceName[24]; //豸 - DWORD dwChannelNumer; //ͨ - BYTE CardNumber[32]; // - char cTradeType[12]; // - DWORD dwCash; //׽ -}NET_DVR_TRADEINFO, *LPNET_DVR_TRADEINFO; - - -//ATMר -/****************************ATM(begin)***************************/ -#define NCR 0 -#define DIEBOLD 1 -#define WINCOR_NIXDORF 2 -#define SIEMENS 3 -#define OLIVETTI 4 -#define FUJITSU 5 -#define HITACHI 6 -#define SMI 7 -#define IBM 8 -#define BULL 9 -#define YiHua 10 -#define LiDe 11 -#define GDYT 12 -#define Mini_Banl 13 -#define GuangLi 14 -#define DongXin 15 -#define ChenTong 16 -#define NanTian 17 -#define XiaoXing 18 -#define GZYY 19 -#define QHTLT 20 -#define DRS918 21 -#define KALATEL 22 -#define NCR_2 23 -#define NXS 24 - - -/*֡ʽ*/ -typedef struct -{ - BYTE code[12]; /* */ -}NET_DVR_FRAMETYPECODE; - - -//ATM -typedef struct -{ - DWORD dwSize; - char sATMIP[16]; /* ATM IPַ */ - DWORD dwATMType; /* ATM */ - DWORD dwInputMode; /* 뷽ʽ 0- 1- 2-ֱ 3-ATM*/ - DWORD dwFrameSignBeginPos; /* ı־λʼλ*/ - DWORD dwFrameSignLength; /* ı־λij */ - BYTE byFrameSignContent[12]; /* ı־λ */ - DWORD dwCardLengthInfoBeginPos; /* ųϢʼλ */ - DWORD dwCardLengthInfoLength; /* ųϢij */ - DWORD dwCardNumberInfoBeginPos; /* Ϣʼλ */ - DWORD dwCardNumberInfoLength; /* Ϣij */ - DWORD dwBusinessTypeBeginPos; /* ͵ʼλ */ - DWORD dwBusinessTypeLength; /* ͵ij */ - NET_DVR_FRAMETYPECODE frameTypeCode[10];/* */ -}NET_DVR_FRAMEFORMAT, *LPNET_DVR_FRAMEFORMAT; - -//ATM(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_IPADDR struATMIP; /* ATM IPַ */ - DWORD dwATMType; /* ATM */ - DWORD dwInputMode; /* 뷽ʽ 0- 1- 2-ֱ 3-ATM*/ - DWORD dwFrameSignBeginPos; /* ı־λʼλ*/ - DWORD dwFrameSignLength; /* ı־λij */ - BYTE byFrameSignContent[12]; /* ı־λ */ - DWORD dwCardLengthInfoBeginPos; /* ųϢʼλ */ - DWORD dwCardLengthInfoLength; /* ųϢij */ - DWORD dwCardNumberInfoBeginPos; /* Ϣʼλ */ - DWORD dwCardNumberInfoLength; /* Ϣij */ - DWORD dwBusinessTypeBeginPos; /* ͵ʼλ */ - DWORD dwBusinessTypeLength; /* ͵ij */ - NET_DVR_FRAMETYPECODE frameTypeCode[10]; /* */ - WORD wATMPort; /* Ų׽˿ں(Э鷽ʽ) ()0xffffʾֵЧ*/ - WORD wProtocolType; /* Э() 0xffffʾֵЧ*/ - BYTE byRes[24]; -}NET_DVR_FRAMEFORMAT_V30, *LPNET_DVR_FRAMEFORMAT_V30; - -//SDK_V31 ATM - -/**/ -typedef struct tagNET_DVR_FILTER -{ - BYTE byEnable; //0,;1, - BYTE byMode; //0,ASCII;1,HEX - BYTE byFrameBeginPos; // ҪĿַʼλ - BYTE byRes; // ֽ - BYTE byFilterText[16]; //ַ - BYTE byRes2[12]; // ֽ -}NET_DVR_FILTER, *LPNET_DVR_FILTER; - -//ݰ ݰʶ -typedef struct tagNET_DVR_IDENTIFICAT -{ - BYTE byStartMode; //ʼַģʽ:0,ASCII;1,HEX - BYTE byEndMode; //ַģʽ0,ASCII;1,HEX - BYTE byRes[2]; //ֽ - NET_DVR_FRAMETYPECODE struStartCode; //ݰʼʶַ - NET_DVR_FRAMETYPECODE struEndCode; //ݰʶַ - BYTE byRes1[12]; //ֽ -}NET_DVR_IDENTIFICAT, *LPNET_DVR_IDENTIFICAT; - -typedef struct tagNET_DVR_PACKAGE_LOCATION/*Ϣλ*/ -{ - BYTE byOffsetMode; /*λϢģʽ 0,token(ַ־ģʽ);1,fix̶ģʽ*/ - BYTE byRes1[3]; // ֽ - DWORD dwOffsetPos; /*modeΪ1ʱʹ,̶ƫƴС*/ - NET_DVR_FRAMETYPECODE struTokenCode; /*־λ*/ - BYTE byMultiplierValue; /*־λٴγ*/ - BYTE byEternOffset; /*ַƫ*/ - BYTE byCodeMode; /*0,ASCII;1,HEX*/ - BYTE byRes2[9]; //ֽ -}NET_DVR_PACKAGE_LOCATION, *LPNET_DVR_PACKAGE_LOCATION; - - -typedef struct tagNET_DVR_PACKAGE_LENGTH//Ϣ -{ - BYTE byLengthMode; //ͣ0,ɱ䳤;1,̶;2,(ӿлȡ) - BYTE byRes1[3]; // ֽ - DWORD dwFixLength; //modeΪ1ʱʹ,̶ȴС - DWORD dwMaxLength; //Ϣ󳤶 byLengthModeΪ0ʱʹ - DWORD dwMinLength; //ϢС byLengthModeΪ0ʱʹ - BYTE byEndMode; //ɱ䳤 սģʽ 0,ASCII;1,HEX - BYTE byRes2[3]; //ֽ - NET_DVR_FRAMETYPECODE struEndCode; //ɱ䳤ս - DWORD dwLengthPos; //lengthModeΪ2ʱʹãųڱеλ - DWORD dwLengthLen; //lengthModeΪ2ʱʹãųȵij - BYTE byRes3[8]; // ֽ -}NET_DVR_PACKAGE_LENGTH,* LPNET_DVR_PACKAGE_LENGTH; - -typedef struct tagNET_DVR_OSD_POSITION//OSD ӵλ -{ - BYTE byPositionMode; //ӷ񣬹2֣0ʾ1Զ - BYTE byRes1[3]; // ֽ - DWORD dwPosX; //x꣬ӷΪԶʱʹ - DWORD dwPosY; //y꣬ӷΪԶʱʹ - BYTE byRes2[8]; //ֽ -}NET_DVR_OSD_POSITION, *LPNET_DVR_OSD_POSITION; - -typedef struct tagNET_DVR_DATE_FORMAT//ʾʽ -{ - BYTE byMonth; //Month,0.mm;1.mmm;2.mmmm - BYTE byDay; //Day,0.dd; - BYTE byYear; //Year,0.yy;1.yyyy - BYTE byDateForm; //0~5յ - BYTE byRes[20]; // ֽ - char chSeprator[4]; //ָ - char chDisplaySeprator[4]; //ʾָ - BYTE byDisplayForm; //0~53item - BYTE res[27]; // ֽ -}NET_DVR_DATE_FORMAT, *LPNET_DVR_DATE_FORMAT; -typedef struct tagNET_DVRT_TIME_FORMAT//ʱʾʽ -{ - BYTE byTimeForm; //1. HH MM SS;0. HH MM - BYTE byRes1[23]; // ֽ - BYTE byHourMode; //0,12;1,24 - BYTE byRes2[3]; // ֽ - char chSeprator[4]; //ķָʱû - char chDisplaySeprator[4]; //ʾָ - BYTE byDisplayForm; //0~53item - BYTE byRes3[3]; // ֽ - BYTE byDisplayHourMode; //0,12;1,24 - BYTE byRes4[19]; // ֽ -}NET_DVR_TIME_FORMAT, *LPNET_DVR_TIME_FORMAT; - -typedef struct tagNET_DVR_OVERLAY_CHANNEL -{ - BYTE byChannel[64];//ӵͨ ÿֽڱʶһͨ byChannel[0]ֵΪ1Ӧͨ10ʾͨ1 - DWORD dwDelayTime; //ʱʱ - BYTE byEnableDelayTime; //Ƿõʱ - BYTE byRes[11]; // ֽ -}NET_DVR_OVERLAY_CHANNEL, *LPNET_DVR_OVERLAY_CHANNEL; - -// ATM ΪϢ -typedef struct tagNET_DVR_ATM_PACKAGE_ACTION -{ - NET_DVR_PACKAGE_LOCATION struPackageLocation;// λϢ - NET_DVR_OSD_POSITION struOsdPosition; // OSD λ - NET_DVR_FRAMETYPECODE struActionCode; //Ϊ - NET_DVR_FRAMETYPECODE struPreCode; //ַǰַ - BYTE byActionCodeMode; //Ϊģʽ0,ASCII;1,HEX - BYTE byRes[7]; // ֽ -}NET_DVR_ATM_PACKAGE_ACTION, *LPNET_DVR_ATM_PACKAGE_ACTION; - -// ATM DATAϢ -typedef struct tagNET_DVR_ATM_PACKAGE_DATE -{ - NET_DVR_PACKAGE_LOCATION struPackageLocation;// ڱеλϢ - NET_DVR_DATE_FORMAT struDateForm; //ʾʽ - NET_DVR_OSD_POSITION struOsdPosition; // OSDλϢ - BYTE res[8]; // ֽ -}NET_DVR_ATM_PACKAGE_DATE, *LPNET_DVR_ATM_PACKAGE_DATE; - - -//ATMʱϢ -typedef struct tagNET_DVR_ATM_PACKAGE_TIME -{ - NET_DVR_PACKAGE_LOCATION location; // ʱڱеλϢ - NET_DVR_TIME_FORMAT struTimeForm; // ʱʾʽ - NET_DVR_OSD_POSITION struOsdPosition;// OSD λϢ - BYTE byRes[8]; // ֽ -}NET_DVR_ATM_PACKAGE_TIME, *LPNET_DVR_ATM_PACKAGE_TIME; - - -// ATM Ϣţ׽ţ -typedef struct tagNET_DVR_ATM_PACKAGE_OTHERS -{ - NET_DVR_PACKAGE_LOCATION struPackageLocation; //λϢ - NET_DVR_PACKAGE_LENGTH struPackageLength; //Ϣ - NET_DVR_OSD_POSITION struOsdPosition; // OSDλϢ - NET_DVR_FRAMETYPECODE struPreCode; //ַǰַ - BYTE res[8]; //ֽ -}NET_DVR_ATM_PACKAGE_OTHERS, *LPNET_DVR_ATM_PACKAGE_OTHERS; - - -//ûԶЭ -typedef struct tagNET_DVR_ATM_USER_DEFINE_PROTOCOL -{ - NET_DVR_IDENTIFICAT struIdentification; //ı־ - NET_DVR_FILTER struFilter; //ݰ - NET_DVR_ATM_PACKAGE_OTHERS struCardNoPara; //ӿ - NET_DVR_ATM_PACKAGE_ACTION struTradeActionPara[MAX_ACTION_TYPE]; //ӽΪ 0-9 ζӦInCard OutCard OverLay SetTime GetStatus Query WithDraw Deposit ChanPass Transfer - NET_DVR_ATM_PACKAGE_OTHERS struAmountPara; //ӽ׽ - NET_DVR_ATM_PACKAGE_OTHERS struSerialNoPara; //ӽ - NET_DVR_OVERLAY_CHANNEL struOverlayChan; //ͨ - NET_DVR_ATM_PACKAGE_DATE struRes1; //ڣ - NET_DVR_ATM_PACKAGE_TIME struRes2; //ʱ䣬 - BYTE byRes3[124]; // -}NET_DVR_ATM_USER_DEFINE_PROTOCOL, *LPNET_DVR_ATM_USER_DEFINE_PROTOCOL; - -typedef struct tagNET_DVR_ATM_FRAMEFORMAT_V30 -{ - DWORD dwSize; //ṹС - BYTE byEnable; /*Ƿ0,;1,*/ - BYTE byInputMode; /**뷽ʽ:0-1Э顢2-ڼ3-Э*/ - BYTE byRes1[34]; //ֽ - NET_DVR_IPADDR struAtmIp; /*ATM IP ʱʹ */ - WORD wAtmPort; /* Э鷽ʽʱʹ*/ - BYTE byRes2[2]; // ֽ - DWORD dwAtmType; /*ATMЭͣNET_DVR_ATM_PROTOCOLṹлȡΪԶʱʹûԶЭ*/ - NET_DVR_ATM_USER_DEFINE_PROTOCOL struAtmUserDefineProtocol; //ûԶЭ飬ATMΪԶʱҪʹøö - BYTE byRes3[8]; -}NET_DVR_ATM_FRAMEFORMAT_V30, *LPNET_DVR_ATM_FRAMEFORMAT_V30; - -//ATMЭ -typedef enum _ATM_PROTO_TYPE_ -{ - ATM_PROTO_NCR = 0,//NCR - ATM_PROTO_DIEBOLD = 1,//DIEBOLD - ATM_PROTO_WINCOR_NIXDORF = 2,//WINCOR-NIXDORF - ATM_PROTO_SIEMENS = 4,//SIEMENS - ATM_PROTO_OLIVETTI = 5,//OLIVETTI - ATM_PROTO_FUJITSU = 6,//FUJITSU - ATM_PROTO_HITACHI = 7,//HITACHI - ATM_PROTO_SMI = 8,//SMI - ATM_PROTO_BULL = 9,//BULL - ATM_PROTO_YIHUA = 10,// - ATM_PROTO_LIDE = 11,// - ATM_PROTO_GDYT = 12,//ͨ - ATM_PROTO_MINI_BANL = 13,//Mini-Banl - ATM_PROTO_GUANGLI = 14,// - ATM_PROTO_DONGXIN = 15,// - ATM_PROTO_CHENTONG = 16,//ͨ - ATM_PROTO_NANTIAN = 17,// - ATM_PROTO_XIAOXING = 18,// - ATM_PROTO_GZYY = 19,// - ATM_PROTO_QHTLT = 20,//̩ - ATM_PROTO_DRS918 = 21,//DRS918 - ATM_PROTO_KALATEL = 22,//KALATEL - ATM_PROTO_NCR_2 = 23,//NCR_2 - ATM_PROTO_NXS = 24,//NXS - ATM_PROTO_ICBC = 25,// - ATM_PROTO_PSBC = 26,//й - ATM_PROTO_CUSTOM = 1025//Զ -}ATM_PROTO_TYPE; - -typedef struct tagNET_DVR_ATM_PROTO_TYPE -{ - DWORD dwAtmType; //ATMЭͣͬʱΪ ATM еdwAtmType ԶʱΪ1025 - char chDesc[ATM_DESC_LEN]; //ATMЭ -}NET_DVR_ATM_PROTO_TYPE, *LPNET_DVR_ATM_PROTO_TYPE; //ЭϢݽṹ - -typedef struct tagNET_DVR_ATM_PROTO_LIST //ATM Эб -{ - DWORD dwAtmProtoNum; // Эбĸ - NET_DVR_ATM_PROTO_TYPE struAtmProtoType[MAX_ATM_PROTOCOL_NUM]; //ЭбϢ -}NET_DVR_ATM_PROTO_LIST, *LPNET_DVR_ATM_PROTO_LIST; - -typedef struct tagNET_DVR_ATM_PROTOCOL -{ - DWORD dwSize; - NET_DVR_ATM_PROTO_LIST struNetListenList; // Э - NET_DVR_ATM_PROTO_LIST struSerialListenList; //ڼЭ - NET_DVR_ATM_PROTO_LIST struNetProtoList; //Э - NET_DVR_ATM_PROTO_LIST struSerialProtoList; //Э - NET_DVR_ATM_PROTO_TYPE struCustomProto; //ԶЭ -}NET_DVR_ATM_PROTOCOL, *LPNET_DVR_ATM_PROTOCOL; -// SDK_V31 - -/*****************************DS-6001D/F(begin)***************************/ -//DS-6001D Decoder -typedef struct -{ - BYTE byEncoderIP[16]; //豸ӵķIP - BYTE byEncoderUser[16]; //豸ӵķû - BYTE byEncoderPasswd[16]; //豸ӵķ - BYTE bySendMode; //豸ӷģʽ - BYTE byEncoderChannel; //豸ӵķͨ - WORD wEncoderPort; //豸ӵķĶ˿ں - BYTE reservedData[4]; // -}NET_DVR_DECODERINFO, *LPNET_DVR_DECODERINFO; - -typedef struct -{ - BYTE byEncoderIP[16]; //豸ӵķIP - BYTE byEncoderUser[16]; //豸ӵķû - BYTE byEncoderPasswd[16]; //豸ӵķ - BYTE byEncoderChannel; //豸ӵķͨ - BYTE bySendMode; //豸ӵķģʽ - WORD wEncoderPort; //豸ӵķĶ˿ں - DWORD dwConnectState; //豸ӷ״̬ - BYTE reservedData[4]; // -}NET_DVR_DECODERSTATE, *LPNET_DVR_DECODERSTATE; - -/*豸붨*/ -#define NET_DEC_STARTDEC 1 -#define NET_DEC_STOPDEC 2 -#define NET_DEC_STOPCYCLE 3 -#define NET_DEC_CONTINUECYCLE 4 -/*ӵͨ*/ -typedef struct -{ - char sDVRIP[16]; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byChannel; /* ͨ */ - BYTE byLinkMode; /* ģʽ */ - BYTE byLinkType; /* 0 1 */ -}NET_DVR_DECCHANINFO, *LPNET_DVR_DECCHANINFO; - -/*ÿͨ*/ -typedef struct -{ - BYTE byPoolChans; /*ÿ·ͨϵѭͨ, 4ͨ 0ʾûн*/ - NET_DVR_DECCHANINFO struchanConInfo[MAX_DECPOOLNUM]; - BYTE byEnablePoll; /*ǷѲ 0- 1-*/ - BYTE byPoolTime; /*Ѳʱ 0- 1-10 2-15 3-20 4-30 5-45 6-1 7-2 8-5 */ -}NET_DVR_DECINFO, *LPNET_DVR_DECINFO; - -/*豸*/ -typedef struct -{ - DWORD dwSize; - DWORD dwDecChanNum; /*ͨ*/ - NET_DVR_DECINFO struDecInfo[MAX_DECNUM]; -}NET_DVR_DECCFG, *LPNET_DVR_DECCFG; - -//2005-08-01 -/* 豸͸ͨ */ -typedef struct -{ - DWORD dwEnableTransPort; /* Ƿ͸ͨ 0 1*/ - char sDecoderIP[16]; /* DVR IPַ */ - WORD wDecoderPort; /* ˿ں */ - WORD wDVRTransPort; /* ǰDVRǴ485/2321ʾ232,2ʾ485 */ - char cReserve[4]; -}NET_DVR_PORTINFO, *LPNET_DVR_PORTINFO; - -typedef struct -{ - DWORD dwSize; - NET_DVR_PORTINFO struTransPortInfo[MAX_TRANSPARENTNUM]; /* 0ʾ232 1ʾ485 */ -}NET_DVR_PORTCFG, *LPNET_DVR_PORTCFG; - -/* ļط */ -typedef struct -{ - DWORD dwSize; - char sDecoderIP[16]; /* DVR IPַ */ - WORD wDecoderPort; /* ˿ں */ - WORD wLoadMode; /* طģʽ 1 2ʱ */ - union - { - BYTE byFile[100]; /* طŵļ */ - struct - { - DWORD dwChannel; - BYTE sUserName[NAME_LEN]; /*Ƶû*/ - BYTE sPassword[PASSWD_LEN]; /* */ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - }bytime; - }mode_size; -}NET_DVR_PLAYREMOTEFILE, *LPNET_DVR_PLAYREMOTEFILE; - -/*ǰ豸״̬*/ -typedef struct -{ - DWORD dwWorkType; /*ʽ1Ѳ2̬ӽ롢3ļط 4ʱط*/ - char sDVRIP[16]; /*ӵ豸ip*/ - WORD wDVRPort; /*Ӷ˿ں*/ - BYTE byChannel; /* ͨ */ - BYTE byLinkMode; /* ģʽ */ - DWORD dwLinkType; /* 0 1*/ - union - { - struct - { - BYTE sUserName[NAME_LEN]; /*Ƶû*/ - BYTE sPassword[PASSWD_LEN]; /* */ - char cReserve[52]; - }userInfo; - struct - { - BYTE fileName[100]; - }fileInfo; - struct - { - DWORD dwChannel; - BYTE sUserName[NAME_LEN]; /*Ƶû*/ - BYTE sPassword[PASSWD_LEN]; /* */ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - }timeInfo; - }objectInfo; -}NET_DVR_DECCHANSTATUS, *LPNET_DVR_DECCHANSTATUS; - -typedef struct -{ - DWORD dwSize; - NET_DVR_DECCHANSTATUS struDecState[MAX_DECNUM]; -}NET_DVR_DECSTATUS, *LPNET_DVR_DECSTATUS; -/*****************************DS-6001D/F(end)***************************/ - -//ַ(ӽṹ) -typedef struct -{ - WORD wShowString; // ԤͼǷʾַ,0-ʾ,1-ʾ ԤС704*576,ַĴСΪ32*32 - WORD wStringSize; /* ַijȣܴ44ַ */ - WORD wShowStringTopLeftX; /* ַʾλõx */ - WORD wShowStringTopLeftY; /* ַʾλõy */ - char sString[44]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRINGINFO, *LPNET_DVR_SHOWSTRINGINFO; - -//ַ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM_V30]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRING_V30, *LPNET_DVR_SHOWSTRING_V30; - -//ַչ(8ַ) -typedef struct -{ - DWORD dwSize; - NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM_EX]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRING_EX, *LPNET_DVR_SHOWSTRING_EX; - -//ַ -typedef struct -{ - DWORD dwSize; - NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRING, *LPNET_DVR_SHOWSTRING; - -/****************************DS9000ṹ(begin)******************************/ -/* -EMAILṹ -*/ -typedef struct -{ - DWORD dwSize; - BYTE sAccount[NAME_LEN]; /* ˺*/ - BYTE sPassword[MAX_EMAIL_PWD_LEN]; /* */ - struct - { - BYTE sName[NAME_LEN]; /* */ - BYTE sAddress[MAX_EMAIL_ADDR_LEN]; /* ˵ַ */ - }struSender; - BYTE sSmtpServer[MAX_EMAIL_ADDR_LEN]; /* smtp */ - BYTE sPop3Server[MAX_EMAIL_ADDR_LEN]; /* pop3 */ - struct - { - BYTE sName[NAME_LEN]; /* ռ */ - BYTE sAddress[MAX_EMAIL_ADDR_LEN]; /* ռ˵ַ */ - }struReceiver[3]; /* 3ռ */ - BYTE byAttachment; /* Ƿ */ - BYTE bySmtpServerVerify; /* ͷҪ֤ */ - BYTE byMailInterval; /* mail interval */ - BYTE byEnableSSL; //sslǷ9000_1.1 - WORD wSmtpPort; //gmail465ͨΪ25 - BYTE byEnableTLS; /*TLSǷ*/ - BYTE byStartTLS; /*ǷStartTLS*/ - BYTE byRes[72]; /**/ -} NET_DVR_EMAILCFG_V30, *LPNET_DVR_EMAILCFG_V30; - -/* -DVRʵѲݽṹ -*/ -typedef struct -{ - DWORD dwSize; - BYTE byPresetNo[CRUISE_MAX_PRESET_NUMS]; /* Ԥõ */ - BYTE byCruiseSpeed[CRUISE_MAX_PRESET_NUMS]; /* Ѳٶ */ - WORD wDwellTime[CRUISE_MAX_PRESET_NUMS]; /* ͣʱ */ - BYTE byEnableThisCruise; /* Ƿ */ - BYTE res[15]; -}NET_DVR_CRUISE_PARA, *LPNET_DVR_CRUISE_PARA; -/****************************DS9000ṹ(end)******************************/ - -//ʱ -typedef struct -{ - DWORD dwMonth; // 0-11ʾ1-12 - DWORD dwWeekNo; //ڼ 01 12 23 34 4һ - DWORD dwWeekDate; //ڼ 0 1һ 2ڶ 3 4 5 6 - DWORD dwHour; //Сʱ ʼʱ023 ʱ123 - DWORD dwMin; // 059 -}NET_DVR_TIMEPOINT; - -//ʱ -typedef struct -{ - DWORD dwSize; - DWORD dwZoneIndex; //ӦòʹNET_DVR_NTPPARA еcTimeDifferenceH cTimeDifferenceM ʱ˴ûȡֵ䣬ûṩ༭ - BYTE byRes1[12]; // - DWORD dwEnableDST; //Ƿʱ 0 1 - BYTE byDSTBias; //ʱƫֵ30min, 60min, 90min, 120min, ԷӼƣԭʼֵ - BYTE byRes2[3]; - NET_DVR_TIMEPOINT struBeginPoint; //ʱƿʼʱ - NET_DVR_TIMEPOINT struEndPoint; //ʱֹͣʱ -}NET_DVR_ZONEANDDST, *LPNET_DVR_ZONEANDDST; - -//ͼƬ -typedef struct -{ -/*ע⣺ͼѹֱΪVGAʱ֧0=CIF, 1=QCIF, 2=D1ץͼ -ֱΪ3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p - ֵ֧ǰֱʵץͼ*/ - - /* ͨȡ - 0-CIF 1-QCIF 2-D1 3-UXGA(1600x1200), 4-SVGA(800x600),5-HD720p(1280x720) - 6-VGA 7-XVGA 8-HD900p 9-HD1080 10-2560*1920 - 11-1600*304 12-2048*1536 13-2448*2048, 14-2448*1200 15-2448*800 - 16-XGA(1024*768), 17-SXGA(1280*1024),18-WD1(960*576/960*480), 19-1080i, 20-576*576 - 21-1536*1536, 22-1920*1920, 23-320*240, 24-720*720, 25-1024*768, - 26-1280*1280, 27-1600*600, 28-2048*768, 29-160*120, 55-3072*2048, - 64-3840*2160, 70-2560*1440, 75-336*256, - 78-384*256, 79-384*216, 80-320*256, 82-320*192, 83-512*384, - 127-480*272, 128-512*272, 161-288*320, 162-144*176, 163-480*640, - 164-240*320, 165-120*160, 166-576*720, 167-720*1280, 168-576*960, - 180-180*240, 181-360*480, 182-540*720, 183-720*960, 184-960*1280, - 185-1080*1440, 215-1080*720(ռλδ), 216-360x640(ռλδ),245-576*704(ռλδ) - 500-384*288, - 0xff-Auto(ʹõǰֱ) - */ - WORD wPicSize; - WORD wPicQuality; /* ͼƬϵ 0- 1-Ϻ 2-һ */ -}NET_DVR_JPEGPARA, *LPNET_DVR_JPEGPARA; - -//ṹ -typedef struct tagNET_VCA_RECT -{ - float fX; //߽ϽǵX, 0.000~1 - float fY; //߽ϽǵY, 0.000~1 - float fWidth; //߽Ŀ, 0.000~1 - float fHeight; //߽ĸ߶, 0.000~1 -}NET_VCA_RECT, *LPNET_VCA_RECT; - -typedef struct tagNET_DVR_JPEGPICTURE_WITH_APPENDDATA -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - DWORD dwJpegPicLen;//JpegͼƬ - char *pJpegPicBuff;//JpegͼƬָ - DWORD dwJpegPicWidth; // ͼ - DWORD dwJpegPicHeight; //ͼ߶ - DWORD dwP2PDataLen;//ȫݳ - char *pP2PDataBuff; //ȫָ - BYTE byIsFreezedata;//Ƿݶ 0- 1- - BYTE byRes1[3]; - DWORD dwVisiblePicLen;//ɼͼƬ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char *pVisiblePicBuff;//ɼͼƬָ -#else - char *pVisiblePicBuff;//ɼͼƬָ - BYTE byRes2[4]; -#endif - NET_VCA_RECT struThermalValidRect;//ȳЧ - NET_VCA_RECT struVisibleValidRect;//ɼЧ - BYTE byRes[208]; -}NET_DVR_JPEGPICTURE_WITH_APPENDDATA, *LPNET_DVR_JPEGPICTURE_WITH_APPENDDATA; - -//ץͼ -typedef struct -{ - NET_DVR_JPEGPARA struParam; - BYTE byPicFormat; // 豸ץͼͼƬʽ 0-Jpeg - /* - 豸ץͼ: - 0-豸ͨץͼ1-ӥ۱궨ͼƬFPJAˢ»ȡͼƬ ʱ3min,2-FlashлȡѴӥ۱궨ͼƬ, - 3-ȡԲͼƬ,4-רøץͼ,5-ȡװȫչͼͼ - */ - BYTE byCapturePicType; - BYTE bySceneID; //0-֧֣1-12-2 - BYTE byRes[253]; -}NET_DVR_PICPARAM_V50, *LPNET_DVR_PICPARAM_V50; -/* aux video out parameter */ -// -typedef struct -{ - DWORD dwSize; - DWORD dwAlarmOutChan; /* ѡ񱨾󱨾ͨлʱ䣺1ͨ: 0:/1:1/2:2/3:3/4:4 */ - DWORD dwAlarmChanSwitchTime; /* :1 - 10:10 */ - DWORD dwAuxSwitchTime[MAX_AUXOUT]; /* лʱ: 0-л,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */ - BYTE byAuxOrder[MAX_AUXOUT][MAX_WINDOW]; /* Ԥ˳, 0xffʾӦĴڲԤ */ -}NET_DVR_AUXOUTCFG, *LPNET_DVR_AUXOUTCFG; - - -//ntp -typedef struct -{ - BYTE sNTPServer[64]; /* Domain Name or IP addr of NTP server */ - WORD wInterval; /* adjust time interval(hours) */ - BYTE byEnableNTP; /* enable NPT client 0-no1-yes*/ - signed char cTimeDifferenceH; /* ʱ׼ʱ Сʱƫ-12 ... +13 */ - signed char cTimeDifferenceM;/* ʱ׼ʱ ƫ0, 30, 45*/ - BYTE res1; - WORD wNtpPort; /* ntp server port 9000 豸ĬΪ123*/ - BYTE res2[8]; -}NET_DVR_NTPPARA, *LPNET_DVR_NTPPARA; - -//ddns -typedef struct -{ - BYTE sUsername[NAME_LEN]; /* DDNS˺û/ */ - BYTE sPassword[PASSWD_LEN]; - BYTE sDomainName[64]; /* */ - BYTE byEnableDDNS; /*ǷӦ 0-1-*/ - BYTE res[15]; -}NET_DVR_DDNSPARA, *LPNET_DVR_DDNSPARA; - - -typedef struct -{ - BYTE byHostIndex; /* 0-˽DDNS 1Dyndns 2PeanutHull()*/ - BYTE byEnableDDNS; /*ǷӦDDNS 0-1-*/ - WORD wDDNSPort; /* DDNS˿ں */ - BYTE sUsername[NAME_LEN]; /* DDNSû*/ - BYTE sPassword[PASSWD_LEN]; /* DDNS */ - BYTE sDomainName[MAX_DOMAIN_NAME]; /* 豸䱸ַ */ - BYTE sServerName[MAX_DOMAIN_NAME]; /* DDNS ӦķַIPַ */ - BYTE byRes[16]; -}NET_DVR_DDNSPARA_EX, *LPNET_DVR_DDNSPARA_EX; - -//9000չ -typedef struct -{ - BYTE byEnableDDNS; - BYTE byHostIndex;/*0-IPServer 1Dyndns 2PeanutHull()3- NO-IP, 4- hiDDNS*/ - BYTE byRes1[2]; - struct - { - BYTE sUsername[NAME_LEN]; /* DDNS˺û*/ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE sDomainName[MAX_DOMAIN_NAME]; /* 豸䱸ַ */ - BYTE sServerName[MAX_DOMAIN_NAME]; /* DDNSЭӦķַIPַ */ - WORD wDDNSPort; /* ˿ں */ - WORD wCountryID; //ұţbyHostIndex = 4ʱЧ0ʾĬ - BYTE byStatus; /* DDNS״ֻ̬ - 0- - 1-ӷʧ(connServerfail) - 2-Ϣʧ(solveServerMesFail) - 3-ʧ(connHeartSrvfail) - 4-Ϣʧ(solveHeartSrvMesFail) - 5-ʧ(connHostSrvfail) - 6-Ϣʧ(solveHostSrvMesFail) - 7-DDNS״̬(updateSuccess) - 8-δ(disable) - 9-עɹ(registHostSuccess) - 10-DNSô(DNSSrvError) - 11-ռ(DomainConflict) - 12-()Ϸ(invalidAlias) - 13-Ȩʧ(authenticationFail) - 14-ע(registServerError) - 15-עʧ(registFail) - */ - BYTE byRes[7]; - } struDDNS[MAX_DDNS_NUMS]; - BYTE byRes2[16]; -}NET_DVR_DDNSPARA_V30, *LPNET_DVR_DDNSPARA_V30; - -//email -typedef struct -{ - BYTE sUsername[64]; /* ʼ˺/ */ - BYTE sPassword[64]; - BYTE sSmtpServer[64]; - BYTE sPop3Server[64]; - BYTE sMailAddr[64]; /* email */ - BYTE sEventMailAddr1[64]; /* ϴ/쳣ȵemail */ - BYTE sEventMailAddr2[64]; - BYTE res[16]; -}NET_DVR_EMAILPARA, *LPNET_DVR_EMAILPARA; - -// -typedef struct -{ - DWORD dwSize; - char sDNSIp[16]; /* DNSַ */ - NET_DVR_NTPPARA struNtpClientParam; /* NTP */ - NET_DVR_DDNSPARA struDDNSClientParam; /* DDNS */ - BYTE res[464]; /* */ -}NET_DVR_NETAPPCFG, *LPNET_DVR_NETAPPCFG; - -//nfsṹ -typedef struct -{ - char sNfsHostIPAddr[16]; - BYTE sNfsDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128 -}NET_DVR_SINGLE_NFS, *LPNET_DVR_SINGLE_NFS; - -typedef struct -{ - DWORD dwSize; - NET_DVR_SINGLE_NFS struNfsDiskParam[MAX_NFS_DISK]; -}NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG; - -typedef struct tagNET_DVR_ISCSI_CFG -{ - DWORD dwSize; // ṹС - WORD wVrmPort; // VRM ˿ - BYTE byEnable; // Ƿ ISCSI洢 - BYTE byRes[69]; // ֽ - NET_DVR_IPADDR struVrmAddr; // VRM ipַ 16λ - char chNvtIndexCode[64]; //nvt index Code -}NET_DVR_ISCSI_CFG, *LPNET_DVR_ISCSI_CFG; - -//Ѳ(˽IPר) -typedef struct -{ - BYTE PresetNum; //Ԥõ - BYTE Dwell; //ͣʱ - BYTE Speed; //ٶ - BYTE Reserve; // -}NET_DVR_CRUISE_POINT, *LPNET_DVR_CRUISE_POINT; - -typedef struct -{ - NET_DVR_CRUISE_POINT struCruisePoint[32]; //֧32Ѳ -}NET_DVR_CRUISE_RET, *LPNET_DVR_CRUISE_RET; - -/************************************·(begin)***************************************/ -typedef struct -{ - DWORD dwSize; - char sFirstDNSIP[16]; - char sSecondDNSIP[16]; - char sRes[32]; -}NET_DVR_NETCFG_OTHER, *LPNET_DVR_NETCFG_OTHER; - -typedef struct -{ - char sDVRIP[16]; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨ */ - BYTE byTransProtocol; /* Э 0-TCP, 1-UDP */ - BYTE byTransMode; /* ģʽ 0 1*/ - BYTE byRes[3]; - BYTE sUserName[NAME_LEN]; /* ½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ -}NET_DVR_MATRIX_DECINFO, *LPNET_DVR_MATRIX_DECINFO; - -///ֹ̬ͣ -typedef struct -{ - DWORD dwSize; - NET_DVR_MATRIX_DECINFO struDecChanInfo; /* ̬ͨϢ */ -}NET_DVR_MATRIX_DYNAMIC_DEC, *LPNET_DVR_MATRIX_DYNAMIC_DEC; - -typedef struct -{ - DWORD dwSize; - DWORD dwIsLinked; /* ͨ״̬ 0 1 2 3-ڽ */ - DWORD dwStreamCpRate; /* Stream copy rate, X kbits/second */ - char cRes[64]; /* */ -}NET_DVR_MATRIX_DEC_CHAN_STATUS, *LPNET_DVR_MATRIX_DEC_CHAN_STATUS; - -typedef struct -{ - DWORD dwSize; - NET_DVR_MATRIX_DECINFO struDecChanInfo; /* ͨϢ */ - DWORD dwDecState; /* 0-̬ 1ѭ 2ʱط 3ļط */ - NET_DVR_TIME StartTime; /* ʱطſʼʱ */ - NET_DVR_TIME StopTime; /* ʱطֹͣʱ */ - char sFileName[128]; /* ļطļ */ -}NET_DVR_MATRIX_DEC_CHAN_INFO, *LPNET_DVR_MATRIX_DEC_CHAN_INFO; - -//ӵͨ 2007-11-05 -typedef struct -{ - DWORD dwEnable; /* Ƿ 0 1*/ - NET_DVR_MATRIX_DECINFO struDecChanInfo; /* ѲͨϢ */ -}NET_DVR_MATRIX_DECCHANINFO, *LPNET_DVR_MATRIX_DECCHANINFO; - -//2007-11-05 ÿͨ -typedef struct -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳʱ */ - NET_DVR_MATRIX_DECCHANINFO struchanConInfo[MAX_CYCLE_CHAN]; -}NET_DVR_MATRIX_LOOP_DECINFO, *LPNET_DVR_MATRIX_LOOP_DECINFO; - -//2007-12-22 -typedef struct -{ - BYTE baudrate; /* */ - BYTE databits; /* λ */ - BYTE stopbits; /* ֹͣλ */ - BYTE parity; /* żУλ */ - BYTE flowcontrol; /* */ - BYTE res[3]; -}TTY_CONFIG, *LPTTY_CONFIG; - -typedef struct -{ - BYTE byTranChanEnable; /* ǰ͸ͨǷ 0ر 1 */ - /* - * ·1485ڣ1232ڶΪ͸ͨ,豸ŷ£ - * 0 RS485 - * 1 RS232 Console - */ - BYTE byLocalSerialDevice; /* Local serial device */ - /* - * Զ̴,һRS232һRS485 - * 1ʾ232 - * 2ʾ485 - */ - BYTE byRemoteSerialDevice; /* Remote output serial device */ - BYTE res1; /* */ - char sRemoteDevIP[16]; /* Remote Device IP */ - WORD wRemoteDevPort; /* Remote Net Communication Port */ - BYTE res2[2]; /* */ - TTY_CONFIG RemoteSerialDevCfg; -}NET_DVR_MATRIX_TRAN_CHAN_INFO, *LPNET_DVR_MATRIX_TRAN_CHAN_INFO; - -typedef struct -{ - DWORD dwSize; - BYTE by232IsDualChan; /* ·232͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE by485IsDualChan; /* ·485͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE res[2]; /* */ - NET_DVR_MATRIX_TRAN_CHAN_INFO struTranInfo[MAX_SERIAL_NUM];/*ͬʱֽ֧MAX_SERIAL_NUM͸ͨ*/ -}NET_DVR_MATRIX_TRAN_CHAN_CONFIG, *LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG; - -//2007-12-24 Merry Christmas Eve... -typedef struct -{ - DWORD dwSize; - char sDVRIP[16]; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨ */ - BYTE byReserve; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - NET_DVR_TIME StartTime; - NET_DVR_TIME StopTime; - char sFileName[128]; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY; - -/* ļ */ -#define NET_DVR_PLAYSTART 1//ʼ -#define NET_DVR_PLAYSTOP 2//ֹͣ -#define NET_DVR_PLAYPAUSE 3//ͣ -#define NET_DVR_PLAYRESTART 4//ָ -#define NET_DVR_PLAYFAST 5// -#define NET_DVR_PLAYSLOW 6// -#define NET_DVR_PLAYNORMAL 7//ٶ -#define NET_DVR_PLAYSTARTAUDIO 9// -#define NET_DVR_PLAYSTOPAUDIO 10//ر -#define NET_DVR_PLAYSETPOS 12//ıļطŵĽ -#define NET_DVR_RESETBUFFER 37 //վ뻺Զ̻طļ - -typedef struct -{ - DWORD dwSize; - DWORD dwPlayCmd; /* ļ*/ - DWORD dwCmdParam; /* */ -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL; - -typedef struct -{ - DWORD dwSize; - DWORD dwCurMediaFileLen; /* ǰŵýļ */ - DWORD dwCurMediaFilePosition; /* ǰļIJλ */ - DWORD dwCurMediaFileDuration; /* ǰļʱ */ - DWORD dwCurPlayTime; /* ǰѾŵʱ */ - DWORD dwCurMediaFIleFrames; /* ǰļ֡ */ - DWORD dwCurDataType; /* ǰͣ19-ļͷ20-ݣ 21-Ž־ */ - BYTE res[72]; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS; - -//2009-4-11 added by likui ·new -typedef struct tagNET_MATRIX_PASSIVEMODE -{ - WORD wTransProtol; //Э飬0-TCP, 1-UDP, 2-MCAST - WORD wPassivePort; //UDP˿, TCPʱĬ - NET_DVR_IPADDR struMcastIP; //TCP,UDPʱЧ, MCASTʱΪಥַ - BYTE byStreamType;/* ݲģʽ:REAL_TIME_STREAM(1)ʵʱ,RECORD_STREAM(2)ļ */ - BYTE byRes[7]; -}NET_DVR_MATRIX_PASSIVEMODE, *LPNET_DVR_MATRIX_PASSIVEMODE; - -typedef struct tagNET_DVR_MATRIX_TRAN_CHAN_INFO_V30 -{ - BYTE byTranChanEnable; /* ǰ͸ͨǷ 0ر 1 */ - BYTE byLocalSerialDevice; /* Local serial device */ - /* - * ·1485ڣ1232ڶΪ͸ͨ,豸ŷ£ - * 0 RS485 - * 1 RS232 Console - * 2 Dual Scom - */ - BYTE byRemoteSerialDevice; /* Remote output serial device */ - /* - * Զ̴,һRS232һRS485 - * 1 ʾ232 - * 2 ʾ485 - */ - BYTE byRes1; /* */ - NET_DVR_IPADDR struRemoteDevIP; /* Remote Device IP */ - WORD wRemoteDevPort; /* Remote Net Communication Port */ - BYTE byIsEstablished; /* ͸ͨɹ־0-ûгɹ1-ɹ */ - BYTE byRes2; /* */ - TTY_CONFIG RemoteSerialDevCfg; - BYTE byUsername[NAME_LEN]; - BYTE byPassword[PASSWD_LEN]; - DWORD dwLocalSerialNo; /* ش */ - DWORD dwRemoteSerialNo; /* Զ̴ */ - BYTE byRes3[8]; -} NET_DVR_MATRIX_TRAN_CHAN_INFO_V30,*LPNET_DVR_MATRIX_TRAN_CHAN_INFO_V30; - -typedef struct tagMATRIX_TRAN_CHAN_CONFIG -{ - DWORD dwSize; - BYTE by232IsDualChan; /* ·232͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE by485IsDualChan; /* ·485͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE byRes[2]; /* */ - NET_DVR_MATRIX_TRAN_CHAN_INFO_V30 struTranInfo[MAX_SERIAL_NUM]; /*ͬʱֽ֧MAX_SERIAL_NUM͸ͨ*/ -}NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30,*LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30; - -typedef struct -{ - DWORD dwEnable; /* Ƿ 0 1*/ - NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; /* ѲͨϢ */ -}NET_DVR_MATRIX_CHAN_INFO_V30,*LPNET_DVR_CYC_SUR_CHAN_ELE_V30; - -typedef struct tagMATRIX_LOOP_DECINFO_V30 -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳ*/ - NET_DVR_MATRIX_CHAN_INFO_V30 struchanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byRes[16]; -} NET_DVR_MATRIX_LOOP_DECINFO_V30,*LPNET_DVR_MATRIX_LOOP_DECINFO_V30; - - -typedef struct tagDEC_MATRIX_CHAN_INFO_V30 -{ - DWORD dwSize; - NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg; /*ý*/ - NET_DVR_DEV_CHAN_INFO struDevChanInfo; /* ͨϢ */ - DWORD dwDecState; /* 0-̬ 1ѭ 2ʱط 3ļط */ - NET_DVR_TIME StartTime; /* ʱطſʼʱ */ - NET_DVR_TIME StopTime; /* ʱطֹͣʱ */ - char sFileName[128]; /* ļطļ */ - DWORD dwGetStreamMode; /*ȡģʽ:1-2-*/ - NET_DVR_MATRIX_PASSIVEMODE struPassiveMode; - BYTE byRes[32]; -}NET_DVR_MATRIX_DEC_CHAN_INFO_V30,*LPNET_DVR_MATRIX_DEC_CHAN_INFO_V30; - -#define MAX_RESOLUTIONNUM 64 //ֱֵ֧Ŀ -typedef struct tagNET_DVR_MATRIX_ABILITY -{ - DWORD dwSize; - BYTE byDecNums; - BYTE byStartChan; - BYTE byVGANums; - BYTE byBNCNums; - BYTE byVGAWindowMode[8][12]; /*VGAֵ֧ĴģʽVGA1ɻ*/ - BYTE byBNCWindowMode[4]; /*BNCֵ֧Ĵģʽ*/ - BYTE byDspNums; - BYTE byHDMINums;//HDMIʾͨ25ʼ - BYTE byDVINums;//DVIʾͨ29ʼ - BYTE byRes1[13]; - BYTE bySupportResolution[MAX_RESOLUTIONNUM];//öٶ,һֽڴһֱ//֧֣1֧֣0֧ - BYTE byHDMIWindowMode[4][8];//HDMIֵ֧Ĵģʽ - BYTE byDVIWindowMode[4][8];//DVIֵ֧Ĵģʽ - BYTE byRes2[24]; -}NET_DVR_MATRIX_ABILITY, *LPNET_DVR_MATRIX_ABILITY; -//ϴlogoṹ -typedef struct tagNET_DVR_DISP_LOGOCFG -{ - DWORD dwCorordinateX; //ͼƬʾX - DWORD dwCorordinateY; //ͼƬʾY - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - BYTE byRes1[4]; - BYTE byFlash; //Ƿ˸1-˸0-˸ - BYTE byTranslucent; //Ƿ͸1-͸0-͸ - BYTE byRes2[6]; // - DWORD dwLogoSize;//LOGOСBMPļͷ -}NET_DVR_DISP_LOGOCFG,*LPNET_DVR_DISP_LOGOCFG; - -/**/ -#define NET_DVR_ENCODER_UNKOWN 0 /*δ֪ʽ*/ -#define NET_DVR_ENCODER_H264 1 /*˽ 264*/ -#define NET_DVR_ENCODER_S264 2 /*Standard H264*/ -#define NET_DVR_ENCODER_MPEG4 3 /*MPEG4*/ -#define NET_DVR_ORIGINALSTREAM 4 /*Original Stream*/ -#define NET_DVR_PICTURE 5/*Picture*/ -#define NET_DVR_ENCODER_MJPEG 6 -#define NET_DVR_ENCODER_MPEG2 7 -#define NET_DVR_ENCODER_H265 8 -#define NET_DVR_ENCODER_SVAC 9 -#define NET_DVR_ENCODER_SMART264 10/*Smart 264*/ -#define NET_DVR_ENCODER_SMART265 11/*Smart 265*/ - -/* ʽ */ -#define NET_DVR_STREAM_TYPE_UNKOWN 0 /*δ֪ʽ*/ -#define NET_DVR_STREAM_TYPE_PRIVT 1 /*˽иʽ*/ -#define NET_DVR_STREAM_TYPE_TS 7 /* TS */ -#define NET_DVR_STREAM_TYPE_PS 8 /* PS */ -#define NET_DVR_STREAM_TYPE_RTP 9 /* RTP */ -#define NET_DVR_STREAM_TYPE_ORIGIN 10 //δ(Ƶۺƽ̨ϵͳ) - -/*ͨ״̬*/ -typedef struct -{ - BYTE byDecodeStatus; /*ǰ״̬:0:δ1*/ - BYTE byStreamType; /**/ - BYTE byPacketType; /*ʽ*/ - BYTE byRecvBufUsage; /*ջʹ*/ - BYTE byDecBufUsage; /*뻺ʹ*/ - BYTE byFpsDecV; /*Ƶ֡*/ - BYTE byFpsDecA; /*Ƶ֡*/ - BYTE byCpuLoad; /*DSP CPUʹ*/ - BYTE byRes1[4]; - DWORD dwDecodedV; /*Ƶ֡*/ - DWORD dwDecodedA; /*Ƶ֡*/ - WORD wImgW; /*ǰͼС,*/ - WORD wImgH; // - BYTE byVideoFormat; /*Ƶʽ:0-NON,NTSC--1,PAL--2*/ - BYTE byRes2[3]; - DWORD dwDecChan; /*ȡȫͨ״̬ʱЧʱ0*/ - BYTE byRes3[20]; -}NET_DVR_MATRIX_CHAN_STATUS, *LPNET_DVR_MATRIX_CHAN_STATUS; - -/*ʾͨ״̬*/ -#define NET_DVR_MAX_DISPREGION 16 /*ÿʾͨʾĴ*/ -//ֱ -// -typedef enum -{ - /*VGA*/ - VGA_NOT_AVALIABLE, - VGA_THS8200_MODE_SVGA_60HZ, //(800*600) - VGA_THS8200_MODE_SVGA_75HZ, //(800*600) - VGA_THS8200_MODE_XGA_60HZ, //(1024*768) - VGA_THS8200_MODE_XGA_75HZ, //(1024*768) - VGA_THS8200_MODE_SXGA_60HZ, //(1280*1024) - VGA_THS8200_MODE_720P_60HZ, //(1280*720) - VGA_THS8200_MODE_1080I_60HZ, //(1920*1080) - VGA_THS8200_MODE_1080P_30HZ, //(1920*1080) - VGA_THS8200_MODE_UXGA_30HZ, //(1600*1200) - /*HDMI*/ - HDMI_SII9134_MODE_XGA_60HZ, //(1024*768) - HDMI_SII9134_MODE_SXGA_60HZ, //(1280*1024) - HDMI_SII9134_MODE_SXGA2_60HZ, //(1280*960) - HDMI_SII9134_MODE_720P_60HZ, //(1280*720) - HDMI_SII9134_MODE_720P_50HZ, //(1280*720) - HDMI_SII9134_MODE_1080I_60HZ, //(1920*1080) - HDMI_SII9134_MODE_1080I_50HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_25HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_30HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_50HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_60HZ, //(1920*1080) - HDMI_SII9134_MODE_UXGA_60HZ, //(1600*1200) - /*DVI*/ - DVI_SII9134_MODE_XGA_60HZ, //(1024*768) - DVI_SII9134_MODE_SXGA_60HZ, //(1280*1024) - DVI_SII9134_MODE_SXGA2_60HZ, //(1280*960) - DVI_SII9134_MODE_720P_60HZ, //(1280*720) - DVI_SII9134_MODE_720P_50HZ, //(1280*720) - DVI_SII9134_MODE_1080I_60HZ, //(1920*1080) - DVI_SII9134_MODE_1080I_50HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_25HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_30HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_50HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_60HZ, //(1920*1080) - DVI_SII9134_MODE_UXGA_60HZ, //(1600*1200) - VGA_DECSVR_MODE_SXGA2_60HZ, - HDMI_DECSVR_MODE_1080P_24HZ, - DVI_DECSVR_MODE_1080P_24HZ, - YPbPr_DECSVR_MODE_720P_60HZ, - YPbPr_DECSVR_MODE_1080I_60HZ -}VGA_MODE; - -//֡ʶ -#define LOW_DEC_FPS_1_2 51 -#define LOW_DEC_FPS_1_4 52 -#define LOW_DEC_FPS_1_8 53 -#define LOW_DEC_FPS_1_16 54 - -/*Ƶʽ׼*/ -typedef enum -{ - VS_NON = 0, - VS_NTSC = 1, - VS_PAL = 2 -}VIDEO_STANDARD; - -typedef struct tagNET_DVR_VGA_DISP_CHAN_CFG -{ - DWORD dwSize; - BYTE byAudio; /*ƵǷ,0-1-*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byVgaResolution; /*VGAķֱ*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL,0-NULL*/ - DWORD dwWindowMode; /*ģʽ,ȡ,Ŀǰ֧1,2,4,9,16*/ - BYTE byJoinDecChan[MAX_WINDOWS];/*ӴڹĽͨ*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - union - { - BYTE byRes[16]; - struct - { - /*ӴڶӦͨӦĽϵͳIJλ(Ƶۺƽ̨нϵͳЧ)*/ - BYTE byJoinDecoderId[MAX_WINDOWS]; - }struVideoPlatform; - struct - { - BYTE byRes[16]; - }struNotVideoPlatform; - }struDiff; - /*ֹ壬0-Ƶۺƽ̨ڲʾͨã1-ʾͨ*/ - BYTE byUnionType; - BYTE byScale; /*ʾģʽ0---ʵʾ1---ʾ( BNC )*/ -}NET_DVR_VGA_DISP_CHAN_CFG,*LPNET_DVR_VGA_DISP_CHAN_CFG; - - -/*ʾͨ״̬*/ -#define NET_DVR_MAX_DISPREGION 16 /*ÿʾͨʾĴ*/ -typedef struct -{ - BYTE byDispStatus; /*ʾ״̬0δʾ1ʾ*/ - BYTE byBVGA; /*0-BNC1-VGA 2-HDMI3-DVI*/ - BYTE byVideoFormat; /*Ƶʽ:1:NTSC,2:PAL,0-NON*/ - BYTE byWindowMode; /*ǰģʽ*/ - BYTE byJoinDecChan[MAX_WINDOWS]; /*ӴڹĽͨ*/ - BYTE byFpsDisp[NET_DVR_MAX_DISPREGION]; /*ÿӻʾ֡*/ - BYTE byScreenMode; //Ļģʽ0-ͨ 1- - BYTE byRes2[31]; -}NET_DVR_DISP_CHAN_STATUS, *LPNET_DVR_DISP_CHAN_STATUS; - -#define MAX_DECODECHANNUM 32//·ͨ -#define MAX_DISPCHANNUM 24//·ʾͨ - -/*豸״̬*/ -typedef struct tagNET_DVR_DECODER_WORK_STATUS -{ - DWORD dwSize; - NET_DVR_MATRIX_CHAN_STATUS struDecChanStatus[MAX_DECODECHANNUM]; /*ͨ״̬*/ - NET_DVR_DISP_CHAN_STATUS struDispChanStatus[MAX_DISPCHANNUM]; /*ʾͨ״̬*/ - BYTE byAlarmInStatus[MAX_ANALOG_ALARMIN]; /*״̬*/ - BYTE byAlarmOutStatus[MAX_ANALOG_ALARMOUT]; /*״̬*/ - BYTE byAudioInChanStatus; /*Խ״̬*/ - BYTE byRes[127]; -}NET_DVR_DECODER_WORK_STATUS,*LPNET_DVR_DECODER_WORK_STATUS; - -//2009-12-1 ӱ벥ſ -typedef struct tagNET_DVR_PASSIVEDECODE_CONTROL -{ - DWORD dwSize; - DWORD dwPlayCmd; /* ļ*/ - DWORD dwCmdParam; /* */ - BYTE byRes[16];//Reverse -}NET_DVR_PASSIVEDECODE_CONTROL,*LPNET_DVR_PASSIVEDECODE_CONTROL; - -#define PASSIVE_DEC_PAUSE 1 /*ͣ(ļЧ)*/ -#define PASSIVE_DEC_RESUME 2 /*ָ(ļЧ)*/ -#define PASSIVE_DEC_FAST 3 /*ٱ(ļЧ)*/ -#define PASSIVE_DEC_SLOW 4 /*ٱ(ļЧ)*/ -#define PASSIVE_DEC_NORMAL 5 /*(ļЧ)*/ -#define PASSIVE_DEC_ONEBYONE 6 /*뵥֡()*/ -#define PASSIVE_DEC_AUDIO_ON 7 /*Ƶ*/ -#define PASSIVE_DEC_AUDIO_OFF 8 /*Ƶر*/ -#define PASSIVE_DEC_RESETBUFFER 9 /*ջ*/ -//2009-12-16 ӿƽͨ -typedef struct tagNET_DVR_MATRIX_DECCHAN_CONTROL -{ - DWORD dwSize; - BYTE byDecChanScaleStatus;/*ͨʾſ,1ʾʾ0ʾʵʾ*/ - BYTE byDecodeDelay;//ʱ0-Ĭϣ1-ʵʱԺã2-ʵʱԽϺã3-ʵʱУУ4-ԽϺã5-Ժã0xff-Զ - BYTE byEnableSpartan;//ʹܣ0-أ1- - BYTE byLowLight; //նȡ0-أ1-8նȵȼȼԽǿԽ - BYTE byNoiseReduction; //3D룬0-أ1-2-Զ - BYTE byDefog; //͸0-أ1-7͸ȼȼԽǿԽ - BYTE byEnableVcaDec; //Ƿܽ룬0-ã0- - BYTE byEnableAudio; //ǷƵ0-Ч1-2-ر - DWORD dwAllCtrlType; //ӴһͣʱЧλʾ - //dwAllCtrlType & 0x01,رܽ - BYTE byVolume; //volume,[0-100] - BYTE byRes[55]; -}NET_DVR_MATRIX_DECCHAN_CONTROL,*LPNET_DVR_MATRIX_DECCHAN_CONTROL; - -/************************************·(end)***************************************/ -//2009-8-19 Ƶۺƽ̨ӿں -/************************************Ƶۺƽ̨(begin)***************************************/ -#define MAX_SUBSYSTEM_NUM 80 //һϵͳϵͳ -#define MAX_SERIALLEN 36 //кų -#define MAX_LOOPPLANNUM 16//ƻл -#define DECODE_TIMESEGMENT 4//ƻÿʱ -typedef struct tagNET_DVR_SUBSYSTEMINFO -{ - BYTE bySubSystemType;//ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ0-NULL˲ֻܻȡ - BYTE byChan;//ϵͳͨϵͳ485˲ֻܻȡ - BYTE byLoginType;//עͣ1-ֱ2-DNS3- - BYTE byRes1[5]; - NET_DVR_IPADDR struSubSystemIP; /*IPַ޸ģ*/ - WORD wSubSystemPort; //ϵͳ˿ںţ޸ģ - BYTE byRes2[6]; - NET_DVR_IPADDR struSubSystemIPMask;// - NET_DVR_IPADDR struGatewayIpAddr; /* صַ*/ - BYTE sUserName[NAME_LEN]; /* û ˲ֻܻȡ*/ - BYTE sPassword[PASSWD_LEN]; /*루˲ֻܻȡ*/ - char sDomainName[MAX_DOMAIN_NAME];//(޸) - char sDnsAddress[MAX_DOMAIN_NAME];/*DNSIPַ*/ - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ -}NET_DVR_SUBSYSTEMINFO, *LPNET_DVR_SUBSYSTEMINFO; - -typedef struct tagNET_DVR_ALLSUBSYSTEMINFO -{ - DWORD dwSize; - NET_DVR_SUBSYSTEMINFO struSubSystemInfo[MAX_SUBSYSTEM_NUM]; - BYTE byRes[8]; -}NET_DVR_ALLSUBSYSTEMINFO, *LPNET_DVR_ALLSUBSYSTEMINFO; - -typedef struct tagNET_DVR_LOOPPLAN_SUBCFG -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳλ*/ - NET_DVR_MATRIX_CHAN_INFO_V30 struChanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byRes[16]; -}NET_DVR_LOOPPLAN_SUBCFG,*LPNET_DVR_LOOPPLAN_SUBCFG; - -typedef struct tagNET_DVR_ALARMMODECFG -{ - DWORD dwSize; - BYTE byAlarmMode;//ͣ1-Ѳ2- - WORD wLoopTime;//Ѳʱ, λ - BYTE byRes[9]; -}NET_DVR_ALARMMODECFG,*LPNET_DVR_ALARMMODECFG; - -typedef struct tagNET_DVR_CODESPLITTERINFO -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; /*IPַ*/ - WORD wPort; //˿ں - BYTE byRes1[6]; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byChan;//485 - BYTE by485Port;//485ڵַ - BYTE byRes2[14]; -} NET_DVR_CODESPLITTERINFO, *LPNET_DVR_CODESPLITTERINFO; - -typedef struct tagNET_DVR_ASSOCIATECFG -{ - BYTE byAssociateType;//ͣ1- - WORD wAlarmDelay;//ʱ05룻110룻230룻31ӣ42ӣ55ӣ610ӣ - BYTE byAlarmNum;//ţֵӦøͬıֵͬ - BYTE byRes[8]; -} NET_DVR_ASSOCIATECFG,*LPNET_DVR_ASSOCIATECFG; - -typedef struct tagNET_DVR_DYNAMICDECODE -{ - DWORD dwSize; - NET_DVR_ASSOCIATECFG struAssociateCfg;//̬ṹ - NET_DVR_PU_STREAM_CFG struPuStreamCfg;//̬ṹ - BYTE byRes[8]; -}NET_DVR_DYNAMICDECODE,*LPNET_DVR_DYNAMICDECODE; - -typedef struct tagNET_DVR_DECODESCHED -{ - NET_DVR_SCHEDTIME struSchedTime;// - BYTE byDecodeType;/*0-ޣ1-Ѳ룬2-̬*/ - BYTE byLoopGroup;//Ѳ - BYTE byRes[6]; - NET_DVR_PU_STREAM_CFG struDynamicDec;//̬ -} NET_DVR_DECODESCHED, *LPNET_DVR_DECODESCHED; - -typedef struct tagNET_DVR_PLANDECODE -{ - DWORD dwSize; - NET_DVR_DECODESCHED struDecodeSched[MAX_DAYS][DECODE_TIMESEGMENT];//һΪʼ9000һ - BYTE byRes[8]; -} NET_DVR_PLANDECODE,*LPNET_DVR_PLANDECODE; - -//end -/************************************Ƶۺƽ̨(end)***************************************/ -typedef struct -{ /* 12 bytes */ - DWORD dwSize; - char sUserName[32]; - char sPassWord[32]; - char sFromName[32]; /* Sender *///ַеĵһַһַ"@",ַҪ"@"ַ - char sFromAddr[48]; /* Sender address */ - char sToName1[32]; /* Receiver1 */ - char sToName2[32]; /* Receiver2 */ - char sToAddr1[48]; /* Receiver address1 */ - char sToAddr2[48]; /* Receiver address2 */ - char sEmailServer[32]; /* Email server address */ - BYTE byServerType; /* Email server type: 0-SMTP, 1-POP, 2-IMTP*/ - BYTE byUseAuthen; /* Email server authentication method: 1-enable, 0-disable */ - BYTE byAttachment; /* enable attachment */ - BYTE byMailinterval; /* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/ -} NET_DVR_EMAILCFG, *LPNET_DVR_EMAILCFG; - -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO_EX struLowCompression; //ʱ¼ - NET_DVR_COMPRESSION_INFO_EX struEventCompression; //¼¼ -}NET_DVR_COMPRESSIONCFG_NEW, *LPNET_DVR_COMPRESSIONCFG_NEW; - -//λϢ -typedef struct -{ - WORD wAction;//ȡʱֶЧ - WORD wPanPos;//ˮƽ - WORD wTiltPos;//ֱ - WORD wZoomPos;//䱶 -}NET_DVR_PTZPOS, *LPNET_DVR_PTZPOS; - -//ΧϢ -typedef struct -{ - WORD wPanPosMin;//ˮƽmin - WORD wPanPosMax;//ˮƽmax - WORD wTiltPosMin;//ֱmin - WORD wTiltPosMax;//ֱmax - WORD wZoomPosMin;//䱶min - WORD wZoomPosMax;//䱶max -}NET_DVR_PTZSCOPE, *LPNET_DVR_PTZSCOPE; - -//rtsp ipcameraר -typedef struct -{ - DWORD dwSize; // - WORD wPort; //rtsp˿ - BYTE byReserve1[40]; //Ԥ - WORD wRtspsPort; //rtsps˿ - BYTE byReserve[12]; -}NET_DVR_RTSPCFG, *LPNET_DVR_RTSPCFG; - -/********************************ӿڲṹ(begin)*********************************/ - -//NET_DVR_Login()ṹ -typedef struct -{ - BYTE sSerialNumber[SERIALNO_LEN]; //к - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byDiskNum; //DVRӲ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 -}NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO; - -//NET_DVR_Login_V30()ṹ -typedef struct -{ - BYTE sSerialNumber[SERIALNO_LEN]; //к - BYTE byAlarmInPortNum; // - BYTE byAlarmOutPortNum; // - BYTE byDiskNum; //Ӳ̸ - BYTE byDVRType; //豸, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //ģͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byAudioChanNum; //ͨ - BYTE byIPChanNum; //ͨλ - BYTE byZeroChanNum; //ͨ //2010-01-16 - BYTE byMainProto; //Э 0-private, 1-rtsp,2-ͬʱ֧privatertsp - BYTE bySubProto; //Э0-private, 1-rtsp,2-ͬʱ֧privatertsp - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧֣ - //bySupport & 0x1, ʾǷ֧ - //bySupport & 0x2, ʾǷֱ֧ - //bySupport & 0x4, ʾǷ֧ѹȡ - //bySupport & 0x8, ʾǷֶ֧ - //bySupport & 0x10, ʾ֧ԶSADP - //bySupport & 0x20, ʾ֧Raid - //bySupport & 0x40, ʾ֧IPSAN Ŀ¼ - //bySupport & 0x80, ʾ֧rtp over rtsp - BYTE bySupport1; // 䣬λΪ0ʾ֧֣1ʾ֧ - //bySupport1 & 0x1, ʾǷ֧snmp v30 - //bySupport1 & 0x2, ֻ֧طź - //bySupport1 & 0x4, Ƿֲ֧ȼ - //bySupport1 & 0x8, 豸Ƿֲ֧ʱչ - //bySupport1 & 0x10, ʾǷֶ֧33 - //bySupport1 & 0x20, ʾǷ֧rtsp over http - //bySupport1 & 0x80, ʾǷֳ֧±Ϣ2012-9-28, һʾǷ֧NET_DVR_IPPARACFG_V40ṹ - BYTE bySupport2; /*λΪ0ʾ֧֣0ʾ֧ - bySupport2 & 0x1, ʾǷ֧ͨURLȡ - bySupport2 & 0x2, ʾ֧FTPV40 - bySupport2 & 0x4, ʾ֧ANR - bySupport2 & 0x8, ʾ֧CCDͨ - bySupport2 & 0x10, ʾֲ֧شϢ֧ץĻ ϱṹ - bySupport2 & 0x20, ʾǷֵ֧ȡ豸״̬ - bySupport2 & 0x40, ʾǷ豸*/ - WORD wDevType; //豸ͺ - BYTE bySupport3; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport3 & 0x1, ʾǷ֧ö - // bySupport3 & 0x4 ʾְ֧ã ͨͼIP롢 - // û豸״̬JPEGץͼʱʱץͼӲ - //bySupport3 & 0x8Ϊ1 ʾ֧ʹTCPԤUDPԤಥԤе"ʱԤ"ֶʱԤʹַʽʱԤbySupport3 & 0x8Ϊ0ʱʹ "˽ʱԤ"Э顣 - //bySupport3 & 0x10 ʾ֧"ȡҪ״̬V40" - //bySupport3 & 0x20 ʾǷ֧ͨDDNSȡ - - BYTE byMultiStreamProto;//Ƿֶ֧,λʾ,0-֧,1-֧,bit1-3,bit2-4,bit7-bit-8 - BYTE byStartDChan; //ʼͨ,0ʾЧ - BYTE byStartDTalkChan; //ʼֶԽͨţģԽͨţ0ʾЧ - BYTE byHighDChanNum; //ͨλ - BYTE bySupport4; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport4 & 0x02 ʾǷ֧NetSDK͸ӿڣNET_DVR_STDXMLConfig͸ʽ - //bySupport4 & 0x4ʾǷ֧ƴͳһӿ - //bySupport4 & 0x80 ֧豸ϴıʹܡʾжϵýӿ NET_DVR_PDC_RULE_CFG_V42 NET_DVR_PDC_RULE_CFG_V41 - BYTE byLanguageType;// ֧,λʾ,ÿһλ0-֧,1-֧ - // byLanguageType 0 ʾ 豸 - // byLanguageType & 0x1ʾ֧ - // byLanguageType & 0x2ʾ֧Ӣ - BYTE byVoiceInChanNum; //Ƶͨ - BYTE byStartVoiceInChanNo; //Ƶʼͨ 0ʾЧ - BYTE bySupport5; //λʾ,0-֧,1-֧,bit0-ֶ֧ - //bySupport5 &0x01ʾ֧wEventTypeEx ,dwEventType ¼֧ͣΪ¼չ--ռסֹͻ - //bySupport5 &0x04ʾǷ֧ʹչijģʽӿ - /* - bySupport5 &0x08 豸ظֵʾǷּ֧ƻ¼V40ӿЭ(DVR_SET_RECORDCFG_V40/ DVR_GET_RECORDCFG_V40)(ڸЭ豸֧13) - ֮ǰIJַ豸֧¼13¼13֧֣ͳһת¼3ݴSDKͨ̽⴦) - bySupport5 &0x10 豸ظֵʾֳ֧255Ԥõ - */ - BYTE bySupport6; //λʾ0-֧,1-֧ - //bySupport6 0x1 ʾ豸Ƿ֧ѹ - //bySupport6 0x2 ʾǷ֧IDʽԴչDVR_SET_STREAM_SRC_INFO_V40 - //bySupport6 0x4 ʾǷ֧¼V40ӿ - //bySupport6 0x8 ʾǷ֧չ - //bySupport6 0x40ʾͼƬѯV40չ - BYTE byMirrorChanNum; //ͨ<¼ڱʾͨ> - WORD wStartMirrorChanNo; //ʼͨ - BYTE bySupport7; //,λʾ,0-֧,1-֧ - // bySupport7 & 0x1 ʾ豸Ƿ֧ INTER_VCA_RULECFG_V42 չ - // bySupport7 & 0x2 ʾ豸Ƿ֧ IPC HVT ģʽչ - // bySupport7 & 0x04 ʾ豸Ƿ֧ ʱ - // bySupport7 & 0x08 ʾ̨PTZλʱǷִ֧ͨ - // bySupport7 & 0x10 ʾ豸Ƿ֧˫ϵͳ - // bySupport7 & 0x20 ʾ豸Ƿ֧ OSDַ V50 - // bySupport7 & 0x40 ʾ豸Ƿ֧ ӣ - // bySupport7 & 0x80 ʾ豸Ƿ֧ ļ - BYTE byRes2; // -}NET_DVR_DEVICEINFO_V30, *LPNET_DVR_DEVICEINFO_V30; - -typedef struct tagNET_DVR_DEVICEINFO_V40 -{ - NET_DVR_DEVICEINFO_V30 struDeviceV30; - BYTE bySupportLock; //豸֧ܣֶSDK豸ֵֵġbySupportLockΪ1ʱdwSurplusLockTimebyRetryLoginTimeЧ - BYTE byRetryLoginTime; //ʣɳԵ½Ĵûʱ˲Ч - BYTE byPasswordLevel; //admin밲ȫȼ - //0-Ч1-Ĭ룬2-Ч룬3-սϸߵ롣ûΪĬ루12345߷սϸߵʱϲͻҪʾû롣 - //4-ԱһͨûΪ룬ͨûȷ¼豸Ҫʾ޸ijʼ¼롱δ޸ĵ£ûÿε붼ѣ - //5-ͨû뱻Ա޸ģͨûٴȷ¼豸Ҫʾõ¼롱δ޸ĵ£ûÿε붼; - //6-Աһװ/ԱûΪ룬ûȷ¼豸Ҫʾ޸ijʼ¼롱δ޸ĵ£޷г޸ı; - BYTE byProxyType; //ͣ0-ʹô, 1-ʹsocks5, 2-ʹEHome - DWORD dwSurplusLockTime; //ʣʱ䣬λ룬ûʱ˲Ч - BYTE byCharEncodeType; //ַ0-ַϢ(豸),1-GB2312()2-GBK,3-BIG5(),4-Shift_JIS(),5-EUC-KR(),6-UTF-8,7-21:ISO8859-1---15(ŷ),22-Hebrew(ϣ) - BYTE bySupportDev5;//֧v50汾豸ȡ豸ƺ豸ƳչΪ64ֽ - BYTE bySupport; //չλ0- ֧֣1- ֧ - // bySupport & 0x1: - // bySupport & 0x2: 0-ֱ֧仯ϱ 1-ֱ֧仯ϱ - BYTE byLoginMode; //¼ģʽ 0-Private¼ 1-ISAPI¼ - DWORD dwOEMCode; - int iResidualValidity; //ûʣЧλ죬ظֵʾѾʹã硰-3ʾѾʹ3족 - BYTE byResidualValidity; // iResidualValidityֶǷЧ0-Ч1-Ч - BYTE bySingleStartDTalkChan; //豸ʼͨţ0-Ϊֽڣʵʺ壬ͨŲܴ0ʼ - BYTE bySingleDTalkChanNums; //豸ͨ0-ʾ֧ - BYTE byPassWordResetLevel; //0-Ч1-ԱһǹԱûΪ룬÷ǹԱûȷ¼豸Ҫʾ޸ijʼ¼롱δ޸ĵ£ûÿε붼ѣ2-ǹԱû뱻Ա޸ģ÷ǹԱûٴȷ¼豸Ҫʾõ¼롱δ޸ĵ£ûÿε붼ѡ - BYTE bySupportStreamEncrypt; //չλ0- ֧֣1- ֧ bySupportStreamEncrypt & 0x1:ʾǷ֧RTP/TLSȡ bySupportStreamEncrypt & 0x2: ʾǷ֧SRTP/UDPȡ bySupportStreamEncrypt & 0x4: ʾǷ֧SRTP/MULTICASTȡ - BYTE byMarketType;//0-Чδ֪ͣ,1-ͣ2-ҵ - BYTE byTLSCap; //0-Ч;byTLSCap & 0x1: ʾǷ֧TLS·Ԥ;byTLSCap & 0x2: ʾǷ֧TLS·ط;byTLSCap & 0x4: ʾǷ֧TLS·; - BYTE byRes2[237]; -}NET_DVR_DEVICEINFO_V40, *LPNET_DVR_DEVICEINFO_V40; - -typedef void (CALLBACK *fLoginResultCallBack) (LONG lUserID, DWORD dwResult, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo , void* pUser); - -#define NET_DVR_DEV_ADDRESS_MAX_LEN 129 -#define NET_DVR_LOGIN_USERNAME_MAX_LEN 64 -#define NET_DVR_LOGIN_PASSWD_MAX_LEN 64 - -typedef struct -{ - char sDeviceAddress[NET_DVR_DEV_ADDRESS_MAX_LEN]; - BYTE byUseTransport; //Ƿ͸0--͸Ĭϣ1--͸ - WORD wPort; - char sUserName[NET_DVR_LOGIN_USERNAME_MAX_LEN]; - char sPassword[NET_DVR_LOGIN_PASSWD_MAX_LEN]; - fLoginResultCallBack cbLoginResult; - void *pUser; - BOOL bUseAsynLogin; - BYTE byProxyType; //0:ʹô1ʹñ׼2ʹEHome - BYTE byUseUTCTime; //0-תĬ,1-ӿȫʹUTCʱ,SDKUTCʱ豸ʱת,2-ӿȫʹƽ̨ʱ䣬SDKƽ̨ʱ豸ʱת - BYTE byLoginMode; //0-Private 1-ISAPI 2-Ӧ - BYTE byHttps; //0-tls1-ʹtls 2-Ӧ - LONG iProxyID; //ţӴϢʱӦķ±ֵ - BYTE byVerifyMode; //֤ʽ0-֤1-˫֤2-֤֤ʹTLSʱЧ; - BYTE byRes3[119]; -}NET_DVR_USER_LOGIN_INFO,*LPNET_DVR_USER_LOGIN_INFO; - -//sdk绷öٱԶ -typedef enum _SDK_NET_ENV -{ - LOCAL_AREA_NETWORK = 0, - WIDE_AREA_NETWORK -}SDK_NETWORK_ENVIRONMENT; - -//ʾģʽ -typedef enum -{ - NORMALMODE = 0, - OVERLAYMODE -}DISPLAY_MODE; - -//ģʽ -typedef enum -{ - PTOPTCPMODE = 0, - PTOPUDPMODE, - MULTIMODE, - RTPMODE, - RESERVEDMODE -}SEND_MODE; - -//ץͼģʽ -typedef enum -{ - BMP_MODE = 0, //BMPģʽ - JPEG_MODE = 1 //JPEGģʽ -}CAPTURE_MODE; - -//ʵʱģʽ -typedef enum -{ - MONOPOLIZE_MODE = 1,//ռģʽ - SHARE_MODE = 2 //ģʽ -}REALSOUND_MODE; - -//Ԥ -typedef struct -{ - LONG lChannel;//ͨ - LONG lLinkMode;//λ(31)Ϊ0ʾΪ1ʾӣ030λʾӷʽ: 0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-RTP/RTSP,5-RSTP/HTTP - HWND hPlayWnd;//Ŵڵľ,ΪNULLʾͼ - char* sMultiCastIP;//ಥַ - BYTE byProtoType; //ӦòȡЭ飬0-˽Э飬1-RTSPЭ - BYTE byRes[3]; -}NET_DVR_CLIENTINFO, *LPNET_DVR_CLIENTINFO; - -//SDK״̬Ϣ(9000) -typedef struct -{ - DWORD dwTotalLoginNum; //ǰloginû - DWORD dwTotalRealPlayNum; //ǰrealplay· - DWORD dwTotalPlayBackNum; //ǰطŻ· - DWORD dwTotalAlarmChanNum; //ǰͨ· - DWORD dwTotalFormatNum; //ǰӲ̸ʽ· - DWORD dwTotalFileSearchNum; //ǰ־ļ· - DWORD dwTotalLogSearchNum; //ǰ־ļ· - DWORD dwTotalSerialNum; //ǰ͸ͨ· - DWORD dwTotalUpgradeNum; //ǰ· - DWORD dwTotalVoiceComNum; //ǰת· - DWORD dwTotalBroadCastNum; //ǰ㲥· - DWORD dwTotalListenNum; //ǰ· - DWORD dwEmailTestNum; //ǰʼ· - DWORD dwBackupNum; // ǰļ· - DWORD dwTotalInquestUploadNum; //ǰѶϴ· - DWORD dwRes[6]; -}NET_DVR_SDKSTATE, *LPNET_DVR_SDKSTATE; - -//SDK֧Ϣ(9000) -typedef struct -{ - DWORD dwMaxLoginNum; //loginû MAX_LOGIN_USERS - DWORD dwMaxRealPlayNum; //realplay· WATCH_NUM - DWORD dwMaxPlayBackNum; //طŻ· WATCH_NUM - DWORD dwMaxAlarmChanNum; //ͨ· ALARM_NUM - DWORD dwMaxFormatNum; //Ӳ̸ʽ· SERVER_NUM - DWORD dwMaxFileSearchNum; //ļ· SERVER_NUM - DWORD dwMaxLogSearchNum; //־· SERVER_NUM - DWORD dwMaxSerialNum; //͸ͨ· SERVER_NUM - DWORD dwMaxUpgradeNum; //· SERVER_NUM - DWORD dwMaxVoiceComNum; //ת· SERVER_NUM - DWORD dwMaxBroadCastNum; //㲥· MAX_CASTNUM - DWORD dwRes[10]; -}NET_DVR_SDKABL, *LPNET_DVR_SDKABL; - -//豸Ϣ -typedef struct -{ - BYTE byUserIDValid; /* useridǷЧ 0-Ч1-Ч */ - BYTE bySerialValid; /* кǷЧ 0-Ч1-Ч */ - BYTE byVersionValid; /* 汾ǷЧ 0-Ч1-Ч */ - BYTE byDeviceNameValid; /* 豸ǷЧ 0-Ч1-Ч */ - BYTE byMacAddrValid; /* MACַǷЧ 0-Ч1-Ч */ - BYTE byLinkPortValid; /* login˿ǷЧ 0-Ч1-Ч */ - BYTE byDeviceIPValid; /* 豸IPǷЧ 0-Ч1-Ч */ - BYTE bySocketIPValid; /* socket ipǷЧ 0-Ч1-Ч */ - LONG lUserID; /* NET_DVR_Login()ֵ, ʱЧ */ - BYTE sSerialNumber[SERIALNO_LEN]; /* к */ - DWORD dwDeviceVersion; /* 汾Ϣ 16λʾ汾16λʾΰ汾*/ - char sDeviceName[NAME_LEN]; /* 豸 */ - BYTE byMacAddr[MACADDR_LEN]; /* MACַ */ - WORD wLinkPort; /* link port */ - char sDeviceIP[128]; /* IPַ */ - char sSocketIP[128]; /* ϴʱsocket IPַ */ - BYTE byIpProtocol; /* IpЭ 0-IPV4, 1-IPV6 */ - BYTE byRes1[2]; - BYTE bJSONBroken; //JSON־01 - WORD wSocketPort; - BYTE byRes2[6]; -}NET_DVR_ALARMER, *LPNET_DVR_ALARMER; - -//Ӳʾ(ӽṹ) -typedef struct -{ - long bToScreen; - long bToVideoOut; - long nLeft; - long nTop; - long nWidth; - long nHeight; - long nReserved; -}NET_DVR_DISPLAY_PARA, *LPNET_DVR_DISPLAY_PARA; - -//ӲԤ -typedef struct -{ - LONG lChannel;//ͨ - LONG lLinkMode; //λ(31)Ϊ0ʾΪ1ʾӣ030λʾӷʽ:0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-绰ߣ5128k6256k7384k8512k - char* sMultiCastIP; - NET_DVR_DISPLAY_PARA struDisplayPara; -}NET_DVR_CARDINFO, *LPNET_DVR_CARDINFO; - -//¼ļ -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС -}NET_DVR_FIND_DATA, *LPNET_DVR_FIND_DATA; - -//¼ļ(9000) -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[32]; - BYTE byLocked;//9000豸֧,1ʾļѾ,0ʾļ - BYTE byFileType; //ļ:0ʱ¼,1-ƶ 2 - //3-|ƶ 4-&ƶ 5- 6-ֶ¼,7𶯱8-9-ܱ10-PIR11-߱12-ȱ,14-ܽͨ¼ - BYTE byRes[2]; -}NET_DVR_FINDDATA_V30, *LPNET_DVR_FINDDATA_V30; - -//¼ļ(cvr) -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[32]; - BYTE byLocked;//9000豸֧,1ʾļѾ,0ʾļ - BYTE byFileType; //ļ:0ʱ¼,1-ƶ 2 - //3-|ƶ 4-&ƶ 5- 6-ֶ¼,7𶯱8-9-ܱ10-PIR11-߱12-ȱ,14-ܽͨ¼ - BYTE byQuickSearch; //0:ͨѯ1٣ѯ - BYTE byRes; - DWORD dwFileIndex; //ļ - BYTE byStreamType; - BYTE byRes1[127]; -}NET_DVR_FINDDATA_V40, *LPNET_DVR_FINDDATA_V40; - -typedef struct tagNET_DVR_FINDDATA_V50 -{ - char sFileName[100]; - NET_DVR_TIME_SEARCH struStartTime; - NET_DVR_TIME_SEARCH struStopTime; - NET_DVR_ADDRESS struAddr; //ƬڵĵַϢȺطʱõ - DWORD dwFileSize; //ļС //ڴļʱbyBigFileTypeΪ1ֵ - BYTE byLocked; //ļǷ1ļ0ļδ - BYTE byFileType; //ļͣV40ͬ - BYTE byQuickSearch; //0- ͨѯ1- ٣ѯ - BYTE byStreamType; //ͣ0- 1- 2- - DWORD dwFileIndex; //ļ - char sCardNum[32]; // - DWORD dwTotalLenH; // ڴļʱܳȣ32ֽ - DWORD dwTotalLenL; // ڴļʱܳȣ32ֽ - BYTE byBigFileType; // 0ΪͨƬ1Ϊļ - BYTE byRes[247]; -}NET_DVR_FINDDATA_V50, *LPNET_DVR_FINDDATA_V50; - -//¼ļ() -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[32]; -}NET_DVR_FINDDATA_CARD, *LPNET_DVR_FINDDATA_CARD; - - -//¼ļṹ -typedef struct -{ - LONG lChannel;//ͨ - DWORD dwFileType;//¼ļ - //ţ0xffȫ0ʱ¼,1-ƶ 23-|ƶ 4-&ƶ 5- 6-ֶ¼,7-¼10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - //ţ0xffȫ0ʱ¼1-ƶ⣬2ӽ345-6ֶ¼7𶯱8-9-ܱ10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - DWORD dwIsLocked;//Ƿ 0-ļ,1-ļ, 0xffʾļ - DWORD dwUseCardNo;//Ƿʹÿ - BYTE sCardNumber[32];// - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ -}NET_DVR_FILECOND, *LPNET_DVR_FILECOND; - -//̨ѡŴС(˽ ר) -typedef struct -{ - int xTop; //ʼx - int yTop; //y - int xBottom; //x - int yBottom; //y - int bCounter; // -}NET_DVR_POINT_FRAME, *LPNET_DVR_POINT_FRAME; - -//Խ -typedef struct tagNET_DVR_COMPRESSION_AUDIO -{ - BYTE byAudioEncType; //Ƶ 0-OggVorbis(G722.1);1-G711_U;2-G711_A;5-MP2L2;6-G726;7-AAC,8-PCM;9-G722.1.C;12-AAC_LC;13-AAC_LD;14-Opus;15-MP3;16-ADPCM - BYTE byAudioSamplingRate;//Ƶ 0-Ĭϣ1-16kHZ2-32kHZ3-48kHZ, 4- 44.1kHZ,5-8kHZ - BYTE byAudioBitRate;// Ƶ ο BITRATE_ENCODE_INDEX - BYTE byres[4];//ﱣƵѹ - BYTE bySupport;//bySupport Bit0ʾ Mp2l2ǰ4ֽڵĺʾƵݳ -}NET_DVR_COMPRESSION_AUDIO, *LPNET_DVR_COMPRESSION_AUDIO; - -//2009-7-22 - - -#define IW_ESSID_MAX_SIZE 32 -#define WIFI_WEP_MAX_KEY_COUNT 4 -#define WIFI_WEP_MAX_KEY_LENGTH 33 -#define WIFI_WPA_PSK_MAX_KEY_LENGTH 63 -#define WIFI_WPA_PSK_MIN_KEY_LENGTH 8 -#define WIFI_MAX_AP_COUNT 20 -#define WIFI_WPA_PSK_MAX_HEXKEY_LENGTH 68 //WPA16Կ󳤶 - -typedef struct tagNET_DVR_AP_INFO -{ - char sSsid[IW_ESSID_MAX_SIZE]; - DWORD dwMode; /* 0 mange ģʽ;1 ad-hocģʽμNICMODE */ - DWORD dwSecurity; /*0 ܣ1 wepܣ2 wpa-psk;3 wpa-Enterprise;4-WPA2_PSKμWIFISECURITY*/ - DWORD dwChannel; /*1-11ʾ11ͨ*/ - DWORD dwSignalStrength; /*0-100źΪǿ*/ - DWORD dwSpeed; /*,λ0.01mbps*/ -}NET_DVR_AP_INFO,*LPNET_DVR_AP_INFO; - -typedef struct tagNET_DVR_AP_INFO_LIST -{ - DWORD dwSize; - DWORD dwCount; /*AP20*/ - NET_DVR_AP_INFO struApInfo[WIFI_MAX_AP_COUNT]; -}NET_DVR_AP_INFO_LIST,*LPNET_DVR_AP_INFO_LIST; - -typedef struct tagNET_DVR_WIFIETHERNET -{ - char sIpAddress[16]; /*IPַ*/ - char sIpMask[16]; /**/ - BYTE byMACAddr[MACADDR_LEN]; /*ַֻʾ*/ - BYTE byCloseWifi; //Ƿرwifiӣ0-رգ1-ر - BYTE bRes; - DWORD dwEnableDhcp; /*Ƿdhcp 0 1*/ - DWORD dwAutoDns; /*dhcpǷԶȡdns,0Զȡ 1ԶȡdhcpĿǰԶȡdns*/ - char sFirstDns[16]; /*һdns*/ - char sSecondDns[16]; /*ڶdns*/ - char sGatewayIpAddr[16]; /* صַ*/ - BYTE bRes2[8]; -}NET_DVR_WIFIETHERNET,*LPNET_DVR_WIFIETHERNET; - -typedef struct tagNET_DVR_WIFI_CFG_EX -{ - NET_DVR_WIFIETHERNET struEtherNet; /*wifi*/ - char sEssid[IW_ESSID_MAX_SIZE]; /*SSID*/ - DWORD dwMode; /* 0 mange ģʽ;1 ad-hocģʽμ*/ - DWORD dwSecurity; /*0-;1-WEP;2-WPA-personal; 3-WPA-enterprise;4-WPA2-personal;5-WPA2-enterprise */ - union - { - struct - { - DWORD dwAuthentication;/*0 -ʽ 1-ʽ*/ - DWORD dwKeyLength;/* 0 -64λ1- 128λ2-152λ*/ - DWORD dwKeyType;/*0 16;1 ASCI */ - DWORD dwActive;/*0 0---3ʾһԿ*/ - char sKeyInfo[WIFI_WEP_MAX_KEY_COUNT][WIFI_WEP_MAX_KEY_LENGTH]; - }wep; - struct - { - DWORD dwKeyLength;/*8-63ASCIIַ*/ - char sKeyInfo[WIFI_WPA_PSK_MAX_KEY_LENGTH]; - BYTE byEncryptType; /*WPA/WPA2ģʽ¼,0-AES, 1-TKIP*/ - char sNewKeyInfo[WIFI_WPA_PSK_MAX_HEXKEY_LENGTH/*68*/];//Կ֧8-63ASCIIַԼ64ʮַԿ - //byKeyTypeΪ0ʱsKeyInfobyKeyTypeΪ1ʱsNewKeyInfo - //Կͣ0 ~ Կֻ֧ͣ8-63ASCIIַ1 ~Կ֧ͣ8-63ASCIIַԼ64ʮַԿ - BYTE byKeyType; - BYTE byRes[7]; - }wpa_psk; - struct - { - BYTE byEncryptType; /*,0-AES, 1-TKIP*/ - BYTE byAuthType; //֤ͣ0-EAP_TTLS,1-EAP_PEAP,2-EAP_TLS - BYTE byRes[2]; - union - { - struct - { - BYTE byEapolVersion; //EAPOL汾0-汾11-汾2 - BYTE byAuthType; //ڲ֤ʽ0-PAP1-MSCHAPV2 - BYTE byRes1[2]; - BYTE byAnonyIdentity [NAME_LEN]; // - BYTE byUserName[NAME_LEN]; //û - BYTE byPassword[NAME_LEN]; // - BYTE byRes[44]; - }EAP_TTLS; //WPA-enterprise/WPA2-enterprisģʽ - struct - { - BYTE byEapolVersion; //EAPOL汾0-汾11-汾2 - BYTE byAuthType; //ڲ֤ʽ0-GTC1-MD52-MSCHAPV2 - BYTE byPeapVersion; //PEAP汾0-汾01-汾1 - BYTE byPeapLabel; //PEAPǩ0-ϱǩ1-±ǩ - BYTE byAnonyIdentity[NAME_LEN]; // - BYTE byUserName[NAME_LEN]; //û - BYTE byPassword[NAME_LEN]; // - BYTE byRes[44]; - }EAP_PEAP; //WPA-enterprise/WPA2-enterprisģʽ - struct - { - BYTE byEapolVersion; //EAPOL汾0-汾11-汾2 - BYTE byRes1[3]; - BYTE byIdentity[NAME_LEN]; // - BYTE byPrivateKeyPswd[NAME_LEN]; //˽Կ - BYTE byRes[76]; - }EAP_TLS; - }auth_param; - }wpa_wpa2; //WPA-enterprise/WPA2-enterprisģʽ - }key; -}NET_DVR_WIFI_CFG_EX,*LPNET_DVR_WIFI_CFG_EX; - -//wifiýṹ -typedef struct tagNET_DVR_WIFI_CFG -{ - DWORD dwSize; - NET_DVR_WIFI_CFG_EX struWifiCfg; -}NET_DVR_WIFI_CFG,*LPNET_DVR_WIFI_CFG; - -//wifi״̬ -typedef struct tagNET_DVR_WIFI_CONNECT_STATUS -{ - DWORD dwSize; - BYTE byCurStatus; //1-ӣ2-δӣ3- - BYTE byRes1[3]; // - DWORD dwErrorCode; // byCurStatus = 2ʱЧ,1-û,2-޴·,3-δ֪ - BYTE byRes[244]; -}NET_DVR_WIFI_CONNECT_STATUS,*LPNET_DVR_WIFI_CONNECT_STATUS; - -//wifiģʽ -typedef struct tagNET_DVR_WIFI_WORKMODE -{ - DWORD dwSize; - DWORD dwNetworkInterfaceMode; /*0 Զлģʽ1 ģʽ*/ -}NET_DVR_WIFI_WORKMODE,*LPNET_DVR_WIFI_WORKMODE; - -//ṹ궨 -#define VCA_MAX_POLYGON_POINT_NUM 10 //֧10Ķ -#define MAX_RULE_NUM 8 // -#define MAX_RULE_NUM_V42 16 //չ -#define MAX_TARGET_NUM 30 //Ŀ -#define MAX_CALIB_PT 6 //궨 -#define MIN_CALIB_PT 4 //С궨 -#define MAX_TIMESEGMENT_2 2 //ʱ -#define DATA_INDEX_LEN 64 //ˮ -#define MAX_DEV_DATAINDEX_LEN 64 //豸ˮ -#define MAX_TRAFFIC_PICTURE_NUM 8 //ͨͼƬ -#define MAX_LICENSE_LEN 16 //ƺ󳤶 -#define MAX_LICENSE_LEN_EX 32 //ƺ󳤶 -#define MAX_CARDNO_LEN 48 //󳤶 2013-11-04 -#define MAX_OPERATE_INDEX_LEN 32 //󳤶2014-03-03 -#define MAX_PLATE_NUM 3 //Ƹ -#define MAX_MASK_REGION_NUM 4 //ĸ -#define MAX_SEGMENT_NUM 6 //궨Ŀ -#define MIN_SEGMENT_NUM 3 //궨СĿ -#define MAX_REL_SNAPCHAN_NUM 3 //ץͼͨ -#define MAX_PIC_SWITCH_STORAGE_SERVER 64 //ƴ洢洢ͼƬ -#define MAX_INFO_SWITCH_STORAGE_SERVER 64 //ƴ洢洢󸽼Ϣ -#define RTMP_URL_LEN 128 //RTMP URL -#define MAX_ID_LEN_128 128 //ļID -#define MAX_DEBUGCMD_LEN 1024 //豸󳤶 -#define MAX_DEBUGINFO_LEN 1400 //豸Ϣ󳤶 -#define MAX_VEHICLE_ID_LEN 32 //ʶ -#define LEN_PROPERTY 128 -typedef struct -{ - DWORD dwSize; //αij, - NET_DVR_TIME_EX strStartTime; //ʼʱ - NET_DVR_TIME_EX strStopTime; //ʱ - char sLicense[MAX_LICENSE_LEN_EX/*32*/]; //ƺ - DWORD dwChannel; - BYTE byRegion; - BYTE byRes[127]; // ֵ 0-1-ŷ(Europe Region)2-(Russian Region)3-ŷ&˹(EU&CIS) , 4-жMiddle East0xff- -}NET_DVR_VEHICLE_INFO_COND, *LPNET_DVR_VEHICLE_INFO_COND; - -typedef struct -{ - DWORD dwSize; - DWORD dwIndex;// - BYTE byDeviceID[DEVICE_ID_LEN/*48*/]; //豸 - BYTE byBelieve;//Ŷȣ0-100 - BYTE byDir;//0-壬1-2-3-δ֪ - BYTE byLineID;// - BYTE byRes1; - NET_DVR_TIME_EX struSnapTime;//ץʱ - char sLicense[MAX_LICENSE_LEN_EX/*32*/]; //ƺ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN /*48*/]; //ʾ - BYTE byCountry; // ֵöCOUNTRY_INDEX֧֡COUNTRY_ALL = 0xff, //ALL ȫ - BYTE byMatchingResult;//ƥ0-1-2-ֹ3- - BYTE byArea; //ʡݣڲö٣ EMI_AREA - BYTE byPlateType; // ο VCA_PLATE_TYPE - char sDeviceName[NAME_LEN/*32*/]; //豸 - BYTE byPlateColor; //ɫ ο VCA_PLATE_COLOR - BYTE byPlateSize; //Ƴߴ磬0~δ֪1~long, 2~short(жʹ) - BYTE byRes2[2]; - char sPlateCategory[MAX_CATEGORY_LEN/*8*/]; //ƸϢ, СϢ(Ŀǰֻж֧) - char sPlateImageURL[URL_LEN_V40/*256*/]; //СͼURL - char sEffectiveTime[ISO_8601_LEN/*32*/]; //ϢЧʱ䣬ʹISO8601 timeʽ磺2009-11-14T15:27Z - BYTE byRes[176]; -}NET_DVR_VEHICLE_INFO_CFG, *LPNET_DVR_VEHICLE_INFO_CFG; - -//ܿϢ -#define MAX_VCA_CHAN 16//ͨ -typedef struct tagNET_VCA_CTRLINFO -{ - BYTE byVCAEnable; //Ƿ - BYTE byVCAType; //ͣVCA_CHAN_ABILITY_TYPE - BYTE byStreamWithVCA; //ǷϢ - BYTE byMode; //ģʽATMʱVCA_CHAN_MODE_TYPE ,TFSʱTFS_CHAN_MODE_TYPE - BYTE byControlType; //ͣλʾ0-1- - // byControlType &1 ǷץĹ - BYTE byPicWithVCA ;// ץͼĿϢ(Ŀ)0-ӣĬϣ1-ӣ - BYTE byRes[2]; //Ϊ0 -}NET_VCA_CTRLINFO, * LPNET_VCA_CTRLINFO; - -//ܿϢṹ -typedef struct tagNET_VCA_CTRLCFG -{ - DWORD dwSize; - NET_VCA_CTRLINFO struCtrlInfo[MAX_VCA_CHAN]; //Ϣ,0Ӧ豸ʼͨ - BYTE byRes[16]; -}NET_VCA_CTRLCFG, * LPNET_VCA_CTRLCFG; - -//豸 -typedef struct tagNET_VCA_DEV_ABILITY -{ - DWORD dwSize; //ṹ - BYTE byVCAChanNum; //ͨ - BYTE byPlateChanNum; //ͨ - BYTE byBBaseChanNum; //Ϊ - BYTE byBAdvanceChanNum; //Ϊ߼ - BYTE byBFullChanNum; //Ϊ - BYTE byATMChanNum; //ATM - BYTE byPDCChanNum; //ͳͨ - BYTE byITSChanNum; //ͨ¼ͨ - BYTE byBPrisonChanNum; //Ϊ()ͨ - BYTE byFSnapChanNum; //ץͨ - BYTE byFSnapRecogChanNum; //ץĺʶͨ - BYTE byFRetrievalChanNum; // - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧ - //bySupport & 0x1ʾǷ֧ 2012-3-22 - //bySupport & 0x2ʾǷ֧128·ȡչ2012-12-27 - BYTE byFRecogChanNum; //ʶͨ - BYTE byBPPerimeterChanNum; //Ϊ(ܽ)ͨ - BYTE byTPSChanNum; //ͨյͨ - BYTE byTFSChanNum; //·Υȡ֤ͨ - BYTE byFSnapBFullChanNum; //ץĺ쳣Ϊͨ - BYTE byHeatMapChanNum; //ȶͼͨ - BYTE bySmartVehicleNum; //SMART¼+ͨ - BYTE bySmartHVTNum; //SMART¼+мͨ - BYTE bySmartNum; //SMART¼ - BYTE byVehicleNum; //ͨ - BYTE bySmartRoadDetectionNum ; // SMART¼+·ͨ - BYTE bySmartFaceDetectionNum ; // SMART¼+ͨ - BYTE bySmartHeatMapNum ; // SMART¼+ȶͼͨ - BYTE byHumanRecognitionNum; //ʶͨ - BYTE byEdcationStudentNum; //¼ѧ&&ѧͳƣֵ֧ͨ - BYTE byRoadDetectionNum;//·ͨ - BYTE byPersonDensityDetection; //Աܶȼͨ - BYTE bySafetyHelmetDetection; //ȫñͨ - BYTE byPerimeterCapture;//ܽץͨ - BYTE byHeelPDC;//бͨ - BYTE by12MPLiveView;// 1200W@20fpsԤ4000*3000 - BYTE byTeacherBehaviorDetectNum; //¼ʦΪ⣩ֵ֧ͨ - BYTE byMixedTargetDetection;//Ŀͨ - BYTE byFaceContrast;//ȶԼͨ - BYTE byCityManagement;//ǻ۳ǹܼͨ - BYTE byMixedTargetDetectionSmart;//Ŀ+Smart¼ - BYTE byRes; -}NET_VCA_DEV_ABILITY, *LPNET_VCA_DEV_ABILITY; - - -//쳣Ϊ -typedef enum _VCA_ABILITY_TYPE_ -{ - TRAVERSE_PLANE_ABILITY = 0x01, //Խ - ENTER_AREA_ABILITY = 0x02, // - EXIT_AREA_ABILITY = 0x04, //뿪 - INTRUSION_ABILITY = 0x08, // - LOITER_ABILITY = 0x10, //ǻ - LEFT_TAKE_ABILITY = 0x20, //Ʒȡ - PARKING_ABILITY = 0x40, //ͣ - RUN_ABILITY = 0x80, //ƶ - HIGH_DENSITY_ABILITY = 0x100, //Աۼ - LF_TRACK_ABILITY = 0x200, // - VIOLENT_MOTION_ABILITY = 0x400, //˶ - REACH_HIGHT_ABILITY = 0x800, //ʸ߼ - GET_UP_ABILITY = 0x1000, // - LEFT_ABILITY = 0x2000, //Ʒ - TAKE_ABILITY = 0x4000, //Ʒȡ - LEAVE_POSITION = 0x8000, // - TRAIL_ABILITY = 0x10000, //β - KEY_PERSON_GET_UP_ABILITY = 0x20000, //صԱ - STANDUP_ABILITY = 0x40000, // - FALL_DOWN_ABILITY = 0x80000, // - AUDIO_ABNORMAL_ABILITY = 0x100000, //ǿͻ - ADV_REACH_HEIGHT_ABILITY = 0x200000, //ʸ - TOILET_TARRY_ABILITY = 0x400000, //޳ʱ - YARD_TARRY_ABILITY = 0x800000, //ŷ糡 - ADV_TRAVERSE_PLANE_ABILITY = 0x1000000, //߾ - LECTURE_ABILITY = 0x2000000, //ڿ - ANSWER_ABILITY = 0x4000000, //ش - HUMAN_ENTER_ABILITY = 0x10000000, //˿ATM ,ֻATM_PANELģʽ֧ - OVER_TIME_ABILITY = 0x20000000, //ʱ,ֻATM_PANELģʽ֧ - STICK_UP_ABILITY = 0x40000000, //ֽ - INSTALL_SCANNER_ABILITY = 0x80000000 //װ -}VCA_ABILITY_TYPE; - -typedef enum _VCA_ABILITY_TYPE_EX_ -{ - PEOPLENUM_CHANGE_ABILITY = 0x00000002, //仯 - SPACING_CHANGE_ABILITY = 0x00000004, //仯 - EVENT_COMBINED_ABILITY = 0x00000008, //¼ - EVENT_SIT_QUIETLY = 0x00000010, //һ - EVENT_HIGH_DENSITY_STATUS_ABILITY = 0x00000020, //Աۼ״̬ - EVENT_RUNNING = 0x00000040, // - EVENT_RETENTION = 0x00000080, // - EVENT_TEACHER_WRITING = 0x00000100, // - EVENT_FAKECARD = 0x00000200 //α쿨 -}VCA_ABILITY_TYPE_EX; - -//ͨ -typedef enum _VCA_CHAN_ABILITY_TYPE_ -{ - VCA_BEHAVIOR_BASE = 1, //쳣Ϊ - VCA_BEHAVIOR_ADVANCE = 2, //쳣Ϊ߼ - VCA_BEHAVIOR_FULL = 3, //쳣Ϊ - VCA_PLATE = 4, // - VCA_ATM = 5, //ATM - VCA_PDC = 6, //ͳ - VCA_ITS = 7, // ͨ¼ - VCA_BEHAVIOR_PRISON = 8, //쳣Ϊ() - VCA_FACE_SNAP = 9, //ץ - VCA_FACE_SNAPRECOG = 10, //ץĺʶ - VCA_FACE_RETRIEVAL = 11, // - VCA_FACE_RECOG = 12, //ʶ - VCA_BEHAVIOR_PRISON_PERIMETER = 13, // 쳣Ϊ (ܽ) - VCA_TPS = 14, //ͨյ - VCA_TFS = 15, //·Υȡ֤ - VCA_BEHAVIOR_FACESNAP = 16, //ץĺ쳣Ϊ - VCA_HEATMAP = 17, //ȶͼ - VCA_SMART_VEHICLE_DETECTION = 18, // SMART¼+ - VCA_SMART_HVT_DETECTION = 19, // SMART¼+м - VCA_SMART_EVENT = 20, // SMART¼ - VCA_VEHICLE_DETECTION = 21, // - VCA_SMART_ROAD_DETECTION = 22, // SMART¼+· - VCA_SMART_FACE_DETECTION = 23, // SMART¼+ - VCA_SMART_HEATMAP = 24, // SMART¼+ȶͼ - VCA_HUMAN_RECOGNITION = 25 , // ʶ - VCA_EDUCATION_STUDENT_DETECTION = 26, //¼ѧ&&ѧͳƣ - VCA_ROAD_DETECTION = 27, //· - VCA_PERSON_DENSITY_DETECTION = 28, //Աܶȼ - VCA_PERIMETER_CAPTURE = 29, //ܽץ - VCA_SAFETY_HELMET_DETECTION = 30, //ȫñ - VCA_HEEL_PDC = 31, //б - VCA_12MPLIVE_VIEW = 32, // 1200W@20fpsԤ4000*3000 - VCA_TEACHER_BEHAVIOR_DETECTION = 33, //ʦΪ - VCA_MIXED_TARGET_DETECTION = 34, //Ŀ - VCA_FACE_CONTRAST = 35, //Աȼ(ͬʱ֧ץļԱȹܣ㷨IJͬ㷨ȶΪģȷÿαȶԳɹĿ겻ʺ϶ԱԸĿץġ) - VCA_CITY_MANAGEMENT = 36, //ǻ۳ǹ - VCA_MIXED_TARGET_DETECTION_SMART = 37 //ĿSmart -}VCA_CHAN_ABILITY_TYPE; - -//ATMģʽ(ATM) -typedef enum _VCA_CHAN_MODE_TYPE_ -{ - VCA_ATM_PANEL = 0, //ATM - VCA_ATM_SURROUND = 1, //ATM - VCA_ATM_FACE = 2, //ATM - VCA_ATM_SAFETYCABIN = 3 //ATM -}VCA_CHAN_MODE_TYPE; - -//ͨȡ֤TFSͨģʽ(TFS) -typedef enum _TFS_CHAN_MODE_TYPE_ -{ - TFS_CITYROAD = 0, //TFS е· - TFS_FREEWAY = 1 //TFS ٵ· -}TFS_CHAN_MODE_TYPE; - -//쳣Ϊⳡģʽ -typedef enum _BEHAVIOR_SCENE_MODE_TYPE_ -{ - BEHAVIOR_SCENE_DEFAULT = 0, //ϵͳĬ - BEHAVIOR_SCENE_WALL = 1, //Χǽ - BEHAVIOR_SCENE_INDOOR = 2 // -}BEHAVIOR_SCENE_MODE_TYPE; - -//ģʽ -typedef enum _BEHAVIOR_PRISON_MODE_TYPE_ -{ - BEHAVIOR_PRISON = 0, // - BEHAVIOR_HEARING = 1, //Ѷ - BEHAVIOR_RECFIELD = 2 //ŷ糡 -}BEHAVIOR_PRISON_MODE_TYPE,LPBEHAVIOR_PRISON_MODE_TYPE; - - -//ͨ -typedef struct tagNET_VCA_CHAN_IN_PARAM -{ - BYTE byVCAType; //VCA_CHAN_ABILITY_TYPEöֵ - BYTE byMode; //ģʽATM ʱVCA_CHAN_MODE_TYPE,TFSʱTFS_CHAN_MODE_TYPE,VCA_TYPE Ϊͨ¼ʱTRAFFIC_SCENE_MODE - BYTE byRes[2]; //Ϊ0 -}NET_VCA_CHAN_IN_PARAM, *LPNET_VCA_CHAN_IN_PARAM; - - -//Ϊṹ -typedef struct tagNET_VCA_BEHAVIOR_ABILITY -{ - DWORD dwSize; //ṹ - DWORD dwAbilityType; //ֵ֧ͣλʾVCA_ABILITY_TYPE - BYTE byMaxRuleNum; // - BYTE byMaxTargetNum; //Ŀ - BYTE bySupport; // ֵ֧Ĺ λʾ - // bySupport & 0x01 ֱ֧궨 - BYTE byRes[5]; //Ϊ0 - DWORD dwAbilityTypeEx; //ֵ֧ͣλʾVCA_ABILITY_TYPE_EX -}NET_VCA_BEHAVIOR_ABILITY, *LPNET_VCA_BEHAVIOR_ABILITY; - -//ݸ² -typedef struct tagNET_DVR_SCENE_CHANGE_UPDATE_PARAM -{ - DWORD dwSize; - BYTE byIDCount; //ʵID - BYTE byRes1[3]; - BYTE byStreamID[MAX_STREAM_ID_NUM][STREAM_ID_LEN]; - BYTE byRes[256]; -}NET_DVR_SCENE_CHANGE_UPDATE_PARAM, *LPNET_DVR_SCENE_CHANGE_UPDATE_PARAM; - -// ͨṹ -typedef struct tagNET_DVR_ITS_ABILITY -{ - DWORD dwSize; // ṹС - DWORD dwAbilityType; // ֵ֧б ITS_ABILITY_TYPE - BYTE byMaxRuleNum; // - BYTE byMaxTargetNum; //Ŀ - BYTE byRes[10]; // -}NET_DVR_ITS_ABILITY, *LPNET_DVR_ITS_ABILITY; - -/***********************************end*******************************************/ - -/************************************ܲṹ*********************************/ -//ܹýṹ -//ֵһ,ֵΪǰİٷֱȴС, ΪСλ - -//쳣Ϊ¼ -typedef enum _VCA_EVENT_TYPE_ -{ - VCA_TRAVERSE_PLANE = 0x1, //Խ - VCA_ENTER_AREA = 0x2, //Ŀ,֧ - VCA_EXIT_AREA = 0x4, //Ŀ뿪,֧ - VCA_INTRUSION = 0x8, //ܽ,֧ - VCA_LOITER = 0x10, //ǻ,֧ - VCA_LEFT_TAKE = 0x20, //Ʒȡ,֧ - VCA_PARKING = 0x40, //ͣ,֧ - VCA_RUN = 0x80, //ƶ,֧ - VCA_HIGH_DENSITY = 0x100, //Աۼ,֧ - VCA_VIOLENT_MOTION = 0x200, //˶ - VCA_REACH_HIGHT = 0x400, //ʸ߼ - VCA_GET_UP = 0x800, // - VCA_LEFT = 0x1000, //Ʒ - VCA_TAKE = 0x2000, //Ʒȡ - VCA_LEAVE_POSITION = 0x4000, // - VCA_TRAIL = 0x8000, //β - VCA_KEY_PERSON_GET_UP = 0x10000, //صԱ - VCA_STANDUP = 0x20000, // - VCA_FALL_DOWN = 0x80000, //ؼ - VCA_AUDIO_ABNORMAL = 0x100000, //ǿͻ - VCA_ADV_REACH_HEIGHT = 0x200000, //ʸ - VCA_TOILET_TARRY = 0x400000, //޳ʱ - VCA_YARD_TARRY = 0x800000, //ŷ糡 - VCA_ADV_TRAVERSE_PLANE = 0x1000000, //߾ - VCA_LECTURE = 0x2000000, //ڿ - VCA_ANSWER = 0x4000000, //ش - VCA_HUMAN_ENTER = 0x10000000, //˿ATM ֻATM_PANELģʽ֧ - VCA_OVER_TIME = 0x20000000, //ʱ ֻATM_PANELģʽ֧ - VCA_STICK_UP = 0x40000000, //ֽ,֧ - VCA_INSTALL_SCANNER = 0x80000000 //װ,֧ -}VCA_EVENT_TYPE; - -//쳣Ϊ¼չ -typedef enum _VCA_RULE_EVENT_TYPE_EX_ -{ - ENUM_VCA_EVENT_TRAVERSE_PLANE = 1, //Խ - ENUM_VCA_EVENT_ENTER_AREA = 2, //Ŀ,֧ - ENUM_VCA_EVENT_EXIT_AREA = 3, //Ŀ뿪,֧ - ENUM_VCA_EVENT_INTRUSION = 4, //ܽ,֧ - ENUM_VCA_EVENT_LOITER = 5, //ǻ,֧ - ENUM_VCA_EVENT_LEFT_TAKE = 6, //Ʒȡ,֧ - ENUM_VCA_EVENT_PARKING = 7, //ͣ,֧ - ENUM_VCA_EVENT_RUN = 8, //ƶ,֧ - ENUM_VCA_EVENT_HIGH_DENSITY = 9, //Աۼ,֧ - ENUM_VCA_EVENT_VIOLENT_MOTION = 10, //˶ - ENUM_VCA_EVENT_REACH_HIGHT = 11, //ʸ߼ - ENUM_VCA_EVENT_GET_UP = 12, // - ENUM_VCA_EVENT_LEFT = 13, //Ʒ - ENUM_VCA_EVENT_TAKE = 14, //Ʒȡ - ENUM_VCA_EVENT_LEAVE_POSITION = 15, // - ENUM_VCA_EVENT_TRAIL = 16, //β - ENUM_VCA_EVENT_KEY_PERSON_GET_UP = 17, //صԱ - ENUM_VCA_EVENT_STANDUP = 18, // - ENUM_VCA_EVENT_FALL_DOWN = 20, //ؼ - ENUM_VCA_EVENT_AUDIO_ABNORMAL = 21, //ǿͻ - ENUM_VCA_EVENT_ADV_REACH_HEIGHT = 22, //ʸ - ENUM_VCA_EVENT_TOILET_TARRY = 23, //޳ʱ - ENUM_VCA_EVENT_YARD_TARRY = 24, //ŷ糡 - ENUM_VCA_EVENT_ADV_TRAVERSE_PLANE = 25, //߾ - ENUM_VCA_EVENT_LECTURE = 26, //ڿΣḶ̌ - ENUM_VCA_EVENT_ANSWER = 27, //ش⣨Ḷ̌ - ENUM_VCA_EVENT_HUMAN_ENTER = 29, //˿ATM,ֻATM_PANELģʽ֧ - ENUM_VCA_EVENT_OVER_TIME = 30, //ʱ,ֻATM_PANELģʽ֧ - ENUM_VCA_EVENT_STICK_UP = 31, //ֽ,֧ - ENUM_VCA_EVENT_INSTALL_SCANNER = 32, //װ,֧ - ENUM_VCA_EVENT_PEOPLENUM_CHANGE = 35, //仯¼ - ENUM_VCA_EVENT_SPACING_CHANGE = 36, //仯¼ - ENUM_VCA_EVENT_COMBINED_RULE = 37, //Ϲ¼ - ENUM_VCA_EVENT_SIT_QUIETLY = 38, //һ¼ - ENUM_VCA_EVENT_HIGH_DENSITY_STATUS= 39, //Աۼ״̬ - ENUM_VCA_EVENT_RUNNING = 40, //ܼ - ENUM_VCA_EVENT_RETENTION = 41, // - ENUM_VCA_EVENT_BLACKBOARD_WRITE = 42, // - ENUM_VCA_EVENT_SITUATION_ANALYSIS = 43, //̬Ʒ - ENUM_VCA_EVENT_PLAY_CELLPHONE = 44, //ֻ - ENUM_VCA_EVENT_DURATION = 45, // - ENUM_VCA_EVENT_FAKECARD = 46 //α쿨 -} VCA_RULE_EVENT_TYPE_EX; - -//洩Խ -typedef enum _VCA_CROSS_DIRECTION_ -{ - VCA_BOTH_DIRECTION, // ˫ - VCA_LEFT_GO_RIGHT, // - VCA_RIGHT_GO_LEFT // -}VCA_CROSS_DIRECTION; - -//߽ṹ -typedef struct tagNET_VCA_LINE -{ - NET_VCA_POINT struStart; // - NET_VCA_POINT struEnd; //յ -}NET_VCA_LINE, *LPNET_VCA_LINE; - -//ͽṹ -typedef struct tagNET_VCA_POLYGON -{ - DWORD dwPointNum; //Ч ڵ33һΪЧ߽ΪЧ - NET_VCA_POINT struPos[VCA_MAX_POLYGON_POINT_NUM]; //α߽,ʮ -}NET_VCA_POLYGON, *LPNET_VCA_POLYGON; - -// -typedef struct tagNET_VCA_TRAVERSE_PLANE -{ - NET_VCA_LINE struPlaneBottom; //ױ - VCA_CROSS_DIRECTION dwCrossDirection; //Խ: 0-˫1-ң2-ҵ - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byPlaneHeight; //߶ - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byPriority;//ȼ,0~,1~,2~ - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes2[34]; // -}NET_VCA_TRAVERSE_PLANE, *LPNET_VCA_TRAVERSE_PLANE; - -typedef struct tagNET_VCA_SIT_QUIETLY -{ - NET_VCA_POLYGON struRegion;//Χ - //򴥷˳0-˳򴥷1-˳򴥷 - DWORD dwDuration; //ʱ λs Χ1-3600 - BYTE byRes[4]; -} NET_VCA_SIT_QUIETLY, *LPNET_VCA_SIT_QUIETLY; - -///뿪 -typedef struct tagNET_VCA_AREA -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1,5] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byPriority;//ȼ,0~,1~,2~ - BYTE byRes[5]; -}NET_VCA_AREA, *LPNET_VCA_AREA; - -//ݱӳʱʶдͼƬIOһ£1뷢һ -//ֲ -typedef struct tagNET_VCA_INTRUSION -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //Ϊ¼ʱֵ: 1-120룬5룬жЧʱ ATMϵͳдļֵΪ 1-1000 - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byRate; //ռȣδĿߴĿռıأһΪ - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byPriority;//ȼ,0~,1~,2~ - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- -}NET_VCA_INTRUSION, *LPNET_VCA_INTRUSION; - -//ǻ -typedef struct tagNET_VCA_LOITER -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱֵ1-120룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[1]; - DWORD dwLoiterDistance; //гֵܾ100-5000Ĭ1000cm -}NET_VCA_LOITER, *LPNET_VCA_LOITER; - -//Ʒ/Ʒȡ -typedef struct tagNET_VCA_TAKE_LEFT -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱֵ1-120룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_TAKE_LEFT, *LPNET_VCA_TAKE_LEFT; - -//ͣ -typedef struct tagNET_VCA_PARKING -{ - NET_VCA_POLYGON struRegion; //Χ - WORD wDuration; //ʱֵ1-100룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_PARKING, *LPNET_VCA_PARKING; - -//ƶ -typedef struct tagNET_VCA_RUN -{ - NET_VCA_POLYGON struRegion; //Χ - float fRunDistance; //˿ƶ, Χ: [0.1, 1.00] ģʽ ʵģʽ(1,20)m/s - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byMode; // 0 ģʽ 1 ʵģʽ - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byRes; -}NET_VCA_RUN, *LPNET_VCA_RUN; - -//Աۼ -typedef struct tagNET_VCA_HIGH_DENSITY -{ - NET_VCA_POLYGON struRegion; //Χ - float fDensity; //ۼ, Χ: [0.1, 1.0] - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes; // ֽ - WORD wDuration; // Աۼֵ 20-360s -}NET_VCA_HIGH_DENSITY, *LPNET_VCA_HIGH_DENSITY; - -//˶ -typedef struct tagNET_VCA_VIOLENT_MOTION -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //˶ֵ1-50 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byMode; //0-Ƶģʽ1-Ƶģʽ2-Ƶģʽ - BYTE byRes[4]; // -}NET_VCA_VIOLENT_MOTION, *LPNET_VCA_VIOLENT_MOTION; - -// ʸ߲ -typedef struct tagNET_VCA_REACH_HIGHT -{ - NET_VCA_LINE struVcaLine; //ʸ߾ - WORD wDuration; //ʸֵ߱1-120 - BYTE byRes[6]; // ֽ -}NET_VCA_REACH_HIGHT, *LPNET_VCA_REACH_HIGHT; - -// 𴲲 -typedef struct tagNET_VCA_GET_UP -{ - NET_VCA_POLYGON struRegion; //Χ - WORD wDuration; //𴲱ֵ1-100 - BYTE byMode; //ģʽ,0-ͨģʽ,1-ߵģʽ,2-ͨģʽ - BYTE bySensitivity; //ȲΧ[1,10] - BYTE byRes[4]; //ֽ -}NET_VCA_GET_UP, * LPNET_VCA_GET_UP; - -// Ʒ -typedef struct tagNET_VCA_LEFT -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; // Ʒֵ 10-100 - BYTE bySensitivity; // ȲΧ[1,5] - BYTE byRes[5]; // ֽ -}NET_VCA_LEFT, *LPNET_VCA_LEFT; - -// Ʒȡ -typedef struct tagNET_VCA_TAKE -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; // Ʒȡֵ10-100 - BYTE bySensitivity; // ȲΧ[1,5] - BYTE byRes[5]; // ֽ -}NET_VCA_TAKE, *LPNET_VCA_TAKE; - -typedef struct tagNET_VCA_OVER_TIME -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; // ʱֵ 4s-60000s - BYTE byRes[6]; // ֽ -}NET_VCA_OVER_TIME, *LPNET_VCA_OVER_TIME; - -typedef struct tagNET_VCA_HUMAN_ENTER -{ - DWORD dwRes[23]; //ֽ -}NET_VCA_HUMAN_ENTER, *LPNET_VCA_HUMAN_ENTER; - -//ֽ -typedef struct tagNET_VCA_STICK_UP -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱֵ4-60룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_STICK_UP, *LPNET_VCA_STICK_UP; - -// -typedef struct tagNET_VCA_SCANNER -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱ䣺4-60 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_SCANNER, *LPNET_VCA_SCANNER; - -//¼ -typedef struct tagNET_VCA_LEAVE_POSITION -{ - NET_VCA_POLYGON struRegion; //Χ - WORD wLeaveDelay; //˱ʱ䣬λs - WORD wStaticDelay; //˯ʱ䣬λs - BYTE byMode; //ģʽ0-¼1-˯¼2-˯¼3-ڸڣԱصλ - BYTE byPersonType; //ֵͣ0-ֵڣ1-˫ֵ - BYTE byOnPosition; //ڸ1-10Ĭ1 - BYTE bySensitivity; //ȲΧ[1,5] -}NET_VCA_LEAVE_POSITION, *LPNET_VCA_LEAVE_POSITION; - -//β -typedef struct tagNET_VCA_TRAIL -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wRes; /* */ - BYTE bySensitivity; /* ȲΧ[1,5] */ - BYTE byRes[5]; -}NET_VCA_TRAIL, *LPNET_VCA_TRAIL; - -//ز -typedef struct tagNET_VCA_FALL_DOWN -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; /* ¼ֵ 1-60s*/ - BYTE bySensitivity; /* ȲΧ[1,5] */ - BYTE byHeightThreshold; //߶ֵΧ[0,250]Ĭ90λ - BYTE byRes[4]; -}NET_VCA_FALL_DOWN, *LPNET_VCA_FALL_DOWN; - -// -typedef struct tagNET_VCA_STANDUP -{ - NET_VCA_POLYGON struRegion; //Χ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byHeightThreshold; //߶ֵΧ[0,250]Ĭ130λ - WORD wDuration; //¼ֵ[1,3600]Ĭ2λ - BYTE byRes[4]; // -}NET_VCA_STANDUP, *LPNET_VCA_STANDUP; - - -//仯 -typedef struct tagNET_VCA_PEOPLENUM_CHANGE -{ - NET_VCA_POLYGON struRegion; //Χ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byPeopleNumThreshold; //ֵΧ[0,5]Ĭ1 - BYTE byDetectMode; //ⷽʽֵȽϡ1-ڣ2-Сڣ3-ڣ4- - BYTE byNoneStateEffective; //״̬ǷЧ0-Ч1-Ч - WORD wDuration; //ʱֵ[1,3600]Ĭ2λ - BYTE byPeopleNum; //ֻϱ豸0ʾֱ֧ϱ0xffʾΪ0 - BYTE byRes; // -}NET_VCA_PEOPLENUM_CHANGE, *LPNET_VCA_PEOPLENUM_CHANGE; - -//仯 -typedef struct tagNET_VCA_SPACING_CHANGE -{ - NET_VCA_POLYGON struRegion; //Χ - float fSpacingThreshold; //ֵΧ[0,10.0]Ĭ1.0λ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byDetectMode; //ⷽʽֵȽϡ1-ڣ2-С - WORD wDuration; //ʱֵ[1,3600]Ĭ2λ -}NET_VCA_SPACING_CHANGE, *LPNET_VCA_SPACING_CHANGE; - - -//ǿͻ -typedef struct tagNET_VCA_AUDIO_ABNORMAL -{ - WORD wDecibel; //ǿ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byAudioMode; //ģʽ0-ȼ⣬1-ֱֵ⣬2-ֱֵ - BYTE byEnable; //ʹܣǷ(ǿͻ䣬) - BYTE byThreshold; //ֵ[1,100] - BYTE byRes[54]; // -}NET_VCA_AUDIO_ABNORMAL, *LPNET_VCA_AUDIO_ABNORMAL; - -//ǿ 2014-03-21 -typedef struct tagNET_DVR_AUDIO_STEEP_DROP -{ - BYTE bySensitivity; /* ȲΧ[1,100] */ - BYTE byEnable; //ʹܣǷ(ǿͻ䣬) - BYTE byRes[6]; -}NET_DVR_AUDIO_STEEP_DROP, *LPNET_DVR_AUDIO_STEEP_DROP; - - -typedef struct tagNET_DVR_AUDIO_EXCEPTION -{ - DWORD dwSize; - BYTE byEnableAudioInException;//ʹܣǷ - BYTE byRes1[3]; - NET_VCA_AUDIO_ABNORMAL struAudioAbnormal; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱ - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD byRelRecordChan[MAX_CHANNUM_V30]; - NET_DVR_AUDIO_STEEP_DROP struAudioSteepDrop; //ǿ - BYTE byRes2[24]; -}NET_DVR_AUDIO_EXCEPTION, *LPNET_DVR_AUDIO_EXCEPTION; - -typedef struct tagNET_VCA_TOILET_TARRY -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDelay; //޳ʱʱ[1,3600]λ - BYTE byRes[6]; -}NET_VCA_TOILET_TARRY, *LPNET_VCA_TOILET_TARRY; - -typedef struct tagNET_VCA_YARD_TARRY -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDelay; //ŷ糡ʱ[1,120]λ - BYTE byRes[6]; -}NET_VCA_YARD_TARRY, *LPNET_VCA_YARD_TARRY; - -typedef struct tagNET_VCA_ADV_REACH_HEIGHT -{ - NET_VCA_POLYGON struRegion; //ʸ - DWORD dwCrossDirection; //Խ(VCA_CROSS_DIRECTION): 0-˫1-2-ҵ - BYTE byRes[4]; // ֽ -}NET_VCA_ADV_REACH_HEIGHT, * LPNET_VCA_ADV_REACH_HEIGHT; - -typedef struct tagNET_VCA_ADV_TRAVERSE_PLANE -{ - NET_VCA_POLYGON struRegion; // - DWORD dwCrossDirection; //Խ(VCA_CROSS_DIRECTION): 0-˫1-2-ҵ - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[3]; //ֽ -} NET_VCA_ADV_TRAVERSE_PLANE,*LPNET_VCA_ADV_TRAVERSE_PLANE; - -typedef struct tagNET_VCA_PLAY_CELLPHONE -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ֻʱʱ[1,600], Ĭ20 - BYTE byRes[6]; //ֽ -}NET_VCA_PLAY_CELLPHONE, *LPNET_VCA_PLAY_CELLPHONE; - -typedef struct tagNET_VCA_LECTURE -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //Ϊ¼ʱֵ: 1-10룬1룬жЧʱ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byAlarmState;//ֶֻν治ʾ0-,1-ʼ,2- - BYTE byTrackingMode ;//ģʽ0-Զ(Ĭ) , 1-ˮƽ, 2-ֱ - BYTE byZoomMode;//䱶ģʽ, 0-̶(Ĭ), 1-Զ - BYTE byZoomOver;//0-,1-䱶λ(ϴ¼Ϊлж) - BYTE byTrackStatus;//״̬ 0-1-ʼڿΣAȫ 2-ڣ2,д3 -ʧ2,ȫ -}NET_VCA_LECTURE, *LPNET_VCA_LECTURE; - -typedef struct tagNET_VCA_ANSWER -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity;//ȲΧ[1-100] - BYTE byAlarmState;//ֶֻν治ʾ0-,1-ʼ,2- - BYTE byZoomOver;//0-,1-䱶λ(ϴ¼Ϊлж) - BYTE byAnswerStudent;//0-1-ѧ2-ѧ3-ѧ,4-ѧ, 5-ѧ߶ - BYTE byRes[4]; // -}NET_VCA_ANSWER, *LPNET_VCA_ANSWER; - -//ṹ -typedef struct tagNET_VCA_RELATE_RULE_PARAM -{ - BYTE byRuleID; // 0-ʾ - BYTE byRes; // - WORD wEventType; //Ϊ¼ͣοVCA_RULE_EVENT_TYPE_EX -}NET_VCA_RELATE_RULE_PARAM,*LPNET_VCA_RELATE_RULE_PARAM; - -typedef struct tagNET_VCA_COMBINED_RULE_ -{ - //򴥷˳0-˳򴥷1-˳򴥷 - BYTE byRuleSequence; - BYTE byRes[7]; - DWORD dwMinInterval; //Сʱλ - DWORD dwMaxInterval; //ʱλ - NET_VCA_RELATE_RULE_PARAM struRule1Raram;//1 - NET_VCA_RELATE_RULE_PARAM struRule2Raram;//2 - BYTE byRes1[36]; -} NET_VCA_COMBINED_RULE, *LPNET_VCA_COMBINED_RULE; - -//¼ -typedef struct tagNET_VCA_BLACKBOARD_WRITE -{ - NET_VCA_POLYGON struRegion;//Χ򣬱ви - BYTE byTeacherState;//ʦ״̬0~ʦд1~ʦȫ2~̨״̬ - BYTE byWritingState;//״̬0~鿪ʼ1~ - BYTE byWritingArea;//0~飬1~ߣ2~ұ - BYTE byRes[5]; -}NET_VCA_BLACKBOARD_WRITE, *LPNET_VCA_BLACKBOARD_WRITE; - -//Աۼ״̬ -typedef struct tagNET_VCA_HIGH_DENSITY_STATUS -{ - NET_VCA_POLYGON struRegion; //Χ - float fDensity; //ۼ, Χ: [0.1, 1.0] - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[3]; // ֽ -}NET_VCA_HIGH_DENSITY_STATUS, *LPNET_VCA_HIGH_DENSITY_STATUS; - -//ܼ -typedef struct _NET_VCA_RUNNING_ -{ - NET_VCA_POLYGON struRegion; //Χ - DWORD dwSpeed; //ٶȣΧ[1,10] - WORD wDuration; // ʱֵ - BYTE byRunMode; //ģʽ0-,1˱,2:˱ - BYTE byRes; -}NET_VCA_RUNNING, *LPNET_VCA_RUNNING; - -// -typedef struct tagNET_VCA_RETENTION -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; //ֵʱ䣨60-3600룩Ĭ1800 - BYTE byRes[6]; // ֽ -}NET_VCA_RETENTION, *LPNET_VCA_RETENTION; - -// ̬Ʒ -typedef struct tagNET_VCA_SITUATION_ANALYSIS -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wPeopleNum; // - BYTE byRes[6]; // ֽ -}NET_VCA_SITUATION_ANALYSIS, *LPNET_VCA_SITUATION_ANALYSIS; - -// -typedef struct _NET_VCA_DURATION_ -{ - WORD wRelationEventType; //οVCA_RULE_EVENT_TYPE_EX - BYTE byRes[90]; -}NET_VCA_DURATION, *LPNET_VCA_DURATION; - -//α쿨 -typedef struct tagNET_VCA_FAKECARD -{ - NET_VCA_POLYGON struRegion; // Χ - BYTE bySensitivity; // ȲС1,5,Ĭ3 - BYTE byRes[7]; // ֽ -}NET_VCA_FAKECARD, *LPNET_VCA_FAKECARD; - -//¼ -typedef union tagNET_VCA_EVENT_UNION -{ - DWORD uLen[23]; // - NET_VCA_TRAVERSE_PLANE struTraversePlane; //Խ - NET_VCA_AREA struArea; ///뿪 - NET_VCA_INTRUSION struIntrusion; //ֲ - NET_VCA_LOITER struLoiter; //ǻ - NET_VCA_TAKE_LEFT struTakeTeft; //Ʒ/Ʒȡ - NET_VCA_PARKING struParking; //ͣ - NET_VCA_RUN struRun; //ƶ - NET_VCA_HIGH_DENSITY struHighDensity; //Աۼ - NET_VCA_VIOLENT_MOTION struViolentMotion; //˶ - NET_VCA_REACH_HIGHT struReachHight; //ʸ - NET_VCA_GET_UP struGetUp; // - NET_VCA_LEFT struLeft; //Ʒ - NET_VCA_TAKE struTake; // Ʒȡ - NET_VCA_HUMAN_ENTER struHumanEnter; //Ա - NET_VCA_OVER_TIME struOvertime; //ʱ - NET_VCA_STICK_UP struStickUp; //ֽ - NET_VCA_SCANNER struScanner; // - NET_VCA_LEAVE_POSITION struLeavePos; //ڲ - NET_VCA_TRAIL struTrail; //β - NET_VCA_FALL_DOWN struFallDown; //ز - NET_VCA_AUDIO_ABNORMAL struAudioAbnormal; //ǿͻ - NET_VCA_ADV_REACH_HEIGHT struReachHeight; //ʸ߲ - NET_VCA_TOILET_TARRY struToiletTarry; //޳ʱ - NET_VCA_YARD_TARRY struYardTarry; //ŷ糡 - NET_VCA_ADV_TRAVERSE_PLANE struAdvTraversePlane;//߾ - NET_VCA_LECTURE struLecture; //ڿ¼ - NET_VCA_ANSWER struAnswer; //ش¼ - NET_VCA_STANDUP struStandUp; // - NET_VCA_PEOPLENUM_CHANGE struPeopleNumChange; //仯 - NET_VCA_SPACING_CHANGE struSpacingChange; //仯 - NET_VCA_COMBINED_RULE struCombinedRule; //Ϲ - NET_VCA_SIT_QUIETLY struSitQuietly; //һ - NET_VCA_HIGH_DENSITY_STATUS struHighDensityStatus; //Աۼ״̬ - NET_VCA_RUNNING struRunning; //ܲ - NET_VCA_RETENTION struRetention;// - NET_VCA_BLACKBOARD_WRITE struBlackboardWrite; // - NET_VCA_SITUATION_ANALYSIS struSituationAnalysis; //̬Ʒ - NET_VCA_PLAY_CELLPHONE struPlayCellphone; //ֻ - NET_VCA_DURATION struDruation;// - NET_VCA_FAKECARD struFakeCard; //α쿨 -}NET_VCA_EVENT_UNION, *LPNET_VCA_EVENT_UNION; - -// ߴ -typedef enum _VCA_SIZE_FILTER_MODE_ -{ - IMAGE_PIX_MODE, //شС - REAL_WORLD_MODE, //ʵʴС - DEFAULT_MODE // Ĭģʽ -}SIZE_FILTER_MODE; -//ߴ -typedef struct tagNET_VCA_SIZE_FILTER -{ - BYTE byActive; //Ƿ񼤻ߴ 0- 0- - BYTE byMode; //ģʽSIZE_FILTER_MODE - BYTE byRes[2]; //0 - NET_VCA_RECT struMiniRect; //СĿ,ȫ0ʾ - NET_VCA_RECT struMaxRect; //Ŀ,ȫ0ʾ -}NET_VCA_SIZE_FILTER, *LPNET_VCA_SIZE_FILTER; - -//ṹ -typedef struct tagNET_VCA_ONE_RULE -{ - BYTE byActive; //Ƿ񼤻,0-,0- - BYTE byRes[7]; //Ϊ0ֶ - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //쳣Ϊ¼ - NET_VCA_EVENT_UNION uEventParam; //쳣Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ -}NET_VCA_ONE_RULE, *LPNET_VCA_ONE_RULE; - -//쳣Ϊýṹ -typedef struct tagNET_VCA_RULECFG -{ - DWORD dwSize; //ṹ - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byPicRecordEnable; /*2012-3-1ǷͼƬ洢, 0-, 1-*/ - BYTE byRes; - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_ONE_RULE struRule[MAX_RULE_NUM]; // -}NET_VCA_RULECFG, *LPNET_VCA_RULECFG; - -//ǰ豸ַϢܷDZʾǰ豸ĵַϢ豸ʾĵַ -/* -豸ģͨ(IPC/DVR/DVS/IVMS)ʱֶд豸IPַ˿ڣbyChannelbyIvmsChannel Ϊǰģͨ -eg: -struDevIP = ģͨӦ豸IPַ -wPort = ģͨӦ豸Ķ˿ -byChannel = Ӧģͨͨ -byIvmsChannel = Ӧģͨͨ - - 豸ͨ(DVR/DVS/IVMS)ʱֶдͨ豸IPַ˿ڣbyChannelΪͨ豸ͨţbyIvmsChannelΪͨ - eg: - struDevIP = ͨ豸IPַ - wPort = ͨ豸Ķ˿ - byChannel = ͨ豸ͨ - byIvmsChannel = ͨ -*/ -typedef struct tagNET_VCA_DEV_INFO -{ - NET_DVR_IPADDR struDevIP; //ǰ豸ַ - WORD wPort; //ǰ豸˿ںţ - BYTE byChannel; //ǰ豸ͨ - BYTE byIvmsChannel; // Ivms ͨ -}NET_VCA_DEV_INFO, *LPNET_VCA_DEV_INFO; - -typedef struct tagNET_DVR_TARGET_LEFT_REGION_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - BYTE byTargetType;//Ŀ 0-ЧĿ꣬1-ʦ 2-ѧ - BYTE byLeftDirection;//Ŀ뿪0-,1-,2-,3-,4- - BYTE byTargetStatus;//0-() - BYTE byRes[125]; -}NET_DVR_TARGET_LEFT_REGION_ALARM,*LPNET_DVR_TARGET_LEFT_REGION_ALARM; - -/* ͼƬͼƬϢ */ -typedef struct -{ - /*20-˾ ˾ӳ̿ʼ, 21-˾绰, 22-˾ƣͼʻ, 23-˾ûĿǰڣ,24-˾ⲻͷ, 25-˾ϵȫ, - 26-˾ʰƷ, 27-˾Ƿ, 28-˾Զˮ, 29-˾, 31-˾δ*/ - DWORD dwPicType; /* ͼƬ */ - char *pPicBuf; /*ͼƬָ*/ - DWORD dwPicLen; /* ͼƬȣΪ0ʱʾûͼƬ */ - DWORD dwTime; /* ץͼʱ */ - char *pVideoBuf; /*Ƶָ, xxx.mp4*/ - DWORD dwVideoLen; /* ץͼƵijȣ0ʾûбƵ 20180518 */ - BYTE byRes[12]; /* Ԥ */ -}NET_DVR_DBD_PICTURE_INFO, *LPNET_DVR_DBD_PICTURE_INFO; - -/* λϢ */ -typedef struct -{/* 24 bytes */ - DWORD bValid; /* λϢǷЧ */ - DWORD dwLongitude; /* = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwLatitude; /* γ = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwVehicleSpeed; /* ٶ = ʵٶ*1000*100 */ - DWORD dwVehicleDirection; /* ٶȷ = ʵʷ*100 */ - DWORD dwAltitude; /* θ߶() */ -}NET_DVR_DBD_POSITION_INFO, *LPNET_DVR_DBD_POSITION_INFO; - -/* ״̬Ϣ */ -typedef struct -{/* 24 bytes */ - BYTE bySmoke; /* */ - BYTE byPhone; /* 绰 */ - BYTE byTiredDriving; /* ƣͼʻ */ - BYTE byNoVisualFront; /* ûĿǰ */ - BYTE byNoHead; /* */ - BYTE byWithoutBelt; /* ϵȫ */ - BYTE byPickingUpThing; /* ʰƷ */ - BYTE byYawn; /* Ƿ */ - BYTE byEatOrDrink; /* Ժ */ - BYTE byChatting; /* */ - BYTE byTampering; /* ڵIPC */ - BYTE byWithoutUniform; /* δ */ - BYTE byDriverCmpFail; /* ʶ쳣*/ - BYTE byDriverChange; /* ʻԱ*/ - BYTE byDriveLongTime; /*ʱʻ*/ - BYTE byInfraredBlockingSunglasses; /* ī */ - BYTE byOutOfWheel; /* 0-1-뷽̣2-˫뷽 */ - BYTE byRes[7]; -}NET_DVR_DBD_ALARM_STATE, *LPNET_DVR_DBD_ALARM_STATE; - -/* ʻΪϢ */ -typedef struct -{ - DWORD dwSize; /* ϴṹС 4*/ - BYTE byChannel; /* ͨ 1*/ - BYTE byLevel; /*ȼ,ǰֻ1*/ - BYTE byRes1[2]; /* ֽ 3*/ - NET_VCA_DEV_INFO struIpcInfo; /* IPͨϢ 24*/ - NET_DVR_DBD_POSITION_INFO struPosInfo; /* λϢ 24*/ - NET_DVR_DBD_PICTURE_INFO struPicInfo; /* ͼƬϢ*/ - NET_DVR_DBD_ALARM_STATE struAlarmState; /* ״̬Ϣ 24*/ - BYTE byRes2[20]; /* 20*/ -}NET_DVR_DBD_ALRAM_INFO, *LPNET_DVR_DBD_ALRAM_INFO; - -/* ADASͼƬϢ */ -typedef struct -{ - DWORD dwPicType; /* ͼƬ */ - char *pPicBuf; /*ͼƬָ*/ - DWORD dwPicLen; /* ͼƬȣΪ0ʱʾûͼƬ */ - DWORD dwTime; /* ץͼʱ */ - char *pVideoBuf; /*Ƶָ, xxx.mp4*/ - DWORD dwVideoLen; /* ץͼƵijȣ0ʾûбƵ 20180518 */ - BYTE byRes[12]; /* Ԥ */ -} NET_DVR_ADAS_PICTURE_INFO, *LPNET_DVR_ADAS_PICTURE_INFO; - -/* ADASλϢ */ -typedef struct -{/* 24 bytes */ - DWORD dwValid; /* λϢǷЧ */ - DWORD dwLongitude; /* = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwLatitude; /* γ = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwVehicleSpeed; /* ٶ = ʵٶ*1000*100 */ - DWORD dwVehicleDirection; /* ٶȷ = ʵʷ*100 */ - DWORD dwAltitude; /* θ߶() */ -}NET_DVR_ADAS_POSITION_INFO, *LPNET_DVR_ADAS_POSITION_INFO; - -/* ADAS״̬Ϣ */ -typedef struct -{/* 24 bytes */ - BYTE dwFcw; /* ǰײ0ޣ1¼ */ - BYTE dwLdw; /* ƫ룬0ޣ1ƫ룬2Ҳƫ */ - BYTE dwHmw; /* ʾ0ޣ1¼ */ - BYTE dwPcw; /* ײ0ޣ1¼ */ - BYTE dwBsd; /* ä⣬0ޣ1¼ , 2-Ҳä3-ä, 4-ä*/ - BYTE byAcc; /* ٣0ޣ1¼ */ - BYTE byBrake; /*٣0ޣ1¼ */ - BYTE byTurn; /* ת䣬0ޣ1Ҽת䣬2ת */ - BYTE byRollover; /* ෭0ޣ1¼ */ - BYTE byNoCourtesy; /* δˣ0ޣ1¼ */ - BYTE byTsr; /*ͨʶ棬0ޣ1٣2޸ߣ3޿ */ - BYTE byRes[13]; -}NET_DVR_ADAS_ALARM_STATE, *LPNET_DVR_ADAS_ALARM_STATE; - -/* ADASʻΪϢ */ -typedef struct -{ - DWORD dwSize; /* ϴṹС 4*/ - BYTE byChannel; /* ͨ 1*/ - BYTE byRes1[3]; /* ֽ 3*/ - NET_VCA_DEV_INFO struIpcInfo; /* IPͨϢ 28*/ - NET_DVR_ADAS_POSITION_INFO struPosInfo; /* λϢ 24*/ - NET_DVR_ADAS_PICTURE_INFO struPicInfo; /* ͼƬϢ*/ - NET_DVR_ADAS_ALARM_STATE struAlarmState; /* ״̬Ϣ 24*/ - BYTE byRes2[20]; /* 20*/ -}NET_DVR_ADAS_ALRAM_INFO, *LPNET_DVR_ADAS_ALRAM_INFO; - -/* гʵʱ */ -typedef struct -{ - DWORD dwSize; /* ϴṹС */ - DWORD dwSpeedValue; /* ٶֵ */ - DWORD dwSpeedPulse; /* */ - BYTE byUpgPercent; /* ȣ0-100ʧܷ255ÿοʼʱҪȽ0űʾ׼ʼ 20180508չ*/ - BYTE byRes1[3]; - DWORD dwVideoLostChans; /*λʾ0ʾ1-ʾƵʧһλʾһͨ*/ - BYTE byRes2[44]; -}NET_DVR_VEH_REALTIME_DATA_INFO, *LPNET_DVR_VEH_REALTIME_DATA_INFO; - -#define VCA_ATTEND_MAX_PIC_NUM 3 //¼ͼƬ -#define VCA_ATTEND_DRIVER_NAME_LEN 64 //Ϣ˾ֳ -#define VCA_ATTEND_CARD_ID_LEN 32 //Ϣ˾֤볤 -#define VCA_ATTEND_MAX_ALARM_ID_LEN 32 //¼Ψһŵ󳤶 - -typedef struct -{ - DWORD dwPicLen; //ͼƬȣΪ0ʱʾûͼƬ - char *pPicBuf; //ͼƬָ - BYTE byRes[12]; //Ԥ -}NET_DVR_VCA_ATTEND_PICDATA, *LPNET_DVR_VCA_ATTEND_PICDATA; - -/* ¼ͼƬϢ */ -typedef struct -{ - BYTE byPicNum; //ͼƬ - BYTE byRes1[3]; //Ԥ - NET_DVR_VCA_ATTEND_PICDATA struPicData[VCA_ATTEND_MAX_PIC_NUM]; //ͼƬ - DWORD dwVideoLen; //ץͼƵijȣ0ʾûбƵ - char *pVideoBuf; //Ƶָ - BYTE byRes[64]; //Ԥ -}NET_DVR_VCA_ATTEND_PICTURE_INFO, *LPNET_DVR_VCA_ATTEND_PICTURE_INFO; - -/* ¼ϴϢ*/ -typedef struct -{ - DWORD dwSize; // ϴṹС - BYTE byMethod; //ڷʽ 0-IC,1- - BYTE byStatus; //״̬ 0-1-ϰ,2-°ࣨ򻻰ࣩ - BYTE byCertIDType; //ʻԱ֤ͣ0-Ӫʸ֤1-֤ - BYTE byCertIDLen; //ʻԱҵʸ֤볤 - char sCertId[VCA_ATTEND_CARD_ID_LEN]; //ʻԱҵʸ֤ - DWORD dwTime; //ʱ - char sName[VCA_ATTEND_DRIVER_NAME_LEN]; //ʻԱ - char sAlarmIdNo[VCA_ATTEND_MAX_ALARM_ID_LEN]; //ʶ - NET_DVR_VCA_ATTEND_PICTURE_INFO struPicInfo; //ͼƬϢ - BYTE byRes[128]; // -}NET_DVR_VCA_ATTEND_ALARM_INFO, *LPNET_DVR_VCA_ATTEND_ALARM_INFO; - -//ߴ˲ -typedef struct tagNET_VCA_FILTER_STRATEGY -{ - BYTE byStrategy; //ߴ˲ 0 - 1-߶ȺͿȹ,2- - BYTE byRes[11]; // -}NET_VCA_FILTER_STRATEGY,*LPNET_VCA_FILTER_STRATEGY; - -//򴥷 -typedef struct tagNET_VCA_RULE_TRIGGER_PARAM -{ - BYTE byTriggerMode; //Ĵʽ0- ã1- 2- Ŀ - BYTE byTriggerPoint; //㣬ʽΪʱЧ 0- ,1-,2- - BYTE byRes1[2]; // - float fTriggerArea; //Ŀٷֱ [0,100]ʽΪĿʱЧ - BYTE byRes2[4]; // -}NET_VCA_RULE_TRIGGER_PARAM,*LPNET_VCA_RULE_TRIGGER_PARAM; - -//ṹ -typedef struct tagNET_VCA_ONE_RULE_V41 -{ - BYTE byActive; //Ƿ񼤻,0-,0- - BYTE byRes1[4]; //Ϊ0ֶ - BYTE byEventTypeFlag; //־Ϊ¼ֶεЧԣ0-dwEventTypeЧ1-wEventTypeExЧ - //עֶbyEventTypeFlagֻòʱЧ豸ȡʱֱӴwEventTypeExȡ¼ͣжϴֶεֵ - WORD wEventTypeEx; //Ϊ¼չڴֶdwEventTypeοVCA_RULE_EVENT_TYPE_EX - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //Ϊ¼ͣΪ˼ݣʹwEventTypeExȡ¼ - NET_VCA_EVENT_UNION uEventParam; //쳣Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - WORD wAlarmDelay; //ܱʱ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s - BYTE byRes2[2]; // - NET_VCA_FILTER_STRATEGY struFilterStrategy; //ߴ˲ - NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //򴥷 - BYTE byRes[32]; -}NET_VCA_ONE_RULE_V41, *LPNET_VCA_ONE_RULE_V41; - -//쳣Ϊýṹ -typedef struct tagNET_VCA_RULECFG_V41 -{ - DWORD dwSize; //ṹ - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byPicRecordEnable; /*2012-3-1ǷͼƬ洢, 0-, 1-*/ - BYTE byRes1; - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_ONE_RULE_V41 struRule[MAX_RULE_NUM]; // - WORD wRelSnapChan[MAX_REL_SNAPCHAN_NUM]; //ץͼͨͨʱͬʱϴͨץͼƬ0ʾֵΪͨ - BYTE byRes[26]; -}NET_VCA_RULECFG_V41, *LPNET_VCA_RULECFG_V41; - -//ṹ -typedef struct NET_VCA_ONE_RULE_V42_ -{ - BYTE byActive; //Ƿ񼤻, 0-񣬷0- - BYTE byEventPriority;//¼ȼ 0-ͣ1-У2- - BYTE byBackgroundSuppression;// 0-ر 1- 2-Ӧ - BYTE byRes1[3]; //Ϊ0ֶ - WORD wEventType; //Ϊ¼ͣοVCA_RULE_EVENT_TYPE_EX - BYTE byRuleName[NAME_LEN/*32*/]; // - NET_VCA_EVENT_UNION uEventParam; //쳣Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*ʽ*/ - //쳣ʽбŰ󶨣Ϊ0ʱʾıŷΧΪ1-64Ϊ1ʱʾıŷΧΪ65-128 ڽУ0xffffffffʾ ǰļںıЧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; /* ¼ֽͨڵͨţʼֵ 0xffffffff*/ - //¼ͨŰ󶨣Ϊ0ʱʾͨŷΧΪ1-64Ϊ1ʱʾͨŷΧΪ65-128 ڽУ0xffffffffʾ ǰļںĹͨЧ - WORD wAlarmDelay; //ܱʱ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s - BYTE byRes2[2]; // - NET_VCA_FILTER_STRATEGY struFilterStrategy; //ߴ˲ - NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //򴥷 - BYTE byRes[32]; -}NET_VCA_ONE_RULE_V42, *LPNET_VCA_ONE_RULE_V42; - - -typedef struct tagNET_DVR_PTZ_POSITION -{ - // ǷóóΪʱֶЧóλϢʱΪʹλ - BYTE byEnable; - BYTE byRes1[3]; // - BYTE byPtzPositionName[NAME_LEN]; //λ - NET_DVR_PTZPOS struPtzPos; //ptz - BYTE byRes2[40]; -}NET_DVR_PTZ_POSITION, *LPNET_DVR_PTZ_POSITION; - -//쳣Ϊýṹ -typedef struct tagNET_VCA_RULECFG_V42 -{ - DWORD dwSize; //ṹͼС - BYTE byPicProType; //ʱͼƬʽ 0- 1-ϴ - BYTE byUpLastAlarm; //Ƿϴһεı0-1- - BYTE byPicRecordEnable; //ǷͼƬ洢, 0-, 1- - BYTE byRes1; - NET_DVR_JPEGPARA struPicParam; //ͼƬṹ - NET_VCA_ONE_RULE_V42 struRule[MAX_RULE_NUM_V42 /*16*/]; /* */ - WORD wRelSnapChan[MAX_REL_SNAPCHAN_NUM]; //ץͼͨͨʱͬʱϴͨץͼƬ0ʾֵΪͨ - BYTE byTrackEnable; //Ƿ - BYTE byRes2; - NET_DVR_PTZ_POSITION struPTZPosition; //λϢ - WORD wTrackDuration; //ʱ䣬λs - WORD wIntervalTime; //αʱ䣨룩[1-7200]ĬΪ600 - WORD wHeightLimit;//Ŀ߶ޣף[0-250]ĬΪ80cmСڴ˸߶ȵĿ꽫ΪĿм - BYTE byRes[58];// -}NET_VCA_RULECFG_V42, *LPNET_VCA_RULECFG_V42; - - -//Ŀṹ -typedef struct tagNET_VCA_TARGET_INFO -{ - DWORD dwID; //ĿID ,Աۼ߱ʱΪ0 - NET_VCA_RECT struRect; //Ŀ߽ - BYTE byRes[4]; // -}NET_VCA_TARGET_INFO, *LPNET_VCA_TARGET_INFO; - -//򻯵ĹϢ, ĻϢ -typedef struct tagNET_VCA_RULE_INFO -{ - BYTE byRuleID; //ID,0-7 - BYTE bySceneID; //ID,0Ч - WORD wEventTypeEx; //Ϊ¼չڴֶdwEventTypeοVCA_RULE_EVENT_TYPE_EX - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //Ϊ¼ͣΪ˼ݣʹwEventTypeExȡ¼ - NET_VCA_EVENT_UNION uEventParam;//¼ -}NET_VCA_RULE_INFO, *LPNET_VCA_RULE_INFO; - -//쳣Ϊϱṹ -typedef struct tagNET_VCA_RULE_ALARM -{ - DWORD dwSize; //ṹ - DWORD dwRelativeTime; //ʱ,ʷԭʵûã汾byRelativeTimeFlagΪ1ʱʾΪUTCʱ - DWORD dwAbsTime; //ʱ,ʷԭʵΪOSDʱ - NET_VCA_RULE_INFO struRuleInfo; //¼Ϣ - NET_VCA_TARGET_INFO struTargetInfo; //ĿϢ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwPicDataLen; //ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - BYTE byPicType; // 0-ץͼƬ 1-ԱͼƬ - BYTE byRelAlarmPicNum; //ͨͼƬ - BYTE bySmart;//IDS豸0(Ĭֵ)Smart Functiom Return 1 - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - DWORD dwAlarmID; //IDԱʶͨϱ0ʾЧ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRelativeTimeFlag; //dwRelativeTimeֶǷЧ 0-Ч 1-ЧdwRelativeTimeʾUTCʱ - BYTE byAppendInfoUploadEnabled; //Ϣϴʹ 0-ϴ 1-ϴ - BYTE *pAppendInfo; //ָ򸽼ϢNET_VCA_APPEND_INFOָ룬byAppendInfoUploadEnabledΪ1ʱbyTimeDiffFlagΪ1ʱЧ - BYTE *pImage; //ָͼƬָ -}NET_VCA_RULE_ALARM, *LPNET_VCA_RULE_ALARM; - -//쳣Ϊ⸽Ϣ -typedef struct tagNET_VCA_APPEND_INFO -{ - DWORD dwSize; //ṹ - DWORD dwAppendPicLen;//ͼƬ - BYTE* pAppendPicBuff;//ͼƬָ - BYTE byAppendPicType;//ͼƬͣ0-;1-ɼͼƬ;2-ȳͼƬ; - BYTE byUID[64];//豸UID - BYTE byApplicationScene;// Ӧó 0- 1- - BYTE byRes1[2]; // - DWORD dwTargetSpeed; //״⵽Ŀٶ,λ:km/h - DWORD dwTargetDistance; //״⵽Ŀ,λ:m/ - BYTE byAlarmType;// 0-Ƶ 1-״ - BYTE byRadarChannel; //״ͨ1ʼۼ - BYTE byBrokenNetHttp; // ־λ0-شݣ1-ش - BYTE byAppendChannelType;//ͨͣ0-;1-ɼͨ;2-ȳͨ; - DWORD dwAppendChannel; //ͨͨ - BYTE byRes[44]; // -}NET_VCA_APPEND_INFO, *LPNET_VCA_APPEND_INFO; - - -//쳣ΪDSPϢӽṹ -typedef struct tagNET_VCA_DRAW_MODE -{ - DWORD dwSize; - BYTE byDspAddTarget; //ǷĿ - BYTE byDspAddRule; //Ƿӹ - BYTE byDspPicAddTarget; //ץͼǷĿ - BYTE byDspPicAddRule; //ץͼǷӹ - BYTE byRes[4]; -}NET_VCA_DRAW_MODE, *LPNET_VCA_DRAW_MODE; - -// -typedef enum tagOBJECT_TYPE_ENUM -{ - ENUM_OBJECT_TYPE_COAT = 1 // -}OBJECT_TYPE_ENUM; - -//ɫṹ -typedef struct tagNET_DVR_OBJECT_COLOR_COND -{ - DWORD dwChannel; //ͨ - DWORD dwObjType; //ͣμOBJECT_TYPE_ENUM - BYTE byRes[64]; // -}NET_DVR_OBJECT_COLOR_COND,*LPNET_DVR_OBJECT_COLOR_COND; - -//ͼƬ -typedef struct tagNET_DVR_PIC -{ - BYTE byPicType; //ͼƬͣ1-jpg - BYTE byRes1[3]; // - DWORD dwPicWidth; //ͼƬ - DWORD dwPicHeight; //ͼƬ߶ - DWORD dwPicDataLen; //ͼƬʵʴС - DWORD dwPicDataBuffLen; //ͼƬݻС - BYTE* byPicDataBuff; //ͼƬݻ - BYTE byRes2[40]; // -}NET_DVR_PIC,*LPNET_DVR_PIC; - -//ɫ -typedef union tagNET_DVR_OBJECT_COLOR_UNION -{ - NET_DVR_COLOR struColor; //ɫֵ - NET_DVR_PIC struPicture; //ͼƬ - BYTE byRes[64]; // -}NET_DVR_OBJECT_COLOR_UNION,*LPNET_DVR_OBJECT_COLOR_UNION; - -//ɫṹ -typedef struct tagNET_DVR_OBJECT_COLOR -{ - DWORD dwSize; //ṹС - BYTE byEnable; //0-ã1- - BYTE byColorMode; //ȡɫʽ1-ɫֵ2-ͼƬ - BYTE byRes1[2]; // - NET_DVR_OBJECT_COLOR_UNION uObjColor; //ɫ壬ȡֵȡɫʽ - BYTE byRes2[64]; // -}NET_DVR_OBJECT_COLOR, *LPNET_DVR_OBJECT_COLOR; - -// -typedef enum tagAREA_TYPE_ENUM -{ - ENUM_OVERLAP_REGION = 1,//ͬ - ENUM_BED_LOCATION = 2 //λ -}AREA_TYPE_ENUM; - -// -typedef struct tagNET_DVR_AUXAREA -{ - DWORD dwAreaType; //ͣμAREA_TYPE_ENUM - BYTE byEnable; //0-ã1- - BYTE byRes1[3]; // - NET_VCA_POLYGON struPolygon; // - BYTE byRes2[16]; // -}NET_DVR_AUXAREA,*LPNET_DVR_AUXAREA; - -//б -typedef struct tagNET_DVR_AUXAREA_LIST -{ - DWORD dwSize; // ṹС - NET_DVR_AUXAREA struArea[MAX_AUXAREA_NUM]; // - BYTE byRes2[64]; // -}NET_DVR_AUXAREA_LIST,*LPNET_DVR_AUXAREA_LIST; - -//ͨģʽ -typedef enum tagCHAN_WORKMODE_ENUM -{ - ENUM_CHAN_WORKMODE_INDEPENDENT = 1, //ģʽ - ENUM_CHAN_WORKMODE_MASTER = 2, //ģʽ - ENUM_CHAN_WORKMODE_SLAVE = 3 //ģʽ -}CHAN_WORKMODE_ENUM; - -//ͨģʽṹ -typedef struct tagNET_DVR_CHANNEL_WORKMODE -{ - DWORD dwSize; //ṹС - BYTE byWorkMode; //ģʽμCHAN_WORKMODE_ENUM - BYTE byRes[63]; // -}NET_DVR_CHANNEL_WORKMODE,*LPNET_DVR_CHANNEL_WORKMODE; - -//豸ͨṹ -typedef struct tagNET_DVR_CHANNEL -{ - BYTE byAddress[MAX_DOMAIN_NAME]; //豸IP - WORD wDVRPort; //˿ں - BYTE byRes1[2]; // - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - DWORD dwChannel; //ͨ - BYTE byRes2[32]; // -}NET_DVR_CHANNEL,*LPNET_DVR_CHANNEL; - -//ͨϢ -typedef union tagNET_DVR_SLAVE_CHANNEL_UNION -{ - BYTE byRes[152]; //С - DWORD dwLocalChannel; //ͨ - NET_DVR_CHANNEL struRemoteChannel; //Զͨ -}NET_DVR_SLAVE_CHANNEL_UNION,*LPNET_DVR_SLAVE_CHANNEL_UNION; - -//ͨṹ -typedef struct tagNET_DVR_SLAVE_CHANNEL_PARAM -{ - BYTE byChanType; //ͨͣ1-ͨ2-Զͨ - BYTE byRes1[3]; // - NET_DVR_SLAVE_CHANNEL_UNION uSlaveChannel; //ͨ壬ȡֵbyChanType - BYTE byRes2[64]; // -}NET_DVR_SLAVE_CHANNEL_PARAM,*LPNET_DVR_SLAVE_CHANNEL_PARAM; - - -//ͨýṹ -typedef struct tagNET_DVR_SLAVE_CHANNEL_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_SLAVE_CHANNEL_PARAM struChanParam[MAX_SLAVE_CHANNEL_NUM];//ͨ - BYTE byRes[64]; // -}NET_DVR_SLAVE_CHANNEL_CFG,*LPNET_DVR_SLAVE_CHANNEL_CFG; - -//Ƶϼ¼ -typedef enum tagVQD_EVENT_ENUM -{ - ENUM_VQD_EVENT_BLUR = 1, //ͼģ - ENUM_VQD_EVENT_LUMA = 2, //쳣 - ENUM_VQD_EVENT_CHROMA = 3, //ͼƫɫ - ENUM_VQD_EVENT_SNOW = 4, //ѩ - ENUM_VQD_EVENT_STREAK = 5, //Ƹ - ENUM_VQD_EVENT_FREEZE = 6, //涳 - ENUM_VQD_EVENT_SIGNAL_LOSS = 7, //źŶʧ - ENUM_VQD_EVENT_PTZ = 8, //̨ʧ - ENUM_VQD_EVENT_SCNENE_CHANGE = 9, //ͻ - ENUM_VQD_EVENT_VIDEO_ABNORMAL = 10, //Ƶ쳣 - ENUM_VQD_EVENT_VIDEO_BLOCK = 11, //Ƶڵ - ENUM_VQD_EVENT_CLARTY = 12, //쳣 - ENUM_VQD_EVENT_JITTER = 13, //涶 - ENUM_VQD_EVENT_FLOWERS = 14, // - ENUM_VQD_EVENT_NOISE = 15, // - ENUM_VQD_EVENT_GHOST = 16, //쳣 - ENUM_VQD_EVENT_PURPLE = 17, //ϱ - ENUM_VQD_EVENT_ICR = 18, // ICR쳣 - ENUM_VQD_EVENT_PROTECTFILM = 19 //Ĥδ˺ -}VQD_EVENT_ENUM; - -//Ƶ¼ṹ -typedef struct tagNET_DVR_VQD_EVENT_COND -{ - DWORD dwChannel; //ͨ - DWORD dwEventType; //¼ͣμVQD_EVENT_ENUM - BYTE byRes[64]; // -}NET_DVR_VQD_EVENT_COND,*LPNET_DVR_VQD_EVENT_COND; - -//Ƶ¼ -typedef struct tagNET_DVR_VQD_EVENT_PARAM -{ - BYTE byThreshold; //ֵΧ[0,100] - BYTE byTriggerMode; //1-2-δ - BYTE byUploadPic; //0-ϴͼƬ1-ϴͼƬǷϴͼƬº󶼿Դ豸ȡ¼ӦµһűͼƬμӿNET_DVR_StartDownload - BYTE byRes1; // - DWORD dwTimeInterval; //ʱΧ[0,3600] λ - BYTE byRes2[64]; // -}NET_DVR_VQD_EVENT_PARAM,*LPNET_DVR_VQD_EVENT_PARAM; - -//Ƶ¼ -typedef struct tagNET_DVR_VQD_EVENT_RULE -{ - DWORD dwSize; //ṹС - BYTE byEnable; //0-ã1- - BYTE byRes1[3]; // - NET_DVR_VQD_EVENT_PARAM struEventParam; //Ƶ¼ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_IVMS_IP_CHANNEL]; //¼ͨ1ʾͨ0ʾ - BYTE byRes2[128]; // -}NET_DVR_VQD_EVENT_RULE,*LPNET_DVR_VQD_EVENT_RULE; - -//׼ -typedef struct tagNET_DVR_BASELINE_SCENE -{ - DWORD dwSize; //ṹС - BYTE byEnable; //0-ã1- - BYTE byRes[63]; // -}NET_DVR_BASELINE_SCENE,*LPNET_DVR_BASELINE_SCENE; - -//׼ṹ -typedef struct tagNET_DVR_CONTROL_BASELINE_SCENE_PARAM -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byCommand; //ͣ1-ֶαݲʹã2-»׼ - BYTE byRes[127]; // -}NET_DVR_CONTROL_BASELINE_SCENE_PARAM,*LPNET_DVR_CONTROL_BASELINE_SCENE_PARAM; - -//Ƶϱṹ -typedef struct tagNET_DVR_VQD_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwEventType; //¼ͣοVQD_EVENT_ENUM - float fThreshold; //ֵ[0.000,1.000] - DWORD dwPicDataLen; //ͼƬȣΪ0ʾûͼƬ - BYTE *pImage; //ָͼƬָ - BYTE byRes[128]; // -}NET_DVR_VQD_ALARM,*LPNET_DVR_VQD_ALARM; - -//궨ӽṹ -typedef struct tagNET_DVR_CB_POINT -{ - NET_VCA_POINT struPoint; //궨㣬ǹ - NET_DVR_PTZPOS struPtzPos; //PTZ - BYTE byRes[8]; -}NET_DVR_CB_POINT, LPNET_DVR_CB_POINT; - -//궨ýṹ -typedef struct tagNET_DVR_TRACK_CALIBRATION_PARAM -{ - BYTE byPointNum; //Ч궨 - BYTE byRes[3]; - NET_DVR_CB_POINT struCBPoint[MAX_CALIB_PT]; //궨 -}NET_DVR_TRACK_CALIBRATION_PARAM, *LPNET_DVR_TRACK_CALIBRATION_PARAM; - -//ýṹ -typedef struct tagNET_DVR_TRACK_CFG -{ - DWORD dwSize; //ṹ - BYTE byEnable; //궨ʹ - BYTE byFollowChan; // ƵĴͨ - BYTE byDomeCalibrate; //궨1 0 - BYTE byRes; // ֽ - NET_DVR_TRACK_CALIBRATION_PARAM struCalParam; //궨 -}NET_DVR_TRACK_CFG, *LPNET_DVR_TRACK_CFG ; - -//ģʽ -typedef enum _TRACK_MODE_ -{ - MANUAL_CTRL = 0, //ֶ - ALARM_TRACK // -}TRACK_MODE; - -//ֶƽṹ -typedef struct tagNET_DVR_MANUAL_CTRL_INFO -{ - NET_VCA_POINT struCtrlPoint; - BYTE byRes[8]; -}NET_DVR_MANUAL_CTRL_INFO, *LPNET_DVR_MANUAL_CTRL_INFO ; - -//ģʽṹ -typedef struct tagNET_DVR_TRACK_MODE -{ - DWORD dwSize; //ṹ - BYTE byTrackMode; //ģʽ - BYTE byRuleConfMode; //ģʽ0-ã1-Զ - BYTE byRes[2]; //0 - union - { - DWORD dwULen[4]; - NET_DVR_MANUAL_CTRL_INFO struManualCtrl;//ֶṹ - }uModeParam; -}NET_DVR_TRACK_MODE,*LPNET_DVR_TRACK_MODE; - -typedef struct tagNET_DVR_ALARM_JPEG -{ - BYTE byPicProType; /*ʱͼƬʽ 0- 1-ϴ*/ - BYTE byRes[3]; //ֽ - NET_DVR_JPEGPARA struPicParam; /*ͼƬṹ*/ -}NET_DVR_ALARM_JPEG, *LPNET_DVR_ALARM_JPEG; - -/**********************ipc/d5.3.0********************************/ -typedef struct tagNET_DVR_PHY_RATIO -{ - DWORD dwSize; - DWORD dwPhysicsRatio;// - BYTE byRes[60]; -}NET_DVR_PHY_RATIO, *LPNET_DVR_PHY_RATIO; - -typedef struct tagNET_DVR_SLAVECAMERA_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byID;// ID[1,4] - BYTE byRes1[3]; - DWORD dwSceneID;// scene Id - BYTE byRes[56]; -}NET_DVR_SLAVECAMERA_COND, *LPNET_DVR_SLAVECAMERA_COND; - -typedef struct tagNET_DVR_SLAVECAMERA_CFG -{ - DWORD dwSize; - BYTE byAddressType; //0-ʵipv4 ipv6ַ 1- - // unionServerʹʵʵַ - WORD wPort; /*˿*/ - BYTE byLoginStatus; /*豸ĵ½״̬ 0-logout,1-login*/ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME/*64*/];//ַ - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp;/*IPַ*/ //IPv4 IPv6ַ, 144ֽ - } struAddrIP; - }unionServer; //ʹṹͨbyAddressTypeֶαʾIPַ 64 - BYTE szUserName[NAME_LEN/*32*/]; /*û*/ - BYTE szPassWord[PASSWD_LEN/*16*/]; /**/ - BYTE byRes1[128]; -}NET_DVR_SLAVECAMERA_CFG, *LPNET_DVR_SLAVECAMERA_CFG; - -typedef struct tagNET_DVR_SLAVECAMERA_PARAM -{ - BYTE byLinkStatus ;//״̬ 0- δӣ1- - BYTE byRes[15]; -}NET_DVR_SLAVECAMERA_PARAM, *LPNET_DVR_SLAVECAMERA_PARAM; - -typedef struct tagNET_DVR_SLAVECAMERA_STATUS -{ - DWORD dwSize; - NET_DVR_SLAVECAMERA_PARAM struSlaveCamera[MAX_SLAVECAMERA_NUM/*8*/];//±0ʾID 1, - BYTE byRes[64]; -}NET_DVR_SLAVECAMERA_STATUS, *LPNET_DVR_SLAVECAMERA_STATUS; - -typedef struct tagNET_PTZ_INFO -{ - float fPan; - float fTilt; - float fZoom; - DWORD dwFocus;// ۽۽Χһ0-100000 - BYTE byRes[4]; -}NET_PTZ_INFO, *LPNET_PTZ_INFO; - -typedef struct tagNET_DVR_BV_CALIB_POSITION -{ - DWORD dwSize; //ṹ - NET_PTZ_INFO struInitialPos; //ʼ - NET_PTZ_INFO struAdjustPos; // - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_POSITION, *LPNET_DVR_BV_CALIB_POSITION; - -typedef struct tagNET_DVR_HUMAN_CALIB_CFG -{ - DWORD dwSize; //ṹ - NET_VCA_POINT struLeftPos; // - NET_VCA_POINT struRightPos; // - BYTE byRes[300]; // -}NET_DVR_HUMAN_CALIB_CFG, *LPNET_DVR_HUMAN_CALIB_CFG; - -typedef struct tagNET_DVR_CALIB_PARAM -{ - NET_PTZ_INFO struPtzInfo; - NET_VCA_POINT struCalibCoordinates;//궨 - int iHorValue;//˫Ŀ궨 ˮƽֵ cmֶģʽЧ ˫Ŀã - int iVerValue;//˫Ŀ궨 ֱֵ cmֶģʽЧ ˫Ŀã - BYTE byRes[8]; -}NET_DVR_CALIB_PARAM, *LPNET_DVR_CALIB_PARAM; - -typedef struct tagNET_DVR_SLAVECAMERA_CALIB_CFG -{ - DWORD dwSize; - BYTE byCalibMode;//궨ģʽ: 0-,1-Զ궨, 2-ֶ궨 - BYTE byRes[3]; - //±0ʾID 1 - //ֶ궨ģʽ֧ã&&ȡԶģʽֻ֧ȡ - NET_DVR_CALIB_PARAM struCalibParam[MAX_CALIB_NUM/*6*/];//ֶֻ궨ģʽЧ - BYTE byRes1[64]; -}NET_DVR_SLAVECAMERA_CALIB_CFG, *LPNET_DVR_SLAVECAMERA_CALIB_CFG; - -typedef struct tagNET_DVR_TRACKING -{ - DWORD dwSize; //ṹ - BYTE byEnable; //ʹ 0-false,1-true - BYTE byMode; //ģʽ 0-رգ1-ֶ2-Զ - WORD wTrackingTime;//ʱ䣺[0,60]s - NET_VCA_POLYGON struRegion;//ֶĿΧ - BYTE byRes[64]; -}NET_DVR_TRACKING,*LPNET_DVR_TRACKING; - -typedef struct tagNET_DVR_SLAVECAMERA_CALIB_V50 -{ - DWORD dwSize; - BYTE byCalibMode;//궨ģʽ: 0-,1-Զ궨, 2-ֶ궨 - BYTE byRes[3]; - //±0ʾID 1 - //ֶ궨ģʽ֧ã&&ȡԶģʽֻ֧ȡ - NET_DVR_CALIB_PARAM struCalibParam[MAX_CALIB_NUM_EX/*20*/]; - BYTE byRes1[64]; -}NET_DVR_SLAVECAMERA_CALIB_V50, *LPNET_DVR_SLAVECAMERA_CALIB_V50; - -typedef struct tagNET_DVR_SLAVECAMERA_CALIB_V51 -{ - DWORD dwSize; - BYTE byCalibMode;//궨ģʽ: 0-,1-Զ궨, 2-ֶ궨 - BYTE byRes[3]; - //±0ʾID 1 - //ֶ궨ģʽ֧ã&&ȡԶģʽֻ֧ȡ - NET_DVR_CALIB_PARAM struCalibParam[MAX_CALIB_NUM_EX/*20*/]; - BYTE byRes1[512]; -}NET_DVR_SLAVECAMERA_CALIB_V51, *LPNET_DVR_SLAVECAMERA_CALIB_V51; - -//⹦ץͼṹӥĿ -typedef struct tagNET_DVR_CAPTURE_PICTURE_RESULT -{ - DWORD dwSize;//ṹС - DWORD dwReturnPicSize;//صͼƬС - BYTE byRes[256]; -}NET_DVR_CAPTURE_PICTURE_RESULT, *LPNET_DVR_CAPTURE_PICTURE_RESULT; - -typedef struct tagNET_DVR_GOTOSCENE_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwSceneID;//ID - BYTE byRes[512]; -}NET_DVR_GOTOSCENE_COND, *LPNET_DVR_GOTOSCENE_COND; - -typedef struct tagNET_DVR_TRACK_INITPOSTION -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byID;// ID[1,4] - BYTE byRes[127]; -}NET_DVR_TRACK_INITPOSTION, *LPNET_DVR_TRACK_INITPOSTION; - -typedef struct tagNET_DVR_MANUAL_TRACKRATIO -{ - DWORD dwSize; - BYTE byCoefficient;//ϵ[1,60] - BYTE byRes[127]; -}NET_DVR_MANUAL_TRACKRATIO, *LPNET_DVR_MANUAL_TRACKRATIO; - -/**********************ipc/d5.3.0********************************/ - -//쳣Ϊṹ -//ṹ -typedef struct tagNET_IVMS_ONE_RULE_ -{ - BYTE byActive; /* Ƿ񼤻,0-, 0- */ - BYTE byRes1[7]; //Ϊ0ֶ - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //쳣Ϊ¼ - NET_VCA_EVENT_UNION uEventParam;//쳣Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - BYTE byRes2[68]; /*Ϊ0*/ -}NET_IVMS_ONE_RULE, *LPNET_IVMS_ONE_RULE; - -// ǹṹ -typedef struct tagNET_IVMS_RULECFG -{ - NET_IVMS_ONE_RULE struRule[MAX_RULE_NUM]; // -}NET_IVMS_RULECFG, *LPNET_IVMS_RULECFG; - -// IVMS쳣Ϊýṹ -typedef struct tagNET_IVMS_BEHAVIORCFG -{ - DWORD dwSize; - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byRes[3]; - NET_DVR_JPEGPARA struPicParam; //ͼƬṹ - NET_IVMS_RULECFG struRuleCfg[MAX_DAYS][MAX_TIMESEGMENT];//ÿʱζӦ -} NET_IVMS_BEHAVIORCFG, *LPNET_IVMS_BEHAVIORCFG; - -//ܷȡƻӽṹ -typedef struct tagNET_IVMS_DEVSCHED -{ - NET_DVR_SCHEDTIME struTime; //ʱ - NET_DVR_PU_STREAM_CFG struPUStream; //ǰȡ -}NET_IVMS_DEVSCHED, *LPNET_IVMS_DEVSCHED; - -//ܷDzýṹ -typedef struct tagNET_IVMS_STREAMCFG -{ - DWORD dwSize; - NET_IVMS_DEVSCHED struDevSched[MAX_DAYS][MAX_TIMESEGMENT];//ʱǰȡԼϢ -} NET_IVMS_STREAMCFG, *LPNET_IVMS_STREAMCFG; - -// -typedef struct tagNET_VCA_MASK_REGION -{ - BYTE byEnable; //Ƿ񼤻, 0-񣬷0- - BYTE byRes[3]; //0 - NET_VCA_POLYGON struPolygon; //ζ -}NET_VCA_MASK_REGION, * LPNET_VCA_MASK_REGION; - -//ṹ -typedef struct tagNET_VCA_MASK_REGION_LIST -{ - DWORD dwSize; //ṹ - BYTE byRes[4]; //0 - NET_VCA_MASK_REGION struMask[MAX_MASK_REGION_NUM]; // -}NET_VCA_MASK_REGION_LIST, *LPNET_VCA_MASK_REGION_LIST; - - -//ATM -typedef struct tagNET_VCA_ENTER_REGION//ֹATM -{ - DWORD dwSize; - BYTE byEnable; //Ƿ񼤻0-񣬷0- - BYTE byRes1[3]; - NET_VCA_POLYGON struPolygon; // - BYTE byRes2[16]; -}NET_VCA_ENTER_REGION, * LPNET_VCA_ENTER_REGION; - -//IVMS -typedef struct tagNET_IVMS_MASK_REGION_LIST -{ - DWORD dwSize; //ṹ - NET_VCA_MASK_REGION_LIST struList[MAX_DAYS][ MAX_TIMESEGMENT]; -}NET_IVMS_MASK_REGION_LIST, *LPNET_IVMS_MASK_REGION_LIST; - -//IVMSATM -typedef struct tagNET_IVMS_ENTER_REGION -{ - DWORD dwSize; - NET_VCA_ENTER_REGION struEnter[MAX_DAYS][ MAX_TIMESEGMENT]; // -}NET_IVMS_ENTER_REGION, *LPNET_IVMS_ENTER_REGION; - -// ivms ͼƬϴṹ -typedef struct tagNET_IVMS_ALARM_JPEG -{ - BYTE byPicProType; - BYTE byRes[3]; - NET_DVR_JPEGPARA struPicParam; -}NET_IVMS_ALARM_JPEG, *LPNET_IVMS_ALARM_JPEG; - -// IVMS -typedef struct tagNET_IVMS_SEARCHCFG -{ - DWORD dwSize; - NET_DVR_MATRIX_DEC_REMOTE_PLAY struRemotePlay;// Զ̻ط - NET_IVMS_ALARM_JPEG struAlarmJpeg; // ϴͼƬ - NET_IVMS_RULECFG struRuleCfg; //IVMS Ϊ -}NET_IVMS_SEARCHCFG, *LPNET_IVMS_SEARCHCFG; - -//궨ṹ -typedef struct tagNET_DVR_TRACK_CALIBRATION_PARAM_V41 -{ - BYTE byPointNum; //Ч궨 - BYTE byRes[3]; // - NET_DVR_CB_POINT struCBPoint[MAX_CALIB_PT]; //궨 - NET_DVR_PTZPOS struHorizonPtzPos; //ˮƽPTZ - BYTE byRes2[256]; // -}NET_DVR_TRACK_CALIBRATION_PARAM_V41, *LPNET_DVR_TRACK_CALIBRATION_PARAM_V41; - -//豸ò -typedef struct tagNET_DVR_TRACK_DEV_PARAM_ -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ô豸, 0-, 1 - - BYTE byTransMode; //ͨѶʽ0-SDK1-485 - BYTE byRes1[2]; // - NET_DVR_CHANNEL struTrackDevChan; //豸 - NET_DVR_TRACK_CALIBRATION_PARAM_V41 struCalParam; //豸궨 - BYTE byRes2[256]; // -}NET_DVR_TRACK_DEV_PARAM, *LPNET_DVR_TRACK_DEV_PARAM; -/************************************end******************************************/ -//NAS֤ -typedef struct tagNET_DVR_IDENTIFICATION_PARAM -{ - BYTE sUserName[NAME_LEN]; /* û 32*/ - BYTE sPassword[PASSWD_LEN]; /* 16*/ - BYTE byRes1[4]; // -}NET_DVR_IDENTIFICATION_PARAM, *LPNET_DVR_IDENTIFICATION_PARAM; - -typedef union tagNET_DVR_MOUNT_PARAM_UNION -{ - BYTE uLen[52]; //ṹС - NET_DVR_IDENTIFICATION_PARAM struIdentificationParam;//(SMB/CIFSʱЧ) -} NET_DVR_MOUNT_PARAM_UNION, *LPNET_DVR_MOUNT_PARAM_UNION; - -typedef struct tagNET_DVR_NAS_MOUNT_PARAM -{ - BYTE byMountType; //0,1~NFS, 2~ SMB/CIFS - BYTE byRes[3]; - NET_DVR_MOUNT_PARAM_UNION uMountParam; -}NET_DVR_NAS_MOUNT_PARAM, *LPNET_DVR_NAS_MOUNT_PARAM; - -typedef union tagNET_DVR_MOUNTMETHOD_PARAM_UNION -{ - BYTE uLen[56]; //ṹС - NET_DVR_NAS_MOUNT_PARAM struNasMountParam;//NASطʽ (byNetDiskTypeΪNFS(NAS)ʱЧ) -}NET_DVR_MOUNTMETHOD_PARAM_UNION, *LPNET_DVR_MOUNTMETHOD_PARAM_UNION; - -//Ӳ̽ṹ -typedef struct tagNET_DVR_SINGLE_NET_DISK_INFO -{ - BYTE byNetDiskType; //Ӳ, 0-NFS(NAS),1-iSCSI - BYTE byRes1[3]; // - NET_DVR_IPADDR struNetDiskAddr; //Ӳ̵ַ - BYTE sDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128 - WORD wPort; //iscsiж˿ڣΪĬ - BYTE byRes2[2]; - NET_DVR_MOUNTMETHOD_PARAM_UNION uMountMethodParam; - BYTE byRes3[8]; // -}NET_DVR_SINGLE_NET_DISK_INFO, *LPNET_DVR_SINGLE_NET_DISK_INFO; - -#define MAX_NET_DISK 16//Ӳ̸ - -typedef struct tagNET_DVR_NET_DISKCFG -{ - DWORD dwSize; - NET_DVR_SINGLE_NET_DISK_INFO struNetDiskParam[MAX_NET_DISK]; -}NET_DVR_NET_DISKCFG, *LPNET_DVR_NET_DISKCFG; - -typedef struct tagNET_DVR_SINGLE_NET_DISK_INFO_V40 -{ - BYTE byNetDiskType; //Ӳ, 0-NFS(NAS),1-iSCSI - BYTE byRes1[3]; // - BYTE sDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128 - BYTE byDevAddr[MAX_DOMAIN_NAME]; /* 64*/ - WORD wPort; //iscsiж˿ڣΪĬ - BYTE byRes2[2]; - NET_DVR_MOUNTMETHOD_PARAM_UNION uMountMethodParam; - BYTE byRes4[80]; -}NET_DVR_SINGLE_NET_DISK_INFO_V40, *LPNET_DVR_SINGLE_NET_DISK_INFO_V40; - -typedef struct tagNET_DVR_NET_DISKCFG_V40 -{ - DWORD dwSize; - NET_DVR_SINGLE_NET_DISK_INFO_V40 struNetDiskParam[MAX_NET_DISK]; -}NET_DVR_NET_DISKCFG_V40, *LPNET_DVR_NET_DISKCFG_V40; -//¼ -// -typedef enum _MAIN_EVENT_TYPE_ -{ - EVENT_MOT_DET = 0, //ƶ - EVENT_ALARM_IN = 1, // - EVENT_VCA_BEHAVIOR = 2, // 쳣Ϊ - EVENT_INQUEST = 3, //Ѷ¼ - EVENT_VCA_DETECTION = 4, // - EVENT_POS = 5, - EVENT_TRIAL_CASE = 6,//ͥ󰸼Ϣ - EVENT_ACS_CASE = 7, //޼ - EVENT_IOT_CASE = 8, //Ƶ¼¼ΪƵ豸Ƶ豸¼Ƶ豸¼ - EVENT_STREAM_INFO = 100 //IDϢ -}MAIN_EVENT_TYPE; - -#define INQUEST_START_INFO 0x1001 /*ѶʿʼϢ*/ -#define INQUEST_STOP_INFO 0x1002 /*ѶֹͣϢ*/ -#define INQUEST_TAG_INFO 0x1003 /*صϢ*/ -#define INQUEST_SEGMENT_INFO 0x1004 /*ѶƬ״̬Ϣ*/ -#define INQUEST_CASE_INFO 0x1005 // Ϣ - -typedef enum _VCA_DETECTION_MINOR_TYPE_ -{ - EVENT_VCA_TRAVERSE_PLANE = 1, //Խ - EVENT_FIELD_DETECTION, // - EVENT_AUDIO_INPUT_ALARM, //Ƶ쳣 - EVENT_SOUND_INTENSITY_ALARM, //ǿͻ - EVENT_FACE_DETECTION, // - EVENT_VIRTUAL_FOCUS_ALARM, //齹 - EVENT_SCENE_CHANGE_ALARM, // - EVENT_PIR_ALARM, //PIR - EVENT_ENTER_REGION, // - EVENT_EXIT_REGION, //Ŀ뿪 - EVENT_LOITERING, //ǻ - EVENT_GROUPDETECTION, //Աۼ,֧ - EVENT_RAPIDMOVE, //ƶ - EVENT_PARK, //ͣ - EVENT_UNATTENDED_BAGGAGE, //Ʒ - EVENT_ATTENDEDBAGGAGE, //Ʒȡ - EVENT_VEHICLE_DETECTION, // - EVENT_ALL = 0xffffffff //ʾȫ -}VCA_DETECTION_MINOR_TYPE; - - - -//쳣ΪͶӦĴͣ 0xffffʾȫ -typedef enum _BEHAVIOR_MINOR_TYPE_ -{ - EVENT_TRAVERSE_PLANE = 0, // Խ - EVENT_ENTER_AREA, //Ŀ,֧ - EVENT_EXIT_AREA, //Ŀ뿪,֧ - EVENT_INTRUSION, // ܽ,֧ - EVENT_LOITER, //ǻ,֧ - EVENT_LEFT_TAKE, //Ʒȡ,֧ - EVENT_PARKING, //ͣ,֧ - EVENT_RUN, //ƶ,֧ - EVENT_HIGH_DENSITY, //Աۼ,֧ - EVENT_STICK_UP, //ֽ,֧ - EVENT_INSTALL_SCANNER, //װ,֧ - EVENT_OPERATE_OVER_TIME, // ʱ - EVENT_FACE_DETECT, // 쳣 - EVENT_LEFT, // Ʒ - EVENT_TAKE, // Ʒȡ - EVENT_LEAVE_POSITION, //¼ - EVENT_TRAIL_INFO = 16, //β - EVENT_HUMAN_ENTER = 18, //Ա - EVENT_FALL_DOWN_INFO = 19, // - EVENT_OBJECT_PASTE =20, // ճ - EVENT_FACE_CAPTURE_INFO = 21, // - EVENT_MULTI_FACES_INFO = 22, // - EVENT_AUDIO_ABNORMAL_INFO = 23, //ǿͻ - EVENT_SUNGLASSES_FACE_INFO = 25, //ī - EVENT_CALLING_FACE_INFO = 26, //绰 - EVENT_VIOLENT_MOTION = 27, //˶ - EVENT_SAFETY_HELMET = 28, //ȫñ - EVENT_PEOPLE_NUM_CHANGE = 29, //仯 - EVENT_GET_UP = 30, // - EVENT_ADV_REACH_HEIGHT = 31, //ʸ - EVENT_STOOD_UP = 32, // - EVENT_PERSON_DENSITY = 33, //ԱܶȣԤ - EVENT_MANUAL_ALARM = 34, //ֶ - EVENT_VIOLATION_HIGH_SPEED = 35, // - EVENT_GSENSOR = 36, // G-Sensor¼١١ת䡢ת䡢ײ - EVENT_SENSOR_IN = 37, // Sensor-InΪɲתת - EVENT_VCA_DBD = 38, //˾ʻΪ - EVENT_VCA_ABS = 39, //߼ʻ - EVENT_TOILET_TARRY = 40 //޳ʱ -}BEHAVIOR_MINOR_TYPE; - -//6ӦĴ -typedef enum _TRIAL_CASE_MINOR_TYPE_ -{ - TRIAL_START_INFO = 0x1001, // ͥʼ¼ - TRIAL_STOP_INFO = 0x1002, //ͥ¼ - TRIAL_TAG_INFO = 0x1003, //ͥصע¼ - TRIAL_SEGMENT_INFO = 0x1004, // ͥƬ״̬Ϣ - TRIAL_JUDGE_CASE_INFO=0x1005 //ͥ󰸼Ϣ -}TRIAL_CASE_MINOR_TYPE; - -// 100ӦС -typedef enum _STREAM_INFO_MINOR_TYPE_ -{ - EVENT_STREAM_ID = 0, // ID - EVENT_TIMING = 1, // ʱ¼ - EVENT_MOTION_DETECT = 2, // ƶ - EVENT_ALARM = 3, // ¼ - EVENT_ALARM_OR_MOTION_DETECT = 4, // ƶ - EVENT_ALARM_AND_MOTION_DETECT = 5, // ƶ - EVENT_COMMAND_TRIGGER = 6, //  - EVENT_MANNUAL = 7, // ֶ¼ - EVENT_BACKUP_VOLUME = 8, // 浵¼ - STREAM_EVENT_SEMAPHORE, //ź - STREAM_EVENT_HIDE, //ڵ - STREAM_EVENT_INVERSE, // - STREAM_EVENT_VIDEO_LOST, //Ƶʧ - STREAM_EVENT_WIRELESS_ALARM, //߱ - STREAM_EVENT_PIR_ALARM, //PIR - STREAM_EVENT_CALLHELP_ALARM, //ȱ - - STREAM_EVENT_FACESNAP, //ץ - STREAM_EVENT_FACE_DETECTION, // - STREAM_EVENT_ITS_PLATE, // - STREAM_EVENT_PDC, //ͳ - STREAM_EVENT_SCENECHANGE_DETECTION, // - STREAM_EVENT_DEFOCUS_DETECTION, //齹 - STREAM_EVENT_AUDIOEXCEPTION, //Ƶ쳣 - - //Ϊ쳣Ϊ⣨COMM_ALARM_RULEͣVCA_EVENT_TYPE - VCA_EVENT_TRAVERSE_PLANE, //Խ - VCA_EVENT_INTRUSION, //ܽ - VCA_EVENT_ENTER_AREA, // - VCA_EVENT_EXIT_AREA, //뿪 - VCA_EVENT_LOITER, //ǻ - VCA_EVENT_HIGH_DENSITY, //Աۼ - VCA_EVENT_RUN, //ƶ - VCA_EVENT_PARKING, //Ƿͣ - VCA_EVENT_LEFT, //Ʒ - VCA_EVENT_TAKE, //Ʒȡ -}STREAM_INFO_MINOR_TYPE; - -// typedef enum tagITS_MINOR_TYPE -// { -// ITS_EVENT_CONGESTION = 0, // ӵ -// ITS_EVENT_PARKING, // ͣ -// ITS_EVENT_INVERSE, // -// ITS_EVENT_PEDESTRIAN, // -// ITS_EVENT_DEBRIS // Ƭ -// }ITS_MINOR_TYPE; - - -#define SEARCH_EVENT_INFO_LEN 300 //¼Ϣ -#define CASE_NO_LEN 64 -#define CASE_NAME_LEN 128 -#define LITIGANT_LEN 32 -#define CHIEF_JUDGE_LEN 32 -#define SEARCH_CASE_NO_LEN 56 -#define SEARCH_CASE_NAME_LEN 100 -#define SEARCH_LITIGANT_LEN 32 -#define SEARCH_CHIEF_JUDGE_LEN 32 -#define CASE_NO_RET_LEN 52 -#define CASE_NAME_RET_LEN 64 -#define LITIGANT_RET_LEN 24 -#define CHIEF_JUDGE_RET_LEN 24 -#define NET_SDK_CASETYPE_LEN 32 -//¼ -typedef struct tagNET_DVR_SEARCH_EVENT_PARAM -{ - WORD wMajorType; //0-ƶ⣬1-, 2-¼ - WORD wMinorType; //- ͱ仯0xffffʾȫ - NET_DVR_TIME struStartTime; //Ŀʼʱ䣬ֹͣʱ: ͬʱΪ(0, 0) ʾʱ俪ʼǰ4000¼ - NET_DVR_TIME struEndTime; // - BYTE byLockType; // 0xff-ȫ0-δ1- - BYTE byValue; //0-λʾ1-ֵʾ - BYTE byRes[130]; // - union - { - BYTE byLen[SEARCH_EVENT_INFO_LEN]; - struct// - { - BYTE byAlarmInNo[MAX_ALARMIN_V30]; //ţbyAlarmInNo[0]1ʾɱ1¼ - BYTE byRes[SEARCH_EVENT_INFO_LEN - MAX_ALARMIN_V30]; - }struAlarmParam; - - struct//--ֵ - { - WORD wAlarmInNo[128]; /*ţֵʾ,ý*/ - BYTE byRes[44]; // - }struAlarmParamByValue; - - struct//ƶ - { - BYTE byMotDetChanNo[MAX_CHANNUM_V30];//ƶͨbyMotDetChanNo[0]1ʾͨ1ƶⴥ¼ - BYTE byRes[SEARCH_EVENT_INFO_LEN - MAX_CHANNUM_V30]; - }struMotionParam; - - struct//ƶ--ֵ - { - WORD wMotDetChanNo[64]; /* ƶֵͨʾ ,ý*/ - BYTE byRes[172]; /**/ - }struMotionParamByValue; - - struct//쳣Ϊ - { - BYTE byChanNo[MAX_CHANNUM_V30]; //¼ͨ - BYTE byRuleID; //ID0xffʾȫ - BYTE byRes1[43]; // - }struVcaParam; - - struct //쳣Ϊ--ֵʽ - { - WORD wChanNo[64]; //쳣ΪӦֵͨʾ,ý - BYTE byRuleID; //쳣Ϊͣ0xffʾȫ0ʼ - BYTE byRes[171]; /**/ - }struVcaParamByValue; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,ֵʾ1ʼ - BYTE byRes1[3]; - BYTE sInquestInfo[INQUEST_CASE_LEN]; - BYTE byRes2[232]; // - } struInquestParam; - struct // - { - BYTE byChan [256];//ͨţ±ʾbyChan[0]1ʾͨ1ƶⴥ¼ - }struVCADetectByBit; - - struct// ͨŰֵʾ - { - DWORD dwChanNo[MAX_CHANNUM_V30-1];// ͨ,ֵʾ0xffffffffЧҺҲʾЧֵ - BYTE byAll;//0-ʾȫ1-ʾȫ - BYTE byres[3]; - }struVCADetectByValue; - struct - { - NET_DVR_STREAM_INFO struIDInfo; // idϢ72ֽڳ - DWORD dwCmdType; // ⲿͣNVRƴ洢ʹ - BYTE byBackupVolumeNum; //浵ţCVRʹ - BYTE byRes[223]; - }struStreamIDParam; - struct - { - BYTE byCaseNo[SEARCH_CASE_NO_LEN]; // - BYTE byCaseName[SEARCH_CASE_NAME_LEN]; //ƣ - BYTE byLitigant1[SEARCH_LITIGANT_LEN]; //1 - BYTE byLitigant2[SEARCH_LITIGANT_LEN]; //2 - BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN];//г - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[47]; - }struTrialParam; - }uSeniorParam; -}NET_DVR_SEARCH_EVENT_PARAM, *LPNET_DVR_SEARCH_EVENT_PARAM; - -#define MAX_POS_KEYWORDS_NUM 3 //ֹ֧ؼֲ -#define MAX_POS_KEYWORD_LEN 128 //ÿؼֳ -#define SEARCH_EVENT_INFO_LEN_V40 800 - -//¼ -typedef struct tagNET_DVR_SEARCH_EVENT_PARAM_V40 -{ - WORD wMajorType; //0-ƶ⣬1-, 2-¼ 5-pos¼ 7-޼ - WORD wMinorType; //- ͱ仯0xffffʾȫ - NET_DVR_TIME struStartTime; //Ŀʼʱ䣬ֹͣʱ: ͬʱΪ(0, 0) ʾʱ俪ʼǰ4000¼ - NET_DVR_TIME struEndTime; // - BYTE byLockType; // 0xff-ȫ0-δ1- - BYTE byQuickSearch; // Ƿÿٲѯ0-ã1-ãٲѯ᷵ļС豸ݿвѯƵӲ̣ - BYTE byRes[130]; // - union - { - BYTE byLen[SEARCH_EVENT_INFO_LEN_V40/*800*/]; - struct// - { - /*ţֵʾ,ýУ0xffffʾЧ*/ - WORD wAlarmInNo[128]; - BYTE byRes[544]; // - }struAlarmParam; - - struct//ƶ - { - /* ƶֵͨʾ ,ýУ0xffffʾЧ*/ - WORD wMotDetChanNo[MAX_CHANNUM_V30]; - BYTE byRes[672]; /**/ - }struMotionParam; - - struct //쳣Ϊ - { - //쳣ΪӦֵͨʾ,ýУ0xffffʾЧ - WORD wChanNo[MAX_CHANNUM_V30]; - BYTE byRuleID; //쳣Ϊͣ0xffʾȫ0ʼ - BYTE byDriverBehaviortType; //˾ʻΪͣ0-1-̡2-Ӵ绰3-ƣͼʻ4-ѡ5-ʻԱ쳣6-δϵȫ7-ī - BYTE byADASType; //߼ʻͣ0-1-ǰײ2-ƫ롢3-ä⡢4-⡢5-˷ײ6-١7-١8-ת䡢9-ת䡢10-11-δ - BYTE byGSensorType; // G-Sensor¼0-1-١2-١3-ת䡢4-ת䡢5-6-ײ - BYTE bySensorInType; // Sensor-InΪ0-1-ɲ2-ת3-ת4- - BYTE byRes[667]; /**/ - }struVcaParam; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byRes[799]; // - } struInquestParam; - - struct// ͨŰֵʾ - { - BYTE byAll; //ȫͨ0-񣬴ʱdwChanNoЧ - //1-ȫͨʱdwChanNoЧ - BYTE byRes1[3]; - WORD wChanNo[MAX_CHANNUM_V30];// ͨ,ֵʾ0xffffЧҺҲʾЧֵ - BYTE byRes[668]; - }struVCADetect; - - struct - { - NET_DVR_STREAM_INFO struIDInfo; // idϢ72ֽڳ - DWORD dwCmdType; // ⲿͣNVRƴ洢ʹ - BYTE byBackupVolumeNum; //浵ţCVRʹ - BYTE byRes1[3]; - BYTE byArchiveLabel[64]; //浵ǩCVRʹ - BYTE byRes[656]; - }struStreamIDParam; - - struct //pos¼ - { - WORD wChannel[MAX_CHANNUM_V30]; //ֵͨʾ,У0xffffʱʾֵЧ - BYTE byAllChan; //Ƿȫͨ0-񣬴ʱwChannelЧ1-ȫͨʱwChannelЧ - BYTE byCaseSensitive; //0-ִСд 1-ִСд - BYTE byCombinateMode; //ؼϷʽ0-1- - BYTE byRes1; // - char sKeyWord[MAX_POS_KEYWORDS_NUM][MAX_POS_KEYWORD_LEN]; - //ؼֲʱ - BYTE byRes[284]; // - }struPosAlarm; - - struct - { - BYTE byCaseNo[SEARCH_CASE_NO_LEN]; // - BYTE byCaseName[SEARCH_CASE_NAME_LEN]; // - BYTE byLitigant1[SEARCH_LITIGANT_LEN]; //1 - BYTE byLitigant2[SEARCH_LITIGANT_LEN]; //2 - BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN]; //г - BYTE byCaseType; - BYTE byRes[47]; - }struTrialParam; - - struct //޼ - { - DWORD dwMajor; //ͣ¼ϴһ£0ȫ - DWORD dwMinor; //ͣ¼ϴһ£0ȫ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byName[NAME_LEN/*32*/]; // - BYTE byMACAddr[MACADDR_LEN]; //MACַ - BYTE byRes[722]; - }struACSAlarm; - }uSeniorParam; -}NET_DVR_SEARCH_EVENT_PARAM_V40, *LPNET_DVR_SEARCH_EVENT_PARAM_V40; - -//¼ -typedef struct tagNET_DVR_SEARCH_EVENT_PARAM_V50 -{ - WORD wMajorType; //0-ƶ⣬1-, 2-¼ 5-pos¼ 7-޼, 8-Ƶ¼ - WORD wMinorType; //- ͱ仯0xffffʾȫ - NET_DVR_TIME_SEARCH_COND struStartTime; //Ŀʼʱ䣬ֹͣʱ: ͬʱΪ(0, 0) ʾʱ俪ʼǰ4000¼ - NET_DVR_TIME_SEARCH_COND struEndTime; //Ľʱ - BYTE byLockType; // 0xff-ȫ0-δ1- - BYTE byQuickSearch; // Ƿÿٲѯ0-ã1-ãٲѯ᷵ļС豸ݿвѯƵӲ̣ - BYTE byRes[254]; // - union - { - BYTE byLen[SEARCH_EVENT_INFO_LEN_V40/*800*/]; - struct// - { - /*ţֵʾ,ýУ0xffffʾЧ*/ - WORD wAlarmInNo[128]; - BYTE byRes[544]; // - }struAlarmParam; - - struct//ƶ - { - /* ƶֵͨʾ ,ýУ0xffffʾЧ*/ - WORD wMotDetChanNo[MAX_CHANNUM_V30]; - BYTE byRes[672]; /**/ - }struMotionParam; - - struct //쳣Ϊ - { - //쳣ΪӦֵͨʾ,ýУ0xffffʾЧ - WORD wChanNo[MAX_CHANNUM_V30]; - BYTE byRuleID; //쳣Ϊͣ0xffʾȫ0ʼ - BYTE byDriverBehaviortType; //˾ʻΪͣ0-1-̡2-Ӵ绰3-ƣͼʻ4-ѡ5-ʻԱ쳣6-δϵȫ7-ī - BYTE byADASType; //߼ʻͣ0-1-ǰײ2-ƫ롢3-ä⡢4-⡢5-˷ײ6-١7-١8-ת䡢9-ת䡢10-11-δ - BYTE byGSensorType; // G-Sensor¼0-1-١2-١3-ת䡢4-ת䡢5-6-ײ - BYTE bySensorInType; // Sensor-InΪ0-1-ɲ2-ת3-ת4- - BYTE byRes[667]; /**/ - }struVcaParam; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byRes[799]; // - } struInquestParam; - - struct// ͨŰֵʾ - { - BYTE byAll; //ȫͨ0-񣬴ʱdwChanNoЧ - //1-ȫͨʱdwChanNoЧ - BYTE byRes1[3]; - WORD wChanNo[MAX_CHANNUM_V30];// ͨ,ֵʾ0xffffЧҺҲʾЧֵ - BYTE byRes[668]; - }struVCADetect; - - struct - { - NET_DVR_STREAM_INFO struIDInfo; // idϢ72ֽڳ - DWORD dwCmdType; // ⲿͣNVRƴ洢ʹ - BYTE byBackupVolumeNum; //浵ţCVRʹ - BYTE byRes1[3]; - BYTE byArchiveLabel[64]; //浵ǩCVRʹ - BYTE byRes[656]; - }struStreamIDParam; - - struct //pos¼ - { - WORD wChannel[MAX_CHANNUM_V30]; //ֵͨʾ,У0xffffʱʾֵЧ - BYTE byAllChan; //Ƿȫͨ0-񣬴ʱwChannelЧ1-ȫͨʱwChannelЧ - BYTE byCaseSensitive; //0-ִСд 1-ִСд - BYTE byCombinateMode; //ؼϷʽ0-1- - BYTE byRes1; // - char sKeyWord[MAX_POS_KEYWORDS_NUM][MAX_POS_KEYWORD_LEN]; - //ؼֲʱ - BYTE byRes[284]; // - }struPosAlarm; - - struct - { - BYTE byCaseNo[SEARCH_CASE_NO_LEN]; - BYTE byCaseName[SEARCH_CASE_NAME_LEN]; - BYTE byLitigant1[SEARCH_LITIGANT_LEN]; - BYTE byLitigant2[SEARCH_LITIGANT_LEN]; - BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN]; - BYTE byCaseType; - BYTE byRes[547]; - }struTrialParam; - - struct //޼ - { - DWORD dwMajor; //ͣ¼ϴһ£0ȫ - DWORD dwMinor; //ͣ¼ϴһ£0ȫ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byName[NAME_LEN/*32*/]; // - BYTE byMACAddr[MACADDR_LEN]; //MACַ - BYTE byRes[722]; - }struACSAlarm; - struct //Ƶ¼ - { - WORD wDeviceType; //豸,0-˽Ž1-˽пӶԽ豸, 2-˽бԤ 3-GJD 4-Luminite, 5-OPTEX,6-cameraDetectorģ豸 - WORD wEventType; //- ͱ仯0xffffʾȫ - WORD wChannel[MAX_CHANNUM_V30/*64*/]; //ͨţֵʾ,У0xffffʱʾֵЧ - BYTE byAllChan; //Ƿȫͨ0-񣬴ʱwChannelЧ1-ȫͨʱwChannelЧ - BYTE byCaseSensitive; //0-ִСд 1-ִСд - BYTE byCombinateMode; //ؼϷʽ0-1- - BYTE bySearchType; //ʽ0-ƵԴʱͨΪƵͨţ - char sKeyWord[MAX_POS_KEYWORDS_NUM/*3*/][MAX_POS_KEYWORD_LEN/*128*/];//ؼֲʱ - WORD wZoneNo; //ţ豸Ϊ˽бΪwEventTypeΪ1ʱЧ - BYTE byRes[278]; // - }struIOTAlarm; - }uSeniorParam; -}NET_DVR_SEARCH_EVENT_PARAM_V50, *LPNET_DVR_SEARCH_EVENT_PARAM_V50; - - -//ҷؽ -typedef struct tagNET_DVR_SEARCH_EVENT_RET -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ䣬¼ʱͿʼʱһ - BYTE byChan[MAX_CHANNUM_V30]; - BYTE byChanEx[32]; //ͨλʾʹøֶκbyChanԲʹ - BYTE byRes[4]; - union - { - struct// - { - DWORD dwAlarmInNo; // - BYTE byRes[SEARCH_EVENT_INFO_LEN]; - }struAlarmRet; - struct//ƶ - { - DWORD dwMotDetNo; //ƶͨ - BYTE byRes[SEARCH_EVENT_INFO_LEN]; - }struMotionRet; - struct//쳣Ϊ - { - DWORD dwChanNo; //¼ͨ - BYTE byRuleID; //ID - BYTE byRes1[3]; // - BYTE byRuleName[NAME_LEN]; // - NET_VCA_EVENT_UNION uEvent; //Ϊ¼ - }struVcaRet; - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - BYTE byRes1[6]; // - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - WORD wSegmentState; //Ƭ״̬ 0 ¼1 ¼쳣2 ¼Ѷ - BYTE byRes2[288]; // - }struInquestRet; - struct //id¼ѯ - { - DWORD dwRecordType; /*¼ 0-ʱ¼,1-ƶ,2-,3-|ƶ, 4-&ƶ,5-,6-ֶ¼,7-𶯱,8-, - 9-ܱ,10-PIR,11-߱,12-ȱ,13- PIR|߱|ȱ, 14-ܽͨ¼,15-Խ,16-,17-쳣, - 18-, 19-ȫܣԽ|||뿪|ʶ, 20-ź,21-ش22-Ǩ¼,23-ڵ 24-¼ƴӴ浵*/ - DWORD dwRecordLength; //¼С - BYTE byLockFlag; // ־ 0û 1 - BYTE byDrawFrameType; // 0dz֡¼ 1֡¼ - BYTE byRes1[2]; - BYTE byFileName[NAME_LEN]; //ļ - DWORD dwFileIndex; // 浵ϵļ - BYTE byRes[256]; - }struStreamIDRet; - struct - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE bySegmentState; //Ƭ״̬0-¼1-¼쳣2-¼Ѷ - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[2]; - BYTE byCaseNo[CASE_NO_RET_LEN]; // - BYTE byCaseName[CASE_NAME_RET_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_RET_LEN]; //1 - BYTE byLitigant2[LITIGANT_RET_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN];//г - BYTE byRes1[104]; - }struTrialRet; - }uSeniorRet; -}NET_DVR_SEARCH_EVENT_RET, *LPNET_DVR_SEARCH_EVENT_RET; - -#define NET_SDK_MAX_TAPE_INDEX_LEN 32 //Ŵ󳤶 -#define NET_SDK_MAX_FILE_LEN 256 //ļ󳤶 - -//ҷؽ -typedef struct tagNET_DVR_SEARCH_EVENT_RET_V40 -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ䣬¼ʱͿʼʱһ - WORD wChan[MAX_CHANNUM_V40/*512*/]; //ͨţ0xffffʾЧ - BYTE byRes[36]; - union - { - BYTE byLen[800]; //峤 - struct// - { - DWORD dwAlarmInNo; // - BYTE byRes[796]; - }struAlarmRet; - struct//ƶ - { - DWORD dwMotDetNo; //ƶͨ - BYTE byRes[796]; - }struMotionRet; - struct//쳣Ϊ - { - DWORD dwChanNo; //¼ͨ - BYTE byRuleID; //ID - BYTE byRes1[3]; // - BYTE byRuleName[NAME_LEN]; // - NET_VCA_EVENT_UNION uEvent; //Ϊ¼ - BYTE byRes[668]; // - }struVcaRet; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - BYTE byRes1[6]; // - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - WORD wSegmentState; //Ƭ״̬ 0 ¼1 ¼쳣2 ¼Ѷ - BYTE byRes2[784]; // - }struInquestRet; - - struct //id¼ѯ - { - DWORD dwRecordType; //¼ 0-ʱ¼ 1-ƶ 2-¼ 3-|ƶ 4-&ƶ 5- 6-ֶ¼ 7-𶯱 8- 9-ܱ 10-ش¼ - DWORD dwRecordLength; //¼С - BYTE byLockFlag; // ־ 0û 1 - BYTE byDrawFrameType; // 0dz֡¼ 1֡¼ - BYTE byPosition;// ļڴ洢λã0-ϣ1-λϣֱأ2-ŴڣҪѴлλϣ3-ڴŴУҪѴ̲嵽Ŵ - BYTE byRes1; - BYTE byFileName[NAME_LEN]; //ļ - DWORD dwFileIndex; // 浵ϵļ - BYTE byTapeIndex[NET_SDK_MAX_TAPE_INDEX_LEN]; //ļڴŴ - BYTE byFileNameEx[NET_SDK_MAX_FILE_LEN/*256*/]; //ļչ - BYTE byRes[464]; - }struStreamIDRet; - - struct//POS¼ѯ - { - DWORD dwChanNo; //pos¼ͨ - BYTE byRes[796]; - }struPosRet; - - struct - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE bySegmentState; //Ƭ״̬0-¼1-¼쳣2-¼Ѷ - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[2]; - BYTE byCaseNo[CASE_NO_RET_LEN]; // - BYTE byCaseName[CASE_NAME_RET_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_RET_LEN]; //1 - BYTE byLitigant2[LITIGANT_RET_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN];//г - BYTE byRes1[600]; - }struTrialRet; - }uSeniorRet; -}NET_DVR_SEARCH_EVENT_RET_V40, *LPNET_DVR_SEARCH_EVENT_RET_V40; - -//ҷؽ -typedef struct tagNET_DVR_SEARCH_EVENT_RET_V50 -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME_SEARCH struStartTime; //¼ʼʱ - NET_DVR_TIME_SEARCH struEndTime; //¼ֹͣʱ䣬¼ʱͿʼʱһ - NET_DVR_ADDRESS struAddr; //ƬڵĵַϢȺطʱõ - WORD wChan[MAX_CHANNUM_V40/*512*/]; //ͨţ0xffffʾЧ - BYTE byRes[256]; - union - { - BYTE byLen[800]; //峤 - struct// - { - DWORD dwAlarmInNo; // - BYTE byRes[796]; - }struAlarmRet; - struct//ƶ - { - DWORD dwMotDetNo; //ƶͨ - BYTE byRes[796]; - }struMotionRet; - struct//쳣Ϊ - { - DWORD dwChanNo; //¼ͨ - BYTE byRuleID; //ID - BYTE byRes1[3]; // - BYTE byRuleName[NAME_LEN]; // - NET_VCA_EVENT_UNION uEvent; //Ϊ¼ - BYTE byRes[668]; // - }struVcaRet; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - BYTE byRes1[6]; // - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - WORD wSegmentState; //Ƭ״̬ 0 ¼1 ¼쳣2 ¼Ѷ - BYTE byRes2[784]; // - }struInquestRet; - - struct //id¼ѯ - { - DWORD dwRecordType; //¼ 0-ʱ¼ 1-ƶ 2-¼ 3-|ƶ 4-&ƶ 5- 6-ֶ¼ 7-𶯱 8- 9-ܱ 10-ش¼ - DWORD dwRecordLength; //¼С - BYTE byLockFlag; // ־ 0û 1 - BYTE byDrawFrameType; // 0dz֡¼ 1֡¼ - BYTE byPosition;// ļڴ洢λã0-ϣ1-λϣֱأ2-ŴڣҪѴлλϣ3-ڴŴУҪѴ̲嵽Ŵ - BYTE byRes1; - BYTE byFileName[NAME_LEN]; //ļ - DWORD dwFileIndex; // 浵ϵļ - BYTE byTapeIndex[NET_SDK_MAX_TAPE_INDEX_LEN]; //ļڴŴ - BYTE byFileNameEx[NET_SDK_MAX_FILE_LEN/*256*/]; //ļչ - BYTE byRes[464]; - }struStreamIDRet; - - struct//POS¼ѯ - { - DWORD dwChanNo; //pos¼ͨ - BYTE byRes[796]; - }struPosRet; - - struct - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE bySegmentState; //Ƭ״̬0-¼1-¼쳣2-¼Ѷ - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[2]; - BYTE byCaseNo[CASE_NO_RET_LEN]; // - BYTE byCaseName[CASE_NAME_RET_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_RET_LEN]; //1 - BYTE byLitigant2[LITIGANT_RET_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN];//г - BYTE byRes1[600]; - }struTrialRet; - struct//Ƶͨѯ - { - DWORD dwChanNo; //¼ͨţ¼Դͨ - BYTE byRes[796]; - }struIOTRet; - }uSeniorRet; -}NET_DVR_SEARCH_EVENT_RET_V50, *LPNET_DVR_SEARCH_EVENT_RET_V50; - -//SDK_V35 2009-10-26 - -// 궨 -typedef enum tagCALIBRATE_TYPE -{ - PDC_CALIBRATE = 0x01, // PDC 궨 - BEHAVIOR_OUT_CALIBRATE = 0x02, //Ϊⳡ궨 - BEHAVIOR_IN_CALIBRATE = 0x03, // Ϊڳ궨 - ITS_CALBIRETE = 0x04, // ͨ¼궨 - BV_DIRECT_CALIBRATE = 0x05, //˫Ŀֱӱ궨 - PDC_LINE_CALIBRATE = 0x06 //PDC 궨 -}CALIBRATE_TYPE; - -#define MAX_RECT_NUM 6 -typedef struct tagNET_DVR_RECT_LIST -{ - BYTE byRectNum; // οĸ - BYTE byRes1[11]; //ֽ - NET_VCA_RECT struVcaRect[MAX_RECT_NUM]; // Ϊ6Rect -}NET_DVR_RECT_LIST, *LPNET_DVR_RECT_LIST; - -// PDC 궨 -typedef struct tagNET_DVR_PDC_CALIBRATION -{ - NET_DVR_RECT_LIST struRectList; // 궨οб - BYTE byRes[120]; // ֽ -}NET_DVR_PDC_CALIBRATION, *LPNET_DVR_PDC_CALIBRATION; - - -// 궨ߵʾǰ궨ʵʱʾǸ߶߻dzߡ -typedef enum tagLINE_MODE -{ - HEIGHT_LINE, //߶ - LENGTH_LINE // -}LINE_MODE; -/* -ñ궨ϢʱӦλʹܣز -ûʹܣ궨Իȡص -*/ -typedef struct tagNET_DVR_CAMERA_PARAM -{ - BYTE byEnableHeight; // Ƿʹ߶ - BYTE byEnableAngle; // ǷʹǶ - BYTE byEnableHorizon; // Ƿʹƽ - BYTE byRes[5]; // ֽ - float fCameraHeight; // ߶ - float fCameraAngle; // Ƕ - float fHorizon; // еĵƽ -}NET_DVR_CAMERA_PARAM, *LPNET_DVR_CAMERA_PARAM; -/* -fValueʾĿ߶ȵʱstruStartPointstruEndPointֱʾĿͷͽŲ㡣 -fValueʾ߶γȵʱstruStartPointstruEndPointֱʾ߶ʼյ㣬 -modeʾǰ߱ʾ߶߻dzߡ -*/ -typedef struct tagNET_DVR_LINE_SEGMENT -{ - BYTE byLineMode; // LINE_MODE - BYTE byRes[3]; // ֽ - NET_VCA_POINT struStartPoint; - NET_VCA_POINT struEndPoint; - float fValue; -}NET_DVR_LINE_SEGMENT, *LPNET_DVR_LINE_SEGMENT; - -#define MAX_LINE_SEG_NUM 8 - -/* -궨ĿǰҪ4-8ߣԻȡز -*/ -typedef struct tagNET_DVR_BEHAVIOR_OUT_CALIBRATION -{ - DWORD dwLineSegNum; // ߸ - NET_DVR_LINE_SEGMENT struLineSegment[MAX_LINE_SEG_NUM]; // - NET_DVR_CAMERA_PARAM struCameraParam; // - BYTE byRes[20]; -}NET_DVR_BEHAVIOR_OUT_CALIBRATION, *LPNET_DVR_BEHAVIOR_OUT_CALIBRATION; - -/* -ýṹʾIASܿ궨 -аһĿһӦĸ߶ȱ궨ߣ -ĿΪվӾο򣻸߶ʶͷ㵽ŵı궨ߣ -ùһʾ -*/ -typedef struct tagNET_DVR_IN_CAL_SAMPLE -{ - NET_VCA_RECT struVcaRect; // Ŀ - NET_DVR_LINE_SEGMENT struLineSegment; // ߶ȱ궨 -}NET_DVR_IN_CAL_SAMPLE, *LPNET_DVR_IN_CAL_SAMPLE; - -#define MAX_SAMPLE_NUM 5 //ֱӱ궨 -#define MAX_SAMPLE_NUM_EX 7 //궨չ - -typedef struct tagNET_DVR_BEHAVIOR_IN_CALIBRATION -{ - DWORD dwCalSampleNum; // 궨 - NET_DVR_IN_CAL_SAMPLE struCalSample[MAX_SAMPLE_NUM]; // 궨 - NET_DVR_CAMERA_PARAM struCameraParam; // - BYTE byRes[16]; -}NET_DVR_BEHAVIOR_IN_CALIBRATION, *LPNET_DVR_BEHAVIOR_IN_CALIBRATION; - -#define CALIB_PT_NUM 4 -typedef struct tagNET_DVR_ITS_CALIBRATION -{ - DWORD dwPointNum; //궨 - NET_VCA_POINT struPoint[CALIB_PT_NUM]; //ͼ - float fWidth; - float fHeight; - BYTE byRes1[100]; // ֽ -}NET_DVR_ITS_CALIBRATION, *LPNET_DVR_ITS_CALIBRATION; - -typedef struct tagNET_DVR_BV_DIRECT_CALIBRATION -{ - DWORD dwCameraHeight; //߶ȣλcm - float fPitchAngle; //ӽǶ[0, 60], - float fInclineAngle; //бǶ[-20,20] - BYTE byRes1[228]; // -}NET_DVR_BV_DIRECT_CALIBRATION,*LPNET_DVR_BV_DIRECT_CALIBRATION; - -// PDC 궨 -typedef struct tagNET_DVR_PDC_LINE_CALIBRATION -{ - NET_VCA_LINE struCalibrationLine; - BYTE byRes[224];// ֽ -} NET_DVR_PDC_LINE_CALIBRATION, *LPNET_DVR_PDC_LINE_CALIBRATION; - -// 궨 -// ر궨Էڸýṹ -typedef union tagNET_DVR_CALIBRATION_PRARM_UNION -{ - BYTE byRes[240]; //ṹС - NET_DVR_PDC_CALIBRATION struPDCCalibration; //PDC 궨 - NET_DVR_BEHAVIOR_OUT_CALIBRATION struBehaviorOutCalibration; // Ϊⳡ궨 ҪӦIVS - NET_DVR_BEHAVIOR_IN_CALIBRATION struBehaviorInCalibration; // Ϊڳ궨ҪӦIAS - NET_DVR_ITS_CALIBRATION struITSCalibration; - NET_DVR_BV_DIRECT_CALIBRATION struBvDirectCalibration; //˫Ŀֱӱ궨 - NET_DVR_PDC_LINE_CALIBRATION struPDCLineCalibration; //PDC ߱궨 -}NET_DVR_CALIBRATION_PRARM_UNION, *LPNET_DVR_CALIBRATION_PRARM_UNION; - - -// 궨ýṹ -typedef struct tagNET_DVR_CALIBRATION_CFG -{ - DWORD dwSize; //궨ṹС - BYTE byEnable; // Ƿñ궨 - BYTE byCalibrationType; // 궨 ݲͬѡͬı궨 οCALIBRATE_TYPE - BYTE byRes1[2]; - NET_DVR_CALIBRATION_PRARM_UNION uCalibrateParam; // 궨 - BYTE byRes2[12]; -}NET_DVR_CALIBRATION_CFG, *LPNET_DVR_CALIBRATION_CFG; - -//ͳƷṹ -typedef struct tagNET_DVR_PDC_ENTER_DIRECTION -{ - NET_VCA_POINT struStartPoint; //ͳƷʼ - NET_VCA_POINT struEndPoint; // ͳƷ -}NET_DVR_PDC_ENTER_DIRECTION, *LPNET_DVR_PDC_ENTER_DIRECTION; - -typedef struct tagNET_DVR_PDC_RULE_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; // Ƿ񼤻; - BYTE byRes1[23]; // ֽ - NET_VCA_POLYGON struPolygon; // - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 -} NET_DVR_PDC_RULE_CFG, *LPNET_DVR_PDC_RULE_CFG; - -typedef struct tagNET_DVR_PDC_RULE_CFG_V41 -{ - DWORD dwSize; //ṹС - BYTE byEnable; // Ƿ񼤻; - BYTE byRes1[23]; // ֽ - NET_VCA_POLYGON struPolygon; // - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_TIME_EX struDayStartTime; //쿪ʼʱ䣬ʱЧ - NET_DVR_TIME_EX struNightStartTime; //ҹʼʱ䣬ʱЧ - BYTE byRes[100]; // ֽ -}NET_DVR_PDC_RULE_CFG_V41, *LPNET_DVR_PDC_RULE_CFG_V41; - -/********* IPC5.1.7 ͳƹ Begin 2014-03-21***********/ -//ṹ -typedef struct tagNET_DVR_PDC_RULE_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - DWORD dwID; //IDೡϰ汾SDK豸ʱֽΪ0ֽΪ0ʱҲĬΪ1 - BYTE byRes[60]; -}NET_DVR_PDC_RULE_COND, *LPNET_DVR_PDC_RULE_COND; - -//߽ṹ -typedef struct tagNET_VCA_POLYLINE -{ - NET_VCA_POINT struPoint[4]; //ߵ -}NET_VCA_POLYLINE, *LPNET_VCA_POLYLINE; - -//ýṹ -typedef struct tagNET_DVR_PDC_RULE_CFG_V42 -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿ񼤻; - BYTE byOSDEnable;//ͳOSDʾǷ, 0-0-ޣ1-ǣ0-뿪 2-룬 3-뿪 豸IJOSDӶӦޣöӦ/뿪4-5-; - BYTE byCurDetectType;//ǰͣ0-Σ1-, 2-߼ - BYTE byInterferenceSuppression; //ƣλʾ,0-δѡ,1-ѡbit0-Ӱbit1-ǻbit2-Ƴ - NET_VCA_POINT struOSDPoint;//ͳʾOSDʾϽ - //ϴڣ0-151-12-53-104-205-306-60λ - BYTE byDataUploadCycle; - //ÿϴʹܣ0-رգ1- - BYTE bySECUploadEnable; - BYTE byEmailDayReport;//ձʹ 0-رգ1- - BYTE byEmailWeekReport;//ܱʹ 0-رգ1- - BYTE byEmailMonthReport;//±ʹ0-رգ1- - BYTE byEmailYearReport;//걨ʹ0-رգ1- - BYTE byRes2[6];// ֽ - NET_VCA_POLYGON struPolygon; // - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_TIME_EX struDayStartTime; //쿪ʼʱ䣬ʱЧ - NET_DVR_TIME_EX struNightStartTime; //ҹʼʱ䣬ʱЧ - NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*ʽ ֧ϴ*/ - BYTE byDetecteSensitivity;//ĿȣΧ1-100Ĭ50 - BYTE byGenerateSpeedSpace;//Ŀٶȣ򣩣Χ1-100Ĭ50 - BYTE byGenerateSpeedTime;// Ŀٶȣʱ򣩣Χ1-100Ĭ50 - BYTE byCountSpeed;// ٶȣΧ1-100Ĭ50 - BYTE byDetecteType;// Ŀͣ0-Զ1-ͷ2-ͷ磬Ĭ0-ԶԶģʽDSP㷨IJø㷨 - BYTE byTargetSizeCorrect;//ĿߴΧ1-100Ĭ50 - BYTE byStreamOverlayRuleInfos;//Ϣ 0-1- - BYTE byRes3;// ֽ - NET_VCA_LINE struLine;// - BYTE byHeightFilterEnable;//߶ȹǷ0-1-رգ2- - BYTE byDetectThreshold;//ֵ,Χ[0,100],Ĭ 90(ڲʹãݲ)趨㷨бĿŶֵŶȵڸֵĿ꣬ڼ - BYTE byAidedTrackEnabled;//أ0~1~رգĬϿ(ڲʹ) ڿ͹ر㷨ģеĹԱӾ׼ȡ - BYTE byRes4; - float fHeightFilter;//˸߶ȣλףĬֵ120ףΧ40-200סbyHeightFilterEnableΪ2DzЧ - BYTE byCalibrateType;//궨ͣ0-δб궨1-Զ궨2-ֶ궨 - BYTE byCountingType;//ʽ 0-,1-봥,2-Ƶ - BYTE bySignalType;//ź 0-ƽ1- - BYTE byRS485TransmissionEnabled;//485 0-رգ1- - float fTiltAngle;//,λȣĬֵ0ǷΧ0-180,ֻ - float fHeelAngle;//б,λȣбĬֵ0бǷΧ-90-90,ֻ - float fHeight;//߶ȣ߶ȵλף߶Ĭֵ300ף߶ȷΧ200-500,byCalibrateTypeΪ2ʱЧʱֻ - NET_VCA_POLYGON struCountPolygon;//򣺸òĬΪֻԣͨзڵ㣬ò֧á - NET_VCA_POLYGON struAutoCalibPolygon;//궨򣬵byCalibrateTypeΪ1ʱЧ - NET_DVR_TIME_EX struDailyResetTime; //ʱ - NET_VCA_POLYLINE struPolyLine;//߼ߺstruLineʾ - BYTE byRes[4]; //ֽ -}NET_DVR_PDC_RULE_CFG_V42, *LPNET_DVR_PDC_RULE_CFG_V42; -/********* IPC5.1.7 ͳƹ End 2014-03-21***********/ - -//ðϢṹ -typedef struct tagNET_DVR_TRIAL_VERSION_CFG -{ - DWORD dwSize; - WORD wReserveTime; //ʣʱ䣬0xffffʾЧλ - BYTE byRes[62]; -}NET_DVR_TRIAL_VERSION_CFG, *LPNET_DVR_TRIAL_VERSION_CFG; - -typedef struct tagNET_DVR_SYN_CHANNEL_NAME_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_SYN_CHANNEL_NAME_PARAM, *LPNET_DVR_SYN_CHANNEL_NAME_PARAM; - -typedef struct tagNET_DVR_RESET_COUNTER_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byMode; //Чģʽ0-ʱ1-ֶ - BYTE byRes1[2]; - NET_DVR_TIME_EX struTime[MAX_DAYS];//ʱ䣬ʱЧ - BYTE byRes[64]; -}NET_DVR_RESET_COUNTER_CFG, *LPNET_DVR_RESET_COUNTER_CFG; - -typedef struct tagNET_DVR_VCA_CTRLINFO_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - BYTE byRes[64]; -}NET_DVR_VCA_CTRLINFO_COND, *LPNET_DVR_VCA_CTRLINFO_COND; - -#define NET_SDK_MAX_RELATED_CHAN_NUM 4 //ͨ - -typedef struct tagNET_DVR_VCA_CTRLINFO_CFG -{ - DWORD dwSize; - BYTE byVCAEnable; //Ƿ - BYTE byVCAType; //ͣVCA_CHAN_ABILITY_TYPE - BYTE byStreamWithVCA; //ǷϢ - BYTE byMode; //ģʽATM ʱVCA_CHAN_MODE_TYPE ,TFS ʱ TFS_CHAN_MODE_TYPE쳣ΪʱBEHAVIOR_SCENE_MODE_TYPE - BYTE byControlType; //ͣλʾ0-1- - //byControlType &1 ǷץĹ - //byControlType &2 Ƿǰ豸 - BYTE byRes1[3]; - WORD wRelatedChannel[NET_SDK_MAX_RELATED_CHAN_NUM/*4*/];/*ͨţ0-ǰATM豸ʹãͨģʽΪATMʱԹһ·ATMͨ*/ - BYTE byRes[72]; //Ϊ0 -}NET_DVR_VCA_CTRLINFO_CFG, *LPNET_DVR_VCA_CTRLINFO_CFG; - -//ͳƲ Ϊڲؼֲ -// HUMAN_GENERATE_RATE -// ĿٶȲPDCĿٶȡٶԽ죬ĿԽɡƵϲԱȶȽϵʱõĹСʱӦӿĿٶȣ Ŀ©죻ƵжԱȶȽϸʱ߹ϴʱӦýĿٶȣԼ졣ĿٶȲ51ٶ5죬ĬϲΪ3 -// -// DETECT_SENSITIVE -// ĿȿƲPDCһ򱻼ΪĿȡԽߣԽױΪĿ꣬ԽԽѼΪĿꡣƵϲԱȶȽϵʱӦ߼ȣ Ŀ©죻ƵжԱȶȽϸʱӦýͼȣԼ졣Ӧ51ͣ5ߣĬϼΪ3 -// TRAJECTORY_LEN -// ɳȿƲʾʱҪĿλءӦ51ɳ5ɳ̣죬ĬϼΪ3 -// TRAJECT_CNT_LEN -// ȿƲʾʱҪĿλءӦ51Ҫ󳤶5Ҫ󳤶̣죬ĬϼΪ3 -// PREPROCESS -// ͼԤƲ0 - 1 - ĬΪ0 -// CAMERA_ANGLE -// Ƕ 0 - б 1 - ֱĬΪ0 -typedef enum tagPDC_PARAM_KEY -{ - HUMAN_GENERATE_RATE = 50, // Ŀٶ 50ʼ - DETECT_SENSITIVE = 51, // -}PDC_PARAM_KEY; - -typedef struct tagNET_DVR_PDC_TARGET_INFO -{ - DWORD dwTargetID; // Ŀid - NET_VCA_RECT struTargetRect; // Ŀ - BYTE byRes1[8]; // ֽ -}NET_DVR_PDC_TARGET_INFO, *LPNET_DVR_PDC_TARGET_INFO; - -typedef struct tagNET_DVR_PDC_TARGET_IN_FRAME -{ - BYTE byTargetNum; //Ŀ - BYTE byRes1[3]; - NET_DVR_PDC_TARGET_INFO struTargetInfo[MAX_TARGET_NUM]; //ĿϢ - BYTE byRes2[8]; // ֽ -}NET_DVR_PDC_TARGET_IN_FRAME, *LPNET_DVR_PDC_TARGET_IN_FRAME; - -typedef struct tagNET_DVR_PDC_ALRAM_INFO -{ - DWORD dwSize; // PDCϴṹС - BYTE byMode; // 0 ֡ͳƽ 1Сʱͳƽ 2 źڡͳʼʱ䡱&&ͳƽʱ䡱 - BYTE byChannel; // ϴͨ - /********* IPC5.1.7 Begin 2014-03-21***********/ - BYTE bySmart; //רҵܷ0Smart 1 - BYTE byRes1; // ֽ - /********* IPC5.1.7 End 2014-03-21***********/ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - union - { - struct // ֡ͳƽʱʹ - { - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[89]; - }struStatFrame; - struct - { - NET_DVR_TIME tmStart; // ͳʼʱ - NET_DVR_TIME tmEnd; // ͳƽʱ - BYTE byTimeDifferenceFlag; /*0-ĬΪcStartTimeDifferenceH,ʱϢЧ1-ʱϢЧ*/ - char cStartTimeDifferenceH; /*ʼʱUTCʱСʱ-12 ... +14+ʾ*/ - char cStartTimeDifferenceM; /*ʼʱUTCʱӣ-30, 30, 45+ʾ*/ - char cStopTimeDifferenceH; /*ʱUTCʱСʱ-12 ... +14+ʾ*/ - char cStopTimeDifferenceM; /*ʱUTCʱӣ-30, 30, 45+ʾ*/ - BYTE byRes[87]; - }struStatTime; - }uStatModeParam; // Ϊһ ֡ʱ֡ĿϢ СʱͳƽҪͳʱ - DWORD dwLeaveNum; // 뿪 - DWORD dwEnterNum; // - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byRes3; - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - DWORD dwPassingNum; // ǻûд롢뿪 - DWORD dwChildLeaveNum; // С뿪 - DWORD dwChildEnterNum; // С - DWORD dwDuplicatePeople; // ظ - DWORD dwXmlLen;//XML͸ݳ, EventNotificationAlert XML Blockݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block -#else - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byRes4[4]; -#endif - BYTE byRes2[8]; // ֽ -}NET_DVR_PDC_ALRAM_INFO, *LPNET_DVR_PDC_ALRAM_INFO; - - -// Ϣѯ -typedef struct tagNET_DVR_PDC_QUERY -{ - NET_DVR_TIME tmStart; - NET_DVR_TIME tmEnd; - DWORD dwLeaveNum; - DWORD dwEnterNum; - BYTE byRes1[256]; -}NET_DVR_PDC_QUERY, *LPNET_DVR_PDC_QUERY; - -typedef struct tagNET_DVR_POSITION_RULE_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_PTZ_POSITION struPtzPosition; // λϢ - NET_VCA_RULECFG struVcaRuleCfg; //Ϊ - BYTE byRes2[80]; // ֽ -}NET_DVR_POSITION_RULE_CFG, *LPNET_DVR_POSITION_RULE_CFG; - -typedef struct tagNET_DVR_POSITION_RULE_CFG_V41 -{ - DWORD dwSize; // ṹС - NET_DVR_PTZ_POSITION struPtzPosition; // λϢ - NET_VCA_RULECFG_V41 struVcaRuleCfg; //Ϊ - BYTE byTrackEnable; //Ƿ - BYTE byRes1; - WORD wTrackDuration; //ʱ䣬λs - BYTE byRes2[76]; // ֽ -}NET_DVR_POSITION_RULE_CFG_V41, *LPNET_DVR_POSITION_RULE_CFG_V41; - - -typedef struct tagNET_DVR_LIMIT_ANGLE -{ - BYTE byEnable; // Ƿóλ - BYTE byRes1[3]; - NET_DVR_PTZPOS struUp; // λ - NET_DVR_PTZPOS struDown; // λ - NET_DVR_PTZPOS struLeft; // λ - NET_DVR_PTZPOS struRight; // λ - BYTE byRes2[20]; -}NET_DVR_LIMIT_ANGLE, *LPNET_DVR_LIMIT_ANGLE; - -typedef struct tagNET_DVR_POSITION_INDEX -{ - BYTE byIndex; // - BYTE byRes1; - WORD wDwell; // ͣʱ - BYTE byRes2[4]; // ֽ -}NET_DVR_POSITION_INDEX, *LPNET_DVR_POSITION_INDEX; - -#define MAX_POSITION_NUM 10 -typedef struct tagNET_DVR_POSITION_TRACK_CFG -{ - DWORD dwSize; - BYTE byNum; // - BYTE byRes1[3]; - NET_DVR_POSITION_INDEX struPositionIndex[MAX_POSITION_NUM]; - BYTE byRes2[8]; -}NET_DVR_POSITION_TRACK_CFG, *LPNET_DVR_POSITION_TRACK_CFG; - -//Ѳ·Ϣ -typedef struct tagNET_DVR_PATROL_SCENE_INFO -{ - WORD wDwell; // ͣʱ 30-300 - BYTE byPositionID; // 1-10Ĭ0ʾѲ㲻ӳ - BYTE byRes[5]; -}NET_DVR_PATROL_SCENE_INFO, *LPNET_DVR_PATROL_SCENE_INFO; - -// ѲϢ -typedef struct tagNET_DVR_PATROL_TRACKCFG -{ - DWORD dwSize; // ṹС - NET_DVR_PATROL_SCENE_INFO struPatrolSceneInfo[10]; // Ѳ· - BYTE byRes[16]; // ֽ -}NET_DVR_PATROL_TRACKCFG, *LPNET_DVR_PATROL_TRACKCFG; - -//ع˵ýṹ -typedef struct tagNET_DVR_TRACK_PARAMCFG -{ - DWORD dwSize; // ṹС - WORD wAlarmDelayTime; // ʱʱ䣬Ŀǰֻ֧ȫ Χ1-120 - WORD wTrackHoldTime; // ʱ Χ0-300 - BYTE byTrackMode; // IPDOME_TRACK_MODE - BYTE byPreDirection; // Ԥ 0- 1- - BYTE byTrackSmooth; // 0- 1- - BYTE byZoomAdjust; // ϵ μ± - BYTE byMaxTrackZoom; //ϵ,0-ʾĬϱϵ,ȼ6-궨ֵ*1.0(Ĭ),1-5ΪС궨ֵֵԽССıԽ,7-15ΪŴֵԽ󣬷ŴıԽ - BYTE byStopTrackWhenFindFace; //⵽Ƿֹͣ 0- 1- - BYTE byStopTrackThreshold; //ֵֹ - BYTE byRes[9]; // ֽ -}NET_DVR_TRACK_PARAMCFG, *LPNET_DVR_TRACK_PARAMCFG; - -// о -typedef struct tagNET_DVR_DOME_MOVEMENT_PARAM -{ - WORD wMaxZoom; // ϵ - BYTE byRes[42]; // ֽ -}NET_DVR_DOME_MOVEMENT_PARAM, *LPNET_DVR_DOME_MOVEMENT_PARAM; - -/********************************ܽͨ¼ begin****************************************/ -#define MAX_REGION_NUM 8 // бĿ -#define MAX_TPS_RULE 8 // Ŀ -#define MAX_AID_RULE 8 // ¼Ŀ -#define MAX_LANE_NUM 8 // 󳵵Ŀ - -//ͨ¼ͣ -typedef enum tagTRAFFIC_AID_TYPE -{ - CONGESTION = 0x01, //ӵ - PARKING = 0x02, //ͣ - INVERSE = 0x04, // - PEDESTRIAN = 0x08, // - DEBRIS = 0x10, // Ƭ - SMOKE = 0x20, // - OVERLINE = 0x40, //ѹ - VEHICLE_CONTROL_LIST = 0x80, //ֹ - SPEED = 0x100, // - LANECHANGE = 0x200, // - TURNAROUND = 0x400, //ͷ - VEHICLE_OCCUPANCY_NONVEHICLE = 0x800, //ռ÷ǻλ - GASSER = 0x1000, // - ROADBLOCK = 0x2000, //· - CONSTRUCTION = 0x4000, //ʩ - TRAFFIC_ACCIDENT = 0x8000, //ͨ¹ʼ⣨ͨ¹Ŀǰ¹ʣ׷βв㷨жϳ복֮н棬򱨾 - PARALLEL_PARKING = 0x10000, //෽λͣ - FOG_DETECTION = 0x20000, //Ũ - OCCUPY_EMERGENCY_LANE = 0x40000, //ռý - CONFLAGRATION = 0X80000, // - TFS_MANUAL_TRIGGER = 0x100000, //ֶΥȡ֤¼ - LOADING_DOCK_TRIGGER_UPLOAD = 0x200000, //̨ϴ - OCCUPY_OVERTAKING_LANE = 0x400000, //ռó - PROHIBITION_MARK_VIOLATION = 0x800000, //Υ־ - CHECK_POINT = 0x1000000, // - SUDDEN_SPEED_DROP = 0x2000000, //ٶ轵 - SLOW_MOVING = 0x4000000 // -}TRAFFIC_AID_TYPE; - -typedef enum tagTRAFFIC_SCENE_MODE -{ - FREEWAY = 0, // ٻⳡ - TUNNEL, // - BRIDGE // -}TRAFFIC_SCENE_MODE; - -typedef enum tagITS_ABILITY_TYPE -{ - ITS_CONGESTION_ABILITY = 0x01, //ӵ - ITS_PARKING_ABILITY = 0x02, //ͣ - ITS_INVERSE_ABILITY = 0x04, // - ITS_PEDESTRIAN_ABILITY = 0x08, // - ITS_DEBRIS_ABILITY = 0x10, // Ƭ - ITS_SMOKE_ABILITY = 0x20, //- - ITS_OVERLINE_ABILITY = 0x40, //ѹ - ITS_VEHICLE_CONTROL_LIST_ABILITY = 0x80, //ֹ - ITS_SPEED_ABILITY = 0x100, // - ITS_LANECHANGE_ABILITY = 0x200, // - ITS_TURNAROUND_ABILITY = 0x400, //ͷ - ITS_LANE_VOLUME_ABILITY = 0x010000, // - ITS_LANE_VELOCITY_ABILITY = 0x020000, //ƽٶ - ITS_TIME_HEADWAY_ABILITY = 0x040000, //ͷʱ - ITS_SPACE_HEADWAY_ABILITY = 0x080000, //ͷ - ITS_TIME_OCCUPANCY_RATIO_ABILITY = 0x100000, //ռʣʱ) - ITS_SPACE_OCCUPANCY_RATIO_ABILITY = 0x200000, //ռʣٷֱȼ㣨ռ) - ITS_LANE_QUEUE_ABILITY = 0x400000, //Ŷӳ - ITS_VEHICLE_TYPE_ABILITY = 0x800000, // - ITS_TRAFFIC_STATE_ABILITY = 0x1000000 //ͨ״̬ -}ITS_ABILITY_TYPE; - -// ͨͳƲ -typedef enum tagITS_TPS_TYPE -{ - LANE_VOLUME = 0x01, // - LANE_VELOCITY = 0x02, //ٶ - TIME_HEADWAY = 0x04, //ͷʱ - SPACE_HEADWAY = 0x08, //ͷ - TIME_OCCUPANCY_RATIO = 0x10, //ռ (ʱ) - SPACE_OCCUPANCY_RATIO = 0x20, //ռʣٷֱȼ(ռ) - QUEUE = 0x40, //Ŷӳ - VEHICLE_TYPE = 0x80, // - TRAFFIC_STATE = 0x100 //ͨ״̬ -}ITS_TPS_TYPE; - -typedef struct tagNET_DVR_REGION_LIST -{ - DWORD dwSize; // ṹС - BYTE byNum; // - BYTE byRes1[3]; // ֽ - NET_VCA_POLYGON struPolygon[MAX_REGION_NUM]; // - BYTE byRes2[20]; // ֽ -}NET_DVR_REGION_LIST,*LPNET_DVR_REGION_LIST; - - -// ṹ -typedef struct tagNET_DVR_DIRECTION -{ - NET_VCA_POINT struStartPoint; // ʼ - NET_VCA_POINT struEndPoint; // -}NET_DVR_DIRECTION, *LPNET_DVR_DIRECTION; - -// -typedef struct tagNET_DVR_ONE_LANE -{ - BYTE byEnable; // Ƿ - BYTE byRes1[11]; // ֽ - BYTE byLaneName[NAME_LEN]; // - NET_DVR_DIRECTION struFlowDirection;// ڳ - NET_VCA_POLYGON struPolygon; // -}NET_DVR_ONE_LANE, *LPNET_DVR_ONE_LANE; - -// -typedef struct tagNET_DVR_LANE_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_ONE_LANE struLane[MAX_LANE_NUM]; // ±ΪID - BYTE byRes1[40]; // ֽ -}NET_DVR_LANE_CFG, *LPNET_DVR_LANE_CFG; - -// ͨ¼ -typedef struct tagNET_DVR_AID_PARAM -{ - WORD wParkingDuration; // Υͣ 10-120s - WORD wPedestrianDuration; // ˳ʱ 1-120s - WORD wDebrisDuration; // ʱ 10-120s - WORD wCongestionLength; // ӵ³ֵ 5-200ף - WORD wCongestionDuration; // ӵ³ 10-120s - WORD wInverseDuration; // гʱ 1-10s - WORD wInverseDistance; // оֵ λm Χ[2-100] Ĭ 10 - WORD wInverseAngleTolerance; // Ƕƫ 90-180,ļн - WORD wIllegalParkingTime; // Υͣʱ[4,60]λ ,TFS(ͨΥȡ֤) ģʽ - WORD wIllegalParkingPicNum; // ΥͣͼƬ[1,6], TFS(ͨΥȡ֤) ģʽ - BYTE byMergePic; // ͼƬƴ,TFS ģʽ 0- ƴ 1- ƴ - BYTE byRes1[23]; // ֽ -}NET_DVR_AID_PARAM, *LPNET_DVR_AID_PARAM; - -// ͨ¼ṹ -typedef struct tagNET_DVR_ONE_AID_RULE -{ - BYTE byEnable; // Ƿ¼ - BYTE byRes1[3]; // ֽ - BYTE byRuleName[NAME_LEN]; // - DWORD dwEventType; // ͨ¼ TRAFFIC_AID_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; // ߴ - NET_VCA_POLYGON struPolygon; // - NET_DVR_AID_PARAM struAIDParam; // ¼ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes2[20]; -}NET_DVR_ONE_AID_RULE, *LPNET_DVR_ONE_AID_RULE; - -// ͨ¼ -typedef struct tagNET_DVR_AID_RULECFG -{ - DWORD dwSize; // ṹС - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byRes1[3]; // ֽ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_DVR_ONE_AID_RULE struOneAIDRule[MAX_AID_RULE]; - BYTE byRes2[32]; -}NET_DVR_AID_RULECFG, *LPNET_DVR_AID_RULECFG; - -// ͨ¼ṹ(չ) -typedef struct tagNET_DVR_ONE_AID_RULE_V41 -{ - BYTE byEnable; // Ƿ¼ - BYTE byLaneNo; // - BYTE byRes1[2]; // ֽ - BYTE byRuleName[NAME_LEN]; // - DWORD dwEventType; // ͨ¼ TRAFFIC_AID_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; // ߴ - NET_VCA_POLYGON struPolygon; // - NET_DVR_AID_PARAM struAIDParam; // ¼ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];// ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_IVMS_IP_CHANNEL]; //¼ͨ1ʾͨ0ʾ - BYTE byRes2[60]; // -}NET_DVR_ONE_AID_RULE_V41, *LPNET_DVR_ONE_AID_RULE_V41; - -// ͨ¼(չ) -typedef struct tagNET_DVR_AID_RULECFG_V41 -{ - DWORD dwSize; // ṹС - BYTE byPicProType; // ʱͼƬʽ 0- 0-ϴ - BYTE byRes1[3]; // ֽ - NET_DVR_JPEGPARA struPictureParam; // ͼƬṹ - NET_DVR_ONE_AID_RULE_V41 struAIDRule[MAX_AID_RULE]; // - BYTE byRes2[128]; // -} NET_DVR_AID_RULECFG_V41, *LPNET_DVR_AID_RULECFG_V41; - -// ͨͳƲṹ -typedef struct tagNET_DVR_ONE_TPS_RULE -{ - BYTE byEnable; //Ƿʹܳͨ - BYTE byLaneID; //ID - BYTE byRes1[2]; - DWORD dwCalcType; //ͳƲITS_TPS_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struVitrualLoop; //Ȧ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ,һΪǷϴģܲҪ - BYTE byRes2[20]; //ֽ -}NET_DVR_ONE_TPS_RULE, *LPNET_DVR_ONE_TPS_RULE; - -// ͨͳƹýṹ -typedef struct tagNET_DVR_TPS_RULECFG -{ - DWORD dwSize; // ṹС - NET_DVR_ONE_TPS_RULE struOneTpsRule[MAX_TPS_RULE]; // ±ӦͨID - BYTE byRes2[40]; // ֽ -}NET_DVR_TPS_RULECFG, *LPNET_DVR_TPS_RULECFG; - -// ͨͳƲṹ(չ) -typedef struct tagNET_DVR_ONE_TPS_RULE_V41 -{ - BYTE byEnable; //Ƿʹܳͨ - BYTE byLaneID; //ID - BYTE byRes1[2]; // - DWORD dwCalcType; // ͳƲITS_TPS_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struVitrualLoop; //Ȧ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRes2[60]; // ֽ -}NET_DVR_ONE_TPS_RULE_V41, *LPNET_DVR_ONE_TPS_RULE_V41; - - -// ͨͳƹýṹ(չ) -typedef struct tagNET_DVR_TPS_RULECFG_V41 -{ - DWORD dwSize; // ṹС - NET_DVR_ONE_TPS_RULE_V41 struOneTpsRule[MAX_TPS_RULE]; // ±ӦͨID - BYTE byRes[128]; // -}NET_DVR_TPS_RULECFG_V41, *LPNET_DVR_TPS_RULECFG_V41; - -//ͨ¼չ -typedef enum tagTRAFFIC_AID_TYPE_EX -{ - ENUM_AID_TYPE_CONGESTION = 1, //ӵ - ENUM_AID_TYPE_PARKING = 2, //ͣ - ENUM_AID_TYPE_INVERSE = 3, // - ENUM_AID_TYPE_PEDESTRIAN = 4, // - ENUM_AID_TYPE_DEBRIS = 5, // Ƭ - ENUM_AID_TYPE_SMOKE = 6, // - ENUM_AID_TYPE_OVERLINE = 7, //ѹ - ENUM_AID_TYPE_VEHICLE_CONTROL_LIST = 8, //ֹ - ENUM_AID_TYPE_SPEED = 9, // - ENUM_AID_TYPE_LANECHANGE = 10, // - ENUM_AID_TYPE_TURNAROUND = 11, //ͷ - ENUM_AID_TYPE_VEHICLE_OCCUPANCY_NONVEHICLE = 12, //ռ÷ǻλ - ENUM_AID_TYPE_GASSER = 13, // - ENUM_AID_TYPE_ROADBLOCK = 14, //· - ENUM_AID_TYPE_CONSTRUCTION = 15, //ʩ - ENUM_AID_TYPE_TRAFFIC_ACCIDENT = 16, //ͨ¹ʼ⣨ͨ¹Ŀǰ¹ʣ׷βв㷨жϳ복֮н棬򱨾 - ENUM_AID_TYPE_PARALLEL_PARKING = 17, //෽λͣ - ENUM_AID_TYPE_FOG_DETECTION = 18, //Ũ - ENUM_AID_TYPE_OCCUPY_EMERGENCY_LANE = 19, //ռý - ENUM_AID_TYPE_CONFLAGRATION = 20, // - ENUM_AID_TYPE_TFS_MANUAL_TRIGGER = 21, //ֶΥȡ֤¼ - ENUM_AID_TYPE_LOADING_DOCK_TRIGGER_UPLOAD = 22, //̨ϴ - ENUM_AID_TYPE_OCCUPY_OVERTAKING_LANE = 23, //ռó - ENUM_AID_TYPE_PROHIBITION_MARK_VIOLATION = 24, //Υ־ - ENUM_AID_TYPE_CHECK_POINT = 25, // - ENUM_AID_TYPE_SUDDEN_SPEED_DROP = 26, //ٶ轵 - ENUM_AID_TYPE_SLOW_MOVING = 27, // - ENUM_AID_TYPE_NOT_KEEP_DISTANCE = 28, //δֳ - ENUM_AID_TYPE_NOT_SLOW_ZEBRA_CROSSING = 29, //δ - ENUM_AID_TYPE_OVER_TAKE_RIGHT_SIDE = 30, //Ҳ೬ - ENUM_AID_TYPE_LOW_SPEED = 31, //ʻ - ENUM_AID_TYPE_DRAG_RACING = 32, //쭳 - ENUM_AID_TYPE_CHANGE_LANE_CONTINUOUSLY = 33, // - ENUM_AID_TYPE_S_SHARP_DRIVING = 34, //ʻ - ENUM_AID_TYPE_LARGE_VEHICLE_OCCUPY_LINE = 35, //ռ - ENUM_AID_TYPE_ROAD_GROUP = 36, //·Աۼ쳣ΪԱۼ㷨ͬӦóͬ, ͨ¼Ӧڸ١Ƚͨ쳣ΪԱۼӦóǽ档 - ENUM_AID_TYPE_SINGLE_VEHICLE_BREAKDOWN = 37, //ê - ENUM_AID_TYPE_BLACK_SMOKE_VEHICLE = 38, //̳ - ENUM_AID_TYPE_VEHNOYIELDPEDEST = 39, // - ENUM_AID_TYPE_ILLEGALMANNEDVEH = 40, //Υ - ENUM_AID_TYPE_ILLEGALMANNEDNONMOTORVEH = 41, //ǻΥ - ENUM_AID_TYPE_UMBRELLATENTINSTALL = 42, //ǻΥװ - ENUM_AID_TYPE_NONMOTORVEHONVEHLANE = 43, //ǻռû - ENUM_AID_TYPE_WEARINGNOHELMET = 44, //ǻδͷ - ENUM_AID_TYPE_PEDESTREDLIGHTRUNNING = 45, //˴ - ENUM_AID_TYPE_PEDESTONNONMOTORVEHLANE = 46, //˷ǻ - ENUM_AID_TYPE_PEDESTONVEHLANE = 47, //˻ - ENUM_AID_TYPE_OCCUPYDEDICATEDLANE = 48,//ռרó - ENUM_AID_TYPE_NOTDRIVEINDEDICATEDLANE = 49,//δרóʻ -}TRAFFIC_AID_TYPE_EX; - -// ͨ¼Ϣ -typedef struct tagNET_DVR_AID_INFO -{ - BYTE byRuleID; // ţΪýṹ±꣬0-16 - BYTE byVisibilityLevel; // ܼȵȼ0-1-~2-~3-~Ũ4-Ũ - BYTE byRes1[2]; - BYTE byRuleName[NAME_LEN]; // - DWORD dwAIDType; // ¼ - NET_DVR_DIRECTION struDirect; // ָ - BYTE bySpeedLimit; //ֵλkm/h[0,255] - BYTE byCurrentSpeed; //ǰٶֵλkm/h[0,255] - BYTE byVehicleEnterState;//״̬ 0-Ч 1-ʻ 2-ʻ - BYTE byState; //0-仯ϴ1-Ѳϴ2-ǰ豸ʱץĵϴʵƽ̨γͼƬУڷ㷨ûм⵽ֵͣ2ڡdwAIDType;//¼͡Ϊ ͣ¼ʱЧ - BYTE byParkingID[16]; //ͣλ - DWORD dwAIDTypeEx; // ¼չ,οTRAFFIC_AID_TYPE_EX - BYTE byRes2[16]; // ֽ -}NET_DVR_AID_INFO, *LPNET_DVR_AID_INFO; - -// ͨ¼ -typedef struct tagNET_DVR_AID_ALARM -{ - DWORD dwSize; // ṹ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_AID_INFO struAIDInfo; // ͨ¼Ϣ - DWORD dwPicDataLen; // ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ - BYTE *pImage; // ָͼƬָ - BYTE byRes[40]; // ֽ -}NET_DVR_AID_ALARM, *LPNET_DVR_AID_ALARM; - -// нṹ -typedef struct tagNET_DVR_LANE_QUEUE -{ - NET_VCA_POINT struHead; //ͷ - NET_VCA_POINT struTail; //β - DWORD dwLength; //ʵʶг λΪ [0-500] -}NET_DVR_LANE_QUEUE, *LPNET_DVR_LANE_QUEUE; - -typedef enum tagTRAFFIC_DATA_VARY_TYPE -{ - NO_VARY, //ޱ仯 - VEHICLE_ENTER, //Ȧ - VEHICLE_LEAVE, //뿪Ȧ - UEUE_VARY //б仯 -}TRAFFIC_DATA_VARY_TYPE; - -typedef struct tagNET_DVR_LANE_PARAM -{ - BYTE byRuleName[NAME_LEN]; // - BYTE byRuleID; //ţΪýṹ±꣬0-7 - BYTE byVaryType; //ͨ仯 TRAFFIC_DATA_VARY_TYPE - BYTE byLaneType; //л - BYTE byRes1; - DWORD dwLaneVolume; // ͳжٳͨ - DWORD dwLaneVelocity; //ٶȣ - DWORD dwTimeHeadway; //ͷʱ࣬ - DWORD dwSpaceHeadway; //ͷ࣬ - float fSpaceOccupyRation; //ռʣٷֱȼ㣨ռ) - NET_DVR_LANE_QUEUE struLaneQueue; //г - NET_VCA_POINT struRuleLocation; //Ȧĵλ - BYTE byRes2[32]; -}NET_DVR_LANE_PARAM, *LPNET_DVR_LANE_PARAM; - - -typedef struct tagNET_DVR_TPS_INFO -{ - DWORD dwLanNum; // ͨijĿ - NET_DVR_LANE_PARAM struLaneParam[MAX_TPS_RULE]; -}NET_DVR_TPS_INFO, *LPNET_DVR_TPS_INFO; - -typedef struct tagNET_DVR_TPS_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_DVR_TPS_INFO struTPSInfo; //ͨ¼Ϣ - BYTE byRes1[32]; //ֽ -}NET_DVR_TPS_ALARM, *LPNET_DVR_TPS_ALARM; - -typedef enum tagTRAFFIC_DATA_VARY_TYPE_EX_ENUM -{ - ENUM_TRAFFIC_VARY_NO = 0x00, //ޱ仯 - ENUM_TRAFFIC_VARY_VEHICLE_ENTER = 0x01, //Ȧ - ENUM_TRAFFIC_VARY_VEHICLE_LEAVE = 0x02, //뿪Ȧ - ENUM_TRAFFIC_VARY_QUEUE = 0x04, //б仯 - ENUM_TRAFFIC_VARY_STATISTIC = 0x08, //ͳݱ仯ÿӱ仯һΰƽٶȣռ/ʱռʣͨ״̬ -}TRAFFIC_DATA_VARY_TYPE_EX_ENUM; - -typedef struct tagNET_DVR_LANE_PARAM_V41 -{ - BYTE byRuleName[NAME_LEN]; // - BYTE byRuleID; // ţΪýṹ±꣬0-7 - BYTE byLaneType; // л - BYTE byTrafficState; // Ľͨ״̬0-Ч1-ͨ2-ӵ3- - BYTE byLaneNo; // - DWORD dwVaryType; // ͨ仯Ͳ TRAFFIC_DATA_VARY_TYPE_EX_ENUMλ - DWORD dwTpsType; // ݱ仯ͱ־ʾǰϴͳƲУЩЧITS_TPS_TYPE,λ - DWORD dwLaneVolume; // ͳжٳͨ - DWORD dwLaneVelocity; // ٶȣ - DWORD dwTimeHeadway ; // ͷʱ࣬ - DWORD dwSpaceHeadway; // ͷ࣬ - float fSpaceOccupyRation; // ռʣٷֱȼ㣨ռ) - float fTimeOccupyRation; // ʱռʣٷֱȼ - DWORD dwLightVehicle; // Сͳ - DWORD dwMidVehicle; // ͳ - DWORD dwHeavyVehicle; // ͳ - NET_DVR_LANE_QUEUE struLaneQueue; // г - NET_VCA_POINT struRuleLocation; // λȦ - DWORD dwOversizeVehicle; // ͳ - BYTE byRes2[60]; // -}NET_DVR_LANE_PARAM_V41, *LPNET_DVR_LANE_PARAM_V41; - - -typedef struct tagNET_DVR_TPS_INFO_V41 -{ - DWORD dwLanNum; // ͨijĿ - NET_DVR_LANE_PARAM_V41 struLaneParam[MAX_TPS_RULE]; - DWORD dwSceneID;//ID - BYTE byRes[28]; // -}NET_DVR_TPS_INFO_V41, *LPNET_DVR_TPS_INFO_V41; - -// -typedef struct tagNET_DVR_FACEDETECT_RULECFG -{ - DWORD dwSize; // ṹС - BYTE byEnable; // Ƿ - BYTE byEventType; //¼ͣ 0-쳣; 1-;2-쳣&;4-&쳣;5-&; 6-&쳣&; 7- - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byUpFacePic; //Ƿϴͼ0-1- - BYTE byRuleName[NAME_LEN]; - NET_VCA_POLYGON struVcaPolygon; // - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE bySensitivity; // - WORD wDuration; // ʱֵ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byPicRecordEnable; /*2012-3-1ǷͼƬ洢, 0-, 1-*/ - BYTE byRes1[3]; //ֽ - /* - ¼ͣĿǰ¼Ͱλʾѡ1ֻ߼ֽϣ - 0x00: Ч - 0x01: 쳣 - 0x02: - 0x04: - 0x08: ī - 0x10: 绰 - */ - DWORD dwEventTypeEx; //dwEventTypeExֶΪ0ʱbyEventTypeֶЧdwEventTypeExbyEventTypeֶζֵʱdwEventTypeExֶΪ׼ϲdwEventTypeExֶκ󣬻ὫֵͬbyEventTypeС - BYTE byRes2[32]; //ֽ -}NET_DVR_FACEDETECT_RULECFG, *LPNET_DVR_FACEDETECT_RULECFG; - -typedef struct tagNET_DVR_FACE_PIPCFG -{ - BYTE byEnable; //Ƿл - BYTE byBackChannel; //ͨţͨ - BYTE byPosition; //λã0-,1-,2-,3- - BYTE byPIPDiv; //ϵ(:廭)0-1:4,1-1:9,2-1:16 - BYTE byRes[4]; -}NET_DVR_FACE_PIPCFG, *LPNET_DVR_FACE_PIPCFG; - -typedef struct tagNET_DVR_FACEDETECT_RULECFG_V41 -{ - DWORD dwSize; // ṹС - BYTE byEnable; // Ƿ - BYTE byEventType; //¼ͣ 0-쳣; 1-;2-쳣&;4-&쳣;5-&; 6-&쳣&; 7- - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byUpFacePic; //Ƿϴͼ0-1- - BYTE byRuleName[NAME_LEN]; - NET_VCA_POLYGON struVcaPolygon; // - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE bySensitivity; // - WORD wDuration; // ʱֵ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byPicRecordEnable; /*2012-10-22ǷͼƬ洢, 0-, 1-*/ - BYTE byRes1; - WORD wAlarmDelay; //2012-10-22ܱʱ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s - NET_DVR_FACE_PIPCFG struFacePIP; //2012-11-7л - WORD wRelSnapChan[MAX_REL_SNAPCHAN_NUM]; //ץͼͨͨʱͬʱϴͨץͼƬ0ʾֵΪͨ - BYTE byRes2[2]; //ֽ - /* - ¼ͣĿǰ¼Ͱλʾѡ1ֻ߼ֽϣ - 0x00: Ч - 0x01: 쳣 - 0x02: - 0x04: - 0x08: ī - 0x10: 绰 - */ - DWORD dwEventTypeEx; //dwEventTypeExֶΪ0ʱbyEventTypeֶЧdwEventTypeExbyEventTypeֶζֵʱdwEventTypeExֶΪ׼ϲdwEventTypeExֶκ󣬻ὫֵͬbyEventTypeС - BYTE byRes[16]; //ֽ -}NET_DVR_FACEDETECT_RULECFG_V41, *LPNET_DVR_FACEDETECT_RULECFG_V41; - -typedef struct tagNET_DVR_FACEDETECT_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byRuleName[NAME_LEN]; // - NET_VCA_TARGET_INFO struTargetInfo;//ĿϢ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸Ϣ - DWORD dwPicDataLen; //ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - BYTE byAlarmPicType; // 0-쳣ͼƬ 1- ͼƬ,2-, 3-ī, 4-绰 - BYTE byPanelChan; /*2012-3-1ͨͨ*/ - BYTE byRelAlarmPicNum; //ͨͼƬ - BYTE byRes1; - DWORD dwFacePicDataLen;//ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - DWORD dwAlarmID; //IDԱʶͨϱ0ʾЧ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes2[42]; // ֽ - BYTE *pFaceImage; //ָͼָ - BYTE *pImage; //ָͼƬָ -}NET_DVR_FACEDETECT_ALARM, *LPNET_DVR_FACEDETECT_ALARM; - -typedef struct tagNET_DVR_EVENT_PARAM_UNION -{ - DWORD uLen[3]; // СΪ12ֽ - DWORD dwHumanIn; //˽ӽ 0 - 1- - float fCrowdDensity; // Աۼֵ -}NET_DVR_EVENT_PARAM_UNION, *LPNET_DVR_EVENT_PARAM_UNION; - -// Ŀǰֻ¼Աۼ¼ʵʱϴ -typedef struct tagNET_DVR_EVENT_INFO -{ - BYTE byRuleID; // Rule ID - BYTE byRes[3]; // ֽ - BYTE byRuleName[NAME_LEN]; // - DWORD dwEventType; // VCA_EVENT_TYPE - NET_DVR_EVENT_PARAM_UNION uEventParam; // -}NET_DVR_EVENT_INFO, *LPNET_DVR_EVENT_INFO; - -typedef struct tagNET_DVR_EVENT_INFO_LIST -{ - BYTE byNum; // ¼ʵʱϢ - BYTE byRes1[3]; // ֽ - NET_DVR_EVENT_INFO struEventInfo[MAX_RULE_NUM]; // ¼ʵʱϢ -}NET_DVR_EVENT_INFO_LIST,*LPNET_DVR_EVENT_INFO_LIST; - -typedef struct tagNET_DVR_RULE_INFO_ALARM -{ - DWORD dwSize; // ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_EVENT_INFO_LIST struEventInfoList; //¼Ϣб - BYTE byRes2[40]; // ֽ -}NET_DVR_RULE_INFO_ALARM, *LPNET_DVR_RULE_INFO_ALARM; - -//ʱ -typedef struct tagNET_DVR_ONE_SCENE_TIME -{ - BYTE byActive; //0 -Ч,1CЧ - BYTE byRes1[3]; // - DWORD dwSceneID; //ID - NET_DVR_SCHEDTIME struEffectiveTime; //Чʱ - BYTE byRes2[16]; // -}NET_DVR_ONE_SCENE_TIME, *LPNET_DVR_ONE_SCENE_TIME ; - -//Чʱ -typedef struct tagNET_DVR_SCENE_TIME_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_SCENE_TIME struSceneTime[MAX_SCENE_TIMESEG_NUM]; //ʱ - BYTE byRes[64]; // -}NET_DVR_SCENE_TIME_CFG, *LPNET_DVR_SCENE_TIME_CFG; - - -//Ϣ -typedef struct tagNET_DVR_ONE_SCENE_CFG_ -{ - BYTE byEnable; //Ƿøó,0- 1- - BYTE byDirection; //ʾ 1-У2-У3-˫4-ɶ5-򱱣6-򶫣7-ɱϣ8- - BYTE byRes1[2]; // - DWORD dwSceneID; //ID(ֻ), 0 - ʾóЧ - BYTE bySceneName[NAME_LEN]; // - NET_DVR_PTZPOS struPtzPos; //ptz - DWORD dwTrackTime; //ʱ[5,300] 룬TFS(ͨȡ֤)ģʽЧ - BYTE byRes2[24]; // -}NET_DVR_ONE_SCENE_CFG, *LPNET_DVR_ONE_SCENE_CFG; - -//ýṹ -typedef struct tagNET_DVR_SCENE_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_SCENE_CFG struSceneCfg[MAX_ITS_SCENE_NUM]; //Ϣ - BYTE byRes[40]; // -}NET_DVR_SCENE_CFG,*LPNET_DVR_SCENE_CFG; - -//ೡ -typedef struct tagNET_DVR_SCENE_COND -{ - DWORD dwSize; //ṹС - LONG lChannel; //ͨ - DWORD dwSceneID; //ID, 0-ʾóЧ - BYTE byRes[48]; // -}NET_DVR_SCENE_COND, *LPNET_DVR_SCENE_COND; - -//ȡ֤ʽ -typedef struct tagNET_DVR_FORENSICS_MODE -{ - DWORD dwSize; //ṹС - BYTE byMode; // 0-ֶȡ֤ ,1-Զȡ֤2-Զ;̬ȡ֤ - BYTE byRes[23]; // -}NET_DVR_FORENSICS_MODE,*LPNET_DVR_FORENSICS_MODE; - -//Ϣ -typedef struct tagNET_DVR_SCENE_INFO_ -{ - DWORD dwSceneID; //ID, 0 - ʾóЧ - BYTE bySceneName[NAME_LEN]; // - BYTE byDirection; //ʾ 1-У2-У3-˫4-ɶ5-򱱣6-򶫣7-ɱϣ8- - BYTE byRes1[3]; // - NET_DVR_PTZPOS struPtzPos; //Ptz - BYTE byRes2[64] ; // -}NET_DVR_SCENE_INFO,*LPNET_DVR_SCENE_INFO; - -//ͨ¼(չ) -typedef struct tagNET_DVR_AID_ALARM_V41 -{ - DWORD dwSize; //ṹ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_DVR_AID_INFO struAIDInfo; //ͨ¼Ϣ - NET_DVR_SCENE_INFO struSceneInfo; //Ϣ - DWORD dwPicDataLen; //ͼƬ - BYTE *pImage; //ָͼƬָ - // 0-ֱϴ; 1-ƴ洢URL(3.7Ver)ԭȵͼƬݱURLݣͼƬȱURL - BYTE byDataType; - BYTE byLaneNo; // - WORD wMilliSecond; //ʱ - //ʾţ·ڱšڲţ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN/*48*/]; - BYTE byDeviceID[DEVICE_ID_LEN/*48*/];//豸 - DWORD dwXmlLen;//XMLϢ - char* pXmlBuf;// XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byTargetType;// Ŀͣ0~δ֪1~ˡ2~ֳ3~ֳ(˼з) - BYTE byRuleID;//ID,1-4,congestion¼˹ʱ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byBrokenNetHttp; // ־λ0-شݣ1-ش - BYTE byRes[3]; // ֽ - DWORD dwPlateSmallPicDataLen; //СͼͼƬ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pPlateSmallImage; // //ָСͼָ -#else - char* pPlateSmallImage; //ָСͼָ - BYTE byRes1[4]; -#endif -}NET_DVR_AID_ALARM_V41, *LPNET_DVR_AID_ALARM_V41; - -//ͨͳϢ(չ) -typedef struct tagNET_DVR_TPS_ALARM_V41 -{ - DWORD dwSize; // ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_TPS_INFO_V41 struTPSInfo; // ͨͳϢ - //ʾţ·ڱšڲţ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN/*48*/]; - BYTE byDeviceID[DEVICE_ID_LEN/*48*/];//豸 - DWORD dwStartTime; // ʼͳʱ - DWORD dwStopTime; // ͳʱ - BYTE byRes[24]; // -} NET_DVR_TPS_ALARM_V41,*LPNET_DVR_TPS_ALARM_V41; - -/*******************************ܽͨ¼ end*****************************************/ - -#define XXX_MAJOR_VERSION 2 - -/* Ӱ汾ţŻֲṹģڼ汾ʱ31 */ - -#define XXX_SUB_VERSION 3 - -/* 汾ţbug31 */ - -#define XXX_REVISION_VERSION 4 - -typedef struct tagNET_DVR_VCA_VERSION -{ - WORD wMajorVersion; // 汾 - WORD wMinorVersion; // ΰ汾 - WORD wRevisionNumber; // - WORD wBuildNumber; // - WORD wVersionYear; // 汾- - BYTE byVersionMonth; // 汾- - BYTE byVersionDay; // 汾- - BYTE byType;/*㷨ƣ0-1-,2-쳣Ϊ,3-,4-ץ,5ʶ 6-Ա,7-ѧվ, - 8-ͳ,9-ֿ,10-ȫñ,11-ݼ㷨,12-ͳ,13-(˽Ŀṹ㷨)HMS, - 14-ʦΪ, 15-Աܶȣ16-쳣17-ڼ⣬18-Ա19-ģץģ20-HMSģ,21-̬Ʒ, - 22-ǹ㷨,23-ŶӼ*/ - BYTE byRes[7]; // ֽ -}NET_DVR_VCA_VERSION, *LPNET_DVR_VCA_VERSION; - - -/****************************** end***********************************/ - -/******************************ʶ begin******************************************/ -typedef struct tagNET_DVR_PLATE_PARAM -{ - BYTE byPlateRecoMode; //ʶģʽ,ĬΪ1(Ƶģʽ) - BYTE byBelive; //Ŷֵ, ֻƵʶʽ, ݱӳ̶, 󴥷ʸ߾, ©ʸ߾, 80-90Χ - BYTE byRes[22]; //ֽ -}NET_DVR_PALTE_PARAM, *LPNET_DVR_PALTE_PARAM; - -typedef struct tagNET_DVR_PLATECFG -{ - DWORD dwSize; - DWORD dwEnable; /* ǷƵʶ 0 1 */ - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byRes1[3]; // ֽ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_DVR_PALTE_PARAM struPlateParam; // ʶ - NET_DVR_HANDLEEXCEPTION struHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[20]; // ֽ -}NET_DVR_PLATECFG, *LPNET_DVR_PLATECFG; - -// ʶӽṹ -typedef struct tagNET_DVR_PLATE_INFO -{ - BYTE byPlateType; // - BYTE byColor; //ɫ - BYTE byBright; // - BYTE byLicenseLen; //ַ - BYTE byEntireBelieve; //ƵŶȣ-100 - BYTE byRegion; // ֵ 0-1-ŷ(EU)2-(ER)3-ŷ&˹(EU&CIS) ,4-ж(ME),5-̫(APAC),6-(޺,AfandAM),0xff- - BYTE byCountry; // ֵöCOUNTRY_INDEX֧"COUNTRY_ALL = 0xff, //ALL ȫ" - BYTE byArea; //ʡݣڲö٣ EMI_AREA - BYTE byPlateSize; //Ƴߴ磬0~δ֪1~long, 2~short(жʹ) - /*ϢʶǷNET_DVR_VEHICLE_ADDINFOṹ壩,0-޸Ϣ, 1-иϢ*/ - BYTE byAddInfoFlag; - //ֶbyCountryϣչ֮ʹøֶδbyCountryʹwCRIndexֶ - //Ϊ˼ûֵֶ256򣩣byCountryֵΪ0xfdֶЧ - WORD wCRIndex ;///ֵο_CR_ INDEX_ - BYTE byRes[4]; // -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pAddInfoBuffer; -#else - /*Ϣָ,ָNET_DVR_VEHICLE_ADDINFOṹ*/ - BYTE* pAddInfoBuffer; - BYTE byRes2[4]; -#endif - char sPlateCategory[MAX_CATEGORY_LEN/*8*/];//ƸϢ, жгƺԱߵСϢ(Ŀǰֻж֧) - DWORD dwXmlLen; //XMLϢ - char* pXmlBuf; // XMLϢָ,Ϊ COMM_ITS_PLATE_RESULCOMM_PLATE_RESULT_V50ʱЧXMLӦEventNotificationAlert XML Block - NET_VCA_RECT struPlateRect; //λ - char sLicense[MAX_LICENSE_LEN]; //ƺ,עжСҲ복ƺ룬Сֺͳƺмÿոָ - BYTE byBelieve[MAX_LICENSE_LEN]; //ʶַŶȣ⵽"A12345", ŶΪ,20,30,40,50,60,70ʾ""ȷĿֻ%"A"ֵȷĿ% -}NET_DVR_PLATE_INFO, *LPNET_DVR_PLATE_INFO; - -typedef struct tagNET_DVR_PLATERECO_RESULE -{ - DWORD dwSize; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_PLATE_INFO struPlateInfo; - DWORD dwPicDataLen; //ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - DWORD dwRes[4]; //Ϊ0 - BYTE *pImage; //ָͼƬָ -}NET_DVR_PLATERECO_RESULE, *LPNET_DVR_PLATERECO_RESULE; - -/******************************ʶ end******************************************/ - -/*******************************Ƶۺƽ̨***********************************/ -typedef struct -{ - NET_DVR_TIME strLogTime; - DWORD dwMajorType; //Main type 1-alarm; 2-abnormal; 3-operation; 0xff-all - DWORD dwMinorType; //Hypo-Type 0-all; - BYTE sPanelUser[MAX_NAMELEN]; //user ID for local panel operation - BYTE sNetUser[MAX_NAMELEN];//user ID for network operation - NET_DVR_IPADDR struRemoteHostAddr;//remote host IP - DWORD dwParaType;//parameter type - DWORD dwChannel;//channel number - DWORD dwDiskNumber;//HD number - DWORD dwAlarmInPort;//alarm input port - DWORD dwAlarmOutPort;//alarm output port - DWORD dwInfoLen; - BYTE byDevSequence;//λ - BYTE byMacAddr[MACADDR_LEN];//MACַ,6 - BYTE sSerialNumber[SERIALNO_LEN];//кţ48 - char sInfo[LOG_INFO_LEN - SERIALNO_LEN - MACADDR_LEN - 1 ]; -}NET_DVR_LOG_MATRIX, *LPNET_DVR_LOG_MATRIX; - -//2009-11-21 Ƶۺƽ̨ -typedef struct tagVEDIOPLATLOG -{ - BYTE bySearchCondition;//0-λ1-к2-MACַ - //λţ0-79ӦϵͳIJλţ - //0xffʾе־78K6467 - //0xfeʾ78Kϵ־0xfd־0xfc־ - BYTE byDevSequence; - BYTE sSerialNumber[SERIALNO_LEN];//кţ48 - BYTE byMacAddr[MACADDR_LEN];//MACַ,6 -} NET_DVR_VEDIOPLATLOG, *LPNET_DVR_VEDIOPLATLOG; - -typedef struct tagNET_DVR_CODESYSTEMABILITY -{ - DWORD dwSize; - DWORD dwAbilityVersion;//汾ţ16λʾ汾16λʾΰ汾 - DWORD dwSupportMaxVideoFrameRate;//λ(K) - /*λ: - 0:ʱ¼ - 1:ʱ|¼¼ - 2:ƶ¼ - 3:翪¼ - 4:ƶ|翪¼ - 5:ƶ&翪¼ - 6:ܽ¼ - 7:ⴥ¼ - 8:ʶ𴥷¼ - 9:ֶ¼*/ - DWORD dwSupportRecordType; - BYTE bySupportLinkMode;//λ:0λ:ʾ1λ:ʾ - BYTE bySupportStringRow;//ַ֧ - BYTE bySupportHideNum;//֧Ƶڵ - BYTE byRes1; - /*0-DCIF1-CIF2-QCIF3-4CIF4-2CIF6-QVGA(320*240), 16-VGA17-UXGA18-SVGA19-HD720p20-XVGA21-HD900p22-SXGAp27-HD1080i28-2560*192029-1600*30430-2048*153631-2448*204832-2448*120033-2448*800 34-XGA1024x76835-SXGA1280x1024*/ - BYTE byMainStreamSupportResolution[8];//ֵ֧ķֱʣλ - BYTE bySubStreamSupportResolution[8];//ֵ֧ķֱʣλ - BYTE byEventStreamSupportResolution[8];//¼ֵ֧ķֱʣλ - BYTE byNotSupportPreview;//Ƿ֧Ԥ,1-֧֣0-֧ - BYTE byNotSupportStorage;//Ƿִ֧洢,1-֧֣0-֧ - BYTE byRes2[98];// -}NET_DVR_CODESYSTEMABILITY, *LPNET_DVR_CODESYSTEMABILITY; - -/********************************end*******************************************/ - -/******************************ץĻ*******************************************/ -//IO -typedef struct tagNET_DVR_IO_INCFG -{ - DWORD dwSize; - BYTE byIoInStatus;//IO״̬0-½أ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byRes[3];//ֽ -}NET_DVR_IO_INCFG, *LPNET_DVR_IO_INCFG; - -//IO -typedef struct tagNET_DVR_IO_OUTCFG -{ - DWORD dwSize; - BYTE byDefaultStatus;//IOĬ״̬0-͵ƽ1-ߵƽ - BYTE byIoOutStatus;//IOЧʱ״̬0-͵ƽ1-ߵƽ2- - WORD wAheadTime;//IOǰʱ䣬λus - DWORD dwTimePluse;//ʱ䣬λus - DWORD dwTimeDelay;//IOЧʱ䣬λus - BYTE byFreqMulti; //ƵֵΧ[1,15] - BYTE byDutyRate; //ռձȣ[0,40%] - BYTE byRes[2]; -}NET_DVR_IO_OUTCFG, *LPNET_DVR_IO_OUTCFG; - -// -typedef struct tagNET_DVR_FLASH_OUTCFG -{ - DWORD dwSize; - BYTE byMode;//˸ģʽ0-1-2-3- - BYTE byRelatedIoIn;//ƹIOţʱ˲Ч - BYTE byRecognizedLane; /*IOţλʾbit0ʾIO1Ƿ0-1-*/ - BYTE byDetectBrightness;/*Զʹ0-⣻1-*/ - BYTE byBrightnessThreld;/*ʹֵΧ[0,100],ֵ*/ - BYTE byStartHour; //ʼʱ-Сʱ,ȡֵΧ0-23 - BYTE byStartMinute; //ʼʱ-,ȡֵΧ0-59 - BYTE byEndHour; //ʱ-Сʱ,ȡֵΧ0-23 - BYTE byEndMinute; //ʱ-,ȡֵΧ0-59 - BYTE byFlashLightEnable; //ʱʹ:0-;1- - BYTE byRes[2]; -}NET_DVR_FLASH_OUTCFG, *LPNET_DVR_FLASH_OUTCFG; - -//̵ƹܣ2IOһ飩 -typedef struct tagNET_DVR_LIGHTSNAPCFG -{ - DWORD dwSize; - BYTE byLightIoIn;//̵ƵIO - BYTE byTrigIoIn;//IO - BYTE byRelatedDriveWay;//IOij - BYTE byTrafficLight; //0-ߵƽƣ͵ƽ̵ƣ1-ߵƽ̵ƣ͵ƽ - BYTE bySnapTimes1; //ץĴ10-ץģ0-Ĵ5 - BYTE bySnapTimes2; //̵ץĴ20-ץģ0-Ĵ5 - BYTE byRes1[2]; - WORD wIntervalTime1[MAX_INTERVAL_NUM];//ļʱ䣬ms - WORD wIntervalTime2[MAX_INTERVAL_NUM];//̵ļʱ䣬ms - BYTE byRecord;//¼־0-¼1-¼ - BYTE bySessionTimeout;//¼ʱʱ䣨룩 - BYTE byPreRecordTime;//¼ƬԤ¼ʱ() - BYTE byVideoDelay;//¼Ƭʱʱ䣨룩 - BYTE byRes2[32];//ֽ -}NET_DVR_LIGHTSNAPCFG, *LPNET_DVR_LIGHTSNAPCFG; - -//ٹ(2IOһ飩 -typedef struct tagNET_DVR_MEASURESPEEDCFG -{ - DWORD dwSize; - BYTE byTrigIo1; //ٵ1Ȧ - BYTE byTrigIo2; //ٵ2Ȧ - BYTE byRelatedDriveWay;//IOij - BYTE byTestSpeedTimeOut;//ģʽʱʱ䣬λs - DWORD dwDistance;//Ȧ,cm - BYTE byCapSpeed;//ģʽٶȣλkm/h - BYTE bySpeedLimit;//ֵλkm/h - BYTE bySnapTimes1; //Ȧ1ץĴ0-ץģ0-Ĵ5 - BYTE bySnapTimes2; //Ȧ2ץĴ0-ץģ0-Ĵ5 - WORD wIntervalTime1[MAX_INTERVAL_NUM];//Ȧ1ļʱ䣬ms - WORD wIntervalTime2[MAX_INTERVAL_NUM];//Ȧ2ļʱ䣬ms - BYTE byRes[32];//ֽ -}NET_DVR_MEASURESPEEDCFG, *LPNET_DVR_MEASURESPEEDCFG; - - -// -typedef struct tagNET_DVR_CLOUDSTORAGE_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes1[64]; -}NET_DVR_CLOUDSTORAGE_COND,*LPNET_DVR_CLOUDSTORAGE_COND; - -//ýṹ -typedef struct tagNET_DVR_POOLPARAM -{ - DWORD dwPoolID;// ƴ洢ڵ - BYTE byRes[4]; -}NET_DVR_POOLPARAM,*LPNET_DVR_POOLPARAM; - -typedef struct tagNET_DVR_CLOUDSTORAGE_CFG -{ - DWORD dwSize; - BYTE byEnable;//0-1- - BYTE byRes[3]; - NET_DVR_IPADDR struIP; - WORD wPort;//ݶ˿ - BYTE byRes1[2]; - char szUser[CLOUD_NAME_LEN/*48*/]; //û - char szPassword[CLOUD_PASSWD_LEN/*48*/]; // - NET_DVR_POOLPARAM struPoolInfo[16];//0ʾ¼أ1ʾΥ¼أ2ʾݳأIPC/D - BYTE byRes2[128]; -}NET_DVR_CLOUDSTORAGE_CFG,*LPNET_DVR_CLOUDSTORAGE_CFG; - -typedef struct tagNET_DVR_PARKLAMP_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byParkingIndex; //Գλţ14 - BYTE byRes[15]; // -}NET_DVR_PARKLAMP_COND, *LPNET_DVR_PARKLAMP_COND; - -typedef struct tagNET_DVR_PARKLAMP_INFOCFG -{ - DWORD dwSize; - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - char sParkingNo[MAX_LICENSE_LEN/*16*/];//λ(ʵʵijλ) - BYTE byLampFlicker;//0~˸ 1 ˸ (λָʾ˸) - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (λָʾɫ) - BYTE byStatus; //λ״̬ 0-޳1-г - BYTE byColorDepth; //ɫdz0-ɫ1-dzɫ,0xff-δ֪ - BYTE byColor;//ɫ0-ɫ1-ɫ2-ɫ3-ɫ4-ɫ5-ɫ6-7-ɫ8-ɫ9-ɫ10-ɫ11-ɫ12-ɫ0xff-δгɫʶ - //Ʒʶ οö VLR_VEHICLE_CLASS - BYTE byVehicleLogoRecog; - BYTE byRes[250];// -}NET_DVR_PARKLAMP_INFOCFG, *LPNET_DVR_PARKLAMP_INFOCFG; - -//Ƶ -typedef struct tagNET_DVR_VIDEOEFFECT -{ - BYTE byBrightnessLevel; /*0-100*/ - BYTE byContrastLevel; /*0-100*/ - BYTE bySharpnessLevel; /*0-100*/ - BYTE bySaturationLevel; /*0-100*/ - BYTE byHueLevel; /*0-100,*/ - BYTE byEnableFunc; //ʹܣλʾbit0-SMART IR()bit1-ն,bit2-ǿʹܣ0-1- - BYTE byLightInhibitLevel; //ǿƵȼ[1-3]ʾȼ - BYTE byGrayLevel; //Ҷֵ0-[0-255]1-[16-235] -}NET_DVR_VIDEOEFFECT, *LPNET_DVR_VIDEOEFFECT; - -// -typedef struct tagNET_DVR_GAIN -{ - BYTE byGainLevel; /*棺0-100*/ - BYTE byGainUserSet; /*ûԶ棻0-100ץĻCCDģʽµץ*/ - BYTE byRes[2]; - DWORD dwMaxGainValue;/*ֵλdB*/ -}NET_DVR_GAIN, *LPNET_DVR_GAIN; - -//ƽ -typedef struct tagNET_DVR_WHITEBALANCE -{ -BYTE byWhiteBalanceMode; /*0-ֶƽ⣨MWB,1-Զƽ1AWB1,2-Զƽ2 (AWB2),3-ԶƸΪƽ(Locked WB) - 4-(Indoor)5-(Outdoor)6-չ(Fluorescent Lamp)7-Ƶ(Sodium Lamp) - 8-Զ(Auto-Track)9-һΰƽ(One Push)10-Զ(Auto-Outdoor) - 11-ƵԶ (Auto-Sodiumlight)12-ˮ(Mercury Lamp)13-Զƽ(Auto) -14-׳ (IncandescentLamp)15-ů(Warm Light Lamp)16-Ȼ(Natural Light) */ -BYTE byWhiteBalanceModeRGain; /*ֶƽʱЧֶƽ R*/ -BYTE byWhiteBalanceModeBGain; /*ֶƽʱЧֶƽ B*/ -BYTE byRes[5]; -}NET_DVR_WHITEBALANCE, *LPNET_DVR_WHITEBALANCE; - -//ع -typedef struct tagNET_DVR_EXPOSURE -{ - BYTE byExposureMode; /*0 ֶع 1Զع*/ - BYTE byAutoApertureLevel; /* ԶȦ, 0-10 */ - BYTE byRes[2]; - DWORD dwVideoExposureSet; /* ԶƵعʱ䣨λus*//*ע:ԶعʱֵΪعֵ 20-1s(1000000us)*/ - DWORD dwExposureUserSet; /* Զعʱ,ץĻӦʱCCDģʽʱץĿٶ*/ - DWORD dwRes; -} NET_DVR_EXPOSURE, *LPNET_DVR_EXPOSURE; - -//̬ -typedef struct tagNET_DVR_WDR -{ - BYTE byWDREnabled; /*̬0 dsibale 1 enable 2 auto*/ - BYTE byWDRLevel1; /*0-F*/ - BYTE byWDRLevel2; /*0-F*/ - BYTE byWDRContrastLevel; /*0-100*/ - BYTE byRes[16]; -} NET_DVR_WDR, *LPNET_DVR_WDR; - -typedef struct tagNET_DVR_WDR_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_WDR struWDR; //Ϣ -}NET_DVR_WDR_CFG, *LPNET_DVR_WDR_CFG; - - -//ҹת -typedef struct tagNET_DVR_DAYNIGHT -{ - BYTE byDayNightFilterType; /*ҹл0-죬1-ҹ2-Զ3-ʱ4-봥, 5-Զģʽ2޹,6-ڹ⣬7-ڹԶ8-ڹⶨʱ*/ - BYTE bySwitchScheduleEnabled; /*0 dsibale 1 enable,()*/ - //ʱģʽ - BYTE byBeginTime; /*ʼʱ䣨Сʱ0-23*/ - BYTE byEndTime; /*ʱ䣨Сʱ0-23*/ - //ģʽ2 - BYTE byDayToNightFilterLevel; //0-7 - BYTE byNightToDayFilterLevel; //0-7 - BYTE byDayNightFilterTime;//(60) - //ʱģʽ - BYTE byBeginTimeMin; //ʼʱ䣨֣0-59 - BYTE byBeginTimeSec; //ʼʱ䣨룩0-59 - BYTE byEndTimeMin; //ʱ䣨֣0-59 - BYTE byEndTimeSec; //ʱ䣨룩0-59 - //봥ģʽ - BYTE byAlarmTrigState; //봥״̬0-죬1-ҹ -} NET_DVR_DAYNIGHT, *LPNET_DVR_DAYNIGHT; - -//GammaУ -typedef struct tagNET_DVR_GAMMACORRECT -{ - BYTE byGammaCorrectionEnabled; /*0 dsibale 1 enable*/ - BYTE byGammaCorrectionLevel; /*0-100*/ - BYTE byRes[6]; -} NET_DVR_GAMMACORRECT, *LPNET_DVR_GAMMACORRECT; - -//ⲹ -typedef struct tagNET_DVR_BACKLIGHT -{ - BYTE byBacklightMode; /*ⲹ:0 off 1 UP2 DOWN3 LEFT4 RIGHT5MIDDLE6Զ壬10-11-Զ12-򱳹ⲹ*/ - BYTE byBacklightLevel; /*0x0-0xF*/ - BYTE byRes1[2]; - DWORD dwPositionX1; //X1 - DWORD dwPositionY1; //Y1 - DWORD dwPositionX2; //X2 - DWORD dwPositionY2; //Y2 - BYTE byRes2[4]; -} NET_DVR_BACKLIGHT, *LPNET_DVR_BACKLIGHT; - -//ֽ빦 -typedef struct tagNET_DVR_NOISEREMOVE -{ - BYTE byDigitalNoiseRemoveEnable; /*0-ã1-ͨģʽֽ룬2-רģʽֽ*/ - BYTE byDigitalNoiseRemoveLevel; /*ͨģʽֽ뼶0x0-0xF*/ - BYTE bySpectralLevel; /*רģʽ¿ǿȣ0-100*/ - BYTE byTemporalLevel; /*רģʽʱǿȣ0-100*/ - BYTE byDigitalNoiseRemove2DEnable; /* ץ֡2D룬0-ã1- */ - BYTE byDigitalNoiseRemove2DLevel; /* ץ֡2D뼶0-100 */ - BYTE byRes[2]; -} NET_DVR_NOISEREMOVE, *LPNET_DVR_NOISEREMOVE; - -//CMOSģʽǰ˾ͷ -typedef struct tagNET_DVR_CMOSMODCFG -{ - BYTE byCaptureMod; //ץģʽ0-ץģʽ11-ץģʽ2 - BYTE byBrightnessGate;//ֵ - BYTE byCaptureGain1; //ץ1,0-100 - BYTE byCaptureGain2; //ץ2,0-100 - DWORD dwCaptureShutterSpeed1;//ץĿٶ1 - DWORD dwCaptureShutterSpeed2;//ץĿٶ2 - BYTE byRes[4]; -}NET_DVR_CMOSMODECFG, *LPNET_DVR_CMOSMODECFG; - -//ǰ˲ -typedef struct tagNET_DVR_CAMERAPARAMCFG -{ - DWORD dwSize; - NET_DVR_VIDEOEFFECT struVideoEffect;/*ȡԱȶȡͶȡȡɫ*/ - NET_DVR_GAIN struGain;/*Զ*/ - NET_DVR_WHITEBALANCE struWhiteBalance;/*ƽ*/ - NET_DVR_EXPOSURE struExposure; /*ع*/ - NET_DVR_GAMMACORRECT struGammaCorrect;/*GammaУ*/ - NET_DVR_WDR struWdr;/*̬*/ - NET_DVR_DAYNIGHT struDayNight;/*ҹת*/ - NET_DVR_BACKLIGHT struBackLight;/*ⲹ*/ - NET_DVR_NOISEREMOVE struNoiseRemove;/*ֽ*/ - BYTE byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/ - /* - 0-ԶȦ, - 1-ֶȦ, - 2-P-Iris1, - 3-Union 3-9mm F1.6-2.7 (T5280-PQ1) [IPC5.1.7] - 4-Union 2.8-12mm F1.6-2.7 (T5289-PQ1) [IPC5.1.7] - 5-private 3.8-16mm F1.5HV3816P-8MPIR) - 6-private 11-40mm F1.7 (HV1140P-8MPIR) - 7-private 2.7-12mm F1.2TV2712P-MPIR - 8- MZ5721D-12MPIR - 9- MZ1555D-12MPIR - 10- MZ5721D-12MPIR(RS485) - 11- MZ1555D-12MPIR(RS485) - */ - BYTE byIrisMode; - BYTE byMirror ; /* 0 off1- leftright2- updown3-center */ - BYTE byDigitalZoom; /*:0 dsibale 1 enable*/ - BYTE byDeadPixelDetect; /*,0 dsibale 1 enable*/ - BYTE byBlackPwl;/*ڵƽ , 0-255*/ - BYTE byEptzGate;// EPTZر:0-ǫ̃1-ǫ̃ - BYTE byLocalOutputGate;//ر0-ر1-BNC 2-HDMIر 11-12-ü13-ü - //20-HDMI_720P50 - //21-HDMI_720P60 - //22-HDMI_1080I60 - //23-HDMI_1080I50 - //24-HDMI_1080P24 - //25-HDMI_1080P25 - //26-HDMI_1080P30 - //27-HDMI_1080P50 - //28-HDMI_1080P60 - //40-SDI_720P50, - //41-SDI_720P60, - //42-SDI_1080I50, - //43-SDI_1080I60, - //44-SDI_1080P24, - //45-SDI_1080P25, - //46-SDI_1080P30, - //47-SDI_1080P50, - //48-SDI_1080P60, - //49-SDI_720P25 - //50-SDI_720P30 - //51-SDI_1080I25 - //52-SDI_1080I30 - //60- YPBPR_720P50 - //61-YPBPR_720P60 - //62-YPBPR_1080I50 - //63-YPBPR_1080I60 - //64-YPBPR_1080P24 - //65-YPBPR_1080P25 - //66-YPBPR_1080P30 - //67-YPBPR_1080P50 - //68-YPBPR_1080P60 - //69-YPBPR_720P25 - //70-YPBPR_720P30 - //71- HDMI_1080Pûо֡ʣ֡豸captureModeһ£ - //72- HDMI_720Pûо֡ʣ֡豸captureModeһ£ - //73- HDMI_2160Pûо֡ʣ֡豸captureModeһ£ - BYTE byCoderOutputMode;//fpgaģʽ0ֱͨ3ذ - BYTE byLineCoding; //Ƿб룺0-1- - BYTE byDimmerMode; //ģʽ0-Զ1-Զ - BYTE byPaletteMode; //ɫ壺0-ȣ1-ȣ2-ɫ28-ɫ8 - BYTE byEnhancedMode; //ǿʽܱ̽ߣ0-ǿ1-12-23-34-4 - BYTE byDynamicContrastEN; //̬Աȶǿ 0-1 - BYTE byDynamicContrast; //̬Աȶ 0-100 - BYTE byJPEGQuality; //JPEGͼ 0-100 - NET_DVR_CMOSMODECFG struCmosModeCfg;//CMOSģʽǰ˲ãͷģʽȡ - BYTE byFilterSwitch; //˲أ0-ã1- - BYTE byFocusSpeed; //ͷٶȣ0-10 - BYTE byAutoCompensationInterval; //ʱԶŲ1-120λ - BYTE bySceneMode; //ģʽ0-⣬1-ڣ2-Ĭϣ3- -}NET_DVR_CAMERAPARAMCFG, *LPNET_DVR_CAMERAPARAMCFG; - -//͸ -typedef struct tagNET_DVR_DEFOGCFG -{ - BYTE byMode; //ģʽ0-ã1-Զģʽ2-ģʽ - BYTE byLevel; //ȼ0-100 - BYTE byRes[6]; -}NET_DVR_DEFOGCFG, *LPNET_DVR_DEFOGCFG; - -//ӷ -typedef struct tagNET_DVR_ELECTRONICSTABILIZATION -{ - BYTE byEnable;//ʹ 0- ã1- - BYTE byLevel; //ȼ0-100 - BYTE byRes[6]; -}NET_DVR_ELECTRONICSTABILIZATION, *LPNET_DVR_ELECTRONICSTABILIZATION; - -//ģʽ -typedef struct tagNET_DVR_CORRIDOR_MODE_CCD -{ - BYTE byEnableCorridorMode; //Ƿģʽ 0ã 1 - BYTE byRes[11]; -}NET_DVR_CORRIDOR_MODE_CCD, *LPNET_DVR_CORRIDOR_MODE_CCD; - -// SMART IR()ò -typedef struct tagNET_DVR_SMARTIR_PARAM -{ - BYTE byMode;//0ֶ1Զ - BYTE byIRDistance;//ȼ(ȼ)level:1~100 Ĭ:50ֶģʽӣ - BYTE byShortIRDistance;// ƾȼ(1~100) - BYTE byLongIRDistance;// Զƾȼ(1~100) -}NET_DVR_SMARTIR_PARAM,*LPNET_DVR_SMARTIR_PARAM; - -//byIrisMode ΪP-Iris1ʱЧúȦСȼģʽ -typedef struct tagNET_DVR_PIRIS_PARAM -{ - BYTE byMode;//0-Զ1-ֶ - BYTE byPIrisAperture;//ȦСȼ(ȼ,ȦС)level:1~100 Ĭ:50ֶģʽӣ - BYTE byRes[6]; -}NET_DVR_PIRIS_PARAM,*LPNET_DVR_PIRIS_PARAM; - - -// 2014-02-25 -typedef struct tagNET_DVR_LASER_PARAM_CFG -{ - //Length = 16 - BYTE byControlMode; //ģʽ 0-Ч1-Զ2-ֶ ĬԶ - BYTE bySensitivity; // 0-100 Ĭ50 - BYTE byTriggerMode; //ƴģʽ 0-Ч1-о2- Ĭϻо - BYTE byBrightness; //ģʽΪֶģʽЧ 0-255 Ĭ100 - BYTE byAngle; //ƽǶ 0-ЧΧ1-36 Ĭ12䷶ΧΪһԲȦڼǶǵԲİ뾶ĴС - BYTE byLimitBrightness; //ģʽΪԶģʽЧ 0~100 2014-01-26 - BYTE byEnabled ; //ֶƼʹ 0-رգ1- - BYTE byIllumination; //ǿ0~100 - BYTE byLightAngle; //Ƕ 0~100 - BYTE byRes[7]; // -} NET_DVR_LASER_PARAM_CFG, *LPNET_DVR_LASER_PARAM_CFG; - -typedef struct tagNET_DVR_FFC_PARAM -{ - //1-Schedule Mode,2-Temperature Mode, 3-Off - BYTE byMode; - //ʱ:ʾλӣѡ10,20,30,40,50,60,120,180,240 - BYTE byRes1; - WORD wCompensateTime; //ʱģʽЧ - BYTE byRes2[4]; -}NET_DVR_FFC_PARAM,*LPNET_DVR_FFC_PARAM; - -typedef struct tagNET_DVR_DDE_PARAM //sensor -{ - BYTE byMode;//1-Off,2-Normal Mode,3-Expert Mode - BYTE byNormalLevel;//ͨģʽȼΧ[1,100]ͨģʽЧ - BYTE byExpertLevel;//רģʽȼΧ[1,100]רģʽЧ - BYTE byRes[5]; -}NET_DVR_DDE_PARAM,*LPNET_DVR_DDE_PARAM; - -typedef struct tagNET_DVR_AGC_PARAM -{ - BYTE bySceneType;//1-Normal Sence,2-Highlight Sence,3-Manual Sence - BYTE byLightLevel;//ȵȼ[1,100]ֶģʽЧ - BYTE byGainLevel; //ȼ[1,100]ֶģʽЧ - BYTE byRes[5]; -}NET_DVR_AGC_PARAM,*LPNET_DVR_AGC_PARAM; - -//ץĻCCD 64ֽ -typedef struct tagNET_DVR_SNAP_CAMERAPARAMCFG -{ - BYTE byWDRMode; // ̬ģʽ;0~رգ1~ֿ̬ 2~̬ - BYTE byWDRType; // ̬лģʽ; 0~ǿã1~ʱã2~ - BYTE byWDRLevel; // ̬ȼ0~6Ӧ1-7Ĭ23 - BYTE byRes1; - NET_DVR_TIME_EX struStartTime; //ʼ̬ʱ - NET_DVR_TIME_EX struEndTime; //̬ʱ - BYTE byDayNightBrightness; //ҹתֵ0-100Ĭ50 - //ɫǿ - BYTE byMCEEnabled;//ɫǿʹܣtruefalseر - BYTE byMCELevel;//ɫǿǿȣ0~100Ĭֵ50 - //ԶԱȶ - BYTE byAutoContrastEnabled;//ԶԱȶʹܣtruefalseر - BYTE byAutoContrastLevel;//ԶԱȵȼ0-100,Ĭ50 - //ϸǿ - BYTE byLSEDetailEnabled;//ϸǿʹܣtruefalseر - BYTE byLSEDetailLevel;//ϸǿȼ0-100,Ĭ50 - // License Plate Definition Enhancementǿ - BYTE byLPDEEnabled;//ǿʹܣtruefalseر - BYTE byLPDELevel;//ǿȼ0-100,Ĭ50 - //Աȶǿ - BYTE byLseEnabled; //Աȶǿʹܣtruefalseر - BYTE byLseLevel; //Աȶǿȼ0-100,Ĭ0 - BYTE byLSEHaloLevel;//ƵȼΧ 0-100,Ĭ0 - BYTE byLseType; //Աȶǿлģʽ; 0~ǿã1~ʱã2~ãֶοͬʱbyLseLevelbyLSEHaloLevel - BYTE byRes2[3]; - NET_DVR_TIME_EX struLSEStartTime; //ʼԱȶǿʱ䣨byLseTypeΪ1ʱЧ - NET_DVR_TIME_EX struLSEEndTime; //Աȶǿʱ䣨byLseTypeΪ1ʱЧ - BYTE byLightLevel;//Ϊȵȼ0-100,Ĭ0byLseTypeΪ2ʱЧ - //ƶԱȶ - BYTE byPlateContrastLevel;//ƶԱȶȵȼ0~100Ĭ0 - //ƱͶ - BYTE byPlateSaturationLevel;//ƱͶȵȼ0~100Ĭ0 - BYTE byRes[9]; -} NET_DVR_SNAP_CAMERAPARAMCFG,*LPNET_DVR_SNAP_CAMERAPARAMCFG; - -//ѧ͸ -typedef struct tagNET_DVR_OPTICAL_DEHAZE -{ - BYTE byEnable; //0~ùѧ͸1~ùѧ͸ - BYTE byRes[7]; -} NET_DVR_OPTICAL_DEHAZE, *LPNET_DVR_OPTICAL_DEHAZE; - -//AGCãAGCģʽΪЧʱNET_DVR_AGC_PARAMòΪ׼AGCģʽΪԶֶʱNET_DVR_AGC_PARAMòЧ -typedef struct tagNET_DVR_THERMOMETRY_AGC -{ - BYTE byMode;//AGCģʽ0~Ч1~Զ2~ֶ - BYTE byRes1[3]; - int iHighTemperature;//¶ȣΧΪ-273~9999϶ȣ1~ֶģʽЧ - int iLowTemperature;//¶ȣΧΪ-273~9999϶ȣ1~ֶģʽЧ - BYTE byRes[8]; -}NET_DVR_THERMOMETRY_AGC, *LPNET_DVR_THERMOMETRY_AGC; - -//ǰ˲ -typedef struct tagNET_DVR_CAMERAPARAMCFG_EX -{ - DWORD dwSize; - NET_DVR_VIDEOEFFECT struVideoEffect;/*ȡԱȶȡͶȡȡɫ*/ - NET_DVR_GAIN struGain;/*Զ*/ - NET_DVR_WHITEBALANCE struWhiteBalance;/*ƽ*/ - NET_DVR_EXPOSURE struExposure; /*ع*/ - NET_DVR_GAMMACORRECT struGammaCorrect;/*GammaУ*/ - NET_DVR_WDR struWdr;/*̬*/ - NET_DVR_DAYNIGHT struDayNight;/*ҹת*/ - NET_DVR_BACKLIGHT struBackLight;/*ⲹ*/ - NET_DVR_NOISEREMOVE struNoiseRemove;/*ֽ*/ - BYTE byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/ - /* - 0-ԶȦ, - 1-ֶȦ, - 2-P-Iris1, - 3-Union 3-9mm F1.6-2.7 (T5280-PQ1) [IPC5.1.7] - 4-Union 2.8-12mm F1.6-2.7 (T5289-PQ1) [IPC5.1.7] - 5-private 3.8-16mm F1.5HV3816P-8MPIR) - 6-private 11-40mm F1.7 (HV1140P-8MPIR) - 7-private 2.7-12mm F1.2TV2712P-MPIR - 8- MZ5721D-12MPIR - 9- MZ1555D-12MPIR - 10- MZ5721D-12MPIR(RS485) - 11- MZ1555D-12MPIR(RS485) - */ - BYTE byIrisMode; - BYTE byMirror ; /* 0 off1- leftright2- updown3-center 4-Auto*/ - BYTE byDigitalZoom; /*:0 dsibale 1 enable*/ - BYTE byDeadPixelDetect; /*,0 dsibale 1 enable*/ - BYTE byBlackPwl;/*ڵƽ , 0-255*/ - BYTE byEptzGate;// EPTZر:0-ǫ̃1-ǫ̃ - BYTE byLocalOutputGate;//ر0-ر1-BNC 2-HDMIر - //20-HDMI_720P50 - //21-HDMI_720P60 - //22-HDMI_1080I60 - //23-HDMI_1080I50 - //24-HDMI_1080P24 - //25-HDMI_1080P25 - //26-HDMI_1080P30 - //27-HDMI_1080P50 - //28-HDMI_1080P60 - BYTE byCoderOutputMode;//fpgaģʽ0ֱͨ3ذ - BYTE byLineCoding; //Ƿб룺0-1- - BYTE byDimmerMode; //ģʽ0-Զ1-Զ - BYTE byPaletteMode; //ɫ壺0-ȣ1-ȣ2-ɫ28-ɫ8, 9-ں1,10-ʺ,11-ں2,12-1,13-2,14-ɫ,15-ɫ1,16-ɫ2,17-,18-,19-,20-,21-22-ɫ3 - BYTE byEnhancedMode; //ǿʽܱ̽ߣ0-ǿ1-12-23-34-4 - BYTE byDynamicContrastEN; //̬Աȶǿ 0-1 - BYTE byDynamicContrast; //̬Աȶ 0-100 - BYTE byJPEGQuality; //JPEGͼ 0-100 - NET_DVR_CMOSMODECFG struCmosModeCfg;//CMOSģʽǰ˲ãͷģʽȡ - BYTE byFilterSwitch; //˲أ0-ã1- - BYTE byFocusSpeed; //ͷٶȣ0-10 - BYTE byAutoCompensationInterval; //ʱԶŲ1-120λ - BYTE bySceneMode; //ģʽ0-⣬1-ڣ2-Ĭϣ3- - NET_DVR_DEFOGCFG struDefogCfg;//͸ - NET_DVR_ELECTRONICSTABILIZATION struElectronicStabilization;//ӷ - NET_DVR_CORRIDOR_MODE_CCD struCorridorMode;//ģʽ - BYTE byExposureSegmentEnable; //0~,1~ عʱʽ״عϵʱعʱ䵽мֵȻ浽мֵع⵽ֵ浽ֵ - BYTE byBrightCompensate;//ǿ [0~100] - /* - 0-رա1-640*480@25fps2-640*480@30ps3-704*576@25fps4-704*480@30fps5-1280*720@25fps6-1280*720@30fps - 7-1280*720@50fps8-1280*720@60fps9-1280*960@15fps10-1280*960@25fps11-1280*960@30fps - 12-1280*1024@25fps13--1280*1024@30fps14-1600*900@15fps15-1600*1200@15fps16-1920*1080@15fps - 17-1920*1080@25fps18-1920*1080@30fps19-1920*1080@50fps20-1920*1080@60fps21-2048*1536@15fps22-2048*1536@20fps - 23-2048*1536@24fps24-2048*1536@25fps25-2048*1536@30fps26-2560*2048@25fps27-2560*2048@30fps - 28-2560*1920@7.5fps29-3072*2048@25fps30-3072*2048@30fps31-2048*1536@12.532-2560*1920@6.25 - 33-1600*1200@2534-1600*1200@3035-1600*1200@12.536-1600*900@12.537-1280*960@12.5fps38-800*600@25fps39-800*600@30fps40 - 4000*3000@12.5fps41-4000*3000@15fps42-4096*2160@20fps43-3840*2160@20fps 44-960*576@25fps45-960*480@30fps46-752*582@25fps - 47-768*494@30fps48-2560*1440@25fps49-2560*1440@30fps 50-720P@100fps51-720P@120fps52-2048*1536@50fps53-2048*1536@60fps - 54-3840*2160@25fps55-3840*2160@30fps56-4096*2160@25fps57-4096*2160@30fps 58-1280*1024@50fps59-1280*1024@60fps - 60-3072*2048@50fps61-3072*2048@60fps62-3072*1728@25fps63-3072*1728@30fps64-3072*1728@50fps65-3072*1728@60fps66-336*256@50fps67-336*256@60fps - 68-384*288@50fps69-384*288@60fps 70- 640 * 512@50fps 71- 640 * 512@60fps72-2592*1944@25fps73-2592*1944@30fps74-2688*1536@25fps75-2688*1536@30fps - 76-2592*1944@20fps77-2592*1944@15fps78-2688*1520@20fps79-2688*1520@15fps80-2688*1520@25fps81-2688*1520@30fps82- 2720*2048@25fps 83- 2720*2048@30fps - 84-336*256@25fps85- 384*288@25fps86-640*512@25fps87-1280*960@50fps88-1280*960@60fps89-1280*960@100fps90-1280*960@120fps91-4000*3000@20fps - 92-1920*1200@25fps93-1920*1200@30fps94-2560*1920@25fps95-2560*1920@20fps96-2560*1920@30fps97-1280*1920@25fps98-1280*1920@30fps - 99-4000*3000@24fps100-4000*3000@25fps101-4000*3000@10fps102- 384*288@30fps103-2560*1920@15fps104-2400*3840@25fps105-1200*1920@25fps - 106-4096*1800@30fps107-3840*1680@30fps108-2560*1120@30fps109-704*320@30fps110-1280*560@30fps111-4096*1800@25fps112-3840*1680@25fps - 113-2560*1120@25fps114-704*320@25fps115-1280*560@25fps116-2400*3840@24fps117-3840*2400@24fps118-3840*2400@25fps119-2560*1920@12.5fps - 120-2560*2048@12fps121-2560*2048@15fps122-2560*1536@25fps123-2560*1536@30fps124-2256*2048@25fps125-2256*2048@30fps126-2592*2592@12.5fps127-2592*2592@15fps - 128 - 640*512@30fps129-2048*1520@30fps130-2048*1520@25fps131-3840*2160@24fps132-2592*1520@25fps133-2592*1520@30fps134-2592*1536@25fps135-2592*1536@30fps - 136-640*960@25fps137-640*960@24fps139-3840*1080@25fps140-3840*1080@30fps142-2992*2192@25fps143-2992*2192@30fps144-3008*2160@25fps145-3008*2160@30fps - 146-3072*1728@20fps147-2560*1440@20fps148-2160*3840@25fps149-2160*3840@30fps150-7008*1080@25fps151-7008*1080@30fps152-3072*2048@20fps153-1536*864@25fps - 154-2560*1920@24fps155-2400*3840@30fps156-3840*2400@30fps157-3840*2160@15fps - 158-384*288@8.3fps159-640*512@8.3fps160-160*120@8.3fps161-1024*768@8.3fps162-640*480@8.3fps163-3840*2160@12.5fps164-2304*1296@30fps165-2304*1296@25fps - 166-2560*1440@24fps167-2688*1512@25fps168-2688*1512@30fps169-2688*1512@50fps170-2688*1512@60fps171-1536*864@30fps172-2560*1440@50fps173-2560*1440@60fps - 174-2048*2048@25fps175-2048*2048@30fps176-4000*3060@20fps177-3060*3060@25fps178-3060*3060@30fps179-3000*3000@25fps180-3000*3000@30fps181-8160*3616@30fps - 182-8160*3616@25fps183-3000*3000@20fps184-3000*3000@15fps185-3000*3000@12.5fps186-5472*3648@25fps187-5472*3648@30fps188-7680*4320@25fps189-7680*4320@30fps - 190-8160*2400@25fps191-8160*2400@30fps192-5520*2400@25fps193-5520*2400@30fps194-2560*1440@15fps195-1944*1212@24fps196-1944*1212@25fps197-3456*1920@30fps - 198-4800*2688@25fps199-4800*2688@30fps200-6480*1080@25fps201-6480*1080@30fps202-8640*1440@25fps203-8640*1440@30fps204-3456*1920@25fps205-2688*1520@50fps - 206-2688*1520@60fps207-4976*1452@25fps208-4976*1452@30fps 209-3200*1800@25fps210-3200*1800@30fps211-5472*3648@24fps212-1920*1080@12.5fps213-2944*1656@20fps - 214-1920*1080@24fps215-4800*1600@25fps216-4800*1600@30fps217-2560*1440@12.5fps218-6560*3690@1fps219-5120*1400@20fps220-7680*4320@1fps221-1920*1080@20fps - 222-5120*1440@20fps223-4080*1808@25fps224-4080*1808@30fps225-4080*1152@25fps226-4080*1152@30fps227-2688*1944@20fps228-2592*1944@24fps229-3200*1800@15fps - 230-4416*1696@20fps231-3456*1080@25fps232-3200*1800@12.5fps233-2688*1532@25fps234-2688*1532@30fps235-4416*1696@12.5fps236-3840*2048P12.5fps237-3840*4096P12.5fps - 238-5120*1440@12.5fps239-3840*1080@24fps240-320*256@30fps241-3264*2448@25fps242-3264*2448@30fps243-5430*3054@1fps244-2688*1520@24@24fps245-4000*3000@30fps - 246-1632*1224@25fps247-1632*1224@30fps248-160*120@25fps249-1920*1440@25fps250-1920*1440@30fps-3632*1632@20fps252-3040*1368@25fps253-3040*1368@24fps - 254-5120*1440@25fps255-ֶαʾΧ - 豸ģʽ255ʱ - 1ȡʱֵֶΪ255޾庬壬ڱʾʵģʽֵ255ʵwCaptureModeNwCaptureModePʾ - 2ʱֵҪΪ255ʵwCaptureModeNwCaptureModePʾ - 豸ģʽС255ʱ - 1ȡʱֵֶΪʵģʽֵwCaptureModeNwCaptureModePֵ账 - 2ʱֶΪʵģʽֵwCaptureModeNwCaptureModePֲֵ - */ - BYTE byCaptureModeN; //ƵģʽNƣ - BYTE byCaptureModeP; //ƵģʽPƣ - NET_DVR_SMARTIR_PARAM struSmartIRParam; //ŹϢ - NET_DVR_PIRIS_PARAM struPIrisParam;//PIrisϢӦbyIrisModeֶδ2-PIris1ʼЧ - //2014-02-25 - NET_DVR_LASER_PARAM_CFG struLaserParam; // - NET_DVR_FFC_PARAM struFFCParam; - NET_DVR_DDE_PARAM struDDEParam; - NET_DVR_AGC_PARAM struAGCParam; - BYTE byLensDistortionCorrection;//ͷУ 0-ر,1- - BYTE byDistortionCorrectionLevel;//Уȼ0-1-ȼһ2-ȼ3-ȼ;255-Զ - BYTE byCalibrationAccurateLevel;// Уǿ[0-100] - BYTE byZoomedInDistantViewLevel;//Զ˷Ŵȼ[0-100] - NET_DVR_SNAP_CAMERAPARAMCFG struSnapCCD ; //ץĻCCDֻץĻ - NET_DVR_OPTICAL_DEHAZE struOpticalDehaze;//ѧ͸ - NET_DVR_THERMOMETRY_AGC struThermAGC;//AGC - BYTE byFusionMode;//˫Ƶںģʽ0~ȳģʽ1~ںģʽ2~лģʽ,3~ɼģʽ, 4~ںϺڰģʽ, 5~ںϲɫģʽ-ݵأ6~ںϲɫģʽ-ĵأ7~ںϲɫģʽ-ѩأ8~ںϲɫģʽ-9~ںϲɫģʽ- - BYTE byHorizontalFOV;//ˮƽӳ[0-100] - BYTE byVerticalFOV;//ֱӳ[0-100] - BYTE byBrightnessSuddenChangeSuppression;//ͻ0-ر,1- - BYTE byGPSEnabled;//GPSʹܣ0-أ1- - BYTE byRes; - /* - 256-160*120@50fps257-3200*1800@20fps258-800*480@25fps259-2688*1944@25fps260-640*384@50fps261-8000*6000@1fps262-1440*1080@50fps263-1440*1080@60fps - 264-8160*3616@24fps265-3632*1632@25fps266-3632*1632@30fps267-3632*1632@20fps268-1760*1320@25fps269-4000*3000@4fps270-192*256@25fps271-720*576@25fps - 272-720x576@30fps273-960*432@25fps274-960*432@30fps275-1200*536@25fps276-1200*536@30fps277-1760*1320@12.5fps278-2560*480@25fps279-2048*384@25fps - 280-96*96@25fps281-320*256@25fps282-6128*1800@25fps283-6128*1800@30fps284-2304*1296@24fps285-2048*1152@25fps286-2048*1152@30fps287-3840*2100@20fps - 288-96*72@25fps289-2048*1152@24fps290-720*576@50fps291-2368*1776@25fps292-2368*1776@30fps293-1776*1776@25fps294-3776*2832@25fps295-3776*2832@30fps - 296-2832*2832@25ps297-2832*2832@30298-1776*1776@30fps - */ - WORD wCaptureModeN; //ƵģʽNƣģʽС255ʱbyCaptureModeNһ£255ʱԸֶηֵжϡ - WORD wCaptureModeP; //ƵģʽPƣģʽС255ʱbyCaptureModeNһ£255ʱԸֶηֵж - BYTE byRes2[150]; -}NET_DVR_CAMERAPARAMCFG_EX, *LPNET_DVR_CAMERAPARAMCFG_EX; - -typedef struct tagNET_DVR_FOCUSING_POSITION_STATE -{ - DWORD dwSize; - BYTE byState;//۽λ״̬ 0-λ1-λ - BYTE byRes[31]; -}NET_DVR_FOCUSING_POSITION_STATE, *LPNET_DVR_FOCUSING_POSITION_STATE; - -typedef enum _VCA_PLATE_COLOR_ -{ - VCA_BLUE_PLATE = 0, //ɫ - VCA_YELLOW_PLATE, //ɫ - VCA_WHITE_PLATE, //ɫ - VCA_BLACK_PLATE, //ɫ - VCA_GREEN_PLATE, //ɫ - VCA_BKAIR_PLATE, //񺽺ɫ - VCA_RED_PLATE, //ɫ - VCA_ORANGE_PLATE, //ɫ - VCA_BROWN_PLATE = 8, //ɫ - VCA_OTHER = 0xff // -}VCA_PLATE_COLOR; - -// -typedef enum _VCA_PLATE_TYPE_ -{ - VCA_STANDARD92_PLATE = 0, //׼óֳ - VCA_STANDARD02_PLATE, //02ʽó - VCA_WJPOLICE_PLATE, //侯 - VCA_JINGCHE_PLATE, // - STANDARD92_BACK_PLATE, //ó˫β - VCA_SHIGUAN_PLATE, //ʹݳ - VCA_NONGYONG_PLATE, //ũó - VCA_MOTO_PLATE, //Ħг - NEW_ENERGY_PLATE, //Դ - VCA_CONSULATE_PLATE = 9, //¹ݳ - VCA_EMERGENCY_PLATE = 10, //Ӧ - //2017-05-18 ж - TRANSPORT_PLATE = 0x20, //䳵 - COMMERCIAL_PLATE, //ó - PRIVATE_PLATE, //˽ҳ - LEARNING_PLATE, // - CD_PLATE, //ʹݳ - CC_PLATE, //ʹݳ - SPECIAL_PLATE, //ֳ - PROTOCOL_PLATE, //PROTOCOL - GOVERNMENT_PLATE, // - EXPORT_PLATE, //EXPORT - TAXI_PLATE, //⳵ - TESTING_PLATE, //TESTING - TRANSFER_PLATE, //TRANSFER - TRUCK_PLATE, // - BUS_PLATE, // - PUBLIC_PLATE, //PUBLIC - PUB_TRANS_PLATE, //PUBLIC TRANSFER - PRI_TRANS_PLATE, //PRIVATE TRANSPORT - TUMBREL_PLATE, //ֳ - HONG_KONG_MACAO_PLATE, //۰ - UNKNOWN_PLATE = 0xff, //δ֪δʶ -}VCA_PLATE_TYPE; - -//ʶ -typedef enum _VTR_RESULT -{ - VTR_RESULT_OTHER = 0, //δ֪ - VTR_RESULT_BUS = 1, //ͳ - VTR_RESULT_TRUCK = 2, // - VTR_RESULT_CAR = 3, //γ - VTR_RESULT_MINIBUS = 4, // - VTR_RESULT_SMALLTRUCK = 5, //С - VTR_RESULT_HUMAN = 6, // - VTR_RESULT_TUMBREL = 7, //ֳ - VTR_RESULT_TRIKE = 8, //ֳ - VTR_RESULT_SUV_MPV = 9, //SUV/MPV - VTR_RESULT_MEDIUM_BUS = 10, //Ϳͳ - VTR_RESULT_MOTOR_VEHICLE = 11, // - VTR_RESULT_NON_MOTOR_VEHICLE = 12, //ǻ - VTR_RESULT_SMALLCAR = 13, //Сͽγ - VTR_RESULT_MICROCAR = 14, //΢ͽγ - VTR_RESULT_PICKUP = 15, //Ƥ - VTR_RESULT_CONTAINER_TRUCK = 16, // װ俨 - VTR_RESULT_MINI_TRUCK = 17, // ΢忨 - VTR_RESULT_SLAG_CAR = 18, // - VTR_RESULT_CRANE = 19, // ̳ - VTR_RESULT_OIL_TANK_TRUCK = 20, // ͹޳ - VTR_RESULT_CONCRETE_MIXER = 21, // 賵 - VTR_RESULT_PLATFORM_TRAILER = 22, // ƽϳ - VTR_RESULT_HATCHBACK = 23, // γ - VTR_RESULT_SALOON = 24, // γ - VTR_RESULT_SPORT_SEDAN = 25, // - VTR_RESULT_SMALL_BUS = 26 //СͿͳ -}VTR_RESULT; - - -//ɫ -typedef enum _VCR_CLR_CLASS -{ - VCR_CLR_UNSUPPORT = 0, //֧ - VCR_CLR_WHITE = 1, // - VCR_CLR_SILVER = 2, // - VCR_CLR_GRAY = 3, // - VCR_CLR_BLACK = 4, // - VCR_CLR_RED = 5, // - VCR_CLR_DARKBLUE = 6, // - VCR_CLR_BLUE = 7, // - VCR_CLR_YELLOW = 8, // - VCR_CLR_GREEN = 9, // - VCR_CLR_BROWN = 10, // - VCR_CLR_PINK = 11, // - VCR_CLR_PURPLE = 12, // - VCR_CLR_DARKGRAY = 13, // - VCR_CLR_CYAN = 14 //ɫ -}VCR_CLR_CLASS; - -// 2013-11-04 -typedef enum _VCA_OPERATE_TYPE_ -{ - VCA_LICENSE_TYPE = 0x1, //ƺ - VCA_PLATECOLOR_TYPE = 0x2, //ɫ - VCA_CARDNO_TYPE = 0x4, // - VCA_PLATETYPE_TYPE = 0x8, // - VCA_LISTTYPE_TYPE = 0x10, // - VCA_INDEX_TYPE = 0x20, //ˮ 2014-02-25 - VCA_OPERATE_INDEX_TYPE = 0x40 // 2014-03-03 -}VCA_OPERATE_TYPE; - -typedef enum _VCA_ILLEGAL_TYPE_ -{ - VCA_POSTPIC_TYPE = 0x1, //ͼƬ - VCA_LOWSPEED_TYPE = 0x2, // - VCA_HIGHSPEED_TYPE = 0x4, // - VCA_RETROGRADE_TYPE = 0x8, // - VCA_RUSH_REDLIGHT_TYPE = 0x10, // - VCA_PRESS_LANE_TYPE = 0x20, //ѹ - VCA_VIOLATE_GUIDE_TYPE = 0x40,// - VCA_ROAD_STRAND_TYPE = 0x80,//·(豸֧) - VCA_VEHICLE_ILLEGAL_LANE_TYPE = 0x100,//ռ - VCA_ILLEGAL_LANE_CHANGE_TYPE = 0x200,//Υ - VCA_ILLEGAL_LANE_DRIVE_TYPE = 0x400,// - VCA_VIOLATE_BAN_TYPE = 0x800,//Υ - VCA_CROSS_PARKING_TYPE = 0x1000,//·ͣ - VCA_GREEN_PARKING_TYPE = 0x2000//̵ͣ -}VCA_ILLEGAL_TYPE; - -typedef enum _VCA_VEHICLE_TYPE_ -{ - VCA_OTHER_TYPE = 0x1, // - VCA_SMALLCAR_TYPE = 0x2, //Сͳ - VCA_BIGCAR_TYPE = 0x4, //ͳ - VCA_BUS_TYPE = 0x8, //ͳ - VCA_TRUCK_TYPE = 0x10, // - VCA_CAR_TYPE = 0x20, //γ - VCA_MINIBUS_TYPE = 0x40, // - VCA_SMALL_TRUCK_TYPE = 0x80 //С -}VCA_VEHICLE_TYPE; - -//Ʒ -typedef enum _VLR_VEHICLE_CLASS -{ - VLR_OTHER = 0, // - VLR_VOLKSWAGEN = 1, // - VLR_BUICK = 2, // - VLR_BMW = 3, // - VLR_HONDA = 4, // - VLR_PEUGEOT = 5, // - VLR_TOYOTA = 6, // - VLR_FORD = 7, // - VLR_NISSAN = 8, //ղ - VLR_AUDI = 9, //µ - VLR_MAZDA = 10, //Դ - VLR_CHEVROLET = 11, //ѩ - VLR_CITROEN = 12, //ѩ - VLR_HYUNDAI = 13, //ִ - VLR_CHERY = 14, // - VLR_KIA = 15, // - VLR_ROEWE = 16, // - VLR_MITSUBISHI = 17, // - VLR_SKODA = 18, //˹´ - VLR_GEELY = 19, // - VLR_ZHONGHUA = 20, //л - VLR_VOLVO = 21, //ֶ - VLR_LEXUS = 22, //׿˹ - VLR_FIAT = 23, // - VLR_EMGRAND = 24, //ۺ() - VLR_DONGFENG = 25, // - VLR_BYD = 26, //ǵ - VLR_SUZUKI = 27, //ľ - VLR_JINBEI = 28, // - VLR_HAIMA = 29, // - VLR_SGMW = 30, // - VLR_JAC = 31, // - VLR_SUBARU = 32, //˹³ - VLR_ENGLON = 33, //Ӣ() - VLR_GREATWALL = 34, // - VLR_HAFEI = 35, // - VLR_ISUZU = 36, //ʮ() - VLR_SOUEAST = 37, // - VLR_CHANA = 38, // - VLR_FOTON = 39, // - VLR_XIALI = 40, //(һ) - VLR_BENZ = 41, // - VLR_FAW = 42, //һ - VLR_NAVECO = 43, //ά - VLR_LIFAN = 44, // - VLR_BESTURN = 45, //һ(һ) - VLR_CROWN = 46, //ʹ() - VLR_RENAULT = 47, //ŵ - VLR_JMC = 48, //JMC() - VLR_MG = 49, //MG - VLR_KAMA = 50, // - VLR_ZOTYE = 51, //̩ - VLR_CHANGHE = 52, // - VLR_XMKINGLONG = 53, //Ž() - VLR_HUIZHONG = 54, //Ϻ() - VLR_SZKINGLONG = 55, //ݽ - VLR_HIGER = 56, // - VLR_YUTONG = 57, //ͨ - VLR_CNHTC = 58, //й - VLR_BEIBEN = 59, //ؿ - VLR_XINGMA = 60, // - VLR_YUEJIN = 61, //Ծ - VLR_HUANGHAI = 62, //ƺ - VLR_OLDWALL = 63, //Ͽ - VLR_CHANACOMMERCIAL = 64, // - VLR_PORSCHE = 65, // ʱ - VLR_CADILLAC = 66, // - VLR_INFINITI = 67, // Ӣ - VLR_GLEAGLE = 68, // ȫӥ() - VLR_JEEP = 69, // JEEP() - VLR_LANDROVER = 70, // · - VLR_CHANGFENG = 71, // - VLR_BENNI = 72, // () - VLR_ERA = 73, // ʱ(ʱ) - VLR_TAURUS = 74, // ţ() - VLR_EADO = 75, // ݶ - VLR_SHANQI = 76, // - VLR_HONGYAN = 77, // (άº) - VLR_DRAGON = 78, // () - VLR_JACTEXT = 79, // JAC () - VLR_JACBUS = 80, // ִͳ () - VLR_ANKAI = 81, // ͳ - VLR_SHENLONG = 82, // ͳ - VLR_DAEWOO = 83, // ͳ - VLR_WUZHENG = 84, // - VLR_MAN = 85, // MAN - VLR_ZHONGTONG = 86, // ͨͳ - VLR_BAOJUN = 87, // - VLR_BQWEIWANG = 88, // - VLR_TRUMPCHE = 89, // - VLR_LUFENG = 90, // ½ - VLR_HMZHENGZHOU = 91, // ֣ - VLR_BEIJING = 92, // - VLR_ZHONGSHUN = 93, // ˳ - VLR_WEILIN = 94, // - VLR_OPEL = 95, // ŷ - VLR_KARRY = 96, // - VLR_SMA = 97, // - VLR_SMATEXT = 98, // SMA - VLR_YUWIN = 99, // Ԧʤ - VLR_MINI = 100, // MINI - VLR_MARK = 101, // MARKX - VLR_HAVAL = 102, // HAVAL - VLR_OGA = 103, // ک - VLR_VENUCIA = 104, // - VLR_BYD2 = 105, // ǵʽ2 (ǵ) - VLR_SMART = 106, // SMART - VLR_BAW = 107, // 쳧BAW - VLR_LUXGEN = 108, // ǽ - VLR_YEMA = 109, // Ұ - VLR_ZTE = 110, // - VLR_EVERUS = 111, // - VLR_CHRYSLER = 112, // ˹ - VLR_GONOW = 113, // - VLR_SHJIANG = 114, // ɻ - VLR_RUILIN = 115, // - VLR_FORTA = 116, // - VLR_GAGUAR = 117, // ݱ - VLR_HEIBAO = 118, // ڱ - VLR_TKING = 119, // ƿ - VLR_TKINGTEXT = 120, // ƿ - VLR_FODAY = 121, // - VLR_LOTUS = 122, // - VLR_NANJUN = 123, // Ͽ - VLR_SHUANGHUAN = 124, // ˫ - VLR_SAIBAO = 125, // - VLR_HAWTAI = 126, // ̩ - VLR_LIFO = 127, // Դɵ - VLR_JONWAY = 128, // Դ - VLR_FULONGMA = 129, // - VLR_WEILI = 130, // Ϋ - VLR_ANCHI = 131, // - VLR_PAIXI = 132, // ϲ - VLR_HIGERTEXT = 133, // HIGER - VLR_RIYECAR = 134, // ҰῨ - VLR_RIYETRUCK = 135, // Ұؿ - VLR_JIANGNAN = 136, // - VLR_OLDZOTYE = 137, // Ͽ̩ - VLR_OLDXIALI = 138, // Ͽ - VLR_NEWAOCHI = 139, // °³ - VLR_CDW = 140, // - VLR_CDWTEXT = 141, // - VLR_CIIMO = 142, // ˼ - VLR_CHANADS = 143, // а - VLR_DS = 144, // - VLR_ROHENS = 145, // ִͶ˹ - VLR_YANTAI = 146, // ̨ - VLR_SHUANGLONG = 147, // ˫ - VLR_FENGLING = 148, // ʱ - VLR_XINKAI = 149, // ¿ - VLR_GMC = 150, // GMC - VLR_DATONG = 151, // ͨ - VLR_BQYINXIANG = 152, // - VLR_NEWCHERY = 153, // - VLR_MUDAN = 154, // ĵ - VLR_DAYUN = 155, // - VLR_DONGWO = 156, // - VLR_UNION = 157, // - VLR_CHUNZHOU = 158, // ޿ͳ - VLR_SANY = 159, // һع - VLR_YAXING = 160, // ǿͳ - VLR_HENGTONG = 161, // ͨͳ - VLR_SHAOLIN = 162, // ֿͳ - VLR_YOUNG = 163, // ͳ - VLR_STOM = 164, // ʮͨ - VLR_SANHUAN = 165, // - VLR_XUGONG = 166, // 칤 - VLR_BEIFANG = 167, // - VLR_JIANGHUAN = 168, // - VLR_BJFARM = 169, // ũ - VLR_NEWDADI = 170, // ´ - VLR_SUNWIN = 171, // ֿͳ - VLR_YINGTIAN = 172, // Ӣ - VLR_QINGQI = 173, // - VLR_CHUFENG = 174, // - VLR_SCANIA = 175, // ˹ - VLR_JIULONG = 176, // ͳ - VLR_YOUYI = 177, // ͳ - VLR_SHANGRAO = 178, // Ŀͳ - VLR_JIJIANG = 179, // - VLR_YANGZI = 180, // ӿͳ - VLR_XIWO = 181, // ֿͳ - VLR_CHANGJIANG = 182, // ͳ - VLR_WUYI = 183, // - VLR_CHENGDU = 184, // ɶͳ - VLR_TIANMA = 185, // - VLR_BAOLONG = 186, // - VLR_NEWYATU = 187, // ; - VLR_BARUI = 188, // ǰ - VLR_GUANZHI = 189, // - VLR_XIYATE = 190, // - VLR_BINLI = 191, // - VLR_DADI = 192, // - VLR_FUQI = 193, // - VLR_HANGTIAN = 194, // HT - VLR_HENGTIAN = 195, // - VLR_JMCCAR = 196, // - VLR_KAERSEN = 197, // ɭ - VLR_KAWEI = 198, // - VLR_LANBOJINI = 199, // - VLR_MASHALADI = 200, // ɯ - VLR_SHUCHI = 201, // ۿͳ - VLR_SHILI = 202, // ʵͳ - VLR_HUABEI = 203, // пͻ - VLR_YIZHENG = 204, // - VLR_CHUNLAN = 205, // - VLR_DAFA = 206, // - VLR_SHENYE = 207, // Ұ - VLR_FALALI = 208, // - VLR_FUXING = 209, // - VLR_ANYUAN = 210, // Դͳ - VLR_JINGHUA = 211, // ͳ - VLR_TAIHU = 212, // ̫ͳ - VLR_WUZHOULONG = 213, // - VLR_CHANGLONG = 214, // ¡ͳ - VLR_YUEXI = 215, // ͳ - VLR_SHENMA = 216, // ͳ - VLR_LUSHAN = 217, // ®ɽ - VLR_WANFENG = 218, // - VLR_GZYUNBAO = 219, // Ʊ - VLR_ZHONGDA = 220, // д - VLR_THREEWHEEL = 221, // ֳ - VLR_TWOWHEEL = 222, // ֳ - VLR_JBC = 223, // JBC - VLR_YZJIANG = 224, // ӽͳ - VLR_CNJ = 225, // ϿCNJ - VLR_FORLAND = 226, // ʱ - VLR_FARMCAR = 227, // ũó - VLR_DONGFANGHONG = 228, // - VLR_STEYR = 229, // ˹̫ - VLR_HONGQI = 230, // - VLR_USER1 = 231, //û1 - VLR_USER2 = 232, //û2 - VLR_USER3 = 233, //û3 - VLR_USER4 = 234, //û4 - VLR_USER5 = 235, //û5 - VLR_USER6 = 236, //û6 - VLR_USER7 = 237, //û7 - VLR_USER8 = 238 //û8 -}VLR_VEHICLE_CLASS; - -/********************ƷBegin*************************/ -//Ʒ -typedef enum _VSB_VOLKSWAGEN_CLASS -{ - VSB_VOLKSWAGEN_OTHER = 0, // - VSB_VOLKSWAGEN_LAVIDA = 1, // - VSB_VOLKSWAGEN_CROSSLAVIDA = 2, // ʾ - VSB_VOLKSWAGEN_TIGUAN = 3, // ; - VSB_VOLKSWAGEN_TOURAN = 4, // ; - VSB_VOLKSWAGEN_SANTANA = 5, // ɣ - VSB_VOLKSWAGEN_SANTANA2000 = 6, // ɣ2000 - VSB_VOLKSWAGEN_SANTANA3000 = 7, // ɣ3000 - VSB_VOLKSWAGEN_VISTA = 8, // ɣ-־ - VSB_VOLKSWAGEN_PASSAT = 9, // - VSB_VOLKSWAGEN_PASSATLINGYU = 10, // -Ԧ - VSB_VOLKSWAGEN_POLO = 11, // - VSB_VOLKSWAGEN_POLOCROSS = 12, // -˶ - VSB_VOLKSWAGEN_POLOGTI = 13, // -GTI - VSB_VOLKSWAGEN_SAGITAR = 14, // - VSB_VOLKSWAGEN_MAGOTAN = 15, // - VSB_VOLKSWAGEN_JETTA = 16, // ݴ - VSB_VOLKSWAGEN_BORA = 17, // - VSB_VOLKSWAGEN_NEWGOLF = 18, // ¸߶ - VSB_VOLKSWAGEN_GOLFGTI = 19, // ߶-GTI - VSB_VOLKSWAGEN_GOL = 20, // ߶ - VSB_VOLKSWAGEN_CADDY = 21, // - VSB_VOLKSWAGEN_PHAETON = 22, // - VSB_VOLKSWAGEN_TOUREG = 23, // ; - VSB_VOLKSWAGEN_SCIROCCO = 24, // п - VSB_VOLKSWAGEN_BEETLE = 25, // ׿dz - VSB_VOLKSWAGEN_SHARAN = 26, // - VSB_VOLKSWAGEN_MULTIVAN = 27, // - VSB_VOLKSWAGEN_CARBONCOPY = 28, // һ-CC - VSB_VOLKSWAGEN_VISTACHANGDA = 29, // ɣ־- - VSB_VOLKSWAGEN_BORASPORTLINE = 30, // -SPORTLINE - VSR_VOLKSWAGEN_CC_1 =31, //-CC-2012,2011,2010 - VSR_VOLKSWAGEN_Cross_POLO_1 = 32, //-Cross-POLO-2010,2007 - VSR_VOLKSWAGEN_Cross_POLO_2 = 33, //-Cross-POLO-2014,2012 - VSR_VOLKSWAGEN_MULTIVAN_1 = 34, //-Multivan-2014,2012,2011 - VSR_VOLKSWAGEN_POLO_1 = 35, //-POLO-2006,2005,2004,2003,2002 - VSR_VOLKSWAGEN_POLO_2 = 36, //-POLO-2013,2012,2011 - VSR_VOLKSWAGEN_POLO_JINQU_1 = 37, //-POLOȡ-2009,2008,2007,2006 - VSR_VOLKSWAGEN_POLO_JINQU_2 = 38, //-POLOȡ-2011 - VSR_VOLKSWAGEN_Tiguan_1 = 39, //-Tiguan-2011,2009 - VSR_VOLKSWAGEN_Tiguan_2 = 40, //-Tiguan-2014,2013,2012 - VSR_VOLKSWAGEN_XIALANG_1 = 41, //--2013,2012 - VSR_VOLKSWAGEN_BAOLAI_1 = 42, //--2005,2004 - VSR_VOLKSWAGEN_BAOLAI_2 = 43, //--2006 - VSR_VOLKSWAGEN_BAOLAI_3 = 44, //--2012,2011,2010,2009,2008 - VSR_VOLKSWAGEN_BAOLAI_4 = 45, //--2014,2013 - VSR_VOLKSWAGEN_SHANGKU_1 = 46, //-п-2014,2013 - VSR_VOLKSWAGEN_PASATE_1 = 47, //--2003,2001Ԧ - VSR_VOLKSWAGEN_PASATE_2 = 48, //--2007,2006,2005Ԧ - VSR_VOLKSWAGEN_PASATE_3 = 49, //--2009,2008,2007,2005,2004,2003,2001,2000 - VSR_VOLKSWAGEN_PASATE_4 = 50, //--2011,2009Ԧ - VSR_VOLKSWAGEN_PASATE_5 = 51, //--2014,2013,2012,2011 - VSR_VOLKSWAGEN_JIEDA_1 = 52, //-ݴ-2005CIF,2002 - VSR_VOLKSWAGEN_JIEDA_2 = 53, //-ݴ-2009,2008,2006,2005,2004 - VSR_VOLKSWAGEN_JIEDA_3 = 54, //-ݴ-2012,2010 - VSR_VOLKSWAGEN_JIEDA_4 = 55, //-ݴ-2013 - VSR_VOLKSWAGEN_LANGYI_1 = 56, //--2012,2011,2010,2009,2008 - VSR_VOLKSWAGEN_LANGYI_2 = 57, //--2013 - VSR_VOLKSWAGEN_SANGTANA_1 = 58, //-ɣ-2007,2002,2000,1999,1995 - VSR_VOLKSWAGEN_SANGTANA_2 = 59, //-ɣ-2014,2013 - VSR_VOLKSWAGEN_SANGTANA_3 = 60, //-ɣ2000-2003,2001,2000,1999,1998,1996 - VSR_VOLKSWAGEN_SANGTANA_4 = 61, //-ɣ3000-2007,2006,2005,2004,2003 - VSR_VOLKSWAGEN_SANGTANAZHIJUN_1 = 62, //-ɣ־(vista)-2011,2010,2009,2008 - VSR_VOLKSWAGEN_SANGTANAZHIJUN_2 = 63, //-ɣ־(vista)-2006 - VSR_VOLKSWAGEN_JIAKECHONG_1 = 64, //-׿dz-2010,2009,2008,2007,2006,2005 - VSR_VOLKSWAGEN_JIAKECHONG_2 = 65, //-׿dz-2014,2013 - VSR_VOLKSWAGEN_HUITENG_2 = 66, //--2010,2009,2007,2006 - VSR_VOLKSWAGEN_MAITENG_1 = 67, //--2011,2010,2009,2008,2007 - VSR_VOLKSWAGEN_MAITENG_2 = 68, //--2013,2012 - VSR_VOLKSWAGEN_TUAN_3 = 69, //-;-2006,2005,2004 - VSR_VOLKSWAGEN_TUAN_1 = 70, //-;-2010,2009,2008 - VSR_VOLKSWAGEN_TUAN_2 = 71, //-;-2013,2012,2011 - VSR_VOLKSWAGEN_TUGUAN_1 = 72, //-;-2012,2011,2010 - VSR_VOLKSWAGEN_TURUI_1 = 73, //-;-2006,2005,2003 - VSR_VOLKSWAGEN_TURUI_2 = 74, //-;-2014,2013,2012,2011 - VSR_VOLKSWAGEN_SUTENG_1 = 75, //--2010,2009,2007,2006 - VSR_VOLKSWAGEN_SUTENG_2 = 76, //--2011 - VSR_VOLKSWAGEN_SUTENG_3 = 77, //--2014,2013,2012 - VSR_VOLKSWAGEN_GAOERFU_1 = 78, //-߶-2008,2007,2006,2005,2004,2003 - VSR_VOLKSWAGEN_GAOERFU_2 = 79, //-߶-2012,2011,2012,2011,2010 - VSR_VOLKSWAGEN_GAOERFU_3 = 80, //-߶GTI-2013,2012,2011,2010 - VSR_VOLKSWAGEN_LANGYI_3 = 81, //--2014 - VSR_VOLKSWAGEN_HUITENG_1 = 82 //--2004 -} VSB_VOLKSWAGEN_CLASS; - -//Ʒ -typedef enum _VBR_BUICK_CLASS -{ - VBR_BUICK_OTHER = 0, // - VBR_BUICK_ENCORE = 1, // - VBR_BUICK_GL8 = 2, // GL8 - VBR_BUICK_LEGAL = 3, // - VBR_BUICK_LACROSS = 4, // Խ - VBR_BUICK_EXCELLE = 5, // Խ - VBR_BUICK_EXCELLEGT = 6, // ӢGT - VBR_BUICK_WXCELLEXT = 7, // ӢXT - VBR_BUICK_ENCLAVE = 8, // - VBR_BUICK_ROYAUM = 9, // - VBR_BUICK_SAIL = 10, // ŷ - VBR_BUICK_EXCELLEHRV = 11, // ԽHRV - VBR_BUICK_PARKAVENUE = 12, // - VBR_BUICK_CENTURY = 13, // - VBR_BUICK_GL8_1 = 14, // -GL8-2004,2003 - VBR_BUICK_GL8_2 = 15, // -GL8-2007,2006,2005 - VBR_BUICK_GL8_3 = 16, // -GL8-2010_2008_2006_2005½ - VBR_BUICK_GL8_4 = 17, // -GL8-2014,2013,2012,2011 - VBR_BUICK_GL8_5 = 18, // -GL8-2014_2013_2011 - VBR_BUICK_ENCORE_1 = 19, // --2014,2013 - VBR_BUICK_ENCLAVE_1 = 20, // --2013,2010,2009 - VBR_BUICK_LEGAL_1 = 21, // --2001,2000,1999 - VBR_BUICK_LEGAL_2 = 22, // --2008,2006,2005,2004,2002 - VBR_BUICK_LEGAL_3 = 23, // --2013,2012,2011,2010,2009 - VBR_BUICK_LEGAL_4 = 24, // --2013_2012_2011˶ - VBR_BUICK_LEGAL_5 = 25, // --2014 - VBR_BUICK_LEGAL_6 = 26, // --2014˶ - VBR_BUICK_LACROSS_1 = 27, // -Խ-2008,2007,2006 - VBR_BUICK_LACROSS_2 = 28, // -Խ-2012,2011,2010,2009 - VBR_BUICK_LACROSS_3 = 29, // -Խ-2013 - VBR_BUICK_EXCELLE_1 = 30, // -Խ-2006,2005,2004 - VBR_BUICK_EXCELLE_2 = 31, // -Խ-2008_2006_2005_2004HRV - VBR_BUICK_EXCELLE_3 = 32, // -Խ-2011,2009,2008 - VBR_BUICK_EXCELLE_4 = 33, // -Խ-2013 - VBR_BUICK_PARKAVENUE_1 = 34, // --2011,2010,2009,2008,2007 - VBR_BUICK_SAIL_1 = 35, // -ŷ-2004,2003 - VBR_BUICK_EXCELLEGT_1 = 36, // -ӢGT-2013,2012,2011,2010 - VBR_BUICK_WXCELLEXT_1 = 37, // -ӢXT-2014,2013,2012,2010 - VBR_BUICK_CENTURY_1 = 38, // --2000 - VBR_BUICK_RONGYU_1 = 39 // --2005,2004 -}VBR_BUICK_CLASS; - -//Ʒ -typedef enum _VSB_BMW_CLASS -{ - VSB_BMW_OTHER = 0, // - VSB_BMW_3SERIES = 1, // 3ϵ - VSB_BMW_5SERIES = 2, // 5ϵ - VSB_BMW_X1 = 3, // X1 - VSB_BMW_1SERIES = 4, // 1ϵ - VSB_BMW_7SERIES = 5, // 7ϵ - VSB_BMW_X3 = 6, // X3 - VSB_BMW_X5 = 7, // X5 - VSB_BMW_X6 = 8, // X6 - VSB_BMW_Z4 = 9, // Z4 - VSB_BMW_MINI = 10, // - VSB_BMW_6SERIES = 11, //6ϵ - VSB_BMW_YIXI_1 = 12, // -1ϵ-2011,2010,2008,2007 - VSB_BMW_YIXI_2 = 13, // -1ϵ-2013,2012 - VSB_BMW_SANXI_1 = 14, // -3ϵ-2004 - VSB_BMW_SANXI_2 = 15, // -3ϵ-2007,2005 - VSB_BMW_SANXI_3 = 16, // -3ϵ-2012,2011,2010,2009 - VSB_BMW_SANXI_4 = 17, // -3ϵ-2014,2013 - VSB_BMW_WUXI_1 = 18, // -5ϵ-2010,2009,2008 - VSB_BMW_WUXI_2 = 19, // -5ϵ-2013,2012,2011 - VSB_BMW_LIUXI_1 = 20, // -6ϵ-δ֪ - VSB_BMW_QIXI_1 = 21, // -7ϵ-2011,2010,2009 - VSB_BMW_QIXI_2 = 22, // -7ϵ-2013 - VSB_BMW_X1_1 = 23, // -X1-2012,2010 - VSB_BMW_X1_2 = 24, // -X1-2014,2013 - VSB_BMW_X3_1 = 25, // -X3-2009,2008,2006 - VSB_BMW_X3_2 = 26, // -X3-2013,2012,2011 - VSB_BMW_X5_1 = 27, // -X5-2010,2009,2008 - VSB_BMW_X5_2 = 28, // -X5-2013,2012,2011 - VSB_BMW_X5_3 = 29, // -X5-2013˶ - VSB_BMW_X6_1 = 30, // -X6-2013,2012,2011,2009,2008 - VSB_BMW_Z4_1 = 31 // -Z4-2004 -}VSB_BMW_CLASS; - -//Ʒ -typedef enum _VSB_HONDA_CLASS -{ - VSB_HONDA_OTHER = 0, // - VSB_HONDA_CRV = 1, // CR-V(˼) - VSB_HONDA_JADE = 2, // ܵ - VSB_HONDA_CIVIC = 3, // ˼ - VSB_HONDA_SPIRIOR = 4, // ˼ - VSB_HONDA_CIIMO = 5, // ˼ - VSB_HONDA_ELYSION = 6, // - VSB_HONDA_OBYSSEY = 7, // - VSB_HONDA_FIT = 8, // ɶ - VSB_HONDA_NEWCITY = 9, // 淶 - VSB_HONDA_CROSSTOUR = 10, // ʫͼ - VSB_HONDA_CRIDER = 11, // - VSB_HONDA_ACCORD = 12, // Ÿ - VSB_HONDA_CITY = 13, // ˼ - VSB_HONDA_ANTILOCK = 14, // µ - VSB_HONDA_CRZ = 15, // CR-Z - VSB_HONDA_CRV_1 = 16, // -CR-V-2004 - VSB_HONDA_CRV_2 = 17, // -CR-V-2005 - VSB_HONDA_CRV_3 = 18, // -CR-V-2008,2007 - VSB_HONDA_CRV_4 = 19, // -CR-V-2010 - VSB_HONDA_CRV_5 = 20, // -CR-V-2013,2012 - VSB_HONDA_CRIDER_1 = 21, // --2014,2013 - VSB_HONDA_OBYSSEY_1 = 22, // -µ-2002 - VSB_HONDA_OBYSSEY_2 = 23, // -µ-2006,2005,2004 - VSB_HONDA_OBYSSEY_3 = 24, // -µ-2008,2007 - VSB_HONDA_OBYSSEY_4 = 25, // -µ-2011 - VSB_HONDA_CIVIC_1 = 26, // -˼-2007 - VSB_HONDA_CIVIC_5 = 27, // -˼-1996 - VSB_HONDA_CIVIC_2 = 28, // -˼-2008,2006 - VSB_HONDA_CIVIC_3 = 29, // -˼-2009 - VSB_HONDA_CIVIC_4 = 30, // -˼-2013,2012,2011 - VSB_HONDA_CITY_1 = 31, // -˼-2008,2007,2006 - VSB_HONDA_SPIRIOR_1 = 32, // -˼-2009 - VSB_HONDA_SIMING_1 = 33, // -˼-2012 - VSB_HONDA_JIEDE_1 = 34, // -ܵ-2013 - VSB_HONDA_CROSSTOUR_1 = 35, // -ʫͼ-2013,2012,2010 - VSB_HONDA_AILISHEN_1 = 36, // --2012 - VSB_HONDA_NEWCITY_1 = 37, // -淶-2009 - VSB_HONDA_NEWCITY_2 = 38, // -淶-2011 - VSB_HONDA_NEWCITY_3 = 39, // -淶-2014,2012 - VSB_HONDA_ACCORD_1 = 40, // -Ÿ-1996 - VSB_HONDA_ACCORD_2 = 41, // -Ÿ-1999 - VSB_HONDA_ACCORD_3 = 42, // -Ÿ-2001 - VSB_HONDA_ACCORD_4 = 43, // -Ÿ-2003 - VSB_HONDA_ACCORD_5 = 44, // -Ÿ-2008 - VSB_HONDA_ACCORD_6 = 45, // -Ÿ-2010 - VSB_HONDA_ACCORD_7 = 46, // -Ÿ-2011 - VSB_HONDA_ACCORD_8 = 47, // -Ÿ-2012 - VSB_HONDA_ACCORD_9 = 48, // -Ÿ-2013 - VSB_HONDA_ACCORD_10 = 49, // -Ÿ-2014 - VSB_HONDA_FIT_1 = 50, // -ɶ-2004 - VSB_HONDA_FIT_2 = 51, // -ɶ-2004 - VSB_HONDA_FIT_3 = 52, // -ɶ-2005 - VSB_HONDA_FIT_4 = 53, // -ɶ-2007 - VSB_HONDA_FIT_5 = 54, // -ɶ-2008 - VSB_HONDA_FIT_6 = 55 // -ɶ-2013,2011 -}VSB_HONDA_CLASS; - -//Ʒ -typedef enum _VSB_PEUGEOT_CLASS -{ - VSB_PEUGEOT_OTHER = 0, // - VSB_PEUGEOT_2008 = 1, // 2008 - VSB_PEUGEOT_207 = 2, // 207 - VSB_PEUGEOT_SENNA = 3, // - VSB_PEUGEOT_3008 = 4, // 3008 - VSB_PEUGEOT_301 = 5, // 301 - VSB_PEUGEOT_307 = 6, // 307 - VSB_PEUGEOT_308 = 7, // 308 - VSB_PEUGEOT_408 = 8, // 408 - VSB_PEUGEOT_508 = 9, // 508 - VSB_PEUGEOT_206 = 10, // 206 - VSB_PEUGEOT_407 = 11, // 407 - VSB_PEUGEOT_206_1 = 12, // -206-δ֪ - VSB_PEUGEOT_207_1 = 13, // -207-2011,2010,2009 - VSB_PEUGEOT_207_2 = 14, // -207-2013 - VSB_PEUGEOT_3008_1 = 15, // -3008-2014,2013 - VSB_PEUGEOT_301_1 = 16, // -301-δ֪ - VSB_PEUGEOT_307_1 = 17, // -307-2007,2006,2005,2004 - VSB_PEUGEOT_307_2 = 18, // -307-2010,2009,2008 - VSB_PEUGEOT_307_3 = 19, // -307-2013_2012_2011CROSS - VSB_PEUGEOT_308_1 = 20, // -308-2014,2013,2012 - VSB_PEUGEOT_407_1 = 21, // -407-δ֪ - VSB_PEUGEOT_408_1 = 22, // -408-2012,2011,2010 - VSB_PEUGEOT_408_2 = 23, // -408-2013 - VSB_PEUGEOT_508_1 = 24, // -508-2014,2013,2012,2011 - VSB_PEUGEOT_207_3 = 25, // -207-2011,2010,2009 - VSB_PEUGEOT_307_4 = 26 // -307-2013,2012,2010,2009,2008 - -}VSB_PEUGEOT_CLASS; - -//Ʒ -typedef enum _VSB_TOYOTA_CLASS -{ - VSB_TOYOTA_OTHER = 0, // - VSB_TOYOTA_HIGHLANDER = 1, // - VSB_TOYOTA_CAMRY = 2, // - VSB_TOYOTA_YARIS = 3, // ʿ - VSB_TOYOTA_YARISL = 4, // YARIS L - VSB_TOYOTA_VERSO = 5, // - VSB_TOYOTA_HUAGUAN = 6, // - VSB_TOYOTA_CROWN = 7, // ʹ - VSB_TOYOTA_COROLLA = 8, // - VSB_TOYOTA_COSTER = 9, // ˹ - VSB_TOYOTA_PRADO = 10, // - VSB_TOYOTA_PRIUS = 11, // ˹ - VSB_TOYOTA_RAV4 = 12, // RAV4 - VSB_TOYOTA_REZI = 13, // ־ - VSB_TOYOTA_VIOS = 14, // - VSB_TOYOTA_PREVIA = 15, // ά - VSB_TOYOTA_HIACE = 16, // ʨ - VSB_TOYOTA_86 = 17, // 86 - VSB_TOYOTA_SPEQUOIA = 18, // ɼ - VSB_TOYOTA_LANDCRUISER = 19, // ½Ѳ(¿·) - VSB_TOYOTA_SIENNA = 20, // - VSB_TOYOTA_CAMRYHYBRID = 21, // -HYBRID - VSB_TOYOTA_GRACE = 22, // ˹ - VSB_TOYOTA_ALPHARD = 23, // - VSB_TOYOTA_RAV4_1 = 24, // -RAV4-2012ֶ,2011,2010,2009 - VSB_TOYOTA_RAV4_2 = 25, // -RAV4-2013 - VSB_TOYOTA_86_1 = 26, // -86-δ֪ - VSB_TOYOTA_JIAMEI_2 = 27, // --2001,2000,1999,1998 - VSB_TOYOTA_JIAMEI_3 = 28, // --2004,2003,2002 - VSB_TOYOTA_LANDEKLZ_1 = 29, // -¿·-2011ж,2010,2007 - VSB_TOYOTA_KAIMEIRUI_1 = 30, // --2008,2007,2006 - VSB_TOYOTA_KAIMEIRUI_2 = 31, // --2012 - VSB_TOYOTA_KAIMEIRUI_3 = 32, // --2012,2011,2010,2009 - VSB_TOYOTA_KAIMEIRUI_4 = 33, // --2013,2012 - VSB_TOYOTA_KAIMEIRUI_5 = 34, // --2013 - VSB_TOYOTA_KAIMEIRUI_6 = 35, // --2014,2012 - VSB_TOYOTA_KALUOLA_1 = 36, // --2010,2009,2008,2007,2006 - VSB_TOYOTA_KALUOLA_2 = 37, // --2013,2012,2011 - VSB_TOYOTA_AIERFA_1 = 38, // --2011,2010 - VSB_TOYOTA_AIERFA_2 = 39, // --2013,2012 - VSB_TOYOTA_WEICHI_1 = 40, // --2004,2003 - VSB_TOYOTA_WEICHI_2 = 41, // --2007,2006,2005 - VSB_TOYOTA_WEICHI_3 = 42, // --2009,2008 - VSB_TOYOTA_WEICHI_4 = 43, // --2013,2012,2011,2010 - VSB_TOYOTA_WEICHI_5 = 44, // --2014 - VSB_TOYOTA_PULADUO_1 = 45, // --2007,2006,2005,2004 - VSB_TOYOTA_PULADUO_2 = 46, // --2010 - VSB_TOYOTA_PULADUO_3 = 47, // --2014 - VSB_TOYOTA_PURUIWEIYA_1 = 48, // -ά-2004 - VSB_TOYOTA_PURUIWEIYA_4 = 49, // -ά-2005 - VSB_TOYOTA_PURUIWEIYA_2 = 50, // -ά-2006 - VSB_TOYOTA_PURUIWEIYA_3 = 51, // -ά-2012,2010,2008,2007 - VSB_TOYOTA_KESIDA_1 = 52, // -˹-2007 - VSB_TOYOTA_KESIDA_2 = 53, // -˹-2011 - VSB_TOYOTA_HANLANDA_1 = 54, // --2011,2009 - VSB_TOYOTA_HANLANDA_2 = 55, // --2012 - VSB_TOYOTA_HANLANDA_3 = 56, // --2013 - VSB_TOYOTA_HAISHI_1 = 57, // -ʨ-2001 - VSB_TOYOTA_HUANGGUAN_1 = 58, // -ʹ-1999 - VSB_TOYOTA_HUANGGUAN_2 = 59, // -ʹ-2009,2008,2007,2006,2005 - VSB_TOYOTA_HUANGGUAN_3 = 60, // -ʹ-2010 - VSB_TOYOTA_HUANGGUAN_4 = 61, // -ʹ-2012,2011 - VSB_TOYOTA_HONGSHAN_1 = 62, // -ɼ-δ֪ - VSB_TOYOTA_HUAGUAN_1 = 63, // --2006,2005,2004 - VSB_TOYOTA_HUAGUAN_2 = 64, // --2009,2008,2007 - VSB_TOYOTA_HUAGUAN_3 = 65, // --2011,2010 - VSB_TOYOTA_YIZHI_1 = 66, // --2014,2012,2011 - VSB_TOYOTA_RUIZHI_1 = 67, // -־-2006,2005 - VSB_TOYOTA_RUIZHI_2 = 68, // -־-2009,2008,2007 - VSB_TOYOTA_RUIZHI_3 = 69, // -־-2010Ȱ - VSB_TOYOTA_RUIZHI_4 = 70, // -־-2012,2010 - VSB_TOYOTA_LUDIXUNYANG_1 = 71, // -½Ѳ-δ֪ - VSB_TOYOTA_YALISHI_1 = 72, // -ʿ-2009,2008,2007 - VSB_TOYOTA_YALISHI_2 = 73, // -ʿ-2012,2011,2010 - VSB_TOYOTA_RAV4_3 = 74, // -RAV4-2013,Ӣ,,2012 - VSB_TOYOTA_YARiSL_1 = 75, // -YARiS-L - VSB_TOYOTA_JIAMEI_1 = 76, // --1996 - VSB_TOYOTA_PLATZ_1 = 77, // -PLATZ-1999 - VSB_TOYOTA_LANDEKLZ_2 = 78 // -¿·-2014,2012ж,2012 -}VSB_TOYOTA_CLASS; - -//Ʒ -typedef enum _VSB_FORD_CLASS -{ - VSB_FORD_OTHER = 0, // - VSB_FORD_FOCUS = 1, // ˹ - VSB_FORD_FIESTA = 2, // 껪 - VSB_FORD_SMAX = 3, // ˹ - VSB_FORD_MONDEO = 4, // ɵŷ - VSB_FORD_ECOSPORT = 5, // - VSB_FORD_ESCAPE = 6, // - VSB_FORD_ZHISHENG = 7, // ʤ - VSB_FORD_ESCORT = 8, // ˹ - VSB_FORD_EXPLORER = 9, // ̽ - VSB_FORD_EDGE = 10, // - VSB_FORD_TRANSIT = 11, // ȫ˳ - VSB_FORD_QUANSHUN_1 = 12, // -ȫ˳-δ֪ - VSB_FORD_JIANIANHUA_1 = 13, // -껪-2006,2005,2004 - VSB_FORD_JIANIANHUA_2 = 14, // -껪-2011,2010,2009 - VSB_FORD_JIANIANHUA_3 = 15, // -껪-2013 - VSB_FORD_JIANIANHUA_4 = 16, // -껪-2012 - VSB_FORD_TANXIANZHE_1 = 17, // -̽-2013,2011 - VSB_FORD_FOCUS_1 = 18, // -˹-2005 - VSB_FORD_FOCUS_2 = 19, // -˹-2005 - VSB_FORD_FOCUS_3 = 20, // -˹-2008,2007,2006 - VSB_FORD_FOCUS_4 = 21, // -˹-2013,2012,2011,2009 - VSB_FORD_FOCUS_5 = 22, // -˹-2012 - VSB_FORD_FOCUS_6 = 23, // -˹-2012,ʱ,2011,2010,2009,2008 - VSB_FORD_YIBO_1 = 24, // --2013 - VSB_FORD_YIHU_1 = 25, // --2013 - VSB_FORD_MENGDIOU_1 = 26, // -ɵŷ-2003 - VSB_FORD_MENGDIOU_2 = 27, // -ɵŷ-2005,2004 - VSB_FORD_MENGDIOU_3 = 28, // -ɵŷ-2006 - VSB_FORD_MENGDIOU_4 = 29, // -ɵŷ-2013 - VSB_FORD_MENGDIOU_5 = 30, // -ɵŷ-ʤ-2010,2008,2007 - VSB_FORD_MENGDIOU_6 = 31, // -ɵŷ-ʤ-2011 - VSB_FORD_RUIJIE_1 = 32, // --2012,2011 - VSB_FORD_MAIKESI_1 = 33 // -˹-2008,2007 -}VSB_FORD_CLASS; - -//ղƷ -typedef enum _VSB_NISSAN_CLASS -{ - VSB_NISSAN_OTHER = 0, // - VSB_NISSAN_XTRAIL = 1, // 濥 - VSB_NISSAN_MURANO = 2, // ¥ - VSB_NISSAN_LIVINA = 3, // - VSB_NISSAN_MARCH = 4, // - VSB_NISSAN_TIIDA = 5, // - VSB_NISSAN_TEANA = 6, // - VSB_NISSAN_QASHQAI = 7, // п - VSB_NISSAN_SYLPHY = 8, // - VSB_NISSAN_SUNNY = 9, // - VSB_NISSAN_D22PICKUP = 10, // D22Ƥ - VSB_NISSAN_D22VAN = 11, // D22ʽ - VSB_NISSAN_CABSTAR = 12, // ˹ - VSB_NISSAN_HV200 = 13, // NV200 - VSB_NISSAN_PALADIN = 14, // - VSB_NISSAN_YIDA = 15, // ô - VSB_NISSAN_DUCK = 16, // - VSB_NISSAN_CEFIRO = 17, // - VSB_NISSAN_FENGSHENBLUEBIRD = 18, // - VSB_NISSAN_FENGSHENSUNNY = 19, // - VSB_NISSAN_SUCCE = 20, // ˧ - VSB_NISSAN_FUGA = 21, // - VSB_NISSAN_BLUEBIRD4 = 22, // 4 - VSB_NISSAN_VENUCIA = 23, // - VSB_NISSAN_QUEST = 24, // ʿ - VSB_NISSAN_GENISS = 25, // - VSB_NISSAN_NV200_1 = 26, // ղ-NV200-2013,2012,2011,2010 - VSB_NISSAN_TIANLAI_1 = 27, // ղ--2005,2004 - VSB_NISSAN_TIANLAI_2 = 28, // ղ--2007,2006 - VSB_NISSAN_TIANLAI_3 = 29, // ղ--2010,2008 - VSB_NISSAN_TIANLAI_4 = 30, // ղ--2012,2011 - VSB_NISSAN_TIANLAI_5 = 31, // ղ--2012ưȫ,2011 - VSB_NISSAN_TIANLAI_6 = 32, // ղ--2014,2013 - VSB_NISSAN_QIJUN_1 = 33, // ղ-濥-2010,2008 - VSB_NISSAN_QIJUN_2 = 34, // ղ-濥-2012,2011 - VSB_NISSAN_PALADING_1 = 35, // ղ--2013,2011,2006,2004 - VSB_NISSAN_LOULAN_1 = 36, // ղ-¥-2013,2011 - VSB_NISSAN_LOULAN_2 = 37, // ղ--2010 - VSB_NISSAN_LANNIAO_1 = 38, // ղ--2002 - VSB_NISSAN_LANNIAO_2 = 39, // ղ--2003 - VSB_NISSAN_LANNIAO_3 = 40, // ղ--2004 - VSB_NISSAN_GUISHI_1 = 41, // ղ-ʿ-2005 - VSB_NISSAN_XUANYI_1 = 42, // ղ--2006 - VSB_NISSAN_XUANYI_2 = 43, // ղ--2012,2009,2007 - VSB_NISSAN_XUANYI_3 = 44, // ղ--2014,2012 - VSB_NISSAN_XIAOKE_1 = 45, // ղ-п-2009,2008 - VSB_NISSAN_XIAOKE_2 = 46, // ղ-п-2013,2012,2011 - VSB_NISSAN_SUNNY_3 = 47, // ղ--2004 - VSB_NISSAN_SUNNY_1 = 48, // ղ--2006,2005 - VSB_NISSAN_SUNNY_2 = 49, // ղ--2012,2011 - VSB_NISSAN_YIDA_1 = 50, // ղ-ô-2008,2006,2005 - VSB_NISSAN_YIDA_2 = 51, // ղ-ô-δ֪ - VSB_NISSAN_FENGDU_1 = 52, // ղ--δ֪ - VSB_NISSAN_FENGYA_1 = 53, // ղ--δ֪ - VSB_NISSAN_LIWEI_1 = 54, // ղ--2008,2007 - VSB_NISSAN_LIWEI_2 = 55, // ղ--2009 - VSB_NISSAN_LIWEI_3 = 56, // ղ--2010 - VSB_NISSAN_LIWEI_4 = 57, // ղ--2011,2010,2008 - VSB_NISSAN_JUNYI_1 = 58, // ղ--2006 - VSB_NISSAN_QIDA_1 = 59, // ղ--2006,2005 - VSB_NISSAN_QIDA_2 = 60, // ղ--2009,2008 - VSB_NISSAN_QIDA_3 = 61, // ղ--2013,2012,2011 - VSB_NISSAN_RUIQI_1 = 62 // ղ-Ƥ-2009 -}VSB_NISSAN_CLASS; - -//µƷ -typedef enum _VSB_AUDI_CLASS -{ - VSB_AUDI_OTHER = 0, // - VSB_AUDI_A3 = 1, // µA3 - VSB_AUDI_A4L = 2, // µA4L - VSB_AUDI_A6L = 3, // µA6L - VSB_AUDI_Q3 = 4, // µQ3 - VSB_AUDI_Q5 = 5, // µQ5 - VSB_AUDI_A1 = 6, // µA1 - VSB_AUDI_A4 = 7, // µA4 - VSB_AUDI_A5 = 8, // µA5 - VSB_AUDI_A6 = 9, // µA6 - VSB_AUDI_A7 = 10, // µA7 - VSB_AUDI_A8L = 11, // µA8L - VSB_AUDI_Q7 = 12, // µQ7 - VSB_AUDI_S5 = 13, // µS5 - VSB_AUDI_TT = 14, // µTT - VSB_AUDI_100 = 15, // µ100 - VSB_AUDI_200 = 16, // µ200 - VSB_AUDI_S7 = 17, // µS7 - VSB_AUDI_S8 = 18, // µS8 - VSB_AUDI_100_1 = 19, // µ-100-δ֪ - VSB_AUDI_200_1 = 20, // µ-200-δ֪ - VSB_AUDI_A1_1 = 21, // µ-A1-2014,2013,2012 - VSB_AUDI_A3_1 = 22, // µ-A3-2013,2010ʰ - VSB_AUDI_A3_2 = 23, // µ-A3-2013,2011,2010 - VSB_AUDI_A4_1 = 24, // µ-A4-2005,2000ڰ - VSB_AUDI_A4_2 = 25, // µ-A4-2007,2006,2004 - VSB_AUDI_A4L_1 = 26, // µ-A4L-2013 - VSB_AUDI_A5_1 = 27, // µ-A5-2011,2010 - VSB_AUDI_A6_1 = 28, // µ-A6-1996,1995,1991 - VSB_AUDI_A6L_1 = 29, // µ-A6L-2008,2007,2006,2005 - VSB_AUDI_A6L_2 = 30, // µ-A6L-2011,2010,2009 - VSB_AUDI_A6L_3 = 31, // µ-A6L-2014,2013,2012 - VSB_AUDI_A7_1 = 32, // µ-A7-2014,2013ȡ,2012,2011 - VSB_AUDI_A8L_1 = 33, // µ-A8L-2006 - VSB_AUDI_A8L_2 = 34, // µ-A8L-2009,2008 - VSB_AUDI_A8L_3 = 35, // µ-A8L-2011 - VSB_AUDI_A8L_4 = 36, // µ-A8L-2013,2012 - VSB_AUDI_Q3_1 = 37, // µ-Q3-2014,2013,2012 - VSB_AUDI_Q5_1 = 38, // µ-Q5-2012,2010˶ - VSB_AUDI_Q5_2 = 39, // µ-Q5-2012,2010ԽҰ - VSB_AUDI_Q5_3 = 40, // µ-Q5-2012ȡ,2011,2010,2009 - VSB_AUDI_Q5_4 = 41, // µ-Q5-2013 - VSB_AUDI_Q7_1 = 42, // µ-Q7-2007 - VSB_AUDI_Q7_2 = 43, // µ-Q7-2014,2013 - VSB_AUDI_S7_1 = 44, // µ-S7-2013 - VSB_AUDI_S8_1 = 45, // µ-S8-2013 - VSB_AUDI_TT_2 = 46, // µ-TT-2010,2008,2007 - VSB_AUDI_TT_3 = 47, // µ-TT-2012,2011 - VSB_AUDI_TT_4 = 48, // µ-TT-2013,2013,2011TTS - VSB_AUDI_TT_1 = 49 // µ-TT-2008TTS -}VSB_AUDI_CLASS; - -//ԴƷ -typedef enum _VSB_MAZDA_CLASS -{ - VSB_MAZDA_OTHER = 0, // - VSB_MAZDA_CX5 = 1, // ԴCX5 - VSB_MAZDA_2 = 2, // Դ2 - VSB_MAZDA_3 = 3, // Դ3 - VSB_MAZDA_6 = 4, // Դ6 - VSB_MAZDA_8 = 5, // Դ8 - VSB_MAZDA_COREWING = 6, // - VSB_MAZDA_CX7 = 7, // ԴCX7 - VSB_MAZDA_X5 = 8, // ԴX5 - VSB_MAZDA_5 = 9, // Դ5 - VSB_MAZDA_PREMACY = 10, // Ͽ - VSB_MAZDA_MPV = 11, // ԴMPV - VSB_MAZDA_CX5_1 = 12, // Դ-CX-5-2014,2013,2012 - VSB_MAZDA_CX7_1 = 13, // Դ-CX-7-2014,2013,2011,2010 - VSB_MAZDA_2_1 = 14, // Դ-Mazda2-2011,2009,2008,2007A - VSB_MAZDA_3_1 = 15, // Դ-Mazda3-2004,2002 - VSB_MAZDA_3_2 = 16, // Դ-Mazda3-2009,2007 - VSB_MAZDA_3_3 = 17, // Դ-Mazda3-2012,2010 - VSB_MAZDA_3_4 = 18, // Դ-Mazda3dz-2013,2012 - VSB_MAZDA_5_1 = 19, // Դ-Mazda5-2010,2008,2007 - VSB_MAZDA_5_2 = 20, // Դ-Mazda5-2013,2012,2011 - VSB_MAZDA_6_2 = 21, // Դ-Mazda6-2006 - VSB_MAZDA_6_3 = 22, // Դ-Mazda6-2007 - VSB_MAZDA_8_1 = 23, // Դ-Mazda8-2013,2011,2010 - VSB_MAZDA_PREMACY_1 = 24, // Դ--2003 - VSB_MAZDA_PREMACY_2 = 25, // Դ--2006,2005,2004 - VSB_MAZDA_COREWING_1 = 26, // Դ--2012,2011,2010,2009 - VSB_MAZDA_COREWING_2 = 27, // Դ--2011,2010 - VSB_MAZDA_COREWING_3 = 28, // Դ--2012 - VSB_MAZDA_2_2 = 29, // Դ-Mazda2()-2011,2010,2008 - VSB_MAZDA_6_1 = 30, // Դ-Mazda6-2004 - VSB_MAZDA_6_4 = 31 // Դ-Mazda6-2014,2013,2012,2011,2010 -}VSB_MAZDA_CLASS; - -//ѩƷ -typedef enum _VSB_CHEVROLET_CLASS -{ - VSB_CHEVROLET_OTHER = 0, // - VSB_CHEVROLET_NEWAVEO = 1, // Ψŷ - VSB_CHEVROLET_EPICA = 2, // - VSB_CHEVROLET_CRUZE = 3, // ³ - VSB_CHEVROLET_CAPTIVA = 4, // - VSB_CHEVROLET_MALIBU = 5, // - VSB_CHEVROLET_SAIL = 6, // ŷ - VSB_CHEVROLET_CAMARO = 7, // - VSB_CHEVROLET_LECHENG = 8, // ֳ - VSB_CHEVROLET_LOVA = 9, // ַ - VSB_CHEVROLET_OLDAVEO = 10, // ֳ-ϿΨŷ - VSB_CHEVROLET_SPARK = 11, // ֳ - VSB_CHEVROLET_SAILSRV = 12, // ŷSRV - VSB_CHEVROLET_LOVA_1 = 13, // ѩ-ַ-2009,2008,2007,2006 - VSB_CHEVROLET_LOVA_2 = 14, // ѩ-ַ-2010 - VSB_CHEVROLET_SPARK_1 = 15, // ѩ-ֳ-2010,2009,2006,2005,2004 - VSB_CHEVROLET_SPARK_2 = 16, // ѩ-ֳ-2010˶ - VSB_CHEVROLET_OLDAVEO_1 = 17, // ѩ-ֳ-2005 - VSB_CHEVROLET_OLDAVEO_2 = 18, // ѩ-ֳ-2010,2009,2008 - VSB_CHEVROLET_EPICA_1 = 19, // ѩ--2005 - VSB_CHEVROLET_EPICA_3 = 20, // ѩ--2012,2011,2010 - VSB_CHEVROLET_EPICA_4 = 21, // ѩ--2012,2011,2010 - VSB_CHEVROLET_EPICA_5 = 22, // ѩ--2013 - VSB_CHEVROLET_NEWAVEO_1 = 23, // ѩ-Ψŷ-2013,2012,2011 - VSB_CHEVROLET_CAPTIVA_1 = 24, // ѩ--2010,2008 - VSB_CHEVROLET_CAPTIVA_2 = 25, // ѩ--2014,2013,2012,2011 - VSB_CHEVROLET_KEMAILUO_1 = 26, // ѩ--2012,2011 - VSB_CHEVROLET_CRUZE_1 = 27, // ѩ-³-2014,2013,2012,2011,2010,2009 - VSB_CHEVROLET_SAIL_1 = 28, // ѩ-ŷ-2005 - VSB_CHEVROLET_SAIL_2 = 29, // ѩ-ŷ-2013,2011,2010 - VSB_CHEVROLET_MALIBU_1 = 30, // ѩ--2014,2013,2012 - VSB_CHEVROLET_EPICA_2 = 31 // ѩ--2009,2008,2007 -}VSB_CHEVROLET_CLASS; - -//ѩƷ -typedef enum _VSB_CITROEN_CLASS -{ - VSB_CITROEN_OTHER = 0, // - VSB_CITROEN_C2 = 1, // ѩC2 - VSB_CITROEN_C4L = 2, // ѩC4L - VSB_CITROEN_C5 = 3, // ѩC5 - VSB_CITROEN_ELYSEE = 4, // - VSB_CITROEN_CQUATRELIANGXIANG = 5, // - VSB_CITROEN_CQUATRESANXIANG = 6, // - VSB_CITROEN_SAEAPICASSO = 7, // -ϼ - VSB_CITROEN_PICASSO = 8, // ϼ - VSB_CITROEN_CTRIOMPHE = 9, // - VSB_CITROEN_XSARA = 10, // - VSB_CITROEN_SHENLONGFUKANG = 11, // - VSB_CITROEN_CHANGANDS = 12, // DS - VSB_CITROEN_C2_1 = 13, // ѩ-C2-2012,2010,2008,2007,2006 - VSB_CITROEN_C4L_1 = 14, // ѩ-C4L-2014,2013 - VSB_CITROEN_C4PICASSO_1 = 15, // ѩ-C4ϼ-2009ʰ - VSB_CITROEN_C5_1 = 16, // ѩ-C5-2012,2011,2010 - VSB_CITROEN_CQUATRESANXIANG_1 = 17, // ѩ--2013,2012 - VSB_CITROEN_CQUATRELIANGXIANG_1 = 18, // ѩ--2011,2010,2009,2008 - VSB_CITROEN_CTRIOMPHE_1 = 19, // ѩ--2010,2009,2008,2006 - VSB_CITROEN_FUKANG_1 = 20, // ѩ--2006,2005,2004,2003,2002 - VSB_CITROEN_ELYSEE_1 = 21, // ѩ--2006,2005,2004,2003,2002 - VSB_CITROEN_ELYSEE_2 = 22, // ѩ--2013,2012,2011,2010,2009,2008,2007 - VSB_CITROEN_SAEAPICASSO_1 = 23 // ѩ--ϼ-2014 -}VSB_CITROEN_CLASS; - -//ִƷ -typedef enum _VSB_HYUNDAI_CLASS -{ - VSB_HYUNDAI_OTHER = 0, // - VSB_HYUNDAI_IX35 = 1, // ִIX35 - VSB_HYUNDAI_LANGDONG = 2, // ʶ - VSB_HYUNDAI_MOINCA = 3, // Ԧ - VSB_HYUNDAI_SHENGDA = 4, // ʤ - VSB_HYUNDAI_VERNA = 5, // - VSB_HYUNDAI_RUIYI = 6, // - VSB_HYUNDAI_SONATAEIGHT = 7, // - VSB_HYUNDAI_TUCSON = 8, // ;ʤ - VSB_HYUNDAI_YUEDONG = 9, // ö - VSB_HYUNDAI_ELANTRA = 10, // - VSB_HYUNDAI_GRANDSANTAFE = 11, // - VSB_HYUNDAI_COUPE = 12, // - VSB_HYUNDAI_MATRIX = 13, // - VSB_HYUNDAI_ACCENT = 14, // - VSB_HYUNDAI_IX30 = 15, // ִIX30 - VSB_HYUNDAI_SONATA = 16, // - VSB_HYUNDAI_REFINE = 17, // ִ - VSB_HYUNDAI_MISTRA = 18, // ͼ - VSB_HYUNDAI_SONATAYUFENG = 19, // - - VSB_HYUNDAI_SANTAFE = 20, // ִʥ - VSB_HYUNDAI_HUIYI = 21, // ڻ - VSB_HYUNDAI_I30_1 = 22, // ִ-i30-2010,2009 - VSB_HYUNDAI_IX35_1 = 23, // ִ-ix35-2012,2011,2010 - VSB_HYUNDAI_YILANTE_1 = 24, // ִ--2006,2005,2004 - VSB_HYUNDAI_YILANTE_2 = 25, // ִ--2007 - VSB_HYUNDAI_YILANTE_3 = 26, // ִ--2011 - VSB_HYUNDAI_SHENGDA_1 = 27, // ִ-ȫʤ-2013,2012 - VSB_HYUNDAI_MINGTU_1 = 28, // ִ-ͼ-2014,2013 - VSB_HYUNDAI_MINGYU_1 = 29, // ִ-Ԧ-2013,2011,2009 - VSB_HYUNDAI_SHENGDAFEI_1 = 30, // ִ-ʥ-δ֪ - VSB_HYUNDAI_YUXIANG_1 = 31, // ִ--2005ʰ - VSB_HYUNDAI_YUXIANG_2 = 32, // ִ--2006,2005 - VSB_HYUNDAI_YUEDONG_1 = 33, // ִ-ö-2010,2009,2008 - VSB_HYUNDAI_YUEDONG_2 = 34, // ִ-ö-2012,2011 - VSB_HYUNDAI_SHENGDA_2 = 35, // ִ-ʤ-2009,2006 - VSB_HYUNDAI_SHENGDA_3 = 36, // ִ-ʤ-2012,2011,2010 - VSB_HYUNDAI_LANGDONG_1 = 37, // ִ-ʶ-2013,2012 - VSB_HYUNDAI_GERUI_1 = 38, // ִ--δ֪ - VSB_HYUNDAI_RUIYI_1 = 39, // ִ--2014 - VSB_HYUNDAI_RUINA_1 = 40, // ִ--2013,2010 - VSB_HYUNDAI_RUINA_2 = 41, // ִ--2014,2013,2011 - VSB_HYUNDAI_RUIFENG_1 = 42, // ִ--δ֪ - VSB_HYUNDAI_SUONATA_1 = 43, // ִ--2008,2007,2006,2004,2003׼ - VSB_HYUNDAI_SUONATA_2 = 44, // ִ--2010,2009,2008,2006,2004 - VSB_HYUNDAI_SOUNATA_3 = 45, // ִ--2011,2010 - VSB_HYUNDAI_WEILAKESI_1 = 46, // ִ-ά˹-2012,2010,2008,2007 - VSB_HYUNDAI_MEIJIA_1 = 47, // ִ--δ֪ - VSB_HYUNDAI_JINKOUHUIYI_1 = 48, // ִ-ڻ-δ֪ - VSB_HYUNDAI_TUSHENG_1 = 49, // ִ-;ʤ-2005 - VSB_HYUNDAI_TUSHENG_2 = 50, // ִ-;ʤ-2011,2009,2008,2006 - VSB_HYUNDAI_TUSHENG_3 = 51, // ִ-;ʤ-2013 - VSB_HYUNDAI_KUPAI_1 = 52, // ִ--δ֪ - VSB_HYUNDAI_YASHENTE_1 = 53, // ִ--2008,2006 - VSB_HYUNDAI_YASHENTE_2 = 54, // ִ--2011 - VSB_HYUNDAI_LINGXIANG_1 = 55, // ִ--2009,2008 - VSB_HYUNDAI_FEISI_1 = 56 // ִ-˼-2011 -}VSB_HYUNDAI_CLASS; - -//Ʒ -typedef enum _VSB_CHERY_CLASS -{ - VSB_CHERY_OTHER = 0, // - VSB_CHERY_A1 = 1, // A1 - VSB_CHERY_A3 = 2, // A3 - VSB_CHERY_EASTAR = 3, // ֮ - VSB_CHERY_FULWIN = 4, // - VSB_CHERY_QQ = 5, // QQ - VSB_CHERY_E5 = 6, // E5 - VSB_CHERY_COWIN = 7, // - VSB_CHERY_TIGGO = 8, // - VSB_CHERY_A5 = 9, // A5 - VSB_CHERY_S16 = 10, // S16 - VSB_CHERY_YOUYA = 11, // - VSB_CHERY_V5 = 12, // V5 - VSB_CHERY_E3 = 13, // E3 - VSB_CHERY_A1_1 = 14, // -A1-2011,2008,2007 - VSB_CHERY_A3LIANGXIANG_1 = 15, // -A3-2012,2010,2009 - VSB_CHERY_A5_1 = 16, // -A5-2009,2007,2006 - VSB_CHERY_QQ_1 = 17, // -QQ-2006,2005,2004 - VSB_CHERY_QQ_2 = 18, // -QQ-2010,2007,2006 - VSB_CHERY_QQ_3 = 19, // -QQ-2012,2011,2010,2009,2007 - VSB_CHERY_QQ_4 = 20, // -QQ-2012˶ - VSB_CHERY_QQ_5 = 21, // -QQ-2013 - VSB_CHERY_DONGFANGZHIZI_1 = 22, // -֮-2005,2004,2003 - VSB_CHERY_DONGFANGZHIZI_2 = 23, // -֮-2007,2006 - VSB_CHERY_DONGFANGZHIZI_3 = 24, // -֮CROSS-2009,2008,2007 - VSB_CHERY_YOUYA_1 = 25, // --δ֪ - VSB_CHERY_E3_1 = 26, // -E3-2013 - VSB_CHERY_E5_1 = 27, // -E5-2014,2012,2011 - VSB_CHERY_QIYUN1_1 = 28, // -1-2010 - VSB_CHERY_QIYUN1_2 = 29, // -1-2012 - VSB_CHERY_QIYUN_1 = 30, // --2004 - VSB_CHERY_QIYUN_2 = 31, // --2009,2008,2007,2006 - VSB_CHERY_QIYUN2_1 = 32, // -2-2012 - VSB_CHERY_QIYUN2_2 = 33, // -2-2012,2010 - VSB_CHERY_QIYUN3_1 = 34, // -3-2010 - VSB_CHERY_RUIHU_1 = 35, // --2007,2006,2005 - VSB_CHERY_RUIHU_2 = 36, // --2009,2007 - VSB_CHERY_RUIHU_3 = 37, // --2012,2011 - VSB_CHERY_RUIHU_4 = 38, // --2013,2012ԶDVVT - VSB_CHERY_RUIHU_5 = 39, // --2013Ӣ,2012Ӣ - VSB_CHERY_FENGYUN2SANXIANG_1 = 40, // -2-2010 - VSB_CHERY_AIRUIZE7_1 = 41 // -7-2014,2013 -}VSB_CHERY_CLASS; - -//Ʒ -typedef enum _VSB_KIA_CLASS -{ - VSB_KIA_OTHER = 0, // - VSB_KIA_K2 = 1, // K2 - VSB_KIA_K3 = 2, // K3 - VSB_KIA_K5 = 3, // K5 - VSB_KIA_RIO = 4, // ŷ - VSB_KIA_CERATO = 5, // ͼ - VSB_KIA_SPORTAGER = 6, // ʨ - VSB_KIA_SOUL = 7, // - VSB_KIA_ZHIPAO = 8, // - VSB_KIA_CARENS = 9, // - VSB_KIA_CARNIVAL = 10, // λ - VSB_KIA_OPTIMA = 11, // Զ - VSB_KIA_OPIRUS = 12, // ŷ˹ - VSB_KIA_MAXIMA = 13, // ǧ - VSB_KIA_FORTE = 14, // - VSB_KIA_SORENTO = 15, // - VSB_KIA_K2_1 = 16, // -K2-2013,2012,2011 - VSB_KIA_K3_1 = 17, // -K3-2012 - VSB_KIA_K5_1 = 18, // -K5-2012,2011 - VSB_KIA_RUIOU_1 = 19, // -RIOŷ-2009,2007 - VSB_KIA_QIANLIMA_1 = 20, // -ǧ-2004 - VSB_KIA_QIANLIMA_2 = 21, // -ǧ-2006,2005 - VSB_KIA_JIAHUA_1 = 22, // -λ-δ֪ - VSB_KIA_XINJIALE_1 = 23, // -¼-2011 - VSB_KIA_ZHIPAO_1 = 24, // --2014,2012,2011,2010 - VSB_KIA_SHIPAO_1 = 25, // -ʨ-2008,2007,2005 - VSB_KIA_SHIPAO_2 = 26, // -ʨ-2011,2009 - VSB_KIA_SHIPAO_3 = 27, // -ʨ-2012 - VSB_KIA_SHIPAO_4 = 28, // -ʨ-2013 - VSB_KIA_FURUIDI_1 = 29, // --2012,2011,2009 - VSB_KIA_FURUIDI_2 = 30, // --2014 - VSB_KIA_XIUER_1 = 31, // --2012,2010 - VSB_KIA_SUOLANTUO_1 = 32, // --2006 - VSB_KIA_SUOLANTUO_2 = 33, // --2012,2010,2009 - VSB_KIA_SAILATU_1 = 34, // -ͼ-2006,2005 - VSB_KIA_SAILATU_2 = 35, // -ͼ-2007 - VSB_KIA_SAILATU_3 = 36, // -ͼ-2012,2010GLS - VSB_KIA_YUANJIAN_1 = 37 // -Զ-δ֪ -}VSB_KIA_CLASS; - -//Ʒ -typedef enum _VSB_BENZ_CLASS -{ - VSB_BENZ_OTHER = 0, // - VSB_BENZ_C = 1, // C - VSB_BENZ_E = 2, // E - VSB_BENZ_GLK = 3, // GLK - VSB_BENZ_WEITING = 4, // -PINYIN - VSB_BENZ_SPRINTER = 5, // - VSB_BENZ_VIANO = 6, // Ψŵ - VSB_BENZ_M = 7, // Mϵ - VSB_BENZ_CLK = 8, // CLKϵ - VSB_BENZ_G = 9, // Gϵ - VSB_BENZ_GL = 10, // GLϵ - VSB_BENZ_R = 11, // Rϵ - VSB_BENZ_S = 12, // Sϵ - VSB_BENZ_A = 13, // Aϵ - VSB_BENZ_SMART = 14, // ˹() - VSB_BENZ_B = 15, // Bϵ - VSB_BENZ_SLK = 16, // SLKϵ - VSB_BENZ_MB100 = 17, // MB100 - VSB_BENZ_VITO = 18, // - VSB_BENZ_CLS = 19, // CLSϵ - VSB_BENZ_SL = 20, // SLϵ - VSB_BENZ_AJI_1 = 21, // -A-2011,2009 - VSB_BENZ_AJI_2 = 22, // -A-2013 - VSB_BENZ_BJI_1 = 23, // -B-2010,2009 - VSB_BENZ_CJI_1 = 24, // -C-2010,2008,2007ʱ - VSB_BENZ_CJI_2 = 25, // -C-2013,2011,CGI - VSB_BENZ_CJI_3 = 26, // -C-2013,2011ʱ - VSB_BENZ_EJI_1 = 27, // -E-2002 - VSB_BENZ_EJI_2 = 28, // -E-2007,2006 - VSB_BENZ_EJI_3 = 29, // -E-2013,2012,2011,2010,2009 - VSB_BENZ_EJI_4 = 30, // -E-2013,2012,2011,2010,2009ʱ - VSB_BENZ_GLKJI_1 = 31, // -GLK-2012,2011 - VSB_BENZ_GLKJI_2 = 32, // -GLK-2012,2011,2008 - VSB_BENZ_GLKJI_3 = 33, // -GLK-2014,2013 - VSB_BENZ_GLJI_1 = 34, // -GL-2011 - VSB_BENZ_GLJI_2 = 35, // -GL-2011,2010 - VSB_BENZ_GLJI_3 = 36, // -GL-2012,2010 - VSB_BENZ_GJI_1 = 37, // -G-2013,2010,2009 - VSB_BENZ_MB100_1 = 38, // -MB100-2000 - VSB_BENZ_MLJI_1 = 39, // -ML-2006,2005 - VSB_BENZ_MLJI_2 = 40, // -ML-2010,2008 - VSB_BENZ_MLJI_3 = 41, // -ML-2014,2012 - VSB_BENZ_RJI_1 = 42, // -R-2006 - VSB_BENZ_RJI_2 = 43, // -R-2007 - VSB_BENZ_RJI_3 = 44, // -R-2014,2011,2010,2009 - VSB_BENZ_SLKJI_2 = 45, // -SLK-2006,2004 - VSB_BENZ_SLKJI_3 = 46, // -SLK-2010,2009 - VSB_BENZ_SLKJI_1 = 47, // -SLK-2011 - VSB_BENZ_SJI_1 = 48, // -S-2004 - VSB_BENZ_SJI_2 = 49, // -S-2009_Hybrid,2008,2006 - VSB_BENZ_SJI_3 = 50, // -S-2009,2008 - VSB_BENZ_SJI_4 = 51, // -S-2012,2011,2010 - VSB_BENZ_LINGTE_1 = 52, // --2013,2012,2011 - VSB_BENZ_WEIYANUO_1 = 53, // -Ψŵ-2010,2006,2004 - VSB_BENZ_WEIYANUO_2 = 54, // -Ψŵ-2014,2013,2012,2011 - VSB_BENZ_WEITING_1 = 55, // --2013,2011,2010 - VSB_BENZ_KECHE_1 = 56 // -ͳ1-A -}VSB_BENZ_CLASS; - -//˹´Ʒ -typedef enum _VSB_SKODA_CLASS -{ - VSB_SKODA_OTHER = 0, // - VSB_SKODA_HAORUI = 1, // - VSB_SKODA_FABIA = 2, // - VSB_SKODA_OCTAVIA = 3, // - VSB_SKODA_SUPERB = 4, // - VSB_SKODA_SPACEBACK = 5, // 꿶 - VSB_SKODA_RAPID = 6, // - VSB_SKODA_YETI = 7, // Ұ - VSB_SKODA_HAORUI_1 = 8, // ˹´--2013,2012,2010,2009 - VSB_SKODA_MINGRUI_1 = 9, // ˹´--2009,2008,2007 - VSB_SKODA_MINGRUI_2 = 10, // ˹´--2014,2013,2012,2011,2010 - VSB_SKODA_MINGRUI_3 = 11, // ˹´-RS-2010 - VSB_SKODA_XINRUI_1 = 12, // ˹´--2013ѡ - VSB_SKODA_JINGRUI_1 = 13, // ˹´--2011,2009,2008 - VSB_SKODA_JINGRUI_2 = 14, // ˹´--2014,2013,2012 - VSB_SKODA_JINGRUI_3 = 15, // ˹´--2014,2013,2012Sport - VSB_SKODA_SUPAI_1 = 16, // ˹´--2013 - VSB_SKODA_YEDI_1 = 17 // ˹´-Ұ-2014,2013 -}VSB_SKODA_CLASS; - -//Ʒ -typedef enum _VSB_DONGFENG_CLASS -{ - VSB_DONGFENG_OTHER = 0, // - VSB_DONGFENG_JOYEARX5 = 1, // X5 - VSB_DONGFENG_LINGZHI = 2, // - VSB_DONGFENG_JOYEARX3 = 3, // X3 - VSB_DONGFENG_JOYEAR = 4, // - VSB_DONGFENG_FENGXINGCM7 = 5, // CM7 - VSB_DONGFENG_YUFENG = 6, // - VSB_DONGFENG_FENGSHENA60 = 7, // A60 - VSB_DONGFENG_FENGSHENS30 = 8, // S30 - VSB_DONGFENG_FENGSHENH30CROSS = 9, // H30-CROSS - VSB_DONGFENG_PICKUP = 10, // Ƥ - VSB_DONGFENG_ZHONGXINGMIANBAOCHE = 11, // - VSB_DONGFENG_XIAOXINGMIANBAOCHE = 12, // С - VSB_DONGFENG_ZHONGXINGVAN = 13, // ͻ - VSB_DONGFENG_QINGXINGXIANGSHIVAN = 14, // ʽ - VSB_DONGFENG_QINGZHONGXINGVAN = 15, // ͨ - VSB_DONGFENG_FENGSHENMERCURY = 16, // ˮ - VSB_DONGFENG_SUCCE = 17, // ˧ - VSB_DONGFENG_ODIN = 18, // ¶ - VSB_DONGFENG_YUMSUN = 19, // - VSB_DONGFENG_RUIQI = 20, // - VSB_DONGFENG_FENGGUANG = 21, // - VBR_DONGFENG_C35_1 = 22, // -C35-2013 - VBR_DONGFENG_K07_1 = 23, // -K07-2008 - VBR_DONGFENG_K07_2 = 24, // -K07-2010,2006 - VBR_DONGFENG_V21_1 = 25, // -V21-2011 - VBR_DONGFENG_JIALONG_1 = 26, // --ػ - VBR_DONGFENG_XKFG_1 = 27, // -С-2013 - VBR_DONGFENG_CV03_1 = 28, // -CV03-2012 - VBR_DONGFENG_KAIPUTE_1 = 29, // --C390 - VBR_DONGFENG_DUOLIKA_1 = 30, // --S2800 - VBR_DONGFENG_DUOLIKA_2 = 31, // --XLп - VBR_DONGFENG_DUOLIKA_3 = 32, // --п - VBR_DONGFENG_TIANJIN_1 = 33, // --4X2ػ - VBR_DONGFENG_TIANJIN_2 = 34, // --A - VBR_DONGFENG_XBW_1 = 35, // -С-Ῠ1 - VBR_DONGFENG_XBW_2 = 36, // -С-Ῠ2 - VBR_DONGFENG_MENGKA_1 = 37, // -ο-Ῠ - VBR_DONGFENG_FURUIKA_1 = 38, // --Ῠ1 - VBR_DONGFENG_RUIQI_1 = 39, // -Ƥ-2013,2010,2009 - VBR_DONGFENG_A60_1 = 40, // -A60-2014,2012 - VBR_DONGFENG_H30_1 = 41, // -H30-Cross-2012,2011 - VBR_DONGFENG_H30_2 = 42, // -H30-Cross-2014,2013 - VBR_DONGFENG_H30_3 = 43, // -H30-2012 - VBR_DONGFENG_JINGYI_1 = 44, // --2014_2012LV,2011 - VBR_DONGFENG_JINGYI_2 = 45, // --2014_2012XL,2011,2010,2009,2008,2007 - VBR_DONGFENG_JINGYI_3 = 46, // -X5-2014,2013 - VBR_DONGFENG_LINGZHI_1 = 47, // --2004 - VBR_DONGFENG_LINGZHI_2 = 48, // --2011,2008,2007 - VBR_DONGFENG_LINGZHI_3 = 49, // --2011Q3׼,2010Q7 - VBR_DONGFENG_LINGZHI_4 = 50, // --2014_2013M3 - VBR_DONGFENG_LINGZHI_5 = 51 // --2014_2013V3,2011M3_ð_ -}VSB_DONGFENG_CLASS; - -//ǵƷ -typedef enum _VSB_BYD_CLASS -{ - VSB_BYD_OTHER = 0, // - VSB_BYD_F0 = 1, // ǵF0 - VSB_BYD_F3 = 2, // ǵF3 - VSB_BYD_F3R = 3, // ǵF3R - VSB_BYD_F6 = 4, // ǵF6 - VSB_BYD_G3 = 5, // ǵG3 - VSB_BYD_G3R = 6, // ǵG3R - VSB_BYD_G6 = 7, // ǵG6 - VSB_BYD_L3 = 8, // ǵL3 - VSB_BYD_M6 = 9, // ǵM6 - VSB_BYD_S6 = 10, // ǵS6 - VSB_BYD_SURUI = 11, // - VSB_BYD_FOLEL = 12, // ش - VSB_BYD_SIRUI = 13, // ˼ - VSB_BYD_MT5 = 14, // ǵMT5() - VSB_BYD_F0_1 = 15, // ǵ-F0-2013,2012,2011,2010,2009,2008 - VSB_BYD_F3R_1 = 16, // ǵ-F3R-2011,2009,2008,2007 - VSB_BYD_F6_1 = 17, // ǵ-F6-2011,2009,2008 - VSB_BYD_G3R_1 = 18, // ǵ-G3R-2011 - VSB_BYD_G6_1 = 19, // ǵ-G6-2013,2012,2011 - VSB_BYD_L3_1 = 20, // ǵ-L3-2013,2012,2011,2010 - VSB_BYD_M6_1 = 21, // ǵ-M6-2013,2011,2010 - VSB_BYD_S6_1 = 22, // ǵ-S6-2014,2013,2012,2011 - VSB_BYD_FULAIER_1 = 23, // ǵ--2005 - VSB_BYD_SURUI_1 = 24 // ǵ--2014,2013,2012 -}VSB_BYD_CLASS; - -//ľƷ -typedef enum _VSB_SUZUKI_CLASS -{ - VSB_SUZUKI_OTHER = 0, // - VSB_SUZUKI_ALTO = 1, // - VSB_SUZUKI_SCROSS = 2, // Ԧ - VSB_SUZUKI_SWIFT = 3, // - VSB_SUZUKI_SX4 = 4, // - VSB_SUZUKI_LINGYANG = 5, // - VSB_SUZUKI_BEIDOUXING = 6, // - VSB_SUZUKI_LIANAA6 = 7, // -A6 - VSB_SUZUKI_LANDY = 8, // ˵ - VSB_SUZUKI_SPLASH = 9, // ϲ - VSB_SUZUKI_GRANDVITARA = 10, // ά - VSB_SUZUKI_JIMNY = 11, // ķ - VSB_SUZUKI_KAZASHI = 12, // - VSB_SUZUKI_LIANA = 13, // - VSB_SUZUKI_LIANA_1 = 14, // ľ--2012,2011,2010,2008,2007,2005 - VSB_SUZUKI_LIANA_2 = 15, // ľ--2013,2012,2011 - VSB_SUZUKI_BEIDOUXING_1 = 16, // ľ--2012,2011,2010,2009,2008,2007,2005,2004׼ - VSB_SUZUKI_BEIDOUXING_2 = 17, // ľ--2013,2012,2011,2010,2009,2008,2007,2005,2004,2003 - VSB_SUZUKI_BEIDOUXING_3 = 18, // ľ--2013,2012,2011,2010,2009,2008,2007,2005,2004,2003 - VSB_SUZUKI_BEIDOUXING_4 = 19, // ľ--2013X5 - VSB_SUZUKI_JIMUNI_1 = 20, // ľ-ķ-2011,2010,2009,2007 - VSB_SUZUKI_JIMUNI_2 = 21, // ľ-ķ-2012 - VSB_SUZUKI_SX4_1 = 22, // ľ-SX4-2008,2006 - VSB_SUZUKI_SX4_2 = 23, // ľ-SX4-2010,2009 - VSB_SUZUKI_SX4_3 = 24, // ľ-SX4-2011A,2009,2008,2007 - VSB_SUZUKI_SX4_4 = 25, // ľ-SX4-2011B - VSB_SUZUKI_SX4_5 = 26, // ľ-SX4-2013,2012,2011 - VSB_SUZUKI_ALTO_1 = 27, // ľ--2006,2001,2000,1999,1993׼ - VSB_SUZUKI_ALTO_2 = 28, // ľ--2006,2004,2001,2000,1999,1993 - VSB_SUZUKI_ALTO_3 = 29, // ľ--2013 - VSB_SUZUKI_ALTO_4 = 30, // ľ--2014,2012,2011,2010,2009 - VSB_SUZUKI_SPLASH_1 = 31, // ľ-ϲ-2013,2012,2011 - VSB_SUZUKI_LANDY_1 = 32, // ľ-˵-2011,2010,2007 - VSB_SUZUKI_LINGYANG_2 = 33, // ľ--2006,2004,2003 - VSB_SUZUKI_LINGYANG_3 = 34, // ľ--2009,2008,2007 - VSB_SUZUKI_LINGYANG_4 = 35, // ľ--2011 - VSB_SUZUKI_LINGYANG_5 = 36, // ľ--2012 - VSB_SUZUKI_GRANDVITARA_1 = 37, // ľ-ά-2011,2008,2007,2006 - VSB_SUZUKI_FENGYU_1 = 38, // ľ-Ԧ-2014 - VSB_SUZUKI_SWIFT_1 = 39, // ľ--2011_1.3L,2009,2008,2007,2005 - VSB_SUZUKI_SWIFT_2 = 40, // ľ--2012,2011 - VSB_SUZUKI_KINGCHANG_1 = 41, // ľ--2004 - VSB_SUZUKI_LINGYANG_1 = 42 // ľ--2002 -}VSB_SUZUKI_CLASS; - -//Ʒ -typedef enum _VSB_SGMW_CLASS -{ - VSB_SGMW_OTHER = 0, // - VSB_SGMW_HONGGUANG = 1, // - VSB_SGMW_HONGGUANGS = 2, // S - VSB_SGMW_ZHIGUANG = 3, // ֮ - VSB_SGMW_RONGGUANGS = 4, // ٹS - VSB_SGMW_RONGGUANG = 5, // ٹ - VSB_SGMW_HONGTU = 6, // ; - VSB_SGMW_XINGWANG = 7, // - VSB_SGMW_YANGGUANG = 8, // - VSB_SGMW_XIAOXUANFENG = 9, // С - VSB_SGMW_WULINGZHIGUANG_1 = 10, // -֮-2010,2009ҵ - VSB_SGMW_WULINGZHIGUANG_2 = 11, // -֮-2010̳, - VSB_SGMW_WULINGZHIGUANG_3 = 12, // -֮-2010,2008ʽ,2007 - VSB_SGMW_XINGWANG_1 = 13, // --2003 - VSB_SGMW_XINGWANG_2 = 14, // --2009׼ - VSB_SGMW_XINGWANG_3 = 15, // --2010,2009,2007,2006,2005,2004 - VSB_SGMW_HONNGUANG_1 = 16, // --2013,2010 - VSB_SGMW_HONNGUANG_2 = 17, // --2014,2013S - VSB_SGMW_XIAOXUANFENG_1 = 18, // -С-2006 - VSB_SGMW_YANGGUANG_1 = 19, // --2006,2005,2004 - VSB_SGMW_YANGGUANG_2 = 20, // --2008,2007 - VSB_SGMW_YANGGUANG_3 = 21, // --2009,2006,2005ֶ׼ - VSB_SGMW_RONGGUANG_1 = 22, // -ٹ-2012,2011,2008 - VSB_SGMW_RONGGUANG_2 = 23, // -ٹ-2012,2011,2008׼ - VSB_SGMW_HONGTU_1 = 24 // -;-2010,2009,2008,2007 -}VSB_SGMW_CLASS; - -//Ʒ -typedef enum _VSB_CHANA_CLASS -{ - VSB_CHANA_OTHER = 0, // - VSB_CHANA_HONOR = 1, // ŷŵ - VSB_CHANA_XINGKA = 2, // ǿ - VSB_CHANA_ZHIXING = 3, // ֮ - VSB_CHANA_PICKUP = 4, // С(Ƥ) - VSB_CHANA_ZHIXING2 = 5, // ֮2 - VSB_CHANA_TAURUS = 6, // ţ - VSB_CHANA_XINGGUANG = 7, // ǹ - VSB_CHANA_BENNI = 8, // - VSB_CHANA_ALSVIN = 9, // - VSB_CHANA_CX20 = 10, // CX20 - VSB_CHANA_CX30 = 11, // CX30 - VSB_CHANA_EADO = 12, // ݶ - VSB_CHANA_ZHIXINGS460 = 13, // ֮S460 - VSB_CHANA_CM8 = 14, // CM8 - VSB_CHANA_XINBAO = 15, // ± - VSB_CHANA_XUNLONG = 16, // ѫ - VSB_CHANA_YUNTONG = 17, // ͨ - VSB_CHANA_LEIMENG = 18, // - VSB_CHANA_XINGYUN = 19, // - VSB_CHANA_OULIWEI = 20, // ŷ - VSB_CHANA_EADOXT = 21, // XT - VSB_CHANA_XINGYUN_1 = 22, // --2004,2003,2000 - VSB_CHANA_OULIWEI_1 = 23, // -ŷ-2013 - VSB_CHANA_YUNTONG_1 = 24, // -ͨ-2004 - VSB_CHANA_TAURUS_1 = 25, // -ţ-2013,2012,2011,2010 - VSB_CHANA_LEIMENG_1 = 26, // --2005,2003 - VSB_CHANA_ZHIXING_1 = 27, // -֮-2010,2009 - VSB_CHANA_ZHIXING_2 = 28, // -֮-2013 - VSB_CHANA_ZHIXING_3 = 29, // -֮2-2009,2008 - VSB_CHANA_ZHIXING_4 = 30, // -֮2-2012 - VSB_CHANA_ZHIXING_5 = 31, // -֮S460-2010,2009 - VSB_CHANA_ZHIXING_6 = 32, // -֮SC6350-2003 - VSB_CHANA_PICKUP_1 = 33, // -΢-2013,2012 - VSB_CHANA_XINGGUANG_1 = 34, // -ǹ4500-2009,2007 - VSB_CHANA_XINGGUANG_2 = 35, // -ǹ4500-2012 - VSB_CHANA_HONOR_1 = 36 // -ŷŵ-2014,2012 -}VSB_CHANA_CLASS; - -//γƷ -typedef enum _VSB_EADO_CLASS -{ - VSB_EADO_OTHER = 0, // - VSB_EADO_CS_1 = 1, // γ-CS35-2014,2013,2012 - VSB_EADO_CX_1 = 2, // γ-CX20-2011 - VSB_EADO_CX_2 = 3, // γ-CX30-2010 - VSB_EADO_BENBEN_1 = 4, // γ--2008,2007,2006 - VSB_EADO_BENBEN_2 = 5, // γ--2008,2007˶ - VSB_EADO_BENBEN_3 = 6, // γ--2010 - VSB_EADO_BENBEN_4 = 7, // γ-MINI-2011,2010 - VSB_EADO_BENBEN_5 = 8, // γ-MINI-2012 - VSB_EADO_YUEXIANG_1 = 9, // γ--2011,2010,2009 - VSB_EADO_YUEXIANG_2 = 10, // γ--2012 - VSB_EADO_YUEXIANG_3 = 11, // γ-V3-2013,2012 - VSB_EADO_YUEXIANG_4 = 12, // γ-V5-2012 - VSB_EADO_YIDONG_1 = 13 // γ-ݶ-2014,2013,2012 -}VSB_EADO_CLASS; - -//Ʒ -typedef enum _VSB_JINBEI_CLASS -{ - VSB_JINBEI_OTHER = 0, // - VSB_JINBEI_GRACE = 1, // 𱭸˹ - VSB_JINBEI_HIACE = 2, // 𱭺ʨ - VSB_JINBEI_HAIXING = 3, // - VSB_JINBEI_BADAO = 4, // 𱭰Ե - VSB_JINBEI_LINGQI = 5, // - VSB_JINBEI_JINQI = 6, // - VSB_JINBEI_LINGCHI = 7, // - VSB_JINBEI_QIYUN = 8, // - VSB_JINBEI_ZHISHANG_1 = 9, // -S30-2014,2013,2012 - VSB_JINBEI_HAIXING_1 = 10, // --2012 - VSB_JINBEI_HAIXING_2 = 11, // --2012A7ػ,2011 - VSB_JINBEI_HIACE_1 = 12, // -ʨ-2008 - VSB_JINBEI_HIACE_2 = 13, // -ʨ-2013,2011,2010 - VSB_JINBEI_HIACE_3 = 14, // -ʨ-2013,2011,2008׼ - VSB_JINBEI_JINDIAN_1 = 15, // --2009 - VSB_JINBEI_GRACE_1 = 16, // -˹MPV-2011,2008,2007 - VSB_JINBEI_GRACE_2 = 17, // -˹MPV-2011,2010,2009,2007׼9 - VSB_JINBEI_BADAO_1 = 18 // -ԵSUV-2011,2008 - -}VSB_JINBEI_CLASS; - -//Ʒ -typedef enum _VSB_GEELY_CLASS -{ - VSB_GEELY_OTHER = 0, // - VSB_GEELY_EC7 = 1, // ۺEC7 - VSB_GEELY_EC8 = 2, // ۺEC8 - VSB_GEELY_SC3 = 3, // SC3 - VSB_GEELY_SC5RV = 4, // SC5-RV - VSB_GEELY_SC6 = 5, // SC6 - VSB_GEELY_JINGYING = 6, // ӥ - VSB_GEELY_JINGGANG = 7, // - VSB_GEELY_SX7 = 8, // SX7 - VSB_GEELY_HAOQING = 9, // - VSB_GEELY_MEIRI = 10, // - VSB_GEELY_YINGLUNSC7 = 11, // ӢSC7 - VSB_GEELY_PANDA = 12, // è - VSB_GEELY_YUANJING = 13, // Զ - VSB_GEELY_ZIYOUJIAN = 14 // ɽ -}VSB_GEELY_CLASS; - -//Ʒ -typedef enum _VSB_MITSUBISHI_CLASS -{ - VSB_MITSUBISHI_OTHER = 0, // - VSB_MITSUBISHI_GALANT = 1, // - VSB_MITSUBISHI_ZINGER = 2, // - VSB_MITSUBISHI_LANCER = 3, // ɪ - VSB_MITSUBISHI_LANCEREX = 4, // - VSB_MITSUBISHI_PAJERO = 5, // - VSB_MITSUBISHI_PAJEROSPORT = 6, // - - VSB_MITSUBISHI_JINGXUANASX = 7, // ASX - VSB_MITSUBISHI_GRANDIS = 8, // - VSB_MITSUBISHI_OUTLANDER = 9, // ŷ - VSB_MITSUBISHI_QINXINGYUEYE = 10, // ԽҰ - VSB_MITSUBISHI_GTO = 11, // GTO - VSB_MITSUBISHI_SOVERAN = 12, // - VSB_MITSUBISHI_LIONVEL = 13, // - VSB_MITSUBISHI_HAFEISIMBO = 14, // - VSB_MITSUBISHI_LANCEREX_1 = 15, // --2012,2011,2010 - VSB_MITSUBISHI_JINGXUAN_1 = 16, // --2012,2011 - VSB_MITSUBISHI_ZINGER_1 = 17, // --2011,2009 - VSB_MITSUBISHI_PAJERO_1 = 18, // --2004 - VSB_MITSUBISHI_PAJERO_2 = 19, // --2004 - VSB_MITSUBISHI_PAJERO_3 = 20, // --2010 - VSB_MITSUBISHI_PAJEROSPORT_1 = 21, // -޾-2011 - VSB_MITSUBISHI_GALANT_1 = 22, // --2009 - VSB_MITSUBISHI_GALANDI_1 = 23, // --2007 - VSB_MITSUBISHI_GALANDI_2 = 24, // --2010 - VSB_MITSUBISHI_OUTLANDER_1 = 25, // -ŷ-2012,2011,2010 - VSB_MITSUBISHI_OUTLANDER_2 = 26, // -ŷ-2013 - VSB_MITSUBISHI_LINGYUE_1 = 27, // --δ֪ - VSB_MITSUBISHI_LANCER_1 = 28 // -ɪ-2010 -}VSB_MITSUBISHI_CLASS; - -//׿˹Ʒ -typedef enum _VSB_LEXUS_CLASS -{ - VSB_LEXUS_OTHER = 0, // - VSB_LEXUS_ES = 1, // ׿˹ES - VSB_LEXUS_CT = 2, // ׿˹CT - VSB_LEXUS_RX = 3, // ׿˹RX - VSB_LEXUS_IS = 4, // ׿˹IS - VSB_LEXUS_LX = 5, // ׿˹LX - VSB_LEXUS_GS = 6, // ׿˹GS - VSB_LEXUS_GX = 7, // ׿˹GX - VSB_LEXUS_LS = 8, // ׿˹LS - VSB_LEXUS_CT_1 = 9, // ׿˹-CT-2013,2012,2011 - VSB_LEXUS_ES_1 = 10, // ׿˹-ES-1994 - VSB_LEXUS_ES_2 = 11, // ׿˹-ES-2010,2009,2006 - VSB_LEXUS_ES_3 = 12, // ׿˹-ES-2013,2012 - VSB_LEXUS_GS_1 = 13, // ׿˹-GS-2011,2010,2009,2008,2005 - VSB_LEXUS_GX_1 = 14, // ׿˹-GX-2012,2010 - VSB_LEXUS_IS_1 = 15, // ׿˹-IS-2011 - VSB_LEXUS_LS_1 = 16, // ׿˹-LS-1994 - VSB_LEXUS_LS_2 = 17, // ׿˹-LS-2005,2004 - VSB_LEXUS_LS_3 = 18, // ׿˹-LS-2009,2007,2006 - VSB_LEXUS_LX_1 = 19, // ׿˹-LX-2013,2012 - VSB_LEXUS_RX_1 = 20, // ׿˹-RX-2011,2010,2009 - VSB_LEXUS_RX_2 = 21, // ׿˹-RX-2013,2012 - VSB_LEXUS_RX_3 = 22 // ׿˹-RX-2007 -}VSB_LEXUS_CLASS; - -//Ʒ -typedef enum _VSB_ROEWE_CLASS -{ - VSB_ROEWE_OTHER = 0, // - VSB_ROEWE_350 = 1, // 350 - VSB_ROEWE_550 = 2, // 550 - VSB_ROEWE_W5 = 3, // W5 - VSB_ROEWE_950 = 4, // 950 - VSB_ROEWE_750 = 5, // 750 - VSB_ROEWE_350_1 = 6, // -350-2011Ѹǰ,2010 - VSB_ROEWE_350_2 = 7, // -350-2014,2013,2012,2011 - VSB_ROEWE_550_1 = 8, // -550-2012,2010,2009,2008 - VSB_ROEWE_750_1 = 9, // -750-2009,2008,2007,2006 - VSB_ROEWE_750_2 = 10, // -750-2012,2011 - VSB_ROEWE_950_1 = 11 // -950-2012 -}VSB_ROEWE_CLASS; - - -//Ʒ -typedef enum _VSB_HAIMA_CLASS -{ - VSB_HAIMA_OTHER = 0, // - VSB_HAIMA_PREMARIN = 1, // - VSB_HAIMA_S7 = 2, // S7 - VSB_HAIMA_PRINCE = 3, // - VSB_HAIMA_CUPID = 4, // 2- - VSB_HAIMA_HATCHBACK = 5, // 3- - VSB_HAIMA_KNIGHT = 6, // ʿ - VSB_HAIMA_HAPPIN = 7, // - VSB_HAIMA_FAMILY = 8, // - VSB_HAIMA_M3 = 9, // M3 - VSB_HAIMA_CUPID_1 = 10, // --2012,2011,2010 - VSB_HAIMA_PREMARIN_1 = 11, // --2007 - VSB_HAIMA_PREMARIN_2 = 12, // --2012,2010 - VSB_HAIMA_HATCHBACK_1 = 13, // --2010,2009 - VSB_HAIMA_HAPPIN_1 = 14, // --2010,2009,2008,2007,2004 - VSB_HAIMA_HAPPIN_2 = 15, // --2012,2011 - VSB_HAIMA_M3_1 = 16, // -3-2010,2008,2007 - VSB_HAIMA_FAMILY_1 = 17, // --2007,2006 - VSB_HAIMA_FAMILY_2 = 18, // --2010,2009,2008 - VSB_HAIMA_FAMILY_3 = 19, // --2011 - VSB_HAIMA_FAMILY_4 = 20, // --2014,2013,2012 - VSB_HAIMA_KNIGHT_1 = 21, // -ʿ-2013_2012A,2011,2010 - VSB_HAIMA_KNIGHT_2 = 22, // -ʿ-2013_2012B - VSB_HAIMA_NEWHONGDA_1 = 23, // ó-º-2009 - VSB_HAIMA_NEWHONDGA_2 = 24, // ó-º-2012 - VSB_HAIMA_PRINCE_1 = 25, // ó--2010 - VSB_HAIMA_RONGDA_1 = 26 // ó-ٴ-2012 - -}VSB_HAIMA_CLASS; - -//Ʒ -typedef enum _VSB_GREATWALL_CLASS -{ - VSB_GREATWALL_OTHER = 0, // - VSB_GREATWALL_SING = 1, // Ӱ - VSB_GREATWALL_SAIJUN = 2, // - VSB_GREATWALL_HAVAL = 3, // - VSB_GREATWALL_SAFE = 4, // - VSB_GREATWALL_SAIKU = 5, // - VSB_GREATWALL_SAILING = 6, // - VSB_GREATWALL_KINGDEER = 7, // ϶ - VSB_GREATWALL_DEER = 8, // ϶ - VSB_GREATWALL_WINGLE = 9, // 翥 - VSB_GREATWALL_COOLBEAR = 10, // - VSB_GREATWALL_LINGAO = 11, // - VSB_GREATWALL_CROSS = 12, // - VSB_GREATWALL_GWPERI = 13, // - VSB_GREATWALL_COWRY = 14, // - VSB_GREATWALL_M4 = 15, // M4 - VSB_GREATWALL_LINGAO_1 = 16, // --2010 - VSB_GREATWALL_HAVAL_1 = 17, // -H3-2010,2009 - VSB_GREATWALL_HAVAL_2 = 18, // -H3-2012,2010,2009 - VSB_GREATWALL_HAVAL_3 = 19, // -H5-2012,2011,2010 - VSB_GREATWALL_HAVAL_4 = 20, // -H5-2012,2011,2010̾ - VSB_GREATWALL_HAVAL_5 = 21, // -H5-2012 - VSB_GREATWALL_HAVAL_6 = 22, // -H5-2014,2013 - VSB_GREATWALL_HAVAL_8 = 23, // -H6-2014,2013 - VSB_GREATWALL_HAVAL_9 = 24, // -M2-2010 - VSB_GREATWALL_HAVAL_10 = 25, // -M2-2013,2012 - VSB_GREATWALL_HAVAL_11 = 26, // -M4-2012 - VSB_GREATWALL_HAVAL_12 = 27, // --2011 - VSB_GREATWALL_CROSS_1 = 28, // --2009,2008 - VSB_GREATWALL_CROSS_2 = 29, // -CROSS-2011,2009 - VSB_GREATWALL_JINGLING_1 = 30, // --δ֪ - VSB_GREATWALL_SING_1 = 31, // -Ӱ-2003 - VSB_GREATWALL_SAIKU_1 = 32, // --2004 - VSB_GREATWALL_SAILING_1 = 33, // --δ֪ - VSB_GREATWALL_DIER_1 = 34, // -϶-δ֪ - VSB_GREATWALL_COOLBEAR_1 = 35, // --2010,2009 - VSB_GREATWALL_KINGDEER_1 = 36, // -϶-2008,2007,2004,2003 - VSB_GREATWALL_GREATWALL_1 = 37, // -C20R-2013,2011 - VSB_GREATWALL_GREATWALL_2 = 38, // -C30-2010 - VSB_GREATWALL_GREATWALL_3 = 39, // -C30-2012 - VSB_GREATWALL_GREATWALL_4 = 40, // -C30-2013 - VSB_GREATWALL_GREATWALL_5 = 41, // -C50-2013,2012 - VSB_GREATWALL_GREATWALL_6 = 42, // -V80-2013,2012,2010,2009,2008 - VSB_GREATWALL_WINGLE_1 = 43, // -翥3-2011,2010,2007,2006 - VSB_GREATWALL_WINGLE_2 = 44, // -翥5-2014,2012,2011,2009 - VSB_GREATWALL_HAVAL_7 = 45 // -H6-2013,2012,2011 -}VSB_GREATWALL_CLASS; - -//Ʒ -typedef enum _VSB_DS_CLASS -{ - VSB_DS_OTHER = 0, // - VSB_DS_KUBO_1 = 1, // -Ძ-2011,2010,2009,2008 - VSB_DS_KUWEI_1 = 2, // --2011,2010,2009 - VSB_DS_KUWEI_2 = 3 // --2013 -}VSB_DS_CLASS; - -//·Ʒ -typedef enum _VSB_LANDROVER_CLASS -{ - VSB_LANDROVER_OTHER = 0, // - VSB_LANDROVER_FAXIAN_1 = 1, // ·--2005,2004 - VSB_LANDROVER_FAXIAN_2 = 2, // ·--2013,2011,2010 - VSB_LANDROVER_LANSHENG_1 = 3, // ·-ʤ-2012,2011,2010 - VSB_LANDROVER_LANSHENG_2 = 4, // ·-ʤ-2014,2013,2012,2011 - VSB_LANDROVER_LANSHENG_3 = 5, // ·-ʤ˶-2013,2012,2011,2010 - VSB_LANDROVER_LANSHENG_4 = 6, // ·-ʤ˶-2013Ԧ - VSB_LANDROVER_SXZ_1 = 7 // ·-2-2014,2013,2011 -}VSB_LANDROVER_CLASS; - -//Ʒ -typedef enum _VSB_MG_CLASS -{ - VSB_MG_OTHER = 0, // - VSB_MG_3SW_1 = 1, // MG-MG-3SW-2009,2008 - VSB_MG_MG3_1 = 2, // MG-MG3-2013,2012,2011 - VSB_MG_MG5_1 = 3, // MG-MG5-2014,2013,2012 - VSB_MG_MG6_1 = 4, // MG-MG6-2012,2011 - VSB_MG_MG7_1 = 5, // MG-MG7-2010,2009,2008,2007 -}VSB_MG_CLASS; - -//һƷ -typedef enum _VSB_FAW_CLASS -{ - VSB_FAW_OTHER = 0, // - VSB_FAW_501_1 = 1, //һ-501-Ῠ - VSB_FAW_N3_1 = 2, //һ-N3+-2006 - VSB_FAW_N3_2 = 3, //һ-N3+-2008 - VSB_FAW_JIABAO_1 = 4, //һ-ѱ-2011T50,T57 - VSB_FAW_JIABAO_2 = 5, //һ-ѱ-2000 - VSB_FAW_JIABAO_3 = 6, //һ-ѱ-2006 - VSB_FAW_JIABAO_4 = 7, //һ-ѱ-2012,2011V50ʰ - VSB_FAW_JIABAO_5 = 8, //һ-ѱ-2012,2011V70 - VSB_FAW_JIABAO_6 = 9, //һ-ѱ-2013,2012,2011V52ʵ - VSB_FAW_JIABAO_7 = 10, //һ-ѱ-2014,2013V80 - VSB_FAW_XIALI_1 = 11, //һ--1999,1997 - VSB_FAW_XIALI_2 = 12, //һ-2000-2003,2002 - VSB_FAW_XIALI_3 = 13, //һ-A+-2011,2010,2006,2005 - VSB_FAW_XIALI_4 = 14, //һ-N3-2012 - VSB_FAW_XIALI_5 = 15, //һ-N5-2014,2013,2011,2010,2009 - VSB_FAW_XIALI_6 = 16, //һ-N7-2013 - VSB_FAW_AOWEI_1 = 17, //һ-J5P-2005,2004,2003 - VSB_FAW_AOWEI_2 = 18, //һ-J5P-4X2ǣ,ж - VSB_FAW_AOWEI_3 = 19, //һ-J5P-4X2ǣ,ж - VSB_FAW_AOWEI_4 = 20, //һ-J5P-6X6ԽҰж - VSB_FAW_AOXING_1 = 21, //һ--2004 - VSB_FAW_WEILE_1 = 22, //һ--2004 - VSB_FAW_WEILE_2 = 23, //һ--2008,2007 - VSB_FAW_WEIZI_1 = 24, //һ--2004 - VSB_FAW_WEIZHI_1 = 25, //һ-־V2-2012ֶCROSS - VSB_FAW_WEIZHI_2 = 26, //һ-־V2-2012ԶCROSS,2010 - VSB_FAW_WEIZHI_3 = 27, //һ-־V5-2013,2012 - VSB_FAW_WEIZHI_4 = 28, //һ-־-2009,2008,2007 - VSB_FAW_WEIZHI_5 = 29, //һ-־-2011 - VSB_FAW_XIAOJIEFANG_1 = 30, //һ-С-90,109Ῠ - VSB_FAW_HANWEI_1 = 31, //һ-J5M-4X4ػ - VSB_FAW_HANWEI_2 = 32, //һ-J5M-6X6ǣ,6X4ж - VSB_FAW_HANWEI_3 = 33, //һ-J5M-8X8ж - VSB_FAW_XINDAWEI_1 = 34, //һ-´-2010 - VSB_FAW_XINHANWEI_1 = 35, //һ-º-2011 - VSB_FAW_SENYA_1 = 36, //һ-ɭM80-2012,2011,2009 - VSB_FAW_TENGWEI_1 = 37, //һ-L5M-ؿ - VSB_FAW_JIEFANG_1 = 38, //һ-J4R-A - VSB_FAW_JIEFANG_2 = 39, //һ-J4R-ж,ǣ - VSB_FAW_JIEFANG_3 = 40, //һ-J6-2004 - VSB_FAW_JIEFANG_4 = 41, //һ-J6-ؿ - VSB_FAW_JIEFANG_5 = 42, //һ-J6L-п - VSB_FAW_JIEFANG_6 = 43, //һ-L5-A - VSB_FAW_SAILONG_1 = 44, //һ--п - VSB_FAW_JUNWEI_1 = 45, //һ-J5K-п - VSB_FAW_B50_1 = 46, //һ-B50-2012,2011,2009 - VSB_FAW_B50_2 = 47 //һ-B50-2013 -}VSB_FAW_CLASS; - - -//Ʒ -typedef enum _VSB_SAICMOTOR_CLASS -{ - VSB_SAICMOTOR_OTHER = 0, // - VSB_HONGYAN_JIESHI_1 = 1, // άº-ʨ-2012 - VSB_DATONG_V80_1 = 2 // ͨ-V80-2014,2013,2012,2011 -}VSB_SAICMOTOR_CLASS; - -//Ʒ -typedef enum _VSB_SOUEAST_CLASS -{ - VSB_SOUEAST_OTHER = 0, // - VSB_SOUEAST_V3_1 = 1, // -V3-2011ֵҸ,2010,2009,2008 - VSB_SOUEAST_V3_2 = 2, // -V3-2012 - VSB_SOUEAST_V3_3 = 3, // -V3-2012콢,2011,2010·ɰ - VSB_SOUEAST_V3_4 = 4, // -V3-2012ɰ - VSB_SOUEAST_V5_1 = 5, // -V5-2014,2013,2012 - VSB_SOUEAST_XIWANG_1 = 6, // -ϣ-2011,2010 - VSB_SOUEAST_DELIKA_1 = 7, // --2003,2002 - VSB_SOUEAST_DELIKA_2 = 8, // --2005 - VSB_SOUEAST_DELIKA_3 = 9, // --2008 - VSB_SOUEAST_DELIKA_4 = 10, // --2009 - VSB_SOUEAST_LINGSHUAI_1 = 11, // -˧-2005,2004GLXi - VSB_SOUEAST_FULIKA_1 = 12, // --2005 - VSB_SOUEAST_FULIKA_2 = 13 // --2007 -}VSB_SOUEAST_CLASS; - - -//Ʒ -typedef enum _VSB_ZTE_CLASS -{ - VSB_ZTE_OTHER = 0, // - VSB_ZTE_WEIHU_1 = 1, // --2012,2010 - VSB_ZTE_WEIHU_2 = 2, // -TUV-2010,2006 - VSB_ZTE_WUXIAN_1 = 3, // --2008 - VSB_ZTE_WUXIAN_2 = 4 // --2012,2011,2010,2009 -}VSB_ZTE_CLASS; - - -//лƷ -typedef enum _VSB_ZHONGHUA_CLASS -{ - VSB_ZHONGHUA_OTHER = 0, // - VSB_ZHONGHUA_H230_1 = 1, // л-H230-2012 - VSB_ZHONGHUA_H320_1 = 2, // л-H320-2012 - VSB_ZHONGHUA_H330_1 = 3, // л-H330-2013 - VSB_ZHONGHUA_H530_1 = 4, // л-H530-2012,2011 - VSB_ZHONGHUA_V5_1 = 5, // л-V5-2012,2011 - VSB_ZHONGHUA_ZUNCHI_1 = 6, // л--2004 - VSB_ZHONGHUA_ZUNCHI_2 = 7, // л--2005,2003 - VSB_ZHONGHUA_KUBAO_1 = 8, // л-ᱦ-2007 - VSB_ZHONGHUA_JUNJIE_1 = 9, // л--2010,2009,2008,2007,2006 - VSB_ZHONGHUA_JUNJIE_2 = 10, // л--2012,2011 - VSB_ZHONGHUA_JUNJIECROSS_1 = 11, // л-cross-2010,2009 - VSB_ZHONGHUA_JUNJIEFRV_1 = 12, // л-FRV-2009,2008 - VSB_ZHONGHUA_JUNJIEFRV_2 = 13, // л-FRV-2010 - VSB_ZHONGHUA_JUNJIEFSV_1 = 14, // л-FSV-2009 - VSB_ZHONGHUA_JUNJIEFSV_2 = 15, // л-FSV-2010 - VSB_ZHONGHUA_JUNJIEFSV_3 = 16 // л-FSV-2011 -}VSB_ZHONGHUA_CLASS; - - -//йƷ -typedef enum _VSB_CNHTC_CLASS -{ - VSB_CNHTC_OTHER = 0, // - VSB_CNHTC_HOKA_2 = 1, // й-HOKA-ǣ,ж - VSB_CNHTC_HOWO_1 = 2, // й-HOWO-A7 - VSB_CNHTC_HOWO_2 = 3, // й-HOWO-T7H - VSB_CNHTC_HOWO_3 = 4, // й-HOWO-Ῠ - VSB_CNHTC_HOWO_4 = 5, // й-HOWOؿ-ǣ - VSB_CNHTC_HOWO_5 = 6, // й-HOWOؿ-жA - VSB_CNHTC_HOWO_6 = 7, // й-HOWOؿ-жB - VSB_CNHTC_HOWO_7 = 8, // й-HOWOؿ-ػA - VSB_CNHTC_HOWO_8 = 9, // й-HOWOؿ-ػC - VSB_CNHTC_SITAIERWANG_1 = 10, // й-˹̫-ǣA,ػ,賵 - VSB_CNHTC_HAOHAN_1 = 11, // й--A - VSB_CNHTC_HAOYUN_1 = 12, // й--ǣB,ػ,ж - VSB_CNHTC_JINWANGZI_1 = 13, // й-ؿ-ǣB - VSB_CNHTC_HOKA_1 = 14 // й-HOKA-H7 -}VSB_CNHTC_CLASS; - -//ͨƷ -typedef enum _VSB_ZHONGTONG_CLASS -{ - VSB_ZHONGTONG_OTHER = 0, // - VSB_ZHONGTONG_KAICHI_1 = 1, // ͨͳ-A-A - VSB_ZHONGTONG_LINGYU_1 = 2, // ͨͳ--A - VSB_ZHONGTONG_LINGXIU_1 = 3, // ͨͳ--A - VSB_ZHONGTONG_LINGHANG_1 = 4, // ͨͳ-캽-A - VSB_ZHONGTONG_SHIJI_1 = 5, // ͨͳ--A - VSB_ZHONGTONG_KAIXUAN_1 = 6, // ͨͳ--A - VSB_ZHONGTONG_LINGYUN_1 = 7, // ͨͳ-A-A - VSB_ZHONGTONG_YANGGUANG_1 = 8 // ͨͳ--A -}VSB_ZHONGTONG_CLASS; - - -//Ʒ -typedef enum _VSB_JIULONG_CLASS -{ - VSB_JIULONG_OTHER = 0, // - VSB_JIULONG_JIULONGA5_1 = 1, // -A5-2011 -}VSB_JIULONG_CLASS; - -//̩Ʒ -typedef enum _VSB_ZOTYE_CLASS -{ - VSB_ZOTYE_OTHER = 0, // - VSB_ZOTYE_2008_2 = 1, // ̩-2008-2011,2010,2008 - VSB_ZOTYE_5008_1 = 2, // ̩-5008-2013,2011,2010,2008 - VSB_ZOTYE_Z300_1 = 3, // ̩-Z300-2013,2012 - VSB_ZOTYE_2008_1 = 4 // ̩-2008-2007 -}VSB_ZOTYE_CLASS; - -//άƷ -typedef enum _VSB_NAVECO_CLASS -{ - VSB_NAVECO_OTHER = 0, // - VSB_NAVECO_Daily_1 = 1, // ά-Daily-2006,2004,2003 - VSB_NAVECO_Power_1 = 2, // ά-Power-Daily - VSB_NAVECO_Turbo_1 = 3, // ά-Turbo-Daily-2014,2012,2011 - VSB_NAVECO_Venice_1 = 4, // ά-Venice-2011,2008 - VSB_NAVECO_BAODI_1 = 5, // ά--2012,2009 - VSB_NAVECO_DEYIHUOCHE_1 = 6, // ά--2011 - VSB_NAVECO_DULING_1 = 7 // ά--2010,2009,2007 -}VSB_NAVECO_CLASS; - -//ʱƷ -typedef enum _VSB_PORSCHE_CLASS -{ - VSB_PORSCHE_OTHER = 0, // - VBR_PORSCHE_PANAMERA_1 = 1, // ʱ-panamera-2013,2012,2010 - VBR_PORSCHE_CAYENNE_1 = 2, // ʱ-Cayenne-2014,2013,2011,2010 -}VSB_PORSCHE_CLASS; - - -//˹Ʒ -typedef enum _VSB_CHRYSLER_CLASS -{ - VSB_CHRYSLER_OTHER = 0, // - VSB_CHRYSLER_300C_1 = 1, // ˹-300C-2007,2006,2004 - VSB_CHRYSLER_PTMANBUZHE_1 = 2, // ˹-PT-2007 -}VSB_CHRYSLER_CLASS; - -//Ʒ -typedef enum _VSB_CADILLAC_CLASS -{ - VSB_CADILLAC_OTHER = 0, // - VSB_CADILLAC_ATS_1 = 1, // -ATS-2014 - VSB_CADILLAC_CTS_1 = 2, // -CTS-2012 - VSB_CADILLAC_CTS_3 = 3, // -CTS-2012Ӣ˶,2011,2010,2009,2008 - VSB_CADILLAC_SLS_1 = 4, // -SLS-2007,2006 - VSB_CADILLAC_SLS_2 = 5, // -SLS-2012,2011,2010 - VSB_CADILLAC_SRX_1 = 6, // -SRX-2012,2011,2010,2009 - VSB_CADILLAC_CTS_2 = 7, // -CTS-2012,2009CTS - VSB_CADILLAC_KAILEIDE_1 = 8 // -׵-2011,2010,2008,2007,2006 -}VSB_CADILLAC_CLASS; - - -//KAMAƷ -typedef enum _VSB_KAMA_CLASS -{ - VSB_KAMA_OTHER = 0, // - VSB_KAMA_QINGKA_2 = 1, // KAMA--ῨD - VSB_KAMA_FULAIKA_1 = 2, // KAMA--ῨA - VSB_KAMA_JINYUNKA_1 = 3, // KAMA-˿-Ῠ - VSB_KAMA_JUNWEIKA_1 = 4, // KAMA--2014,2011 - VSB_KAMA_QINGKA_1 = 5 // KAMA--ῨC -}VSB_KAMA_CLASS; - -//Ʒ -typedef enum _VSB_LIFAN_CLASS -{ - VSB_LIFAN_OTHER = 0, // - VSB_LIFAN_320_1 = 1, // -320-2012,2011,2009 - VSB_LIFAN_520_1 = 2, // -520-2007,2006 - VSB_LIFAN_520_2 = 3, // -520-2013,2011,2010,2008 - VSB_LIFAN_620_1 = 4, // -620-2012,2010,2009,2008 - VSB_LIFAN_X60_1 = 5, // -X60-2013,2012,2011 - VSB_LIFAN_FENGSHUN_1 = 6 // -˳-2011 -}VSB_LIFAN_CLASS; - - -//Ʒ -typedef enum _VSB_BEIJING_CLASS -{ - VSB_BEIJING_OTHER = 0, // - VSB_BEIJING_E_1 = 1, // -Eϵ-2014,2013,2012 -}VSB_BEIJING_CLASS; - -//Ʒ -typedef enum _VSB_BEIBEN_CLASS -{ - VSB_BEIBEN_OTHER = 0, // - VSB_BEIBEN_NG80_1 = 1, // -NG80-ؿA - VSB_BEIBEN_NG80_2 = 2, // -NG80-ؿB - VSB_BEIBEN_NG80_3 = 3, // -NG80-ؿC - VSB_BEIBEN_V3_1 = 4, // -V3-V3H1 - VSB_BEIBEN_V3_2 = 5 // -V3-ؿA -}VSB_BEIBEN_CLASS; - -//ͳƷ -typedef enum _VSB_BEIFANG_CLASS -{ - VSB_BEIFANG_OTHER = 0, // - VSB_BEIFANG_A_1 = 1 // ͳ-ͳ1-A -}VSB_BEIFANG_CLASS; - - -//Ʒ -typedef enum _VSB_BAW_CLASS -{ - VSB_BAW_OTHER = 0, // - VSB_BAW_YUSHENG007_1 = 1, // -ʤ007-2013,2011 - VSB_BAW_QILING_1 = 2, // --A - VSB_BAW_LUBA_1 = 3, // -½-2004 - VSB_BAW_QISHI_1 = 4 // -ʿ-2009,2007 -}VSB_BAW_CLASS; - -//Ʒ -typedef enum _VSB_BQWEIWANG_CLASS -{ - VSB_BQWEIWANG_OTHER = 0, // - VSB_BQWEIWANG_205_1 = 1, // -205-2013 - VSB_BQWEIWANG_306_1 = 2 // -306-2014,2013,2011 -}VSB_BQWEIWANG_CLASS; - - -//Ʒ -typedef enum _VSB_SMA_CLASS -{ - VSB_SMA_OTHER = 0, // - VSB_SMA_HAIYU_1 = 1, // --2007,2005,2004 - VSB_SMA_HAIYU_2 = 2, // --2007MB - VSB_SMA_HAISHANG_1 = 3, // --2008,2005 - VSB_SMA_HAIJING_1 = 5, // --2010,2009 - VSB_SMA_HAIXUN_1 = 4, // -Ѹ-2005,2004쭷 - VSB_SMA_HAIXUN_2 = 6, // -Ѹ-2007,2006 -}VSB_SMA_CLASS; - -//Ʒ -typedef enum _VSB_XINGMA_CLASS -{ - VSB_XINGMA_OTHER = 0, // - VSB_XINGMA_XINGKAIMA_1 = 1 // -ǿ-ǣ1,ػ1 -}VSB_XINGMA_CLASS; - -//˫Ʒ -typedef enum _VSB_SHUANGHUAN_CLASS -{ - VSB_SHUANGHUAN_OTHER = 0, // - VSB_SHUANGHUAN_SCEO_1 = 1, // ˫-SCEO-2011,2009,2006,2005 -}VSB_SHUANGHUAN_CLASS; - -//Ʒ -typedef enum _VSB_JEEP_CLASS -{ - VSB_JEEP_OTHER = 0, // - VSB_JEEP_DAQIENUOJI_1 = 1, // -ŵ()-2014,2013,2012,2011 - VSB_JEEP_DAQIENUOJI_2 = 2, // -ŵ()-2014 - VSB_JEEP_ZHINANZHE_1 = 3, // -ָ-2010,2007 - VSB_JEEP_ZHINANZHE_2 = 4, // -ָ-2014,2013,2012,2011 - VSB_JEEP_MUMAREN_1 = 5, // --2012ʹٻ,2011 - VSB_JEEP_MUMAREN_2 = 6, // --2014,2013,2012,2011,2010,2009,2008 - VSB_JEEP_ZIYOUKE = 7, // -ɿ-2014,2013,2012,2011 -}VSB_JEEP_CLASS; - -//Ʒ -typedef enum _VSB_VENUCIA_CLASS -{ - VSB_VENUCIA_OTHER = 0, // - VSB_VENUCIA_D50_1 = 1 // -D50-2014,2013,2012 -}VSB_VENUCIA_CLASS; - -//Ʒ -typedef enum _VSB_HAFEI_CLASS -{ - VSB_HAFEI_OTHER = 0, // - VSB_HAFEI_XINMINYI_1 = 1, // --2010 - VSB_HAFEI_XINMINYI_2 = 2, // --2012 - VSB_HAFEI_MINYI_1 = 3, // --2006 - VSB_HAFEI_MINYI_2 = 4, // --2008 - VSB_HAFEI_SAIBAO_1 = 5, // --2012 - VSB_HAFEI_SAIMA_1 = 6, // --2002 - VSB_HAFEI_SAIMA_2 = 7, // --2004,2003 - VSB_HAFEI_SAIMA_3 = 8, // --2009 - VSB_HAFEI_LUBAO_1 = 9, // -·-2004 - VSB_HAFEI_LUBAO_2 = 10, // -·-2008,2007 - VSB_HAFEI_LUBAO_3 = 11, // -·-2012 - VSB_HAFEI_LUZUNXIAOBAWANG_1 = 12, // -·С-2011,2010 - VSB_HAFEI_RUIYI_1 = 13, // --2009 - VSB_HAFEI_JUNYI_1 = 14 // --2012,2010 -}VSB_HAFEI_CLASS; - -//ƿŷƷ -typedef enum _VSB_TKING_CLASS -{ - VSB_TKING_OTHER = 0, // - VSB_TKING_OUGUAN_1 = 1, // ƿŷ-ŷ-2011 - VSB_TKING_OUGUAN_2 = 2, // ƿŷ-ŷ-ῨB - VSB_TKING_OUTENG_1 = 3, // ƿŷ-ŷ-ῨA - VSB_TKING_FUXING_1 = 4, // ƿŷ--2006 - VSB_TKING_QINGKAWANG_1 = 5, // ƿŷ-Ῠ-Ῠ - VSB_TKING_AFANDA_1 = 6, // ƿŷ--ؿ - VSB_TKING_JUNQI_1 = 7 // ƿŷ--ؿA -}VSB_TKING_CLASS; - -//Ʒ -typedef enum _VSB_DAEWOO_CLASS -{ - VSB_DAEWOO_OTHER = 0, // - VBR_DAEWOO_6960H3_1 = 1 // -6960H3-A -}VSB_DAEWOO_CLASS; - -//Ʒ -typedef enum _VSB_DAYUN_CLASS -{ - VSB_DAYUN_OTHER = 0, // - VBR_DAYUN_ZHONGKA_1 = 1 // -ؿ-A -}VSB_DAYUN_CLASS; - -//Ʒ -typedef enum _VSB_BESTURN_CLASS -{ - VSB_BESTURN_OTHER = 0, // - VSB_BESTURN_B70_1 = 1, // -B70-2009,2007,2006 - VSB_BESTURN_B70_2 = 2, // -B70-2011 - VSB_BESTURN_B70_3 = 3, // -B70-2011Ӣ,2010 - VSB_BESTURN_B70_4 = 4, // -B70-2012 - VSB_BESTURN_B90_1 = 5, // -B90-2012 - VSB_BESTURN_AOXING_1 = 6 // һ--2004 -}VSB_BESTURN_CLASS; - -//Ʒ -typedef enum _VSB_WEILIN_CLASS -{ - VSB_WEILIN_OTHER = 0, // - VSB_WEILIN_H3_1 = 1, // -H3-2011 - VSB_WEILIN_V5_1 = 2, // -V5-2012,2009 - VSB_WEILIN_X5_1 = 3 // -X5-2012,2011,2010 -}VSB_WEILIN_CLASS; - -//ͨƷ -typedef enum _VSB_YUTONG_CLASS -{ - VSB_YUTONG_OTHER = 0, // - VSB_YUTONG_8XI_1 = 1, // ͨ-8ϵ-2012,2005 - VSB_YUTONG_KECHE_1 = 2, // ͨ-ͳ10-2013,2010 - VSB_YUTONG_KECHE_3 = 3, // ͨ-ͳ2-A - VSB_YUTONG_KECHE_4 = 4, // ͨ-ͳ8-2004 - VSB_YUTONG_KECHE_5 = 5, // ͨ-ͳ9-2014 - VSB_YUTONG_KECHE_2 = 6 // ͨ-ͳ12-A -}VSB_YUTONG_CLASS; - -//Ʒ -typedef enum _VSB_ANKAI_CLASS -{ - VSB_ANKAI_OTHER = 0, // - VSB_ANKAI_KECHE_1 = 1, // -ͳ1-A - VSB_ANKAI_KECHE_2 = 2 // -ͳ3-A -}VSB_ANKAI_CLASS; - -//Ʒ -typedef enum _VSB_BAOJUN_CLASS -{ - VSB_BAOJUN_OTHER = 0, // - VSB_BAOJUN_630_1 = 1 // -630-2014,2013,2012,2011 -}VSB_BAOJUN_CLASS; - -//Ʒ -typedef enum _VSB_BINLI_CLASS -{ - VSB_BINLI_OTHER = 0, // - VSB_BINLI_OULU_1 = 1 // -ŷ½-2009,2008 -}VSB_BINLI_CLASS; - -//Ʒ -typedef enum _VSB_TRUMPCHE_CLASS -{ - VSB_TRUMPCHE_OTHER = 0, // - VSB_TRUMPCHE_GA5_1 = 1, // -GA5-2012,2011 - VSB_TRUMPCHE_GA5_2 = 3, // -GA5-2013,2012ԶӢ - VSB_TRUMPCHE_GS5_1 = 2 // -GS5-2014,2013,2012 -}VSB_TRUMPCHE_CLASS; - -// Ʒ -typedef enum _VSB_GONOW_CLASS -{ - VSB_GONOW_OTHER = 0, // - VSB_GONOW_G3_1 = 1, // -G3-2011 - VSB_GONOW_G5_1 = 2, // -G5-2012,2011 - VSB_GONOW_SHUAIJIAN_1 = 4, // -˧-2012,2009 - VSB_GONOW_XINGWANGM1_1 = 3, // -M1-2012 - VSB_GONOW_CAIYUN500_1 = 5 // -500-2010 -}VSB_GONOW_CLASS; - -//Ʒ -typedef enum _VSB_ISUZU_CLASS -{ - VSB_ISUZU_OTHER = 0, // - VSB_ISUZU_ZHONGXINGSHANGYONG_1 = 1, // -ó-2011 - VSB_ISUZU_WUSHILINGPIKA_1 = 2, // -ʮƤ-2009 - VSB_ISUZU_WUSHILINGPIKA_2 = 3, // -ʮƤ-2014,2009 - VSB_ISUZU_JINGJIZHE_1 = 4 // --2004,2002 -}VSB_ISUZU_CLASS; - - -//Ʒ -typedef enum _VSB_KARRY_CLASS -{ - VSB_KARRY_OTHER = 0, // - VSB_KARRY_YOU_2 = 1, // --2013,2012 - VSB_KARRY_YOUJIN_1 = 2, // -ž-2012,2011,2010 - VSB_KARRY_YOUSHENG_1 = 3, // -ʤ-2010 - VSB_KARRY_YOUSHENG_2 = 4, // -ʤ-2012,2011 - VSB_KARRY_YOUYA = 5, // --2012,2011,2007 - VSB_KARRY_YOU_1 = 6 // --2011,2010,2009 -}VSB_KARRY_CLASS; - -//ݱƷ -typedef enum _VSB_GAGUAR_CLASS -{ - VSB_GAGUAR_OTHER = 0, // - VSB_GAGUAR_XF_1 = 1, // ݱ-XF-2014,2013 - VSB_GAGUAR_XJ_1 = 2 // ݱ-XJ-2014,2013,2012,2011,2010 -}VSB_GAGUAR_CLASS; - -//˹³Ʒ -typedef enum _VSB_SUBARU_CLASS -{ - VSB_SUBARU_OTHER = 0, // - VSB_SUBARU_AOHU_1 = 1, // ˹³--2012,2011,2010 - VSB_SUBARU_LISHI_1 = 2, // ˹³-ʨγ-2008,2006 - VSB_SUBARU_LISHI_2 = 3, // ˹³-ʨγ-2011,2010 - VSB_SUBARU_XV_1 = 4, // ˹³-˹³XV-2014,2012 - VSB_SUBARU_SENLINREN_1 = 5, // ˹³-ɭ-2007,2006 - VSB_SUBARU_SENLINREN_2 = 6 // ˹³-ɭ-2012,2011,2010,2009,2008 -}VSB_SUBARU_CLASS; - -//ʱƷ -typedef enum _VSB_ERA_CLASS -{ - VSB_ERA_OTHER = 0, // - VSB_ERA_XIAOKA_1 = 1, // ʱ-С֮-С֮1,2,Q2 - VSB_ERA_XIAOKA_3 = 2, // ʱ-С֮-С֮5 - VSB_ERA_XIAOKA_4 = 3, // ʱ-С֮- - VSB_ERA_KANGRUI_1 = 4, // ʱ--H1 - VSB_ERA_KANGRUI_2 = 5, // ʱ--H3 - VSB_ERA_KANGRUI_3 = 6, // ʱ--K1,KQ1 - VSB_ERA_RUIWO_1 = 7, // ʱ--RC1 - VSB_ERA_RUIWO_2 = 8, // ʱ--RC2 - VSB_ERA_RUIWO_3 = 9, // ʱ--IIῨA - VSB_ERA_JINGANG = 10, // ʱ--568 - VSB_ERA_LINGHANG_1 = 11, // ʱ-캽-캽2 - VSB_ERA_LINGHANG_2 = 12, // ʱ-캽-캽3 - VSB_ERA_YULING_1 = 13, // ʱ-Ԧ-ԦV1 - VSB_ERA_YULING_2 = 14, // ʱ-Ԧ-ԦV5,VQ5 - VSB_ERA_YULING_3 = 15, // ʱ-Ԧ-ԦVQ1,VQ2 - VSB_ERA_YULING_4 = 17, // ʱ-Ԧ- - VSB_ERA_XIAOKA_2 = 17, // ʱ-С֮-С֮3 -}VSB_ERA_CLASS; - -//Ʒ -typedef enum _VSB_CHANGHE_CLASS -{ - VSB_CHANGHE_OTHER = 0, // - VSB_CHANGHE_CH6321_1 = 1, // -CH6321-2000 - VSB_CHANGHE_DANSHUANGPAI_1 = 2, // -µ˫-1999 - VSB_CHANGHE_AIDIER_1 = 3, // -϶-2004 - VSB_CHANGHE_AIDIER_2 = 4, // -϶-2007,2006 - VSB_CHANGHE_FURUIDA_1 = 5 // --2014,2013,2011,2009 -}VSB_CHANGHE_CLASS; - -//ŷƷ -typedef enum _VSB_OPEL_CLASS -{ - VSB_OPEL_OTHER = 0, // - VSB_OPEL_YATE_1 = 1 // ŷ--2010GTCȫ絲,2007,2006 -}VSB_OPEL_CLASS; - -//ԴƷ -typedef enum _VSB_JONWAY_CLASS -{ - VSB_JONWAY_OTHER = 0, // - VSB_JONWAY_A380_1 = 1 // Դ-A380-2010,2009,2008 -}VSB_JONWAY_CLASS; - -//Ʒ -typedef enum _VSB_JIANGNAN_CLASS -{ - VSB_JIANGNAN_OTHER = 0, // - VSB_JIANGNAN_TT_1 = 1 // -TT-2011,2010,2004 -}VSB_JIANGNAN_CLASS; - -//ȫӥƷ -typedef enum _VSB_GLEAGLE_CLASS -{ - VSB_GLEAGLE_OTHER = 0, // - VSB_GLEAGLE_EAGLE_GC7_1 = 1, // ȫӥ-GC7-2013,2012 - VSB_GLEAGLE_EAGLE_GX2_1 = 2, // ȫӥ-GX2-2012,2011 - VSB_GLEAGLE_EAGLE_GX7_1 = 3, // ȫӥ-GX7-2013,2012 - VSB_GLEAGLE_EAGLE_PANDA_1 = 4, // ȫӥ-è-2013,2011,2010,2009 - VSB_GLEAGLE_EAGLE_ZIYOUJIAN_1 = 5, // ȫӥ-ɽ-2009±׼,2007 - VSB_GLEAGLE_EAGLE_ZIYOUJIAN_2 = 6, // ȫӥ-ɽ-2010,2009,2008,2006,2005 - VSB_GLEAGLE_EAGLE_ZIYOUJIAN_3 = 7, // ȫӥ-ɽ-2012,2011 - VSB_GLEAGLE_EAGLE_YUANJING_1 = 8, // ȫӥ-Զ-2011,2010,2009,2008,2006 - VSB_GLEAGLE_EAGLE_YUANJING_2 = 9, // ȫӥ-Զ-2013,2012 -}VSB_GLEAGLE_CLASS; - -//ۺƷ -typedef enum _VSB_EMGRAND_CLASS -{ - VSB_EMGRAND_OTHER = 0, // - VSB_EMGRAND_EC7_2 = 1, // ۺ-EC7-2013 - VSB_EMGRAND_EC7_3 = 2, // ۺ-EC7-RV - VSB_EMGRAND_EC8_1 = 3, // ۺ-EC8-2013,2011,2010 - VSB_EMGRAND_EC7_1 = 4 // ۺ-EC7-2012,2010,2009 -}VSB_EMGRAND_CLASS; - - -//ӢƷ -typedef enum _VSB_ENGLON_CLASS -{ - VSB_ENGLON_OTHER = 0, // - VSB_ENGLON_SC3_1 = 1, // Ӣ-SC3-2012 - VSB_ENGLON_SC5_1 = 2, // Ӣ-SC5-RV-2012 - VSB_ENGLON_SC6_1 = 3, // Ӣ-SC6-2012 - VSB_ENGLON_SC7_1 = 4, // Ӣ-SC7-2013,2012,2011,2010 - VSB_ENGLON_SX7_1 = 5, // Ӣ-SX7-2014,2013 - VSB_ENGLON_JINGANG_1 = 6, // Ӣ--2010,2007,2006 - VSB_ENGLON_JINYING_1 = 7 // Ӣ-ӥ-2011,2010,2008 -}VSB_ENGLON_CLASS; - - -//-Ʒ -typedef enum _VSB_JAC_CLASS -{ - VSB_JAC_OTHER = 0, // - VSB_JAC_TONGYUE_1 = 1, // -ͬ-2012,2010,2008 - VSB_JAC_HEYUE_1 = 2, // --2012,2011,2010 - VSB_JAC_HEYUEA30_2 = 3, // -A30-2013 - VSB_JAC_HEYUERS_3 = 4, // -RS-2012,2011 - VSB_JAC_HAOYUN_1 = 5, // --Ῠ1 - VSB_JAC_WEILING_2 = 6, // --ŰῨ - VSB_JAC_WEILING_3 = 7, // --ػ - VSB_JAC_WEILING_4 = 8, // --Ῠ - VSB_JAC_KECHE_1 = 9, // -ͳ-A - VSB_JAC_BINYUE_1 = 10, // --2010,2008 - VSB_JAC_SHUAILING_2 = 11, // -˧-Ῠ - VSB_JAC_KANGLING_1 = 12, // --Ῠ1 - VSB_JAC_KANGLING_2 = 13, // --Ῠ2 - VSB_JAC_YUEYUE_1 = 14, // --2013,2012,2011,2010 - VSB_JAC_XINGRUI_1 = 15, // --2012,2011 - VSB_JAC_GEERFA_H_1 = 16, // -H-ػ - VSB_JAC_GEERFA_K_2 = 17, // -K-ؿ1 - VSB_JAC_GEERFA_K_3 = 18, // -K-ؿ2 - VSB_JAC_GEERFA_M_4 = 19, // -M-ػ - VSB_JAC_RUIFENG_1 = 20, // --2011,2009,2007ֶ - VSB_JAC_RUIFENG_2 = 21, // --2013,2012,2011,2010,2007,2005 - VSB_JAC_RUIFENG_3 = 22, // -M5-2012,2011 - VSB_JAC_RUIFENG_4 = 23, // -S5-2013 - VSB_JAC_RUIYING_1 = 24, // -ӥ-2009,2007 - VSB_JAC_RUIYING_2 = 25, // -ӥ-2013,2012,2011 - VSB_JAC_JUNLING_2 = 26, // --խ, - VSB_JAC_WEILING_1 = 27, // --ʽῨ - VSB_JAC_SHUAILING_1 = 28, // -˧-ʮ - VSB_JAC_RUILING_1 = 29, // --2012 - VSB_JAC_JUNLING_1 = 30 // --콢 -}VSB_JAC_CLASS; - - -//Ʒ -typedef enum _VSB_JMC_CLASS -{ - VSB_JMC_OTHER = 0, // - VSB_JMC_KAIYUN_1 = 1, // --102,109Ῠ - VSB_JMC_KAIYUN_2 = 2, // --95Ῠ - VSB_JMC_YUHU_1 = 3, // --2012 - VSB_JMC_BAODIAN_1 = 4, // --2007 - VSB_JMC_BAODIAN_2 = 5, // --2009׼,2008 - VSB_JMC_BAODIAN_3 = 6, // --2014,2012,2009 - VSB_JMC_BAOWEI_1 = 7, // --2005 - VSB_JMC_BAOWEI_2 = 8, // --2009 - VSB_JMC_QUANSHUN_1 = 9, // -ȫ˳-2010,2008 - VSB_JMC_QUANSHUN_2 = 10, // -ȫ˳-2006 - VSB_JMC_QUANSHUN_3 = 11, // -ȫ˳-2013,2011,2010 - VSB_JMC_SHUNDA_1 = 12, // -˳-2004,2003 - VSB_JMC_SHUNDA_2 = 13, // -˳-2011,2010,2008 - VSB_JMC_YUSHENG_1 = 14, // -Ԧʤ-2013 - VSB_JMC_YUSHENG_2 = 15 // -Ԧʤ-2013ֶװ,2012,2011 -}VSB_JMC_CLASS; - -// ֶƷ -typedef enum _VSB_VOLVO_CLASS -{ - VSB_VOLVO_OTHER = 0, // - VSB_VOLVO_C30_1 = 1, // ֶ-C30-2013,2012,2011,2010 - VSB_VOLVO_S40_1 = 2, // ֶ-S40-2012,2011,2010,2009,2008,2007 - VSB_VOLVO_S60_1 = 3, // ֶ-S60-2003 - VSB_VOLVO_S60_2 = 4, // ֶ-S60-2013,2012,2011 - VSB_VOLVO_S80L_1 = 5, // ֶ-S80L-2012,2011,2010,2009 - VSB_VOLVO_XC60_1 = 6, // ֶ-XC60-2013,2012,2011,2010,2009 - VSB_VOLVO_XC90_1 = 7 // ֶ-XC90-2013,2012,2011,2008 -}VSB_VOLVO_CLASS; - -// Ʒ -typedef enum _VSB_HIGER_CLASS -{ - VSB_HIGER_OTHER = 0, // - VSB_HIGER_H8_1 = 1, // -H8-A - VSB_HIGER_H92_1 = 2, // -H92-A - VSB_HIGER_V7_1 = 3, // -V7,V8-2006 - VSB_HIGER_KECHE_1 = 4, // -ͳ5-A - VSB_HIGER_LONGWEI_1 = 5, // --2012,2011 - VSB_HIGER_H7V_1 = 6 // -H7V-2010 -}VSB_HIGER_CLASS; - -// Ʒ -typedef enum _VSB_RUILIN_CLASS -{ - VSB_RUILIN_OTHER = 0, // - VSB_RUILIN_G3_1 = 1, // -G3-2012,2010 - VSB_RUILIN_G5_1 = 2, // -G5-2012,2011,2010 - VSB_RUILIN_M1_1 = 3, // -M1-2013,2011,2010,2009 - VSB_RUILIN_X1_1 = 4, // -X1-2012A,2011,2010 - VSB_RUILIN_X1_2 = 5 // -X1-2012B -}VSB_RUILIN_CLASS; - -// Ʒ -typedef enum _VSB_SHENLONG_CLASS -{ - VSB_SHENLON_OTHER = 0, // - VSB_SHENLONG_KECHE_1 = 1 //ͳ-ͳ4-A -}VSB_SHENLONG_CLASS; - -// Ʒ -typedef enum _VSB_FOTON_CLASS -{ - VSB_FOTON_OTHER = 0, // - VSB_FOTON_AOLING_1 = 1, // --п - VSB_FOTON_AOLING_2 = 2, // --ʽ - VSB_FOTON_AOLING_3 = 3, // --TX,CTX - VSB_FOTON_OUMAN_1 = 4, // -ŷ-GTL6ϵB - VSB_FOTON_OUMAN_2 = 5, // -ŷ-TX6ϵ,9ϵ - VSB_FOTON_OUMAN_3 = 6, // -ŷ-ŷؿ1 - VSB_FOTON_OUMAN_4 = 7, // -ŷ-ʨ6ϵ,9ϵ - VSB_FOTON_OUHUI_1 = 8, // -ŷԿͳ-D - VSB_FOTON_OUMAKE_1 = 9, // -ŷ-3ϵ - VSB_FOTON_OUMAKE_2 = 10, // -ŷ-5ϵ - VSB_FOTON_SAPU_1 = 11, // --2011 - VSB_FOTON_SAPU_3 = 12, // --2011͹ - VSB_FOTON_MENGPAIKE_1 = 13, // -ɿ-2013 - VSB_FOTON_MIDI_1 = 14, // -Ե-2011,2009 - VSB_FOTON_FENGJING_1 = 15, // -羰ϵ-2012,2011,2009 - VSB_FOTON_SAPU_2 = 16 // --2011Z7 -}VSB_FOTON_CLASS; - -//Ʒ -typedef enum _VSB_FODAY_CLASS -{ - VSB_FODAY_OTHER = 0, // - VSB_FODAY_CHAOREN_1 = 1, // -СƤ-2009,2006 - VSB_FODAY_CHAOREN_2 = 2, // -СƤ-2011 - VSB_FODAY_TANSUOZHE_1 = 3, // -̽6-2013,2011,2010 - VSB_FODAY_TANSUOZHE_2 = 4, // -̽ߢ-2011,2010,2009 - VSB_FODAY_TANSUOZHE_3 = 5, // -̽ߢ-2011,2004 - VSB_FODAY_XIONGSHI_1 = 6 // -ʨF16Ƥ-2012 -}VSB_FODAY_CLASS; - -// Ʒ -typedef enum _VSB_HONGQI_CLASS -{ - VSB_HONGQI_OTHER = 0, // - VSB_HONGQI_MINGSHI_1 = 1 // --2007,2003,2001,2000,1999 -}VSB_HONGQI_CLASS; - - -// ǽ Ʒ -typedef enum _VSB_LUXGEN_CLASS -{ - VSB_LUXGEN_OTHER = 0, // - VSB_LUXGEN_DASEVEN_1 = 1 // ǽ-7-SUV -}VSB_LUXGEN_CLASS; - -// Ʒ -typedef enum _VSB_XIALI_CLASS -{ - VSB_XIALI_OTHER = 0, // - VSB_XIALI_QIBING_1 = 1, // ()--2010 -}VSB_XIALI_CLASS; - -// ۿͳƷ -typedef enum _VSB_SHUCHI_CLASS -{ - VSB_SHUCHI_OTHER = 0, // - VSB_SHUCHI_A_1 = 1 // ۿͳ-ͳ-A -}VSB_SHUCHI_CLASS; - -//ӢƷ -typedef enum _VSB_INFINITI_CLASS -{ - VSB_INFINITI_OTHER = 0, // - VSB_INFINITI_EX_1 = 1, // Ӣ-EX-2013,2011,2010,2009,2008 - VSB_INFINITI_FX_1 = 2, // Ӣ-FX-2007 - VSB_INFINITI_FX_2 = 3, // Ӣ-FX-2011,2010,2009 - VSB_INFINITI_FX_3 = 4, // Ӣ-FX-2013,2012FX35 - VSB_INFINITI_G_1 = 5, // Ӣ-G-2013,2010 - VSB_INFINITI_JX_1 = 6 // Ӣ-JX-2013,2011 -}VSB_INFINITI_CLASS; - - -// Ʒ -typedef enum _VSB_LOTUS_CLASS -{ - VSB_LOTUS_OTHER = 0, // - VSB_LOTUS_L3_1 = 1, // -L3-2010,2009 - VSB_LOTUS_L3_2 = 2 // -L5-2012,2011 -}VSB_LOTUS_CLASS; - -//Ʒ -typedef enum _VSB_FIAT_CLASS -{ - VSB_FIAT_OTHER = 0, // - VSB_FIAT_FEIYUE_1 = 1 // -Ծ-2014,2013,2012 -}VSB_FIAT_CLASS; - -//کƷ -typedef enum _VSB_OGA_CLASS -{ - VSB_OGA_OTHER = 0, // - VSB_OGA_MDX_1 = 1, // ک-MDX-2010 - VSB_OGA_MDX_2 = 2 // ک-MDX-2011 -}VSB_OGA_CLASS; - - - -// ԾƷ -typedef enum _VSB_YUEJIN_CLASS -{ - VSB_YUEJIN_OTHER = 0, // - VSB_YUEJIN_SHUAIHU_1 = 1, // Ծ-˧-H100,H300 - VSB_YUEJIN_CAISHEN_1 = 2, // Ծ--S100 - VSB_YUEJIN_CAISHEN_2 = 3, // Ծ--S300 - VSB_YUEJIN_CAISHEN_3 = 4 // Ծ--S500 -}VSB_YUEJIN_CLASS; - -//ҰƷ -typedef enum _VSB_YEMA_CLASS -{ - VSB_YEMA_OTHER = 0, // - VSB_YEMA_F99_1 = 1 // Ұ-F99-2012,2011,2010,2009 -}VSB_YEMA_CLASS; - -//Ʒ -typedef enum _VSB_SZKINGLONG_CLASS -{ - VSB_SZKINGLONG_OTHER = 0, // - VSB_SZKINGLONG_BUS11_1 = 1, // -ͳ11-A - VSB_SZKINGLONG_BUS12_1 = 2, // -ͳ12-A - VSB_SZKINGLONG_BUS13_1 = 3, // -ͳ13-A - VSB_SZKINGLONG_BUS14_1 = 4, // -ͳ14-A - VSB_SZKINGLONG_BUS16_1 = 5, // -ͳ16-A - VSB_SZKINGLONG_BUS18_1 = 6, // -ͳ18-A - VSB_SZKINGLONG_BUS1_1 = 7, // -ͳ1-A - VSB_SZKINGLONG_BUS20_1 = 8, // -ͳ20-A - VSB_SZKINGLONG_BUS2_1 = 9, // -ͳ2-A - VSB_SZKINGLONG_BUS5_1 = 10, // -ͳ5-A - VSB_SZKINGLONG_BUS6_1 = 11, // -ͳ6-A - VSB_SZKINGLONG_BUS9_1 = 12, // -ͳ9-A - VSB_SZKINGLONG_BUS10_1 = 13, // -ͳ10-A - VSB_SZKINGLONG_BUS15_1 = 14 // -ͳ15-A -}VSB_SZKINGLONG_CLASS; - -//ԱƷ -typedef enum _VSB_CHANGFENG_CLASS -{ - VSB_CHANGFENG_OTHER = 0, // - VSB_CHANGFENG_CS7_1 = 1, // Ա-CS7-2009 - VSB_CHANGFENG_QIBING_1 = 2, // Ա--2010,2009 - VSB_CHANGFENG_LIEBAO_1 = 3, // Ա-ԱCS6-2010,2008 - VSB_CHANGFENG_FULING_1 = 4, // Ա-Ƥ-A - VSB_CHANGFENG_FEIYANG_1 = 5, // Ա-Ƥ-2010,2009,2005 - VSB_CHANGFENG_FEITENG_1 = 6, // Ա--2010,2009,2006 - VSB_CHANGFENG_BLACKJINGANG_1 = 7, // Ա-ڽ-2013,2010,2009,2008,2006 -}VSB_CHANGFENG_CLASS; - -//½Ʒ -typedef enum _VSB_LUFENG_CLASS -{ - VSB_LUFENG_OTHER = 0, // - VSB_LUFENG_X6_1 = 1, // ½-X6-2005 - VSB_LUFENG_X6_2 = 2, // ½-X6-2006 - VSB_LUFENG_X6_3 = 3, // ½-X6-2011,2010,2008,2007 - VSB_LUFENG_LUFENGX5_1 = 4, // ½-½X5-2013 - VSB_LUFENG_LUFENGX8_1 = 5, // ½-½X8-2013,2012,2011,2009 - VSB_LUFENG_LUFENGX8_2 = 6, // ½-½X8-2014,2012̽ - VSB_LUFENG_FENGHUA_1 = 7, // ½-绪-2008,2007 - VSB_LUFENG_X6_4 = 8, // ½-X6-2011 - VSB_LUFENG_FENGSHANG_1 = 9 // ½--2011,2006 -}VSB_LUFENG_CLASS; - -//ؿƷ -typedef enum _VSB_SHANQI_CLASS -{ - VSB_SHANQI_OTHER = 0, // - VSB_SHANQI_AOLONG_1 = 1, // ؿ--ؿA - VSB_SHANQI_AOLONG_2 = 2, // ؿ--ؿB - VSB_SHANQI_DELONG_1 = 3, // ؿ-F2000-4X2ǣ - VSB_SHANQI_DELONG_2 = 4, // ؿ-F3000-B - VSB_SHANQI_DELONG_3 = 5, // ؿ-M3000-ؿ -}VSB_SHANQI_CLASS; - - -//ҰƷ -typedef enum _VSB_RENAULT_CLASS -{ - VSB_RENAULT_OTHER = 0, // - VSB_RENAULT_MEIGANNA_1 = 1, // ŵ-÷-2006 - VSB_RENAULT_KELEIAO_1 = 2, // ŵ-װ-2010,2009 - VSB_RENAULT_KELEIAO_2 = 3, // ŵ-װ-2013,2012 - VSB_RENAULT_SCENE_1 = 4, // ŵ-羰-2007 - VSB_RENAULT_FENGLANG_1 = 5, // ŵ--2011 - VSB_RENAULT_TAFEIKE_1 = 6 // ŵ-ƿ-2004 -}VSB_RENAULT_CLASS; - -//ƺƷ -typedef enum _VSB_HUANGHAI_CLASS -{ - VSB_HUANGHAI_OTHER = 0, // - VSB_HUANGHAI_DACAISHEN_1 = 1, // ƺ--2013,2012 - VSB_HUANGHAI_DACAISHEN_2 = 2, // ƺ--2013,2012,2011,2010,2009Ͱ - VSB_HUANGHAI_BUS4_1 = 3, // ƺ-ͳ4-2012,2011 - VSB_HUANGHAI_CHALLENGER_1 = 4, // ƺ-ս-2011,2010,2009,2008 - VSB_HUANGHAI_AOLONGCUV_1 = 5, // ƺ-CUV-2010,2009 - VSB_HUANGHAI_AOJUN_1 = 6, // ƺ--2009 - VSB_HUANGHAI_AOJUN_2 = 7, // ƺ--2010,2009 - VSB_HUANGHAI_QISHENGV3_1 = 8, // ƺ-ʤV3-2011 - VSB_HUANGHAI_LINGHANGZHE_1 = 9, // ƺ-캽-2007,2005 - VSB_HUANGHAI_FENGCHI_1 = 10 // ƺ--A -}VSB_HUANGHAI_CLASS; - -/********************ƷEnd*************************/ - -//Ϣ -typedef struct tagNET_DVR_VEHICLE_INFO_ -{ - DWORD dwIndex; // - BYTE byVehicleType; // 0 ʾͣ1 ʾСͳ2 ʾͳ ,3ʾ˴ ,4ʾֳ 5ʾֳ(3.5Ver) 6ʾ - BYTE byColorDepth; //ɫdz - BYTE byColor; //ɫ,οVCR_CLR_CLASS - /*״쳣״̬ - 0~״ - 1~״ - 2~״һֱijһͬٶֵ - 3~״ͳΪ0 - 4~״ͳݹ߹С - */ - BYTE byRadarState; - WORD wSpeed; //λkm/h - WORD wLength; //ǰһij - /*Υͣ0-1-٣2-٣3-У4-,5-ѹ,6-7-· - 8-ռǣ9-Υ10- 11-Υ12-·ͣ13-̵ͣ, 14-δ(Υ1357), - 15-Υͣ16-Υµͷ,17-ռӦ,18-,19-,20-ѹ,21-δϵȫ,22-˴,23-,24-ΥʹԶƣ - 25-ʻʱֳֵ绰26-תֱУ27-תת28-ͷֱУ29-Сת, 30-̵ƣ31-δͷ - 32-ǻˣ33-ǻռû34-ǻɡ, 35-̳, 36-,37-ѹͣ,38-λͣ,39-ѹҿλͣ, - 40-ҷ·,41-뻷·δ·ڵĻ,42-ѵ·δ,43-ռ,44-ը,45- - */ - BYTE byIllegalType; - BYTE byVehicleLogoRecog; //οö VLR_VEHICLE_CLASS - BYTE byVehicleSubLogoRecog; //Ʒʶ𣻲οVSB_VOLKSWAGEN_CLASSö١ - BYTE byVehicleModel; //Ʒ0-δ֪ο"Ʒ.xlsx" - BYTE byCustomInfo[16]; //ԶϢ - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" (ֶμbyVehicleLogoRecog); - BYTE byIsParking;//Ƿͣ 0-Ч1-ͣ2-δͣ - BYTE byRes;//ֽ - DWORD dwParkingTime; //ͣʱ䣬λs - BYTE byBelieve; //byIllegalTypeŶȣ1-100 - BYTE byCurrentWorkerNumber;//ǰҵ - BYTE byCurrentGoodsLoadingRate;//ǰװ 0- 1- 2- 3- 4- - BYTE byDoorsStatus;//״̬ 0-Źر 1-ſ - BYTE byRes3[4]; -}NET_DVR_VEHICLE_INFO, *LPNET_DVR_VEHICLE_INFO; - -//Ƽ -typedef struct tagNET_DVR_PLATE_RESULT -{ - DWORD dwSize; //ṹ - BYTE byResultType; //0-Ƶʶ1ͼʶ 2 10Mʱ· - BYTE byChanIndex; //ͨ - WORD wAlarmRecordID; //¼ID(ڲѯ¼񣬽byResultTypeΪ2ʱЧ) - DWORD dwRelativeTime; //ʱ - BYTE byAbsTime[32]; //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999룩 - DWORD dwPicLen; //ͼƬ(ͼ) - DWORD dwPicPlateLen; //СͼƬ - DWORD dwVideoLen; //¼ݳ - BYTE byTrafficLight; //0-Ǻ̵ץģ1-̵ʱץģ2-ʱץ - BYTE byPicNum; //ĵͼƬ - BYTE byDriveChan; // - BYTE byVehicleType; //ͣοVTR_RESULT - DWORD dwBinPicLen; //ƶֵͼ - DWORD dwCarPicLen; //ԭͼ - DWORD dwFarCarPicLen; //Զͼ - BYTE *pBuffer3; //ƶֵͼ - BYTE *pBuffer4; //ԭͼ - BYTE *pBuffer5; //Զͼ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byCarDirectionType; //ʻķ0ʾ£1ʾϣʵʳʻ֣,2ʾδ֪ - BYTE byRes3[6]; - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE *pBuffer1; // ϴͼƬ(ͼ)ָָͼƬϢϴƵָָƵϢͼƬƵϢNULL(DVSͼ) - BYTE *pBuffer2; // ϴͼƬ(ͼ)ʱָͼƬָ루DVSƲͼ -}NET_DVR_PLATE_RESULT, *LPNET_DVR_PLATE_RESULT; -//ͼƬݺ¼ݣֻһ֣ͼƬΪͼƬ+СͼƬ - -typedef struct tagNET_VPD_SHUTTER -{ - DWORD dwCommmand; //:0, 1, 2, 3, 4,ֱֵ - DWORD dwCode; //ֵ, dwCommmandΪ4, òΪ - BYTE byRes[60]; // -}NET_VPD_SHUTTER, *LPNET_VPD_SHUTTER; - -//ͼϢ -typedef struct tagNET_DVR_IMAGEOVERLAYCFG -{ - DWORD dwSize; - BYTE byOverlayInfo;//ʹܿأ0-ӣ1- - BYTE byOverlayMonitorInfo;//ǷʾϢ0-ӣ1- - BYTE byOverlayTime;//Ƿʱ䣬0-ӣ1- - BYTE byOverlaySpeed;//Ƿٶȣ0-ӣ1- - BYTE byOverlaySpeeding;//Ƿӳٱ0-ӣ1- - BYTE byOverlayLimitFlag;//Ƿٱ־0-ӣ1- - BYTE byOverlayPlate;//Ƿӳƺţ0-ӣ1- - BYTE byOverlayColor;//Ƿӳɫ0-ӣ1- - BYTE byOverlayLength;//Ƿӳ0-ӣ1- - BYTE byOverlayType;//Ƿӳͣ0-ӣ1- - BYTE byOverlayColorDepth;//Ƿӳɫdz0-ӣ1- - BYTE byOverlayDriveChan;//Ƿӳ0-ӣ1- - BYTE byOverlayMilliSec; //ӺϢ 0-ӣ1- - BYTE byOverlayIllegalInfo; //ΥϢ 0-ӣ1- - BYTE byOverlayRedOnTime; //Ӻʱ 0-ӣ1- - BYTE byFarAddPlateJpeg; //ԶͼǷӳƽͼ,0-,1- - BYTE byNearAddPlateJpeg; //ͼǷӳƽͼ,0-,1- - BYTE byRes1[3]; // - BYTE byMonitorInfo1[32]; //ʾϢ1 - BYTE byMonitorInfo2[44]; //Ϣ2 - BYTE byRes2[52]; // -}NET_DVR_IMAGEOVERLAYCFG, *LPNET_DVR_IMAGEOVERLAYCFG; - -//IOץĹ -typedef struct tagNET_DVR_SNAPCFG -{ - DWORD dwSize; - BYTE byRelatedDriveWay;//IOij - BYTE bySnapTimes; //ȦץĴ0-ץģ0-ĴĿǰ5 - WORD wSnapWaitTime; //ץĵȴʱ䣬λmsȡֵΧ[0,60000] - WORD wIntervalTime[MAX_INTERVAL_NUM];//ļʱ䣬ms - DWORD dwSnapVehicleNum; //ץijš - NET_DVR_JPEGPARA struJpegPara;//ץͼƬ - BYTE byRes2[16];//ֽ -}NET_DVR_SNAPCFG, *LPNET_DVR_SNAPCFG; - -typedef enum _ITC_MAINMODE_ABILITY_ -{ - ITC_MODE_UNKNOW = 0x0, // - ITC_POST_MODE = 0x1, //ģʽ - ITC_EPOLICE_MODE = 0x2, //羯ģʽ - ITC_POSTEPOLICE_MODE = 0x4 //ʽ羯ģʽ -}ITC_MAINMODE_ABILITY; - -typedef enum _ITC_RECOG_REGION_TYPE_ -{ - ITC_REGION_RECT = 0x0, // - ITC_REGION_POLYGON = 0x1, // -}ITC_RECOG_REGION_TYPE; - -typedef struct tagNET_DVR_SNAP_ABILITY -{ - DWORD dwSize; - BYTE byIoInNum;//IO - BYTE byIoOutNum;//IO - BYTE bySingleSnapNum;//IO - BYTE byLightModeArrayNum;//̵ģʽ - BYTE byMeasureModeArrayNum;//ģʽ - BYTE byPlateEnable; //ʶ - BYTE byLensMode;//ͷģʽ0-CCD,1-CMOS - BYTE byPreTriggerSupport; //Ƿ֧ԭģʽ0-֧֣1-֧ - DWORD dwAbilityType; //ֵ֧ĴģʽλʾITC_MAINMODE_ABILITY - BYTE byIoSpeedGroup; //ֵ֧IO - BYTE byIoLightGroup; //ֵ֧IO̵ - BYTE byRecogRegionType; //ʶֵ֧ͣITC_RECOG_REGION_TYPE - BYTE bySupport; //豸λʾ0-֧֣1-֧ - // bySupport&0x1ʾǷ֧չַ - // bySupport&0x2ʾǷ֧չУʱýṹ - // bySupport&0x4, ʾǷֶ֧() - // bySupport&0x8, ʾǷ֧bonding(ݴ) - // bySupport&0x10, ʾǷ֧Խ - //2013-07-09 - WORD wSupportMultiRadar;// 豸λʾ0-֧֣1-֧ - // wSupportMultiRadar&0x1ʾ RS485״ ֳ֧״ﴦ - // wSupportMultiRadar&0x2ʾ Ȧ ֳ֧״ﴦ - // wSupportMultiRadar&0x4ʾ п ֳ֧״ﴦ - // wSupportMultiRadar&0x8ʾ Ƶ ֳ֧״ﴦ - BYTE byICRPresetNum; - // ʾֵ֧ICRԤõ㣨˹ƬƫƵ㣩 - BYTE byICRTimeSlot;//ʾֵ֧ICRʱ18 - BYTE bySupportRS485Num;//ʾֵ֧RS485ڵ - BYTE byExpandRs485SupportSensor;// 豸λʾ0-֧֣1-֧ - // byExpandRs485SupportSensor &0x1ʾ羯ֳ֧ - // byExpandRs485SupportSensor &0x2ʾʽ羯ֳ֧ - BYTE byExpandRs485SupportSignalLampDet;// 豸λʾ0-֧֣1-֧ - // byExpandRs485SupportSignalLampDet &0x1ʾ羯֧źŵƼ - // byExpandRs485SupportSignalLampDet &0x2ʾʽ羯֧źŵƼ - BYTE byRelayNum;// ʾ̵ּ֧ĸ 2013-11-04 - BYTE bySupport1; //豸λʾ0-֧֣1-֧ - // bySupport1&0x1ʾǷ֧ԶУʱϢ - // bySupport1&0x2, ʾǷ֧ƵŻ - // bySupport1&0x4, ʾǷ֧DDNS÷ - // bySupport1&0x8, ʾǷֻ֧ȡ豸ǰģʽӿ - // bySupport1&0x10, ʾǷֳ֧ 2014-03-03 - // bySupport1&0x20, ʾǷ֧GPSģ - // bySupport1&0x40, ʾǷ֧NTPУʱַ֧ - // bySupport1&0x80, ʾǷ֧tpsϴ - BYTE bySupport2; //豸λʾ0-֧֣1-֧ - // bySupport2&0x01, ʾǷ֧Ϣ - // bySupport2&0x02, ʾͨͼINTER_PICCFG_V30Ƿ֧ƵʱòbyOSDMilliSecondEnable - // bySupport2&0x04, ʾբƣNET_DVR_BARRIERGATE_CFGbyBarrierGateCtrlֶ֧4~բ֧byUnlockʹܡ֮ʶ֧ - BYTE bySupportWhiteBalance; //ƽĬ϶ֶ֧ƽ⡢Զƽ⡢Զƽ23ģʽ - // bySupportWhiteBalance &0x01, ʾǷ֧չģʽ - // bySupportWhiteBalance &0x02, ʾǷ֧Ȼģʽ - // bySupportWhiteBalance &0x04, ʾǷ֧ůģʽ - // bySupportWhiteBalance &0x08, ʾǷְ֧׳ģʽ - BYTE byRes[9]; -} NET_DVR_SNAP_ABILITY, *LPNET_DVR_SNAP_ABILITY; - -typedef struct tagNET_DVR_TRANSFER_CAP -{ - BYTE byAbility; - BYTE byRes[63]; -}NET_DVR_TRANSFER_CAP, *LPNET_DVR_TRANSFER_CAP; - -typedef struct tagNET_ITC_ICRTIMECFG -{ - NET_DVR_SCHEDTIME struTime; - BYTE byAssociateRresetNo;//Ԥõ18 , 0 - BYTE bySubSwitchMode;//1~죬2~ (Ԥõ0 ʱЧ) - BYTE byRes[10]; -}NET_ITC_ICRTIMECFG, *LPNET_ITC_ICRTIMECFG; - -typedef struct tagNET_ITC_ICR_TIMESWITCH_PARAM //156 -{ - NET_ITC_ICRTIMECFG struAutoCtrlTime[MAX_TIMESEGMENT_V30];//Զлʱ (Զл ʱЧ ֧4飬Ԥ4) - BYTE byICRPreset[MAX_ICR_NUM]; //ʵЧ̬ʾ [0~100] ±ʾԤõ18 07 Ӧ - BYTE byRes[20]; -}NET_ITC_ICR_TIMESWITCH_PARAM, *LPNET_ITC_ICR_TIMESWITCH_PARAM; - -typedef struct tagNET_ITC_ICR_MANUALSWITCH_PARAM -{ - BYTE byICRPreset[MAX_ICR_NUM]; //ʵЧ̬ʾ [0~100] - BYTE bySubSwitchMode;//1~죬2~ - BYTE byRes[147]; -}NET_ITC_ICR_MANUALSWITCH_PARAM, *LPNET_ITC_ICR_MANUALSWITCH_PARAM; - -typedef struct tagNET_ITC_ICR_AOTOSWITCH_PARAM -{ - BYTE byICRPreset[MAX_ICR_NUM]; //ʵЧ̬ʾ [0~100] ±ʾԤõ18 07 Ӧ - BYTE byICRAutoSwitch; // ICRԶлֵѡ, ȡֵΧ[0 100] - BYTE byRes[147]; -}NET_ITC_ICR_AOTOSWITCH_PARAM, *LPNET_ITC_ICR_AOTOSWITCH_PARAM; - -//㷨Զ -typedef struct tagNET_ITC_ICR_ALGAOTOSWITCH_PARAM -{ - BYTE byDetectThreshold;//ֵ,Χ[0,100],Ĭ 58 - BYTE byAbBrightnessThreshold; //쳣ֵΧ[0,100]Ĭ12 - BYTE byRes[154]; -}NET_ITC_ICR_ALGAOTOSWITCH_PARAM, *LPNET_ITC_ICR_ALGAOTOSWITCH_PARAM; - -typedef union tagNET_ITC_ICR_PARAM_UNION -{ - BYTE uLen[156]; - NET_ITC_ICR_AOTOSWITCH_PARAM struICRAutoSwitch; - NET_ITC_ICR_MANUALSWITCH_PARAM struICRManualSwitch; - NET_ITC_ICR_TIMESWITCH_PARAM struICRTimeSwitch; - NET_ITC_ICR_ALGAOTOSWITCH_PARAM strICRAlgorithmAutoSwitch; -}NET_ITC_ICR_PARAM_UNION,*LPNET_ITC_ICR_PARAM_UNION; - -typedef struct tagNET_ITC_ICRCFG -{ - DWORD dwSize; - BYTE bySwitchType;//1~Զл2~ֶл ,3~ʱл,4~㷨Զ - BYTE byRes[3]; - NET_ITC_ICR_PARAM_UNION uICRParam; -}NET_ITC_ICRCFG, *LPNET_ITC_ICRCFG; - -//2013-07-09 쳣 -typedef struct -{ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: ̵*/ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - BYTE byEnable; //0ã1 - BYTE byRes; - WORD wDuration;//ʱ(λ/s) - BYTE byAlarmOutTriggered[MAX_ITC_EXCEPTIONOUT];//ͨ - BYTE byRes1[8]; -} NET_ITC_HANDLEEXCEPTION, *LPNET_ITC_HANDLEEXCEPTION; - -typedef struct -{ - DWORD dwSize; - NET_ITC_HANDLEEXCEPTION struSnapExceptionType[MAX_EXCEPTIONNUM_V30]; //ÿԪضʾһ쳣0- Ӳ̳,1-߶,2-IP ַͻ, 3-쳣, 4-źŵƼ쳣 -}NET_ITC_EXCEPTION,*LPNET_ITC_EXCEPTION; - -typedef struct tagNET_DVR_TRIGCOORDINATE -{ - WORD wTopLeftX; /*ȦϽǺ꣨2ֽڣ*/ - WORD wTopLeftY; /*ȦϽ꣨2ֽڣ*/ - WORD wWdith; /*Ȧȣ2ֽڣ*/ - WORD wHeight; /*Ȧ߶ȣ2ֽڣ*/ -} NET_DVR_TRIGCOORDINATE, *LPNET_DVR_TRIGCOORDINATE; - -typedef enum _PROVINCE_CITY_IDX_ -{ - ANHUI_PROVINCE = 0, // - AOMEN_PROVINCE = 1, // - BEIJING_PROVINCE = 2, // - CHONGQING_PROVINCE = 3, // - FUJIAN_PROVINCE = 4, // - GANSU_PROVINCE = 5, // - GUANGDONG_PROVINCE = 6, //㶫 - GUANGXI_PROVINCE = 7, // - GUIZHOU_PROVINCE = 8, // - HAINAN_PROVINCE = 9, // - HEBEI_PROVINCE = 10, //ӱ - HENAN_PROVINCE = 11, // - HEILONGJIANG_PROVINCE = 12, // - HUBEI_PROVINCE = 13, // - HUNAN_PROVINCE = 14, // - JILIN_PROVINCE = 15, // - JIANGSU_PROVINCE = 16, // - JIANGXI_PROVINCE = 17, // - LIAONING_PROVINCE = 18, // - NEIMENGGU_PROVINCE = 19, //ɹ - NINGXIA_PROVINCE = 20, // - QINGHAI_PROVINCE = 21, //ຣ - SHANDONG_PROVINCE = 22, //ɽ - SHANXI_JIN_PROVINCE = 23, //ɽ - SHANXI_SHAN_PROVINCE = 24, // - SHANGHAI_PROVINCE = 25, //Ϻ - SICHUAN_PROVINCE = 26, //Ĵ - TAIWAN_PROVINCE = 27, //̨ - TIANJIN_PROVINCE = 28, // - XIZANG_PROVINCE = 29, // - XIANGGANG_PROVINCE = 30, // - XINJIANG_PROVINCE = 31, //½ - YUNNAN_PROVINCE = 32, // - ZHEJIANG_PROVINCE = 33 //㽭 -}PROVINCE_CITY_IDX; - -typedef struct tagNET_DVR_GEOGLOCATION -{ - int iRes[2]; /**/ - DWORD dwCity; /*УPROVINCE_CITY_IDX */ -}NET_DVR_GEOGLOCATION, *LPNET_DVR_GEOGLOCATION; - -//ģʽ -typedef enum _SCENE_MODE_ -{ - UNKOWN_SCENE_MODE = 0, //δ֪ģʽ - HIGHWAY_SCENE_MODE = 1, //ٳģʽ - SUBURBAN_SCENE_MODE = 2, //ģʽ() - URBAN_SCENE_MODE = 3, //ģʽ - TUNNEL_SCENE_MODE = 4 //ģʽ() -}SCENE_MODE; -// ˽Ϣģ -typedef enum _PRIDATA_RENDER -{ - RENDER_ANA_INTEL_DATA = 0x00000001, //ܷ - RENDER_MD = 0x00000002, //ƶ - RENDER_ADD_POS = 0x00000004, //POSϢ - RENDER_ADD_PIC = 0x00000008, //ͼƬ - RENDER_FIRE_DETCET = 0x00000010, //ȳϢ - RENDER_TEM = 0x00000020, //¶Ϣ - RENDER_TRACK_TEM = 0x00000040, //Ϣ - RENDER_THERMAL = 0x00000080 //̻Ϣ -}PRIDATA_RENDER; - -typedef enum _THERMAL_FLAG -{ - THERMAL_FIREMASK = 0x00000001, //̻ - THERMAL_RULEGAS = 0x00000002, // - THERMAL_TARGETGAS = 0x00000004 //Ŀ -}THERMAL_FLAG; - -typedef enum _FIRE_ALARM{ - FIRE_FRAME_DIS = 0x00000001, //ʾ - FIRE_MAX_TEMP = 0x00000002, //¶ - FIRE_MAX_TEMP_POSITION = 0x00000004, //¶λʾ - FIRE_DISTANCE = 0x00000008, //¶Ⱦ}FIRE_ALARM -}FIRE_ALARM; - -typedef enum _TEM_FLAG{ - TEM_REGION_BOX = 0x00000001, // - TEM_REGION_LINE = 0x00000002, //߲ - TEM_REGION_POINT = 0x00000004, //}TEM_FLAG -}TEM_FLAG; - -typedef enum _TRACK_FLAG -{ - TRACK_PEOPLE = 0x00000001, // - TRACK_VEHICLE = 0x00000002 // -}TRACK_FLAG; - -typedef struct tagNET_DVR_VTPARAM -{ - DWORD dwSize; - BYTE byEnable; /* ǷʹȦ0-ʹã1-ʹ*/ - BYTE byIsDisplay; /* ǷʾȦ0-ʾ1-ʾ*/ - BYTE byLoopPos; //䴥Ȧƫ0-ϣ1- - BYTE bySnapGain; /*ץ*/ - DWORD dwSnapShutter; /*ץĿٶ*/ - NET_DVR_TRIGCOORDINATE struTrigCoordinate; // - NET_DVR_TRIGCOORDINATE struRes[MAX_VL_NUM]; - BYTE byTotalLaneNum;/*Ƶij1*/ - BYTE byPolarLenType; /*ƫͣ0ƫ񾵣1ʩ͵ƫ񾵡*/ - BYTE byDayAuxLightMode; /*츨ģʽ0޸1LED2*/ - BYTE byLoopToCalRoadBright; /*Լ·ȵij(Ȧ)*/ - BYTE byRoadGrayLowTh; /*·ȵֵʼֵ1*/ - BYTE byRoadGrayHighTh; /*·ȸֵʼֵ140*/ - WORD wLoopPosBias; /*䴥Ȧλ30*/ - DWORD dwHfrShtterInitValue; /*ͼعʱijʼֵ2000*/ - DWORD dwSnapShtterInitValue; /*ץͼعʱijʼֵ500*/ - DWORD dwHfrShtterMaxValue; /*ͼعʱֵ20000*/ - DWORD dwSnapShtterMaxValue; /*ץͼعʱֵ1500*/ - DWORD dwHfrShtterNightValue; /*ͼعʱֵ3000*/ - DWORD dwSnapShtterNightMinValue; /*ץͼعʱСֵ3000*/ - DWORD dwSnapShtterNightMaxValue; /*ץͼعʱֵ5000*/ - DWORD dwInitAfe; /*ijʼֵ200*/ - DWORD dwMaxAfe; /*ֵ400*/ - WORD wResolutionX;/* 豸ǰֱʿ*/ - WORD wResolutionY;/* 豸ǰֱʸ*/ - DWORD dwGainNightValue; /*棬Ĭֵ70*/ - DWORD dwSceneMode; /*ģʽ SCENE_MODE */ - DWORD dwRecordMode; /*¼־0-¼1-¼*/ - NET_DVR_GEOGLOCATION struGeogLocation; /*ַλ*/ - BYTE byTrigFlag[MAX_VL_NUM]; /*־0-ͷ1-β2-ͷ/β*/ - BYTE byTrigSensitive[MAX_VL_NUM]; /*ȣ1-100*/ - BYTE byRes2[62]; -}NET_DVR_VTPARAM, *LPNET_DVR_VTPARAM; - -typedef struct tagNET_DVR_SNAPENABLECFG -{ - DWORD dwSize; - BYTE byPlateEnable;//Ƿֳ֧ʶ0-֧֣1-֧ - BYTE byRes1[2]; // - BYTE byFrameFlip; //ͼǷת 0-ת1-ת - WORD wFlipAngle; //ͼתǶ 0,90,180,270 - WORD wLightPhase; //λȡֵΧ[0, 360] - BYTE byLightSyncPower; //ǷźŵƵԴͬ0-ͬ1-ͬ - BYTE byFrequency; //źƵ - BYTE byUploadSDEnable; //ǷԶϴSDͼƬ0-1- - BYTE byPlateMode; //ʶģʽ:0-Ƶ,1-ⲿ - BYTE byUploadInfoFTP; //ǷϴץĸϢFTP0-1- - BYTE byAutoFormatSD; //ǷԶʽSD0-1- - WORD wJpegPicSize; //JpegͼƬС[64-8196] - BYTE bySnapPicResolution; //ץͼƬֱ(NET_DVR_COMPRESSION_INFO_V30зֱʱһ) - BYTE byRes[55]; // -}NET_DVR_SNAPENABLECFG, *LPNET_DVR_SNAPENABLECFG; - -/*ftpϴ*/ -typedef struct -{ - DWORD dwSize; - DWORD dwEnableFTP; /*Ƿftpϴ*/ - char sFTPIP[16]; /*ftp */ - DWORD dwFTPPort; /*ftp˿*/ - BYTE sUserName[NAME_LEN]; /*û*/ - BYTE sPassword[PASSWD_LEN]; /**/ - DWORD dwDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼,1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - WORD wTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ0x4=ʹʾ,0x5=ʹʱ(),0x=6Զ,0x7=Υ,0x8=,0x9=ص*/ - WORD wSubDirMode; /* Ŀ¼0x1 = ʹͨ,0x2 = ʹͨţ,0x3=ʹʱ(),0x4=ʹó,0x=5Զ,0x6=Υ,0x7=,0x8=ص*/ - BYTE byEnableAnony; //0-1- - BYTE byPicArchivingInterval;//ͼƬ鵵[1~30],0ʾر - BYTE byRes[22]; -}NET_DVR_FTPCFG, *LPNET_DVR_FTPCFG; - -/*ͼƬԪ */ -#define PICNAME_ITEM_DEV_NAME 1 /*豸*/ -#define PICNAME_ITEM_DEV_NO 2 /*豸*/ -#define PICNAME_ITEM_DEV_IP 3 /*豸IP*/ -#define PICNAME_ITEM_CHAN_NAME 4 /*ͨ*/ -#define PICNAME_ITEM_CHAN_NO 5 /*ͨ*/ -#define PICNAME_ITEM_TIME 6 /*ʱ*/ -#define PICNAME_ITEM_CARDNO 7 /**/ -#define PICNAME_ITEM_PLATE_NO 8 /*ƺ*/ -#define PICNAME_ITEM_PLATE_COLOR 9 /*ɫ*/ -#define PICNAME_ITEM_CAR_CHAN 10 /**/ -#define PICNAME_ITEM_CAR_SPEED 11 /*ٶ*/ -#define PICNAME_ITEM_CARCHAN 12 /*ʾ*/ -#define PICNAME_ITEM_PIC_NUMBER 13 //ͼƬ -#define PICNAME_ITEM_CAR_NUMBER 14 // -#define PICNAME_MAXITEM 15 - -#define PICNAME_ITEM_SPEED_LIMIT_VALUES 15 //ֵ -#define PICNAME_ITEM_ILLEGAL_CODE 16 //Υ -#define PICNAME_ITEM_CROSS_NUMBER 17 //·ڱ -#define PICNAME_ITEM_DIRECTION_NUMBER 18 // - -//(3.7Ver) -#define PICNAME_ITEM_CAR_COLOR 19 //ɫ -#define PICNAME_ITEM_PLATE_COORDINATE 20 // -#define PICNAME_ITEM_CAR_TYPE 21 // -#define PICNAME_ITEM_VIOLATION_TYPE 22 //Υ -#define PICNAME_ITEM_CUSTOM 255//Զ - - - -//ͼƬ -typedef struct -{ - BYTE byItemOrder[PICNAME_MAXITEM]; /* 鶨ļĹ */ - BYTE byDelimiter; /*ָһΪ'_'*/ -}NET_DVR_PICTURE_NAME, *LPNET_DVR_PICTURE_NAME; - -//2013-09-27 -#define PICNAME_ITEM_PARK_DEV_IP 1 /*豸IP*/ -#define PICNAME_ITEM_PARK_PLATE_NO 2 /*ƺ*/ -#define PICNAME_ITEM_PARK_TIME 3 /*ʱ*/ -#define PICNAME_ITEM_PARK_INDEX 4 /*λ*/ -#define PICNAME_ITEM_PARK_STATUS 5 /*λ״̬*/ -#define PICNAME_ITEM_BUILDING_NUMBER 6 /*ŵԪ*/ -#define PICNAME_ITEM_OUTDOOR_UNIT_ID 7 /*ſڻ*/ -#define PICNAME_ITEM_UNLOCK_TYPE 8 /*ʽ*/ -#define PICNAME_ITEM_DEVICE_NAME 9 //豸 -#define PICNAME_ITEM_PERIOD_NO 10 /*ں*/ -#define PICNAME_ITEM_DEV_INDEX 11 /*豸*/ -#define PICNAME_PREFIX 32 /*ͼƬԶǰ׺*/ -//ͼƬչ 2013-09-27 -typedef struct -{ - BYTE byItemOrder[PICNAME_MAXITEM]; /* 鶨ļĹ */ - BYTE byDelimiter; /*ָһΪ'_'*/ - BYTE byPicNamePrefix[PICNAME_PREFIX/*32*/]; //ͼƬԶǰ׺ -}NET_DVR_PICTURE_NAME_EX, *LPNET_DVR_PICTURE_NAME_EX; - -/* ץͼ*/ -typedef struct -{ - BYTE byStrFlag; /*ݿʼ*/ - BYTE byEndFlag; /**/ - WORD wCardIdx; /*ʼλ*/ - DWORD dwCardLen; /*ų*/ - DWORD dwTriggerPicChans; /*ͨţλӵ1λʼƣ0x2ʾһͨ*/ -}NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA; - -//DVRץͼãߣ -typedef struct -{ - DWORD dwSize; - NET_DVR_JPEGPARA struJpegPara[MAX_CHANNUM_V30]; /*ÿͨͼ*/ - WORD wBurstMode; /*ץͼʽ,λ.0x1=봥0x2=ƶⴥ 0x4=2320x8=4850x10=紥*/ - WORD wUploadInterval; /*ͼƬϴ()[0,65535]*/ - NET_DVR_PICTURE_NAME struPicNameRule; /* ͼƬ */ - BYTE bySaveToHD; /*Ƿ񱣴浽Ӳ*/ - BYTE byRes1; - WORD wCatchInterval; /*ץͼ()[0,65535]*/ - BYTE byRes2[12]; - NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg; - NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg; - DWORD dwTriggerPicTimes[MAX_CHANNUM_V30]; /* ÿͨһδմ */ - DWORD dwAlarmInPicChanTriggered[MAX_ALARMIN_V30]; /*ץͨ,λãӵ1λʼ*/ -}NET_DVR_JPEGCFG_V30, *LPNET_DVR_JPEGCFG_V30; - -//ץĴṹ() -typedef struct tagNET_DVR_MANUALSNAP -{ - BYTE byOSDEnable;//0-ر(Ĭ)1-ر - BYTE byLaneNo;//, ΧΪ1-6ĬΪ1(ץĻڲʹ) - BYTE byChannel;//ͨ - BYTE byRes[21]; // -}NET_DVR_MANUALSNAP, *LPNET_DVR_MANUALSNAP; - -typedef struct tagNET_DVR_SPRCFG -{ - DWORD dwSize; - BYTE byDefaultCHN[MAX_CHJC_NUM]; /*豸ʡݵĺּд*/ - BYTE byPlateOSD; /*0:ͳƲɫͼ,1:ͳƲɫͼ*/ - BYTE bySendJPEG1; /*0-ͽJPEGͼ,1-ͽJPEGͼ*/ - BYTE bySendJPEG2; /*0-ԶJPEGͼ,1-ԶJPEGͼ*/ - WORD wDesignedPlateWidth; /*ƿ*/ - BYTE byTotalLaneNum; /*ʶij*/ - BYTE byRes1; /**/ - WORD wRecognizedLane; /*ʶijţλʾbit0ʾ1Ƿʶ0-ʶ1-ʶ*/ - NET_VCA_RECT struLaneRect[MAX_LANERECT_NUM]; /*ʶ*/ - DWORD dwRecogMode; /*ʶͣ - bit0-ʶ0-ʶ1-ʶ(βʶ) - bit1-ʶСʶ0-Сʶ1-ʶ - bit2-ɫʶ0-óɫʶڱʶСʶʱֹã1-ɫʶ - bit3-ũóʶ0-ũóʶ1-ũóʶ - bit4-ģʶ0-ģʶ1-ģʶ - bit5-֡λ򳡶λ0-֡λ1-λ - bit6-֡ʶʶ0-֡ʶ1-ʶ - bit7-ϻ죺0-죬1- */ - BYTE bySendPRRaw; //Ƿԭͼ0-ͣ1- - BYTE bySendBinImage; //Ƿͳƶֵͼ0-ͣ1- - BYTE byDelayCapture; //ʱץĿ,λ֡ - BYTE byUseLED; //ʹLEDƣ0-1- - BYTE byRes2[68]; // -}NET_DVR_SPRCFG, *LPNET_DVR_SPRCFG; - -typedef struct tagNET_DVR_PLCCFG -{ - DWORD dwSize; - BYTE byPlcEnable; //ǷóȲĬã0-رգ1- - BYTE byPlateExpectedBright; //ƵԤȣĬֵ50, Χ[0, 100] - BYTE byRes1[2]; // - BYTE byTradeoffFlash; //ǷƵӰ: 0 - ; 1 - (Ĭ); - //ʹƲʱ, ǼƵǿЧӦ, ҪΪ1;Ϊ0 - BYTE byCorrectFactor; //ϵ, Χ[0, 100], Ĭֵ50 (tradeoff_flashлʱ,ָĬֵ - WORD wLoopStatsEn; //ǷȦȣλʾ0-ͳƣ1-ͳ - BYTE byPlcBrightOffset;// Ȳ(ȦģʽЧ)ȡֵΧ1~100 - BYTE byRes[19]; -}NET_DVR_PLCCFG, *LPNET_DVR_PLCCFG; - -typedef struct tagNET_DVR_DEVICESTATECFG -{ - DWORD dwSize; - WORD wPreviewNum; //ԤӸ - WORD wFortifyLinkNum; //Ӹ - NET_DVR_IPADDR struPreviewIP[MAX_LINK]; //ԤûIPַ - NET_DVR_IPADDR struFortifyIP[MAX_FORTIFY_NUM]; //ӵûIPַ - DWORD dwVideoFrameRate; //֡ʣ0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22; - BYTE byResolution; //ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5,16-VGA640*480, 17-UXGA1600*1200, 18-SVGA 800*600,19-HD720p1280*720,20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048 - BYTE bySnapResolution; //ץķֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5,16-VGA640*480, 17-UXGA1600*1200, 18-SVGA 800*600,19-HD720p1280*720,20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048 - BYTE byStreamType; //ͣ0-1- - BYTE byTriggerType; //ģʽ0-Ƶ1-ͨ - DWORD dwSDVolume; //SD - DWORD dwSDFreeSpace; //SDʣռ - BYTE byDetectorState[MAX_DRIVECHAN_NUM][MAX_COIL_NUM]; //״̬0-δʹã1-2-쳣 - BYTE byDetectorLinkState; //״̬0-δӣ1- - BYTE bySDStatus; //SD״̬ 01ߣ2쳣3-sd - BYTE byFortifyLevel[MAX_FORTIFY_NUM]; //ȼ0-ޣ1-һȼߣ2-ȼУ3-ȼͣ - BYTE byRes2[116]; // -}NET_DVR_DEVICESTATECFG, *LPNET_DVR_DEVICESTATECFG; - -typedef struct tagNET_DVR_POSTEPOLICECFG -{ - DWORD dwSize; - DWORD dwDistance;//Ȧ,λcmȡֵΧ[0,20000] - DWORD dwLightChan[MAX_SIGNALLIGHT_NUM]; //źŵͨ - BYTE byCapSpeed;//־٣λkm/hȡֵΧ[0,255] - BYTE bySpeedLimit;//ֵλkm/hȡֵΧ[0,255] - BYTE byTrafficDirection;//0-ɶ1-򶫣2-򱱣3-ɱ - BYTE byRes1; // - WORD wLoopPreDist; /*ӳپ λ*/ - WORD wTrigDelay; /*Ӳʱʱ λ*/ - BYTE byRes[124];//ֽ -}NET_DVR_POSTEPOLICECFG, *LPNET_DVR_POSTEPOLICECFG; - - -//źŵ쳣 -typedef struct tagNET_DVR_SIGNALLAMP_DETCFG -{ - DWORD dwSize; //ṹ - //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999 λΪ - BYTE byAbsTime[32]; - NET_DVR_IPADDR struAlarmCamIP;//IP - DWORD dwPic1Len; //쳣ͼƬ1 - DWORD dwPic2Len; //쳣ͼƬ2 - char *pPic1Buffer; //ָ ӳͼƬ - char *pPic2Buffer; //ָ źŵ״̬ͼƬ - BYTE byRes[128]; -}NET_DVR_SIGNALLAMP_DETCFG, *LPNET_DVR_SIGNALLAMP_DETCFG; - -typedef struct tagNET_DVR_EXDEVDET_COND -{ - DWORD dwSize; // ṹС - DWORD dwChannel; //ͨ - BYTE byExternalDevType;// 0-Чֵ1-źŵ,2- - BYTE byRes[63]; // ֽ -}NET_DVR_EXDEVDET_COND,*LPNET_DVR_EXDEVDET_COND; - -typedef struct tagNET_DVR_EXDEVDET_CFG -{ - DWORD dwSize; // ṹС - BYTE byExternalDevStatus;// 0-1-쳣 - BYTE byRes[63];// ֽ -} NET_DVR_EXDEVDET_CFG,*LPNET_DVR_EXDEVDET_CFG; - -/***************************** end *********************************************/ - -#define IPC_PROTOCOL_NUM 50 //ipc Э - -//Э -typedef struct tagNET_DVR_PROTO_TYPE -{ - DWORD dwType; /*ipcЭֵ*/ - BYTE byDescribe[DESC_LEN]; /*Эֶ*/ -}NET_DVR_PROTO_TYPE, *LPNET_DVR_PROTO_TYPE; - -//Эб -typedef struct tagNET_DVR_IPC_PROTO_LIST -{ - DWORD dwSize; - DWORD dwProtoNum; /*ЧipcЭĿ*/ - NET_DVR_PROTO_TYPE struProto[IPC_PROTOCOL_NUM]; /*ЧipcЭ*/ - BYTE byRes[8]; -}NET_DVR_IPC_PROTO_LIST, *LPNET_DVR_IPC_PROTO_LIST; - -//ЭбV41 -typedef struct tagNET_DVR_IPC_PROTO_LIST_V41 -{ - DWORD dwSize; - DWORD dwProtoNum; //ЧipcЭĿ - BYTE *pBuffer; //Эб, dwProtoNum NET_DVR_PROTO_TYPEṹ - DWORD dwBufferLen; // - BYTE byRes[32]; -}NET_DVR_IPC_PROTO_LIST_V41, *LPNET_DVR_IPC_PROTO_LIST_V41; - -typedef struct tagNET_DVR_PTZPOS_INFO -{ - DWORD dwPanPos; // Pˮƽ - DWORD dwTiltPos; // Tֱ - DWORD dwZoomPos; // Z䱶 -}NET_DVR_PTZPOS_INFO, *LPNET_DVR_PTZPOS_INFO; - -//ʶṹ -typedef struct tagNET_VCA_HUMAN_FEATURE -{ - BYTE byGroup; // - BYTE bySex; //Ա, 0-ʾδ֪㷨֧֣,1 C , 2 C Ů, 0xff-㷨֧֣ûʶ - BYTE byEyeGlass; //Ƿ۾ 0-ʾδ֪㷨֧֣,1 C, 2 C۾, 3 Cī,0xff-㷨֧֣ûʶ - //ץͼƬʹ÷ʽbyRes3Ϊ15,byDeviationΪ1,ʾʵͼƬΪ14-16֮ - BYTE byRes3;// 0-ʾδ֪㷨֧֣,0xff-㷨֧֣ûʶ - BYTE byDeviation;//ֵ - BYTE byRes0; - BYTE byMask; //Ƿ 0-ʾδ֪㷨֧֣,1 C , 2 C , 0xff-㷨֧֣ûʶ - BYTE bySmile; //Ƿ΢Ц 0-ʾδ֪㷨֧֣,1 C ΢Ц, 2 C ΢Ц, 0xff-㷨֧֣ûʶ - BYTE byFaceExpression; /* ,μFACE_EXPRESSION_GROUP_ENUM*/ - BYTE byRes1; - BYTE byRes2; - BYTE byHat; // ñ, 0-֧,1-ñ,2-ñ, 3-ͷ 0xff-unknowʾδ֪,㷨֧δ - BYTE byRes[4]; // -}NET_VCA_HUMAN_FEATURE ,*LPNET_VCA_HUMAN_FEATURE; - -//ɫ -typedef struct tagNET_DVR_OBJECT_FEATURE -{ - BYTE byColorRatel; //ɫƶеռֵ - BYTE byRed; // RGBɫеĺɫ - BYTE byGreen; // RGBɫеɫ - BYTE byBlue; // RGBɫеɫ - BYTE byRes[32]; -}NET_DVR_OBJECT_FEATURE ,*LPNET_DVR_OBJECT_FEATURE; - -// -typedef union tagNET_DVR_ADVANCE_COND_UNION -{ - BYTE byLen[36]; //峤 - NET_VCA_HUMAN_FEATURE struHumanFeature; // - NET_DVR_OBJECT_FEATURE struObjectFeature; // -}NET_DVR_ADVANCE_COND_UNION,*LPNET_DVR_ADVANCE_COND_UNION; - - -#define MAX_ALERTLINE_NUM 8 //󾯽 - - -typedef struct tagNET_DVR_TRAVERSE_PLANE_SEARCHCOND -{ - NET_VCA_TRAVERSE_PLANE struVcaTraversePlane[MAX_ALERTLINE_NUM/*8*/]; //Խ - DWORD dwPreTime; /*ܱǰʱ λ:*/ - DWORD dwDelayTime; /*ܱӳʱ λ:*/ - NET_DVR_PTZPOS_INFO struPTZPosInfo; //PTZϢ - BYTE byAdvanceType; //Ϸʽ0-ʹţ1-ϣ2-ɫռ - BYTE byRes1[3]; // - NET_DVR_ADVANCE_COND_UNION uAdvanceCond; // - BYTE byRes[5604]; // -}NET_DVR_TRAVERSE_PLANE_SEARCHCOND, *LPNET_DVR_TRAVERSE_PLANE_SEARCHCOND; //Խѯ - -#define MAX_INTRUSIONREGION_NUM 8 // -typedef struct tagNET_DVR_INTRUSION_SEARCHCOND -{ - NET_VCA_INTRUSION struVcaIntrusion[MAX_INTRUSIONREGION_NUM/*8*/]; // - DWORD dwPreTime; /*ܱǰʱ λ:*/ - DWORD dwDelayTime; /*ܱӳʱ λ:*/ - NET_DVR_PTZPOS_INFO struPTZPosInfo; //PTZϢ - BYTE byAdvanceType;//Ϸʽ0-ʹţ1-ϣ2-ɫռ - BYTE byRes1[3]; // - NET_DVR_ADVANCE_COND_UNION uAdvanceCond; // - BYTE byRes[5348]; // -} NET_DVR_INTRUSION_SEARCHCOND, *LPNET_DVR_INTRUSION_SEARCHCOND; // - - -typedef struct tagNET_DVR_FACEDETECTION_SEARCHCOND -{ - NET_VCA_POLYGON struFacePolygon; //ʶ - DWORD dwPreTime; /*¼ǰʱ λ:*/ - DWORD dwDelayTime; /*¼ӳʱ λ:*/ - BYTE byRes[5972]; // -}NET_DVR_FACEDETECTION_SEARCHCOND, *LPNET_DVR_FACEDETECTION_SEARCHCOND; // - - -typedef union tagNET_DVR_AREA_SMARTSEARCH_COND_UNION -{ - BYTE byLen[6144]; //ṹ峤 - BYTE byMotionScope[64][96]; // 0-96λʾ64У96*64С飬1-ƶ0-ƶ - NET_DVR_TRAVERSE_PLANE_SEARCHCOND struTraversPlaneCond; //Խ - NET_DVR_INTRUSION_SEARCHCOND struIntrusionCond; // - NET_DVR_FACEDETECTION_SEARCHCOND struFaceSnapCond; // -}NET_DVR_AREA_SMARTSEARCH_COND_UNION, -*LPNET_DVR_AREA_SMARTSEARCH_COND_UNION; - - -// -typedef struct tagNET_DVR_SMART_SEARCH_PARAM -{ - BYTE byChan; //ͨ - BYTE bySearchCondType; //ܲNET_DVR_AREA_SMARTSEARCH_COND_UNION - /*0-ƶ 1-Խ⣬ 2-, 3- */ - WORD wChan; //ͨţ ֶǶbyChanչʹøֶκbyChanԲʹ - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ - NET_DVR_AREA_SMARTSEARCH_COND_UNION uSmartSearchCond; //ܲ - BYTE bySensitivity; //ƶ,1 >80% 2 40%~80% 3 1%~40% - BYTE byRes2[11]; -}NET_DVR_SMART_SEARCH_PARAM, *LPNET_DVR_SMART_SEARCH_PARAM; - -typedef struct tagNET_DVR_SMART_SEARCH_PARAM_V40 -{ - DWORD dwSize; //ṹС - NET_DVR_STREAM_INFO struIDInfo; //ͨϢ - BYTE bySearchCondType; //ܲ 0-, 1-Խ, 2-,3-, 4-Ƽ - BYTE bySensitivity; //̬,1-100 - BYTE byRes1[2]; - NET_DVR_TIME_EX struStartTime; - NET_DVR_TIME_EX struEndTime; - NET_DVR_AREA_SMARTSEARCH_COND_UNION uSmartSearchCond; //ܲ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱbyISO8601Ϊ1ʱЧ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱbyISO8601Ϊ1ʱЧ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱbyISO8601Ϊ1ʱЧ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱbyISO8601Ϊ1ʱЧ - BYTE byRes2[251]; -}NET_DVR_SMART_SEARCH_PARAM_V40,*LPNET_DVR_SMART_SEARCH_PARAM_V40; - - - -typedef struct tagNET_DVR_SMART_SEARCH_RET -{ - NET_DVR_TIME struStartTime; //ƶⱨʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[59]; -}NET_DVR_SMART_SEARCH_RET, *LPNET_DVR_SMART_SEARCH_RET; - -// IPSAN ļĿ¼ -typedef struct tagNET_DVR_IPSAN_SERACH_PARAM -{ - NET_DVR_IPADDR struIP; // IPSAN IPַ - WORD wPort; // IPSAN ˿ - BYTE byRes[10]; // ֽ -}NET_DVR_IPSAN_SERACH_PARAM, *LPNET_DVR_IPSAN_SERACH_PARAM; - -typedef struct tagNET_DVR_IPSAN_SERACH_RET -{ - BYTE byDirectory[128]; // صļĿ¼ - BYTE byRes[20]; -}NET_DVR_IPSAN_SERACH_RET, *LPNET_DVR_IPSAN_SERACH_RET; - -//DVR豸 -typedef struct -{ - DWORD dwSize; - BYTE sDVRName[NAME_LEN]; //DVR - DWORD dwDVRID; //DVR ID,ң //V1.4(0-99), V1.5(0-255) - DWORD dwRecycleRecord; //Ƿѭ¼,0:; 1: - //²ɸ - BYTE sSerialNumber[SERIALNO_LEN]; //к - DWORD dwSoftwareVersion; //汾,16λ汾,16λǴΰ汾 - DWORD dwSoftwareBuildDate; //,0xYYYYMMDD - DWORD dwDSPSoftwareVersion; //DSP汾,16λ汾,16λǴΰ汾 - DWORD dwDSPSoftwareBuildDate; // DSP,0xYYYYMMDD - DWORD dwPanelVersion; // ǰ汾,16λ汾,16λǴΰ汾 - DWORD dwHardwareVersion; // Ӳ汾,16λ汾,16λǴΰ汾 - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byRS232Num; //DVR 232ڸ - BYTE byRS485Num; //DVR 485ڸ - BYTE byNetworkPortNum; //ڸ - BYTE byDiskCtrlNum; //DVR Ӳ̿ - BYTE byDiskNum; //DVR Ӳ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byDecordChans; //DVR · - BYTE byVGANum; //VGAڵĸ - BYTE byUSBNum; //USBڵĸ - BYTE byAuxoutNum; //ڵĸ - BYTE byAudioNum; //ڵĸ - BYTE byIPChanNum; //ͨ 8λ8λbyHighIPChanNum - BYTE byZeroChanNum; //ͨ - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧֣ - //bySupport & 0x1, ʾǷ֧ - //bySupport & 0x2, ʾǷֱ֧ - //bySupport & 0x4, ʾǷ֧ѹȡ - //bySupport & 0x8, ʾǷֶ֧ - //bySupport & 0x10, ʾ֧ԶSADP - //bySupport & 0x20, ʾ֧Raid - //bySupport & 0x40, ʾ֧IPSAN - //bySupport & 0x80, ʾ֧rtp over rtsp - BYTE byEsataUseage; //EsataĬ;0-Ĭϱݣ1-Ĭ¼ - BYTE byIPCPlug; //0-رռ弴ã1-򿪼弴 - BYTE byStorageMode; //0-ģʽ,1-, 2֡ģʽ, 3-Զ - BYTE bySupport1; //λΪ0ʾ֧֣1ʾ֧ - //bySupport1 & 0x1, ʾǷ֧snmp v30 - //bySupport1 & 0x2, ֻ֧طź - //bySupport1 & 0x4, Ƿֲ֧ȼ - //bySupport1 & 0x8, 豸Ƿֲ֧ʱչ - //bySupport1 & 0x10, ʾǷֶ֧33 - //bySupport1 & 0x20, ʾǷ֧rtsp over http - WORD wDevType;//豸ͺ - BYTE byDevTypeName[DEV_TYPE_NAME_LEN];//豸ͺ - BYTE bySupport2; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport2 & 0x1, ʾǷ֧չOSDַ(ն˺ץĻչ) - BYTE byAnalogAlarmInPortNum; //ģⱨ - BYTE byStartAlarmInNo; //ģⱨʼ - BYTE byStartAlarmOutNo; //ģⱨʼ - BYTE byStartIPAlarmInNo; //IPʼ - BYTE byStartIPAlarmOutNo; //IPʼ - BYTE byHighIPChanNum; //ͨ8λ - BYTE byEnableRemotePowerOn;//Ƿ豸ߵ״̬Զ̿ܣ0-ã1- - WORD wDevClass; //豸౸ĸƷߣ0 1-50 DVR51-100 DVS101-150 NVR151-200 IPC65534 ෽豸ͶӦкźֵ.docx - BYTE byRes2[6]; // -}NET_DVR_DEVICECFG_V40, *LPNET_DVR_DEVICECFG_V40; - -typedef struct -{ - DWORD dwSize; - BYTE sDVRName[NET_DEV_NAME_LEN]; //DVR - DWORD dwDVRID; //DVR ID,ң //V1.4(0-99), V1.5(0-255) - DWORD dwRecycleRecord; //Ƿѭ¼,0:; 1: - //²ɸ - BYTE sSerialNumber[SERIALNO_LEN]; //к - DWORD dwSoftwareVersion; //汾,16λ汾,16λǴΰ汾 - DWORD dwSoftwareBuildDate; //,0xYYYYMMDD - DWORD dwDSPSoftwareVersion; //DSP汾,16λ汾,16λǴΰ汾 - DWORD dwDSPSoftwareBuildDate; // DSP,0xYYYYMMDD - DWORD dwPanelVersion; // ǰ汾,16λ汾,16λǴΰ汾 - DWORD dwHardwareVersion; // Ӳ汾,16λ汾,16λǴΰ汾 - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byRS232Num; //DVR 232ڸ - BYTE byRS485Num; //DVR 485ڸ -- - BYTE byNetworkPortNum; //ڸ - BYTE byDiskCtrlNum; //DVR Ӳ̿ - BYTE byDiskNum; //DVR Ӳ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ......-- - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byDecordChans; //DVR · - BYTE byVGANum; //VGAڵĸ -- - BYTE byUSBNum; //USBڵĸ - BYTE byAuxoutNum; //ڵĸ - BYTE byAudioNum; //ڵĸ - BYTE byIPChanNum; //ͨ -- - BYTE byZeroChanNum; //ͨ - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧֣ - //bySupport & 0x1, ʾǷ֧ - //bySupport & 0x2, ʾǷֱ֧ - //bySupport & 0x4, ʾǷ֧ѹȡ - //bySupport & 0x8, ʾǷֶ֧ - //bySupport & 0x10, ʾ֧ԶSADP - //bySupport & 0x20, ʾ֧Raid - //bySupport & 0x40, ʾ֧IPSAN - //bySupport & 0x80, ʾ֧rtp over rtsp - BYTE byEsataUseage; //EsataĬ;0-Ĭϱݣ1-Ĭ¼ - BYTE byIPCPlug; //0-رռ弴ã1-򿪼弴 - BYTE byStorageMode; //0-ģʽ,1-,2֡ģʽ - BYTE bySupport1; //λΪ0ʾ֧֣1ʾ֧ - //bySupport1 & 0x1, ʾǷ֧snmp v30 - //bySupport1 & 0x2, ֻ֧طź - //bySupport1 & 0x4, Ƿֲ֧ȼ - //bySupport1 & 0x8, 豸Ƿֲ֧ʱչ - //bySupport1 & 0x10, ʾǷֶ֧33 - //bySupport1 & 0x20, ʾǷ֧rtsp over http - WORD wDevType;//豸ͺչ - BYTE byDevTypeName[NET_DEV_TYPE_NAME_LEN];//豸ͺ - BYTE bySupport2; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport2 & 0x1, ʾǷ֧չOSDַ(ն˺ץĻչ) - BYTE byAnalogAlarmInPortNum; //ģⱨĿ - BYTE byStartAlarmInNo; //ģⱨʼ - BYTE byStartAlarmOutNo; //ģⱨʼ - BYTE byStartIPAlarmInNo; //IPʼ - BYTE byStartIPAlarmOutNo; //IPʼ - BYTE byHighIPChanNum; //ͨ8λ - BYTE byEnableRemotePowerOn;//Ƿ豸ߵ״̬Զ̿ܣ0-ã1- - BYTE byRes[256]; // -}NET_DVR_DEVICECFG_V50, *LPNET_DVR_DEVICECFG_V50; -#define MAX_ZEROCHAN_NUM 16 -//ͨѹò -typedef struct tagNET_DVR_ZEROCHANCFG -{ - DWORD dwSize; //ṹ - BYTE byEnable; //0-ֹͣͨ룬1-ʾͨ - BYTE byRes1[3]; // - DWORD dwVideoBitrate; //Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K - //λ(31λ)ó1ʾԶ, 0-30λʾֵ(MIN-32K MAX-8192K) - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.014-15, 15-18, 16-22; - BYTE byRes2[32]; // -}NET_DVR_ZEROCHANCFG, *LPNET_DVR_ZEROCHANCFG; - -//ͨŲ -typedef struct tagNET_DVR_ZERO_ZOOMCFG -{ - DWORD dwSize; //ṹ - NET_VCA_POINT struPoint; //е - BYTE byState; //ڵ״̬0-С1-Ŵ - BYTE byPreviewNumber; //ԤĿ,0-1,1-4,2-9,3-16 òֻ - BYTE byPreviewSeq[MAX_WINDOW_V30];//ͨϢ òֻ - BYTE byRes[30]; // -}NET_DVR_ZERO_ZOOMCFG, *LPNET_DVR_ZERO_ZOOMCFG; - -#define DESC_LEN_64 64 -typedef struct tagNET_DVR_SNMPCFG -{ - DWORD dwSize; //ṹ - BYTE byEnable; //0-SNMP1-ʾSNMP - BYTE byRes1[3]; // - WORD wVersion; //snmp 汾 v1 = 1, v2 =2, v3 =3豸Ŀǰ֧ v3 - WORD wServerPort; //snmpϢն˿ڣĬ 161 - BYTE byReadCommunity[NAME_LEN]; //ͬ壬31,Ĭ"public" - BYTE byWriteCommunity[NAME_LEN];//дͬ,31 ֽ,Ĭ "private" - BYTE byTrapHostIP [DESC_LEN_64]; //ipַ֧IPV4 IPV6 - WORD wTrapHostPort; // trap˿ - BYTE byTrapName[NAME_LEN]; - BYTE byRes2[70]; // -}NET_DVR_SNMPCFG, *LPNET_DVR_SNMPCFG; - -typedef struct tagNET_DVR_SNMPv3_USER -{ - BYTE byUserName[NAME_LEN]; // û - BYTE bySecLevel; // ȫ 0- 1-У 2-ȨУ 3-ȨУ - BYTE byAuthtype; // ֤ 0-MD5֤ 1-SHA֤ 2: none - BYTE byPrivtype; // 0: DES; 1: AES; 2: none; - BYTE byRes[5]; - BYTE byAuthpass[PASSWD_LEN]; // ֤ - BYTE byPrivpass[PASSWD_LEN]; // -}NET_DVR_SNMPv3_USER, *LPNET_DVR_SNMPv3_USER; - -// snmpv30 -typedef struct tagNET_DVR_SNMPCFG_V30 -{ - DWORD dwSize; //ṹ - BYTE byEnableV1; //0-SNMP V11-ʾSNMP V1 - BYTE byEnableV2; //0-SNMP V21-ʾSNMP V2 - BYTE byEnableV3; //0-SNMP V31-ʾSNMP V3 - BYTE byRes1[3]; - WORD wServerPort; //snmpϢն˿ڣĬ 161 - BYTE byReadCommunity[NAME_LEN]; //ͬ壬31,Ĭ"public" - BYTE byWriteCommunity[NAME_LEN]; //дͬ,31 ֽ,Ĭ "private" - BYTE byTrapHostIP [DESC_LEN_64]; //ipַ֧IPV4 IPV6 - WORD wTrapHostPort; // trap˿ - BYTE byRes2[2]; - NET_DVR_SNMPv3_USER struRWUser; // дû - NET_DVR_SNMPv3_USER struROUser; // ֻû - BYTE byTrapName[NAME_LEN]; -}NET_DVR_SNMPCFG_V30, *LPNET_DVR_SNMPCFG_V30; - -#define PROCESSING 0 //ڴ -#define PROCESS_SUCCESS 100 // -#define PROCESS_EXCEPTION 400 //쳣 -#define PROCESS_FAILED 500 //ʧ -#define PROCESS_QUICK_SETUP_PD_COUNT 501 //һ3Ӳ - -#define SOFTWARE_VERSION_LEN 48 -#define NET_SDK_DEVICE_MODEL_LEN 24 //豸ͺų -typedef struct tagNET_DVR_SADPINFO -{ - NET_DVR_IPADDR struIP; // 豸IPַ - WORD wPort; // 豸˿ں - WORD wFactoryType; // 豸 - char chSoftwareVersion[SOFTWARE_VERSION_LEN]; - char chSerialNo[16]; // к - WORD wEncCnt; // ͨ - BYTE byMACAddr[MACADDR_LEN]; // MAC ַ - NET_DVR_IPADDR struSubDVRIPMask; // DVR IPַ - NET_DVR_IPADDR struGatewayIpAddr; // - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ - BYTE byDns; - BYTE byDhcp; - BYTE szGB28181DevID[DEV_ID_LEN]; //GB28181Эʱ豸IDIPCGB28181Э - BYTE byActivated;//0-Ч1-Ѽ2-δ - BYTE byDeviceModel[NET_SDK_DEVICE_MODEL_LEN/*24*/];//豸ͺ - BYTE byRes[101]; // ֽ -}NET_DVR_SADPINFO, *LPNET_DVR_SADPINFO; - -#define MAX_SADP_NUM 256 // 豸Ŀ -typedef struct tagNET_DVR_SADPINFO_LIST -{ - DWORD dwSize; // ṹС - WORD wSadpNum; // 豸Ŀ - BYTE byRes[6]; // ֽ - NET_DVR_SADPINFO struSadpInfo[MAX_SADP_NUM]; // -}NET_DVR_SADPINFO_LIST, *LPNET_DVR_SADPINFO_LIST; - -typedef struct tagNET_DVR_SADP_VERIFY -{ - char chPassword[PASSWD_LEN]; - NET_DVR_IPADDR struOldIP; - WORD wOldPort; - BYTE byRes[62]; -}NET_DVR_SADP_VERIFY, *LPNET_DVR_SADP_VERIFY; - -/*******************************ݽӿ begin********************************/ -//ȡ豸Ϣӿڶ -#define DESC_LEN_32 32 //ֳ -#define MAX_NODE_NUM 256 //ڵ - -typedef struct tagNET_DVR_DESC_NODE -{ - int iValue; - BYTE byDescribe[DESC_LEN_32]; //ֶ - DWORD dwFreeSpace; //ȡбר,λΪM - BYTE byRes[12]; // -}NET_DVR_DESC_NODE, *LPNET_DVR_DESC_NODE; - -typedef struct tagNET_DVR_DISKABILITY_LIST -{ - DWORD dwSize; //ṹ - DWORD dwNodeNum; // - NET_DVR_DESC_NODE struDescNode[MAX_NODE_NUM]; // -}NET_DVR_DISKABILITY_LIST, *LPNET_DVR_DISKABILITY_LIST; - -//ݽб -#define BACKUP_SUCCESS 100 // -#define BACKUP_CHANGE_DEVICE 101 //豸豸 - -#define BACKUP_SEARCH_DEVICE 300 //豸 -#define BACKUP_SEARCH_FILE 301 //¼ļ -#define BACKUP_SEARCH_LOG_FILE 302 //־ļ -#define BACKUP_CHANGE_DISK 303 //ڸ - -#define BACKUP_EXCEPTION 400 //쳣 -#define BACKUP_FAIL 500 //ʧ - -#define BACKUP_TIME_SEG_NO_FILE 501 //ʱ¼ļ -#define BACKUP_NO_RESOURCE 502 //벻Դ -#define BACKUP_DEVICE_LOW_SPACE 503 //豸 -#define BACKUP_DISK_FINALIZED 504 //¼̷ -#define BACKUP_DISK_EXCEPTION 505 //¼쳣 -#define BACKUP_DEVICE_NOT_EXIST 506 //豸 -#define BACKUP_OTHER_BACKUP_WORK 507 //ݲڽ -#define BACKUP_USER_NO_RIGHT 508 //ûûвȨ -#define BACKUP_OPERATE_FAIL 509 //ʧ -#define BACKUP_NO_LOG_FILE 510 //Ӳ־ - -//ݹ̽ӿڶ -typedef struct tagNET_DVR_BACKUP_NAME_PARAM -{ - DWORD dwFileNum; //ļ - NET_DVR_FINDDATA_V30 struFileList[MAX_RECORD_FILE_NUM]; //ļб - BYTE byDiskDes[DESC_LEN_32]; //ݴ - BYTE byWithPlayer; //Ƿ񱸷ݲ - BYTE byContinue; /*Ƿ 0 1*/ - BYTE byRes[34]; // -}NET_DVR_BACKUP_NAME_PARAM, *LPNET_DVR_BACKUP_NAME_PARAM; - -typedef struct tagNET_DVR_BACKUP_TIME_PARAM -{ - LONG lChannel; //ʱ䱸ݵͨ - NET_DVR_TIME struStartTime; //ݵʼʱ - NET_DVR_TIME struStopTime; //ݵֹʱ - BYTE byDiskDes[DESC_LEN_32]; //ݴ - BYTE byWithPlayer; //Ƿ񱸷ݲ - BYTE byContinue; //Ƿ 0 1 - BYTE byDrawFrame; //0 ֡ 1 ֡ - BYTE byUseBackCfgParam; //ʹñеIJ0-Ч1-(úͨЧ)2- - DWORD dwStreamType; //ͣλʾ - //&0x1-ʾ - //&0x2-ʾ - //&0x4-ʾ - BYTE byRes[28]; // ֽ -}NET_DVR_BACKUP_TIME_PARAM, *LPNET_DVR_BACKUP_TIME_PARAM; -/********************************* end *******************************************/ - -typedef enum _COMPRESSION_ABILITY_TYPE_ -{ - COMPRESSION_STREAM_ABILITY = 0, //ѹ - MAIN_RESOLUTION_ABILITY = 1, //ѹֱ - SUB_RESOLUTION_ABILITY = 2, //ѹֱ - EVENT_RESOLUTION_ABILITY = 3, //¼ѹֱ - FRAME_ABILITY = 4, //֡ - BITRATE_TYPE_ABILITY = 5, //λ - BITRATE_ABILITY = 6, //λ - THIRD_RESOLUTION_ABILITY = 7, //ѹֱ - STREAM_TYPE_ABILITY = 8, // - PIC_QUALITY_ABILITY = 9, //ͼ - INTERVAL_BPFRAME_ABILITY = 10, //BP֡ - VIDEO_ENC_ABILITY = 11, //Ƶ - AUDIO_ENC_ABILITY = 12, //Ƶ - VIDEO_ENC_COMPLEXITY_ABILITY = 13, //Ƶ븴Ӷ - FORMAT_ABILITY = 14, //װʽ -}COMPRESSION_ABILITY_TYPE; - -//б -typedef struct tagNET_DVR_ABILITY_LIST -{ - DWORD dwAbilityType; // COMPRESSION_ABILITY_TYPE - BYTE byRes[32]; //ֽ - DWORD dwNodeNum; // - NET_DVR_DESC_NODE struDescNode[MAX_NODE_NUM]; // -}NET_DVR_ABILITY_LIST, *LPNET_DVR_ABILITY_LIST; - -#define MAX_ABILITYTYPE_NUM 12 // -// ѹб -typedef struct tagNET_DVR_COMPRESSIONCFG_ABILITY -{ - DWORD dwSize; //ṹ - DWORD dwAbilityNum; //͸ - NET_DVR_ABILITY_LIST struAbilityNode[MAX_ABILITYTYPE_NUM]; // -}NET_DVR_COMPRESSIONCFG_ABILITY, *LPNET_DVR_COMPRESSIONCFG_ABILITY; -/********************************9000RH begin****************************************/ -#define SUPPORT_PD_NUM 16 -#define SUPPORT_ARRAY_NUM 8 -#define SUPPORT_VD_NUM 128 -#define SUPPORT_PD_NUM_ 16 -#define SUPPORT_PD_NUM_PARTTWO 8 - -typedef enum tagRAID_MODE -{ - RAID0 = 1, - RAID1, - RAID10, - RAID1E, - RAID5, - RAID6, - RAID50, - JBOD, - RAID60 -}RAID_MODE; - -typedef enum tagHD_SUPPORT_TYPE -{ - HD_TYPE_SATA = 0x01, - HD_TYPE_PATA = 0x02, - HD_TYPE_SAS = 0x04, - HD_TYPE_ATAPI = 0x08, - HD_TYPE_TAPE = 0x10, - HD_TYPE_SES = 0x20 -}HD_SUPPORT_TYPE; - -// λʾ λΪ0ʾ֧ 1ʾ֧ -typedef enum tagSUPPORT_RAID_TYPE -{ - RAID0_ABILITY = 0x0001, - RAID1_ABILITY = 0x0002, - RAID10_ABILITY = 0x0004, - RAID1E_ABILITY = 0x0008, - RAID5_ABILITY = 0x0010, - RAID6_ABILITY = 0x0020, - RAID50_ABILITY = 0x0040, - JBOD_ABILITY = 0x0080, - RAID60_ABILITY = 0x0100 -}SUPPORT_RAID_TYPE; - -// -typedef struct tagNET_DVR_PHY_DISK_INFO -{ - WORD wPhySlot; // Ӳ̲λ - BYTE byType; // ӲϢ0 ͨ1ȫȱ2-ȱ 3- - BYTE byStatus; // Ӳ״̬ 0- 1- 2-ɾ 3-̶ʧ 4- 5- 6- 7-쳣 8-SMART״̬쳣 9- 10-л,11-SMRӲ̲֧й,0xff- - BYTE byMode[40]; // Ӳ ַ - DWORD dwHCapacity; // 32λ λkb - DWORD dwLCapacity; // 32λ - BYTE byArrrayName[MAX_NAMELEN]; - WORD wArrayID; // ID - BYTE byArrayInformation; // ǷϢ0 1 - BYTE byRes[101]; // ֽ -}NET_DVR_PHY_DISK_INFO, *LPNET_DVR_PHY_DISK_INFO; - -typedef struct tagNET_DVR_PHY_DISK_LIST -{ - DWORD dwSize; - DWORD dwCount; - NET_DVR_PHY_DISK_INFO struPhyDiskInfo[SUPPORT_PD_NUM]; -}NET_DVR_PHY_DISK_LIST, *LPNET_DVR_PHY_DISK_LIST; - -typedef enum tagBGA_TYPE -{ - BGA_REBUILD = 0x01, // ؽ - BGA_CONSISTENCY_FIX = 0x02, // һԼ鲢޸ - BGA_CONSISTENCY_CHECK = 0x04, // һԼ - BGA_INIT_QUICK = 0x08, // ʼ() - BGA_INIT_BACK = 0x10, // ʼ(ȫ) - BGA_MIGRATION = 0x20, // Ǩ - BGA_INIT_FORE = 0x40, // ʼ - BGA_COPYBACK = 0x80 // Ǩ -}BGA_TYPE; - -typedef enum tagBGA_STATE -{ - BGA_STATE_NONE = 0, // ޺̨ - BGA_STATE_RUNNING, // ̨ - BGA_STATE_ABORTED, // ̨ȡ - BGA_STATE_PAUSED // ̨ͣ -}BGA_STATE; -typedef struct tagNET_DVR_BGA_INFO -{ - BYTE byBga; // ̨ - BYTE byBgaState; /*ֵ--̨״̬*/ - WORD wBgaPercentage; /*ֵ--ִ̨аٷֱ*/ - BYTE byRes[4]; // ֽ -}NET_DVR_BGA_INFO, *LPNET_DVR_BGA_INFO; - -// Ϣ -typedef struct tagNET_DVR_ARRAY_INFO -{ - WORD wArrayID; // ID - BYTE byRaidMode; // raidģʽ RAID_MODE - BYTE byStatus; // 0- 1-̶ʧ 2- 3- 4-쳣 5- 6- 7-ɾ 8-SMART״̬쳣 0xff- - DWORD dwHCapacity; // 32λ - DWORD dwLCapacity; // 32λ - DWORD dwHFreeSpace; // ʣռ32λ - DWORD dwLFreeSpace; // ʣռ32λ - BYTE byArrayName[MAX_NAMELEN]; // - BYTE byPDCount; // Ŀ - BYTE bySpareCount; // ȱĿ - BYTE byRes1[2]; - WORD wPDSlots[SUPPORT_PD_NUM]; // - WORD wSparePDSlots[SUPPORT_PD_NUM]; // ȱ - NET_DVR_BGA_INFO struBgaInfo; // ̨״̬ - WORD wPDSlotsPartTwo[SUPPORT_PD_NUM_PARTTWO]; //չ0ʾЧ - WORD wSparePDSlotsPartTwo[SUPPORT_PD_NUM_PARTTWO]; // ȱչ0ʾЧ - BYTE byRes2[48]; // ֽ -}NET_DVR_ARRAY_INFO, *LPNET_DVR_ARRAY_INFO; - - -typedef struct tagNET_DVR_ARRAY_LIST -{ - DWORD dwSize; // ṹС - DWORD dwCount; // и - NET_DVR_ARRAY_INFO struArrayInfo[SUPPORT_ARRAY_NUM]; -}NET_DVR_ARRAY_LIST, *LPNET_DVR_ARRAY_LIST; - -//Ϣ -typedef struct tagNET_DVR_VD_INFO -{ - WORD wSlot; //̲λ - BYTE byStatus; // ״̬0- 1- 2-ɾ 3-̶ʧ 4- 5- 6- 7-쳣 8-SMART״̬쳣 0xff- - BYTE byRaidMode; // Raid ģʽ RAID_MODE - WORD wArrayID; // ID - BYTE byRepair; // ǷҪ޸ 0 Ҫ 1Ҫ - BYTE byUsage; //LUNʹ÷ʽ 0-IPSAN 1-FCSAN 2-DVR 3-NAS 4-¼ - BYTE byArrayName[MAX_NAMELEN]; - BYTE byName[MAX_NAMELEN]; // - DWORD dwHCapacity; // 32λ - DWORD dwLCapacity; // 32λ - DWORD dwHFreeSpace; // ʣռ32λ - DWORD dwLFreeSpace; // ʣռ32λ - NET_DVR_BGA_INFO struBgaInfo; // ̨״̬ - DWORD dwBlockSize; //С洢ԪС - NET_DVR_IPADDR struWarrantIP; // ȨDVRIP - char szArrayGroup[NAME_LEN]; //ʹõ飬ԶŸΪʹĬ - BYTE byRes[20]; -}NET_DVR_VD_INFO, *LPNET_DVR_VD_INFO; - -typedef struct tagNET_DVR_VD_LIST -{ - DWORD dwSize; // ṹС - DWORD dwCount; // ̸ - NET_DVR_VD_INFO struVDInfo[SUPPORT_VD_NUM]; // -}NET_DVR_VD_LIST, *LPNET_DVR_VD_LIST; - -typedef struct tagNET_DVR_ADAPTER_VERSION -{ - WORD wMajorVersion; - WORD wMinorVersion; - WORD wRevisionNumber; - WORD wBuildNumber; -}NET_DVR_ADAPTER_VERSION, *LPNET_DVR_ADAPTER_VERSION; - -typedef struct tagNET_DVR_VD_SLOT -{ - WORD wVDSlot; - BYTE byAlloc; // ǷѾ - BYTE byRes[5]; - DWORD dwHVDSlotSize; // ̿ռС32λ - DWORD dwLVDSlotSize; // ̿ռС32λ -}NET_DVR_VD_SLOT, *LPNET_DVR_VD_SLOT; - -typedef struct tagNET_DVR_ARRAY_SPACE_ALLOC_INFO -{ - BYTE byVDSlotCount; /*current number of slots in DG*/ - BYTE byRes1[3]; // ֽ - NET_DVR_VD_SLOT struVDSlots[SUPPORT_VD_NUM]; -}NET_DVR_ARRAY_SPACE_ALLOC_INFO, *LPNET_DVR_ARRAY_SPACE_ALLOC_INFO; - -typedef struct tagNET_DVR_RAID_ADAPTER_INFO -{ - DWORD dwSize; // ṹС - NET_DVR_ADAPTER_VERSION struVersion; // 汾 - BYTE bySlotCount; //λ - BYTE bySupportMigrate; // Ǩ(1-֧ 0-֧) - BYTE bySupportExpand; // (1-֧ 0-֧) - BYTE bySupportRebuild; // Ƿ֧ؽ (1֧ 0-֧) - WORD wSlotSupportType; // λʾ HD_SUPPORT_TYPE - WORD wSupportRaidType; // ֧Raid λʾ - BYTE byAutoRebuild; // 0 Զؽ 1Զؽ - BYTE byRes[27]; // ֽ -}NET_DVR_RAID_ADAPTER_INFO, *LPNET_DVR_RAID_ADAPTER_INFO; - -typedef struct tagNET_DVR_OPERATE_ARRAY_PARAM -{ - //Ƿһ Ϊһ򴴽ʱʱ֮ҪarrayƣҪ - // 豸д - BYTE byRaidMode; // /ǨʱRaid - BYTE byPDCount; // Ŀ - WORD wArrayID; // ǨƻؽʱҪָID - WORD wPDSlots[SUPPORT_PD_NUM];// - BYTE byName[MAX_NAMELEN]; // array - BYTE byInitMode; //ʼʽ - BYTE byRes1; - WORD wPDSlotsPartTwo[SUPPORT_PD_NUM_PARTTWO]; //Ϣ - BYTE byRes2[2]; -}NET_DVR_OPERATE_ARRAY_PARAM, *LPNET_DVR_OPERATE_ARRAY_PARAM; - - -#define INIT_QUICK 0 /*ٳʼ*/ -#define INIT_FULLFOREGROUND 1 /*ȫʼ(ǰ̨)*/ -#define INIT_FULLBACKGROUND 2 /*ȫʼ(̨)*/ - -typedef struct tagNET_DVR_OPERATE_VD_PARAM -{ - WORD wArrayID; // ID - BYTE bySlot; // ָλ - BYTE byInitType; // ʱʼ 0 - ٳʼ 1 - ǰ̨ȫʼ 2 - ̨ȫʼ - DWORD dwHCapacity; // ̴С32λ - DWORD dwLCapacity; // ̴С32λ - BYTE byName[MAX_NAMELEN]; // - BYTE byRes2[16]; // ֽ -}NET_DVR_OPERATE_VD_PARAM, *LPNET_DVR_OPERATE_VD_PARAM; - - -typedef struct tagNET_DVR_SPARE_DISK_PARAM -{ - WORD wPDSlot; // ̲λ - WORD wArrayID; // - BYTE bySpareType; // ȱ 1-ȫȱ 2 ָ ΪָеʱҪָеID - BYTE byRes[7]; // ֽ -}NET_DVR_SPARE_DISK_PARAM, *LPNET_DVR_SPARE_DISK_PARAM; - -/********************************9000RH End****************************************/ - - -#define MATRIX_MAXDECSUBSYSTEMCHAN 4//Ƶۺƽ̨ϵͳͨ - -//ȡϵͳϢ -typedef struct tagNET_DVR_DECSUBSYSTEMJIONSTATUS -{ - BYTE byJoinStatus;//״̬0-ûй1-Ѿ - BYTE byJoinSubSystem;//ϵͳλ - BYTE byJoinDispNum;//ʾͨ - BYTE byJoinSubWindowNum;//Ӵں - BYTE byRes[4]; -}NET_DVR_DECSUBSYSTEMJIONSTATUS,LPNET_DVR_DECSUBSYSTEMJIONSTATUS; - -typedef struct tagNET_DVR_SINGLESUBSYSTEMJOININFO -{ - BYTE bySubSystemType;//ϵͳͣ0-ޣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ,5-ϵͳ6-ϵͳ - BYTE byConnectStatus;//ϵͳ״̬1-2-ӶϿ - BYTE byMatrixNum;//Ƶۺƽ̨ţϵͳ34ʱ - BYTE bySubSystemNum;//ϵͳλţ0~79ϵͳ34ʱ - NET_DVR_DECSUBSYSTEMJIONSTATUS struDecSub [MATRIX_MAXDECSUBSYSTEMCHAN]; - BYTE byBindStatus;//״̬0-ûа󶨣1-Ѿ󶨣ƴʱõ - BYTE byRes[7]; -}NET_DVR_SINGLESUBSYSTEMJOININFO,LPNET_DVR_SINGLESUBSYSTEMJOININFO; - -typedef struct tagNET_DVR_ALLDECSUBSYSTEMJOININFO -{ - DWORD dwSize; - NET_DVR_SINGLESUBSYSTEMJOININFO struSingleSubSystemJoinInfo[MAX_SUBSYSTEM_NUM];//80 - BYTE byRes[8]; -}NET_DVR_ALLDECSUBSYSTEMJOININFO, *LPNET_DVR_ALLDECSUBSYSTEMJOININFO; - -//2010-04-13 NAT -typedef struct tagNET_DVR_NATASSOCIATECFG -{ - DWORD dwSize; - NET_DVR_NETCFG_V30 struNatIpAddress[2];//NAT IPַ - BYTE byNATEnable;//ǷNATܣ0-ã0- - BYTE byNATCfgMode; //NATģʽ0-ֶ䣬1-Զ - BYTE byRes[62]; -}NET_DVR_NATASSOCIATECFG, *LPNET_DVR_NATASSOCIATECFG; - -//2010-06-01 Ƶۺƽ̨ -typedef struct tagNET_DVR_TEMPERATUREALARMCFG -{ - BYTE byEnableTemperatureAlarm;//ʹ¶ȳޱ0-1- - BYTE byRes1[3]; - int iTemperatureUpLimited; //ȷСλ1234ʾ¶12.34 - int iTemperatureDownLimited; - NET_DVR_HANDLEEXCEPTION_V30 struTempHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRes2[32]; -}NET_DVR_TEMPERATUREALARMCFG, *LPNET_DVR_TEMPERATUREALARMCFG; - -typedef struct tagNET_DVR_BOARDALARMCFG -{ - BYTE byEnablePullAlarm;//Ȳαʹܣ1-0- - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struBoardHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRes2[32]; -}NET_DVR_BOARDALARMCFG, *LPNET_DVR_BOARDALARMCFG; - - -typedef struct tagNET_DVR_VIDEOPLATFORMALARMCFG -{ - DWORD dwSize; - NET_DVR_TEMPERATUREALARMCFG struTempAlarmCfg; - NET_DVR_BOARDALARMCFG struBoardAlarmCfg; - NET_DVR_HANDLEEXCEPTION_V30 struHandleException[MAX_EXCEPTIONNUM];//0-쳣1-ϵͳ쳣2-IPַͻ3-߶ϣ4-Ƿʣ5-쳣6-ǰ쳣 - BYTE byRes[32]; -}NET_DVR_VIDEOPLATFORMALARMCFG,*LPNET_DVR_VIDEOPLATFORMALARMCFG; -//2010-05-17 -typedef struct tagNET_DVR_CODESPLITTERASSOCIATE -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; /*IPַ*/ - WORD wPort; //˿ں - BYTE byRes1[6]; - BYTE sUserName[NAME_LEN]; /* û32 */ - BYTE sPassword[PASSWD_LEN]; /* 16*/ - BYTE byChan;//ͨ - BYTE byRes2[15]; -} NET_DVR_CODESPLITTERASSOCIATE, *LPNET_DVR_CODESPLITTERASSOCIATE; - -//2010-06-01 Ƶۺƽ̨ϴṹ -typedef struct tagNET_DVR_MATRIXSUBSYSTEMINFO -{ - BYTE byMatrixNum;//Ƶۺƽ̨ - BYTE bySubSystemNum;//ϵͳλ - BYTE byRes [14]; -} NET_DVR_MATRIXSUBSYSTEMINFO, *LPNET_DVR_MATRIXSUBSYSTEMINFO; - -typedef struct tagNET_DVR_VIDEOPLATFORM_ALRAMINFO -{ - DWORD dwSize; //ṹС - BYTE byAlarmType; // 0-γӰ壬1-Ӱ,2-¶ȳޱ3-¶ȳޱ4-״̬쳣5-ϵͳ쳣,6-Ƿʣ7-쳣,8-ǰ쳣 - BYTE byBoardNum; //Ӱţ1B10ֶָ֧ΣЧΪ0xff - BYTE byRes1[2]; - BYTE bySubSystemChan[8]; //Ӱλ,һӰ8ϵͳֱӦIJλţϵͳ쳣ʱbySubSystemChan[0]ʾӦϵͳ - int iTemperature; //¶ȳޱʱã¶ֵ - BYTE byMainboardSeq;//¶ȳޱʱã0-壬1- - BYTE byRes2[3]; - BYTE byFanSequence[32];//쳣ȣbyFanSequence[i] = 1ʾi+1쳣byFanSequence[i] = 0ʾi+1 - NET_DVR_MATRIXSUBSYSTEMINFO struInputNote;// 쳣ʱʹã - NET_DVR_MATRIXSUBSYSTEMINFO struOutputNote;//쳣ʱʹã - BYTE byRes3[68]; -}NET_DVR_VIDEOPLATFORM_ALRAMINFO,*LPNET_DVR_VIDEOPLATFORM_ALRAMINFO; - -/***************************ѶDVR begin *****************************/ -#define MAX_INQUEST_PIP_NUM 3 //ͨʾĻлĿ -#define MAX_INQUEST_CDRW_NUM 4 //¼Ŀ -#define MAX_INQUEST_PIP_NUM_EX 16 //Ѷл - -typedef struct -{ - DWORD dwSize; - DWORD dwNum; //¼ - DWORD dwRwSelectPara[MAX_CHANNUM_V30];// Ƿѡиù - DWORD dwModeSelect; //0ʾѭ¼ģʽ 1ʾп¼ģʽ(Ĭģʽ) - BYTE byRes[24]; // - DWORD dwStartCDRW; //DVR Ѿʼ¼ - DWORD dwHdExcp; //Ӳ - DWORD dwInterval; //ʱ10(0)20(1)30(2) - char sLable[64]; // -}NET_DVR_INQUEST_CDRW_CFG, *LPNET_DVR_INQUEST_CDRW_CFG; - -typedef struct -{ - char sFileName[36]; //ļ - DWORD dwFileLen; //ļ -}NET_DVR_INQUEST_FILEINFO, *LPNET_DVR_INQUEST_FILEINFO; - -typedef struct -{ - DWORD dwFileNum; // Ҫ¼ɾļһ20 - NET_DVR_INQUEST_FILEINFO struFileInfo[MAX_RECORD_FILE_NUM]; - //ڱʾ¼ļʱʹ - DWORD dwCDIndex; //¼1:ѡ1ſ¼2:ѡ2ſ¼ 3:3ſ¼,4:4ſ¼,5:п¼ - DWORD bFinalizeDisc; // 0=¼֮󲻷̣1=¼֮ -}NET_DVR_INQUEST_FILES, *LPNET_DVR_INQUEST_FILES; - -typedef struct -{ - DWORD dwEnable; //¼״̬ǷЧ,0-Ч,1-Ч - DWORD dwStatus; /* dwType=0ʱ - 0-1-޹̻쳣, - dwType=12ʱ - 0-¼1-޹̻쳣 - 2-ѷ(81֧)3-̿ռ䲻㣬 - 4-쳣Ѷֹ(81֧) - dwType=3ʱ - 0-¼1-޹̻쳣 - 2-ѷ(81֧)3-̿ռ䲻 - dwType=4ʱ - 0-¼1-޹̻쳣 - 2-ѷ(81֧)3-̿ռ䲻 - dwType=5ʱ, - 0- 1-޹̻쳣, - 2-ѷ(81֧) - dwType=67ʱ, - 0-¼, 1-޹̻쳣, - 2-ѷ(81֧), 3-̿ռ䲻*/ - DWORD dwVolumn; //,λM - DWORD dwFreeSpace; //ʣ,λM - DWORD dwTimeLeft; // ʣʱ䣬λ - BYTE byCDType; // - BYTE byRes[3]; //ֽ -}NET_DVR_INQUEST_CDRW, *LPNET_DVR_INQUEST_CDRW; - -typedef struct -{ -/*״̬0-Ѷʼ -1-Ѷп¼2-Ѷֹͣ -3-¼Ѷļ, -4-(º󱸷ݺͱر) -5- -6-ʼӲ - 7-ָѶ*/ - DWORD dwType; - NET_DVR_INQUEST_CDRW strCDRWNum[MAX_INQUEST_CDRW_NUM]; //0ʾ¼1 - NET_DVR_TIME_EX struInquestStartTime; //Ѷʼʱ - BYTE byRes[16]; // -}NET_DVR_INQUEST_CDRW_STATUS, *LPNET_DVR_INQUEST_CDRW_STATUS; - -typedef struct -{ - BYTE byPipChan; //лʾͨ 0xFFر - BYTE byRes[3]; //ֽ - WORD wTopLeftX; //лx - WORD wTopLeftY; //лY -}NET_DVR_INQUEST_PIP_PARAM, *LPNET_DVR_INQUEST_PIP_PARAM; - -typedef struct -{ - BYTE byBaseChan; //ʾлڵͨ - BYTE byBackChan; //ʾлͨ - BYTE byPIPMode; /*Ƿ, - 0 ǰС - 1 ǰ1С - 2 ǰ2С - 3 ǰ3С - */ - BYTE byRes; //ֽ - NET_DVR_INQUEST_PIP_PARAM strPipPara[MAX_INQUEST_PIP_NUM]; //λõIJ -}NET_DVR_INQUEST_PIP_STATUS, *LPNET_DVR_INQUEST_PIP_STATUS; - -//V40չлչΪ32 -typedef struct tagNET_DVR_INQUEST_PIP_PARAM_V40 -{ - BYTE byPipChan; /*лʾͨ 0xFFر*/ - BYTE byRes1[3]; - WORD wTopLeftX; /*лx*/ - WORD wTopLeftY; /*лY*/ - WORD wHeight; /*лĸ */ - WORD wWidth; /*лĿ */ - BYTE byRes2[32]; -}NET_DVR_INQUEST_PIP_PARAM_V40, *LPNET_DVR_INQUEST_PIP_PARAM_V40; - -typedef struct tagNET_DVR_INQUEST_PIP_STATUS_V40 -{ - NET_DVR_STRUCTHEAD struStructHead; - BYTE byBaseChan; /*ʾлڵͨ*/ - BYTE byBackChan; /*ʾлͨ*/ - BYTE byPIPMode; /*Ƿ, 0 ǰС - 1 ǰ1С - 2 ǰ2С - 3 ǰ3С - 4 ǰ4С - 5 ǰ5С - 6 ǰ6С - 7 ǰ7С - 8 ǰ8С - 9 ǰ9С - 255 ǰڹرԤ*/ - BYTE byPipCount; /*Сĸ*/ - BYTE byPicShowMode; /*ʾģʽ0-л1-2-ƴ*/ - BYTE byRes[31]; /**/ - NET_DVR_INQUEST_PIP_PARAM_V40 strPipPara[MAX_INQUEST_PIP_NUM_EX]; /*λõIJ*/ -}NET_DVR_INQUEST_PIP_STATUS_V40, *LPNET_DVR_INQUEST_PIP_STATUS_V40; - -typedef struct -{ - BYTE sSecretKey[16]; /*Կ*/ - BYTE byRes[64]; /*ֽ*/ -}NET_DVR_INQUEST_SECRET_INFO, *LPNET_DVR_INQUEST_SECRET_INFO; - - -/***************************ѶDVR end *****************************/ - - -/********************************ӿڲṹ(end)*********************************/ -#define MAX_BIGSCREENNUM 100//ƴ - -typedef struct tagNET_DVR_SINGLESCREENCFG -{ - BYTE byScreenSeq;//Ļţ0xffʾô,64-Tһʾ - BYTE bySubSystemNum;//ϵͳλ,ֵû - BYTE byDispNum;//ϵͳ϶Ӧʾͨţ64-Tиֵʾʾͨ - BYTE byRes[9]; -}NET_DVR_SINGLESCREENCFG, *LPNET_DVR_SINGLESCREENCFG; - -typedef struct tagNET_DVR_BIGSCREENCFG -{ - DWORD dwSize; - BYTE byEnable;//ƴʹܣ0-ʹܣ1-ʹ - BYTE byModeX;/*ƴģʽ*/ - BYTE byModeY; - BYTE byMainDecodeSystem;//ۺƽ̨Ľиֵʾλţ64-Tиֵʾͨ - BYTE byMainDecoderDispChan;//ʾͨţ1.1netra汾netraʾܹͨΪ64-TиֵЧ - BYTE byVideoStandard; //ÿʽͬ 1:NTSC,2:PAL - BYTE byRes1[2]; - DWORD dwResolution; //ÿֱͬ - //ƴӴĻϢ - NET_DVR_SINGLESCREENCFG struFollowSingleScreen[MAX_BIGSCREENNUM]; - //ʼΪ׼ - WORD wBigScreenX; //ڵǽʼX - WORD wBigScreenY; //ڵǽʼY - BYTE byRes2[12]; -}NET_DVR_BIGSCREENCFG, *LPNET_DVR_BIGSCREENCFG; - - -#define DECODEPIC_LEFTADJUST 1 /*ͼ*/ -#define DECODEPIC_RIGHTADJUST 2 /*ͼ*/ -#define DECODEPIC_UPADJUST 3 /*ͼ*/ -#define DECODEPIC_DOWNADJUST 4 /*ͼ*/ -#define DECODEPIC_REDUCEADJUST 5 /*ͼС*/ -#define DECODEPIC_FULL_SCREEN_ADJUST 6 /*ͼȫ*/ -#define DECODEPIC_CANCEL_FULL_SCREEN_ADJUST 7 /*ͼȡȫʾ*/ -#define DECODEPIC_AUTOADJUST 8 /* ͼԶ */ -#define DECODEPIC_HEIGHTADJUST 9 /* ͼ߶ȵ */ -#define DECODEPIC_WIDTHADJUST 10 /* ͼȵ */ - -#define MAX_UNITEDMATRIX_NUM 8//Ƶۺƽ̨ -#define MAX_SUBDOMAIN_NUM 4// -typedef struct tagNET_DVR_SUBSERVERINFO -{ - BYTE bySequence;//ţţƵۺƽ̨ƽ̨ţ0ʾ޴ƽ̨\ - BYTE byBelongSubDomain;//ƽ̨Чʾĸ - BYTE byRes1[6]; - DWORD dwMaxIpcNums;//ӵIPC - NET_DVR_IPADDR struSubMatrixIP; /*IPַ*/ - WORD wSubMatrixPort; /*ϵͳ˿ں*/ - BYTE byRes2[6]; -}NET_DVR_SUBSERVERINFO, *LPNET_DVR_SUBSERVERINFO; - -typedef struct tagNET_DVR_UNITEDMATRIXINFO -{ - DWORD dwSize; - NET_DVR_SUBSERVERINFO struDomainInfo; - NET_DVR_SUBSERVERINFO struSubDomainInfo[MAX_SUBDOMAIN_NUM];//Ϣ - NET_DVR_SUBSERVERINFO struMatrixInfo[MAX_UNITEDMATRIX_NUM];//Ƶۺƽ̨Ϣ - BYTE byRes[32]; -}NET_DVR_UNITEDMATRIXINFO, *LPNET_DVR_UNITEDMATRIXINFO; - -typedef struct tagNET_DVR_REGCALLBACKPARAM -{ - char sDeviceID[NAME_LEN];//豸ID - char sPassword[PASSWD_LEN]; - BYTE sSerialNumber[SERIALNO_LEN]; /* 豸к */ - DWORD dwDeviceType;//豸 - BYTE nStatus;// ״̬0ߣ1ߣ - /* net type, 0: unknow; 1: 2G wireless networks; 2: 3G wireless networks; 3: line networks */ - BYTE byNetType; - BYTE byRes[14]; -}NET_DVR_REGCALLBACKPARAM, *LPNET_DVR_REGCALLBACKPARAM; - -typedef struct tagNET_DVR_LOGONREPONSEPARAM -{ - //ʱλ, 5ı180ڡĬ15롣 - WORD wHeartbeatTime; - BYTE byOvertimes;// 豸ʱĬ3 - BYTE byRes[13]; -}NET_DVR_LOGONREPONSEPARAM, *LPNET_DVR_LOGONREPONSEPARAM; - - -typedef struct tagNET_DVR_PREVIEWPARAM -{ - BYTE byTransProtol; //Э飬0-TCP, 1-UDP - BYTE byTransMode; ///* ģʽ 0 1*/ - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - WORD wUdpPort; - BYTE bySupportQos;//ǷQOS,1-ã0- - //ǷNATԤ0-1-(ֻbyTransModeֶ) - BYTE byNatRequest; - BYTE byPreviewType;// 0-ͨԤ 1-ʱԤ - BYTE byRes[7]; -}NET_DVR_PREVIEWPARAM, *LPNET_DVR_PREVIEWPARAM; -typedef struct tagNET_DVR_DEVICENATINFO -{ - NET_DVR_IPADDR struPuIp; //PUIPַ - WORD wOuterPort;/*PU˿*/ - WORD wInterPort;//PUƵıض˿ - DWORD nSessionID;//CMSsessionID - BYTE byRes[4]; -}NET_DVR_DEVICENATINFO, *LPNET_DVR_DEVICENATINFO; - - -typedef struct tagNET_DVR_PREVIEWCALLBACKPARAM -{ - LONG lChannel; - BYTE nLinkProtocol; - BYTE nTransMode; - BYTE byPreviewType; //0-ͨԤ 1-ʱԤ - BYTE byRes[5]; - DWORD nSessionID;//CMSsessionID -}NET_DVR_PREVIEWCALLBACKPARAM, *LPNET_DVR_PREVIEWCALLBACKPARAM; - -//ط -typedef struct tagNET_DVR_PLAYBACKREQUESTPARAM -{ - BYTE byPlayBackMode; /* طģʽ 1 2ʱ */ - BYTE byRes1[3]; - union - { - char sFileName [100]; /* طŵļ */ - struct - { - LONG lChannel; /*طŵͨ*/ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - BYTE byRes[48]; - }struPlayBackbyTime; - }playbackmode; - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE byRes2[2]; - DWORD dwSessionID;//CMSsessionID, - BYTE byRes3[16]; -}NET_DVR_PLAYBACKREQUESTPARAM, *LPNET_DVR_PLAYBACKREQUESTPARAM; - -//2010-10-06 -typedef struct tagNET_DVR_PLAYBACKCALLBACKPARAM -{ - BYTE byPlayBackMode; /* طģʽ 1 2ʱ */ - BYTE byRes1[3]; - union - { - char sFileName [100]; /* طŵļ */ - struct - { - LONG lChannel; /*طŵͨ*/ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - BYTE byRes[48]; - }struPlayBackbyTime; - }playbackmode; - DWORD nSessionID;//CMSsessionID - BYTE byRes2[44]; -}NET_DVR_PLAYBACKCALLBACKPARAM, *LPNET_DVR_PLAYBACKCALLBACKPARAM; - -typedef struct tagNET_DVR_VOICEREQUESETPARAM -{ - BYTE nVoiceChannel; //Խͨ - BYTE byRes1[3]; - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE byRes2[10]; -}NET_DVR_VOICEREQUESTPARAM, *LPNET_DVR_VOICEREQUESTPARAM; - -typedef struct tagNET_DVR_ALARMSETUPREQUESETPARAM -{ - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE byRes[2]; -}NET_DVR_ALARMSETUPREQUESTPARAM, *LPNET_DVR_ALARMSETUPREQUESTPARAM; - -typedef struct tagNET_DVR_GPSALARMINFO -{ - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - NET_DVR_TIME_EX struGpsTime; /*GPSϴʱ*/ - DWORD dwLongitude; /* */ - DWORD dwLatitude; /* γ*/ - int iTimeZone; /*ʱ÷ʾ+601+4808-60-4808ֶκGPSTimeһʱ*/ - DWORD dwDirection; /*=ʵʷԶΪλΪ˳ʱ뷽㣩*100*/ - WORD wSatellites; /**/ - WORD wPrecision; /**/ - DWORD dwHeight; /*߶:ףԤ*/ - DWORD dwGPSSeq; /*GPSţGPSʱҪõ*/ - WORD wSpeed;//ٶȣλkm/h - /* direction[0]:'E'or'W'(/), direction[1]:'N'or'S'(γ/γ)*/ - char sDirection[2]; - BYTE byLocateMode;/*λģʽ(ֵ0)1,λ,2,3,,4,Ч65,Чλ78Чλ*/ - BYTE byRes[3]; -}NET_DVR_GPSALARMINFO, *LPNET_DVR_GPSALARMINFO; - -//ͼƬϢϴ -typedef struct tagNET_DVR_PICINFO -{ - DWORD dwSize; //ṹ - BYTE byChanIndex; //ͨ - BYTE byRes1[3]; // - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byAbsTime[32]; //ʱ, yyyymmddhhmmssxxx, - DWORD dwPicLen; //ͼƬ - BYTE byRes2[32]; - BYTE *pPicBuffer; -}NET_DVR_PICTUREINFO, *LPNET_DVR_PICTUREINFO; - -//ƽ̨ -typedef struct tagNET_DVR_CMSPARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struCmsAddr; - WORD wCmsPort; - BYTE byRes1[2]; - BYTE sDeviceID[NAME_LEN]; - BYTE byPassword[PASSWD_LEN]; - NET_DVR_IPADDR struPicServerAddr; - WORD wPicServerPort; - WORD wCmsUdpPort;//CMSUDPѯĶ˿ - BYTE byRes2[12]; -}NET_DVR_CMSPARAM, *LPNET_DVR_CMSPARAM; - -///Ź -#define DIALPASSWD_LEN 32 //볤 - -typedef struct tagNET_DVR_QOSPARAM -{ - WORD wMaxBitUL; /* the maximum number of kbits/s in up-link traffic */ - WORD wMaxBitDL; /* the maximum number of kbits/s in down-link traffic */ - BYTE byTrafficClass; /* 0: conversationnal; 1: streaming; 2: interactive;3: background; 4: subscribed value(default) */ - BYTE byRes[7]; -}NET_DVR_QOSPARAM, *LPNET_DVR_QOSPARAM; - - -typedef struct tagNET_DVR_PPPDPARAM -{ - BYTE byDialNum[NAME_LEN]; /* dial number, eg. "#777" */ - BYTE byUserName[NAME_LEN]; /* user name, eg. "card" */ - BYTE byPassword[DIALPASSWD_LEN]; /* password, eg. "card" */ - BYTE byApn[NAME_LEN]; /* access point name, eg. "cmnet" */ - NET_DVR_IPADDR struLocalIp;/* local IP address */ - NET_DVR_IPADDR struRemoteIp;/* remote IP address */ - WORD wMtuSize; /* max transfer unit of ppp interface */ - BYTE byVerifyProtocal; /* IPCP verify protocal: 0: auto; 1: CHAP; 2: PAP */ - BYTE byRes[25]; -}NET_DVR_PPPDPARAM, *LPNET_DVR_PPPDPARAM; - -#define MAX_PHONE_NUM 32//볤 - -typedef struct tagNET_DVR_DIALPARAM -{ - DWORD dwSize; - BYTE bEnable3G; /* 0: disable; 1: enable 3g */ - BYTE byDialMethod; /* dial methold: 0: auto dial; 1: manual dial; */ - BYTE bySwitchMethod; /* switch methold: 0: auto switch;13Gȣ2: manual switch to 2G; 3: manual switch to 3G; */ - BYTE byEnaAlarmInDial; /* ʹܱ봥; 0: disable; 1: enable */ - BYTE byRes1[10]; - WORD wOffLineTime; /* auto off line when no connection exist,λӣΧ5~65535 */ - NET_DVR_PPPDPARAM struPppdParam; - NET_DVR_QOSPARAM struQosParam; - BYTE byUimNumber[MAX_PHONE_NUM]; - BYTE byRes2[24]; -}NET_DVR_DIALPARAM, *LPNET_DVR_DIALPARAM; - -typedef struct tagNET_DVR_DIALREQUEST -{ - BYTE byConnNum; /**/ - BYTE byNetType; /* ָijĬϲŲʱ˲ûá0Զ1CDMA2EVDO3WCDMA4TD-SCDMA */ - BYTE byRes[6]; -} NET_DVR_DIALREQUEST, *LPNET_DVR_DIALREQUEST; - - -/* UIM card information */ -typedef enum -{ - UIM_UNKNOWN = 0, - UIM_VALID = 1, - UIM_NOVALID = 4, - UIM_ROAM = 11, - UIM_NOEXIST = 255 -}UIM_INFO; - -/* real 3g mode */ -typedef enum -{ - /* evdo */ - RMODE_CDMA1X = 12, - RMODE_EVDO = 14, - RMODE_CDMAHYBRID = 18, - /* wcdma */ - RMODE_GSM = 21, - RMODE_GPRS = 22, - RMODE_EDGE = 23, - RMODE_WCDMA = 24, - RMODE_HSDPA = 25, - RMODE_HSUPA = 26, - RMODE_HSPA = 27, - /* tdscdma */ - RMODE_TGSM = 31, - RMODE_TGPRS = 32, - RMODE_TEDGE = 33, - RMODE_TDSCDMA = 34, - RMODE_TDHSDPA = 35, - RMODE_TDHSUPA = 36, - RMODE_TDHSPA = 37 -}REAL_MODE; - -typedef struct tagNET_DVR_DIALSTATUS -{ - BYTE byRealMode; /* REAL_MODE ,real 3g mode networks */ - BYTE byUimCard; /* UIM_INFO ,UIM card information */ - BYTE byRes1[6]; - DWORD dwSignal; /* signal RSSI */ - DWORD dwDialStatus; /* dial status */ - NET_DVR_IPADDR struLocalIp; /* wireless networks IP address */ - NET_DVR_IPADDR struRemoteIp; /* wireless networks gateway */ - NET_DVR_IPADDR struNetMask; /* wireless networks netmask */ - NET_DVR_IPADDR struDns; /* wireless networks DNS */ - BYTE byRes2[16]; -}NET_DVR_DIALSTATUS, *LPNET_DVR_DIALSTATUS; - -//Ź -#define MAX_ALLOWLIST_NUM 8 // -#define NET_SDK_MAX_ALLOWLIST_NUM_32 32 // - -#define HARDDISKFULL_EXCEPTION 0x0 /*Ӳ*/ -#define HARDDISKERROR_EXCEPTION 0x1 /*Ӳ̴*/ -#define ETHERNETBROKEN_EXCEPTION 0x2 /*߶*/ -#define IPADDRCONFLICT_EXCEPTION 0x3 /*IPַͻ*/ -#define ILLEGALACCESS_EXCEPTION 0x4 /*Ƿ*/ -#define VI_EXCEPTION 0x5 /*Ƶź쳣*/ -#define VS_MISMATCH_EXCEPTION 0x6 /*/Ƶʽƥ */ -#define VIDEOCABLELOSE_EXCEPTION 0x7 /*Ƶź*/ -#define AUDIOCABLELOSE_EXCEPTION 0x8 /*Ƶź*/ -#define ALARMIN_EXCEPTION 0x9 /**/ -#define MASKALARM_EXCEPTION 0xa /*ڵ*/ -#define MOTDET_EXCEPTION 0xb /*ƶ*/ -#define RECORDING_EXCEPTION 0xc /*¼쳣*/ -#define WIRELESS_EXCEPTION 0xd /*PIR*/ -#define PIR_EXCEPTION 0xe /*߱*/ -#define CALLHELP_EXCEPTION 0xf /*ȱ*/ - -#define AUDIO_DETECTION_EXCEPTION 0x10 /*Ƶ쳣ⱨ*/ -#define SCENECHANGE_DETECTION_EXCEPTION 0x11 /*ⱨ*/ -#define DEFOCUS_DETECTION_EXCEPTION 0x12 /*齹ⱨ*/ -#define FACE_DETECTION_ENTRANCE_EXCEPTION 0x13 /*ⱨ*/ -#define LINE_DETECTION_ENTRANCE_EXCEPTION 0x14 /*Խⱨ*/ -#define FIELD_DETECTION_ENTRANCE_EXCEPTION 0x15 /*ⱨ*/ -#define REGION_EXITING_EXCEPTION 0x16 /*뿪ⱨ*/ -#define REGION_ENTRANCE_EXCEPTION 0x17 /*򱨾*/ -#define LOITERING_EXCEPTION 0x18 /*Աǻⱨ*/ -#define GROUP_EXCEPTION 0x19 /*Աۼⱨ*/ -#define RAPIDMOVE_EXCEPTION 0x1a /*ƶⱨ*/ -#define PARKING_EXCEPTION 0x1b /*ͣⱨ*/ -#define UNATTENDEDBAGGAGE_EXCEPTION 0x1c /*Ʒⱨ*/ -#define ATTENDEDBAGGAGE_EXCEPTION 0x1d /*Ʒȡⱨ*/ -#define DATATRAFFIC_EXCESS 0x1e /**/ -#define VOLTAGEINSTABLE_EXCEPTION 0x1f /*Դѹ쳣*/ -#define ALL_EXCEPTION 0xff /*¼¼ʽжǷ*/ - - -#define PHONECFG_RECEIVE_SMS 0x0 /* ֽ֧ձ */ -#define PHONECFG_SMS_CONTROL 0x1 /* ֶ֧ſ */ -#define PHONECFG_CALL_CONTROL 0x2 /* ֺ֧п */ -#define PHONECFG_SMS_REBOOT 0x3 /*ֶ֧*/ -#define PHONECFG_DOOR_CONTROL 0x4 /* ֧Ų*/ -#define PHONECFG_SMS_GET_DAIL_STATUS 0x5 /* ֶ֧Żȡ״̬*/ - - -typedef struct tagNET_DVR_PHONECFG -{ - BYTE byAllowList[MAX_PHONE_NUM]; - BYTE byPhonePerssion[32]; /*ֽڱʾǷʹܸúijܣλĺ - PHONECFG_RECEIVE_SMSȶ */ - BYTE byAlarmHandler[32]; /*ֽڱʾǷʹܶij͵Ķŷ*/ - BYTE byRes[128]; -} NET_DVR_PHONECFG, *LPNET_DVR_PHONECFG; - -typedef struct tagNET_DVR_SMSRELATIVEPARAM -{ - DWORD dwSize; - BYTE bEnableSmsAlarm; /* 0: disable; 1: enable 3g */ - BYTE byRes1[7]; - NET_DVR_PHONECFG struAllowList[MAX_ALLOWLIST_NUM]; - BYTE byRes2[32]; -}NET_DVR_SMSRELATIVEPARAM, *LPNET_DVR_SMSRELATIVEPARAM; - -typedef struct tagNET_DVR_PHONECFG_V50 -{ - BYTE byAllowList[MAX_PHONE_NUM]; - BYTE byPhonePerssion[32]; /*ֽڱʾǷʹܸúijܣλĺ - PHONECFG_RECEIVE_SMSȶ */ - BYTE byAlarmHandler[32]; /*ֽڱʾǷʹܶij͵Ķŷ(Žʱò)*/ - BYTE byAcsPassword[16]; /**/ - BYTE byName[NAME_LEN/*32*/]; /**/ - BYTE byRes[80]; -} NET_DVR_PHONECFG_V50, *LPNET_DVR_PHONECFG_V50; - -typedef struct tagNET_DVR_SMSRELATIVEPARAM_V50 -{ - DWORD dwSize; - BYTE bEnableSmsAlarm; /* 0: disable; 1: enable 3g */ - BYTE byRes1[7]; - NET_DVR_PHONECFG_V50 struAllowList[NET_SDK_MAX_ALLOWLIST_NUM_32]; - BYTE byRes2[32]; -}NET_DVR_SMSRELATIVEPARAM_V50, *LPNET_DVR_SMSRELATIVEPARAM_V50; - -#define NET_SDK_MONITOR_ID_LEN 64 //ID - -typedef struct tagNET_DVR_ACS_EVENT_COND -{ - DWORD dwSize; - DWORD dwMajor; //ͣο¼ϴ궨壬0-ȫ - DWORD dwMinor; //ͣο¼ϴ궨壬0-ȫ - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byName[NAME_LEN]; //ֿ - BYTE byPicEnable; //ǷͼƬ0-ͼƬ1-ͼƬ - BYTE byTimeType; //ʱͣ0-豸ʱ䣨Ĭϣ1-UTCʱ䣨struStartTimestruEndTimeʱ䣩 - BYTE byRes2[2]; // - DWORD dwBeginSerialNo; //ʼˮţΪ0ʱĬȫ - DWORD dwEndSerialNo; //ˮţΪ0ʱĬȫ - DWORD dwIOTChannelNo; //IOTͨţ0-Ч - WORD wInductiveEventType; //¼ͣ0-Чֵμ2.2½ڣͻжϸֵΪ0ֵ󣬱ͨ¼֣ͨԭбͣdwMajordwMinor - BYTE bySearchType; //ʽ0-1-¼ԴʱͨΪƵͨţ2-ID - BYTE byEventAttribute; //¼ԣ0-δ壬1-Ϸ¼2- - char szMonitorID[NET_SDK_MONITOR_ID_LEN/*64*/]; //ID豸кšͨ͡ɣŽ㣺豸к+DOOR+űţ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes[140]; // -}NET_DVR_ACS_EVENT_COND, *LPNET_DVR_ACS_EVENT_COND; - -typedef struct tagNET_DVR_ACS_EVENT_DETAIL -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ţmacַΪ0Ч - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byAllowListNo; //,1-8Ϊ0Ч - BYTE byReportChannel; //ϴͨ1-ϴ2-1ϴ3-2ϴΪ0Ч - BYTE byCardReaderKind; //һ࣬0-Ч1-IC2-֤3-ά,4-ָͷ - DWORD dwCardReaderNo; //ţΪ0Ч - DWORD dwDoorNo; //űţ¥ţΪ0Ч - DWORD dwVerifyNo; //ؿ֤ţΪ0Ч - DWORD dwAlarmInNo; //ţΪ0Ч - DWORD dwAlarmOutNo; //ţΪ0Ч - DWORD dwCaseSensorNo; //¼ - DWORD dwRs485No; //RS485ͨţΪ0Ч - DWORD dwMultiCardGroupNo; //Ⱥ - WORD wAccessChannel; //Աͨ - BYTE byDeviceNo; //豸ţΪ0ЧЧΧ1-255 - BYTE byDistractControlNo;//ֿţΪ0Ч - DWORD dwEmployeeNo; //ţΪ0Ч - WORD wLocalControllerID; //͵ؿţ0-Ž1-64͵ؿ - BYTE byInternetAccess; //ID1-1,2-2,3-1 - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ 0xff- - BYTE byMACAddr[MACADDR_LEN]; //ַΪ0Ч - BYTE bySwipeCardType;//ˢͣ0-Ч1-ά - BYTE byEventAttribute; //¼ԣ0-δ壬1-Ϸ֤2- - DWORD dwSerialNo; //¼ˮţΪ0Ч - BYTE byChannelControllerID; //ͨIDΪ0Ч1-ͨ2-ͨ - BYTE byChannelControllerLampID; //ͨưIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIRAdaptorID; //ͨתӰIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIREmitterID; //ͨIDΪ0ЧЧΧ1-255 - DWORD dwRecordChannelNum; //¼ͨĿ - char *pRecordChannelData;//¼ͨСΪsizeof(DWORD)* dwRecordChannelNum - BYTE byUserType; //Աͣ0-Ч1-ͨˣˣ2-ÿͣ3-ֹˣ4-Ա - BYTE byCurrentVerifyMode; //ǰ֤ʽ0-Ч1-ߣ2-ˢ+룬3-ˢ4-ˢ룬5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+룬10-ָƻˢ룬11-+ָƣ12-+룬 - //13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ23-ָƻ24-ˢ룬25-ˢ26-ˢָƣ27-ˢָƻ룬28-룬29-++룬30-ˢ+ˢ31-ָƻ룬32-Ĥ33-ָƻˢĤ34-ˢĤ - BYTE byAttendanceStatus; //״̬0-δ,1-ϰ࣬2-°࣬3-ʼϢ4-Ϣ5-ʼӰ࣬6-Ӱ - BYTE byStatusValue; //״ֵ̬ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID豸˵ʹ˹ţԱIDֶΣbyEmployeeNoһҪݣbyEmployeeNoתΪdwEmployeeNoôֶҲҪݣϲƽ̨ͻ˵ȽbyEmployeeNoֶΣֶΪգٿǽdwEmployeeNoֶΣ - BYTE byRes1; // - BYTE byMask; //Ƿ֣0-1-δ֪2-֣3- - BYTE byThermometryUnit; //µλ0-϶ȣĬϣ1-϶ȣ2-ģ - BYTE byIsAbnomalTemperature; //ץIJǷ¶쳣1-ǣ0- - float fCurrTemperature; //¶ȣȷСһλ - NET_VCA_POINT struRegionCoordinates; //¶ - WORD wXCoordinate; //x꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wYCoordinate; //y꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wWidth; //ȣΧ0-1000 - WORD wHeight; //߶ȣΧ0-1000 - BYTE byHealthCode; //״̬, 0-, 1-δ, 2-δ, 3-, 4-, 5-, 6-޴Ա, 7-Ϣӿ쳣²ѯʧܣ, 8-ѯ볬ʱ - BYTE byNADCode; //, 0-, 1-δѯ, 2-ԣ, 3-ԣȷ, 4-Чѹ - BYTE byTravelCode; //г̱, 0-, 1-14һֱڵ, 2-14뿪, 3-14ڵ, 4- - BYTE byVaccineStatus; //״̬, 0-, 1-δ, 2-ע, 3- - BYTE byRes[36]; -}NET_DVR_ACS_EVENT_DETAIL, *LPNET_DVR_ACS_EVENT_DETAIL; - -typedef struct tagNET_DVR_ACS_EVENT_CFG -{ - DWORD dwSize; - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME struTime; //ʱ - BYTE sNetUser[MAX_NAMELEN];//û - NET_DVR_IPADDR struRemoteHostAddr;//Զַ - NET_DVR_ACS_EVENT_DETAIL struAcsEventInfo; //ϸ - DWORD dwPicDataLen; //ͼƬݴСΪ0DZʾ - char *pPicData; - WORD wInductiveEventType; //¼ͣ0-Чֵμ2.2½ڣͻжϸֵΪ0ֵ󣬱ͨ¼֣ͨԭбͣdwMajordwMinor - BYTE byTimeType; //ʱͣ0-豸ʱ䣨Ĭϣ1-UTCʱ䣨struTimeʱ䣩 - BYTE byRes1; - DWORD dwQRCodeInfoLen; //άϢȣΪ0DZʾ - DWORD dwVisibleLightDataLen; //ȳɼͼƬȣΪ0DZʾ - DWORD dwThermalDataLen; //ȳͼƬȣΪ0DZʾ - char *pQRCodeInfo; //άϢָ - char *pVisibleLightData; //ȳɼͼƬָ - char *pThermalData; //ȳͼƬָ - BYTE byRes[36]; -}NET_DVR_ACS_EVENT_CFG, *LPNET_DVR_ACS_EVENT_CFG; - -typedef struct tagNET_DVR_SMSLISTINFO -{ - DWORD dwSize; - DWORD dwTotalSmsNum;// - BYTE byRes[8]; - BYTE *pSmsParam; - DWORD dwBufLen;//ָ볤ȣ -}NET_DVR_SMSLISTINFO, *LPNET_DVR_SMSLISTINFO; - -typedef struct tagNET_DVR_SMSPARAM -{ - DWORD dwIndex; /* the index of sms */ - BYTE byStatus; /* read yet or not */ - BYTE byRes[7]; - NET_DVR_TIME_EX struRecvTime; /* sms receive time */ -}NET_DVR_SMSPARAM, *LPNET_DVR_SMSPARAM; - -#define MAX_SMSCONTENT_LEN 140//ݳ -typedef struct tagNET_DVR_SMSCONTENT -{ - BYTE byPhoneNum[MAX_PHONE_NUM]; - BYTE byMsg[MAX_SMSCONTENT_LEN]; -}NET_DVR_SMSCONTENT, *LPNET_DVR_SMSCONTENT; - -//pin -typedef enum -{ - CPIN_READY = 1, - CPIN_PIN = 2, - CPIN_PUK = 3, - CPIN_PIN2 = 4, - CPIN_PUK2 = 5 -}PIN_READY; - -typedef struct tagNET_DVR_PINSTATUS -{ - DWORD dwSize; - BYTE byStatus; /* PIN status, defination see enum: PIN_READY */ - BYTE byPinTimes; /* remain input PIN times */ - BYTE byPukTimes; /* remain input PUK times */ - BYTE bEnableLock; /* now the PIN locking function is enabled or not: 0, not enabled lock; 1, lock enabled */ - BYTE byRes[4]; -}NET_DVR_PINSTATUS, *LPNET_DVR_PINSTATUS; - -typedef enum -{ - PIN_ENABLE = 1, - PIN_DISABLE = 2, - PIN_VERIFY = 3, - PUK_VERIFY = 4, - PIN_CHANGE = 5 -}PIN_CMD; -#define MAX_PIN_LEN 12 //PIN󳤶 -typedef struct tagNET_DVR_PINCODEPARAM -{ - DWORD dwSize; - BYTE byPinCmd; /* PIN command, defination see enum: PIN_CMD */ - BYTE byRes1[3]; - BYTE byPinCode[MAX_PIN_LEN]; /* pin/puk code */ - BYTE byNewPinCode[MAX_PIN_LEN]; /* new pin code */ - BYTE byRes2[16]; -}NET_DVR_PINCODEPARAM, *LPNET_DVR_PINCODEPARAM; - - -//ͼƬ -typedef struct -{ - /* 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA*/ - WORD wPicSize; - WORD wPicQuality; /* ͼƬϵ 0- 1-Ϻ 2-һ */ - //ץͼͼƬʽ1-ϴģ2-豸ر棬3-ϴͬʱ豸ر - BYTE byPicTackleMode; - BYTE byRes[11]; -}NET_DVR_PUSHJPEGPARA, *LPNET_DVR_PUSHJPEGPARA; - - -#define COM_PUSHALARM 0x1200 //豸Ϣϴģʽ豸ʹ -#define COM_PUSHALARM_V30 0x1201 //豸Ϣϴv30ģʽ豸ʹ -typedef struct tagNET_DVR_PUSHALARMINFO -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ*/ - DWORD dwAlarmInputNumber;/*˿*/ - DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*˿ڣһλΪ1ʾӦһ*/ - DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*¼ͨһλΪ1ʾӦһ·¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - DWORD dwChannel[MAX_CHANNUM];/*dwAlarmTypeΪ23,6ʱʾĸͨdwChannel[0]Ӧ1ͨ*/ - DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]λӦ1Ӳ*/ - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byRes[4]; -}NET_DVR_PUSHALARMINFO, *LPNET_DVR_PUSHALARMINFO; - -typedef struct -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣10-¼쳣 11- ܳ仯 12-쳣 */ - DWORD dwAlarmInputNumber;/*˿*/ - BYTE byAlarmOutputNumber[MAX_ALARMOUT_V30];/*˿ڣΪ1ʾӦ*/ - BYTE byAlarmRelateChannel[MAX_CHANNUM_V30];/*¼ͨΪ1ʾӦ¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - BYTE byChannel[MAX_CHANNUM_V30];/*dwAlarmTypeΪ23,6910ʱʾĸͨdwChannel[0]Ӧ1ͨ*/ - BYTE byDiskNumber[MAX_DISKNUM_V30];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]Ӧ1Ӳ*/ - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byRes[7]; -}NET_DVR_PUSHALARMINFO_V30, *LPNET_DVR_PUSHALARMINFO_V30; - -//2011-04-20 -// -typedef struct tagNET_DVR_MB_AUTOWORKPARA -{ - /*ǰƷʽ 0: Ԥ, 1: ʱػ, 2: Զػ*/ - BYTE byCurPowerCtrlType; - BYTE byRes[3]; - NET_DVR_SCHEDTIME struWorkTime[MAX_DAYS][2]; -}NET_DVR_MB_AUTOWORKPARA, *LPNET_DVR_MB_AUTOWORKPARA; - -typedef struct tagNET_DVR_MB_POWERCTRLPARA -{ - DWORD dwSize; - DWORD dwHaltDelay; /* ػӳʱ,λmin */ - NET_DVR_MB_AUTOWORKPARA struAutoWorkPara;/*ز*/ - BYTE byEnableUnderVoltProtect; /*ǷǷѹ*/ - BYTE byUnderVoltPercent; /*Ƿѹٷֱȣ859095Чֵ*/ - BYTE byRes[34]; -}NET_DVR_MB_POWERCTRLPARA, *LPNET_DVR_MB_POWERCTRLPARA; -/*ע1ػӳʱ, ѡʱΪ 05ӣ10 20 25 30 35 40 45 50 60 60*2 60*3 60 *4 60*5 60*6 */ - -//Զ -typedef struct tagNET_DVR_MB_AUTOBACKUPPARA -{ - DWORD dwSize; - BYTE byEnableAutoBackup; /* ǷԶ 0 ر 1 */ - BYTE byRes1[3]; - BYTE byBackupChannel[MAX_CHANNUM_V30]; /*Ҫݵͨ*/ - BYTE byBackupDays[MAX_CHANNUM_V30];/**/ - /* ļ - {0,ALL_RECORD_TYPE,ȫ}, - {1,TIMING_REC,ʱ}, - {2,MOTION_DETECT_REC,ƶ }, - {3,ALARM_REC, }, - {4,MANUAL_REC,ֶ¼}*/ - BYTE byBackupFileType[MAX_CHANNUM_V30]; - NET_DVR_SCHEDTIME struBackupTime[MAX_CHANNUM_V30][2]; /* Զʱ*/ - BYTE byRes2[36]; /* ֽ*/ -}NET_DVR_MB_AUTOBACKUPPARA, *LPNET_DVR_MB_AUTOBACKUPPARA; - - -typedef struct tagNET_DVR_MB_GPSPARA -{ - DWORD dwSize; - BYTE byEnableGPS; /*ǷGPS */ - BYTE byGpsInterface;/*gpsսӿ0-rs232, 1-rs485, 2-frontpanel, 3-lcd */ - BYTE bySpeedUnit; /*ٶȵλ0/Сʱ1 Ӣ/Сʱ*/ - BYTE byEnableRetrieve; /* ä(1ã0) */ - int iAdjustTime;/*ʱ*/ - BYTE byEnableAdjustTime;/*ǷGPSУʱ 1-, 0-*/ - BYTE byRes1[5]; - WORD wGpsUploadInterval; /* GPSϴ, */ - BYTE byGpsOsdChannel[MAX_CHANNUM_V30];/*OSD ʾÿֽڴһ· */ - DWORD dwSpeedLimit; /* ٱ*/ - NET_DVR_HANDLEEXCEPTION_V30 struGpsAlarm; - BYTE byRes2[36]; -}NET_DVR_MB_GPSPARA, *LPNET_DVR_MB_GPSPARA; -/*ע1λΪ/Сʱ ʱΧΪ0 ,965Ӣ/Сʱλʱ ٶȷΧΪ0-600*/ - -#define SENSOR_IN_NUMBER 8 -typedef struct tagNET_DVR_MB_SENSORINPARA -{ - DWORD dwSize; - BYTE byTriggerType[SENSOR_IN_NUMBER];/*г״̬شֻú4ֱɲתת0-ߵƽ1-͵ƽ*/ - BYTE byTriggerChannel [SENSOR_IN_NUMBER]; - BYTE byOsdDisplay [MAX_CHANNUM_V30];/*OSDʾ,ÿλһ·*/ - BYTE byRes[32]; -}NET_DVR_MB_SENSORINPARA, *LPNET_DVR_MB_SENSORINPARA; - - -typedef struct tagNET_DVR_ACCELERATIONCFG -{ - DWORD dwMaxXAcc; /* Xٶȱֵ ȡֵΪʵֵ10,СΪ0*/ - DWORD dwMaxYAcc; /* Yٶȱֵ ȡֵΪʵֵ10.СΪ0*/ - DWORD dwMaxZAcc; /* Zٶȱֵ ȡֵΪʵֵ10,СΪ0*/ - BYTE byRes[4]; -}NET_DVR_ACCELERATIONCFG,*LPNET_DVR_ACCERATIONCFG; - -typedef struct tagNET_DVR_GSENSORPARA -{ - DWORD dwSize; - NET_DVR_ACCELERATIONCFG struAccelerationCfg; - BYTE byModuleSelect;/*ģѡ0/1*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struHandleException; - BYTE byRes2[24]; /*չֽ*/ -}NET_DVR_GSENSORPARA, *LPNET_DVR_GSENSORPARA; - -typedef struct tagNET_DVR_MB_DOWNLOADSVRPARA -{ - DWORD dwSize; - NET_DVR_IPADDR struDownloadSvrIp; /* Զطַ */ - BYTE byRes[64]; -}NET_DVR_MB_DOWNLOADSVRPARA,*LPNET_DVR_MB_DOWNLOADSVRPARA; - -/* ʶز*/ -typedef struct tagNET_DVR_PLATERECOG_PARA -{ - DWORD dwSize; - BYTE byPrMode; /* ʶģʽ, ̬ͼ0/̬Ƶ1 */ - BYTE byPrScene; /* ʶij, ٳ0/ٳ1 */ - BYTE byPrDetRect; /* 0:ȫĻ;1: */ - BYTE byPrPicQuality; /* ʶ𷵻صͼƬ, 0:/3: */ - BYTE byPrPicMode;/*ʶ𷵻صͼƬֱ: JPEG_MODE_D1, JPEG_MODE_CIF, JPEG_MODE_QCIF */ - BYTE byPlateOsdDisplay; /* OSDǷʾ 0:ʾ/1:ʾ */ - BYTE byPrProvCharIndex; /* ʶʡ׺ֶӦ */ - BYTE byPrProvCharIndex1; /* ʶ𳣼׺1Ӧ */ - BYTE byPrProvCharIndex2; /* ʶ𳣼׺2Ӧ */ - BYTE byRes[7]; -}NET_DVR_PLATERECOG_PARA, *LPNET_DVR_PLATERECOG_PARA; - - -/* ̬ȡ֤ϵͳ,òĽṹ*/ -typedef struct tagNET_DVR_SPEEDLMT_PARA -{ - BYTE bStartMaxSpeedLimit; /* */ - BYTE bStartMinSpeedLimit; /* */ - BYTE byRes[6]; - DWORD dwMaxSpeedLimit; /* */ - DWORD dwMinSpeedLimit; /* */ -}NET_DVR_SPEEDLMT_PARA, *LPNET_DVR_SPEEDLMT_PARA; - -/* ̬ȡ֤ϵͳ,ƱȶԲĽṹ*/ -typedef struct tagNET_DVR_PLATECHECK_PARA -{ - BYTE bAlarmWhenChecked; /* ɹǷ񱨾 */ - BYTE bInformWhenChecked; /* ɹǷԻʾ */ - BYTE byRes[6]; - NET_DVR_IPADDR struBlockFtpServer; /* ֹFTPַ */ -}NET_DVR_PLATECHECK_PARA, *LPNET_DVR_PLATECHECK_PARA; - -typedef struct tagNET_DVR_ENFORCESYS_PARA -{ - DWORD dwSize; - NET_DVR_SPEEDLMT_PARA struSpeedLmtPara; /**/ - NET_DVR_PLATECHECK_PARA struPlateCheckPara; /*Ʊȶ*/ - BYTE bySelPeccType; /*ǷѡΥ*/ - BYTE byEnfOptHabit; /*ȡ֤ϰ, 0:ȡ֤;1:̰ȡ֤*/ - /*Ԥ֡ʵģʽ֣ - A ر adjPrevFpsMode=0 - Թ̶֡(25FPS)Ԥ - B ׼ adjPrevFpsMode=1 - Թ̶֡(6FPS)Ԥ - C Ӧ adjPrevFpsMode=2 - GPSٶϢ̬Ԥ֡ʣ - 3ЧGPS£Թ̶֡Ԥ*/ - BYTE byAdjPrevFpsMode; - BYTE byRes1; - NET_DVR_IPADDR struUploadServerIp; //ϴַ - WORD wUploadServerPort; - BYTE byRes2[18]; -}NET_DVR_ENFORCESYS_PARA, *LPNET_DVR_ENFORCESYS_PARA; - -typedef struct tagNET_DVR_PUSHMODEPARAM -{ - //ֱģʽUDPԤģʽ1-ͬ˿ڶ·2-һ˿һ· - BYTE byUdpPreviewMode; - //Խģʽ0-Խ1-תSDKIJɼͲţ - BYTE byVoiceWorkMode; - BYTE byRes[18]; -}NET_DVR_PUSHMODEPARAM, *LPNET_DVR_PUSHMODEPARAM; - -#define MAX_ALARMHOST_ALARMIN_NUM 512//籨󱨾 -#define MAX_ALARMHOST_ALARMOUT_NUM 512//籨󱨾 - -#define ALARMHOST_MAX_AUDIOOUT_NUM 32//籨 -#define ALARMHOST_MAX_ELECTROLOCK_NUM 32//籨 -#define ALARMHOST_MAX_MOBILEGATE_NUM 32//籨ƶ -#define ALARMHOST_MAX_SIREN_NUM 8 // 󾯺Ŀ -#define MAX_ALARMHOST_SUBSYSTEM 32//ϵͳ -#define ALARMHOST_DETECTOR_SERIAL_LEN 9//̽кų -#define ALARMHOST_DETECTOR_SERIAL_LEN_V50 16 //̽кV50 -#define MAX_DETECTOR_NUM 128//̽ -#define MAX_DETECTOR_NUM_V51 256 //̽ -#define MAX_REPEATER_NUM 16 //м -#define MAX_OUTPUT_MODULE_NUM 64 //ģ -#define MAX_ELECTRIC_LOCK_NUM 64 // - -// -typedef enum tagSENSOR_TYPE -{ - SENSOR_TYPE_NONE = 0, // - SENSOR_TYPE_TEMPERATURE = 1, // ¶ - SENSOR_TYPE_HUMIDITY , // ʪ - SENSOR_TYPE_WINDSPEED, // - SENSOR_TYPE_GAS, // - SENSOR_AC_VOLTAGE, // ѹ - SENSOR_AC_CURRENT, // - SENSOR_DC_VOLTAGE, // ֱѹ - SENSOR_DC_CURRENT, // ֱ - SENSOR_WATER_PRESSURE, // ˮѹ - SENSOR_PRESSURE_TRANSMITTER, // ѹ - SENSOR_FLOW_TRANSMITTER, // - SENSOR_WATER_LEAKAGE, // ©ˮ - SENSOR_INTERGRATED_TEMPERATURE_DETECTOR,//һ廯± - SENSOR_ISOLATION_TEMPERATURE_DETECTOR, //ʽ± - SENSOR_RESIDUAL_CHLORINE, // - SENSOR_TYPE_AC_TERMINAL = 16, // AC - SENSOR_TYPE_AC_SOCKET = 17, // AC - SENSOR_TYPE_HUMITURE, // ʪ - SENSOR_TYPE_FLOW, // - SENSOR_LIQUID_LEVEL, // Һλ - SENSOR_TYPE_ARC, // 绡 - SENSOR_TYPE_UNKNOW = 255 // δ -}SENSOR_TYPE; - -typedef struct tagNET_DVR_SENSOR_INFO -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // - BYTE byEnable; // Ƿ - BYTE byValid; // ǷЧ (òֻܻȡܸ) - BYTE byType; // ģ SENSOR_TYPE - BYTE byAlarmMode;//ģʽ֣15-HHHH14-HHHL12-HHLL8HLLL0-LLLL1111ϣ1110£1100£1000()0000() - float fMeasureHigh; // - float fMeasureLow; // - float fAlarm1; //1,1-4 - float fAlarm2; //2 - float fAlarm3; //3 - float fAlarm4; //4 - DWORD dwOsdCfg; //ģַӣλʾ0-15ӦƵͨ1-16 - float fSensitive; // ȱʾʵʱֵı仯ȵķΧʱʾʵʱֵ˱仯Ϊûз仯磺Ϊ0.1ʾǰֵ֮0.1ʱΪݷ仯0.1ҪϴΪ1ʾ仯1ʱϱ - BYTE bySensorStandard; //0- 0~20mA1- 0~5V2- 0~2.5Mpa3- 0~1.6Mpa4- 0~5m - BYTE byChan; //ģͨ - BYTE byRes3[114]; // ֽ -}NET_DVR_SENSOR_INFO, *LPNET_DVR_SENSOR_INFO; - -typedef struct tagNET_DVR_SIREN_PARAM -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // - WORD wDelay; // ӳ λΪ, Χ 0~5599s 0ʾһֱ - BYTE byRes1[2]; - DWORD dwOverallEventJointSirenOn; //ȫ¼¼Ͱλʾbit0-, bit1-ȫּ̽,bit2-ϵ磬bit3-صѹ,bit4-绰ߵ,bit5-쳣,bit6-쳣, bit7-485ߣbit8- WIFIͨŹϣbit9-RFźŸŹ - DWORD dwSubsystemEventJointSirenOn[MAX_ALARMHOST_SUBSYSTEM/*32*/];//ϵͳ¼±ʾϵͳţÿһԪذλʾ¼ͣbit0- - BYTE byRes2[448]; // ֽڡ -}NET_DVR_SIREN_PARAM, *LPNET_DVR_SIREN_PARAM; - -typedef struct tagNET_DVR_AIR_CONDITION_PARAM -{ - DWORD dwSize; // ṹС - BYTE byEnable; // 0--ػ 1-- - BYTE byMode; // յģʽ - BYTE byTemperature; // ¶ȣֵʾ ͨΪ16-30 - BYTE byAirConditionNo; // յ - BYTE byRes[8]; // ֽ -}NET_DVR_AIR_CONDITION_PARAM, *LPNET_DVR_AIR_CONDITION_PARAM; - -typedef enum tagDETECTOR_TYPE -{ - PANIC_BUTTON = 0, // ť - MAGNETIC_CONTACT, // Ŵ - SMOKE_DETECTOR, // ̸̽ - ACTIVE_INFRARED_DETECTOR, // ̽ - PASSIVE_INFRARED_DETECTOR, // ̽ - GLASS_BREAK_DETECTOR, // ̽ - VIBRATION_DETECTOR, // ̽ - DUAL_TECHNOLOGY_PIR_DETECTOR, // ˫̽ - TRIPLE_TECHNOLOGY_PIR_DETECTOR, // ̽ - HUMIDITY_DETECTOR, // ʪ̽ - TEMPERATURE_DETECTOR, // ¸̽ - COMBUSTIBLE_GAS_DETECTOR, // ȼ̽ - DYNAMIC_SWITCH, //涯 - CONTROL_SWITCH, //ƿ - SMART_LOCK, // - WATER_DETECTOR, //ˮ̽ - DISPLACEMENT_DETECTOR, //λ̽ - SINGLE_INFRARED_DETECTOR, //Ŵ̽ - SINGLE_ZONE_MODULE, //ߵģ - CURTAIN_INFRARED_DETECTOR, //Ļ̽19 - UNKNOWN,//δ֪20 - DOORBELL_SWITCH=21, //忪21 - MEDICAL_HELP_BUTTON, //ҽť - OUTDOOR_DUAL_TECH, //˫ - - OTHER_DETECTOR = 0xffff // ̽ -}DETECTOR_TYPE; - -typedef struct tagNET_DVR_ALARMIN_PARAM -{ - DWORD dwSize; - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ 12-ʱ13-0xff- - BYTE byUploadAlarmRecoveryReport; //Ƿϴָ棬0-ϴ1-ϴ - DWORD dwParam; // ʱʱ೤ʱ, бʱʱͨ , ÷ʽͨеbySupportAlarmInDelayֶ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];/*ʱʱ*/ - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // - BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE bySensitivityParam;//Ȳ, 0-10ms1-250ms2-500ms3-750ms - BYTE byArrayBypass;//Ƿ·,0-֧·,1-֧· - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byModuleStatus; //ģ״̬ 1- 2- - WORD wModuleAddress; //ģַչģ0~2550xFFFFʾЧ - BYTE byModuleChan; //ģͨţ1ʼֵģ0xFFʾЧ - BYTE byModuleType; //ģͣ1-ط2-3-˫4-85-8·ģ, 6-, 7-1ž͵ؿ8-2ž͵ؿ9-4ž͵ؿ10-8ߡ11-̡12-8ߡ13-չ - WORD wZoneIndex; //ţòֻܻȡ - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч1-2- - BYTE byZoneResistor; //裬λǧŷ 0-Ч 1--2.2 2--3.33--4.74--5.6 5--8.2 0xff-Զ - float fZoneResistorManual;/*ֶ裬1.0-10.0ȷСһλλǧŷbyZoneResistorΪ0xffʱЧ*/ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN]; //̽кţֻ - BYTE byZoneSignalType; //źŴ(ֻ)0-߷1-߷ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byAssociateLampOut[8];// 0 ʾ1 ֵΪ1ʾ 0 ʾ - WORD wTimeOut; //ʱʱ䣬 - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byRes3[8]; // ֽ -}NET_DVR_ALARMIN_PARAM, *LPNET_DVR_ALARMIN_PARAM; - -typedef struct tagNET_DVR_ALARMIN_PARAM_V50 -{ - DWORD dwSize; - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷 12-ʱ13-14-ȼ0xff- - BYTE byUploadAlarmRecoveryReport; //Ƿϴָ棬0-ϴ1-ϴ - DWORD dwParam; // ʱʱ೤ʱ, бʱʱͨ , ÷ʽͨеbySupportAlarmInDelayֶ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];/*ʱʱ*/ - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // - BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE bySensitivityParam;//Ȳ, 0-10ms1-250ms2-500ms3-750ms - BYTE byArrayBypass;//Ƿ·,0-֧·,1-֧· - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byModuleStatus; //ģ״̬ 1- 2- - WORD wModuleAddress; //ģַչģ0~2550xFFFFʾЧ - BYTE byModuleChan; //ģͨţ1ʼֵģ0xFFʾЧ - BYTE byModuleType; //ģͣ1-ط2-3-˫4-85-8·ģ, 6-, 7-1ž͵ؿ8-2ž͵ؿ9-4ž͵ؿ10-8ߡ11-̡12-8ߡ13-չ - WORD wZoneIndex; //ţòֻܻȡ - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч1-2- - BYTE byZoneResistor; //裬λǧŷ 0-Ч 1--2.2 2--3.33--4.74--5.6 5--8.2 0xff-Զ - float fZoneResistorManual;/*ֶ裬1.0-10.0ȷСһλλǧŷbyZoneResistorΪ0xffʱЧ*/ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN_V50]; //̽кţֻ - BYTE byZoneSignalType; //źŴ(ֻ)0-߷1-߷ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - WORD wTimeOut; //ʱʱ䣬 - BYTE byAssociateLampOut[8];// 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE byVoiceFileName[32]; //ļ - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byAssociateFlashLamp;// 0-Ч1-2- - BYTE byStayAwayEnabled;// ʱڼ·ʹ 0-Ч1-ʹܣ2-ʹ - BYTE bySilentModeEnabled;// ģʽʹ 0-Ч1-ʹܣ2-ʹ - BYTE byRelativeChannel[RELATIVE_CHANNEL_LEN];// ͨţ0ʾЧһbyteֽڱʾһͨ - BYTE byDetectorVersion[VERSION_INFO_LEN]; //̽汾ֻ - BYTE byDetectorMAC[MACADDR_LEN]; //̽MACַֻ - BYTE byLinkageAlarmType; //ͣ1-𾯣2-ܣ3-4-Σ5- - BYTE byRes3[465]; // ֽ -}NET_DVR_ALARMIN_PARAM_V50, *LPNET_DVR_ALARMIN_PARAM_V50; - -#define MAX_MAX_ALARMIN_NUM 64 /* ȡ*/ -typedef struct tagNET_DVR_MULTI_ALARMIN_COND -{ - DWORD dwSize; - int iZoneNo[MAX_MAX_ALARMIN_NUM]; //,0ʼС0ʾЧ - BYTE byRes[256]; -}NET_DVR_MULTI_ALARMIN_COND, *LPNET_DVR_MULTI_ALARMIN_COND; - -typedef struct tagNET_DVR_SINGLE_ALARMIN_PARAM -{ - DWORD dwSize; - WORD wZoneNo; //ţòֻܻȡ - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,12-ʱ,13-14-ȼ0xff- - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч 1- 1- - BYTE byZoneSignalType; //źŴͣ0-߷1-߷ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN]; //̽кţֻ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - WORD wTimeOut; //ʱʱ䣬 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byAssociateFlashLamp;// 0-Ч1-2- - BYTE byStayAwayEnabled;// ʱڼ·ʹ 0-Ч1-ʹܣ2-ʹ - BYTE bySilentModeEnabled;// ģʽʹ 0-Ч1-ʹܣ2-ʹ - BYTE byRes2[110]; // ֽ -}NET_DVR_SINGLE_ALARMIN_PARAM, *LPNET_DVR_SINGLE_ALARMIN_PARAM; - -typedef struct tagNET_DVR_SINGLE_ALARMIN_PARAM_V50 -{ - DWORD dwSize; - WORD wZoneNo; //ţòֻܻȡ - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,12-ʱ,13-14-ȼ0xff- - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч 1- 1- - BYTE byZoneSignalType; //źŴͣ0-߷1-߷ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN]; //̽кţֻ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - WORD wTimeOut; //ʱʱ䣬 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byAssociateFlashLamp;// 0-Ч1-2- - BYTE byStayAwayEnabled;// ʱڼ·ʹ 0-Ч1-ʹܣ2-ʹ - BYTE bySilentModeEnabled;// ģʽʹ 0-Ч1-ʹܣ2-ʹ - BYTE byRes3[2]; - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // - BYTE byRes2[128]; // ֽ -}NET_DVR_SINGLE_ALARMIN_PARAM_V50, *LPNET_DVR_SINGLE_ALARMIN_PARAM_V50; - -typedef struct tagNET_DVR_ALARMIN_PARAM_LIST -{ - DWORD dwSize; - NET_DVR_SINGLE_ALARMIN_PARAM struSingleAlarmInParam[MAX_MAX_ALARMIN_NUM]; - BYTE byRes[128]; -}NET_DVR_ALARMIN_PARAM_LIST, *LPNET_DVR_ALARMIN_PARAM_LIST; - -typedef struct tagNET_DVR_ALARMIN_PARAM_LIST_V50 -{ - DWORD dwSize; - NET_DVR_SINGLE_ALARMIN_PARAM_V50 struSingleAlarmInParam[MAX_MAX_ALARMIN_NUM]; - BYTE byRes[128]; -}NET_DVR_ALARMIN_PARAM_LIST_V50, *LPNET_DVR_ALARMIN_PARAM_LIST_V50; - -typedef struct tagNET_DVR_ALARMOUT_PARAM -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // - WORD wDelay; // ӳ λs, Χ0~3599s 0 ʾһֱ - WORD wTriggerIndex; //ţòֻܻȡ - BYTE byAssociateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM]; //ʾŵıͨ ͬʱһ±0ʾ1 0- 1- - BYTE byModuleType; //Ӵͣ1-ش 2-4·3-8· 4-5-32·6-1ž͵ؿ7-2ž͵ؿ8-4ž͵ؿ,9-2·10-̣11-չ - BYTE byModuleStatus; //Ӵ״̬ 1- 2- - WORD wModuleAddress; //Ӵַչģ0~2550xFFFFʾЧ - BYTE byModuleChan; //Ӵͨţ1ʼֵģ0xFFʾЧ - BYTE byWorkMode; //ģʽ1-2-涯 - BYTE byAlarmOutMode; //ģʽ1-ģʽ2-ģʽ - BYTE byTimeOn; //ʱ 1~60s - BYTE byTimeOff; //ʱ 1~60s - BYTE byDurationConstOutputEnable; //̵ʹ - BYTE byRes2[50]; //ֽ -}NET_DVR_ALARMOUT_PARAM, *LPNET_DVR_ALARMOUT_PARAM; - -typedef struct tagNET_DVR_ALARMIN_SETUP -{ - BYTE byAssiciateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];//ͨ ±0Ӧ1 - BYTE byRes[100];//ֽ -}NET_DVR_ALARMIN_SETUP, *LPNET_DVR_ALARMIN_SETUP; - -typedef struct tagNET_DVR_ALARMHOST_MAIN_STATUS -{ - DWORD dwSize; - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڲ״̬(֧512ڲѯ)0-Ӧڴڳ״̬1-Ӧڴڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڱ״̬(֧512ڲѯ)0-Ӧڵǰޱ1-Ӧڵǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM];//״̬(֧512ڲѯ)0-Ӧޱ1-Ӧб - BYTE byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM]; // ·״̬ ±ʾ0Ӧ1 0-ʾû· 1-ʾ· - BYTE bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳ״̬,0-Ӧϵͳڳ״̬1-Ӧϵͳڲ״̬ - BYTE byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڹ״̬0-Ӧڴ״̬1-Ӧڴڹ״̬ - BYTE byRes[56]; // ֽ -}NET_DVR_ALARMHOST_MAIN_STATUS, *LPNET_DVR_ALARMHOST_MAIN_STATUS; - -typedef struct tagNET_DVR_ALARMHOST_MAIN_STATUS_V40 -{ - DWORD dwSize; - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬(֧512ѯ)0-Ӧڳ״̬1-Ӧڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬(֧512ѯ)0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0-Ӧޱ1-Ӧб - BYTE byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM]; //·״̬ ±ʾ0Ӧ1 0-ʾû· 1-ʾ· - BYTE bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬,0-Ӧϵͳڳ״̬1-Ӧϵͳڲ״̬ - BYTE byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0-Ӧ״̬1-Ӧڹ״̬ - BYTE byAlarmInMemoryStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬ 0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmInTamperStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0-Ӧޱ1-Ӧб - BYTE byEnableSubSystem[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬0-Ч1-Ӧϵͳδã2-Ӧϵͳ - BYTE bySubSystemGuardType[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳ״̬0-Ч1-2-ʱ3-ڼҲ - BYTE byRes[448]; //ֽ -}NET_DVR_ALARMHOST_MAIN_STATUS_V40, *LPNET_DVR_ALARMHOST_MAIN_STATUS_V40; - -typedef struct tagNET_DVR_ALARMHOST_MAIN_STATUS_V51 -{ - DWORD dwSize; - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬(֧512ѯ)0xff-Ч0-Ӧڳ״̬1-Ӧڲ״̬2-Ӧڲ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬״̬(֧512ѯ)0xff-Ч0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0xff-Ч0-Ӧޱ1-Ӧб2-δ3-ߣ4-쳣 - BYTE byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM]; //·״̬±ʾ0Ӧ10xff-Ч0-ʾû· 1-ʾ· - BYTE bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬0xff-Ч0-Ӧϵͳڳ״̬1-Ӧϵͳڲ״̬2-Ӧϵͳڲ - BYTE byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0xff-Ч0-Ӧ״̬1-Ӧڹ״̬ - BYTE byAlarmInMemoryStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬״̬ 0xff-Ч0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmInTamperStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0xff-Ч0-Ӧޱ1-Ӧб - BYTE byEnableSubSystem[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬0-Ч1-Ӧϵͳδã2-Ӧϵͳ - BYTE bySubSystemGuardType[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳͣ0-Ч1-2-ʱ3-ڼҲ - BYTE bySubSystemAlarm[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳ״̬0-Ч1-2- - BYTE byAlarmOutCharge[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0-Ч1-2- - BYTE byAlarmOutTamperStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0-Ч1-2-޷ - BYTE byAlarmInShieldedStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0-Ч1-Σ2- - BYTE byAlarmOutLinkage[MAX_ALARMHOST_ALARMOUT_NUM]; //¼ͣ(֧512ѯ)0-Ч1-2-3-4-ֶ - BYTE byRes[512]; //ֽ -}NET_DVR_ALARMHOST_MAIN_STATUS_V51, *LPNET_DVR_ALARMHOST_MAIN_STATUS_V51; - -typedef struct tagNET_DVR_ALARMHOST_OTHER_STATUS -{ - DWORD dwSize; - BYTE bySirenStatus[ALARMHOST_MAX_SIREN_NUM]; // ״̬ 0-Ŵޱ״̬1-Ŵб״̬ - BYTE byRes[92]; // ֽ -}NET_DVR_ALARMHOST_OTHER_STATUS, *LPNET_DVR_ALARMHOST_OTHER_STATUS; - -typedef struct tagNET_DVR_ALARMHOST_OTHER_STATUS_V50 -{ - DWORD dwSize; - //DS-PEAϵһʽƷ±0Ӧ״̬±1Ӧ״̬,±2ʼӦ״̬ - BYTE bySirenStatus[ALARMHOST_MAX_SIREN_NUM]; //״̬0xff-Ч0-Ŵޱ״̬1-Ŵб״̬2-δ3-ߣ4-쳣 - BYTE byDetetorPower[MAX_DETECTOR_NUM]; //̽״̬0xff-ЧֵΪ0-100ĬϵС20ΪǷѹ״̬ - BYTE byDetetorConnection[MAX_DETECTOR_NUM]; //̽״̬0xff-Ч0-ʾδעᣬ1-ʾߣ 2-ʾߣ3-쳣 - BYTE bySirenPower[ALARMHOST_MAX_SIREN_NUM]; //ŵ״̬0-Ч1-2-Ƿѹ - BYTE bySirenTamperStatus[ALARMHOST_MAX_SIREN_NUM]; //ŷ״̬0-Ч1-2-޷ - BYTE byPowerStausEnabled[MAX_DETECTOR_NUM / 8]; //̽״̬ǷЧλʾ0-Ч1-Ч - BYTE byDetetorPowerStatus[MAX_DETECTOR_NUM / 8]; //̽״̬λʾ0-1- - BYTE byDetetorPowerType; //̽ıʾͣ0-յֵʾʹbyDetetorPower ֶΣ1-յ״̬ʾʹbyPowerStausEnabledbyDetetorPowerStatusֶ - BYTE byRes[975]; //ֽ -}NET_DVR_ALARMHOST_OTHER_STATUS_V50, *LPNET_DVR_ALARMHOST_OTHER_STATUS_V50; - -typedef struct tagNET_DVR_ALARMHOST_OTHER_STATUS_V51 -{ - DWORD dwSize; - //DS-PEAϵһʽƷ±0Ӧ״̬±1Ӧ״̬,±2ʼӦ״̬ - BYTE bySirenStatus[ALARMHOST_MAX_SIREN_NUM]; //״̬0xff-Ч0-Ŵޱ״̬1-Ŵб״̬2-δ3- - BYTE byDetetorPower[MAX_DETECTOR_NUM_V51]; //̽0xff-ЧֵΪ0-100ĬϵС20ΪǷѹ״̬byDetetorPowerTypeΪ0ʱЧ - BYTE byDetetorConnection[MAX_DETECTOR_NUM_V51]; //̽״̬0xff-Ч0-ʾδעᣬ1-ʾߣ 2-ʾ - BYTE bySirenPower[ALARMHOST_MAX_SIREN_NUM]; //ŵ״̬0-Ч1-2-Ƿѹ - BYTE bySirenTamperStatus[ALARMHOST_MAX_SIREN_NUM]; //ŷ״̬0-Ч1-2-޷ - BYTE byPowerStausEnabled[MAX_DETECTOR_NUM_V51 / 8]; //̽״̬ǷЧλʾ0-Ч1-Ч - BYTE byDetetorPowerStatus[MAX_DETECTOR_NUM_V51 / 8]; //̽״̬λʾ0-1- - BYTE byDetetorPowerType; //̽ıʾͣ0-յֵʾʹbyDetetorPower ֶΣ1-յ״̬ʾʹbyPowerStausEnabledbyDetetorPowerStatusֶ - BYTE byRes2[3]; - BYTE byRepeaterStatus[MAX_REPEATER_NUM]; //м״̬0-Ч1-ߣ2-ߣ3-δ - BYTE byRepeaterTamperStatus[MAX_REPEATER_NUM / 8]; //м״̬λʾ0-Ӧмޱ1-Ӧмб - BYTE byAlarmOutTamperStatus[MAX_ALARMHOST_ALARMOUT_NUM / 8]; //̵״̬λʾ0-Ӧޱ1-Ӧб - BYTE byOutputModuleTamperStatus[MAX_OUTPUT_MODULE_NUM / 8]; //ģ״̬λʾ0-Ӧģޱ1-Ӧģб - BYTE byElectricLockStatus[MAX_ELECTRIC_LOCK_NUM]; //״̬ 0-رգ1 C򿪣Ϊȷԣһ״̬bySirenStatus0λҲҪд - BYTE byRes[274]; //ֽ -}NET_DVR_ALARMHOST_OTHER_STATUS_V51, *LPNET_DVR_ALARMHOST_OTHER_STATUS_V51; - - -//ʹ״̬ -typedef struct tagNET_DVR_ALARMHOST_ENABLECFG -{ - DWORD dwSize; - BYTE byAudioOutEnable[ALARMHOST_MAX_AUDIOOUT_NUM];//ʹܣ0-ܣ1-ʹ - BYTE byElectroLockEnable[ALARMHOST_MAX_ELECTROLOCK_NUM];//ʹܣ0-ܣ1-ʹ - BYTE byMobileGateEnable[ALARMHOST_MAX_MOBILEGATE_NUM];//ƶʹܣ0-ܣ1-ʹ - BYTE bySirenEnable[ALARMHOST_MAX_SIREN_NUM];//ʹܣ 0-ܣ1-ʹ - BYTE bySerialPurpose;//;0-ڼ1-PTZ - BYTE byRes[63]; -}NET_DVR_ALARMHOST_ENABLECFG, *LPNET_DVR_ALARMHOST_ENABLECFG; - -typedef struct tagNET_DVR_ALARMHOST_ABILITY -{ - DWORD dwSize; // ṹС - WORD wTotalAlarmInNum; // (), - WORD wLocalAlarmInNum; // ر - WORD wExpandAlarmInNum; // չı - WORD wTotalAlarmOutNum; // 豸ֵ֧ - WORD wLocalAlarmOutNum; // رڸ - WORD wExpandAlarmOutNum; // չı - WORD wTotalRs485Num; // 豸ֵ֧ - WORD wLocalRs485Num; // 485 - WORD wExpandRs485Num; // չ485 - WORD wFullDuplexRs485Num; // ȫ˫485 - WORD wTotalSensorNum; // ģ (豸ֵ֧) - WORD wLocalSensorNum; // ģ - WORD wExpandSensorNum; // չģ - WORD wAudioOutNum; // - WORD wGatewayNum; //Ž - WORD wElectroLockNum; // - WORD wSirenNum; // Ŀ - WORD wSubSystemNum; // ɻϵͳĿ - WORD wNetUserNum; // û - WORD wKeyboardNum; // - WORD wOperatorUserNum; // û - BYTE bySupportDetector;//Ƿֳ֧̽1-֧֣0-֧ - BYTE bySupportSensitivity;//Ƿַ֧ȣ1-֧֣0-֧ - BYTE bySupportArrayBypass;//Ƿ֧·1-֧֣0-֧ - BYTE bySupportAlarmInDelay;//Ƿַ֧ӳ,1-֧֣0-֧ - //bySupportAlarmInDelayΪ1ʱʾͻӦʹNET_DVR_ALARMIN_PARAM еdwParamʱʱ䣬бʹʱʽ; - //bySupportAlarmInDelayΪ0ʱʾͨNET_DVR_ALARMSUBSYSTEMPARAM еwEnterDelay wExitDelay - BYTE bySupportAlarmInType[16];//ֵ֧ķ,0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ15- - BYTE byTelNum; //ֵ֧绰 - BYTE byCenterGroupNum; // - BYTE byGPRSNum; //GPRS4 - BYTE byNetNum; //4 - BYTE byAudioNum; //Ƶ - BYTE by3GNum; //3Gģ - BYTE byAnalogVideoChanNum; //ģƵͨ - BYTE byDigitalVideoChanNum; //Ƶͨ - BYTE bySubSystemArmType; //ϵͳͣ0-ʾ֧֣1-ʾ֧֡bit0-ͨעСֻ֧ͨмֶεʱСѾСиֶΪ00ʾ֧֣1ʾ֧֡ӿSDKڲݣbit1-ʱbit2-ز - BYTE byPublicSubSystemNum; //ϵͳ - DWORD dwSupport1; //λʾ0ʾ֧֣0ʾ֧ - // bit0: Ƿ֧ϵͳþʱ䣬֧򾯺ʱÿϵͳã֧֣ʱھŲ - // bit1: Ƿ֧¼ - // bit2: Ƿ֧¼ر - // bit3: Ƿ֧ϵͳʹ - // bit4; Ƿַ֧ - // bit5; Ƿ֧ϵͳԶ - // bit6: Ƿ֧־Ϲ - // bit7: Ƿֹ֧״̬ѯ - // bit8: Ƿ֧ϵͳչ - // bit9: Ƿ֧Կ׷ϵͳ - // bit10: Ƿ֧"ʾɹͱ" - // bit11: Ƿֵ֧뵼 - // bit12: Ƿ֧LEDĻ - // bit13: Ƿֹ֧Ϲعϵ - DWORD dwSubSystemEvent; //ϵͳ¼λʾ0ʾ֧֣0ʾ֧,bit0-ʱbit1-˳ʱbit2-bit3-bit4-bit5- - DWORD dwOverallEvent; //ȫ¼λʾ0ʾ֧֣0ʾ֧֣bit0-磬bit1-صѹͣbit2-绰ߵߣbit3-쳣bit4-쳣bit5-Ӳ̹,bit6-3G/4Gź쳣, bit7-ģӣ,bit8-WIFIͨŹϣbit9-RFźŸŹ - DWORD dwFaultType; //豸ֵ֧Ĺͣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-̵ߣbit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣 - BYTE byPublicSubsystemAssociateSubsystemNum; //ϵͳɹϵͳ - BYTE byOverallKeyboard; //ȫ̸ּ - WORD wSafetyCabinSupport; //տλʾ0ʾ֧֣0ʾ֧ - //bit0: Ƿַ֧տģʽ - //bit1: Ƿ֧źŴ - //bit2: Ƿ֧Ļã̽ӳʱ䡢״̬仯Ӧʱ䣩 - //bit3: Ƿֺ֧䴫ã˲ - //bit4: Ƿַ֧ʹóʱʱ - BYTE by485SlotNum; //485λ - BYTE bySubSystemAttributeAbility; // ֵΪ1ֹ1ϵͳرʹ - WORD wKeyboardAddrNum; // ̵ַ - BYTE byAlarmLampNum; //Ŀ - BYTE byRes[117]; // ֽ -}NET_DVR_ALARMHOST_ABILITY, *LPNET_DVR_ALARMHOST_ABILITY; - -#define MAX_485CHAN 256 //485ͨ -#define MAX_485SLOT 256 //485λ -typedef struct tagNET_DVR_485_SLOT_LIST_INFO -{ - DWORD dwSize; - BYTE byAll; //0-ȫȡ1-ȫȡ - BYTE byres[3]; - BYTE byIndex[MAX_485SLOT]; //485λ - BYTE byRes[64]; // -}NET_DVR_485_SLOT_LIST_INFO,* LPNET_DVR_485_SLOT_LIST_INFO; - -typedef struct tagNET_DVR_485LIST_INFO -{ - DWORD dwSize; - BYTE byAll; //0-ȫȡ1-ȫȡ - BYTE byres[3]; - BYTE byIndex[MAX_485CHAN]; //485ͨ ±ʾͨţֵ0-ʾʹã1ʾʹ - BYTE byRes[64]; // -}NET_DVR_485LIST_INFO,*LPNET_DVR_485LIST_INFO; - -typedef struct tagNET_DVR_ALARM_RS485CFG -{ - DWORD dwSize; // ṹС - BYTE sDeviceName[NAME_LEN]; // ǰ豸 - WORD wDeviceType; // ǰ豸,ͨNET_DVR_GetDeviceTypeListȡ - WORD wDeviceProtocol; // ǰ豸Э ͨȡЭбȡ - DWORD dwBaudRate; //(bps)0-501-752-1103-1504-3005-6006-12007-24008-48009-960010-1920011-3840012-5760013-7680014-115.2k - BYTE byDataBit; // мλ0-5λ1-6λ2-7λ3-8λ - BYTE byStopBit; // ֹͣλ0-1λ1-2λ - BYTE byParity; //ǷУ飺0-У飬1-У飬2-żУ - BYTE byFlowcontrol; // Ƿأ0-ޣ1-,2-Ӳ - BYTE byDuplex; // 0 - ˫1- ȫ˫ ֻͨ1ȫ˫ֻǰ˫ - BYTE byWorkMode; // ģʽ 0-̨ 1-͸ͨ,2-ݿأ3-,4-Žȫģ,0xfe-Զ壬0xff- - BYTE byChannel; //485ͨ - BYTE bySerialType; //: 0--485, 1--232 - BYTE byMode; //ģʽ 0-Ӷ 1-ӿͻ 2-չģ 3-Ž 4-ݿ 0xff- - BYTE byOutputDataType; //0-Ч1-ţ2- - BYTE byAddress; //ڵַ - BYTE byStairsOutputDataType; //0-Ч1-¥ţ2-ţbyModeΪݿʱЧ - BYTE byRes[32]; // ֽ -}NET_DVR_ALARM_RS485CFG, *LPNET_DVR_ALARM_RS485CFG; - -#define MAX_DEVICE_PROTO_NUM 256 -#define MAX_DEVICE_TYPE_NUM 256 - -// 485ǰ豸֧Эб -typedef struct tagNET_DVR_DEVICE_PROTO_LIST -{ - DWORD dwSize; // ṹС - DWORD dwProtoNum; // Э - NET_DVR_PROTO_TYPE struProtoType[MAX_DEVICE_PROTO_NUM]; // Э - BYTE byRes[12]; // ֽ -}NET_DVR_DEVICE_PROTO_LIST, *LPNET_DVR_DEVICE_PROTO_LIST; - -typedef struct tagNET_DVR_DEVICE_TYPE -{ - DWORD dwType; - BYTE byDescribe[DESC_LEN]; -}NET_DVR_DEVICE_TYPE, *LPNET_DVR_DEVICE_TYPE; - -typedef struct tagNET_DVR_DEVICE_TYPE_LIST -{ - DWORD dwSize; // ṹС - DWORD dwTypeNum; // ͸ - NET_DVR_DEVICE_TYPE struDeviceType[MAX_DEVICE_TYPE_NUM]; - BYTE byRes[12]; -}NET_DVR_DEVICE_TYPE_LIST, *LPNET_DVR_DEVICE_TYPE_LIST; - -#define MAX_ALARMHOST_VIDEO_CHAN 64 -typedef struct tagNET_DVR_ALARM_DEVICE_USER -{ - DWORD dwSize; // ṹС - BYTE sUserName[NAME_LEN]; // û - BYTE sPassword[PASSWD_LEN]; // - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ - BYTE byUserType; // 0-ͨûԱ 1-Աû 2-װԱû 3-û - BYTE byAlarmOnRight; // Ȩ - BYTE byAlarmOffRight; // Ȩ - BYTE byBypassRight; // ·Ȩ - BYTE byOtherRight[MAX_RIGHT]; // Ȩ - // 0 -- ־Ȩ - // 1 -- ػ - // 2 -- Ȩ - // 3 -- ȡȨ - // 4 -- ָĬϲȨ - // 5 -- Ȩ - // 6 -- PTZ Ȩ - // 7 -- ԶȨ - // 8 -- ԶԤ - // 9 -- Զֶ¼ - // 10 -- Զ̻ط - // 11 -- - // 12 -- ǿƲ - // 13 -- · - // 14 -- ӸĸȨ - // 15 -- ģʽ - BYTE byNetPreviewRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿Ԥͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - BYTE byNetRecordRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿¼ͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - BYTE byNetPlaybackRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿Իطŵͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - BYTE byNetPTZRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿PTZͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - //BYTE byPriority; // ȼ0xff-ޣ0--ͣ1--У2-- - //ޣʾ֧ȼã - //ͣĬȨޣԶ̻طţԶ̲鿴־״̬Զ̹ػ/ - //УԶ̨̿Զֶ¼Զ̻طţԽԶԤرݣ/Զ̹ػ/ - //ߣԱ - BYTE sOriginalPassword[PASSWD_LEN]; // ԭʼ - BYTE sKeypadPassword[PASSWD_LEN]; // - BYTE byUserEnabled; // ûǷʹã0-Ч1-2- - BYTE byRes2[135]; // ֽ -}NET_DVR_ALARM_DEVICE_USER, *LPNET_DVR_ALARM_DEVICE_USER; - -typedef struct tagNET_DVR_KEYBOARD_USER -{ - DWORD dwSize; // ṹС - DWORD dwID; // ûID - BYTE byDefanceArea[MAX_ALARMHOST_ALARMIN_NUM]; //Ȩ ±ʾ ֧512 0 - Ȩ 1- Ȩ - BYTE byRes[560]; // ֽ -}NET_DVR_KEYBOARD_USER, *LPNET_DVR_KEYBOARD_USER; - -typedef struct tagNET_DVR_OPERATE_USER -{ - DWORD dwSize; // ṹС - BYTE sUserName[NAME_LEN]; // û - BYTE sPassword[PASSWD_LEN]; // - BYTE bySubSystemPermission;/*0-װԱȨ ԱȨޣϵͳ£ 1-޲棬· 2-޳棬· 3-޲棬· - 4-в//棬· 5-г棬· 6-в棬· 7-޲棬· - 8-޲棬· 9-޲棬· 10-в棬· 11-г棬· 1 - 2-в棬·*/ - BYTE byRes[63]; // ֽ -}NET_DVR_OPERATE_USER, *LPNET_DVR_OPERATE_USER; - -typedef struct tagNET_DVR_GATEWAY_CFG -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // Ž - BYTE byEnable; // Ƿ - BYTE byLocalEnable; // Ƿ - WORD wDelayTime; // ʱʱ λΪ0-65535 0Ϊһֱ - BYTE byLockWorkMode;//ģʽ0-ͨ1-ϵ - BYTE byRes[31]; // ֽ -}NET_DVR_GATEWAY_CFG, *LPNET_DVR_GATEWAY_CFG; - -typedef struct tagNET_DVR_SENSOR_ALARM -{ - DWORD dwSize; // ṹС - DWORD dwAbsTime; // ʱϢ OSDʾϢ - BYTE byName[NAME_LEN]; // sensor - BYTE bySensorChannel; // ģͨ - BYTE byType; // ģ - BYTE byAlarmType; // 1-42-33-24-15-16-27-38-4 ͵ǰģʽй - // 統Ϊ1000ʱ,1123ֱ - BYTE byAlarmMode; //ģʽ֣-HHHH-HHHL-HHLLHLLL-LLLL Ϊƽ̶̨жϹ,1111ϣ1110£1100£1000()0000() - float fValue; // ǰģֵ - float fOriginalValue; //ԭʼѹֵСλֵʾǵѹNET_DVR_SENSOR_INFObySensorStandard - BYTE byRes2[28]; // ֽ -}NET_DVR_SENSOR_ALARM, *LPNET_DVR_SENSOR_ALARM; - -#define PROTOCOL_VERTION_LEN 32 - -typedef struct tagNET_DVR_RS485_PROTOCOL_VERSION -{ - DWORD dwSize; - BYTE byProtocleVersion[PROTOCOL_VERTION_LEN];//RS485Э汾Ϣ - BYTE byRes[128]; -}NET_DVR_RS485_PROTOCOL_VERSION, *LPNET_DVR_RS485_PROTOCOL_VESRION; - - -typedef struct -{ - /*ԤĿǰıû(򣬼)*/ - DWORD dwAlarmType; - /*0Ӧ1˿*/ - BYTE byAlarmInputNumber[MAX_ALARMHOST_ALARMIN_NUM]; - BYTE byRes[160]; -}NET_DVR_ALARMHOST_ALARMINFO,*LPNET_DVR_ALARMHOST_ALARMINFO; -// ϴ -typedef struct tagNET_DVR_SWITCH_ALARM -{ - DWORD dwSize; - BYTE byName[NAME_LEN]; // switch - WORD wSwitchChannel; // ͨ, 0-255 - BYTE byAlarmType; // 0--1--·2--·,3-쳣 - BYTE byRes[41]; // ֽ -}NET_DVR_SWITCH_ALARM, *LPNET_DVR_SWITCH_ALARM; - -typedef union tagNET_DVR_ALARMHOST_EXCEPTION_PARAM -{ - DWORD dwUnionSize[20]; // С -}NET_DVR_ALARMHOST_EXCEPTION_PARAM, *LPNET_DVR_ALARMHOST_EXCEPTION_PARAM; - -typedef struct tagNET_DVR_ALARMHOST_EXCEPTION_ALARM -{ - DWORD dwSize; // ṹС - // 쳣 1-豸𱨾 2-豸ָ 3-Դ籨 4-Դָ 5-ڲͨŹϱ - // 6-ڲͨŹϺָ 7-绰߶ 8-绰߶߻ָ 9-Լʧܱ 10-Լʧָܺ - // 11Ƿѹ 12صѹָ13-عϣ14-MBUSģߣ15-MBUSģ߻ָ16-̵ߣ - //17-̵߻ָ18-豸ƶ19-豸ƶλ 20-485·ϱ 21-485·Ϻָ - //25-Ӱ1,26-Ӱ1γ, 27-Ӱ2,28-Ӱ2γ - DWORD dwExceptionType; - BYTE byRes[36]; // -}NET_DVR_ALARMHOST_EXCEPTION_ALARM, *LPNET_DVR_ALARMHOST_EXCEPTION_ALARM; - -//вŲü÷ʽ -#define MAX_CENTERNUM 4 //G1,G2 G3 G4N1N2N3N4T1T2T3T4 -typedef struct tagNET_DVR_PHONECENTERDIALCFG -{ - BYTE sCenterName[NAME_LEN]; - BYTE byPhoneNum[MAX_PHONE_NUM/*32*/]; //ĺ - BYTE byRepeatCall; //ظŴ1~15 - BYTE byPstnProtocol; //ͨЭ飬0-CID - BYTE byDialDelay; //ʱ150s, 0-150 - BYTE byPstnTransMode; //䷽ʽ0-DTMF 5/S1-DTMF 10/S - BYTE byEnable; //ʹܣ0-رգ1- - BYTE byRes1[5]; - BYTE byReceiverId[6]; //ջʶ˺ţ - BYTE byRes2[32]; -}NET_DVR_PHONECENTERDIALCFG, *LPNET_DVR_PHONECENTERDIALCFG; - -typedef struct tagNET_DVR_ALARMHOSTDIALCFG -{ - DWORD dwSize; - NET_DVR_PHONECENTERDIALCFG struPhoneCenterParam[MAX_CENTERNUM];//IJ - WORD wReportPeriod; //ԱϴڣСʱֵ֧7죬168Сʱ), Χ1-168 - WORD wFirstReportTime; //豸һԱϴ1~3600 - BYTE byReportValid; //0-òԱϴ 1-òԱϴ - BYTE byRes[19]; -}NET_DVR_ALARMHOSTDIALCFG, *LPNET_DVR_ALARMHOSTDIALCFG; - -typedef struct tagNET_DVR_ALARMHOSTDIALSETUPMODE -{ - DWORD dwSize; - BYTE byEnableMode;//÷ʽ0ã1һֱã2:߶ãʱرգ - BYTE byCallType; //ϴķʽ1-ģ2-˫ģ3һһ - BYTE byRes1[14]; -}NET_DVR_ALARMHOSTDIALSETUPMODE, *LPNET_DVR_ALARMHOSTDIALSETUPMODE; - -#define MAX_PU_CHAN_NUM 512 - -typedef struct tagNET_DVR_PU_CHAN_INFO -{ - NET_DVR_IPADDR struIpAddr; // ipַ - WORD wPort; // ˿ - WORD wChannel; // ͨ - BYTE byRes[24]; // -}NET_DVR_PU_CHAN_INFO, *LPNET_DVR_PU_CHAN_INFO; - -typedef struct tagNET_DVR_PU_CHAN_LIST -{ - DWORD dwSize; // ṹ - DWORD dwNum; // ǰͨ - NET_DVR_PU_CHAN_INFO struPuChanInfo[MAX_PU_CHAN_NUM]; -}NET_DVR_PU_CHAN_LIST, *LPNET_DVR_PU_CHAN_LIST; - -#define MAX_ALARM_CAM_NUM 32 // CAM - -typedef struct tagNET_DVR_PTZ_CTRL -{ - BYTE byEnable; // ǷPTZ - BYTE byType; // PTZ Ƶ 1- Ԥõ 2 -Ѳ 3- - BYTE byPtzNo; // ptz ƵԤõ Ѳ - BYTE byRes[5]; // ֽ -}NET_DVR_PTZ_CTRL, *LPNET_DVR_PTZ_CTRL; - -typedef struct tagNET_DVR_ALARM_CAM_INFO -{ - DWORD dwCamID; // CAMͨ - DWORD dwRecordTime; // ¼ʱ λΪs -1ʾһֱ¼ 0 ʾ¼ - DWORD dwMonID; // CamMonʾ - DWORD dwResidentTime; // Ѳͣʱ䵥λΪs -1ʾһֱͣ 0 ʾͣ - NET_DVR_PTZ_CTRL struPtzCtrl; // PTZϢ - BYTE byAlarmOffMode; // лǽȡģʽ 0-ȡ1-Զȡ2-ֶȡ ȡȡʱȡǽ ԶȡȡʱȴһʱȡǽԼ20 ֶȡûֶͨķʽȡ - BYTE byDevType; // 豸Ϊ豸ʱЧʾܱ豸ȡԴ 1-뿨 2-뿨 - BYTE byDecChan; // ΪͨΪͨ - BYTE byRes[17]; // ֽ -}NET_DVR_ALARM_CAM_INFO, *LPNET_DVR_ALARM_CAM_INFO; - -typedef struct tagNET_DVR_ALARM_CAM_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnable; // ǷñCAM 豸Ĭϲ - BYTE byRes[7]; // ֽ - DWORD dwNum; // CAMĸ ȡǰЧ - NET_DVR_ALARM_CAM_INFO struAlarmCam[MAX_ALARM_CAM_NUM]; -}NET_DVR_ALARM_CAM_CFG, *LPNET_DVR_ALARM_CAM_CFG; - -#define MAX_GATEWAY_NUM 8 // Ž -typedef struct tagNET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM -{ - DWORD dwSize; - BYTE byEnterDoor[8]; // ±ʾŽţԪֵʾϢ0ʾ 1-8ʾƵ - BYTE byExitDoor[8]; // ±ʾŽţԪֵʾϢ0ʾ 1-8ʾƵ - BYTE byAlarmIn[MAX_ALARMHOST_ALARMIN_NUM/*512*/]; //룬±ʾţԪֵʾϢ0ʾ 1-8ʾƵ - BYTE byRes[128]; -}NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM, *LPNET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM; - -//ϴأϴصչ -typedef struct tagNET_DVR_UPLOAD_PARAM -{ - DWORD dwSize; - BYTE byUploadType; /*ϴʽ1-ļԵַȡļϴ 2-ӻȡϴ*/ - BYTE byDataType; //ͣ1-Ƶ - BYTE byDataNum; //ݱţ磺ϴòʾţţεˡڵ - BYTE byAudioType; //ʽ0-wave - char sFileName[260]; //ļȫ· - char *lpBuffer; //ݻ - DWORD dwBufferSize; //С - BYTE byRes2[128]; -}NET_DVR_UPLOAD_PARAM, *LPNET_DVR_UPLOAD_PARAM; - -typedef void (CALLBACK *DATADOWNLOAD)(LONG nDownloadHandle, DWORD dwDataType, void* pBuffer, DWORD dwBufSize, void *pUser); -typedef struct tagNET_DVR_ALARMHOST_PARAM -{ - DWORD dwSize; - BYTE byDownType; /*صݱ淽ʽ1-ļԵַݣ 2-ͨصȡ*/ - BYTE byDataType; //ͣ1-Ƶ - BYTE byDataNum; //ݱţ磺òʾţţεˡڵ - BYTE byRes1; - char sFileName[260]; //ļȫ· - DATADOWNLOAD lpDataCallBack; //ʱĻص - void* pUserData; //ûݣڻصд - BYTE byRes2[128]; -}NET_DVR_DOWNLOAD_PARAM, *LPNET_DVR_DOWNLOAD_PARAM; - - -typedef struct tagNET_DVR_ALARMHOST_DOWNLOAD_PARAM -{ - DWORD dwSize; - BYTE byDownType; /*صݱ淽ʽ1-ļԵַݣ 2-ͨصȡ*/ - BYTE byDataType; //ͣ1-Ƶ - BYTE byDataNum; //ݱţ磺òʾţţεˡڵ - BYTE byRes1; - char sFileName[260]; //ļȫ· - DATADOWNLOAD lpDataCallBack; //ʱĻص - void* pUserData; //ûݣڻصд - BYTE byRes2[128]; -}NET_DVR_ALARMHOST_DOWNLOAD_PARAM, *LPNET_DVR_ALARMHOST_DOWNLOAD_PARAM; - -//LEDĻ -typedef struct tagNET_DVR_LED_SCREEN_CFG -{ - DWORD dwSize; - BYTE sLEDName[NAME_LEN/*32*/]; // LEDĻ - BYTE byTransMode; // ִֻ֧ͨѶ 1-ͨ - BYTE byProtocolType; // ЭͣӦLEDij - BYTE byLEDColor; // 1-ɫ 2-˫ɫ 3-256Ҷ˫ɫ 4- ȫɫĿǰֻõɫ - BYTE byDataPolarity; // ݼ .0-1- - BYTE byOEPolarity; // 0-Ч 1-Ч - BYTE byScanMode; // 1-1/16, 2-1/8, 3-1/4, 4-1/2, 5-̬ - BYTE byRes1[2]; - //ĻȺ͸߶С16*16㣬8 - WORD wLEDWidth; // 16~2048 - WORD wLEDHeight; // 16~2048 - BYTE byRes2[64]; -}NET_DVR_LED_SCREEN_CFG, *LPNET_DVR_LED_SCREEN_CFG; - -//LED -#define MAX_CONTENT_LEN 512 -typedef struct tagNET_DVR_LED_CONTENT_CFG -{ - DWORD dwSize; - BYTE sLEDContent[MAX_CONTENT_LEN]; // LEDĻʾ - BYTE byContentAct; // 1-̬2-ٴ3-ƶ4-ƶ 5-ƶ 6-ƶ - BYTE byContentSpeed; // 1-241죬24 - BYTE byContentStayTime; // 0-127.5s(0.5s SDKʱ*2ֵ0-255豸ʹõʱ2) - BYTE byRes[33]; -}NET_DVR_LED_CONTENT_CFG, *LPNET_DVR_LED_CONTENT_CFG; - -//LEDʱػ -#define LED_TIMER_NUM 3 // LEDػʱ -#define TIME_SEGMENT_A_DAY 48 // ʱθһ24СʱСʱһ - -typedef struct tagNET_DVR_SWITCH_TIME -{ - BYTE byValid; // 鶨ʱʱǷЧʱdzɶõ - BYTE byRes[3]; - NET_DVR_TIME_EX struTimeOn; // ʱ - NET_DVR_TIME_EX struTimeOff; // ػʱ -}NET_DVR_SWITCH_TIME, *LPNET_DVR_SWITCH_TIME; - - -typedef struct tagNET_DVR_LED_SWITCH_TIME -{ - DWORD dwSize; - NET_DVR_SWITCH_TIME struTimer[LED_TIMER_NUM /*3*/]; //ʱػʱ䣬ṹֻСʱͷЧÿ鿪ʱҪڸĹػʱ䣬ǰһĹػʱҪ磺struTimer[0]Ĺػʱ1000ôstruTimer[0]ĿʱΪ10:00֮ǰ struTimer[1]ĿʱΪ10:00Ժ - BYTE byRes[64]; -}NET_DVR_LED_SWITCH_TIME, *LPNET_DVR_LED_SWITCH_TIME; - -//ʱȵ -typedef struct tagNET_DVR_LED_BRIGHTNESS_STEP -{ - DWORD dwSize; - BYTE byValid; //ʱȵǷЧ - BYTE byRes1[3]; - BYTE byBrightnessStep[TIME_SEGMENT_A_DAY /*48*/]; //ȫ24СʱΪ48ʱΣÿ30һʱΣ48ֽڱʾÿʱεȼȹ160~15ʾ - BYTE byRes2[48]; -}NET_DVR_LED_BRIGHTNESS_STEP, *LPNET_DVR_LED_BRIGHTNESS_STEP; - -typedef struct tagNET_DVR_LED_STATUS -{ - DWORD dwSize; - BYTE bySwitchState; //1-״̬ 2-ػ״̬ - BYTE byBrightness; //ֵΧ0-15 - BYTE byRes[62]; -}NET_DVR_LED_STATUS, *LPNET_DVR_LED_STATUS; - -//2010-12-28 뿨 begin -//µĽ뿨 -#define MAX_DECODE_CARD_NUM 6 //뿨 -/********************뿨ģʽ궨********************/ -typedef enum _HD_DISPLAY_FORMAT -{ - HD_DISPLAY_FORMAT_INVALID = 0x00000000, - HD_DISPLAY_FORMAT_CVBS = 0x00000001, - HD_DISPLAY_FORMAT_DVI = 0x00000002, - HD_DISPLAY_FORMAT_VGA = 0x00000004, - HD_DISPLAY_FORMAT_HDMI = 0x00000008, - HD_DISPLAY_FORMAT_YPbPr = 0x00000010 -}HD_DISPLAY_FORMAT,*LPHD_DISPLAY_FORMAT; - -/********************뿨ģʽ궨********************/ -typedef struct tagNET_DVR_DECCARD_ABILITY /*뿨*/ -{ - BYTE byCardType; //뿨(0:MD,1:MD+,2:HD) - BYTE byDecNums; //ͨ - BYTE byDispNums; //ʾͨ - BYTE byDecStartIdx; //׸ͨнͨе - BYTE byDispStartIdx; //׸ʾͨʾͨе - BYTE byDispResolution[80]; //ģʽֵ֧ķֱ - BYTE byDispFormat[8]; //ֵ֧ģʽ(HD_DISPLAY_FORMAT) - BYTE byWindowMode[4][8]; //ֵ֧Ĵģʽ(1,2,4,9,16)) - BYTE byRes[35]; -} NET_DVR_DECCARD_ABILITY,*LPNET_DVR_DECCARD_ABILITY; - -typedef struct tagNET_DVR_DECODESVR_ABILITY -{ - DWORD dwSize; /* ṹС */ - BYTE byCardNums; /* 뿨 */ - BYTE byStartChan; /* ʼͨ */ - BYTE byRes1[2]; - NET_DVR_DECCARD_ABILITY struDecCardAbility[MAX_DECODE_CARD_NUM]; - BYTE byRes2[64]; -}NET_DVR_DECODESVR_ABILITY, *LPNET_DVR_DECODESVR_ABILITY; - -typedef struct tagNET_MATRIX_DEV_CHAN_INFO -{ - NET_DVR_IPADDR struIP; //DVR IPַ - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byUsedSlotNum; //Ƿʹòλţ0-ʹã1-ʹ - BYTE bySlotNum;//λ - BYTE byRes[68]; - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_MATRIX_DEV_CHAN_INFO,*LPNET_MATRIX_DEV_CHAN_INFO; - -typedef struct tagNET_MATRIX_PU_STREAM_CFG -{ - DWORD dwSize; - NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg; - NET_MATRIX_DEV_CHAN_INFO struDevChanInfo; -} NET_MATRIX_PU_STREAM_CFG,LPNET_MATRIX_PU_STREAM_CFG; - -/*cameraõԪṹ*/ -typedef struct tagNET_DVR_MATRIX_CAMERACFG -{ - DWORD dwGlobalIndex;//ȫֱ - DWORD dwInterIndex;//ֲ - BYTE sCamName[NAME_LEN]; - NET_MATRIX_PU_STREAM_CFG struPuStreamCfg; -} NET_DVR_MATRIX_CAMERACFG,*LPNET_DVR_MATRIX_CAMERACFG; - -typedef struct tagNET_DVR_MATRIX_CAMERALIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwCamNum;//CAM - BYTE *pBuffer; - DWORD dwBufLen;//ָ볤ȣ -} NET_DVR_MATRIX_CAMERALIST,*LPNET_DVR_MATRIX_CAMERALIST; - -typedef struct tagNET_DVR_DISP_CHAN_INFO -{ - NET_DVR_IPADDR struIP; /* IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byDispChannel; /* ʾͨ */ - BYTE byUsedSlotNum; //Ƿʹòλţ0-ʹã1-ʹ - BYTE bySlotNum;//λ - BYTE byRes[7]; - BYTE sUserName[NAME_LEN]; /*½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ -}NET_DVR_DISP_CHAN_INFO,*LPNET_DVR_DISP_CHAN_INFO; - -/*monitorõԪṹ*/ -typedef struct tagNET_DVR_MATRIX_MONITORCFG -{ - DWORD dwGlobalIndex;//ȫֱ - DWORD dwInterIndex; - BYTE sMonName[NAME_LEN]; - NET_DVR_DISP_CHAN_INFO struDispChanCfg; -} NET_DVR_MATRIX_MONITORCFG,*LPNET_DVR_MATRIX_MONITORCFG; - -typedef struct tagNET_DVR_MATRIX_MONITORLIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwMonNum;//MON - BYTE *pBuffer; - DWORD dwBufLen;//ָ볤ȣ -} NET_DVR_MATRIX_MONITORLIST,*LPNET_DVR_MATRIX_MONITORLIST; - -#define MAX_SUBMATRIX_NUM 8//ϵͳ -typedef struct tagNET_DVR_SUBMATRIXINFO -{ - BYTE byMainMatrix;//Ƿϵͳ1-ǣ0- - BYTE bySubMatrixSequence;//Ƶۺƽ̨ϵͳ - BYTE byLoginType;//עͣ1-ֱ2-DNS3- - BYTE byRes1[9]; - NET_DVR_IPADDR struSubMatrixIP; /*IPַ޸ģ*/ - WORD wSubMatrixPort; /*ϵͳ˿ںţ޸ģ*/ - BYTE byRes2[6]; - NET_DVR_IPADDR struSubMatrixIPMask; /*IPַ*/ - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - BYTE sUserName[NAME_LEN]; /* û ˲ֻܻȡ*/ - BYTE sPassword[PASSWD_LEN]; /* ˲ֻܻȡ*/ - char sDomainName[MAX_DOMAIN_NAME];//(޸) - char sDnsAddress[MAX_DOMAIN_NAME];/*DNSIPַ*/ - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ - BYTE byRes3[16]; -}NET_DVR_SUBMATRIXINFO, *LPNET_DVR_SUBMATRIXINFO; - -typedef struct tagNET_DVR_ALLUNITEDMATRIXINFO -{ - DWORD dwSize; - NET_DVR_SUBMATRIXINFO struSubMatrixInfo[MAX_SUBMATRIX_NUM]; - BYTE byRes2[32]; -}NET_DVR_ALLUNITEDMATRIXINFO, *LPNET_DVR_ALLUNITEDMATRIXINFO; - -#define MAX_GATEWAYTRUNKNUM 1024 //Ƶۺƽ̨·ɸ - -typedef struct tagNET_DVR_MATRIXGATEWAYNOTE -{ - WORD wTrunkInToOutAbility;//ߴD1ı׼4ʾ֧4D1 - WORD wTrunkOutToInAbility;//ߴD1ı׼4ʾ֧4D1˫ʱõֵ - BYTE byRes[4]; - NET_DVR_MATRIXSUBSYSTEMINFO struInputNote; - NET_DVR_MATRIXSUBSYSTEMINFO struOutputNote; -}NET_DVR_MATRIXGATEWAYNOTE, *LPNET_DVR_MATRIXGATEWAYNOTE; - -typedef struct tagNET_DVR_MATRIXGATEWAYINFO -{ - DWORD dwSize; - NET_DVR_MATRIXGATEWAYNOTE struGatewayNote[MAX_GATEWAYTRUNKNUM]; - BYTE byRes [32]; -}NET_DVR_MATRIXGATEWAYINFO, *LPNET_DVR_MATRIXGATEWAYINFO; - -typedef struct tagNET_DVR_MATRIXCODESYSTEMINFO -{ - BYTE byMatrixNum;//Ƶۺƽ̨ - BYTE bySubSystemNum;//ϵͳλ - BYTE byChan;//ͨ - BYTE byRes [13]; -}NET_DVR_MATRIXCODESYSTEMINFO,*LPNET_DVR_MATRIXCODESYSTEMINFO; -typedef struct tagNET_DVR_MATRIXDECODESYSTEMINFO -{ - BYTE byMatrixNum;//Ƶۺƽ̨ - BYTE bySubSystemNum;//ϵͳλ - BYTE byDispChan;//ʾͨ - BYTE bySubDispChan;//ʾͨͨ - BYTE byRes [12]; -}NET_DVR_MATRIXDECODESYSTEMINFO,*LPNET_DVR_MATRIXDECODESYSTEMINFO; - -typedef struct tagNET_DVR_MATRIXSWITCH -{ - NET_DVR_MATRIXCODESYSTEMINFO struInputNote; - NET_DVR_MATRIXDECODESYSTEMINFO struOutputNote; - BYTE byRes[32]; -}NET_DVR_MATRIXSWITCH, *LPNET_DVR_MATRIXSWITCH; - -typedef enum { - ENC_CARD = 0, - DEC_CARD, - SD_DEC_CARD, - FPGA_CARD, - CS_CARD, - ALERTOR_CARD, - NAT_0, - NAT_1, - VCA_CARD, - VGA_DEC_CARD, - VGA_ENC_CARD, - ERR_CARD, -} DEV_TYPE; - -typedef struct tagNET_DVR_MATRIXSWITCHCTRL -{ - DWORD dwCamId;//ȫֱ - DWORD dwMonId;//ʾȫֱ - BYTE bySubWindowNum;//ʾӦӴں - BYTE bySwitchType;/*лͣ0:л1:л2:ȡ0xff:ʾMONбȫȡ*/ - WORD wAlarmType;//豸ͣ1:2豸 - DWORD dwResidentTime;/* ʾפʱ䣬0xFFFFFFFF ʱ Ϊפʾ*/ - BYTE byVcaDevType;//豸"豸"ʱDEV_TYPE - BYTE byWallNo;//ǽ - BYTE byRes[18]; -}NET_DVR_MATRIXSWITCHCTRL, *LPNET_DVR_MATRIXSWITCHCTRL; - -typedef struct tagNET_DVR_MATRIXDATABASE -{ - //ļͣ1-ݿļ2-ݿļ3-ƽ̨ݿļ4-ļ0xffһʧܵݿ - DWORD dwDevType; - DWORD dwParam; //ššƽ̨ţļʱֵ - BYTE byFileType;//ļͣ1-sql䣬2-db䣬3-ļ - BYTE byRes [3]; -} NET_DVR_MATRIXDATABASE, *LPNET_DVR_MATRIXDATABASE; - -typedef struct tagNET_DVR_SUBSYSTEMINFO_V40 -{ -/*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ - 9-V6ϵͳ10-תϵͳ11-X86ϵͳ12-ϵͳ13-X86ķ壬14- X86ҵ壬15-ƴϵͳ 16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ19-Ƶϵͳ0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - //ϵͳͨϵͳ485˲ֻܻȡ - BYTE byChan; - BYTE byLoginType;//עͣ1-ֱ2-DNS3- - BYTE bySlotNum ;//λţ˲ֻܻȡ - BYTE byRes1[4]; - NET_DVR_IPADDR struSubSystemIP; /*IPַ޸ģ*/ - NET_DVR_IPADDR struSubSystemIPMask;// - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - WORD wSubSystemPort; //ϵͳ˿ںţ޸ģ - BYTE byRes2[6]; - BYTE sUserName[NAME_LEN]; /* û ˲ֻܻȡ*/ - BYTE sPassword[PASSWD_LEN]; /*(޸)*/ - char sDomainName[MAX_DOMAIN_NAME];//(޸) - char sDnsAddress[MAX_DOMAIN_NAME];/*DNSIPַ*/ - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ - BYTE byBelongBoard;//Ӱţ1ʼ0xffʾЧ - BYTE byInterfaceType;//ӿͣ0-ͣ1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVIӦ10-3GSDI, 11-VGA/DVIӦ12-HDTVI13-HDBaseT14-DP15-DVIT16-TVI,17-VSCREEN,18-miniDP,0xff-Ч - BYTE byInterfaceNums;//ӿڸ0xffʾЧ - BYTE byInterfaceStartNum;//ӿʼţ0xffʾЧ - BYTE byDeviceName[20];//ϵͳ - BYTE byAudioChanNums; //Ƶͨ - BYTE byAudioChanStartNum; //Ƶͨʼ - BYTE byAudioChanType;//Ƶͨͣ0-Ч1-Ƶ룬2-Ƶ - BYTE byRes3[33]; -}NET_DVR_SUBSYSTEMINFO_V40, *LPNET_DVR_SUBSYSTEMINFO_V40; - -#define MAX_SUBSYSTEM_NUM_V40 120 -typedef struct tagNET_DVR_ALLSUBSYSTEMINFO_V40 -{ - DWORD dwSize; - NET_DVR_SUBSYSTEMINFO_V40 struSubSystemInfo[MAX_SUBSYSTEM_NUM_V40]; - BYTE byRes[8]; -}NET_DVR_ALLSUBSYSTEMINFO_V40, *LPNET_DVR_ALLSUBSYSTEMINFO_V40; - -typedef struct tagNET_DVR_SUBSYSTEM_BASIC_INFO -{ - DWORD dwSize; - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-Fpgaϵͳ9-Fpgaϵͳ10-תϵͳ11-X86ϵͳ12-ϵͳ13-X86ķ壬 14- X86ҵ壬15-ƴϵͳ 16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ19-źŽϵͳ,0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - //ϵͳͨϵͳ485˲ֻܻȡ - BYTE bySubSystemNo;//ϵͳţ˲ֻܻȡ - BYTE byInterfaceType;//ӿͣ0-ͣ1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, 7-RGB, 8-YprPb, 9-VGA/HDMI/DVIӦ10-3GSDI, 11-VGA/DVIӦ12-HDTVI13-HDBaseT14-DP15-DVIT0xff-Ч - BYTE byRes1; - DWORD dwChan; - NET_DVR_IPADDR struSubSystemIP; /*IPַ޸ģ*/ - NET_DVR_IPADDR struSubSystemIPMask;// - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - WORD wSubSystemPort; //ϵͳ˿ںţ޸ģ - BYTE byRes2[6]; - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ - BYTE byBelongBoard;//Ӱţ1ʼ0xffʾЧbyBelongBoardHΪ0ʱֶοΪ0xff - BYTE byBelongBoardH; //ӰŸλ - BYTE byRes3[2]; - BYTE byDeviceName[20];//ϵͳ - DWORD dwStartChanNo;//ʼͨ - BYTE byDevNo; //豸 - BYTE byRes4[63]; -}NET_DVR_SUBSYSTEM_BASIC_INFO, *LPNET_DVR_SUBSYSTEM_BASIC_INFO; - -typedef struct NET_DVR_SUBSYSTEM_BASIC_INFO_RESPONSE -{ - DWORD dwSize; - DWORD dwErrorCode; // - BYTE byDevNo; //豸 - BYTE bySubSystemNo;//ϵͳ - BYTE byRes[30]; -} NET_DVR_SUBSYSTEM_BASIC_INFO_RESPONSE,*LPNET_DVR_SUBSYSTEM_BASIC_INFO_RESPONSE; - -typedef struct NET_DVR_CAMERA_INFO_RESPONSE -{ - DWORD dwErrorCode; // - DWORD dwCamId; /*cam ͳһ*/ - BYTE byRes[4]; -} NET_DVR_CAMERA_INFO_RESPONSE,*LPNET_DVR_CAMERA_INFO_RESPONSE; - -typedef struct NET_DVR_MONITOR_INFO_RESPONSE -{ - DWORD dwErrorCode; // - DWORD dwMonId; /*mon ͳһ*/ - BYTE byRes[4]; -} NET_DVR_MONITOR_INFO_RESPONSE, *LPNET_DVR_MONITOR_INFO_RESPONSE; - -typedef struct tagNET_DVR_AUDIO_INFO -{ - DWORD dwSize; - BYTE byAudioChanType;//Ƶͨͣ1-Ƶ룬2-Ƶ - BYTE byRes1[3]; - DWORD dwAudioNo; //Ƶ(1ֽ豸+1ֽӰ+2ֽƵں) - BYTE byRes2[16]; -}NET_DVR_AUDIO_INFO, *LPNET_DVR_AUDIO_INFO; - - -typedef struct tagNET_DVR_SINGLESUBSYSTEMJOININFO_V40 -{ - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ9-V6ϵͳ0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - BYTE byConnectStatus;//ϵͳ״̬1-2-ӶϿ - BYTE byMatrixNum;//Ƶۺƽ̨ţϵͳ34ʱ - BYTE bySubSystemNum;//ϵͳλţ0~79ϵͳ34ʱ - NET_DVR_DECSUBSYSTEMJIONSTATUS struDecSub [MATRIX_MAXDECSUBSYSTEMCHAN]; - BYTE byBindStatus;//״̬0-ûа󶨣1-Ѿ󶨣ƴʱõ - BYTE bySlotNum ;//λţ˲ֻܻȡ - //ϵͳΪ1ʱã0-δ1-D12-7203-1080 - BYTE byDecodeAbility; - BYTE byUsedTrunk; - BYTE byRes[64]; -}NET_DVR_SINGLESUBSYSTEMJOININFO_V40,LPNET_DVR_SINGLESUBSYSTEMJOININFO_V40; - -typedef struct tagNET_DVR_ALLDECSUBSYSTEMJOININFO_V40 -{ - DWORD dwSize; - NET_DVR_SINGLESUBSYSTEMJOININFO_V40 struSingleSubSystemJoinInfo[MAX_SUBSYSTEM_NUM_V40]; - BYTE byRes[48]; -}NET_DVR_ALLDECSUBSYSTEMJOININFO_V40, *LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V40; - -#define MAX_OPTICALFIBER_NUM 16 -typedef struct tagNET_DVR_SUBSYSTEM_ABILITY -{ -/*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ9-V6ϵͳ - 10-תϵͳ11-X86ϵͳ壬 14- X86ҵ壬15-ƴϵͳ 16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ0-NULL˲0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - BYTE byChanNum;//ϵͳͨ - BYTE byStartChan;//ϵͳʼͨ - BYTE bySlotNum ;//λ - BYTE byRes1[4]; - union - { - BYTE byRes[200]; - struct - { - BYTE byDecode; //ǷǴ빦ܵܰ,1-ǣ0- - BYTE byNeedPreAllocDec; //ǷҪԤԴ1-ǣ0- - BYTE byVACType; //ϵͳͣ0-ͨͣ1-ǿ - BYTE byRes[197]; - }struVACSystemAbility; - struct - { - BYTE byVGANums;//VGAʾͨ1ʼ - BYTE byBNCNums;//BNCʾͨ9ʼ - BYTE byHDMINums;//HDMIʾͨ25ʼ - BYTE byDVINums;//DVIʾͨ29ʼ - BYTE byLayerNums ;//ƴУʱ֧ͼ - BYTE bySpartan;//Թܣ0-֧֣1-֧ - BYTE byDecType; //ϵͳͣ0-ͨ,1-ǿ(ͨͷʱǰ4ʹԴǿ޴ƣǿɱϵͳ16·D1Դ - //ǿͱΪԴɱãܱͨ) - //2-ܹϵͳ3-תϵͳܺתϵͳڽǽ - BYTE byOutputSwitch;//Ƿ֧HDMI/DVIл0-֧֣1-֧ - BYTE bySDINums;//SDIʾͨ33ʼ - BYTE byRes1[38]; - BYTE byDecoderType ; //Ƿֶ֧೧룬0-֧֣1-֧ - BYTE byRes2[152]; - }struDecoderSystemAbility; - struct - { - BYTE byCoderType;//ͣ0-壬1-, 2-ģ - BYTE byOptical;//˻룬0-1- - BYTE byOpticalSubChan; //ÿŵ - BYTE bySupportAVSeparate;//Ƿ֧Ƶ룬0-֧֣1-֧ - BYTE byRes[196]; - }struCoderSystemAbility; - struct - { - WORD wTrunkAbility;//ߴD1ı׼4ʾ֧4D1 - BYTE byOpticalFiberNum;// - BYTE byRes[197]; - }struInputSystemAbility; - struct - { - WORD wTrunkAbility;//ߴD1ı׼4ʾ֧4D1 - BYTE byOpticalFiberNum;// - BYTE byRes[197]; - }struOutputSystemAbility; - struct - { - BYTE by485Num;//ϵͳ485 - BYTE bySlotNum;//ÿ485λ - BYTE byRes[198]; - }struCodeSpitterSystemAbility; - struct - { - WORD wAlarmInNums; - WORD wAlarmOutNums; - /* ʶǷӣ 1ʾӣ Ϊ0 ʾδ */ - BYTE byAlarmBoxEnable[4][8]; - BYTE bySupportContact; /* Ƶۺƽ̨ڲ0-֧,1-֧ */ - BYTE byRes[163]; - }struAlarmHostSystemAbility; - struct - { - BYTE byOpticalFiberNum;// - BYTE byRes1[3]; - //˴D1ı׼4ʾ֧4D1 - WORD wTrunkAbility[MAX_OPTICALFIBER_NUM/*16*/]; - BYTE byRes2[164]; - }struInOutputSystemAbility; - struct - { - BYTE bySupportRingProtocol; //Ƿֻ֧Э - BYTE bySupportRingNums; //ֻ֧ - BYTE bySupportPortNums; //ֵ֧Ķ˿ - BYTE byRes[1]; - DWORD dwPortSupportRingProto; //ÿ˿Ƿֻ֧Э飬λ㣬132λֱʾ132˿ڣ0-֧֣1-ʾ֧ - BYTE byRes2[192]; - } struFiberSwitchSystemAbility; - }struAbility; -}NET_DVR_SUBSYSTEM_ABILITY, *LPNET_DVR_SUBSYSTEM_ABILITY; - -typedef struct tagNET_DVR_VIDEOPLATFORM_ABILITY_V40 -{ - DWORD dwSize; - BYTE byCodeSubSystemNums;//ϵͳ - BYTE byDecodeSubSystemNums;//ϵͳ - BYTE bySupportNat;//Ƿ֧NAT0-֧֣1-֧ - BYTE byInputSubSystemNums;//ϵͳ - BYTE byOutputSubSystemNums;//ϵͳ - BYTE byCodeSpitterSubSystemNums;//ϵͳ - BYTE byAlarmHostSubSystemNums;//ϵͳ - BYTE bySupportBigScreenNum;//֧ɴĸ - BYTE byVCASubSystemNums;//ϵͳ - BYTE byV6SubSystemNums;//V6ϵͳ - BYTE byV6DecoderSubSystemNums;//V6ϵͳ - BYTE bySupportBigScreenX;/*ƴӵģʽmn*/ - BYTE bySupportBigScreenY; - BYTE bySupportSceneNums;//ֳ֧ģʽĸ - BYTE byVcaSupportChanMode;//ֵ֧ͨʹģʽ0-ʹýͨ1-ʹʾͨͨ - BYTE bySupportScreenNums;//ֵ֧ĴĻ - BYTE bySupportLayerNums;//ֵ֧ͼ0xff-Ч - BYTE byNotSupportPreview;//Ƿ֧Ԥ,1-֧֣0-֧ - BYTE byNotSupportStorage;//Ƿִ֧洢,1-֧֣0-֧ - BYTE byUploadLogoMode;//ϴlogoģʽ0-ϴͨ1-ϴʾͨ - NET_DVR_SUBSYSTEM_ABILITY struSubSystemAbility[MAX_SUBSYSTEM_NUM_V40]; - BYTE by485Nums;//485ڸ - BYTE by232Nums;//232ڸ - BYTE bySerieStartChan;//ʼͨ - BYTE byScreenMode;//ģʽ0-ɿͻ˷䣬1-豸˷ - BYTE byDevVersion;//豸汾0-B10/B11/B121-B20 - BYTE bySupportBaseMapNums;//ֵ֧ĵͼͼŴ1ʼ - WORD wBaseLengthX;//ÿСĻ׼ֵB20ʹ - WORD wBaseLengthY; - BYTE bySupportPictureTrans; //Ƿ֧ͼƬԣ0-֧֣1-֧ - BYTE bySupportPreAllocDec; //Ƿ֧ܽԴԤ䣬0-֧֣1-֧ - BYTE bySupportDecAutoManage; //Ƿֽ֧Դ - BYTE byTranDevSubSystemNums; //תϵͳ - BYTE byFiberSwitchNums; //ϵͳ - BYTE byRes2[625]; -}NET_DVR_VIDEOPLATFORM_ABILITY_V40, *LPNET_DVR_VIDEOPLATFORM_ABILITY_V40; - -typedef struct tagNET_DVR_VIDEOPLATFORM_ABILITY -{ - DWORD dwSize; - BYTE byCodeSubSystemNums;//ϵͳ - BYTE byDecodeSubSystemNums;//ϵͳ - BYTE bySupportNat;//Ƿ֧NAT0-֧֣1-֧ - BYTE byInputSubSystemNums;//ϵͳ - BYTE byOutputSubSystemNums;//ϵͳ - BYTE byCodeSpitterSubSystemNums;//ϵͳ - BYTE byAlarmHostSubSystemNums;//ϵͳ - BYTE bySupportBigScreenNum;//֧ƴ - BYTE byVCASubSystemNums;//ϵͳ - BYTE byRes1[11]; - NET_DVR_SUBSYSTEM_ABILITY struSubSystemAbility[MAX_SUBSYSTEM_NUM]; - BYTE by485Nums;//485ڸ - BYTE by232Nums;//485ڸ - BYTE bySerieStartChan;//ʼͨ - BYTE byRes2[637]; -}NET_DVR_VIDEOPLATFORM_ABILITY, *LPNET_DVR_VIDEOPLATFORM_ABILITY; -//ȡӿ - -//ģʽA -typedef struct tagNET_DVR_HOLIDATE_MODEA -{ - BYTE byStartMonth; // ʼ 1ʼ - BYTE byStartDay; // ʼ 1ʼ - BYTE byEndMonth; // - BYTE byEndDay; // - BYTE byRes[4]; // ֽ -}NET_DVR_HOLIDATE_MODEA, *LPNET_DVR_HOLIDATE_MODEA; - -typedef struct tagNET_DVR_HOLIDATE_MODEB -{ - BYTE byStartMonth; // 1ʼ - BYTE byStartWeekNum; // ڼ 1ʼ - BYTE byStartWeekday; // ڼ - BYTE byEndMonth; // 1ʼ - BYTE byEndWeekNum; // ڼ 1ʼ - BYTE byEndWeekday; // ڼ - BYTE byRes[2]; // ֽ -}NET_DVR_HOLIDATE_MODEB, *LPNET_DVR_HOLIDATE_MODEB; - -typedef struct tagNET_DVR_HOLIDATE_MODEC -{ - WORD wStartYear; // - BYTE byStartMon; // - BYTE byStartDay; // - WORD wEndYear; // - BYTE byEndMon; // - BYTE byEndDay; // -}NET_DVR_HOLIDATE_MODEC, *LPNET_DVR_HOLIDATE_MODEC; - -typedef union tagNET_DVR_HOLIDATE_UNION -{ - // С 12ֽ - DWORD dwSize[3]; - NET_DVR_HOLIDATE_MODEA struModeA; // ģʽA - NET_DVR_HOLIDATE_MODEB struModeB; // ģʽB - NET_DVR_HOLIDATE_MODEC struModeC; // ģʽC -}NET_DVR_HOLIDATE_UNION, *LPNET_DVR_HOLIDATE_UNION; - -typedef enum tagHOLI_DATE_MODE -{ - HOLIDATE_MODEA = 0, - HOLIDATE_MODEB, - HOLIDATE_MODEC -}HOLI_DATE_MODE; - -typedef struct tagNET_DVR_HOLIDAY_PARAM -{ - BYTE byEnable; // Ƿ - BYTE byDateMode; // ģʽ 0-ģʽA 1-ģʽB 2-ģʽC - BYTE byRes1[2]; // ֽ - NET_DVR_HOLIDATE_UNION uHolidate; // - BYTE byName[NAME_LEN]; // - BYTE byRes2[20]; // ֽ -}NET_DVR_HOLIDAY_PARAM, *LPNET_DVR_HOLIDAY_PARAM; - -#define MAX_HOLIDAY_NUM 32 - -typedef struct tagNET_DVR_HOLIDAY_PARAM_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_HOLIDAY_PARAM struHolidayParam[MAX_HOLIDAY_NUM]; // ղ - DWORD byRes[40]; // -}NET_DVR_HOLIDAY_PARAM_CFG, *LPNET_DVR_HOLIDAY_PARAM_CFG; - -// ձʽ -typedef struct tagNET_DVR_HOLIDAY_HANDLE -{ - DWORD dwSize; // ṹС - NET_DVR_SCHEDTIME struAlarmTime[MAX_TIMESEGMENT_V30]; // ʱ - BYTE byRes2[240]; // ֽ -}NET_DVR_HOLIDAY_HANDLE, *LPNET_DVR_HOLIDAY_HANDLE; - -typedef struct tagNET_DVR_HOLIDAY_HANDLE_COND -{ - DWORD dwSize; // ṹС - DWORD dwChannel; //ͨ - DWORD dwSMDHandleType; //ܼղ 0-Ƶ쳣⣬1-齹⣬2- - BYTE byRes2[32]; // ֽ -}NET_DVR_HOLIDAY_HANDLE_COND, *LPNET_DVR_HOLIDAY_HANDLE_COND; - -typedef struct tagNET_DVR_HOLIDAY_RECORD -{ - DWORD dwSize; - NET_DVR_RECORDDAY struRecDay; // ¼ - NET_DVR_RECORDSCHED struRecordSched[MAX_TIMESEGMENT_V30]; // ¼ʱ - BYTE byRes[20]; // ֽ -}NET_DVR_HOLIDAY_RECORD, *LPNET_DVR_HOLIDAY_RECORD; - -#define MAX_LINK_V30 128 - -typedef struct tagNET_DVR_ONE_LINK -{ - NET_DVR_IPADDR struIP; // ͻIP - LONG lChannel; // ͨ - BYTE byRes[32]; // ֽ -}NET_DVR_ONE_LINK, *LPNET_DVR_ONE_LINK; - -typedef struct tagNET_DVR_LINK_STATUS -{ - DWORD dwSize; // ṹС - WORD wLinkNum; // ӵĿ - BYTE byRes1[2]; // ֽ - NET_DVR_ONE_LINK struOneLink[MAX_LINK_V30]; // ӵĿͻϢ - BYTE byRes[32]; // ֽ -}NET_DVR_LINK_STATUS, *LPNET_DVR_LINK_STATUS; - -#define MAX_BOND_NUM 2 - -typedef struct tagNET_DVR_ONE_BONDING -{ - BYTE byMode; // ģʽ0 - ݴ 1 - ؾ - BYTE byUseDhcp; // Ƿʹdhcp - BYTE byMasterCard; // ָΪ - BYTE byStatus; // BONDING״̬ 0 - 쳣 1- ֻܻȡ - BYTE byBond[MAX_NETWORK_CARD];// byBond[0]== 1 ʾʹeh0 0ʾʹeh0 - NET_DVR_ETHERNET_V30 struEtherNet; // - NET_DVR_IPADDR struGatewayIpAddr; // صַ - BYTE byEnableDNS; //DNSʹ, 0-رգ1- - BYTE byBondMode; //󶨷ʽ, 0-Ч1-ģʽ2-תģʽ3-XORģʽ4-㲥ģʽ5-802.3adģʽ6-T1bģʽ7-⻯ģʽ - BYTE byRes1[2]; - BYTE byBond2[MAX_NETWORK_CARD_EX/*12*/];// byBond2[0]== 1 ʾʹeh4 0ʾʹeh4byBondչ - BYTE byRes[4];// ֽ -}NET_DVR_ONE_BONDING, *LPNET_DVR_ONE_BONDING; - -typedef struct tagNET_DVR_NETWORK_BONDING -{ - DWORD dwSize; // ṹС - BYTE byEnable; // Ƿbonding - BYTE byNum; // Bondingĸ - BYTE byRes1[2]; // ֽ - NET_DVR_ONE_BONDING struOneBond[MAX_BOND_NUM]; - BYTE byRes2[40]; // ֽ -}NET_DVR_NETWORK_BONDING, *LPNET_DVR_NETWORK_BONDING; - - -// -typedef struct tagNET_DVR_DISK_QUOTA -{ - BYTE byQuotaType; // ,1 - 2-3-ʱ - BYTE byRes1[5]; // ֽ - WORD wStoragePeriod; //¼洢ڣλ죬ΪʱʱЧ - DWORD dwHCapacity; // Ĵ32λ λMB - DWORD dwLCapacity; // Ĵ32λ λMB - DWORD dwHUsedSpace; // ʹõĴ̴С32λ λMB - DWORD dwLUsedSpace; // ʹõĴ̴С32λ λMB - BYTE byQuotaRatio; // Ĵ̱,λ:% - BYTE byRes2[21]; // ֽ -}NET_DVR_DISK_QUOTA, *LPNET_DVR_DISK_QUOTA; - -typedef struct tagNET_DVR_DISK_QUOTA_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_DISK_QUOTA struPicQuota; // ͼƬ - NET_DVR_DISK_QUOTA struRecordQuota; // ¼ - NET_DVR_DISK_QUOTA struAddInfoQuota; // Ϣ (ƴ洢Ŀǰֵ֧ĸϢУȶͼ) - BYTE byRes[12]; //ֽ -}NET_DVR_DISK_QUOTA_CFG, *LPNET_DVR_DISK_QUOTA_CFG; - -typedef struct tagNET_DVR_DISK_QUOTA_V60 -{ - BYTE byQuotaType; // ,1 - 2-3-ʱ - BYTE byRes1[5]; // ֽ - WORD wStoragePeriod; //¼洢ڣλ죬ΪʱʱЧ - DWORD dwHCapacity; // Ĵ32λ λMB - DWORD dwLCapacity; // Ĵ32λ λMB - DWORD dwHUsedSpace; // ʹõĴ̴С32λ λMB - DWORD dwLUsedSpace; // ʹõĴ̴С32λ λMB - BYTE byQuotaRatio; // Ĵ̱,λ:% - BYTE byRes2[23]; // ֽ -}NET_DVR_DISK_QUOTA_V60, *LPNET_DVR_DISK_QUOTA_V60; - -typedef struct tagNET_DVR_DISK_QUOTA_CFG_V60 -{ - DWORD dwSize; // ṹС - NET_DVR_DISK_QUOTA_V60 struPicQuota; // ͼƬ - NET_DVR_DISK_QUOTA_V60 struRecordQuota; // ¼ - NET_DVR_DISK_QUOTA_V60 struAddInfoQuota; // Ϣ (ƴ洢Ŀǰֵ֧ĸϢУȶͼ) - NET_DVR_DISK_QUOTA_V60 struPubInfoFile; // Ϣļٷֱ - BYTE byRes[256]; //ֽֽ -}NET_DVR_DISK_QUOTA_CFG_V60, *LPNET_DVR_DISK_QUOTA_CFG_V60; - - -typedef struct tagNET_DVR_TIMING_CAPTURE -{ - NET_DVR_JPEGPARA struJpegPara; // ʱץͼͼƬ - DWORD dwPicInterval; // ʱץͼʱ,λs 1-1s 2-2s 3-3s 4-4s 5-5s - // 6-10m 7-30m 8-1h 9-12h 10-24h - BYTE byRes[12]; // ֽ -}NET_DVR_TIMING_CAPTURE, *LPNET_DVR_TIMING_CAPTURE; - -typedef struct tagNET_DVR_REL_CAPTURE_CHAN -{ - BYTE byChan[16]; // λʾ - BYTE byRes[20]; // ֽ -}NET_DVR_REL_CAPTURE_CHAN, *LPNET_DVR_REL_CAPTURE_CHAN; - -#define MAX_PIC_EVENT_NUM 32 -#define MAX_ALARMIN_CAPTURE 16 - -typedef struct tagNET_DVR_REL_CAPTURE_CHAN_V40 -{ - DWORD dwMaxRelCaptureChanNum; //ɴĹͨ-ֻ - DWORD dwChanNo[MAX_CHANNUM_V40]; //Ĺץͼͨţֵʾý,0xffffffffʾЧ - BYTE byRes[32]; -}NET_DVR_REL_CAPTURE_CHAN_V40, *LPNET_DVR_REL_CAPTURE_CHAN_V40; - -typedef struct tagNET_DVR_EVENT_CAPTURE_V40 -{ - NET_DVR_JPEGPARA struJpegPara; // ¼ץͼͼƬ - DWORD dwPicInterval; // ¼ץͼʱ λΪ - NET_DVR_REL_CAPTURE_CHAN_V40 struRelCaptureChan[MAX_PIC_EVENT_NUM]; // ± 0 ƶⴥץͼ 1 Ƶڵץͼ 2 Ƶʧץͼ,3ʾPIRץͼ4ʾ߱ץͼ5ʾȱץͼ,6ʾץͼ - NET_DVR_REL_CAPTURE_CHAN_V40 struAlarmInCapture[MAX_ALARMIN_CAPTURE]; // 봥ץͼ±0 1 - DWORD dwMaxGroupNum; //豸ֵ֧󱨾ÿ16 - BYTE byCapTimes; //ץͼ - BYTE byRes[59]; -}NET_DVR_EVENT_CAPTURE_V40, *LPNET_DVR_EVENT_CAPTURE_V40; - - -typedef struct tagNET_DVR_EVENT_CAPTURE -{ - NET_DVR_JPEGPARA struJpegPara; // ¼ץͼͼƬ - DWORD dwPicInterval; // ¼ץͼʱ λΪ 1-1s 2-2s 3-3s 4-4s 5-5s - // 6-10m 7-30m 8-1h 9-12h 10-24h - /* - ± 0 ƶⴥץͼ 1 Ƶڵץͼ2 Ƶʧץͼ,3ʾPIRץͼ - 4ʾ߱ץͼ5ʾȱץͼ,6ʾץͼ,7 ʾץͼ - 8 ʾ-Խץͼ9 ʾץͼ,10ʾץͼ, - 11-,12-뿪,13-ǻ,14-Աۼ,15-˶, - 16-ͣ,17-Ʒ,18-Ʒȡ⡣ - */ - NET_DVR_REL_CAPTURE_CHAN struRelCaptureChan[MAX_PIC_EVENT_NUM]; - NET_DVR_REL_CAPTURE_CHAN struAlarmInCapture[MAX_ALARMIN_CAPTURE]; // 봥ץͼ±0 1 - BYTE byCapTimes; //ץͼ - BYTE byRes[59]; -}NET_DVR_EVENT_CAPTURE, *LPNET_DVR_EVENT_CAPTURE; - -typedef struct tagNET_DVR_JPEG_CAPTURE_CFG_V40 -{ - DWORD dwSize; //ṹ峤 - NET_DVR_TIMING_CAPTURE struTimingCapture; - NET_DVR_EVENT_CAPTURE_V40 struEventCapture; - BYTE byStreamType;//ץͼ 0-1- - BYTE byRes3[19]; // ֽ -}NET_DVR_JPEG_CAPTURE_CFG_V40, *LPNET_DVR_JPEG_CAPTURE_CFG_V40; - -typedef struct tagNET_DVR_JPEG_CAPTURE_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_TIMING_CAPTURE struTimingCapture; - NET_DVR_EVENT_CAPTURE struEventCapture; - BYTE byStreamType;//ץͼ 0-1- - BYTE byRes3[19]; // ֽ -}NET_DVR_JPEG_CAPTURE_CFG, *LPNET_DVR_JPEG_CAPTURE_CFG; - -typedef struct tagNET_DVR_CAPTURE_DAY -{ - BYTE byAllDayCapture; // Ƿȫץͼ - BYTE byCaptureType; // ץͼͣ0-ʱץͼ1-ƶץͼ2-ץͼ3-ƶ򱨾ץͼ4-ƶͱץͼ6-ܱץͼ,7-ץͼ8-ȫ¼ ,39-߲ץͼ,40-41-,42ҵѯ 43-ŷʾ 44-Ҷȱ - BYTE byRes[2]; -}NET_DVR_CAPTURE_DAY, *LPNET_DVR_CAPTURE_DAY; - -typedef struct tagNET_DVR_CAPTURE_SCHED -{ - NET_DVR_SCHEDTIME struCaptureTime; // ץͼʱ - BYTE byCaptureType; // ץͼͣ0-ʱץͼ1-ƶץͼ2-ץͼ3-ƶ򱨾ץͼ4-ƶͱץͼ6-ܱץͼ,7-ץͼ8-ȫ¼ ,39-߲ץͼ ,40-41-,42ҵѯ 43-ŷʾ 44-Ҷȱ - BYTE byRes[3]; // ֽ -}NET_DVR_CAPTURE_SCHED, *LPNET_DVR_CAPTURE_SCHED; - -// ͨץͼƻ -typedef struct tagNET_DVR_SCHED_CAPTURECFG -{ - DWORD dwSize; // ṹ - BYTE byEnable; // Ƿץͼ - BYTE byRes1[3]; // ֽ - NET_DVR_CAPTURE_DAY struCaptureDay[MAX_DAYS]; // ȫץͼƻ - NET_DVR_CAPTURE_SCHED struCaptureSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; // ʱץͼƻ - NET_DVR_CAPTURE_DAY struCaptureHoliday; // ץͼƻ - NET_DVR_CAPTURE_SCHED struHolidaySched[MAX_TIMESEGMENT_V30]; // ʱμץͼƻ - DWORD dwRecorderDuration; // ץͼʱ 0xffffffffʾֵЧ - DWORD dwDelayTime; /* ץͼʱʱ 0- ʱ 1-3룬 2-4룬 3-5룬 4-10룬 5-30룬 6-60룬 7- 120룬8-300*/ - BYTE byRes[36]; // ֽ -}NET_DVR_SCHED_CAPTURECFG, *LPNET_DVR_SCHED_CAPTURECFG; - - -typedef struct tagNET_DVR_FLOW_TEST_PARAM -{ - DWORD dwSize; //ṹС - LONG lCardIndex; // - DWORD dwInterval; //豸ϴʱ, λ:100ms - BYTE byRes[8]; //ֽ -}NET_DVR_FLOW_TEST_PARAM, *LPNET_DVR_FLOW_TEST_PARAM; - -typedef struct tagNET_DVR_FLOW_INFO -{ - DWORD dwSize; //ṹС - DWORD dwSendFlowSize; //С,λkbps - DWORD dwRecvFlowSize; //С,λkbps - BYTE byRes[20]; // -}NET_DVR_FLOW_INFO, *LPNET_DVR_FLOW_INFO; - -// ¼ǩ -#define LABEL_NAME_LEN 40 -typedef struct tagNET_DVR_RECORD_LABEL -{ - DWORD dwSize; // ṹС - NET_DVR_TIME struTimeLabel; // ǩʱ - BYTE byQuickAdd; // Ƿ ʱǩЧ - BYTE byRes1[3]; // ֽ - BYTE sLabelName[LABEL_NAME_LEN]; // ǩ Ϊ40ֽ - BYTE byRes2[40]; // ֽ -}NET_DVR_RECORD_LABEL, *LPNET_DVR_RECORD_LABEL; - -#define LABEL_IDENTIFY_LEN 64 -typedef struct tagNET_DVR_LABEL_IDENTIFY -{ - BYTE sLabelIdentify[LABEL_IDENTIFY_LEN]; // 64ֽڱʶ - BYTE byRes[8]; // ֽ -}NET_DVR_LABEL_IDENTIFY, *LPNET_DVR_LABEL_IDENTIFY; - -#define MAX_DEL_LABEL_IDENTIFY 20// ɾǩʶ - -typedef struct tagNET_DVR_DEL_LABEL_PARAM -{ - DWORD dwSize; // ṹС - BYTE byMode; // λʾ,0x01ʾʶɾ - BYTE byRes1; - WORD wLabelNum; // ǩĿ - NET_DVR_LABEL_IDENTIFY struIndentify[MAX_DEL_LABEL_IDENTIFY]; // ǩʶ - BYTE byRes2[160]; //ֽ -}NET_DVR_DEL_LABEL_PARAM, *LPNET_DVR_DEL_LABEL_PARAM; - -typedef struct tagNET_DVR_MOD_LABEL_PARAM -{ - NET_DVR_LABEL_IDENTIFY struIndentify; //Ҫ޸ĵıǩʶ - BYTE byRes1[24]; - BYTE sLabelName[LABEL_NAME_LEN]; //޸ĺıǩ - BYTE byRes2[40]; -}NET_DVR_MOD_LABEL_PARAM, *LPNET_DVR_MOD_LABEL_PARAM; - -// ǩṹ -typedef struct tagNET_DVR_FIND_LABEL -{ - DWORD dwSize; // ṹС - LONG lChannel; // ҵͨ - NET_DVR_TIME struStartTime; // ʼʱ - NET_DVR_TIME struStopTime; // ʱ - BYTE sLabelName[LABEL_NAME_LEN]; // ¼ǩ ǩΪգֹʱбǩ - BYTE byDrawFrame; //0:֡1֡ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[34]; // ֽ -}NET_DVR_FIND_LABEL, *LPNET_DVR_FIND_LABEL; - -// ǩϢṹ -typedef struct tagNET_DVR_FINDLABEL_DATA -{ - BYTE sLabelName[LABEL_NAME_LEN]; // ǩ - NET_DVR_TIME struTimeLabel; // ǩʱ - NET_DVR_LABEL_IDENTIFY struLabelIdentify; // ǩʶ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[29]; // ֽ -}NET_DVR_FINDLABEL_DATA, *LPNET_DVR_FINDLABEL_DATA; - -#define CARDNUM_LEN_V30 40 -//ö -typedef enum _COUNTRY_INDEX_ -{ - COUNTRY_NONSUPPORT = 0, //0-㷨ⲻ֧ʶ - /* һ235Һ͵ */ - /*ŷ 48Һ͵ ·˹(Cyprus)ŷ޽*/ - COUNTRY_CZE = 1, //Czech Republic ݿ˹͹ - COUNTRY_FRA = 2, //France - COUNTRY_DEU = 3, //Germany ¹ - COUNTRY_ESP = 4, //Spain - COUNTRY_ITA = 5, //Italy - COUNTRY_NLD = 6, //Netherlands - COUNTRY_POL = 7, //Poland - COUNTRY_SVK = 8, //Slovakia ˹工 - COUNTRY_BLR = 9, //Belarus ׶˹ - COUNTRY_MDA = 10, //Moldova Ħ - COUNTRY_RUS = 11, //Russia ˹ - COUNTRY_UKR = 12, //Ukraine ڿ - COUNTRY_BEL = 13, //Belgium ʱ - COUNTRY_BGR = 14, //Bulgaria - COUNTRY_DNK = 15, //Denmark - COUNTRY_FIN = 16, //Finland - COUNTRY_GBR = 17, //United Kingdom Ӣ - COUNTRY_GRC = 18, //Greece ϣ - COUNTRY_HRV = 19, //Croatia ޵ - COUNTRY_HUN = 20, //Hungary - COUNTRY_ISR = 21, //Israel ɫ() - COUNTRY_LUX = 22, //Luxembourg ¬ɭ - COUNTRY_MKD = 23, //Macedonia ٹ͹ - COUNTRY_NOR = 24, //Norway Ų - COUNTRY_PRT = 25, //Portuga - COUNTRY_ROU = 26, //Romania - COUNTRY_SRB = 27, //Serbia ά - COUNTRY_AZE = 28, //Azerbaijan ͹() - COUNTRY_GEO = 29, //Georgia ³() - COUNTRY_KAZ = 30, //Kazakhstan ˹̹() - COUNTRY_LTU = 31, //Lithuania 𹲺͹ - COUNTRY_TKM = 32, //Turkmenistan ˹̹() - COUNTRY_UZB = 33, //Uzbekistan ȱ˹̹() - COUNTRY_LVA = 34, //Latvia ά - COUNTRY_EST = 35, //Estonia ɳ - COUNTRY_ALB = 36, //Albania - COUNTRY_AUT = 37, //Austria µ - COUNTRY_BIH = 38, //Bosnia and Herzegovina ˹Ǻͺά - COUNTRY_IRL = 39, //Ireland - COUNTRY_ISL = 40, //Iceland - COUNTRY_VAT = 41, //Vatican ٸ - COUNTRY_MLT = 42, //Malta - COUNTRY_SWE = 43, //Sweden - COUNTRY_CHE = 44, //Switzerland ʿ - COUNTRY_CYP = 45, //Cyprus ·˹ - COUNTRY_TUR = 46, //Turkey - COUNTRY_SVN = 47, //Slovenia ˹ - COUNTRY_MTG = 48, //Montenegro ɽ͹ - COUNTRY_KOV = 49, //Kosovo - COUNTRY_ADR = 50, //Andorra - COUNTRY_ARM = 51, //Armenia () - COUNTRY_MON = 52, //Monaco Ħɸ - COUNTRY_LIE = 53, //Liechtenstein ֧ʿ - COUNTRY_SMO = 54, //San Marino ʥŵ - COUNTRY_ORN = 55, //Aland () - COUNTRY_RES2 = 56, //ֶ - COUNTRY_RES3 = 57, //ֶ - COUNTRY_RES4 = 58, //ֶ - /* 48 ·˹(Cyprus)ŷ޽*/ - COUNTRY_CHI = 59, //China й - COUNTRY_IBN = 60, //In bahrain - COUNTRY_SKR = 61, //South Korea - COUNTRY_LEB = 62, //Lebanon - COUNTRY_NEP = 63, //Nepal Ჴ - COUNTRY_THA = 64, //Thailand ̩ - COUNTRY_PAK = 65, //Pakistan ͻ˹̹ - COUNTRY_EMI = 66, //The united Arab emirates - COUNTRY_BHU = 67, //Bhutan - COUNTRY_OMA = 68, //Oman - COUNTRY_KOR = 69, //North Korea - COUNTRY_PHI = 70, //The Philippines ɱ - COUNTRY_CAM = 71, //Cambodia կ - COUNTRY_QAT = 72, //Qatar - COUNTRY_KYR = 73, //Kyrgyzstan ˹˹̹ - COUNTRY_MAL = 74, //The maldives - COUNTRY_MLY = 75, //Malaysia - COUNTRY_MOG = 76, //Mongolia ɹ - COUNTRY_ARA = 77, //Saudi Arabia ɳذ - COUNTRY_BRU = 78, //brunei - COUNTRY_LAO = 79, //Laos - COUNTRY_JAP = 80, //Japan ձ - COUNTRY_RES19 = 81, //ֶ - COUNTRY_PAS = 82, //Palestinian state ˹̹ - COUNTRY_TAJ = 83, //Tajikistan ˹̹ - COUNTRY_KUW = 84, //Kuwait - COUNTRY_SYR = 85, //Syria - COUNTRY_IND = 86, //India ӡ - COUNTRY_ISA = 87, //Indonesia ӡ - COUNTRY_AFG = 88, //Afghanistan - COUNTRY_LAN = 89, //Sri Lanka ˹ - COUNTRY_IRQ = 90, //Iraq - COUNTRY_VIE = 91, //Vietnam Խ - COUNTRY_IRA = 92, //Iran - COUNTRY_YEM = 93, //yemen Ҳ - COUNTRY_JOR = 94, //Jordan Լ - COUNTRY_BUR = 95, //Burma - COUNTRY_SIK = 96, //Sikkim - COUNTRY_BAN = 97, //Bangladesh ϼ - COUNTRY_SGA = 98, //Singapore ¼ - COUNTRY_EAT = 99, //East timor 루Ҳϣ - COUNTRY_RES5 = 100, //ֶ - COUNTRY_RES6 = 101, //ֶ - COUNTRY_RES7 = 102, //ֶ - COUNTRY_RES8 = 103, //ֶ - /* 60Һ͵*/ - COUNTRY_EGT = 104, //Egypt - COUNTRY_LIY = 105, //Libya - COUNTRY_SUA = 106, //Sudan յ - COUNTRY_TUN = 107, //Tunisia ͻ˹ - COUNTRY_ALG = 108, //Algeria - COUNTRY_MCC = 109, //Morocco Ħ - COUNTRY_ETH = 110, //Ethiopia - COUNTRY_ERI = 111, //Eritrea - COUNTRY_SDE = 112, //Somalia Democratic - COUNTRY_DJI = 113, //Djibouti - COUNTRY_KEN = 114, //Kenya - COUNTRY_TAI = 115, //Tanzania ̹ɣ - COUNTRY_UGA = 116, //Uganda ڸɴ - COUNTRY_RWA = 117, //Rwanda ¬ - COUNTRY_BUD = 118, //Burundi ¡ - COUNTRY_SEY = 119, //Seychelles - COUNTRY_CHA = 120, //Chad է - COUNTRY_CEA = 121, //Central African з - COUNTRY_CON = 122, //Cameroon ¡ - COUNTRY_EQG = 123, //Equatorial Guinea - COUNTRY_GAB = 124, //Gabon - COUNTRY_TCO = 125, //the Congo չ͹չ - COUNTRY_DRC = 126, //Democratic Republic of the Congo չ͹չ𣩣 - COUNTRY_STP = 127, //Sao Tome and Principe ʥ - COUNTRY_MAN = 128, //Mauritania ë - COUNTRY_WSA = 129, //Western Sahara - COUNTRY_SEL = 130, //Senegal ڼӶ - COUNTRY_TGA = 131, //the Gambia Ա - COUNTRY_MAI = 132, //Mali - COUNTRY_BUF = 133, //Burkina Faso ɷ - COUNTRY_GUI = 134, //Guinea - COUNTRY_GUB = 135, //Guinea-Bissau DZ - COUNTRY_CAV = 136, //Cape Verde ý - COUNTRY_SLE = 137, //Sierra Leone - COUNTRY_LIR = 138, //Liberia - COUNTRY_IVC = 139, //Ivory Coast ص - COUNTRY_GHA = 140, //Ghana - COUNTRY_TGO = 141, //Togo - COUNTRY_BEN = 142, //Benin - COUNTRY_NIG = 143, //Niger ն - COUNTRY_ZAB = 144, //Zambia ޱ - COUNTRY_ANG = 145, //Angola - COUNTRY_ZBE = 146, //Zimbabwe ͲΤ - COUNTRY_MAW = 147, //Malawi ά - COUNTRY_MOQ = 148, //Mozambique Īɣȿ - COUNTRY_BOT = 149, //Botswana - COUNTRY_NAM = 150, //Namibia ױ - COUNTRY_SAF = 151, //South Africa Ϸ - COUNTRY_SWD = 152, //Swaziland ˹ʿ - COUNTRY_LES = 153, //Lesotho - COUNTRY_MAG = 154, //Madagasca ˹ - COUNTRY_UOC = 155, //Union of Comoros Ħ - COUNTRY_MAT = 156, //Mauritius ë˹ - COUNTRY_NGE = 157, //Nigeria - COUNTRY_SSD = 158, //South Sudan յ - COUNTRY_SAH = 159, //Saint Helena ʥãӢʡ - COUNTRY_MYT = 160, //Mayotte Լأʡ - COUNTRY_REN = 161, //Reunion ʡ - COUNTRY_CAI = 162, //Canary Islands Ⱥ - COUNTRY_AZO = 163, //AZORES ٶȺ - COUNTRY_MAD = 164, //Madeira Ⱥ - COUNTRY_RES9 = 165, //ֶ - COUNTRY_RES10 = 166, //ֶ - COUNTRY_RES11 = 167, //ֶ - COUNTRY_RES12 = 168, //ֶ - /* 55Һ͵*/ - COUNTRY_CAD = 169, //Canada ô - COUNTRY_GRE = 170, //Greenland Nuuk ĺ - COUNTRY_PIE = 171, //Pierre and Miquelon ʥƤܿ¡ - COUNTRY_USA = 172, //United States - COUNTRY_BER = 173, //Bermuda ĽӢ - COUNTRY_MEX = 174, //Mexico ī - COUNTRY_GUA = 175, //Guatemala Σ - COUNTRY_BLI = 176, //Belize - COUNTRY_SAR = 177, //El Salvador ߶ - COUNTRY_HOR = 178, //Honduras 鶼˹ - COUNTRY_NIC = 179, //Nicaragua - COUNTRY_COR = 180, //Costa Rica ˹ - COUNTRY_PAN = 181, //Panama - COUNTRY_TBM = 182, //The Bahamas ͹ - COUNTRY_TCI = 183, //The Turks and Caicos Islands ؿ˹ȺͿ˹ȺӢ - COUNTRY_CUB = 184, //Cuba Ű - COUNTRY_JAM = 185, //Jamaica - COUNTRY_CAY = 186, //Cayman Islands ȺӢ - COUNTRY_HAT = 187, //Haiti - COUNTRY_TDO = 188, //The Dominican - COUNTRY_PUR = 189, //Puerto Rico - COUNTRY_VIL = 190, //The United States Virgin IslandsάȺ - COUNTRY_BVI = 191, //The British Virgin Islands ӢάȺ - COUNTRY_ATV = 192, //Anguilla The Valley Ӣ - COUNTRY_ANB = 193, //Antigua and Barbuda ϺͰͲ - COUNTRY_CSM = 194, //Collectivit de Saint-Martin ʥ - COUNTRY_ACY = 195, //Autonomous country ʥι - COUNTRY_SBY = 196, //Saint-Barthlemy ʥ̩׵ - COUNTRY_SKN = 197, //Saint Kitts and Nevis ʥĺά˹ - COUNTRY_MOT = 198, //Montserrat أӢ - COUNTRY_GLP = 199, //Guadeloupe ϵգ - COUNTRY_DOM = 200, //Dominica - COUNTRY_MTE = 201, //Martinique ˣ - COUNTRY_LUC = 202, //St. Lucia ʥ¬ - COUNTRY_SVG = 203, //Saint Vincent and the Grenadines ʥɭغ͸ɶ˹ - COUNTRY_GRD = 204, //Grenada ɴ - COUNTRY_BAR = 205, //Barbados ͰͶ˹ - COUNTRY_TRT = 206, //Trinidad and Tobago Ͷ͸ - COUNTRY_CUR = 207, //Cura?ao һι - COUNTRY_ARB = 208, //Aruba ³ͣһι - COUNTRY_NEA = 209, //Netherlands Antilles ˹ - COUNTRY_COL = 210, //Colombia ױ - COUNTRY_VEN = 211, //Venezuela ί - COUNTRY_GUY = 212, //Guyana - COUNTRY_SUR = 213, //Suriname - COUNTRY_FRN = 214, //Guyane Francaise - COUNTRY_ECU = 215, //Ecuador ϶ - COUNTRY_PER = 216, //Peru ³ - COUNTRY_BOL = 217, //Bolivia ά - COUNTRY_PAR = 218, //Paraguay - COUNTRY_CLE = 219, //Chile - COUNTRY_BRA = 220, //Brazil - COUNTRY_UGY = 221, //Uruguay - COUNTRY_ARG = 222, //Argentina ͢ - COUNTRY_RES13 = 223, //ֶ - COUNTRY_RES14 = 224, //ֶ - COUNTRY_RES15 = 225, //ֶ - COUNTRY_RES16 = 226, //ֶ - /* 25Һ͵ */ - COUNTRY_ATN = 227, //Australien Ĵ - COUNTRY_NED = 228, //Neuseeland - COUNTRY_PNG = 229, //Papua New Guinea Ͳ¼ - COUNTRY_SAN = 230, //Salomonen Ⱥ - COUNTRY_VAU = 231, //Vanuatu Ŭͼ - COUNTRY_NCN = 232, //New Caledonia ¿ǣĺأ - COUNTRY_PAU = 233, //Palau - COUNTRY_FSM = 234, //Federated States of Micronesia ܿ - COUNTRY_MRI = 235, //Marshall Island ܶȺ - COUNTRY_CNM = 236, //Commonwealth of the Northern Mariana Islands Ⱥĺأ - COUNTRY_TEG = 237, //The Territory of Guahan صĺأ - COUNTRY_NUR = 238, //Nauru ³ - COUNTRY_KIB = 239, //Kiribati ˹ - COUNTRY_FID = 240, //Fidschi 쳼Ⱥ - COUNTRY_TNG = 241, //Tonga - COUNTRY_TUV = 242, //Tuvalu ͼ¬ - COUNTRY_WEF = 243, //Wallis et Futuna ˹͸ͼɣĺأ - COUNTRY_TIS = 244, //The Independent State of Samoa Ħ - COUNTRY_EAS = 245, //Eastern Samoa Ħ - COUNTRY_TOE = 246, //Tokelau пͣ - COUNTRY_NUE = 247, //Niue Ŧ - COUNTRY_TCD = 248, //The Cook Islands Ⱥ - COUNTRY_PFP = 249, //Polynsie fran?aiseFrench Polynesia - COUNTRY_PID = 250, //Pitcairn Islands ƤؿȺӢĺأ - COUNTRY_HAW = 251, //Hawaii State ģĺأ - COUNTRY_RES17 = 252, //ֶ - COUNTRY_INVALID = 0xfd, //ֶЧҪʹչֶCRIndex(_CR_INDEX_) - COUNTRY_UNRECOGNIZED = 0xfe, //Unrecognized ޷ʶ - COUNTRY_ALL = 0xff, //ALL ȫ -}COUNTRY_INDEX; - -// / ö -typedef enum _CR_INDEX_ -{ - CR_NONSUPPORT = 0, //0-㷨ⲻ֧ʶ - /* һ235Һ͵ */ - /*ŷ 48Һ͵ ·˹(Cyprus)ŷ޽*/ - CR_CZE = 1, //Czech Republic ݿ˹͹ - CR_FRA = 2, //France - CR_DEU = 3, //Germany ¹ - CR_ESP = 4, //Spain - CR_ITA = 5, //Italy - CR_NLD = 6, //Netherlands - CR_POL = 7, //Poland - CR_SVK = 8, //Slovakia ˹工 - CR_BLR = 9, //Belarus ׶˹ - CR_MDA = 10, //Moldova Ħ - CR_RUS = 11, //Russia ˹ - CR_UKR = 12, //Ukraine ڿ - CR_BEL = 13, //Belgium ʱ - CR_BGR = 14, //Bulgaria - CR_DNK = 15, //Denmark - CR_FIN = 16, //Finland - CR_GBR = 17, //United Kingdom Ӣ - CR_GRC = 18, //Greece ϣ - CR_HRV = 19, //Croatia ޵ - CR_HUN = 20, //Hungary - CR_ISR = 21, //Israel ɫ() - CR_LUX = 22, //Luxembourg ¬ɭ - CR_MKD = 23, //Macedonia ٹ͹ - CR_NOR = 24, //Norway Ų - CR_PRT = 25, //Portuga - CR_ROU = 26, //Romania - CR_SRB = 27, //Serbia ά - CR_AZE = 28, //Azerbaijan ͹() - CR_GEO = 29, //Georgia ³() - CR_KAZ = 30, //Kazakhstan ˹̹() - CR_LTU = 31, //Lithuania 𹲺͹ - CR_TKM = 32, //Turkmenistan ˹̹() - CR_UZB = 33, //Uzbekistan ȱ˹̹() - CR_LVA = 34, //Latvia ά - CR_EST = 35, //Estonia ɳ - CR_ALB = 36, //Albania - CR_AUT = 37, //Austria µ - CR_BIH = 38, //Bosnia and Herzegovina ˹Ǻͺά - CR_IRL = 39, //Ireland - CR_ISL = 40, //Iceland - CR_VAT = 41, //Vatican ٸ - CR_MLT = 42, //Malta - CR_SWE = 43, //Sweden - CR_CHE = 44, //Switzerland ʿ - CR_CYP = 45, //Cyprus ·˹ - CR_TUR = 46, //Turkey - CR_SVN = 47, //Slovenia ˹ - CR_MTG = 48, //Montenegro ɽ͹ - CR_KOV = 49, //Kosovo - CR_ADR = 50, //Andorra - CR_ARM = 51, //Armenia () - CR_MON = 52, //Monaco Ħɸ - CR_LIE = 53, //Liechtenstein ֧ʿ - CR_SMO = 54, //San Marino ʥŵ - CR_ORN = 55, //Aland () - CR_RES2 = 56, //ֶ - CR_RES3 = 57, //ֶ - CR_RES4 = 58, //ֶ - /* 48 ·˹(Cyprus)ŷ޽*/ - CR_CHI = 59, //China й - CR_IBN = 60, //In bahrain - CR_SKR = 61, //South Korea - CR_LEB = 62, //Lebanon - CR_NEP = 63, //Nepal Ჴ - CR_THA = 64, //Thailand ̩ - CR_PAK = 65, //Pakistan ͻ˹̹ - CR_EMI = 66, //The united Arab emirates - CR_BHU = 67, //Bhutan - CR_OMA = 68, //Oman - CR_KOR = 69, //North Korea - CR_PHI = 70, //The Philippines ɱ - CR_CAM = 71, //Cambodia կ - CR_QAT = 72, //Qatar - CR_KYR = 73, //Kyrgyzstan ˹˹̹ - CR_MAL = 74, //The maldives - CR_MLY = 75, //Malaysia - CR_MOG = 76, //Mongolia ɹ - CR_ARA = 77, //Saudi Arabia ɳذ - CR_BRU = 78, //brunei - CR_LAO = 79, //Laos - CR_JAP = 80, //Japan ձ - CR_RES19 = 81, //ֶ - CR_PAS = 82, //Palestinian state ˹̹ - CR_TAJ = 83, //Tajikistan ˹̹ - CR_KUW = 84, //Kuwait - CR_SYR = 85, //Syria - CR_IND = 86, //India ӡ - CR_ISA = 87, //Indonesia ӡ - CR_AFG = 88, //Afghanistan - CR_LAN = 89, //Sri Lanka ˹ - CR_IRQ = 90, //Iraq - CR_VIE = 91, //Vietnam Խ - CR_IRA = 92, //Iran - CR_YEM = 93, //yemen Ҳ - CR_JOR = 94, //Jordan Լ - CR_BUR = 95, //Burma - CR_SIK = 96, //Sikkim - CR_BAN = 97, //Bangladesh ϼ - CR_SGA = 98, //Singapore ¼ - CR_EAT = 99, //East timor 루Ҳϣ - CR_RES5 = 100, //ֶ - CR_RES6 = 101, //ֶ - CR_RES7 = 102, //ֶ - CR_RES8 = 103, //ֶ - /* 60Һ͵*/ - CR_EGT = 104, //Egypt - CR_LIY = 105, //Libya - CR_SUA = 106, //Sudan յ - CR_TUN = 107, //Tunisia ͻ˹ - CR_ALG = 108, //Algeria - CR_MCC = 109, //Morocco Ħ - CR_ETH = 110, //Ethiopia - CR_ERI = 111, //Eritrea - CR_SDE = 112, //Somalia Democratic - CR_DJI = 113, //Djibouti - CR_KEN = 114, //Kenya - CR_TAI = 115, //Tanzania ̹ɣ - CR_UGA = 116, //Uganda ڸɴ - CR_RWA = 117, //Rwanda ¬ - CR_BUD = 118, //Burundi ¡ - CR_SEY = 119, //Seychelles - CR_CHA = 120, //Chad է - CR_CEA = 121, //Central African з - CR_CON = 122, //Cameroon ¡ - CR_EQG = 123, //Equatorial Guinea - CR_GAB = 124, //Gabon - CR_TCO = 125, //the Congo չ͹չ - CR_DRC = 126, //Democratic Republic of the Congo չ͹չ𣩣 - CR_STP = 127, //Sao Tome and Principe ʥ - CR_MAN = 128, //Mauritania ë - CR_WSA = 129, //Western Sahara - CR_SEL = 130, //Senegal ڼӶ - CR_TGA = 131, //the Gambia Ա - CR_MAI = 132, //Mali - CR_BUF = 133, //Burkina Faso ɷ - CR_GUI = 134, //Guinea - CR_GUB = 135, //Guinea-Bissau DZ - CR_CAV = 136, //Cape Verde ý - CR_SLE = 137, //Sierra Leone - CR_LIR = 138, //Liberia - CR_IVC = 139, //Ivory Coast ص - CR_GHA = 140, //Ghana - CR_TGO = 141, //Togo - CR_BEN = 142, //Benin - CR_NIG = 143, //Niger ն - CR_ZAB = 144, //Zambia ޱ - CR_ANG = 145, //Angola - CR_ZBE = 146, //Zimbabwe ͲΤ - CR_MAW = 147, //Malawi ά - CR_MOQ = 148, //Mozambique Īɣȿ - CR_BOT = 149, //Botswana - CR_NAM = 150, //Namibia ױ - CR_SAF = 151, //South Africa Ϸ - CR_SWD = 152, //Swaziland ˹ʿ - CR_LES = 153, //Lesotho - CR_MAG = 154, //Madagasca ˹ - CR_UOC = 155, //Union of Comoros Ħ - CR_MAT = 156, //Mauritius ë˹ - CR_NGE = 157, //Nigeria - CR_SSD = 158, //South Sudan յ - CR_SAH = 159, //Saint Helena ʥãӢʡ - CR_MYT = 160, //Mayotte Լأʡ - CR_REN = 161, //Reunion ʡ - CR_CAI = 162, //Canary Islands Ⱥ - CR_AZO = 163, //AZORES ٶȺ - CR_MAD = 164, //Madeira Ⱥ - CR_RES9 = 165, //ֶ - CR_RES10 = 166, //ֶ - CR_RES11 = 167, //ֶ - CR_RES12 = 168, //ֶ - /* 55Һ͵*/ - CR_CAD = 169, //Canada ô - CR_GRE = 170, //Greenland Nuuk ĺ - CR_PIE = 171, //Pierre and Miquelon ʥƤܿ¡ - CR_USA = 172, //United States - CR_BER = 173, //Bermuda ĽӢ - CR_MEX = 174, //Mexico ī - CR_GUA = 175, //Guatemala Σ - CR_BLI = 176, //Belize - CR_SAR = 177, //El Salvador ߶ - CR_HOR = 178, //Honduras 鶼˹ - CR_NIC = 179, //Nicaragua - CR_COR = 180, //Costa Rica ˹ - CR_PAN = 181, //Panama - CR_TBM = 182, //The Bahamas ͹ - CR_TCI = 183, //The Turks and Caicos Islands ؿ˹ȺͿ˹ȺӢ - CR_CUB = 184, //Cuba Ű - CR_JAM = 185, //Jamaica - CR_CAY = 186, //Cayman Islands ȺӢ - CR_HAT = 187, //Haiti - CR_TDO = 188, //The Dominican - CR_PUR = 189, //Puerto Rico - CR_VIL = 190, //The United States Virgin IslandsάȺ - CR_BVI = 191, //The British Virgin Islands ӢάȺ - CR_ATV = 192, //Anguilla The Valley Ӣ - CR_ANB = 193, //Antigua and Barbuda ϺͰͲ - CR_CSM = 194, //Collectivit de Saint-Martin ʥ - CR_ACY = 195, //Autonomous country ʥι - CR_SBY = 196, //Saint-Barthlemy ʥ̩׵ - CR_SKN = 197, //Saint Kitts and Nevis ʥĺά˹ - CR_MOT = 198, //Montserrat أӢ - CR_GLP = 199, //Guadeloupe ϵգ - CR_DOM = 200, //Dominica - CR_MTE = 201, //Martinique ˣ - CR_LUC = 202, //St. Lucia ʥ¬ - CR_SVG = 203, //Saint Vincent and the Grenadines ʥɭغ͸ɶ˹ - CR_GRD = 204, //Grenada ɴ - CR_BAR = 205, //Barbados ͰͶ˹ - CR_TRT = 206, //Trinidad and Tobago Ͷ͸ - CR_CUR = 207, //Cura?ao һι - CR_ARB = 208, //Aruba ³ͣһι - CR_NEA = 209, //Netherlands Antilles ˹ - CR_COL = 210, //Colombia ױ - CR_VEN = 211, //Venezuela ί - CR_GUY = 212, //Guyana - CR_SUR = 213, //Suriname - CR_FRN = 214, //Guyane Francaise - CR_ECU = 215, //Ecuador ϶ - CR_PER = 216, //Peru ³ - CR_BOL = 217, //Bolivia ά - CR_PAR = 218, //Paraguay - CR_CLE = 219, //Chile - CR_BRA = 220, //Brazil - CR_UGY = 221, //Uruguay - CR_ARG = 222, //Argentina ͢ - CR_RES13 = 223, //ֶ - CR_RES14 = 224, //ֶ - CR_RES15 = 225, //ֶ - CR_RES16 = 226, //ֶ - /* 25Һ͵ */ - CR_ATN = 227, //Australien Ĵ - CR_NED = 228, //Neuseeland - CR_PNG = 229, //Papua New Guinea Ͳ¼ - CR_SAN = 230, //Salomonen Ⱥ - CR_VAU = 231, //Vanuatu Ŭͼ - CR_NCN = 232, //New Caledonia ¿ǣĺأ - CR_PAU = 233, //Palau - CR_FSM = 234, //Federated States of Micronesia ܿ - CR_MRI = 235, //Marshall Island ܶȺ - CR_CNM = 236, //Commonwealth of the Northern Mariana Islands Ⱥĺأ - CR_TEG = 237, //The Territory of Guahan صĺأ - CR_NUR = 238, //Nauru ³ - CR_KIB = 239, //Kiribati ˹ - CR_FID = 240, //Fidschi 쳼Ⱥ - CR_TNG = 241, //Tonga - CR_TUV = 242, //Tuvalu ͼ¬ - CR_WEF = 243, //Wallis et Futuna ˹͸ͼɣĺأ - CR_TIS = 244, //The Independent State of Samoa Ħ - CR_EAS = 245, //Eastern Samoa Ħ - CR_TOE = 246, //Tokelau пͣ - CR_NUE = 247, //Niue Ŧ - CR_TCD = 248, //The Cook Islands Ⱥ - CR_PFP = 249, //Polynsie fran?aiseFrench Polynesia - CR_PID = 250, //Pitcairn Islands ƤؿȺӢĺأ - CR_HAW = 251, //Hawaii State ģĺأ - CR_RES17 = 252, //ֶ - CR_RES18 = 253, //ֶ - CR_UNRECOGNIZED = 0xfe, //Unrecognized ޷ʶ - CR_ALL = 0xff, //ALL ȫ - - // - CR_TAIWAN = 256, //Taiwan(China) ̨壨й -}CR_INDEX; - -//ö -typedef enum _EMI_AREA_ -{ - EMI_AREA_UNKNOWN = 0, //֧ʶ - EMI_AREA_AD, // - EMI_AREA_FJR, // - EMI_AREA_DB, //ϰ - EMI_AREA_RAK, // - EMI_AREA_AM, // - EMI_AREA_SJ, //ɳ - EMI_AREA_UMW, //ķ - EMI_AREA_OTHER = 0xff, //δʶ𣨵豸ָ֧㷨ڻԭδʶ -} EMI_AREA; - -typedef struct tagNET_DVR_FIND_PICTURE_PARAM -{ - DWORD dwSize; // ṹС - LONG lChannel; // ͨ - /* ҵͼƬ:0ʱץͼ1 ƶץͼ 2 ץͼ - 3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ , - 9-ͼƬ,10- PIR11- ߱12- ȱ, - 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬ - 0x10 , 0x11-豸ػطʱͼ, 0x12-, - 0x13-,0x14-뿪,0x15-ǻ, - 0x16-Աۼ,0x17-˶,0x18-ͣ, - 0x19-Ʒ,0x1a-Ʒȡ, 0x1b-, - 0x1c-м,0x1d-ȡ֤¼,0x1e-,0x1f-ƻ, - 0x20-ֻ⣬0x21-Ԥ0x22-±, 0x23, - 0x24Υͣ,0x25-ץ,0x26-߲±,0x2a-, - 0x2b-ʸ,0x2c-޳ʱ,0x2d-ȫñ,0x2e-ܽץ, - 0x2f-Ŀץ,0x30-ץĽģ, 0x31-Ŀ, - 0x32-, 0x33-, 0x34-ҵѯ,0x35-Ƿ̯, - 0x36-ԱܶȣԤ,0x37-ڼ,0x38-쳣, - 0x39-˶, 0x3a-Υͣ, 0x3b-,0x3c-ѹ,0x3d-ռ,0x3e-,0x3f-ͷ,0x40-˼,0x41-·, - 0x42-,0x43-Ũ,0x44-ʩ,0x45-ӵ,0x46-ͨ¹ʼ, 0x47-෽ͣ0x48-ֶ, - 0x49-ֻ,0x4b-˾ʻΪ,0x4c-߼ʻ,0x4d-ɳⱨ, - 0x52-ŶӼ,0x53-ŶӼʱ,0x54-(ֶճԼƽ̨), 0x55-ʱץ, 0x56-ŷʾ, - 0x57-Ҷȱ, 0x58-,0x59-Ա,0x5a-Ա,0x5b-쳣,0x5c-Ա,0x5d-̼,0x5e-,0x5f-, - 0x60-ռӦ,0x61-ռ,0x62-ֹ,0x63-ռרó,0x64-,0x65-ReID,0x66-ͨʱץͼ¼, - 0x67-AIƽ̨¼,0x68-Ũ쳣,0x69-ǿ쳣,0x70-ͨʱץͼ,0x71-¼,0x72-ϹӼ, - 0x73-豸Դ״̬ϱ,0xff- ȫ*/ - BYTE byFileType; - BYTE byNeedCard; // ǷҪ - /* - 0-1-ģ2-3-壬4-5-ʣ6-7- - 8-9-10-11-ԥ12-ڣ13-14-棬 - 15-16-գ17-ӣ18-ɣ19-ɣ20-21-࣬ - 22-³23-24-£25-26-27-̨28- - 29-أ30-ۣ31-£32-ƣ33-㣬34-0xff-ȫ - */ - BYTE byProvince; //ʡֵ - BYTE byEventType; // ¼ͣ01-ͨ¼2-Υȡ֤3-¼ - BYTE sCardNum[CARDNUM_LEN_V30]; // - NET_DVR_TIME struStartTime;//ͼƬĿʼʱ - NET_DVR_TIME struStopTime;// ͼƬĽʱ - //ITC3.7 - DWORD dwTrafficType; //ͼƬЧ ο VCA_OPERATE _TYPE - DWORD dwVehicleType; // ο VCA_VEHICLE_TYPE - //ΥͲο VCA_ILLEGAL_TYPE ǰָ֧ѡ - DWORD dwIllegalType; - BYTE byLaneNo; //(1~99) - BYTE bySubHvtType ;//0-,1-(ֳ֧Ƽʡݼ),2-ǻ,3- - BYTE bySubDriveType; //ʻ - //byFileTypeΪ0x4b-˾ʻΪʱΪ˾ʻΪͣ嶨壺0-1-̡2-Ӵ绰3-ƣͼʻ4-ѡ5-ʻԱ쳣6-δϵȫ7-ī8-˫뷽̡9-뷽̡10-ʻԱ쳣11-ʱʻ12-ʻԱ - //byFileTypeΪ0x4c-߼ʻʱΪ߼ʻͣ嶨壺0-1-ǰײ2-ƫ()3-ƫ()4-5-˷ײ6-ä(Һ)7-ä()8-ä() - BYTE byRes2;//ֽ - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byRegion; // ֵ 0-1-ŷ(Europe Region)2-(Russian Region)3-ŷ&˹(EU&CIS), 4-ж(Middle East),0xff- - BYTE byCountry; // ֵգCOUNTRY_INDEX - BYTE byArea; // - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ -}NET_DVR_FIND_PICTURE_PARAM, *LPNET_DVR_FIND_PICTURE_PARAM; - -//PC NVRļ -typedef struct tagNET_DVR_FIND_FILE_PCNVR -{ - DWORD dwSize; //ṹС - NET_DVR_IPADDR struIpAddr; //IPַ - WORD wIpPort; //˿ں - BYTE byRes[2]; //ֽ - char sDomainName[MAX_DOMAIN_NAME]; //(ʱû) - char sSerial[SERIALNO_LEN]; //к - - DWORD lChannel; //ͨ - DWORD dwFileType; //¼ļ0xffȫ0ʱ¼,1-ƶ 2 - //3-|ƶ 4-&ƶ 5- 6-ֶ¼ - DWORD dwIsLocked; //Ƿ 0-ļ,1-ļ, 0xffʾļ - DWORD dwUseCardNo; //Ƿʹÿ - BYTE sCardNumber[CARDNUM_LEN_V30]; // - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struStopTime; //ʱ -}NET_DVR_FILE_COND_PCNVR, *LPNET_DVR_FILE_COND_PCNVR; - -//PCNVR¼ļ -typedef struct tagNET_DVR_FINDDATA_PCNVR -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[CARDNUM_LEN_V30]; - BYTE byLocked;//9000豸֧,1ʾļѾ,0ʾļ - BYTE byFileType; //ļ - BYTE byRes[2]; -}NET_DVR_FINDDATA_PCNVR, *LPNET_DVR_FINDDATA_PCNVR; - -#define PICTURE_NAME_LEN 64 -#define PICTURE_INFO_MAX_SIZE 640*960*1.5 - -typedef struct -{ - char sFileName[PICTURE_NAME_LEN];//ͼƬ - NET_DVR_TIME struTime;//ͼƬʱ - DWORD dwFileSize;//ͼƬĴС - char sCardNum[CARDNUM_LEN_V30]; // - BYTE byPlateColor ;//οṹ VCA_PLATE_COLOR - BYTE byVehicleLogo;//οṹ VLR_VEHICLE_CLASS - BYTE byEventSearchStatus; //ͼƬʾͬһҽʱ0-ʾûͼƬϢ1-ʾ滹ͼƬϢܹͼƬϢһ״̬Ϊ0ͼƬ - BYTE byRecogResult ;//ʶοṹVTR_RESULT - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byRes[12]; -}NET_DVR_FIND_PICTURE,*LPNET_DVR_FIND_PICTURE; - -#define MAX_RECORD_PICTURE_NUM 50 // 󱸷ͼƬ - -typedef struct tagNET_DVR_BACKUP_PICTURE_PARAM -{ - DWORD dwSize; // ṹС - DWORD dwPicNum; - NET_DVR_FIND_PICTURE struPicture[MAX_RECORD_PICTURE_NUM]; - BYTE byDiskDes[DESC_LEN_32]; - BYTE byWithPlayer; - BYTE byContinue; /*Ƿ 0 1*/ - BYTE byRes[34]; -}NET_DVR_BACKUP_PICTURE_PARAM, *LPNET_DVR_BACKUP_PICTURE_PARAM; - -typedef struct -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byCompressType; //ȡѹ1,2,3,¼ - BYTE byRes[15]; // - NET_DVR_COMPRESSIONCFG_V30 struCurrentCfg; //ǰѹ -}NET_DVR_COMPRESSION_LIMIT, *LPNET_DVR_COMPRESSION_LIMIT; - -#define STEP_READY 0 //׼ -#define STEP_RECV_DATA 1 // -#define STEP_UPGRADE 2 //ϵͳ -#define STEP_BACKUP 3 //ϵͳ -#define STEP_SEARCH 255 //ļ - -typedef struct tagNET_DVR_VIDEO_EFFECT -{ - DWORD dwBrightValue; //[0,255] - DWORD dwContrastValue; //Աȶ[0,255] - DWORD dwSaturationValue; //Ͷ[0,255] - DWORD dwHueValue; //ɫ[0,255] - DWORD dwSharpness; //[0,255] - DWORD dwDenoising; //ȥ[0,255] - BYTE byRes[12]; -}NET_DVR_VIDEO_EFFECT, *LPNET_DVR_VIDEO_EFFECT; - -typedef struct tagNET_DVR_VIDEO_INPUT_EFFECT -{ - DWORD dwSize; //ṹС - WORD wEffectMode; //ģʽ 0-׼ 1- 2- 3- 255-Զ - BYTE byRes1[146]; // - NET_DVR_VIDEO_EFFECT struVideoEffect; //ƵЧ - BYTE byRes2[60]; // -}NET_DVR_VIDEO_INPUT_EFFECT, *LPNET_DVR_VIDEO_INPUT_EFFECT; - - -typedef struct tagNET_DVR_VIDEOPARA_V40 -{ - DWORD dwChannel; // ͨ - DWORD dwVideoParamType; // Ƶ 0- 1-Աȶ 2-Ͷ 3-ɫ 4- 5-ȥ - DWORD dwVideoParamValue; //ӦƵֵΧ - BYTE byRes[12]; -}NET_DVR_VIDEOPARA_V40, *LPNET_DVR_VIDEOPARA_V40; - -typedef struct tagNET_DVR_DEFAULT_VIDEO_COND -{ - DWORD dwSize; // ṹС - DWORD dwChannel; // ͨ - DWORD dwVideoMode; // ģʽ - BYTE byRes[32]; // -}NET_DVR_DEFAULT_VIDEO_COND, *LPNET_DVR_DEFAULT_VIDEO_COND; - -typedef struct tagNET_DVR_ENCODE_JOINT_PARAM -{ - DWORD dwSize; // ṹС - BYTE byJointed; // 0 ûй 1 Ѿ - BYTE byDevType; // 豸 1 豸 - BYTE byRes1[2]; // ֽ - NET_DVR_IPADDR struIP; // ıȡ豸IPַ - WORD wPort; // ıȡ豸˿ں - WORD wChannel; // ıȡ豸ͨ - BYTE byRes2[20]; // ֽ -}NET_DVR_ENCODE_JOINT_PARAM, *LPNET_DVR_ENCODE_JOINT_PARAM; - -typedef struct tagNET_DVR_VCA_CHAN_WORKSTATUS -{ - BYTE byJointed; // 0-ûй 1-Ѿ - BYTE byRes1[3]; - NET_DVR_IPADDR struIP; // ȡ豸IPַ - WORD wPort; // ȡ豸˿ں - WORD wChannel; // ȡ豸ͨ - BYTE byVcaChanStatus; // 0 - δ 1 - - BYTE byRes2[19]; // ֽ -}NET_DVR_VCA_CHAN_WORKSTATUS, *LPNET_DVR_VCA_CHAN_WORKSTATUS; - -typedef struct tagNET_DVR_VCA_DEV_WORKSTATUS -{ - DWORD dwSize; // ṹС - BYTE byDeviceStatus; // 豸״̬0 - 1- - BYTE byCpuLoad; // CPUʹ0-100 ֱʹðٷ - NET_DVR_VCA_CHAN_WORKSTATUS struVcaChanStatus[MAX_VCA_CHAN]; - DWORD dwRes[40]; // ֽ -}NET_DVR_VCA_DEV_WORKSTATUS, *LPNET_DVR_VCA_DEV_WORKSTATUS; - -typedef struct tagNET_DVR_VGA_DISP_CHAN_CFG_V40 -{ - DWORD dwSize; - BYTE byAudio; /*ƵǷ*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byVgaResolution; /*ֱʣȡ*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - DWORD dwWindowMode; /*ģʽȡ*/ - BYTE byJoinDecChan[MAX_WINDOWS];/*ӴڹĽͨ*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - BYTE byScale; /*ʾģʽ0---ʵʾ1---ʾ( BNC )*/ - /*ֹ壬0-Ƶۺƽ̨ڲʾͨã1-ʾͨ*/ - BYTE byUnionType; - union - { - BYTE byRes[160]; - struct - { - /*ӴڶӦͨӦĽϵͳIJλ(Ƶۺƽ̨нϵͳЧ)*/ - BYTE byJoinDecoderId[MAX_WINDOWS]; - //ʾƵֱʣ1-D1,2-720P,3-1080P豸Ҫݴ//ֱʽнͨķ䣬1ó1080P豸4ͨ - //˽ͨ - BYTE byDecResolution; - BYTE byRes[143]; - }struVideoPlatform; - struct - { - BYTE byRes[160]; - }struNotVideoPlatform; - }struDiff; - BYTE byRes[120]; -}NET_DVR_VGA_DISP_CHAN_CFG_V40,*LPNET_DVR_VGA_DISP_CHAN_CFG_V40; - -typedef struct tagNET_DVR_V6SUBSYSTEMPARAM -{ - BYTE bySerialTrans;//Ƿ͸0-1- - BYTE byRes[35]; -}NET_DVR_V6SUBSYSTEMPARAM, *LPNET_DVR_V6SUBSYSTEMPARAM; - - - - -typedef struct tagNET_DVR_CORRECT_DEADPIXEL_PARAM -{ - DWORD dwSize; - DWORD dwCommand; //0-뻵ģʽ1-ӻ㣬2-滵㣬3-˳ - DWORD dwDeadPixelX; //X - DWORD dwDeadPixelY; //Y - BYTE byRes[12]; // -}NET_DVR_CORRECT_DEADPIXEL_PARAM, *LPNET_DVR_CORRECT_DEADPIXEL_PARAM; - -#define MAX_REDAREA_NUM 6 //̵ - -typedef struct tagNET_DVR_CORRECT_PARAMS -{ - BYTE byYellowIntervalTime;//ƵƵļʱ䣬λ루s - BYTE byDigTrafficLight;//ǷǽֻͨƵƣ0-ǣ1- - BYTE byRes[2]; -}NET_DVR_CORRECT_PARAMS,*LPNET_DVR_CORRECT_PARAMS; - -typedef struct tagNET_DVR_REDAREACFG -{ - DWORD dwSize; - DWORD dwCorrectEnable; //ǷУܣ0-رգ1- - DWORD dwCorrectLevel; //У1(У)-10(У),ĬΪ5 - DWORD dwAreaNum; //У - NET_VCA_RECT struLaneRect[MAX_REDAREA_NUM]; //У - NET_DVR_CORRECT_PARAMS struCorrectParam[MAX_REDAREA_NUM/*6*/]; //УԺУӦ - BYTE byRes2[8]; // -}NET_DVR_REDAREACFG, *LPNET_DVR_REDAREACFG; - -typedef struct tagNET_DVR_HISTORICDATACFG -{ - DWORD dwSize; - DWORD dwTotalNum; //ʷݸ - BYTE byRes[16]; -}NET_DVR_HISTORICDATACFG, *LPNET_DVR_HISTORICDATACFG; - - -#define INQUEST_MESSAGE_LEN 44 //ѶصϢ -#define INQUEST_MAX_ROOM_NUM 2 //ѶҸ -#define MAX_RESUME_SEGMENT 2 //֧ͬʱָƬĿ - -typedef struct tagNET_DVR_INQUEST_ROOM -{ - BYTE byRoomIndex; //Ѷұ - BYTE byFileType; //0-Ѷļ1-ͥϴļ - BYTE byMode; /* 0 ʹг; 0modeֵ 1-Ӱ 2-л1 3-л2 4-˫ 5-1 6-2 7-Ļ1 8-Ļ2 */ - BYTE byQuick; /* ǷΪã 1-ãòflash0-ãòFlash mode 0 Ч*/ - BYTE byRes[20]; // -}NET_DVR_INQUEST_ROOM, *LPNET_DVR_INQUEST_ROOM; - -typedef struct tagNET_DVR_INQUEST_MESSAGE -{ - char sMessage[INQUEST_MESSAGE_LEN]; //صϢ - BYTE byRes[46]; // -}NET_DVR_INQUEST_MESSAGE, *LPNET_DVR_INQUEST_MESSAGE; - -typedef struct tagNET_DVR_INQUEST_SENSOR_DEVICE -{ - WORD wDeviceType; //ݲɼ豸ͺ:0- 1- 2-ز 3- 4- 5-ء6-ϡ7-ά˹ - WORD wDeviceAddr; //ݲɼ豸ַ - BYTE byRes[28]; // -}NET_DVR_INQUEST_SENSOR_DEVICE, *LPNET_DVR_INQUEST_SENSOR_DEVICE; - -typedef struct tagNET_DVR_INQUEST_SENSOR_INFO -{ - NET_DVR_INQUEST_SENSOR_DEVICE struSensorDevice[INQUEST_MAX_ROOM_NUM]; - DWORD dwSupportPro; //֧Э,λʾ, °汾չֶ - //0x1: 0x2:ز 0x4: - BYTE byRes[120]; // -}NET_DVR_INQUEST_SENSOR_INFO, *LPNET_DVR_INQUEST_SENSOR_INFO; - -typedef struct tagNET_DVR_INQUEST_ROOM_INFO -{ - char szCDName[NAME_LEN]; //ƣ˫̹һ - union - { - BYTE byBitRate; // byCalcTypeΪ0ʱЧ(0-321-482-643-804-965-128 - //6-1607-1928-2249-25610-32011-38412-448 - //13-51214-64015-76816-896ǰ16ֵ)17-102418-128019-1536 - //20-179221-204822-307223-409624-8192 - BYTE byInquestTime; // byCalcTypeΪ1ʱЧ0-1Сʱ, 1-2Сʱ,2-3Сʱ,3-4Сʱ, 4-6Сʱ,5-8Сʱ,6-10Сʱ,7-12Сʱ - //8-16Сʱ, 9-20Сʱ,10-22Сʱ,11-24Сʱ - }uCalcMode; - BYTE byCalcType; //¼0- 1-ʱ - BYTE byAutoDelRecord; // ǷԶɾ¼0-ɾʱ¼ 1-ɾ - BYTE byAlarmThreshold; // ֵ - BYTE byInquestChannelResolution; //Ѷֱͨʣ0:720P,1:1080P,2:CIF,3:4CIF,4:WD1,5-VGA - BYTE byAutoOpenTray; //ǷԶ 0-1- - BYTE byCDPrintEnabled; //ָɺǷʹ̷ܹӡ 0- 1- - BYTE byRes[9]; -}NET_DVR_INQUEST_ROOM_INFO, *LPNET_DVR_INQUEST_ROOM_INFO; - -typedef struct tagNET_DVR_INQUEST_SYSTEM_INFO -{ - DWORD dwRecordMode; //¼ģʽ:1 ˫ģʽ 2 ֿģʽ 3 ˫˫ģʽ޸Ҫ豸 - DWORD dwWorkMode; //ģʽ:0 ׼ģʽ 1 ͨģʽ(Ŀǰֻб׼ģʽ) - DWORD dwResolutionMode; //豸ֱʣ0: 1:D1 2:720P 3:1080PѶôֶΣ - NET_DVR_INQUEST_SENSOR_INFO struSensorInfo; //ʪȴ - NET_DVR_INQUEST_ROOM_INFO struInquestRoomInfo[INQUEST_MAX_ROOM_NUM]; - BYTE byEnableHashCheck; //ǷöԹHASHֵУ 0-壬1-ã2- - BYTE byEnableInitCD; //Ƿóʼ 0-壬1-ã2- - BYTE byCDProcessingMode; //1.ģʽ 2-ģʽ ģʽ¼ɵĹ̹鵵Ͱϣ¼ʧܵḶ́е۽ֱͨмijλõģʽ¼õĹ̴мijλọ́¼ʧܵĹ̷ŵͰ - BYTE byRes[21]; // -}NET_DVR_INQUEST_SYSTEM_INFO, *LPNET_DVR_INQUEST_SYSTEM_INFO; - -typedef struct _NET_DVR_INQUEST_ALARM_ -{ - DWORD dwSize; - DWORD dwAlarmType; /* 0- 1-̴ 2-Ѷʱ*/ - BYTE byTrayNo; /**/ - BYTE byRes[3]; - DWORD dwInquestTime; /*Ѷʱ,dwAlarmType=2ʱЧ,λ:*/ - DWORD dwNotifyChannel; /*Ѷʱ䳬ʱͨ*/ - BYTE byRes1[244]; -}NET_DVR_INQUEST_ALARM, *LPNET_DVR_INQUEST_ALARM; - -typedef struct _NET_DVR_VIDEO_PARKING_POLE_ALARM_ -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_V30 struTime; //ʱ - BYTE byParkingNum[32]; //λ - BYTE byAlarmType; //ͣ0-δ֪1-ͷڵ2-ť3-Ƿռñ4-λ״̬仯 - BYTE byVehicleEnterState; //״̬0-δ֪1-룬2-뿪 - BYTE byRes[78]; -}NET_DVR_VIDEO_PARKING_POLE_ALARM, *LPNET_DVR_VIDEO_PARKING_POLE_ALARM; - -typedef struct tagNET_DVR_INQUEST_RESUME_SEGMENT -{ - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struStopTime; //¼ֹʱ - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE byRes[24]; // -}NET_DVR_INQUEST_RESUME_SEGMENT, *LPNET_DVR_INQUEST_RESUME_SEGMENT; - -typedef struct tagNET_DVR_INQUEST_RESUME_EVENT -{ - DWORD dwResumeNum; //ָ¼ - NET_DVR_INQUEST_RESUME_SEGMENT struResumeSegment[MAX_RESUME_SEGMENT]; - BYTE byResumeMode; //ָģʽ0-ָ̻1-˫ָ̻ - BYTE byCDPrintEnbled; //ָɺǷʹ̷ܹӡ 0- 1- - BYTE byRes[198]; // -}NET_DVR_INQUEST_RESUME_EVENT, *LPNET_DVR_INQUEST_RESUME_EVENT; - -typedef struct tagNET_DVR_INQUEST_DEVICE_VERSION -{ -BYTE byMainVersion; /*汾. - 0 : δ֪ - 1 : 8000ѶDVR - ΰ汾: 1 : 8000HD-S - 2 : 8100ѶDVR - ΰ汾: 1 : Ѷ81SNL - 2 : Ѷ81SH - 3 : Ѷ81SFH - 3 : 8608ѶNVR - ΰ汾: 1 : DS-8608SN-SP - 2 : DS-8608SN-ST -*/ -BYTE bySubVersion; //ߴΰ汾 -BYTE byUpgradeVersion; //汾,δΪ0 -BYTE byCustomizeVersion; //ư汾,ǶΪ0 -BYTE byRes[60]; // -}NET_DVR_INQUEST_DEVICE_VERSION, *LPNET_DVR_INQUEST_DEVICE_VERSION; - -typedef struct tagNET_DVR_DISK_RAID_INFO -{ - DWORD dwSize; //ṹС - BYTE byEnable; //RaidǷ - BYTE bySleepStatus; //0-Ч 1-ߣ2- - BYTE byRes[34]; //ֽ -}NET_DVR_DISK_RAID_INFO, *LPNET_DVR_DISK_RAID_INFO; - - -typedef struct tagNET_DVR_SYNCHRONOUS_IPC -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ǷãΪǰIPCͬ豸 - BYTE byRes[7]; // -}NET_DVR_SYNCHRONOUS_IPC, *LPNET_DVR_SYNCHRONOUS_IPC; - -typedef struct tagNET_DVR_IPC_PASSWD -{ - DWORD dwSize; //ṹС - char sOldPasswd[PASSWD_LEN]; //IPCľ룬DVRDVR֤ - char sNewPasswd[PASSWD_LEN]; //IPC - BYTE byRes[32]; -}NET_DVR_IPC_PASSWD, *LPNET_DVR_IPC_PASSWD; - -//ͨȡDVR״̬λbps -typedef struct tagNET_DEVICE_NET_USING_INFO -{ - DWORD dwSize; //ṹС - DWORD dwPreview; //Ԥ - DWORD dwPlayback; //ط - DWORD dwIPCModule; //IPC - DWORD dwNetDiskRW; //̶д - BYTE res[32]; -}NET_DVR_DEVICE_NET_USING_INFO, *LPNET_DVR_DEVICE_NET_USING_INFO; - -//ͨDVRǰIPCIPַ -typedef struct tagNET_DVR_IPC_NETCFG -{ - DWORD dwSize; //ṹС - NET_DVR_IPADDR struIP; //IPCIPַ - WORD wPort; //IPCĶ˿ - char res[126]; -}NET_DVR_IPC_NETCFG, *LPNET_DVR_IPC_NETCFG; - -//ʱ -typedef struct tagNET_DVR_TIME_LOCK -{ - DWORD dwSize; //ṹС - NET_DVR_TIME strBeginTime; - NET_DVR_TIME strEndTime; - DWORD dwChannel; //ͨ, 0xffʾͨ - DWORD dwRecordType; //¼: 0xffffffffȫ0ʱ¼1-ƶ⣬23-ƶ⣬4-ƶ⣬5-6-ֶ¼7-¼(ͬļ) - DWORD dwLockDuration; //ʱ,λ,0xffffffffʾ - NET_DVR_TIME_EX strUnlockTimePoint; //ʱЧdwLockDurationΪʱʱ䵽ʱԶ - BYTE byRes[4]; -}NET_DVR_TIME_LOCK, *LPNET_DVR_TIME_LOCK; - -typedef struct tagNET_DVR_LOCK_RETURN -{ - DWORD dwSize; //ṹС - NET_DVR_TIME strBeginTime; - NET_DVR_TIME strEndTime; - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ,0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾ, byISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 30, 45+ʾ, byISO8601Ϊ1ʱЧ - BYTE byRes[17]; -}NET_DVR_LOCK_RETURN, *LPNET_DVR_LOCK_RETURN; - -//67DVS -//֤ -typedef enum -{ - UPGRADE_CERT_FILE = 0, - UPLOAD_CERT_FILE = 1, - TRIAL_CERT_FILE = 2, - CONFIGURATION_FILE = 3, - UPLOAD_RECORD_FILE = 4 , //ϴ¼ļ - SCENE_CONFIGURATION_FILE = 5, //ļϴ - UPLOAD_PICTURE_FILE = 6, //ϴͼƬļ - UPLOAD_VIOLATION_FILE = 7, //ϴΥֵļ - UPLOAD_TG_FILE = 8, //ϴTGTiming GeneratorļT1ԣ - UPLOAD_DATA_TO_DB = 9, //ϴļͼ - UPLOAD_BACKGROUND_PIC = 10, //ϴͼƬ - UPLOAD_CALIBRATION_FILE = 11, //ϴ궨ļ - UPLOAD_TME_FILE = 12, //ϴڹļ - - //UPLOAD_TME_FILE = 12, //ϴڹļ - UPLOAD_VEHICLE_BLOCKALLOWLIST_FILE = 13, - UPLOAD_PICTURE_TO_CLOUD = 15, //ϴͼƬƴ洢 - UPLOAD_VIDEO_FILE = 16, //ϴƵļ - UPLOAD_SCREEN_FILE = 17, //ϴĻļ - UPLOAD_PUBLISH_MATERIAL = 18, //ϴϢ̬زļ - UPLOAD_PUBLISH_UPGRADE_FILE = 19, //ϴϢļ - UPLOAD_RING_FILE = 20, //ϴļ - UPLOAD_ENCRYPT_CERT = 21, //ϴ֤ - UPLOAD_THERMOMETRIC_FILE = 22, //ϴ±궨ļ - UPLOAD_SUBBRAND_FILE = 23, //ϴƷļ - UPLOAD_LED_CHECK_FILE = 24, //ϴLEDУļ - BATCH_UPLOAD_PICTURE_FILE = 25, //ϴͼƬļ - UPLOAD_EDID_CFG_FILE = 26, //ϴEDIDļ - UPLOAD_PANORAMIC_STITCH = 27,//ϴȫԶƴļ - UPLOAD_BINOCULAR_COUNTING = 28,//ϴֱ - UPLOAD_AUDIO_FILE = 29, //ϴļ - UPLOAD_PUBLISH_THIRD_PARTY_FILE = 30, //ϴļ - UPLOAD_DEEPEYES_BINOCULAR = 31,//ϴTX1˫Ŀ - UPLOAD_CERTIFICATE_BLOCKLIST = 32, //ϴֹ֤ - UPLOAD_HD_CAMERA_CORRECT_TABLE = 33,//ϴ2400W - UPLOAD_FD_DATA = 35,//ݵ - UPLOAD_FACE_DATA = 36,//ͼƬݵ - UPLOAD_FACE_ANALYSIS_DATA = 37,//ͼƬݵ豸ʶͼƬĿ - UPLOAD_FILEVOLUME_DATA = 38,//ϴļļ(ĿǰֻCVRʵ) - IMPORT_DATA_TO_FACELIB = 39,//ݣͼƬ+ͼƬϢ 豸⣩ - UPLOAD_LEFTEYE_4K_CALIBFILE = 40,//ۡ4K궨ڲϴĿ¼ - UPLOAD_SECURITY_CFG_FILE = 41,//ļȫ - UPLOAD_RIGHT_CONTROLLER_AUDIO = 42, //ϴȨ޿Ƶļ - UPLOAD_MODBUS_CFG_FILE = 43, //ModbusЭļ - UPLOAD_NOTICE_VIDEO_DATA = 44, //Ƶ· - UPLOAD_RS485_PROTOCOL_DLL_FILE = 45, //RS485Э鶯̬ļ - UPLOAD_PIC_BY_BUF = 46,//ͼƬ浼ͼƬļ - UPLOAD_CLIENT_CALIBFILE = 47,//ͻ궨ļ(.ptoʽļ) - UPLOAD_HD_CAMERA_CORRECT_TABLE_3200W = 48,//3200W(.calʽļ) - UPLOAD_DOOR_CONTENT = 49, //ϴԪſϵϢ - UPLOAD_ASR_CONTROL_FILE = 50, //ʶļϴ - UPLOAD_APP_FILE = 51,//ϴHEOP APPļ - UPLOAD_AI_ALGORITHM_MODEL = 52, //AIƽ̨ϴ㷨ģ͵豸 - UPLOAD_PUBLISH_PROGRAM_THUMBNAIL = 53, //ϴϢĿͼ - UPLOAD_PUBLISH_TEMPLATE_THUMBNAIL = 54, //ϴϢģͼ - UPLOAD_AI_PICTURE = 55,//AIƽ̨ͼƬ·ͼƬΪƸʽ - UPLOAD_OFFLINE_CAPTURE_INFO = 56, //߲ɼûб - UPLOAD_FONT_TYPE_DLL_FILE = 57, //⵼ - UPLOAD_CLIENT_CALIBFILE_FILE = 58, //ͻ궨ļ(.ptoʽļ,ͨ) - UPLOAD_HD_CAMERA_CORRECT_TABLE_3200W_FILE = 59, //3200W(.calʽļ,ͨ) - IMPORT_DATA_TO_HBDLIB = 60, /*ݵ⣨ͼƬ+ͼƬϢ 豸⣩*/ - UPLOAD_SCENE_FILE = 61, //볡ļ - UPLOAD_RATIOSTITCHING_FILE = 62, // 뱶ƴļ - UPLOAD_LENS_PARAM_FILE = 63, // 뾵ͷļ - UPLOAD_CUSTOMAUDIO_FILE = 64, //ԶƵزļ - UPLOAD_VIDEOWALL_MATERIAL_FILE = 65 //ǽزļ -}NET_SDK_UPLOAD_TYPE; - -typedef enum -{ - NET_SDK_DOWNLOAD_CERT = 0, //֤ - NET_SDK_DOWNLOAD_IPC_CFG_FILE = 1,//IPCļ - NET_SDK_DOWNLOAD_BASELINE_SCENE_PIC = 2, //ػ׼ͼƬ - NET_SDK_DOWNLOAD_VQD_ALARM_PIC = 3, //VQDͼƬ - NET_SDK_DOWNLOAD_CONFIGURATION_FILE = 4, //ļ - NET_SDK_DOWNLOAD_SCENE_CONFIGURATION_FILE = 5, //سļ - NET_SDK_DOWNLOAD_FILE_FORM_DB = 6, //ͼ - // NET_SDK_DOWNLOAD_TME_FILE = 7 //سڹļ - - NET_SDK_DOWNLOAD_TME_FILE = 7, //سڹļ - NET_SDK_DOWNLOAD_VEHICLE_BLOCKALLOWLIST_FILE = 8, //ļ - NET_SDK_DOWNLOAD_GUID_FILE = 9, //GUIDļ - NET_SDK_DOWNLOAD_FILE_FORM_CLOUD = 10, //ƴ洢ͼƬ - NET_SDK_DOWNLOAD_PICTURE = 11, //ͼƬ - NET_SDK_DOWNLOAD_VIDEO = 12, //Ƶ - NET_DVR_DOWNLOAD_SCREEN_FILE = 13, //Ļļ - NET_SDK_DOWNLOAD_PUBLISH_MATERIAL = 14, //Ϣ̬زļ - NET_SDK_DOWNLOAD_THERMOMETRIC_FILE = 15,//ز±궨ļ - NET_SDK_DOWNLOAD_LED_CHECK_FILE = 16,//LEDУļ - NET_SDK_DOWNLOAD_VEHICLE_INFORMATION = 17,//Ϣ - NET_SDK_DOWNLOAD_CERTIFICATE_BLOCKLIST_TEMPLET = 18, //ֹ֤ģ - NET_SDK_DOWNLOAD_LOG_FILE = 19, //־ - NET_SDK_DOWNLOAD_FILEVOLUME_DATA = 20,//ļļĿǰֻCVR豸֧֣ - NET_SDK_DOWNLOAD_FD_DATA = 21,//ָ - NET_SDK_DOWNLOAD_SECURITY_CFG_FILE = 22,//ļȫ - NET_SDK_DOWNLOAD_PUBLISH_SCHEDULE = 23, //ճ̵ - NET_SDK_DOWNLOAD_RIGHT_CONTROLLER_AUDIO = 24, //Ȩ޿Ƶļ - NET_SDK_DOWNLOAD_MODBUS_CFG_FILE = 25, //ModbusЭļ - NET_SDK_DOWNLOAD_RS485_PROTOCOL_DLL_FILE = 26, //RS485Э鶯̬ļ - NET_SDK_DOWNLOAD_CLUSTER_MAINTENANCE_LOG = 27, //Ⱥά־ - NET_SDK_DOWNLOAD_SQL_ARCHIVE_FILE = 28, //鵵ݿ¼ - NET_SDK_DOWNLOAD_SUBWIND_STREAM = 29,//Ӵ - NET_SDK_DOWNLOAD_DEVTYPE_CALIBFILE = 30,//ͺű궨ļ(.calʽļ) - NET_SDK_DOWNLOAD_HD_CAMERA_CORRECT_TABLE = 31,// 2400W/3200W(.calʽļ) - NET_SDK_DOWNLOAD_CLIENT_CALIBFILE = 32,//ͻ궨ļ(.ptoʽļ) - NET_SDK_DOWNLOAD_FOUE_CAMERAS_PICTURES = 33,//ͨͼƬ(.tarʽļ) - NET_SDK_DOWNLOAD_DOOR_CONTENT = 34, //ſϵϢ - NET_SDK_DOWNLOAD_PUBLISH_MATERIAL_THUMBNAIL = 35, //Ϣ̬زͼ - NET_SDK_DOWNLOAD_PUBLISH_PROGRAM_THUMBNAIL = 36, //ϢĿͼ - NET_SDK_DOWNLOAD_PUBLISH_TEMPLATE_THUMBNAIL = 37, //Ϣģͼ - NET_SDK_DOWNLOAD_DARK_FIGHTER_X_CORRECT_TABLE_MAIN = 38,//ڹļ() - NET_SDK_DOWNLOAD_DARK_FIGHTER_X_CORRECT_TABLE_BACKUP = 39,//ڹļݷ - NET_SDK_DOWNLOAD_OFFLINE_CAPTURE_INFO_TEMPLATE = 40, //زɼûбģ - NET_SDK_DOWNLOAD_CAPTURE_DATA = 41, //߲ɼ - NET_SDK_DOWNLOAD_HD_CAMERA_CORRECT_TABLE_FILE = 42, // 2400W/3200W(.calʽļ, ͨ) - NET_SDK_DOWNLOAD_CLIENT_CALIBFILE_FILE = 43, //ͻ궨ļ(.ptoʽļ, ͨ) - NET_SDK_DOWNLOAD_FOUR_CAMERAS_PICTURES_FILE = 44, //ͨͼƬ(.tarʽļ, ͨ) - NET_SDK_DOWNLOAD_SCENE_FILE = 45, //ļ - NET_SDK_DOWNLOAD_OPEN_SOURCE_CERT = 46, //ԴϹ֤ - NET_SDK_DOWNLOAD_RATIOSTITCHING_FILE = 47, //ƴļ - NET_SDK_DOWNLOAD_LENS_PARAM_FILE = 48, // ͷļ - NET_SDK_DOWNLOAD_SELECT_DEVTYPE_CALIBFILE = 49, //ָͺű궨ļ(.calʽļ) - NET_SDK_DOWNLOAD_VIDEOWALL_MATERIAL_FILE = 50, //ǽزļ -}NET_SDK_DOWNLOAD_TYPE; - -//״̬ -typedef enum -{ - NET_SDK_DOWNLOAD_STATUS_SUCCESS = 1, //سɹ - NET_SDK_DOWNLOAD_STATUS_PROCESSING, // - NET_SDK_DOWNLOAD_STATUS_FAILED, //ʧ - NET_SDK_DOWNLOAD_STATUS_UNKOWN_ERROR, //δ֪ - NET_SDK_DOWNLOAD_STATUS_RESOURCE, //ڴ治 - NET_SDK_DOWNLOAD_STATUS_GUIDFILE_EXPORT_FAIL //GUIDļʧ -}NET_SDK_DOWNLOAD_STATUS; - -//ؿ -typedef enum tagNET_SDK_DOWNLOAD_CONTROL_TYPE_ENUM -{ - ENUM_DOWNLOAD_CONTROL_ERR = -1, - ENUM_DOWNLOAD_CONTROL_QOS = 1 // -}NET_SDK_DOWNLOAD_CONTROL_TYPE_ENUM; - -typedef struct tagNET_DVR_PANORAMIC_STITCH_UPLOAD -{ - DWORD dwSize; - DWORD dwChannel;// ͨ - BYTE byRes[128]; -}NET_DVR_PANORAMIC_STITCH_UPLOAD, *LPNET_DVR_PANORAMIC_STITCH_UPLOAD; - -typedef struct NET_DVR_FD_DATA_COND -{ - DWORD dwSize; - char szFDID[NET_SDK_MAX_FDID_LEN/*256*/]; //ID - char szCheckCode[NET_SDK_CHECK_CODE_LEN/*128*/]; //У - BYTE byCover;//Ƿ񸲸ʽ 0-1- - char szLoginPassword[PASSWD_LEN/*16*/]; //¼ - BYTE byRes[111]; -}NET_DVR_FD_DATA_COND, *LPNET_DVR_FD_DATA_COND; - -typedef struct NET_DVR_UPLOAD_FACE_DATA -{ - DWORD dwSize; - char szFDID[NET_SDK_MAX_FDID_LEN/*256*/]; //ID - BYTE byFDLibType; //0-;1-ֹ2- - BYTE byRes1[3]; - char szCustomInfo[NET_SDK_FDPIC_CUSTOM_INFO_LEN/*96*/]; //ͼƬԶϢ - BYTE byRes[512]; -}NET_DVR_UPLOAD_FACE_DATA, *LPNET_DVR_UPLOAD_FACE_DATA; - -typedef struct NET_DVR_UPLOAD_FACE_DATA_OUT -{ - char szPicID[NET_SDK_MAX_PICID_LEN/*256*/]; //ͼƬID - BYTE byRes[128]; -}NET_DVR_UPLOAD_FACE_DATA_OUT, *LPNET_DVR_UPLOAD_FACE_DATA_OUT; - -typedef struct NET_DVR_UPLOAD_FACE_ANALYSIS_DATA_OUT -{ - DWORD dwSize; - DWORD dwPID;//ͼƬID - DWORD dwFaceAnalysisNum;//ʶ - NET_VCA_RECT struVcaRect[NET_DVR_MAX_FACE_ANALYSIS_NUM]; //ʶĿ꣬ - BYTE byRes[128]; -}NET_DVR_UPLOAD_FACE_ANALYSIS_DATA_OUT, *LPNET_DVR_UPLOAD_FACE_ANALYSIS_DATA_OUT; - -typedef struct NET_DVR_SECURITY_CFG_FILE_COND -{ - DWORD dwSize; - char szSecretKey[NET_SDK_SECRETKEY_LEN/*128*/];//УԿ - BYTE byRes[128]; -}NET_DVR_SECURITY_CFG_FILE_COND, *LPNET_DVR_SECURITY_CFG_FILE_COND; - -typedef struct tagNET_DVR_DOWNLOAD_CLUSTER_MAINTENANCE_LOG_PARAM_ -{ - DWORD dwSize; - BYTE byType; //־ͣ0-ȫ1-2-Ĭ - BYTE byRes[255]; -}NET_DVR_DOWNLOAD_CLUSTER_MAINTENANCE_LOG_PARAM, *LPNET_DVR_DOWNLOAD_CLUSTER_MAINTENANCE_LOG_PARAM; - - -typedef struct tagNET_DVR_BONJOUR_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnableBonjour; // Bonjourʹ 0 1ر - BYTE byRes1[3]; - BYTE byFriendlyName[MAX_DOMAIN_NAME]; // - BYTE byRes2[128]; -}NET_DVR_BONJOUR_CFG, *LPNET_DVR_BONJOUR_CFG; - -typedef struct tagNET_DVR_SOCKS_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnableSocks; // ʹ 0ر 1 - BYTE byVersion; // SOCKS汾 4SOCKS4 5SOCKS5 - WORD wProxyPort; // ˿ڣĬ1080 - BYTE byProxyaddr[MAX_DOMAIN_NAME]; // IPַ - BYTE byUserName[MAX_DOMAIN_NAME]; // û SOCKS - BYTE byPassword[NAME_LEN]; // SOCKS5 - BYTE byLocalAddr[MAX_LOCAL_ADDR_LEN]; //ʹsocksΣʽΪ"ip/netmask;ip/netmask;" - BYTE byRes[128]; -}NET_DVR_SOCKS_CFG, *LPNET_DVR_SOCKS_CFG; - - - -typedef struct tagNET_DVR_QOS_CFG -{ - DWORD dwSize; - BYTE byManageDscp; // ݵDSCPֵ [0-63] - BYTE byAlarmDscp; // ݵDSCPֵ [0-63] - BYTE byVideoDscp; // ƵݵDSCPֵ [0-63]byFlagΪ0ʱʾƵ - BYTE byAudioDscp; // ƵݵDSCPֵ [0-63]byFlagΪ1ʱЧ - BYTE byFlag; // 0Ƶһ1Ƶֿ - BYTE byEnable; - BYTE byRes[126]; -}NET_DVR_QOS_CFG, *LPNET_DVR_QOS_CFG; - -typedef struct tagNET_DVR_HTTPS_CFG -{ - DWORD dwSize; - WORD wHttpsPort; // HTTPS˿ - BYTE byEnable; // ʹ 0ر 1 - BYTE byRes[125]; -}NET_DVR_HTTPS_CFG, *LPNET_DVR_HTTPS_CFG; - -//֤ -typedef struct tagNET_DVR_CERT_NAME -{ - BYTE byCountry[MAX_COUNTRY_NAME_LEN]; //Ҵ CN - BYTE byState[MAX_DOMAIN_NAME]; //޻ʡ - BYTE byLocality[MAX_DOMAIN_NAME]; // - BYTE byOrganization[MAX_DOMAIN_NAME]; //֯ - BYTE byUnit[MAX_DOMAIN_NAME]; //λ - BYTE byCommonName[MAX_DOMAIN_NAME]; - BYTE byEmail[MAX_DOMAIN_NAME]; - BYTE byRes[128]; -}NET_DVR_CERT_NAME, *LPNET_DVR_CERT_NAME ; - -typedef struct tagNET_DVR_CERT_ADDITION_PARAM -{ - DWORD dwSize; - char csCustomID[64]; //ûԶID - BYTE byRes1[2]; - BYTE byCertificateMode;//wCertTypeΪ1-CertificateʱЧ0-ǩ֤飬1-֤˽Կʽ - BYTE byPrivateKeyMode;// byCertificateModeΪ1-֤˽ԿʽʱЧ 0-key 1-PKCS#12 - BYTE byPassword[64]; //룬PrivateKeyModeΪ0ʱΪ˽Կ룬Ϊ1ʱΪPKCS#12 - BYTE byRes[128]; -}NET_DVR_CERT_ADDITION_PARAM, *LPNET_DVR_CERT_ADDITION_PARAM; - - -typedef struct tagNET_DVR_CERT_PARAM -{ - DWORD dwSize; - WORD wCertFunc; //֤࣬0-802.1x(ӦWIFI֤),1-HTTPS, 3-ieee802.1x(ӦLAN֤) - WORD wCertType; //֤ͣ0-CA1-Certificate,2-˽Կļ - BYTE byFileType; //֤ļͣ0-PEM,1-PFX - BYTE byRes1[2];//ֽ - BYTE byAddition;//Ƿʹøӽṹ壬0-ʹ;1-ʹ - NET_DVR_CERT_ADDITION_PARAM * pStruAdditionParam;//Ϣṹָ - BYTE byRes[28]; -}NET_DVR_CERT_PARAM, *LPNET_DVR_CERT_PARAM; - -#define UPLOAD_CERTIFICATE 1 //ϴ֤ - - -typedef struct tagNET_DVR_CERT_INFO -{ - DWORD dwSize; - NET_DVR_CERT_PARAM struCertParam; //֤ - DWORD dwValidDays; //ЧΪǩʱЧ - BYTE byPasswd[NAME_LEN]; //˽Կ - NET_DVR_CERT_NAME struCertName; // ֤ - NET_DVR_CERT_NAME struIssuerName; // ֤鷢ƣǩ֤ϢȡʱЧ - NET_DVR_TIME_EX struBeginTime; //֤鴴ʱ䣨ǩ֤ϢȡʱЧ - NET_DVR_TIME_EX struEndTime; //ֹ֤ʱ䣨ǩ֤ϢȡʱЧ - BYTE serialNumber[NAME_LEN]; //֤ʶ루ǩ֤ϢȡʱЧ - BYTE byVersion; - BYTE byKeyAlgorithm; // 0-RSA 1-DSA - BYTE byKeyLen; //ܳ 0-512 1-1024 2-2048 - BYTE bySignatureAlgorithm; //ǩ㷨ͣǩ֤ϢȡʱЧ - BYTE byRes[128]; -}NET_DVR_CERT_INFO, *LPNET_DVR_CERT_INFO; - - -//channel record status -//***ͨ¼״̬*****// -typedef struct tagNET_DVR_CHANS_RECORD_STATUS -{ - BYTE byValid; //ǷЧ - /*(ֻ)¼:0: ¼1¼ 2- - 3- 4-Ƶ 5-δ 6-浵 7-ش - 8-û 9-δ֤,10-浵к¼ 11-¼شк¼ 12-token֤ʧ*/ - BYTE byRecord; - WORD wChannelNO; //ͨ - DWORD dwRelatedHD; // - BYTE byOffLineRecord; //¼ 0-ر 1- - BYTE byRes[7]; //ֽ -}NET_DVR_CHANS_RECORD_STATUS, *LPNET_DVR_CHANS_RECORD_STATUS; - - -typedef struct tagNET_DVR_IP_ALARM_GROUP_NUM -{ - DWORD dwSize; - DWORD dwIPAlarmInGroup; //IPͨ - DWORD dwIPAlarmInNum; //IPͨ - DWORD dwIPAlarmOutGroup; //IPͨ - DWORD dwIPAlarmOutNum; //IPͨ - BYTE byRes[64]; -}NET_DVR_IP_ALARM_GROUP_NUM, *LPNET_DVR_IP_ALARM_GROUP_NUM; -//****NVR end***// - -typedef struct tagNET_DVR_CHAN_GROUP_RECORD_STATUS -{ - DWORD dwSize; //ṹС - NET_DVR_CHANS_RECORD_STATUS struChanStatus[MAX_CHANNUM_V30]; //һ64 -}NET_DVR_CHAN_GROUP_RECORD_STATUS, *LPNET_DVR_CHAN_GROUP_RECORD_STATUS; - - -typedef struct tagNET_DVR_RECTCFG -{ - WORD wXCoordinate; /*ϽʼX*/ - WORD wYCoordinate; /*ϽY*/ - WORD wWidth; /*ο*/ - WORD wHeight; /*θ߶*/ -}NET_DVR_RECTCFG, *LPNET_DVR_RECTCFG; -/*Ϣ*/ -typedef struct tagNET_DVR_WINCFG -{ - DWORD dwSize; - BYTE byVaild; - BYTE byInputIdx; /*Դ*/ - BYTE byLayerIdx; /*ͼ㣬0Ϊײ*/ - BYTE byTransparency; //͸ȣ0100 - NET_DVR_RECTCFG struWin;//ĿĴ(ʾǽ) - WORD wScreenHeight;// - WORD wScreenWidth;// - BYTE byRes[20]; -}NET_DVR_WINCFG, *LPNET_DVR_WINCFG; - -#define MAX_LAYERNUMS 32 - -typedef struct tagNET_DVR_ALLWINCFG -{ - DWORD dwSize; - NET_DVR_WINCFG struWinCfg[MAX_LAYERNUMS]; - BYTE byRes2[24]; -}NET_DVR_ALLWINCFG, *LPNET_DVR_ALLWINCFG; - -typedef struct tagNET_DVR_SCREENZOOM -{ - DWORD dwSize; - DWORD dwScreenNum;// - NET_DVR_POINT_FRAME struPointFrame; - BYTE byLayer;//ͼ - BYTE byRes[11]; -}NET_DVR_SCREENZOOM, *LPNET_DVR_SCREENZOOM; - -//2011-04-18 -/*Ϣ,99991ʼ */ -typedef struct tagNET_MATRIX_CAMERAINFO -{ - DWORD dwGlobalCamId; /* camȫֱ*/ - BYTE sCamName[NAME_LEN]; /*cam*/ - DWORD dwMatrixId; /*camӦı*/ - DWORD dwLocCamId; /*camӦڲ*/ - BYTE byValid; /*ǷЧ0-1-*/ - BYTE byPtzCtrl; /* Ƿɿأ0-1-*/ - BYTE byUseType; //*ʹͣ0-Ϊʹã1-BNC2-SP3,3-V6ˣ4-*/ - BYTE byUsedByTrunk;//ǰʹ״̬0-ûбʹã1-ʹ - BYTE byTrunkReq; /*ֱ,D1Ϊλ1 - 1D12- 2D1ΪʹʱָǸߵĴ*/ - BYTE byRes1[3]; - NET_DVR_TIME struInstallTime;//װʱ - BYTE sPurpose[NAME_LEN];/*;*/ - BYTE byRes2[20]; -}NET_MATRIX_CAMERAINFO, *LPNET_MATRIX_CAMERAINFO; - -/*ʾϢ2048*/ -typedef struct tagNET_MATRIX_MONITORINFO -{ - DWORD dwGloalMonId; /*mon ͳһ*/ - BYTE sMonName[NAME_LEN]; - DWORD dwMatrixId; /*monھı*/ - DWORD dwLocalMonId; /*monڲ*/ - BYTE byValid; /*ǷЧ0-1-*/ - BYTE byTrunkType; /*ʹͣ0-Ϊʹã1-BNC2-SP3,3-V6ˣ4-*/ - BYTE byUsedByTrunk;//ǰʹ״̬0-ûбʹã1-ʹ - BYTE byTrunkReq; /*ֱ, D1Ϊλ1- 1D12- 2D1ΪʹʱָǸߵĴ*/ - NET_DVR_TIME struInstallTime;//װʱ - BYTE sPurpose[NAME_LEN];/*;*/ - BYTE byRes[20]; -}NET_MATRIX_MONITORINFO, *LPNET_MATRIX_MONITORINFO; - -typedef struct tagNET_MATRIX_DIGITALMATRIX -{ - NET_DVR_IPADDR struAddress; /*豸Ϊ豸ʱIPϢ*/ - WORD wPort; - BYTE byNicNum; /*0 - eth0, 1 - eth1, ˫ͨż󶨵*/ - BYTE byRes[69]; -}NET_MATRIX_DIGITALMATRIX, *LPNET_MATRIX_DIGITALMATRIX; -typedef struct tagNET_MATRIX_ANALOGMATRIX -{ - BYTE bySerPortNum; /*ӵĴں 0xff-ͨ*/ - BYTE byMatrixSerPortType;/* صĴģļ̿(Э)ӻͨſڣЭ飩 0 --- ЭͨѶ 1 --- ͨѶ*/ - BYTE byRes1[2]; - NET_DVR_SINGLE_RS232 struRS232; //232ڲ ͨʱ˲Ч - BYTE byRes2[200]; -}NET_MATRIX_ANALOGMATRIX, *LPNET_MATRIX_ANALOGMATRIX; - -typedef union tagNET_MATRIX_UNION -{ - NET_MATRIX_DIGITALMATRIX struDigitalMatrix; - NET_MATRIX_ANALOGMATRIX struAnalogMatrix; -}NET_MATRIX_UNION, *LPNET_MATRIX_UNION; -/*Ϣ20*/ -typedef struct tagNET_MATRIX_MATRIXINFO -{ - DWORD dwSize; - DWORD dwMatrixId; /**/ - BYTE sDevName[NAME_LEN]; - BYTE byCtrlType; /*ָͨѶʽǴͨ, ͨ*/ - BYTE byProtocolType;/*ͨſЭ*/ - BYTE byRes1[6]; /*Ԥ*/ - NET_MATRIX_UNION struMatrixUnion; - DWORD dwMaxPortsIn; /**/ - DWORD dwMaxPortsOut;/**/ - BYTE sUserName[NAME_LEN]; /*¼û*/ - BYTE sPassword[PASSWD_LEN]; /*¼*/ - NET_DVR_TIME struInstallTime;//װʱ - BYTE sPurpose[NAME_LEN];/*;*/ - BYTE byRes2[20]; /*Ԥ*/ -}NET_MATRIX_MATRIXINFO, *LPNET_MATRIX_MATRIXINFO; - - -typedef struct tagNET_DVR_MATRIXLIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwMatrixNum;//豸صľ - BYTE *pBuffer;//Ϣ - DWORD dwBufLen;//ָ볤ȣ -}NET_DVR_MATRIXLIST,*LPNET_DVR_MATRIXLIST; - -/*Ϣ*/ -typedef struct tagNET_MATRIX_UARTPARAM -{ - DWORD dwSize; - BYTE byPortName[NAME_LEN]; - WORD wUserId; /*ûţ豸ΪʱһûȨ޹*/ - BYTE byPortType; /*ͣ0-RS232/1-RS485/2-RS422*/ - BYTE byFuncType; /*ӵ豸0-У1-̣2-͸ͨ(485ڲó͸ͨ),3-ģ*/ - BYTE byProtocolType; /*ֵ֧Э, Ӽ豸ʱҪϢ,ȡ֧Эıż*/ - BYTE byBaudRate; - BYTE byDataBits; - BYTE byStopBits; /*ֹͣλ*/ - BYTE byParity; /*У*/ - BYTE byFlowCtrl; /*أأ*/ - BYTE byRes[22]; /*Ԥ*/ -}NET_MATRIX_UARTPARAM, *LPNET_MATRIX_UARTPARAM; - -//256û1256 -typedef struct tagNET_MATRIX_USERPARAM -{ - DWORD dwSize; - BYTE sUserName[NAME_LEN]; - BYTE sPassword[PASSWD_LEN/*16*/]; - BYTE byRole;/*ûɫ:0-Ա,1-ԱֻһϵͳԱ255Ա*/ - BYTE byLevel; /*ͳһڲ,1- 255*/ - BYTE byRes[18]; -}NET_MATRIX_USERPARAM, *LPNET_MATRIX_USERPARAM; - -//255Դ -typedef struct tagNET_MATRIX_RESOURSEGROUPPARAM -{ - DWORD dwSize; - BYTE byGroupName[NAME_LEN]; - BYTE byGroupType;/*0-CAM飬1-ʾMON*/ - BYTE byRes1; - WORD wMemNum; - DWORD dwGlobalId[512]; - BYTE byRes2[20]; -}NET_MATRIX_RESOURCEGROUPPARAM,*LPNET_MATRIX_RESOURSEGROUPPARAM; - -//255û -typedef struct tagNET_MATRIX_USERGROUPPARAM -{ - DWORD dwSize; - BYTE sGroupName[NAME_LEN]; - WORD wUserMember[255]; /*ûԱ*/ - WORD wResorceGroupMember[255]; /*ԴԱ*/ - BYTE byPermission[32];//Ȩޣ0-ptzȨޡлȨޡѯȨ - BYTE byRes[20]; -} NET_MATRIX_USERGROUPPARAM, *LPNET_MATRIX_USERGROUPPARAM; - -typedef struct tagNET_MATRIX_TRUNKPARAM -{ - DWORD dwSize; - DWORD dwTrunkId; - BYTE sTrunkName[NAME_LEN]; - DWORD dwSrcMonId; - DWORD dwDstCamId; - BYTE byTrunkType; /*ʹ 1-BNC2-SP3˸壬3-SP3D1 4-V6ˣ5-*/ - BYTE byAbility; /*ʾ˵ĴԴ伸·*/ - BYTE bySubChan; /*Թ˸߶ԣʾͨ*/ - BYTE byLevel; /* ߼ 1-255*/ - WORD wReserveUserID; //ԤûID 1~256 0ʾͷԤ - BYTE byRes[18]; -} NET_MATRIX_TRUNKPARAM, *LPNET_MATRIX_TRUNKPARAM; - -typedef struct tagNET_DVR_MATRIX_TRUNKLIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwTrunkNum;//豸صĸ - BYTE *pBuffer;//Ϣ - DWORD dwBufLen;//ָ볤ȣ -}NET_DVR_MATRIX_TRUNKLIST,*LPNET_DVR_MATRIX_TRUNKLIST; - -#define MATRIX_PROTOCOL_NUM 20 //ֵ֧Э -#define KEYBOARD_PROTOCOL_NUM 20 //ֵ֧Э -typedef struct tagNET_DVR_PROTO_TYPE_EX -{ - WORD wType; /*ipcЭֵ*/ - WORD wCommunitionType; /*0ģ 1 2ģ⡢*/ - BYTE byDescribe[DESC_LEN]; /*Эֶ*/ -}NET_DVR_PROTO_TYPE_EX, LPNET_DVR_PROTO_TYPE_EX; - -typedef struct tagNET_DVR_MATRIXMANAGE_ABIILITY -{ - DWORD dwSize; - DWORD dwMaxCameraNum;//Camera - DWORD dwMaxMonitorNum;//ʾ - WORD wMaxMatrixNum;// - WORD wMaxSerialNum;// - WORD wMaxUser;//û - WORD wMaxResourceArrayNum;//Դ - WORD wMaxUserArrayNum;//û - WORD wMaxTrunkNum;// - BYTE nStartUserNum;//ʼû - BYTE nStartUserGroupNum;//ʼû - BYTE nStartResourceGroupNum;//ʼԴ - BYTE nStartSerialNum;//ʼں - DWORD dwMatrixProtoNum; /*ЧľЭĿ0ʼ*/ - NET_DVR_PROTO_TYPE_EX struMatrixProto[MATRIX_PROTOCOL_NUM];/*Эб*/ - DWORD dwKeyBoardProtoNum; /*ЧļЭĿ0ʼ*/ - NET_DVR_PROTO_TYPE_EX struKeyBoardProto[KEYBOARD_PROTOCOL_NUM];/*Эб*/ - BYTE byDelMonitorLongCfg; //Ƿ֧ɾmonitor - BYTE byDelCamonitorLongCfg;//Ƿ֧ɾcamera - BYTE byAudioSwitchContorl;//Ƿ֧Ƶؿ - BYTE byRes[29]; -} NET_DVR_MATRIXMANAGE_ABILITY, *LPNET_DVR_MATRIXMANAGE_ABILITY; - - -//ץĹ() -typedef struct tagNET_VCA_SINGLE_FACESNAPCFG -{ - BYTE byActive; //Ƿ񼤻0-1- - /********* IPC5.1.7 Begin 2014-03-21***********/ - //ԶROIʹ - BYTE byAutoROIEnable;//0-ر,1- - BYTE byRes[2]; // - /********* IPC5.1.7 End 2014-03-21***********/ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struVcaPolygon; //ʶ -}NET_VCA_SINGLE_FACESNAPCFG, *LPNET_VCA_SINGLE_FACESNAPCFG; - -//ץĹ -typedef struct tagNET_VCA_FACESNAPCFG -{ - DWORD dwSize; - BYTE bySnapTime; //ĿץĴ0-10 - BYTE bySnapInterval; //ץļλ֡ - BYTE bySnapThreshold; //ץֵ0-100 - BYTE byGenerateRate; //Ŀٶ,Χ[1, 5] - BYTE bySensitive; //ĿȣΧ[1, 5] - BYTE byReferenceBright; //2012-3-27ο[0,100] - BYTE byMatchType; //2012-5-3ȶԱģʽ0-Ŀʧ󱨾1-ʵʱ - BYTE byMatchThreshold; //2012-5-3ʵʱȶֵ0~100 - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_SINGLE_FACESNAPCFG struRule[MAX_RULE_NUM]; //ץĹ - //ع̳ʱ䣨ֽڣ - WORD wFaceExposureMinDuration;//Χ(1~3600룬Ĭ60)ЧԶģʽ - //عģʽ - BYTE byFaceExposureMode;//1-رգ2-0-Զжϣ - BYTE byBackgroundPic;//ͼϴʹ 0-Ĭֵ1-ֹ - DWORD dwValidFaceTime; //Ч̳ʱ䣬λ - DWORD dwUploadInterval; //ץͳϴʱ䣬λ룬Ĭ900 - DWORD dwFaceFilteringTime;//ͣʱ,Ĭ5룬Χ0-100롣0ʾ - BYTE bySceneID; //,Ŀǰ֧1~40ΪЧ - BYTE byInvalCapFilterEnable;//ЧץĹʹܣ0Ϊرգ1ΪĬΪ0 - BYTE byInvalCapFilterThreshold;//ЧץĹֵ0~100byInvalCapFilterEnableΪ1ʱЧ - BYTE byRes2[81]; -}NET_VCA_FACESNAPCFG, *LPNET_VCA_FACESNAPCFG; - -typedef struct tagNET_DVR_FIRMWARE_VERSION_IFNO -{ - DWORD dwSize;//ṹС - char szFirmwareVersion[LEN_PROPERTY/*128*/]; //ذ汾 ֻ - BYTE byRes2[128]; -}NET_DVR_FIRMWARE_VERSION_IFNO, *LPNET_DVR_FIRMWARE_VERSION_IFNO; - - -// -typedef enum tagFACE_EXPRESSION_GROUP_ENUM -{ - ENUM_EXPRESSION_GROUP_SURPRISED = 1, // - ENUM_EXPRESSION_GROUP_PANIC = 2, // - ENUM_EXPRESSION_GROUP_DISGUUSTED = 3, // - ENUM_EXPRESSION_GROUP_HAPPY = 4, // - ENUM_EXPRESSION_GROUP_SAD = 5, //ѹ - ENUM_EXPRESSION_GROUP_ANGRY = 6, //ŭ - ENUM_EXPRESSION_GROUP_POKER = 7, // - ENUM_EXPRESSION_GROUP_ALL = 0xfe, //ȫ - ENUM_EXPRESSION_GROUP_UNKNOW = 0xff //δ֪,㷨֧δ -}FACE_EXPRESSION_GROUP_ENUM; - -typedef struct tagNET_DVR_LLI_PARAM -{ - float fSec;//[0.000000,60.000000] - BYTE byDegree;//:γ[0,90] [0,180] - BYTE byMinute;//[0,59] - BYTE byRes[6]; -}NET_DVR_LLI_PARAM, *LPNET_DVR_LLI_PARAM; - -typedef struct tagNET_DVR_LLPOS_PARAM -{ - BYTE byLatitudeType;//γͣ0-γ1-γ - BYTE byLongitudeType;//ͣ0-1- - BYTE byRes1[2]; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - BYTE byRes[16]; -}NET_DVR_LLPOS_PARAM, *LPNET_DVR_LLPOS_PARAM; - -//ץĸϢṹ -typedef struct tagNET_VCA_FACESNAP_ADDINFO -{ - //ο,ΪСͼ(ͷ) - NET_VCA_RECT struFacePicRect; - int iSwingAngle;//ת, -90~90 - int iTiltAngle;//, -90~90 - DWORD dwPupilDistance;//ͫ,ΧΪСֵΪ10,ֵΪǰֱʿ/1.6 - BYTE byBlockingState;//Ŀڵ״̬ 0-ʾδ֪㷨֧֣,1~ڵ,2~˲ʱڵ3~ڵ4~ڵ - BYTE byFaceSnapThermometryEnabled;//ץIJʹ 1- 0-ر - BYTE byIsAbnomalTemperature;//ץIJǷ¶쳣 1- 0- - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - NET_DVR_TIME_EX struEnterTime; // ץ½ʱ - NET_DVR_TIME_EX struExitTime; // ץ뿪ʱ - float fFaceTemperature; // ¶ȣ - 20.0~150.0棬ȷС1λ0xffff65535ʾЧ¶ֵʱأ - float fAlarmTemperature;// ±ֵȷС1λ - DWORD dwThermalPicLen;//ȳͼƬ - BYTE *pThermalPicBuff;// ȳͼƬָ - BYTE szCustomChanID[65];// Զ岼ͨ string max.len = 64 - BYTE byRes1[3];// ֽ - NET_DVR_LLPOS_PARAM struLLPos;//豸γλϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "faceCapture") -#else - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "faceCapture") - BYTE byRes2[4]; -#endif - DWORD dwEventNotificationAlertLen;//ȶӦEventNotificationAlert JSON Block("eventType": "faceCapture")ݳ - BYTE byRes[340];// ֽ -}NET_VCA_FACESNAP_ADDINFO, *LPNET_VCA_FACESNAP_ADDINFO; - -//ץĽ -typedef struct tagNET_VCA_FACESNAP_RESULT -{ - DWORD dwSize; // ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - DWORD dwFacePicID; //ͼID - DWORD dwFaceScore; //,0-100 - NET_VCA_TARGET_INFO struTargetInfo;//ĿϢ - NET_VCA_RECT struRect; //ͼ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwFacePicLen; //ͼijȣΪ0ʾûͼƬ0ʾͼƬ - DWORD dwBackgroundPicLen; //ͼijȣΪ0ʾûͼƬ0ʾͼƬ() - BYTE bySmart; //IDS豸0(Ĭֵ)Smart Functiom Return 1 - BYTE byAlarmEndMark;//0-1-ǣֶνIDֶʹãʾIDӦ±ҪṩNVRʹãжϱȡʶͼƬУߵͼƬ - BYTE byRepeatTimes; //ظ0- - BYTE byUploadEventDataType;//ͼƬݳʽ0-ݣ1-URL - NET_VCA_HUMAN_FEATURE struFeature; // - float fStayDuration; //ͣʱ(λ: ) - char sStorageIP[16]; //洢IPַ - WORD wStoragePort; //洢˿ں - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - /*ͼͼƬȼ0-͵,1-е,2-ߵ, - ץֻԭе - ԭеץʵ֣ĿȷһץлȡõͼЧһͼ֣ץֻѾץɵͼƬʹͼ㷨ͼۣҪϢзͳһı׼ͼƬЧ*/ - BYTE byFacePicQuality; - BYTE byUIDLen; // ϴıʶ - BYTE byLivenessDetectionStatus;// ״̬0-1-δ֪(ʧ)2-3-4-δ - /*ϢʶλǷNET_VCA_FACESNAP_ADDINFOṹ壩,0-޸Ϣ, 1-иϢ*/ - BYTE byAddInfo; - BYTE *pUIDBuffer; //ʶָ - //Ϣָ,ָNET_VCA_FACESNAP_ADDINFOṹ - BYTE *pAddInfoBuffer; - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE* pBuffer1; //ͼͼƬ - BYTE* pBuffer2; //ͼͼƬݣͨұͼӿڿԻȡͼ -}NET_VCA_FACESNAP_RESULT, *LPNET_VCA_FACESNAP_RESULT; - -typedef struct tagNET_VCA_SUB_PROCIMG_V50 -{ - DWORD dwImageLen; //ͼƬݳ - DWORD dwFaceScore; //,0-100 - NET_VCA_RECT struVcaRect; //ͼ - NET_VCA_POINT struLeftEyePoint; //λ - NET_VCA_POINT struRightEyePoint; //λ - BYTE byDistance; //ۼ - BYTE bySex; - BYTE byRes1; - BYTE byEyeGlass; - NET_VCA_RECT struPosRect; //λ - BYTE byRes[20]; // - BYTE *pImage; //ͼƬ -}NET_VCA_SUB_PROCIMG_V50, *LPNET_VCA_SUB_PROCIMG_V50; - -typedef struct tagNET_DVR_FACE_DETECTION -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - DWORD dwBackgroundPicLen; //ͼijȣΪ0ʾûͼƬ0ʾͼƬ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_VCA_RECT struFacePic[MAX_FACE_PIC_NUM/*30*/];//ͼ - BYTE byFacePicNum;//ͼ - BYTE byUploadEventDataType;//ͼƬݳʽ0-ݣ1-URL - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[249]; - BYTE* pBackgroundPicpBuffer; //ͼͼƬ -}NET_DVR_FACE_DETECTION,*LPNET_DVR_FACE_DETECTION; - -typedef struct tagNET_DVR_UPGRADE_PARAM -{ - DWORD dwUpgradeType; - char *sFileName; - void *pInbuffer; - DWORD dwBufferLen; - char *pUnitIdList[64]; -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64)) - char *sCustomURL; -#else - char *sCustomURL; - BYTE byRes2[4]; -#endif - DWORD dwCustomURLLen; - BYTE byRes[100]; -}NET_DVR_UPGRADE_PARAM, *LPNET_DVR_UPGRADE_PARAM; - - -typedef struct tagNET_VCA_FD_PROCIMG_RESULT_V50 -{ - DWORD dwSize; //ṹС - DWORD dwImageId; //ͼID - BYTE byRes[20]; // - DWORD dwSubImageNum; //ͼ - NET_VCA_SUB_PROCIMG_V50 struProcImg[MAX_TARGET_NUM]; //ͼϢ -}NET_VCA_FD_PROCIMG_RESULT_V50, *LPNET_VCA_FD_PROCIMG_RESULT_V50; - -//齹 -typedef struct tagNET_DVR_DEFOCUS_ALARM -{ - DWORD dwSize; /*ṹ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes1[2]; //ֽ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[49]; // ֽ -}NET_DVR_DEFOCUS_ALARM, *LPNET_DVR_DEFOCUS_ALARM; - -// -typedef struct tagNET_DVR_DENSEFOGDETECTION_ALARM -{ - DWORD dwSize; /*ṹ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byFogLevel; //ĵȼ0-~ 1-~ 2-~Ũ 3-Ũ - BYTE byRes[259]; // ֽ -}NET_DVR_DENSEFOGDETECTION_ALARM, *LPNET_DVR_DENSEFOGDETECTION_ALARM; - -typedef struct tagNET_DVR_AUDIOEXCEPTION_ALARM -{ - DWORD dwSize; /*ṹ*/ - BYTE byAlarmType;//ͣ1-Ƶ쳣2-Ƶͻ䣨ǿ3-ǿ4-Ƶʧ - BYTE byRes1; - WORD wAudioDecibel;//ǿȣƵͻʱõ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes[62]; // ֽ -}NET_DVR_AUDIOEXCEPTION_ALARM, *LPNET_DVR_AUDIOEXCEPTION_ALARM; - -typedef struct tagNET_BUTTON_DOWN_EXCEPTION_ALARM -{ - DWORD dwSize; /*ṹ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - BYTE byRes[64]; // ֽ -}NET_BUTTON_DOWN_EXCEPTION_ALARM, *LPNET_BUTTON_DOWN_EXCEPTION_ALARM; - -typedef struct tagNET_VCA_FD_IMAGE_CFG -{ - DWORD dwWidth; //Ҷͼݿ - DWORD dwHeight; //Ҷͼ߶ - DWORD dwImageLen; //Ҷͼݳ - BYTE byRes[20]; // - BYTE *pImage; //Ҷͼ -}NET_VCA_FD_IMAGE_CFG, *LPNET_VCA_FD_IMAGE_CFG; - -typedef struct tagNET_VCA_FD_PROCIMG_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿ񼤻; - BYTE bySensitivity; //ȣ[0,5] - BYTE byRes1[22]; //ֽ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struPolygon; // - NET_VCA_FD_IMAGE_CFG struFDImage; //ͼƬϢ - BYTE byRes2[20]; // -}NET_VCA_FD_PROCIMG_CFG, *LPNET_VCA_FD_PROCIMG_CFG; - -typedef struct tagNET_VCA_SUB_PROCIMG -{ - DWORD dwImageLen; //ͼƬݳ - DWORD dwFaceScore; //,0-100 - NET_VCA_RECT struVcaRect; //ͼ - BYTE byRes[20]; // - BYTE *pImage; //ͼƬ -}NET_VCA_SUB_PROCIMG, *LPNET_VCA_SUB_PROCIMG; - -typedef struct tagNET_VCA_FD_PROCIMG_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwImageId; //ͼID - BYTE byRes[20]; // - DWORD dwSubImageNum; //ͼ - NET_VCA_SUB_PROCIMG struProcImg[MAX_TARGET_NUM]; //ͼϢ -}NET_VCA_FD_PROCIMG_RESULT, *LPNET_VCA_FD_PROCIMG_RESULT; - -typedef struct tagNET_VCA_PICMODEL_RESULT -{ - DWORD dwImageLen; //ͼƬݳ - DWORD dwModelLen; //ģݳ - BYTE byRes[20]; // - BYTE *pImage; //ͼƬָ - BYTE *pModel; //ģָ -}NET_VCA_PICMODEL_RESULT, *LPNET_VCA_PICMODEL_RESULT; - -typedef struct tagNET_VCA_REGISTER_PIC -{ - DWORD dwImageID; //ͼID - DWORD dwFaceScore; //,0-100 - NET_VCA_RECT struVcaRect; //ͼ - BYTE byRes[20]; // -}NET_VCA_REGISTER_PIC, *LPNET_VCA_REGISTER_PIC; - -#define MAX_HUMAN_PICTURE_NUM 10 //Ƭ -#define MAX_HUMAN_BIRTHDATE_LEN 10 //³ - -typedef struct tagNET_DVR_AREAINFOCFG -{ - WORD wNationalityID; // - WORD wProvinceID; //ʡ - WORD wCityID; // - WORD wCountyID; // - /* - if (dwCode != 0) dwCode ֵ ȫʡݳб.txt - else dwCode ֵ PROVINCE_CITY_IDX - */ - DWORD dwCode; -}NET_DVR_AREAINFOCFG, *LPNET_DVR_AREAINFOCFG; - -typedef struct tagNET_VCA_HUMAN_ATTRIBUTE -{ - BYTE bySex; //Ա0-У1-Ů0xff-δ֪ - BYTE byCertificateType; //֤ͣ0-֤1-֤2-֤3-գ4-0xff-δ֪ - BYTE byBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //£磺201106 - BYTE byName[NAME_LEN]; // - NET_DVR_AREAINFOCFG struNativePlace; // - BYTE byCertificateNumber[NAME_LEN]; //֤ - /* - dwPersonInfoExtendLen && pPersonInfoExtend ӦURL(/ISAPI/System/Video/inputs/channels//faceContrast/personInfoExtend)ʾ PersonInfoExtendList XML Block - ڣƽ̨Ĺʱ򣬵pictureݵԶϢ豸ƥ䱨ЯΪƥϢһϴƽ̨Ĺƥ䣻 - */ - DWORD dwPersonInfoExtendLen;// ԱǩϢչ - BYTE *pPersonInfoExtend; //ԱǩϢչϢ - BYTE byGroup;//紫0xffʾδ֪ - BYTE byRes2[3]; //ֽ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pThermalData;//ȳͼƬָ -#else - BYTE* pThermalData;//ȳͼƬָ - BYTE byRes3[4];//ֽ -#endif -}NET_VCA_HUMAN_ATTRIBUTE, *LPNET_VCA_HUMAN_ATTRIBUTE; - -typedef struct tagNET_VCA_HUMANATTRIBUTE_COND -{ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byCertificateType; //֤ͣ0-ã1-֤2-֤ - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byName[NAME_LEN]; // - NET_DVR_AREAINFOCFG struNativePlace; // - BYTE byCertificateNumber[NAME_LEN]; //֤ - BYTE byRes[20]; -}NET_VCA_HUMANATTRIBUTE_COND, *LPNET_VCA_HUMANATTRIBUTE_COND; - - -typedef struct tagNET_VCA_BLOCKLIST_INFO -{ - DWORD dwSize; //ṹС - DWORD dwRegisterID; //עIDţֻ - DWORD dwGroupNo; // - BYTE byType; //־0-ȫ1-2-ֹ - BYTE byLevel; //ֹȼ0-ȫ1-ͣ2-У3- - BYTE byRes1[2]; // - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark[NAME_LEN]; //עϢ - DWORD dwFDDescriptionLen;//ݳ - BYTE *pFDDescriptionBuffer;//ָ - DWORD dwFCAdditionInfoLen;//ץĿ⸽Ϣ - BYTE *pFCAdditionInfoBuffer;//ץĿ⸽Ϣָ루FCAdditionInfoаPTZꡢGPSϢ - DWORD dwThermalDataLen;//ȳͼƬȣȶ¼ϱ֧ -}NET_VCA_BLOCKLIST_INFO, *LPNET_VCA_BLOCKLIST_INFO; - -typedef struct tagNET_VCA_BLOCKLIST_PARA -{ - DWORD dwSize; //ṹС - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹ - DWORD dwRegisterPicNum; //ֹͼ - NET_VCA_PICMODEL_RESULT struRegisterPic[MAX_HUMAN_PICTURE_NUM]; //ֹͼƬϢ - BYTE byRes[40]; // -}NET_VCA_BLOCKLIST_PARA, *LPNET_VCA_BLOCKLIST_PARA; - -typedef struct tagNET_VCA_BLOCKLIST_COND -{ - LONG lChannel; //ͨ - DWORD dwGroupNo; // - BYTE byType; //־0-ȫ1-2-ֹ - BYTE byLevel; //ֹȼ0-ȫ1-ͣ2-У3- - BYTE byRes1[2]; // - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRes[20]; -}NET_VCA_BLOCKLIST_COND, *LPNET_VCA_BLOCKLIST_COND; - -typedef struct tagNET_VCA_BLOCKLIST_PIC -{ - DWORD dwSize; //ṹС - DWORD dwFacePicNum; //ͼ - BYTE byRes[20]; // - NET_VCA_PICMODEL_RESULT struBlockListPic[MAX_HUMAN_PICTURE_NUM]; //ƬϢ -}NET_VCA_BLOCKLIST_PIC, *LPNET_VCA_BLOCKLIST_PIC; - -typedef struct tagNET_VCA_FIND_PICTURECOND -{ - LONG lChannel;//ͨ - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE byRes[12]; // -}NET_VCA_FIND_PICTURECOND, *LPNET_VCA_FIND_PICTURECOND; - -#define MAX_FACE_PIC_LEN 6144 //ͼƬݳ -typedef struct tagNET_VCA_SUB_SNAPPIC_DATA -{ - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - NET_DVR_TIME struSnapTime; //ץʱ - DWORD dwSimilarity; //ƶ - BYTE byRes[16]; // - char sPicBuf[MAX_FACE_PIC_LEN]; //ͼƬ -}NET_VCA_SUB_SNAPPIC_DATA, *LPNET_VCA_SUB_SNAPPIC_DATA; - -typedef struct tagNET_VCA_ADVANCE_FIND -{ - DWORD dwFacePicID; //ͼƬID - BYTE byRes[36]; -}NET_VCA_ADVANCE_FIND, *LPNET_VCA_ADVANCE_FIND; - -typedef struct tagNET_VCA_NORMAL_FIND -{ - DWORD dwImageID; //ͼID - DWORD dwFaceScore; // - NET_VCA_RECT struVcaRect; //ͼ - BYTE byRes[20]; -}NET_VCA_NORMAL_FIND, *LPNET_VCA_NORMAL_FIND; - -typedef union tagNET_VCA_FIND_SNAPPIC_UNION -{ - NET_VCA_NORMAL_FIND struNormalFind; //ͨ - NET_VCA_ADVANCE_FIND struAdvanceFind; //߼ -}NET_VCA_FIND_SNAPPIC_UNION, *LPNET_VCA_FIND_SNAPPIC_UNION; - -typedef enum _VCA_FIND_SNAPPIC_TYPE_ -{ - VCA_NORMAL_FIND = 0x00000000, //ͨ - VCA_ADVANCE_FIND = 0x00000001 //߼ -}VCA_FIND_SNAPPIC_TYPE; - -typedef struct tagNET_VCA_FIND_PICTURECOND_ADVANCE -{ - LONG lChannel;//ͨ - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE byThreshold; //ֵ0-100 - BYTE byRes[23]; // - VCA_FIND_SNAPPIC_TYPE dwFindType;//ͣVCA_FIND_SNAPPIC_TYPE - NET_VCA_FIND_SNAPPIC_UNION uFindParam; // -}NET_VCA_FIND_PICTURECOND_ADVANCE, *LPNET_VCA_FIND_PICTURECOND_ADVANCE; - -typedef struct tagNET_VCA_FACESNAP_INFO_ALARM -{ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - DWORD dwSnapFacePicID; //ץͼID - DWORD dwSnapFacePicLen; //ץͼijȣΪ0ʾûͼƬ0ʾͼƬ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - BYTE byFaceScore; //ָ֣ͼ,0-100 - BYTE bySex;//Ա0-δ֪1-У2-Ů,0xff-㷨֧֣ûʶ - BYTE byGlasses;//Ƿ۾0-δ֪1-ǣ2-,3-ī, 0xff-㷨֧֣ûʶ - /* - ʶĶηΧ[byRes1-byDeviation,byRes1+byDeviation] - */ - BYTE byRes1;//0-ʾδ֪㷨֧֣,0xff-㷨֧֣ûʶ - BYTE byDeviation;//ֵ - BYTE byGroup;//0xffʾδ֪ - /*ͼͼƬȼ0-͵,1-е,2-ߵ, - 㷨ͼͼƬ,̬ͨȡڵȿӰʶܵۺĽ*/ - BYTE byFacePicQuality; - BYTE byRes; - DWORD dwUIDLen; // ϴıʶ - BYTE *pUIDBuffer; //ʶָ - float fStayDuration; //ͣʱ(λ: ) - BYTE *pBuffer1; //ץͼͼƬ -}NET_VCA_FACESNAP_INFO_ALARM, *LPNET_VCA_FACESNAP_INFO_ALARM; - -typedef struct tagNET_VCA_BLOCKLIST_INFO_ALARM -{ - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹϢ - DWORD dwBlockListPicLen; //ֹͼijȣΪ0ʾûͼƬ0ʾͼƬ - DWORD dwFDIDLen;// ID - BYTE *pFDID; //Idָ - DWORD dwPIDLen;// ͼƬID - BYTE *pPID; //ͼƬIDָ - WORD wThresholdValue; //ֵ[0,100] - BYTE byIsNoSaveFDPicture;//0-ͼƬ,1-ͼƬ, ˵ͼƬ߽ģʱԭͼʱ,ֶη1,ʱͼƬٷ - BYTE byRealTimeContrast;//Ƿʵʱ 0-ʵʱ 1-ʵʱ - BYTE *pBuffer1; //ֹͼͼƬ -}NET_VCA_BLOCKLIST_INFO_ALARM, *LPNET_VCA_BLOCKLIST_INFO_ALARM; - -typedef struct tagNET_VCA_FACESNAP_MATCH_ALARM -{ - DWORD dwSize; // ṹС - float fSimilarity; //ƶȣ[0.001,1] - NET_VCA_FACESNAP_INFO_ALARM struSnapInfo; //ץϢ - NET_VCA_BLOCKLIST_INFO_ALARM struBlockListInfo; //ֹϢ - char sStorageIP[16]; //洢IPַ - WORD wStoragePort; //洢˿ں - BYTE byMatchPicNum; //ƥͼƬ0-豸ֵĬ0豸ֵΪ0ʱʾûƥͼƬϢ - BYTE byPicTransType;//ͼƬݴ䷽ʽ: 0-ƣ1-url - DWORD dwSnapPicLen;//豸ʶץͼƬ - BYTE *pSnapPicBuffer;//豸ʶץͼƬָ - NET_VCA_RECT struRegion;//Ŀ߽豸ʶץͼƬУͼ - DWORD dwModelDataLen;//ģݳ - BYTE *pModelDataBuffer;// ģָ - BYTE byModelingStatus;// ģ״̬ - BYTE byLivenessDetectionStatus;//״̬0-1-δ֪ʧܣ2-3-4-δ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,0xffЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾ0xffЧ*/ - BYTE byMask; //ץͼǷ֣0-1-δ֪2-֣3- - BYTE bySmile; //ץͼǷ΢Ц0-1-δ֪2-΢Ц3-΢Ц - BYTE byContrastStatus; //ȶԽ0-1-ȶԳɹ2-ȶʧ - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش -}NET_VCA_FACESNAP_MATCH_ALARM, *LPNET_VCA_FACESNAP_MATCH_ALARM; - -typedef struct tagNET_VCA_BLOCKLIST_INFO_ALARM_LOG -{ - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹϢ - DWORD dwBlockListPicID; //ֹͼIDڲͼƬ - BYTE byRes[20]; // ֽ -}NET_VCA_BLOCKLIST_INFO_ALARM_LOG, *LPNET_VCA_BLOCKLIST_INFO_ALARM_LOG; - -typedef struct tagNET_VCA_FACESNAP_INFO_ALARM_LOG -{ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - DWORD dwSnapFacePicID; //ץͼID - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - BYTE byRes[20]; // ֽ -}NET_VCA_FACESNAP_INFO_ALARM_LOG, *LPNET_VCA_FACESNAP_INFO_ALARM_LOG; - -typedef struct tagNET_VCA_FACESNAP_MATCH_ALARM_LOG -{ - DWORD dwSize; // ṹС - float fSimilarity; //ƶȣ[0.001,1] - NET_VCA_FACESNAP_INFO_ALARM_LOG struSnapInfoLog; //ץϢ - NET_VCA_BLOCKLIST_INFO_ALARM_LOG struBlockListInfoLog; //ֹϢ - BYTE byRes[60]; // ֽ -}NET_VCA_FACESNAP_MATCH_ALARM_LOG, *LPNET_VCA_FACESNAP_MATCH_ALARM_LOG; - -typedef struct tagNET_VCA_FACEMATCH_PICCOND -{ - DWORD dwSize; // ṹС - DWORD dwSnapFaceID; //ץͼID - DWORD dwBlockListID; //ƥĽֹID - DWORD dwBlockListFaceID; //ȶԵĽֹͼID - BYTE byRes[20]; // ֽ -}NET_VCA_FACEMATCH_PICCOND, *LPNET_VCA_FACEMATCH_PICCOND; - -typedef struct tagNET_VCA_FACEMATCH_PICTURE -{ - DWORD dwSize; // ṹС - DWORD dwSnapFaceLen; //ץͼ - DWORD dwBlockListFaceLen; //ȶԵĽֹͼ - BYTE byRes[20]; //ֽ - BYTE *pSnapFace; //ץͼͼƬ - BYTE *pBlockListFace; //ȶԵĽֹͼ -}NET_VCA_FACEMATCH_PICTURE, *LPNET_VCA_FACEMATCH_PICTURE; - -typedef struct tagNET_VCA_BLOCKLIST_FASTREGISTER_PARA -{ - DWORD dwSize; //ṹС - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹ - DWORD dwImageLen; //ͼݳ - BYTE byRes[124]; // - BYTE *pImage; //ͼ -}NET_VCA_BLOCKLIST_FASTREGISTER_PARA, *LPNET_VCA_BLOCKLIST_FASTREGISTER_PARA; - -/*******PJ01C20170209084¼NVSܿĿר******/ -//֡ͳƽϴ -typedef struct tagNET_DVR_FRAMES_PEOPLE_COUNTING -{ - DWORD dwSize; // ṹС - NET_VCA_DEV_INFO struDevInfo;//ǰ豸Ϣ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; // ʱ - DWORD dwPeopleCountingNum; //еͳ - DWORD dwPicLen; //豸ʶץĵȫͼƬݳ - BYTE *pPicBuffer; //豸ʶץĵȫͼƬָ - BYTE byRes[512]; // ֽ -}NET_DVR_FRAMES_PEOPLE_COUNTING, *LPNET_DVR_FRAMES_PEOPLE_COUNTING; -/*******PJ01C20170209084¼NVSܿĿר******/ - -// -typedef struct tagNET_VCA_SINGLE_PATH -{ - BYTE byActive; // Ƿ,0-,1- - BYTE byType; //0-洢ץģ1-洢ֹȶԱ2-洢ץĺͽֹȶԱ0xff-Ч - BYTE bySaveAlarmPic; //ǷڱıͼƬ0-1- - BYTE byRes1[5]; // - DWORD dwDiskDriver; //̷ţ0ʼ - DWORD dwLeftSpace; //ԤλΪG - BYTE byRes2[8]; // -}NET_VCA_SINGLE_PATH, *LPNET_VCA_SINGLE_PATH; - -//洢· -typedef struct tagNET_VCA_SAVE_PATH_CFG -{ - DWORD dwSize; //ṹС - NET_VCA_SINGLE_PATH struPathInfo[MAX_DISKNUM_V30]; // - BYTE byRes[40]; // -}NET_VCA_SAVE_PATH_CFG, *LPNET_VCA_SAVE_PATH_CFG; - -typedef struct tagNET_DVR_DEV_ACCESS_CFG -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; //豸IPַ - WORD wDevicePort; //˿ں - BYTE byEnable; //Ƿã0-1- - BYTE byRes1; // - BYTE sUserName[NAME_LEN]; //豸ĵ¼ʺ - BYTE sPassword[PASSWD_LEN]; //豸ĵ¼ - BYTE byRes2[60]; -}NET_DVR_DEV_ACCESS_CFG,*LPNET_DVR_DEV_ACCESS_CFG; - -/********************************ʶ end****************************/ -//ֱ -#define MAKE_RESOLUTION(_interlace_, _width_, _height_, _fps_) \ - (((_interlace_)<<28) \ - |((((_width_)>>3)&0x1ff)<<19)| \ - ((((_height_)>>1)&0x7ff)<<8)| \ -((_fps_)&0xff)) -#define GET_RES_INTERLACE(_res_) \ -(((_res_)>>28)&0x1) -#define GET_RES_WIDTH(_res_) \ -((((_res_)>>19)&0x1ff)<<3) -#define GET_RES_HEIGHT(_res_) \ -((((_res_)>>8)&0x7ff)<<1) -#define GET_RES_FPS(_res_) \ -((_res_)&0xff) - -#define NOT_AVALIABLE MAKE_RESOLUTION (0,0,0,0) -#define SVGA_60HZ MAKE_RESOLUTION(0, 800, 600, 60) -#define SVGA_75HZ MAKE_RESOLUTION(0, 800, 600, 75) -#define XGA_60HZ MAKE_RESOLUTION(0, 1024, 768, 60) -#define XGA_75HZ MAKE_RESOLUTION(0, 1024, 768, 75) -#define SXGA_60HZ MAKE_RESOLUTION(0, 1280, 1024, 60) -#define SXGA2_60HZ MAKE_RESOLUTION(0, 1280, 960, 60) -#define _720P_24HZ MAKE_RESOLUTION(0, 1280, 720, 24) -#define _720P_25HZ MAKE_RESOLUTION(0, 1280, 720, 25) -#define _720P_30HZ MAKE_RESOLUTION(0, 1280, 720, 30) -#define _720P_60HZ MAKE_RESOLUTION(0, 1280, 720, 60) -#define _720P_50HZ MAKE_RESOLUTION(0, 1280, 720, 50) -#define _1080I_60HZ MAKE_RESOLUTION(1, 1920, 1080, 60) -#define _1080I_50HZ MAKE_RESOLUTION(1, 1920, 1080, 50) -#define _1080P_60HZ MAKE_RESOLUTION(0, 1920, 1080, 60) -#define _1080P_50HZ MAKE_RESOLUTION(0, 1920, 1080, 50) -#define _1080P_30HZ MAKE_RESOLUTION(0, 1920, 1080, 30) -#define _1080P_25HZ MAKE_RESOLUTION(0, 1920, 1080, 25) -#define _1080P_24HZ MAKE_RESOLUTION(0, 1920, 1080, 24) -#define UXGA_60HZ MAKE_RESOLUTION(0, 1600, 1200, 60) -#define UXGA_30HZ MAKE_RESOLUTION(0, 1600, 1200, 30) -#define WSXGA_60HZ MAKE_RESOLUTION(0, 1680, 1050, 60) -#define WUXGA_60HZ MAKE_RESOLUTION(0, 1920, 1200, 60) -#define WUXGA_30HZ MAKE_RESOLUTION(0, 1920, 1200, 30) -#define WXGA_60HZ MAKE_RESOLUTION(0, 1360, 768, 60) -#define SXGA_PLUS_60HZ MAKE_RESOLUTION(0, 1400, 1050, 60) -#define VGA_MODE_3840x2160_30HZ MAKE_RESOLUTION(0, 3840, 2160, 30) -#define VGA_MODE_3840x2160_60HZ MAKE_RESOLUTION(0, 3840, 2160, 60) - - - -//ʾָͨģʽ -#define MAX_WINDOWS_NUM 12 //ָģʽ -#define MAX_SUPPORT_RES 32 -#define MAX_DISPNUM_V41 32 -#define MAX_SDI_RES 16 //SDIʾֱַ֧ͨ - -typedef struct tagNET_DVR_DISPWINDOWMODE -{ - BYTE byDispChanType;//ʾͨͣ0-BNC, 1-VGA, 2-HDMI, 3-DVI 4-SDI - BYTE byDispChanSeq;//ʾͨ,1ʼVGAʾڼVGA - BYTE byRes[2]; - BYTE byDispMode[MAX_WINDOWS_NUM/*12*/]; -}NET_DVR_DISPWINDOWMODE, *LPNET_DVR_DISPWINDOWMODE; - -typedef struct tagNET_DVR_DISPINFO -{ - BYTE byChanNums;//ͨ - BYTE byStartChan;//ʼͨ - BYTE byRes[2]; - DWORD dwSupportResolution[MAX_SUPPORT_RES/*32*/];//ֱַ֧ -}NET_DVR_DISPINFO, *LPNET_DVR_DISPINFO; - -//ƴϢ -typedef struct tagNET_DVR_SCREENINFO -{ - BYTE bySupportBigScreenNums;//ƴ - BYTE byStartBigScreenNum;//ƴʼ - BYTE byMaxScreenX;//ƴģʽ - BYTE byMaxScreenY; - BYTE byRes[8]; -}NET_DVR_SCREENINFO, *LPNET_DVR_SCREENINFO; - -typedef struct tagNET_DVR_SDI_INFO -{ - BYTE byChanNums;//ͨ - BYTE byStartChan;//ʼͨ - BYTE byRes[2]; - DWORD dwSupportResolution[MAX_SDI_RES/*16*/];//ֱַ֧ -}NET_DVR_SDI_INFO,*LPNET_DVR_SDI_INFO; - -typedef struct tagNET_DVR_MATRIX_ABILITY_V41 -{ - DWORD dwSize; - BYTE byDspNums;//DSP - BYTE byDecChanNums;//ͨ - BYTE byStartChan;//ʼͨ - BYTE byRes1[5]; - NET_DVR_DISPINFO struVgaInfo;//VGAʾͨϢ - NET_DVR_DISPINFO struBncInfo;//BNCʾͨϢ - NET_DVR_DISPINFO struHdmiInfo;//HDMIʾͨϢ - NET_DVR_DISPINFO struDviInfo;//DVIʾͨϢ - NET_DVR_DISPWINDOWMODE struDispMode[MAX_DISPNUM_V41/*32*/]; - NET_DVR_SCREENINFO struBigScreenInfo; - BYTE bySupportAutoReboot; //Ƿ֧Զ0-֧֣1-֧ - BYTE byRes2[3]; - NET_DVR_SDI_INFO struSDIInfo;//SDIʾͨϢ - BYTE byRes3[48]; -} NET_DVR_MATRIX_ABILITY_V41, *LPNET_DVR_MATRIX_ABILITY_V41; - -//ʾͨ -#define MAX_WINDOWS 16 -#define MAX_WINDOWS_V41 36 - -#define STARTDISPCHAN_VGA 1 -#define STARTDISPCHAN_BNC 9 -#define STARTDISPCHAN_HDMI 25 -#define STARTDISPCHAN_DVI 29 - -typedef union tagNET_DVR_VIDEO_PLATFORM -{ - BYTE byRes[160]; - struct - { - /*ӴڶӦͨӦĽϵͳIJλ(Ƶۺƽ̨нϵͳЧ)*/ - //ۺƽ̨֧ԶԴ˲Ҫ - BYTE byJoinDecoderId[MAX_WINDOWS_V41]; - //ʾƵֱʣ1-D1,2-720P,3-1080P豸Ҫݴ˷ֱʽнͨķ䣬1ó1080P豸4ͨ˽ͨ - BYTE byDecResolution[MAX_WINDOWS_V41]; - NET_DVR_RECTCFG struPosition; //ʾͨڵǽλ - BYTE byRes[80]; - }struVideoPlatform; - struct - { - BYTE byRes[160]; - }struNotVideoPlatform; -}NET_DVR_VIDEO_PLATFORM, LPNET_DVR_VIDEO_PLATFORM; - - -typedef struct tagNET_DVR_MATRIX_VOUTCFG -{ - DWORD dwSize; - BYTE byAudio; /*ƵǷ*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byDispChanType; /*ʾͨͣ0-BNC1-VGA2-HDMI3-DVI4-YPbPr(뿨DECODER_SERVERר)*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - DWORD dwResolution;//ֱ - DWORD dwWindowMode; /*ģʽȡ*/ - BYTE byJoinDecChan[MAX_WINDOWS_V41];/*ӴڹĽͨ,豸ֽ֧ԴԶʱ˲*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - BYTE byScale; /*ʾģʽ0---ʵʾ1---ʾ( BNC )*/ - BYTE byUnionType;/*ֹ,0-Ƶۺƽ̨ڲʾͨã1-ʾͨ*/ - NET_DVR_VIDEO_PLATFORM struDiff; - DWORD dwDispChanNum; //ʾţ˲ȫȡʱЧ - WORD wLEDWidth; //LEDֱʿ0ΪЧ - WORD wLEDHeight; //LEDֱʸߣ0ΪЧ - BYTE byEnableVideoEffect; //ʾЧʹܣ 0-ʹܣ !0-ʹ - BYTE byRes[3]; //ֶ - NET_DVR_VIDEOEFFECT struVideoEffect; //ʾЧ - BYTE byRes2[60]; -}NET_DVR_MATRIX_VOUTCFG,*LPNET_DVR_MATRIX_VOUTCFG; - -/*豸״̬*/ -typedef struct tagNET_DVR_DISP_CHAN_STATUS_V41 -{ - BYTE byDispStatus; /*ʾ״̬0δʾ1ʾ*/ - BYTE byBVGA; /*0-BNC1-VGA 2-HDMI3-DVI4-SDI 0xff-Ч*/ - BYTE byVideoFormat; /*Ƶʽ1:NTSC,2:PAL,0-NON*/ - BYTE byWindowMode; /*ģʽ*/ - BYTE byJoinDecChan[MAX_WINDOWS_V41]; /*ӻĽͨ*/ - BYTE byFpsDisp[MAX_WINDOWS_V41]; /*ÿӻʾ֡*/ - BYTE byScreenMode; /*Ļģʽ0-ͨ 1-*/ - BYTE byRes1[3]; - DWORD dwDispChan; /*ȡȫʾͨ״̬ʱЧʱ0*/ - BYTE byRes2[24]; -}NET_DVR_DISP_CHAN_STATUS_V41, *LPNET_DVR_DISP_CHAN_STATUS_V41; - -/*豸״̬*/ -typedef struct tagNET_DVR_DECODER_WORK_STATUS_V41 -{ - DWORD dwSize; - NET_DVR_MATRIX_CHAN_STATUS struDecChanStatus[32]; /*ͨ״̬*/ - /*ʾͨ״̬*/ - NET_DVR_DISP_CHAN_STATUS_V41 struDispChanStatus[MAX_DISPNUM_V41/*32*/]; - BYTE byAlarmInStatus[32]; /*״̬*/ - BYTE byAlarmOutStatus[32]; /*״̬*/ - BYTE byAudioInChanStatus; /*Խ״̬*/ - BYTE byRes[127]; -}NET_DVR_DECODER_WORK_STATUS_V41,*LPNET_DVR_DECODER_WORK_STATUS_V41; -/*******************************ļط-Զ̻ط*******************************/ -typedef struct tagNET_DVR_MATRIX_DEC_REMOTE_PLAY_V41 -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨ */ - BYTE byReserve; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - NET_DVR_TIME StartTime; - NET_DVR_TIME StopTime; - char sFileName[128]; - BYTE byRes[64]; /**/ -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_V41, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_V41; - - -#define MAX_BIGSCREENNUM_SCENE 100 -#define MAX_LAYERNUMS 32 - -//ʾͨýṹ -typedef struct tagNET_DVR_RECTCFG_SCENE -{ - WORD wXCoordinate; /*ϽʼX*/ - WORD wYCoordinate; /*ϽY*/ - WORD wWidth; /*ο*/ - WORD wHeight; /*θ߶*/ -}NET_DVR_RECTCFG_SCENE, *LPNET_DVR_RECTCFGSCENE; - -typedef struct tagNET_DVR_SCENEDISPCFG -{ - BYTE byEnable;//Ƿã0-ã1- - BYTE bySoltNum;//λ - BYTE byRes1[2]; - BYTE byDispChanNum; - BYTE byAudio; /*ƵǷ,0-1-*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - BYTE byWindowMode; /*ģʽȡ*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - BYTE byScale; /*ʾģʽ0-ʵʾ1-ʾ( BNC )*/ - DWORD dwResolution;//ֱ - BYTE byJoinDecChan[MAX_WINDOWS_V41];/*ӴڹĽͨ*/ - BYTE byJoinDecoderId[MAX_WINDOWS_V41];/*λ*/ - //ʾƵֱʣ1-D1,2-720P,3-1080P豸Ҫݴ//ֱʽнͨķ䣬1ó1080P豸4ͨ˽ͨ - BYTE byDecResolution[MAX_WINDOWS_V41]; - BYTE byRow;//ڵе - BYTE byColumn;//ڵе - BYTE byRes2[5]; - NET_DVR_RECTCFG struDisp; //ǽʾλ -} NET_DVR_SCENEDISPCFG,*LPNET_DVR_SCENEDISPCFG; - -typedef struct tagDEV_CHAN_INFO_SCENE -{ - NET_DVR_IPADDR struIP; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨţ9000豸IPC룬ͨŴ33ʼ */ - BYTE byTransProtocol; /* Э0-TCP1-UDP 2-MCAST3-RTP*/ - BYTE byTransMode; /* ģʽ 0 1*/ - BYTE byFactoryType; /*ǰ豸*/ - BYTE byDeviceType; //豸ͣ1-IPC2- ENCODER - BYTE byRes[5]; - BYTE sUserName[NAME_LEN]; /* ½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ -} NET_DVR_DEV_CHAN_INFO_SCENE,*LPNET_DVR_DEV_CHAN_INFO_SCENE; - -/*ý*/ -typedef struct tagSTREAM_MEDIA_SERVER_CFG_SCENE -{ - BYTE byValid; /*Ƿýȡ,0ʾЧ*/ - BYTE byRes1[3]; - NET_DVR_IPADDR struDevIP; /*ýַ*/ - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э0-TCP1-UDP */ - BYTE byRes2[5]; -}NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE; - -typedef struct tagPU_STREAM_CFG_SCENE -{ - NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE streamMediaServerCfg; - NET_DVR_DEV_CHAN_INFO_SCENE struDevChanInfo; -}NET_DVR_PU_STREAM_CFG_SCENE,*LPNET_DVR_PU_STREAM_CFG_SCENE; - -typedef struct tagNET_DVR_CYC_SUR_CHAN_ELE_SCENE -{ - BYTE byEnable; /* Ƿ 0 1*/ - BYTE byRes[3]; - NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO_SCENE struDecChanInfo; /*ѲͨϢ*/ -}NET_DVR_CYC_SUR_CHAN_ELE_SCENE,*LPNET_DVR_CYC_SUR_CHAN_ELE_SCENE; - -//Ѳṹ -typedef struct tagNET_DVR_MATRIX_LOOP_DECINFO_SCENE -{ - WORD wPoolTime; /*ѯ*/ - BYTE byRes1[2]; - NET_DVR_CYC_SUR_CHAN_ELE_SCENE struChanArray[MAX_CYCLE_CHAN/*16*/]; - BYTE byRes2[4]; -} NET_DVR_MATRIX_LOOP_DECINFO_SCENE,*LPNET_DVR_MATRIX_LOOP_DECINFO_SCENE; - -//ͨýṹ -typedef struct tagNET_DVR_DECODECHANCFG_SCENE/*struct size : 2064*/ -{ - BYTE byDecodeEnable;//ͣ־0-ֹͣ1-ö̬룬2-Ѳ - BYTE bySlotNum;//λ - BYTE byDecChan; - BYTE byJointAllDecodeChan; //Ƿͨ 0-1- - BYTE byJointSlotNum; //IJλţIJλţ - BYTE byJointChanNum; //ͨţͨţ - BYTE byRes[2]; - union - { - NET_DVR_PU_STREAM_CFG_SCENE struSceneDynamicDecCfg; - NET_DVR_MATRIX_LOOP_DECINFO_SCENE struSceneCycDecCfg; - } struDecCfg; -}NET_DVR_DECODECHANCFG_SCENE,*LPNET_DVR_DECODECHANCFG_SCENE; - -typedef struct tagNET_DVR_BIGSCREENCFG_SCENE -{ - BYTE byAllValid; /*ʹܱ־ */ - BYTE byAssociateBaseMap;//ĵͼţ0 - BYTE byEnableSpartan;//ʹܣ1-0- - BYTE byRes; - NET_DVR_WINCFG struWinCfg[MAX_LAYERNUMS]; - NET_DVR_BIGSCREENCFG struBigScreen; -}NET_DVR_BIGSCREENCFG_SCENE, *LPNET_DVR_BIGSCREENCFG_SCENE; - -typedef struct tagNET_DVR_MATRIX_SCENECFG -{ - DWORD dwSize; - BYTE sSceneName[NAME_LEN]; - BYTE byBigScreenNums;//ĸֵͨȡ - BYTE byRes1[3]; - WORD wDecChanNums;//нͨĸ - WORD wDispChanNums;//ʾͨĸ - BYTE byRes2[12]; - BYTE *pBigScreenBuffer;//û, byBigScreenNumssizeof(NET_DVR_BIGSCREENCFG_SCENE) - BYTE *pDecChanBuffer;//ͨû, wDecChanNumssizeof(NET_DVR_DECODECHANCFG_SCENE) - BYTE *pDispChanBuffer;//ʾͨû, wDispChanNumssizeof(NET_DVR_SCENEDISPCFG) -}NET_DVR_MATRIX_SCENECFG, *LPNET_DVR_MATRIX_SCENECFG; - - - -typedef struct tagNET_DVR_BIGSCREENASSOCIATECFG -{ - DWORD dwSize; - BYTE byEnableBaseMap;//ʹܵͼʾ - BYTE byAssociateBaseMap;//ĵͼţ0 - BYTE byEnableSpartan;//ʹܣ1-0- - BYTE byRes[21]; -} NET_DVR_BIGSCREENASSOCIATECFG, *LPNET_DVR_BIGSCREENASSOCIATECFG; -/**************************************************************/ -#define MAX_WIN_COUNT 224 //ֵ֧󿪴 - -typedef struct tagNET_DVR_SCREEN_WINCFG -{ - DWORD dwSize; - BYTE byVaild; - BYTE byInputType; //CAM_MDOE - WORD wInputIdx; /*Դ*/ - DWORD dwLayerIdx; /*ͼ㣬0Ϊײ*/ - NET_DVR_RECTCFG struWin; //ĿĴ(ʾǽ) - BYTE byWndIndex; //ں - BYTE byCBD; //0-ޣ1-2- - BYTE bySubWnd; //0ǣ1 - BYTE byRes1; - DWORD dwDeviceIndex;//豸 - BYTE byRes2[16]; -}NET_DVR_SCREEN_WINCFG, *LPNET_DVR_SCREEN_WINCFG; - -typedef struct tagNET_DVR_WINLIST -{ - DWORD dwSize; - WORD wScreenSeq; //豸 - BYTE byRes[10]; - DWORD dwWinNum; //豸صĴ - BYTE *pBuffer; //ϢΪ224*sizeof(NET_DVR_WINCFG) - DWORD dwBufLen; //ָ볤 -}NET_DVR_WINLIST,*LPNET_DVR_WINLIST; - -#define MAX_LAYOUT_COUNT 16 //󲼾 -typedef struct tagNET_DVR_LAYOUTCFG -{ - DWORD dwSize; - BYTE byValid; //ǷЧ - BYTE byRes1[3]; - BYTE byLayoutName[NAME_LEN/*32*/]; // - NET_DVR_SCREEN_WINCFG struWinCfg[MAX_WIN_COUNT/*224*/]; //ڴڲ - BYTE byRes2[16]; -}NET_DVR_LAYOUTCFG, *LPNET_DVR_LAYOUTCFG; - -typedef struct tagNET_DVR_LAYOUT_LIST -{ - DWORD dwSize; - NET_DVR_LAYOUTCFG struLayoutInfo[MAX_LAYOUT_COUNT/*16*/]; //в - BYTE byRes[4]; -}NET_DVR_LAYOUT_LIST, *LPNET_DVR_LAYOUT_LIST; - -#define MAX_CAM_COUNT 224 -#define MAX_CAM_COUNT_V50 512 - -typedef enum tagNET_DVR_CAM_MODE -{ - NET_DVR_UNKNOW = 0,//Ч - NET_DVR_CAM_BNC, - NET_DVR_CAM_VGA, - NET_DVR_CAM_DVI, - NET_DVR_CAM_HDMI, - NET_DVR_CAM_IP, - NET_DVR_CAM_RGB, - NET_DVR_CAM_DECODER, - NET_DVR_CAM_MATRIX, - NET_DVR_CAM_YPBPR, - NET_DVR_CAM_USB, - NET_DVR_CAM_SDI, - NET_DVR_CAM_HDI, - NET_DVR_CAM_DP, //Ƶۺƽ̨ - NET_DVR_CAM_HDTVI, - NET_DVR_CAM_JOINT, //ƴźԴ - NET_DVR_CAM_HDBASET, - NET_DVR_CAM_DVIT, //DVI˫·Ƶۺƽ̨ - NET_DVR_CAM_FUSION, //IPCƴ - NET_DVR_CAM_VSCREEN, // - NET_DVR_CAM_FIBER, // - NET_DVR_CAM_3GSDI, //3G-SDI - NET_DVR_CAM_DISTRIBUTED_IP, //ֲʽԴ - NET_DVR_CAM_JONIT_X86,// x86ƴϵͳƴͨ - NET_DVR_CAM_TVI, //TVIźԴ -}NET_DVR_CAM_MODE; - -typedef struct tagNET_DVR_INPUTSTREAMCFG -{ - DWORD dwSize ; - BYTE byValid; - BYTE byCamMode; //źԴͣNET_DVR_CAM_MODE - WORD wInputNo; //źԴ0-224 - BYTE sCamName[NAME_LEN] ; //źԴ - NET_DVR_VIDEOEFFECT struVideoEffect; //Ƶ - NET_DVR_PU_STREAM_CFG struPuStream; //ipʱʹ - WORD wBoardNum ; //źԴڵİ忨 - WORD wInputIdxOnBoard; //źԴڰ忨ϵλ - DWORD dwResolution;//ֱ - BYTE byVideoFormat;//ƵʽVIDEO_STANDARD - BYTE byStatus; //źԴ״̬0-ֶЧ 1-ź 2-ź 3-쳣 - BYTE sGroupName[NAME_LEN/*32*/]; //źԴ - BYTE byJointMatrix; // 0- 1- - BYTE byRes; -}NET_DVR_INPUTSTREAMCFG, *LPNET_DVR_INPUTSTREAMCFG; - -typedef struct tagNET_DVR_INPUTSTREAM_LIST -{ - DWORD dwSize; - NET_DVR_INPUTSTREAMCFG struInputStreamInfo[MAX_CAM_COUNT]; //źԴ - BYTE byRes[4]; -}NET_DVR_INPUTSTREAM_LIST, *LPNET_DVR_INPUTSTREAM_LIST; - -/**************************************************************/ -/*ͨ*/ -typedef struct tagNET_DVR_OUTPUTPARAM -{ - DWORD dwSize; - BYTE byMonMode; /*ģʽ,1-BNC,2-VGA,3-DVI,4-HDMI*/ - BYTE byRes1[3]; - DWORD dwResolution; /*ֱʣȡֵ֧Ľ*/ - NET_DVR_VIDEOEFFECT struVideoEffect; /*ͨƵ*/ - BYTE byRes2[32]; -}NET_DVR_OUTPUTPARAM, *LPNET_DVR_OUTPUTPARAM; - -typedef struct tagNET_DVR_OUTPUTCFG -{ - DWORD dwSize; - BYTE byScreenLayX; //- - BYTE byScreenLayY; //- - WORD wOutputChanNum; //ͨ0ʾ豸ֵ֧ͨȡֵʾʵͨ - BYTE byRes1[4]; - NET_DVR_OUTPUTPARAM struOutputParam; /*ͨƵ*/ - BYTE sWallName[16]; //ǽ - BYTE byRes2[8]; -}NET_DVR_OUTPUTCFG, *LPNET_DVR_OUTPUTCFG; - -/**************************************************************/ -#define SCREEN_PROTOCOL_NUM 20 //ֵ֧Э -// -typedef struct tagNET_DVR_SCREENSERVER_ABILITY -{ - DWORD dwSize; /*ṹ*/ - BYTE byIsSupportScreenNum; /*ִ֧Ŀ*/ - BYTE bySerialNums; //ڸ - BYTE byMaxInputNums; - BYTE byMaxLayoutNums; - BYTE byMaxWinNums; - BYTE byRes1[19]; - BYTE byMaxScreenLayX;//- - BYTE byMaxScreenLayY;//- - WORD wMatrixProtoNum; /*ЧĴЭĿ*/ - NET_DVR_PROTO_TYPE struScreenProto[SCREEN_PROTOCOL_NUM];/*Эб*/ - BYTE byRes2[24]; -}NET_DVR_SCREENSERVER_ABILITY, *LPNET_DVR_SCREENSERVER_ABILITY; - -// -typedef struct tagNET_DVR_SCREENCONTROL_ABILITY -{ - DWORD dwSize; /*ṹ*/ - BYTE byLayoutNum; /* ָ*/ - BYTE byWinNum; /*Ļڸ*/ - BYTE byOsdNum; /*OSD*/ - BYTE byLogoNum; /*Logo*/ - BYTE byInputStreamNum; //Դ ---豸֧ͨԴԴ - BYTE byOutputChanNum; //ͨ---豸֧ͨ - BYTE byCamGroupNum; /**/ - BYTE byPlanNum; /*Ԥ*/ - BYTE byRes1[5]; - BYTE byIsSupportPlayBack; /*Ƿֻ֧ط*/ - BYTE byMatrixInputNum; //֧ - BYTE byMatrixOutputNum; //֧ - NET_DVR_DISPINFO struVgaInfo;//VGAϢ - NET_DVR_DISPINFO struBncInfo;//BNCϢ - NET_DVR_DISPINFO struHdmiInfo;//HDMIϢ - NET_DVR_DISPINFO struDviInfo;//DVIϢ - BYTE byMaxUserNums;//֧û - BYTE byPicSpan; //ͼȣһŵͼɸǵĻ - WORD wDVCSDevNum; //ֲʽ豸 - WORD wNetSignalNum; //Դ - WORD wBaseCoordinateX;//׼ - WORD wBaseCoordinateY; - BYTE byExternalMatrixNum; //Ӿ - BYTE byRes2[49]; -}NET_DVR_SCREENCONTROL_ABILITY, *LPNET_DVR_SCREENCONTROL_ABILITY; - -/*******************************ź״̬*******************************/ -typedef struct tagNET_DVR_ANALOGINPUTSTATUS -{ - DWORD dwLostFrame; /*Ƶ붪֡*/ - BYTE byHaveSignal; /*ǷƵź*/ - BYTE byVideoFormat; /*Ƶʽ1NTSC,2PAL,0*/ - BYTE byRes[46]; -} NET_DVR_ANALOGINPUTSTATUS, *LPNET_DVR_ANALOGINPUTSTATUS; - -typedef union tagNET_DVR_INPUTSTATUS_UNION -{ - NET_DVR_MATRIX_CHAN_STATUS struIpInputStatus; - NET_DVR_ANALOGINPUTSTATUS struAnalogInputStatus; -} NET_DVR_INPUTSTATUS_UNION, *LPNET_DVR_INPUTSTATUS_UNION; - -typedef struct tagNET_DVR_INPUTSTATUS -{ - WORD wInputNo; /*źԴ*/ - BYTE byInputType; //NET_DVR_CAM_MODE - BYTE byRes1[9]; - NET_DVR_INPUTSTATUS_UNION struStatusUnion; - BYTE byRes2[16]; -} NET_DVR_INPUTSTATUS, *LPNET_DVR_INPUTSTATUS; - -typedef struct tagNET_DVR_SCREENINPUTSTATUS -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwNums; //豸صԴ״̬ - BYTE *pBuffer; // - DWORD dwBufLen; //ָ볤ȣ -}NET_DVR_SCREENINPUTSTATUS,*LPNET_DVR_SCREENINPUTSTATUS; - -typedef struct tagNET_DVR_SCREENALARMCFG -{ - DWORD dwSize; - BYTE byAlarmType; //ͣ1-Ӱγ2-Ӱ룬3-ϵͳ״̬쳣4-ϵͳָָ 5-Դ쳣 6-¶ȱ 7-FPGA汾ƥ 8-Ԥʼ 9-Ԥ 10- 11-IPַͻ12-쳣 - BYTE byBoardType; // 1- 2- 3-壬4-壬Ϊ1236ʱʹ - BYTE bySubException; //쳣ʱ쳣 1- ֱı 2-˿͸ı3-ֱʴ4-ֱʸı䵼½Դ㣬رոԴӦڡ5-ֱʸı䣬ѿű1/88Χ6-ֱʻָ,7-ֱʸı䵼,豸رմ - BYTE byRes1; - WORD wStartInputNum; // 쳣Դ쳣㣩 - WORD wEndInputNum; // 쳣Դ쳣յ㣩 - BYTE byRes2[16]; -}NET_DVR_SCREENALARMCFG, *LPNET_DVR_SCREENALARMCFG; - -typedef struct tagNET_DVR_MATRIX_CFG -{ - BYTE byValid; //жǷģǷЧ - BYTE byCommandProtocol; //ģָ4֣ - BYTE byScreenType; // - BYTE byRes1; - BYTE byScreenToMatrix[32]; //ģĻĶӦϵ - BYTE byRes2[4]; -}NET_DVR_MATRIX_CFG, *LPNET_DVR_MATRIX_CFG; - -typedef struct tagNET_DVR_DIGITALSCREEN -{ - NET_DVR_IPADDR struAddress;/*豸Ϊ豸ʱIPϢ*/ - WORD wPort; //ͨ - BYTE byRes[26]; // -}NET_DVR_DIGITALSCREEN, *LPNET_DVR_DIGITALSCREEN; -typedef struct tagNET_DVR_ANALOGSCREEN -{ - BYTE byDevSerPortNum; /*豸Ĵں*/ - BYTE byScreenSerPort; /*ӴĴں*/ - BYTE byRes[130]; - NET_DVR_MATRIX_CFG struMatrixCfg; -}NET_DVR_ANALOGSCREEN, *LPNET_DVR_ANALOGSCREEN; - -typedef union tagNET_DVR_SCREEN_UNION -{ - NET_DVR_DIGITALSCREEN struDigitalScreen; - NET_DVR_ANALOGSCREEN struAnalogScreen; -}NET_DVR_SCREEN_UNION, *LPNET_DVR_SCREEN_UNION; -typedef struct tagNET_DVR_SCREEN_SCREENINFO -{ - DWORD dwSize; - BYTE byValid; //ǷЧ - BYTE nLinkMode; //ӷʽ0-ڣ1- - BYTE byDeviceType; //豸ͺţȡ - BYTE byScreenLayX; //- - BYTE byScreenLayY; //- - BYTE byRes1[3]; - BYTE sUserName[NAME_LEN]; /*¼û*/ - BYTE sPassword[PASSWD_LEN]; /*¼*/ - BYTE sDevName[NAME_LEN]; /*豸*/ - NET_DVR_SCREEN_UNION struScreenUnion; - BYTE byInputNum; // Դ - BYTE byOutputNum; // Դ - BYTE byCBDNum; //CBD - BYTE byRes2[29]; -} NET_DVR_SCREEN_SCREENINFO, *LPNET_DVR_SCREEN_SCREENINFO; - -/*******************************ͼϴ*******************************/ -typedef struct tagNET_DVR_BASEMAP_CFG -{ - BYTE byScreenIndex; //Ļ - BYTE byMapNum; /*ָ˶ٿ */ - BYTE res[2]; - WORD wSourWidth; /* ԭͼƬĿ */ - WORD wSourHeight; /* ԭͼƬĸ߶ */ -}NET_DVR_BASEMAP_CFG, LPNET_DVR_BASEMAP_CFG; - - -typedef struct tagNET_DVR_PICCFG -{ - DWORD dwSize; //С - BYTE byUseType; //1-ͼ2-GIFͼƬ3-CADͼƬ 4-ͼƬ - BYTE bySequence;// - BYTE byOverlayEnabled; //ͼƬʹܣǷϴͼƬͼƬӲ 1-Ӳ0- - BYTE byRes[1]; - NET_DVR_BASEMAP_CFG struBasemapCfg; //ͼԺ豸Ч - BYTE sPicName[NAME_LEN];//ͼƬ - DWORD dwVideoWall; //ǽţ1ֽǽţں̶ֵΪ1ɣ+1ֽͨͨţ+2ֽڴںţ - BYTE byFlash; //ͼƬ˸ʹܣ1-˸0-˸ - BYTE byTranslucent; //ͼƬ͸ʹܣ1-͸0-͸ - BYTE byShowEnabled; //ͼƬʾʹܣ1-ʾ0- - BYTE byPictureType; //ͼƬͣ1-bmp2-jpg3-png - BYTE byRes2[24]; -}NET_DVR_PICTURECFG, *LPNET_DVR_PICTURECFG; - -/*******************************OSD*******************************/ -#define MAX_OSDCHAR_NUM 256 -typedef struct tagNET_DVR_OSDCFG -{ - DWORD dwSize; - BYTE byValid; /*ǷЧ 0Ч 1Ч*/ - BYTE byDispMode; //ʾģʽ1-͸2-͸3-ģʽ - BYTE byFontColorY; /*ɫY,0-255*/ - BYTE byFontColorU; /*ɫU,0-255*/ - BYTE byFontColorV; /*ɫV,0-255*/ - BYTE byBackColorY; /*ɫY,0-255*/ - BYTE byBackColorU; /*ɫU,0-255*/ - BYTE byBackColorV; /*ɫV,0-255*/ - WORD wXCoordinate; /*OSDĻϽλx*/ - WORD wYCoordinate; /*OSDĻϽλy*/ - WORD wWidth; /*OSD*/ - WORD wHeight; /*OSD߶*/ - DWORD dwCharCnt; /*ַĸ*/ - WORD wOSDChar[MAX_OSDCHAR_NUM]; /*OSDַ*/ - BYTE byRes[32]; -}NET_DVR_OSDCFG, *LPNET_DVR_OSDCFG; - - -/*******************************ȡϢ*******************************/ -typedef struct tagNET_DVR_SERIAL_CONTROL -{ - DWORD dwSize ; - BYTE bySerialNum; // ڸ - BYTE byRes1[3]; - BYTE bySerial[32]; - BYTE byRes2[32]; -}NET_DVR_SERIAL_CONTROL, *LPNET_DVR_SERIAL_CONTROL; - -/*******************************Ļ*******************************/ -//ĻԴ -typedef enum tagINPUT_INTERFACE_TYPE -{ - INTERFACE_VGA = 0, - INTERFACE_SVIDEO, // 2046NL֧֣2046NH֧ - INTERFACE_YPBPR, - INTERFACE_DVI , - INTERFACE_BNC , - INTERFACE_DVI_LOOP,//(ͨ) 2046NH֧֣2046NL֧ - INTERFACE_BNC_LOOP, //(ͨ) 2046NH֧֣2046NL.֧ - INTERFACE_HDMI, - INTERFACE_IP, - INTERFACE_USB, - INTERFACE_SDI, - INTERFACE_DP, - INTERFACE_HDBASET -}INPUT_INTERFACE_TYPE; -typedef struct tagNET_DVR_INPUT_INTERFACE_CTRL -{ - BYTE byInputSourceType; //INPUT_INTERFACE_TYPE - BYTE byRes[15]; -}NET_DVR_INPUT_INTERFACE_CTRL, *LPNET_DVR_INPUT_INTERFACE_CTRL; -//ʾԪɫ -typedef struct tagNET_DVR_DISPLAY_COLOR_CTRL -{ - BYTE byColorType; //1- 2-Աȶ 3-Ͷ 4- - char byScale; //-1 0+1ֵ - BYTE byRes[14]; -}NET_DVR_DISPLAY_COLOR_CTRL, *LPNET_DVR_DISPLAY_COLOR_CTRL; -//ʾԪλÿ -typedef struct tagNET_DVR_DISPLAY_POSITION_CTRL -{ - BYTE byPositionType; //1-ˮƽλ 2-ֱλã - char byScale; //-1 0+1ֵ - BYTE byRes[14]; -}NET_DVR_DISPLAY_POSITION_CTRL, *LPNET_DVR_DISPLAY_POSITION_CTRL; - - -/*******************************ĻV41*******************************/ -typedef struct tagNET_DVR_RECTCFG_EX -{ - DWORD dwXCoordinate; /*ϽʼX*/ - DWORD dwYCoordinate; /*ϽY*/ - DWORD dwWidth; /*ο*/ - DWORD dwHeight; /*θ߶*/ - BYTE byRes[4]; -}NET_DVR_RECTCFG_EX, *LPNET_DVR_RECTCFG_EX; - -/*******************************Ԥ*******************************/ -#define MAX_PLAN_ACTION_NUM 32 //Ԥ -#define DAYS_A_WEEK 7 //һ7 -#define MAX_PLAN_COUNT 16 //Ԥ - - -typedef enum -{ - NET_DVR_SWITCH_LAYOUT = 1, // л Ĭ - NET_DVR_SCREEN_POWER_OFF, // رմĻʾ - NET_DVR_SCREEN_POWER_ON, // 򿪴Ļʾ - NET_DVR_SWITCH_BASEMAP //ͼл -}NET_DVR_PLAN_OPERATE_TYPE; - -/*ԤϢ*/ -typedef struct tagNET_DVR_PLAN_INFO -{ - BYTE byValid; // ǷЧ - BYTE byType; // NET_DVR_PLAN_OPERATE_TYPE - WORD wLayoutNo; // ֺ - BYTE byScreenStyle; //Ļͺţػã1ǵ2Ǹ - BYTE byBaseMapType; //ͼͣ1-ͼƬͼ2-ͼͼлʱЧ - BYTE byRes1[2]; - DWORD dwDelayTime; // һʱ, λ - DWORD dwSerialNo; //ںţĻʱʹ - DWORD dwBaseMapWndNo; //ͼںţͼлʱЧ - DWORD dwBaseMapNo; //ͼţͼлʱЧͼΪ1ʱ˲ΪͼƬţͼΪ2ʱ˲Ϊϵͳţ1ֽ豸+1ֽӰ+2ֽʾţ - BYTE byRes2[20]; -} NET_DVR_PLAN_INFO, *LPNET_DVR_PLAN_INFO; - -typedef struct tagNET_DVR_CYCLE_TIME -{ - BYTE byValid; - BYTE byRes[3]; - NET_DVR_TIME_EX struTime; -}NET_DVR_CYCLE_TIME, *LPNET_DVR_CYCLE_TIME; -/*Ԥ*/ -typedef struct tagNET_DVR_PLAN_CFG -{ - DWORD dwSize; - BYTE byValid; // ԤǷЧ - BYTE byWorkMode; // Ԥģʽ 1ʾֶ2Զ3Ԥѭ - BYTE byWallNo; //ǽţ1ʼ - BYTE byPlanNo; //ԤţȡԤбʱЧ0-Ч֧ - BYTE byPlanName[NAME_LEN/*32*/]; //Ԥ - NET_DVR_TIME_EX struTime; // ģʽΪԶʱʹ - NET_DVR_CYCLE_TIME struTimeCycle[DAYS_A_WEEK/*7*/]; /*ѭʱ䣬Ϊһڣꡢ¡ʹá磺struTimeCycle[0]еbyValidֵ1ʾִиԤȡֵΪ[0,6]0죬1һԴ*/ - DWORD dwWorkCount; // Ԥִд - NET_DVR_PLAN_INFO strPlanEntry[MAX_PLAN_ACTION_NUM/*32*/]; // Ԥִе - DWORD dwPlanNo; //4ֽԤţͻͳһʹ4ֽڵԤţֽڵԤŲʹ - BYTE byRes2[60]; -}NET_DVR_PLAN_CFG, *LPNET_DVR_PLAN_CFG; - - -/*******************************ȡ豸״̬*******************************/ -/*Ԥб*/ -typedef struct tagNET_DVR_PLAN_LIST -{ - DWORD dwSize; - DWORD dwPlanNums; //豸źԴ - BYTE *pBuffer; //ָdwInputSignalNumsNET_DVR_PLAN_CFGṹСĻ - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes1[2]; - DWORD dwBufLen; //仺ȣڵdwInputSignalNumsNET_DVR_PLAN_CFGṹС - BYTE byRes2[64]; -} NET_DVR_PLAN_LIST,*LPNET_DVR_PLAN_LIST; - - -/*******************************Ԥ*******************************/ -//ýṹΪͨÿƽṹ -typedef struct tagNET_DVR_CONTROL_PARAM -{ - DWORD dwSize; - BYTE sDeviceID[NAME_LEN]; //豸豸ID - WORD wChan; //ͨ - BYTE byIndex; //ȷʾʲô - BYTE byRes1; - DWORD dwControlParam; - BYTE byMandatoryAlarm; //1-ʹ 0-ʹ - BYTE byRes2; - WORD wZoneIndex; // - BYTE byOperatorCode[16]; //ؿ - DWORD dwPlanNo; //4ֽԤţͻͳһʹ4ֽڵԤţֽڵԤŲʹ - BYTE byRes3[8]; -}NET_DVR_CONTROL_PARAM, *LPNET_DVR_CONTROL_PARAM; - -/*******************************ȡ豸״̬*******************************/ -typedef struct tagNET_DVR_DEVICE_RUN_STATUS -{ - DWORD dwSize; - DWORD dwMemoryTotal; //ڴλKbyte - DWORD dwMemoryUsage; //ڴʹλKbyte - BYTE byCPUUsage; //CPUʹʣ0-100 - BYTE byMainFrameTemp; //¶ȣλ϶ - BYTE byBackPanelTemp; //¶ȣλ϶ - BYTE byRes1; - BYTE byLeftDecResource[32]; //ʣԴԽD1ֱԴΪλbyLeftDecResource[i],ʾλiʣԴ0xffʾЧǽûӣ - float fNetworkFlow; //λKB/sһСλ - BYTE byRes2[88]; -}NET_DVR_DEVICE_RUN_STATUS, *LPNET_DVR_DEVICE_RUN_STATUS; - -// 91ϵHD-SDIDVR Ϣ -typedef struct tagNET_DVR_ACCESS_CAMERA_INFO -{ - DWORD dwSize; - char sCameraInfo[32]; // ǰϢ - BYTE byInterfaceType; // ǰ˽ӿͣ1:VGA, 2:HDMI, 3:YPbPr 4:SDI 5:FC - BYTE byRes1[3]; - DWORD dwChannel; - BYTE byRes[24]; -}NET_DVR_ACCESS_CAMERA_INFO, *LPNET_DVR_ACCESS_CAMERA_INFO; - -typedef struct tagNET_DVR_AUDIO_INPUT_PARAM -{ - BYTE byAudioInputType; //Ƶͣ0-mic in1-line in - BYTE byVolume; //volume,[0-100] - BYTE byEnableNoiseFilter; //Ƿ-أ- - BYTE byres[5]; -}NET_DVR_AUDIO_INPUT_PARAM, *LPNET_DVR_AUDIO_INPUT_PARAM; - -typedef struct tagNET_DVR_CAMERA_DEHAZE_CFG -{ - DWORD dwSize; - BYTE byDehazeMode; //0-ã1-Զģʽ2- - BYTE byLevel; //ȼ0-100 - BYTE byRes[6]; -}NET_DVR_CAMERA_DEHAZE_CFG, *LPNET_DVR_CAMERA_DEHAZE_CFG; - -typedef struct tagNET_DVR_INPUT_SIGNAL_LIST -{ - DWORD dwSize; - DWORD dwInputSignalNums; //豸źԴ - BYTE *pBuffer; //ָdwInputSignalNumsNET_DVR_INPUTSTREAMCFGṹСĻ - BYTE byRes1[3]; - DWORD dwBufLen; //仺ȣڵdwInputSignalNumsNET_DVR_INPUTSTREAMCFGṹС - BYTE byRes2[64]; -} NET_DVR_INPUT_SIGNAL_LIST,*LPNET_DVR_INPUT_SIGNAL_LIST; - -// ȫ״̬ -#define PULL_DISK_SUCCESS 1 // ȫ̳ɹ -#define PULL_DISK_FAIL 2 // ȫʧ -#define PULL_DISK_PROCESSING 3 // ֹͣ -#define PULL_DISK_NO_ARRAY 4 // в -#define PULL_DISK_NOT_SUPPORT 5 // ְ֧ȫ - -// ɨ״̬ -#define SCAN_RAID_SUC 1 // ɨгɹ -#define SCAN_RAID_FAIL 2 // ɨʧ -#define SCAN_RAID_PROCESSING 3 // ɨ -#define SCAN_RAID_NOT_SUPPORT 4 // ֧ɨ - -// ǰ״̬ -#define SET_CAMERA_TYPE_SUCCESS 1 // ɹ -#define SET_CAMERA_TYPE_FAIL 2 // ʧ -#define SET_CAMERA_TYPE_PROCESSING 3 // ڴ - -//9000 2.2 -typedef struct tagNET_DVR_RECORD_TIME_SPAN_INQUIRY -{ - DWORD dwSize; //ṹС - BYTE byType; //0 Ƶ¼, 1ͼƬͨ¼, 2ANRͨ¼, 3֡ͨ¼ - BYTE byRes[63]; // -}NET_DVR_RECORD_TIME_SPAN_INQUIRY, *LPNET_DVR_RECORD_TIME_SPAN_INQUIRY; - -typedef struct tagNET_DVR_RECORD_TIME_SPAN -{ - DWORD dwSize; //ṹС - NET_DVR_TIME strBeginTime; //ʼʱ - NET_DVR_TIME strEndTime; //ʱ - BYTE byType; //0 Ƶ¼, 1ͼƬͨ¼, 2ANRͨ¼, 3֡ͨ¼ - BYTE byRes[35]; // -}NET_DVR_RECORD_TIME_SPAN, *LPNET_DVR_RECORD_TIME_SPAN; - -typedef struct tagNET_DVR_DRAWFRAME_DISK_QUOTA_CFG -{ - DWORD dwSize; //ṹС - BYTE byPicQuota; //ͼƬٷֱ [0%, 30%] - BYTE byRecordQuota; //ͨ¼ٷֱ [20%, 40%] - BYTE byDrawFrameRecordQuota; //֡¼ٷֱ [30%, 80%] - BYTE byRes[61]; //ֽ -}NET_DVR_DRAWFRAME_DISK_QUOTA_CFG, *LPNET_DVR_DRAWFRAME_DISK_QUOTA_CFG; - -typedef struct tagNET_DVR_NAT_PORT -{ - WORD wEnable; //ö˿Ƿʹӳ - WORD wExtPort; //ӳⲿ˿ں - BYTE byRes[12]; // -}NET_DVR_NAT_PORT, *LPNET_DVR_NAT_PORT; - -typedef struct tagNET_DVR_NAT_CFG -{ - DWORD dwSize; //ṹС - WORD wEnableUpnp; //UPNPǷ - WORD wEnableNat; //UPNP˿ӳ䣨NATǷ(wEnableUpnpһ) - NET_DVR_IPADDR struIpAddr; //NAT·LAN IPַ - NET_DVR_NAT_PORT struHttpPort; //web server http˿ӳ - NET_DVR_NAT_PORT struCmdPort; //˿ӳ(8000) - NET_DVR_NAT_PORT struRtspPort; //rtsp˿ӳ - BYTE byFriendName[64]; // - BYTE byNatType; //UPNP˿ӳͣ0-ֶ1-Զ - BYTE byRes1[3]; // - NET_DVR_NAT_PORT struHttpsPort; //https˿ӳ - NET_DVR_NAT_PORT struSDKOverTLSPort; //SDKOverTLS˿ӳ - NET_DVR_NAT_PORT struRtspsPort; //Rtsps˿ӳ - BYTE byres[44]; // -}NET_DVR_NAT_CFG, *LPNET_DVR_NAT_CFG; - -typedef struct -{ - DWORD dwEnabled; //ö˿Ƿʹӳ - WORD wInternalPort; //ӳǰĶ˿ - WORD wExternalPort; //ӳĶ˿ - DWORD dwStatus; /*˿ӳ״̬ - 0 δЧ - 1 δЧӳԴ˿ĿĶ˿һ - 2 δЧ: ӳ˿ںѱʹ - 3 Ч - */ - NET_DVR_IPADDR struNatExternalIp; //ӳⲿַ - NET_DVR_IPADDR struNatInternalIp; //NAT·LAN IPַ - BYTE byRes[16]; // -}NET_DVR_UPNP_PORT_STATE, *LPNET_DVR_UPNP_PORT_STATE; - - -typedef struct -{ - NET_DVR_UPNP_PORT_STATE strUpnpPort[UPNP_PORT_NUM]; //˿ӳ״̬,0 web server˿ 1 ˿ 2 rtsp˿ - BYTE byRes[200]; // -}NET_DVR_UPNP_NAT_STATE, *LPNET_DVR_UPNP_NAT_STATE; - -typedef struct tagNET_DVR_PLAYCOND -{ - DWORD dwChannel; - NET_DVR_TIME struStartTime; - NET_DVR_TIME struStopTime; - BYTE byDrawFrame; //0:֡1֡ - BYTE byStreamType ; //ͣ0- 1- 2- - BYTE byStreamID[STREAM_ID_LEN]; - BYTE byCourseFile; //γļ0-1- - BYTE byDownload; //Ƿ 0-1- - BYTE byOptimalStreamType; //Ƿͻط 0-1-ǣ˫豸ijһʱڵ¼ļָͲͬ򷵻ʵ͵¼ - BYTE byVODFileType; // ¼ļļʽ 0-PSʽ1-3GPʽ - BYTE byRes[26]; // -}NET_DVR_PLAYCOND, *LPNET_DVR_PLAYCOND; - -typedef struct tagNET_DVR_ATMFINDINFO -{ - BYTE byTransactionType; // 0-ȫ1-ѯ 2-ȡ 3- 4-޸룬5-תˣ 6-޿ѯ 7-޿ 8-̳ 9-̿ 10-Զ - BYTE byRes[3] ; // - DWORD dwTransationAmount ; //׽ ; -} NET_DVR_ATMFINDINFO, *LPNET_DVR_ATMFINDINFO ; - -typedef union tagNET_DVR_SPECIAL_FINDINFO_UNION -{ - BYTE byLenth[8] ; - NET_DVR_ATMFINDINFO struATMFindInfo; //ATMѯ -}NET_DVR_SPECIAL_FINDINFO_UNION, *LPNET_DVR_SPECIAL_FINDINFO_UNION; - - -typedef struct tagNET_DVR_FILECOND_V40 -{ - LONG lChannel; - DWORD dwFileType;/*¼ļ0xff-ȫ0-ʱ¼1-ƶ⣬2-3-ƶ⣬4-ƶ⣬5-6-ֶ¼ - 7-¼10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼15-Խ⣬16-֣17-쳣18-⣬19-⣨Խ|||쳣|⣩ - 20-⣬ 21-ź22-ش23-Ǩ¼24-ڵ25-pos¼26-, 27-뿪,28-ǻ,29-Աۼ,30-˶,31-ͣ,32-Ʒ,33-Ʒȡ, - 34-⣬35-ƻ⣬36-ֻ⣬37-Ԥ,38-±,39-ܶŹ40-⣬41-˯⣬42-²43-߲±,44-45-,46-ҵѯ,47-,48-ʸ,49-޳ʱ50-ܼ⣬51-⣬52-ץ, 53-Ƿ̯, 54-Ŀʶ, - 55-˶56-ڼ⣬57-58-仯59-Υͣ, 60-,61-ѹ,62-ռ,63-,64-ͷ,65-˼,66-·,67-,68-Ũ,69-ʩ,70-ӵ,71-ͨ¹ʼ, 72-෽ͣ73-ֶ,74-ͨΥ£75-ɳⱨ 76-ŷʾ77-Ҷȱ,78-, - 79-,80-ͨʱ¼¼,81-AIƽ̨¼,82-¼,83-ϹӼ,84-豸Դ״̬ϱ -*/ - DWORD dwIsLocked; - DWORD dwUseCardNo;//ǷATMϢвѯ0-ATMϢ1-׿Ųѯ2-Ͳѯ3-׽ѯ4-šͼ׽ϲѯ 5-γƲңʱűʾγ - BYTE sCardNumber[CARDNUM_LEN_OUT]; - NET_DVR_TIME struStartTime; - NET_DVR_TIME struStopTime; - BYTE byDrawFrame; //0:֡1֡ - BYTE byFindType; //0:ѯͨ1ѯ浵 - BYTE byQuickSearch; //0:ͨѯ1٣ѯ - BYTE bySpecialFindInfoType ; //רвѯ 0-Ч 1-ATMѯ - DWORD dwVolumeNum; //浵 - BYTE byWorkingDeviceGUID[GUID_LEN]; //GUIDͨȡN+1õ - NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo ; //רвѯ - BYTE byStreamType; //0-ͬһʱֻһ¼ȼ˳Ϊ1-2-3-254-˫(ȷ¼û¼ʱ¼) - BYTE byAudioFile; //Ƶļ 0-Ƶļ1-Ƶļ - BYTE byRes2[30]; // -}NET_DVR_FILECOND_V40, *LPNET_DVR_FILECOND_V40; - -//¼ļṹV50 -typedef struct tagNET_DVR_FILECOND_V50 -{ - NET_DVR_STREAM_INFO struStreamID; //IDͨ - NET_DVR_TIME_SEARCH_COND struStartTime; //ʼʱ - NET_DVR_TIME_SEARCH_COND struStopTime; //ʱ - BYTE byFindType; //0-ѯͨ1-ѯ浵 2-ѯN+1¼ļ - BYTE byDrawFrame; //Ƿ֡ 0-֡ 1-֡ - BYTE byQuickSearch; //0-ͨѯ1-٣ѯ - BYTE byStreamType; //0-1-2-30xff-ȫ - DWORD dwFileType; // ļ - DWORD dwVolumeNum; //浵ţbyFindTypeΪ1ʱЧ - BYTE byIsLocked; //Ƿ 0-ļ,1-ļ, 0xffʾļ - BYTE byNeedCard; //ǷҪѯ0-Ҫ 1-Ҫ - BYTE byOnlyAudioFile; //Ƶļ 0-Ƶļ 1-Ƶļ - BYTE bySpecialFindInfoType; //0-Ч 1-ATMѯ - char szCardNum[32]; //ţbyNeedCardΪ1ʱЧ - char szWorkingDeviceGUID[16]; //GUIDͨȡN+1õbyFindTypeΪ2ʱЧ - NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo; //רвѯ - DWORD dwTimeout; //ҳʱʱ䣨ָNET_DVR_FindNextFile_V30/NET_DVR_FindNextFile_V40/NET_DVR_FindNextFile_V50ӿڵijʱʱ䷵أλ룬дĬΪ0ʱӿΪǰһ ;Чֵ0, [5000 C 15000] - BYTE byRes[252]; -}NET_DVR_FILECOND_V50, *LPNET_DVR_FILECOND_V50; - -typedef struct -{ - BYTE sAESKey[16]; /*Կ*/ - BYTE byRes[64]; /*ֽ*/ -}NET_DVR_AES_KEY_INFO, *LPNET_DVR_AES_KEY_INFO; - -typedef struct -{ - NET_DVR_IPADDR struIP; //IPַ - BYTE byRes[128]; // -}NET_DVR_POE_CFG, *LPNET_DVR_POE_CFG; - -#define MAX_PRO_PATH 256 //Э· - -typedef struct -{ - DWORD dwSize; //ṹС - DWORD dwEnabled; //ǷøЭ0 1 - char sProtocalName[DESC_LEN]; //ԶЭ, 16λ - BYTE byRes1[64]; //,Эչ - DWORD dwEnableSubStream; //Ƿ0 1 - - BYTE byMainProType; //Э 1 RTSP - BYTE byMainTransType; // 0Auto 1udp 2rtp over rtsp - WORD wMainPort; //˿ - char sMainPath[MAX_PRO_PATH]; //· - - BYTE bySubProType; //Э 1 RTSP - BYTE bySubTransType; // 0Auto 1udp 2rtp over rtsp - WORD wSubPort; //˿ - char sSubPath[MAX_PRO_PATH]; //· - - BYTE byRes2[200]; // -}NET_DVR_CUSTOM_PROTOCAL, *LPNET_DVR_CUSTOM_PROTOCAL; - - -//B10֧PSIA豸 -//ѭǽṹ壨ʵʱ -typedef struct -{ - DWORD dwEnable; /* Ƿ 0 1*/ - BYTE byType; //豸 0: DEV_SDK 1:DEV_DAHUA 2:DEV_EHOME 3:DEV_OTHERES - BYTE byRes[3]; // - NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; /* ѭͨϢ */ - BYTE sRtspUrl[128];//ַ -}NET_DVR_MATRIX_CHAN_INFO_EX,*LPNET_DVR_MATRIX_CHAN_INFO_EX; - -typedef struct -{ - DWORD dwSize; - DWORD dwPoolTime; /*ѯ*/ - NET_DVR_MATRIX_CHAN_INFO_EX struchanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byRes[16]; -}NET_DVR_MATRIX_LOOP_DECINFO_EX,*LPNET_DVR_MATRIX_LOOP_DECINFO_EX; - -//ʵʱԤǽṹ -typedef struct -{ - DWORD dwSize; - BYTE byType; //豸 0: DEV_SDK 1:DEV_DAHUA 2:DEV_EHOME 3:DEV_OTHERES - BYTE byRes[3]; // - NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; - BYTE sRtspUrl[128];//ַ -}NET_DVR_PU_STREAM_CFG_EX,*LPNET_DVR_PU_STREAM_CFG_EX; - -typedef struct tagNET_DVR_MATRIX_TRUNKCFG -{ - DWORD dwGlobalIndex; // - DWORD dwInterIndex; //ȫֱ - BYTE sTrunkName[NAME_LEN]; - BYTE byType; //豸1-bnc, 2-SP3, 3-V6 - BYTE byDir; //߷ 1-2- - BYTE byAbility; //D1 - BYTE bySubsys; //ϵͳID - BYTE byChan; //ͨID - BYTE byRes[255]; //Ԥ -} NET_DVR_MATRIX_TRUNKCFG,*LPNET_DVR_MATRIX_TRUNKCFG; - -typedef struct tagNET_DVR_DECSUBSYSTEMJIONSTATUS_V41 -{ - BYTE byJoinStatus;//״̬0-ûй1-ѾֶͨжϱԼϵͳ2-ռãbyDecodeAbility1ʱЧ3-4- - BYTE byJoinSubSystem;// ռõϵͳλ - BYTE byJoinDispNum;// ռõʾͨ - BYTE byJoinSubWindowNum;// ռõӴں - BYTE byDecodeAbility; //ͨĵǰ0-δ1-D12-7203-1080 - BYTE byRes[15]; -}NET_DVR_DECSUBSYSTEMJIONSTATUS_V41,LPNET_DVR_DECSUBSYSTEMJIONSTATUS_V41; - -typedef struct tagNET_DVR_SINGLESUBSYSTEMJOININFO_V41 -{ - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ9-V6ϵͳ0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - BYTE byConnectStatus;//ϵͳ״̬1-2-ӶϿ - BYTE byMatrixNum;//Ƶۺƽ̨ţϵͳ34ʱ - BYTE bySubSystemNum;//ϵͳλţϵͳ34ʱ - NET_DVR_DECSUBSYSTEMJIONSTATUS_V41 struSubSystem[MAX_DECODECHANNUM]; - BYTE byBindStatus;//״̬0-ûа󶨣1-Ѿ󶨣ƴʱõ - BYTE bySlotNum ;//λţ˲ֻܻȡ - BYTE byUsedTrunk;//Ƿ񱻸ʹã0-δʹã1-ʹ - BYTE byRes[65]; -}NET_DVR_SINGLESUBSYSTEMJOININFO_V41,LPNET_DVR_SINGLESUBSYSTEMJOININFO_V41; - -typedef struct tagNET_DVR_ALLDECSUBSYSTEMJOININFO_V41 -{ - DWORD dwSize; - NET_DVR_SINGLESUBSYSTEMJOININFO_V41 struSingleSubSystemJoinInfo[MAX_SUBSYSTEM_NUM_V40]; - BYTE byRes[48]; -}NET_DVR_ALLDECSUBSYSTEMJOININFO_V41,*LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V41; - -//////////ϵͳ///////////// -#define MAX_ALARMHOSTKEYBOARD 64 //籨 -typedef struct tagNET_DVR_PUBLIC_SUB_SYSTEM -{ - //ϵͳţλʾbit0ʾùϵͳϵͳ1. - DWORD dwJointSubSystem; - BYTE byRes[16]; -}NET_DVR_PUBLIC_SUB_SYSTEM, *LPNET_DVR_PUBLIC_SUB_SYSTEM; - -typedef struct tagNET_DVR_NOAMAL_SUB_SYSTEM -{ - //ʾЩϵͳλʾbit0 ʾϵͳ.ϵͳ1 - DWORD dwBeJoinedSubSystem; - BYTE byRes[16]; -}NET_DVR_NOAMAL_SUB_SYSTEM, *LPNET_DVR_NOAMAL_SUB_SYSTEM; - -typedef union tagNET_DVR_JOINT_SUB_SYSTEM -{ - // byPublicAttributeEnableΪ0ʱʹøñ - NET_DVR_NOAMAL_SUB_SYSTEM struNormalSubSystem; - //byPublicAttributeEnableΪ1ʱʹøñ - NET_DVR_PUBLIC_SUB_SYSTEM struPublicSubSystem; - BYTE byRes[20]; -}NET_DVR_JOINT_SUB_SYSTEM,*LPNET_DVR_JOINT_SUB_SYSTEM; - -#define MAX_SUBSYSTEM_ID_LEN 16 //ϵͳID󳤶 - -//////////GPRS///////////// -#define ACCOUNTNUM_LEN 6 -#define ACCOUNTNUM_LEN_32 32 -#define ACCOUNTNUM_LEN_V40 9 -#define APN_NAME_LEN 32 -#define APN_USERNAME_LEN 24 -#define APN_USERPASSWORD_LEN 16 - -typedef struct tagNET_DVR_ALARMSUBSYSTEMPARAM -{ - DWORD dwSize; - WORD wEnterDelay; //ʱ,λ:, Χ10-150 бʱʱ NET_DVR_ALARMIN_PARAM еdwParamʱʱ - //÷ʽͨеbySupportAlarmInDelayֶ - WORD wExitDelay;//˳ʱ,λ:룬 Χ10-300 - BYTE byHostageReport; //Юֱ棬0 1ʹ - BYTE bySubsystemEnable; //ϵͳʹ - BYTE byKeyToneOfArmOrDisarm; // ɹͲǷʾ0-̲ʾ 1-ʾ - BYTE byKeyToneOfManualTestReport; //ɹͲԱǷʾ0-̲ʾ 1-ʾ - WORD wDelayTime; //ʱdwSupport1еbit0λΪ1ʱʹøòþʱ䡣bit0Ϊ0ʱʹNET_DVR_SIREN_PARAMеwDelayþʱ - BYTE byEnableAlarmInDelay;//0--(ʹϵͳʱ),1--(ʹ÷ʱ)Ĭϲ - BYTE byPublicAttributeEnable; //ǷΪϵͳ - NET_DVR_JOINT_SUB_SYSTEM struJointSubSystem; - BYTE byKeyZoneArm; //Ƿ֧Կ׷ϵͳв - BYTE byKeyZoneArmReport; //Ƿ֧Կ׷ϵͳʱͲ - BYTE byKeyZoneDisarm; //Ƿ֧Կ׷ϵͳг - BYTE byKeyZoneDisarmReport; //Ƿ֧Կ׷ϵͳгʱͳ - BYTE bySubSystemID[MAX_SUBSYSTEM_ID_LEN]; //ϵͳID - BYTE byKeyZoneArmReportEnable; //Կ׷ϴʹ 0- 1-ʹ - BYTE byKeyZoneArmEnable; //Կ׷ʹܣ 0 - 1-ʹ - BYTE byOneKeySetupAlarmEnable; //һʹ - BYTE bySingleZoneSetupAlarmEnable; //ʹ - BYTE byCenterType; //0-Ч, 1-˺(6),2-չ˺(9) - BYTE sCenterAccount[ACCOUNTNUM_LEN/*6*/]; //ʺ - BYTE sCenterAccountV40[ACCOUNTNUM_LEN_32/*32*/]; //˺V40,ʹôֶʱsCenterAccountЧ - BYTE byRes2[565]; // ֽ -}NET_DVR_ALARMSUBSYSTEMPARAM, *LPNET_DVR_ALARMSUBSYSTEMPARAM; - -typedef struct tagNET_DVR_REMIND_TIME//8 -{ - BYTE byEnable;//Ƿñ 0-ã1- - BYTE byHour;//0~24 - BYTE byMinute;//0~60 - BYTE bySecond;//0~60 -}NET_DVR_REMIND_TIME,*LPNET_DVR_REMIND_TIME; - -//ϵͳչ -#define MAX_KEYBOARD_USER_NUM 256 -typedef struct tagNET_DVR_SUBSYSTEM_PARAM_EX -{ - DWORD dwSize; - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/]; //ʱ - BYTE byAlarmInAdvance; // ǰʾʱ0~45 - BYTE byRes1[3]; - BYTE byJointAlarmIn[MAX_ALARMHOST_ALARMIN_NUM / 8];//λʾϵͳıͨţ0-룬1- - BYTE byJointKeyboard[MAX_ALARMHOSTKEYBOARD/*64*/ / 8];//λʾֵ֧ļ̺ţ0-룬1- - BYTE byJointOpetaterUser[MAX_KEYBOARD_USER_NUM/8];//λʾbit0ʾ̲û1 0- 1- - NET_DVR_REMIND_TIME struAlarmRemindTime[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/];//MAX_TIMESEGMENT_V30ʾÿ֧8 - BYTE byJointNetUser[NET_SDK_MAX_NET_USER_NUM / 8];//ûλʾbit0ʾû10- 1- - BYTE byRes2[280]; // ֽ -}NET_DVR_SUBSYSTEM_PARAM_EX, *LPNET_DVR_SUBSYSTEM_PARAM_EX; - - -typedef struct tagNET_DVR_ALARMHOST_PRINTER_CFG -{ - DWORD dwSize; - BYTE byPrinterEnable; //Ƿôӡ - BYTE byPrintTime; //Ƿӡʱ - BYTE byFaultDetect; //Ƿӡ - BYTE byRes1; - DWORD dwAlarmInfo; //Ϣλʾbit0-bit1-ָbit2-bit-3Юֱ - DWORD dwDeviceInfo; //豸Ϣλʾbit0-ϵ硢bit1-ϵָbit2-Ƿѹbit3-Ƿѹָbit4-绰߶ߡbit5-绰߶߻ָbit6-Ա桢bit7-bit8-ָbit9-485豸ߡbit10-485豸߻ָbit11-쳣bit12-ָbit13-쳣bit14-ָbit15-չ쳣bit17-չ߻ָbit17-Ӳ̹ϡbit18-Ӳ̹ϻָbit19- - DWORD dwOperateInfo; //Ϣλʾbit0-bit1-bit2-bit3-·bit4-·ָbit5-̡bit6-˳̡bit7-λ - BYTE byRes2[256]; // ֽ -}NET_DVR_ALARMHOST_PRINTER_CFG, *LPNET_DVR_ALARMHOST_PRINTER_CFG; - -typedef struct tagNET_DVR_ALARMHOST_NETPARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; - WORD wPort; - BYTE byAddressType; //0 - , 1 - ipv4/ipv6ַ2 - - BYTE byRes1[1]; - BYTE byDomainName[MAX_DOMAIN_NAME/*64*/]; //GPRSáʱֶξЧ - BYTE byReportProtocol; //1-private 2-NAL2300, 3-Ehome - BYTE byDevID[ACCOUNTNUM_LEN_32/*32*/]; //ЭΪNAL2300ʱЧ - BYTE byRes2[7]; //GPRSڹ̶ķϽеģԲҪϢԤһЩֶ -}NET_DVR_ALARMHOST_NETPARAM, *LPNET_DVR_ALARMHOST_NETPARAM; - -typedef struct tagNET_DVR_REGISTER_RS485CFG -{ - DWORD dwSize; // ṹС - WORD wDeviceProtocol; // ǰ豸Э ͨȡЭбȡ - BYTE byRes[2]; - DWORD dwBaudRate; //(bps)0-501-752-1103-1504-3005-6006-12007-24008-48009-960010-1920011-3840012-5760013-7680014-115.2k - BYTE byRes1[124]; // ֽ -}NET_DVR_REGISTER_RS485CFG, *LPNET_DVR_REGISTER_RS485CFG; - -typedef struct tagNET_DVR_ALARMHOST_WIRELESS_NETWORK_CFG -{ - DWORD dwSize; - NET_DVR_ALARMHOST_NETPARAM struNetCenter[MAX_CENTERNUM]; // GPRSز - BYTE byAPNName[APN_NAME_LEN/*32*/]; - BYTE byAPNUserName[APN_USERNAME_LEN/*24*/]; - BYTE byAPNPassWord[APN_USERPASSWORD_LEN/*16*/]; - BYTE byReconnTime; //ʱ䣬ʧЧʱ䣬10Ϊλ,ȡֵΧ1-30 - BYTE byOverTime; //ʱʱ䣬OverTimeʱûյЧΧ1-254λ30 - BYTE byDetectLinkTime; // //̽·Ƿ񻹱֣Χ1-30λ10s - BYTE byRes1; - BYTE bySIMNum[NAME_LEN/*32*/]; //SIMţֻţ - NET_DVR_IPADDR struSIMIP; //½IPַֻܻȡ - BYTE byRes2[64]; -}NET_DVR_ALARMHOST_WIRELESS_NETWORK_CFG, *LPNET_DVR_ALARMHOST_WIRELESS_NETWORK_CFG; - - -/////////////////////// -typedef struct tagNET_DVR_ALARMHOST_NETCFG -{ - DWORD dwSize; - NET_DVR_ALARMHOST_NETPARAM struNetCenter[MAX_CENTERNUM]; - BYTE byRes1[32]; -}NET_DVR_ALARMHOST_NETCFG, *LPNET_DVR_ALARMHOST_NETCFG; - -//////////ľϴʽ///////////// -#define MAX_REPORTCHAN_NUM 4 -#define MAX_CENTERGROUP_NUM 16 -typedef struct tagNET_DVR_ALARMHOST_REPORTCENTER_CFG -{ - DWORD dwSize; - BYTE byValid; //Ƿ - BYTE byRes[3]; //1 - BYTE byChanAlarmMode[MAX_REPORTCHAN_NUM/*4*/]; //鱨ͨ 1-T12-T2 3-N1 4-N25-G1 6-G2 - BYTE byDealFailCenter[MAX_CENTERGROUP_NUM/*16*/]; //ָ鷢ʧܱ棬±ʾĸ飬0-ѡ1-ѡ - BYTE byDataType; //1- 2-DZ 3- - BYTE byRes2[15]; //2 -}NET_DVR_ALARMHOST_REPORTCENTER_CFG, *LPNET_DVR_ALARMHOST_REPORTCENTER_CFG; - -#define MAX_EVENT_NUM 32//籨¼ -typedef struct tagNET_DVR_ALARMHOST_REPORT_CENTER_CFG_V40 -{ - DWORD dwSize; - BYTE byValid; //Ƿ - BYTE byDataType; //1-б 2-зDZ 3-ݣ4-棬5-Ƿ - BYTE byRes[2]; //1 - BYTE byChanAlarmMode[MAX_REPORTCHAN_NUM/*4*/]; //鱨ͨ 1-T12-T2 3-N1 4-N25-G1 6-G27-N3 8-N49-CMK-4G10-CMK-NET(豸֧3GG1G2ʾ3Gģ飬֧֣ʾGPRSģ飬һ豸3GģGPRSģֻһ) - BYTE byDealFailCenter[MAX_CENTERGROUP_NUM/*16*/]; //ָ鷢ʧܱ棬±ʾĸ飬0-ѡ1-ѡ - BYTE byZoneReport[MAX_ALARMHOST_ALARMIN_NUM]; //ͣ0-ϴ1-ϴ - BYTE byNonZoneReport[MAX_EVENT_NUM]; //Ƿ, ÿһԪرʾһ¼ͣ0-ϴ1-ϴbyNonZoneReport[0]- byNonZoneReport[1]-ϵͳ״̬ byNonZoneReport[2]-ȡ byNonZoneReport[3]-Ա byNonZoneReport[4]- byNonZoneReport[5]- byNonZoneReport[6]-Юֱ byNonZoneReport[7]-ָ byNonZoneReport[8]-· byNonZoneReport[9]-·ָ档byNonZoneReport[10]-̽״̬棨ߡߣbyNonZoneReport[11]-̽״̬棨ѹǷѹbyNonZoneReport[12]-Ƶ - BYTE byAlarmNetCard[MAX_REPORTCHAN_NUM/*4*/]; //鱨ģ0-11-22-չ1,3-չ2ͨΪN1N2N3N4ʱЧ - BYTE byRes2[252]; //2 -}NET_DVR_ALARMHOST_REPORT_CENTER_CFG_V40, *LPNET_DVR_ALARMHOST_REPORT_CENTER_CFG_V40; - - -//////////״̬ϴ///////////// -typedef struct tagNET_DVR_ALARMHOST_SAFETYCABINSTATE -{ - DWORD dwSize; - BYTE byEnterButton; //Űť״̬ 0- 1-ť - BYTE byExitButton; //Űť״̬ 0- 1-ť - BYTE byDoorState; //״̬ 0-Źر 1-Ŵ - BYTE byLockState; //״̬ 0- 1- - BYTE byUrgencyButton; //ť״̬ 0- 1-ť - BYTE byManState; //״̬ 0-û 1- - BYTE byAbnormal; //쳣״̬ 0- 1-쳣(ʹóʱϴ쳣) - BYTE byLightState; //ƹ״̬ 0- 1- - BYTE byFanState; //״̬ 0-أ1- - BYTE byFollow; //β״̬ 0-β棬1-β - BYTE byFighting; //״̬ 0-޴򶷣1-д - BYTE byFaint; //ε״̬ 0-ε1-ε - BYTE byManyPerson; //״̬ 0-޶˽գ1-˽ - BYTE byRes[59]; // -}NET_DVR_ALARMHOST_SAFETYCABINSTATE,*LPNET_DVR_ALARMHOST_SAFETYCABINSTATE; - -/////////ڣ״̬ϴ///////////// -typedef struct tagNET_DVR_ALARMHOST_ALARMOUTSTATUS -{ - DWORD dwSize; - BYTE byName[32]; //ƻ򾯺 - BYTE byAlarmType; //1-״̬ 2-״̬ - WORD wChan; //DZ״ֵ̬ķΧΪ0-511Ǿ״̬Χ1-8ֻ1 - BYTE byAlarmStatus; //״̬ 0-ޱ 1-б - BYTE byRes[32]; -}NET_DVR_ALARMHOST_ALARMOUTSTATUS,*LPNET_DVR_ALARMHOST_ALARMOUTSTATUS; - -//////////ϴ///////////// -typedef struct tagNET_DVR_AUDIO_PARAM -{ - DWORD dwSize; - BYTE byAudioFormat; //Ƶʽ1-G7112-G722 - BYTE byRes1; - WORD wChannels; // number of channels (i.e. mono, stereo...) - DWORD dwSamplesPerSec; // - BYTE byRes2[20]; // - DWORD dwAudioSize; //ƵȴСѹĴС -}NET_DVR_AUDIO_PARAM,*LPNET_DVR_AUDIO_PARAM; - -//ԤV40ӿ -typedef struct tagNET_DVR_PREVIEWINFO -{ - LONG lChannel;//ͨ - DWORD dwStreamType; // ͣ0-1-2-33-4, 4-5,5-6,7-7,8-8,9-9,10-10 - DWORD dwLinkMode;// 0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-RTP/RTSP,5-RSTP/HTTP ,6- HRUDPɿ䣩 ,7-RTSP/HTTPS - HWND hPlayWnd;//Ŵڵľ,ΪNULLʾͼ - DWORD bBlocked; //0-ȡ, 1-ȡ, SDKڲconnectʧܽ5sijʱܹ,ʺѯȡ. - DWORD bPassbackRecord; //0-¼ش,1¼ش - BYTE byPreviewMode;//Ԥģʽ0-Ԥ1-ӳԤ - BYTE byStreamID[STREAM_ID_LEN/*32*/];//IDlChannelΪ0xffffffffʱô˲ - BYTE byProtoType; //ӦòȡЭ飬0-˽Э飬1-RTSPЭ,2-SRTPܣӦ˽ṹdwLinkMode ֶΣ֧·ʽ, Ϊ1ʾudp䷽ʽTLSܣSRTPܣΪ2ʾಥ䷽ʽTLSܣSRTPܣ - BYTE byRes1; - BYTE byVideoCodingType; //ݱ 0-ͨñ 1-ȳ̽ԭʼݣ¶ݵļϢͨȥ㣬ԭʼʵ¶ֵ - DWORD dwDisplayBufNum; //ſⲥŻ󻺳֡Χ1-500ʱĬΪ1 - BYTE byNPQMode; //NPQֱģʽǹý 0-ֱ 1-ý - BYTE byRecvMetaData; //Ƿmetadataݣ豸Ƿָ֧ùͨGET /ISAPI/System/capabilities DeviceCap.SysCap.isSupportMetadataǷΪtrue - BYTE byDataType; //ͣ0-ݣ1-Ƶ - BYTE byRes[213]; -}NET_DVR_PREVIEWINFO, *LPNET_DVR_PREVIEWINFO; - -//ö -typedef enum _NET_DVR_LINK_KIND_ -{ - ENUM_LINK_PREVIEW = 1, //Ԥ - ENUM_LINK_PLAYBACK, //طţ - ENUM_LINK_VOICEPLAY //Խ/ת -}NET_DVR_LINK_KIND; - -//ӵַṹ壬RTSPȡʱһ˿ͨŵ -typedef struct tagNET_DVR_LINK_ADDR -{ - NET_DVR_IPADDR_UNION uLocalIP; //IPַ - WORD wLocalPort[10]; //ض˿ں - BYTE byLocalPortNum; //ض˿ - BYTE byRes1[3]; - NET_DVR_IPADDR_UNION uDevIP; //豸IPַ - WORD wDevPort[10]; //豸˿ں - BYTE byDevPortNum; //豸˿ - BYTE byRes2[3]; - BYTE byRes[80]; -}NET_DVR_LINK_ADDR, *LPNET_DVR_LINK_ADDR; - -//豸ȡ -typedef struct tagNET_DVR_PREVIEWINFO_SPECIAL -{ - char sURL[1024]; //ȡURLӦ/ISAPI/SDT/Management/Region/IDصȡURL豸صURLϷҪûڵ㣬ûϢdeviceUserdevicePasswordڵ - //ʾrtsp://admin:abcd12345@10.7.37.2:554/Streaming/Channels/101?transportmode=unicast - DWORD dwLinkMode;// 0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-RTP/RTSP,5-RSTP/HTTP - HWND hPlayWnd;//Ŵڵľ,ΪNULLʾͼ - DWORD bBlocked; //0-ȡ, 1-ȡ, SDKڲconnectʧܽ5sijʱܹ,ʺѯȡ. - DWORD dwDisplayBufNum; //ſⲥŻ󻺳֡Χ1-500ʱĬΪ1 - BYTE byRes[64]; -}NET_DVR_PREVIEWINFO_SPECIAL, *LPNET_DVR_PREVIEWINFO_SPECIAL; - - -//¼ - -typedef struct tagNET_DVR_TRIGGER_EVENT -{ - DWORD dwSize; - DWORD dwOverallEventTriggerAlarmoutOn; //ȫ¼λbit0-磬bit1-صѹͣbit2-绰ߵߣbit3-쳣bit4-쳣 ,bit5-Ӳ̹, bit6-3G/4Gź쳣, bit7-ģӣ bit8- WIFIͨŹϣbit9-RFźŸŹ - DWORD dwOverallEventTriggerAlarmoutOff; //ȫ¼λbit0-磬bit1-صѹͣbit2-绰ߵߣbit3-쳣bit4-쳣 ,bit5-Ӳ̹, bit6-3G/4Gź쳣, bit7-ģӣ bit8- WIFIͨŹϣbit9-RFźŸŹ - DWORD dwSubSystemEventTriggerAlarmoutOn[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ¼,dwSubSystemEvent[0]ʾϵͳ1dwSubSystemEvent[2]ʾϵͳ2ϵͳȡwSubSystemÿϵͳ¼λʾbit0-ʱbit1-˳ʱbit2-bit3-bit4-bit5-,bit6-ָ,bit7-,bit8-ָ - DWORD dwSubSystemEventTriggerAlarmoutOff[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ¼ر,wSubSystemEvent[0]ʾϵͳ1dwSubSystemEvent[2]ʾϵͳ2ϵͳȡwSubSystemÿϵͳ¼λʾbit0-ʱbit1-˳ʱbit2-bit3-bit4-bit5-,bit6-ָ,bit7-,bit8-ָ - BYTE byRes[128]; -}NET_DVR_TRIGGER_EVENT, *LPNET_DVR_TRIGGER_EVENT; - -//ϴ -typedef struct tagNET_DVR_ALARMHOST_FAULT_CFG -{ - DWORD dwSize; - DWORD dwCheckFault; //Ƿϣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣bit9- FPGAϣbit10- ģ, bit11-չ쳣bit12-WIFIͨŹϣbit13-RFźŸŹϣֵ֧Ĺʹȡ - DWORD dwOverallFaultJointLED; //Ϲȫָּʾ bit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣ֵ֧Ĺʹȡ - DWORD dwOverallFaultJointSound; //Ϲȫּ bit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣ֵ֧Ĺʹȡ - DWORD dwSubSystemFaultJointLED[MAX_ALARMHOST_SUBSYSTEM]; /*ϹϵͳָʾdwSubSystemFaultJointLED[0]ʾϵͳ1ĹϢdwSubSystemFaultJointLED[0]ÿһλʾһйϣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣; dwSubSystemFaultJointLED[1]ʾϵͳ2Դ*/ - DWORD dwSubSystemFaultJointSound[MAX_ALARMHOST_SUBSYSTEM];/*ϹϵͳڼdwSubSystemFaultJointLED[0]ʾϵͳ1ĹϢdwSubSystemFaultJointSound [0]ÿһλʾһйϣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣; dwSubSystemFaultJointSound [1]ʾϵͳ2Դ*/ - DWORD dwFaultJointFaultLight;//Ϲϵ - BYTE byRes[60]; -}NET_DVR_ALARMHOST_FAULT_CFG, *LPNET_DVR_ALARMHOST_FAULT_CFG; - -typedef struct tagNET_DVR_LIST_INFO -{ - DWORD dwSize; - BYTE byIndex; //ϵͳţ0xffʾϵͳ - BYTE byRes[63]; // -}NET_DVR_LIST_INFO, *LPNET_DVR_LIST_INFO; - -#define CID_CODE_LEN 4 -#define DEV_SERIAL_LEN 9 -typedef enum tagNET_DVR_ALARMHOST_REPORT_TYPE -{ - NET_DVR_DEFENCE_ALARM = 1, // - NET_DVR_VIDEO_ALARM, //Ƶ - NET_DVR_VIRTUAL_DEFENCE_ALARM, // - NET_DVR_HOSTAGE_ALARM, //Юֱ - NET_DVR_KNOCK_DOWN_ALARM, //𱨾 - NET_DVR_OPERATE_ALARM, // - NET_DVR_OHTER_ABNORMAL_ALARM //쳣 -}NET_DVR_ALARMHOST_REPORT_TYPE; - - -typedef enum tagNET_DVR_ALARMHOST_CID_MAIN_TYPE -{ - CID_ENTER = 1000, /*Ļ*/ - CID_EXIT = 3000 /*ָĻ*/ -}NET_DVR_ALARMHOST_CID_MAIN_TYPE; - - -typedef enum tagNET_DVR_ALARMHOST_CID_MINOR_TYPE -{ - CID_MEDICAL_ALARM = 100, /*Ȼ*/ - CID_ALARM = 103, /**/ - CID_FIRE_ALARM = 110, /**/ - CID_ABDUCT_REPORT = 121, /*Юֱ*/ - CID_SILENT_24 = 122, /*24Сʱ*/ - CID_AUDIO_24 = 123, /*24Сʱ*/ - CID_AUXILIARY_24 = 124, /*24Сʱ*/ - CID_SHOCK_24 = 125, /*24Сʱ*/ - CID_OVERTIME_ALARM = 126, /*ʱ*/ - CID_EMERGENCE_CALL_HELP = 129, /**/ - CID_BURGLARY_ALARM = 130, /*Ա*/ - CID_PERIMETER_ALARM = 131, /*ܽ*/ - CID_INNET_ALARM = 132, /*ڲ*/ - CID_ENTER_EXIT = 134, /**/ - CID_DEVICE_OPEN = 137, /*豸*/ - CID_ZONE_BUS_BREAK = 141, /*߿·*/ - CID_ZONE_BUS_SHORT = 142, /*߶·*/ - CID_MOTION_ALARM = 148, /*ƶ*/ - CID_GAS_LEAKAGE = 151, /*ȼй©*/ - CID_ZONE_EARLY_WARNING = 207, /*Ԥ*/ - CID_AC_LOSS = 301, /**/ - CID_LOW_BATT_VOL = 302, /*صѹ*/ - CID_DEV_RESET = 305, /*λ*/ - CID_MBUS_MODEL_FAULT = 333, /*չģ*/ - CID_PRINTER_FAIL = 336, /*ӡ*/ - CID_LOW_EXPANDER_VOL = 338, /*չģѹ*/ - CID_EXPANDER_OPEN = 341, /*չģ鱻*/ - CID_EXPANDER_AC_POWER_DOWN = 342, /*չģ齻*/ - CID_WIRELESS_REPEATER_TAMPERED = 343, /*м𴥷*/ - CID_WIRELESS_SIREN_TAMPERED = 344, /*߾ŷ𴥷*/ - CID_WIRELESS_SIREN_DISCONNECTED = 345, /*߾ŵ*/ - CID_LINE_LOSS = 354, /*绰ͨѶʧ*/ - CID_BUS_LOSS = 382, /*չģ*/ - CID_DETECTOR_OPEN = 383, /*Ӧ*/ - CID_ZONE_OPEN_CIRCUIT = 386, /*·*/ - CID_ZONE_SHORT_CIRCUIT = 387, /*·*/ - CID_GUARD = 401, /**/ - CID_GUARD_AUTO = 403, /*Զ*/ - CID_CANCEL_ARM = 406, /**/ - CID_GUARD_IMME = 408, /*ʱ*/ - CID_KEY_ZONE_GUARD = 409, /*Կ׷*/ - CID_GUARD_STAY = 441, /*ز*/ - CID_FORCED_ARM = 442, /*ǿƲ*/ - CID_AUTOCTRL_TRIG = 443, /*ʱ/ش*/ - CID_ONETOUCH_AWAY_ARMING = 444, /*һ*/ - CID_ONETOUCH_STAY_ARMING = 445, /*һز*/ - CID_CARD_ARMING_OR_DISARMING = 446, /*ˢ*/ - CID_LATE_TO_DISARM = 452, /*ٵ*/ - CID_AUTOGUARD_FAIL = 455, /*Զʧ*/ - CID_AOPEN_TRIG_FAIL = 460, /*ʱʧ*/ - CID_ACLOSE_TRIG_FAIL = 461, /*ʱرմʧ*/ - CID_AUTOUNGUARD_FAIL = 462, /*Զʧ*/ - CID_BYPASS = 570, /*·¼*/ - CID_GROUP_BYPASS = 574, /*·*/ - CID_MANUAL_TEST_RPT = 601, /*ֶԱ*/ - CID_AUTO_TEST_RPT = 602, /*ʱԱ*/ - CID_PHONE_CONNET_TEST = 617, /*绰·*/ - CID_ENTER_PROG = 627, /**/ - CID_EXIT_PROG = 628, /*˳*/ - CID_FIELD_DETECTION = 759, /**/ - CID_LINE_DETECTION = 773, /*籨*/ - CID_PIR_ALARM = 774, /*PIR*/ - CID_SOUND_INTENSITY_RISE = 775, /*ǿ*/ - CID_SOUND_INTENSITY_DROP = 776, /*ǿ*/ - CID_AUDIO_INPUT_EXCEPTION = 777, /*Ƶ쳣*/ - CID_SOFT_INSTAND = 810, /**/ - CID_SOFT_FIRE = 811, /**/ - CID_SOFT_MOBS = 812, /*˾mobster*/ - CID_KEYPAD_LOCKED = 862, /**/ - CID_ABSENCE_ALARM = 863, /*ֵ*/ - CID_KEY_FAIL = 910, /*̵*/ - CID_TRIGGER_FAIL = 911, /*ϴ*/ - CID_GPK_FAIL = 912, /*GP/K*/ - CID_MODULE_FAIL = 913, /*MN/K*/ - CID_WIRELESS_DETECTOR_FAIL = 914, /*̽*/ - CID_WIRELESS_DETECTOR_BATTERY_LOW = 915,/*̽Ƿѹ/ָ*/ - CID_EXPANDER_DISCONNECT = 916, /*չģ*/ - CID_WIRELESS_REPEATER_DISCONNECT = 917, /*м*/ - CID_RADAR_TRANS_FAULT = 918, /*״ź쳣*/ - CID_WIRELESS_SIREN_LOW_BATTERY = 919, /*߾ŵ*/ - CID_WRIE_LESS_NET = 920, /**/ - CID_SIM_FAULT = 921, /*SIM*/ - CID_WIFI_ABNORMAL = 922, /*WIFIͨ쳣/ָ*/ - CID_RF_ABNORMAL = 923, /*RFź쳣/ָ*/ - CID_DATE_TRAFFIC_OVERFLOW = 924, /**/ - CID_IPADDR_CONFLICT = 930, /*IPͻ*/ - CID_ETHERNET_BROKEN = 931, /*߶*/ - CID_GROUP_OUT_RP = 932, /*ͨѶʧ*/ - CID_GROUP_IN_RP = 933, /*ͨͨѶʧ*/ - CID_MOTION_DECTECT = 940, /*ƶⱨʼ/*/ - CID_MASK_ALARM = 941, /*ڵʼ/*/ - CID_VI_LOST = 942, /*Ƶʧʼ/*/ - CID_VS_MISMATCH = 943, /*/Ƶʽƥ*/ - CID_VI_EXCEPTION = 944, /*Ƶ쳣/ָ*/ - CID_HD_FULL = 945, /*Ӳ/ָ*/ - CID_HD_ERROR = 946, /*Ӳ̴/ָ*/ - CID_PIC_SEND_FAILED = 947, /*ͼƬϴʧ*/ - CID_KEY_LOCKED = 948, /**/ - CID_NETWORK_CAMERA_DISCONNECT = 949, /*IPCϿ*/ - CID_DUTY_CHECKING = 960, /*ֵز*/ - CID_POST_RESPONSE = 961, /*ֵӦ*/ - CID_ZONE_BUS_SEARCH = 970, /**/ - CID_ZONE_BUS_REGIST = 971, /*ע*/ - CID_GUARD_DELAY_OP = 972, /*Զʱ*/ - CID_GUARD_SINGLE = 973, /**/ - CID_SINGLE_ZONE_CLEARED = 974, /**/ - CID_ZONE_ASSOCIATED_DETECTOR = 975, /*/ɾ̽*/ - CID_ZONE_CONSULTING = 976, /*ҵѯ*/ - CID_EXPANDER_DELETED = 977, /*ɾչģ*/ - CID_WIRELESS_REPEATER_DELETED = 978, /*ɾм*/ - CID_WIRELESS_SIREN_DELETED = 979, /*ɾ߾*/ -}NET_DVR_ALARMHOST_CID_MINOR_TYPE; - -typedef enum tagNET_DVR_ALARMHOST_CID_ALL_MINOR_TYPE -{ - CID_TYPE_MEDICAL_ALARM = 1100, /*˾Ȼ*/ - CID_TYPE_MEDICAL_ALARM_RESET = 3100, /*˾Ȼָ*/ - CID_TYPE_ALARM = 1103, /*ʱ*/ - CID_TYPE_ALARM_RESET = 3103, /*ʱָ*/ - CID_TYPE_FIRE_ALARM = 1110, /*𾯱*/ - CID_TYPE_FIRE_ALARM_RESET = 3110, /*𾯱ָ*/ - CID_TYPE_ABDUCT_REPORT = 1121, /*Юֱ*/ - CID_TYPE_SILENT_24 = 1122, /*24Сʱ*/ - CID_TYPE_SILENT_24_RESET = 3122, /*24Сʱָ*/ - CID_TYPE_AUDIO_24 = 1123, /*24Сʱ*/ - CID_TYPE_AUDIO_24_RESET = 3123, /*24Сʱָ*/ - CID_TYPE_AUXILIARY_24 = 1124, /*24Сʱ*/ - CID_TYPE_AUXILIARY_24_RESET = 3124, /*24Сʱָ*/ - CID_TYPE_SHOCK_24 = 1125, /*24Сʱ𶯱*/ - CID_TYPE_SHOCK_24_RESET = 3125, /*24Сʱ𶯱ָ*/ - CID_TYPE_TIMEOUT = 1126, /*ʱ*/ - CID_TYPE_TIMEOUT_RESET = 3126, /*ʱָ*/ - CID_TYPE_EMERGENCE_CALL_HELP = 1129, /**/ - CID_TYPE_EMERGENCE_CALL_HELP_RESET = 3129, /*ָ*/ - CID_TYPE_BURGLARY_ALARM = 1130, /*Ա*/ - CID_TYPE_BURGLARY_ALARM_RESET = 3130, /*Աָ*/ - CID_TYPE_PERIMETER_ALARM = 1131, /*ܽ籨*/ - CID_TYPE_PERIMETER_ALARM_RESET = 3131, /*ܽ籨ָ*/ - CID_TYPE_INNET_ALARM = 1132, /*ڲʱ*/ - CID_TYPE_INNET_ALARM_RESET = 3132, /*ڲʱָ*/ - CID_TYPE_ENTER_EXIT = 1134, /*ʱ*/ - CID_TYPE_ENTER_EXIT_RESET = 3134, /*ʱָ*/ - CID_TYPE_DEVICE_OPEN = 1137, /*豸𱨾*/ - CID_TYPE_DEVICE_OPEN_RESET = 3137, /*豸𱨾ָ*/ - CID_TYPE_ZONE_BUS_BREAK = 1141, /*߿·*/ - CID_TYPE_ZONE_BUS_BREAK_RESET = 3141, /*߿·ָ*/ - CID_TYPE_ZONE_BUS_SHORT = 1142, /*߶·*/ - CID_TYPE_ZONE_BUS_SHORT_RESET = 3142, /*߶·ָ*/ - CID_TYPE_MOTION_ALARM = 1148, /*豸ƶ*/ - CID_TYPE_MOTION_ALARM_RESET = 3148, /*豸ƶָ*/ - CID_TYPE_GAS_LEAKAGE_ALARM = 1151, /*ȼй©*/ - CID_TYPE_GAS_LEAKAGE_ALARM_RESET = 3151, /*ȼй©ָ*/ - CID_TYPE_ZONE_EARLY_WARNING = 1207, /*Ԥ*/ - CID_TYPE_ZONE_EARLY_WARNING_RESET = 3207, /*Ԥָ*/ - CID_TYPE_AC_LOSS = 1301, /**/ - CID_TYPE_AC_LOSS_RESET = 3301, /*ָ*/ - CID_TYPE_LOW_BATT_VOL = 1302, /*صѹ*/ - CID_TYPE_LOW_BATT_VOL_NORMAL = 3302, /*صѹ*/ - CID_TYPE_DEV_RESET = 1305, /*λ*/ - CID_TYPE_MBUS_MODEL_FAULT = 1333, /*չģ*/ - CID_TYPE_MBUS_MODEL_RESET = 3333, /*չģָ*/ - CID_TYPE_PRINTER_OFF = 1336, /*ӡ*/ - CID_TYPE_PRINTER_ON = 3336, /*ӡָ*/ - CID_TYPE_EXTEND_MODULE_VOL_LOW = 1338, /*չģѹ*/ - CID_TYPE_EXTEND_MODULE_VOL_NORMAL = 3338, /*չģѹ*/ - CID_TYPE_EXTEND_MODULE_REMOVE = 1341, /*չģ𴥷*/ - CID_TYPE_EXTEND_MODULE_RECOVER = 3341, /*չģָ*/ - CID_TYPE_EXTEND_MODULE_AC_LOSS = 1342, /*չģ齻*/ - CID_TYPE_EXTEND_MODULE_AC_LOSS_RESET = 3342, /*չģ齻ָ*/ - CID_TYPE_WIRELESS_REPEATER_TAMPER = 1343, /*м𴥷*/ - CID_TYPE_WIRELESS_REPEATER_RESTORE = 3343, /*мָ*/ - CID_TYPE_WIRELESS_SIREN_TAMPER = 1344, /*߾ŷ𴥷*/ - CID_TYPE_WIRELESS_SIREN_RESTORE = 3344, /*߾ŷָ*/ - CID_TYPE_WIRELESS_SIREN_DISCONNECT = 1345, /*߾ŵ*/ - CID_TYPE_WIRELESS_SIREN_CONNECT = 3345, /*߾ŵ߻ָ*/ - CID_TYPE_LINE_LOSS = 1354, /*绰߶Ͽ*/ - CID_TYPE_LINE_LOSS_RESET = 3354, /*绰*/ - CID_TYPE_BUS_LOSS = 1382, /*չģ*/ - CID_TYPE_BUS_LOSS_RESET = 3382, /*չģ߻ָ*/ - CID_TYPE_SENSOR_TAMPER = 1383, /*Ӧ*/ - CID_TYPE_SENSOR_TAMPER_RESET = 3383, /*Ӧָ*/ - CID_TYPE_ZONE_OPEN_CIRCUIT_ALARM = 1386, /*·*/ - CID_TYPE_ZONE_SHORT_CIRCUIT_ALARM = 1387, /*·*/ - CID_TYPE_DISARM = 1401, /**/ - CID_TYPE_ARM = 3401, /**/ - CID_TYPE_DISARM_AUTO = 1403, /*Զ*/ - CID_TYPE_ARM_AUTO = 3403, /*Զ*/ - CID_TYPE_CANCEL_ARM = 1406, /**/ - CID_TYPE_ARM_IMME = 3408, /*ʱ*/ - CID_TYPE_KEY_ZONE_ARM = 1409, /*Կ׷*/ - CID_TYPE_KEY_ZONE_DISARM = 3409, /*Կ׷*/ - CID_TYPE_GUARD_STAY = 3441, /*ز*/ - CID_TYPE_FORCED_ARM = 3442, /*ǿƲ*/ - CID_TYPE_AUTOCTRL_TRIG_ON = 1443, /*ʱ*/ - CID_TYPE_AUTOCTRL_TRIG_OFF = 3443, /*ʱش*/ - CID_TYPE_LATE_TO_DISARM = 1452, /*ٵ*/ - CID_TYPE_AUTOGUARD_FAIL = 1455, /*Զʧ*/ - CID_TYPE_AOPEN_TRIG_FAIL = 1460, /*ʱʧ*/ - CID_TYPE_ACLOSE_TRIG_FAIL = 1461, /*ʱرմʧ*/ - CID_TYPE_AUTOUNGUARD_FAIL = 1462, /*Զʧ*/ - CID_TYPE_BYPASS = 1570, /*·*/ - CID_TYPE_BYPASS_RESET = 3570, /*·ָ*/ - CID_TYPE_GROUP_BYPASS = 1574, /*ϵͳ·*/ - CID_TYPE_GROUP_BYPASS_RESET = 3574, /*ϵͳ·ָ*/ - CID_TYPE_MANUAL_TEST_RPT = 1601, /*ֶԱ*/ - CID_TYPE_AUTO_TEST_RPT = 1602, /*ʱԱ*/ - CID_TYPE_LINE_TEST = 1617, /*绰·*/ - CID_TYPE_ENTER_PROG = 1627, /**/ - CID_TYPE_EXIT_PROG = 1628, /*˳*/ - CID_TYPE_FIELD_DETECTION = 1759, /**/ - CID_TYPE_FIELD_DETECTION_RESET = 3759, /*ָֻ*/ - CID_TYPE_LINE_DETECTION = 1773, /*籨*/ - CID_TYPE_LINE_DETECTION_RESET = 3773, /*籨ָ*/ - CID_TYPE_PIR_ALARM = 1774, /*PIR*/ - CID_TYPE_PIR_ALARM_RESET = 3774, /*PIRָ*/ - CID_TYPE_SOUND_INTENSITY_RISE = 1775, /*ǿ*/ - CID_TYPE_SOUND_INTENSITY_RISE_RESET = 3775, /*ǿָ*/ - CID_TYPE_SOUND_INTENSITY_DROP = 1776, /*ǿ*/ - CID_TYPE_SOUND_INTENSITY_DROP_RESET = 3776, /*ǿָ*/ - CID_TYPE_AUDIO_INPUT_EXCEPTION = 1777, /*Ƶ쳣*/ - CID_TYPE_AUDIO_INPUT_EXCEPTION_RESET = 3777, /*Ƶ쳣ָ*/ - CID_TYPE_SOFT_INSTAND = 1810, /**/ - CID_TYPE_SOFT_FIRE = 1811, /**/ - CID_TYPE_SOFT_MOBS = 1812, /*˾*/ - CID_TYPE_KEYPAD_LOCK = 1862, /**/ - CID_TYPE_KEYPAD_UNLOCK = 3862, /*̽*/ - CID_TYPE_ABSENCE_ALARM = 1863, /*ֵ*/ - CID_TYPE_KEY_FAIL = 1910, /*̵*/ - CID_TYPE_KEY_RESET = 3910, /*ָ̻*/ - CID_TYPE_TRIGGER_FAIL = 1911, /*ϴ*/ - CID_TYPE_TRIGGER_RESET = 3911, /*ϴָ*/ - CID_TYPE_GPK_FAIL = 1912, /*GP/K*/ - CID_TYPE_GPK_RESET = 3912, /*GP/Kָ*/ - CID_TYPE_MODULE_FAIL = 1913, /*MN/K*/ - CID_TYPE_MODULE_RESET = 3913, /*MN/Kָ*/ - CID_TYPE_WIRELESS_DETECTOR_FAIL = 1914, /*̽*/ - CID_TYPE_WIRELESS_DETECTOR_RESET = 3914, /*̽߻ָ*/ - CID_TYPE_WIRELESS_DETECTOR_BATTERY_LOW = 1915, /*̽ѹ*/ - CID_TYPE_WIRELESS_DETECTOR_BATTERY_NORMAL = 3915, /*̽ѹ*/ - CID_TYPE_EXTEND_MODULE_LOSS = 1916, /*չģ*/ - CID_TYPE_EXTEND_MODULE_LOSS_RESET = 3916, /*չģ߻ָ*/ - CID_TYPE_WIRELESS_REPEATER_DISCONNECT = 1917, /*м*/ - CID_TYPE_WIRELESS_REPEATER_CONNECT = 3917, /*м߻ָ*/ - CID_TYPE_RADAR_TRANS_FAULT = 1918, /*״ź쳣*/ - CID_TYPE_RADAR_TRANS_RESET = 3918, /*״ź쳣ָ*/ - CID_TYPE_WRIELESS_SIREN_LOW_BATTERY = 1919, /*߾ŵ*/ - CID_TYPE_NORMAL_WRIELESS_SIREN_BATTERY = 3919, /*߾ŵ*/ - CID_TYPE_WRIELESS_NET_FAULT = 1920, /**/ - CID_TYPE_WRIELESS_NET_RESET = 3920, /*ϻָ*/ - CID_TYPE_SIM_FAULT = 1921, /*SIM쳣*/ - CID_TYPE_SIM_RESET = 3921, /*SIM쳣ָ*/ - CID_TYPE_WIFI_ABNORMAL = 1922, /*WIFIͨ쳣*/ - CID_TYPE_WIFI_NORMAL = 3922, /*WIFIͨŻָ*/ - CID_TYPE_RF_ABNORMAL = 1923, /*RFź쳣*/ - CID_TYPE_RF_NORMAL = 3923, /*RFź*/ - CID_TYPE_DATE_TRAFFIC_OVERFLOW = 1924, /**/ - CID_TYPE_IPADDR_CONFLICT = 1930, /*IPͻ*/ - CID_TYPE_IPADDR_NORMAL = 3930, /*IP*/ - CID_TYPE_ETHERNET_BROKEN = 1931, /**/ - CID_TYPE_ETHERNET_NORMAL = 3931, /*ϻָ*/ - CID_TYPE_MOTION_DECTECT_START = 1940, /*ƶⱨʼ*/ - CID_TYPE_MOTION_DECTECT_STOP = 3940, /*ƶⱨ*/ - CID_TYPE_MASK_ALARM_START = 1941, /*ڵʼ*/ - CID_TYPE_MASK_ALARM_STOP = 3941, /*ڵ*/ - CID_TYPE_VI_LOST_START = 1942, /*ƵźŶʧ*/ - CID_TYPE_VI_LOST_STOP = 3942, /*ƵźŻָ*/ - CID_TYPE_VS_MISMATCH = 1943, /*/Ƶʽƥ*/ - CID_TYPE_VS_MATCH = 3943, /*/Ƶʽָ*/ - CID_TYPE_VI_EXCEPTION = 1944, /*Ƶ쳣*/ - CID_TYPE_VI_NORMAL = 3944, /*Ƶָ*/ - CID_TYPE_HD_FULL = 1945, /*Ӳ*/ - CID_TYPE_HD_FREE = 3945, /*Ӳ̿*/ - CID_TYPE_HD_ERROR = 1946, /*Ӳ쳣*/ - CID_TYPE_HD_RESET = 3946, /*Ӳָ̻*/ - CID_TYPE_PIC_SEND_FAILED = 1947, /*ͼƬϴʧ*/ - CID_TYPE_SENDING_EMAIL_FAILED = 1948, /*ʼʧ*/ - CID_TYPE_NETWORK_CAMERA_DISCONNECT = 1949, /*IPCϿ*/ - CID_TYPE_NETWORK_CAMERA_CONNECT = 3949, /*IPCָ*/ - CID_TYPE_DUTY_CHECKING = 1960, /*ֵز*/ - CID_TYPE_POST_RESPONSE = 1961, /*ֵӦ*/ - CID_TYPE_ZONE_BUS_SEARCH = 1970, /**/ - CID_TYPE_ZONE_BUS_REGIST = 1971, /*ע*/ - CID_TYPE_GUARD_SINGLE_ARM = 1973, /**/ - CID_TYPE_GUARD_SINGLE_DISARM = 3973, /**/ - CID_TYPE_SINGLE_ZONE_ALARM_CLEARED = 1974, /**/ - CID_TYPE_ZONE_ASSOCIATED_DETECTOR_DEL = 1975, /*ɾ̽*/ - CID_TYPE_ZONE_ASSOCIATED_DETECTOR_ADD = 3975, /*̽*/ - CID_TYPE_ZONE_CONSULT = 1976, /*ҵѯ*/ - CID_TYPE_ZONE_CONSULT_STOP = 3976, /*ҵѯ*/ - CID_TYPE_EXTEND_MODULE_DEL = 1977, /*ɾչģ*/ - CID_TYPE_EXTEND_MODULE_ADD = 3977, /*չģ*/ - CID_TYPE_WIRELESS_REPEATER_DEL = 1978, /*ɾм*/ - CID_TYPE_WIRELESS_REPEATER_ADD = 3978, /*м*/ - CID_TYPE_WIRELESS_SIREN_DEL = 1979, /*ɾ߾*/ - CID_TYPE_WIRELESS_SIREN_ADD = 3979 /*߾*/ -}NET_DVR_ALARMHOST_CID_ALL_MINOR_TYPE; - - -typedef struct tagNET_DVR_CID_ALARM -{ - DWORD dwSize; - BYTE sCIDCode[CID_CODE_LEN/*4*/]; //CID¼ - BYTE sCIDDescribe[NAME_LEN/*32*/]; //CID¼ - NET_DVR_TIME_EX struTriggerTime; //ʱ - NET_DVR_TIME_EX struUploadTime; //ϴʱ - BYTE sCenterAccount[ACCOUNTNUM_LEN/*6*/]; //ʺ - BYTE byReportType; //NET_DVR_ALARMHOST_REPORT_TYPE - BYTE byUserType; //ûͣ0-û 1-û,2-ֻû,3-ϵͳû - BYTE sUserName[NAME_LEN/*32*/]; //ûû - WORD wKeyUserNo; //û 0xFFFFʾЧ - BYTE byKeypadNo; //̺ 0xFFʾЧ - BYTE bySubSysNo; //ϵͳ 0xFFʾЧ - WORD wDefenceNo; // 0xFFFFʾЧ - BYTE byVideoChanNo; //Ƶͨ 0ʾЧʾ豸ԴĬƵͨ - BYTE byDiskNo; //Ӳ̺ 0xFFʾЧ - WORD wModuleAddr; //ģַ 0xFFFFʾЧ - BYTE byCenterType; //0-Ч, 1-˺(6),2-չ˺(9) - BYTE byRelativeChannel; //ӵƵͨţ0ʾЧֽڱʾͨ - BYTE sCenterAccountV40[ACCOUNTNUM_LEN_32/*32*/]; //˺V40,ʹôֶʱsCenterAccountЧ - BYTE byDevSerialNo[DEV_SERIAL_LEN]; /*Ʒк*/ - BYTE byRepeaterNo; //мţΪ0Ч - WORD wRemoteCtrllerUserNo; //ңûţΪ0Ч - DWORD dwIOTChannelNo; //IOTͨ - BYTE standardCIDcode; //׼CID - BYTE byRes2[11]; -}NET_DVR_CID_ALARM, *LPNET_DVR_CID_ALARM; - -typedef struct tagNET_DVR_ALARMHOST_MODULE_CFG -{ - DWORD dwSize; - BYTE byModuleType; //1-2- 3- - BYTE byZoneType; //ͣ1-ط2-3-˫4-85-8·ģ6-0xffʾòЧ - BYTE byTriggerType; //ͣ1-ش 2-4·3-8·4-0xffʾòЧ - BYTE byRes1[1]; - char sModelInfo[MODULE_INFO_LEN]; //ģϢ - char sDeviceVersionInfo[VERSION_INFO_LEN]; /* 汾Ϣ*/ - BYTE byRes[188]; -} NET_DVR_ALARMHOST_MODULE_CFG, *LPNET_DVR_ALARMHOST_MODULE_CFG; - - -#define MAX_DECODE_CARD_SUPPORTDISPNUMS 8//ÿ뿨ֵ֧ʾͨ -#define MAX_SUPPORT_RES 32 -typedef struct tagNET_DVR_DECCARD_ABILITY_V41 /*뿨*/ -{ - BYTE byCardType; //뿨(0:MD,1:MD+,2:HD) - BYTE byDecNums; //ͨ - BYTE byDispNums; //ʾͨ - BYTE byDecStartIdx; //׸ͨнͨе - BYTE byDispStartIdx; //׸ʾͨʾͨе - BYTE byRes1[3]; - DWORD dwVgaSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwHdmiSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwDviSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwYpbprSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - BYTE byDispFormat[MAX_DECODE_CARD_SUPPORTDISPNUMS]; //ֵ֧ģʽ(HD_DISPLAY_FORMATеö) - BYTE byWindowMode[MAX_DECODE_CARD_SUPPORTDISPNUMS][12]; //ֵ֧Ĵģʽ(1,2,4,9,16)) - BYTE byRes2[36]; -} NET_DVR_DECCARD_ABILITY_V41,*LPNET_DVR_DECCARD_ABILITY_V41; - -#define MAX_DECODE_CARD_NUM 6 //뿨 -typedef struct tagNET_DVR_DECODESVR_ABILITY_V41 -{ - DWORD dwSize; /* ṹС */ - BYTE byCardNums; /* 뿨 */ - BYTE byStartChan; /* ʼͨ */ - BYTE byRes1[2]; - NET_DVR_DECCARD_ABILITY_V41 struDecCardAbility[MAX_DECODE_CARD_NUM]; - BYTE byRes2[64]; -}NET_DVR_DECODESVR_ABILITY_V41, *LPNET_DVR_DECODESVR_ABILITY_V41; - -// ¼״̬ -typedef struct tagNET_DVR_STREAM_RECORD_STATUS -{ - DWORD dwSize; - BYTE byRecord; //(ֻ)¼, 0¼1¼ 2- - //3- 4-Ƶ 5-δ 6-浵 - //7-ش 8-û 9-δ֤ - //10-浵к¼ 11-¼شк¼12-token֤ʧ - //13-ǰ¼ƻ 14-ͨ쳣ͨ״̬ 15-Ӳ - //16-Ӳ̴ 17-Ӳ - BYTE byOffLineRecord; //¼ 0-ر 1- - BYTE byRes1[2]; //ֽ - DWORD dwRelatedHD; // - BYTE byRes2[8]; //ֽ -}NET_DVR_STREAM_RECORD_STATUS, *LPNET_DVR_STREAM_RECORD_STATUS; - -#define CHAN_NO_LEN 24 - -typedef struct tagNET_DVR_DIRECT_CONNECT_CHAN_INFO -{ - BYTE byEnable; //Ƿ - BYTE byProType; //Эͣ0-˽Э(default), (Ҫ豸ȡ) - BYTE byZeroChan; //Ƿͨ,0-ǣ1- - BYTE byPriority; //ȼ - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - BYTE byDomain[MAX_DOMAIN_NAME]; //豸 - NET_DVR_IPADDR struIP; //IPַ - WORD wDVRPort; //˿ں - BYTE byStreamType; //:0; 1 - BYTE byOnline; //ֻ0- 1- - DWORD dwChannel; //ͨ - BYTE byTransProtocol; //Эͣ0-TCP1-UDP2-ಥ - BYTE byLocalBackUp; //ر: 0-CVRرݣ1-CVRر--طʱһ¼һڴ浵رݣ - WORD wDirectLastTime; //ʱ - BYTE byChanNo[CHAN_NO_LEN]; //ͨ--VAGȡ -}NET_DVR_DIRECT_CONNECT_CHAN_INFO, *LPNET_DVR_DIRECT_CONNECT_CHAN_INFO; - -typedef struct tagNET_DVR_DIRECT_CONNECT_CHAN_INFO_V40 -{ - BYTE byEnable; //Ƿ - BYTE byProType; //Эͣ0-˽Э(default), 1-Э飬2-, 3- (Ҫ豸ȡ) - BYTE byZeroChan; //Ƿͨ,0-ǣ1- - BYTE byRes1; //ֶΣ0 - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - BYTE byAddress[MAX_DOMAIN_NAME]; //ǰIP,Ҫ豸 ʽΪĸ'.'Ϊ,ΪIPַ - WORD wDVRPort; //˿ں - BYTE byStreamType; //:0; 1 - BYTE byOnline; //ֻ0- 1- - DWORD dwChannel; //ͨ - BYTE byTransProtocol; //Эͣ0-TCP1-UDP 2-ಥ - BYTE byLocalBackUp; //رݣ0-CVRرݣ1-CVRر--¼ʱһ¼һڴ浵رݣ - BYTE byRes2[2]; //ֶΣ0 - BYTE byVAGChanNo[MAX_VAG_CHANNO_LEN]; //ЭΪVAGʱӦVAGͨ - BYTE byRes[340]; -}NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40, *LPNET_DVR_DIRECT_CONNECT_CHAN_INFO_V40; - - -typedef struct tagNET_DVR_PU_STREAM_URL_CFG -{ - BYTE byEnable; - BYTE byRes[3]; - BYTE byStreamMediaIP[64];//ýIP - WORD wStreamMediaPort; //ý˿ - BYTE byTransmitType; //ý崫Э 0- TCP 1- UDP - BYTE byRes1[33]; - BYTE byDevIP[64]; //豸IP - WORD wDevPort; //豸˿ - BYTE byChannel; //ͨ - BYTE byTransMode; //ģʽ 0- 1- - BYTE byProType; - // 0-˽ 1- 2- 3-ɳ 4-ɫǼ NET_DVR_GetIPCProtoListӿڻȡ - //VQDýֻ֧ 01ʽֱ֧ 01234 - BYTE byTransProtocol; //Э0-TCP, 1-UDP, 2-ಥʽ, 3-RTP - BYTE byRes3[2]; - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byRes2[28]; //Ԥ -}NET_DVR_PU_STREAM_URL_CFG, *LPNET_DVR_PU_STREAM_URL_CFG; - -typedef struct tagNET_DVR_PU_STREAM_URL_CFG_V40 -{ - BYTE byEnable; - BYTE byRes[3]; - BYTE byStreamMediaIP[64];//ýIP - WORD wStreamMediaPort; //ý˿ - BYTE byTransmitType; //ý崫Э 0- TCP 1- UDP - BYTE byRes1; - BYTE byDevIP[64]; //豸IP - WORD wDevPort; //豸˿ - BYTE byChannel; //ͨ - BYTE byTransMode; //ģʽ 0- 1- - BYTE byProType; - // 0- 1- 2- 3-ɳ 4-ɫǼ NET_DVR_GetIPCProtoListӿڻȡ - //VQDýֻ֧ 01ʽֱ֧ 01234 - BYTE byTransProtocol; //Э0-TCP, 1-UDP 2-ಥʽ - BYTE byRes3[2]; - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byRes2[308]; //Ԥ -}NET_DVR_PU_STREAM_URL_CFG_V40, *LPNET_DVR_PU_STREAM_URL_CFG_V40; - -typedef struct tagNET_DVR_STREAM_URL_V40 -{ - BYTE byEnable; - BYTE byStreamType; // - BYTE byLocalBackUp; //Ƿ񱾵ر - BYTE byRes; - BYTE strURL[URL_LEN_V40]; //ýURLԼ - DWORD dwProtocalType; //IPCЭֵͨȡIPCЭбõ - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byAddress[MAX_DOMAIN_NAME]; //ԴIP,Ҫ ʽΪĸ'.'Ϊ,ΪIPַ - WORD wIPPort; //ԴӦĶ˿ں - WORD wChanNo; //Դ豸IPͨ - BYTE byVAGChanNo[MAX_VAG_CHANNO_LEN]; //Դͨ,VAG - BYTE byRes1[88]; -}NET_DVR_STREAM_URL_V40, *LPNET_DVR_STREAM_URL_V40; - -typedef union tagNET_DVR_STREAM_TYPE_UNION -{ - NET_DVR_DIRECT_CONNECT_CHAN_INFO struChanInfo; //IPͨϢ ֵΪ0 - NET_DVR_PU_STREAM_URL struStreamUrl; //ͨý嵽urlȡֵΪ4 - NET_DVR_PU_STREAM_URL_CFG struStreamUrlCfg; //ͨý嵽ָ豸ȡֵΪ6 -}NET_DVR_STREAM_TYPE_UNION, *LPNET_DVR_STREAM_TYPE_UNION; - -typedef union tagNET_DVR_STREAM_TYPE_V40_UNION -{ - NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40 struChanInfo; //IPͨϢֵΪ0 - NET_DVR_PU_STREAM_URL struPuStreamUrl; //ͨý嵽urlȡֵΪ4 - NET_DVR_PU_STREAM_URL_CFG_V40 struStreamUrlCfg; //ͨý嵽urlȡֵΪ6 - NET_DVR_RTSP_PROTOCAL_CFG struRtspCfg; //ɱ׼RTSPȡ ֵ7 - NET_DVR_STREAM_URL_V40 struStreamUrlV40; //ͨý壨ּ֧ʽԴȡֵΪ8 -}NET_DVR_STREAM_TYPE_V40_UNION, *LPNET_DVR_STREAM_TYPE_V40_UNION; - - -typedef struct tagNET_DVR_STREAM_MODE_TYPE -{ - BYTE byGetStreamType; //ȡʽ0-ֱӴ豸ȡ1-ýȡ2-ͨIPServeripַȡ, 3.ͨIPServerҵ豸ͨýȥ豸 4-ͨýURLȥȡ - BYTE byRes[3]; // ֽ - NET_DVR_STREAM_TYPE_UNION uGetStream; // ͬȡʽṹ -}NET_DVR_STREAM_MODE_TYPE, *LPNET_DVR_STREAM_MODE_TYPE; - -// ԴϢ -typedef struct tagNET_DVR_STREAM_SRC_INFO -{ - DWORD dwSize; - NET_DVR_STREAM_MODE_TYPE struStreamSrcInfo; -}NET_DVR_STREAM_SRC_INFO,*LPNET_DVR_STREAM_SRC_INFO; - -typedef struct tagNET_DVR_STREAM_SRC_INFO_V40 -{ - DWORD dwSize; - BYTE byGetStreamType; //ȡʽ0-ֱӴ豸ȡ1-ýȡ2-ͨIPServeripַȡ, 3.ͨIPServerҵ豸ͨýȥ豸 4-ͨýURLȥȡ 6-ͨý嵽ָ豸ȡ - BYTE byRes1[3]; // ֽ - NET_DVR_STREAM_TYPE_V40_UNION uGetStream; // ͬȡʽṹ - BYTE byMonitorName[128];/*ƣ֧ģСдĸ֣»ߵȷַʽݵ¼صbyCharEncodeTypeֶжϣ - ĿǰCVRӢİ汾һвͬѡCVRҪ󲼷ΪgbkӢİ汾CVRҪ󲼷Ϊiso8859-1硰A¥_1*/ - BYTE byRes[384]; // ֽ -}NET_DVR_STREAM_SRC_INFO_V40,*LPNET_DVR_STREAM_SRC_INFO_V40; - - -// ¼Ϣ -typedef struct -{ - DWORD dwSize; - NET_DVR_RECORD_V30 struRecordInfo; -}NET_DVR_STREAM_RECORD_INFO, *LPNET_DVR_STREAM_RECORD_INFO; - -// IDʱμ -typedef struct tagNET_DVR_STREAM_TIME_LOCK -{ - DWORD dwSize; // ṹС - NET_DVR_TIME strBeginTime; // ʼʱ - NET_DVR_TIME strEndTime; // ʱ - NET_DVR_STREAM_INFO struStreamInfo; // Ϣ - DWORD dwRecordType; // ¼: 0xffffffffȫʱ¼-ƶ⣬-ƶ⣬-ƶ⣬--ֶ¼-¼(ͬļ) - DWORD dwLockDuration; // ʱ,λ룬0xffffffffʾ - NET_DVR_TIME_EX strUnlockTimePoint; // ʱЧdwLockDurationΪʱʱ䵽ʱԶ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ,0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾ, byISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 30, 45+ʾ, byISO8601Ϊ1ʱЧ - BYTE byRes[1]; -}NET_DVR_STREAM_TIME_LOCK, *LPNET_DVR_STREAM_TIME_LOCK; - -//طų֡ӿ ʼ֡ NET_DVR_START_DRAWFRAMEӦĿƽṹ -typedef struct tagNET_DVR_VOD_DRAWFRAME_PARA -{ - NET_DVR_TIME_EX struTime; - /* - dwDrawTypeֻ豸֧ѡԳ֡ʱЧ֡ʽУ - 0ֻI֡ - 11/2 Pֻ֡svc֧֣ - 23/4P֡ ֻsvc֧֣ - 31/2 I֡(ֻI֡ÿ2I֡һ) - 41/4 I(ֻI֡ÿ4I֡һ) - 51/8 I֡(ֻI֡ÿ8I֡һ) - */ - DWORD dwDrawType; - BYTE byRes[128]; -}NET_DVR_VOD_DRAWFRAME_PARA, *LPNET_DVR_VOD_DRAWFRAME_PARA; - -// ID+ʱطŽṹ -typedef struct tagNET_DVR_VOD_PARA -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struIDInfo; - NET_DVR_TIME struBeginTime; - NET_DVR_TIME struEndTime; - HWND hWnd; - BYTE byDrawFrame; //0:֡1֡ - BYTE byVolumeType; //0-ͨ¼ 1-浵 - BYTE byVolumeNum; //ţĿǰָ浵 - BYTE byStreamType; // 0- 1-2-3-ʱӰ - DWORD dwFileIndex; //浵ϵ¼ļ浵¼ʱصֵ - BYTE byAudioFile; //Ƶļ0-1- - BYTE byCourseFile; //γļ0-1- - BYTE byDownload; //Ƿ 0-1- - BYTE byOptimalStreamType; //Ƿͻط 0-1-ǣ˫豸ijһʱڵ¼ļָͲͬ򷵻ʵ͵¼ - BYTE byUseAsyn; //0-ʹͬIO1-ʹ첽IO - BYTE byRes2[19]; -}NET_DVR_VOD_PARA, *LPNET_DVR_VOD_PARA; - -typedef struct tagNET_DVR_VOD_PARA_V50 -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struIDInfo; - NET_DVR_TIME_V50 struBeginTime; - NET_DVR_TIME_V50 struEndTime; - HWND hWnd; - BYTE byDrawFrame; //0:֡1֡ - BYTE byVolumeType; //0-ͨ¼ 1-浵 - BYTE byVolumeNum; //ţĿǰָ浵 - BYTE byStreamType; // 0- 1-2-3-ʱӰ - DWORD dwFileIndex; //浵ϵ¼ļ浵¼ʱصֵ - BYTE byAudioFile; //طƵļ0-طƵļ1-طƵļ - BYTE byCourseFile; //طſγļ0-1- - BYTE byPlayMode; //ŷʽ0-ţ1- - BYTE byLinkMode; //ӷʽ0-TCP1-AdaptiveUDP - BYTE byDownload; //Ƿ 0-1- - BYTE byOptimalStreamType; //Ƿͻط 0-1-ǣ˫豸ijһʱڵ¼ļָͲͬ򷵻ʵ͵¼ - BYTE byDisplayBufNum; //òŻ֡Ϊ0ʱĬΪ3֡hWndΪʱЧ - BYTE byNPQMode; //NPQֱģʽǹý 0-ֱ 1-ý - BYTE sUserName[NAME_LEN/*32*/]; //֤û - BYTE sPassword[PASSWD_LEN/*16*/]; //֤ - BYTE byRemoteFile; //طԶļ0-1- - BYTE byUseAsyn; //0-ʹͬIO1-ʹ첽IO - BYTE byRes2[201]; - BYTE byHls; //HLSطţ0-1- - char* pSavedFileName; //ʱ¼ļ·byDownloadΪ1ʱЧȳ256ᱻض -}NET_DVR_VOD_PARA_V50, *LPNET_DVR_VOD_PARA_V50; - -// ֶ¼ -typedef struct tagNET_DVR_MANUAL_RECORD_PARA -{ - NET_DVR_STREAM_INFO struStreamInfo; - DWORD lRecordType; - BYTE byRes[32]; -}NET_DVR_MANUAL_RECORD_PARA, *LPNET_DVR_MANUAL_RECORD_PARA; - - -// CABACѹѡ20%ֻģͨ -typedef struct tagNET_DVR_STREAM_CABAC -{ - DWORD dwSize; //ṹС - BYTE byCabacEnable; //ѹѡֵ0 1 - BYTE byRes1[31]; // -}NET_DVR_STREAM_CABAC, *LPNET_DVR_STREAM_CABAC; - -#define MAX_IOSPEED_GROUP_NUM 4 //IO -#define MAX_IOOUT_NUM 4 //IOڸ -#define MAX_IOIN_NUM 8 //IOڸ -#define MAX_RELAY_NUM 12 //̵豸 2013-11-04 -#define MAX_VEHICLE_TYPE_NUM 8 //Ϣܿ2013-11-04 -#define MAX_IOIN_NUMEX 10 //IOڸ(չ) -#define MAX_ITC_LANE_NUM 6 //󳵵 -#define MAX_LANEAREA_NUM 2 // -#define ITC_MAX_POLYGON_POINT_NUM 20 //֧20Ķ -#define MAX_ITC_SERIALCHECK_NUM 8 //У͸ -#define MAX_LIGHT_NUM 6 //ͨ -#define MAX_VIDEO_INTERVAL_NUM 2 //ץļ -#define MAX_VIDEO_DETECT_LIGHT_NUM 12 //Ƶ -#define MAX_CALIB_RECOG_NUM 2 //궨 -#define MAX_RS485_NUM 12 //485֧ -#define MAX_MOBILE_POLYGON_NUM 3 //ƶ֧ʶ -#define MAX_MOBILE_DETECTLINE_NUM 3 //ƶ֧Υ߸ -#define MAX_IOOUT_K_NUM 8 //KϵIOڸ - -//IOڲ3.1汾֮ -typedef struct tagNET_ITC_IOOUT_PARAM -{ - DWORD dwSize; - BYTE byDefaultStatus;//IOĬ״̬0-͵ƽ1-ߵƽ - BYTE byIOOutStatus;//IOЧʱ״̬0-͵ƽ1-ߵƽ2- - BYTE byMode; //ƹʽ,λʾ0-ʾ1-ʾbit0-Ƶbit1-ڣbit2-Υ - BYTE byIOWorkMode;//IOڹģʽ0-ƣ1-ƫ, 2- - DWORD dwTimeDelay;//IOЧʱ䣬λus - WORD wAheadTime;//IOǰʱ䣬λus - BYTE byFreqMulti; //ƵֵΧ[1,15] - BYTE byDutyRate; //ռձȣ[0,40%] - BYTE byDetectBrightness;/*Զʹ0-⣻1-*/ - BYTE byBrightnessThreld;/*ʹֵΧ[0,100],ֵ*/ - BYTE byFlashLightEnable; //ʱʹ:0-;1- - BYTE byStartHour; //ʼʱ-Сʱ,ȡֵΧ0-23 - BYTE byStartMinute; //ʼʱ-,ȡֵΧ0-59 - BYTE byEndHour; //ʱ-Сʱ,ȡֵΧ0-23 - BYTE byEndMinute; //ʱ-,ȡֵΧ0-59 - BYTE byAutoPlateBrightness;// Զʹ 0- 1- - BYTE byIncrBrightEnable;//Ƿģʽģʽ£ - BYTE byIncrBrightPercent;//ٷֱȣ0~100%ģʽЧ - WORD wIncrBrightTime;//ʱ,λΪ루ģʽЧ - BYTE byBrightness;//ֵ0~100ģʽ£ - BYTE byEnvironBright;//նֵ0~100ģʽЧòֻնֵֵͻøֵΪοȥӦֵ - WORD wDelayCaptureTime;//ʱץʱ1~1000msģʽЧ -}NET_ITC_IOOUT_PARAM, *LPNET_ITC_IOOUT_PARAM; - -typedef enum _ITC_TRIGGERMODE_TYPE_ -{ - ITC_POST_IOSPEED_TYPE = 0x1, //IO٣ڣ - ITC_POST_SINGLEIO_TYPE = 0x2, //IOڣ - ITC_POST_RS485_TYPE = 0x4, //RS485ڣ - ITC_POST_RS485_RADAR_TYPE = 0x8, //RS485״ﴥڣ - ITC_POST_VIRTUALCOIL_TYPE = 0x10, //Ȧڣ - ITC_POST_HVT_TYPE_V50 = 0x20, //пƵV50 - ITC_POST_MPR_TYPE = 0x40, //֡ʶ()(Ver3.7) - ITC_POST_PRS_TYPE = 0x80, //Ƶⴥ - ITC_EPOLICE_IO_TRAFFICLIGHTS_TYPE = 0x100, //IO̵ƣ羯 - ITC_EPOLICE_RS485_TYPE = 0x200, //RS485羯羯 - ITC_POST_HVT_TYPE = 0x400, //пƵڣ - ITC_PE_RS485_TYPE = 0x10000, //RS485ʽ羯ʽ羯 - ITC_VIDEO_EPOLICE_TYPE = 0x20000, //Ƶ羯ʽ羯 - ITC_VIA_VIRTUALCOIL_TYPE = 0x40000, //VIA - ITC_POST_IMT_TYPE = 0x80000, //ǻ۲ - IPC_POST_HVT_TYPE = 0x100000, //IPCֵ֧HVT - ITC_POST_MOBILE_TYPE = 0x200000, //ƶͨģʽ - ITC_REDLIGHT_PEDESTRIAN_TYPE = 0x400000, //˴ƴ - ITC_NOCOMITY_PEDESTRIAN_TYPE = 0x800000 //˴ -}ITC_TRIGGERMODE_TYPE; - -//ӿڵӦpOutBuf -typedef struct tagNET_ITC_TRIGGERMODE_ABILITY -{ - DWORD dwSize; - DWORD dwTriggerType; //ͣλʾITC_TRIGGERMODE_ABILITY壬Ͳͬ˴صĴҲͬ - BYTE byRes[16]; -}NET_ITC_TRIGGERMODE_ABILITY, *LPNET_ITC_TRIGGERMODE_ABILITY; - -typedef struct tagNET_ITC_INTERVAL_PARAM -{ - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - BYTE byRes1[3]; - WORD wInterval[MAX_INTERVAL_NUM];//ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byRes[8]; -}NET_ITC_INTERVAL_PARAM, *LPNET_ITC_INTERVAL_PARAM; - -//ʶ -typedef struct tagNET_ITC_PLATE_RECOG_PARAM -{ - BYTE byDefaultCHN[MAX_CHJC_NUM]; /*豸ʡݵĺּд*/ - BYTE byEnable; //Ƿøʶ0-1- - DWORD dwRecogMode; - /*ʶͣ - bit0-ʶ0-ʶ1-ʶ(βʶ) - bit1-ʶСʶ0-Сʶ1-ʶ - bit2-ɫʶ0-óɫʶڱʶСʶʱֹã1-ɫʶ - bit3-ũóʶ0-ũóʶ1-ũóʶ - bit4-ģʶ0-ģʶ1-ģʶ - bit5-֡λ򳡶λ0-֡λ1-λ - bit6-֡ʶʶ0-֡ʶ1-ʶ - bit7-ϻ죺0-죬1- - bit8-Ħгʶ0-Ħгʶ1-Ħгʶ; - bit9-ģʽ0-羯/֡1-ڣ - bit10-΢Сƣ0-ã1-΢Сʶ(6080) - bit11-ȫ⣺0-ã1-ðȫ - bit12-񺽳ʶ: 0-ã1-񺽳ʶ - bit13-ƹб: 0-ã1-бPRS - bit14-ʶ: 0-ã1-ʶPRS - bit15-⣺0-ã1- - bit16-Ʊ공⣺0-ã1-ûƱ공 - bit17-ΣƷ⣺0-ã1-ΣƷ - bit18-ʹݳʶ0-ã1-ʹݳʶ - bit19-Ʒʶ0-ã1-óƷʶ - bit20-绰ʶ0-ã1- - bit21-ʶ0-ã1- - */ - BYTE byVehicleLogoRecog;//ʶ 0-ã1- - /* - 0-1-ģ2-3-壬4-5-ʣ6-7-8-9-10-11-ԥ - 12-ڣ13-14-棬15-16-գ17-ӣ18-ɣ19-ɣ20-21-࣬22-³ - 23-24-£25-26-27-̨28-29-أ30-ۣ31-£32-ƣ33-㣬 - 34-0xff-ȫ - */ - BYTE byProvince;//ʡֵ - BYTE byRegion;// ֵ 0-1-ŷޣ2-, 3-ŷ&˹(EU&CIS),4-ж(Middle East) - BYTE byCountry;//öCOUNTRY_INDEX(֧֡COUNTRY_ALL = 0xff,//ALL ȫ) - WORD wPlatePixelWidthMin;//ʶСֵλأǰƼΧ[130,500] - WORD wPlatePixelWidthMax;//ʶֵλأǰƼΧ[130,500] - BYTE byRes[24]; -}NET_ITC_PLATE_RECOG_PARAM, *LPNET_ITC_PLATE_RECOG_PARAM; - -//ͽṹ -typedef struct tagNET_ITC_POLYGON -{ - DWORD dwPointNum; //Ч ڵ33һΪЧ߽ΪЧ - NET_VCA_POINT struPos[ITC_MAX_POLYGON_POINT_NUM]; //α߽,20 -}NET_ITC_POLYGON, *LPNET_ITC_POLYGON; - -typedef struct tagNET_ITC_PLATE_RECOG_REGION_PARAM -{ - BYTE byMode; //ͣ0-Σ1- - BYTE byRes1[3]; - union - { - NET_VCA_RECT struRect; // - NET_ITC_POLYGON struPolygon; // - }uRegion; - BYTE byRes[16]; // -}NET_ITC_PLATE_RECOG_REGION_PARAM, *LPNET_ITC_PLATE_RECOG_REGION_PARAM; - -//IOٲ -typedef struct tagNET_ITC_SINGLE_IOSPEED_PARAM -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byTrigCoil1; //һȦIO0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byCoil1IOStatus;//һȦIO״̬0-½أĬϣ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byTrigCoil2; //ڶȦIO0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byCoil2IOStatus;//ڶȦIO״̬0-½أĬϣ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byRelatedDriveWay;//ij - BYTE byTimeOut;//ʱʱ䣨Ĭ10λs - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - DWORD dwDistance;//Ȧ루Ĭ1000,λ - BYTE byCapSpeed;//ٶȣĬ30λkm/h - BYTE bySpeedLimit;//ֵĬ60λkm/h - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE bySnapTimes1; //Ȧ1ץĴĬϲץģ0-ץģ0-Ĵ5 - BYTE bySnapTimes2; //Ȧ2ץĴĬ10-ץģ0-Ĵ5 - BYTE byBigCarSpeedLimit; //󳵳ֵ - BYTE byBigCarSignSpeed;//־()λkm/h(3.7Ver) - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - WORD wInterval1[MAX_INTERVAL_NUM];//Ȧ1ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - WORD wInterval2[MAX_INTERVAL_NUM];//Ȧ2ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IO(ͬʱ)0ʾIO11ʾIO2Դƣ0-1- - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - BYTE byCarSignSpeed;//־٣λkm/h(3.7Ver) - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ(ʶ1һ) - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byLowSpeedLimit; //С޵ֵλkm/h - BYTE byBigCarLowSpeedLimit; //޵ֵλkm/h - BYTE byLowSpeedCapEn; //Ƿõץģ0-1- - BYTE byEmergencyCapEn; //ǷӦץģ0-1- - BYTE byRes[27]; -}NET_ITC_SINGLE_IOSPEED_PARAM, *LPNET_ITC_SINGLE_IOSPEED_PARAM; - -//IOٲ -typedef struct tagNET_ITC_POST_IOSPEED_PARAM -{ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_SINGLE_IOSPEED_PARAM struSingleIOSpeed[MAX_IOSPEED_GROUP_NUM]; //IO - BYTE byRes[32]; -}NET_ITC_POST_IOSPEED_PARAM, *LPNET_ITC_POST_IOSPEED_PARAM; - -//IO -typedef struct tagNET_ITC_SINGLEIO_PARAM -{ - BYTE byDefaultStatus;//IOĬ״̬0-͵ƽ1-ߵƽ - BYTE byRelatedDriveWay;//ij - BYTE bySnapTimes; //ץĴĬ10-ץģ0-Ĵ5 - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byEnable;//IOʹܱ־0-ã1- (Remark:֧ bySupport&0x20ʾǷֵ֧IOIOʹ ʱЧ) - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - BYTE byEmergencyCapEn; //ǷӦץģ0-1- - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byRes[24]; -}NET_ITC_SINGLEIO_PARAM, *LPNET_ITC_SINGLEIO_PARAM; - -//IO -typedef struct tagNET_ITC_POST_SINGLEIO_PARAM -{ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_SINGLEIO_PARAM struSingleIO[MAX_IOIN_NUMEX]; //IO -}NET_ITC_POST_SINGLEIO_PARAM, *LPNET_ITC_POST_SINGLEIO_PARAM; - -typedef struct tagNET_ITC_LANE_PARAM -{ - BYTE byEnable; //Ƿøó0-ã1- - BYTE byRelatedDriveWay;//ij - WORD wDistance; //Ȧ룬ٶ - WORD wTrigDelayTime; //ӳʱ䣨Ĭ200λ - BYTE byTrigDelayDistance; //ӳپ루Ĭ0λ - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE bySignSpeed;//־٣λkm/h - BYTE bySpeedLimit;//ֵλkm/h - BYTE bySnapTimes; //ץĴĬ10-ץģ0-Ĵ5 - BYTE byOverlayDriveWay; //OSDӵij - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byCartSignSpeed;//־()λkm/h - BYTE byCartSpeedLimit;//ֵ󳵣λkm/h - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byLowSpeedLimit; //С޵ֵλkm/h - BYTE byBigCarLowSpeedLimit; //޵ֵλkm/h - BYTE byLowSpeedCapEn; //Ƿõץģ0-1- - BYTE byEmergencyCapEn; //ǷӦץģ0-1- - BYTE byRes[9]; -}NET_ITC_LANE_PARAM, *LPNET_ITC_LANE_PARAM; - -//RS485 -typedef struct tagNET_ITC_POST_RS485_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byTriggerSpareMode; //ģʽ0-Ĭϣ1-Ȧģʽ,2-ڻϳģʽ - BYTE byFaultToleranceTime;//ݴʱ(λ:)ڼ⳵Ƿʱ - BYTE byRes1; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_LANE_PARAM struLane[MAX_ITC_LANE_NUM]; //ij - BYTE byRes[32]; -}NET_ITC_POST_RS485_PARAM, *LPNET_ITC_POST_RS485_PARAM; - -typedef struct tagNET_ITC_RADAR_PARAM -{ - BYTE byRadarType; //״ͣ0-״,1-״2-άǣ3-΢4,״IOչ(˲ڿȦпڽʹãRS485״ﲻʹ),0xff- - BYTE byLevelAngle; //ˮƽɽǶ,ĬΪ25(090) - WORD wRadarSensitivity; //״ - WORD wRadarSpeedValidTime;//״ٶЧʱ(0~2000] ,0ʾ֧ - BYTE byRes1[2]; - float fLineCorrectParam;//Խ[0.0~2.0] - int iConstCorrectParam;//[-100~100] - BYTE byRes2[8]; -}NET_ITC_RADAR_PARAM, *LPNET_ITC_RADAR_PARAM; - -typedef struct tagNET_ITC_RS485_ACCESS_INFO_COND //ṹ -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwTriggerModeType; - BYTE byAssociateRS485No;//RS485 15 (Ψһֵ) - // BYTE byModeType; //0Ԥ1״23źŵƼ - BYTE byRes[15]; -}NET_ITC_RS485_ACCESS_INFO_COND,*LPNET_ITC_RS485_ACCESS_INFO_COND; - -typedef struct tagNET_ITC_RADAR_INFO_PARAM -{ - NET_ITC_RADAR_PARAM struRadarParam;//24 - BYTE byAssociateLaneNo;//ij199 (ֵڲͬRS485ظ) - BYTE byRes[103]; -}NET_ITC_RADAR_INFO_PARAM, *LPNET_ITC_RADAR_INFO_PARAM; - -typedef union tagNET_ITC_ACCESS_DEVINFO_PARAM_UNION -{ - BYTE uLen[128]; - NET_ITC_RADAR_INFO_PARAM struRadarInfoParam;//״ -}NET_ITC_ACCESS_DEVINFO_PARAM_UNION, *LPNET_ITC_ACCESS_DEVINFO_PARAM_UNION; - -typedef struct tagNET_ITC_RS485_ACCESS_CFG //144 ýṹ -{ - DWORD dwSize; - BYTE byModeType;//0Ԥbit1״bit2bit3źŵƼ - BYTE byRes[3]; - NET_ITC_ACCESS_DEVINFO_PARAM_UNION uITCAccessDevinfoParam; //64 - BYTE byRes1[12]; -}NET_ITC_RS485_ACCESS_CFG,*LPNET_ITC_RS485_ACCESS_CFG; - -//2013-07-09 ״չ -typedef struct tagNET_ITC_RS485_ACCESS_INFO -{ - DWORD dwSize; - NET_ITC_RADAR_PARAM struRadar[MAX_ITC_LANE_NUM];//೵״Ϣ - //ʾֵ֧ĬΪ0ʾ мּ֧ - BYTE byRes[20]; -}NET_ITC_RS485_ACCESS_INFO, *LPNET_ITC_RS485_ACCESS_INFO; - - -//RS485״ﴥ -typedef struct tagNET_ITC_POST_RS485_RADAR_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byRes1[3]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_LANE_PARAM struLane[MAX_ITC_LANE_NUM]; //ij - NET_ITC_RADAR_PARAM struRadar; //״ - BYTE byRes[32]; -}NET_ITC_POST_RS485_RADAR_PARAM, *LPNET_ITC_POST_RS485_RADAR_PARAM; - -typedef struct tagNET_ITC_VTLANE_PARAM -{ - BYTE byRelatedDriveWay;//ij - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE bySignSpeed;//־٣λkm/h - BYTE bySpeedLimit;//ֵλkm/h - BYTE bySnapTimes; //ץĴĬ10-ץģ0-Ĵ5 - BYTE byBigCarSignSpeed;///*󳵱־٣λkm/h*/ - BYTE byBigCarSpeedLimit;/*ֵλkm/h*/ - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byLowSpeedLimit;/*޵٣λkm/h*/ - BYTE byBigCarLowSpeedLimit; /*޵٣λkm/h*/ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - NET_VCA_LINE struLine; // -}NET_ITC_VTLANE_PARAM, *LPNET_ITC_VTLANE_PARAM; - -typedef struct tagNET_ITC_VTCOIL_INFO -{ - NET_VCA_RECT struLaneRect; /*Ȧ*/ - BYTE byTrigFlag; //־0-ͷ1-β2-ͷ/β - BYTE byTrigSensitive; //ȣ1-100 - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IO(ͬʱ)0ʾIO11ʾIO2Դƣ0-1- - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - BYTE byEnableRadar; //Ƿ״٣0-1- - NET_ITC_VTLANE_PARAM struLane; //ij - //;ͣITC_LANE_USEAGE_TYPEʹ18(3.7Ver) - BYTE byUseageType; - //ʻITC_LANE_CAR_DRIVE_DIRECT(3.7Ver) - BYTE byCarDriveDirect; - BYTE byRes[30]; -}NET_ITC_VTCOIL_INFO, *LPNET_ITC_VTCOIL_INFO; - -//Ȧ -typedef struct tagNET_ITC_POST_VTCOIL_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byIsDisplay; //ƵǷʾȦ0-ʾ1-ʾ - BYTE byLoopPos; //䴥ȦƫĬ10 - BYTE byPolarLenType; /*ƫͣ0ƫ񾵣1ʩ͵ƫ񾵡*/ - BYTE byDayAuxLightMode; /*츨ģʽ0޸1LED2*/ - BYTE byVideoLaneNO; //ƵοȵIJο - BYTE byVideoLowTh; /*ƵοȵֵʼֵĬ40*/ - BYTE byVideoHighTh; /*ƵοȸֵʼֵĬ55*/ - BYTE byRecordMode; //¼־0-¼1-¼ - BYTE bySnapMode;//ץģʽ0-Ƶģʽ1-ģʽ - /*ٷʽ0-٣0x1-״٣0x2-Ƶ*/ - BYTE bySpeedDetector; - BYTE byRes2; - WORD wResolutionX;/* 豸ǰֱʿ*/ - WORD wResolutionY;/* 豸ǰֱʸ*/ - DWORD dwDayInitExp; /*Ƶعʱijʼֵ2000*/ - DWORD dwDayMaxExp; /*Ƶعʱֵ20000*/ - DWORD dwNightExp; /*Ƶعʱֵ3000*/ - DWORD dwSnapExp; /*ץعʱ*/ - BYTE byDayInitGain; /*Ƶijʼֵ200*/ - BYTE byDayMaxGain; /*Ƶֵ400*/ - BYTE byNightGain; /*Ƶ*/ - BYTE bySnapGain; /*ץ*/ - DWORD dwSceneMode; //ģʽ SCENE_MODE - NET_DVR_GEOGLOCATION struGeogLocation; //ַλ(Ĭ㽭) - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_VTCOIL_INFO struVtCoil[MAX_VL_NUM]; //Ȧ - NET_ITC_RADAR_PARAM struRadar; //״ - NET_VCA_LINE struLine; //ҳ - //ΥͣλʾITC_VIOLATION_DETECT_TYPE0-ã1-(3.7Ver) - DWORD dwVioDetectType; - BYTE byDebugMode; /*ģʽ0-ã1-*/ - BYTE byRes[11]; -}NET_ITC_POST_VTCOIL_PARAM, *LPNET_ITC_POST_VTCOIL_PARAM; - -//IO̵Ʋ -typedef struct tagNET_ITC_SINGLE_IOTL_PARAM -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byLightIO; //̵IO0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byTrafficLight; //̵Ч״̬0-ߵƽƣ͵ƽ̵ƣ1-ߵƽ̵ƣ͵ƽ - BYTE byTrigIO;//IOţ0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byTrigIOStatus;//IOڵ״̬Ĭ00-½أ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byRelatedDriveWay;//ij - BYTE byRecordEnable;//¼־0-¼1-¼ - BYTE byRecordType;//¼ͣ0-Ԥ¼1-ʱ¼ - BYTE byPreRecordTime;//¼ƬԤ¼ʱ䣨Ĭ0λ - BYTE byRecordDelayTime;//¼Ƭʱʱ䣨Ĭ0λ - BYTE byRecordTimeOut;//¼ʱʱ䣨룩 - BYTE byRedSnapTimes; //ץĴ0-ץģ0-Ĵ5 - BYTE byGreenSnapTimes; //̵ץĴ0-ץģ0-Ĵ5 - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - BYTE byRes1; - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - WORD wRedInterval[MAX_INTERVAL_NUM];//ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - WORD wGreenInterval[MAX_INTERVAL_NUM];//̵ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byRes2[3]; - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byRes[32]; -}NET_ITC_SINGLE_IOTL_PARAM, *LPNET_ITC_SINGLE_IOTL_PARAM; - -//羯IO̵Ʋ -typedef struct tagNET_ITC_EPOLICE_IOTL_PARAM -{ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_SINGLE_IOTL_PARAM struSingleIOTL[MAX_IOSPEED_GROUP_NUM]; //IO̵Ʋ - BYTE byRes[32]; -}NET_ITC_EPOLICE_IOTL_PARAM, *LPNET_ITC_EPOLICE_IOTL_PARAM; - -typedef enum _ITC_SERIAL_PROTOCOL_ -{ - ITC_PROTOCOL_UNKNOW = 0, /*δ֪*/ - ITC_SINGLE_COIL_PROTOCOL_MODE1 = 1, /*ȦЭģʽ1ʾΪ_1_1_1_1뿪뿪ʱץģ뿪ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE1 = 2, /*˫ȦЭģʽ1ʾΪ˫_1_1_2_11뿪1뿪2ץģ뿪1ʶϴ3ųͼƬͳƽĬϣ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE2 = 3, /*˫ȦЭģʽ2ʾΪ˫_1_2_2_1뿪1뿪2뿪2ʱץģ뿪1ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE3 = 4, /*˫ȦЭģʽ3ʾΪ˫_2_1_2_12뿪1뿪2ʱץģ뿪1ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE4 = 5, /*˫ȦЭģʽ4ʾΪ˫/_2_2_2_12뿪2뿪2ʱץģ뿪1ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE5 = 6, /*˫ȦЭģʽ5ʾΪ˫/_2_2_2_22뿪2뿪2ʱץģ2뿪1ʶϴ3ųͼƬŶȸߵijƽĬϣ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE6 = 7, /*˫ȦЭģʽ6ʾΪ˫/_1_2_2_21뿪2뿪2ʱץģ1뿪1ʶϴ3ųͼƬŶȸߵijƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE7 = 8, /*˫ȦЭģʽ7ʾΪ˫_1_1_2_11뿪1뿪2ʱץģ뿪1ʶϴͼƬ뿪1Ƶ1뿪1뿪2ʱͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE8 = 9, /*˫ȦЭģʽ8ʾΪ˫_1_1_2_21뿪1뿪2ʱץģ1뿪1ʶϴͼƬ뿪1Ƶ1뿪1뿪2ʱŶȸߵijƽĬϣ*/ - ITC_SINGLE_COIL_PROTOCOL_MODE2 = 10, /*ȦЭģʽ2ʾΪ_1_1_1_2뿪뿪ʱץģ뿪ʶϴͼƬ뿪Ƶ뿪뿪ʱŶȸߵijƽĬϣ*/ - ITC_OTHER_PROTOCOL = 0xff /*Э(demoã3.3֮汾demoͿؼִֵ֧)*/ -}ITC_SERIAL_PROTOCOL; - -//߼ץ -typedef enum _ITC_NORMAL_PASS_SERIAL_PROTOCOL_ -{ - ITC_NORMAL_PASS_SERIAL_UNKNOW = 0, //δ֪ - ITC_NORMAL_PASS_PROTOCOL_MODE1 = 1, //Ȧ뿪ץģʶϴĬϣ - ITC_NORMAL_PASS_PROTOCOL_MODE2 =2, //Ȧ뿪ץģʶϴ뿪ͼƬŶȸߵijƽ - ITC_NORMAL_PASS_PROTOCOL_MODE3 =3, //˫Ȧ뿪1ץģʶϴĬϣ - ITC_NORMAL_PASS_PROTOCOL_MODE4 =4, //˫Ȧ1뿪1ץģʶϴ뿪1ͼƬŶȸߵijƽ - ITC_NORMAL_PASS_PROTOCOL_MODE5 =5, //˫Ȧ2뿪1ץģʶϴ뿪1ͼƬŶȸߵijƽ -}ITC_NORMAL_PASS_SERIAL_PROTOCOL; - -//Υ߼ץ -typedef enum _ITC_INVERSE_SERIAL_PROTOCOL_ -{ - ITC_INVERSE_SERIAL_UNKNOW = 0, //δ֪ - ITC_INVERSE_PROTOCOL_MODE1 = 1, //ץ - ITC_INVERSE_PROTOCOL_MODE2 =2, //1ץ2š뿪2ץģ1žʶϴ3ųͼƬŶȸߵijƽ - ITC_INVERSE_PROTOCOL_MODE3 =3, //1뿪2ץģ1ʶϴ2ųͼƬͳƽ -}ITC_INVERSE_SERIAL_PROTOCOL; - -//Υ߼ץ -typedef enum _ITC_SPEED_SERIAL_PROTOCOL_ -{ - ITC_SPEED_SERIAL_UNKNOW = 0, //δ֪ - ITC_SPEED_PROTOCOL_MODE1 = 1, //ץ - ITC_SPEED_PROTOCOL_MODE2 =2, //˫/Ȧ뿪1뿪2뿪2ʱץģ뿪1ʶϴͼƬ뿪1뿪1뿪2뿪2ʱͳƽ - ITC_SPEED_PROTOCOL_MODE3 =3, //˫/Ȧ뿪1뿪2뿪2ʱץģ뿪1ʶϴͼƬ뿪1뿪1뿪2ͳƽ -}ITC_SPEED_SERIAL_PROTOCOL; - -// -typedef struct tagNET_ITC_SERIAL_INFO -{ - BYTE bySerialProtocol; //ЭͣITC_SERIAL_PROTOCOL - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - WORD wInterval;//ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byNormalPassProtocol; //ץЭͣITC_NORMAL_PASS_SERIAL_PROTOCOL - BYTE byInverseProtocol; //ץЭͣITC_INVERSE_SERIAL_PROTOCOL - BYTE bySpeedProtocol; //ץЭͣITC_SPEED_SERIAL_PROTOCOL - BYTE byRes[9]; -}NET_ITC_SERIAL_INFO, *LPNET_ITC_SERIAL_INFO; - -typedef struct tagNET_ITC_EPOLICE_LANE_PARAM -{ - BYTE byEnable; //Ƿøó0-ã1- - BYTE byRelatedDriveWay;//ij - WORD wDistance; //Ȧ룬λ - BYTE byRecordEnable;//¼־0-¼1-¼ - BYTE byRecordType;//¼ͣ0-Ԥ¼1-ʱ¼ - BYTE byPreRecordTime;//¼ƬԤ¼ʱ䣨Ĭ0λ - BYTE byRecordDelayTime;//¼Ƭʱʱ䣨Ĭ0λ - BYTE byRecordTimeOut;//¼ʱʱ䣨룩 - BYTE bySignSpeed;//־(ʽ羯ģʽЧ)λkm/h - BYTE bySpeedLimit;//ֵ(ʽ羯ģʽЧ)λkm/h - BYTE byOverlayDriveWay; //OSDӵij - NET_ITC_SERIAL_INFO struSerialInfo; // - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE bySerialType; //ͣ0-˽г1-˽OEM2- - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - BYTE bySnapPicPreRecord; //ץͼƬԤ¼ʱ㣻0-ĬֵڶͼƬ1-һͼƬ2-ڶͼƬ3-ͼƬ - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byBigCarSignSpeed; ///*󳵱־٣λkm/h*/ - BYTE byBigCarSpeedLimit;/*ֵλkm/h*/ - BYTE byRedTrafficLightChan;//ͨţ116̵Ƽ - BYTE byYellowTrafficLightChan;//Ƶͨţ116̵Ƽ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes3[11]; -}NET_ITC_EPOLICE_LANE_PARAM, *LPNET_ITC_EPOLICE_LANE_PARAM; - -//羯/ʽ羯RS485 -typedef struct tagNET_ITC_EPOLICE_RS485_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byTrafficLightSignalSrc;//ͨźԴ 0 1̵Ƽ - BYTE byRes1[2]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_EPOLICE_LANE_PARAM struLane[MAX_ITC_LANE_NUM]; //ij - BYTE byRes[32]; -}NET_ITC_EPOLICE_RS485_PARAM, *LPNET_ITC_EPOLICE_RS485_PARAM; - -//Բṹ -typedef struct tagNET_ITC_LANE_LOGIC_PARAM -{ - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - BYTE byDirectionType; //ͣITC_LANE_DIRECTION_TYPE - BYTE byCarDriveDirect; //ʻITC_LANE_CAR_DRIVE_DIRECT - BYTE byRes[33]; // -}NET_ITC_LANE_LOGIC_PARAM, *LPNET_ITC_LANE_LOGIC_PARAM; - -//Ƶ羯߽ṹ -typedef struct tagNET_ITC_LINE -{ - NET_VCA_LINE struLine; //߲ - BYTE byLineType; //ͣITC_LINE_TYPE - BYTE byRes[7]; -}NET_ITC_LINE, *LPNET_ITC_LINE; - -typedef struct tagNET_ITC_SNAPMODE_PARAM -{ - BYTE byVehicleCapMode;//ץģʽ0-Ƶģʽ1-ģʽ - BYTE byNoVehicleCapMode;//ǻץģʽ0-Ƶģʽ1-ģʽ - BYTE byPasserCapMode;//ץģʽ0-Ƶģʽ1-ģʽ - BYTE byRes[29]; -}NET_ITC_SNAPMODE_PARAM, *LPNET_ITC_SNAPMODE_PARAM; - -//size = 128 -typedef struct tagNET_ITC_HVT_EC_PARAM -{ - DWORD dwCapShutter; //ץĿ0~65535 - WORD wCapGain; //ץ0100 - BYTE byRes[2]; - DWORD dwDayTimeVideoShutter; //عʱֵ - WORD wDayTimeVideoGain; //ֵ - WORD wNightVideoGain; //ֵ - DWORD wNightVideoShutter; //عʱֵ - BYTE byRes1[108]; -}NET_ITC_HVT_EC_PARAM, *LPNET_ITC_HVT_EC_PARAM; - -typedef struct tagNET_ITC_LANE_HVT_PARAM -{ - BYTE byLaneNO; //ij 1~255ڵӺϴ - BYTE bySignSpeed; //־٣λkm/h 0255 70 - BYTE bySpeedLimit; //ֵλkm/h 0255 80 ʵЧ - BYTE byBigCarSignSpeed;///*󳵱־٣λkm/h*/ - BYTE byBigCarSpeedLimit;/*ֵλkm/h*/ - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE byCaptureCount;//ץ15() - BYTE byRelatedIOOut; /*IO(ͬʱ)λʾIOڣ0λʾIO1Դƣ0-1-*/ - BYTE byFlashMode; /*˸ģʽ0-ͬʱ1-*/ - BYTE byEnableRadar; //Ƿ״٣0-1- - BYTE byChangeLaneEnable; //Υ±ץʹܣ0-رգ1- - BYTE byChangeLaneCapNo; //Υ±ץ2-3 - DWORD dwCapTarget; //ץ bit0 ʾ bit1 ʾǻ bit2 ʾ 0ʾѡ 1ʾѡ - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRes3[24]; - NET_ITC_LANE_LOGIC_PARAM struLane; //ԣbyUseageTypebyCarDriveDirect - NET_ITC_LINE struLeftLaneLine; //󳵵ߣΪߡʵߡߺ˫ - NET_ITC_LINE struRightLaneLine; //ҳߣΪߡʵߡߺ˫ - NET_ITC_POLYGON struPlateRecog; //ʶ - NET_ITC_POLYGON struTraceArea; //Ƶ - NET_VCA_LINE struForwardTrigLine; //򴥷ߣһ߶ΣĶ˵λãĿǰֻ֧ˮƽãӿڰ߶ε˵㱣档һΪѴλã - NET_VCA_LINE struBackwardTrigLine; //򴥷ߣһ߶ΣĶ˵λãĿǰֻ֧ˮƽãӿڰ߶ε˵㱣棨һΪѴλã - NET_VCA_LINE struLeftTrigLine; //ߴߣһ߶ΣĶ˵λãĿǰֱִֻ֧ãӿڰ߶ε˵㱣棨һΪ߽복Ѵλã - NET_VCA_LINE struRightTrigLine; //ұߴߣһ߶ΣĶ˵λãĿǰֱִֻ֧ãӿڰ߶ε˵㱣棨һΪұ߽복Ѵλã - BYTE byRes4[60]; -}NET_ITC_LANE_HVT_PARAM, *LPNET_ITC_LANE_HVT_PARAM; - -typedef struct tagNET_ITC_POST_HVT_PARAM -{ - BYTE byLaneNum;//ʶij1-6 - BYTE bySceneMode;//0-δ֪1-·2-С - BYTE byRoadExpBright;//·ȣƵع֮һ޻ʱݴֵƵع - BYTE byPlateExpBright;//ȣƵع֮һлͨʶ𵽳ʱݴֵƵع - NET_ITC_POLYGON struDetectArea; //Ƶ - NET_ITC_SNAPMODE_PARAM struCapMode;//ץģʽ - NET_ITC_HVT_EC_PARAM struEcParam; //عƲ - NET_ITC_LANE_HVT_PARAM struLaneParam[MAX_ITC_LANE_NUM]; // - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_DVR_GEOGLOCATION struGeogLocation; //ַλãĬ㽭 - BYTE byRes[324]; -}NET_ITC_POST_HVT_PARAM, *LPNET_ITC_POST_HVT_PARAM; - -/*************************MPRģʽ begin 2013-12-07****************/ -typedef struct tagNET_ITC_LANE_MPR_PARAM -{ - BYTE byLaneNO; - union - { - BYTE uLen[4]; - struct - { - BYTE byIONo;//IO[1, byIoInNum+1] С1ʼֵݽӿNET_DVR_SNAP_ABILITYֶbyIoInNum - BYTE byTriggerType;//0-½أ1- - BYTE byRes1[2]; - }struIO;//IOģʽЧ - struct - { - BYTE byRelateChan;//ͨ[1,16] - BYTE byRes2[3]; - }struRS485; - }uTssParamInfo; - BYTE byCarDriveDirect; //ʻ ITC_LANE_CAR_DRIVE_DIRECT - BYTE byRes[58]; - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - //ͣοITC_RELA_LANE_DIRECTION_TYPEtypedef struct tagNET_ITS_PICTURE_INFO - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes1[255]; -}NET_ITC_LANE_MPR_PARAM,*LPNET_ITC_LANE_MPR_PARAM; - -typedef struct tagNET_ITC_POST_MPR_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE bySourceType;//0-MPRƵ,1-IOظȦ,2-RS485Ĵź - BYTE byPicUploadType;//ͼƬϴͣ0~ȫϴ1-ϴ2-ϴ - BYTE byRoadType;//ģʽѡ 0-ڣ1-е·2-Զ壬3-룬4-, 5-ΰ(ģʽ¿Լ⳵Ƚϻûгߵij) - BYTE byRes2; - WORD wCustomDelayTime;//Զץʱʱ䣨byRoadTypeΪ "Զ"ʱЧΧ[0,15000]ms - BYTE byRes[56]; - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ 40 - NET_ITC_LANE_MPR_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - char szSceneName[NAME_LEN/*32*/]; // - NET_VCA_LINE struSnapLine;//ץߣļ跽ʽΪװЧ4.5NET_DVR_CAMERA_SETUPCFGṹbyErectMethodֶΪ1ʱ - BYTE byRes1[392]; -}NET_ITC_POST_MPR_PARAM,*LPNET_ITC_POST_MPR_PARAM; -/*************************MPRģʽ end 2013-12-07****************/ - -typedef struct tagNET_DVR_VIA_LANE_PARAM -{ - BYTE byLaneNO; // - BYTE byRes[63]; // - NET_ITC_LANE_LOGIC_PARAM struLogicParam; //Բ - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - BYTE byRes1[300]; // -} NET_DVR_VIA_LANE_PARAM,*LPNET_DVR_VIA_LANE_PARAM; - -typedef struct tagNET_DVR_VIA_VTCOIL_PARAM -{ - BYTE byEnable; //ʹ 0- 1- - BYTE byLaneNum; // - BYTE byRes[62]; // - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_DVR_VIA_LANE_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ - BYTE byRes1[624];// -}NET_DVR_VIA_VTCOIL_PARAM,*LPNET_DVR_VIA_VTCOIL_PARAM; - -//ӿ -typedef struct tagNET_DVR_TRIGGER_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - DWORD dwTriggerMode;//ʽο ITC_TRIGGERMODE_TYPE - BYTE byDetSceneID;//ⳡ[1,4], IPCĬ0 - BYTE byRes[63]; // -}NET_DVR_TRIGGER_COND,*LPNET_DVR_TRIGGER_COND; - -typedef struct tagNET_ITC_LANE_IMT_PARAM -{ - BYTE byLaneNO;//ӳ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes[146]; - NET_ITC_LINE struLaneLine;// - BYTE byRes1[256]; -}NET_ITC_LANE_IMT_PARAM,*LPNET_ITC_LANE_IMT_PARAM; - -typedef struct tagNET_ITC_POST_IMT_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE bySnapMode; //ץͣ0~1~ - BYTE byRes[61]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ - NET_ITC_LINE struLaneBoundaryLine;//߽ߣұ߳ı߽ߣ - NET_ITC_LANE_IMT_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - BYTE byRes1[1584]; -}NET_ITC_POST_IMT_PARAM,*LPNET_ITC_POST_IMT_PARAM; - -typedef struct tagNET_ITC_LANE_PRS_PARAM -{ - BYTE byLaneNO; - union - { - BYTE uLen[4]; - struct - { - BYTE byIONo;//IO[1,4] - BYTE byTriggerType;//0-½أ1- - BYTE byRes1[2]; - }struIO;//IOģʽЧ - struct - { - BYTE byRelateChan;//ͨ[1,16] - BYTE byRes2[3]; - }struRS485; - }uTssParamInfo; - BYTE byRes[59]; - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes2[3]; - NET_ITC_LINE struTrigLine;// - BYTE byRes1[228]; -}NET_ITC_LANE_PRS_PARAM,*LPNET_ITC_LANE_PRS_PARAM; - - -typedef struct tagNET_ITC_POST_PRS_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE bySourceType;//0-Ƶ,1-IOظȦ,2-RS485Ĵź - BYTE bySnapMode;//0-ȫͼ1-ȫͼ+д - BYTE byCapMode;//bySourceTypeΪ0Ƶʱʹã0-Ƶģʽ1-ģʽ - BYTE byNoPlatCarCap;//Ƿ޳ץ 0- 1- - BYTE bySceneMode;//ģʽ:0-ͨڳ1-շվģʽ(ͣʱϳ)2-ͣڳ(ҹϰ) - BYTE byRes[57]; - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ 40 - NET_ITC_LANE_PRS_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - BYTE byRes1[440]; -}NET_ITC_POST_PRS_PARAM,*LPNET_ITC_POST_PRS_PARAM; - -typedef struct tagNET_IPC_LANE_HVT_PARAM -{ - BYTE byLaneNO; - BYTE byCarDriveDirect; //ʻ ITC_LANE_CAR_DRIVE_DIRECT - BYTE byRes[62]; - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - BYTE byRes1[256]; -} NET_IPC_LANE_HVT_PARAM,*LPNET_IPC_LANE_HVT_PARAM; - -typedef struct _NET_ITC_PARKING_DETECTION_ -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes; //ֽ - WORD wDuration;//ʱλs - WORD wAlarmIntervalTime;//ϴʱλs - BYTE byRes1[58]; //ֽ -}NET_ITC_PARKING_DETECTION, *LPNET_ITC_PARKING_DETECTION; - -typedef struct tagNET_IPC_POST_HVT_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE byEnhancedMode; //ǿģʽ0-ã1- - BYTE byPicRecognition; //ͼƬʶ0-ã1- - BYTE byRes[60]; - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ 40 - NET_IPC_LANE_HVT_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - char szSceneName[NAME_LEN/*32*/]; // - NET_VCA_LINE struSnapLine;//ץߣץļ跽ʽΪװЧ4.5NET_DVR_CAMERA_SETUPCFGṹbyErectMethodֶΪ1ʱ - NET_ITC_PARKING_DETECTION struParkingDetection; //ͣ - BYTE byRes1[328]; -} NET_IPC_POST_HVT_PARAM,*LPNET_IPC_POST_HVT_PARAM; - -//ץĻ4.0 -typedef struct tagNET_ITC_LANE_HVT_PARAM_V50 -{ - BYTE byLaneNO; //ij1255(ڵӺϴ) - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE bySignSpeed; //С־޸٣λkm/h - BYTE bySpeedLimit; //С޸ֵλkm/h - BYTE bySignLowSpeed; //С־޵٣λkm/h - BYTE byLowSpeedLimit; //С޵ֵλkm/h - BYTE byBigCarSignSpeed; //󳵱־޸٣λkm/h½棩 - BYTE byBigCarSpeedLimit; //޸ֵλkm/h½棩 - BYTE byBigCarSignLowSpeed; //󳵱־޵٣λkm/h - BYTE byBigCarLowSpeedLimit; //޵ֵλkm/h - BYTE bySnapTimes; //ץ1~3 - BYTE byDriveLineSnapTime;// ѹץ 1~3 - BYTE byHighSpeedSnapTime;// ץ1~3 - BYTE byLowSpeedSnapTime;// ץ1~3 - BYTE byBanSnapTime;// Υץ 1~3 - BYTE byReverseSnapTime;//ץ 1~3 - BYTE byRelatedDriveWay; //ţƥ䳵 - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪbyRelatedDriveWayӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes1[27]; - BYTE byChangeLaneEnable; //Υ±ץʹܣ0-رգ1- - BYTE byChangeLaneCapNo; //Υ±ץ2-3 - //ĿǰʹõһģԺܻչΪ೵ֱ - //, λʾ,0-,1-òο ITC_VIOLATION_DETECT_TYPE - DWORD dwVioDetectType; - DWORD dwRelatedIOOut; //IO(ͬʱ)λʾIOڣ0λʾIO1Դƣ0-1- - NET_ITC_LINE struTrigLine; //ߣĿǰʹõһģԺܻչΪ೵ֱ - NET_ITC_LINE struLineLeft; //󳵵 - NET_ITC_POLYGON struPlateRecog; //ʶ - NET_ITC_LANE_LOGIC_PARAM struLane; //ԣbyUseageTypebyCarDriveDirect - NET_ITC_INTERVAL_PARAM struInterval;//ץļ20byte - BYTE byRes2[280]; -}NET_ITC_LANE_HVT_PARAM_V50, *LPNET_ITC_LANE_HVT_PARAM_V50; - -typedef struct tagNET_ITC_POST_HVT_PARAM_V50 -{ - BYTE byLaneNum; //ʶij1-6 - BYTE byCapType; //ץͣ0-ǡˣĬϣ1- - BYTE byCapMode; //ץķʽ0-Ƶ֡1-ץģ2-ģʽ - BYTE bySecneMode; //ģʽ0-·Ĭϣ1-Сڣ2-ٹ· - BYTE bySpeedMode; //ģʽ0-޲٣1-״٣2-Ƶ - BYTE byLineRuleEffect; //Ч,ÿһλһ,0-Ч;1-Чbit0-󴥷;bit1-Ҵ;bit2-Ƶ - BYTE byRes1[78]; - NET_ITC_LINE struLeftTrigLine; //󴥷(һֱ) - NET_ITC_LINE struRigtTrigLine; //Ҵ(һֱ) - NET_ITC_LINE struLaneBoundaryLine; //߽ߣұ߳ҳߣ - NET_ITC_POLYGON struDetectArea; //Ƶ - NET_DVR_GEOGLOCATION struGeogLocation; //λãĬ㽭ʡʱ - NET_ITC_LANE_HVT_PARAM_V50 struLaneParam[MAX_ITC_LANE_NUM/*6*/]; // - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - BYTE byRes2[260]; -} NET_ITC_POST_HVT_PARAM_V50, *LPNET_ITC_POST_HVT_PARAM_V50; - - -// -typedef struct tagNET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM -{ - BYTE byRelatedDriveWay;//ij - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byPedestriansNum;//ֵΧ1-100Ĭֵ1 - BYTE byVehicleSpeed;//ٶֵΧ0-100Ĭֵ0 - DWORD dwVehicleInterval; //ֵΧ0-65536Ĭֵ0 - BYTE byPedesDetRule; //˼򣻴˼ʻ 0~ 1~ҡ - BYTE byRes[3]; - NET_ITC_LINE struLaneLine;// - NET_ITC_LINE struStopLine;//ֹͣ - NET_ITC_POLYGON struPlateRecog; //ʶ - BYTE byRes1[280]; -} NET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM, -*LPNET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM; - -//˲ -typedef struct tagNET_ITC_NOCOMITY_PEDESTRIAN_PARAM -{ - BYTE byEnable; //ʹ - BYTE byLaneNum;// Χ1-3Ĭֵ3 - BYTE byRes[74]; - NET_ITC_LINE struLaneBoundaryLine;//ұ߽ - NET_ITC_LINE struTriggerLine;//˴ - NET_ITC_POLYGON struPedesDetRecog;//˼ - NET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; // - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - BYTE byRes1[400]; -}NET_ITC_NOCOMITY_PEDESTRIAN_PARAM, -*LPNET_ITC_NOCOMITY_PEDESTRIAN_PARAM; - -//IOźŵƲ -typedef struct tagNET_ITC_SINGLE_IO_LIGHT_PARAM -{ - BYTE byLightType; //ͨƵ,0-ת,1-ֱе,2-ת - BYTE byRelatedIO; //IOں - BYTE byRedLightState; //Ƶƽ״̬0-ߵƽƣ1-͵ƽ - BYTE byRes[17]; -}NET_ITC_SINGLE_IO_LIGHT_PARAM, *LPNET_ITC_SINGLE_IO_LIGHT_PARAM; - -//IOźŵƲ -typedef struct tagNET_ITC_IO_LIGHT_PARAM -{ - NET_ITC_SINGLE_IO_LIGHT_PARAM struIOLight[MAX_LIGHT_NUM]; //IOźŵƲ - BYTE byRes[8]; -}NET_ITC_IO_LIGHT_PARAM, *LPNET_ITC_IO_LIGHT_PARAM; - -//485źŵƲ -typedef struct tagNET_ITC_SINGLE_RS485_LIGHT_PARAM -{ - BYTE byLightType; //ͨƵͣ0-תƣ1-ֱеƣ2-ת - BYTE byRelatedLightChan; //ĺ̵Ƽͨ - BYTE byInputLight; //źŵͣ0-Ӻƣ1-̵ - BYTE byRelatedYLightChan; //ĻƵƼͨ - BYTE byRes[16]; -}NET_ITC_SINGLE_RS485_LIGHT_PARAM, *LPNET_ITC_SINGLE_RS485_LIGHT_PARAM; - -//485źŵƲ -typedef struct tagNET_ITC_RS485_LIGHT_PARAM -{ - NET_ITC_SINGLE_RS485_LIGHT_PARAM struRS485Light[MAX_LIGHT_NUM]; //485źŵƲ - BYTE byRes[8]; -}NET_ITC_RS485_LIGHT_PARAM, *LPNET_ITC_RS485_LIGHT_PARAM; - -typedef struct tagNET_POS_PARAM -{ - WORD wLeft; - WORD wTop; - WORD wRight; - WORD wBottom; -}NET_POS_PARAM, *LPNET_POS_PARAM; - -//Ƶ⽻ͨźŵƲṹ -typedef struct tagNET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM -{ - BYTE byLightNum; //ͨƸ - BYTE byStraightLight; //Ƿֱб־ƣ0- 1- - BYTE byLeftLight; //Ƿת־ƣ0-1- - BYTE byRightLight; //Ƿת־ƣ0-1- - BYTE byRedLight;//Ƿкƣ0-1- - BYTE byGreenLight; //Ƿ̵ƣ0-1- - BYTE byYellowLight; //ǷлƵƣ0-1- - BYTE byYellowLightTime;//ȡֵΧ010sITC3.7Ver - NET_POS_PARAM struLightRect; //ͨ - BYTE byRes[24]; -}NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM, *LPNET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM; - - -//Ƶ⽻ͨźŵƲṹ(12⣬488ֽ) -typedef struct tagNET_ITC_VIDEO_DETECT_LIGHT_PARAM -{ - NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM struTrafficLight[MAX_VIDEO_DETECT_LIGHT_NUM]; //ƵźŵƲ - BYTE byRes[8]; -}NET_ITC_VIDEO_DETECT_LIGHT_PARAM, *LPNET_ITC_VIDEO_DETECT_LIGHT_PARAM; - -//ͨźŵƽ -typedef union tagNET_ITC_LIGHT_ACCESSPARAM_UNION -{ - DWORD uLen[122]; - NET_ITC_IO_LIGHT_PARAM struIOLight; //IOźŵƲ - NET_ITC_RS485_LIGHT_PARAM struRS485Light; //485źŵƲ - NET_ITC_VIDEO_DETECT_LIGHT_PARAM struVideoDelectLight; //ƵźŵƲ -}NET_ITC_LIGHT_ACCESSPARAM_UNION, *LPNET_ITC_LIGHT_ACCESSPARAM_UNION; - -//ͨźŵƲṹ -typedef struct tagNET_ITC_TRAFFIC_LIGHT_PARAM -{ - BYTE bySource; //ͨźŵƽԴ0-IO룬1-RS485 - BYTE byRes1[3]; - NET_ITC_LIGHT_ACCESSPARAM_UNION struLightAccess;//źŵƽ - BYTE byRes[32]; -}NET_ITC_TRAFFIC_LIGHT_PARAM, *LPNET_ITC_TRAFFIC_LIGHT_PARAM; - -//Υ߲ṹ -typedef struct tagNET_ITC_VIOLATION_DETECT_LINE -{ - NET_ITC_LINE struLaneLine; //߲ - NET_ITC_LINE struStopLine; //ֹ߲ͣ - NET_ITC_LINE struRedLightLine; //ƴ߲ - NET_ITC_LINE struCancelLine; //ֱдλȡ - NET_ITC_LINE struWaitLine; //ֹ߲ͣ - NET_ITC_LINE struRes[8]; -}NET_ITC_VIOLATION_DETECT_LINE, *LPNET_ITC_VIOLATION_DETECT_LINE; - -//˴Ʋ -typedef struct tagNET_ITC_REDLIGHT_PEDESTRIAN_PARAM -{ - BYTE byEnable; //ʹ - BYTE bySnapNumTimes; //ץ1-3Ĭ3 - BYTE byPedesDir; //˷0~1~2~˫ - BYTE byDelayTime; //ʱʱ1-5s - BYTE byStackTargetEnble;//Ŀ򣨼ץĵһͼƬϿסƵˣ0~ӣ1~ - BYTE byCalibRecogCtrl;//궨ƣ0~Ƴ궨1~ӱ궨 - BYTE byRes1[2]; - NET_ITC_TRAFFIC_LIGHT_PARAM struTrafficLight; //ͨźŵƲ - NET_ITC_LINE struStopLine;//ֹͣ - NET_ITC_POLYGON struCalibRecog[MAX_CALIB_RECOG_NUM/*2*/];//궨 - BYTE byRes[440]; -}NET_ITC_REDLIGHT_PEDESTRIAN_PARAM, -*LPNET_ITC_REDLIGHT_PEDESTRIAN_PARAM; - -typedef struct tagNET_ITC_POST_MOBILE_PARAM -{ - BYTE byEnable; - BYTE bySceneMode;//ģʽ 0-ٹ· 1-е· - /*ץ - bit0-,bit1-ռ,bit2-ѹӲ· - */ - WORD wExpressWayCapType;//ٹ· - /*ץ - bit0-,bit1-ռ,bit2-ռרó - */ - WORD wUrbanRoadCapType;//е· - BYTE byCapNum;//ץ [2,3] - BYTE byRecordEnable;//Υ¼ʹ 0-رգ1- - DWORD dwPreRecordTime;//¼Ԥ¼ʱ(s) - DWORD dwOverRecordTime;//¼ʱʱ(s) - NET_ITC_LANE_LOGIC_PARAM struLane; // - NET_ITC_POLYGON struPolygon[MAX_MOBILE_POLYGON_NUM/*3*/]; //ʶ - NET_ITC_VIOLATION_DETECT_LINE struLine[MAX_MOBILE_DETECTLINE_NUM/*3*/]; //Υ - NET_ITC_LINE struLaneBoundaryLine; //߽ߣұ߳ҳߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_INTERVAL_PARAM struInterval;//ץļ20byte - BYTE byRes[256]; -}NET_ITC_POST_MOBILE_PARAM,*LPNET_ITC_POST_MOBILE_PARAM; - -typedef union tagNET_ITC_TRIGGER_PARAM_UNION -{ - DWORD uLen[1070]; // - NET_ITC_POST_IOSPEED_PARAM struIOSpeed; //ڣIOٲ - NET_ITC_POST_SINGLEIO_PARAM struSingleIO; //ڣIO - NET_ITC_POST_RS485_PARAM struPostRs485; //ڣRS485 - NET_ITC_POST_RS485_RADAR_PARAM struPostRadar; //ڣRS485״ - NET_ITC_POST_VTCOIL_PARAM struVtCoil; //ڣȦ - NET_ITC_POST_HVT_PARAM struHvt; //ڣпڲ - NET_ITC_EPOLICE_IOTL_PARAM struIOTL; //羯IO̵Ʋ - NET_ITC_EPOLICE_RS485_PARAM struEpoliceRs485; //羯RS485 - NET_ITC_EPOLICE_RS485_PARAM struPERs485; //ʽ羯RS485 - NET_ITC_POST_MPR_PARAM struPostMpr; //֡ⴥMPR - NET_DVR_VIA_VTCOIL_PARAM struViaVtCoil; //(VIA)Ƶ - NET_ITC_POST_IMT_PARAM struPostImt;//ǻ۲ - NET_ITC_POST_PRS_PARAM struPostPrs;//Ƶⴥ - NET_IPC_POST_HVT_PARAM struIpcHvt;//(IPC) пڲ - NET_ITC_POST_HVT_PARAM_V50 struHvtV50; /*ڣпڲV50*/ - NET_ITC_POST_MOBILE_PARAM struPostMobile;// ƶͨģʽ - NET_ITC_NOCOMITY_PEDESTRIAN_PARAM struNoComityPed;//˲ - NET_ITC_REDLIGHT_PEDESTRIAN_PARAM struRedLightPed;//˴Ʋ -}NET_ITC_TRIGGER_PARAM_UNION, *LPNET_ITC_TRIGGER_PARAM_UNION; - -//ṹ -typedef struct tagNET_ITC_SINGLE_TRIGGERCFG -{ - BYTE byEnable; //Ƿøôģʽ0-1- - BYTE byRes1[3]; - DWORD dwTriggerType; //ͣITC_TRIGGERMODE_TYPE - NET_ITC_TRIGGER_PARAM_UNION uTriggerParam; // - BYTE byRes[64]; -}NET_ITC_SINGLE_TRIGGERCFG, *LPNET_ITC_SINGLE_TRIGGERCFG; - -//ṹ -typedef struct tagNET_ITC_TRIGGERCFG -{ - DWORD dwSize; //ṹ - NET_ITC_SINGLE_TRIGGERCFG struTriggerParam; // - BYTE byRes[32]; -}NET_ITC_TRIGGERCFG, *LPNET_ITC_TRIGGERCFG; - - -//Υͺ궨 -typedef enum _ITC_VIOLATION_DETECT_TYPE_ -{ - ITC_VIOLATION_POST = 0x01, //ץ - ITC_VIOLATION_DRIVELINE = 0x02,//ѹץ - ITC_VIOLATION_REVERSE = 0x04,//ץ - ITC_VIOLATION_REDLIGHT = 0x08,//ץ - ITC_VIOLATION_DIRECTION = 0x10,//ʻץ - ITC_VIOLATION_INTERSECTION_CONGEST = 0x20,//·ץ - ITC_VIOLATION_NONDRIVEWAY = 0x40, //ռץ - ITC_VIOLATION_CHANGELANE = 0x80, //Υ - ITC_VIOLATION_BAN = 0x100, //Υ - ITC_VIOLATION_INTERSECTION_PARK=0x200,//Խ - ITC_VIOLATION_GREEN_PARK=0x400,//̵ͣ - ITC_VIOLATION_HIGH_SPEED = 0x800, /**/ - ITC_VIOLATION_LOW_SPEED = 0x1000, /**/ - ITC_VIOLATION_EMERGENCY = 0x2000, /*ռӦ*/ - ITC_VIOLATION_TURN_AROUND = 0x8000,/*Υͷ*/ - ITC_VIOLATION_CONGESTION = 0x10000 /*ӵ*/ -}ITC_VIOLATION_DETECT_TYPE; - - -//Υṹ -typedef struct tagNET_ITC_VIOLATION_DETECT_PARAM -{ - DWORD dwVioDetectType; //Υ, λʾ, ITC_VIOLATION_DETECT_TYPE ,0-,1- - BYTE byDriveLineSnapTimes; //ѹץ,2-3 - BYTE byReverseSnapTimes; //ץ,2-3 - WORD wStayTime; //ռͣʱ䣨ʱץģλs - BYTE byNonDriveSnapTimes;//ռץ2-3 - BYTE byChangeLaneTimes;//Υץ 2-3 - BYTE bybanTimes;//Υץ2-3 - BYTE byDriveLineSnapSen;// ѹ(0~100)(3.7Ver) - WORD wSnapPosFixPixel; //2,3ץλСƫ(ΥźŵʱЧ)λأ Ľ - BYTE bySpeedTimes;//Υץ2-3(3.8Ver) - BYTE byTurnAroundEnable;//Υµͷʹ 0~ر 1~ - BYTE byThirdPlateRecogTime;//ʶʱ 0~180s - BYTE byPostSnapTimes;//ץ,1-2 - BYTE byRes1[18]; - WORD wStopLineDis; //羯2ΥͼƬֹͣߵ̾룬[0,300]λ() - BYTE byRes[14]; -}NET_ITC_VIOLATION_DETECT_PARAM, *LPNET_ITC_VIOLATION_DETECT_PARAM; - -//Ͷ -typedef enum _ITC_RELA_LANE_DIRECTION_TYPE_ -{ - ITC_RELA_LANE_DIRECTION_UNKNOW = 0, // - ITC_RELA_LANE_EAST_WEST = 1, //Ӷ - ITC_RELA_LANE_WEST_EAST = 2, // - ITC_RELA_LANE_SOUTH_NORTH = 3, // - ITC_RELA_LANE_NORTH_SOUTH = 4, //ӱ - ITC_RELA_LANE_EASTSOUTH_WESTNORTH = 5, //Ӷ - ITC_RELA_LANE_WESTNORTH_EASTSOUTH = 6, // - ITC_RELA_LANE_EASTNORTH_WESTSOUTH = 7, //Ӷ - ITC_RELA_LANE_WESTSOUTH_EASTNORTH = 8 //򶫱 -} ITC_RELA_LANE_DIRECTION_TYPE; - - -//;Ͷ -typedef enum _ITC_LANE_USEAGE_TYPE_ -{ - ITC_LANE_USEAGE_UNKNOW = 0, //δ֪ - ITC_LANE_CARRIAGEWAY = 1, // - ITC_LANE_BUS = 2, //רõ - ITC_LANE_FAST = 3, //쳵 - ITC_LANE_SLOW = 4, // - ITC_LANE_MOTOR = 5, //Ħг - ITC_LANE_NONMOTOR = 6, //ǻ - ITC_LANE_REVERSE_LANE = 7, //򳵵 - ITC_LANE_BAN_TRUCKS = 8, // ֹ - ITC_LANE_MIX = 9, //ϳ - ITC_LANE_EMERGENCY = 10, //Ӧ - ITC_LANE_BAN_LEFT = 11, // 󳵵 - ITC_LANE_BAN_RIGHT = 12 // ҳ -}ITC_LANE_USEAGE_TYPE; - -//Ͷ -typedef enum _ITC_LANE_DIRECTION_TYPE_ -{ - ITC_LANE_DIRECTION_UNKNOW = 0, //δ֪ - ITC_LANE_LEFT = 1, //ת - ITC_LANE_STRAIGHT = 2, //ֱ - ITC_LANE_LEFT_STRAIGHT = 3, //ת+ֱ - ITC_LANE_RIGHT = 4, //ת - ITC_LANE_LEFT_RIGHT = 5, //ת+ת - ITC_LANE_RIGHT_STRAIGHT = 6, //ת+ֱ - ITC_LANE_LEFT_RIGHT_STRAIGHT = 7, //ת+ת+ֱ - ITC_LANE_LEFT_WAIT = 9, //ת - ITC_LANE_STRAIGHT_WAIT = 10, //ֱд - ITC_LANE_FORWARD = 11, //ʻ - ITC_LANE_BACKWARD = 12, //ʻ - ITC_LANE_BOTHWAY = 13, //˫ʻ - ITC_LANE_STRAIGHT_WAIT_RIGHT = 14 //ֱд + ת -}ITC_LANE_DIRECTION_TYPE; - -//ʻͶ -typedef enum _ITC_LANE_CAR_DRIVE_DIRECT_ -{ - ITC_LANE_DRIVE_UNKNOW = 0, //δ֪ - ITC_LANE_DRIVE_UP_TO_DOWN = 1, //ʻ() - ITC_LANE_DRIVE_DOWN_TO_UP = 2 //ʻ() -}ITC_LANE_CAR_DRIVE_DIRECT; - -//Ͷ -typedef enum _ITC_LINE_TYPE_ -{ - ITC_LINT_UNKNOW = 0, //δ֪ - ITC_LINE_WHITE = 1, //İʵ - ITC_LINE_STOP = 2, //ֹͣ - ITC_LINE_SINGLE_YELLOW = 3, // - ITC_LINE_DOUBLE_YELLOW = 4, //˫ - ITC_LINE_GUARD_RAIL = 5, //л - ITC_LINE_NO_CROSS = 6, //޷Խij - ITC_LINE_DOTTED = 7 // -}ITC_LINE_TYPE; - - -//Ƶ羯ṹ -typedef struct tagNET_ITC_LANE_VIDEO_EPOLICE_PARAM -{ - BYTE byLaneNO; //ij - BYTE bySensitivity; //Ȧȣ[1,100] - BYTE byEnableRadar;//״0-ã1- - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - NET_ITC_LANE_LOGIC_PARAM struLane; // - NET_ITC_VIOLATION_DETECT_PARAM struVioDetect; //Υ - NET_ITC_VIOLATION_DETECT_LINE struLine; //Υ - NET_ITC_POLYGON struPlateRecog; //ʶ - BYTE byRecordEnable;//¼־0-¼1-¼ - BYTE byRecordType;//¼ͣ0-Ԥ¼1-ʱ¼ - BYTE byPreRecordTime;//¼ƬԤ¼ʱ䣨Ĭ0λ - BYTE byRecordDelayTime;//¼Ƭʱʱ䣨Ĭ0λ - BYTE byRecordTimeOut;//¼ʱʱ䣨룩 - BYTE byCarSpeedLimit; //ֵλkm/h - BYTE byCarSignSpeed;//־٣λkm/h - BYTE bySnapPicPreRecord; //ץͼƬԤ¼ʱ㣻0-ĬֵڶͼƬ1-һͼƬ2-ڶͼƬ3-ͼƬ - NET_ITC_INTERVAL_PARAM struInterval;//ץļ20byte - BYTE byRes[36]; -}NET_ITC_LANE_VIDEO_EPOLICE_PARAM, *LPNET_ITC_LANE_VIDEO_EPOLICE_PARAM; - -//Ƶ羯ṹ -typedef struct tagNET_ITC_VIDEO_EPOLICE_PARAM -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byLaneNum; //ʶij - BYTE byLogicJudge;//Υж߼ֵΪ0-1- - BYTE byRes1; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_TRAFFIC_LIGHT_PARAM struTrafficLight; //ͨźŵƲ - NET_ITC_LANE_VIDEO_EPOLICE_PARAM struLaneParam[MAX_ITC_LANE_NUM]; // - NET_ITC_LINE struLaneBoundaryLine; //߽ߣұ߳ı߽ߣ - NET_ITC_LINE struLeftLine; //תֽ - NET_ITC_LINE struRightLine; //תֽ - NET_ITC_LINE struTopZebraLine; //ϲ - NET_ITC_LINE struBotZebraLine; //² - BYTE byRes[32]; -}NET_ITC_VIDEO_EPOLICE_PARAM, *LPNET_ITC_VIDEO_EPOLICE_PARAM; - -typedef union tagNET_ITC_VIDEO_TRIGGER_PARAM_UNION -{ - DWORD uLen[1150]; - NET_ITC_VIDEO_EPOLICE_PARAM struVideoEP; //Ƶ羯 -}NET_ITC_VIDEO_TRIGGER_PARAM_UNION, *LPNET_ITC_VIDEO_TRIGGER_PARAM_UNION; - -typedef struct tagNET_ITC_VIDEO_TRIGGER_PARAM -{ - DWORD dwSize; - DWORD dwMode; //ģʽITC_TRIGGERMODE_TYPE - NET_ITC_VIDEO_TRIGGER_PARAM_UNION uVideoTrigger; //ģʽ - BYTE byRes[32]; -}NET_ITC_VIDEO_TRIGGER_PARAM, *LPNET_ITC_VIDEO_TRIGGER_PARAM; - -typedef struct tagNET_DVR_STATUS_DETECTCFG -{ - DWORD dwSize; //ṹ - BYTE byEnableTrigIODetect; //IO״̬⣬1-ǣ0- - BYTE byEnableFlashOutDetect; //ͬ״̬⣬1-ǣ0- - BYTE byEnableRS485Detect; //RS485״̬⣬1-ǣ0- - BYTE byEnableTrafficLightDetect;//ͨ״̬⣬1-ǣ0- - BYTE byRes[28]; -}NET_DVR_STATUS_DETECTCFG, *LPNET_DVR_STATUS_DETECTCFG; - -typedef enum _ITC_STATUS_DETECT_TYPE_ -{ - ITC_STATUS_DETECT_NULL = 0, //δ֪ - ITC_STATUS_DETECT_TRIGGERIO, //IO - ITC_STATUS_DETECT_FLASHOUT, //ͬ - ITC_STATUS_DETECT_RS485, //RS485 - ITC_STATUS_DETECT_TRIGGERTYPE, //ͣ - ITC_STATUS_DETECT_TRAFFICLIGHT_COLOR, //ͨƣɫ - ITC_STATUS_DETECT_TRAFFICLIGHT_TURN //ͨƣת -}ITC_STATUS_DETECT_TYPE; - -typedef struct tagNET_ITC_TRIGGERIO_INFO -{ - BYTE byTriggerIOIndex[MAX_IOIN_NUM]; //IO - BYTE byRes[40]; -}NET_ITC_TRIGGERIO_INFO, *LPNET_ITC_TRIGGERIO_INFO; - -typedef struct tagNET_ITC_FLASHOUT_INFO -{ - BYTE byFlashOutIndex[MAX_IOOUT_K_NUM]; //ͬ - BYTE byRes[40]; -}NET_ITC_FLASHOUT_INFO, *LPNET_ITC_FLASHOUT_INFO; - -typedef struct tagNET_ITC_SERIAL_CHECKINFO -{ - BYTE bySerialIndex[MAX_ITC_SERIALCHECK_NUM]; //485У0-Ч,1-Ч, bySerialIndex[0]ʾȷͷ, bySerialIndex[1]ʾȷβ - BYTE byRes[40]; -}NET_ITC_SERIAL_CHECKINFO, *LPNET_ITC_SERIAL_CHECKINFO; - -typedef struct tagNET_ITC_TRIGGERTYPE_INFO -{ - BYTE byTrigTypeIndex; //ֵ - BYTE byRes[47]; -}NET_ITC_TRIGGERTYPE_INFO, *LPNET_ITC_TRIGGERTYPE_INFO; - -//Ƶ羯 -typedef struct tagNET_ITC_TRAFFIC_LIGHT_COLOR -{ - BYTE byLeftLight;//תƣ0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byRightLight; //תƣ0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byStraightLight; //ֱеƣ0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byRes[45]; -}NET_ITC_TRAFFIC_LIGHT_COLOR, *LPNET_ITC_TRAFFIC_LIGHT_COLOR; - -//Ƶ羯 -typedef struct tagNET_ITC_TRAFFIC_LIGHT_TURN -{ - BYTE byLightType[MAX_ITC_LANE_NUM];// 0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byRes[42]; -} NET_ITC_TRAFFIC_LIGHT_TURN, *LPNET_ITC_TRAFFIC_LIGHT_TURN; - -typedef union tagNET_ITC_STATUS_UNION -{ - BYTE uLen[48]; // - NET_ITC_TRIGGERIO_INFO struTrigIO; //IOں - NET_ITC_FLASHOUT_INFO struFlashOut; //ͬ - NET_ITC_SERIAL_CHECKINFO struSerial; // - NET_ITC_TRIGGERTYPE_INFO struTrigType; //ͣ - NET_ITC_TRAFFIC_LIGHT_COLOR struTrafficLightColor; //ͨƣɫӦITC_STATUS_DETECT_TRAFFICLIGHT_COLOR - NET_ITC_TRAFFIC_LIGHT_TURN struTrafficLightTurn;//ͨƣת򣩶ӦITC_STATUS_DETECT_TRAFFICLIGHT_TURN -}NET_ITC_STATUS_UNION, *LPNET_ITC_STATUS_UNION; - -typedef struct tagNET_ITC_STATUS_DETECT_RESULT -{ - ITC_STATUS_DETECT_TYPE dwStatusType;//״̬ͣITC_STATUS_DETECT_TYPE - NET_ITC_STATUS_UNION uStatusParam; //״̬ - DWORD dwHoldTime; //ʱ䣨λms - BYTE byRes[32]; -}NET_ITC_STATUS_DETECT_RESULT, *LPNET_ITC_STATUS_DETECT_RESULT; - -typedef struct tagNET_DVR_SETUPALARM_PARAM -{ - DWORD dwSize; - BYTE byLevel; //ȼ0-һȼߣ1-ȼУ2-ȼͣ - BYTE byAlarmInfoType; //ϴϢͣץĻ֧֣0-ϱϢNET_DVR_PLATE_RESULT1-±Ϣ(NET_ITS_PLATE_RESULT)2012-9-28 - BYTE byRetAlarmTypeV40; //0--NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO, 1--豸֧NET_DVR_ALARMINFO_V40򷵻NET_DVR_ALARMINFO_V40֧򷵻NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO - BYTE byRetDevInfoVersion; //CVRϴϢصṹ汾 0-COMM_ALARM_DEVICE 1-COMM_ALARM_DEVICE_V40 - BYTE byRetVQDAlarmType; //VQDϴͣ0-ϴNET_DVR_VQD_DIAGNOSE_INFO1-ϴNET_DVR_VQD_ALARM - //1-ʾⱨչ(INTER_FACE_DETECTION),0-ʾԭֽ֧ṹ(INTER_FACESNAP_RESULT) - BYTE byFaceAlarmDetection; - //Bit0- ʾǷϴͼƬ: 0-ϴ1-ϴ - //Bit1- ʾϴȷϻƣ0-1- - //Bit6- ʾ״ⱨ(eventType:radarDetection)Ƿʵʱϴ0-1-webʵʱʾ״Ŀ꣩ - BYTE bySupport; - // - //bit0-Ƽ⣨IPC 0-1- - //bit1-ͳƣIPC 0-1- - //bit2-ȶͼͳƣIPC 0-1- - //bit3-ץģIPC 0-1- - //bit4-ԱȣIPC 0-1- - BYTE byBrokenNetHttp; - WORD wTaskNo; // (ϴNET_DVR_VEHICLE_RECOG_RESULTеֶdwTaskNoӦ ͬʱ ·ṹ NET_DVR_VEHICLE_RECOG_CONDеֶdwTaskNoӦ) - BYTE byDeployType; //ͣ0-ͻ˲1-ʵʱ - BYTE bySubScription; //ģλʾδIJϱ //ռλ - //Bit7-ƶ˳Ƿͼ0-ͼ(V30ϱ)1-ͼ(V40ϱ) - BYTE byRes1[2]; - BYTE byAlarmTypeURL;//bit0-ʾץıϴINTER_FACESNAP_RESULT0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨ж,ͬʱ豸Ҫ֧URLط񣬵ǰǡƴ洢 - //bit1-ʾEVENT_JSONͼƬݳͣ0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨жϣ - //bit2 - ȶ(ΪCOMM_SNAP_MATCH_ALARM)ͼƬϴͣ0 - ƴ䣬1 - URL - //bit3 - 쳣Ϊ(ΪCOMM_ALARM_RULE)ͼƬϴͣ0 - ƴ䣬1 - URL䣬ֶ豸Ƿ֧֣ӦӲڵǷ񷵻Ϊtrue - BYTE byCustomCtrl;//Bit0- ʾָ֧ʻͼϴ: 0-ϴ,1-ϴ -}NET_DVR_SETUPALARM_PARAM, *LPNET_DVR_SETUPALARM_PARAM; - -typedef struct tagNET_DVR_SETUPALARM_PARAM_V50 -{ - DWORD dwSize; - BYTE byLevel; //ȼ0-һȼߣ1-ȼУ2-ȼͣ - BYTE byAlarmInfoType; //ϴϢͣץĻ֧֣0-ϱϢNET_DVR_PLATE_RESULT1-±Ϣ(NET_ITS_PLATE_RESULT)2012-9-28 - BYTE byRetAlarmTypeV40; //0--NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO, 1--豸֧NET_DVR_ALARMINFO_V40򷵻NET_DVR_ALARMINFO_V40֧򷵻NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO - BYTE byRetDevInfoVersion; //CVRϴϢصṹ汾 0-COMM_ALARM_DEVICE 1-COMM_ALARM_DEVICE_V40 - BYTE byRetVQDAlarmType; //VQDϴͣ0-ϴNET_DVR_VQD_DIAGNOSE_INFO1-ϴNET_DVR_VQD_ALARM - //1-ʾⱨչ(INTER_FACE_DETECTION),0-ʾԭֽ֧ṹ(INTER_FACESNAP_RESULT) - BYTE byFaceAlarmDetection; - //Bit0- ʾǷϴͼƬ: 0-ϴ1-ϴ - //Bit1- ʾϴȷϻƣ0-1- - //Bit6- ʾ״ⱨ(eventType:radarDetection)Ƿʵʱϴ0-1-webʵʱʾ״Ŀ꣩ - BYTE bySupport; - // - //bit0-Ƽ⣨IPC 0-1- - //bit1-ͳƣIPC 0-1- - //bit2-ȶͼͳƣIPC 0-1- - //bit3-ץģIPC 0-1- - //bit4-ԱȣIPC 0-1- - //bit5-JSON͸IPC 0-1- - //bit6-ȶͼԱͣʱͳϴ¼0-1- - //bit7-ȶͼͳϴ¼ȷϻƣ0-1- - BYTE byBrokenNetHttp; - WORD wTaskNo; // (ϴNET_DVR_VEHICLE_RECOG_RESULTеֶdwTaskNoӦ ͬʱ ·ṹ NET_DVR_VEHICLE_RECOG_CONDеֶdwTaskNoӦ) - BYTE byDeployType; //ͣ0-ͻ˲1-ʵʱ - BYTE bySubScription; //ģλʾδIJϱ //ռλBit7-ƶ˳Ƿͼ0-ͼ(V30ϱ)1-ͼ(V40ϱ) - //ӦV60汾 - //bit0-AID¼(COMM_ALARM_AID_V41) 0-1- - //bit1-TFS¼COMM_ALARM_TFS 0-1- - //bit2-TPSͳƹ¼COMM_ALARM_TPS_STATISTICS 0-1- - //bit3-쳣Ϊ(COMM_ALARM_RULE) 0-1- - BYTE byBrokenNetHttpV60; - BYTE byRes1; - BYTE byAlarmTypeURL;//bit0-ʾץıϴINTER_FACESNAP_RESULT0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨ж,ͬʱ豸Ҫ֧URLط񣬵ǰǡƴ洢 - //bit1-ʾEVENT_JSONͼƬݳͣ0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨жϣ - //bit2 - ȶ(ΪCOMM_SNAP_MATCH_ALARM)ͼƬϴͣ0 - ƴ䣬1 - URL - //bit3 - 쳣Ϊ(ΪCOMM_ALARM_RULE)ͼƬϴͣ0 - ƴ䣬1 - URL䣬ֶ豸Ƿ֧֣ӦӲڵǷ񷵻Ϊtrue - BYTE byCustomCtrl;//Bit0- ʾָ֧ʻͼϴ: 0-ϴ,1-ϴ - BYTE byRes4[128]; -}NET_DVR_SETUPALARM_PARAM_V50, *LPNET_DVR_SETUPALARM_PARAM_V50; - -typedef struct tagNET_ITC_VIDEO_TRIGGER_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwTriggerMode; //ƵģʽͣITC_TRIGGERMODE_TYPE - BYTE byRes[16]; -}NET_ITC_VIDEO_TRIGGER_COND, *LPNET_ITC_VIDEO_TRIGGER_COND; - -//ṹ -typedef struct tagNET_ITC_FTP_TYPE_COND -{ - DWORD dwChannel;//ͨ - BYTE byWorkMode; // 0-FTP1(FTP)1-FTP2(FTP) - BYTE byRes[7]; -}NET_ITC_FTP_TYPE_COND, *LPNET_ITC_FTP_TYPE_COND; - -//ýṹ -typedef struct tagNET_ITC_FTP_CFG -{ - DWORD dwSize; - BYTE byEnable; /*Ƿftpϴܣ0-1-*/ - BYTE byAddressType; //0-ʵipv4 ipv6ַ 1- - // unionServerʹʵʵַ - WORD wFTPPort; /*˿*/ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME];//ַ - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp;/*IPַ*/ //IPv4 IPv6ַ, 144ֽ - } struAddrIP; - }unionServer; //ʹṹͨbyAddressTypeֶαʾIPַ 64 - BYTE szUserName[NAME_LEN]; /*û*/ - BYTE szPassWORD[PASSWD_LEN]; /**/ - BYTE byRes4; // 0-FTP1(FTP)1-FTP2(FTP) - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼, - 1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼, - 3 = ʹ3Ŀ¼,4=ʹ4Ŀ¼*/ - BYTE byIsFilterCarPic;/*СͼǷϴ0-ϴ,1-ϴ*/ - BYTE byUploadDataType;//0-ȫ1-ڣ2-Υ (FTPʱĬѡȫ˫FTPʱֿ֧ڣΥµѡ) - NET_DVR_PICTURE_NAME struPicNameRule;/* ͼƬ */ - BYTE byTopDirMode; /*һĿ¼, 0x1 = ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹʾ,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - BYTE bySubDirMode; /*Ŀ¼, 0x1 =ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹʾ,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - BYTE byThreeDirMode; /*Ŀ¼, 0x1 = ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹʾ,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - BYTE byFourDirMode; /*ļĿ¼, 0x1 =ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹʾ,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - /*ͼƬԶ PICNAME_ITEM_CUSTOM ʱ Ч*/ - BYTE szPicNameCustom[MAX_CUSTOMDIR_LEN];// (3.7Ver Ч) - BYTE szTopCustomDir[MAX_CUSTOMDIR_LEN]; /*ԶһĿ¼*/ - BYTE szSubCustomDir[MAX_CUSTOMDIR_LEN];/*ԶĿ¼*/ - BYTE szThreeCustomDir[MAX_CUSTOMDIR_LEN]; /*ԶĿ¼*/ - BYTE szFourCustomDir[MAX_CUSTOMDIR_LEN]; /*ԶļĿ¼*/ - BYTE byRes3[900]; //12չԤ ֧͸ -}NET_ITC_FTP_CFG, *LPNET_ITC_FTP_CFG; - -typedef struct tagNET_DVR_LATITUDE_PARAM -{ - BYTE byDegree;//[0,179] - BYTE byMinute;//[0,59] - BYTE bySec;//[0,59] - BYTE byRes; -}NET_DVR_LATITUDE_PARAM, *LPNET_DVR_LATITUDE_PARAM; - -typedef struct tagNET_DVR_LONGITUDE_PARAM -{ - BYTE byDegree;//[0,179] - BYTE byMinute;//[0,59] - BYTE bySec;//[0,59] - BYTE byRes; -}NET_DVR_LONGITUDE_PARAM, *LPNET_DVR_LONGITUDE_PARAM; - -typedef struct tagNET_DVR_GPS_DATACFG -{ - DWORD dwSize; - BYTE byGpsDataMode;//GPSݻȡ 0-Զ1-ֶ - BYTE byLongitudeType;// 0-1- - BYTE byLatitudeType;//γ 0-γ1-γ - BYTE byRes; - NET_DVR_LATITUDE_PARAM struLatitude; /*γ*/ - NET_DVR_LONGITUDE_PARAM struLongitude; /**/ - BYTE byRes1[128]; -}NET_DVR_GPS_DATACFG,*LPNET_DVR_GPS_DATACFG; - -typedef enum _VCA_DATABASE_TYPE_ -{ - DATABASE_NULL = 0, //δ֪ - DATABASE_SNAP, //ץݿ - DATABASE_FACE //ݿ -}VCA_DATABASE_TYPE; - -typedef struct tagNET_VCA_DATABASE_PARAM -{ - DWORD dwSize; - DWORD dwDataBaseID; //ݿID豸ɣʱЧ޸ĺɾʱЧ - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - BYTE byDataBaseName[NAME_LEN]; //ݿ - BYTE byAttribute[64]; //ݿ - BYTE byRes[20]; -}NET_VCA_DATABASE_PARAM, *LPNET_VCA_DATABASE_PARAM; - -typedef struct tagNET_VCA_FIND_DATABASE_COND -{ - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - BYTE byRes[12]; // -}NET_VCA_FIND_DATABASE_COND, *LPNET_VCA_FIND_DATABASE_COND; - -typedef struct tagNET_VCA_DELETE_DATABASE_COND -{ - DWORD dwSize; - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - BYTE byRes[64]; // -}NET_VCA_DELETE_DATABASE_COND, *LPNET_VCA_DELETE_DATABASE_COND; - -typedef struct tagNET_VCA_INQUIRE_SNAPDB_COND -{ - DWORD dwChannel;//ͨ - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - BYTE byRes[12]; // -}NET_VCA_INQUIRE_SNAPDB_COND, *LPNET_VCA_INQUIRE_SNAPDB_COND; - -typedef struct tagNET_VCA_INQUIRE_SNAPRECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_DVR_TIME struSnapTime; //ץʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_INQUIRE_SNAPRECORD_RESULT, *LPNET_VCA_INQUIRE_SNAPRECORD_RESULT; - -typedef union tagNET_VCA_DELETE_SNAPRECORD_COND_UNION -{ - NET_VCA_INQUIRE_SNAPDB_COND struAttribute; //ԱϢɾ - DWORD dwRecordID; //¼IDɾ -}NET_VCA_DELETE_SNAPRECORD_COND_UNION, *LPNET_VCA_DELETE_SNAPRECORD_COND_UNION; - -typedef enum _VCA_DELETE_RECORD_TYPE_ -{ - DELETE_RECORD_SINGLE = 0, //ɾ - DELETE_RECORD_BATCH //ɾ -}VCA_DELETE_RECORD_TYPE; - -typedef struct tagNET_VCA_DELETE_SNAPRECORD_COND -{ - VCA_DELETE_RECORD_TYPE dwDeleteType; //ɾ¼ - NET_VCA_DELETE_SNAPRECORD_COND_UNION uDeleteCond; //ɾ - BYTE byRes[40]; // -}NET_VCA_DELETE_SNAPRECORD_COND, *LPNET_VCA_DELETE_SNAPRECORD_COND; - -typedef enum _VCA_SEARCH_DATABASE_TYPE_ -{ - VCA_NORMAL_SEARCH_DATABASE = 0x00000000, //ͨ - VCA_ADVANCE_SEARCH_DATABASE = 0x00000001 //߼ -}VCA_SEARCH_DATABASE_TYPE; - -typedef struct tagNET_VCA_ADVANCE_SEARCH_DATABASE_COND -{ - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - DWORD dwFacePicID; //ͼƬID - BYTE byRes[36]; -}NET_VCA_ADVANCE_SEARCH_DATABASE_COND, *LPNET_VCA_ADVANCE_SEARCH_DATABASE_COND; - -typedef union tagNET_VCA_SEARCH_DATABASE_COND_UNION -{ - DWORD uLen[25]; - NET_VCA_REGISTER_PIC struNormalFind; //ͨ - NET_VCA_ADVANCE_SEARCH_DATABASE_COND struAdvanceFind; //߼ -}NET_VCA_SEARCH_DATABASE_COND_UNION, *LPNET_VCA_SEARCH_DATABASE_COND_UNION; - -typedef struct tagNET_VCA_SEARCH_DATABASE_PARAM -{ - DWORD dwSearchType; //ͣVCA_SEARCH_DATABASE_TYPE - NET_VCA_SEARCH_DATABASE_COND_UNION uSearchCond; // - BYTE byRes[16]; -}NET_VCA_SEARCH_DATABASE_PARAM, *LPNET_VCA_SEARCH_DATABASE_PARAM; - -typedef struct tagNET_VCA_SEARCH_SNAPDB_COND -{ - DWORD dwChannel; //ͨ - DWORD dwDataBaseID; //ݿID - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - NET_VCA_SEARCH_DATABASE_PARAM struSearchParam; // - DWORD dwMaxSearchNum; // - WORD wThreshold; //ֵ0-100 - BYTE byRes[78]; // -}NET_VCA_SEARCH_SNAPDB_COND, *LPNET_VCA_SEARCH_SNAPDB_COND; - -typedef struct tagNET_VCA_SEARCH_SNAPRECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_DVR_TIME struSnapTime;//ץʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - float fSimilarity; //ƶȣ[0.001,1] - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_SEARCH_SNAPRECORD_RESULT, *LPNET_VCA_SEARCH_SNAPRECORD_RESULT; - -typedef struct tagNET_VCA_DATARECORD_INFO -{ - DWORD dwSize; //ṹС - DWORD dwRecordID; //¼IDʱЧ޸ʱЧ - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - NET_VCA_REGISTER_PIC struRegisterPic; //ԱͼƬϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - BYTE byRes[32]; // -}NET_VCA_DATARECORD_INFO, *LPNET_VCA_DATARECORD_INFO; - -typedef struct tagNET_VCA_FAST_DATARECORD_INFO -{ - DWORD dwSize; //ṹС - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - DWORD dwImageLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pImage; //ͼ -}NET_VCA_FAST_DATARECORD_INFO, *LPNET_VCA_FAST_DATARECORD_INFO; - -typedef struct tagNET_VCA_INQUIRE_DATARECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_INQUIRE_DATARECORD_RESULT, *LPNET_VCA_INQUIRE_DATARECORD_RESULT; - -typedef struct tagNET_VCA_SEARCH_DATARECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - float fSimilarity; //ƶȣ[0.001,1] - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_SEARCH_DATARECORD_RESULT, *LPNET_VCA_SEARCH_DATARECORD_RESULT; - -typedef struct tagNET_VCA_DATARECORD_COND -{ - DWORD dwDataBaseID; //ݿID - NET_VCA_HUMANATTRIBUTE_COND struAttribute; //ԱϢ - BYTE byRes[80]; // -}NET_VCA_DATARECORD_COND, *LPNET_VCA_DATARECORD_COND; - -typedef union tagNET_VCA_DELETE_RECORD_COND_UNION -{ - NET_VCA_HUMANATTRIBUTE_COND struAttribute; //ԱϢɾ - DWORD dwRecordID; //¼IDɾ -}NET_VCA_DELETE_RECORD_COND_UNION, *LPNET_VCA_DELETE_RECORD_COND_UNION; - -typedef struct tagNET_VCA_DELETE_RECORD_COND -{ - VCA_DELETE_RECORD_TYPE dwDeleteType; //ɾ¼ - NET_VCA_DELETE_RECORD_COND_UNION uDeleteCond; //ɾ - BYTE byRes[40]; // -}NET_VCA_DELETE_RECORD_COND, *LPNET_VCA_DELETE_RECORD_COND; - -typedef struct tagNET_VCA_SEARCH_FACEDB_COND -{ - DWORD dwDataBaseID; //ݿID - NET_VCA_HUMANATTRIBUTE_COND struAttribute; //ԱϢ - NET_VCA_SEARCH_DATABASE_PARAM struSearchParam; // - DWORD dwMaxSearchNum; // - WORD wThreshold; //ֵ0-100 - BYTE byRes[78]; // -}NET_VCA_SEARCH_FACEDB_COND, *LPNET_VCA_SEARCH_FACEDB_COND; - -typedef struct tagNET_VCA_FIND_MATCHPIC_COND -{ - DWORD dwSize; - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - BYTE byRes[64]; // -}NET_VCA_FIND_MATCHPIC_COND, *LPNET_VCA_FIND_MATCHPIC_COND; - -typedef struct tagNET_VCA_FIND_MATCHPIC_RESULT -{ - DWORD dwSize; - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - DWORD dwPicLen; //ͼƬ - BYTE byRes[64]; // - BYTE *pPicBuffer; //ͼƬָ -}NET_VCA_FIND_MATCHPIC_RESULT, *LPNET_VCA_FIND_MATCHPIC_RESULT; - -typedef struct tagNET_DVR_REMOTECONTROL_ALARM_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - WORD wDealyTime; //ӳʱ䣬λs - BYTE byRes[30]; -}NET_DVR_REMOTECONTROL_ALARM_PARAM, *LPNET_DVR_REMOTECONTROL_ALARM_PARAM; - -typedef struct tagNET_DVR_REMOTECONTROL_STUDY_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[16]; -}NET_DVR_REMOTECONTROL_STUDY_PARAM, *LPNET_DVR_REMOTECONTROL_STUDY_PARAM; - -typedef struct tagNET_DVR_WIRELESS_ALARM_STUDY_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byIndex; //߱ţ1-8 - BYTE byRes[15]; -}NET_DVR_WIRELESS_ALARM_STUDY_PARAM, *LPNET_DVR_WIRELESS_ALARM_STUDY_PARAM; - -#define MAX_AUX_ALARM_NUM 8 // -#define MAX_WIRELESS_ALARM_NUM 8 //߱ -typedef enum _IPC_AUX_ALARM_TYPE_ -{ - IPC_AUXALARM_UNKNOW = 0, //δ֪ - IPC_AUXALARM_PIR = 1, //PIR - IPC_AUXALARM_WIRELESS = 2, //߱ - IPC_AUXALARM_CALLHELP = 3 //ȱ -}IPC_AUX_ALARM_TYPE; - -typedef struct tagNET_DVR_AUDIO_LIMIT_ALARM_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - DWORD dwDecibelLimit; //ֱ澯ֵ - NET_DVR_HANDLEEXCEPTION_V30 struHandleException; //쳣ʽ - BYTE byRes2[24]; -}NET_IPC_AUDIO_LIMIT_ALARM_CFG,*LPNET_IPC_AUDIO_LIMIT_ALARM_CFG; - -typedef struct tagNET_DVR_BUTTON_DOWN_ALARM_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struHandleException; //쳣ʽ - BYTE byRes2[24]; -}NET_IPC_BUTTON_DOWN_ALARM_CFG,*LPNET_IPC_BUTTON_DOWN_ALARM_CFG; - -typedef struct tagNET_IPC_PIR_ALARMCFG -{ - BYTE byAlarmName[NAME_LEN]; /* */ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[64]; -}NET_IPC_PIR_ALARMCFG, *LPNET_IPC_PIR_ALARMCFG; - -typedef struct tagNET_IPC_PIR_ALARMCFG_EX -{ - BYTE byAlarmName[NAME_LEN]; /* */ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; - BYTE byRes[1464]; -}NET_IPC_PIR_ALARMCFG_EX, *LPNET_IPC_PIR_ALARMCFG_EX; - -//ȱ -typedef struct tagNET_IPC_CALLHELP_ALARMCFG -{ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[64]; -}NET_IPC_CALLHELP_ALARMCFG, *LPNET_IPC_CALLHELP_ALARMCFG; - -typedef struct tagNET_IPC_SINGLE_WIRELESS_ALARMCFG -{ - BYTE byAlarmName[NAME_LEN]; /* */ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byID; //߱ID1-8 - BYTE byRes1[2]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[32]; -}NET_IPC_SINGLE_WIRELESS_ALARMCFG, *LPNET_IPC_SINGLE_WIRELESS_ALARMCFG; - -typedef struct tagNET_IPC_WIRELESS_ALARMCFG -{ - NET_IPC_SINGLE_WIRELESS_ALARMCFG struWirelessAlarm[MAX_WIRELESS_ALARM_NUM]; //߱ - BYTE byRes[32]; -}NET_IPC_WIRELESS_ALARMCFG, *LPNET_IPC_WIRELESS_ALARMCFG; - -typedef union tagNET_IPC_AUX_ALARMCFG_UNION -{ - DWORD uLen[472]; - NET_IPC_PIR_ALARMCFG_EX struPIRAlarm; //PIR - NET_IPC_WIRELESS_ALARMCFG struWirelessAlarm; //߱ - NET_IPC_CALLHELP_ALARMCFG struCallHelpAlarm; //ȱ -}NET_IPC_AUX_ALARMCFG_UNION, *LPNET_IPC_AUX_ALARMCFG_UNION; - -typedef struct tagNET_IPC_SINGLE_AUX_ALARMCFG -{ - BYTE byAlarmType; //ͣIPC_AUX_ALARM_TYPE - BYTE byRes1[3]; - NET_IPC_AUX_ALARMCFG_UNION uAlarm; // - BYTE byRes[16]; -}NET_IPC_SINGLE_AUX_ALARMCFG, *LPNET_IPC_SINGLE_AUX_ALARMCFG; - -typedef struct tagNET_IPC_AUX_ALARMCFG -{ - DWORD dwSize; - NET_IPC_SINGLE_AUX_ALARMCFG struAlarm[MAX_AUX_ALARM_NUM]; // - BYTE byRes[64]; -}NET_IPC_AUX_ALARMCFG, *LPNET_IPC_AUX_ALARMCFG; - -typedef union tagNET_IPC_AUXALARM_UPLOAD_UNION -{ - DWORD uLen[66]; - NET_IPC_PIR_ALARMCFG struPIRAlarm; //PIR - NET_IPC_SINGLE_WIRELESS_ALARMCFG struWirelessAlarm; //߱ - NET_IPC_CALLHELP_ALARMCFG struCallHelpAlarm; //ȱ -}NET_IPC_AUXALARM_UPLOAD_UNION, *LPNET_IPC_AUXALARM_UPLOAD_UNION; - -typedef struct tagNET_IPC_AUXALARM_RESULT -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byAlarmType; //ͣIPC_AUX_ALARM_TYPE - BYTE byRes1[3]; - NET_IPC_AUXALARM_UPLOAD_UNION struAuxAlarm; // - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byRes[32]; -}NET_IPC_AUXALARM_RESULT, *LPNET_IPC_AUXALARM_RESULT; - -typedef struct tagNET_DVR_PREVIEW_DISPLAYCFG -{ - DWORD dwSize; // ṹС - BYTE byCorrectMode; //Уģʽ0-У1-оƬУ - BYTE byMountType; //װͣ0-1-棬2-ǽ - /* - 0-ģʽ1+ȫ+3PTZ (ԭзʵʱģʽһ) - 1-ģʽ2+4PTZ(ԭʵʱģʽһ) - 2-ģʽ3()+()+3PTZ - 3-ģʽ4ȫչ(+) - 4-ģʽ54PTZ - 5-ģʽ6ۣ - 6-ģʽ7: γȫչģʽ - 7-ģʽ8: 4PTZںģʽ - */ - BYTE byRealTimeOutput; //ʵʱ0 -ã1- - BYTE byRes[61]; -}NET_DVR_PREVIEW_DISPLAYCFG, *LPNET_DVR_PREVIEW_DISPLAYCFG; - -typedef struct tagNET_DVR_REMOTECONTROL_PTZ_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPTZCommand; //PTZ - NET_VCA_POINT struVcaPoint; //Ԥ - DWORD dwSpeed; //ƵٶȣȡֵΧ[0,7] - DWORD dwStop; //ֹͣʼ0-ʼ1-ֹͣ - BYTE byRes[32]; -}NET_DVR_REMOTECONTROL_PTZ_PARAM, *LPNET_DVR_REMOTECONTROL_PTZ_PARAM; - -typedef struct tagNET_DVR_PRESET_POINT_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPTZPresetCmd; //Ԥõ - NET_VCA_POINT struVcaPoint; //Ԥ - DWORD dwPresetIndex; //Ԥõţ1ʼ֧255Ԥõ - WORD wZoomCoordinate;///<Ԥõ㴰Zoomֵ - BYTE byRes[30]; -}NET_DVR_PRESET_POINT_PARAM, *LPNET_DVR_PRESET_POINT_PARAM; - -typedef struct tagNET_DVR_PTZ_CRUISE_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPTZCruiseCmd; //Ѳ - NET_VCA_POINT struVcaPoint; //Ԥ - WORD wCruiseRoute; //Ѳ·֧32·Ŵ1ʼ - WORD wCruisePoint; //Ѳ㣬֧32㣨Ŵ1ʼ - WORD wInput; //ͬѲʱֵͬԤõ(255)ʱ(255)ٶ(40) - WORD wZoomCoordinate;///<Ԥõ㴰Zoomֵ - BYTE byRes[32]; -}NET_DVR_PTZ_CRUISE_PARAM, *LPNET_DVR_PTZ_CRUISE_PARAM; - -typedef struct tagNET_DVR_WPS_PARAM -{ - DWORD dwSize; - BYTE byEnableWps; //WPS0-1- - BYTE byRes[31]; -}NET_DVR_WPS_PARAM, *LPNET_DVR_WPS_PARAM; - -typedef struct tagNET_DVR_PIN_PARAM -{ - DWORD dwSize; - BYTE byPIN[8]; //PIN - BYTE byRes[32]; -}NET_DVR_PIN_PARAM, *LPNET_DVR_PIN_PARAM; - -typedef struct tagNET_DVR_WPS_CONNECT_PARAM_ -{ - DWORD dwSize; - BYTE byConnectType; //WPSӷʽ0-PBC,1-AP PIN - BYTE byRes1[3]; - BYTE byPIN[8]; //PIN(WPSӷʽΪAP PINʱЧ) - BYTE byEssid[IW_ESSID_MAX_SIZE]; //essid(WPSӷʽΪAP PINʱЧ) - BYTE byRes[32]; -}NET_DVR_WPS_CONNECT_PARAM, *LPNET_DVR_WPS_CONNECT_PARAM; - -typedef struct tagNET_DVR_DECODER_JOINT_PARAM -{ - DWORD dwSize; // ṹС - BYTE byJointed; // 0 ûй 1 Ѿ - BYTE byRes1[3]; // ֽ - NET_DVR_IPADDR struIP; // IPַ - WORD wPort; // Ķ˿ں - WORD wChannel; // Ľͨ - BYTE sDeviceName[NAME_LEN]; //豸 - BYTE sChanName[NAME_LEN]; //Ľͨ - BYTE byRes2[32]; // ֽ -}NET_DVR_DECODER_JOINT_PARAM, *LPNET_DVR_DECODER_JOINT_PARAM; - -typedef struct tagNET_DVR_PIC_VIEW_PARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE bySourceIndex; //źԴͨ - BYTE byRes[29]; -}NET_DVR_PIC_VIEW_PARAM, *LPNET_DVR_PIC_VIEW_PARAM; - -#define DVCS_DEVICEID_LEN 16 -//2012-03-13ͼƬעϢص -typedef struct tagNET_DVR_PICVIEW_CALLBACKPARAM -{ - DWORD dwUserID; - BYTE sDeviceID[DVCS_DEVICEID_LEN]; - LONG nPicViewHandle; //Ծ - WORD wSignalIndex; //źԴ - WORD wHeadLen; //ļͷ ˽еļͷ40 - BYTE byHeadBuf[100]; //ļͷ - BYTE byRes2[32]; -}NET_DVR_PICVIEW_CALLBACKPARAM, *LPNET_DVR_PICVIEW_CALLBACKPARAM; - -#define DEVICEID_LEN 32 - -typedef struct tagNET_DVR_DEVICEID_INFO -{ - DWORD dwSize; - DWORD dwDeviceIndex; //豸 - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes1[27]; - DWORD dwChan; //ͨ - DWORD dwInputSignalIndex; //źԴʽʹ - BYTE byRes2[60]; -}NET_DVR_DEVICEID_INFO, *LPNET_DVR_DEVICEID_INFO; - - -typedef struct tagNET_DVR_SINGLE_NETPARAM -{ - DWORD dwSize; - BYTE byUseDhcp; //ǷDHCP 0xff-Ч 0- 1- - BYTE byRes1[3]; - NET_DVR_IPADDR struDevIP; // 豸IPַ - NET_DVR_IPADDR struSubnetMask; // 豸 - NET_DVR_IPADDR struGateway; // 豸 - WORD wDevPort; // 豸˿ں - BYTE byMACAddr[MACADDR_LEN]; // MAC ַ(ֻܻȡ) - BYTE byRes2[16]; -} NET_DVR_SINGLE_NETPARAM, *LPNET_DVR_SINGLE_NETPARAM; - -typedef struct tagNET_DVR_CHAN_INFO -{ - DWORD dwSize; - BYTE byValid; //0-Ч 1-Ч - BYTE byRes1[3]; - BYTE sChanName[NAME_LEN]; //ͨ - NET_DVR_COLOR struVideoColor; //źԴɫ - WORD wResolutionX; //ǰֱ--- - WORD wResolutionY; //ǰֱ--- - BYTE byRes2[40]; -} NET_DVR_CHAN_INFO, *LPNET_DVR_CHAN_INFO; - -//豸Ϣ -typedef struct tagNET_DVR_CODEDEV_INFO -{ - NET_DVR_CHAN_INFO struChanInfo[MAX_CHANNUM/*16*/];/*豸ͨϢ*/ -} NET_DVR_CODEDEV_INFO, *LPNET_DVR_CODEDEV_INFO; - -//豸Ϣ -typedef struct tagNET_DVR_DECODEDEV_INFO -{ - BYTE byRes[1408]; -} NET_DVR_DECODEDEV_INFO, *LPNET_DVR_DECODEDEV_INFO; - -//źԴϢ -typedef struct tagNET_DVR_NETSIGNAL_INFO -{ - DWORD dwSize; - BYTE byDevName[NAME_LEN/*32*/];//źԴ - NET_DVR_PU_STREAM_CFG struPuStream; - BYTE byValid; //ǷЧ0-ЧɾʱΪ0 1-ЧӺ޸ʱΪ1/ - BYTE byRes1[3]; // - BYTE sGroupName[NAME_LEN/*32*/];//źԴźԴ - WORD wResolutionX; //ǰֱ--- - WORD wResolutionY; //ǰֱ--- - BYTE byRes2[24]; -}NET_DVR_NETSIGNAL_INFO, *LPNET_DVR_NETSIGNAL_INFO; - -typedef struct tagNET_DVR_NETSIGNALDEV_INFO -{ - NET_DVR_NETSIGNAL_INFO struDevInfo; - BYTE byRes1[816]; -}NET_DVR_NETSIGNALDEV_INFO, *LPNET_DVR_NETSIGNALDEV_INFO; - -typedef union tagNET_DVR_DIFFDEV_INFO -{ - NET_DVR_CODEDEV_INFO struCodeDevInfo; //豸Ϣ - NET_DVR_DECODEDEV_INFO struDecodeDevInfo; //豸Ϣ - NET_DVR_NETSIGNALDEV_INFO struNetSignalInfo; //źԴϢ -} NET_DVR_DIFFDEV_INFO, *LPNET_DVR_DIFFDEV_INFO; - -/*ע豸Ϣ*/ -typedef enum tagNET_DVCS_DEVICE_TYPE -{ - NET_DVR_BNC_PROC = 1, /* BNC */ - NET_DVR_RGB_PROC, /* RGB */ - NET_DVR_STP_PROC, /* ת봦 */ - NET_DVR_DISP_PROC, /* ʾ */ - NET_DVR_NETSIGNAL, //źԴ - NET_DVR_SDI_PROC, //SDI - NET_DVR_BIW_PROC, //8·BNC - NET_DVR_DON_PROC, //ʾ - NET_DVR_TVI_PROC, //TVI - NET_DVR_DI2_PROC, //2·DVI봦 - NET_DVR_DO2_PROC, //2·DVI豸 - NET_DVR_UHDI_PROC, //DP/HDMI 1·4K豸 - NET_DVR_YI2_PROC, //·YPbPr - NET_DVR_HI2_PROC, // HDMIڵ(2·) - NET_DVR_VI2_PROC, // VGAڵ(2·) - NET_DVR_SI2_PROC, // SDIڵ(2·) - NET_DVR_HO2_PROC, // HDMIڵ(2·) - NET_DVR_S24G_PROC, // C20Nרǧ׽(24·) - NET_DVR_S24X_PROC // C20Nר׽(24·) -}NET_DVCS_DEVICE_TYPE; - -typedef struct tagNET_DVR_SINGLE_DEV_INFO -{ - DWORD dwSize; - DWORD dwSoftVersion; /*豸汾(ֻܻȡ) 8λΪ汾ţθ8λΪΰ汾ţ16λΪ޸汾*/ - DWORD dwSoftwareBuildDate; //汾Build, 0xYYYYMMDD - BYTE byUseInSys; /*Ƿϵͳʹ*/ - BYTE byDevStatus; /*豸ǰ״̬0-ߣ1-(ֻܻȡ)*/ - BYTE byDeviceType; /*豸(ֻܻȡ) DEVICE_TYPE*/ - BYTE byRes1[17]; - BYTE sDevName[NAME_LEN]; /*豸*/ - NET_DVR_SINGLE_NETPARAM struEtherNet[MAX_ETHERNET]; /*豸*/ - BYTE sSerialNumber[SERIALNO_LEN]; /*豸к*/ - NET_DVR_DIFFDEV_INFO struSubDevInfo; /*豸Ϣ*/ - DWORD dwDeviceIndex; //豸ţC20NY10豸ȫֱ - DWORD dwSubBoardNo; //ֲʽ豸ӰţC20NY10豸ȫֱţ1ʼΪ0ʱֶЧӰĬΪ1 - BYTE bySubSysNo; //ֲʽ豸ӰϵϵͳţӰȫ֣1ʼΪ0ʱֶЧϵͳĬΪ1 - BYTE byRes3[3]; - WORD wStartAudioTalkChanNo; //ֲʽ豸Խʼͨ - WORD wAudioTalkChanNum; //ֲʽ豸Խͨŵ - BYTE byRes2[36]; -} NET_DVR_SINGLE_DEV_INFO, *LPNET_DVR_SINGLE_DEV_INFO; - -typedef struct tagNET_DVR_DEVLIST -{ - DWORD dwSize; - DWORD dwDevNums;//豸صķֲʽ豸 - BYTE *pBuffer; - BYTE byRes1[3]; - DWORD dwBufLen;//ָ볤ȣ - BYTE byRes2[64]; -} NET_DVR_DEVLIST,*LPNET_DVR_DEVLIST; - -typedef struct tagNET_DVR_DEV_BASE_INFO -{ - DWORD dwSize; - BYTE byEnable; /*Ƿϵͳʹ*/ - BYTE byDeviceType; /*豸(ֻܻȡ)*/ - BYTE byRes1[2]; - BYTE sDevName[NAME_LEN]; /*豸*/ - BYTE byRes2[24]; -} NET_DVR_DEV_BASE_INFO,*LPNET_DVR_DEV_BASE_INFO; - -/*Ϣ*/ -typedef struct tagNET_DVR_NETPARAM -{ - DWORD dwSize; - NET_DVR_SINGLE_NETPARAM struEtherNet[MAX_ETHERNET];//̫ - BYTE byRes[64]; -} NET_DVR_NETPARAM, *LPNET_DVR_NETPARAM; - -// Ļ豸ϵ(16ֽ) -typedef struct tagNET_DVR_DISP_SCREEN -{ - DWORD dwSize; - WORD wScreenID; // ĻID, IDŴ1ʼ - BYTE byWallNo; // ǽ - BYTE byRes1; // 1 - DWORD dwDeviceIndex; // 豸 - BYTE byRes2[16]; // 2 -}NET_DVR_DISP_SCREEN, *LPNET_DVR_DISP_SCREEN; - -// Ļ -typedef struct tagNET_DVR_TEXTSHOW -{ - DWORD dwSize; - BYTE byShowText;//Ƿʾ֣1-ʾ֣0-ʾ - BYTE byRes[35]; -}NET_DVR_TEXTSHOW, *LPNET_DVR_TEXTSHOW; - -typedef struct tagNET_DVR_SCREENLIST -{ - DWORD dwSize; - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes[11]; - DWORD dwScreenNums;//豸صӳʾ - BYTE *pBuffer; - DWORD dwBufLen;//ָ볤ȣ -} NET_DVR_SCREENLIST,*LPNET_DVR_SCREENLIST; - -typedef struct tagNET_DVR_OPERATE_DEVICE -{ - DWORD dwSize; - DWORD dwSubCommand; //豸1-豸ʼ2-ֹͣ - DWORD dwDeviceIndex;//豸 - BYTE byRes[44]; -}NET_DVR_OPERATE_DEVICE, *LPNET_DVR_OPERATE_DEVICE; - -//豸 -typedef struct tagNET_DVR_UPGRADE_STATE -{ - DWORD dwProgress; // 0-100 - BYTE byState; //ȣ1- 2- 3-ʧ - BYTE byRes2[31]; -}NET_DVR_UPGRADE_STATE, *LPNET_DVR_UPGRADE_STATE; -typedef void (CALLBACK *DVCS_UPGRADESTATE_CB)(LONG nUpgradeHandle, BYTE *pBuffer, DWORD dwBufSize, void* pUser); - -typedef enum -{ - NET_DVR_DATA_BMP = 0, - NET_DVR_START_CALLBACK, - NET_DVR_STREAM_SYSHEAD, - NET_DVR_STREAM_DATA -}PIC_PREVIEW_DATATYPE; - -typedef struct tagNET_DVR_START_PIC_VIEW_INFO -{ - DWORD dwSize; - DWORD dwSignalIndex; //źԴţòڴ豸ֵΪ0 - DWORD dwDeviceIndex;//豸 - BYTE byRes1[12]; - BYTE byChanIndex; //ͨ - BYTE byRes2[3]; - //Ƶۺƽ̨Բ - DWORD dwScreenNum; //ţ㿪ʼ - DWORD dwLayer; //ͼţ㿪ʼ - DWORD dwResolution;//Էֱ,1-QCIF,2-CIF,3-D1 - BYTE byFrame;//֡ʣλ֡/ - BYTE bySupportStreamView; //ͻǷ֧ԣ0-֧֣1-֧ - BYTE byRes3[14]; -}NET_DVR_START_PIC_VIEW_INFO, *LPNET_DVR_START_PIC_VIEW_INFO; - -typedef struct tagNET_DVR_DVCS_STATE_ALARM -{ - DWORD dwSize; - BYTE byAlarmType; // ,1-豸ߣ2-豸 3- 4- 5-Ա½ 6-Ԥʼ,7-Ԥ8-ֱʱ仯9-ͼиʧܣ10-豸Դ㣬11-¶쳣 12-ڴСźԴֱʲ*/ - BYTE byDeviceType; // 豸 NET_DVCS_DEVICE_TYPE */ - BYTE byWallNo; // ǽţ1ʼ 0ʾЧ - BYTE byDeviceChanIndex; // 豸ͨţ0ʾЧֵʾͨ - DWORD dwDeviceIndex; // 豸ţ 0ʾЧ - WORD wResolutionX; // ֱ- 0ʾЧ - WORD wResolutionY; // ֱ- 0ʾЧ - WORD wTemperature; // 豸¶ λ϶, 0ʾЧ - BYTE byRes[86]; -}NET_DVR_DVCS_STATE_ALARM, *LPNET_DVR_DVCS_STATE_ALARM; - -typedef struct tagNET_DVR_PIC_ADJUST -{ - DWORD dwSize; - BYTE bySubCommand; //궨DECODEPIC_LEFTADJUST - BYTE byScale; //ֵ - BYTE byPictureProportion; //ͼű 0-Ч 1-4:3, 2-16:9 - BYTE byRes[29]; -}NET_DVR_PIC_ADJUST, *LPNET_DVR_PIC_ADJUST; - -typedef struct tagNET_DVR_PICTURE_PARAM -{ - DWORD dwSize; - BYTE byControlCommand; //л1-ʾ2-أ3-ȫɾGIFͼƬ - BYTE byUseType; //ͼƬͣ1-OSD 2-ͼ3-GIF - BYTE byWallNo; //ǽǽţ1ʼ - BYTE byPictureNo; //ͼƬ - BYTE byRes[64]; -}NET_DVR_PICTURE_PARAM, *LPNET_DVR_PICTURE_PARAM; - -// 76SP豸POEͨӷʽ -typedef struct tagNET_DVR_POE_CHANNEL_ADD_MODE -{ - DWORD dwSize; //ṹС - BYTE byAddMode; //ӷʽ 0: 弴 1: ֶ - BYTE byRes1[127]; // -}NET_DVR_POE_CHANNEL_ADD_MODE, *LPNET_DVR_POE_CHANNEL_ADD_MODE; - -#define MAX_ESATA_NUM 16 -#define MAX_MINISAS_NUM 96 - -typedef struct tagNET_DVR_ESATA_MINISAS_USAGE -{ - DWORD dwSize; - BYTE byESATAUsage[MAX_ESATA_NUM]; // ʾڼeSATA0Ĭϱ 1Ĭ¼ - BYTE byMiniSASUsage[MAX_MINISAS_NUM]; // ʾڼminiSAS0Ĭϱ 1Ĭ¼ - BYTE byRes[32]; -}NET_DVR_ESATA_MINISAS_USAGE, *LPNET_DVR_ESATA_MINISAS_USAGE; - -#define MAX_DISK_NUM 128 - -typedef struct tagNET_DVR_BACKUP_LOG_PARAM -{ - DWORD dwSize; - BYTE byDiskDesc[DESC_LEN_32]; //ݴ - BYTE byHardDisk[MAX_DISK_NUM]; //豸ݵӲ̺ţݼȡǰ - BYTE byBackupHardDiskNum; //豸ݵӲ̸ - BYTE byContinue; //Ƿݣ0-1- - BYTE byAllLogBackUp ; /*Ƿȫݣ0-̺űݣ1-־Ϊ1ʱ豸ݵĴ̺źӲ̸Ч*/ - BYTE byRes[29]; -}NET_DVR_BACKUP_LOG_PARAM, *LPNET_DVR_BACKUP_LOG_PARAM; - -typedef struct tagNET_DVR_DIGITAL_CHANNEL_STATE -{ - DWORD dwSize; - BYTE byDigitalAudioChanTalkState[MAX_CHANNUM_V30]; //ʾͨĶԽ״̬ 0-δʹã1-ʹ, 0xffЧ - BYTE byDigitalChanState[MAX_CHANNUM_V30]; /*ͨ״̬ byDigitalChanErrState[0] - ʾһֵͨʾ״̬룬NET_SDK_DIGITAL_CHANNEL_STATUSԴƣ0ʾЧ*/ - BYTE byDigitalAudioChanTalkStateEx[MAX_CHANNUM_V30*3]; //ʾͨĶԽ״̬ӵMAX_CHANNUM_V30+1 MAX_CHANNUM_V30*4 0-δʹã1-ʹ, 0xffЧ - BYTE byDigitalChanStateEx[MAX_CHANNUM_V30*3]; /*ͨ״̬ byDigitalChanErrStateEx[0]ʾڴӵMAX_CHANNUM_V30+1ֵͨʾ״̬룬NET_SDK_DIGITAL_CHANNEL_STATUSԴƣ0ʾЧ*/ - BYTE byAnalogChanState[MAX_ANALOG_CHANNUM];//ʾģͨǷ,0-,1- - BYTE byRes[32]; -}NET_DVR_DIGITAL_CHANNEL_STATE, *LPNET_DVR_DIGITAL_CHANNEL_STATE; - -//ͨ״̬ -typedef enum -{ - NET_SDK_DC_STATUS_CONNECTED = 1, // - NET_SDK_DC_STATUS_CONNECTING, // - NET_SDK_DC_STATUS_BAND_WIDTH_EXCEED, //ϵͳ - NET_SDK_DC_STATUS_DOMAIN_ERROR, // - NET_SDK_DC_STATUS_CHANNEL_ERROR, //ͨŴ - NET_SDK_DC_STATUS_ACCOUNT_ERROR, //û - NET_SDK_DC_STATUS_STREAM_TYPE_NOT_SUPPORT, //Ͳ֧ - NET_SDK_DC_STATUS_CONFLICT_WITH_DVR, //豸IPַͻ - NET_SDK_DC_STATUS_CONFLICT_WITH_IPC, //IPC IPַͻ - NET_SDK_DC_STATUS_NETWORK_UNREACHBALE, //粻ɴ - NET_SDK_DC_STATUS_IPC_NOT_EXIST, //IPͨδ - NET_SDK_DC_STATUS_IPC_EXCEPTION, //IPͨ쳣 - NET_SDK_DC_STATUS_OTHER_ERROR, // - NET_SDK_DC_STATUS_RESOLUTION_NOT_SUPPORT, //IPCֱʲ֧ - NET_SDK_DC_STATUS_IPC_LAN_ERR = 15, //IPCNVRԲƥ - NET_SDK_DC_STATUS_USER_LOCKED = 16, //û - NET_SDK_DC_STATUS_NOT_ACTIVATED = 17, //豸δ - NET_SDK_DC_STATUS_USER_NOT_EXIST = 18, //û - NET_SDK_DC_STATUS_IPC_UNREGISTERED = 19, //IPͨӦ豸δע(GB28181Э) - NET_SDK_DC_STATUS_POE_PORT_DETECTING = 20, //POEͨ - NET_SDK_DC_STATUS_RESOURCE_EXCEED = 21, /* IPCֱʣʳ*/ - NET_SDK_DC_STATUS_NEED_TO_REPAIR = 22, /* Ҫ*/ - NET_SDK_DC_STATUS_ACTIVATING = 23, /* IPCڼ */ - NET_SDK_DC_STATUS_TOKEN_AUTHENTCATE_FAILED = 24 /* token֤ʧ */ -}NET_SDK_DIGITAL_CHANNEL_STATUS; - -/*************************************ITS****************************/ -#define VERSION_LEN 32 //汾 -#define MAX_OVERLAP_ITEM_NUM 50 //ַ -#define ITS_MAX_DEVICE_NUM 32 //豸 - -//ն˻Ϣ -typedef struct tagNET_ITS_BASEINFO -{ - DWORD dwSize; - BYTE byMainVer[VERSION_LEN]; // 㷨̰汾 - BYTE byMprVer[VERSION_LEN]; // ֡ʶ汾 - BYTE byBvtVer[VERSION_LEN]; // Ƶ汾 - BYTE byLptVer[VERSION_LEN]; // Ƶ汾 - BYTE byTvdVer[VERSION_LEN]; // Υ¼汾 - BYTE byTldVer[VERSION_LEN]; // źŵƼ汾 - BYTE byRes[252]; // Ԥֶ -}NET_ITS_BASEINFO,*LPNET_ITS_BASEINFO; - -//ͼƬϳɲ -typedef struct tagNET_ITS_IMGMERGE_CFG -{ - DWORD dwSize; - BYTE byIsMerge; //ǷҪϳɣ0ϳɣ1ϳɣ - BYTE byCloseupProportion;//дͼ 1-ԭʼֱʴС2-ΪԭʼֱԴ(18) - BYTE byRes1[2]; - DWORD dwOneMergeType; //ץĵͼϳɷʽܻȡдͼ - /************************************************************************/ - /* 201 ͼƬкϳ,ϳɺͼƬΪͼ1,Ϊ2 */ - /* 202 ͼƬкϳ,ϳɺͼƬΪͼ2,Ϊ1 */ - /* 203 ºϳɣдϱ. */ - /* 204 ºϳɣд±. */ - /* 205 Һϳɣдұߡ */ - /* 206 Һϳɣд */ - /* 207 Ʒֺϳɣдͼϱ */ - /* 208 Ʒֺϳɣдͼ± */ - /* 209 Σ1Ϊд */ - /* 210 Σұ1Ϊд */ - /* 301 ͼƬкϳ,ϳɺͼƬΪͼ1,Ϊ3 */ - /* 302 ͼƬкϳ,ϳɺͼƬΪͼ3,Ϊ1 */ - /* 303 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 304 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ1,Ϊ1 */ - /* 305 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 306 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ѹͼƬֱ,ϳɺͼƬΪͼ1,Ϊ1 */ - /* 307 ͼƬ"Ʒ"кϳ */ - /* 308 ͼƬ"Ʒ"кϳ */ - /* 309 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 310 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ1,Ϊ1 */ - /* 311 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 312 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ѹͼƬֱ,ϳɺͼƬΪͼ1,Ϊ1 */ - - /* 313 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊдͼͼͼͼ */ - /* 314 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊͼдͼͼͼ */ - /* 315 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊͼͼдͼͼ */ - /* 316 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊͼͼͼдͼ */ - /* 317 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊдͼͼͼͼ */ - /* 318 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊͼдͼͼͼ */ - /* 319 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊͼͼдͼͼ */ - /* 320 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊͼͼͼдͼ */ - /************************************************************************/ - DWORD dwTwoMergeType; //ץͼϳɷʽ - DWORD dwThreeMergeType; //ץͼϳɷʽ - DWORD dwJpegQuality; //ѹ0~100 - DWORD dwCloseupIndex; //дͼץĵڼ - DWORD dwMerageMaxSize; //ϳͼƬС,300-10240(λKB) - WORD wCloseupDeviation; // дͼƫ(50~ͼƬ߶)λ: - BYTE byRes[30]; -}NET_ITS_IMGMERGE_CFG,*LPNET_ITS_IMGMERGE_CFG; - -//ͨ -typedef struct tagNET_ITS_TRAFFIC_DATA_HOST -{ - NET_DVR_IPADDR struHostAddr; // ԶIP - WORD wHostPort; // ԶPort - BYTE byRes1[2]; - DWORD dwDataType; // ϴԶͣ£λʾ - BYTE bySuspendUpload; // Ƿͣϴ0-ϴ1-ͣϴ - BYTE byUploadStrategy; // ϴԣ0-ϴ1-ͨʱϴ - WORD wUploadInterval; // ϴʱ䣨ms1~2000òֻʷЧ - DWORD dwUploadTimeOut; //ϴʱʱ - BYTE byRes[24]; -}NET_ITS_TRAFFIC_DATA_HOST,*LPNET_ITS_TRAFFIC_DATA_HOST; - -//ϴ -typedef struct tagNET_ITS_UPLOAD_CFG -{ - DWORD dwSize; - NET_ITS_TRAFFIC_DATA_HOST struRemoteDataHost1; //սͨ1 - NET_ITS_TRAFFIC_DATA_HOST struRemoteDataHost2; //սͨ2 -}NET_ITS_UPLOAD_CFG,*LPNET_ITS_UPLOAD_CFG; - -typedef struct tagNET_DVR_SYSTEM_TIME -{ - WORD wYear; // - WORD wMonth; // - WORD wDay; // - WORD wHour; //ʱ - WORD wMinute; // - WORD wSecond; // - WORD wMilliSec; // - BYTE byRes[2]; -}NET_DVR_SYSTEM_TIME, *LPNET_DVR_SYSTEM_TIME; - -//ͨ״̬Ϣ -typedef struct tagNET_ITS_TRAFFIC_DATA_INFO -{ - DWORD dwDataQuantity; // - DWORD dwDataRsendQuantity; //δҪϴͨģ - NET_DVR_SYSTEM_TIME struStartTime; //δݵʱ - NET_DVR_SYSTEM_TIME struEndTime; //δݵʱ - NET_DVR_IPADDR struDataHost; //սͨ -}NET_ITS_TRAFFIC_DATA_INFO, *LPNET_ITS_TRAFFIC_DATA_INFO; - -//ն˹״̬ -typedef struct tagNET_ITS_WORKSTATE -{ - DWORD dwSize ; - BYTE byDevName[NAME_LEN]; // 豸 - DWORD dwRunTime; // ϵͳʱ䣬λs - NET_ITS_TRAFFIC_DATA_INFO struTrafficDataInfo[2]; //̨֧ϴõ - DWORD dwMemoryUsage; // ڴռʣڴռΪ30%˴30 - DWORD dwCpuUsage; // cpuռʣcpuռΪ30%˴30 - DWORD dwDevTemperature; // ¶ - DWORD dwDeviceStatic; // 豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; //Ӳ״̬ - NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V30]; //ͨ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN_V30]; //ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT_V30]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay; //ʾ״̬,0-,1- - BYTE byAudioInChanStatus[8]; //ʾͨ״̬ 0-δʹã1-ʹУ0ʾ1ͨ - BYTE byRes[36]; // -}NET_ITS_WORKSTATE, *LPNET_ITS_WORKSTATE; - -//ڽͨûȡ -typedef struct tagNET_ITS_ECT_WORKSTATE_COMMAND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes[256]; // -}NET_ITS_ECT_WORKSTATE_COMMAND, *LPNET_ITS_ECT_WORKSTATE_COMMAND; - -typedef struct tagNET_ITS_ECTWORKSTATE -{ - DWORD dwSize ; - BYTE byDevName[NAME_LEN]; // 豸 - DWORD dwRunTime; // ϵͳʱ䣬λs - NET_ITS_TRAFFIC_DATA_INFO struTrafficDataInfo[2]; //̨֧ϴõ - DWORD dwMemoryUsage; // ڴռʣڴռΪ30%˴30 - DWORD dwCpuUsage; // cpuռʣcpuռΪ30%˴30 - DWORD dwDevTemperature; // ¶ - DWORD dwDeviceStatic; // 豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; //Ӳ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN_V30]; //ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT_V30]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay; //ʾ״̬,0-,1- - BYTE byRes[256]; // -}NET_ITS_ECTWORKSTATE, *LPNET_ITS_ECTWORKSTATE; - -// ͼƬϢ -typedef struct tagNET_ITS_PICTURE_INFO -{ - DWORD dwDataLen; //ýݳ - // 0:ͼ;1:ͼ;2:ϳͼ; 3:дͼ;4:ֱͼ;5:;6:ͼ(ʻ);7:ͼ(ʻ)ͼ;8-ǻ;9-;10-ԭʼ;11-Ŀͼ;12-ʻͼ ;13-ʻͼ;14-ͼСͼ - //15 - ԶͼƬ(ûԼϴΥͼƬ) - BYTE byType; - // 0-ֱϴ; 1-ƴ洢URL(3.7Ver)ԭȵͼƬݱURLݣͼƬȱURL - BYTE byDataType; - BYTE byCloseUpType;//дͼͣ0-,1-ǻ,2- - BYTE byPicRecogMode; //ͼƬʶ0-ʶ1-ʶ(βʶ) - DWORD dwRedLightTime; //ĺʱ s - BYTE byAbsTime[32]; //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999 λΪ - NET_VCA_RECT struPlateRect; //λ,byTypeΪ8-ǻ;9-ʱʾ - NET_VCA_RECT struPlateRecgRect; //ʶ꣬ͼƬΪ12-ʻͼ13-ʻͼǣΪʻԱ - BYTE *pBuffer; //ָ - DWORD dwUTCTime;//UTCʱ䶨 - BYTE byCompatibleAblity; //ֶ 0ʾЧ1ʾЧ; bit0-ʾdwUTCTimeֶЧ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes2[4]; // -}NET_ITS_PICTURE_INFO, *LPNET_ITS_PICTURE_INFO; - - -typedef struct tagNET_ITS_ILLEGAL_INFO -{ - BYTE byIllegalInfo[MAX_ILLEGAL_LEN/*64*/];// ΥϢַʽ - BYTE byRes[256]; -}NET_ITS_ILLEGAL_INFO,*LPNET_ITS_ILLEGAL_INFO; - - -// -typedef struct tagNET_ITS_PLATE_RESULT -{ - DWORD dwSize; //ṹ - DWORD dwMatchNo; //ƥ,(,,)ƥ - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣ - BYTE byPicNo; //ĵͼƬţյͼƬ󣬱ʾ;ճʱͼƬʱҪɾ - BYTE bySecondCam; //ǷڶץģԶץĵԶǰץĵĺĿлõ - BYTE byFeaturePicNo; //Ƶ羯ȡڼͼΪдͼ,0xff-ʾȡ - BYTE byDriveChan; // - BYTE byVehicleType; //ͣοVTR_RESULT - BYTE byDetSceneID;//ⳡ[1,4], IPCĬ0 - //ԣλʾ0- ޸(ͨ)bit1- Ʊ공(ı־)bit2- ΣƷֵ0- 1- - //ýڵѲʹ,ʹbyYellowLabelCarbyDangerousVehiclesжǷƱ공ΣƷ - BYTE byVehicleAttribute; - WORD wIllegalType; //ΥͲù궨 - BYTE byIllegalSubType[8]; //Υ - BYTE byPostPicNo; //ΥʱȡڼͼƬΪͼ,0xff-ʾȡ - //ͨ(Чͨź豸ϴͨһ£ں˺ ͨһ) - BYTE byChanIndex; - WORD wSpeedLimit; //ޣʱЧ - BYTE byChanIndexEx; //byChanIndexEx*256+byChanIndexʾʵͨš - /*λ־,0~Ϊͨʶ𱨾, - 1~Ϊλò(ͨPUT /ISAPI/Traffic/channels//vehiclePositionControl?format=json) - 2~Ϊܲ(Ԥõ㼰GPS)(ͨPUT /ISAPI/Traffic/channels//vehicleMonitor//startTask, - unarmedVehicleDetectionEnableĿ공ʹܣΪtrueʱֻϱⱨ޳ܲ˸ֶȡֵΪ02) - 3~Ϊֶ(/ISAPI/Traffic/channels//manualVehicleMonitor?format=json) - 4~Ϊճ(ó)ͨǷ֧ճ, - (ͨ/ISAPI/Traffic/channels//vehicleDetect/capabilitiesisSupportDailyVehicleMonitorж,ճʱ,豸ϱANPRʵʱϱvehicleMonitor) - ظֶΪͨ - */ - BYTE byVehiclePositionControl; - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[48]; //ʾ - BYTE byDeviceID[48]; //豸 - BYTE byDir; //ʾ1-У򣩣2-()3-˫4-ɶ5-,6-򶫣7-ɱϣ8- - BYTE byDetectType; //ⷽʽ,1-ظд2-Ƶ3-֡ʶ4-״ﴥ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byCarDirectionType; //ʻķ0ʾ£1ʾϣʵʳʻ֣,2ʾδ֪ - //wIllegalTypeΪʱʹøòwIllegalTypeΪֵʱwIllegalTypeΪ׼òЧ - DWORD dwCustomIllegalType; //ΥͶ(ûԶ) - /*Ϊ0~ָʽʱΪϵΥͣwIllegalTypedwCustomIllegalTypeЧֵΥ롣 - Ϊ1~ַʽʱpIllegalInfoBufЧϵΥͣwIllegalTypedwCustomIllegalTypeȻֵΥ*/ - BYTE* pIllegalInfoBuf; //ΥַϢṹָ룻ָNET_ITS_ILLEGAL_INFO - BYTE byIllegalFromatType; //ΥϢʽͣ 0~ָʽ 1~ַʽ - BYTE byPendant;// 0-ʾδ֪,1-2- - BYTE byDataAnalysis; //0-δ, 1-ѷ - BYTE byYellowLabelCar; //0-ʾδ֪, 1-ǻƱ공,2-Ʊ공 - BYTE byDangerousVehicles; //0-ʾδ֪, 1-ΣƷ,2-ΣƷ - //ֶΰPilotַΪʻCopilotַΪʻ - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byPilotCall;// 0-ʾδ֪, 1-绰,2-绰 - //0-բ1-δբ (רʷƥǷբɹı־)byAlarmDataTypeΪ0-ʵʱʱ 0-δբ 1-բ - BYTE byBarrierGateCtrlType; - BYTE byAlarmDataType;//0-ʵʱݣ1-ʷ - NET_DVR_TIME_V30 struSnapFirstPicTime;//˵ʱ(ms)ץĵһͼƬʱ䣩 - DWORD dwIllegalTime;//Υʱ䣨ms = ץһͼƬʱ - ץĵһͼƬʱ - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[6]; //ͼƬϢ,Żص6ͼ -}NET_ITS_PLATE_RESULT, *LPNET_ITS_PLATE_RESULT; - -//ڳץϴ -typedef struct tagNET_ITS_GATE_VEHICLE -{ - DWORD dwSize; //ṹ - DWORD dwMatchNo; //ƥ,(,,)ƥ Ĭ0 - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣĬ 1 ץͼƬ ƺʱ - BYTE byPicNo; //ĵͼƬϴͼƬţյͼƬ󣬱ʾɡ - //ճʱͼƬʱҪɾ - BYTE bySecondCam; //ǷڶץģԶץĵԶǰץĵĺĿлõʾǰץͼƬ - BYTE byRes; //ΪԤ - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byRes1; // - BYTE byAlarmReason[MAX_ALARMREASON_LEN]; //Զ屨 ĬΪ - WORD wBackList; //ΪǷ񱨾 0 ʾΪ 1 ʾֹ - WORD wSpeedLimit; //ޣʱЧkm/h - DWORD dwChanIndex; //ͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ ٶ - BYTE byMonitoringSiteID[MAX_ID_LEN]; //ʾ - BYTE byDeviceID[MAX_ID_LEN]; //豸 - BYTE byDir; //ʾ0- 1 볡2 - BYTE byDetectType; //ⷽʽ, 0- 1-ظд2-Ƶ3-֡ʶ4-״ﴥ - BYTE byRes2[2]; - BYTE byCardNo[MAX_ID_LEN]; // - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[4]; //ͼƬϢ,Żص4ͼ - //2013-11-19 ڳץϴʽ - BYTE bySwipeTime[MAX_TIME_LEN];//ˢʱ ʱʽΪyyyymmddhh24missfff - BYTE byRes3[224]; -}NET_ITS_GATE_VEHICLE, *LPNET_ITS_GATE_VEHICLE; - -//ʶ -typedef struct tagNET_ITS_GATE_FACE -{ - DWORD dwSize; //ṹ峤 - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣ - BYTE byPicNo; //ĵͼƬţյͼƬ󣬱ʾɡ - //ճʱͼƬʱҪɾ - BYTE byFeaturePicNo; //ץʱȡڼͼΪдͼ,0xff-ʾȡ - BYTE byRes; // - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byDir; //ʾ0- 1 볡 2 - DWORD dwChanIndex; //ͨ - BYTE byMonitoringSiteID[MAX_ID_LEN]; //ʾ - BYTE byDeviceID[MAX_ID_LEN]; //豸 - NET_VCA_FACESNAP_RESULT struFaceInfo; //ץ - BYTE byRes2[256]; //Ԥ -}NET_ITS_GATE_FACE, *LPNET_ITS_GATE_FACE; - -//ͣϴ -typedef struct _tagNET_ITS_PARK_VEHICLE_ -{ - DWORD dwSize; //ṹ - BYTE byGroupNum; //ͼƬѯץĵͼƬ - BYTE byPicNo; //ĵͼƬϴͼƬţյͼƬ󣬱ʾ - //ճʱͼƬʱҪɾ - BYTE byLocationNum; //ͼƬijλ - BYTE byParkError; //ͣ쳣0- 1 쳣 - BYTE byParkingNo[MAX_PARKNO_LEN];//λ - BYTE byLocationStatus; //λ״̬0-޳1г - BYTE bylogicalLaneNum;//߼λţ0-3һܹ4λ 0ߣ3ұߣ - WORD wUpLoadType;//λʾ0~Ѳϴ1~仯ϴ - BYTE byRes1[4]; //ֽ - DWORD dwChanIndex; //ͨͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[MAX_ID_LEN]; //ʾ - BYTE byDeviceID[MAX_ID_LEN]; //豸 - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬ - //ͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[2]; //ͼƬϢ,Żص2ͼ - BYTE byRes2[256]; -}NET_ITS_PARK_VEHICLE, *LPNET_ITS_PARK_VEHICLE; - -//ͨȡ֤ -typedef struct tagNET_DVR_TFS_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - DWORD dwIllegalType; //Υͣù궨壬dwIllegalTypeֵΪ0xffffffffʱʹbyIllegalCode - DWORD dwIllegalDuration; //Υʱ䣨λ룩 = ץһͼƬʱ - ץĵһͼƬʱ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN];//ʾţ·ڱšڲţ - BYTE byDeviceID[DEVICE_ID_LEN]; //豸 - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_DVR_SCENE_INFO struSceneInfo; //Ϣ - NET_DVR_TIME_EX struBeginRecTime; //¼ʼʱ - NET_DVR_TIME_EX struEndRecTime; //¼ʱ - NET_DVR_AID_INFO struAIDInfo; //ͨ¼Ϣ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - DWORD dwPicNum; //ͼƬ - NET_ITS_PICTURE_INFO struPicInfo[8]; //ͼƬϢ8 - BYTE bySpecificVehicleType; //峵 οʶVTR_RESULT - BYTE byLaneNo; // - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - NET_DVR_TIME_V30 struTime;//ֶλǰʱ䡣 - DWORD dwSerialNo;//ţ - BYTE byVehicleAttribute;//ԣλʾ0- ޸(ͨ)bit1- Ʊ공(ı־)bit2- ΣƷֵ0- 1- - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byPilotCall;// 0-ʾδ֪, 1-绰,2-绰 - BYTE byRes2[2]; // - BYTE byIllegalCode[ILLEGAL_LEN/*32*/];//ΥչdwIllegalTypeֵΪ0xffffffffʹֵ - WORD wCountry; // ֵ,öCOUNTRY_INDEX - BYTE byRegion; //ֵ,0-1-ŷ(Europe Region)2-(Russian Region)3-ŷ&˹(EU&CIS) , 4-жMiddle East0xff- - BYTE byCrossLine;//Ƿѹͣ෽ͣ0-ʾδ֪1-ѹߣ2-ѹ - BYTE byParkingSerialNO[SERIAL_NO_LEN/*16*/];//λ - BYTE byCrossSpaces;//Ƿ粴λͣ෽ͣ0-ʾδ֪1-δ粴λͣ2-粴λͣ - BYTE byAngledParking;//Ƿбͣ෽ͣ, 0-ʾδ֪1-δбͣ2-бͣ - BYTE byAlarmValidity;//ŶȣʻʻŶȣΧ0-100ŶԽߣ¼ʵԽ - BYTE byDoorsStatus;//״̬ 0-Źر 1-ſ - DWORD dwXmlLen;//XMLϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block -#else - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byRes3[4]; -#endif - BYTE byVehicleHeadTailStatus;//ͷβ״̬ 0- 1-ͷ 2-β - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byRes[30]; // -}NET_DVR_TFS_ALARM,*LPNET_DVR_TFS_ALARM; - -typedef struct tagNET_DVR_SOFTWARE_SERVICE_CFG -{ - DWORD dwSize;//ṹС - BYTE byThirdStreamEnabled; //Ƿã0-1- - BYTE bySubStreamEnabled; //Ƿã0-1- - BYTE byRes[254]; -}NET_DVR_SOFTWARE_SERVICE_CFG, *LPNET_DVR_SOFTWARE_SERVICE_CFG; - -typedef struct tagNET_ITS_ECT_BLOCKLIST -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE bylogicalLaneNo;//߼ - BYTE byRes1[3]; - BYTE byLaneName[NAME_LEN];// 32 - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - BYTE byRes2[256]; // ֽ -}NET_ITS_ECT_BLOCKLIST, *LPNET_ITS_ECT_BLOCKLIST; - -//IPCͨ -typedef struct tagNET_ITS_IPC_CHAN_CFG -{ - DWORD dwSize; - BYTE byCameraType; //࣬0-1-Ȧ2-Ƶ,3-һ - BYTE byRes1[3]; // - BYTE byMonitoringSiteID[48]; //ʾ - BYTE byDeviceID[48]; //豸 - BYTE byDirectionNo; //ʾ,0-,1-,2-,3-˫,4-ɶ,5-,6-,7-ɱ,8- - BYTE byMonitorInfo[48]; //ʾϢ - BYTE byRes2[15]; // -}NET_ITS_IPC_CHAN_CFG, *LPNET_ITS_IPC_CHAN_CFG; - -//豸Ϣ -typedef struct tagNET_ITS_SINGLE_DEVICE_INFO -{ - DWORD dwDeviceType; //豸ͣ0-նˣ1-2-ƣ3-4-Ȧ15-Ȧ26-Ȧ37-̵Ƽ8- - //9-״10-բ11-ڿƻ(Ʊ)12-LEDʾ13-Զ14-15-ɨǹ - //16-Ʊݴӡ17-ڵ(յ) , 18- - DWORD dwDirID; // - DWORD dwLaneID; // - DWORD dwDeviceState; //豸״̬ 0 0 쳣ο豸쳣 - BYTE byDeviceName[32]; //豸 - BYTE byDeviceID[48]; //豸ţһкţõַ - NET_DVR_TIME_V30 struTriggerTime;//ʱ - BYTE byRelateChan; //ͨţ1~8 AC1~4 AC1~2 - BYTE byRes[3]; -}NET_ITS_SINGLE_DEVICE_INFO,*LPNET_ITS_SINGLE_DEVICE_INFO; - -//·Ϣ -typedef struct tagNET_ITS_ROADINFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ,0xffffffffʾնˣʾӦ - BYTE byTriggerMode; // 0:Ȧ; 1:Ƶ - BYTE byRes1[3]; - DWORD dwDeviceNum; //ʵ豸 - BYTE byMonitoringSiteID[48]; //ʾ - BYTE byRoadInfo[48]; //ʾϢ - NET_ITS_SINGLE_DEVICE_INFO struSingleDevice[ITS_MAX_DEVICE_NUM]; - BYTE byRes[16]; -}NET_ITS_ROADINFO,*LPNET_ITS_ROADINFO; - -//·Ϣ -typedef struct tagNET_ITS_TRAFFIC_DRIVE_CHAN -{ - BYTE byDriveChan; // - BYTE byRes1[3]; // Ԥ - WORD wCarFlux; // - WORD wPasserbyFlux; // - WORD wShayFlux; //ֳ - float fAverOccpancy; //ƽռʰٷֱ - WORD wAverSpeed; //ƽ(km/h) - WORD wAverCarDis; //ƽ(λ) - BYTE byRes2[16]; // Ԥ -}NET_ITS_TRAFFIC_DRIVE_CHAN,*LPNET_ITS_TRAFFIC_DRIVE_CHAN; - -typedef struct tagNET_ITS_TRAFFIC_COLLECT -{ - DWORD dwSize; //ṹС - BYTE byMonitoringSiteID[48]; //ʾ - BYTE byDeviceID[48]; //豸 - BYTE byLaneNum; // - BYTE byDir; //ʾ - BYTE byDetectType; //ⷽʽ1-ظȦ2-Ƶ3֡ʶ4״ﴥ - BYTE byRes1; //Ԥ - DWORD dwChannel; //ͨ - NET_DVR_SYSTEM_TIME struStartTime; //ͳƿʼʱ - DWORD dwSamplePeriod; //ͳʱ,λ - NET_ITS_TRAFFIC_DRIVE_CHAN struDriveChan[6]; //ͨ,ÿ֧6 - BYTE byRes2[24]; //Ԥ -}NET_ITS_TRAFFIC_COLLECT,*LPNET_ITS_TRAFFIC_COLLECT; - -typedef struct tagNET_ITS_OVERLAPCFG_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwConfigMode; //ģʽ0-նˣ1-ǰ(ֱǰ˻ն˽ǰ) - BYTE byPicModeType;//0-ʾСͼ(ͼ)1-ʾͼ(ϳͼ) - /* - 0ʾ ץMPRģʽ֡ץ IPCʹã - 1 ʾ ץ HVT ģʽ쿨IPCʹã - */ - BYTE byRelateType; - BYTE byRes[14]; -}NET_ITS_OVERLAPCFG_COND, *LPNET_ITS_OVERLAPCFG_COND; - -typedef enum ITS_OVERLAP_ITEM_TYPE -{ - OVERLAP_ITEM_NULL = 0, //0-δ֪ - OVERLAP_ITEM_SITE, //1-ص - OVERLAP_ITEM_ROADNUM, //2-·ڱ - OVERLAP_ITEM_INSTRUMENTNUM, //3-豸 - OVERLAP_ITEM_DIRECTION, //4- - OVERLAP_ITEM_DIRECTIONDESC, //5- - OVERLAP_ITEM_LANENUM, //6- - OVERLAP_ITEM_LANEDES, //7- - OVERLAP_ITEM_CAPTIME, //8-ץʱ() - OVERLAP_ITEM_CAPTIME_MILLSECOND, //9-ץʱ() - OVERLAP_ITEM_PLATENUM, //10-ƺ - OVERLAP_ITEM_CARCOLOR, //11-ɫ - OVERLAP_ITEM_CARTYPE, //12- - OVERLAP_ITEM_CARBRAND, //13-Ʒ - OVERLAP_ITEM_CARSPEED, //14-ٶ - OVERLAP_ITEM_SPEEDLIMIT, //15-ٱ־ - OVERLAP_ITEM_CARLENGTH, //16-1~99m - OVERLAP_ITEM_ILLEGALNUM, //17-Υ(ΥӦûõģӦֱӵΥϢ١١Сơռѹߵ) - OVERLAP_ITEM_MONITOR_INFO, //18-ʾϢ - OVERLAP_ITEM_ILLEGALDES, //19-ΥΪ - OVERLAP_ITEM_OVERSPEED_PERCENT, //20-ٱ - OVERLAP_ITEM_RED_STARTTIME, //21-ƿʼʱ - OVERLAP_ITEM_RED_STOPTIME, //22-ƽʱ - OVERLAP_ITEM_RED_DURATION, //23-ʱ - OVERLAP_ITEM_SECUNITY_CODE, //24-α - OVERLAP_ITEM_CAP_CODE, //25-ץı - OVERLAP_ITEM_SEATBELT, //26-ȫ - OVERLAP_ITEM_MONITOR_ID, //27-ʾ - OVERLAP_ITEM_SUN_VISOR, //28- - OVERLAP_ITEM_LANE_DIRECTION, //29-ʻ - OVERLAP_ITEM_LICENSE_PLATE_COLOR, // 30-ɫ - OVERLAP_ITEM_SCENE_NUMBER, //31- - OVERLAP_ITEM_SCENE_NAME, //32- - OVERLAP_ITEM_YELLOW_SIGN_CAR, //33-Ʊ공 - OVERLAP_ITEM_DANGEROUS_CAR, //34-ΣƷ - OVERLAP_ITEM_CAR_SUBBRAND, //35-Ʒ - OVERLAP_ITEM_CAR_DIRECTION, //36- - OVERLAP_ITEM_PENDANT, //37- - OVERLAP_ITEM_CALL, //38-绰 - OVERLAP_ITEM_CAR_VALIDITY, //39-Ŷ - OVERLAP_ITEM_CAR_COUNTRY, //40- - OVERLAP_ITEM_CAR_PLATE_TYPE, //41-ͣοö - OVERLAP_ITEM_CAR_PLATE_SIZE, //42-Ƴߴ - OVERLAP_ITEM_CAR_PLATE_COLOR, //43-ɫ - OVERLAP_ITEM_CAR_PLATE_CATEGORY, //44-ƸϢ - OVERLAP_ITEM_ACCIDENT, //45-ͨ¹ - OVERLAP_ITEM_SMOKING, //46- - OVERLAP_ITEM_HELMET, //47-ͷ - OVERLAP_ITEM_MANNED, //48- - OVERLAP_ITEM_HUMAN, //49- - OVERLAP_ITEM_PLAYMOBILEPHONE, //50-ֻ - OVERLAP_ITEM_ADR //51- ADRƣ ŷ޹ҳеĻ˫ƣҪʾڶƺţADRƵʾ -}ITS_OVERLAP_ITEM_TYPE; - -//ַÿһϢṹ -typedef struct tagNET_ITS_OVERLAP_SINGLE_ITEM_PARAM -{ - BYTE byRes1[2]; // - BYTE byItemType; //ͣOVERLAP_ITEM_TYPE - BYTE byChangeLineNum; //Ļ[0-10](Ĭ0) - BYTE bySpaceNum; //Ŀո[0-255](Ĭ0) - BYTE byRes2[2]; - BYTE byEnablePos; //Ƿʾ - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - BYTE byRes[8]; -}NET_ITS_OVERLAP_SINGLE_ITEM_PARAM, *LPNET_ITS_OVERLAP_SINGLE_ITEM_PARAM; - -typedef struct tagNET_ITS_OVERLAP_ITEM_PARAM -{ - NET_ITS_OVERLAP_SINGLE_ITEM_PARAM struSingleItem[MAX_OVERLAP_ITEM_NUM]; //ַ - DWORD dwLinePercent; //аٷֱ(0-100),(Ĭ100) - DWORD dwItemsStlye; //ӷʽ0-,1-(ĬϺ) - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wCharStyle; //,0-1-κ(Ĭ) - WORD wCharSize; //ַС,0--16x16,1--32x32,2-48x48,3--64x64 (Ĭ),8x128(Ver3.7) - WORD wCharInterval; //ַ࣬[016]赥λ(Ĭ) - BYTE byRes1[2]; - DWORD dwForeClorRGB; //ǰɫRGBֵbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00FFFFFF-) - DWORD dwBackClorRGB; //ɫRGBֵ,ֻͼƬЧbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00000000-) - BYTE byColorAdapt; //ɫǷӦ0-1- - //(Ver3.7 ) - // ʹ 0-, 1-㣨ϸעͣٶ,ֵ 3λ0 - BYTE byParamFillZeroEnble; - BYTE byPlateLeftCornerEnable;// СͼϽʹ 0-, 1- - BYTE byRes2; - WORD wStartSPicPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartSPicPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - //OSDλ 0-ͼƬ,1-ͼƬϱԵ,2-ͼƬ±ԵϳͼרõϱԵ⣩V3.7 - BYTE byOsdLocate; - BYTE byRes[23]; -}NET_ITS_OVERLAP_ITEM_PARAM, *LPNET_ITS_OVERLAP_ITEM_PARAM; - -//Ϣ -typedef struct tagNET_ITS_OVERLAP_INFO_PARAM -{ - BYTE bySite[128]; //ص - BYTE byRoadNum[32]; //·ڱ - BYTE byInstrumentNum[32]; //豸 - BYTE byDirection[32]; // - BYTE byDirectionDesc[32]; // - BYTE byLaneDes[32]; // - BYTE byRes1[32]; // - BYTE byMonitoringSite1[44]; //ʾ1Ϣ - BYTE byMonitoringSite2[32]; //ʾ2Ϣ - BYTE byRes[64]; // -}NET_ITS_OVERLAP_INFO_PARAM, *LPNET_ITS_OVERLAP_INFO_PARAM; - -typedef struct tagNET_ITS_OVERLAP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes1[3]; - NET_ITS_OVERLAP_ITEM_PARAM struOverLapItem; //ַ - NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo; //ַϢ - BYTE byRes[32]; -}NET_ITS_OVERLAP_CFG, *LPNET_ITS_OVERLAP_CFG; - -//ַÿһϢṹ -typedef struct tagNET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50 -{ - BYTE byRes1[2]; // - BYTE byItemType; //ͣOVERLAP_ITEM_TYPE - BYTE byChangeLineNum; //Ļ[0-10](Ĭ0) - BYTE bySpaceNum; //Ŀո[0-255](Ĭ0) - BYTE byRes2[2]; - BYTE byEnablePos; //Ƿʾ - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - //ԶͣbyItemTypeӦɽbyItemTypeԶơԶΪգĬbyItemTypeе - BYTE byItemTypeCustom[32]; - BYTE byRes[8]; -}NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50, *LPNET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50; - -typedef struct tagNET_ITS_OVERLAP_ITEM_PARAM_V50 -{ - NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50 struSingleItem[MAX_OVERLAP_ITEM_NUM]; //ַ - DWORD dwLinePercent; //аٷֱ(0-100),(Ĭ100) - DWORD dwItemsStlye; //ӷʽ0-,1-(ĬϺ) - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wCharStyle; //,0-1-κ(Ĭ) - WORD wCharSize; //ַС,0--16x16,1--32x32,2-48x48,3--64x64 (Ĭ),8x128(Ver3.7) - WORD wCharInterval; //ַ࣬[016]赥λ(Ĭ) - BYTE byRes1[2]; - DWORD dwForeClorRGB; //ǰɫRGBֵbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00FFFFFF-) - DWORD dwBackClorRGB; //ɫRGBֵ,ֻͼƬЧbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00000000-) - BYTE byColorAdapt; //ɫǷӦ0-1- - //(Ver3.7 ) - // ʹ 0-, 1-㣨ϸעͣٶ,ֵ 3λ0 - BYTE byParamFillZeroEnble; - BYTE byPlateLeftCornerEnable;// СͼϽʹ 0-, 1- - BYTE byRes2; - WORD wStartSPicPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartSPicPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - //OSDλ 0-ͼƬ,1-ͼƬϱԵ,2-ͼƬ±ԵϳͼרõϱԵ⣩V3.7 - BYTE byOsdLocate; - BYTE byRes[63]; -}NET_ITS_OVERLAP_ITEM_PARAM_V50, *LPNET_ITS_OVERLAP_ITEM_PARAM_V50; - -typedef struct tagNET_ITS_OVERLAP_CFG_V50 -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes1[3]; - NET_ITS_OVERLAP_ITEM_PARAM_V50 struOverLapItemV50; //ַ - NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo; //ַϢ - BYTE byRes[120]; -}NET_ITS_OVERLAP_CFG_V50, *LPNET_ITS_OVERLAP_CFG_V50; - -#define MAX_PTZCRUISE_POINT_NUM 32 //֧32Ѳ - - -//ԤõϢ -typedef struct tagNET_DVR_PRESET_INFO -{ - DWORD dwSize; - DWORD dwPresetNum; //Ԥõ - DWORD dwGroupNum; // - BYTE byRes[8]; -}NET_DVR_PRESET_INFO, *LPNET_DVR_PRESET_INFO; - -// -typedef struct tagNET_DVR_PRESET_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwGroupNO; // - BYTE byRes[8]; -}NET_DVR_PRESET_COND, *LPNET_DVR_PRESET_COND; - -// -typedef struct tagNET_DVR_PRESETCFG -{ - DWORD dwSize; - DWORD dwPresetIndex; //Ԥõ - NET_VCA_POINT struVcaPoint; //Ԥõ - WORD wZoomCoordinate; ///<Ԥõ㴰Zoomֵ - BYTE byRes[30]; -}NET_DVR_PRESETCFG, *LPNET_DVR_PRESETCFG; - -//ȡѲ·Ŀ -typedef struct tagNET_DVR_PTZCRUISE_INFO -{ - DWORD dwSize; - DWORD dwPtzCruiseNum; //· - DWORD dwGroupNum; // - BYTE byRes[8]; -}NET_DVR_PTZCRUISE_INFO, *LPNET_DVR_PTZCRUISE_INFO; - -// -typedef struct tagNET_DVR_PTZCRUISE_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwGroupNO; // - BYTE byRes[8]; -}NET_DVR_PTZCRUISE_COND, *LPNET_DVR_PTZCRUISE_COND; - -// -typedef struct tagNET_DVR_PTZCRUISE_POINTCFG -{ - DWORD dwSize; - DWORD dwPresetIndex; //Ԥõ - NET_VCA_POINT struVcaPoint; //Ԥõ - BYTE byDwell; //ͣʱ - BYTE bySpeed; //ٶ - WORD wZoomCoordinate;///<Ԥõ㴰Zoomֵ - BYTE byRes[28]; -}NET_DVR_PTZCRUISE_POINTCFG, *LPNET_DVR_PTZCRUISE_POINTCFG; - -typedef struct tagNET_DVR_PTZCRUISECFG -{ - DWORD dwSize; - DWORD dwCruiseRoute; //Ѳ· - NET_DVR_PTZCRUISE_POINTCFG struCruisePoint[MAX_PTZCRUISE_POINT_NUM]; //֧32Ѳ - BYTE byRes[32]; -}NET_DVR_PTZCRUISECFG, *LPNET_DVR_PTZCRUISECFG; - -//ģʽṹ -typedef struct tagNET_DVR_MOTION_TRACK_CFG -{ - DWORD dwSize; - BYTE byEnableTrack; //ã0-1- - BYTE byRes[63]; -}NET_DVR_MOTION_TRACK_CFG, *LPNET_DVR_MOTION_TRACK_CFG; - -//һĶʱƻ -typedef struct tagNET_DVR_DAY_SCHEDULE -{ - BYTE byWorkMode ; //0-ȫ쿪1-ȫأ2-ʱ - BYTE byRes1[3] ; - NET_DVR_SCHEDTIME struTime[MAX_TIMESEGMENT_V30/*8*/]; //ʱ - BYTE byRes2[8]; // -}NET_DVR_DAY_SCHEDULE ,*LPNET_DVR_DAY_SCHEDULE; - -//ʱܲṹ -typedef struct tagNET_DVR_SCHEDULE_AUTO_TRACK_CFG -{ - DWORD dwSize; //ṹ - BYTE byEnableTrack; //ã0- 1- - BYTE byRes1[3] ; - NET_DVR_DAY_SCHEDULE struSchedule[MAX_DAYS/*7*/]; //ʱʱΣ8ʱڵʱ䣬Ĭ϶ʱܹر - BYTE byRes2[128]; -}NET_DVR_SCHEDULE_AUTO_TRACK_CFG,*LPNET_DVR_SCHEDULE_AUTO_TRACK_CFG; - -typedef struct tagNET_DVR_I_FRAME -{ - DWORD dwSize; //ṹ - BYTE sStreamID[STREAM_ID_LEN/*32*/] ; //ID - DWORD dwChan; //ͨ - BYTE byStreamType; //0-1-2-33-44-5 - BYTE byRes[63]; -} NET_DVR_I_FRAME, *LPNET_DVR_I_FRAME; - -typedef struct tagNET_DVR_REBOOT_TIME -{ - BYTE byDate; //ڼ1-7һ - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE byRes1; - BYTE byRebootMode; //0-1-˲ֻܻȡã - BYTE byDisabled; // 0- 1- - BYTE byRes[10]; // -}NET_DVR_REBOOT_TIME,*LPNET_DVR_REBOOT_TIME; - -typedef struct tagNET_DVR_AUTO_REBOOT_CFG -{ - DWORD dwSize; - NET_DVR_REBOOT_TIME struRebootTime; -}NET_DVR_AUTO_REBOOT_CFG,*LPNET_DVR_AUTO_REBOOT_CFG; - -#define NET_DVR_GPS_FINDING 0 //ڲ -#define NET_DVR_GPS_RECV 1 // -#define NET_DVR_GPS_OVER 2 //ҽ -#define NET_DVR_GPS_EXCEPTION 3 //쳣 -typedef struct tagNET_DVR_MENU_OUTPUT_MODE -{ - DWORD dwSize; - BYTE byMenuOutputMode; //ͬԴ豸0-Auto 1-CVBS 2-HDMI 3-VGA ͬԴ豸0-Auto 1-CVBS 2-HDMI/VGA - BYTE byRes[63]; -}NET_DVR_MENU_OUTPUT_MODE, *LPNET_DVR_MENU_OUTPUT_MODE; - -typedef struct tagNET_DVR_MB_IPADDR -{ - NET_DVR_IPADDR struIP; //IPַ - WORD wPort; //˿ں - BYTE byRes[2]; -}NET_DVR_MB_IPADDR,*LPNET_DVR_MB_IPADDR; - -typedef struct tagNET_DVR_MB_WVSPARA -{ - NET_DVR_MB_IPADDR struWVSAddr; - BYTE byPuid[NAME_LEN]; //豸id - BYTE byPassword[PASSWD_LEN]; // - BYTE byRes[8]; -}NET_DVR_MB_WVSPARA, *LPNET_DVR_MB_WVSPARA; - -typedef struct tagNET_DVR_MB_EHOMEPARA -{ - NET_DVR_MB_IPADDR struEHomeAddr; - BYTE byPuid[NAME_LEN]; //豸id -}NET_DVR_MB_EHOMEPARA, *LPNET_DVR_MB_EHOMEPARA; - -typedef struct tagNET_DVR_MB_PLATFORMPARA -{ - DWORD dwSize; - BYTE byNetEnvironment;/*绷,0-wireless,1-3G,2-wLan,3-lan*/ - BYTE byCurPlatForm; /*< ǰƽ̨0 - WVS, 1 - E, 2 - ģʽ */ - BYTE byRes1[2]; - NET_DVR_MB_WVSPARA struWVSPara; /*ƽ̨(ƽ̨)*/ - NET_DVR_MB_EHOMEPARA struMbEHpara;/*Eƽ̨ƽ̨豸 */ - BYTE byRes2[64]; -}NET_DVR_MB_PLATFORMPARA, *LPNET_DVR_MB_PLATFORMPARA; - -typedef struct tagNET_DVR_MB_GPS_STATUS -{ - BYTE byGPSModule; /*gpsģ, 0: , 1: */ - BYTE byPositionStatus; /*gpsλ״̬, 0: λʧ, 1: λɹ*/ - BYTE bySignalStrength; /*źǿ, 0: , 1: , 2: ǿ*/ - BYTE byres[5]; -}NET_DVR_MB_GPS_STATUS, *LPNET_DVR_MB_GPS_STATUS; - -typedef struct tagNET_DVR_MB_GSENSOR_STATUS -{ - BYTE byGsensorModule; /*g-sensorģ, 0: not exist, 1: , 2: */ - BYTE byCurAccX[10]; /*ǰXٶ*/ - BYTE byCurAccY[10]; /*ǰYٶ*/ - BYTE byCurAccZ[10]; /*ǰZٶ*/ - BYTE byRefAccX[10]; /* Xٶȱ궨ֵ*/ - BYTE byRefAccY[10]; /* Yٶȱ궨ֵ*/ - BYTE byRefAccZ[10]; /* Zٶȱ궨ֵ*/ - BYTE byres[3]; -}NET_DVR_MB_GSENSOR_STATUS, *LPNET_DVR_MB_GSENSOR_STATUS; - -#define IP_ADDR_LEN 16 -#define IW_ESSID_MAX_SIZE 32 - -typedef struct tagNET_DVR_MB_WIFI_STATUS -{ - BYTE byEnableWiFi; /* , 0 , 1 */ - BYTE byWiFiConnectStatus; /* WIFI״̬, 0: ʧ, 1: ӳɹ 2: ģ*/ - BYTE bySignalStrength; /* źǿ, 0 , 1 , 2 ǿ */ - BYTE byIPaddress[IP_ADDR_LEN]; /*WIFI 豸 ip*/ - BYTE byEssid[IW_ESSID_MAX_SIZE]; /*߽essid*/ - BYTE byres[5]; -}NET_DVR_MB_WIFI_STATUS,*LPNET_DVR_MB_WIFI_STATUS; - -typedef struct tagNET_DVR_MB_PLATFORM_STATUS -{ - BYTE byCurPlat; /*ǰƽ̨, 0: wvs, 1: ivms, 2: ģʽ(net_3g_sdk)*/ - BYTE byLoginStatus; /*login ״̬, 0: login failed, 1: login success*/ - BYTE byExceptionInfo; /*쳣Ϣ*/ - /* - WVS :exception info: - 0: ӷʧ - 1: ע - 2: û - 3: עᳬʱ - 4: ʱ - 5: עɹ - iVMS :exception info: - 0δע - 1ע - 2עӳ - 3עᳬʱ - 4ʱûж - 5ע - 6 CMSע豸Ѿ޶̨ - 7 CMSעͨѾ޶ͨ - 8豸WEBû - 9CMSWEBͨʧ - 10¼δ֪ - 11עɹ - ģʽ :exception info: - 0δע - 1: ע - 2: ظע - 3: עʧ - 4: IP仯 - 5: עɹ - 6: ûע - 7: ʱ - */ - BYTE byres[5]; -}NET_DVR_MB_PLATFORM_STATUS, *LPNET_DVR_MB_PLATFORM_STATUS; - - -typedef struct tagNET_DVR_MB_MOBILEDEV_STATUS -{ - DWORD dwSize; /*ṹС*/ - union - { - NET_DVR_MB_GPS_STATUS struGPSStatus; - NET_DVR_MB_GSENSOR_STATUS struGSensorStatus; - NET_DVR_MB_WIFI_STATUS struWiFiStatus; - NET_DVR_MB_PLATFORM_STATUS struPlatformStatus; - }mobileStatus; -}NET_DVR_MB_MOBILEDEV_STATUS, *LPNET_DVR_MB_MOBILEDEV_STATUS; - -#define NET_DVR_GPS_STATUS 0 -#define NET_DVR_GSENSOR_STATUS 1 -#define NET_DVR_WIFI_STATUS 2 -#define NET_DVR_PLATFORM_STATUS 3 - -//GPSϢṹ -typedef struct tagNET_DVR_GPS_INFO -{ - /* γΪS*100 */ - BYTE byDirection[2]; /*direction[0]0or1(/), direction[1]:0or1(γ/γ) */ - BYTE bySvs; /* satellite vehicles(ֵ0)Чλ */ - BYTE byLocateMode; /* λģʽ(ֵ0)NMEA0183 3.00汾0=λ1=֣2=㣬3=Ч */ - WORD wHDOP; /* ˮƽӣGPSȷȣ0.5-99.96ڶλȸߣ20趪洢dz10Ժ */ - WORD wHeight; /* ߶ */ - DWORD dwLatitude; /*γlatitude = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwLongitude; /*longitude =ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwVehicleSpeed; /* mobile speed =ʵٶ*100000 ʵʵλkph*/ - DWORD dwVehicleDirection; /* mobile direction= ʵʷ*100ʵֵǷǣΪ0ȣ˳ʱ */ - BYTE byRes[8]; // -}NET_DVR_GPS_INFO,*LPNET_DVR_GPS_INFO; //32ֽ - -//GPS״̬ϴ -typedef struct _NET_DVR_GPS_STATUS_ALARM_ -{ - DWORD dwSize; - NET_DVR_TIME_V30 struGPSTime; //GPS ʱ䣬ñʱ - NET_DVR_GPS_INFO struGPSInfo; //GPS - BYTE byRetransFlag; //0- GPS Ϊʵʱ1- GPS Ϊش - BYTE byNeedsResponse; //Ӧǣ0Ӧ1Ӧ - BYTE byType;//ϱ 0-˻ - BYTE byBatteryRemaining;//ʣ-1--100; -1ʾ - int iRollAngle;//Ƕ,Χ-pi - +pi,ʵֵ*100 - int iPitchAngle;//ͷǶ,Χ-pi - +pi,ʵֵ*100 - WORD wRelativeHeight;//Ը߶ȣλ - WORD wVerticalSpeed;//ֱٶȣλ/Сʱ - BYTE byRes2[160]; // -}NET_DVR_GPS_STATUS_ALARM, *LPNET_DVR_GPS_STATUS_ALARM; - -//GPSʱ -typedef struct tagNTE_DVR_GPS_DATA -{ - NET_DVR_GPS_INFO struGPSInfo; //GPS - NET_DVR_TIME struTime; //GPSӦʱ㣬UTCʱ - BYTE byRes[12]; // -}NET_DVR_GPS_DATA,*LPNET_DVR_GPS_DATA; - -//GPSṹ -typedef struct tagNET_DVR_GET_GPS_DATA_PAPAM -{ - DWORD dwCmdType; //0-ʱβGPS,1-ʱGPS - union - { - struct - { - NET_DVR_TIME struBeginTime; //GPSݲʼʱ - NET_DVR_TIME struEndTime; //GPSݲҽʱ - DWORD dwInterval; //GPSʱλ - BYTE byRes[76]; // - }TimeSeg; - struct - { - NET_DVR_TIME struTimePoint; //GPSݲʼʱ䵥λ - BYTE byRes[104]; // - }TimePoint; - }GpsDataParam; -}NET_DVR_GET_GPS_DATA_PARAM,*LPNET_DVR_GET_GPS_DATA_PARAM; - -#define NET_SDK_MAX_CARD_LEN 32 //󿨺ų - -//ǩϢϴ -typedef struct _NET_DVR_TAG_INFO_ALARM_ -{ - DWORD dwSize; - BYTE byCardNo[NET_SDK_MAX_CARD_LEN/*32*/]; // - int iRssi;//źǿ,Χ-100 - +100 - BYTE byIndexCode[64];//ƽ̨index code,൱豸 - NET_DVR_TIME_V30 struAcquisitionTime;//ȡʱ - BYTE byRFIDInfo[32]; //ƬID - BYTE byRFIDInfoLen; //ƬID - BYTE byVoltageLow; //1ʾ͵ѹ0ʾ - BYTE byAlarmFlag; //(֪ͨƽ̨)ǷҪ1Ҫ0Ҫ - BYTE byDirection; //0ʾ,1ʾ,2ʾ,3-255 - BYTE byRes[48]; // -}NET_DVR_TAG_INFO_ALARM, *LPNET_DVR_TAG_INFO_ALARM; - - -typedef struct tagNET_DVR_SDKLOCAL_CFG -{ - BYTE byEnableAbilityParse; //ʹ,0-ʹ,1-ʹ,Ĭϲʹ - BYTE byVoiceComMode; //Խģʽ0-ʹöԽ⣨Ĭϣ1-ʹwindows apiģʽ - BYTE byLoginWithSimXml; //¼ʱʹģ,0-ʹ,1-ʹ,Ĭϲʹ - BYTE byCompatibleType; - BYTE byRes[380]; - BYTE byProtectKey[128]; //ĬΪ0 -}NET_DVR_SDKLOCAL_CFG, *LPNET_DVR_SDKLOCAL_CFG; - -typedef struct tagNET_DVR_LOCAL_ABILITY_PARSE_CFG -{ - BYTE byEnableAbilityParse; //ʹ,0-ʹ,1-ʹ,Ĭϲʹ - BYTE byRes[127]; -}NET_DVR_LOCAL_ABILITY_PARSE_CFG, *LPNET_DVR_LOCAL_ABILITY_PARSE_CFG; - -typedef struct tagNET_DVR_LOCAL_TALK_MODE_CFG -{ - BYTE byTalkMode; //Խģʽ0-ʹöԽ⣨Ĭϣ1-ʹwindows apiģʽ - BYTE byRes[127]; -}NET_DVR_LOCAL_TALK_MODE_CFG, *LPNET_DVR_LOCAL_TALK_MODE_CFG; - - -typedef struct tagNET_DVR_LOCAL_PROTECT_KEY_CFG -{ - BYTE byProtectKey[128]; //ĬΪ0 - BYTE byRes[128]; -}NET_DVR_LOCAL_PROTECT_KEY_CFG, *LPNET_DVR_LOCAL_PROTECT_KEY_CFG; - -typedef struct tagNET_DVR_SIMXML_LOGIN -{ - BYTE byLoginWithSimXml; //¼ʱʹģУṹֶ,0-ʹ,1-ʹ - BYTE byRes[127]; -}NET_DVR_SIMXML_LOGIN, *LPNET_DVR_SIMXML_LOGIN; - -//صò -typedef struct -{ /*JSON͸COMM_VCA_ALARMJSONʽ - 0~JSONʽο4.1.4; - 1~JSONʽο4.1.5 - */ - BYTE byVcaAlarmJsonType; - BYTE byRes[63]; -}NET_DVR_MESSAGE_CALLBACK_PARAM_V51,*LPNET_DVR_MESSAGE_CALLBACK_PARAM_V51; - -typedef enum tagNET_SDK_LOCAL_CFG_TYPE -{ - NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND = 0, //TCP˿ڰãӦṹNET_DVR_LOCAL_TCP_PORT_BIND_CFG - NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND, //UDP˿ڰãӦṹNET_DVR_LOCAL_UDP_PORT_BIND_CFG - NET_SDK_LOCAL_CFG_TYPE_MEM_POOL, //ڴرãӦṹNET_DVR_LOCAL_MEM_POOL_CFG - NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT, //ģóʱʱ䣬ӦṹNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG - NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE, //Ƿʹ⣬ӦṹNET_DVR_LOCAL_ABILITY_PARSE_CFG - NET_SDK_LOCAL_CFG_TYPE_TALK_MODE, //ԽģʽӦṹNET_DVR_LOCAL_TALK_MODE_CFG - NET_SDK_LOCAL_CFG_TYPE_PROTECT_KEY, //ԿãӦṹNET_DVR_LOCAL_PROTECT_KEY_CFG - NET_SDK_LOCAL_CFG_TYPE_CFG_VERSION, //ڲ԰汾ͷ豸˼NET_DVR_LOCAL_MEM_POOL_CFG, ֻòʱá - NET_SDK_LOCAL_CFG_TYPE_RTSP_PARAMS, //rtspãڽṹNET_DVR_RTSP_PARAMS_CFG - NET_SDK_LOCAL_CFG_TYPE_SIMXML_LOGIN, //ڵ¼ʱʹģsupportֶ, ӦṹNET_DVR_SIMXML_LOGIN - NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV, //ʱ - NET_SDK_LOCAL_CFG_TYPE_SECURITY, //SDKΰȫã - NET_SDK_LOCAL_CFG_TYPE_EZVIZLIB_PATH, //өʯͨſַ - NET_SDK_LOCAL_CFG_TYPE_CHAR_ENCODE, //13.ַشص - NET_SDK_LOCAL_CFG_TYPE_PROXYS, //ûȡ - NET_DVR_LOCAL_CFG_TYPE_LOG, //־ NET_DVR_LOCAL_LOG_CFG - NET_DVR_LOCAL_CFG_TYPE_STREAM_CALLBACK, //ص NET_DVR_LOCAL_STREAM_CALLBACK_CFG - NET_DVR_LOCAL_CFG_TYPE_GENERAL, //ͨò NET_DVR_LOCAL_GENERAL_CFG - NET_DVR_LOCAL_CFG_TYPE_PTZ, //PTZǷ豸 - NET_DVR_LOCAL_CFG_MESSAGE_CALLBACK_V51, //V51صر,ӦṹΪNET_DVR_MESSAGE_CALLBACK_PARAM_V51 (NET_DVR_SetDVRMessageCallBack_V51ϰ汾Ч) - NET_SDK_LOCAL_CFG_CERTIFICATION, //ú֤صIJӦṹṹNET_DVR_LOCAL_CERTIFICATION - NET_SDK_LOCAL_CFG_PORT_MULTIPLEX, //˿ڸãӦṹNET_DVR_LOCAL_PORT_MULTI_CFG - NET_SDK_LOCAL_CFG_ASYNC, //첽ãӦṹNET_DVR_LOCAL_ASYNC_CFG - NET_SDK_P2P_LOGIN_2C, - NET_SDK_P2P_LOGIN_2B, - NET_SDK_P2P_LOGOUT, - NET_SDK_AUDIOCAST_CFG //ù㲥 ,ӦṹNET_LOCAL_AUDIOCAST_CFG -}NET_SDK_LOCAL_CFG_TYPE; - -typedef enum tagNET_SDK_EXCEPTION_CALLBACK_TYPE -{ - NET_SDK_EXCEPTION_CALLBACK_BY_POOL = 0, //̳ͨ߳쳣ص - NET_SDK_EXCEPTION_CALLBACK_DIRECTLY = 1, //ֱ쳣صϲ -}NET_SDK_EXCEPTION_CALLBACK_TYPE; - -typedef struct tagNET_DVR_LOCAL_GENERAL_CFG -{ - BYTE byExceptionCbDirectly; //0-̳ͨ߳쳣ص1-ֱ쳣صϲ - BYTE byNotSplitRecordFile; //طźԤб浽¼ļƬ 0-ĬƬ1-Ƭ - BYTE byResumeUpgradeEnable; //ʹܣ0-رգĬϣ1- - BYTE byAlarmJsonPictureSeparate; //JSON͸ݺͼƬǷ룬0-룬1-루COMM_ISAPI_ALARMصأ - BYTE byRes[4]; // - UINT64 i64FileSize; //λByte - DWORD dwResumeUpgradeTimeout; //ʱʱ䣬λ - BYTE byAlarmReconnectMode; //0-߳Ĭϣ 1-̳߳ - BYTE byStdXmlBufferSize; //ISAPI͸ջС1-1M -Ĭ - BYTE byMultiplexing; //0-ͨӣTLSӣرն·ã1-ͨӣTLSӣ· - BYTE byFastUpgrade; //0-1- - BYTE byAlarmPrealloc; //0-Ԥ䡣ֵΪԤС64λ - BYTE byRes1[231]; //Ԥ -}NET_DVR_LOCAL_GENERAL_CFG, *LPNET_DVR_LOCAL_GENERAL_CFG; - -typedef struct tagNET_SDK_P2P_SERVER_2C -{ - BYTE byPlatformType; //0- 1- 2-test2 - BYTE byRes1[3]; - char *pAppID; //APP ID - char *pAuthAddr; //֤IPַ - char *pPlatformAddr; //ƽ̨IPַ - char *pUserName; //˺ - char *pPassword; // - BYTE byRes[40]; -} NET_SDK_P2P_SERVER_2C, *LPNET_DVR_P2P_SERVER_2C; - -typedef struct tagNET_SDK_P2P_SERVER_2B -{ - BYTE byPlatformType; //0- 1- 2-test2 - BYTE byRes1[3]; - char *pAppID; //APP ID - char *pAuthAddr; //֤IPַ - char *pPlatformAddr; //ƽ̨IPַ - char *pToken; //Token - BYTE byRes[44]; -} NET_SDK_P2P_SERVER_2B, *LPNET_DVR_P2P_SERVER_2B; - -typedef struct tagNET_DVR_LOCAL_ASYNC_CFG -{ - BOOL bEnable; //첽ʹܣtrue- - BYTE byRes[60]; -}NET_DVR_LOCAL_ASYNC_CFG, *LPNET_DVR_LOCAL_ASYNC_CFG; - -typedef struct tagNET_DVR_LOCAL_STREAM_CALLBACK_CFG -{ - BYTE byPlayBackEndFlag; //0-صطŽǣ1-صطŽ - BYTE byRes[255]; // -}NET_DVR_LOCAL_STREAM_CALLBACK_CFG, *LPNET_DVR_LOCAL_STREAM_CALLBACK_CFG; - -typedef void(CALLBACK *LOGCALLBACK)(char *pContent, unsigned int dwInputLen, int wLogLevel, void *pData); - -typedef struct tagNET_DVR_LOCAL_LOG_CFG -{ - WORD wSDKLogNum; - LOGCALLBACK fnCB; //־ص - void *pUserData; //ûָ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE byRes[238]; // -#else - BYTE byRes[246]; // -#endif -}NET_DVR_LOCAL_LOG_CFG, *LPNET_DVR_LOCAL_LOG_CFG; - -typedef int(CALLBACK * CHAR_ENCODE_CONVERT)(char * pInput, DWORD dwInputLen, DWORD dwInEncodeType, char *pOutput, DWORD dwOutputLen, DWORD dwOutEncodeType); - -typedef struct tagNET_DVR_LOCAL_BYTE_ENCODE_CONVERT -{ - CHAR_ENCODE_CONVERT fnCharConvertCallBack; - BYTE byRes[256]; -}NET_DVR_LOCAL_BYTE_ENCODE_CONVERT, *LPNET_DVR_LOCAL_BYTE_ENCODE_CONVERT; - -typedef struct tagNET_DVR_LOCAL_SECURITY -{ - BYTE bySecurityLevel;//˽Эͨģʽ //0-ģʽĬϣеSDK¼Эͨ1-ȫģʽMD5, RSAMD5¼У2-ȫģʽRSARSA¼У - BYTE byRes[255]; -}NET_DVR_LOCAL_SECURITY, *LPNET_DVR_LOCAL_SECURITY; - -typedef struct tagNET_DVR_LOCAL_CHECK_DEV -{ - DWORD dwCheckOnlineTimeout; //Ѳʱλms СֵΪ30sֵ120sΪ0ʱʾĬֵ(120s) - DWORD dwCheckOnlineNetFailMax; //ԭʧܵۼӴֵSDKŻصû쳣Ϊ0ʱʾʹĬֵ1 - BYTE byRes[256]; -}NET_DVR_LOCAL_CHECK_DEV,*LPNET_DVR_LOCAL_CHECK_DEV; - -typedef struct tagNET_DVR_LOCAL_PTZ_CFG -{ - BYTE byWithoutRecv; //0-豸أ1-豸 - BYTE byRes[63]; -}NET_DVR_LOCAL_PTZ_CFG, *LPNET_DVR_LOCAL_PTZ_CFG; - -typedef struct tagNET_DVR_LOCAL_CFG_VERSION -{ - BYTE byVersion; //汾Ϣ - BYTE byRes[63]; // -}NET_DVR_LOCAL_CFG_VERSION, *LPNET_DVR_LOCAL_CFG_VERSION; - -typedef struct tagNET_DVR_LOCAL_TCP_PORT_BIND_CFG -{ - WORD wLocalBindTcpMinPort; //ذTcpС˿ - WORD wLocalBindTcpMaxPort; //ذTcp˿ - BYTE byRes[60]; // -}NET_DVR_LOCAL_TCP_PORT_BIND_CFG, *LPNET_DVR_LOCAL_TCP_PORT_BIND_CFG; - - -typedef struct tagNET_DVR_LOCAL_UDP_PORT_BIND_CFG -{ - WORD wLocalBindUdpMinPort; //ذUdpС˿ - WORD wLocalBindUdpMaxPort; //ذUdp˿ - BYTE byRes[60]; // -}NET_DVR_LOCAL_UDP_PORT_BIND_CFG, *LPNET_DVR_LOCAL_UDP_PORT_BIND_CFG; - - -typedef struct tagNET_DVR_LOCAL_MEM_POOL_CFG -{ - DWORD dwAlarmMaxBlockNum; //ģڴϵͳڴ飨blockÿblockΪ64MB, ϵͳ룬0ʾ - DWORD dwAlarmReleaseInterval; //ģڴͷŵļλ룬Ϊ0ʾͷ - DWORD dwObjectReleaseInterval; //ģڴͷŵļλ룬Ϊ0ʾͷ - BYTE byRes[508]; // -}NET_DVR_LOCAL_MEM_POOL_CFG, *LPNET_DVR_LOCAL_MEM_POOL_CFG; - -typedef struct tagNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG -{ - DWORD dwPreviewTime; //Ԥģ鳬ʱʱ - DWORD dwAlarmTime; //ģ鳬ʱʱ - DWORD dwVodTime; //طģ鳬ʱʱ - DWORD dwElse; //ģ - BYTE byRes[512]; // -}NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG, *LPNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG; - -#define MAX_CERTIFICATE_ISSUER_LEN 64 //֤䷢߳ -#define MAX_CERTIFICATE_VALIDITY_LEN 128 //֤Чʱ䳤 -#define MAX_CERTIFICATE_SUBJECT_LEN 64 //֤߳ -typedef struct tagNET_DVR_CETTIFICATE_INFO -{ - DWORD dwSize; - char szIssuer[MAX_CERTIFICATE_ISSUER_LEN]; //֤䷢ - char szSubject[MAX_CERTIFICATE_SUBJECT_LEN]; //֤ - NET_DVR_TIME struStartTime; - NET_DVR_TIME struEndTime; - BYTE byRes1[1024]; -}NET_DVR_CETTIFICATE_INFO, *LPNET_DVR_CETTIFICATE_INFO; - -typedef BOOL(CALLBACK *fnCertVerifyResultCallBack) (DWORD uiResult, LPNET_DVR_CETTIFICATE_INFO lpCertificateInfo, char *pUserData); - -#define MAX_FILE_PATH_LEN 256 //ļ· -typedef struct tagNET_DVR_LOCAL_CERTIFICATION -{ - char szLoadPath[MAX_FILE_PATH_LEN]; - fnCertVerifyResultCallBack fnCB; - void* pUserData; - BYTE byRes[64]; -}NET_DVR_LOCAL_CERTIFICATION, *LPNET_DVR_LOCAL_CERTIFICATION; - -typedef struct tagNET_DVR_LOCAL_PORT_MULTI_CFG -{ - BOOL bEnable; //˿ڸʹܣtrue- - BYTE byRes[60]; -}NET_DVR_LOCAL_PORT_MULTI_CFG, *LPNET_DVR_LOCAL_PORT_MULTI_CFG; - -typedef struct tagNET_DVR_RTSP_PARAMS_CFG -{ - DWORD dwMaxBuffRoomNum; //rtp over udp򿪱ٵ󻺳0ΪЧʹĬֵ20 - //һڴΪ10Kһ㣬Խ࣬ԽǿԽãʱҲԽ - BYTE byUseSort; //Ƿrtp over udp 0- 1- - BYTE byRes[123]; -}NET_DVR_RTSP_PARAMS_CFG, *LPNET_DVR_RTSP_PARAMS_CFG; - -typedef struct tagNET_DVR_OPTICAL_CHANNEL_BIND -{ - WORD wChannelIndex; //ں(0-7) - WORD wSubChannel; //ͨţȡֵΧȡ - BYTE byBind; //0-󶨻󶨣1- - BYTE byRes[3]; -}NET_DVR_OPTICAL_CHANNEL_BIND,*LPNET_DVR_OPTICAL_CHANNEL_BIND; - -typedef struct tagNET_DVR_OPTICAL_CHANNEL_CFG -{ - DWORD dwSize; - NET_DVR_OPTICAL_CHANNEL_BIND struBindVideo;//Ƶ - NET_DVR_OPTICAL_CHANNEL_BIND struBindAudio;//Ƶ - BYTE byRes[16]; // -}NET_DVR_OPTICAL_CHANNEL_CFG,*LPNET_DVR_OPTICAL_CHANNEL_CFG; - -typedef struct tagNET_DVR_OPTICAL_INFO -{ - DWORD dwSize; - BYTE bySlotNum;//ϵͳλ - BYTE byChannel; //ͨ - BYTE byRes[18]; -}NET_DVR_OPTICAL_INFO,*LPNET_DVR_OPTICAL_INFO; - -//Ƶл -typedef struct tagNET_DVR_AUDIO_SURCHAN_CFG -{ - DWORD dwSize; - BYTE byStatus; //ƵǷ1-0- - BYTE byRes1[3]; - //²byStatus == 1ʱЧ - DWORD dwSubWinNum; //Ӵں - DWORD dwSurChanNum; /*ͨ */ - NET_DVR_IPADDR struIpaddr; /*ַͨ */ - WORD wPort; /*ͨ˿ */ - BYTE byRes2[14]; -}NET_DVR_AUDIO_SURCHAN_CFG, *LPNET_DVR_AUDIO_SURCHAN_CFG; - -//˿ھۺ -#define MAX_ETHERNET_PORT_NUM 8//ÿ·˿ -typedef struct tagNET_DVR_ETHERNET_CHANNEL_INFO -{ - DWORD dwSize; - BYTE byConverge[MAX_ETHERNET_PORT_NUM]; - //byConverge[i] = jʾi˿ڼ뵽j·jȡֵΪ1-8,j=0ʾƳ - BYTE byRes[32]; -}NET_DVR_ETHERNET_CHANNEL_INFO,*LPNET_DVR_ETHERNET_CHANNEL_INFO; - -// -typedef struct tagNET_DVR_SPARTAN_INFO -{ - DWORD dwSize; - BYTE bySpartanStatus; //0-Թأ1-Կ - BYTE byRes[31]; -}NET_DVR_SPARTAN_INFO,*LPNET_DVR_SPARTAN_INFO; - -typedef struct tagNET_DVR_IPADDR_FILTERCFG -{ - DWORD dwSize; - BYTE byEnable; //IPַˣ0-1- - BYTE byFilterType; //ͣ0-ã1- - BYTE byRes[18]; - BYTE byIPAddr[1024]; //IPַϢʽ192.168.1.2;192.168.1.3 -}NET_DVR_IPADDR_FILTERCFG, *LPNET_DVR_IPADDR_FILTERCFG; - -typedef struct tagNET_DVR_LOGO_OVERLAYCFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-1- - BYTE byRes1[3]; - DWORD dwCoordinateX; //ͼƬʾX - DWORD dwCoordinateY; //ͼƬʾY - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - BYTE byLogoName[16];//Logo -}NET_DVR_LOGO_OVERLAYCFG,*LPNET_DVR_LOGO_OVERLAYCFG; - - -typedef struct tagNET_DVR_INVALID_DISK_PARAM -{ - NET_DVR_STRUCTHEAD struStructHead; - DWORD dwDiskNo; // ̺ - BYTE byDelAll; // 0-ɾdwDiskNo 1-ɾȫЧ - BYTE byres[31]; -}NET_DVR_INVALID_DISK_PARAM, *LPNET_DVR_INVALID_DISK_PARAM; - - -typedef struct tagNET_DVR_INVALID_MOUNT_DISK_PARAM -{ - NET_DVR_STRUCTHEAD struStructHead; - DWORD dwDiskNo; // ̺ - BYTE byres[32]; -}NET_DVR_MOUNT_DISK_PARAM, *LPNET_DVR_MOUNT_DISK_PARAM; - -// ӻص -typedef enum -{ - NET_SDK_CALLBACK_TYPE_STATUS = 0, // ص״ֵ̬ - NET_SDK_CALLBACK_TYPE_PROGRESS, // صֵ - NET_SDK_CALLBACK_TYPE_DATA // ص -}NET_SDK_CALLBACK_TYPE; - - -// صΪNET_SDK_CALLBACK_TYPE_STATUSʱ״ֵ̬ -typedef enum -{ - NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, // ɹ - NET_SDK_CALLBACK_STATUS_PROCESSING, // - NET_SDK_CALLBACK_STATUS_FAILED, // ʧ - NET_SDK_CALLBACK_STATUS_EXCEPTION, // 쳣 - NET_SDK_CALLBACK_STATUS_LANGUAGE_MISMATCH, //IPCļ룩Բƥ - NET_SDK_CALLBACK_STATUS_DEV_TYPE_MISMATCH, //IPCļ룩豸Ͳƥ - NET_DVR_CALLBACK_STATUS_SEND_WAIT, // ͵ȴ -}NET_SDK_CALLBACK_STATUS_NORMAL; - - -//һͨ״̬ -#define NET_SDK_OKC_STATUS_SUCCESS 1000 //һóɹ -#define NET_SDK_OKC_STATUS_FAILED 1002 //һʧ - -//һCVR״̬ -#define NET_SDK_OKC_STATUS_START_CONFIG 1003 //ʼ -#define NET_SDK_OKC_CHECK_HD 1004 // -#define NET_SDK_OKC_INIT_HD 1005 //ʼ -#define NET_SDK_OKC_CREATE_RAID_OR_SINGLE_DISK 1006 //лߵģʽ -#define NET_SDK_OKC_INIT_CVR_SERVICE 1007 //ʼCVR -#define NET_SDK_OKC_CREATE_RECORD_VOLUME 1008 //¼ - -//Ϊһʧܵ״̬롪part1 -#define NET_SDK_OKC_ERR_LOAD_CONF_FAILED 1009 //ļʧ -#define NET_SDK_OKC_ERR_NOT_SUPPORT_RAID_LEVLE 1010 //ִ֧͵raid -#define NET_SDK_OKC_ERR_CONFIGURATION_CONFLICT 1011 //ϵͳѾraid洢 -#define NET_SDK_OKC_ERR_GET_DISK_INFO_FAILED 1012 //ȡϢʧ -#define NET_SDK_OKC_ERR_CHECK_DISK_FAILED 1013 //ʧ -#define NET_SDK_OKC_ERR_INIT_DISK_FAILED 1014 //ʼʧ -#define NET_SDK_OKC_ERR_DISK_CAPACITY_SMALL 1015 // -#define NET_SDK_OKC_ERR_BOTH_SV_NS 1016 //ͬʱSV̺NS -#define NET_SDK_OKC_ERR_CREATE_RAID_FAILED 1017 //raidʧ -#define NET_SDK_OKC_ERR_GET_RAID_FAILED 1018 //ȡraidʧ -#define NET_SDK_OKC_ERR_CREATE_SPARE_FAILED 1019 //ȱʧ -#define NET_SDK_OKC_ERR_CREATE_STORAGE_POOL_FAILED 1020 //洢ʧ -#define NET_SDK_OKC_ERR_GET_POOL_INFO_FAILED 1021 //ȡ洢Ϣʧ -#define NET_SDK_OKC_ERR_CREATE_LUN_FAILED 1022 //lunʧ -#define NET_SDK_OKC_ERR_GET_LUN_INFO_FAILED 1023 //ȡlunϢʧ -#define NET_SDK_OKC_ERR_CREATE_BACKUP_FAILED 1024 //Ԥʧ -#define NET_SDK_OKC_ERR_GET_BACKUP_FAILED 1025 //ȡԤʧ -#define NET_SDK_OKC_ERR_CREATE_PRIVATE_LUN_FAILED 1026 //˽оʧ -#define NET_SDK_OKC_ERR_CREATE_RV_FAILED 1027 //¼ʧ -#define NET_SDK_OKC_ERR_CREATE_ARCH_RV_FAILED 1028 //浵ʧ -#define NET_SDK_OKC_ERR_START_CVR_SERVICE_FAILED 1029 //CVRʧ - -//һSAN״̬ -#define NET_SDK_OKC_CREATING_ARRAY 1030 //н׶ -#define NET_SDK_OKC_CREATING_STORAGE_POOL 1031 //洢ؽ׶ -#define NET_SDK_OKC_CREATING_LUN_VOL 1032 //߼׶ -#define NET_SDK_OKC_CREATING_ISCSI 1033 //ISCSI׶ -#define NET_SDK_OKC_ERR_HOT_SPARE_CONFICT 1034 //Ѵȱ -#define NET_SDK_OKC_ERR_STORAGE_POOL_CONFICT 1035 //Ѵڴ洢 -#define NET_SDK_OKC_ERR_RAID_CONFLICT 1036 //ϵͳѾ -#define NET_SDK_OKC_ERR_OPEN_ISCSI_FAILED 1037 //ISCSIʧ -#define NET_SDK_OKC_ERR_DEVICE_NOSUPPORT_SAN 1038 //豸֧san - -//Ϊһʧܵ״̬롪part2 -#define NET_SDK_OKC_ERR_SAPRE_NUM_EXCEED 1101 //ȱ̸ -#define NET_SDK_OKC_ERR_CREATE_PIC_VOLUME_FAILED 1102 //ͼƬʧ - -typedef enum -{ - NET_SDK_GET_NEXT_STATUS_SUCCESS = 1000, // ɹȡݣͻ˴걾ݺҪٴεNET_DVR_RemoteConfigGetNextȡһ - NET_SDK_GET_NETX_STATUS_NEED_WAIT, // ȴ豸ݣNET_DVR_RemoteConfigGetNext - NET_SDK_GET_NEXT_STATUS_FINISH, // ȫȡ꣬ʱͻ˿ɵNET_DVR_StopRemoteConfig - NET_SDK_GET_NEXT_STATUS_FAILED, // 쳣ͻ˿ɵNET_DVR_StopRemoteConfig -}NET_SDK_GET_NEXT_STATUS; - -// ûSendwithRecvӿʱӿڷص״̬ -typedef enum -{ - NET_SDK_CONFIG_STATUS_SUCCESS = 1000, // ɹȡݣͻ˴걾ݺҪٴεNET_DVR_SendWithRecvRemoteConfigȡһ - NET_SDK_CONFIG_STATUS_NEEDWAIT, // õȴͻ˿NET_DVR_SendWithRecvRemoteConfig - NET_SDK_CONFIG_STATUS_FINISH, // ȫȡ꣬ʱͻ˿ɵNET_DVR_StopRemoteConfig - NET_SDK_CONFIG_STATUS_FAILED, // ʧܣͻ˿NET_DVR_SendWithRecvRemoteConfig·һ - NET_SDK_CONFIG_STATUS_EXCEPTION, // 쳣ʱͻ˿ɵNET_DVR_StopRemoteConfig -}NET_SDK_SENDWITHRECV_STATUS; - -//ļ -typedef enum tagNET_SDK_IPC_CFG_FILE_ERR_CODE -{ - NET_SDK_IPC_CFG_FILE_NO_ERR = 0, /* û */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_CHANNEL_INVALID = 1, /* ͨIDǷ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_CHANNEL_DUPLICATE, /* ͨIDظ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_IP_INVALID, /* ͨIPǷ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_IP_DUPLICATE, /* ͨIPظ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_IP_CONFLICT_WITH_LOCAL, /* ͨIP뱾IPͻ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_PROTOCOL_INVALID, /* Э */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_PORT_INVALID, /* ˿ڴ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_DEVICE_CHANNEL_ERR, /* 豸ͨŴ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_USER_NAME_ERR, /* ûǷַ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_PASSWD_ERR, /* 뺬Ƿַ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_TRANSPORT_PROTOCOL_INVALID /*Э*/ -}NET_SDK_IPC_CFG_FILE_ERR_CODE; - -//IPC -typedef enum -{ - NET_SDK_UPGRADE_IPC_INVALID = 0, //Чͨδѡͨ - NET_SDK_UPGRADE_IPC_SUCCESS, //ɹ - NET_SDK_UPGRADE_IPC_OFFLINE, //IPC - NET_SDK_UPGRADE_IPC_NOT_SUPPORT, //IPC֧ - NET_SDK_UPGRADE_IPC_LANGUAGE_MISMATCH, //Բƥ - NET_SDK_UPGRADE_IPC_WRITE_FLASH_FAILED, //дflshʧ - NET_SDK_UPGRADE_IPC_OTHER_ERROR // -}NET_SDK_UPGRADE_IPC_ERR_CODE; - -typedef enum -{ - NET_SDK_REMOTE_CONFIG_STATUS_SUCCESS = 1001,//¼һɹ - NET_SDK_REMOTE_CONFIG_STATUS_FAILED, //¼һʧ - NET_SDK_REMOTE_CONFIG_STATUS_PROCESSING //¼һڻȡ -}NET_SDK_REMOTE_CONFIG_STATUS; - -#define MAX_CODE_CARD_SUPPORTDISPNUMS 8//ÿ뿨ֵ֧ʾͨ -#define MAX_SUPPORT_RES 32 - -typedef enum _BOARD_TYPE -{ - DS4004HC_BOARD =2, //4004HC - DS4008HC_BOARD =3, //4008HC - DS4016HC_BOARD =4, //4016HC - DS4001HF_BOARD =5, //4001HF - DS4004HF_BOARD =6, //4004HF - DS4002MD_BOARD =7, //4002MD - DS4004MD_BOARD =8, //4004MD - DS4016HCS_BOARD =9, //4016HCS - DS4004HC_PLUS_BOARD =13, //4004HC+ - DS4008HC_PLUS_BOARD =14, //4008HC+ - DS4016HC_PLUS_BOARD =15, //4016HC+ - DS4008HF_BOARD =16, //4008HF - DS4008MD_BOARD =17, //4008MD - DS4008HS_BOARD =18, //4008HS - DS4016HS_BOARD =19, //4016HS - - DS4108HCV_BOARD =20, //4108HCV - DS4116HCV_BOARD =21, //4116HCV - DS5016HC_BOARD =22, //5016HC - - DS4208HFV_BOARD =23, //4208HFV - DS4216HC_BOARD =24, //4216HC - DS4216HFV_BOARD =25, //4216HFV - - DS5008HF_BOARD =26, //5008HF - DS5116HF_BOARD =27, //5116HF - - DS5216HC_BOARD =28, //5216HC - DS5208HF_BOARD =29, //5208HF - DS5216HF_BOARD =30, //5216HF - - DS4101HD_BOARD =31, //4101HD - DS4102HD_BOARD =32, //4102HD - DS4104HD_BOARD =33, //4104HD - - DS4002MD_PLUS_BOARD =34, //4002MD+ - DS4004MD_PLUS_BOARD =35, //4004MD+ - - DS4204HFV_BOARD =36, //4204HFV - DS4308HCV_BOARD =37, //4308HCV - DS4308HFV_BOARD =38, //4308HFV - DS4316HCV_BOARD =39, //4316HCV - DS4316HFV_BOARD =40, //4316HFV - DS4304HD_BOARD =41, //4304HD - DS4304HFH_BOARD =42, //4304HFH - DS4304HFV_BOARD =43, //4304HFV - DS4302HFH_BOARD =44, //4302HFH - DS5316HF_BOARD =45, //5316HF - DS4308HW_BOARD =46, //4308HW - DS4316HW_BOARD =47, //4316HW - DS4308MD_BOARD =48, //4308MD - UNKNOWN_BOARD_TYPE =0xffffffff, -}BOARD_TYPE; - -typedef struct tagNET_DVR_CODECARD_ABILITY /*뿨*/ -{ - BYTE byCardType; //뿨(BOARD_TYPEеö) - BYTE byCodeNums; //ͨ - BYTE byDispNums; //ʾͨ - BYTE byCodeStartIdx; //׸ͨбͨе - BYTE byDispStartIdx; //׸ʾͨʾͨе - BYTE byRes1[3]; - DWORD dwVgaSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwHdmiSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwDviSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwYpbprSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - BYTE byDispFormat[MAX_CODE_CARD_SUPPORTDISPNUMS]; //ֵ֧ģʽ(HD_DISPLAY_FORMATеö) - BYTE byWindowMode[MAX_CODE_CARD_SUPPORTDISPNUMS][12]; //ֵ֧Ĵģʽ(1,2,4,9,16)) - BYTE byRes2[36]; -}NET_DVR_CODECARD_ABILITY,*LPNET_DVR_CODECARD_ABILITY; - -#define MAX_CODE_CARD_NUM 8 //뿨 -typedef struct tagNET_DVR_CODESVR_ABILITY -{ - DWORD dwSize; /* ṹС */ - BYTE byCardNums; /* 뿨 */ - BYTE byStartChan; /* ʼͨ */ - BYTE byRes1[2]; - NET_DVR_CODECARD_ABILITY struCodeCardAbility[MAX_CODE_CARD_NUM]; - BYTE byRes2[64]; -}NET_DVR_CODESVR_ABILITY, *LPNET_DVR_CODESVR_ABILITY; - -typedef struct tagNET_DVR_CODER_SERVER_OUTPUT_CFG -{ - DWORD dwSize; - BYTE byDispChanType; /*ʾͨͣ0-BNC1-VGA2-HDMI3-DVI*/ //˲ֻܻȡ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - BYTE byRes1[2]; - DWORD dwResolution; //ֱ - DWORD dwWindowMode; /*ģʽ֧ģʽȡ*/ - BYTE byRes2[64]; -}NET_DVR_CODER_SERVER_OUTPUT_CFG,*LPNET_DVR_CODER_SERVER_OUTPUT_CFG; - -typedef struct tagNET_DVR_DISPLAY_START_INFO -{ - DWORD dwSize; - DWORD dwDisplayChan; //ʾͨ - DWORD dwCodeChan; //ͨ - DWORD dwWinNum; //ںţ1 - BYTE byEnableAudio; //Ƶ0-أ1- - BYTE byRes[31]; -}NET_DVR_DISPLAY_START_INFO,*LPNET_DVR_DISPLAY_START_INFO; - -typedef struct tagNET_DVR_CODER_WINDOW_INFO -{ - DWORD dwSize; - DWORD dwDisplayChan;//ʾͨ - DWORD dwWinNum; //ںţ1ʼ - BYTE byRes[16]; -}NET_DVR_CODER_WINDOW_INFO,*LPNET_DVR_CODER_WINDOW_INFO; - -typedef struct tagNET_DVR_WINDOW_STATUS -{ - DWORD dwSize; //ṹС - DWORD dwCodeChan; /*ͨ*/ - BYTE byDisplay; /*Ƿ0-1-*/ - BYTE byAudio; /*ƵǷ,0-1-*/ - BYTE byRes[30]; -}NET_DVR_WINDOW_STATUS,*LPNET_DVR_WINDOW_STATUS; - -typedef struct tagNET_DVR_RECORD_LOCK_PERCENTAGE -{ - DWORD dwSize; //ṹС - BYTE byPercentage; //ٷֱȣȡֵΧ[0,100] - BYTE byRes[31]; // -}NET_DVR_RECORD_LOCK_PERCENTAGE, *LPNET_DVR_RECORD_LOCK_PERCENTAGE; - -typedef struct tagNET_DVR_UPDATE_RECORD_INFO -{ - DWORD dwSize; //ṹС - NET_DVR_STREAM_INFO struStreasmInfo; //ID - DWORD dwBeginTime; //¼ܵĿʼʱ - DWORD dwEndTime; //¼ܵĽʱ - BYTE byRes[32]; // -}NET_DVR_UPDATE_RECORD_INFO, *LPNET_DVR_UPDATE_RECORD_INFO; - -typedef struct tagNET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA -{ - NET_DVR_STREAM_INFO struStreamInfo; - DWORD dwCmdType; //ⲿ - DWORD dwRecordTimeLen; //¼ʱ䣬λ - BYTE byEventID[MAX_EVENTID_LEN]; //¼IDΪϢ - DWORD dwLockDuration; //ʱ䣬λ룬0xffffffff- 0- - BYTE byBackUp; //Ƿ浵0-浵1-浵 - BYTE byPreRecord; //ǷԤ¼0-Ԥ¼1-Ԥ¼ - BYTE byRes[122]; -}NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA, *LPNET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA; - -typedef struct tagNET_DVR_LOCK_FILE_BY_NAME_PARA -{ - BYTE byFileName[NAME_LEN]; // ¼ļЭֻ32ļ - DWORD dwLockDuration; // ʱ,λ룬0xffffffffʾ - BYTE byRes[512]; -}NET_DVR_LOCK_FILE_BY_NAME_PARA, *LPNET_DVR_LOCK_FILE_BY_NAME_PARA; - - -typedef struct tagNET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3ԶͨGET /ISAPI/Streaming/channels//customStreamȡǰͨѾӵԶIDԶΪ6~10ֵ6~10 - BYTE byRes[32]; -}NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND, *LPNET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND; - - -typedef struct tagNET_DVR_MULTI_STREAM_COMPRESSIONCFG -{ - DWORD dwSize; - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3 - NET_DVR_COMPRESSION_INFO_V30 struStreamPara; //ѹ - DWORD dwResolution; //ֱС255ʱbyResolutionһ£255ʱԸֶηֵжϡ - BYTE byRes[76]; -}NET_DVR_MULTI_STREAM_COMPRESSIONCFG, *LPNET_DVR_MULTI_STREAM_COMPRESSIONCFG; - -typedef struct tagNET_DVR_PUSHALARMINFO_V40 -{ - DWORD dwAlarmType; /*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣10-¼쳣 11- ܳ仯 12-쳣 */ - union - { - BYTE byRes[300]; - struct - { - DWORD dwAlarmInputNumber; /*λ,0λӦ0˿,dwAlarmTypeΪ0ʱҪ*/ - BYTE byAlarmOutputNumber[MAX_ALARMOUT_V30]; /*λ,0λӦ0˿, */ - BYTE byAlarmRelateChannel[MAX_CHANNUM_V30]; /*λ,0λӦ0ͨ*/ - BYTE byRes1[97]; - BYTE byDeviceID[NAME_LEN]; /*豸ID*/ - BYTE byRes2[7]; - }struIOAlarm; - struct - { - BYTE byStreamID[STREAM_ID_LEN]; // IDϢ - BYTE byRes1[132]; - BYTE byChannel[MAX_CHANNUM_V30]; /*λ,0x2ʾ1ͨ1λӦ1ͨ(ͨ1ʼ)dwAlarmTypeΪ23, 6910ʱҪ, */ - BYTE byRes2[33]; - BYTE byDeviceID[NAME_LEN]; /*豸ID*/ - BYTE byRes3[7]; - }struStreamIDorChannel; - struct - { - BYTE byRes1[228]; - BYTE byDiskNumber[MAX_DISKNUM_V30]; /*λ,0λӦ0Ӳ,dwAlarmTypeΪ1,4,5ʱҪ*/ - BYTE byDeviceID[NAME_LEN]; /*豸ID*/ - BYTE byRes2[7]; - }struDiskAlarm; - }uAlarmInfo; -}NET_DVR_PUSHALARMINFO_V40, *LPNET_DVR_PUSHALARMINFO_V40; - -typedef struct tagNET_DVR_RECORD_PACK -{ - NET_DVR_STRUCTHEAD struStruceHead; - DWORD dwPackageInterval; // ʱ ʱ䵥λ - BYTE byRes[32]; // -}NET_DVR_RECORD_PACK,*LPNET_DVR_RECORD_PACK; - -#define NET_DVR_FIND_NAS_DIRECTORY 6161 //NASĿ¼ -#define NET_DVR_NAS_FINDING 0 //ڲ -#define NET_DVR_NAS_RECV 1 // -#define NET_DVR_NAS_OVER 2 //ҽ -#define NET_DVR_NAS_EXCEPTION 3 //쳣 -typedef struct tagNET_DVR_NET_DISK_SERACH_PARAM -{ - NET_DVR_IPADDR struIP; // IPַ - WORD wPort; // IP˿ - BYTE byRes[10]; // ֽ -}NET_DVR_NET_DISK_SERACH_PARAM, *LPNET_DVR_NET_DISK_SERACH_PARAM; - - -typedef struct tagNET_DVR_NET_DISK_SERACH_RET -{ - BYTE byDirectory[128]; // صļĿ¼ - BYTE byRes[20]; -}NET_DVR_NET_DISK_SERACH_RET, *LPNET_DVR_NET_DISK_SERACH_RET; - -typedef struct tagNET_DVR_WD1_CFG -{ - NET_DVR_STRUCTHEAD struStruceHead; - BYTE byWD1Enable; //WD1ʹܿ 0 ر 1 - BYTE byRes[31]; // -}NET_DVR_WD1_CFG, *LPNET_DVR_WD1_CFG; - -typedef struct tagNET_DVR_FTPCFG_V40 -{ - NET_DVR_STRUCTHEAD struStruceHead; - BYTE byEnableFTP; /*Ƿftpϴܣ0-1-*/ - BYTE byProtocolType; /*Э 0-FTP1-SFTP*/ - WORD wFTPPort; /*˿*/ - union - { - struct - { - BYTE szDomain[64]; //ַʹIPv4 IPv6 - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp; /*IPַ:IPv4 IPv6ַ, 144ֽ*/ - }struAddrIP; - }unionServer; //ʹṹֹIPַ - BYTE szUserName[32]; /*û*/ - BYTE szPassWORD[16]; /**/ - BYTE szTopCustomDir[64]; /*ԶһĿ¼*/ - BYTE szSubCustomDir[64]; /*ԶĿ¼*/ - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼, 1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - BYTE byTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ - 0x4=ʹʾ,0x5=ʹʱ(),0x6-ʹԶ ,0x7=Υ,0x8=,0x9=ص*/ - BYTE bySubDirMode; /*Ŀ¼0x1=ʹͨ,0x2=ʹͨ 0x3=ʹʱ(), - 0x4=ʹó,0x5-ʹԶ, 0x6=Υ,0x7=,0x8=ص,0x9 = λ*/ - BYTE byType; /* 0-1-*/ - BYTE byEnableAnony; /* 0- 1*/ - BYTE byAddresType; /*0 ʹIPV4IPV6 1- ʹ*/ - BYTE byFTPPicType; //0-1-ͣץͼƬ - BYTE byPicArchivingInterval; //ͼƬ鵵[1~30],0ʾر - NET_DVR_PICTURE_NAME_EX struPicNameRule; /* ͼƬ: - byFTPPicType ==1ʱ,ڵͣץͼƬ*/ - BYTE byPicNameRuleType; //ͼƬͣ0~Ĭͣ1~ͼƬǰ׺(struPicNameRuleеbyPicNamePrefixֶ) - BYTE byRes[203]; /**/ -}NET_DVR_FTPCFG_V40, *LPNET_DVR_FTPCFG_V40; - -typedef struct tagNET_DVR_FTP_TYPE -{ - BYTE byType; // 0-1- - BYTE byRes[3]; -}NET_DVR_FTP_TYPE, *LPNET_DVR_FTP_TYPE; - -//FTPԲṹ -typedef struct -{ - DWORD dwSize; - BYTE byEnableFTP; /*Ƿftpϴܣ0-1-*/ - BYTE byProtocolType; /*Э 0-FTP1-SFTP*/ - WORD wFTPPort; /*˿*/ - union - { - BYTE byRes[144]; - struct - { - BYTE szDomain[MAX_DOMAIN_NAME]; //ַʹIPv4 IPv6 - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp; /*IPַ:IPv4 IPv6ַ, 144ֽ*/ - }struAddrIP; - }unionServer; //ʹṹֹIPַ - - BYTE szUserName[NAME_LEN]; /*û*/ - BYTE szPassWORD[PASSWD_LEN]; /**/ - BYTE szTopCustomDir[MAX_CUSTOM_DIR]; /*ԶһĿ¼*/ - BYTE szSubCustomDir[MAX_CUSTOM_DIR]; /*ԶĿ¼*/ - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼, 1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - BYTE byTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ - 0x4=ʹʾ,0x5=ʹʱ(),0x6-ʹԶ ,0x7=Υ, - 0x8=,0x9=ص*/ - BYTE bySubDirMode; /*Ŀ¼0x1=ʹͨ,0x2=ʹͨ 0x3=ʹʱ(), - 0x4=ʹó,0x5-ʹԶ, 0x6=Υ,0x7=,0x8=ص, - 0x9 = λ*/ - BYTE byType; /* 0-1-*/ - BYTE byEnableAnony; /* 0- 1*/ - BYTE byAddresType; /*0 ʹIPV4IPV6 1- ʹ*/ - - BYTE byRes2[198]; -}NET_DVR_FTP_SERVER_TEST_PARA, *LPNET_DVR_FTP_SERVER_TEST_PARA; - -#define NET_SDK_ACCESS_KEY_LEN 64 //볤 -#define NET_SDK_SECRET_KEY_LEN 64 //볤 - -//Խṹ -typedef struct tagNET_DVR_SERVER_TEST_PARA -{ - DWORD dwSize; - union - { - BYTE byRes[740]; - struct - { - NET_DVR_NTPPARA struNtpPara; /*NTPԲ80ֽ*/ - BYTE byRes1[660]; - }struNtpPara; - struct - { - NET_DVR_SINGLE_NET_DISK_INFO_V40 struNasPara; /*NASԲ480ֽ*/ - BYTE byRes1[260]; - }struNasPara; - struct - { - NET_DVR_FTP_SERVER_TEST_PARA struFtpPara; /*FTPԲ528ֽ*/ - BYTE byRes1[212]; - }struFtpPara; - struct - { - NET_DVR_EMAILCFG_V30 struEmailPara; /*EmailԲ660ֽ*/ - BYTE byRes1[80]; - }struEmailPara; - struct - { - NET_DVR_IPADDR struIp; /*IPͻԲ24ֽ*/ - BYTE byRes1[716]; - }struIpPara; - struct - { - NET_DVR_IPADDR struIPAdder; - WORD wPort; //˿ں - BYTE byRes2[2]; - char szUser[CLOUD_NAME_LEN/*48*/]; //û - char szPassword[CLOUD_PASSWD_LEN/*48*/]; // - NET_DVR_POOLPARAM struPoolInfo[16];// 0ʾͼƬݳأ1ʾΥͼƬݳأ2ʾݳأIPC/D - BYTE byProtocolType;//ƴ洢Э汾0- 1.0汾1- 2.0汾 - BYTE byRes3[3]; - char szAccessKey[NET_SDK_ACCESS_KEY_LEN/*64*/]; // - char szSecretKey[NET_SDK_SECRET_KEY_LEN/*64*/]; // - BYTE byRes1[354]; - }struCloudStoragePara; - struct - { - BYTE byPhoneNum[MAX_PHONE_NUM/*32*/]; - BYTE byRes1[708]; - }struPhoneNumPara;//Ų - }unionServerPara; - BYTE byRes2[800]; -}NET_DVR_SERVER_TEST_PARA, *LPNET_DVR_SERVER_TEST_PARA; - -typedef struct tagNET_DVR_GOP_INFO //ȡGOPϢṹ,ʱʹ -{ - DWORD dwSize; //ṹС - LONG lChannel; //ͨ - NET_DVR_TIME_EX struStartTime; //ʼʱ - NET_DVR_TIME_EX struEndTime; //ʱ - BYTE byRes[256]; // ֽ -}NET_DVR_GOP_INFO, *LPNET_DVR_GOP_INFO; - -typedef struct tagNET_DVR_GOP_INFO_RET -{ - NET_DVR_TIME_V30 struGopTime; //GopϢʱ - DWORD dwDuration; //Ϣʱ - DWORD dwDataSize; //ָpBufС - BYTE byRes[128]; - char* pBuf;//GopϢ -}NET_DVR_GOP_INFO_RET, *LPNET_DVR_GOP_INFO_RET; - -typedef struct tagNET_DVR_GOP_INFO_PASSBACK //Ϣ -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_V30 struTime; //ʼʱ,ΪԪʱʾĿʼʱ䣬ΪͼʱʾͼƬʱ - DWORD dwDuration; //Ϣʱ䣬ΪԪʱЧ - DWORD dwMetaDataSize; //ԴĴС - DWORD dwPicDataSize; //ͼƬݴС - char* pMetaDataBuffer; //Ԫݻ - char* pPicDataBuf; //ͼƬ - BYTE byRes[32]; -}NET_DVR_GOP_INFO_PASSBACK, *LPNET_DVR_GOP_INFO_PASSBACK; - -typedef struct tagNET_DVR_SINGLEWALLPARAM -{ - DWORD dwSize; - BYTE byEnable; - BYTE byRes1[3]; - DWORD dwWallNum;//ǽ - //Ϊ׼128128Ⱥ͸߶ֵãΪ׼ֵ - NET_DVR_RECTCFG struRectCfg; - BYTE byRes2[36]; -}NET_DVR_SINGLEWALLPARAM, *LPNET_DVR_SINGLEWALLPARAM; - -/*Ϣ*/ -typedef struct tagNET_DVR_WALLWINCFG -{ - DWORD dwSize; - BYTE byEnable; - BYTE byRes1[7]; - DWORD dwWinNum;//ں - DWORD dwLayerIndex;//Ӧͼ - NET_DVR_RECTCFG struWinPosition;//ĿĴ(ʾǽ) - DWORD dwDeviceIndex;//ֲʽ豸 - WORD wInputIndex;//źԴ - BYTE byRes2[14]; -}NET_DVR_WALLWINCFG, *LPNET_DVR_WALLWINCFG; - -typedef struct tagNET_DVR_WALL_INDEX -{ - DWORD dwSize; - BYTE byWallNo; //ǽţ1ʼ - BYTE bySceneNo; // - BYTE byRes1[2]; - DWORD dwDeviceID; //ֲʽ豸ID - DWORD dwWindowNo; ///źԴ - BYTE byRes2[32]; -}NET_DVR_WALL_INDEX, *LPNET_DVR_WALL_INDEX; - -typedef struct tagNET_DVR_WALLWINPARAM -{ - DWORD dwSize; - BYTE byTransparency; //ʹ͸ȣ0-أ0- - BYTE byWinMode;//ڷģʽȡ - BYTE byEnableSpartan;//ʹܣ0-أ1- - BYTE byDecResource; //ΪڷĽԴ1-D1,2-720P,3-1080P - BYTE byWndShowMode; //ʾģʽ0-ֶβã1-Ӵģʽ2-Ӵȫģʽ - BYTE byEnabledFeature; //Ƿóд0-ã!0- - BYTE byFeatureMode; //дģʽóдʱЧ0-Ч1-1+5ģʽ - BYTE byRes1; - DWORD dwAmplifyingSubWndNo; //ȫӴںţ1ֽǽ+1ֽӴں+2ֽڴںţ - //byWndShowModeΪ2ʱЧʾǰȫʾӴ - BYTE byWndTopKeep; //ö֣0-֣1- - BYTE byWndOpenKeep; //ڴ򿪱֣0-֣1- - BYTE byRes[22]; -}NET_DVR_WALLWINPARAM, *LPNET_DVR_WALLWINPARAM; - -typedef struct tagNET_DVR_WALLSCENECFG -{ - DWORD dwSize; - BYTE sSceneName[NAME_LEN]; // - BYTE byEnable; //ǷЧ0-Ч1-Ч - BYTE bySceneIndex; //ţֻܻȡȡгʱʹøò - BYTE byRes [78]; -}NET_DVR_WALLSCENECFG, *LPNET_DVR_WALLSCENECFG; - -typedef struct tagNET_DVR_WALLWIN_INFO -{ - DWORD dwSize; - DWORD dwWinNum; //ں - DWORD dwSubWinNum;//Ӵں - DWORD dwWallNo; //ǽ - BYTE byRes[12]; -}NET_DVR_WALLWIN_INFO,*LPNET_DVR_WALLWIN_INFO; - -typedef struct tagNET_DVR_WALL_WIN_STATUS -{ - DWORD dwSize ; - BYTE byDecodeStatus; /*ǰ״̬:0:δ,1 :*/ - BYTE byStreamType; /**/ - BYTE byPacketType; /*ʽ*/ - BYTE byFpsDecV; /*Ƶ֡*/ - BYTE byFpsDecA; /*Ƶ֡*/ - BYTE byRes1[7]; - DWORD dwDecodedV; /*Ƶ֡*/ - DWORD dwDecodedA; /*Ƶ֡*/ - WORD wImgW; /*ǰԴͼС*/ - WORD wImgH; - BYTE byStreamMode ; //Դ(˲Ƶۺƽ̨Ч)1-磬2-ۺƽ̨ڲϵͳ3-Ļ0xff-Ч - BYTE byRes2[31]; -}NET_DVR_WALL_WIN_STATUS, *LPNET_DVR_WALL_WIN_STATUS; - -typedef struct tagNET_DVR_WININDEX_INFO -{ - DWORD dwWinIndex; //ں - DWORD dwSubWinIndex;//Ӵں - BYTE byType ;//Դͣ1-룬2- - BYTE byWallNo ; //ǽ - BYTE byRes[6]; -}NET_DVR_WININDEX_INFO, *LPNET_DVR_WININDEX_INFO; - -typedef struct tagNET_DVR_ASSOCIATEDDEV_CHAN_INFO -{ - DWORD dwSize ; - BYTE sAddress[MAX_DOMAIN_NAME];//ipַ - WORD wDVRPort; /* ˿ں */ - WORD wChannel; /* ͨ */ - BYTE sUserName[NAME_LEN]; /* ½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byRes[24]; -}NET_DVR_ASSOCIATEDDEV_CHAN_INFO,*LPNET_DVR_ASSOCIATEDDEV_CHAN_INFO; - -typedef struct tagNET_DVR_WALLOUTPUTPARAM -{ - DWORD dwSize; - DWORD dwResolution; //ֱ - NET_DVR_VIDEOEFFECT struRes; - BYTE byVideoFormat; //ƵʽVIDEO_STANDARD - BYTE byDisplayMode;/*ģʽ,1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVIӦ0xff-Ч*/ - BYTE byBackgroundColor; //ɫ0-Чֱ֧ɫ1-죬2-̣3-4-ƣ5-ϣ6-࣬7-ڣ8-ף0xff-Զ - BYTE byUseEDIDResolution; //ǷʹEDIDֱʣ0-ʹã1-ʹ - WORD wLEDWidth; //LEDֱʿ - WORD wLEDHeight; //LEDֱʸ - NET_DVR_RGB_COLOR struBackColor;//ɫbyBackgroundColorΪ0xffʱЧ - BYTE byLinkStatus;//״̬0-Ч,1-ʾ,2-δʾ - BYTE byRes2[51]; -}NET_DVR_WALLOUTPUTPARAM, *LPNET_DVR_WALLOUTPUTPARAM; - -#define MAX_UNITEDMATRIX_NUM 8 //Ƶۺƽ̨ - -typedef struct NET_DVR_SUBMATRIXSYSTEMINFO -{ - //ƽ̨ţ0ʾ޴ƽ̨ - DWORD dwSequence; - BYTE sAddress[MAX_DOMAIN_NAME];//ipַ - WORD wSubMatrixPort; /*ϵͳ˿ں*/ - BYTE byRes1[6]; - BYTE sUserName[NAME_LEN]; /*û*/ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byRes2[36]; -}NET_DVR_SUBMATRIXSYSTEMINFO,*LPNET_DVR_SUBMATRIXSYSTEMINFO; - -typedef struct tagNET_DVR_UNITEDMATRIXSYSTEMINFO -{ - DWORD dwSize; - //Ƶۺƽ̨Ϣ - NET_DVR_SUBMATRIXSYSTEMINFO struMatrixInfo[MAX_UNITEDMATRIX_NUM]; - BYTE byRes[32]; -}NET_DVR_UNITEDMATRIXSYSTEMINFO,*LPNET_DVR_UNITEDMATRIXSYSTEMINFO; - -typedef struct tagNET_DVR_SUBSTREAM_SWITCH_CFG -{ - BYTE byAutoSwitchEnable; //Զл0 - ã1 - - BYTE byRes1[3]; - WORD wSubWndWidth; //Ӵڿ趨ֵbyAutoSwitchEnableΪ1ʱЧ - WORD wSubWndHeight; //Ӵڸ߶趨ֵbyAutoSwitchEnableΪ1ʱЧ -}NET_DVR_SUBSTREAM_SWITCH_CFG, *LPNET_DVR_SUBSTREAM_SWITCH_CFG; - -typedef struct tagNET_DVR_WALL_CFG -{ - DWORD dwSize; - BYTE byTransparency;//͸,0-100,0Ϊ͸ - BYTE byWinStaticMode; //ڽֹͣʾģʽ1-(֮ǰǺɫ)2-ʾһ֡ͼ - BYTE byStreamFailedMode; //ȡʧʾģʽ1-Ƶźš2-ʾһ֡ͼ3-쳣4- - BYTE byEnabledOverlayLogo; //ʱǷLOGOʾû0-ӣ!0- - NET_DVR_SUBSTREAM_SWITCH_CFG struSubStreamSwitch; //л - BYTE byLEDShowMode; //LEDʾģʽ0-ͨģʽ1-ƽģʽ - BYTE byLowLatencyMode; //ʱģʽ0-ͨģʽ1-ʱģʽ - BYTE byRes[50]; -}NET_DVR_WALL_CFG, *LPNET_DVR_WALL_CFG; - -typedef struct tagNET_DVR_LEDDISPLAYINFO -{ - DWORD dwSize; - BYTE byAddressType; //0-ʵipv4 ipv6ַ 1- - BYTE byRes1[3]; - // unionServerʹʵʵַ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME/*64*/];//ַ - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp;/*IPַ*/ //IPv4 IPv6ַ, 144ֽ - } struAddrIP; - }unionServer; //ʹṹͨbyAddressTypeֶαʾIPַ 64 - char szDisplayInfo[MAX_LEDDISPLAYINFO_LEN/*1024*/]; - BYTE byRes[128]; -}NET_DVR_LEDDISPLAYINFO,*LPNET_DVR_LEDDISPLAYINFO; - - -typedef struct tagNET_DVR_LOW_LIGHT_CFG -{ - DWORD dwSize; - BYTE byLowLightLimt; /* նȵӿ: 0-أ1- */ - BYTE byLowLightLimtLevel; - /*0-أ1-*22-*33-*44-*65-*86-*127-*16 - 8-*249-*3210-*4811-*6412-*9613-*12814-*256 - 15-*512, 16-*1.25, 17-*1.5 */ - BYTE byRes[66]; -}NET_DVR_LOW_LIGHT_CFG, *LPNET_DVR_LOW_LIGHT_CFG; - -typedef struct tagNET_DVR_FOCUSMODE_CFG -{ - DWORD dwSize; - BYTE byFocusMode; /* ۽ģʽ0-Զ1-ֶ2-Զ */ - BYTE byAutoFocusMode; /* Զ۽ģʽ0-أ1-ģʽA2-ģʽB3-ģʽAB4-ģʽC Զ۽ģʽҪھ۽ģʽΪԶʱʾ*/ - WORD wMinFocusDistance; /* С۽룬λCM, 0-Զ0xffff-Զ */ - BYTE byZoomSpeedLevel; /* 䱶ٶȣΪʵȡֵ1-3 */ - BYTE byFocusSpeedLevel; /* ۽ٶȣΪʵȡֵ1-3 */ - BYTE byOpticalZoom; /* ѧ䱶0-255 */ - BYTE byDigtitalZoom; /* ֱ䱶0-255 */ - float fOpticalZoomLevel; /* ѧ䱶(ֵ) [1,32], С0.5 ڲ豸ʱ*1000 */ - DWORD dwFocusPos;/* dwFocusPos focusֵ۽ֵΧΪ[0x1000,0xC000]ֵsonyֵʹֵΪ˶ͳһ֤ͬľͷfocusֵתΧ (ֶ۽ģʽӦ)*/ - BYTE byFocusDefinitionDisplay;// ۽ʾ0~ʾ1~ʾ, ʾǰͷĿֵڰͻʹץܹﵽЧԽԽȷΧΪ0~100.0000 - BYTE byFocusSensitivity; //۽ȣΧ[0,2]۽ģʽΪԶԶʱЧ - BYTE byRes1[2]; - DWORD dwRelativeFocusPos;//focusֵ16λʾ۽ֵ0~400016λǰ۽ֵȡʱ¶ֵ - BYTE byRes[48]; -}NET_DVR_FOCUSMODE_CFG, *LPNET_DVR_FOCUSMODE_CFG; - -typedef struct tagNET_DVR_INFRARE_CFG -{ - DWORD dwSize; - BYTE byIrControlMode; /* -ģʽ0-Զ1-ֶ */ - BYTE byIrBrightness; /* -ȣ0-100 */ - BYTE byIrSensitivity; /* -ȣ0-100 */ - BYTE byIrTrigMode; /* ģʽ 0-о1- ԶģʽЧ*/ - BYTE byIrBrightnessLimit;/* ֵΪ80ʾǵǰƵΪԭȸԶԼֵ80% ԶģʽЧ*/ - BYTE byRes[63]; -}NET_DVR_INFRARE_CFG, *LPNET_DVR_INFRARE_CFG; - -typedef struct tagNET_DVR_AEMODECFG -{ - DWORD dwSize; - int iIrisSet; /* ȦΪʵȡֵ*100ֵ0- */ - int iGainSet; /* 棬عⲹΪʵȡֵ*100ֵпǸֵ */ - int iGainLimit;/* ƣعⲹΪʵȡֵ*100ֵпǸֵ */ - int iExposureCompensate; /* عⲹΪʵȡֵ*100ֵ105010.5dB, -750-7.5dB */ - BYTE byExposureModeSet; /* عģʽ,0-ֶģʽ1-Զع⣬2-Ȧȣ3-ȣ4- */ - BYTE byShutterSet; /* ţ0-أ1-Զx12-Զx23-Զx44-Զx85-Զx166-Զx327-Զx648-Զx1289-1/110-1/2 - 11-1/312-1/413-1/614-1/815-1/1216-1/1517-1/2518-1/3019-1/5020-1/6021-1/75 - 22-1/9023-1/10024-1/12025-1/12526-1/15027-1/18028-1/20029-1/21530-1/25031-1/300 - 32-1/35033-1/42534-1/50035-1/60036-1/72537-1/100038-1/125039-1500,40-1/175041-1/2000 - 42-1/250043-3000,44-1/350045-1/400046-1/600047-1/1000048-1/3000049-1/100000,50-1/175 - 51-1/19552-1/22553-1/230 */ - BYTE byImageStabilizeLevel; /* ȼ: 0-3 */ - BYTE byCameraIrCorrect; /* У: 0-Զ1-2, */ - BYTE byHighSensitivity; /* : 0-أ1- */ - BYTE byInitializeLens; /* ʼͷ: 0-أ1- */ - BYTE byChromaSuppress; /* ɫ :0-255*/ - BYTE byMaxShutterSet; //ֵ;ֵbyShutterSetͬ(Զع⡢ȦģʽЧ) - BYTE byMinShutterSet; //Сֵ;ֵbyShutterSetͬ(Զع⡢ȦģʽЧ) - BYTE byMaxIrisSet; //Ȧֵ(Զع⡢ģʽ) [0,100] ; - BYTE byMinIrisSet; //СȦֵ(Զع⡢ģʽ) [0,100] ; - BYTE byExposureLevel;//عȼعģʽΪԶȦȡЧȼ1-5 Ĭ4ϰ汾SDK豸ʱֽΪ0ֽΪ0ʱҲĬΪعȼΪ1 - BYTE byRes[60]; -}NET_DVR_AEMODECFG, *LPNET_DVR_AEMODECFG; - -typedef struct tagNET_DVR_FLASH_CFG -{ - DWORD dwSize; - DWORD dwChan;//ͨ - DWORD dwInNumbers;// - DWORD dwOutNumbers;//뿪 - DWORD dwStartTime;//ʼʱ - DWORD dwEndTime;//ʱ - DWORD dwEhomeFlag;// - DWORD dwAlarmFlag;// - BYTE byRes[1024]; -}NET_DVR_FLASH_CFG, *LPNET_DVR_FLASH_CFG; - -typedef struct tagNET_DVR_EXTERNAL_MATRIX_CFG -{ - DWORD dwSize; - BYTE byValid; // ЧʱΪãЧʱΪɾ - BYTE byRes1[3]; - BYTE sMatrixName[NAME_LEN/*32*/]; // - DWORD dwMatrixID; // IDţֻܻȡ - WORD wMatrixInputChanNum; // ͨĿ - WORD wMatrixOutputChanNum; // ͨĿ - WORD wMatrixOutputChanRef[MAX_CAM_COUNT]; //// 豸;İ󶨹ϵ±ʾ豸ͨţԪصֵʾͨţ - //Ԫֵ0 ʾ󶨾ͨԪֵΪ0ʱʾ󶨣ĻΪĻź;İ󶨹ϵ - BYTE byMatrixChanType;// ͨ1-BNC2-VGA3-RGB4-DVI - BYTE byMatrixProtocol; // Э1ZT1.02.ZT2.03.Extron4.Creator - BYTE byMatrixType; //1-ģ2-־ - BYTE byRes2; - NET_MATRIX_UNION struMatrixUnion; - BYTE byRes3[128]; -}NET_DVR_EXTERNAL_MATRIX_CFG, *LPNET_DVR_EXTERNAL_MATRIX_CFG; - -typedef struct tagNET_DVR_EXTERNAL_MATRIX_CFG_V50 -{ - DWORD dwSize; - BYTE byValid; // ЧʱΪãЧʱΪɾ - BYTE byRes1[3]; - BYTE sMatrixName[NAME_LEN/*32*/]; // - DWORD dwMatrixID; // IDţֻܻȡ - WORD wMatrixInputChanNum; // ͨĿ - WORD wMatrixOutputChanNum; // ͨĿ - WORD wMatrixOutputChanRef[MAX_CAM_COUNT_V50]; //// 豸;İ󶨹ϵ±ʾ豸ͨţԪصֵʾͨţ - //Ԫֵ0 ʾ󶨾ͨԪֵΪ0ʱʾ󶨣ĻΪĻź;İ󶨹ϵ - BYTE byMatrixChanType;// ͨ1-BNC2-VGA3-RGB4-DVI - BYTE byMatrixProtocol; // Э1ZT1.02.ZT2.03.Extron4.Creator - BYTE byMatrixType; //1-ģ2-־ - BYTE byRes2; - NET_MATRIX_UNION struMatrixUnion; - BYTE byRes3[128]; -}NET_DVR_EXTERNAL_MATRIX_CFG_V50, *LPNET_DVR_EXTERNAL_MATRIX_CFG_V50; - - -#define MAX_INPUTNUMS 1024 -#define MAX_OUTPUTNUMS 256 -typedef struct tagNET_DVR_ASSOCIATE_INPUT_PARAM -{ - BYTE byEnable; - BYTE byRes1[3]; - DWORD dwDeviceIndex;//ֲʽ豸 - WORD wInputIndex;//źԴ - BYTE byRes2[18]; -}NET_DVR_ASSOCIATE_INPUT_PARAM, *LPNET_DVR_ASSOCIATE_INPUT_PARAM; - -typedef struct tagNET_DVR_ASSOCIATE_OUTPUT_PARAM -{ - BYTE byEnable; - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes1[2]; - DWORD dwOutputIndex; //ʾ - BYTE byRes2[20]; -}NET_DVR_ASSOCIATE_OUTPUT_PARAM,*LPNET_DVR_ASSOCIATE_OUTPUT_PARAM; - -typedef struct tagNET_DVR_VCS_USER_INFO -{ - DWORD dwSize; - BYTE sUserName[NAME_LEN]; // û16ֽ - BYTE sPassWord[PASSWD_LEN]; // - NET_DVR_IPADDR struUserIP; // ûIPַ(Ϊ0ʱʾκεַ) - BYTE byMacAddr[MACADDR_LEN]; // ַ - BYTE byPriority; // ȼ1-Ա2-Ա ԱκȨޣԱû"û"Ȩ - BYTE byRes1; - DWORD dwRight;/*Զ̲Ȩޣλʾ0-֧֣1-֧֣32λȨ*/ - //bit0-ȡû - //bit1-ʾ - //bit2-ڹ - //bit3-źԴ - //bit4-ֹ - //bit5-Ԥ - //bit6-ͼ - //bit7-OSD - //bit8-Ȩ - //bit9- - //bit10-Զ - //bit11-ָĬ - //bit12-뵼ļ - //bit13-־ѯ - //bit14-Զ - //bit15-Ļ - NET_DVR_ASSOCIATE_INPUT_PARAM struInputParam[MAX_INPUTNUMS/*1024*/]; - NET_DVR_ASSOCIATE_OUTPUT_PARAM struOutputParam[MAX_OUTPUTNUMS/*256*/]; - NET_DVR_RECTCFG_EX struManageRegion; //Ļ - BYTE byWallNo; //Ļǽţֵֻ֧ǽ豸ֶЧ - BYTE byRes2[3]; - BYTE sLoginPassword[PASSWD_LEN/*16*/]; /* ½*/ - BYTE byRes[88];} NET_DVR_VCS_USER_INFO, *LPNET_DVR_VCS_USER_INFO; - -typedef struct tagNET_DVR_STREAM_MEDIA_SERVER_CFG_V41 -{ - BYTE byValid; //Ƿã0-1- - BYTE byRes1[3]; - BYTE byAddress[MAX_DOMAIN_NAME]; //IP - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э 0-TCP1-UDP*/ - BYTE byRes2[69]; -}NET_DVR_STREAM_MEDIA_SERVER_CFG_V41,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG_V41; - -//豸ͨϢ -typedef struct tagNET_DVR_DEV_CHAN_INFO_V41 -{ - BYTE byAddress[MAX_DOMAIN_NAME]; //豸 - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byDeviceType; //豸(Ƶۺƽ̨ܰʹ)1-ʱƵۺƽ̨byVcaSupportChanModeֶʹýͨʾͨ2- - BYTE byDispChan;//ʾͨ,ʹ - BYTE bySubDispChan;//ʾͨͨţʱʹ - BYTE byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wʹãݸòԴ - BYTE byUseZeroChan; //Ƿʹͨ0-1- - BYTE byRes; - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_DVR_DEV_CHAN_INFO_V41,*LPNET_DVR_DEV_CHAN_INFO_V41; - -typedef struct tagNET_DVR_DEV_CHAN_INFO_EX -{ - BYTE byChanType; //ͨͣ0-ͨͨ,1-ͨ,2-ID3-Դ4-ͨ5-ƴͨ6-Ļ7-ֲʽԴ8-ںͨ9-Դ - BYTE byStreamId[STREAM_ID_LEN]; //IDbyChanType=29ʱֶָipcID - BYTE byRes1[3]; - DWORD dwChannel; //ͨţͨΪͨͨͨԴͨƴͨĻֲʽԴʱֶ - BYTE byRes2[24]; - BYTE byAddress[MAX_DOMAIN_NAME]; //豸 - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ,dwChannelΪ0ʱֶЧ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byDeviceType; //豸(Ƶۺƽ̨ܰʹ)1-ʱƵۺƽ̨byVcaSupportChanModeֶʹýͨʾͨ2- - BYTE byDispChan;//ʾͨ,ʹ - BYTE bySubDispChan;//ʾͨͨţʱʹ - BYTE byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wʹãݸòԴ - BYTE byRes[2]; - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_DVR_DEV_CHAN_INFO_EX,*LPNET_DVR_DEV_CHAN_INFO_EX; - -typedef struct tagNET_DVR_STREAM_MEDIA_SERVER -{ - BYTE byValid; //Ƿã0-1- - BYTE byRes1[3]; - BYTE byAddress[MAX_DOMAIN_NAME]; //IP - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э 0-TCP1-UDP*/ - BYTE byRes2[5]; -}NET_DVR_STREAM_MEDIA_SERVER,*LPNET_DVR_STREAM_MEDIA_SERVER; - -typedef struct tagNET_DVR_DEV_DDNS_INFO -{ - BYTE byDevAddress[MAX_DOMAIN_NAME]; //(IPServerhiDDNSʱкŻ߱) - BYTE byTransProtocol; //Э0-TCP1-UDP, 2-MCAST - BYTE byTransMode; //ģʽ 0 1 - BYTE byDdnsType; //ͣ0-IPServer 1Dyndns 2PeanutHull()3- NO-IP, 4- hiDDNS - BYTE byRes1; - BYTE byDdnsAddress[MAX_DOMAIN_NAME]; //DDNSַ - WORD wDdnsPort; //DDNS˿ں - BYTE byChanType; //0-ͨͨ,1-ͨ,2-ID - BYTE byFactoryType; //ǰ豸,ͨӿڻȡ - DWORD dwChannel; //ͨ - BYTE byStreamId[STREAM_ID_LEN]; //ID - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // - WORD wDevPort; //ǰ豸ͨŶ˿ - BYTE byRes2[2]; -}NET_DVR_DEV_DDNS_INFO,*LPNET_DVR_DEV_DDNS_INFO; - -typedef struct tagNET_DVR_DEC_STREAM_DEV_EX -{ - NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo; -}NET_DVR_DEC_STREAM_DEV_EX,*LPNET_DVR_DEC_STREAM_DEV_EX; - - -//DDNSʽȡ -typedef struct tagNET_DVR_DEC_DDNS_DEV -{ - NET_DVR_DEV_DDNS_INFO struDdnsInfo; - NET_DVR_STREAM_MEDIA_SERVER struMediaServer; -}NET_DVR_DEC_DDNS_DEV,*LPNET_DVR_DEC_DDNS_DEV; - -typedef union tagNET_DVR_DEC_STREAM_MODE -{ - NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev; - NET_DVR_PU_STREAM_URL struUrlInfo; - NET_DVR_DEC_DDNS_DEV struDdnsDecInfo; - BYTE byRes[300]; -}NET_DVR_DEC_STREAM_MODE,*LPNET_DVR_DEC_STREAM_MODE; - -typedef struct tagNET_DVR_PU_STREAM_CFG_V41 -{ - DWORD dwSize; - BYTE byStreamMode;/*ȡģʽ0-Ч1-ͨIPȡ2-ͨURLȡ,3-̬ͨ豸ȡ*/ - BYTE byStreamEncrypt; //Ƿܴ,0-֧,1-֧ - BYTE byRes1[2]; - NET_DVR_DEC_STREAM_MODE uDecStreamMode;//ȡϢ - DWORD dwDecDelayTime;//ʱʱ䣬λ - BYTE sStreamPassword[STREAM_PASSWD_LEN]; //,Ϣ - BYTE byRes2[48]; -}NET_DVR_PU_STREAM_CFG_V41,*LPNET_DVR_PU_STREAM_CFG_V41; - -typedef struct tagNET_DVR_MATRIX_CHAN_INFO_V41 -{ - BYTE byEnable; //Ƿã0-1- - BYTE byStreamMode;/*ȡģʽ0-Ч1-ͨIPȡ2-ͨURLȡ,3-̬ͨ豸ȡ*/ - BYTE byRes[2]; - NET_DVR_DEC_STREAM_MODE uDecStreamMode;//ȡϢ -}NET_DVR_MATRIX_CHAN_INFO_V41,*LPNET_DVR_MATRIX_CHAN_INFO_V41; - -typedef struct tagNET_DVR_MATRIX_LOOP_DECINFO_V41 -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳ*/ - NET_DVR_MATRIX_CHAN_INFO_V41 struchanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byStreamEncrypt; //Ƿܴ,0-֧,1-֧ - BYTE byRes[3]; - BYTE sStreamPassword[STREAM_PASSWD_LEN]; //,Ϣ -}NET_DVR_MATRIX_LOOP_DECINFO_V41, *LPNET_DVR_MATRIX_LOOP_DECINFO_V41; - -typedef struct tagNET_DVR_MATRIX_DEC_CHAN_INFO_V41 -{ - DWORD dwSize; - BYTE byStreamMode;/*ȡģʽ0-Ч1-ͨIPȡ2-ͨURLȡ,3-̬ͨ豸ȡ*/ - BYTE byRes1[3]; - NET_DVR_DEC_STREAM_MODE uDecStreamMode;//ȡϢ - DWORD dwPlayMode; /* 0-̬ 1ѭ 2ʱط 3ļط */ - NET_DVR_TIME StartTime; /* ʱطſʼʱ */ - NET_DVR_TIME StopTime; /* ʱطֹͣʱ */ - BYTE sFileName[128]; /* ļطļ */ - DWORD dwGetStreamMode; /*ȡģʽ:1-2-*/ - NET_DVR_MATRIX_PASSIVEMODE struPassiveMode; - BYTE byRes2[32]; -}NET_DVR_MATRIX_DEC_CHAN_INFO_V41,*LPNET_DVR_MATRIX_DEC_CHAN_INFO_V41; - -typedef struct tagNet_DVR_IP_ADDRESS -{ - BYTE byDevAddress[MAX_DOMAIN_NAME]; /*豸IPַ*/ - WORD wDevPort; //豸˿ - BYTE byres[134]; -}NET_DVR_IP_ADDRESS, *LPNET_DVR_IP_ADDRESS; - -typedef struct tagNet_DVR_DDNS_ADDRESS -{ - BYTE byDevAddress[MAX_DOMAIN_NAME]; /*DDNS*/ - BYTE byDevDdns[MAX_DOMAIN_NAME]; /*豸ַ*/ - BYTE byDdnsType; //ͣ0-IPServer 1Dyndns 2PeanutHull()//3- NO-IP, 4- hiDDNS - BYTE byRes1[3]; - WORD wDevPort; //豸˿ - WORD wDdnsPort; //˿ - BYTE byres[64]; -}NET_DVR_DDNS_ADDRESS, *LPNET_DVR_DDNS_ADDRESS; - -typedef struct tagNet_DVR_PLAY_BACK_BY_TIME -{ - NET_DVR_TIME StartTime; - NET_DVR_TIME StopTime; -}NET_DVR_PLAY_BACK_BY_TIME, *LPNET_DVR_PLAY_BACK_BY_TIME; - -typedef struct tagNet_DVR_MATRIX_DEC_REMOTE_PLAY_EX -{ - DWORD dwSize; - DWORD dwDecChannel; //ͨ - BYTE byAddressType; //豸ַͣ0-IP1-DDNS - BYTE byChannelType; //ͨͣ0-ͨͨ1-ͨ2-ID - BYTE byres[2]; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwChannel; /* 豸ͨ */ - BYTE byStreamId[STREAM_ID_LEN]; //ID,˲ͨΪIDʱЧ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - union - { - BYTE byRes[200]; - NET_DVR_IP_ADDRESS struIpAddr; - NET_DVR_DDNS_ADDRESS struDdnsAddr; - }unionAddr; - - union - { - BYTE byRes[128]; - NET_DVR_PLAY_BACK_BY_TIME struPlayBackByTime; //ʱطʱļϢ - char sFileName[128]; //ļطʱļϢ - }unionPlayBackInfo; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_EX; - -typedef struct tagNET_DVR_MATRIX_DEC_REMOTE_PLAY_V50 -{ - DWORD dwSize; - DWORD dwDecChannel; //ͨ - BYTE byAddressType; //豸ַͣ0-IP1-DDNS2-URL - BYTE byChannelType; //ͨͣ0-ͨͨ1-ͨ2-ID - BYTE byStreamEncrypt; //Ƿܴ,0-֧,1-֧ - BYTE byRes1[1]; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwChannel; /* 豸ͨ */ - BYTE byStreamId[STREAM_ID_LEN]; //ID,˲ͨΪIDʱЧ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - union - { - BYTE byRes[200]; - NET_DVR_IP_ADDRESS struIpAddr; //IPַbyAddressTypeΪ0ʱЧ - NET_DVR_DDNS_ADDRESS struDdnsAddr; //DDNSַbyAddressTypeΪ1ʱЧ - }unionAddr; - union - { - BYTE byRes[128]; - NET_DVR_PLAY_BACK_BY_TIME struPlayBackByTime; //ʱطʱļϢ - BYTE sFileName[128]; //ļطʱļϢ - }unionPlayBackInfo; - NET_DVR_PU_STREAM_URL struURL; //ȡURLbyAddressTypeΪ2ʱЧ - BYTE sStreamPassword[STREAM_PASSWD_LEN]; //,Ϣ - BYTE byRes2[116]; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_V50, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_V50; - -typedef struct tagNET_DVR_DISPLAY_EFFECT_CFG -{ - DWORD dwSize; - NET_DVR_COLOR struColor; //ʾز/ - BYTE byRes[32]; -}NET_DVR_DISPLAY_EFFECT_CFG,*LPNET_DVR_DISPLAY_EFFECT_CFG; - -//ȡ״̬ -typedef struct tagNET_DVR_TRUNK_USE_STATE -{ - DWORD dwSize; - DWORD dwTrunkID; //ID - WORD wReserveUserID; //ԤûID 1~256 0ʾͷԤ - BYTE byStatus; //1-У2-ռã3- */ - BYTE byRes1; - BYTE byUserId[256]; //±ʾûIDţԪصֵʾǷʹøߡ磺byUserID[0] ֵΪ1ʾûIDΪ0ûʹãbyUserID[0] ֵΪ0ʾûIDΪ0ûûʹ - BYTE byRes2[64]; -}NET_DVR_TRUNK_USE_STATE, *LPNET_DVR_TRUNK_USE_STATE; - - -//PTZƲ -typedef struct tagNET_DVR_PTZ_CTRL_INFO -{ - DWORD dwSize; - DWORD dwCtrlDelayTime; //PTZƳʱ䣬ָPTZƺdwCtrlDelayTimeʱڣͬͼûЧλ - BYTE byRes[64]; -}NET_DVR_PTZ_CTRL_INFO, *LPNET_DVR_PTZ_CTRL_INFO; - -//ʾ· -#define MAX_MATRIX_CASCADE 32 -typedef struct tagNET_DVR_MATRIX_ROUTE_INFO -{ - DWORD dwSize; - DWORD dwCamNo; - DWORD dwMonNo; - DWORD dwSubWin; - DWORD dwUserId; - DWORD dwTrunkId[MAX_MATRIX_CASCADE/*32*/];//trunkIdԱӦ132CAM˿ʼtrunkId[0]ʾһtrunkId[1]ʾڶ, trunkId[i] = 0 ʾ޸ - BYTE byRes[64]; /* Ԥ */ -}NET_DVR_MATRIX_ROUTE_INFO, *LPNET_DVR_MATRIX_ROUTE_INFO; - - -//ȡPTZ״̬ -typedef struct tagNET_DVR_PTZ_STATUS -{ - DWORD dwSize; - DWORD dwUserID; //1~2560 ʾû - DWORD dwStatus; // PTZ״̬0-ֹͣ1- - DWORD dwRestTime; //ʣʱ - BYTE byRes[64]; -}NET_DVR_PTZ_STATUS, *LPNET_DVR_PTZ_STATUS; - -typedef struct tagNET_DVR_SAFETYCABIN_WORK_MODE -{ - DWORD dwSize; - BYTE byWorkMode; //ģʽ0-ų1-ų - BYTE byFaintToUnlock; //εһʱⲿԿ0-1- - BYTE byOvertimeToUnlock; //ʹóʱⲿťǷԿ0-1- - BYTE byRes[13]; -}NET_DVR_SAFETYCABIN_WORK_MODE,*LPNET_DVR_SAFETYCABIN_WORK_MODE; - -typedef struct tagNET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG -{ - DWORD dwSize; - BYTE bySensorType; //ͣ0-ͣ1-Ļ - BYTE bySensitivity; //жȣΧ0-100% - BYTE byDevUseTimeout; //ʹóʱʱ䣬λ,Χ5-30Ĭϳʱ15min,ʱͨͨϴ - BYTE byRes1; - WORD wCurtainDelayTime; //Ļ̽ʱʱ䣬λ룬Χ0-10 - WORD wCurtainResponseTime; //Ļ״̬仯Ӧʱ䣬λ룬Χ0-300 - WORD wFaintToEmergencyTime; //ε澯Чʱ䣬λ룬Χ10-300 - BYTE byFollowDetectorSensitivity; //βȣΧ0-100% - BYTE byManyPersonSensitivity; //˼ȣΧ0-100% - BYTE byRes2[28]; // -}NET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG,*LPNET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG; - -typedef struct tagNET_DVR_ETHERNET_IPV6_COND -{ - DWORD dwSize; - BYTE byMACAddr[MACADDR_LEN]; //ַ - BYTE byRes[64]; // -}NET_DVR_ETHERNET_IPV6_COND,*LPNET_DVR_ETHERNET_IPV6_COND; - -typedef struct tagNET_DVR_ETHERNET_IPV6_CFG -{ - DWORD dwSize; - BYTE byState; //IPv6״̬0-·ɷ䣬1-Զ - BYTE byRes1[3]; - BYTE byIPv6[MAX_IPV6_LEN]; //IPv6ַ - BYTE byRes[64]; // -}NET_DVR_ETHERNET_IPV6_CFG,*LPNET_DVR_ETHERNET_IPV6_CFG; - -typedef struct -{ - BYTE byHour;//0~24 - BYTE byMinute;//0~60 - BYTE bySecond;//0~60 - BYTE byRes; - WORD wMilliSecond; //0~1000 - BYTE byRes1[2]; -}NET_DVR_DAYTIME,*LPNET_DVR_DAYTIME; - -typedef struct -{ - NET_DVR_DAYTIME struStartTime; //ʼʱ - NET_DVR_DAYTIME struStopTime; //ʱ -}NET_DVR_SCHEDULE_DAYTIME, *LPNET_DVR_SCHEDULE_DAYTIME; - -typedef struct -{ - BYTE byObjectSize;//ռȲ(0~100) - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffر*/ - BYTE byRes[6]; -}NET_DVR_DNMODE, *LPNET_DVR_DNMODE; - -typedef struct -{ - BYTE byAreaNo;//(IPC- 1~8) - BYTE byRes[3]; - NET_VCA_RECT struRect;//Ϣ() size = 16; - NET_DVR_DNMODE struDayNightDisable;//رģʽ - NET_DVR_DNMODE struDayModeParam;//ģʽ - NET_DVR_DNMODE struNightModeParam;//ҹģʽ - BYTE byRes1[8]; -}NET_DVR_MOTION_MULTI_AREAPARAM, *LPNET_DVR_MOTION_MULTI_AREAPARAM; - -typedef struct -{ - BYTE byDayNightCtrl;//ҹ 0~ر,1~Զл,2~ʱл(ĬϹر) - BYTE byAllMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffرգȫȷΧ*/ - BYTE byRes[2];// - NET_DVR_SCHEDULE_DAYTIME struScheduleTime;//лʱ 16 - NET_DVR_MOTION_MULTI_AREAPARAM struMotionMultiAreaParam[MAX_MULTI_AREA_NUM];//֧24 - BYTE byRes1[60]; -}NET_DVR_MOTION_MULTI_AREA,*LPNET_DVR_MOTION_MULTI_AREA; //1328 - -typedef struct -{ - BYTE byMotionScope[64][96]; /*,0-96λ,ʾ64,96*64С,ĿǰЧ22*18,Ϊ1ʾƶ,0-ʾ*/ - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffر*/ - BYTE byRes[3]; -}NET_DVR_MOTION_SINGLE_AREA, *LPNET_DVR_MOTION_SINGLE_AREA; - -typedef struct -{ - NET_DVR_MOTION_SINGLE_AREA struMotionSingleArea; //ͨģʽµĵ - NET_DVR_MOTION_MULTI_AREA struMotionMultiArea; //רģʽµĶ -}NET_DVR_MOTION_MODE_PARAM, *LPNET_DVR_MOTION_MODE_PARAM; - -typedef struct -{ - NET_DVR_MOTION_MODE_PARAM struMotionMode; //(5.1.0) - BYTE byEnableHandleMotion; /* Ƿƶ 0 1*/ - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - BYTE byConfigurationMode; //0~ͨ,1~ר(5.1.0) - BYTE byKeyingEnable; //üƶ 0-ã1- - /* 쳣ʽ */ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000: ץͼϴ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; //ʵʴıţֵʾ,ýУ±0 - dwRelAlarmOut -1Чм0xffffffff,Ч - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - /*¼ͨ*/ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; /* ʵʴ¼ֵͨʾ,ýУ±0 - dwRelRecordChan -1Чм0xffffffff,Ч*/ - BYTE byDiscardFalseAlarm; //ȥ 0-Ч1-ã2- - BYTE byRes[127]; //ֽ -}NET_DVR_MOTION_V40,*LPNET_DVR_MOTION_V40; - -typedef struct -{ - DWORD dwEnableHideAlarm; /* Ƿڵ0-1-ȣ2-ȣ3-*/ - WORD wHideAlarmAreaTopLeftX; /* ڵx */ - WORD wHideAlarmAreaTopLeftY; /* ڵy */ - WORD wHideAlarmAreaWidth; /* ڵĿ */ - WORD wHideAlarmAreaHeight; /*ڵĸ*/ - /* źŶʧ */ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000:ץͼϴ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; /*ţֵʾ,ýУ±0 - dwRelAlarmOut -1Чм0xffffffff,Ч*/ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRes[64]; // -}NET_DVR_HIDEALARM_V40,*LPNET_DVR_HIDEALARM_V40; //ڵ - -typedef struct -{ - DWORD dwEnableVILostAlarm; /* ǷźŶʧ ,0-,1-*/ - /* źŶʧ */ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000:ץͼϴ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; /*ţֵʾ,ýУ±0 - dwRelAlarmOut -1Чм0xffffffff,Ч*/ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byVILostAlarmThreshold; /*źŶʧֵֵֵΪźŶʧȡֵ0-99*/ - BYTE byRes[63]; // -}NET_DVR_VILOST_V40,*LPNET_DVR_VILOST_V40; //źŶʧ - -typedef struct -{ - NET_DVR_COLOR struColor[MAX_TIMESEGMENT_V30];/*ͼ(һЧ)*/ - NET_DVR_SCHEDTIME struHandleTime[MAX_TIMESEGMENT_V30];/*ʱ()*/ -}NET_DVR_VICOLOR, *LPNET_DVR_VICOLOR; - -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL */ - NET_DVR_VICOLOR struViColor;// ͼʱ - //ʾͨ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //˽ڵ - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 0: ʾOSD */ - /* 1: ͸˸ */ - /* 2: ͸˸ */ - /* 3: ͸˸ */ - /* 4: ͸˸ */ - BYTE byHourOSDType; /* OSDСʱ:0-24Сʱ,1-12Сʱ */ - BYTE byFontSize; //16*16()/8*16(Ӣ)1-32*32()/16*32(Ӣ)2-64*64()/32*64(Ӣ) 3-48*48()/24*48(Ӣ) 4-24*24()/12*24(Ӣ) 5-96*96()/48*96(Ӣ) 6-128*128()/64*128(Ӣ) 7-80*80()/40*80(Ӣ) 8-112*112()/56*112(Ӣ) 0xff-Ӧ(adaptive) - BYTE byOSDColorType; //0-Ĭϣڰף1-Զ壻2- - /*뷽ʽѡģʽʱԷֱ½ǡ½ַӡ - ½ - ֧6ַӣͨNET_DVR_SET_SHOWSTRING_V30/ NET_DVR_GET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ05±ֵַķʽΪµϵķʽ - ½ - ֧2ַӣͨNET_DVR_SET_SHOWSTRING_V3/ NET_DVR_GET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ6͵7±ֵַķʽΪµϵķʽ - */ - BYTE byAlignment;//뷽ʽ 0-Ӧ1-Ҷ, 2-룬3-ģʽ4-ȫҶ(ַʱԼOSDַ)5-ȫ(ַʱԼOSDַ) - BYTE byOSDMilliSecondEnable;//Ƶʱֺ֧룻0~, 1- - NET_DVR_VILOST_V40 struVILost; //ƵźŶʧ֧飩 - NET_DVR_VILOST_V40 struAULost; /*ƵźŶʧ֧飩*/ - NET_DVR_MOTION_V40 struMotion; //ƶⱨ֧飩 - NET_DVR_HIDEALARM_V40 struHideAlarm; //ڵ֧飩 - NET_DVR_RGB_COLOR struOsdColor;//OSDɫ - DWORD dwBoundary; //ֵ߽룬ҶԼģʽıֵ߽0-ʾĬֵλ;ڹģʽ£λ޸ΪַΧǣ0,1,2 - NET_DVR_RGB_COLOR struOsdBkColor; //ԶOSDɫ - BYTE byOSDBkColorMode; //OSDɫģʽ0-Ĭϣ1-ԶOSDɫ - BYTE byUpDownBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2,ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byLeftRightBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2, ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byAngleEnabled;//OSDǷӸϢ,0~, 1- - WORD wTiltAngleTopLeftX; /* Ϣʾλõx */ - WORD wTiltAngleTopLeftY; /* Ϣʾλõy */ - BYTE byRes[108]; -}NET_DVR_PICCFG_V40,*LPNET_DVR_PICCFG_V40; - -typedef struct // -{ - DWORD dwSize; - BYTE byWorkType;// 0-Ӧ, 1-ʱģʽ - BYTE byRes[3]; - //ʱģʽ - NET_DVR_SCHEDULE_DAYTIME struDayNightScheduleTime;//ҹʱлģʽ(ʱ) - NET_DVR_CAMERAPARAMCFG_EX struSelfAdaptiveParam; //Ӧ - NET_DVR_CAMERAPARAMCFG_EX struDayIspAdvanceParam;// - NET_DVR_CAMERAPARAMCFG_EX struNightIspAdvanceParam;//ҹ - BYTE byRes1[512]; -}NET_DVR_ISP_CAMERAPARAMCFG,*LPNET_DVR_ISP_CAMERAPARAMCFG; - -typedef struct -{ - DWORD dwSize; - BYTE byIrLampServer;// 0ã1 - BYTE bytelnetServer;//telnet 0ã1 - BYTE byABFServer;//ABF 0ã1 - BYTE byEnableLEDStatus;//״ָ̬ʾƿ 0ã1 - BYTE byEnableAutoDefog;//Զ 0ã1 - BYTE byEnableSupplementLight;//ƿ0-ã1- - BYTE byEnableDeicing;// 0-رգ1- - BYTE byEnableVisibleMovementPower;// ɼоԴ 0-رգ1- - BYTE byEnableThermalMovementPower;// ȳоԴ 0-رգ1- - BYTE byEnablePtzPower;// ̨Դ 0-رգ1- - BYTE byPowerSavingControl;// ͹IJ 0- 1-ģʽ 2-͹ģʽ ͹ģʽ ɼоԴȳоԴ̨ԴЧ - BYTE byCaptureWithSupplimentLightEnabled;//ץIJʹ 0-رգ1- - BYTE byRes[244]; -}NET_DVR_DEVSERVER_CFG,*LPNET_DVR_DEVSERVER_CFG; - -typedef struct tagNET_DVR_GBT28181_ACCESS_CFG -{ - DWORD dwSize; - BYTE byEnable;//28181Эʹ 0-ر 1- - BYTE byTransProtocol;//Э:0-UDP1-TCPĬ0-UDP - WORD wLocalSipPort;//1024-65535(IPC豸) - char szServerID[MAX_SERVERID_LEN];//ID64ַֽ - char szServerDomain[MAX_SIPSERVER_ADDRESS_LEN] ;// - char szSipServerAddress[MAX_SIPSERVER_ADDRESS_LEN] ;// SIPַ֧IPַ - WORD wServerSipPort;//SIP˿ڣ1024-65535 - BYTE byProtocolVersion;//Э汾 0-GB/T28181-2011(֧UDP),1-GB/T28181-2015(֧TCP,UDP),2-GB/T28181-2016 - BYTE byTCPConnectMod; //TCPģʽʹTCPЭʱЧ0-Ч1-ģʽ2-ģʽ - char szSipUserName[MAX_SERVERNAME_LEN];//SIPûƣ64ַֽ(SIPնIPCʱʹ) - char szSipAuthenticateID[MAX_AUTHENTICATEID_LEN];//SIPû֤ID64ַֽ - char szSipAuthenticatePasswd[MAX_AUTHENTICATEPASSWD_LEN];//SIPû֤룺32ַֽ(IPC豸עᵽSIPʱʹ) - DWORD dwRegisterValid;//עЧڣλ룬Ĭ3600 - BYTE byHeartbeatInterval;//λ룬Ĭ10룻 - BYTE byMaxHeartbeatTimeOut;//ʱĬ3Σ - BYTE byStreamType;// ȡ0123 - BYTE byDeviceStatus; //豸Ƿ״̬0-1-ߣ2- - DWORD dwRegisterInterval;//ע:עʧܺٴעʱ,Χ60-600sĬ60s - DWORD dwAutoAllocChannelID ; //ǷԶͨID,λʾ0Ϊֶã1ΪԶ䣬bit1-ԶͨID,bit2-Զ䱨ͨ,bit3-ԶͨID - char szDeviceDomain[MAX_SIPSERVER_ADDRESS_LEN] ;// 豸 - BYTE byRes4[116]; -}NET_DVR_GBT28181_ACCESS_CFG,*LPNET_DVR_GBT28181_ACCESS_CFG; - -//GBT28181Э豸ͨ -typedef struct tagNET_DVR_GBT28181_CHANINFO_CFG -{ - DWORD dwSize; - char szVideoChannelNumID[MAX_COMPRESSIONID_LEN];//豸ƵͨID64ַֽ - BYTE byRes[256]; -}NET_DVR_GBT28181_CHANINFO_CFG,*LPNET_DVR_GBT28181_CHANINFO_CFG; - -//GBT28181Эıͨ ṹ -typedef struct tagNET_DVR_ALARMIN_INFO -{ - NET_DVR_STREAM_INFO struStreamInfo; - DWORD dwAlarmInChannel;//ͨ - BYTE byRes[32]; // -}NET_DVR_ALARMIN_INFO, *LPNET_DVR_ALARMIN_INFO; - -//GBT28181Эıͨ ýṹ -typedef struct tagNET_DVR_GBT28181_ALARMINCFG -{ - DWORD dwSize; - char szAlarmInNumID[MAX_COMPRESSIONID_LEN];//豸IDÿһ·벻ͬ20ַֽ - BYTE byRes[256]; -}NET_DVR_GBT28181_ALARMINCFG,*LPNET_DVR_GBT28181_ALARMINCFG; - -typedef struct tagNET_DVR_CAMERA_SETUPCFG -{ - DWORD dwSize; - WORD wSetupHeight; //߶[0,20]λ - BYTE byLensType; //ͷͣ0-δ֪,1-8mm,2-12mm,3-16mm,4-25mm,5-35mm,6-50mm,7-4mm,8-6mm - BYTE bySetupHeightUnit;// ߶ȵλ0M,1~CM - DWORD dwSceneDis; //ͼ±Եλ֮ˮƽ룬λ - float fPitchAngle;//Ƕ[-180, 180], - float fInclineAngle;//бǶ[-180,180] - float fRotateAngle;//תǶ[-180,180] - WORD wVideoDetCoefficient; //Ƶϵ[0,300](3.6) - BYTE byErectMethod; //跽ʽ0-װ1-װ(3.6) - BYTE byCameraViewAngle;//װҰǶ(0-ֱ1-бĬ0-ֱ) - DWORD dwHorizontalDistance;//ˮƽ룺Χ1-1000Ĭ30λcmעǶΪбʱЧ - BYTE byDetailLensType;//Χ1-100Ĭ28λ0.1mm - BYTE byRes[3]; - float fHorFieldAngle; //ˮƽӳǽǶ[0, 360]ץĻ - float fVerFieldAngle; //ֱӳǽǶ[0, 360]ץĻ,ӥ۷Χ-90-90 - float fLableSetupHeight; //ǩĸ߶[0,100]λ - float fMaxViewRadius;//Ӱ뾶,0~10000.00ףĬ5000. - BYTE byRes1[16]; -}NET_DVR_CAMERA_SETUPCFG, *LPNET_DVR_CAMERA_SETUPCFG; - -//ֹڶβṹ -typedef struct tagNET_DVR_SCHEDDATE -{ - BYTE byStartMonth; //ʼ£ - BYTE byStartDay; //ʼգ - BYTE byStopMonth; //£ - BYTE byStopDay; //գ -}NET_DVR_SCHEDDATE,*LPNET_DVR_SCHEDDATE; - -//ʱ -typedef struct tagNET_DVR_OUTPUT_SCHEDULE -{ - NET_DVR_SCHEDTIME struTime; //ʱ - BYTE byState; //0Cر, 1C - BYTE byRes[11]; // -} NET_DVR_OUTPUT_SCHEDULE ,*LPNET_DVR_OUTPUT_SCHEDULE; - -//ʱ -typedef struct tagNET_DVR_ONE_OUTPUT_SCHEDULE_RULE -{ - BYTE byEnable; //Ƿù,0-,1- - BYTE byRes1[3]; // - NET_DVR_SCHEDDATE struDate; // - NET_DVR_OUTPUT_SCHEDULE struOutputSchedule[MAX_TIMESEGMENT_V30]; //֧8ʱεʱ - BYTE byRes2[16]; // -}NET_DVR_ONE_OUTPUT_SCHEDULE_RULE,*LPNET_DVR_ONE_OUTPUT_SCHEDULE_RULE; - -//ʱ -typedef struct tagNET_DVR_OUTPUT_SCHEDULE_RULECFG -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_OUTPUT_SCHEDULE_RULE struOutputRule[MAX_RULE_NUM]; //֧8εĹ - BYTE byRes[64]; // -}NET_DVR_OUTPUT_SCHEDULE_RULECFG,*LPNET_DVR_OUTPUT_SCHEDULE_RULECFG; - -//ͨͳƱ -typedef struct tagNET_DVR_TPS_ALARMCFG -{ - DWORD dwSize; - BYTE byEnable; //ǷýͨͳƱϴ - BYTE byRes1[3]; // - DWORD dwInterval;//ͳƼʱ䣨λӣ - BYTE byRes[248]; -}NET_DVR_TPS_ALARMCFG, *LPNET_DVR_TPS_ALARMCFG; - -typedef struct tagNET_DVR_DOWNLOAD_ALARM_RECORD_COND -{ - DWORD dwSize; - WORD wAlarmRecordID; //¼ID(ڲѯ¼񣬽byResultTypeΪ2ʱЧ) - BYTE byRes[130]; -}NET_DVR_DOWNLOAD_ALARM_RECORD_COND, *LPNET_DVR_DOWNLOAD_ALARM_RECORD_COND; - -typedef struct tagNET_DVR_CABINET_AlARM_PARAMCFG -{ - char sCabinetName[NAME_LEN]; - BYTE byAssociateIO;//1-40xff 1-4ʾIOͨţ0xffʾ - BYTE byCabinetState;//0~͵ƽ,1~ߵƽ - BYTE byAlarmIntervalTime;//ȡֵΧ1-60λ - BYTE byRes1[25]; -}NET_DVR_CABINET_AlARM_PARAMCFG, *LPNET_DVR_CABINET_AlARM_PARAMCFG; - -typedef struct tagNET_DVR_CABINET_CFG -{ - DWORD dwSize; - BYTE byEnable;//0~ã1 - BYTE byRes[3]; - NET_DVR_CABINET_AlARM_PARAMCFG struCabinetCfg[MAX_CABINET_COUNT]; - BYTE byRes1[84]; -} NET_DVR_CABINET_CFG, *LPNET_DVR_CABINET_CFG; - -typedef struct tagNET_ITS_GATE_LANE_CFG -{ - BYTE byGateSiteID[MAX_ID_LEN]; //ڱ - BYTE byGateInfo[MAX_ID_LEN]; //Ϣ - BYTE byLaneName[NAME_LEN]; // - BYTE byValid; //Ƿ 0 ʾδã1ʾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - WORD wLaneid; //132ţԾ ߼ - BYTE byRelativeIoNum; //߼Źڱ - BYTE byDirection; //; 0 - 1 볡 2 3 ˫ - BYTE byLprMode; //ʶ0 ȫ1 ֹ2 - BYTE byCardMode; //Ƭ0 ȫ1 ֹ2 - BYTE byGateLaneMode;//ڷģʽ 0-ȫ 1-ֻʶƥ2 ֻˢƥ// 3-ʶƬһƥ 4-ʶҿƬͬʱƥ 5-ȫ - //2013-11-19 - BYTE byCharge;//Ƿշ 0-շѣ1-շ - BYTE byChargeMode;//շ 0-շѣ1-շ - BYTE byRes1; - BYTE byLedRelativeIndex[MAX_INDEX_LED];//LED (1~255) У0ʾЧ - BYTE byGateRelativeIndex;//ڿƻ - BYTE byFarRrRelativeIndex;// Զ - BYTE byRes[82]; //Ԥ -}NET_ITS_GATE_LANE_CFG, *LPNET_ITS_GATE_LANE_CFG; - -typedef struct tagNET_ITS_IPC_CHAN_LANE_CFG -{ - DWORD dwSize; - BYTE byIpcType; //0-ޣ1-ץģ2-ץģ3-Ƶ - BYTE byRes[135]; - NET_ITS_GATE_LANE_CFG struGateLane[4]; //ýṹ -}NET_ITS_IPC_CHAN_LANE_CFG, *LPNET_ITS_IPC_CHAN_LANE_CFG; - -//豸Զ̿ -typedef struct tagNET_ITS_REMOTE_COMMAND -{ - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byRes; //Ԥ - DWORD dwCode; // 0x0 բ 0x1 բչ - BYTE byRes1[128]; -}NET_ITS_REMOTE_COMMAND,*LPNET_ITS_REMOTE_COMMAND; - -typedef struct tagNET_ITS_REMOTE_CONTROL_ -{ - DWORD dwSize; - NET_ITS_REMOTE_COMMAND struRemoteCommand; //Զṹ -}NET_ITS_REMOTE_CONTROL,*LPNET_ITS_REMOTE_CONTROL; - -//ӻȡͨ״̬ -typedef struct tagNET_ITS_ECT_CHANNELSTATE -{ - DWORD dwSize; - BYTE byRecordStatic; //ͨǷ¼,0-¼,1-¼ - BYTE bySignalStatic; //ӵź״̬,0-,1-źŶʧ - BYTE byHardwareStatic;//ͨӲ״̬,0-,1-쳣,DSP - BYTE byChannelArmState; //IPCIJ״̬ - DWORD dwChannel; //ͨ - DWORD dwBitRate;//ʵ - DWORD dwLinkNum;//ͻӵĸ - NET_DVR_IPADDR struClientIP[MAX_LINK];//ͻ˵IPַ - DWORD dwIPLinkNum;//ͨΪIP룬ôʾIP뵱ǰ - BYTE byExceedMaxLink; // Ƿ񳬳128· 0 - δ, 1- - BYTE byRes[139]; // ֽ -}NET_ITS_ECT_CHANNELSTATE, *LPNET_ITS_ECT_CHANNELSTATE; - -//ӵ -typedef struct tagNET_DVR_PARK_EXTERNAL_SUBINFO -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0 ˸ 1 ˸ - BYTE byIOState;//0 ͵ƽ 1 ߵƽ (õЧ) - BYTE byLampColor;// 0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (õЧ) - BYTE byRes[4]; -}NET_DVR_PARK_EXTERNAL_SUBINFO, *LPNET_DVR_PARK_EXTERNAL_SUBINFO; - -typedef struct tagNET_DVR_PARK_INLAY_SUBINFO -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0˸ 1 ˸ - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (õЧ) - BYTE byRes[21]; -}NET_DVR_PARK_INLAY_SUBINFO, *LPNET_DVR_PARK_INLAY_SUBINFO; - -typedef struct tagNET_DVR_PARKINFO -{ - NET_DVR_PARK_EXTERNAL_SUBINFO struNormalParkIOState;//гioƽ״̬ - NET_DVR_PARK_EXTERNAL_SUBINFO struNormalNoParkIOState;//޳ioƽ״̬ - NET_DVR_PARK_EXTERNAL_SUBINFO struSpecialParkIOState;//⳵λгioƽ״̬ - NET_DVR_PARK_EXTERNAL_SUBINFO struSpecialNoParkIOState;//⳵λ޳ioƽ״̬ - BYTE byRes[32]; -}NET_DVR_PARKINFO, *LPNET_DVR_PARKINFO; - -typedef struct tagNET_DVR_EXTERNAL_LAMP_CTRL_MODE -{ - NET_DVR_PARKINFO struParkInfo[MAX_PARKING_NUM];/*ӵƵ³λϢһͨ4λ (ҳλ 03)*/ - BYTE byRes[32]; -}NET_DVR_EXTERNAL_LAMP_CTRL_MODE, *LPNET_DVR_EXTERNAL_LAMP_CTRL_MODE; - -typedef struct tagNET_DVR_INLAY_LAMP_CTRL_MODE -{ - NET_DVR_PARK_INLAY_SUBINFO struLampStateCtrl[MAX_PARKING_STATUS]; - BYTE byRes[96]; -}NET_DVR_INLAY_LAMP_CTRL_MODE, *LPNET_DVR_INLAY_LAMP_CTRL_MODE; - -typedef struct tagNET_DVR_LAMP_INFO //8 -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0~˸ 1 ˸(λָʾ˸) - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (λָʾɫ) - BYTE byRes[5]; -}NET_DVR_LAMP_INFO, *LPNET_DVR_LAMP_INFO; - -//õģʽ -typedef struct tagNET_DVR_PARKLAMP_CTRL_MODE//size == 72 -{ - //λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ - NET_DVR_LAMP_INFO struLampInfo[MAX_PARKING_STATUS/*8*/]; - //λƣ0-õ, 1-õ1, 2-õ2, 3-õ3 - BYTE byLampType; - BYTE byRes[7]; -}NET_DVR_PARKLAMP_CTRL_MODE, *LPNET_DVR_PARKLAMP_CTRL_MODE; - -typedef struct tagNET_DVR_LAMP_PARAM //4 -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0~˸ 1 ˸ - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ - BYTE byRes[3]; -}NET_DVR_LAMP_PARAM, *LPNET_DVR_LAMP_PARAM; - -//õģʽ -typedef struct tagNET_DVR_EXTERNAL_PARKLAMP //size == 56 -{ - //λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ - NET_DVR_LAMP_PARAM struLampParam[MAX_PARKING_STATUS/*8*/]; - //λƣ0-õ, 1-õ1, 2-õ2, 3-õ3 - BYTE byLampType; - BYTE byRes[7]; -}NET_DVR_EXTERNAL_PARKLAMP, *LPNET_DVR_EXTERNAL_PARKLAMP; - -/*õƼõģʽ õƿƽṹϢ */ -typedef struct tagNET_DVR_BUILTIN_PARKLAMP -{ - BYTE byEnable; //0 1 - BYTE byFlicker; //0~˸ 1 ˸ - BYTE byLampColor; //0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (õЧ) - BYTE byRes[5]; -}NET_DVR_BUILTIN_PARKLAMP, *LPNET_DVR_BUILTIN_PARKLAMP; - -/* Ͽģʽṹ */ -typedef struct tagNET_DVR_MIXLAMP_CTRL_MODE -{ - NET_DVR_EXTERNAL_PARKLAMP struExternalParkLamp[MAX_PARKING_NUM/*4*/];//õ ճλŽ֣һͨ4λ (ҳλ 03) - NET_DVR_BUILTIN_PARKLAMP struBuiltInParkLamp[MAX_PARKING_STATUS/*8*/];//õ ճλ״̬֣λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ -}NET_DVR_MIXLAMP_CTRL_MODE, *LPNET_DVR_MIXLAMP_CTRL_MODE; - -/* ӵƿģʽṹ */ -typedef struct tagNET_DVR_SINGLELAMP_CTRL_MODE //õģʽDzֳλϢʾǰλ״̬Уȼõ״̬ѹ>⳵λ>޳״̬ -{ - NET_DVR_PARK_EXTERNAL_SUBINFO struExternLampStateCtrl[MAX_PARKING_STATUS/*4*/];//õ ճλŽ֣һͨ4λ (ҳλ 03) - BYTE byLampType; /* 1-õ12-õ23-õ3*/ - BYTE byRes[23]; -}NET_DVR_SINGLELAMP_CTRL_MODE, *LPNET_DVR_SINGLELAMP_CTRL_MODE; - -typedef union tagNET_DVR_LAMP_CTRL_MODE_UNION -{ - BYTE uLen[288]; - NET_DVR_INLAY_LAMP_CTRL_MODE struInlayLampCtrlMode;/*õƿģʽṹ*/ - NET_DVR_EXTERNAL_LAMP_CTRL_MODE struExternalLampCtrlMode;/*ӵƿģʽṹ*/ - NET_DVR_PARKLAMP_CTRL_MODE struParkLampCtrlMode[MAX_PARKING_NUM/*4*/];/*õģʽһͨ4λ (ҳλ 03) ģʽΪõƵʱЧ*/ - //λõƣϿģʽõģʽģʽõƲΪõʹãõģʽ£õΪõʹã - //Ͽģʽ£õʾǰʾλ״̬Уȼߵijλ״̬(ѹ>⳵λ>޳״̬)Ƶ״̬ - NET_DVR_MIXLAMP_CTRL_MODE struMixLampCtrlMode; - //õģʽDzֳλϢʾǰλ״̬Уȼõ״̬ѹ>⳵λ>޳״̬ - NET_DVR_SINGLELAMP_CTRL_MODE struSingleExternalLampCtrlMode; -}NET_DVR_LAMP_CTRL_MODE_UNION, *LPNET_DVR_LAMP_CTRL_MODE_UNION;/*ƿģʽ*/ - -typedef struct tagNET_DVR_LAMP_CTRL_INFO -{ - DWORD dwSize; - BYTE byLampCtrlMode;/*صģʽ1õ,2ӵ,3õ,4ϵģʽõֻȼָʾ),5-õģʽ*/ - BYTE byCtrlChannelIndex;/*ͨ(33~48)*/ - BYTE byRes[2]; - NET_DVR_LAMP_CTRL_MODE_UNION uLampCtrlMode;/*ƿģʽ*/ - BYTE byRes2[32]; -}NET_DVR_LAMP_CTRL_INFO, *LPNET_DVR_LAMP_CTRL_INFO; - -//λãĬ϶normal -typedef struct tagNET_DVR_PARKSPACE_INFO -{ - BYTE byParkSpaceAttribute; //0~ͨλ 1⳵λ - BYTE byRes[23]; -}NET_DVR_PARKSPACE_INFO, *LPNET_DVR_PARKSPACE_INFO; - -typedef struct tagNET_DVR_PARKSPACE_ATTRIBUTE -{ - DWORD dwSize; - NET_DVR_PARKSPACE_INFO struParkSpaceInfo[MAX_PARKING_NUM];//һͨ4λ (ҳλ 03) - BYTE byRes[64]; -}NET_DVR_PARKSPACE_ATTRIBUTE, *LPNET_DVR_PARKSPACE_ATTRIBUTE; - -//ָʾ -typedef struct tagNET_DVR_LAMP_STATE -{ - BYTE byFlicker;//0~˸ 1 ˸ - BYTE byParkingIndex;//λ13 - BYTE byRes1[2]; - DWORD dwIONo;//1~IO1;2~IO2;4~IO3; - BYTE byRes2[8]; -}NET_DVR_LAMP_STATE, *LPNET_DVR_LAMP_STATE; - -typedef struct tagNET_DVR_LAMP_EXTERNAL_CFG -{ - DWORD dwSize; - BYTE byEnable; //ʹ 0 1 - BYTE byRes1[3]; - NET_DVR_LAMP_STATE struLampStateCtrl;//ָʾ - BYTE byRes2[32]; -}NET_DVR_LAMP_EXTERNAL_CFG, *LPNET_DVR_LAMP_EXTERNAL_CFG; - -//λǿץͼ һͨijλ -typedef struct tagNET_DVR_COMPEL_CAPTURE -{ - DWORD dwSize; - BYTE byParkIndex;/*λŴ 0-ʾǰмλϴͼƬ1,2,3,4*/ - BYTE byRes[63]; -}NET_DVR_COMPEL_CAPTURE, *LPNET_DVR_COMPEL_CAPTURE; - -//رṹ -typedef struct tagNET_DVR_EXTERNAL_CONTROL_ALARM -{ - DWORD dwSize; - DWORD dwChannelNo; - NET_DVR_LAMP_STATE struLampStateCtrl;//ָʾ״̬ - NET_DVR_TIME struExternalBeginTime;/*ؿʼʱ*/ - BYTE byRes1[64]; -}NET_DVR_EXTERNAL_CONTROL_ALARM, *LPNET_DVR_EXTERNAL_CONTROL_ALARM; - -/* 豸 */ -typedef enum tagEXTERNAL_DEVICES_TYPE -{ - DEVICES_TYPE_RES1 = 0, //1 - DEVICES_TYPE_FAR_SCR = 1, //Զ - DEVICES_TYPE_ENTRANCE_CONTROL = 2, //ڿƻ - DEVICES_TYPE_WJ_LED_DEV = 3, //LED - DEVICES_TYPE_NJ_LED_DEV = 4, //ڽLED - DEVICES_TYPE_VEH_DETECT_DEV = 5, //豸 - DEVICES_TYPE_DZ_DEV = 6, //բ - DEVICES_TYPE_PX_SCR_DEV = 7, //Ʊ - DEVICES_TYPE_KJ_SCR_DEV = 8, // - DEVICES_TYPE_FKJ_DEV = 9, // - DEVICES_TYPE_SKJ_DEV = 10, //տ - DEVICES_TYPE_HDD_DEV = 11, //Ӳ( 1G) - DEVICES_TYPE_DZ_LOCK = 12, //բբ״̬0ʾδբ1ʾբ - DEVICES_TYPE_PAPER_PRINTER = 13, //ֽƱӡ - DEVICES_TYPE_PAPER_SCANNERS = 14, //ֽƱɨ - DEVICES_TYPE_IPC_ALARM = 15 //IPC״̬ -}EXTERNAL_DEVICES_TYPE; - -/* 豸״̬ */ -typedef enum tagEXTERNAL_DEVICES_STATUS -{ - /* ͨ豸״̬ 0~19*/ - DEVICES_STATUS_NORMAL = 0, //״̬ - DEVICES_STATUS_ABNORMAL = 1, //״̬쳣 - - /* 豸״̬ 20~39*/ - DEVICES_STATUS_TOO_LESS_CARD = 20, //ٿ - DEVICES_STATUS_NO_CARD = 21, //޿ - DEVICES_STATUS_SENDCARD_ERROR = 22, //Ԥ - DEVICES_STATUS_CARD_BLOCKED = 23, //¿ - DEVICES_STATUS_CARD_FULL = 24, //ղֿ - - - /* բ豸״̬ 40~60*/ - DEVICES_STATUS_OPENING = 40, //բڿ - DEVICES_STATUS_CLOSING = 41, //բڹ - DEVICES_STATUS_OPENED = 42, //բλ - DEVICES_STATUS_CLOSED = 43, //բصλ - DEVICES_STATUS_NOSIGNAL = 44, //բź - DEVICES_STATUS_LOCK= 45, //բ - - /* ֽƱӡ״̬ 61~90*/ - PP_STATUS_OFFLINE = 61, //ѻ - PP_STATUS_PRINT_HEADER_UP, // ӡͷ̧ - PP_STATUS_FEED_BUTTON_FEEDING, //ýֽֽ - PP_STATUS_ONLINE_WAITING, //ȴ - PP_STATUS_FEED_BUTTON_ENABLE, //ֽʹΪ - PP_STATUS_JAMR_PAPER_ERROR, //ֽ - PP_STATUS_CUT_PAPER_ERROR, //е - PP_STATUS_AUTO_FEED_ERROR, //Զֽ - PP_STATUS_EXIT_RECOVERY_ERROR, //пɻָ - PP_STATUS_EXIT_AUTO_RECOVERY_ERROR, //пԶָ - PP_STATUS_PULL_PAPER_ERROR, //ֽ - PP_STATUS_LESS_PAPER , //ֽ - PP_STATUS_NO_PAPER, //ֽ - PP_STATUS_PRINT_FAIL, //ӡʧ - PP_STATUS_PRINTING, //ڴӡ -}EXTERNAL_DEVICES_STATUS; - -/* 豸 */ -typedef enum tagEXTERNAL_DEVICESCTRL_TYPE -{ - DEVICES_CTRL_RES = 0, //Ԥ(ȥ־) - DEVICES_CTRL_REMOTE = 1, //ңƣǰΪբʱ֧ͨңբ -}EXTERNAL_DEVICESCTRL_TYPE; - - -typedef struct tagNET_DVR_GATE_ALARMINFO -{ - DWORD dwSize; - //0x1Ƿ뱨 - //0x2բʱδر - //0x3ѹȦʱ - //0x4޿ - //0x5ٿ - //0x6쳣 - BYTE byAlarmType; - BYTE byExternalDevType;//豸(EXTERNAL_DEVICES_TYPE) - BYTE byExternalDevStatus;//豸(EXTERNAL_DEVICES_STATUS) - BYTE byExternalDevCtrlType;//豸(EXTERNAL_DEVICESCTRL_TYPE) - NET_DVR_TIME_V30 struAlarmTime;//ʱ - union - { - BYTE uLen[128]; - struct - { - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - /*0- 1-̶2-ʱ3-Ԥ4-쳵5-Ȩ*/ - BYTE byVehicleType; - BYTE byRes1[111]; - }struVehicleInfo;//struAlarmTypeΪ(0x1Ƿ뱨) - }uAlarmInfo; - BYTE byRes2[64]; //Ԥ -}NET_DVR_GATE_ALARMINFO, *LPNET_DVR_GATE_ALARMINFO; - -typedef struct tagNET_DVR_ALARMWIRELESSINFO -{ - BYTE byDeviceID[NAME_LEN]; //豸ID - float fDataTraffic; /* ,λMB,Сλ*/ - BYTE bySignalIntensity; /* źǿȣ0~100*/ - BYTE byRes[127]; -}NET_DVR_ALARMWIRELESSINFO, *LPNET_DVR_ALARMWIRELESSINFO; - -typedef struct tagNET_DVR_VOLTAGE -{ - int iPhaseAVol; //Aѹ - int iPhaseBVol; //Bѹ - int iPhaseCVol; //Cѹ - int iAveragePhaseVol; //ѹƽֵ -}NET_DVR_VOLTAGE, *LPNET_DVR_VOLTAGE; - -typedef struct _tagNET_DVR_LINE_VOLTAGE -{ - int iLineVolAB; //ABߵѹ - int iLineVolBC; //BCߵѹ - int iLineVolCA; //CAߵѹ - int iAverageLineVol; //ߵѹƽֵ -} NET_DVR_LINE_VOLTAGE,*LPNET_DVR_LINE_VOLTAGE; - - -// -typedef struct tagNET_DVR_CURRENT -{ - int iPhaseACurrent; //A - int iPhaseBCurrent; //B - int iPhaseCCurrent; //C - BYTE byRes[4]; -}NET_DVR_CURRENT, *LPNET_DVR_CURRENT; - -// -typedef struct tagNET_DVR_POWER -{ - int iPhaseAPower; //A๦ - int iPhaseBPower; //B๦ - int iPhaseCPower; //C๦ - int iSysTotalPower; //ϵͳܹ -}NET_DVR_POWER, *LPNET_DVR_POWER; - -// -typedef struct tagNET_DVR_POWER_FACTOR -{ - int iPhaseAPowerFactor; //A๦ - int iPhaseBPowerFactor; //B๦ - int iPhaseCPowerFactor; //C๦ - int iTotalPowerFactor; //ܹ -}NET_DVR_POWER_FACTOR, *LPNET_DVR_POWER_FACTOR; - -//Ƶ -typedef struct tagNET_DVR_FREQUENCY -{ - int iPhaseAFrequency; //AƵ - int iPhaseBFrequency; //BƵ - int iPhaseCFrequency; //CƵ - BYTE byRes[4]; -}NET_DVR_FREQUENCY, *LPNET_DVR_FREQUENCY; - -// -typedef struct tagNET_DVR_LOAD_FACTOR -{ - int iPhaseALoadFactor; //Aฺ - int iPhaseBLoadFactor; //Bฺ - int iPhaseCLoadFactor; //Cฺ - BYTE byRes[4]; -} NET_DVR_LOAD_FACTOR, *LPNET_DVR_LOAD_FACTOR; - -//UPS״̬ -typedef struct tagNET_DVR_ALARMHOST_UPS_STATE -{ - NET_DVR_VOLTAGE struInputVoltage; //ѹ - NET_DVR_VOLTAGE struBypassVoltage; //·ѹ - NET_DVR_VOLTAGE struOutputVoltage; //ѹ - int iRectifierVol; //ѹ - int iInverterVol; //ѹ - - NET_DVR_CURRENT struInputCurrent; // - NET_DVR_CURRENT struBypassCurrent; //· - NET_DVR_CURRENT struOutputCurrent; // - int iInverterCurrent; // - - NET_DVR_FREQUENCY struInputFrequency; //Ƶ - NET_DVR_FREQUENCY struBypassFrequency; //·Ƶ - NET_DVR_FREQUENCY struOutputFrequency; //Ƶ - int iInverterFre; //Ƶ - - NET_DVR_POWER struInputPower; //빦 - NET_DVR_POWER struBypassPower; //· - NET_DVR_POWER struOutputPower; // - NET_DVR_POWER struComplexPower; // - - int iNormalPower; //ƹ - int iPowerFacter; // - - NET_DVR_LOAD_FACTOR struBatteryLoadFactor; //ظ - int iBatteryEstimated; //رʱ(min) - int iBatteryTemperature; //¶ - int iBatteryVoltage; //صѹ - - - BYTE byRectifierState; //״̬/*1 2쳣*/ - BYTE byInverterState; //״̬/*1 2쳣*/ - BYTE byChargeState; //״̬/*1 2쳣*/ - BYTE byBatteryState; //״̬/*1 2쳣*/ - BYTE byAutoBypassState; //Զ·״̬/*1 2쳣*/ - BYTE byRes2[247]; -} NET_DVR_ALARMHOST_UPS_STATE, *LPNET_DVR_ALARMHOST_UPS_STATE; - -//صԴ״̬ -typedef struct tagNET_DVR_ALARMHOST_SWITCH_POWER_STATE -{ - NET_DVR_VOLTAGE struACVoltage; //ѹ - int iDCConvertVoltage; //DCתѹ - NET_DVR_CURRENT struACCurrent; // - int iTotalCurrent; //ܵ - int iBattery1Temperature; //1¶ - int iBattery2Temperature; //2¶ - int iBattery1Current; //1 - int iBattery2Current; //2 - int iBattery3Current; //3 - int iBattery4Current; //4 - int iBatteryTestVoltage; //زԵѹ - int iRectifierOutputVoltage; //ģѹ - int iRectifierOutputCurrent; //ģ - int iDCOutputVoltage; //ֱѹ - BYTE byRes[432]; -} NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_STATE, -*LPNET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_STATE; - -//̽״̬ -typedef struct tagNET_DVR_ALARMHOST_GAS_DETECTOR_STATE -{ - int iSF6; //SF6λppm - int iFlow; //ml/min - int iTemperature; //¶ȣλ϶ - int iO2; //λ% - int iHumidity; //ʪȣλ% - BYTE byRes[492]; -} NET_DVR_ALARMHOST_GAS_DETECTOR_STATE, -*LPNET_DVR_ALARMHOST_GAS_DETECTOR_STATE; - -//ʪȴ״̬ -typedef struct tagNET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE -{ - int iTemperature; //¶ȣλ϶ - int iHumidity; //ʪȣλ% - BYTE byRes[504]; -} NET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE, *LPNET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE; - -//յ״̬ -typedef struct tagNET_DVR_ALARMHOST_AIRCONDITION_STATE -{ - int iTemperature; //¶ȣλ϶ - int iHumidity; //ʪȣλ% - BYTE byRunState; //״̬ 1-2-ͣ - BYTE byRes[503]; -} NET_DVR_ALARMHOST_AIRCONDITION_STATE, *LPNET_DVR_ALARMHOST_AIRCONDITION_STATE; - - -//״̬ -typedef struct tagNET_DVR_ALARMHOST_ELECTRICITY_STATE -{ - int iDCVoltage; //ֱѹ - int iDCCurrent; //ֱ - NET_DVR_VOLTAGE struPhaseVoltage; //ѹ - NET_DVR_LINE_VOLTAGE struLineVoltage; //ߵѹ - NET_DVR_CURRENT struCurrent[4]; //struCurrent[0]ʾ1·, Դ - int iAverageCurrent; //ƽ - int iNeutralCurrent; //ߵ - NET_DVR_POWER struActivePower[4]; //й struActivePower[0]ʾһ·йʣԴ - NET_DVR_POWER struReactivePower[4]; //޹ struReactivePower[0]ʾһ·޹ʣԴ - NET_DVR_POWER struApparentPower[4]; //ڹ struApprentPower[0]ʾһ·ڹʣԴ - NET_DVR_POWER_FACTOR struPowerFactor[4]; //struPowerFactor[0]ʾһ·Դ - NET_DVR_FREQUENCY struFrequency; //Ƶ - BYTE byRes[128]; -}NET_DVR_ALARMHOST_ELECTRICITY_STATE, *LPNET_DVR_ALARMHOST_ELECTRICITY_STATE; - -//Ա״̬ -typedef struct tagNET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE -{ - int iPhaseATemperature; //A¶ - int iPhaseBTemperature; //B¶ - int iPhaseCTemperature; //C¶ - int iPhaseDTemperature; //D¶ - BYTE byRes[496]; -}NET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE, *LPNET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE; - -//ˮλ -typedef struct tagNET_DVR_ALARMHOST_WATERLEVEL_SENSOR -{ - LONG iWaterLevel; //ˮλ - BYTE byRes[508]; -}NET_DVR_ALARMHOST_WATERLEVEL_SENSOR, *LPNET_DVR_ALARMHOST_WATERLEVEL_SENSOR; - -//ﳾ -typedef struct tagNET_DVR_ALARMHOST_DUSTNOISE_SENSOR -{ - LONG iDust; //ﳾ - LONG iNoise; // - LONG iPM25; //PM2.5 - BYTE byRes[500]; -}NET_DVR_ALARMHOST_DUSTNOISE_SENSOR, *LPNET_DVR_ALARMHOST_DUSTNOISE_SENSOR; - -//ɼ -typedef struct tagNET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER -{ - LONG iAmmoniaNitrogen; // - LONG iCOD; //COD - LONG iPH; //PH - LONG iOxygen; // - LONG iSulfurDioxide; // - LONG iSoot; //̳ - LONG iFluoride; // - LONG iPollutedWater; //ˮ - LONG iTotalPhosphorus; // - LONG iExhaust; // - LONG iNitrogenOxides; // - LONG iFlueGasTemperature;//¶ - LONG iFlueGasPressure; //ѹ - LONG iDustThickness; /*۳Ũ*/ - LONG iAirCleanLevel; /*ྻȵȼ*/ - LONG iPm10Thickness; /*PM10Ũ*/ - BYTE byRes[448]; -}NET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER, *LPNET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER; - -//ٴ״̬ -typedef struct -{ - int iWindSpeed; /**/ - BYTE byRes[508]; -}NET_DVR_WIND_SPEED_STATE, *LPNET_DVR_WIND_SPEED_STATE; - -//ͨչģ״̬48·ÿλʾ1·0ʾأ1ʾ -typedef struct -{ - BYTE byOutPutState1; /*output1-8*/ - BYTE byOutPutState2; /*output9-16*/ - BYTE byOutPutState3; /*output17-24*/ - BYTE byOutPutState4; /*output25-32*/ - BYTE byOutPutState5; /*output33-40*/ - BYTE byOutPutState6; /*output41-48*/ - BYTE Res[506]; -}NET_DVR_GENERATE_OUTPUT_STATE, *LPNET_DVR_GENERATE_OUTPUT_STATE; - -//ˮ״̬ -typedef struct -{ - int iWaterLogVal; /* й¶λã100*/ - int iLeakResist1; /*һ·©ˮ*/ - int iTotolResist1; /*һ·ܵ*/ - int iLeakResist2; /*ڶ·©ˮ*/ - int iTotolResist2; /*ڶ·ܵ*/ - BYTE byWaterLogAlarm; /* й©12澯*/ - BYTE byLeakAlarm1; /*һ·©ˮ澯12澯*/ - BYTE byFaultAlarm1; /*һ·ϸ澯12澯*/ - BYTE byLeakAlarm2; /*ڶ·©ˮ澯12澯*/ - BYTE byFaultAlarm2; /*ڶ·ϸ澯12澯*/ - BYTE byRes[487]; -}NET_DVR_SOAK_STATE, *LPNET_DVR_SOAK_STATE; - -//̫ܿ״̬ -typedef struct -{ - int iChangerVolInput; /*豸ѹ*/ - int iChangerCurInput; /*豸*/ - int iChangerPwInput; /*豸빦*/ - int iChangerVolOutput; /*豸ѹ*/ - int iChangerCurOutput; /*豸*/ - int iChangerPwOutput; /*豸*/ - int iDischangerVolOutput; /*ŵ豸ѹ*/ - int iDischangerCurOutput; /*ŵ豸*/ - int iDischangerPwOutput; /*ŵ豸*/ - int iDevTemperatrue; /*豸¶*/ - BYTE byBatteryVolState; /*صѹ״̬12쳣*/ - BYTE byBatteryTmpState; /*¶״̬12쳣*/ - BYTE byChangerVolInputState; /*豸ѹ״̬12쳣*/ - BYTE byChangerRunState; /*豸״̬12*/ - BYTE byChangerChgState; /*豸״̬12쳣*/ - BYTE byBatteryVolFlt; /*صѹ12澯*/ - BYTE byBatteryTmpFlt; /*¶쳣12澯*/ - BYTE byBatteryResistanceFlt; /*쳣12澯*/ - BYTE byVolRcgFlt; /*ѹʶ12澯*/ - BYTE byChangerVolInputFlt; /*豸ѹ쳣12澯*/ - BYTE byChangerMosShort; /*MOSܶ·12澯*/ - BYTE byChangerAntiOrMosShort; /*MOSܶ·12澯*/ - BYTE byChangerAntiShort; /*MOSܶ·12澯*/ - BYTE byInputOverCur; /*12澯*/ - BYTE byLoadOverCur; /*ع12澯*/ - BYTE byLoadShort; /*ض·12澯*/ - BYTE byLoadMosShort; /*MOSܶ·12澯*/ - BYTE byChangerFlt; /*豸12澯*/ - BYTE byRes[454]; -}NET_DVR_SOLAR_POWER_STATE, *LPNET_DVR_SOLAR_POWER_STATE; - -//SF6״̬ -typedef struct -{ - int iSf6Thick1; /*һSF6Ũ*/ - int iO2Thick1; /*һŨ*/ - int iTemprature1; /*һ¶*/ - int iHumidity1; /*һʪ*/ - int iSf6Thick2; /*ڶSF6Ũ*/ - int iO2Thick2; /*ڶŨ*/ - int iTemprature2; /*ڶ¶*/ - int iHumidity2; /*ʪ*/ - int iSf6Thick3; /*SF6Ũ*/ - int iO2Thick3; /*Ũ*/ - int iTemprature3; /*¶*/ - int iHumidity3; /*ʪ*/ - int iSf6Thick4; /*ĵSF6Ũ*/ - int iO2Thick4; /*ĵŨ*/ - int iTemprature4; /*ĵ¶*/ - int iHumidity4; /*ĵʪ*/ - int iSf6Thick5; /*SF6Ũ*/ - int iO2Thick5; /*Ũ*/ - int iTemprature5; /*¶*/ - int iHumidity5; /*ʪ*/ - int iSf6Thick6; /*SF6Ũ*/ - int iO2Thick6; /*Ũ*/ - int iTemprature6; /*¶*/ - int iHumidity6; /*ʪ*/ - int iSf6Thick7; /*ߵSF6Ũ*/ - int iO2Thick7; /*ߵŨ*/ - int iTemprature7; /*ߵ¶*/ - int iHumidity7; /*ߵʪ*/ - int iSf6Thick8; /*ڰ˵SF6Ũ*/ - int iO2Thick8; /*ڰ˵Ũ*/ - int iTemprature8; /*ڰ˵¶*/ - int iHumidity8; /*ڰ˵ʪ*/ - int iSf6Thick9; /*ھŵSF6Ũ*/ - int iO2Thick9; /*ھŵŨ*/ - int iTemprature9; /*ھŵ¶*/ - int iHumidity9; /*ھŵʪ*/ - int iSf6Thick10; /*ʮSF6Ũ*/ - int iO2Thick10; /*ʮŨ*/ - int iTemprature10; /*ʮ¶*/ - int iHumidity10; /*ʮʪ*/ - int iSf6Thick11; /*ʮһSF6Ũ*/ - int iO2Thick11; /*ʮһŨ*/ - int iTemprature11; /*ʮһ¶*/ - int iHumidity11; /*ʮһʪ*/ - int iSf6Thick12; /*ʮSF6Ũ*/ - int iO2Thick12; /*ʮŨ*/ - int iTemprature12; /*ʮ¶*/ - int iHumidity12; /*ʮʪ*/ - BYTE byFanState1; /*״̬1 1У2ֹͣ*/ - BYTE byFanState2; /*״̬2 1У2ֹͣ*/ - BYTE byFanState3; /*״̬3 1У2ֹͣ*/ - BYTE byFanState4; /*״̬4 1У2ֹͣ*/ - BYTE byFanState5; /*״̬5 1У2ֹͣ*/ - BYTE byFanState6; /*״̬6 1У2ֹͣ*/ - BYTE byFanState7; /*״̬7 1У2ֹͣ*/ - BYTE byFanState8; /*״̬8 1У2ֹͣ*/ - BYTE byFanState9; /*״̬9 1У2ֹͣ*/ - BYTE byFanState10; /*״̬10 1У2ֹͣ*/ - BYTE byFanState11; /*״̬11 1У2ֹͣ*/ - BYTE byFanState12; /*״̬12 1У2ֹͣ*/ - BYTE byRes[308]; -}NET_DVR_SF6_ALARMHOST_STATE, *LPNET_DVR_SF6_ALARMHOST_STATE; - -//״̬ -typedef struct -{ - int iWeight; /*ֵ,1000*/ - BYTE byRes[508]; -}NET_DVR_WEIGHT_STATE, *LPNET_DVR_WEIGHT_STATE; - -//ɼϵͳ״̬ -typedef struct -{ - int iAirTemperature; /* ¶*/ - DWORD dwAirHumidity; /* ʪ*/ - DWORD dwWindSpeed; /* */ - DWORD dwWindDirection; /* */ - DWORD dwIlluminationIntensity; /* ǿ*/ - DWORD dwCO2; /* co2Ũ*/ - DWORD dwPM25; /* PM2.5Ũ*/ - DWORD dwAirPressure; /* ѹ*/ - int iSoilTemperature; /* ¶*/ - DWORD dwSoilHumidity; /* ʪ*/ - DWORD dwRainFall; /**/ - BYTE byIsRainSnow; /* ѩ1-ѩ2-ѩ*/ - BYTE byRes[467]; -}NET_DVR_WEATHER_STATION_STATE, *LPNET_DVR_WEATHER_STATION_STATE; - -//ˮʾ״̬ -typedef struct -{ - DWORD dwTurbidity; /* Ƕֵ*/ - DWORD dwChlorine; /* ֵ*/ - DWORD dwPH; /* PH ֵ*/ - BYTE byRes[500]; -}NET_DVR_WATER_QLT_STATE, *LPNET_DVR_WATER_QLT_STATE; - -//ȼʾϵͳ״̬ -typedef struct -{ - int iNatrualGasThick; /* ȻŨ*/ - BYTE byRes[508]; -}NET_DVR_FUEL_GAS_DETE_STATE, *LPNET_DVR_FUEL_GAS_DETE_STATE; - -//豸 -typedef struct tagNET_DVR_FIRE_ALARM_STATUS -{ - BYTE byFireAlarm[MAX_FIRE_ALARM_ZONE][MAX_FIRE_ALARM_POINT_ZONE]; //״̬λ1-2-澯 - BYTE byRes[128]; //λ -}NET_DVR_FIRE_ALARM_STATUS, *LPNET_DVR_FIRE_ALARM_STATUS; - -typedef union tagNET_DVR_EXTERNAL_DEVICE_STATE_UNION -{ - NET_DVR_ALARMHOST_UPS_STATE struUpsState; //UPS״̬ - NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_STATE struSwitchPowerState;//صԴ״̬ - NET_DVR_ALARMHOST_GAS_DETECTOR_STATE struGasDetectorState;//ϵͳ״̬ - NET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE struTempHumiSensorState;//ʪȴ״̬ - NET_DVR_ALARMHOST_AIRCONDITION_STATE struAirConditionState;//յ״̬ - NET_DVR_ALARMHOST_ELECTRICITY_STATE struElectricityState;//״̬ - NET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE struTransformerTempState; //״̬ - NET_DVR_ALARMHOST_WATERLEVEL_SENSOR struWaterLevelSensor;//ˮλ - NET_DVR_ALARMHOST_DUSTNOISE_SENSOR struDustNoiseSensor;//ﳾ - NET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER struEnvironmentLogger;//ɼ - NET_DVR_WIND_SPEED_STATE struWindSpeedState; //ٴ״̬ - NET_DVR_GENERATE_OUTPUT_STATE struGenerateOutputState; //ͨչģ״̬48·ÿλʾ1· - NET_DVR_SOAK_STATE struSoakState; //ˮ״̬ - NET_DVR_SOLAR_POWER_STATE struSolarPowerState; //̫ܿ״̬ - NET_DVR_SF6_ALARMHOST_STATE struSF6AlarmHostState; //SF6״̬ - NET_DVR_WEIGHT_STATE struWeightState; //״̬ - NET_DVR_WEATHER_STATION_STATE struWeatherStationState; //ɼϵͳ״̬ - NET_DVR_WATER_QLT_STATE struWaterQltState; //ˮʾ״̬ - NET_DVR_FUEL_GAS_DETE_STATE struFuelGasDeteState; //ȼʾϵͳ״̬ - NET_DVR_FIRE_ALARM_STATUS struFireAlarmStatus; //豸״̬ - BYTE byRes[512]; -} NET_DVR_EXTERNAL_DEVICE_STATE_UNION, *LPNET_DVR_EXTERNAL_DEVICE_STATE_UNION; - -typedef struct tagNET_DVR_ALARMHOST_EXTERNAL_DEVICE_STATE -{ - DWORD dwSize; - BYTE byDevType; //1-UPS2-صԴ3-ϵͳ4-ʪȴ5-յ6-7-״̬, 8-ˮλ9-ﳾ10-ɼǡ11-ٴ״̬12-ͨչģ״̬13-ˮ״̬14-̫ܿ״̬15-SF6״̬16-״̬17-ɼϵͳ״̬18-ˮʼ״̬19-ȼʾϵͳ״̬20-״̬ - BYTE byRes1[3]; - NET_DVR_EXTERNAL_DEVICE_STATE_UNION struDevState; - BYTE byRes2[32]; -} NET_DVR_ALARMHOST_EXTERNAL_DEVICE_STATE, *LPNET_DVR_ALARMHOST_EXTERNAL_DEVICE_STATE; - -//ͨչģƣ48·ÿλʾ1· -typedef struct -{ - DWORD dwSize; - BYTE byOutPutState1; /*output1-8*/ - BYTE byOutPutState2; /*output9-16*/ - BYTE byOutPutState3; /*output17-24*/ - BYTE byOutPutState4; /*output25-32*/ - BYTE byOutPutState5; /*output33-40*/ - BYTE byOutPutState6; /*output41-48*/ - BYTE byOperateType; //ͣ0-Ч1-2- - BYTE Res[65]; -}NET_DVR_GENERATE_OUTPUT_CTRL, *LPNET_DVR_GENERATE_OUTPUT_CTRL; - -//UPSֵ -typedef struct tagNET_DVR_ALARMHOST_UPS_LIMIT_VALUE -{ - int iInputVolHigh; //Խѹֵ(ֵ) - int iInputVolLow; //Խѹֵ(ֵ) - int iInputFreHigh; //ԽƵֵ(ֵ) - int iInputFreLow; //ԽƵֵ(ֵ) - int iOutputVolHigh; //Խѹֵ(ֵ) - int iOutputVolLow; //Խѹֵ(ֵ) - int iBatteryVoltageLow; //ص͵ѹֵ - int iBatterySurplus; //غʱ ֵ - int iBatteryTemperatureHigh;//¶ȸֵ - BYTE byRes[64]; // -}NET_DVR_ALARMHOST_UPS_LIMIT_VALUE, *LPNET_DVR_ALARMHOST_UPS_LIMIT_VALUE; - -//ʪȴֵ -typedef struct tagNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE -{ - int iTemperatureHighLimit; //¶ȸֵλ϶ - int iTemperatureLowLimit; //¶ȵֵλ϶ - int iHumidityHighLimit; //ʪȸֵλ% - int iHumidityLowLimit; //ʪȵֵλ% - BYTE byRes[84]; -} NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE, *LPNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE; - -typedef union tagNET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION -{ - NET_DVR_ALARMHOST_UPS_LIMIT_VALUE struUpsLimitValue; - NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE struTempHumidityLimitValue; -}NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION,*LPNET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION; - -typedef struct tagNET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE -{ - DWORD dwSize; - BYTE byDevType; //1-UPS2-ʪȴ - BYTE byRes1[3]; - NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION struAlarmValue; - BYTE byRes2[32]; -}NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE, *LPNET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE; - -#define ALARMHOST_ALARMOUT_NUM 64 // -#define MAX_OSD_UNIT_LEN 8 //OSDλ -typedef struct tagNET_DVR_ALARMHOST_SENSOR_JOINT_CFG -{ - DWORD dwSize; - BYTE bySensorJointAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM/*512*/];//ģ0-1- - BYTE bySensorJointSiren[ALARMHOST_MAX_SIREN_NUM/*8*/];//ģ - BYTE bySensorAlarmTypeJointAlarmOut[ALARMHOST_ALARMOUT_NUM/*64*/];//ģֶbySensorJointAlarmOutչ±ʾţԪصֵλʾͣͼ""Ĺϵֵ壺1bit0-1bit1-2bit2-3bit3-4bit4- - BYTE bySesorAlarmTypeJointSiren[ALARMHOST_MAX_SIREN_NUM]; //ģţֶbySensorJointSirenչ±ʾţԪصֵλʾͣͼ""Ĺϵֵ壺bit0-1bit1-2bit2-3bit3-4bit4- - BYTE byChan; //ͨ - BYTE byRes[55]; -}NET_DVR_ALARMHOST_SENSOR_JOINT_CFG, *LPNET_DVR_ALARMHOST_SENSOR_JOINT_CFG; - -//UPSϢϴ -typedef struct tagNET_DVR_ALARMHOST_UPS_ALARMINFO -{ - BYTE byAlarmType;/*ͣ1.AѹԽ 2.BѹԽ 3.CѹԽ 4.AѹԽ5.BѹԽ 6.CѹԽ7.AƵԽ 8.BƵԽ9.CƵԽ10.ѹԽޱ 11.ر 12.صѹͱ 13.غʱ䳬ͱ 14.¶ȳ߱ 15.رձ 16.Զ· 17.ϱ 18.ϱ 19.ϱ 20.عϱ 21.Զ·ϱ */ - BYTE byChanNo; //485ͨţ1ʼ - BYTE bySlotNo; //485λ - BYTE byRes1; // - int iAlarmValue;//ֵ - BYTE byRes2[64]; // -}NET_DVR_ALARMHOST_UPS_ALARMINFO, *LPNET_DVR_ALARMHOST_UPS_ALARMINFO; - -//صԴϴ -typedef struct tagNET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO -{ - BYTE byAlarmType; /*ͣ1-زʧ 2-AC-DCתϣ3-/ѹAB/AԽޣ4-/ѹBC/BԽޣ5-/ѹCA/CԽޣ6-AԽޣ7-BԽޣ8-CԽޣ9ģϣ10-ȹϣ11-ֱѹԽ*/ - BYTE byChanNo; //485ͨţ1ʼ - BYTE bySlotNo; //485λ - BYTE byRes1; - int iAlarmValue; //ֵ - BYTE byRes2[64]; -}NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO, -*LPNET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO; - -//ϵͳ -typedef struct tagNET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO -{ - BYTE byAlarmType; /*ͣ1- SF6庬쳣2-쳣3-¶ֵ쳣4-ʪֵ쳣5-*/ - BYTE byChanNo; //485ͨţ1ʼ - BYTE bySlotNo; //485λ - BYTE byRes1; - int iAlarmValue; //ֵ - BYTE byRes2[64]; -}NET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO, -*LPNET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO; - - -//ʪȴ -typedef struct tagNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO -{ - BYTE byAlarmType; //1-¶쳣2-ʪ쳣 - BYTE byChanNo; //485ͨ - BYTE bySlotNo; //485λ - BYTE byRes1; - int iAlarmValue; //ֵ - BYTE byRes2[64]; -} NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO, *LPNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO; - -typedef union tagNET_DVR_485_DEVICE_ALARM_UNION -{ - NET_DVR_ALARMHOST_UPS_ALARMINFO struUPSAlarm; //UPS - NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO struSwitchPowerAlarm; //صԴ - NET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO struGasDetectSystemAlarm; //ϵͳ - NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO struTempHumiditySensorAlarm; //ʪȴ - BYTE byRes[72]; -} NET_DVR_485_DEVICE_ALARM_UNION, *LPNET_DVR_485_DEVICE_ALARM_UNION; - -//485豸Ϣ -typedef struct tagNET_DVR_485_EXTERNAL_DEVICE_ALARMINFO -{ - DWORD dwSize; - BYTE byAlarmType; //1-UPS2-صԴ3-ϵͳ4-ʪȴ - BYTE byRes1[3]; - NET_DVR_485_DEVICE_ALARM_UNION struAlarmInfo; - BYTE byRes2[16]; -} NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO, *LPNET_DVR_485_EXTERNAL_DEVICE_ALARMINFO; - -typedef struct tagNET_DVR_ALARMHOST_RS485_SLOT_CFG -{ - DWORD dwSize; // ṹС - BYTE sDeviceName[NAME_LEN]; // ǰ豸 - WORD wDeviceType; // ǰ豸ALARM_FRONT_DEVICE _TYPE - WORD wDeviceProtocol; // ǰ豸Э ͨȡЭбȡ - WORD wAddress; //豸ַ - BYTE byChannel; //485ͨ - BYTE bySlotChan; //λ - BYTE byRes[60]; // ֽ -}NET_DVR_ALARMHOST_RS485_SLOT_CFG, *LPNET_DVR_ALARMHOST_RS485_SLOT_CFG; - -//ģʽ -typedef struct tagNET_DVR_CORRIDOR_MODE -{ - DWORD dwSize; - BYTE byEnableCorridorMode; //Ƿģʽ 0ã 1 - BYTE byMirrorMode; //ʽ0 ر;1 ;2 ;3 м - BYTE byRes[126]; -}NET_DVR_CORRIDOR_MODE, *LPNET_DVR_CORRIDOR_MODE; - -// -typedef struct tagNET_DVR_DETECT_FACE -{ - DWORD dwSize; - BYTE byEnableDetectFace; //Ƿ 0ã 1 - BYTE byDetectSensitive; // 10ȼ 110 - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - BYTE byRes; - NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*ʽ*/ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ */ - DWORD dwMaxRelRecordChanNum; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum; //¼ͨ ʵ֧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; /* ¼ͨ*/ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - WORD wDuration; //ʱ 5s - BYTE byRes1[30]; -}NET_DVR_DETECT_FACE, *LPNET_DVR_DETECT_FACE; - -typedef struct tagNET_DVR_MUL_STREAM_CHANNEL_GROUP -{ - DWORD dwSize; // ṹС - DWORD dwGroup ; // - NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND struMultiStreamCfg; // - BYTE byRes[64] ; -}NET_DVR_MUL_STREAM_CHANNEL_GROUP,*LPNET_DVR_MUL_STREAM_CHANNEL_GROUP; - -typedef struct tagNET_DVR_CHANNEL_GROUP -{ - DWORD dwSize; // ṹС - DWORD dwChannel; //ͨ - DWORD dwGroup; // - BYTE byID; //豸ID - BYTE byRes1[3]; - DWORD dwPositionNo; //λ,IPC0IPDǴ1ʼ - BYTE byRes[56]; -}NET_DVR_CHANNEL_GROUP, *LPNET_DVR_CHANNEL_GROUP; - - -typedef struct tagNET_DVR_TIME_DETECTION -{ - NET_DVR_SCHEDTIME struSchedTime; //ʱ - BYTE byDetSceneID;//ⳡ[1,4],IPCĬ0 - BYTE byRes[15]; -}NET_DVR_TIME_DETECTION,*LPNET_DVR_TIME_DETECTION; - -//ץĴģʽֹ֧ʱκϴ -typedef struct tagNET_DVR_GUARD_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - /* - 0ʾЧ - 1ʾ ץVIAģʽƵץ IPCʹã; - 2 ʾ ץ HVT ģʽ 쿨IPCʹã - */ - BYTE byRelateType; - BYTE byGroupNo; // - BYTE byRes[62]; -}NET_DVR_GUARD_COND,*LPNET_DVR_GUARD_COND; - -//ץĴģʽֹ֧ʱκϴ -typedef struct tagNET_DVR_GUARD_CFG -{ - DWORD dwSize; - //ʱ - NET_DVR_TIME_DETECTION struAlarmSched[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //ʵʴ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ(0xffff ffffʾЧ - NET_DVR_TIME_DETECTION struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byDirection;//0-1-ȫ2-3- - BYTE byRes[87]; -}NET_DVR_GUARD_CFG,*LPNET_DVR_GUARD_CFG; - -//ץͼƬչṹ -typedef struct tagNET_DVR_SNAPINFO_COND_ -{ - DWORD dwSize; - DWORD dwChan; - /* - 0 ʾ ץMPRģʽ֡ץ IPCʹã - 1 ʾ ץ HVT ģʽ쿨IPCʹã - */ - BYTE byRelateType; - BYTE byRes[63]; // -}NET_DVR_SNAPINFO_COND, *LPNET_DVR_SNAPINFO_COND; - - -//ץͼƬ -typedef struct tagNET_DVR_SNAPINFOCFG -{ - DWORD dwSize; - BYTE byCurPicType;//0-ʾͼƬ1-ʾͼƬС - BYTE byPicQuality;//ͼƬ[1,100] - BYTE byRes1[2]; - DWORD dwPicSize;//ͼƬС[64k,2048k] - BYTE byRes2[128]; -}NET_DVR_SNAPINFOCFG,*LPNET_DVR_SNAPINFOCFG; - -//ptzʽ -typedef enum _PTZ_TRACK_MODE_ -{ - PTZ_TRACK_MODE_ALWAYS = 1, //һֱ - PTZ_TRACK_MODE_BYTIME = 2, //ָʱ - PTZ_TRACK_MODE_NEXT = 3, //һĿ -}PTZ_TRACK_MODE; - -//ptz -typedef struct _NET_DVR_PTZ_TRACK_PARAM_ -{ - DWORD dwSize; //ṹС - BYTE byTrackMode; //ʽ,οPTZ_TRACK_MODE - BYTE byLinkageTarget; //Ŀ0-Ĭ,1-1,2-2.. - BYTE byAutoTrackEnable;//ʹ 0-Զ1-Զرգǹ豸֧Զرչܣڴչ - BYTE byRes1; // - DWORD dwTrackTime; //ʱ䣬 - //ģʽΪPTZ_TRACK_MODE_ALWAYSֶЧ - //ģʽΪPTZ_TRACK MODE_BYTIMEʱΧ[1,60]Ĭ10 - //ģʽΪPTZ_TRACK MODE_NEXTʱΧ[1,10]Ĭ2 - BYTE byRes2[256]; // -}NET_DVR_PTZ_TRACK_PARAM,*LPNET_DVR_PTZ_TRACK_PARAM; - -typedef struct tagNET_VCA_TRAVERSE_PLANEPARAM -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byEnableDualVca;// ֧ܺ 0-ã1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - NET_VCA_TRAVERSE_PLANE struAlertParam[MAX_ALERTLINE_NUM]; //߲ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD byRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byRes2[100]; -}NET_VCA_TRAVERSE_PLANE_DETECTION, *LPNET_VCA_TRAVERSE_PLANE_DETECTION; - - -typedef struct tagNET_VCA_FIELDDETECION -{ - DWORD dwSize; - BYTE byEnable; //ʹܣǷ - BYTE byEnableDualVca;// ֧ܺ 0-ã1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - NET_VCA_INTRUSION struIntrusion[MAX_INTRUSIONREGION_NUM];//ÿIJ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱ - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD byRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30/*8*/]; //ղʱ - BYTE byRes2[100]; -}NET_VCA_FIELDDETECION, *LPNET_VCA_FIELDDETECION; - -typedef struct tagNET_DVR_ROI_DETECT_NUM -{ - DWORD dwSize; - DWORD dwGroup; - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3 - DWORD dwRoiFixNum; //̶ȷٴλȡ - DWORD dwRoiFixID[MAX_ROIDETECT_NUM];//IPC֧4֧24 - BYTE szFixRoiName[MAX_ROIDETECT_NUM][NAME_LEN];//̶ROI - DWORD dwRoiTrackNum; //Զȷٴλȡ - DWORD dwRoiTrackID[MAX_ROIDETECT_NUM];//IPC֧4֧24 - BYTE byRes[320]; -}NET_DVR_ROI_DETECT_NUM, *LPNET_DVR_ROI_DETECT_NUM; - -typedef enum _DETECT_ROI_TYPE_ -{ - DETECT_FIX_ROI = 0, //ROI̶ - DETECT_TRACK_ROI = 1 //ROI Զ -}DETECT_ROI_TYPE; -// -typedef struct tagNET_DVR_ROI_DETECT_COND -{ - DWORD dwSize; - DWORD dwRoiID; // һPTZ֧4 - NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND struMultiStreamCfg; // - BYTE byRoiDetectType; // DECTECT_ROI_TYPE ֵ - BYTE byRoiDetectTrackType;//̶ʱֶЧʱ1⣨IPC,2ƶ,3- - BYTE byRes[30]; -}NET_DVR_ROI_DETECT_COND,*LPNET_DVR_ROI_DETECT_COND; - -//ò -//ROI̶ģʽ 빦 -typedef struct tagNET_DVR_ROI_FIX_RECT_CFG -{ - BYTE byEnableFixRoi; // ROI̶ģʽ Ƿ 0ã 1 - BYTE byImageQualityLevel; //ͼȼ 16 - BYTE byRes[2]; - BYTE szFixRoiName[NAME_LEN]; - NET_VCA_RECT struRoiRect; //ROI - BYTE byRes1[468]; -}NET_DVR_ROI_FIX_RECT_CFG, *LPNET_DVR_ROI_FIX_RECT_CFG; - -//ROIԶģʽ 빦 -typedef struct tagNET_DVR_ROI_TRACK_RECT_CFG -{ - BYTE byEnableTrackRoi; // ROIԶģʽ Ƿ 0ã 1 - BYTE byImageQualityLevel; //ͼȼ 16 - BYTE byModeType;// 0 ~ , 1ģʽ(ƶ;ֹ), 2~ƶ(ƶ), 3- - BYTE byRes[509]; -}NET_DVR_ROI_TRACK_RECT_CFG, *LPNET_DVR_ROI_TRACK_RECT_CFG; - -typedef union tagNET_DVR_ROI_DETECT_UNION -{ - DWORD uLen[128]; - NET_DVR_ROI_FIX_RECT_CFG strRoiFixRectCfg;//̶ģʽ - NET_DVR_ROI_TRACK_RECT_CFG strRoiTrackRectCfg;//Զģʽ -}NET_DVR_ROI_DETECT_UNION,*LPNET_DVR_ROI_DETECT_UNION; - -typedef struct tagNET_DVR_ROI_DETECT_CFG -{ - DWORD dwSize; //560 - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3 - BYTE byRoiDetectType; // DECTECT_ROI_TYPE ֵ - BYTE byRes[3]; - NET_DVR_ROI_DETECT_UNION uRoiDetectInfo; //ROI - BYTE byRes1[36]; -}NET_DVR_ROI_DETECT_CFG, *LPNET_DVR_ROI_DETECT_CFG; - -//齹 -typedef struct tagNET_VCA_DEFOCUSPARAM -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE bySensitiveLevel;// 1-100Ĭ50ԽߣԽױ - BYTE byRes1[2]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - BYTE byRes2[24]; -}NET_VCA_DEFOCUSPARAM,*LPNET_VCA_DEFOCUSPARAM; - -typedef struct tagNET_PTZ_INFO_EX -{ - float fPan;//Pֵ ȷС3λ Χ[0,360.000] - float fTilt; //Zֵ ȷС3λ Χ[-90.000,90.000] - float fVisibleZoom;//ɼzoom ȷС1λ ᳬ[010000.0] - DWORD dwVisibleFocus;//ɼfocus[0,65535] - float fThermalZoom;//ȳzoom ȷС1λ ᳬ[010000.0] - DWORD dwThermalFocus;//ȳfocus[0,65535] -}NET_PTZ_INFO_EX, *LPNET_PTZ_INFO_EX; - -//IPC5.1.0 -typedef struct tagNET_DVR_PRESET_NAME -{ - DWORD dwSize; - WORD wPresetNum; //Ԥõ - BYTE byRes1[2]; //ֽڶ - char byName[NAME_LEN]; - WORD wPanPos;//ˮƽ ȡݴ360Ĭϼȥ360 - WORD wTiltPos;//ֱ ȡݴ360Ĭϼȥ360 - WORD wZoomPos;//䱶ȡݴ360Ĭϼȥ360 - BYTE byRes2; - BYTE byPTZPosExEnable; /*ǷPTZչ0~ãPTZֵwPanPoswTiltPoswZoomPosΪ׼1~ãPTZֵstruPtzPosExΪ׼*/ - NET_PTZ_INFO_EX struPtzPosEx;// ptzչ(ָ֧߾PTZֵ) - BYTE byRes[32]; -}NET_DVR_PRESET_NAME, *LPNET_DVR_PRESET_NAME; - -typedef struct -{ - NET_DVR_SCHEDTIME struSchedTime; //ʱ - WORD wAction; ///< ʱ嶯 - WORD wActionNum; ///< ⶯ӱţԤõ㣬Ѳҹл - BYTE byres[12]; -}NET_DVR_SCHEDTASK,* LPNET_DVR_SCHEDTASK; - -//ʱ -typedef struct tagNET_DVR_TIME_TASK -{ - DWORD dwSize; - BYTE byTaskEnable; ///< ʹ 1-0- - BYTE byRes[3]; ///< ֽڶ - NET_DVR_SCHEDTASK struTask[MAX_DAYS][MAX_SCH_TASKS_NUM]; ///< 7죬ÿ10ʱ - DWORD dwParkTime; ///< ʱ 5s-720s - BYTE byRes1[64]; -}NET_DVR_TIME_TASK,*LPNET_DVR_TIME_TASK; - -//ṹ -typedef struct tagNET_DVR_CHANNEL_INDEX -{ - DWORD dwSize; // ṹС - DWORD dwChannel ; //ͨ - DWORD dwIndex ; // - BYTE byRes[64] ; -}NET_DVR_CHANNEL_INDEX, *LPNET_DVR_CHANNEL_INDEX; - -typedef struct tagNET_DVR_AUDIO_NAME -{ - DWORD dwSize; // ṹС - char cName[NAME_LEN] ; // - BYTE byRes[64]; -}NET_DVR_AUDIO_NAME, *LPNET_DVR_AUDIO_NAME; - -//¼豸 -typedef struct tagNET_DVR_LOGIN_DEVICE_PARAM_ -{ - DWORD dwSize; //ṹС - BYTE byMobileDev; //豸, 0- ƶ豸, 1 - ƶ豸 - BYTE byRes[63]; // -}NET_DVR_LOGIN_DEVICE_PARAM, *LPNET_DVR_LOGIN_DEVICE_PARAM; - -typedef enum RECV_DATA_TYPE -{ - ENUM_RECV_ERRCODE = 0x0, //ش -} RECV_DATA_TYPE; - -//ģʽ -typedef enum tagFISHEYE_STREAM_OUTPUT_MODE_ -{ - FISHEYE_STREAM_MODE_FISHEYE = 1, //ģʽ - FISHEYE_STREAM_MODE_PTZ = 2, //PTZģʽ - FISHEYE_STREAM_MODE_PANORAMA = 3 //ȫģʽ -}FISHEYE_STREAM_OUTPUT_MODE; - -//صö -typedef enum _CALLBACK_TYPE_DATA_ENUM_ -{ - ENUM_FISHEYE_STREAM_STATUS = 1, //״̬ - ENUM_FISHEYE_PTZPOS = 2, //ptzͨǰģʽµ - ENUM_FISHEYE_REALTIME_OUTPUT = 3 //ʵʱģʽ -}CALLBACK_TYPE_DATA_ENUM; - -//״̬ -typedef struct tagNET_DVR_FISHEYE_STREAM_STATUS_ -{ - DWORD dwSize; //ṹС - BYTE byStreamMode; //ģʽμFISHEYE_STREAM_OUTPUT_MODE - BYTE byRes[63]; // -}NET_DVR_FISHEYE_STREAM_STATUS,*LPNET_DVR_FISHEYE_STREAM_STATUS; - -//ӻصݽṹ -typedef struct tagNET_DVR_CALLBACK_TYPE_DATA -{ - DWORD dwChannel; //ͨ - DWORD dwDataType; //μCALLBACK_TYPE_DATA_ENUM - DWORD dwDataLen; //ݳ - BYTE* pData; //ݣdwTypeDataΪ ENUM_FISHEYE_STREAM_STATUSӦΪNET_DVR_FISHEYE_STREAM_STATUS - BYTE byRes[64]; // -}NET_DVR_CALLBACK_TYPE_DATA,*LPNET_DVR_CALLBACK_TYPE_DATA; - -//ptz϶ -typedef struct tagNET_DVR_DRAG_POS_PARAM -{ - DWORD dwChannel; //ͨ - DWORD dwPtzChannel; //dwChannelָͨģʽΪFISHEYE_STREAM_MODE_FISHEYEģʽʱֵΪ϶ptzͨdwChannelͨģʽΪʱΪ0 - NET_VCA_POINT struToPoint; //϶ҪתĿ㣬ĿλԤϽ - NET_VCA_POINT struOriPoint; //϶ʼ,˵Ϊ϶ʼʱָԤϽǵλ - BYTE byRes[56]; // -}NET_DVR_DRAG_POS_PARAM,*LPNET_DVR_DRAG_POS_PARAM; - -//ƽ̨ѯϷ״̬ -typedef struct tagNET_DVR_QUERY_STATUS -{ - DWORD dwSize; - BYTE byCpuLoad; //CPUԴռ, ȡֵΧ0-100 - BYTE byMemLoad; //MemoryԴռȡֵΧ0-100 - WORD wAbility; //Ϸ0 - WORD wRemainAbility;//ϷʣȡֵΧ 0 ʣ಼ĸ - WORD wTotalPlanNum; //64ƻ> - WORD wCurPlanNum; //ǰƻ 64ƻ> - BYTE byRes[62]; // -}NET_DVR_QUERY_STATUS, *LPNET_DVR_QUERY_STATUS; - -typedef struct tagNET_DVR_MONITOR_VQDCFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ - BYTE byDevType; //豸ͣ0-̨豸1-̨豸 - BYTE bySignalPoint; //źŶʧֵ0-100 - BYTE byBlurPoint; //ͼģֵ0-100 - BYTE byLumaPoint; //ͼֵ0-100 - BYTE byChromaPoint; //ͼƫɫֵ0-100 - BYTE bySnowPoint; //ŷֵ0-100 - BYTE byStreakPoint; //Ƹŷֵ0-100 - BYTE byFreezePoint; //涳ֵᷧ0-100 - BYTE byPTZPoint; //̨ʧطֵ0-100 - BYTE byMonitorDel; //ɾ 0-ɾ 1-ɾ - BYTE byContrastThreshold; //Աȶ쳣ֵ0-100 - BYTE byMonoThreshold; //ڰͼֵ0-100 - BYTE byShakeThreshold; //Ƶֵ0-100 - BYTE byFlashThreshold; //Ƶֵ0-100 - BYTE byCoverThreshold; //Ƶڵֵ0-100 - BYTE bySceneThreshold; //ֵ0-100 - BYTE byDarkThreshold; //ͼֵ0-100 - BYTE byRes[46]; -}NET_DVR_MONITOR_VQDCFG, *LPNET_DVR_MONITOR_VQDCFG; - -//Ͻ -typedef struct tagNET_DVR_DIAGNOSIS_UPLOAD -{ - DWORD dwSize; - char sStreamID[STREAM_ID_LEN]; ///< IDС32ֽ - char sMonitorIP[64]; ///< ip - DWORD dwChanIndex; ///< ͨ - DWORD dwWidth; ///< ͼ - DWORD dwHeight; ///< ͼ߶ - NET_DVR_TIME struCheckTime; ///< ʱ(ϲںʱֶ)ʽ2012-08-06 13:00:00 - BYTE byResult; ///0-δ 1- 2-쳣 3-¼ʧ 4-ȡ쳣 - BYTE bySignalResult; ///< Ƶʧ 0-δ 1- 2-쳣 - BYTE byBlurResult; ///< ͼģ0-δ 1- 2-쳣 - BYTE byLumaResult; ///< ͼ0-δ 1- 2-쳣 - BYTE byChromaResult; ///< ƫɫ0-δ 1- 2-쳣 - BYTE bySnowResult; ///< ż0-δ 1- 2-쳣 - BYTE byStreakResult; ///< Ƹż0-δ 1- 2-쳣 - BYTE byFreezeResult; ///< 涳0-δ 1- 2-쳣 - BYTE byPTZResult; ///< ̨0-δ 1- 2-쳣 - BYTE byContrastResult; //Աȶ쳣0-δ⣬1-2-쳣 - BYTE byMonoResult; //ڰͼ0-δ⣬1-2-쳣 - BYTE byShakeResult; //Ƶ0-δ⣬1-2-쳣 - char sSNapShotURL[256]; ///<ͼƬURLַ - BYTE byFlashResult; //Ƶ0-δ⣬1-2-쳣 - BYTE byCoverResult; //Ƶڵ0-δ⣬1-2-쳣 - BYTE bySceneResult; //0-δ⣬1-2-쳣 - BYTE byDarkResult; //ͼ0-δ⣬1-2-쳣 - BYTE byStreamType; //ͣ0-Ч1-δ֪2-ͣ3-ǹ - BYTE byRes2[59]; -}NET_DVR_DIAGNOSIS_UPLOAD, *LPNET_DVR_DIAGNOSIS_UPLOAD; - -typedef struct tagNET_DVR_DOWN_LOAD_REQUEST ///< ݽṹƽ̨͵Ϸ -{ - NET_DVR_STREAM_INFO struStreamInfo; - char sSnapShotURL[256]; ///< ץͼURLС256ֽ - BYTE byRes[32]; -}NET_DVR_DOWN_LOAD_REQUEST, *LPNET_DVR_DOWN_LOAD_REQUEST; - -typedef struct tagNET_DVR_VQD_RESULT_INFO ///< ݽṹϷظƽ̨ -{ - DWORD dwSize; - char sStreamID[32]; ///֣1->*/ - BYTE byRes1[7]; - NET_DVR_GENERIC_START struTransactionStart;/*׿ʼ*/ - NET_DVR_GENERIC_END struTransactionEnd;/*׽*/ - NET_DVR_GENERIC_DATA_CFG struLineDeli;/*м*/ - NET_DVR_IGNORE_STRING struIgnoreString[MAX_IGNORE_STRING_NUM];/*ַĿǰΪ4*/ - BYTE byRes[40]; // -}NET_DVR_POS_GENERIC, *LPNET_DVR_GENERIC; - -typedef struct -{ - DWORD dwPosAddr; //posַ - BYTE byRes[948]; -}NET_DVR_POS_AVE, *LPNET_DVR_AVE; - -#define SERIAL_NUM_LEN 8 -typedef struct tagNET_DVR_POS_NUCLEUS/*size 952byte*/ -{ - char szEmployeeNo[SERIAL_NUM_LEN];//Աţ1עe - char szTerminalNo[SERIAL_NUM_LEN];// Posţ1עt - char szShiftNo[SERIAL_NUM_LEN]; //ְࣨעs - BYTE byRes[928]; -}NET_DVR_POS_NUCLEUS, *LPNET_DVR_POS_NUCLEUS; -typedef union _NET_DVR_POS_PROTOCOL_UNION -{ - BYTE byLenth[952]; //ڱʾ峤ȣʵ - NET_DVR_POS_GENERIC struGeneric; - NET_DVR_POS_AVE struAve; - NET_DVR_POS_NUCLEUS struNUCLEUS; -}NET_DVR_POS_PROTOCOL_UNION,*LPNET_DVR_POS_PROTOCOL_UNION; - -typedef enum tagNET_DVR_CHARSET_ENUM //뷽ʽ -{ - ENUM_UTF8 =0, - ENUM_GB2312, - ENUM_LATIN1, - ENUM_LATIN2, - ENUM_LATIN3, - ENUM_LATIN4, - ENUM_CYRILLIC, - ENUM_ARABIC, - ENUM_GREEK, - ENUM_HEBREW, - ENUM_TURKISH, - ENUM_NORDIC, - ENUM_THAI, - ENUM_LATIN7, - ENUM_LATIN8, - ENUM_LATIN9, - ENUM_LATIN10, - ENUM_CENTRAL_EUROPEAN, - ENUM_CYRILLIC_SCRIPT, - ENUM_HEBREW_DOS862 -}NET_DVR_CHARSET_ENUM, *LPNET_DVR_CHARSET_ENUM; - - -typedef struct -{ - DWORD dwSize; - BYTE byEnable; //ʹ - BYTE byCharSetType; //뷽ʽ0-UTF-8,1-GB2312 - BYTE byRes1; // - BYTE byProtocolType;//Эͣ1->generic textЭ(universal Protocol), 2->AVE VSI-ADD 3->AVE Vnet,4-EPSON(账posЭ), 5-NUCLEUS - //6- GilbarcoöӦṹNET_DVR_POS_GENERIC,7- NCRöӦṹNET_DVR_POS_GENERIC - NET_DVR_POS_PROTOCOL_UNION uPosProtocol; //POSЭ - BYTE byRes[32]; // -}NET_DVR_POS_FILTER_CFG, *LPNET_DVR_POS_FILTER_CFG; - -typedef struct tagNET_DVR_NET_SNIFF /*ṹ 312byte*/ -{ - BYTE byEnableSourcePort; //ǷöԴ˿ڹ 0-ã1- - BYTE byEnableDestAddr; //ǷöĿIPַй 0-ã1- - BYTE byEnableDestPort; //ǷöĿַĶ˿ںŽй - BYTE byRes1; // - BYTE bySourceIpAddr[MAX_DOMAIN_NAME]; //Դַ - BYTE byDestinationIpAddr[MAX_DOMAIN_NAME]; //ݷĿַ - WORD wSourcePort; //Դ˿ں - WORD wDestinationPort; //ݷĿ˿ں - BYTE byRes[16]; // -}NET_DVR_NET_SNIFF, *LPNET_DVR_NET_SNIFF; - -typedef struct -{ - WORD wNetPort; /*device net port*/ - BYTE byRes[2]; -}NET_DVR_NET_RECEIVE, *LPNET_DVR_NET_RECEIVE; - -typedef struct tagNET_DVR_MONITOR_INFO /**/ -{ - WORD wPort; //˿ں - BYTE byRes1[2]; - NET_DVR_IPADDR struRestrictRemoteIP;//Զ̷IP - BYTE byRes[164]; -}NET_DVR_MONITOR_INFO, *LPNET_DVR_MONITOR_INFO; - -typedef union tagNET_DVR_POS_CONNECTMODE_UNION -{ - BYTE byLen[312]; //峤ȣʵ - NET_DVR_NET_RECEIVE struNetRecv; //ģʽ - NET_DVR_MONITOR_INFO struTcpMonitor; //ģʽ - NET_DVR_SINGLE_RS232 struRS232; //ڷʽ - NET_DVR_MONITOR_INFO struUdpMonitor; //-UDPģʽ - NET_DVR_NET_SNIFF struSniff; //ģʽ - NET_DVR_ADDRESS struMcast; //ಥģʽ - NET_DVR_USB_RS232 struUSBRS232; //USBתڷʽ -}NET_DVR_POS_CONNECTMODE_UNION, *LPNET_DVR_POS_CONNECTMODE_UNION; - - -//DVRPOSӷʽýṹ -typedef struct tagNET_DVR_CONNECT_POS_CFG -{ - DWORD dwSize; //ṹС - BYTE byConnectMode; //ģʽ:0->(TCP),1->,2->ڽ3-UDP,4-,5-ಥ - BYTE byRes1[3]; // - NET_DVR_POS_CONNECTMODE_UNION uPosConnMode; //ģʽ - BYTE byRes[64]; -}NET_DVR_CONNECT_POS_CFG, *LPNET_DVR_CONNECT_POS_CFG; - -typedef struct tagNET_DVR_CHAN_FILTER_CFG -{ - DWORD dwSize; //ṹС - BYTE byFilterID; //POS˹ID - BYTE byFontSize; //ֺŴС0-- 8*16 1--16*32 2--32*64 - BYTE byShowPosInfo; //ǷposϢ - BYTE byOverlayMode; //ӷʽ0-1-ҳ - DWORD dwDelayTime; /*delay time(5-3600s)*/ - NET_DVR_POS_OSD_REGION struOsdPosInfo; /*overlay osd rect info*/ - NET_DVR_RGB_COLOR struOsdColor; //OSDɫ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - //쳣ʽбŰ󶨣Ϊ0ʱʾıŷΧΪ1-64Ϊ1ʱʾıŷΧΪ65-128 ڽУ0xffffffffʾ ǰļںıЧ - DWORD dwMaxRelRecordChanNum ; //¼ֻ֧ͨ - DWORD dwRelRecordChanNum ; //ڹ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - //¼ͨŰ󶨣Ϊ0ʱʾͨŷΧΪ1-64Ϊ1ʱʾͨŷΧΪ65-128 ڽУ0xffffffffʾںĹͨЧ - DWORD dwTimeOut; /*time Out(5-3600s)*/ //ݳʱָڶ೤ʱղPOSݼжһݰĽ - BYTE byRes[60]; // -}NET_DVR_CHAN_FILTER_CFG, *LPNET_DVR_CHAN_FILTER_CFG; - -#define MAX_LAN_ENCODE_LEN 32 //Աʽ󳤶 -typedef struct tagNET_DVR_DEVICE_LAN_ENCODE -{ - DWORD dwSize; - BYTE byLanEncode[MAX_LAN_ENCODE_LEN]; //豸Աʽ - BYTE byRes[28]; -}NET_DVR_DEVICE_LAN_ENCODE, *LPNET_DVR_DEVICE_LAN_ENCODE; - -typedef struct tagNET_DVR_SCENECHANGE_DETECTION -{ - DWORD dwSize; - BYTE byEnable; //ʹܣǷ 0~,1~ - BYTE bySensitiveLevel;// 1-100Ĭ50ԽߣԽױ - BYTE byRes1[2]; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - //¼ֽͨڵͨţʼֵ 0xffffffff - BYTE byRes2[128]; -}NET_DVR_SCENECHANGE_DETECTION,*LPNET_DVR_SCENECHANGE_DETECTION; - -typedef struct tagNET_DVR_SCENECHANGE_DETECTION_RESULT -{ - DWORD dwSize; // ṹС - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes[126]; // ֽ -}NET_DVR_SCENECHANGE_DETECTION_RESULT,*LPNET_DVR_SCENECHANGE_DETECTION_RESULT; - -typedef enum -{ - PREVIEW_MOD = 0, - ALARM_MOD, - PLAYBACK_MOD, - MAX_TYPE -}MODULE_TYPE; - -//λϢ -typedef struct tagNET_DVR_PARK_INFO -{ - char sPlateNo[MAX_PlATE_NO_LEN]; //ƺ - char sParkIndex[MAX_PlATE_NO_LEN]; //λ - BYTE byRes[64]; -}NET_DVR_PARK_INFO, *LPNET_DVR_PARK_INFO; - - -typedef struct tagNET_DVR_CROSSLINE_ALARM -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; - NET_DVR_TIME_EX struTriggerTime;/*ʱ*/ - NET_DVR_PARK_INFO struParkInfo; //λϢ - BYTE byRes1[128]; -}NET_DVR_CROSSLINE_ALARM, *LPNET_DVR_CROSSLINE_ALARM; - -typedef struct tagNET_DVR_STREAM_SRC_CFG -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamID; //Ϣ - NET_DVR_STREAM_SRC_INFO struStreamSrcInfo; //ԴϢ -}NET_DVR_STREAM_SRC_CFG,*LPNET_DVR_STREAM_SRC_CFG; - -typedef struct tagNET_DVR_ENCODEINFO -{ - BYTE byFormatType; //װͣ1-2-RTPװ3-PSװ4-TSװ5-˽У6-FLV7-ASF8-3GP, 9-RTP+PS꣺GB281810xff-Ч - BYTE byVideoEncType;//Ƶͣ0-˽2641-׼h2642-׼mpeg47-M-JPEG0xff-Ч - WORD wWidth; //ͼ - WORD wHeight; //ͼ߶ - BYTE byRes1[2]; - DWORD dwVideoBitrate; //Ƶ,λKbps - DWORD dwVideoFrameRate; //֡ʣ200ʾС1֡/״ֵ̬ʾʵֵ֡,200-1/2,201-1/4,202-1/8,203-1/16 - BYTE byAudioEncType;//Ƶͣ0-G7221-G711_U2-G711_A5-MPEG2,6-G7267-AAC,0xff-Ч - BYTE byRes2[15]; -}NET_DVR_ENCODEINFO, *LPNET_DVR_ENCODEINFO; - - -typedef struct tagNET_DVR_TRANSSTATUS -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo;//IDתͨϢ - BYTE byMode;//תģʽ1-ת룬2-ת - BYTE byLinkNums;// - BYTE byPassiveTransMode; //תģʽ0-Ч1-ʵʱ2-ļ - BYTE byRes; - NET_DVR_ADDRESS struDstIPInfo[MAX_LINK];//Ŀתipַ - BYTE byTransResource;//ʹõתԴD1 - BYTE byRes1[15]; - NET_DVR_ENCODEINFO struSrcEncodeInfo;//ԴϢ - NET_DVR_ENCODEINFO struDstEncodeInfo[MAX_LINK /*6*/];//ĿϢ - BYTE byRes2[36]; -}NET_DVR_TRANSSTATUS, *LPNET_DVR_TRANSSTATUS; - -typedef struct tagNET_DVR_TRANSDEVICE_STATUS -{ - DWORD dwSize; - DWORD dwTotalResource;//ȫתԴD1Ϊλ - DWORD dwIdleResource;//ʣתԴD1Ϊλ - BYTE byCpuLoad;//CPU - BYTE byRes[67]; -}NET_DVR_TRANSDEVICE_STATUS, *LPNET_DVR_TRANSDEVICE_STATUS; - -typedef struct tagNET_DVR_DEV_WORK_MODE -{ - DWORD dwSize; - BYTE byWorkMode; //1-ͨģʽ2-IDģʽ - BYTE byDisplayMode; //0-ͨ1- - BYTE byEnableVcaDec; //Ƿܽ룬0-ã0- - BYTE byRes[61]; -}NET_DVR_DEV_WORK_MODE,*LPNET_DVR_DEV_WORK_MODE; - - -typedef struct tagNET_DVR_PASSIVETRANSINFO -{ - DWORD dwSize; - BYTE byStreamType;// ͣ0-1- - BYTE byLinkMode;// 0TCPʽ,1UDPʽ - BYTE byPassiveTransMode; //תģʽ1-ʵʱ2-ļ - BYTE byRes1[5]; - BYTE byDataType;//ͣ1-SDP2-ͷ - BYTE byRes2; - WORD wDataLength;//ݳ - char *pBuffer;// - BYTE byRes3[32]; // -}NET_DVR_PASSIVETRANSINFO, *LPNET_DVR_PASSIVETRANSINFO; - -typedef struct tagNET_DVR_BASEMAP_CONTROL_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʾ1-ʾ0- - BYTE byBaseMapType; //ͼͣ1-ͼƬͼ2-ͼ3-ͼѵ - BYTE byBaseMapCircleNo; //ͼѵţbyBaseMapTypeΪ3ʱЧ - BYTE byRes1; - DWORD dwBaseMapNo; //ͼţͼΪ1ʱ˲ΪͼƬţͼΪ2ʱ˲Ϊϵͳںţ1ֽھ+1ֽӰ+1ֽں+1ֽڱ - BYTE byRes2[64]; -}NET_DVR_BASEMAP_CONTROL_CFG,*LPNET_DVR_BASEMAP_CONTROL_CFG; - -typedef struct tagNET_DVR_VIRTUAL_SCREEN_CFG -{ - DWORD dwSize; - DWORD dwResolution; //ֱʣMAKE_RESOLUTION궨ֵӵǽȡֵ֧ķֱֵ - BYTE byRes[64]; -}NET_DVR_VIRTUAL_SCREEN_CFG, *LPNET_DVR_VIRTUAL_SCREEN_CFG; - -typedef struct tagNET_DVR_BASEMAP_WINCFG -{ - DWORD dwSize; - BYTE byEnable; - BYTE byWndOperateMode; //ڲģʽ0-ͳһ꣬1-ֱ - BYTE byRes1[6]; - NET_DVR_RECTCFG_EX struWinPosition;//ĿĴ(ʾǽ),ͼڵʼʹСǻ׼ - NET_DVR_RECTCFG_EX struResolution; //ĿĴڷֱ꣬ȡ򰴷ֱЧ - DWORD dwXCoordinate; //LEDϽX꣨ͳһ꣩ȡ򰴷ֱЧ - DWORD dwYCoordinate; //LEDϽY꣨ͳһ꣩ȡ򰴷ֱЧ - BYTE byRes2[36]; -}NET_DVR_BASEMAP_WINCFG, *LPNET_DVR_BASEMAP_WINCFG; - -typedef struct tagNET_DVR_BASEMAP_PIC_INFO -{ - DWORD dwSize; - BYTE sPicName[NAME_LEN];//ͼƬ - BYTE byUsed; //ǷѴڣ0-ڣ1- - BYTE byRes[31]; -}NET_DVR_BASEMAP_PIC_INFO,*LPNET_DVR_BASEMAP_PIC_INFO; - -typedef struct tagNET_DVR_MATRIX_LOGO_INFO -{ - DWORD dwSize; - DWORD dwLogoSize;//LOGOСBMPļͷͼƬСޣ100KߺͿ32ı - BYTE byRes[32]; -}NET_DVR_MATRIX_LOGO_INFO,*LPNET_DVR_MATRIX_LOGO_INFO; - -typedef struct tagNET_DVR_MATRIX_LOGO_CFG -{ - DWORD dwSize; - BYTE byExist; //logoǷڣ0-ڣ1-ڣ˲ֻܻȡ - BYTE byRes1[3]; - DWORD dwLogoSize;//LOGOСBMPļͷ(˲ֻܻȡ) - BYTE byLogoName[NAME_LEN]; //logo - DWORD dwLogoNo; //logoţȡlogoϢʱЧ - BYTE byRes2[28]; -}NET_DVR_MATRIX_LOGO_CFG,*LPNET_DVR_MATRIX_LOGO_CFG; - -typedef struct tagNET_DVR_WIN_LOGO_CFG -{ - DWORD dwSize; - DWORD dwLogoNo; //logo - BYTE byEnable; //logoǷʾ1-ʾ0- - BYTE byRes1[3]; - DWORD dwCoordinateX; //ͼƬʾX - DWORD dwCoordinateY; //ͼƬʾY - BYTE byFlash; //Ƿ˸1-˸0-˸ - BYTE byTranslucent; //Ƿ͸1-͸0-͸ - BYTE byRes2[34]; // -}NET_DVR_WIN_LOGO_CFG,*LPNET_DVR_WIN_LOGO_CFG; - - -typedef struct tagNET_DVR_BIG_SCREEN_AUDIO_CFG -{ - DWORD dwSize; - DWORD dwWinIndex; //ںţ1ʼ0ʾͼ - BYTE byEnable; //ǷƵ1-Ƶ0-رƵ - BYTE byRes[31]; -}NET_DVR_BIG_SCREEN_AUDIO_CFG, *LPNET_DVR_BIG_SCREEN_AUDIO_CFG; - -typedef struct tagNET_DVR_WIN_ZOOM_STATUS -{ - DWORD dwSize; - BYTE byZoomStatus; //0-״̬1-Ŵ״̬ - BYTE byRes1[3]; - NET_DVR_POINT_FRAME struPointFrame; //Ŵ򣬵byZoomStatusΪ1ʱЧ - BYTE byRes2[32]; -}NET_DVR_WIN_ZOOM_STATUS,NET_DVR_WIN_ZOOM_STATUS; - -typedef struct tagNET_DVR_RESUME_INITRACKPOS_CFG -{ - DWORD dwSize; // ṹС - DWORD dwChannel;; // ͨ - BYTE byRes[16]; // ֽ -}NET_DVR_RESUME_INITRACKPOS_CFG,*LPNET_DVR_RESUME_INITRACKPOS_CFG; - -typedef struct tagNet_DVR_TEST_SELFCHECK_RESULT -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE bySelfCheckStatus; //Լ״ֵ̬ 0-δʼ1-ɹ2-ʧܣ3-Լ - BYTE byRes[23]; //ֽ -}NET_DVR_TEST_SELFCHECK_RESULT, *LPNET_DVR_TEST_SELECHECK_RESULT; - - -typedef struct tagNET_DVR_TEST_COMMAND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byTestCommand[MAX_TEST_COMMAND_NUM]; - //0-ʾԣ 1-ʾ - //±0 ϻԳ - //±1 ƽģʽ - //±2 ICRϻԣ0ʾرգ1ʾbit0 ϣ0000_0001(ֻѲϻ)0000_0101ͬʱѲICRϻ0000_0100ֻICRϻ - //±3 -ptԽ״̬0ʾԽδ1ʾԽ - //±4 ɨԳ0ʾرգ1ʾ - //±5 У0ʾرգ1ʾ - WORD wICRIntervalTime;//icrʱ䣨byTestCommand ±2ڵֵΪ1ʱICRؼʱ䣬λ룩 - BYTE byElectronicCompassState;//״̬أ 0- 1- - BYTE byRes1[1]; - float fDeviceTem; //豸о¶ȣȷ0.001 - BYTE byTemp[9]; //ڶ豸 ±0-ȫ 1-4ȫ14sensor 5-8ȫ24sensor,Ŀǰӥȫ - BYTE byRes[3]; //ֽ -}NET_DVR_TEST_COMMAND, *LPNET_DVR_TEST_COMMAND; - -typedef struct tagNET_DVR_AGING_TRICK_SCAN -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byAging; // ʾõIJ Ϊϻǰ߻ϻ󹤾ߣ 0-ϻǰ1-ϻ - BYTE byWriteReadEnalbe; //дָʹܣ0-öָ 1-дָ - BYTE byRes[126]; //ֽ -}NET_DVR_AGING_TRICK_SCAN, *LPNET_DVR_AGING_TRICK_SCAN; - -#define IPC_PARAM_AGING_TRICK_SCAN 0x00000001 //ɨ -typedef struct tagNET_DVR_IPC_PARAM_TYPE -{ - DWORD dwSize; - DWORD dwParamType; //ͣλʾ - // #define IPC_PARAM_AGING_TRICK_SCAN 0x00000001 //ɨ - BYTE byRes[32]; -}NET_DVR_IPC_PARAM_TYPE, *LPNET_DVR_IPC_PARAM_TYPE; - -typedef struct tagNET_DVR_ECCENTRIC_CORRECT_STATE -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byEccentricCorrectState; // ƫĽ״̬0-Уʧܡ1-Уɹ2-У - BYTE byRes[127]; //ֽ -}NET_DVR_ECCENTRIC_CORRECT_STATE, *LPNET_DVR_ECCENTRIC_CORRECT_STATE; - - - -#define MAX_DEVMODULE_NUM 8 -typedef struct tagNET_DVR_TEST_DEVMODULE_CFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byDevFanModuleType[MAX_DEVMODULE_NUM]; //Ե豸 - // 0-,1- - // bit0-Է1 - // bit1-Է2 - BYTE byDevHeaterModuleType[MAX_DEVMODULE_NUM]; //Ե豸 - // 0-,1- - // bit0-Լ1 - // bit1-Լ2 - BYTE byRes[22]; //ֽ -}NET_DVR_TEST_DEVMODULE_CFG, *LPNET_DVR_TEST_DEVMODULE_CFG; - -// -typedef struct tagNET_DVR_BARRIERGATE_COND -{ - BYTE byLaneNo;//ţ0-ʾЧֵ(豸ҪЧֵж),1-1 - BYTE byRes[3]; -}NET_DVR_BARRIERGATE_COND,*LPNET_DVR_BARRIERGATE_COND; - -typedef struct tagNET_DVR_VEHICLE_CONTROL -{ - BYTE byGateOperateType;//0-޲,1-բ - BYTE byRes1 ; - WORD wAlarmOperateType;//0-޲,bit0-̵ bit1-ϴ bit3-澯ϴɸѡ(0-ʾأ1-ʾ) - BYTE byRes2[8]; -}NET_DVR_VEHICLE_CONTROL,*LPNET_DVR_VEHICLE_CONTROL; - -typedef struct tagNET_DVR_RELAY_PARAM -{ - BYTE byAccessDevInfo;//0-豸1-բ2-صբ3-ͣբ4-źš5- - BYTE byRes[3]; -}NET_DVR_RELAY_PARAM,*LPNET_DVR_RELAY_PARAM; - -// -typedef struct tagNET_DVR_ENTRANCE_CFG -{ - DWORD dwSize; - BYTE byEnable ;// ʹ0-ʾرգ1-ʾ - BYTE byBarrierGateCtrlMode;//0-Զƣ1-ƽ̨ⲿ - BYTE byRes1[2]; - DWORD dwRelateTriggerMode;//ģʽ οITC_TRIGGERMODE_TYPE - /*0x00: ƥ*/ - /*0x01: ƥ䣨ɫ*/ - /*0x02: ƥ䣨ɫ*/ - /*0x04: ƥ*/ - DWORD dwMatchContent; //쳣,쳣ʽ"" - NET_DVR_RELAY_PARAM struRelayRelateInfo[MAX_RELAY_NUM/*12*/];//̵Ϣ(һ̵ֻܿһ豸) 0ʾ̵1 1ʾ̵2 12 - BYTE byGateSingleIO[MAX_IOIN_NUM/*8*/]; //IOIO0ʾIO11ʾIO2 ; ֵĺ壨0-ޣ1-բλ2-բصλ3- - //Ϣܿ - //0ʾʱõģʽ - //1-ֹģʽ, - //2-ģʽ - NET_DVR_VEHICLE_CONTROL struVehicleCtrl[MAX_VEHICLE_TYPE_NUM/*8*/];//Ϣܿ - BYTE byNotCloseCarFollow;//øբʹܣ0~Ϊã1~ - BYTE byParkingDetectEnabled;//פʹܣ0~Ϊã1~ - BYTE byParkingDetectJudgeTime;//פжʱ䣬λ - BYTE byRes2[61]; -}NET_DVR_ENTRANCE_CFG,*LPNET_DVR_ENTRANCE_CFG; -////////////////////////////ڲ end/////////////////////////////// - -// բ -typedef struct tagNET_DVR_BARRIERGATE_CFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byLaneNo; //բţ0-ʾЧֵ(豸ҪЧֵж),1-բ1 - /* - ϵƽ̨֧byUnlockֶΣֶνֵΪ0ͨ0-رյբ,1-բ,2-ֹͣբеκһֲԿɽн - ƽ̨֧byUnlockֶΣbyUnlockֶθֵΪ14~բнbyUnlockֶθֵΪ1󣬡0-رյբ,1-բ,2-ֹͣբڽ - */ - BYTE byBarrierGateCtrl;//0-رյբ,1-բ,2-ֹͣբ 3-բ,4~բ - BYTE byEntranceNo;//ڱ [1,8] - BYTE byUnlock;//ýʹܣ0~Ϊã1~ - BYTE byRes[12]; -}NET_DVR_BARRIERGATE_CFG, *LPNET_DVR_BARRIERGATE_CFG; - -//ͬ -typedef struct tagNET_DVR_VEHICLE_CONTROL_LIST_INFO -{ - DWORD dwSize; - DWORD dwChannel;//ͨ0xff - ȫͨITC Ĭ1 - DWORD dwDataIndex;//ˮţƽ̨άΨһֵͻ˲ʱ򣬸ֵЧֵҪͬ - char sLicense[MAX_LICENSE_LEN]; //ƺ - BYTE byListType;//ԣ0-1-ֹ - BYTE byPlateType; // - BYTE byPlateColor; //ɫ - BYTE byRes[21]; - char sCardNo[MAX_CARDNO_LEN]; // - NET_DVR_TIME_V30 struStartTime;//Чʼʱ - NET_DVR_TIME_V30 struStopTime;//Чʱ - //ƽ̨ͬˮŲظ£ͬͬijһ¼ˣڴ棬02014-03-03 - char sOperateIndex[MAX_OPERATE_INDEX_LEN]; - BYTE byRes1[224]; // ֽ -} NET_DVR_VEHICLE_CONTROL_LIST_INFO,*LPNET_DVR_VEHICLE_CONTROL_LIST_INFO; - -//ȫȡӿ ӻȡ -typedef struct tagNET_DVR_VEHICLE_CONTROL_COND -{ - DWORD dwChannel;//ͨ0xffffffff - ȫͨITC Ĭ1 - DWORD dwOperateType;//ͣVCA_OPERATE _TYPEɸѡ - char sLicense[MAX_LICENSE_LEN];//ƺ - char sCardNo[MAX_CARDNO_LEN]; // - BYTE byListType;//0-1-ֹ0xff-ȫ - //2014-02-25 - BYTE byRes1[3]; - DWORD dwDataIndex;//ˮ - BYTE byRes[116]; -}NET_DVR_VEHICLE_CONTROL_COND,*LPNET_DVR_VEHICLE_CONTROL_COND; - -//Ҫͬ -typedef struct -{ - DWORD dwSize; - DWORD dwDataIndex;//ˮţֵ豸ǰյݵһˮ,ƽ̨ͬʱһˮſʼͬ - char sOperateIndex[MAX_OPERATE_INDEX_LEN]; //ƽ̨ͬˮŲظ£ͬͬijһ¼ˣڴ棬0 2014-03-03 - BYTE byRes[32]; -}NET_DVR_VEHICLE_CONTROL_LIST_DSALARM, *LPNET_DVR_VEHICLE_CONTROL_LIST_DSALARM; - -// -typedef struct tagNET_DVR_VEHICLE_CONTROL_ALARM -{ - DWORD dwSize; - BYTE byListType; //0-1-ֹ2-ʱ - BYTE byPlateType; // - BYTE byPlateColor; //ɫ - BYTE byRes1; - char sLicense[MAX_LICENSE_LEN];//ƺ - char sCardNo[MAX_CARDNO_LEN]; // - NET_DVR_TIME_V30 struAlarmTime; //ʱ - DWORD dwChannel; //豸ͨţֱIPCΪipcͨţDVR\nvr,ΪDVR\NVRͨ - DWORD dwPicDataLen; //ͼƬݴС0ʾͼƬΪ0DZʾͼƬ - BYTE byPicType; //ͼƬͣ0-JPEG - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes3[2]; - char *pPicData; - BYTE byRes2[48]; -}NET_DVR_VEHICLE_CONTROL_ALARM,*LPNET_DVR_VEHICLE_CONTROL_ALARM; - -// -typedef struct tagNET_DVR_FIRE_ALARM -{ - DWORD dwSize; - NET_DVR_TIME_V30 struAlarmTime;//ʱ - BYTE byRes[128]; -}NET_DVR_FIRE_ALARM,*LPNET_DVR_FIRE_ALARM; - -//豸ƽֹݿϢ -typedef struct -{ - DWORD dwSize; - DWORD dwDelType;//ɾͣɾͣVCA_OPERATE _TYPEɸѡ - char sLicense[16]; //ƺ - char sCardNo[48]; // - BYTE byPlateType; // - BYTE byPlateColor; //ɫ - BYTE byOperateType; //ɾ(0-ɾ,0xff-ɾȫ) - //2014-02-25 - BYTE byListType;//0-1-ֹ 2014-03-03 - DWORD dwDataIndex;//ˮ - //ƽ̨ͬˮŲظ£ͬͬijһ¼ˣڴ棬02014-03-03 - char sOperateIndex[MAX_OPERATE_INDEX_LEN]; - BYTE byRes[24]; -} NET_DVR_VEHICLE_CONTROL_DELINFO, *LPNET_DVR_VEHICLE_CONTROL_DELINFO; - -//ƹ -typedef struct tagNET_DVR_GATELAMP_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byLaneNo; //բţ0-ʾЧֵ(豸ҪЧֵж),1-բ1 - BYTE byBrightlampCtrl;//0-رճƣ1- - BYTE byRes[14]; -}NET_DVR_GATELAMP_INFO,*LPNET_DVR_GATELAMP_INFO; - - -//SDI1.0 -#define MATRIX_MAX_OUTPUT_NUM 256 //ͨ -typedef struct tagNET_DVR_MATRIX_BASE_CFG -{ - DWORD dwSize; - DWORD dwValidInputNum; //Чͨ - DWORD dwValidOutputNum; //Чͨ - BYTE byRes[64]; -}NET_DVR_MATRIX_BASE_CFG, *LPNET_DVR_MATRIX_BASE_CFG; - -typedef struct tagNET_DVR_MATRIX_SWITCH_INFO -{ - DWORD dwSize; - DWORD dwInputChan; //ͨţΪ0ʾȡָĹϵ - DWORD dwOutputChan; //Ҫлͨ, (ĻΪĻ(1ֽ豸+1ֽڱ+2ֽĻ)), 0xffffffffʾл - DWORD dwMatrixID; //ID - BYTE byRes[28]; -}NET_DVR_MATRIX_SWITCH_INFO, *LPNET_DVR_MATRIX_SWITCH_INFO; - -typedef struct tagNET_DVR_IO_RELATION_INFO -{ - DWORD dwSize; - DWORD dwIORelation[MATRIX_MAX_OUTPUT_NUM]; //ͨͨ, dwIORelation[i] = jʾͨ(i + 1)ͨj, - //dwIORelation[i] = 0ʾͨi + 1δͨ - BYTE byRes[256]; -}NET_DVR_IO_RELATION_INFO, *LPNET_DVR_IO_RELATION_INFO; - - -//ӿ -typedef struct tagNET_DVR_EXTERNAL_DEVCOND -{ - DWORD dwSize; - BYTE byExternalDevTpye;//0-()1-Զͷ豸2-ڿƻ3-led 0xff-ȫϢӻȡʱʹã - BYTE byRelativeIndex;//0-()(ڽ) Χ 1~8 LedΧǣ1255 0xff-ȫϢӻȡʱʹã - // BYTE byLaneID;// ߼ - BYTE byRes[30]; -}NET_DVR_EXTERNAL_DEVCOND,*LPNET_DVR_EXTERNAL_DEVCOND; - -typedef struct tagNET_DVR_EXTERNAL_DEVCFG -{ - DWORD dwSize; - BYTE byExternalDevTpye;//0-1-Զͷ豸2-ڿƻ3-led - BYTE byRes2[3]; - char sDevName[MAX_DEVNAME_LEN]; - union - { - BYTE byUnionLen[656]; - struct - { - NET_DVR_IPADDR struDevIP;//DEV IPַ 144 - WORD wDevPort;//豸˿ - BYTE byRes[510]; - }struRrReader;//Զͷ豸 - struct - { - BYTE byRs485No; //RS485(豸һñſظͲһñŻ) - BYTE byDevCtrlCode;//ַ豸(1-255) - BYTE byAutoIssuedData;//ǷԶ·Ƭ 0-Զ·1-Զ· - BYTE byOfflineDetEnable;//߼ 0-رգ1- - BYTE byDetCycle;//ڣ060 λ s - BYTE byRes[651]; - }struGateway;//ڿƻ - struct - { - BYTE byExternalMode;//0-RS485,1- - BYTE byRes[3]; - NET_DVR_IPADDR struDevIP;//DEV IPַ 144 (byExternalMode == 1 ʱЧ) - WORD wDevPort;//豸˿(byExternalMode == 1 ʱЧ) - BYTE byRs485No; //RS485(豸һñſظͲһñŻ) - BYTE byDevCtrlCode;//ַ豸(1-255) - //ledͨƿʾģͬĿƿֵ֧ʾʽͬ - BYTE byCtrlCardType;//ƿ 0-(Чֵ) 1- EQ2013 - BYTE byLedScreenType;// 0-ɫ 1-˫ɫ - BYTE byLedScreenUse;//;0- 1-λ 2-ʾ 3-շ - BYTE byLedDisplayMode;//Ļʾʽ: 1 "ʾ", 2 "" ,3 "" ,4 "", 5 "" - char sLedCustomInfo[MAX_LED_INFO];//ĻʾϢ - //ledɿƿƵģledԸĿʵʹøСʱҪն֪ͨƿĿǰʹõ - DWORD dwLedScreenH;//ʾɸ߶ҪLED - DWORD dwLedScreenW;//ʾɿҪLED - BYTE byRes1[236]; - }struLed;//led - }uExternalDevInfo; //byExternalMode ֵĸЧ - BYTE byRes[128]; -}NET_DVR_EXTERNAL_DEVCFG, *LPNET_DVR_EXTERNAL_DEVCFG; - -//ӻȡ -typedef struct tagNET_DVR_EXTERNAL_DEVSTATUS//Զͷ豸 -{ - DWORD dwSize; - char sDevName[MAX_DEVNAME_LEN];//豸 - BYTE byExternalDevTpye;//0-()1-Զͷ豸2-ڿƻ3-led 0xff-ȫϢӻȡʱʹã - BYTE byRelativeIndex;//0-()(ڽ) Χ 1~8 0xff-ȫϢӻȡʱʹã - BYTE byOnline;//0-ߣ1- - BYTE byRes[125]; -}NET_DVR_EXTERNAL_DEVSTATUS,*LPNET_DVR_EXTERNAL_DEVSTATUS; - -//ն˳ڼ -typedef struct tagNET_DVR_ENTRANCEDET_CFG -{ - DWORD dwSize; //ṹ - //߼⿪ʱ⵽豸ߣնƥ俨ƬϢ͵բָڿƻɳڿƻƥƵբ - BYTE byOfflineDetEnable;//߼ 0-رգ1- - BYTE byDetCycle;//ڣ060 λ s - BYTE byDevCtrlCode;//ڿƻַ豸(1-255) - BYTE byRes[61]; -}NET_DVR_ENTRANCEDET_CFG,*LPNET_DVR_ENTRANCEDET_CFG; - -//ն˳ڿ(ƽӿ ·ƬϢ) -typedef struct tagNET_DVR_ENTRANCEDEV_COMMAND -{ - DWORD dwSize; //ṹ - BYTE byDevCtrlCode;//ڿƻַ豸(1-255) - BYTE byManualIssuedData;//ֶ· 0-رգ1- - BYTE byRes[62]; -}NET_DVR_ENTRANCEDEV_COMMAND,*LPNET_DVR_ENTRANCEDEV_COMMAND; - -//ն˳ڿ(ƽӿ ·ƬϢ) -typedef struct tagNET_DVR_ENISSUED_DATADEL -{ - DWORD dwSize; //ṹ - BYTE byDevCtrlCode;//ڿƻַ豸(1-255) - BYTE byRes[27]; -}NET_DVR_ENISSUED_DATADEL,*LPNET_DVR_ENISSUED_DATADEL; - -//ڹշϸʽ -typedef struct _tagNET_ITS_PASSVEHICLE_COST_ITEM -{ - DWORD dwSize; //ṹ - DWORD dwPassVehicleID; //ݵĹ - BYTE byIntime[MAX_TIME_LEN]; //볡ʱʽΪyyyymmddhh24missfff - BYTE byOuttime[MAX_TIME_LEN]; //ʱʽΪyyyymmddhh24missfff - BYTE byCardNo[MAX_CARD_LEN]; // - BYTE byPlateInfo[MAX_LICENSE_LEN]; //ƺ - float fPayCost; //շѽ(λԪ) - BYTE byOperatorName[MAX_OPERATORNAME_LEN]; //Ա - BYTE byVehicleType; // 0-Сͳ 2 ͳ - BYTE byRes1[3]; //Ԥֶ1 - DWORD dwPayRuleID; // շѹˮ - DWORD dwFreeRuleID; // ˮ - BYTE byRes2[256]; // Ԥֶ2 -}NET_ITS_PASSVEHICLE_COST_ITEM, *LPNET_ITS_PASSVEHICLE_COST_ITEM; - -//ڽӰݣʽ -typedef struct _tagNET_ITS_HANDOVER_INFO -{ - DWORD dwSize; //ṹ - BYTE byOperatorName[MAX_OPERATORNAME_LEN]; //Ա - BYTE byOperatorCard[MAX_CARD_LEN]; //Ա - BYTE byStartTime[MAX_TIME_LEN];//ϰʱʽyyyymmddhh24miss - BYTE byEndTime[MAX_TIME_LEN]; //°ʱʽyyyymmddhh24miss - float fTotal_Pay; //ϰڼܵշѽ(λԪ) - DWORD dwTotal_Records; //ϰڼܵĹշѵļ¼ - BYTE byRes[64]; //Ԥ -}NET_ITS_HANDOVER_INFO, *LPNET_ITS_HANDOVER_INFO; - - -typedef struct tagNET_DVR_CURTRIGGERMODE //(3.7Ver) -{ - DWORD dwSize; - DWORD dwTriggerType; //ͣITC_TRIGGERMODE_TYPE - BYTE byRes[24]; -}NET_DVR_CURTRIGGERMODE, *LPNET_DVR_CURTRIGGERMODE; - - - -typedef struct tagNET_DVR_TEMP_HUMI -{ - DWORD dwSize; // ݳ && 汾ںչ - DWORD dwChannel; // ͨţĬ1 - int iHumidity; // ʪȣ֣val/1000С֣val%1000 - int iTemp; // ¶ȣ֣val/1000С֣val%100 - BYTE byRes[8]; // ֽ -}NET_DVR_TEMP_HUMI, *LPNET_DVR_TEMP_HUMI; - - -typedef struct tagNET_DVR_ALARMSOUNDMODE_CFG -{ - DWORD dwSize; // ݳ && 汾ںչ - DWORD dwChannel; // ͨţĬ1 - DWORD dwSoundMode; // ģʽ: 0ģʽ1ģʽ2ģʽ - BYTE byRes[12]; // ֽ -}NET_DVR_ALARMSOUNDMODE_CFG, *LPNET_DVR_ALARMSOUNDMODE_CFG; - -typedef struct tagNET_DVR_SECURITYMODE -{ - DWORD dwSize;// ݳ && 汾ںչ - DWORD dwChannel; // ͨţĬ1 - DWORD dwMode; // ȫģʽ: 1ãܣ2ã - char szRandCode[6]; //豸"֤" - BYTE byRes[6]; // ֽ -}NET_DVR_SECURITYMODE, *LPNET_DVR_SECURITYMODE; - -typedef struct tagNET_DVR_MOBILE_CAPTUREPIC_CFG -{ - DWORD dwSize; - BYTE byPreviewFpsAdjMode; /* Ԥ֡ʵģʽ:0-ڣ׼֡Ԥ,1-׼֡Ԥ,2-GPSٶȽ֡ʵ */ - BYTE bySelPeccType; /* ǷѡΥ */ - BYTE byOptHabit; /* ȡ֤ϰ, 0:ȡ֤;1:̰ȡ֤ */ - BYTE byEnablePeccRec; /* 1: ʹΥ¼ץȡ, 0: ֹΥ¼ץȡ */ - BYTE byPicSize; /*0=CIF,1=QCIF,2=D1,3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6-VGA7-XVGA8-HD900p9-HD108010-2560*192011-1600*30412-2048*153613-2448*2048,14-2448*120015-2448*80016-XGA(1024*768)17-SXGA(1280*1024),18-WD1(960*576/960*480),19-1080i */ - BYTE byPicQuality; /* ͼƬϵ 0- 1-Ϻ 2-һ */ - BYTE byRes[62]; -}NET_DVR_MOBILE_CAPTUREPIC_CFG,*LPNET_DVR_MOBILE_CAPTUREPIC_CFG; - -typedef struct tagNET_DVR_CMS_PARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struAddr; // ƽ̨IP - WORD wServerPort; // ƽ̨˿ڣ - BYTE bySeverProtocolType; //ƽ̨Э 1-˽У2-Ehome - BYTE byStatus; //豸עᵽƽ̨״̬1-δעᣬ2-ע - BYTE sDeviceId[NAME_LEN/*32*/]; //豸IDƽ̨ṩ - char sPassWord[PASSWD_LEN]; // - /********* IPC5.1.7 Begin 2014-03-21***********/ - BYTE sPlatformEhomeVersion[NAME_LEN];//ƽ̨EHOMEЭ汾 - /********* IPC5.1.7 end 2014-03-21***********/ - BYTE byNetWork; //ͣ0- 壬1-Զ2-ȣ3-磬4-3G磨磩5-16-2 - BYTE byAddressType; //0 - , 1 - ipv4/ipv6ַ2 - - BYTE byProtocolVersion; //Э汾 0 - , 1 C v2.02 C v4.0,3-v2.6 - BYTE byRes1; - BYTE sDomainName[MAX_DOMAIN_NAME/*64*/]; //ƽ̨byAddressTypeΪ2ʱЧ - BYTE byEnable; //0-رգ1- - BYTE byRes[139]; // ֽ -}NET_DVR_CMS_PARAM, *LPNET_DVR_CMS_PARAM; - -//ṹ -typedef struct tagNET_DVR_HEATMAP_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byDetSceneID;//ⳡ[1],ǰ֧1, IPCĬ0 - BYTE byRes[63]; -}NET_DVR_HEATMAP_COND, *LPNET_DVR_HEATMAP_COND; - -typedef struct tagNET_DVR_HEATMAP_PARAM -{ - BYTE byTargetTrackEnable;//Ŀ꣺0-رգ1-Ĭ0-ر - BYTE bySensitivity; //ȲΧ1-100Ĭ50 - BYTE byBackgroundUpdateRate;//ٶȣΧ1-100Ĭ50 - BYTE bySceneChangeLevel;//仯ȼΧ1-100Ĭ50 - BYTE byMinTargetSize;//СĿߴ磺Χ1-100Ĭ50 - /* - 0- ĬϴͣCOMM_UPLOAD_HEATMAP_RESULT - 1- ϴͣCOMM_UPLOAD_HEATMAP_RESULT_PDC COMM_UPLOAD_HEATMAP_RESULT_DURATION - */ - BYTE byUploadHeatMapResultType; - BYTE byDayReport; - BYTE byWeekReport; - float fConfidence;//Ŷ[0.00,100.00] - BYTE byMonthReport; - BYTE byYearReport; - BYTE byRes[6]; -}NET_DVR_HEATMAP_PARAM, *LPNET_DVR_HEATMAP_PARAM; - -#define MAX_HEATMAPREGION_NUM 8 - -//ȶͼýṹ -typedef struct tagNET_DVR_HEATMAP_CFG -{ - DWORD dwSize; - BYTE byEnable; //ʹܣǷ - BYTE byRes[3]; - NET_VCA_POLYGON struRegion[MAX_HEATMAPREGION_NUM/*8*/];//Χ - NET_DVR_HEATMAP_PARAM struHeatMap ; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - //ʱ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/]; - BYTE byRes1[512]; -}NET_DVR_HEATMAP_CFG, *LPNET_DVR_HEATMAP_CFG; - -//ȶͼϴ -typedef struct tagNET_DVR_HEATMAP_RESULT -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - DWORD dwMaxHeatMapValue;//ȶֵ - DWORD dwMinHeatMapValue;//Сȶֵ - DWORD dwTimeHeatMapValue;// (ʱȶֵ)ƽȶֵ - WORD wArrayLine;//ͼƬصֵ - WORD wArrayColumn;//ͼƬصֵ ֵΪ0ʱصֵڴϢڣ - BYTE* pBuffer; //ȶͼƬصϢ - BYTE byDetSceneID;//ⳡ[1],ǰ֧1, IPCĬ0 - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cStartTimeDifferenceH; /*ʼʱUTCʱСʱ-12 ... +14+ʾ*/ - char cStartTimeDifferenceM; /*ʼʱUTCʱӣ-30, 30, 45+ʾ*/ - char cStopTimeDifferenceH; /*ʱUTCʱСʱ-12 ... +14 +ʾ*/ - char cStopTimeDifferenceM; /*ʱUTCʱӣ-30, 30, 45+ʾ*/ - BYTE byArrayUnitType; //ԪͣϢÿصݵͣ1-byte2-short,4-int - BYTE byRes1[2]; - DWORD dwTotalTime;//ͣʱܺͣλ룬Աͣʱ䱨ʱϴ - BYTE byRes[112]; -}NET_DVR_HEATMAP_RESULT,*LPNET_DVR_HEATMAP_RESULT; - -//ȶͼ ṹ -typedef struct tagNET_DVR_HEATMAP_QUERY_COND -{ - DWORD dwSize; - DWORD dwChannel ;//ͨ - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - BYTE byReportType;//0-Чֵ1-ձ2-ܱ3-±4-걨 - BYTE byDetSceneID;//ⳡ[1],ǰ֧1, IPCĬ0 - BYTE byHeatMapInfoType;//0~ȡռȶͼƬʽ1~ȡռȶȾϢʽ2~ȡռȶͼƬͿռȶȾϢ - BYTE byStatisticalModel;//ͳģʽ 0s-Ĭϣ1-ͣʱ䣬2-ͳƣ - BYTE byRes[124]; -}NET_DVR_HEATMAP_QUERY_COND,*LPNET_DVR_HEATMAP_QUERY_COND; - -//ȶͼ -typedef struct tagNET_DVR_HEATMAP_INFO -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime; /*ʱ*/ - DWORD dwHeatMapPicLen; /*ռȶͼƬ(ͼƬʱ򣬸ֶΪ0ûͼƬʱ򣬸ֶΪ0)*/ - BYTE* pBuffer; //ȶͼƬϢ - DWORD dwTimeHeatMapValue ; //ʱȶֵ(пȶͼʱ,ֶβҪֵ) - DWORD dwHeatMapMaxValue;//ȶȵԱʱ(s)(ռȶͼʱЧ) - DWORD dwHeatMapMinValue;//ȶȵԱʱ(s) (ռȶͼʱЧ) - WORD wArrayLine;//ͼƬصֵ ϴȶȾϢʱЧ - WORD wArrayColumn;//ͼƬصֵ ֵΪ0ʱصֵڴϢڣϴȶȾϢʱЧ - BYTE* pArrayBuffer;//ȶȾϢݵ͸ϢΪwArrayLine* wArrayColumn*ԪͳȣbyArrayUnitTypeΪ1ʾΪintͣҪ4ֽڣ - BYTE byArrayUnitType;//ԪͣϢÿصݵͣ0~byte1~int(豸зؾϢʱЧ) - BYTE byRes[107]; -}NET_DVR_HEATMAP_INFO,*LPNET_DVR_HEATMAP_INFO; - - -typedef struct tagNET_DVR_PDC_QUERY_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - NET_DVR_TIME_EX struStartTime; //ʼʱ - NET_DVR_TIME_EX struEndTime; //ʱ - BYTE byReportType; //0-Чֵ1-ձ2-ܱ3-±4-걨 - BYTE byEnableProgramStatistics; //Ƿ񰴽Ŀͳƣ0-1- - BYTE byTriggerPeopleCountingData;//ͳݵʹ, 0-1- - BYTE byMultiChannelSearch;//ͨѯʹ, 0-1-ǣpSearchChannel dwSearchChannelNumЧ - DWORD dwPlayScheduleNo; //Ŀͳʱճ̺ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes1[3]; - DWORD dwSearchChannelNum; //ѯͨĿ - char* pSearchChannel; //ѯͨţСΪsizeof(DWORD)* dwSearchChannelNum - BYTE byChild;//ֻͯ, 0-1- - BYTE byMinTimeInterva;// Сʱ,0-Ч1-15, 2-30, 3һСʱ, 4-, 5-, 6- - BYTE byStatisticType;//ͳͣ0-Чֵ1-2-뿪3-ȫ,4-뿪ظ,5-(Ҫ·ֵ֧),0-Чֵʾͳ͵ѯ൱ڱֽڡȫʾͳΪ뿪 - BYTE byFaceExpression;//μFACE_EXPRESSION_GROUP_ENUM - BYTE byGender;//Ա1-У2-Ů3-ȫ0xff-㷨֧֣ûʶ - BYTE byMask;//Ƿ 0-ʾδ֪㷨֧֣1-2-3-ȫ0xff-㷨ֵ֧ģûʶ - BYTE byGroup;// - BYTE byGlasses; /*Ƿ۾0-δ֪1-ǣ2-3-ī, 4 - ȫ, 0xff-㷨֧֣ûʶ*/ - BYTE byRes[96]; -}NET_DVR_PDC_QUERY_COND,*LPNET_DVR_PDC_QUERY_COND; - -typedef struct tagNET_DVR_PROGRAM_INFO -{ - DWORD dwProgramNo; //Ŀ - BYTE sProgramName[NAME_LEN]; //Ŀ - BYTE byRes[16]; -}NET_DVR_PROGRAM_INFO, *LPNET_DVR_PROGRAM_INFO; -typedef struct tagNET_DVR_POSINFO_OVERLAY -{ - DWORD dwSize; - BYTE byEnable;// PosϢӣ0-ӣ1- - BYTE byBackpackEnanble;//ǷӱϢǷӣ0-ӣ1- - BYTE bySexEnanble;//ǷԱϢǷӣ0-ӣ1- - BYTE byCarryEnanble;//ǷණϢǷӣ0-ӣ1- - BYTE byRideEnanble;//ǷﳵϢǷӣ0-ӣ1- - BYTE byMaskEnanble;//ǷӴϢǷӣ0-ӣ1- - BYTE byHatEnanble;//ǷӴñϢǷӣ0-ӣ1- - BYTE bySleeveEnanble;//Ƿӳ0-ӣ1- - BYTE byPantsTypeEnanble;//ǷӿϢǷӣ0-ӣ1- - BYTE byHairEnanble;//Ƿӳ̷ϢǷӣ0-ӣ1- - BYTE byGlassesEnanble;//ǷӴ۾ϢǷӣ0-ӣ1- - BYTE byResEnanble;//ǷϢǷӣ0-ӣ1- - BYTE byHeightEnanble;//ǷϢǷӣ0-ӣ1- - BYTE byRes[511]; -}NET_DVR_POSINFO_OVERLAY, *LPNET_DVR_POSINFO_OVERLAY; - -typedef struct tagNET_DVR_PDC_RESULT -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - DWORD dwEnterNum; // - DWORD dwLeaveNum; //뿪 - NET_DVR_PROGRAM_INFO struProgramInfo; //ĿϢ - DWORD dwPeoplePassing; // - BYTE byRes1[8]; //ֽ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes3[3]; //ֽ - DWORD dwDuplicatePeople; // ظ - DWORD dwExpressionUnknown; //δ֪ - DWORD dwPokerFace; // - DWORD dwHappy; // - DWORD dwSurprised; //龪 - DWORD dwDisgusted; // - DWORD dwSad; //ѹ - DWORD dwAngry; //ŭ - DWORD dwContemptuous; // - DWORD dwPanic; //麦 - DWORD dwGenderUnknown; //Աδ֪ - DWORD dwFemale; //ԱŮ - DWORD dwMale; //Ա - DWORD dwMaskUnknown; //δ֪ - DWORD dwMaskYes; // - DWORD dwMaskNo; // - DWORD dwGlassUnknown; //۾δ֪ - DWORD dwGlassYes; //۾ - DWORD dwGlassNo; //۾ - DWORD dwSunglasses; //ī - BYTE byRes[104]; -}NET_DVR_PDC_RESULT, *LPNET_DVR_PDC_RESULT; - - -typedef struct tagNET_DVR_MOBILE_PLATE_RECOGCFG -{ - DWORD dwSize; - BYTE byDefaultCHN[MAX_CHJC_NUM]; /*豸ʡݵĺּд 3 */ - BYTE byTimeOsd;// ʱϢ 0 - ӣ 1- - BYTE byRecogResultOsd;//ʶ 0 - ӣ 1- - BYTE byRecogHint;//ʶɹʾ 0 - ʾ 1- ʾ - BYTE byRecogDir;//ʶ 0: , 1: - BYTE byRecogEnv;//ʶ𻷾 0: , 1: - BYTE byRecogPlateType;//0-Сʶ1-ʶ - BYTE byUploadPlate;//Ƿϴ 0 -ϴ 1-ϴ - BYTE byRes[62]; -}NET_DVR_MOBILE_PLATE_RECOGCFG,*LPNET_DVR_MOBILE_PLATE_RECOGCFG; - -typedef struct tagNET_DVR_MOBILE_RADAR_CFG -{ - DWORD dwSize; - BYTE byEnableRadar; /* 0:״ 1:״ */ - BYTE byEnableAlarm; /* 0: 1: */ - WORD wOverSpeed; /* ΧΪ20~250 */ - BYTE bySpeedUnits; /* 0:/Сʱ 1:Ӣ/Сʱ */ - BYTE bydirection; /* 0:״복 1:״복 */ - BYTE byMeasureMode; /* 0:̬ (״״̬) 1:̬ (״״̬)*/ - BYTE byTargetType; /* 0:(״ٳ) 1:(״ٳ)*/ - BYTE bySensitivity; /* [0,100] */ - BYTE byCaptureNum; /* ץ[0,255] */ - BYTE byUploadPlate; /*ǷϴץͼƬ 0-ϴ1-ϴ*/ - BYTE byRes[61]; -}NET_DVR_MOBILE_RADAR_CFG,*LPNET_DVR_MOBILE_RADAR_CFG; - -typedef struct tagNET_DVR_MOBILE_LOCALPLATECHK_CFG -{ - DWORD dwSize; - BYTE byCheck; /* Ƿнֹ 0-飬1-*/ - BYTE byCheckAlarm;/* ɹ 0-1-*/ - BYTE byCheckHint; /* ɹʾ (ʾ) 0-ʾ1-ʾ*/ - BYTE byUploadUnlicensedCar; /*ǷϴǷϢ 0-ϴ1-ϴ*/ - BYTE byRes[64]; -}NET_DVR_MOBILE_LOCALPLATECHK_CFG,*LPNET_DVR_MOBILE_LOCALPLATECHK_CFG; - -typedef struct tagNET_DVR_VEHICLE_CHECK -{ - DWORD dwSize; - DWORD dwChannel;//ͨ0xff - ȫͨĬ1,һͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣ - WORD wIllegalType; //ΥͲù궨 ο - BYTE byRes[2]; - char sIllegalTypeInfo[128];// ΥϢ128 - NET_DVR_TIME_V30 struIllegalTime;//Υʱ - BYTE byIllegalVehicleNum;//Υ - BYTE byRes1[3]; - char sCustomInfo[64];//ԶϢ - BYTE byRes2[128]; // ֽ -}NET_DVR_VEHICLE_CHECK,*LPNET_DVR_VEHICLE_CHECK; - -typedef enum _LONG_CFG_SEND_DATA_TYPE_ENUM_ -{ - ENUM_DVR_VEHICLE_CHECK = 1, //ֹݻ - ENUM_MSC_SEND_DATA = 2, //Ļ - ENUM_ACS_SEND_DATA = 3, //Ž - ENUM_TME_CARD_SEND_DATA = 4, //ͣ(ڿƻ)Ƭ - ENUM_TME_VEHICLE_SEND_DATA = 5, //ͣ(ڿƻ) - ENUM_DVR_DEBUG_CMD = 6, //Ϣ - ENUM_DVR_SCREEN_CTRL_CMD =7, //Ļ - ENUM_CVR_PASSBACK_SEND_DATA = 8, //CVRȡشִ - ENUM_ACS_INTELLIGENT_IDENTITY_DATA = 9, //ʶն - ENUM_VIDEO_INTERCOM_SEND_DATA = 10, //ӶԽ - ENUM_SEND_JSON_DATA = 11 //͸JSON -}LONG_CFG_SEND_DATA_TYPE_ENUM; - -typedef enum _LONG_CFG_RECV_DATA_TYPE_ENUM_ -{ - ENUM_DVR_ERROR_CODE = 1, // - ENUM_MSC_RECV_DATA=2, //Ļ - ENUM_ACS_RECV_DATA=3 //Ž -}LONG_CFG_RECV_DATA_TYPE_ENUM; - -typedef struct tagNET_DVR_WIPER_CONTINUEWORK_PARAM -{ - BYTE byWorkTimeInterval;//ʱλ룩[2s~60s] - BYTE byRes[3]; - DWORD dwContinueWorkTime;//ʱ䣨λ룩[2min~24h]ʾӵλ - BYTE byRes1[8]; -}NET_DVR_WIPER_CONTINUEWORK_PARAM,*LPNET_DVR_WIPER_CONTINUEWORK_PARAM; - -typedef union tagNET_DVR_WIPERMODE_PARAM_UNION -{ - BYTE uLen[16]; - //byWiperWorkMode = 1ʱЧ - NET_DVR_WIPER_CONTINUEWORK_PARAM struWiperContinueWorkParam; -}NET_DVR_WIPERMODE_PARAM_UNION,*LPNET_DVR_WIPERMODE_PARAM_UNION; - -typedef struct tagNET_DVR_WIPERINFO_CFG -{ - DWORD dwSize; - //ˢģʽ - //0-ģʽ1-ģʽýṹNET_DVR_ROTATE_OPERATE_PARAM2-ģʽ0xff-ر - BYTE byWiperWorkMode; - BYTE byRes1; - WORD wSensitivity;// - BYTE byRes[20]; - NET_DVR_WIPERMODE_PARAM_UNION ustruWiperModeParam; -}NET_DVR_WIPERINFO_CFG,*LPNET_DVR_WIPERINFO_CFG; - -//ԶԽ -typedef struct tagNET_DVR_AUTOFOCUS_TESTCFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[24]; // ֽ -}NET_DVR_AUTOFOCUS_TESTCFG,*LPNET_DVR_AUTOFOCUS_TESTCFG; - - -typedef struct tagNET_DVR_VIDEO_OUT_CFG -{ - BYTE byDisplayMode; //ʾģʽ1-׼2-ɫ3-ůɫ0xff-Զ - BYTE byBrightnessLevel; // ֵ0-100 - BYTE byContrastLevel; // Աȶ0-100 - BYTE bySharpnessLevel; // 0-100 - BYTE bySaturationLevel; // Ͷ0-100 - BYTE byHueLevel; // ɫ0-100 - BYTE byImageMode; // ͼģʽ0-ģʽ1-ҹģʽ12-ҹģʽ23-ҹģʽ34-ģʽ15-ģʽ26-ģʽ3 - BYTE byRes[5]; // -}NET_DVR_VIDEO_OUT_CFG, *LPNET_DVR_VIDEO_OUT_CFG; -//ɫ -typedef struct tagNET_DVR_COLOR_TEMPERATURE_CFG -{ - BYTE byRed; //ɫ 0-100 - BYTE byGreen; //ɫ 0-100 - BYTE byBlue; //ɫ0-100 - BYTE byRedOffset; //ɫƫƣ0-100 - BYTE byGreenOffset; //ɫƫƣ0-100 - BYTE byBlueOffset; //ɫƫƣ0-100 - BYTE byRes[6]; -}NET_DVR_COLOR_TEMPERATURE_CFG, *LPNET_DVR_COLOR_TEMPERATURE_CFG; - -typedef struct tagNET_DVR_ADC_CFG -{ - BYTE byGainR; //R 0-100 - BYTE byGainG; //G0-100 - BYTE byGainB; //B0-100 - BYTE byOffsetR; //ƫR0-100 - BYTE byOffsetG; //ƫG0-100 - BYTE byOffsetB; //ƫB0-100 - BYTE byRes[6]; -}NET_DVR_ADC_CFG, *LPNET_DVR_ADC_CFG; - -typedef struct tagNET_DVR_SCREEN_EDGE_CFG -{ - BYTE byEnable; //ǷĻԵ 0- 1- - BYTE byLeftEdge; //Ե0-100 - BYTE byRightEdge; //ұԵ0-100 - BYTE byTopEdge; //ϱԵ0-100 - BYTE byLowerEdge; //±Ե0-100 - BYTE byRes[7]; -}NET_DVR_SCREEN_EDGE_CFG, *LPNET_DVR_SCREEN_EDGE_CFG; - -typedef struct tagNET_DVR_SCREEN_DISPLAY_CFG -{ - DWORD dwSize; - BYTE byCfgType; /*õIJͣȡʱ˲Ч0-Ч1-2-Ƶ3-ɫ²4-ADC5-ĻԵ*/ - BYTE byBackLight; // 0~100 - BYTE byRes1[2]; - NET_DVR_VIDEO_OUT_CFG struVideoOutCfg; //Ƶģʽ - NET_DVR_COLOR_TEMPERATURE_CFG struColorTempCfg; //ɫ² - NET_DVR_ADC_CFG struAdcCfg; //ADC - NET_DVR_SCREEN_EDGE_CFG struScreenEdgeCfg; //ĻԵ - BYTE byRes[32]; -}NET_DVR_SCREEN_DISPLAY_CFG, *LPNET_DVR_SCREEN_DISPLAY_CFG; -//ģң -typedef enum tagNET_DVR_SCREEN_REMOTE_CTRL_TYPE -{ - REMOTE_CTRL_POWERSUPPLY_OPEN = 1,//1-Դ - REMOTE_CTRL_POWERSUPPLY_CLOSE = 2,//2-Դ - REMOTE_CTRL_SIGNALSOURCE,//3-źԴ - REMOTE_CTRL_MENU,//4-˵ - REMOTE_CTRL_DETERMINATION,//5-ȷ - REMOTE_CTRL_ON,//6- - REMOTE_CTRL_UNDER,//7- - REMOTE_CTRL_LEFT,//8- - REMOTE_CTRL_RIGHT,//9- - REMOTE_CTRL_INFO,//10-INFO - REMOTE_CTRL_RETURN,// 11-һ - REMOTE_CTRL_NUM, //12-ּ -}SCREEN_REMOTE_CTRL_TYPE; - -//ģңذ -typedef struct tagNET_DVR_SIMULATE_SCREEN_REMOTE_CTRL -{ - DWORD dwSize; - BYTE byControlType; //1-Դ2-Դأ3-źԴ4-˵5-ȷ6-ϣ7-£8-9-, 10-INFO, 11-һ,12-ְ,13-һ尴 - BYTE byControlParam; //Ϊ12ʱʾֵ0-9ʱ˲Ч - BYTE byRes[14]; -}NET_DVR_SIMULATE_SCREEN_REMOTE_CTRL,*LPNET_DVR_SIMULATE_SCREEN_REMOTE_CTRL; - -//ĻźԴ -typedef struct tagNET_DVR_SCREEN_SIGNAL_CFG -{ - DWORD dwSize; - BYTE bySignalSourceType; //Դö NET_DVR_CAM_MODE - BYTE byNoSignalPic; //źŻģʽ1-2-3-LOGO - BYTE byRes[14]; -}NET_DVR_SCREEN_SIGNAL_CFG, *LPNET_DVR_SCREEN_SIGNAL_CFG; - -//Ļƴ -typedef struct tagNET_DVRSCREEN_SPLICE_CFG -{ - DWORD dwSize; - BYTE bySpliceIndex; //ƴţ0ûƴӣֵʾƴšƴ0101~020244bySpliceIndexͬҷ0. - BYTE bySpliceX; //Ļƴеλ - BYTE bySpliceY; //Ļƴеλ - BYTE byWidth; //ƴӹģĻΪλ - BYTE byHeight; //ƴӹģߣĻΪλ - BYTE byRes[11]; -}NET_DVR_SCREEN_SPLICE_CFG, *LPNET_DVR_SCREEN_SPLICE_CFG; - -//ȹʽ -typedef struct tagNET_DVR_SCREEN_FAN_WORK_MODE_CFG -{ - DWORD dwSize; - BYTE byWorkMode; //1-2-Զ - BYTE byTemperatureLimitValue; //ȿ¶ȷֵģʽΪԶʱòЧ - BYTE byRes[14]; -}NET_DVR_SCREEN_FAN_WORK_MODE_CFG, *LPNET_DVR_SCREEN_FAN_WORK_MODE_CFG; - -//VGAź -typedef struct tagNET_DVR_SCREEN_VGA_CFG -{ - DWORD dwSize; - BYTE byEnableAutoAdjust; //ǷԶ0-1-ǣԶʱ²Ч - BYTE byHorizontalPosition; //ˮƽλ 0-100 - BYTE byVerticalPosition; //ֱλ 0-100 - BYTE byClock; //ʱ 0-100 - BYTE byPhase; //λ0-100 - BYTE byRes[11]; -}NET_DVR_SCREEN_VGA_CFG, *LPNET_DVR_SCREEN_VGA_CFG; - -//Ļ˵ -typedef struct tagNET_DVR_SCREEN_MENU_CFG -{ - DWORD dwSize; - BYTE byMenuLanguage; //ԣ1-ģ2-Ӣ - BYTE byTransparency; //͸ 0-͸1-ͣ2-У3- - BYTE byDuration; //ʱ䣬0-1-5룬2-15룬3-30 - BYTE byRes[13]; -}NET_DVR_SCREEN_MENU_CFG, *LPNET_DVR_SCREEN_MENU_CFG; - -//л -typedef struct tagNET_DVR_PIP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿûл 0- 1- - BYTE bySubWindowSource; //ӻźԴοöNET_DVR_CAM_MODE - BYTE bySubWindowBorderColor; //ӻ߿ɫ 1-ɫ2-ɫ - BYTE byRes1; - NET_DVR_RECTCFG struPosition; //ӻλãĻܴСΪ100*100 - BYTE byRes2[12]; -}NET_DVR_PIP_CFG, *LPNET_DVR_PIP_CFG; - -//͸ -typedef struct tagNET_DVR_DEFOG_LCD -{ - DWORD dwSize; - BYTE byDefogEnable; //͸أ0~رգ1~ - BYTE byDefogModel; //͸ģʽ0~Զȥ1~ֶȥ - BYTE byDefogLevel; //͸ǿȵȼ1-7ȼĬϵȼΪ4ȼ1Ϊ0.5ȼ2Ϊ0.55ȼ3Ϊ0.60ȼ4Ϊ0.65ȼ5Ϊ0.70ȼ6Ϊ0.75ȼ7Ϊ0.80ȥģʽΪֶȥʱȥǿȵȼ - BYTE byRes[33]; -}NET_DVR_DEFOG_LCD,*LPNET_DVR_DEFOG_LCD; - -//Ļάǽ -typedef struct tagNET_DVR_SCREEN_WALL_CFG -{ - DWORD dwSize; - BYTE byEnable; //״̬ء0-Ϊرգ1-Ϊ - BYTE byRes[35]; -}NET_DVR_SCREEN_WALL_CFG, *LPNET_DVR_SCREEN_WALL_CFG; - -//Ļλ -typedef struct tagNET_DVR_SCREEN_POS_CFG -{ - DWORD dwSize; - BYTE byScreenRowNum;//Ļкš - BYTE byScreenColNum;//Ļкš - BYTE byRes[34]; -}NET_DVR_SCREEN_POS_CFG, *LPNET_DVR_SCREEN_POS_CFG; - -typedef struct tagNET_DVR_VIDEO_AUDIOIN_CFG -{ - DWORD dwSize; //ṹij - DWORD dwChanNo; //Ƶͨţ ú󣬱󶨵ԽͨΪͨƵԴ - BYTE byEnable; //ǷԽΪƵԴ 0- 1- - BYTE byRes[31]; // -}NET_DVR_VIDEO_AUDIOIN_CFG, *LPNET_DVR_VIDEO_AUDIOIN_CFG; - -typedef struct _NET_DVR_VCA_DETION_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30/*64*/];//¼ͨ - BYTE byEnablePreset[MAX_CHANNUM_V30]; - BYTE byPresetNo[MAX_CHANNUM_V30]; - BYTE byEnableCruise[MAX_CHANNUM_V30]; - BYTE byCruiseNo[MAX_CHANNUM_V30]; - BYTE byEnablePtzTrack[MAX_CHANNUM_V30]; - BYTE byPTZTrack[MAX_CHANNUM_V30]; - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30/*8*/]; //ղʱ - BYTE byRes[224];; -}NET_DVR_VCA_DETION_CFG, *LPNET_DVR_VCA_DETION_CFG; - -typedef struct tagNET_DVR_VCA_DETECTION_CFG_V40 -{ - DWORD dwSize; //ṹС - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: ʾϾ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40/*4128*/]; //* ʵʴıţֵʾ,ýУ±0ʼ˳ȡ0xffffffffЧ*/ - /*¼ͨ*/ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwRelRecordChan[MAX_CHANNUM_V40/*512*/]; /* ʵʴ¼ֵͨʾ,ýУ±0ʼ˳ȡ0xffffffff,Ч*/ - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40/*512*/]; //õԤõϢdwEnablePresetChanNumΪ0ʱ±0-(dwEnablePresetChanNum -1)ЧΪ0ʱʾδԤõ - BYTE byRes2[516]; /**/ - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40/*512*/]; //ѲͨϢdwEnableCruiseChanNumΪ0ʱ±0-( dwEnableCruiseChanNum -1)ЧΪ0ʱʾδѲ - DWORD dwEnablePtzTrackChanNum; //ǰ̨ͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40/*512*/]; //̨ͨϢdwEnablePtzTrackChanNumΪ0ʱ±0-(dwEnablePresetChanNum -1)ЧΪ0ʱʾδ̨ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byRes[224]; -}NET_DVR_VCA_DETECTION_CFG_V40, *LPNET_DVR_VCA_DETECTION_CFG_V40; - -typedef struct tagNET_DVR_CLOUD_STORAGE_CFG -{ - DWORD dwSize; //ṹС; - BYTE byEnableCS; //ƴ洢 0-ر 1- - BYTE byRes[511]; // -} NET_DVR_CLOUD_STORAGE_CFG, *LPNET_DVR_CLOUD_STORAGE_CFG; - - -typedef struct tagNET_DVR_CHANS_RECORD_STATUS_CFG -{ - DWORD dwSize ; //ṹС - BYTE byValid; //ǷЧ - /*(ֻ)¼ͣ0: ¼1¼ 2- - 3- 4-Ƶ 5-δ 6-浵 7-ش - 8-û 9-δ֤,10-浵к¼ 11-¼شк¼*/ - BYTE byRecord; - DWORD dwRelatedHD; // - BYTE byOffLineRecord; //¼ 0-ر 1- - BYTE byRes[63]; //ֽ -}NET_DVR_CHAN_RECORD_STATUS_CFG, *LPNET_DVR_CHAN_RECORD_STATUS_CFG; - -#define MAX_CAMERAID_LEN 64 -typedef struct tagNET_DVR_UPLOAD_RECORD_INFO -{ - DWORD dwSize; - DWORD dwRecordType; //¼ 0- ʱ¼1- ƶ¼2- ¼3- ƶ¼4- ƶ¼ 5- 6- ֶ¼7- 𶯱8- 9- ܱ10- ش¼ - BYTE sCameraID[MAX_CAMERAID_LEN]; //camera id; - NET_DVR_TIME_EX struStartTime; //¼ʼʱ - NET_DVR_TIME_EX struStopTime; //¼ʱ - DWORD dwStoragePoolID; //洢ID - BYTE byFormatType ; //װͣ1-2-RTPװ3-PSװ4-TSװ5-˽У6-FLV7-ASF8-3GP9-RTP+PS꣺GB281810xff-Ч - BYTE byVideoEncType ; //Ƶͣ0-˽2641-׼h2642-׼mpeg47-M-JPEG8-MPEG20xfe- ԶԴһ£0xff-Ч - BYTE byAudioEncType; //Ƶͣ0-G7221-G711_U2-G711_A5-MP2L26-G7267-AAC0xfe- ԶԴһ£0xff-Ч - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[120]; -}NET_DVR_UPLOAD_RECORD_INFO,*LPNET_DVR_UPLOAD_RECORD_INFO; - -//Ʋ ṹ -typedef struct tagNET_DVR_IOOUT_COND -{ - DWORD dwSize; - BYTE bySyncOutputNo;//ͬ(0-F1,1-F2,2-F3) - BYTE byRes[63]; -}NET_DVR_IOOUT_COND,*LPNET_DVR_IOOUT_COND; - -//Ʋ -typedef struct tagNET_DVR_IOOUT_CFG -{ - DWORD dwSize; - BYTE byWorkMode;// 0-,1-Ƶ(Ĭ) - BYTE byRes1[3]; - union - { - BYTE byUnionLen[128]; - struct - { - BYTE byDefaultState;//Ĭ״̬ 0-͵ƽ(Ĭ)1-ߵƽ - BYTE byWorkState;//Ч״̬ 0-͵ƽ(Ĭ),1-ߵƽ,2- - BYTE byFreqMulti;//ƵֵΧ[1,15] - BYTE byDutyRatio;//ռձȣ[0,40%] - BYTE byRes[3]; - BYTE byFlashLightEnable; //ʱʹ:0-;1- - NET_DVR_SCHEDTIME struFlashLightTime;//ʱ - BYTE byRes1[116]; - }struStrobeLamp; // Ƶ ʱЧ - }uWorkModeInfo; - BYTE byRes2[128]; -}NET_DVR_IOOUT_CFG,*LPNET_DVR_IOOUT_CFG; - -//źŵͬ -typedef struct tagNET_DVR_SIGNAL_SYNCCFG -{ - DWORD dwSize; - WORD wPhase;//λ(0~360) - BYTE byLineLock;//Դͬ 0-1- - BYTE byRes[125]; -}NET_DVR_SIGNAL_SYNCCFG,*LPNET_DVR_SIGNAL_SYNCCFG; - -// өʯEZVIZṹ -typedef struct -{ - DWORD dwSize; - BYTE byEnable;// EZVIZ 0ã1 - /********* IPC5.1.7 Begin 2014-03-21***********/ - BYTE byDeviceStatus; //豸Ƿ״̬0-1-ߣ2- - BYTE byAllowRedirect; //Ƿض,0-,1-,2-,0ʾֲ,SDK豸 - BYTE byDomainName[MAX_DOMAIN_NAME]; //ַ - BYTE byRes1; - BYTE byVerificationCode[NET_SDK_MAX_VERIFICATION_CODE_LEN/*32*/];//өʯ֤ - BYTE byNetMode; //ģʽ0-壬1-Զ2-ȣ3-(Ĭ)4- - BYTE byOfflineStatus; //豸߾״̬: 0-1-өʯע֤ЧֶΪֻҵDeviceStatusΪ2ʱЧ - BYTE byEnableTiming;// EZVIZУʱ 0ã1 - BYTE byRes2; - BYTE byOperateCode[NET_SDK_MAX_OPERATE_CODE_LEN]; //룬û豸ʱʹ - BYTE byRes[344]; -}NET_DVR_EZVIZ_ACCESS_CFG,*LPNET_DVR_EZVIZ_ACCESS_CFG; - -typedef struct tagNET_DVR_ALARM_RELATE_COND -{ - DWORD dwSize; - /* - 0ʾƶ⣬ - 1ʾƵڵ - 2ʾƵʧ - 3ʾPIR - 4ʾ߱ - 5ʾȱ - 6ʾץͼ - 7ʾ⣬ - 8ʾԽ⣬ - 9ʾ⣬ - 10ʾ⣬ - 11 ʾ쳣⣬ - 0xff ʾ - */ - BYTE byAlarmType; - // 0-Ч,1-ץͼϴFTP,2-JpegץͼϴEmail - BYTE byRelateActType; - BYTE byRes[2]; - //ŻͨŻ߱ - //(byAlarmType ==0xffʱ,dwChannelʾDZ) - //(byAlarmType ==4ʱ,dwChannelʾ߱) - DWORD dwChannel; - BYTE byRes1[64]; -}NET_DVR_ALARM_RELATE_COND,*LPNET_DVR_ALARM_RELATE_COND; - -typedef struct tagNET_DVR_ALARM_RELATE_CFG -{ - DWORD dwSize; - DWORD dwMaxRelateChanNum ; //ıֻ֧ͨ - //dwRelateChanijʼֵ0xffffffff;дʵʵͨ; - DWORD dwRelateChan[MAX_CHANNUM_V40/*512*/]; - BYTE byRes1[256]; -}NET_DVR_ALARM_RELATE_CFG,*LPNET_DVR_ALARM_RELATE_CFG; - -typedef struct tagNET_DVR_PTZ_BASICPARAMCFG -{ - DWORD dwSize; - BYTE byProportionalPan; //ñ䱶 0-1- - BYTE byPresetFreezing; //ԤõƵ 0-1- - BYTE byPresetSpeed;//Ԥõٶȵȼ 1--8Ĭ4 - BYTE byKeyboardCtrlSpeed;//ֿٶȵȼ0-,1-,2- - BYTE byAutoScanSpeed;//ɨٶȵȼ1--40Ĭ28 - BYTE byZoomingSpeed;//䱶ٶȣ1--3Ĭ3 - BYTE byManualControlSpeed;//ֿٶģʽ0-ݣ1-ˣ2-ǻ3-4-Ӧ - BYTE byPTZMotionTrack;//˶̨ 0-Ĭϣ1-ر - BYTE byRes[124]; -}NET_DVR_PTZ_BASICPARAMCFG,*LPNET_DVR_PTZ_BASICPARAMCFG; - -typedef struct tagNET_DVR_PTZ_OSDCFG -{ - DWORD dwSize; - BYTE byZoomStatus; //ͷʾ1-2롢2-5롢3-10롢0xff-ء0-Ĭ2 - BYTE byPtStatus; //λʾ1-2롢2-5롢3-10롢0xff-ء0-Ĭ2 - BYTE byPresetStatus;//Ԥõʾ1-2롢2-5롢3-10롢0xff-ء0-Ĭ2 - BYTE byPositionDisplayFormat;//λʾʽ 0-PTʾ( P179|T-02)1-շλʾ(SE123|T-02) - BYTE byRes[124]; -}NET_DVR_PTZ_OSDCFG,*LPNET_DVR_PTZ_OSDCFG; - -typedef struct tagNET_DVR_PTZ_POWEROFFMEMCFG -{ - DWORD dwSize; - BYTE byResumeTimePoint; //ģʽOxff-á1-30롢2-60롢3-300롢4-600룬Ĭ30 - BYTE byRes[127]; -}NET_DVR_PTZ_POWEROFFMEMCFG,*LPNET_DVR_PTZ_POWEROFFMEMCFG; - -typedef struct tagNET_DVR_PTZ_LIMITCOND -{ - DWORD dwSize; - DWORD dwChan; //ͨ - BYTE byLimitMode; //λģʽ 0-1-λ2-ɨλ - BYTE byRes[63]; -}NET_DVR_PTZ_LIMITCOND, *LPNET_DVR_PTZ_LIMITCOND; - -typedef struct tagNET_DVR_PTZ_LIMITCFG -{ - DWORD dwSize; - BYTE byEnable;//ʹܣ0-1- - BYTE byLimitStatus; //λ״̬ 0-δλ1-λɱ༭ - BYTE byRes[122]; -}NET_DVR_PTZ_LIMITCFG,*LPNET_DVR_PTZ_LIMITCFG; - -typedef struct tagNET_DVR_PTZ_LIMITCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byLimitMode; //λģʽ 0-1-λ2-ɨλ - BYTE byWorkMode ;//0-ã1- - BYTE byRes[122]; -}NET_DVR_PTZ_LIMITCTRL,*LPNET_DVR_PTZ_LIMITCTRL; - -typedef struct tagNET_DVR_PTZ_LOCKCFG -{ - DWORD dwSize; - BYTE byWorkMode ;//̨ 0-1- - BYTE byRes[123]; -}NET_DVR_PTZ_LOCKCFG,*LPNET_DVR_PTZ_LOCKCFG; - -typedef struct tagNET_DVR_PTZLOCKINFO_COND -{ - DWORD dwSize; - DWORD dwChannel ;//ͨ - BYTE byRes[64]; -}NET_DVR_PTZLOCKINFO_COND,*LPNET_DVR_PTZLOCKINFO_COND; - -typedef struct tagNET_DVR_PTZLOCKINFO -{ - DWORD dwSize; - DWORD dwRemainingSec ;//ʣ - BYTE byRes[128]; //ֽ -}NET_DVR_PTZLOCKINFO, *LPNET_DVR_PTZLOCKINFO; - -typedef struct tagNET_DVR_CRUISEPOINT_COND -{ - DWORD dwSize; - DWORD dwChan;//ͨ - WORD wRouteNo;//Ѳ· - BYTE byRes[30]; -}NET_DVR_CRUISEPOINT_COND,*LPNET_DVR_CRUISEPOINT_COND; - -typedef struct -{ - WORD wPresetNo; //Ԥõ - WORD wDwell; //ͣʱ - BYTE bySpeed; //ٶ - BYTE bySupport256PresetNo;//֮ǰ 256ԤõǷЧ - BYTE byRes[6]; -}NET_DVR_CRUISEPOINT_PARAM,*LPNET_DVR_CRUISEPOINT_PARAM; - -typedef struct -{ - DWORD dwSize; - // ֧128Ѳ - NET_DVR_CRUISEPOINT_PARAM struCruisePoint[MAX_CRUISE_POINT_NUM]; - BYTE Res[64]; // -}NET_DVR_CRUISEPOINT_V40, *LPNET_DVR_CRUISEPOINT_V40; - -typedef struct -{ - DWORD dwSize; - // ֧256Ѳ - NET_DVR_CRUISEPOINT_PARAM struCruisePoint[MAX_CRUISEPOINT_NUM_V50]; - BYTE Res[64]; // -}NET_DVR_CRUISEPOINT_V50, *LPNET_DVR_CRUISEPOINT_V50; - - -typedef struct tagNET_DVR_TEST_VERSION_HEAD -{ - DWORD dwSize; - DWORD dwParam1; - BYTE byParam2; - BYTE byRes[31]; -}NET_DVR_TEST_VERSION_HEAD, *LPNET_DVR_TEST_VERSION_HEAD; - -typedef struct tagNET_DVR_TEST_VERSION_HEAD_V1 -{ - DWORD dwSize; - DWORD dwParam1; - BYTE byParam2; - BYTE byRes[31]; - DWORD dwParam1_1; - BYTE byParam1_2; - BYTE byRes1[31]; -}NET_DVR_TEST_VERSION_HEAD_V1, *LPNET_DVR_TEST_VERSION_HEAD_V1; - -typedef struct tagNET_DVR_TEST_VERSION_HEAD_V2 -{ - DWORD dwSize; - DWORD dwParam1; - BYTE byParam2; - BYTE byRes[31]; - DWORD dwParam1_1; - BYTE byParam1_2; - BYTE byRes1[31]; - DWORD dwParam2_1; - BYTE byParam2_2; - BYTE byRes2[31]; -}NET_DVR_TEST_VERSION_HEAD_V2, *LPNET_DVR_TEST_VERSION_HEAD_V2; - -#define MAX_DISPLAY_NUM 512 //ʾ -#define MAX_LEDCONTENT_NUM 512 //LEDַ󳤶 -#define MAX_PPT_CHAN 128 //PPT - -typedef struct tagNET_DVR_VIDEOWALLDISPLAYMODE -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRect;//귶Χݻ׼ֵ֧ƴģʽ - BYTE sName[NAME_LEN]; //ǽ - BYTE byRes2[100]; -}NET_DVR_VIDEOWALLDISPLAYMODE, *LPNET_DVR_VIDEOWALLDISPLAYMODE; - -typedef struct tagNET_DVR_DISPLAYPARAM -{ - DWORD dwDisplayNo;//ʾ - BYTE byDispChanType;/*ģʽ,1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, \ - 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVIӦ10-3GSDI,11-VGA/DVIӦ12-HDBaseT,13-HDTVI, 14-TVI0xff-Ч*/ - - BYTE byRes[11]; -}NET_DVR_DISPLAYPARAM,*LPNET_DVR_DISPLAYPARAM; - -typedef struct tagNET_DVR_DISPLAYCFG -{ - DWORD dwSize; - NET_DVR_DISPLAYPARAM struDisplayParam[MAX_DISPLAY_NUM/*512*/] ; - BYTE byRes[128]; -}NET_DVR_DISPLAYCFG,*LPNET_DVR_DISPLAYCFG; - -typedef struct tagNET_DVR_VIDEOWALLDISPLAYPOSITION -{ - DWORD dwSize; - BYTE byEnable; - BYTE byCoordinateType;//͡0-׼꣬1-ʵ - BYTE byRes1[2]; - //ǽ,1ֽǽţֽڣں豸Ϊͨţ+3ֽڱ - DWORD dwVideoWallNo; - DWORD dwDisplayNo;//ʾ - //Ϊ׼1920*1920Ⱥ͸߶ֵãΪ׼ֵ - NET_DVR_RECTCFG_EX struRectCfg; - BYTE byRes2[64]; -}NET_DVR_VIDEOWALLDISPLAYPOSITION,*LPNET_DVR_VIDEOWALLDISPLAYPOSITION; - -/*Ϣ*/ -typedef struct tagNET_DVR_VIDEOWALLWINDOWPOSITION -{ - DWORD dwSize; - BYTE byEnable; //ʹ,0-ʹܣ1-ʹ - BYTE byWndOperateMode; //ڲģʽ0-ͳһ꣬1-ֱ - BYTE byRes1[6]; - DWORD dwWindowNo;//ں - DWORD dwLayerIndex;//Ӧͼţͼŵöö - NET_DVR_RECTCFG_EX struRect; //ĿĴͳһ(ʾǽ)ȡͳһʱЧ - NET_DVR_RECTCFG_EX struResolution; //ĿĴڷֱ꣬ȡ򰴷ֱЧ - DWORD dwXCoordinate; //LEDϽX꣨ͳһ꣩ȡ򰴷ֱЧ - DWORD dwYCoordinate; //LEDϽY꣨ͳһ꣩ȡ򰴷ֱЧ - BYTE byRes2[36]; -}NET_DVR_VIDEOWALLWINDOWPOSITION,*LPNET_DVR_VIDEOWALLWINDOWPOSITION; - -typedef struct tagNET_DVR_VIDEO_WALL_INFO -{ - DWORD dwSize; - //ںţ1ֽǽţں豸Ϊͨţ+1ֽڱ+2ֽڴں - DWORD dwWindowNo; - DWORD dwSceneNo;// - DWORD dwDestWallNo; //Ŀǽ - DWORD dwDestSceneNo;//Ŀij - BYTE byRes[12]; -}NET_DVR_VIDEO_WALL_INFO,*LPNET_DVR_VIDEO_WALL_INFO; - -typedef struct tagNET_DVR_VIRTUALLED_PARAM -{ - DWORD dwSize; - BYTE byEnable; //ʹ - BYTE byDispMode; //ʾģʽ1-͸2-͸3- - BYTE byWndOperateMode; //ڲģʽ0-ͳһ꣬1-ֱ - BYTE byType; //LEDͣ0-ı1-ʱ - BYTE byDirection; //LED0-ˮƽ1-ֱ - BYTE byTimeType; //ʱͣbyTypeΪ1ʱЧ0-Ч1-ֻʾʱ䣬2-ʾںʱ - BYTE byDateFormat; //ʾʽbyTimeTypeΪ2ʱЧ - //0-Ч1-XXXX-XX-XX()2-XX-XX-XXXX()3-XX-XX-XXXX()4-XXXXXXXXգ5-XXXXXXXX꣬6-XXXXXXXX - BYTE byTimeFormat; //ʱʾʽbyTimeTypeΪʱЧ - //0-Ч1-H:MM:SS2-HH:MM:SS - NET_DVR_RGB_COLOR struContentColor; //ɫ - NET_DVR_RGB_COLOR struBackColor; //ɫ - NET_DVR_RECTCFG_EX struRect; - DWORD dwContentNum; //ıݳȣbyTypeΪ0ʱЧ - BYTE byLedContent[MAX_LEDCONTENT_NUM/*512*/]; //ıݣbyTypeΪ0ʱЧ - BYTE byMoveMode; //ƶģʽ1-ͨ2-ƽ3-ֹ - BYTE byFontSize; //С1-12-23-4 - BYTE byMoveDirection; //ƶ0-Ĭϣң1-ң2-ҵ3-ϵ£4-µϣ̬LEDʱЧ - BYTE byMoveSpeed; //ƶٶȣ1-ٶ12-ٶ2̬LEDʱЧ - NET_DVR_RECTCFG_EX struResolution; //ĿĴڷֱ꣬ȡ򰴷ֱЧ - DWORD dwXCoordinate; //LEDϽX꣨ͳһ꣩ȡ򰴷ֱЧ - DWORD dwYCoordinate; //LEDϽY꣨ͳһ꣩ȡ򰴷ֱЧ - BYTE byHourFormat; //ʱʽbyTimeTypeΪʱЧ0-Ч1-12Сʱƣ2-24Сʱ - BYTE byAMFormat; //AMʽbyHourFormatΪ1ʱЧ0-Ч1-AM2- - BYTE byPMFormat; //PMʽbyHourFormatΪ1ʱЧ0-Ч1-PM2- - BYTE byAlignmentX; //ˮƽ뷽ʽbyDirectionΪ0ʱЧ0-Ч1-룬2-ж룬3-Ҷ - BYTE byAlignmentY; //ֱ뷽ʽbyDirectionΪ1ʱЧ0-Ч1-˶룬2-ж룬3-׶˶ - BYTE byFontType; //ͣ0-Ĭϣ1-壬2-壬3-壬255-Զ - BYTE byRes2[90]; -}NET_DVR_VIRTUALLED_PARAM,*LPNET_DVR_VIRTUALLED_PARAM; - -typedef struct tagNET_DVR_IMAGE_CUT_MODE -{ - DWORD dwSize; - BYTE byCutMode; //ͼиģʽ1-4:3,2-16:9 - BYTE byRes[31]; -}NET_DVR_IMAGE_CUT_MODE,*LPNET_DVR_IMAGE_CUT_MODE; - -typedef struct tagNET_DVR_USING_SERIALPORT -{ - DWORD dwSize ; - DWORD dwSerialPort; //ǰʹôں - BYTE byProtocolType; //Эͣ1-LCD-S1 , 2-LCD-S2 , 3-LCD-L1 4-LCD-DLP 5-LCD-S3 , 6-LCD-D207-LCD-L2,8-LCD-Z19-LCD-D20/D,10-LCD-D20/S,11-LCD-D20/P,12-LCD-D20/T,13-LCD-D20/F,14-LCD-D20/DF,15-LCD-D20/FS,16-LCD-D20/FP,17-LCD-D20/FT,18-LCD-D5022,19-LCD-D5032,20-LCD-D5042+ - BYTE byRes[31]; -}NET_DVR_USING_SERIALPORT,*LPNET_DVR_USING_SERIALPORT; - -typedef struct tagNET_DVR_VIDEOWALLSCENECFG -{ - DWORD dwSize; - BYTE sSceneName[NAME_LEN];// - BYTE byEnable;//ǷЧ 1-Ч0-Ч - BYTE bySceneIndex; //ţֻܻȡȡгʱʹøò - BYTE byRes [78]; -}NET_DVR_VIDEOWALLSCENECFG, *LPNET_DVR_VIDEOWALLSCENECFG; - -typedef struct tagNET_DVR_SCENE_CONTROL_INFO -{ - DWORD dwSize; - NET_DVR_VIDEO_WALL_INFO struVideoWallInfo; //ǽϢ - DWORD dwCmd; //1-ģʽлҪлǵǰ򲻽л2-ʼ˳գǵǰͬʱԵǰ3-ǿлǷǵǰǿл4-浱ǰģʽij 5-ɾ ,6- - BYTE byRes[4]; -}NET_DVR_SCENE_CONTROL_INFO, *LPNET_DVR_SCENE_CONTROL_INFO; - -typedef struct tagNET_DVR_SHOW_CONTROL_INFO -{ - DWORD dwSize; - DWORD dwDisplayNo; //ʾںţ0xffffffffʾڽв - BYTE byEnable; //ʹʾ0-ʾ1-ʾ - BYTE byChanType; //ʾͨͣ1-ʾͨţ2- - BYTE byRes1[2]; - DWORD dwWallNo; //ǽţ1ֽǽţλ+3ֽڱʾĻʱЧ - BYTE byRes2[56]; -}NET_DVR_SHOW_CONTROL_INFO,*LPNET_DVR_SHOW_CONTROL_INFO; - -typedef struct tagNET_DVR_BUF_INFO -{ - void* pBuf; //ָ - DWORD nLen; // -}NET_DVR_BUF_INFO, *LPNET_DVR_BUF_INFO; - -typedef struct tagNET_DVR_IN_PARAM -{ - NET_DVR_BUF_INFO struCondBuf; // - NET_DVR_BUF_INFO struInParamBuf; // - DWORD dwRecvTimeout; //ݳʱʱ䣬λms,0ýӿĬϳʱ - BYTE byRes[32]; -}NET_DVR_IN_PARAM,LPNET_DVR_IN_PARAM; - -typedef struct tagNET_DVR_OUT_PARAM -{ - NET_DVR_BUF_INFO struOutBuf; // - void* lpStatusList; //״̬ - BYTE byRes[32]; -}NET_DVR_OUT_PARAM,LPNET_DVR_OUT_PARAM; - -typedef struct tagNET_DVR_AUDIO_CHAN_INFO -{ - DWORD dwSize; - DWORD dwChannel; //Ƶͨϣ1ֽ豸+1ֽӰ+2ֽƵͨţ - BYTE byRes[48]; -}NET_DVR_AUDIO_CHAN_INFO, *LPNET_DVR_AUDIO_CHAN_INFO; - -typedef struct tagNET_DVR_AUDIO_CHAN_CFG -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; //Ƶͨ - BYTE byEnable; //ƵǷ 0-أ 1- - BYTE byAudioSwitchType; //Ƶлʽ1-ǰԴʽ2-ڽԴʽ - BYTE byRes[2]; - NET_DVR_PU_STREAM_CFG_V41 struAudioSrcInfo; //ƵԴϢ byAudioSwitchTypeΪ1ʱЧ - DWORD dwWindowNo; //Ӵںţ1ֽǽ+1ֽӴں+2ֽڴںţbyAudioSwitchTypeΪ2ʱЧ - BYTE byRes2[28]; -}NET_DVR_AUDIO_CHAN_CFG, *LPNET_DVR_AUDIO_CHAN_CFG; - -#define MAX_SUBBOARD_NUM 42 //ʽ豸Ŀ -#define MAX_SINGLE_BOARD_EXCEPTION_NUM 16 //󲢷쳣 -typedef struct tagNET_DVR_MAINBOARD_SERIAL_CFG -{ - DWORD dwSize; - BYTE bySerialWorkMode; //ڹģʽ1-RS484,2-RS232 - BYTE byFunType; //ڹܣ1-̿ƣ2-Ļƣ3-͸ͨģʽ 4-PTZ 5- 6-̨ - BYTE byDataBit;// мλ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - DWORD dwBaudRate;//0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - WORD wProtocol;//Э飬ͬڹܶӦЭ鲻һ - BYTE byVariable ; //Ƿɱ䣬1-ɱ 2-ɱ ֻȡ - BYTE byGateWayEnable; //Ƿأ0-أ!0 - BYTE byRes[30]; -}NET_DVR_MAINBOARD_SERIAL_CFG, *LPNET_DVR_MAINBOARD_SERIAL_CFG; - -typedef struct tagNET_DVR_SUBBOARD_INFO -{ - DWORD dwSize; - BYTE byBoardType; //ͣ0-壬1-DVI-I룬2-YPbPr룬3-BNC룬4-SDI룬 5-DVI˫·룬 6-ͨ룬 7-DVI-I 8-SDI, 9-ǿͽ룬10-DP룬11-HDTVI룬12-HDBaseT13-HDMI룬14-HDBaseT15-DVI-T룬16-HDMI17-HDMI-HD ,18-HDMI-UHD , 19-DP_UHD,0xff-δ֪ //ͣ0-壬1-DVI-I룬2-YPbPr룬3-BNC룬4-SDI룬 5-DVI˫·룬 6-ͨ룬 7-DVI-I 8-SDI, 9-ǿͽ룬10-DP룬11-HDTVI룬12-HDBaseT13-HDMI룬14-HDBaseT15-DVI-T룬16-HDMI17-HDMI-HD ,18-HDMI-UHD , 19-DP_UHD,0xff-δ֪ - BYTE byInterfaceNum; //ӿ - BYTE byStatus; //״̬0-쳣 1- - BYTE bySyncStatus; // ͬ״̬0-δͬ 1-ͬ - DWORD dwSlotNo; //ڲλ - BYTE byRes2[32]; -}NET_DVR_SUBBOARD_INFO, *LPNET_DVR_SUBBOARD_INFO; - -typedef struct tagNET_DVR_DEVICE_SUBBOARD_INFO -{ - DWORD dwSize; - BYTE byBackBoardType; //ͣ 1-4U 2-8U 3-13U, 0xff-δ֪ - BYTE bySoltNum; //λĿ - BYTE byBoardNum; //ЧĿ - BYTE byRes1[1]; - NET_DVR_SUBBOARD_INFO struSubBoadInfo[MAX_SUBBOARD_NUM]; //ǰbyBoardNumЧ - BYTE byRes2[32]; -}NET_DVR_DEVICE_SUBBOARD_INFO, *LPNET_DVR_DEVICE_SUBBOARD_INFO; - -typedef struct tagNET_DVR_DEVICE_BOARD_EXCEPINFO -{ - DWORD dwSize; - BYTE byExceptNum; //쳣 - BYTE byRes1[3]; - BYTE byMajor[MAX_SINGLE_BOARD_EXCEPTION_NUM]; // - WORD wMinor[MAX_SINGLE_BOARD_EXCEPTION_NUM]; // - BYTE byRes2[32]; -}NET_DVR_DEVICE_BOARD_EXCEPINFO, *LPNET_DVR_DEVICE_BOARD_EXCEPINFO; - - -typedef struct tagNET_DVR_LINEARSCAN -{ - DWORD dwSize; - DWORD dwChan; //ͨ - BYTE byLinearScanType; //λͣ0-,1-߽,2-ұ߽ - BYTE byRes[63]; -}NET_DVR_LINEARSCAN, *LPNET_DVR_LINEARSCAN; - -//Ϣ -typedef struct tagNET_DVR_STREAM_ATTACHINFO_CFG -{ - DWORD dwSize; //ṹС - BYTE byStreamWithVca; //еϢɹк0-,1- - BYTE byRes[127]; // -}NET_DVR_STREAM_ATTACHINFO_CFG,*LPNET_DVR_STREAM_ATTACHINFO_CFG; - -typedef struct tagNET_DVR_SUBSYSTEM_NETCFG -{ - DWORD dwSize; - BYTE byDefaultRoute; //Ĭ·ɣ0ʾstruEtherNet[0]1ʾstruEtherNet[1] - BYTE byNetworkCardNum; //豸ʵʿõĿ - BYTE byRes1[2]; // - NET_DVR_ETHERNET_MULTI struEtherNet [MAX_NETWORK_CARD]; //̫ - BYTE byRes2[128]; -}NET_DVR_SUBSYSTEM_NETCFG, *LPNET_DVR_SUBSYSTEM_NETCFG; - -// -typedef struct tagNET_DVR_CLEARCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byAllPreset; //еԤõ㣺0-,1- - BYTE byAllPatrols; //еѲ·0-,1- - BYTE byAllPatterms; //еĻɨ裺0-,1- - BYTE byAllPrivacyMasks; //е˽飺0-,1- - BYTE byAllPTZLimited; //еλã0-,1- - BYTE byAllScheduledTasks; //еĶʱ0-,1- - BYTE byAllParkAction; //е0-,1- - BYTE byRes[125]; -}NET_DVR_CLEARCTRL, *LPNET_DVR_CLEARCTRL; - -//̨Ϣ -typedef struct tagNET_DVR_PTZ_PRIORITIZECFG -{ - DWORD dwSize; - BYTE byPTZPrioritize; //̨ȣ0-Rs4851-磬Ĭ - BYTE byRes[3]; - DWORD dwDelay; //ʱ2---200 - BYTE byRes1[124]; -}NET_DVR_PTZ_PRIORITIZECFG, *LPNET_DVR_PTZ_PRIORITIZECFG; - -//㷽λǿ -typedef struct tagNET_DVR_INITIALPOSITIONCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byWorkMode ;//0-ã1- - BYTE byRes[127]; -}NET_DVR_INITIALPOSITIONCTRL,*LPNET_DVR_INITIALPOSITIONCTRL; - -//˽ڱβ -typedef struct tagNET_DVR_PRIVACY_MASKS_COND -{ - DWORD dwSize; - DWORD dwChan; //ͨ - BYTE byRegionalID; //ID 124 - //ɾǰIDӦ˽ڱϢ 0-1-ɾ WriteOnly - BYTE byDelPrivacyMaskCfg; - BYTE byRes[62]; -}NET_DVR_PRIVACY_MASKS_COND, *LPNET_DVR_PRIVACY_MASKS_COND; - -typedef struct tagNET_DVR_PRIVACY_MASKS_CFG -{ - DWORD dwSize; - BYTE byEnable;//Ƿ 0-1- - //˽ڱòǷʾ 0-1- ReadOnly - BYTE byPrivacyMaskCfgEnable; - BYTE byColorType; //0-,1-ҡ2-졢3-̡4-5-ȡ6-ơ0xff- - BYTE byActiveZoomRatio;//αʣ1--100 - char sPrivacyMaskName[NAME_LEN/*32*/];//ڵƣֻʹ16ֽ - NET_VCA_POLYGON struRegion;//Χ - //ǰǷЧ 0-1- ԵϢ͵µĶϢ - BYTE byCurrentRegionEnable; - //ǰʹֶ 0- byActiveZoomRatio ;1- fActiveZoomRatio(֧ڵcurActiveZoomRatioType) - BYTE byCurZoomRatio ; - BYTE byRes[2]; - float fActiveZoomRatio; //α(ȷС1λ)[1.0-100.0] - BYTE byRes1[120]; -}NET_DVR_PRIVACY_MASKS_CFG, *LPNET_DVR_PRIVACY_MASKS_CFG; - -//ȫʹ -typedef struct tagNET_DVR_PRIVACY_MASKS_ENABLECFG -{ - DWORD dwSize; - BYTE byEnable;//ʹܣ0-1- - BYTE byRes[127]; -}NET_DVR_PRIVACY_MASKS_ENABLECFG,*LPNET_DVR_PRIVACY_MASKS_ENABLECFG; - -//˶Ϣ -typedef struct tagNET_DVR_SMARTTRACKCFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ 0-1- - BYTE byRes[3]; - DWORD dwDuration;//ʱ䣺0--300룬Ĭ300 - BYTE byRes1[124]; -}NET_DVR_SMARTTRACKCFG,*LPNET_DVR_SMARTTRACKCFG; - -// -typedef struct tagNET_DVR_ZOOMRATIOCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byRes[128]; -}NET_DVR_ZOOMRATIOCTRL,*LPNET_DVR_ZOOMRATIOCTRL; - - -//뿪Ϣ -typedef struct tagNET_DVR_DIAL_SWITCH_CFG -{ - DWORD dwSize; - DWORD dwSwitchState;//ſ״̬ - BYTE byRes[28]; -}NET_DVR_DIAL_SWITCH_CFG,*LPNET_DVR_DIAL_SWITCH_CFG; - -typedef struct tagNET_ALARM_RECORDFILE_LOSS //¼ʧӽṹ -{ - NET_DVR_TIME_EX struInspectStart; //Ѳ쿪ʼʱ - NET_DVR_TIME_EX struInspectEnd; //Ѳʱ - NET_DVR_IPADDR struIP; //¼ʧӦͨIPַ - DWORD dwChanNo; //ͨ - DWORD dwIDIndex; //ID - BYTE sName[STREAM_ID_LEN]; // - NET_DVR_TIME_EX struLossStartTime; //¼ʧʼʱ - NET_DVR_TIME_EX struLossEndTime; //¼ʧʱ - DWORD dwLostNum; //¼ʧ 0xffffffffʾȫʧ - BYTE byRes[240]; -} NET_ALARM_RECORDFILE_LOSS, *LPNET_ALARM_RECORDFILE_LOSS; - -typedef struct tagNET_ALARM_STREAM_EXCEPTION //ȡ쳣 ӽṹ -{ - NET_DVR_IPADDR struIP; //Ƶ쳣ͨIPַ - DWORD dwChanNo; //ͨ - DWORD dwIDIndex; //ID - BYTE sName[STREAM_ID_LEN]; // - BYTE byExceptionCase; //쳣ԭ0-д쳣 1-쳣 - BYTE byRes[307]; // -} NET_ALARM_STREAM_EXCEPTION, *LPNET_ALARM_STREAM_EXCEPTION; - - -typedef struct tagNET_ALARM_RESOURCE_USAGE //Դʹñ ӽṹ -{ - BYTE byLevel; //ʹس̶ȵ 0-1-һ澯 2-澯 3-澯 - BYTE byRes[491]; // -}NET_ALARM_RESOURCE_USAGE, *LPNET_ALARM_RESOURCE_USAGE; - -typedef struct tagNET_ALARM_RECORD_EXCEPTION //¼쳣 ӽṹ -{ - BYTE byReason; //쳣ԭ 0-¼ 1-¼쳣 2-޿lun - BYTE byRes1[3]; // - BYTE sVolumeName[MAX_VOLUMENAME_LEN]; - DWORD dwVolumeID; //¼IDӲ̺ţ - BYTE byRes[452]; // -}NET_ALARM_RECORD_EXCEPTION, *LPNET_ALARM_RECORD_EXCEPTION; - -typedef union tagNET_ALARM_CVR_SUBINFO_UNION //CVRӽṹ -{ - BYTE byLen[492]; //峤 - NET_ALARM_RECORDFILE_LOSS struRecordLost; //¼ʧ - NET_ALARM_STREAM_EXCEPTION struStreamException; //ȡ쳣 - NET_ALARM_RESOURCE_USAGE struResourceUsage; //Դʹ - NET_ALARM_RECORD_EXCEPTION struRecordException; //¼쳣 -}NET_ALARM_CVR_SUBINFO_UNION, *LPNET_ALARM_CVR_SUBINFO_UNION; - -#define MAX_VARIABLE_DATA_NUM 65535 //ɱݸ - -typedef struct tagNET_DVR_ALARMINFO_DEV_V40 -{ - DWORD dwAlarmType; // 0-(ͨ)ź1-˽о𻵣2- NVR˳3-״̬쳣4-ϵͳʱ쳣5-¼ʣͣ6-(ͨ)ƶⱨ - //7-(ͨ)ڵ; 8-¼ʧ; 9-Ƶʵʱʾ; 10-Դʹʸ澯; 11- CVRԶ޸쳣 12-¼쳣 - NET_DVR_TIME struTime; - NET_ALARM_CVR_SUBINFO_UNION uSubAlarmInfo; //Ϣӽṹ Ϊ8,9,10,11,12ʱЧ - BYTE byRes[256]; - DWORD dwNumber; //ɱݸ - WORD *pNO; //Ϊ0367ʱܻͨţΪ5ʱܻд̺šɱʾֵΧΪ0~65535 -}NET_DVR_ALARMINFO_DEV_V40, *LPNET_DVR_ALARMINFO_DEV_V40; - -typedef struct tagNET_DVR_CONTROL_START_CFG //һʼϢ -{ - BYTE byUseDefine; //ʹԶ壬 0-ʹĬϣ1-ʹԶ - BYTE byRes1; - WORD wCourseIndex; //γ - BYTE byRes[128]; -}NET_DVR_CONTROL_START_CFG, *LPNET_DVR_CONTROL_START_CFG; - -typedef struct tagNET_DVR_CONTROL_DELAY_CFG//һӳ¼Ϣ -{ - BYTE byUseDefine; //ʹԶ壬 0-ʹĬϣ1-ʹԶ - BYTE byRes1; - WORD wDelayTime; //¼ӳʱ<¼ʱԴΪ׼>λs - BYTE byRes[128]; -}NET_DVR_CONTROL_DELAY_CFG, *LPNET_DVR_CONTROL_DELAY_CFG; - -typedef union tagNET_DVR_CONTROL_INFO_UNION //Ϣ -{ - BYTE byLen[132]; //峤 - NET_DVR_CONTROL_START_CFG struStartCfg; //һʼ - NET_DVR_CONTROL_DELAY_CFG struDelayCfg; //һӳ -}NET_DVR_CONTROL_INFO_UNION, *LPNET_DVR_CONTROL_INFO_UNION; - -typedef struct tagNET_DVR_RECORDING_CONTROL_CFG_ -{ - DWORD dwSize; //ṹС - WORD wCmdType; //ͣ0-һʼ1-һ2-һͣ3-һָ4-һӳ,5-һʼ 6-һֹͣ - BYTE byRes1 [2]; // - NET_DVR_CONTROL_INFO_UNION struControlInfo; //ϢʹýϿ - BYTE byRes[256]; // -}NET_DVR_RECORDING_CONTROL_CFG, *LPNET_DVR_RECORDING_CONTROL_CFG; - -typedef struct tagNET_DVR_RECORDING_HOST_CFG -{ - DWORD dwSize; //ṹС - DWORD dwOneKeyDelayTime; //һӳʱ ¼¼ʱ λ S - BYTE byDirectedMode; //ģʽ0-Զ1ֶ2-Զ - BYTE byClassroomType; //ͣ0-Ч1-ң2-ӽ - BYTE byCourseDataStorageEnabled;//ͳǷ洢Ӳ, 0-洢1-洢 - BYTE byElectronicEnlargeMode;//ǷʹõӷŴ󵼲, 0-ʹã1-ʹ - BYTE byRes[124]; // -}NET_DVR_RECORDING_HOST_CFG, *LPNET_DVR_RECORDING_HOST_CFG; - -typedef struct tagNET_DVR_STATISTIC_DATA_COND -{ - DWORD dwSize; - DWORD dwTypeTarget; //ͳƶͣTARGET_TYPE - NET_DVR_TIME struStartTime;//ʼͳʱ - NET_DVR_TIME struStopTime;//ͳʱ - BYTE byRes[280]; -}NET_DVR_STATISTIC_DATA_COND, *LPNET_DVR_STATISTIC_DATA_COND; - -typedef struct tagNET_DVR_STATISTIC_DATA_CFG -{ - DWORD dwSize; - DWORD dwTypeTarget; //ͳƶͣTARGET_TYPE - NET_DVR_TIME struStartTime;//¼ʼʱ - NET_DVR_TIME struStopTime;//¼ʱ - BYTE byRes[300]; -}NET_DVR_STATISTIC_DATA_CFG, *LPNET_DVR_STATISTIC_DATA_CFG; - -//typedef enum -//{ -// NET_SDK_ALL_TARGET = 0, //ͳж -// NET_SDK_PPT_TARGET_ALARM, //PPT -// NET_SDK_PPT_TARGET_VIEW, //PPTͼ -// NET_SDK_STU_SINGLE_ALARM, //ѧ -// NET_SDK_STU_SINGLE_VIEW, //ѧͼ -// NET_SDK_SUT_MULT_ALARM, //ѧ -// NET_SDK_STU_MULT_VIEW, //ѧͼ -// NET_SDK_STU_TEACHER_VIEW, //ʦͼ -// NET_SDK_TEA_UP_DOWN_ALARM, //ʦ½̨ -// NET_SDK_TEA_START_VIEW, //ʦڿͼ -// NET_SDK_BLA_WRITE_ALARM, //д鱨 -// NET_SDK_BLA_WRITE_VIEW, //дͼ -// NET_SDK_TEA_FULL_VIEW, //ʦȫͼ -// NET_SDK_TEA_START_ALARM, //ʦʼڿα -// NET_SDK_TEA_WALK_ALARM, //ʦ߶ -// NET_SDK_TEA_LEFT_ALARM, //ʦ뿪 -// NET_SDK_TEA_RUN_ALARM, //ʦܱ -// NET_SDK_TEA_MULT_ALARM //ʦ˱ -//}TARGET_TYPE; - -typedef struct tagNET_DVR_AUTO_TRACK_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_DIRECT_CONNECT_CHAN_INFO struSDIInfo[MAX_CHANNUM_V30] ; - //SDIͨ豸ʵʵʽģͨǰʹIPͨ - BYTE byCameraType[MAX_CHANNUM_V30]; //ֵͨͣΪ 0-壬1-ʦ۽2-ѧ۽3-ʦȫ4-ѧȫ5-ý壬6-ʦλ,7-ѧλ,8-鶨λ,9-, 0xff-δ - BYTE byRes[64]; // -}NET_DVR_AUTO_TRACK_CFG, *LPNET_DVR_AUTO_TRACK_CFG; - -typedef struct tagNET_DVR_PUBLISH_FTP_CFG -{ - BYTE byProtocolType; //Э 0-FTP1-SFTP - BYTE byRes1; // - WORD wFTPPort; //˿ - BYTE byAddress[MAX_DOMAIN_NAME]; //IP,Ҫ豸 - //ʽΪĸ'.'Ϊ,ΪIPַ - BYTE szUserName[NAME_LEN/*32*/]; //û<> - BYTE szPassWord[PASSWD_LEN/*16*/]; //<> - BYTE szCustomDir[128]; //Ŀ¼,֧Ŀ¼ṹ - BYTE byRes[12]; // -} NET_DVR_PUBLISH_FTP_CFG, *LPNET_DVR_PUBLISH_FTP_CFG; - -typedef struct tagNET_DVR_PUBLISH_HTTP_CFG -{ - BYTE strUrl[256]; //URLַϢ -}NET_DVR_PUBLISH_HTTP_CFG, *LPNET_DVR_PUBLISH_HTTP_CFG; - -typedef struct tagNET_DVR_PUBLISH_FTP_CFG_DIR -{ - BYTE byProtocolType; //Э 0-FTP1-SFTP - BYTE byRes1; // - WORD wFTPPort; //˿ - BYTE byAddress[MAX_DOMAIN_NAME]; //IP,Ҫ豸 - //ʽΪĸ'.'Ϊ,ΪIPַ - BYTE szUserName[NAME_LEN/*32*/]; //û<> - BYTE szPassWord[PASSWD_LEN/*16*/]; //<> - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼,1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - BYTE byTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ 0xff=ʹԶ*/ - BYTE bySubDirMode; /*Ŀ¼0x1=ʹͨ,0x2=ʹͨţ0x3=ʹÿγƣ0x4-ʹڿڣ0xff-ʹԶ*/ - BYTE byRes2; - BYTE byTopCustomDir[MAX_CUSTOMDIR_LEN/*32*/];/*ԶһĿ¼*/ - BYTE bySubCustomDir[MAX_CUSTOMDIR_LEN/*32*/];/*ԶĿ¼*/ - BYTE byRes[72]; // -}NET_DVR_PUBLISH_FTP_CFG_DIR, *LPNET_DVR_PUBLISH_FTP_CFG_DIR; - - -typedef union tagNET_DVR_PUBLISH_ADD_UNION -{ - BYTE byLen[256]; //峤 - NET_DVR_PUBLISH_HTTP_CFG struHttpCfg; //httpַϢ - NET_DVR_PUBLISH_FTP_CFG struFtpCfg; //ftpַϢ - NET_DVR_PUBLISH_FTP_CFG_DIR struDirFtpCfg; //Ŀ¼ʽFTP -}NET_DVR_PUBLISH_ADD_UNION, *LPNET_DVR_PUBLISH_ADD_UNION; - -typedef struct tagNET_DVR_CHAN_RECORD_PUBLISH_INFO //ͨ¼񷢲Ϣ -{ - BYTE byPublish; //Ƿ񷢲0- 1- - BYTE byRes1[3]; - DWORD dwStreamType; //һͣλʾ - //&0x1-ʾ - //&0x2-ʾ - //&0x4-ʾ - BYTE byRes[12]; // -}NET_DVR_RECORD_PUBLISH_INFO,*LPNET_DVR_RECORD_PUBLISH_INFO; - - -typedef struct tagNET_DVR_PUBLISH_CFG -{ - DWORD dwSize; //ṹС - BYTE byPublishType; //ʽ0-http,1-ftp,2-Dir FTP - BYTE byRes1[3]; // - NET_DVR_PUBLISH_ADD_UNION struPublishAddr; //һַϢ - NET_DVR_RECORD_PUBLISH_INFO struChanPublish[MAX_CHANNUM_V30]; //ͨ¼񷢲Ϣ struChanPublis[0]ʾͨ1Ӧ¼񷢲Ϣ - NET_DVR_RECORD_PUBLISH_INFO struDirectChanPublish; //ͨ¼񷢲Ϣ - BYTE byUploadTime; //Ƿʱftpϴ 0-壬1-2- - BYTE byTimerMode; //0-壬1-αʱϴһڿε¼2-ʱ㷽ʽϴǰ24Сʱ¼ - BYTE byUploadStartHour; //ʱ䶨ʱϴʼʱ ʱ - BYTE byUoploadStartMin; //ʱ䶨ʱϴ ʼʱ - BYTE byRes[1020]; // -}NET_DVR_PUBLISH_CFG, *LPNET_DVR_PUBLISH_CFG; - -typedef struct tagNET_DVR_ONEKEY_PUBLISH_CFG -{ - DWORD dwSize; //ṹС - BYTE byUseDefine; //ʹԶ 0-ʹĬϷϢ1-ʹԶ巢Ϣ - BYTE byRes1[3]; - NET_DVR_RECORD_PUBLISH_INFO struChanPublish[MAX_CHANNUM_V30]; //ͨ¼񷢲Ϣ struChanPublis[0]ʾͨ1Ӧ¼񷢲Ϣ - NET_DVR_RECORD_PUBLISH_INFO struDirectChanPublish; //ͨ¼񷢲Ϣ - NET_DVR_TIME_EX struStartTime; //γ̿ʼʱ - NET_DVR_TIME_EX struEndTime; //γ̽ʱ - BYTE bySchedulePublish; //Ƿ񰴿α0α1α - BYTE sFileName[COURSE_NAME_LEN/*32*/]; //ļ - BYTE byRes[31]; -}NET_DVR_ONEKEY_PUBLISH_CFG,*LPNET_DVR_ONEKEY_PUBLISH_CFG; - -typedef struct tagNET_DVR_COURSE_RECORDING_INFO -{ - DWORD dwSize; - char sCourseName[COURSE_NAME_LEN/*32*/]; - char sInstructorName[INSTRUCTOR_NAME_LEN/*16*/]; - char sCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byIndex; //γ - BYTE byRes[15]; -}NET_DVR_COURSE_RECORDING_INFO, *LPNET_DVR_COURSE_RECORDING_INFO; - -typedef struct tagNET_DVR_EACH_LESSON_INFO_ -{ - NET_DVR_SCHEDTIME struSchedTime ; //γֹʱ - WORD wCourseIndex ; //γ - WORD wSessionIndex ; //ڴ - BYTE byRes[4] ; // -}NET_DVR_EACH_LESSON_INFO,*LPNET_DVR_EACH_LESSON_INFO ; -// ¼״̬ -typedef struct tagNET_DVR_CURRICULUM_CFG //αƻ -{ - DWORD dwSize ; //ṹС - NET_DVR_EACH_LESSON_INFO struLessonInfo[MAX_TIMESEGMENT_V40/*16*/] ; //ÿڿϢ - BYTE byRes[256] ; // -}NET_DVR_CURRICULUM_CFG, *LPNET_DVR_CURRICULUM_CFG; - -typedef struct tagNET_DVR_DATE_ -{ - WORD wYear; // - BYTE byMonth; // - BYTE byDay; // -}NET_DVR_DATE,*LPNET_DVR_DATE; - -typedef struct _NET_DVR_PPT_DETECT_CFG_ -{ - DWORD dwSize ; - BYTE byEnablePPTDetect; //ǷPPT - BYTE byPptDetLevel; // - BYTE byEnablePartScreen; //Ƿò - BYTE byRes1; - WORD wX; // - WORD wY; - WORD wWidth; - WORD wHeight; - DWORD dwChangePixelNum;//صֵ[0,1000](ps : һͼжڱ仯) - BYTE byRes[28]; -}NET_DVR_PPT_DETECT_CFG,*LPNET_DVR_PPT_DETECT_CFG; - -typedef struct _NET_DVR_SCREEN_SWITCH_ -{ - DWORD dwSize; - BYTE byRes[64]; // -}NET_DVR_SCREEN_SWITCH, *LPNET_DVR_SCREEN_SWITCH; - -typedef struct _NET_DVR_PPT_CHANNEL_CFG_ -{ - DWORD dwSize ; - BYTE byChan[MAX_PPT_CHAN]; - BYTE byRes[32]; -}NET_DVR_PPT_CHANNEL_CFG,*LPNET_DVR_PPT_CHANNEL_CFG; - -typedef struct tagNET_DVR_BACKUP_RECORD_INFO -{ - BYTE byEnable; //Ƿ - BYTE byRes[11]; - //ͣλʾ - //&0x1-ʾ - //&0x2-ʾ - //&0x4-ʾ - DWORD dwStreamType; -}NET_DVR_BACKUP_RECORD_INFO, *LPNET_DVR_BACKUP_RECORD_INFO; - -typedef struct tagNET_DVR_BACKUP_RECORD_PARAM -{ - DWORD dwSize ; - NET_DVR_BACKUP_RECORD_INFO struChanBackUp[MAX_CHANNUM_V30/*64*/]; //Ҫݵͨ,±ӦӦͨ - NET_DVR_BACKUP_RECORD_INFO struDirectedChanBackUp; //ͨϢ - BYTE byRes[256]; // ֽ -}NET_DVR_BACKUP_RECORD_PARAM, *LPNET_DVR_BACKUP_RECORD_PARAM; - -//ڻ -typedef struct tagNET_DVR_INDOOR_UNIT_DEVICEID -{ - SHORT wFloorNumber; // - WORD wRoomNumber; // - WORD wDevIndex; //ڻţ0-10 - BYTE byRes[122]; // -}NET_DVR_INDOOR_UNIT_DEVICEID,*LPNET_DVR_INDOOR_UNIT_DEVICEID; - -//ſڻ -typedef struct tagNET_DVR_OUTDOOR_UNIT_DEVICEID -{ - WORD wPeriod; //ں, Χ[0,9] - WORD wBuildingNumber; //¥ - WORD wUnitNumber; //Ԫ - SHORT wFloorNumber; // - WORD wDevIndex; //ſڻţÿһſڻΨһ0ʼ - BYTE byRes[118]; // -}NET_DVR_OUTDOOR_UNIT_DEVICEID,*LPNET_DVR_OUTDOOR_UNIT_DEVICEID; - -//Χǽ -typedef struct tagNET_DVR_OUTDOOR_FENCE_DEVICEID -{ - WORD wPeriod; //ں, Χ[0,9] - WORD wDevIndex; //ΧǽţÿһſڻΨһ0ʼ - BYTE byRes[124]; // -}NET_DVR_OUTDOOR_FENCE_DEVICEID,*LPNET_DVR_OUTDOOR_FENCE_DEVICEID; - -// -typedef struct tagNET_DVR_MANAGE_UNIT_DEVICEID -{ - WORD wPeriod; //ںţΧ[0,9] - WORD wDevIndex; //ţÿһйΨһ,0ʼ - BYTE byRes[124]; // -}NET_DVR_MANAGE_UNIT_DEVICEID,*LPNET_DVR_MANAGE_UNIT_DEVICEID; - -//ӶԽ豸 -typedef union tagNET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION -{ - BYTE byLen[128] ; //С - NET_DVR_INDOOR_UNIT_DEVICEID struIndoorUnit; //ڻ - NET_DVR_OUTDOOR_UNIT_DEVICEID struOutdoorUnit; //ſڻ/Ž豸 - NET_DVR_MANAGE_UNIT_DEVICEID struManageUnit; // - NET_DVR_OUTDOOR_FENCE_DEVICEID struFenceUnit; //Χǽ - NET_DVR_OUTDOOR_UNIT_DEVICEID struVillaOutdoorUnit; //ſڻ - NET_DVR_OUTDOOR_UNIT_DEVICEID struAgainConfirmUnit; //ȷϻ -}NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION,*LPNET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION; - -//豸Ųṹ -typedef struct tagNET_DVR_VIDEO_INTERCOM_DEVICEID_CFG -{ - DWORD dwSize; //ṹС - BYTE byUnitType; //豸ͣ1-ſڻ2- 4-Χǽ,5-ſڻ6-ȷϻ7-Ž豸,8-4200ͻ, 9-APP,10-նˣ11-IPC豸12-豸,13-ģڻ - BYTE byIsAutoReg; //ǷԶעᣬ0-1- - BYTE byRes1[2]; // - NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION uVideoIntercomUnit; //ȡֵοbyUnitType - BYTE byRes2[128]; // -}NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG,*LPNET_DVR_VIDEO_INTERCOM_DEVICEID_CFG; - -//Ȩ -typedef enum tagPRIVILEGE_PASSWORD_TYPE_ENUM -{ - ENUM_PRIVILEGE_PASSWORD_ENGINEERING = 1, // - ENUM_PRIVILEGE_PASSWORD_SETUPALARM = 2, /// - ENUM_PRIVILEGE_PASSWORD_HOUSEHOLDER_UNLOCK = 3, // - ENUM_PRIVILEGE_PASSWORD_ANTI_HIJACKING = 4, //ٳ - ENUM_PRIVILEGE_PASSWORD_PUBLIC1 = 5, //1 - ENUM_PRIVILEGE_PASSWORD_PUBLIC2 = 6, //2 - ENUM_PRIVILEGE_PASSWORD_PUBLIC3 = 7, //3 - ENUM_PRIVILEGE_PASSWORD_SENDCARD = 8// -}PRIVILEGE_PASSWORD_TYPE_ENUM; - -//ȨϢ -typedef struct tagNET_DVR_PRIVILEGE_PASSWORD_CFG -{ - DWORD dwSize; //ṹС - BYTE byPwdType; //ͣοPRIVILEGE_PASSWORD_TYPE_ENUM - BYTE byRes1[3]; // - BYTE byOldPassword[PASSWD_LEN]; // - BYTE byNewPassword[PASSWD_LEN]; // - BYTE byRes2[128]; // -}NET_DVR_PRIVILEGE_PASSWORD_CFG,*LPNET_DVR_PRIVILEGE_PASSWORD_CFG; - - -//ڻʱ -typedef struct tagNET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG -{ - DWORD dwMaxMonitoringTime; //ʾʱ䣬Χ[10,60] - DWORD dwMaxRingTime; //ʱ䣬Χ[15,60] - DWORD dwCallForwardingTime; //תƳʱʱ䣬Χ[0,20] - DWORD dwRingDurationTime; //峬ʱʱ䣬Χ[30,60]룬Ĭ30 - BYTE byRes[112];// -}NET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG; - -//ʱ -typedef struct tagNET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG -{ - DWORD dwMaxMessageTime; //ʱ䣬Χ[30,60] - DWORD dwMaxTalkTime; //ͨʱ䣬Χ[90,120] - BYTE byRes[120]; // -}NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG; - -//ʱ -typedef struct tagNET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG -{ - DWORD dwMaxMonitoringTime; //ʾʱ䣬Χ[10,60] - DWORD dwMaxRingTime; //ʱ䣬Χ[15,60] - DWORD dwMaxTalkTime; //ͨʱ䣬λs - BYTE byRes[116]; // -}NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG; - -//ӶԽʱ -typedef union tagNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION -{ - BYTE byLen[128]; //С - NET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG struIndoorUnit; //ڻ - NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG struOutdoorUnit; //ſڻ/Χǽ/ſڻ/ȷϻ - NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG struManageUnit; // -}NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION,*LPNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION; - -//ӶԽʱ -typedef struct tagNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG -{ - DWORD dwSize; //ṹС - BYTE byUnitType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ - BYTE byRes1[3]; // - NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION uVideoIntercomUnit; //ȡֵοbyUnitType - BYTE byRes2[128]; // -}NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG,*LPNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG; - -//ڻ豸 -typedef struct tagNET_DVR_INDOOR_UNIT_RELATEDEV -{ - NET_DVR_IPADDR struOutdoorUnit; //ſڻIP - NET_DVR_IPADDR struManageUnit; //IP - NET_DVR_IPADDR struSIPServer; //SIPIP - NET_DVR_IPADDR struAgainUnit; //ȷϻIP - BYTE byOutDoorType; //ſڻͣ01-Ԫſڻ2-ſڻ - BYTE byOutInConnectMode; //ſڻڷֻģʽ1-ſڻڷֻͬһ,2-ſڻڷֻͬ - BYTE byIndoorConnectMode; //ڷֻģʽ1-ͨ2-ͨ - BYTE byRes1; - NET_DVR_IPADDR struIndoorUnit; //IP - BYTE byManageCenterID[32]; //׼sipģʽʹãID֧֣ĸ@. - BYTE byRes[268]; // -}NET_DVR_INDOOR_UNIT_RELATEDEV,*LPNET_DVR_INDOOR_UNIT_RELATEDEV; - -//ſڻ豸 -typedef struct tagNET_DVR_OUTDOOR_UNIT_RELATEDEV -{ - NET_DVR_IPADDR struMainOutdoorUnit; //ſڻIPſڻʱЧ - NET_DVR_IPADDR struManageUnit; //IP - NET_DVR_IPADDR struSIPServer; //SIPIPſڻʱЧ - BYTE byManageCenterID[32]; //׼sipģʽʹãID֧֣ĸ@. - BYTE byRes[560]; // -}NET_DVR_OUTDOOR_UNIT_RELATEDEV,*LPNET_DVR_OUTDOOR_UNIT_RELATEDEV; - -//ȷϻ豸 -typedef struct tagNET_DVR_AGAIN_RELATEDEV -{ - NET_DVR_IPADDR struSIPServer; //SIPIP - NET_DVR_IPADDR struCenterAddr; //ƽ̨IP - WORD wCenterPort; //ƽ̨˿ - BYTE byRes1[2]; - NET_DVR_IPADDR struIndoorUnit; //IP - NET_DVR_IPADDR struAgainAddr; //ȷϻIPȷϻøֶΣ - BYTE byRes[444];// -}NET_DVR_AGAIN_RELATEDEV,*LPNET_DVR_AGAIN_RELATEDEV; - - -//豸 -typedef struct tagNET_DVR_MANAGE_UNIT_RELATEDEV -{ - NET_DVR_IPADDR struSIPServer; //SIPIP - BYTE byRes[880]; // -}NET_DVR_MANAGE_UNIT_RELATEDEV,*LPNET_DVR_MANAGE_UNIT_RELATEDEV; - - -//ӶԽ豸ṹ -typedef union tagNET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION -{ - DWORD dwRes[256] ; //С - NET_DVR_INDOOR_UNIT_RELATEDEV struIndoorUnit; //ڻ - NET_DVR_OUTDOOR_UNIT_RELATEDEV struMainOutdoorUnit; //ſڻ/Χǽ/Ž豸 - NET_DVR_MANAGE_UNIT_RELATEDEV struManageUnit; // - NET_DVR_OUTDOOR_UNIT_RELATEDEV struVillaUnit; //ſڻ - NET_DVR_AGAIN_RELATEDEV struAgainUnit; //ȷϻ -}NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION,*LPNET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION; - -//豸ṹ -typedef struct tagNET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG -{ - DWORD dwSize; //ṹС - BYTE byUnitType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-Ž豸 - BYTE byRes1[3]; // - NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION uVideoIntercomUnit; //ȡֵοbyUnitType - BYTE byRes2[128]; // -}NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG,*LPNET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG; - -typedef struct tagNET_DVR_CONTROL_GATEWAY -{ - DWORD dwSize; //ṹС - DWORD dwGatewayIndex; //Žţ1ʼ - BYTE byCommand; //0-رգ1-򿪣2-ͨ״̬3-ָͨ״̬ - BYTE byLockType; //ͣ0-ͨǰĬ϶Ϊ0,1- - WORD wLockID; //ID1ʼԶ̿ſڻʱ0ʾſڻϽӵ1ʾӿϽӵ - BYTE byControlSrc[NAME_LEN]; //ԴϢ - BYTE byControlType; //ͣ1-ʾ2-ͨ - BYTE byRes3[3]; - BYTE byPassword[PASSWD_LEN]; //룬byLockTypeΪʱЧ - BYTE byRes2[108]; // -}NET_DVR_CONTROL_GATEWAY,*LPNET_DVR_CONTROL_GATEWAY; - - -//ͼƬϢṹ -typedef struct tagNET_DVR_NOTICE_PIC -{ - BYTE* pPicData; //ͼƬָ - DWORD dwPicDataLen; //ͼƬݳ - BYTE byRes[32]; // -}NET_DVR_NOTICE_PIC,*LPNET_DVR_NOTICE_PIC; - -// -typedef struct tagNET_DVR_NOTICE_DATA -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_EX struTime; //ʱ - BYTE byNoticeNumber[MAX_NOTICE_NUMBER_LEN]; // - BYTE byNoticeTheme[MAX_NOTICE_THEME_LEN];// - BYTE byNoticeDetail[MAX_NOTICE_DETAIL_LEN]; // - BYTE byLevel; //ȼ1-Ϣ2-ҵϢ3-Ϣ;4-֪ͨϢ - BYTE byPicNum; //ͼƬ - BYTE byRes1[2]; // - NET_DVR_NOTICE_PIC struNoticePic[MAX_NOTICE_PIC_NUM]; //ͼƬ - BYTE byRes2[128]; // -}NET_DVR_NOTICE_DATA,*LPNET_DVR_NOTICE_DATA; - -//Ȩ֤ -typedef struct tagNET_DVR_OPERATION_AUTH -{ - DWORD dwSize; //ṹС - BYTE byPassword[PASSWD_LEN]; //֤ - BYTE byRes[128]; // -}NET_DVR_OPERATION_AUTH,*LPNET_DVR_OPERATION_AUTH; - -// -typedef enum tagUNLOCK_TYPE_ENUM -{ - ENUM_UNLOCK_PASSWORD = 1, //뿪 - ENUM_UNLOCK_HIJACKING = 2, //ٳֿ - ENUM_UNLOCK_CARD = 3, //ˢ - ENUM_UNLOCK_HOUSEHOLDER = 4, // - ENUM_UNLOCK_CENTER_PLATFORM = 5, //ƽ̨ - ENUM_UNLOCK_BLUETOOTH = 6, // - ENUM_UNLOCK_QR_CODE = 7, //ά뿪 - ENUM_UNLOCK_FACE = 8, // - ENUM_UNLOCK_FINGERPRINT = 9, //ָƿ - ENUM_UNLOCK_DYNAMIC_CODE = 10 //̬Ȩ뿪 -}UNLOCK_TYPE_ENUM; - - -//ͣͲƷȷϣ˶ûʹãʹõDETECTOR_TYPE -// typedef enum tagALARM_ZONE_TYPE_ENUM -// { -// ENUM_ALARM_ZONE_SMOKE = 1, //̸ -// ENUM_ALARM_ZONE_GAS = 2, //ú -// ENUM_ALARM_ZONE_INFRARED = 3, // -// ENUM_ALARM_ZONE_MAGNETIC = 4, //Ŵ -// ENUM_ALARM_ZONE_MANUAL = 5 //ֶ -// }ALARM_ZONE_TYPE_ENUM; - -//¼ -typedef struct tagNET_DVR_UNLOCK_RECORD_INFO -{ - BYTE byUnlockType; //ʽοUNLOCK_TYPE_ENUM - BYTE byRes1[3]; // - BYTE byControlSrc[NAME_LEN]; //ԴϢˢʱΪţʱΪөʯAPP˺ţά뿪ʱΪÿ͵ֻţΪ豸 - DWORD dwPicDataLen; //ͼƬݳ - BYTE* pImage; //ͼƬָ - DWORD dwCardUserID; //ֿID - SHORT nFloorNumber;//ˢʱЧΪ¥ - WORD wRoomNumber; //ԴϢˢʱЧΪţ - WORD wLockID; //ſڻ0-ʾϽӵ1-ʾӿϽӵ - BYTE byRes2[2]; - BYTE byLockName[LOCK_NAME_LEN]; //ˢʱЧƣӦŲ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byMask; //Ƿ֣0-1-δ֪2-δ֣3- - BYTE byRes[135]; // -}NET_DVR_UNLOCK_RECORD_INFO,*LPNET_DVR_UNLOCK_RECORD_INFO; - -//ϢĶִ -typedef struct tagNET_DVR_NOTICEDATA_RECEIPT_INFO -{ - BYTE byNoticeNumber[MAX_NOTICE_NUMBER_LEN]; // - BYTE byRes[224]; // -}NET_DVR_NOTICEDATA_RECEIPT_INFO,*LPNET_DVR_NOTICEDATA_RECEIPT_INFO; - -//֤¼豸δʵ֣ -typedef struct tagNET_DVR_AUTH_INFO -{ - BYTE byAuthResult; //֤0-Ч1-֤ɹ2-֤ʧ - BYTE byAuthType; //֤ʽ0-Ч1-ָƣ2- - BYTE byRes1[2]; // - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - DWORD dwPicDataLen; //ͼƬݳȣ֤ʽbyAuthTypeΪʱЧ - BYTE* pImage; //ͼƬָ루֤ʽbyAuthTypeΪʱЧ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN/*32*/]; //ţԱID - BYTE byRes[180]; // -}NET_DVR_AUTH_INFO, *LPNET_DVR_AUTH_INFO; - -//Ϣϴ -typedef struct tagNET_DVR_UPLOAD_PLATE_INFO -{ - char sLicense[MAX_LICENSE_LEN]; //ƺ - BYTE byColor; //ɫοṹVCA_PLATE_COLOR - BYTE byRes[239]; // -}NET_DVR_UPLOAD_PLATE_INFO, *LPNET_DVR_UPLOAD_PLATE_INFO; - -typedef struct tagNET_DVR_SEND_CARD_INFO -{ - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - BYTE byRes[224]; // -}NET_DVR_SEND_CARD_INFO, *LPNET_DVR_SEND_CARD_INFO; - -//Ŵ״̬ϱ -typedef struct tagNET_DVR_MAGNETIC_DOOR_STATUS -{ - BYTE byMagneticDoorStatus; //Ŵ״̬ 1- 2-ر - BYTE byRes[255]; // -} NET_DVR_MAGNETIC_DOOR_STATUS, *LPNET_DVR_MAGNETIC_DOOR_STATUS; - -//ӶԽ¼¼Ϣ -typedef union tagNET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON -{ - BYTE byLen[256]; //С - NET_DVR_UNLOCK_RECORD_INFO struUnlockRecord; //¼ - NET_DVR_NOTICEDATA_RECEIPT_INFO struNoticedataReceipt; //ϢĶִ - NET_DVR_AUTH_INFO struAuthInfo; //֤¼豸δʵ֣ - NET_DVR_UPLOAD_PLATE_INFO struUploadPlateInfo; //Ϣϴ - NET_DVR_SEND_CARD_INFO struSendCardInfo; //ſڻ,Ӧ豸ڷ״̬ˢʱϴ¼ - NET_DVR_MAGNETIC_DOOR_STATUS struMagneticDoorStatus; //Ŵ״̬ -}NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON,*LPNET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON; - -//ӶԽ¼¼ -typedef struct tagNET_DVR_VIDEO_INTERCOM_EVENT -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_EX struTime; //ʱ - BYTE byDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byEventType; //¼Ϣͣ1-¼2-ϢĶִ3-֤¼4-Ϣϴ5Ƿˢ¼6-ſڻ¼(ҪſڻܣˢʱŻϴ¼)7-ּ¼8-Ŵ״̬¼ - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1[2]; // - NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON uEventInfo; //¼ϢݲοbyEventTypeȡֵ - DWORD dwIOTChannelNo; //IOTͨ - BYTE byRes2[252]; // -}NET_DVR_VIDEO_INTERCOM_EVENT,*LPNET_DVR_VIDEO_INTERCOM_EVENT; - - -//Ϣ -typedef struct tagNET_DVR_ZONE_ALARM_INFO -{ - BYTE byZoneName[NAME_LEN]; // - DWORD dwZonendex; // - BYTE byZoneType; //ͣοDETECTOR_TYPE - BYTE byRes[219]; // -}NET_DVR_ZONE_ALARM_INFO,*LPNET_DVR_ZONE_ALARM_INFO; - -//Ϣ -typedef struct tagNET_DVR_LOCK_ALARM_INFO -{ - DWORD dwLockID; //ID0ʼ - BYTE byRes[252]; //ֽ -}NET_DVR_LOCK_ALARM_INFO, *LPNET_DVR_LOCK_ALARM_INFO; - -typedef union tagNET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION -{ - BYTE byLen[256]; //С - NET_DVR_ZONE_ALARM_INFO struZoneAlarm; // - NET_DVR_LOCK_ALARM_INFO struLockAlarm; //Ϣ -}NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION,*LPNET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION; - - -//ӶԽϢ -typedef struct tagNET_DVR_VIDEO_INTERCOM_ALARM -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_EX struTime; //ʱ - BYTE byDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byAlarmType; //ͣ1-2-𱨾3-ٳֱ4-뿪ʧܱ,5-û6-û 7-SOS 8-ͨԽ9-ٳָƱ 10-ٳ뱨11-ű12-13-㱨 ,14-ֹ,15- - //16-Žȫģ𱨾17-豸ʼԽ18-豸ֹͣԽ, 19-ȡSOS ,20-δֱ 21-뱨 22-ָ 23-Ŵű򿪣24-䱨25-ȡ䱨26-ҩѣ27-±28-ȡҩ - BYTE byRes1[3]; // - NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION uAlarmInfo; //ϢݲοֶbyAlarmTypeȡֵ - WORD wLockID; //0-ʾſڻϽӵ1-ʾӿϽӵΪ56ʱЧ - BYTE byRes3[2]; // - DWORD dwIOTChannelNo; //IOTͨ - BYTE byRes2[248]; // -}NET_DVR_VIDEO_INTERCOM_ALARM,*LPNET_DVR_VIDEO_INTERCOM_ALARM; - -typedef struct tagNET_DVR_PEOPLE_REGION -{ - BYTE byID;//ID - BYTE byNumber;//еԱ 0-ʾûԱ - BYTE byDressType;//װ 0-δ֪1-ۡ2-¡3-Ʒ - BYTE byRes; - NET_VCA_RECT struRegion; - DWORD dwPicLen;//ͼƬ (0ʾûг) - char* pPicBuffer;//ͼƬ - BYTE byRes1[24];//(Ԥչ) -}NET_DVR_PEOPLE_REGION,*LPNET_DVR_PEOPLE_REGION; - -typedef struct tagNET_DVR_PEOPLE_DETECTION_RESULT -{ - DWORD dwSize; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸Ϣ - NET_DVR_PEOPLE_REGION struPeopleRegion[MAX_PEOPLE_DETECTION_NUM/*8*/]; - /*Աⱨ - 0- δ֪ - 1- ѶڴܶŹ - 2- ѶԱ˯ⱨ - 3- ѶԱⱨ - 4- Ա⣩ - */ - BYTE byPeopleAlarmType; - BYTE byRes[255]; -}NET_DVR_PEOPLE_DETECTION_RESULT,*LPNET_DVR_PEOPLE_DETECTION_RESULT; - -typedef struct tagNET_DVR_SUPPLEMENTLIGHT -{ - BYTE byEnable;//ʹ 0-أ1- - BYTE byMode;//ģʽ 0-Զ1-ʱ - BYTE byHighBeamBrightness;//Զ[0,10] - BYTE byLowBeamBrightness;//[0,10] - NET_DVR_SCHEDULE_DAYTIME struSchedTime;//ʱʱ - WORD wFilteringTime;//ʱ(s)[0,120] - BYTE byBrightness;//[0,10]ָ֧òʱ byHighBeamBrightnessbyLowBeamBrightnessЧ - BYTE bySensitivity;//[0,7],Ĭ4byModeΪԶʱЧ - BYTE byBrightnessRegulatMode;// ȵģʽ0-ֶ1-ԶΪԶʱbyBrightnessЧ - BYTE byMaxBrightness;//ȣȵģʽΪԶʱЧ[0,100]Ĭ50 - BYTE byRes[58]; -}NET_DVR_SUPPLEMENTLIGHT,*LPNET_DVR_SUPPLEMENTLIGHT; - -typedef struct tagNET_DVR_EXTERNALDEVICE -{ - DWORD dwSize;//ṹС - NET_DVR_SUPPLEMENTLIGHT struSupplementLight;//ƽṹϢ - BYTE byRes[512]; -}NET_DVR_EXTERNALDEVICE,*LPNET_DVR_EXTERNALDEVICE; -typedef struct tagNET_DVR_TEMPERATURE_TRIGGER_COND -{ - DWORD dwSize;//ṹС - DWORD dwChan;//ͨ - DWORD dwPreset;//Ԥõ - BYTE byRes[256]; -}NET_DVR_TEMPERATURE_TRIGGER_COND, *LPNET_DVR_TEMPERATURE_TRIGGER_COND; -//(֧֣ʵ֣豸ڲ) -typedef struct tagNET_DVR_BUILTIN_SUPPLEMENTLIGHT -{ - DWORD dwSize;//ṹС - BYTE byMode;//ģʽ 0-ʱ1-2-رգ3-Զǹ㷨ʶ - BYTE byBrightnessLimit;//[0,100] - BYTE bySupplementLightMode;//,0~׹ģʽ,1~ģʽ - BYTE byMixedLightRegulatMode;//ϲȵģʽ,0~Զ,1~ֶ,bySupplementLightMode = 1ʱЧ - BYTE byLrLightBrightness;//ȿ[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byHighLrLightBrightness;// Զ[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byHighBrightnessLimit;// Զ׹[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byLowLrLightBrightness;// [0,100],byMixedLightRegulatMode = 1ʱЧ - NET_DVR_SCHEDULE_DAYTIME struSchedTime;//ʱʱ - BYTE byLowBrightnessLimit;//׹[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byWhiteLightBrightness;// ׹ - BYTE byIrLightbrightnessLimit;//, - BYTE byWhiteLightbrightnessLimit;//,׹ - BYTE byRes1[252]; -}NET_DVR_BUILTIN_SUPPLEMENTLIGHT,*LPNET_DVR_BUILTIN_SUPPLEMENTLIGHT; -typedef struct tagNET_DVR_OIS_CFG -{ - DWORD dwSize;//ṹС - BYTE byMode; //Ƿѧ0-رգ1-ͨ2-ר - BYTE byOISLevel; //ѧȼ0-ͣ1-У2- - BYTE byOISSensitivity;//ѧȣ0-ͣ1-У2- - BYTE byRes[125]; -}NET_DVR_OIS_CFG, *LPNET_DVR_OIS_CFG; - -typedef struct tagNET_DVR_MACFILTER_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //ǷMACַˣ0-1- - BYTE byPermissionType; //MACַͣ0-ֹ1- - BYTE byRes1[2]; - BYTE szMacAddress[MAC_ADDRESS_NUM][MACADDR_LEN]; - BYTE byRes[128]; -}NET_DVR_MACFILTER_CFG, *LPNET_DVR_MACFILTER_CFG; - -typedef struct tagNET_DVR_EAGLEFOCUSING_SENCE -{ - BYTE byRuleType;//ͣ0- - BYTE bySceneID;//ID0- 1DZʾ1,2ʾ2 - WORD wRate;//ʣ50-100 - NET_VCA_POLYGON struRegion;// Χ - BYTE bySpotNum;//ڱ궨ȡٸб궨3-5Ĭ3 - BYTE byRes[127]; -}NET_DVR_EAGLEFOCUSING_SENCE, *LPNET_DVR_EAGLEFOCUSING_SENCE; - -typedef struct tagNET_DVR_EAGLEFOCUSING_CALCFG -{ - DWORD dwSize; - BYTE byEnabled;//Ƿ궨0-ֹ궨1-ʼ궨ýڵʱЧȡʱЧ - BYTE byRes1[3]; - NET_DVR_EAGLEFOCUSING_SENCE struEagleFoucsing[MAX_SENCE_NUM/*16*/]; - BYTE byRes[512]; -}NET_DVR_EAGLEFOCUSING_CALCFG, *LPNET_DVR_EAGLEFOCUSING_CALCFG; - -typedef struct tagNET_DVR_EAGLEFOCUSING_CTRL -{ - DWORD dwSize; - BYTE byEnable;//ʹܣ0-رӥӾ۽1-ӥӾ۽ - BYTE byHeightCompensationEnable;//߶Ȳʹ - BYTE byHeightCompensationValue;//߶Ȳֵ, Χ1-5,Ĭ3,һֵ0.5 - BYTE byRes[509]; -}NET_DVR_EAGLEFOCUSING_CTRL, *LPNET_DVR_EAGLEFOCUSING_CTRL; - -typedef struct tagNET_DVR_SMARTCALIBRATION_REGION -{ - BYTE byRuleID;// - BYTE byMode;//0-default Mode,1-pix Mode,2-actual Mode - BYTE byStrategy;//˲ 0-area(),1-widthHeight() () - BYTE byPriority;//ȼ 0-Ĭֵ, 1-ͣ2-У3- - NET_VCA_POLYGON struMaxTargetSize;//Ŀߴ - NET_VCA_POLYGON struMinTargetSize;//СĿߴ -}NET_DVR_SMARTCALIBRATION_REGION, *LPNET_DVR_SMARTCALIBRATION_REGION; - -#define RULE_REGION_MAX 128 -typedef struct tagNET_DVR_SMARTCALIBRATION_CFG -{ - DWORD dwSize;//ṹС - /* SmartType: - 0-linedetection, - 1-fielddetection, - 2-regionEntrance, - 3-regionExiting, - 4-loitering, - 5-rapidMove, - 6-parking, - 7-unattendedBaggage, - 8-attendedBaggage - */ - BYTE bySmartType;// - BYTE byRes[3]; - NET_DVR_SMARTCALIBRATION_REGION strRegion[RULE_REGION_MAX/*128*/]; - BYTE byRes1[128]; -}NET_DVR_SMARTCALIBRATION_CFG, *LPNET_DVR_SMARTCALIBRATION_CFG; - -typedef struct tagNET_DVR_SMARTCALIBRATION_COND -{ - DWORD dwSize;//ṹС - /* SmartType: - 0-linedetection, - 1-fielddetection, - 2-regionEntrance, - 3-regionExiting, - 4-loitering, - 5-rapidMove, - 6-parking, - 7-unattendedBaggage, - 8-attendedBaggage - */ - BYTE bySmartType;// - BYTE byRes[3]; - DWORD dwChannel;//ͨ - BYTE byRes1[128]; -}NET_DVR_SMARTCALIBRATION_COND, *LPNET_DVR_SMARTCALIBRATION_COND; - -typedef struct tagNET_DVR_SMARTCALIBRATION_REGION_CFG -{ - DWORD dwSize;//ṹС - NET_DVR_SMARTCALIBRATION_REGION strRegion[RULE_REGION_MAX/*128*/]; - BYTE byRes1[128]; -}NET_DVR_SMARTCALIBRATION_REGION_CFG, *LPNET_DVR_SMARTCALIBRATION_REGION_CFG; - - -typedef struct tagNET_DVR_OSD_BATTERY_POWER_CFG -{ - DWORD dwSize; - NET_VCA_POINT struOSDBatteryPower;//ͳʾOSDʾϽ - BYTE byOSDBatteryPower;//صOSDʾʹ, 0-1- - BYTE byRes[63]; -}NET_DVR_OSD_BATTERY_POWER_CFG, *LPNET_DVR_OSD_BATTERY_POWER_CFG; - -#define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ -#define CARD_PARAM_VALID 0x00000002 //Чڲ -#define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ -#define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ -#define CARD_PARAM_LEADER_CARD 0x00000010 //׿ -#define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ -#define CARD_PARAM_GROUP 0x00000040 //Ⱥ -#define CARD_PARAM_PASSWORD 0x00000080 // -#define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ -#define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ - -typedef struct tagNET_DVR_VALID_PERIOD_CFG -{ - BYTE byEnable; //ʹЧڣ0-ʹܣ1ʹ - BYTE byBeginTimeFlag; //Ƿʼʱı־0-ƣ1- - BYTE byEnableTimeFlag; //Ƿֹʱı־0-ƣ1- - BYTE byTimeDurationNo; //Ч,0ʼʱͨSDKøƿʱֻҪЧɣԼ - NET_DVR_TIME_EX struBeginTime; //Чʼʱ - NET_DVR_TIME_EX struEndTime; //Чڽʱ - BYTE byTimeType; //ʱͣ0-豸ʱ䣨Ĭϣ1-UTCʱ䣨struBeginTimestruEndTimeֶЧ - BYTE byRes2[31]; -}NET_DVR_VALID_PERIOD_CFG, *LPNET_DVR_VALID_PERIOD_CFG; - -typedef struct tagNET_DVR_CARD_CFG -{ - DWORD dwSize; - DWORD dwModifyParamType; - // Ҫ޸ĵĿÿʱЧλʾÿλһֲ1ΪҪ޸ģ0Ϊ޸ - // #define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ - // #define CARD_PARAM_VALID 0x00000002 //Чڲ - // #define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ - // #define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ - // #define CARD_PARAM_LEADER_CARD 0x00000010 //׿ - // #define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ - // #define CARD_PARAM_GROUP 0x00000040 //Ⱥ - // #define CARD_PARAM_PASSWORD 0x00000080 // - // #define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ - // #define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byCardValid; //ǷЧ0-Ч1-ЧɾʱΪ0ɾȡʱֶʼΪ1 - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ĭͨ - BYTE byLeaderCard; //ǷΪ׿1-ǣ0- - BYTE byRes1; - DWORD dwDoorRight; //Ȩޣλʾ1ΪȨޣ0ΪȨޣӵλλʾ1-NǷȨ - NET_DVR_VALID_PERIOD_CFG struValid; //Чڲ - DWORD dwBelongGroup; //Ⱥ飬λʾ1-ڣ0-ڣӵλλʾǷȺ1-N - BYTE byCardPassword[CARD_PASSWORD_LEN]; // - BYTE byCardRightPlan[MAX_DOOR_NUM][MAX_CARD_RIGHT_PLAN_NUM]; //Ȩ޼ƻȡֵΪƻģţͬŲͬƻģȨ޻ķʽ - DWORD dwMaxSwipeTime; //ˢ0Ϊ޴ - DWORD dwSwipeTime; //ˢ - WORD wRoomNumber; // - SHORT wFloorNumber; // - BYTE byRes2[20]; -}NET_DVR_CARD_CFG, *LPNET_DVR_CARD_CFG; - -typedef struct _NET_DVR_CARD_CFG_COND -{ - DWORD dwSize; - DWORD dwCardNum; //ûȡȡʱΪ0xffffffffʾȡпϢ - BYTE byCheckCardNo; //豸ǷпУ飬0-У飬1-У - BYTE byRes1[3]; - WORD wLocalControllerID; //͵ؿţʾ͵ؿ·߿0Ž - BYTE byRes2[2]; - DWORD dwLockID; //ID - BYTE byRes3[20]; -}NET_DVR_CARD_CFG_COND, *LPNET_DVR_CARD_CFG_COND; - -typedef struct _NET_DVR_CARD_CFG_SEND_DATA -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - DWORD dwCardUserId; //ֿID - BYTE byRes[12]; -}NET_DVR_CARD_CFG_SEND_DATA, *LPNET_DVR_CARD_CFG_SEND_DATA; - -typedef struct tagNET_DVR_CARD_USER_INFO_CFG /*Ӧýṹ*/ -{ - DWORD dwSize; - BYTE sUsername[NAME_LEN]; /* û*/ - BYTE byAssociateNetUser; //û - BYTE byRes2[255]; //byRes2[0]--籨û -}NET_DVR_CARD_USER_INFO_CFG, *LPNET_DVR_CARD_USER_INFO_CFG; - -#define ACS_PARAM_DOOR_STATUS_WEEK_PLAN 0x00000001 //״̬ܼƻ -#define ACS_PARAM_VERIFY_WEEK_PALN 0x00000002 //ܼƻ -#define ACS_PARAM_CARD_RIGHT_WEEK_PLAN 0x00000004 //Ȩܼƻ -#define ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN 0x00000008 //״̬ռƻ -#define ACS_PARAM_VERIFY_HOLIDAY_PALN 0x00000010 //ռƻ -#define ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN 0x00000020 //Ȩ޼ռƻ -#define ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP 0x00000040 //״̬ -#define ACS_PARAM_VERIFY_HOLIDAY_GROUP 0x00000080 //֤ʽ -#define ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP 0x00000100 //Ȩ޼ -#define ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE 0x00000200 //״̬ƻģ -#define ACS_PARAM_VERIFY_PALN_TEMPLATE 0x00000400 //֤ʽƻģ -#define ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE 0x00000800 //Ȩ޼ƻģ -#define ACS_PARAM_CARD 0x00001000 // -#define ACS_PARAM_GROUP 0x00002000 //Ⱥ -#define ACS_PARAM_ANTI_SNEAK_CFG 0x00004000 //DZز -#define ACS_PAPAM_EVENT_CARD_LINKAGE 0x00008000 //¼ -#define ACS_PAPAM_CARD_PASSWD_CFG 0x00010000 //뿪ʹܲ -#define ACS_PARAM_PERSON_STATISTICS_CFG 0x00020000 //ͳƲ -#define ACS_PARAM_BLOCKLIST_PICTURE 0x00040000 //ֹͼƬ -#define ACS_PARAM_ID_BLOCKLIST 0x00080000 //ֹ֤ -#define ACS_PARAM_EXAM_INFO 0x00100000 //Ϣ -#define ACS_PARAM_EXAMINEE_INFO 0x00200000 //Ϣ -#define ACS_PARAM_FAILED_FACE_INFO 0x00400000 //豸ģʧܼ¼ - -typedef struct tagNET_DVR_ACS_PARAM_TYPE -{ - DWORD dwSize; - DWORD dwParamType; //ͣλʾ - //#define ACS_PARAM_DOOR_STATUS_WEEK_PLAN 0x00000001 //״̬ܼƻ - //#define ACS_PARAM_VERIFY_WEEK_PALN 0x00000002 //ܼƻ - //#define ACS_PARAM_CARD_RIGHT_WEEK_PLAN 0x00000004 //Ȩܼƻ - //#define ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN 0x00000008 //״̬ռƻ - //#define ACS_PARAM_VERIFY_HOLIDAY_PALN 0x00000010 //ռƻ - //#define ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN 0x00000020 //Ȩ޼ռƻ - //#define ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP 0x00000040 //״̬ - //#define ACS_PARAM_VERIFY_HOLIDAY_GROUP 0x00000080 //֤ʽ - //#define ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP 0x00000100 //Ȩ޼ - //#define ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE 0x00000200 //״̬ƻģ - //#define ACS_PARAM_VERIFY_PALN_TEMPLATE 0x00000400 //֤ʽƻģ - //#define ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE 0x00000800 //Ȩ޼ƻģ - //#define ACS_PARAM_CARD 0x00001000 // - //#define ACS_PARAM_GROUP 0x00002000 //Ⱥ - //#define ACS_PARAM_ANTI_SNEAK_CFG 0x00004000 //DZز - //#define ACS_PAPAM_EVENT_CARD_LINKAGE 0x00008000 //¼ - //#define ACS_PAPAM_CARD_PASSWD_CFG 0x00010000 //뿪ʹܲ - //#define ACS_PARAM_PERSON_STATISTICS_CFG 0x00020000 //ͳƲ - //#define ACS_PARAM_BLOCKLIST_PICTURE 0x00040000 //ֹͼƬ - //#define ACS_PARAM_ID_BLOCKLIST 0x00080000 //ֹ֤ - //#define ACS_PARAM_EXAM_INFO 0x00100000 //Ϣ - //#define ACS_PARAM_EXAMINEE_INFO 0x00200000 //Ϣ - //#define ACS_PARAM_FAILED_FACE_INFO 0x00400000 //豸ģʧܼ¼ - WORD wLocalControllerID; //͵ؿ[1,64],0Ž - BYTE byRes[30]; -}NET_DVR_ACS_PARAM_TYPE, *LPNET_DVR_ACS_PARAM_TYPE; - -typedef struct tagNET_DVR_VIDEO_INTERCOM_IOIN_CFG -{ - DWORD dwSize; // ṹС - BYTE byIOUseType; //;0-ã1-Űť2-״̬0xff-Զ - BYTE byRes[63]; // ֽ -}NET_DVR_VIDEO_INTERCOM_IOIN_CFG, *LPNET_DVR_VIDEO_INTERCOM_IOIN_CFG; - -typedef struct tagNET_DVR_VIDEO_INTERCOM_IOOUT_CFG -{ - DWORD dwSize; // ṹС - BYTE byIOUseType; //;0-ã1-0xff-Զ - BYTE byRes[63]; // ֽ -}NET_DVR_VIDEO_INTERCOM_IOOUT_CFG, *LPNET_DVR_VIDEO_INTERCOM_IOOUT_CFG; - -typedef struct tagNET_DVR_ELEVATORCONTROL_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnable; //Ƿݿأ0-1- - BYTE byRes1; // - BYTE byInterfaceType; //ӿͣ0-ޣ1-RS485,2- - BYTE byRS485Protocol; //RS485Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ1ʱЧ - BYTE byNetworkType; //Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ2ʱЧ - BYTE byRes[63]; // ֽ -}NET_DVR_ELEVATORCONTROL_CFG, *LPNET_DVR_ELEVATORCONTROL_CFG; - -typedef struct tagNET_DVR_ELEVATORCONTROL_CFG_V40 -{ - DWORD dwSize; // ṹС - BYTE byEnable; //Ƿݿأ0-1- - BYTE byRes1; // - BYTE byInterfaceType; //ӿͣ0-ޣ1-RS485,2- - BYTE byRS485Protocol; //RS485Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ1ʱЧ - BYTE byNetworkType; //Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ2ʱЧ - BYTE byRes2; // - WORD wServerPort; //ݿط˿ںţЭΪ1-˽ ʱЧ - NET_DVR_IPADDR struServerIP; //ݿطIPЭΪ1-˽ ʱЧ - BYTE byRes[256]; // ֽ -}NET_DVR_ELEVATORCONTROL_CFG_V40, *LPNET_DVR_ELEVATORCONTROL_CFG_V40; - -typedef struct tagNET_DVR_ELEVATORCONTROL_CFG_V50 -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿݿأ0-1- - BYTE byNegativeFloor; //¥ - BYTE byInterfaceType; //ӿͣ0-ޣ1-RS485,2- - BYTE byRS485Protocol; //RS485Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ1ʱЧ - BYTE byNetworkType; //Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ2ʱЧ - BYTE byElevatorControlType; //ݿͣ0-Ч1-DS-K22012-DS-K22100xff-Զ - WORD wServerPort; //ݿط˿ںţЭΪ1-˽ ʱЧ - NET_DVR_IPADDR struServerIP; //ݿطIPЭΪ1-˽ ʱЧ - BYTE sUserName[NET_DVR_LOGIN_USERNAME_MAX_LEN]; //ûЭΪ1-˽ ʱЧֻãܻȡ - BYTE sPassword[NET_DVR_LOGIN_PASSWD_MAX_LEN]; //룬ЭΪ1-˽ ʱЧֻãܻȡ - BYTE byRes[256]; //ֽ -}NET_DVR_ELEVATORCONTROL_CFG_V50, *LPNET_DVR_ELEVATORCONTROL_CFG_V50; - -typedef struct tagNET_DVR_ROOM_CUSTOM_COND -{ - DWORD dwSize; - DWORD dwRoomNumber; //ĿʱЧ - BYTE byRes[128]; -}NET_DVR_ROOM_CUSTOM_COND, *LPNET_DVR_ROOM_CUSTOM_COND; - -typedef struct tagNET_DVR_ROOM_CUSTOM_CFG -{ - DWORD dwSize; - DWORD dwFormerRoomNo; //ԭ - DWORD dwCustomRoomNo; //Զ - BYTE byRes[128]; -}NET_DVR_ROOM_CUSTOM_CFG, *LPNET_DVR_ROOM_CUSTOM_CFG; - -typedef struct tagNET_DVR_ROOM_CUSTOM_STATUS -{ - DWORD dwSize; - DWORD dwFormerRoomNo; //ԭ - BYTE byStatus; //·״̬0-Ч1-ʧܣ2-У3-ɹ - BYTE byRes[127]; -}NET_DVR_ROOM_CUSTOM_STATUS, *LPNET_DVR_ROOM_CUSTOM_STATUS; - -typedef struct tagNET_DVR_VIDEOINTERCOM_STREAM -{ - DWORD dwSize; - BYTE byVisDevID[MAX_NAMELEN]; // ӶԽ豸ţţ豸ΪIPCʱȫΪ0 - BYTE byDeviceName[NAME_LEN]; //豸 - BYTE bySourceType; //ƵԴͣ0壬1-IPC2-DVR/DVS/NVR3-ſڻ4-Χǽ5-ȷϻ - BYTE byRes[255]; // -}NET_DVR_VIDEOINTERCOM_STREAM, LPNET_DVR_VIDEOINTERCOM_STREAM; - -#define UNLOCK_PASSWORD_LEN 8 //볤 -#define LOCAL_CONTROLLER_NAME_LEN 32//͵ؿƳ -typedef struct tagNET_DVR_DOOR_CFG -{ - DWORD dwSize; - BYTE byDoorName[DOOR_NAME_LEN]; // - BYTE byMagneticType; //Ŵͣ0-գ1- - BYTE byOpenButtonType; //Űťͣ0-գ1- - BYTE byOpenDuration; //ųʱ䣬1-255s¥̵ʱ䣩 - BYTE byAccessibleOpenDuration; //Ⱥ忨ųʱ䣬1-255s - BYTE byMagneticAlarmTimeout; //Ŵżⳬʱʱ䣬0-255s0ʾ - BYTE byEnableDoorLock; //ǷñŻ0-1- - BYTE byEnableLeaderCard; //Ƿ׿ܣ0-1- - BYTE byLeaderCardMode; //׿ģʽ0-׿ܣ1-׿ģʽ2-׿Ȩģʽʹ˴ֶΣbyEnableLeaderCardЧ - DWORD dwLeaderCardOpenDuration; //׿ʱ䣬1-1440min - BYTE byStressPassword[STRESS_PASSWORD_LEN]; //в - BYTE bySuperPassword[SUPER_PASSWORD_LEN]; // - BYTE byUnlockPassword[UNLOCK_PASSWORD_LEN]; //NET_DVR_LOCAL_CONTROLLER_STATUS - BYTE byUseLocalController; //ֻǷھ͵ؿϣ0-1- - BYTE byRes1; - WORD wLocalControllerID; //ֻ͵ؿţ1-64,0δע - WORD wLocalControllerDoorNumber; //ֻ͵ؿűţ1-4,0δע - WORD wLocalControllerStatus; //ֻ͵ؿ״̬0-ߣ1-ߣ2-·1ϵRS48513-·1ϵRS48524-·2ϵRS48515-·2ϵRS48526-·3ϵRS48517-·3ϵRS48528-·4ϵRS48519-·4ϵRS4852ֻ - BYTE byLockInputCheck; //Ƿ(1ֽڣ0ã1ãĬϲ) - BYTE byLockInputType; //(1ֽڣ0գ1Ĭϳ) - BYTE byDoorTerminalMode; //ضӹģʽ(1ֽڣ0̣1ͨĬϷ) - BYTE byOpenButton; //ǷÿŰť(1ֽڣ0ǣ1Ĭ) - BYTE byLadderControlDelayTime; //ݿطÿӳʱ䣬1-255min - BYTE byRes2[43]; -}NET_DVR_DOOR_CFG, *LPNET_DVR_DOOR_CFG; - -typedef struct tagNET_DVR_VIS_DEV_INFO -{ - DWORD dwSize; - BYTE szDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byRes[64]; // -}NET_DVR_VIS_DEV_INFO,*LPNET_DVR_VIS_DEV_INFO; - -typedef struct tagNET_DVR_VIS_REGISTER_INFO -{ - DWORD dwSize; - DWORD dwID; //ID - BYTE szDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byMACAddr[MACADDR_LEN]; //macַ - BYTE byRes1[2]; // - BYTE sSerialNumber[SERIALNO_LEN]; //豸к - NET_DVR_IPADDR struDevIP; //豸IPַ - NET_DVR_TIME_EX struRegisterTime; //עʱ - BYTE byRegisterType; //עͣ0-1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-8700ͻˡ8-4200ͻ - BYTE byRes[127]; // -}NET_DVR_VIS_REGISTER_INFO,*LPNET_DVR_VIS_REGISTER_INFO; - -typedef struct tagNET_DVR_CALLER_INFO -{ - DWORD dwSize; //ṹС - WORD wBuildingNo; //¥ - SHORT wFloorNo; // - BYTE byZoneNo; //ں - BYTE byUnitNo; //Ԫ - BYTE byDevNo; //豸 - BYTE byDevType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-8700ͻˣ8-4200ͻˣ9-APP, 10- 11-VOIPͻˣ12-IPC豸 - BYTE byLockNum;//0-ϵ߼ߣֵ-ʵ - BYTE byHighDevNo; // 豸Ÿ8λ,֧1-9999ķΧ - BYTE byRes1[2]; // - BYTE byVoipNo[16]; // VOIPͻ˺ byDevTypeΪ11ʱЧ - BYTE byRes[80]; // -}NET_DVR_CALLER_INFO,*LPNET_DVR_CALLER_INFO; - -typedef struct tagNET_DVR_CALL_STATUS -{ - DWORD dwSize; //ṹС - BYTE byCallStatus; //ȡͨ״̬1-޺С2-塢3-ͨ - BYTE byRes[127]; -}NET_DVR_CALL_STATUS, *LPNET_DVR_CALL_STATUS; - -#define MAX_SERVER_DEVICE_NUMBER 16 //豸 - -typedef struct tagNET_DVR_SERVER_DEVICE_CFG -{ - BYTE byDeviceName[NAME_LEN]; //豸 - BYTE byDeviceType; ////豸ͣ1-ſڻ2-3-ڻ - BYTE byDeviceID; //ſڻ - BYTE byLockNum; //0-ϵ߼ߣֵ-ʵ - BYTE byRes[5]; // -}NET_DVR_SERVER_DEVICE_CFG,*LPNET_DVR_SERVER_DEVICE_CFG; - -typedef struct tagNET_DVR_SERVER_DEVICE_INFO -{ - DWORD dwSize; //ṹС - DWORD dwDeviceNum; //豸 - NET_DVR_SERVER_DEVICE_CFG struDeviceCfg[MAX_SERVER_DEVICE_NUMBER]; //豸Ϣ - BYTE byRes[200]; // -}NET_DVR_SERVER_DEVICE_INFO,*LPNET_DVR_SERVER_DEVICE_INFO; - -typedef struct tagNET_DVR_VIDEO_CALL_PARAM -{ - DWORD dwSize; - DWORD dwCmdType; // 0-У1-ȡκУ2-κ 3-ܾ 4-峬ʱ 5-ͨ6-豸ͨУ7-ͻͨУ8ڻ - WORD wPeriod; //ں, Χ[0,9] - WORD wBuildingNumber; //¥ - WORD wUnitNumber; //Ԫ - SHORT wFloorNumber; // - WORD wRoomNumber; // - WORD wDevIndex; //豸 - BYTE byUnitType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-8700ͻˣ8-4200ͻˣ9-APP - BYTE byRes[115]; // -}NET_DVR_VIDEO_CALL_PARAM,*LPNET_DVR_VIDEO_CALL_PARAM; - -#define MAX_SCREEN_ADDRESS_LEN 16 //󳤶 -#define MAX_DAY_TIME_POINT 8 //ÿʱ -#define MAX_TIME_POINT 16 //ÿʱ - -typedef struct tagNET_DVR_DEV_IP_INFO -{ - BYTE byUserName[NAME_LEN]; //û - BYTE byPassWord[PASSWD_LEN]; // - NET_DVR_IPADDR struIPAddr; //IPַ - WORD wPort; //˿ں - BYTE byRes[24]; -}NET_DVR_DEV_IP_INFO, *LPNET_DVR_DEV_IP_INFO; - -typedef union tagNET_DVR_SCREEN_BASE_INFO -{ - BYTE byScreenAddress[MAX_SCREEN_ADDRESS_LEN]; //Ļ룬豸ӷʽΪ0ʱЧ - NET_DVR_DEV_IP_INFO struIPInfo; //ĻipַϢ - BYTE byRes[100]; -}NET_DVR_SCREEN_BASE_INFO,*LPNET_DVR_SCREEN_BASE_INFO; - -typedef struct tagNET_DVR_SCREEN_INDEX_CFG -{ - DWORD dwSize; - BYTE byEnbale; //ʹܣ0-ʹܣ1-ʹ - BYTE byDevAddType; //豸ӷʽ0-(Ļʹôͨ)1-IPַ(Ļʹͨ) - BYTE byRes1[2]; - NET_DVR_SCREEN_BASE_INFO struScreenBaseInfo; //Ļ豸Ϣ - BYTE byRes[32]; -}NET_DVR_SCREEN_INDEX_CFG,*LPNET_DVR_SCREEN_INDEX_CFG; - -//ģң -typedef struct tagNET_DVR_SIMULATE_REMOTE_CTRL -{ - BYTE byControlType; //1-Դ2-Դأ3-źԴ4-˵5-ȷ6-ϣ7-£8-9-, 10-INFO, 11-һ,12-ְ - BYTE byControlParam; //Ϊ12ʱʾֵ(0-9)ʱ˲Ч - BYTE byRes[14]; -}NET_DVR_SIMULATE_REMOTE_CTRL, *LPNET_DVR_SIMULATE_REMOTE_CTRL; - -//Ļάǽ -typedef struct tagNET_DVR_SCREEN_WALL_CTRL -{ - BYTE byEnable; //״̬ء0-Ϊرգ1-Ϊ - BYTE byRes[15]; -}NET_DVR_SCREEN_WALL_CTRL, *LPNET_DVR_SCREEN_WALL_CTRL; - -//Ŵԭ -typedef struct tagNET_DVR_AREA_ZOOM_CFG -{ - BYTE byCmd; //Ŵԭָ1-Ŵ2-ԭ - BYTE byRes[3]; - NET_DVR_RECTCFG struArea; //ҪŴ1920*1920ΪĻܴСԭʱ˲Ч -}NET_DVR_AREA_ZOOM_CFG, *LPNET_DVR_AREA_ZOOM_CFG; - -typedef union tagNET_DVR_SCREEN_CONTROL_PARAM -{ - NET_DVR_INPUT_INTERFACE_CTRL struInputCtrl; - NET_DVR_DISPLAY_COLOR_CTRL struDisplayCtrl; - NET_DVR_DISPLAY_POSITION_CTRL struPositionCtrl; - NET_DVR_SIMULATE_REMOTE_CTRL struSimulateRemoteCrtl; //ģңذ - NET_DVR_SCREEN_WALL_CTRL struScreenWallCtrl; //Ļάǽ - NET_DVR_AREA_ZOOM_CFG struZoomArea; //Ŵԭ - BYTE byRes[16]; -}NET_DVR_SCREEN_CONTROL_PARAM, *LPNET_DVR_SCREEN_CONTROL_PARAM; - -typedef struct tagNET_DVR_SCREEN_CONTROL -{ - DWORD dwSize; - DWORD dwCommand ; /* Ʒ 1- 2- 3-ĻԴѡ 4-ʾԪɫ 5-ʾԪλÿ*/ - BYTE byProtocol; //Э,1:LCD-S1,2:LCD-S2 - BYTE byRes1[3]; - NET_DVR_SCREEN_CONTROL_PARAM struControlParam; - BYTE byRes2[52]; -}NET_DVR_SCREEN_CONTROL, *LPNET_DVR_SCREEN_CONTROL; - -typedef struct tagNET_DVR_SCREEN_CONTROL_V41 -{ - DWORD dwSize; - BYTE bySerialNo; //ں - BYTE byRes[2]; - BYTE byProtocol; // Э 1-LCD-S1,2-LCD-S2,3-LCD-L1,4-LCD-DLP,5-LCD-S3,6-LCD-D207-LCD-L2,8-LCD-Z1 - //9-LCD-D20/D,10-LCD-D20/S,11-LCD-D20/P,12-LCD-D20/T,13-LCD-D20/F,14-LCD-D20/DF,15-LCD-D20/FS, - //16-LCD-D20/FP,17-LCD-D20/FT,18-LCD-D5022,19-LCD-D5032,20-LCD-D5042+,21-LCD-D20/Z 0xff-ЧʹԤȰ󶨵Э - DWORD dwCommand ; /* Ʒ 1- 2- 3-ĻԴѡ 4-ʾԪɫ 5-ʾԪλÿƣ6-ģңذ,7-ʾĻ״̬, - 8-ʾĻ루ʼΪ0,0߾Ϊ0xffffffff, 9-Ļάǽ,10-ָĻĬϲ11-ʾIPʼΪ0,0߾Ϊ0xffffffff,12-ĻUSB 13-Ŵԭ*/ - NET_DVR_SCREEN_CONTROL_PARAM struControlParam; - BYTE byWallNo; // ǽ - BYTE byDevNo; //豸 - BYTE bySubboardNo; //Ӱ - BYTE byRes1; - NET_DVR_RECTCFG_EX struRect;//м㣬׼ - BYTE byRes2[28]; -}NET_DVR_SCREEN_CONTROL_V41, *LPNET_DVR_SCREEN_CONTROL_V41; - -typedef struct tagNET_DVR_MSC_SPLICE_CFG -{ - DWORD dwSize; - BYTE bySpliceNo; //ƴ - BYTE byWallNo; //ǽ - BYTE byEnable; //Ƿʹܣ0-1- - BYTE byRes1[1]; - NET_DVR_RECTCFG_EX struRectCfg; //Ҫƴӵ򣬻ȡʱ˲0 - BYTE byRes2[32]; -}NET_DVR_MSC_SPLICE_CFG,*LPNET_DVR_MSC_SPLICE_CFG; - -typedef struct tagNET_DVR_MSC_SCREEN_INTERFACE_CFG -{ - DWORD dwSize; - BYTE byInterfaceType; //Դö INPUT_INTERFACE_TYPE - BYTE byNoSignalPic; //źŻģʽ1-2-3-LOGO - BYTE byRes[30]; -}NET_DVR_MSC_SCREEN_INTERFACE_CFG,*LPNET_DVR_MSC_SCREEN_INTERFACE_CFG; - -// -typedef struct tagNET_DVR_MSC_SCREEN_BACKLIGHT_CFG -{ - DWORD dwSize; - BYTE byBacklight; //⣬0-100 - BYTE byRes[15]; -}NET_DVR_MSC_SCREEN_BACKLIGHT_CFG,*LPNET_DVR_MSC_SCREEN_BACKLIGHT_CFG; - -//л -typedef struct tagNET_DVR_MSC_SCREEN_PIP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿûл 0- 1- - BYTE bySubWindowSource; //ӻźԴοöINPUT_INTERFACE_TYPE - BYTE bySubWindowBorderColor; //ӻ߿ɫ 1-ɫ2-ɫ - BYTE byRes1; - NET_DVR_RECTCFG_EX struPosition; //ӻλãĻܴСΪ1920*1920 - BYTE byRes2[16]; -}NET_DVR_MSC_SCREEN_PIP_CFG,*LPNET_DVR_MSC_SCREEN_PIP_CFG; - -typedef struct tagNET_DVR_SCREEN_WORK_STATE -{ - DWORD dwSize; - BYTE byFanStatus;//״̬0-أ1- - BYTE byFanExceptionStatus; //쳣״̬0-֧֣1-2-쳣 - BYTE byRes1[2]; - DWORD dwWorkingHours; //ۻʱλСʱ - BYTE byVersion[VERSION_LEN];//汾 - int iTemperature; //忨¶ȣȷλλ϶ - BYTE byTempState; //忨¶״̬0-֧֣1-2-쳣 - BYTE byRes[31]; -}NET_DVR_SCREEN_WORK_STATE,*LPNET_DVR_SCREEN_WORK_STATE; - -//logo -typedef struct tagNET_DVR_BOOT_LOGO_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʾlogo,0-ʾ1-ʾ - BYTE byRes[31]; -}NET_DVR_BOOT_LOGO_CFG,*LPNET_DVR_BOOT_LOGO_CFG; -//Ƶ -typedef struct tagNET_DVR_LCD_AUDIO_CFG -{ - DWORD dwSize; - BYTE byMute; //Ƿ0-1- - BYTE byVolume; //С0-100 - char byBalance; //ƽ⣬-50-+50 - BYTE byRes[33]; -}NET_DVR_LCD_AUDIO_CFG, *LPNET_DVR_LCD_AUDIO_CFG; - -//Ļ -typedef union tagNET_DVR_MSC_SCREEN_PARAM -{ - NET_DVR_MSC_SCREEN_INTERFACE_CFG struInterfaceCfg; //Դ - NET_DVR_SCREEN_FAN_WORK_MODE_CFG struFanWorkMode; //ȹģʽ - NET_DVR_SCREEN_VGA_CFG struVgaCfg; //VGAźŲ - NET_DVR_SCREEN_MENU_CFG struMenuCfg; //Ļ˵ - NET_DVR_VIDEO_OUT_CFG struOutEffectCfg; //ʾЧ - NET_DVR_COLOR_TEMPERATURE_CFG struColorTemperatureCfg; //ɫ² - NET_DVR_ADC_CFG struAdcCfg; //ADC - NET_DVR_SCREEN_EDGE_CFG struScreenEdgeCfg; //ĻԵ - NET_DVR_MSC_SCREEN_BACKLIGHT_CFG struBacklight; // - NET_DVR_MSC_SCREEN_PIP_CFG struPicInPicCfg; //л - NET_DVR_DEFOG_LCD struDefog; //ȥ - NET_DVR_SCREEN_WORK_STATE struWorkState; //Ļ״̬ - NET_DVR_BOOT_LOGO_CFG struBootLogoCfg; //ʼʾlogo - NET_DVR_LCD_AUDIO_CFG struAudioCfg; //Ƶ - BYTE byRes[256]; -}NET_DVR_MSC_SCREEN_PARAM,*LPNET_DVR_MSC_SCREEN_PARAM; - -typedef struct tagNET_DVR_MSC_SCREEN_PARAM_CFG -{ - DWORD dwSize; - BYTE byParamType; //ͣ1-Դ2-ȹģʽ3-VGAźŲ4-Ļ˵5-ʾЧ6-ɫ²7-ADC8-ĻԵ9-10-л11-͸12-Ļ״ֻ̬ܻȡ13-LOGOǷʾ 14-Ƶ - BYTE byRes1[3]; - NET_DVR_MSC_SCREEN_PARAM struParam; //Ļ - BYTE byRes2[32]; -}NET_DVR_MSC_SCREEN_PARAM_CFG,*LPNET_DVR_MSC_SCREEN_PARAM_CFG; - -typedef struct tagNET_DVR_MSC_SCREEN_REMOTE_CFG -{ - DWORD dwSize; - BYTE byWallNo; //ǽ - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRectCfg; //Ļ - NET_DVR_MSC_SCREEN_PARAM_CFG struScreenParam; //õĻ - BYTE byRes2[32]; -}NET_DVR_MSC_SCREEN_REMOTE_CFG,*LPNET_DVR_MSC_SCREEN_REMOTE_CFG; - -typedef struct tagNET_DVR_MSC_SCREEN_PARAM_COND -{ - DWORD dwSize; - BYTE byWallNo; //ǽ - BYTE byParamType; //ͣ1-Դ2-ȹģʽ3-VGAźŲ4-Ļ˵5-ʾЧ6-ɫ²7-ADC8-ĻԵ9-10-л11-͸12-Ļ״ֻ̬ܻȡ13-LOGOǷʾ 14-Ƶ - BYTE byRes1[2]; - NET_DVR_RECTCFG_EX struRectCfg; //Ļ - BYTE byRes2[32]; -}NET_DVR_MSC_SCREEN_PARAM_COND,*LPNET_DVR_MSC_SCREEN_PARAM_COND; - -typedef struct tagNET_DVR_SWITCH_DAY_TIME -{ - BYTE byEnable; //Ƿøʱ,0-ã1- - BYTE bySwitchType; //ػͣ0-ػ1- - BYTE byRes1[2]; - NET_DVR_DAYTIME struTimePoint; //ػʱ - BYTE byRes2[8]; -}NET_DVR_SWITCH_DAY_TIME,*LPNET_DVR_SWITCH_DAY_TIME; - -typedef struct tagNET_DVR_SWITCH_TIME_POINT -{ - BYTE byEnable; //Ƿøʱ,0-ã1- - BYTE bySwitchType; //ػͣ0-ػ1- - BYTE byRes1[2]; - NET_DVR_SYSTEM_TIME struTimePoint; //ػʱ - BYTE byRes2[16]; -}NET_DVR_SWITCH_TIME_POINT,*LPNET_DVR_SWITCH_TIME_POINT; - -typedef struct tagNET_DVR_TIME_SWITCH_CFG -{ - DWORD dwSize; - NET_DVR_SWITCH_DAY_TIME struSwitchDayTime[MAX_DAYS][MAX_DAY_TIME_POINT]; //ܿػƻ - NET_DVR_SWITCH_TIME_POINT struSwitchTimePoint[MAX_TIME_POINT]; //ʱ㿪ػ - BYTE byRes1[3]; - BYTE byEnable;//Ƿöʱػ,0-ã1- - BYTE byRes[60]; -}NET_DVR_TIME_SWITCH_CFG,*LPNET_DVR_TIME_SWITCH_CFG; - -typedef struct tagNET_DVR_VIDEO_WALL_AREA -{ - DWORD dwSize; - BYTE byWallNo; //ǽ - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRect; //ĻΧ - BYTE byRes2[32]; -}NET_DVR_VIDEO_WALL_AREA, *LPNET_DVR_VIDEO_WALL_AREA; - -typedef struct tagNET_DVR_DELAY_TIME -{ - DWORD dwSize; - DWORD dwDelayTime; //ʱʱ䣬0-3000λms - BYTE byRes[32]; -}NET_DVR_DELAY_TIME,*LPNET_DVR_DELAY_TIME; - -//˫Ŀ궨 -typedef enum _BV_CALIBRATION_TYPE_ENUM_ -{ - ENUM_BV_CALIBRATION_NONE = 0, //δ궨 - ENUM_BV_CALIBRATION_DIRECT = 1, //˫Ŀֱӱ궨 - ENUM_BV_CALIBRATION_SAMPLE = 2, //˫Ŀ궨 -} BV_CALIBRATION_TYPE_ENUM; - - -//궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_POINT -{ - BYTE byCalibPtID; //궨IDΧ[1,5]ʾ˵˫Ŀ궨е - BYTE byRes1[3]; // - NET_VCA_POINT struPoint; //궨 - BYTE byRes2[16]; // -}NET_DVR_BV_SAMPLE_CALIB_POINT,*LPET_DVR_BV_SAMPLE_CALIB_POINT; - -//ʼ궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM -{ - DWORD dwCameraHeight; //߶ȣλcm - DWORD dwHumanHeight; //ߣλcm - BYTE byRes[248]; // -}NET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM,*LPNET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM; - -//궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_SET_PARAM -{ - NET_DVR_BV_SAMPLE_CALIB_POINT struCalibPoint; //궨㡣Աֱߣضʱ˵ʾߵе㡣 - BYTE byRes[228]; // -}NET_DVR_BV_SAMPLE_CALIB_SET_PARAM,*LPNET_DVR_BV_SAMPLE_CALIB_SET_PARAM; - -//궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_END_PARAM -{ - BYTE byRes[256]; // -}NET_DVR_BV_SAMPLE_CALIB_END_PARAM,*LPNET_DVR_BV_SAMPLE_CALIB_END_PARAM; - -//궨 -typedef union tagNET_DVR_BV_SAMPLE_CALIB_PARAM_UNION -{ - BYTE byRes[256]; // - NET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM struCalibBegin; //ʼ궨 - NET_DVR_BV_SAMPLE_CALIB_SET_PARAM struCalibSet; //ñ궨 - NET_DVR_BV_SAMPLE_CALIB_END_PARAM struCalibEnd; //궨 -}NET_DVR_BV_SAMPLE_CALIB_PARAM_UNION,*LPNET_DVR_BV_SAMPLE_CALIB_PARAM_UNION; - -//궨ö -typedef enum _BV_SAMPLE_CALIB_CMD_ENUM -{ - ENUM_BV_SAMPLE_CALIB_BEGIN = 1, //ʼ궨 - ENUM_BV_SAMPLE_CALIB_SETTING = 2, //ò - ENUM_BV_SAMPLE_CALIB_END = 3 //궨 -}BV_SAMPLE_CALIB_CMD_ENUM; - -//궨ṹ -typedef struct tagNET_DVR_BV_SAMPLE_CALIBRATION -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byCommand; //궨μBV_SAMPLE_CALIB_CMD _ENUM - BYTE byRes1[3]; // - NET_DVR_BV_SAMPLE_CALIB_PARAM_UNION uCalibParam; //궨ȡֵֶbyCommand - BYTE byRes2[256] ; // -}NET_DVR_BV_SAMPLE_CALIBRATION,*LPNET_DVR_BV_SAMPLE_CALIBRATION; - - -//˫Ŀ궨Ϣ -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_CFG -{ - DWORD dwSize; //ṹС - DWORD dwCameraHeight; //߶ȣλcm - float fPitchAngle; //ӽǶ[0, 60], - float fInclineAngle; //бǶ[-20,20] - NET_DVR_BV_SAMPLE_CALIB_POINT struCalibPoint[MAX_SAMPLE_NUM]; //궨 - NET_DVR_BV_SAMPLE_CALIB_POINT struCalibPointEx[MAX_SAMPLE_NUM_EX/*7*/]; //궨չ - BYTE byRes[60]; // -}NET_DVR_BV_SAMPLE_CALIB_CFG,*LPNET_DVR_BV_SAMPLE_CALIB_CFG; - -//˫ĿͼУṹ -typedef struct tagNET_DVR_BINOC_RECTIFY_PARAM -{ - float fCamInternalMatrix[3][3]; //ڲξ󣬰༰ - float fDistCoeffs[8]; //ͷϵ - float fRotateMatrix[3][3]; //Уת - float fProjectMatrix[3][4]; //УͶӰ - BYTE byRes[64]; // -}NET_DVR_BINOC_RECTIFY_PARAM, *LPNET_DVR_BINOC_RECTIFY_PARAM; - -//У -typedef struct _tagNET_DVR_BV_CORRECT_PARAM -{ - DWORD dwSize; //ṹС - float fReprojectMatrix[4][4]; //ͶӰ - NET_DVR_BINOC_RECTIFY_PARAM struLCamParam; //У - NET_DVR_BINOC_RECTIFY_PARAM struRCamParam; //У - BYTE byLensType; //ͷͣ0-δ֪,1-8mm,2-12mm,3-16mm,4-25mm,5-35mm,6-50mm,7-4mm,8-6mm,9-2.0mm,10-2.8mm,11-4.3mm - BYTE byRes1[3]; // - /*RotateMatrix ˫Ŀ궨ת, - TransMatrixƽƾ, - RotateMatrixTransMatrixλùϵ*/ - float fRotateMatrix[3][3]; //ת - float fTransMatrix[3]; //ƽƾ - DWORD dwOriImgWidth; //ԭʼ궨ͼĿ1920*1080ֱʵͼΪ1920 - DWORD dwOriImgHeight; //ԭʼ궨ͼĸߣ1920*1080ֱʵͼΪ1080 - BYTE byRes[196]; // -} NET_DVR_BV_CORRECT_PARAM,*LPNET_DVR_BV_CORRECT_PARAM; - -//Ƶ -typedef struct tagNET_DVR_OUTPUT_VIDEO_TYPE -{ - DWORD dwSize; //ṹС - BYTE byType; //Ƶͣ1-ƴͼ2-ͼ - BYTE byRes[63]; // -}NET_DVR_OUTPUT_VIDEO_TYPE,*LPNET_DVR_OUTPUT_VIDEO_TYPE; - -#define MAX_CHECK_485CHAN 64 //485Լ豸ͨŸ - -typedef struct tagNET_DVR_DEVICE_SELF_CHECK_STATE -{ - DWORD dwSize; - DWORD dwRS485Chan[MAX_CHECK_485CHAN];//RS485ͨͨţֵʾͨţλʾλ - DWORD dwSensorChan[4];//ģЧͨţλʾ - BYTE byRes[32]; // ֽ -}NET_DVR_DEVICE_SELF_CHECK_STATE, *LPNET_DVR_DEVICE_SELF_CHECK_STATE; - -//ȫȡֵ -typedef struct tagNET_DVR_COMPLETE_RESTORE_INFO_ -{ - DWORD dwSize ; //ṹ峤 - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_COMPLETE_RESTORE_INFO, *LPNET_DVR_COMPLETE_RESTORE_INFO; - -typedef struct tagNET_DVR_UPLOAD_PICTURE_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͼƬӦͨ - BYTE byPictureType;//ͼƬʽ,0-bmp1-jpeg2-PNG 3-SWF 4-GIF - BYTE byRes1[3]; - NET_DVR_TIME_V30 struTime; //ͼƬʱ - char* sPictureBuffer;//ͼƬ - DWORD dwPictureLength;//ͼƬ - DWORD dwPicMangeNo; //ͼƬ - BYTE sPicName[NAME_LEN]; //ͼƬ - BYTE byUseType; //ͼƬʹͣ0-ͼƬ 1-logoͼƬ - BYTE byRes[91]; -}NET_DVR_UPLOAD_PICTURE_INFO,*LPNET_DVR_UPLOAD_PICTURE_INFO; - -#define MAX_UPLOADFILE_URL_LEN 240 - -typedef struct tagNET_DVR_UPLOAD_FILE_RET -{ - BYTE sUrl[MAX_UPLOADFILE_URL_LEN] ; //url - BYTE byRes[260]; -} NET_DVR_UPLOAD_FILE_RET,*LPNET_DVR_UPLOAD_FILE_RET; - -typedef struct tagNET_DVR_FACE_EXTRA_INFO -{ - NET_VCA_RECT struVcaRect[MAX_FACE_PIC_NUM]; //ͼϢ - BYTE byRes[64]; -}NET_DVR_FACE_EXTRA_INFO, *LPNET_DVR_FACE_EXTRA_INFO; -typedef union tagNET_DVR_PIC_EXTRA_INFO_UNION -{ - BYTE byUnionLen[544]; //峤ȣʵ - NET_DVR_FACE_EXTRA_INFO struFaceExtraInfo; //Ϣ -}NET_DVR_PIC_EXTRA_INFO_UNION, *LPNET_DVR_PIC_EXTRA_INFO_UNION; - -typedef struct tagNET_DVR_FIND_PICTURE_V40 //ҽṹ -{ - char sFileName[PICTURE_NAME_LEN];//ͼƬ - NET_DVR_TIME struTime;//ͼƬʱ - DWORD dwFileSize;//ͼƬĴС - char sCardNum[CARDNUM_LEN_V30]; // - BYTE byPlateColor ;//οṹ VCA_PLATE_COLOR - BYTE byVehicleLogo;//οṹ VLR_VEHICLE_CLASS - BYTE byFileType ; //ļͣ :0ʱץͼ1 ƶץͼ 2 ץͼ3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ ,9-ͼƬ,10- PIR11- ߱12- ȱ, 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬0x10 , 0x11-豸ػطʱͼ, 0x12-, 0x32-, 0x33-, 0x34-ҵѯ - BYTE byRecogResult ;//ʶοṹVTR_RESULT - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byEventSearchStatus; //ͼƬʾͬһҽʱ0-ʾûͼƬϢ1-ʾ滹ͼƬϢܹͼƬϢһ״̬Ϊ0ͼƬ - BYTE byRes1[2]; // ֽ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - float fFaceSnapTemperature; // ץ¶ϢȷС1λ ( + 100 * 10 ȡ䣩λ̶Ϊ϶ȣ棩byFileTypeΪ0x25-ץʱЧ¸ֶΪ0ֵ - BYTE byRes[68]; // ֽ - NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //ͼƬϢ -}NET_DVR_FIND_PICTURE_V40,*LPNET_DVR_FIND_PICTURE_V40; - -typedef struct tagNET_DVR_FIND_PICTURE_V50 //ҽṹ -{ - char sFileName[PICTURE_NAME_LEN];//ͼƬ - NET_DVR_TIME struTime;//ͼƬʱ - DWORD dwFileSize;//ͼƬĴС - char sCardNum[CARDNUM_LEN_V30]; // - BYTE byPlateColor;//οṹ VCA_PLATE_COLOR - BYTE byVehicleLogo;//οṹ VLR_VEHICLE_CLASS - BYTE byFileType; //ļͣ :0ʱץͼ1 ƶץͼ 2 ץͼ3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ ,9-ͼƬ,10- PIR11- ߱12- ȱ,\ - 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬0x10 , 0x11-豸ػطʱͼ, 0x12-, 0x70-ͨʱץͼ - BYTE byRecogResult;//ʶοṹVTR_RESULT - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byEventSearchStatus; //ͼƬʾͬһҽʱ0-ʾûͼƬϢ1-ʾ滹ͼƬϢܹͼƬϢһ״̬Ϊ0ͼƬ - NET_DVR_ADDRESS struAddr; //ͼƬڵĵַϢͼƬʱõ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14 - char cTimeDifferenceM; //UTCʱӣ-30,0, 30, 45 - BYTE byRes[253]; // ֽ - NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //ͼƬϢ -}NET_DVR_FIND_PICTURE_V50, *LPNET_DVR_FIND_PICTURE_V50; - - -typedef struct tagNET_DVR_THUMBNAILS_COND -{ - DWORD dwSize; // ṹС - NET_DVR_STREAM_INFO struStreamInfo; //Ϣ - BYTE bySearchDataType; // 0-I֡ݣCVR һ·£1s28I֡1-ͼƬ - BYTE byRes[3]; // ֽ - NET_DVR_TIME_V30 struStartTime; //ҿʼʱ - NET_DVR_TIME_V30 struStopTime; // ҽʱ - DWORD dwIntervalTime; //ʱ䣬λ룬Χ0~24*60*60ҽʱڲҿʼʱ䣬0ֵЧ - BYTE byRes1[512]; // ֽ -}NET_DVR_THUMBNAILS_COND, *LPNET_DVR_THUMBNAILS_COND; - -typedef struct tagNET_DVR_THUMBNAILS_RESULT //ҽṹ -{ - BYTE byResultDataType; // ҽ0-I֡ݣCVR һ·£1s28I֡1-ϵͳͷݣ 2-ͼƬ - BYTE byIFrameType; // I֡ͣ0-֡1-οֻ֡벥ſ⣬DzҪתΪͼƬʾ - BYTE byRes1[2]; // ֽ - NET_DVR_TIME_SEARCH struTime; //ʱ - BYTE byRes[252]; // ֽ - DWORD dwFileSize; //ݴС - char* pBuffer; //Ϣ(ͺṹNET_DVR_THUMBNAILS_RESULT ֶ byResultDataType ֵ) -}NET_DVR_THUMBNAILS_RESULT, *LPNET_DVR_THUMBNAILS_RESULT; - -typedef struct tagNET_DVR_REGIONENTRANCE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byAlarmConfidence; // Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; // ¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes[60]; // -}NET_DVR_REGIONENTRANCE_REGION, *LPNET_DVR_REGIONENTRANCE_REGION; - -typedef struct tagNET_DVR_REGION_ENTRANCE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - BYTE byRes1[1]; - NET_DVR_REGIONENTRANCE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_REGION_ENTRANCE_DETECTION,*LPNET_DVR_REGION_ENTRANCE_DETECTION; - -typedef struct tagNET_DVR_SMART_REGION_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwRegion; //ID -}NET_DVR_SMART_REGION_COND, *LPNET_DVR_SMART_REGION_COND; - -typedef struct tagNET_DVR_ENTRANCE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byDetectionTarget; - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes[60]; // -}NET_DVR_ENTRANCE_REGION, *LPNET_DVR_ENTRANCE_REGION; - -typedef struct tagNET_DVR_DENSEFOGDETECTION_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE bySensitivity; //ȲΧ[0,100] - BYTE byRes[258]; -}NET_DVR_DENSEFOGDETECTION_CFG, *LPNET_DVR_DENSEFOGDETECTION_CFG; - -typedef struct tagNET_DVR_EVENT_TRIGGER -{ - DWORD dwSize;//ṹС - NET_DVR_HANDLEEXCEPTION_V41 struHandleException; //쳣ʽ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; //ʵʴ¼ֵͨʾýУ±0ʼ˳ȡм0xffffffffЧ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨ͨϢ - BYTE byDirection;//0-1-ȫ2-3- - BYTE byRes2[255]; -}NET_DVR_EVENT_TRIGGER,*LPNET_DVR_EVENT_TRIGGER; - -typedef struct tagNET_DVR_EVENT_SCHEDULE -{ - DWORD dwSize;//ṹС - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - NET_DVR_SCHEDTIME struHolidayAlarmTime[MAX_TIMESEGMENT_V30]; /*ղʱ*/ - BYTE bySceneID[MAX_DAYS][MAX_TIMESEGMENT_V30];//,Ŀǰ֧1~40ΪЧó벼ʱÿʱһһӦ - BYTE byRes[72]; -}NET_DVR_EVENT_SCHEDULE,*LPNET_DVR_EVENT_SCHEDULE; - -typedef struct tagNET_DVR_ANR_ARMING_HOST -{ - DWORD dwSize;//sizeof(NET_DVR_ANR_ ARMING_HOST) - NET_DVR_IPADDR struANRArmingHostIpAddr; //IPַ - WORD wANRAlarmHostPort; //˿ں - BYTE byANRAlarmType;//ͣ 0-SDK˽жӣ1-ehome - BYTE byConfirmMechanismEnabled;// ǷȷϻƷʽӣ0-1-ûп 2- - BYTE byRes[512]; //ֽ -}NET_DVR_ANR_ARMING_HOST, *LPNET_DVR_ANR_ARMING_HOST; - -typedef struct tagNET_DVR_REGIONEXITING_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes[60]; // -}NET_DVR_REGIONEXITING_REGION, *LPNET_DVR_REGIONEXITING_REGION; - -typedef struct tagNET_DVR_REGION_EXITING_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - BYTE byRes1[1]; - NET_DVR_REGIONEXITING_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_REGION_EXITING_DETECTION,*LPNET_DVR_REGION_EXITING_DETECTION; - -typedef struct tagNET_DVR_LOITERING_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - BYTE byRes[62]; // -}NET_DVR_LOITERING_REGION, *LPNET_DVR_LOITERING_REGION; - -typedef struct tagNET_DVR_LOITERING_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_LOITERING_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_LOITERING_DETECTION,*LPNET_DVR_LOITERING_DETECTION; - -typedef struct tagNET_DVR_GROUPDETECTION_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE byObjectOccup; //ռȣΧ[1-100] - BYTE bySensitivityLevel; //ȣΧ1-100Ĭ65 - BYTE byDurationTime; //ʱ䣬Χ1-600룬Ĭ3 - BYTE byFilterTime; //ʱ䣬Χ1-10ӣʾڴʱڲٴ - BYTE byMinTriggerNumber; //ʹΧ2-50ˣĬ5 - BYTE byLinkageTime; //ʱ䣬Χ5-30룬Ĭ5루ǹתλúͣʱ䣬òǹǷͬһ˻¼Բͬ - BYTE byRes[58]; // -}NET_DVR_GROUPDETECTION_REGION, *LPNET_DVR_GROUPDETECTION_REGION; -typedef struct tagNET_DVR_POS_HIDDEN_INFORMATION -{ - char szKeyWord[KEY_WORD_NUM/*3*/][KEY_WORD_LEN/*128*/]; - BYTE byRes[128]; -}NET_DVR_POS_HIDDEN_INFORMATION, *LPNET_DVR_POS_HIDDEN_INFORMATION; - -typedef struct tagNET_DVR_HIDDEN_INFORMATION_CFG -{ - DWORD dwSize; - BYTE byFuncType;//0-Pos - BYTE Res1[3]; - NET_DVR_POS_HIDDEN_INFORMATION struPosInfo; - BYTE byRes[1024]; -}NET_DVR_HIDDEN_INFORMATION_CFG, *LPNET_DVR_HIDDEN_INFORMATION_CFG; - -typedef struct tagNET_DVR_GROUP_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_GROUPDETECTION_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_GROUP_DETECTION,*LPNET_DVR_GROUP_DETECTION; - -typedef struct tagNET_DVR_RAPIDMOVE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byRes[62]; // -}NET_DVR_RAPIDMOVE_REGION, *LPNET_DVR_RAPIDMOVE_REGION; - -typedef struct tagNET_DVR_RAPIDMOVE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_RAPIDMOVE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_RAPIDMOVE_DETECTION,*LPNET_DVR_RAPIDMOVE_DETECTION; - -typedef struct tagNET_DVR_PARKING_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - BYTE byRes[62]; // -}NET_DVR_PARKING_REGION, *LPNET_DVR_PARKING_REGION; - -typedef struct tagNET_DVR_PARKING_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_PARKING_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_PARKING_DETECTION,*LPNET_DVR_PARKING_DETECTION; - -typedef struct tagNET_DVR_UNATTENDED_BAGGAGE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - WORD wTimeThreshold;//ʱֵΧ[5-3600], λs - BYTE byTimeThresholdMode;//(ֻдֶΣڼ)0-ֶbyTimeThresholdЧ1-ֶwTimeThresholdЧ - BYTE byRes[59]; // -}NET_DVR_UNATTENDED_BAGGAGE_REGION, *LPNET_DVR_UNATTENDED_BAGGAGE_REGION; - -typedef struct tagNET_DVR_UNATTENDED_BAGGAGE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_UNATTENDED_BAGGAGE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_UNATTENDED_BAGGAGE_DETECTION,*LPNET_DVR_UNATTENDED_BAGGAGE_DETECTION; - -typedef struct tagNET_DVR_ATTENDED_BAGGAGE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - WORD wTimeThreshold;//ʱֵΧ[5-3600], λs - BYTE byTimeThresholdMode;//(ֻдֶΣڼ)0-ֶbyTimeThresholdЧ1-ֶwTimeThresholdЧ - BYTE byRes[59]; // -}NET_DVR_ATTENDED_BAGGAGE_REGION, *LPNET_DVR_ATTENDED_BAGGAGE_REGION; - -typedef struct tagNET_DVR_ATTENDED_BAGGAGE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_ATTENDED_BAGGAGE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_ATTENDED_BAGGAGE_DETECTION,*LPNET_DVR_ATTENDED_BAGGAGE_DETECTION; - -typedef struct tagNET_DVR_REGION_CLIP_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwStreamType; //ͣ0- 1- 2- - BYTE byRes[8]; -}NET_DVR_REGION_CLIP_COND, *LPNET_DVR_REGION_CLIP_COND; - -typedef struct tagNET_DVR_REGION_CLIP_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - WORD wResolutionWidth; //ֱʵij - WORD wResolutionHeight; //ֱʵĿ - NET_VCA_POLYGON struRegion[MAX_REGION_NUM]; - BYTE byRes2[64]; -}NET_DVR_REGION_CLIP_CFG, *LPNET_DVR_REGION_CLIP_CFG; - -#define MAX_DIALNUM_LENGTH 32 -typedef struct tagNET_DVR_WIRELESSDIAL_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿ߲ţ0-1- - BYTE byDialMode; // 0-ԶAuto1-ֶManualĬԶֶģʽ¿òżƻʱ䡢ֶ - BYTE byNetworkMode; //0-Զ1-4Gȣ2-3Gȣ3-ֶл2G4-ֶл3G5-ֶл4G6- - BYTE byRes1; - BYTE byDialNum[MAX_DIALNUM_LENGTH]; //ź - BYTE byUserName[NAME_LEN]; //û - BYTE byPassword[NAME_LEN]; // - BYTE byAPNName[NAME_LEN]; //APN - BYTE byUIMCardNum[NAME_LEN]; //ֻ - BYTE byVerifProtocol; // 0-ԶAuto1-CHAP2-PAP - BYTE byRes2; - WORD wMTU; //MTU - DWORD dwOffineTime; //ʱ䣬30-65535λ룬ֶģʽЧ - BYTE byNetAPN[NAME_LEN]; //˽רAPNֶ - BYTE byEnabled4G; //Ƿ4Gܣ0-1- - BYTE byEnabledDNS; //ǷDNSܣ0-1- - BYTE byRes3[30]; -}NET_DVR_WIRELESSDIAL_CFG, *LPNET_DVR_WIRELESSDIAL_CFG; - -typedef struct tagNET_DVR_WIRELESSDIAL_SCHEDULE -{ - DWORD dwSize;//ṹС - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - NET_DVR_SCHEDTIME struHolidayAlarmTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byRes[128]; -}NET_DVR_WIRELESSDIAL_SCHEDULE,*LPNET_DVR_WIRELESSDIAL_SCHEDULE; - -#define MAX_LENGTH_32 32 -typedef struct tagNET_DVR_WIRELESSDIAL_STATUS -{ - DWORD dwSize;//ṹС - BYTE byRealtimeMode[MAX_LENGTH_32]; //ʵʱģʽ(CDMA 1xEVDOHYBRIDGSMGPRSEDGEWCDMAHSDPAHSUPAHSPATDSCDMATD-LTEFDD-LTE) - BYTE byUIMStatus[MAX_LENGTH_32]; /*UIM״̬(UNKNOWN-δ֪,VALID-Ч,NOVALID-Ч,ROAM-,NOEXIST-, - WRONGPINCODE-PIN,NONETWORKSERVICE-, - ONLYSUPPORTEMERGENCYCALL-ֽ֧УPINCODELOCKEDPIN*/ - DWORD dwSignalQuality; //ź1-5 - BYTE byDialStatus[MAX_LENGTH_32]; /*״̬(disconnect-ŶϿ,dialing-ڲ,success-ųɹ,shmError-쳣, - certificationFailure-֤ʧ,invalidDialingCharacters-ַЧ, - networkTimeout C糬ʱ,wirelessModemErrorģ,SIMError---SIM,,networkError-unknown Cδ֪)*/ - NET_DVR_IPADDR struIpAddr; //IPַ - NET_DVR_IPADDR struIPMask; //ַ - NET_DVR_IPADDR struGatewayIPMask; //صַ - NET_DVR_IPADDR struDnsServerIpAddr; //DNSַ - BYTE byRes[256]; -}NET_DVR_WIRELESSDIAL_STATUS,*LPNET_DVR_WIRELESSDIAL_STATUS; - -typedef struct tagNET_DVR_WIRELESSDIAL_CONNECT -{ - DWORD dwSize;//ṹС - DWORD dwInterface; //ţ1,2 - BYTE byEnableConnect; //Ƿ0-1- - BYTE byRes[255]; -}NET_DVR_WIRELESSDIAL_CONNECT_PARAM,*LPNET_DVR_WIRELESSDIAL_CONNECT_PARAM; - - -typedef struct tagNET_DVR_LITESTORAGE -{ - DWORD dwSize;//ṹС - BYTE byEnable; /*ʹ 0-,1-*/ - BYTE byStorageTime;/*洢ʱ 1-30 Ĭ7*/ - BYTE byLevel; //ȼ0-Чֵ1-ͣ2-(Ĭ)3-ߣ - BYTE byRes; - float fCapacity;//SD¼ռ䣬ֻ - BYTE byDefLowStorageTime;// ģʽƼ ֻ - BYTE byDefMediumStorageTime; // ģʽƼ ֻ - BYTE byDefHighStorageTime; // ģʽƼ ֻ - BYTE byRes1[61]; -}NET_DVR_LITESTORAGE,*LPNET_DVR_LITESTORAGE; - -typedef struct tagNET_DVR_CALIBRATION -{ - DWORD dwSize;//ṹС - NET_VCA_POLYGON struRegion;//궨 - BYTE byRes[64]; -}NET_DVR_CALIBRATION,*LPNET_DVR_CALIBRATION; - -typedef struct tagNET_DVR_STD_CONFIG -{ - void* lpCondBuffer; //[in](ṹʽ),ͨŵ.ΪNULL - DWORD dwCondSize; //[in] lpCondBufferָڴС - void* lpInBuffer; //[in](ṹʽ),ʱΪNULLȡʱΪNULL - DWORD dwInSize; //[in] lpInBufferָڴС - void* lpOutBuffer; //[out](ṹʽ),ȡʱΪNULL,ʱΪNULL - DWORD dwOutSize; //[in] lpOutBufferָڴС - void* lpStatusBuffer; //[out]ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //[in] lpStatusBufferָڴС - void* lpXmlBuffer; //[in/out]byDataType = 1ʱЧ,xmlʽ - DWORD dwXmlSize; //[in/out]lpXmlBufferָڴС,ȡʱͬʱΪȡɹ޸ĻʵʳȣʱʾʵʳȣڴС - BYTE byDataType; //[in]/,0-ʹýṹlpInBuffer/lpOutBufferЧ,1-ʹXMLlpXmlBufferЧ - BYTE byRes[23]; -}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG; - -typedef struct DWORDtagNET_DVR_STD_ABILITY -{ - void* lpCondBuffer; //[in](ָʽ),ͨŵ.ΪNULL - DWORD dwCondSize; //[in] dwCondSizeָڴС - void* lpOutBuffer; //[out](XMLʽ),ΪNULL - DWORD dwOutSize; //[in] lpOutBufferָڴС - void* lpStatusBuffer; //[out]ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //[in] lpStatusBufferָڴС - DWORD dwRetSize; //[out]ȡݳ(lpOutBufferlpStatusBufferָʵݳ) - BYTE byRes[32]; //ֽ -}NET_DVR_STD_ABILITY,*LPNET_DVR_STD_ABILITY; - -typedef struct tagNET_DVR_STD_CONTROL -{ - void* lpCondBuffer; //[in](ָʽ),ͨŵ.ΪNULL - DWORD dwCondSize; //[in] dwCondSizeָڴС - void* lpStatusBuffer; //[out]ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //[in] lpStatusBufferָڴС - void* lpXmlBuffer; //[in/out]byDataType = 1ʱЧ,xmlʽ - DWORD dwXmlSize; //[in/out]lpXmlBufferָڴС,ȡʱͬʱΪȡɹ޸ĻʵʳȣʱʾʵʳȣڴС - BYTE byDataType; //[in]/,0-ʹýṹlpCondBufferЧ,1-ʹXMLlpXmlBufferЧ - BYTE byRes[55]; -}NET_DVR_STD_CONTROL, *LPNET_DVR_STD_CONTROL; - -#define MAX_FILE_PATH_LEN 256 //ļ· -typedef struct tagNET_DVR_MIME_UNIT -{ - //ʽ - //Content-Disposition: form-data; name="upload"; filename="C:\Users\test\Desktop\11.txt" - //Content-Type: text/plain - char szContentType[32]; //ӦContent-Type - char szName[MAX_FILE_PATH_LEN]; //Ӧnameֶ - char szFilename[MAX_FILE_PATH_LEN]; //Ӧfilenameֶ - DWORD dwContentLen; //ContentijȣС512K - char* pContent; //ָ - BYTE bySelfRead; // 0-紫ļ 1-ڲȡݣͨszFilename··ʱֶЧȡʱЧ - BYTE byRes[15]; -}NET_DVR_MIME_UNIT, *LPNET_DVR_MIME_UNIT; - -typedef struct tagNET_DVR_MIME_DATA -{ - BYTE byContentType; //ļ 0-Ч, 1-json, 2-bmp - BYTE byRes1[3]; // - void *lpContent; //ļݣָΪգʾļ - DWORD dwContentSize; //ļݴССΪ512k - char sContentID[32]; //ʽContent-IDͷֵISAPIضڵֵһһӦ - BYTE byRes[512]; // -}NET_DVR_MIME_DATA, *LPNET_DVR_MIME_DATA; - -typedef struct tagNET_DVR_XML_CONFIG_INPUT -{ - DWORD dwSize; //ṹС - void* lpRequestUrl; //ַʽ - DWORD dwRequestUrlLen; //ȣַ - void* lpInBuffer; //XMLʽ - DWORD dwInBufferSize; //С - DWORD dwRecvTimeOut; //ճʱʱ䣬λms0ʹĬϳʱ5s - BYTE byForceEncrpt; //ǷǿƼܣ0-1- - BYTE byNumOfMultiPart; //0-ЧֵʾķֶθʱlpInBufferNET_DVR_MIME_UNITṹָ룬ֵṹ - BYTE byMIMEType; //0-Ч1-ʾʹNET_DVR_MIME_UNITṹ壬2-ʾʹNET_DVR_MIME_DATAṹ壬ֶνbyNumOfMultiPartЧʱЧ - BYTE byRes1; - DWORD dwSendTimeOut; //ͳʱʱ䣬λms0ʹĬϳʱ5s - BYTE byRes[24]; -}NET_DVR_XML_CONFIG_INPUT, *LPNET_DVR_XML_CONFIG_INPUT; - -typedef struct tagNET_DVR_XML_CONFIG_OUTPUT -{ - DWORD dwSize; //ṹС - void* lpOutBuffer; //XMLʽ - DWORD dwOutBufferSize; //С(ڴС) - DWORD dwReturnedXMLSize; //ʵXMLݴС - void* lpStatusBuffer; //ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //״̬С(ڴС) -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - void* lpDataBuffer; //byNumOfMultiPart>0ʱϱĽṹʹã͸ݣͨNET_DVR_MIME_UNITdwContentLenƫƷ -#else - void* lpDataBuffer; //byNumOfMultiPart>0ʱϱĽṹʹã͸ݣͨNET_DVR_MIME_UNITdwContentLenƫƷ - BYTE byRes2[4]; -#endif - BYTE byNumOfMultiPart; //0-Ч ֵʾķֶθʱlpInBufferNET_DVR_MIME_UNITṹָ룬ֵṹ - BYTE byRes[23]; -}NET_DVR_XML_CONFIG_OUTPUT, *LPNET_DVR_XML_CONFIG_OUTPUT; - -typedef struct tagNET_DVR_FORM_DATA_CFG -{ - DWORD dwSize; //ṹС - void *lpBuffer; //ݻָNET_DVR_MIME_DATAṹ - DWORD dwBufferSize; //ݻС - BYTE byNumOfMultiPart; // 0-ЧֵʾķֶθʱlpBufferNET_DVR_MIME_DATAṹָ룬ֵṹΪ3 - BYTE byRes[67]; // -}NET_DVR_FORM_DATA_CFG, *LPNET_DVR_FORM_DATA_CFG; - -typedef struct tagNET_DVR_JSON_DATA_CFG -{ - DWORD dwSize; //ṹС - void *lpJsonData; //JSON - DWORD dwJsonDataSize; //JSONĴС - void *lpPicData; //ͼƬ - DWORD dwPicDataSize; //ͼƬݴС - DWORD dwInfraredFacePicSize; //ͼƬݴС0ʱͼƬ(JSONΪResponseStatusJSONʱֶ壻Inbound DataJSONûinfraredFaceURLʱֶҪ϶ͼƬݣ - void* lpInfraredFacePicBuffer; //ͼƬݻ - BYTE byRes[248]; // -}NET_DVR_JSON_DATA_CFG, *LPNET_DVR_JSON_DATA_CFG; - -typedef struct tagNET_DVR_SIMPLE_DAYTIME -{ - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE bySecond; // - BYTE byRes; -}NET_DVR_SIMPLE_DAYTIME, *LPNET_DVR_SIMPLE_DAYTIME; - -typedef struct tagNET_DVR_TIME_SEGMENT -{ - NET_DVR_SIMPLE_DAYTIME struBeginTime; //ʼʱ - NET_DVR_SIMPLE_DAYTIME struEndTime; //ʱ -}NET_DVR_TIME_SEGMENT, *LPNET_DVR_TIME_SEGMENT; - -typedef struct tagNET_DVR_SINGLE_PLAN_SEGMENT -{ - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byDoorStatus; //״̬ģʽݿģʽ0-Ч1-ߣ2-״̬ɣ3-״̬ã4-ͨ״̬״̬ƻʹã - BYTE byVerifyMode; //֤ʽ0-Ч1-ˢ2-ˢ+(֤ʽƻʹ)3-ˢ,4-ˢ(֤ʽƻʹ), 5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+루Ⱥ˳򣩣10-ָƻˢ룬11-+ָƣ - //12-+룬13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ,23-ָƻ24-ˢ룬25-ˢ,26-ˢָ, - //27-ˢָƻ,28-,29-++,30-ˢ+ˢ31-ָƻ룬32-Ĥ33-ָƻˢĤ34-ˢĤ - BYTE byRes[5]; - NET_DVR_TIME_SEGMENT struTimeSegment; //ʱβ -}NET_DVR_SINGLE_PLAN_SEGMENT, *LPNET_DVR_SINGLE_PLAN_SEGMENT; - -typedef struct tagNET_DVR_WEEK_PLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byRes1[3]; - NET_DVR_SINGLE_PLAN_SEGMENT struPlanCfg[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ܼƻ - BYTE byRes2[16]; -}NET_DVR_WEEK_PLAN_CFG, *LPNET_DVR_WEEK_PLAN_CFG; - -typedef struct tagNET_DVR_HOLIDAY_PLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byRes1[3]; - NET_DVR_DATE struBeginDate; //տʼ - NET_DVR_DATE struEndDate; //ս - NET_DVR_SINGLE_PLAN_SEGMENT struPlanCfg[MAX_TIMESEGMENT_V30]; //ʱβ - BYTE byRes2[16]; -}NET_DVR_HOLIDAY_PLAN_CFG, *LPNET_DVR_HOLIDAY_PLAN_CFG; - -typedef struct tagNET_DVR_HOLIDAY_PLAN_COND -{ - DWORD dwSize; - DWORD dwHolidayPlanNumber; //ռƻ - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_HOLIDAY_PLAN_COND, *LPNET_DVR_HOLIDAY_PLAN_COND; - -typedef struct tagNET_DVR_WEEK_PLAN_COND -{ - DWORD dwSize; - DWORD dwWeekPlanNumber; //ܼƻ - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_WEEK_PLAN_COND, *LPNET_DVR_WEEK_PLAN_COND; - -typedef struct tagNET_DVR_HOLIDAY_GROUP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã1-ã0- - BYTE byRes1[3]; - BYTE byGroupName[HOLIDAY_GROUP_NAME_LEN]; // - DWORD dwHolidayPlanNo[MAX_HOLIDAY_PLAN_NUM]; //ռƻţǰ䣬0Ч - BYTE byRes2[32]; -}NET_DVR_HOLIDAY_GROUP_CFG, *LPNET_DVR_HOLIDAY_GROUP_CFG; - -typedef struct tagNET_DVR_HOLIDAY_GROUP_COND -{ - DWORD dwSize; - DWORD dwHolidayGroupNumber; // - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_HOLIDAY_GROUP_COND, *LPNET_DVR_HOLIDAY_GROUP_COND; - -typedef struct tagNET_DVR_PLAN_TEMPLATE -{ - DWORD dwSize; - BYTE byEnable; //Ƿã1-ã0- - BYTE byRes1[3]; - BYTE byTemplateName[TEMPLATE_NAME_LEN]; //ģ - DWORD dwWeekPlanNo; //ܼƻţ0ΪЧ - DWORD dwHolidayGroupNo[MAX_HOLIDAY_GROUP_NUM]; //ţǰ䣬0Ч - BYTE byRes2[32]; -}NET_DVR_PLAN_TEMPLATE, *LPNET_DVR_PLAN_TEMPLATE; - -typedef struct tagNET_DVR_PLAN_TEMPLATE_COND -{ - DWORD dwSize; - DWORD dwPlanTemplateNumber; //ƻģţ1ʼֵŽȡ - WORD wLocalControllerID; //͵ؿ[1,64]0Ч - BYTE byRes[106]; -}NET_DVR_PLAN_TEMPLATE_COND, *LPNET_DVR_PLAN_TEMPLATE_COND; - -typedef struct tagNET_DVR_DOOR_STATUS_PLAN -{ - DWORD dwSize; - DWORD dwTemplateNo; //ƻģţΪ0ʾȡָĬ״̬ͨ״̬ - BYTE byRes[64]; -}NET_DVR_DOOR_STATUS_PLAN, *LPNET_DVR_DOOR_STATUS_PLAN; - -typedef struct tagNET_DVR_CARD_READER_PLAN -{ - DWORD dwSize; - DWORD dwTemplateNo; //ƻģţΪ0ʾȡָĬ״̬ˢţ - BYTE byRes[64]; -}NET_DVR_CARD_READER_PLAN, *LPNET_DVR_CARD_READER_PLAN; - -typedef struct _tagNET_DVR_GROUP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes1[3]; - NET_DVR_VALID_PERIOD_CFG struValidPeriodCfg; //ȺЧڲ - BYTE byGroupName[GROUP_NAME_LEN]; //Ⱥ - BYTE byRes2[32]; -}NET_DVR_GROUP_CFG, *LPNET_DVR_GROUP_CFG; - -typedef struct tagNET_DVR_GROUP_COMBINATION_INFO -{ - BYTE byEnable; //ǷøȺ - BYTE byMemberNum; //ˢԱ - BYTE bySequenceNo; //Ⱥˢ - BYTE byRes; - DWORD dwGroupNo; //Ⱥ,0xffffffffʾԶ̿ţ0xfffffffeʾ -}NET_DVR_GROUP_COMBINATION_INFO, *LPNET_DVR_GROUP_COMBINATION_INFO; - -typedef struct tagNET_DVR_MULTI_CARD_GROUP_CFG -{ - BYTE byEnable; //Ƿøöؿ0-ã1- - BYTE byEnableOfflineVerifyMode; //Ƿʱ֤ʽԶ̿ţ - BYTE byRes1[2]; - DWORD dwTemplateNo; //öؿܵļƻģ - NET_DVR_GROUP_COMBINATION_INFO struGroupCombination[GROUP_COMBINATION_NUM]; //Ⱥϲ -}NET_DVR_MULTI_CARD_GROUP_CFG, *LPNET_DVR_MULTI_CARD_GROUP_CFG; - -typedef struct tagNET_DVR_MULTI_CARD_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿöؿܣ0-ã1- - BYTE bySwipeIntervalTimeout; //ˢʱʱ䣬1-255sĬ10s - BYTE byRes1[2]; - NET_DVR_MULTI_CARD_GROUP_CFG struGroupCfg[MULTI_CARD_GROUP_NUM]; //Ⱥˢ - BYTE byRes2[32]; -}NET_DVR_MULTI_CARD_CFG, *LPNET_DVR_MULTI_CARD_CFG; - -typedef struct tagNET_DVR_GROUP_COMBINATION_INFO_V50 -{ - BYTE byEnable; //ǷøȺ - BYTE byMemberNum; //ˢԱ - BYTE bySequenceNo; //Ⱥˢ - BYTE byRes; - DWORD dwGroupNo; //Ⱥ,0xffffffffʾԶ̿ţ0xfffffffeʾ -}NET_DVR_GROUP_COMBINATION_INFO_V50, *LPNET_DVR_GROUP_COMBINATION_INFO_V50; - -typedef struct tagNET_DVR_MULTI_CARD_GROUP_CFG_V50 -{ - BYTE byEnable; //Ƿøöؿ0-ã1- - BYTE byEnableOfflineVerifyMode; //Ƿʱ֤ʽԶ̿ţ1-ã0- - BYTE byRes1[2]; - DWORD dwTemplateNo; //öؿܵļƻģ - NET_DVR_GROUP_COMBINATION_INFO_V50 struGroupCombination[GROUP_COMBINATION_NUM]; //Ⱥϲ -}NET_DVR_MULTI_CARD_GROUP_CFG_V50, *LPNET_DVR_MULTI_CARD_GROUP_CFG_V50; - -typedef struct tagNET_DVR_MULTI_CARD_CFG_V50 -{ - DWORD dwSize; - BYTE byEnable; //Ƿöؿܣ0-ã1- - BYTE bySwipeIntervalTimeout; //ˢʱʱ䣬1-255sĬ10s - BYTE byRes1[2]; - NET_DVR_MULTI_CARD_GROUP_CFG_V50 struGroupCfg[NET_SDK_MULTI_CARD_GROUP_NUM_20]; //Ⱥˢ - BYTE byRes2[32]; -}NET_DVR_MULTI_CARD_CFG_V50, *LPNET_DVR_MULTI_CARD_CFG_V50; - -//2014-12-03 T1״̬ṹ -typedef struct -{ - DWORD dwSize;//ṹС - WORD wPort; //˿ں - //(豸ͨ˿ڿƣ˿ں豸˹̶ϲ㲻ãʼsocketӣT1ݣXMLʽ) - //0- ر(ر豸̣߳ͷŶ˿)1- (豸ڲ߳) - BYTE byPortState; - BYTE byRes[61]; // -}NET_DVR_T1TEST_PARAMCFG,*LPNET_DVR_T1TEST_PARAMCFG; - -#define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ -#define CARD_PARAM_VALID 0x00000002 //Чڲ -#define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ -#define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ -#define CARD_PARAM_LEADER_CARD 0x00000010 //׿ -#define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ -#define CARD_PARAM_GROUP 0x00000040 //Ⱥ -#define CARD_PARAM_PASSWORD 0x00000080 // -#define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ -#define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ -#define CARD_PARAM_EMPLOYEE_NO 0x00000400 // -#define CARD_PARAM_NAME 0x00000800 // -#define CARD_PARAM_DEPARTMENT_NO 0x00001000 //ű -#define CARD_SCHEDULE_PLAN_NO 0x00002000 //Űƻ -#define CARD_SCHEDULE_PLAN_TYPE 0x00004000 //Űƻ -#define CARD_ROOM_NUMBER 0x00008000 // -#define CARD_SIM_NO 0x00010000 //SIMţֻţ -#define CARD_FLOOR_NUMBER 0x00020000 //¥ -#define CARD_USER_TYPE 0x00040000 //û - -typedef struct tagNET_DVR_ANTI_SNEAK_CFG -{ - DWORD dwSize; - BYTE byEnable; //ʹܷDZعܣ1-ʹܣ0-ʹ - BYTE byRes1[3]; - DWORD dwStartCardReaderNo; //DZʼ - BYTE byRes2[64]; -}NET_DVR_ANTI_SNEAK_CFG, *LPNET_DVR_ANTI_SNEAK_CFG; - -typedef struct tagNET_DVR_CARD_READER_ANTI_SNEAK_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ뷴DZ·1-룬0- - BYTE byRes1[3]; - DWORD dwFollowUpCardReader[MAX_SNEAK_PATH_NODE]; //ţΪ0ʾעʼ - BYTE byRes2[32]; -}NET_DVR_CARD_READER_ANTI_SNEAK_CFG, *LPNET_DVR_CARD_READER_ANTI_SNEAK_CFG; - -typedef struct tagNET_DVR_PHONE_DOOR_RIGHT_CFG -{ - DWORD dwSize; - BYTE byOpenRight[MAX_DOOR_NUM_256]; //ʾ,ǷпȨޣ-Ȩޣ-Ȩ - BYTE byCloseRight[MAX_DOOR_NUM_256]; //ʾ,ǷйȨޣ-Ȩޣ-Ȩ - BYTE byNormalOpenRight[MAX_DOOR_NUM_256]; //ʾ,ǷгȨޣ-Ȩޣ-Ȩ - BYTE byNormalCloseRight[MAX_DOOR_NUM_256]; //ʾ,ǷгȨޣ-Ȩޣ-Ȩ - BYTE byArmRight[MAX_ALARMHOST_ALARMIN_NUM]; //ʾ,ǷвȨޣ-Ȩޣ-Ȩ - BYTE byDisarmRight[MAX_ALARMHOST_ALARMIN_NUM]; //ʾ,ǷгȨޣ-Ȩޣ-Ȩ - BYTE byRes[256]; // -}NET_DVR_PHONE_DOOR_RIGHT_CFG,*LPNET_DVR_PHONE_DOOR_RIGHT_CFG; - -typedef struct tagNET_DVR_MULTI_DOOR_INTERLOCK_CFG -{ - DWORD dwSize; - BYTE byEnable; //ǷöŻܣ1-ã0- - BYTE byRes1[3]; - DWORD dwMultiDoorGroup[MAX_MULTI_DOOR_INTERLOCK_GROUP][MAX_INTER_LOCK_DOOR_NUM]; //ŻȡֵΪű - BYTE byRes2[64]; -}NET_DVR_MULTI_DOOR_INTERLOCK_CFG, *LPNET_DVR_MULTI_DOOR_INTERLOCK_CFG; - -typedef struct tagNET_DVR_CARD_READER_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byCardReaderType; //ͣ1-DS-K110XM/MK/C/CK2-DS-K192AM/AMP3-DS-K192BM/BMP4-DS-K182AM/AMP5-DS-K182BM/BMP6-DS-K182AMF/ACF7-Τ485,8- DS-K1101M/MK9- DS-K1101C/CK10- DS-K1102M/MK/M-A - //11- DS-K1102C/CK12- DS-K1103M/MK13- DS-K1103C/CK14- DS-K1104M/MK15- DS-K1104C/CK16- DS-K1102S/SK/S-A17- DS-K1102G/GK18- DS-K1100S-B19- DS-K1102EM/EMK20- DS-K1102E/EK - //21- DS-K1200EF22- DS-K1200MF23- DS-K1200CF24- DS-K1300EF25- DS-K1300MF26- DS-K1300CF27- DS-K1105E28- DS-K1105M29- DS-K1105C30- DS-K182AMF31- DS-K196AMF32-DS-K194AMP - //33-DS-K1T200EF/EF-C/MF/MF-C/CF/CF-C,34-DS-K1T300EF/EF-C/MF/MF-C/CF/CF-C35-DS-K1T105E/E-C/M/M-C/C/C-C36-DS-K1T803F/MF/SF/EF37-DS-K1A801F/MF/SF/EF,38-DS-K1107M/MK,39-DS-K1107E/EK, - //40-DS-K1107S/SK,41-DS-K1108M/MK,42-DS-K1108E/EK,43-DS-K1108S/SK,44-DS-K1200F,45-DS-K1S110-I,46-DS-K1T200M-PG/PGC,47-DS-K1T200M-PZ/PZC,48-DS-K1109H - BYTE byOkLedPolarity; //OK LEDԣ0-1- - BYTE byErrorLedPolarity; //Error LEDԣ0-1- - BYTE byBuzzerPolarity; //ԣ0-1- - BYTE bySwipeInterval; //ظˢʱ䣬λ - BYTE byPressTimeout; //ʱʱ䣬λ - BYTE byEnableFailAlarm; //Ƿöʧܳα0-ã1- - BYTE byMaxReadCardFailNum; //ʧܴ - BYTE byEnableTamperCheck; //Ƿַ֧⣬0-disable 1-enable - BYTE byOfflineCheckTime; //߼ʱ λ - BYTE byFingerPrintCheckLevel; //ָʶȼ1-1/10ʣ2-1/100ʣ3-1/1000ʣ4-1/10000ʣ5-1/100000ʣ6-1/1000000ʣ7-1/10000000ʣ8-1/100000000ʣ9-3/100ʣ10-3/1000ʣ11-3/10000ʣ12-3/100000ʣ13-3/1000000ʣ14-3/10000000ʣ15-3/100000000ʣ16-Automatic Normal,17-Automatic Secure,18-Automatic More Secure - BYTE byUseLocalController; //ֻǷھ͵ؿϣ0-1- - BYTE byRes1; - WORD wLocalControllerID; //ֻ͵ؿţ1-64,0δע - WORD wLocalControllerReaderID; //ֻ͵ؿĶID0δע - WORD wCardReaderChannel; //ֻͨͨţ0Τߣ1-RS485A,2-RS485B - BYTE byRes[16]; -}NET_DVR_CARD_READER_CFG, *LPNET_DVR_CARD_READER_CFG; - -typedef struct tagNET_DVR_CARD_READER_CFG_V50 -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byCardReaderType; //ͣ1-DS-K110XM/MK/C/CK2-DS-K192AM/AMP3-DS-K192BM/BMP4-DS-K182AM/AMP5-DS-K182BM/BMP6-DS-K182AMF/ACF7-Τ485ߣ8- DS-K1101M/MK9- DS-K1101C/CK10- DS-K1102M/MK/M-A11- DS-K1102C/CK12- DS-K1103M/MK13- DS-K1103C/CK14- DS-K1104M/MK15- DS-K1104C/CK16- DS-K1102S/SK/S-A17- DS-K1102G/GK18- DS-K1100S-B19- DS-K1102EM/EMK20- DS-K1102E/EK21- DS-K1200EF22- DS-K1200MF23- DS-K1200CF24- DS-K1300EF25- DS-K1300MF26- DS-K1300CF27- DS-K1105E28- DS-K1105M29- DS-K1105C30- DS-K182AMF31- DS-K196AMF32-DS-K194AMP33-DS-K1T200EF/EF-C/MF/MF-C/CF/CF-C,34-DS-K1T300EF/EF-C/MF/MF-C/CF/CF-C35-DS-K1T105E/E-C/M/M-C/C/C-C,36-DS-K1T803F/F-M/F-S/F-E,37-DS-K1A801F/F-M/F-S/F-E,38-DS-K1107M/MK,39-DS-K1107E/EK,40-DS-K1107S/SK,41-DS-K1108M/MK,42-DS-K1108E/EK,43-DS-K1108S/SK,44-DS-K1200F,45-DS-K1S110-I,46-DS-K1T200M-PG/PGC,47-DS-K1T200M-PZ/PZC,48-DS-K1109H - BYTE byOkLedPolarity; //OK LEDԣ0-1- - BYTE byErrorLedPolarity; //Error LEDԣ0-1- - BYTE byBuzzerPolarity; //ԣ0-1- - BYTE bySwipeInterval; //ظˢʱ䣬λ - BYTE byPressTimeout; //ʱʱ䣬λ - BYTE byEnableFailAlarm; //Ƿöʧܳα0-ã1- - BYTE byMaxReadCardFailNum; //ʧܴ - BYTE byEnableTamperCheck; //Ƿַ֧⣬0-disable 1-enable - BYTE byOfflineCheckTime; //߼ʱ λ - BYTE byFingerPrintCheckLevel; //ָʶȼ1-1/10ʣ2-1/100ʣ3-1/1000ʣ4-1/10000ʣ5-1/100000ʣ6-1/1000000ʣ7-1/10000000ʣ8-1/100000000ʣ9-3/100ʣ10-3/1000ʣ11-3/10000ʣ12-3/100000ʣ13-3/1000000ʣ14-3/10000000ʣ15-3/100000000ʣ16-Automatic Normal,17-Automatic Secure,18-Automatic More SecureĿǰŽ֧֣ - BYTE byUseLocalController; //ֻǷھ͵ؿϣ0-1- - BYTE byRes1; - WORD wLocalControllerID; //ֻ͵ؿ, byUseLocalController=1ʱЧ1-64,0δע - WORD wLocalControllerReaderID; //ֻ͵ؿĶIDbyUseLocalController=1ʱЧ0δע - WORD wCardReaderChannel; //ֻͨͨţbyUseLocalController=1ʱЧ0Τߣ1-RS485A,2-RS485B - BYTE byFingerPrintImageQuality; //ָͼ0-Ч1-(V1)2-е(V1)3-(V1)4-(V1)5-(V2)6-е(V2)7-(V2)8-(V2) - BYTE byFingerPrintContrastTimeOut; //ָƶԱȳʱʱ䣬0-ЧΧ1-20:1s-20s0xff-޴ - BYTE byFingerPrintRecogizeInterval; //ָʶ0-ЧΧ1-10:1s-10s0xff-ӳ - BYTE byFingerPrintMatchFastMode; //ָƥģʽ0-ЧΧ1-5:ģʽ1-ģʽ50xff-Զ - BYTE byFingerPrintModuleSensitive; //ָģȣ0-ЧΧ1-8ȼ1-ȼ8 - BYTE byFingerPrintModuleLightCondition; //ָģ0-Ч1-⣬2- - BYTE byFaceMatchThresholdN; //ȶԷֵΧ0-100 - BYTE byFaceQuality; //Χ0-100 - BYTE byFaceRecogizeTimeOut; //ʶʱʱ䣬Χ1-201s-20s0xff-޴ - BYTE byFaceRecogizeInterval; //ʶ0-ЧΧ1-101s-10s0xff-ӳ - WORD wCardReaderFunction; //ֻ࣬λʾ1λ-ָƣڶλ-λ-ָλ-Ĥ - BYTE byCardReaderDescription[CARD_READER_DESCRIPTION]; // - WORD wFaceImageSensitometry; //ֻͼعȣΧ0-65535 - BYTE byLivingBodyDetect; //˼⣬0-Ч1-ã2- - BYTE byFaceMatchThreshold1; //1:1ƥ䷧ֵΧ0-100 - WORD wBuzzerTime; //ʱ䣬Χ0s-5999s0- - BYTE byFaceMatch1SecurityLevel; //1:1ʶȫȼ0-Ч1-һ㣬2-ǿ3-ǿ - BYTE byFaceMatchNSecurityLevel; //1:Nʶȫȼ0-Ч1-һ㣬2-ǿ3-ǿ - BYTE byEnvirMode;//ʶ𻷾ģʽ0-Ч1-ڣ2- - BYTE byLiveDetLevelSet;//ֵȼã0-Ч1-ͣ2-У3-ߣ - BYTE byLiveDetAntiAttackCntLimit;// 0-Ч1-255Σͻˡ豸ͳһƣƣ - BYTE byEnableLiveDetAntiAttack;//ʹܣ0-Ч1-ã2- - BYTE bySupportDelFPByID;//ֻǷְָ֧IDɾָƣ0-Ч1-֧֣2-֧ - BYTE byFaceContrastMotionDetLevel;//ȶʱƶ⼶0-Ч1-ͣ2-У3-ߣ0xff- - BYTE byDayFaceMatchThresholdN; //1:Nƥ䷧ֵΧ0-100 - BYTE byNightFaceMatchThresholdN; //ҹ1:Nƥ䷧ֵΧ0-100 - BYTE byFaceRecogizeEnable; //ʶʹܣ0-Ч1-2-ر - BYTE byBlockListMatchThreshold; //ֹƥ䷧ֵΧ0-100 - BYTE byRes3; - BYTE byDefaultVerifyMode; //ֻĬ֤ʽĬϣ1-ߣ2-ˢ+룬3-ˢ4-ˢ룬5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+룬10-ָƻˢ룬11-+ָƣ12-+룬13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ23-ָƻ24-ˢ룬25-ˢ26-ˢָƣ27-ˢָƻ - DWORD dwFingerPrintCapacity;//ָֻ - DWORD dwFingerPrintNum;//ֻѴָ - BYTE byEnableFingerPrintNum;//ָֻʹܣ0-ʹܣ1-ʹܣֻеֶΪ1-ʹʱdwFingerPrintCapacitydwFingerPrintNumЧ - BYTE byEnableReverseCardNo; //ŷתʹ 0-ʹ1-ʹ - BYTE byRes2[2]; - DWORD dwIndependSwipeIntervals;//Ա֤ÿ˵ظ֤ - BYTE byRes[224]; -}NET_DVR_CARD_READER_CFG_V50, *LPNET_DVR_CARD_READER_CFG_V50; - -typedef struct tagNET_DVR_FAILED_FACE_COND -{ - DWORD dwSize; - BYTE byRes[128]; // -}NET_DVR_FAILED_FACE_COND, *LPNET_DVR_FAILED_FACE_COND; - -typedef struct tagNET_DVR_FAILED_FACE_INFO -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byErrorCode; //ģʧϸ,0-Ч1-ȡļʧܣ2-ļʧܣ3-ڴ治㣬4-עʧܣ5-ۼ̫С6-Ȩ޲ - BYTE byRes1[3]; - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes[92]; -}NET_DVR_FAILED_FACE_INFO, *LPNET_DVR_FAILED_FACE_INFO; - -typedef struct tagNET_DVR_FACE_PARAM_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀţʱòɲã - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ĶǷЧ0-Ч1-Чʱòɲã - DWORD dwFaceNum; //ûȡȡʱΪ0xffffffffʾȡϢ - BYTE byFaceID; //ţЧֵΧΪ1-2 0xffʾÿʱòɲã - BYTE byRes[127]; // -}NET_DVR_FACE_PARAM_COND, *LPNET_DVR_FACE_PARAM_COND; - -typedef struct tagNET_DVR_FACE_PARAM_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwFaceLen; //ݳ豸˷صļܺ - char* pFaceBuffer; //ָ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //Ҫ·Ķʾӵλλʾ0-·ö1-·ö - BYTE byFaceID; //ţЧֵΧΪ1-2 - BYTE byFaceDataType; //ͣ0-ģ壨Ĭϣ1-ͼƬ - BYTE byRes[126]; -}NET_DVR_FACE_PARAM_CFG, *LPNET_DVR_FACE_PARAM_CFG; - -typedef struct tagNET_DVR_FACE_PARAM_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byCardReaderRecvStatus[MAX_CARD_READER_NUM_512]; //״ֽ̬ڱʾ0-ʧܣ1-ɹ2-Ի3-ڴ()4-Ѵڸ5-ǷID - //,6-㷨ģʧܣ7-δ·Ȩޣ8-δ壨9-ۼСС10-ͼƬݳС1KB11-ͼƬʽpng/jpg/bmp,12-ͼƬޣ13-ͼƬޣ14-ͼƬϢУʧܣ15-ͼƬʧܣ16-ʧܣ17-ʧ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ4ʱʾѴӦĿ - DWORD dwCardReaderNo; //ƶţ·󷵻 - BYTE byTotalStatus; //·ܵ״̬0-ǰδж1-ж(ָŽеĶ·ˣܳɹ) - BYTE byFaceID; //ţЧֵΧΪ1-2 - BYTE byRes[130]; -}NET_DVR_FACE_PARAM_STATUS, *LPNET_DVR_FACE_PARAM_STATUS; - -typedef struct tagNET_DVR_FACE_PARAM_BYCARD -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ĶϢʾ - BYTE byFaceID[MAX_FACE_NUM]; //Ҫɾţ±ֵ꣬ʾ0-ɾ1-ɾ - BYTE byRes1[42]; // -}NET_DVR_FACE_PARAM_BYCARD, *LPNET_DVR_FACE_PARAM_BYCARD; - -typedef struct tagNET_DVR_FACE_PARAM_BYREADER -{ - DWORD dwCardReaderNo; //ֵʾ - BYTE byClearAllCard; //ǷɾпϢ0-ɾϢ1-ɾпϢ - BYTE byRes1[3]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byRes[548]; // -}NET_DVR_FACE_PARAM_BYREADER, *LPNET_DVR_FACE_PARAM_BYREADER; - -typedef union tagNET_DVR_DEL_FACE_PARAM_MODE -{ - BYTE uLen[588]; //峤 - NET_DVR_FACE_PARAM_BYCARD struByCard; //ŵķʽɾ - NET_DVR_FACE_PARAM_BYREADER struByReader; //ķʽɾ -}NET_DVR_DEL_FACE_PARAM_MODE, *LPNET_DVR_DEL_FACE_PARAM_MODE; - -typedef struct tagNET_DVR_FACE_PARAM_CTRL -{ - DWORD dwSize; - BYTE byMode; //ɾʽ0-ŷʽɾ1-ɾ - BYTE byRes1[3]; // - NET_DVR_DEL_FACE_PARAM_MODE struProcessMode; //ʽ - BYTE byRes[64]; // -}NET_DVR_FACE_PARAM_CTRL, *LPNET_DVR_FACE_PARAM_CTRL; - -typedef struct tagNET_DVR_LOCAL_CONTROLLER_STATUS_COND -{ - DWORD dwSize; - WORD wLocalControllerID; //͵ؿ(ֿ),Ϊ0ʾ - BYTE byRes[306]; -}NET_DVR_LOCAL_CONTROLLER_STATUS_COND, *LPNET_DVR_LOCAL_CONTROLLER_STATUS_COND; - -typedef struct tagNET_DVR_LOCAL_CONTROLLER_STATUS -{ - DWORD dwSize; - WORD wLocalControllerID; //͵ؿ(ֿ) - BYTE byLocalAntiDismantleStatus; //͵ؿ״̬0-رգ1- - BYTE byPowerSupplyStatus; //豸״̬1-繩磬2-ع - WORD wBatteryVoltage; //صѹֵʵֵ10λ - BYTE byBatteryLowVoltage; //Ƿڵѹ״̬0-1- - BYTE byFireAlarm; //0-1-̽ӱ2-Ͽ - BYTE bySerialNumber[SERIALNO_LEN]; //豸к - BYTE byMagneticStatus[MAX_DOOR_NUM];// Ŵ״̬0رգ12ƻ·3ƻ·4쳣 - BYTE byDoorLockStatus[MAX_DOOR_NUM]; //״̬0رգ12ƻ·3ƻ·4쳣 - BYTE byCardReaderOnlineStatus[MAX_CARD_READER_NUM]; //״̬0-ߣ1- - WORD wLocalControllerStatus; //ֻ͵ؿ״̬(ֿ״̬)0-ߣ1-ߣ2-·1ϵRS48513-·1ϵRS48524-·2ϵRS48515-·2ϵRS48526-·3ϵRS48517-·3ϵRS48528-·4ϵRS48519-·4ϵRS4852ֻ - BYTE byRes2[122]; -}NET_DVR_LOCAL_CONTROLLER_STATUS, *LPNET_DVR_LOCAL_CONTROLLER_STATUS; - -typedef struct tagNET_DVR_ONLINE_LOCAL_CONTROLLER_CFG -{ - DWORD dwSize; - BYTE byLocalControllerName[LOCAL_CONTROLLER_NAME_LEN]; //͵ؿ - WORD wLocalControllerID; //͵ؿ - WORD wDevPort; // 豸˿ں - NET_DVR_IPADDR struDevIP; // 豸IPַ - NET_DVR_IPADDR struSubnetMask; // 豸 - NET_DVR_IPADDR struGateway; // 豸 - BYTE bySearchProgress; //ȣ0ʾδʼ100ʾͬ - BYTE byEffectData;//ǷΪЧ,0ʾЧ1ʾ豸ֻȣΪ - BYTE byRes[302]; -}NET_DVR_ONLINE_LOCAL_CONTROLLER_CFG, *LPNET_DVR_ONLINE_LOCAL_CONTROLLER_CFG; - -typedef struct tagNET_DVR_ACS_WORK_STATUS -{ - DWORD dwSize; - BYTE byDoorLockStatus[MAX_DOOR_NUM]; //״̬0-أ1- - BYTE byDoorStatus[MAX_DOOR_NUM]; //״̬1-ߣ2-״̬3-״̬4-ͨ״̬ - BYTE byMagneticStatus[MAX_DOOR_NUM]; //Ŵ״̬0-պϣ1- - BYTE byCaseStatus[MAX_CASE_SENSOR_NUM]; ////¼״̬0-룬1- - WORD wBatteryVoltage; //صѹֵʵֵ10λ - BYTE byBatteryLowVoltage; //Ƿڵѹ״̬0-1- - BYTE byPowerSupplyStatus; //豸״̬1-繩磬2-ع - BYTE byMultiDoorInterlockStatus; //Ż״̬0-رգ1- - BYTE byAntiSneakStatus; //DZ״̬0-رգ1- - BYTE byHostAntiDismantleStatus; //״̬0-رգ1- - BYTE byIndicatorLightStatus; //ָʾ״̬0-ߣ1- - BYTE byCardReaderOnlineStatus[MAX_CARD_READER_NUM]; //״̬0-ߣ1- - BYTE byCardReaderAntiDismantleStatus[MAX_CARD_READER_NUM]; //״̬0-رգ1- - BYTE byCardReaderVerifyMode[MAX_CARD_READER_NUM]; //ǰ֤ʽ1-ˢ2-ˢ+룬3-ˢ4-ˢ - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڲ״̬0-Ӧڴڳ״̬1-Ӧڴڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //ڱ״̬0-Ӧڵǰޱ1-Ӧڵǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬0-Ӧޱ1-Ӧб - DWORD dwCardNum; //ӵĿ - BYTE byRes2[32]; -}NET_DVR_ACS_WORK_STATUS, *LPNET_DVR_ACS_WORK_STATUS; - -typedef struct tagNET_DVR_ACS_WORK_STATUS_V50 -{ - DWORD dwSize; - BYTE byDoorLockStatus[MAX_DOOR_NUM_256]; //״̬(̵״̬)0-أ1-2-·3-·4-쳣 - BYTE byDoorStatus[MAX_DOOR_NUM_256]; //״̬(¥״̬)1-ߣ2-״̬()3-״̬()4-ͨ״̬(ܿ) - BYTE byMagneticStatus[MAX_DOOR_NUM_256]; //Ŵ״̬0-أ1-2-·3-·4-쳣 - BYTE byCaseStatus[MAX_CASE_SENSOR_NUM]; //¼״̬0-룬1- - WORD wBatteryVoltage; //صѹֵʵֵ10λ - BYTE byBatteryLowVoltage; //Ƿڵѹ״̬0-1- - BYTE byPowerSupplyStatus; //豸״̬1-繩磬2-ع - BYTE byMultiDoorInterlockStatus; //Ż״̬0-رգ1- - BYTE byAntiSneakStatus; //DZ״̬0-رգ1- - BYTE byHostAntiDismantleStatus; //״̬0-رգ1- - BYTE byIndicatorLightStatus; //ָʾ״̬0-ߣ1- - BYTE byCardReaderOnlineStatus[MAX_CARD_READER_NUM_512]; //״̬0-ߣ1- - BYTE byCardReaderAntiDismantleStatus[MAX_CARD_READER_NUM_512]; //״̬0-رգ1- - BYTE byCardReaderVerifyMode[MAX_CARD_READER_NUM_512]; //ǰ֤ʽ1-ߣ2-ˢ+룬3-ˢ4-ˢ - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڲ״̬0-Ӧڴڳ״̬1-Ӧڴڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //λʾڱ״̬0-Ӧڵǰޱ1-Ӧڵǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //λʾ״̬0-Ӧޱ1-Ӧб - DWORD dwCardNum; //ӵĿ - BYTE byFireAlarmStatus; //״̬ʾ0-1-·2-Ͽ - BYTE byBatteryChargeStatus; //س״̬0-Ч1-У2-δ - BYTE byMasterChannelControllerStatus; //ͨ״̬0-Ч1-ߣ2- - BYTE bySlaveChannelControllerStatus; //ͨ״̬0-Ч1-ߣ2- - BYTE byAntiSneakServerStatus; //DZط״̬0-Ч1-δã2-3-Ͽ - BYTE byRes3[3]; - DWORD dwAllowFaceNum; //ӵͨжϣ - DWORD dwBlockFaceNum; //ӵĽֹͨжϣ - BYTE byRes2[108]; -}NET_DVR_ACS_WORK_STATUS_V50, *LPNET_DVR_ACS_WORK_STATUS_V50; - -typedef struct tagNET_DVR_CASE_SENSOR_CFG -{ - DWORD dwSize; - BYTE byHostBuzzer; //0-1- - BYTE byRes1[3]; - BYTE byCardReaderBuzzer[MAX_CARD_READER_NUM]; //1-0- - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; //ı1-0- - BYTE byDoorOpen[MAX_DOOR_NUM]; //1-NŴ򿪣0-1-򿪣 - BYTE byDoorClose[MAX_DOOR_NUM]; //1-NŹرգ0-1-رգ - BYTE byRes2[64]; -}NET_DVR_CASE_SENSOR_CFG, *LPNET_DVR_CASE_SENSOR_CFG; - -typedef enum _ENUM_UPGRADE_TYPE -{ - ENUM_UPGRADE_DVR = 0, //ͨ豸 - ENUM_UPGRADE_ADAPTER = 1, //DVR - ENUM_UPGRADE_VCALIB = 2, //ܿ - ENUM_UPGRADE_OPTICAL = 3, //˻ - ENUM_UPGRADE_ACS = 4, //Žϵͳ - ENUM_UPGRADE_AUXILIARY_DEV = 5,//豸 - ENUM_UPGRADE_LED = 6, //LEDͿͽտ - ENUM_UPGRADE_INTELLIGENT = 7, //豸 - ENUM_UPGRADE_CUSTOM = 8 //ԶURL ISAPI½Ч -}ENUM_UPGRADE_TYPE; - -typedef struct tagNET_DVR_ACS_EVENT_INFO -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ţΪ0Ч - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byAllowListNo; //,1-8Ϊ0Ч - BYTE byReportChannel; //ϴͨ1-ϴ2-1ϴ3-2ϴΪ0Ч - BYTE byCardReaderKind; //һ࣬0-Ч1-IC2-֤3-ά,4-ָͷ - DWORD dwCardReaderNo; //ţΪ0Ч - DWORD dwDoorNo; //ű(¥)Ϊ0Чӵ豸ΪԱͨ豸ʱ1Ϊ2Ϊ - DWORD dwVerifyNo; //ؿ֤ţΪ0Ч - DWORD dwAlarmInNo; //ţΪ0Ч - DWORD dwAlarmOutNo; //ţΪ0Ч - DWORD dwCaseSensorNo; //¼ - DWORD dwRs485No; //RS485ͨţΪ0Ч - DWORD dwMultiCardGroupNo; //Ⱥ - WORD wAccessChannel; //Աͨ - BYTE byDeviceNo; //豸ţΪ0Ч - BYTE byDistractControlNo;//ֿţΪ0Ч - DWORD dwEmployeeNo; //ţΪ0Ч - WORD wLocalControllerID; //͵ؿţ0-Ž1-64͵ؿ - BYTE byInternetAccess; //ID1-1,2-2,3-1 - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ 0xff- - BYTE byMACAddr[MACADDR_LEN]; //ַΪ0Ч - BYTE bySwipeCardType;//ˢͣ0-Ч1-ά - BYTE byMask; //Ƿ֣0-1-δ֪2-֣3- - DWORD dwSerialNo; //¼ˮţΪ0Ч - BYTE byChannelControllerID; //ͨIDΪ0Ч1-ͨ2-ͨ - BYTE byChannelControllerLampID; //ͨưIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIRAdaptorID; //ͨתӰIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIREmitterID; //ͨIDΪ0ЧЧΧ1-255 - BYTE byHelmet;//ѡǷȫñ0-1-δ֪2-ȫ, 3-ȫñ - BYTE byRes[3]; -}NET_DVR_ACS_EVENT_INFO, *LPNET_DVR_ACS_EVENT_INFO; - -typedef struct tagNET_DVR_ACS_EVENT_INFO_EXTEND -{ - DWORD dwFrontSerialNo; //¼ˮţΪ0ЧֶΪ0ƽ̨dwSerialNoжǷʧ¼ֶβΪ0ƽ̨ݸֶκdwSerialNoֶιͬжǷʧ¼ҪڽĺdwSerialNo - BYTE byUserType; //Աͣ0-Ч1-ͨˣˣ2-ÿͣ3-ֹˣ4-Ա - BYTE byCurrentVerifyMode; //ǰ֤ʽ0-Ч1-ߣ2-ˢ+룬3-ˢ4-ˢ룬5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+룬10-ָƻˢ룬11-+ָƣ12-+룬13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ23-ָƻ24-ˢ룬25-ˢ26-ˢָƣ27-ˢָƻ룬28-룬29-++룬30-ˢ+ˢ31-ָƻ룬32-Ĥ33-ָƻˢĤ34-ˢĤ - BYTE byCurrentEvent; //ǷΪʵʱ¼0-Ч1-ǣʵʱ¼2-¼ - BYTE byPurePwdVerifyEnable; //豸Ƿִ֧֤ 0-֧֣1-֧ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID豸˵ʹ˹ţԱIDֶΣbyEmployeeNoһҪݣbyEmployeeNoתΪdwEmployeeNoôֶҲҪݣϲƽ̨ͻ˵ȽbyEmployeeNoֶΣֶΪգٿǽdwEmployeeNoֶΣ - BYTE byAttendanceStatus; //״̬0-δ,1-ϰ࣬2-°࣬3-ʼϢ4-Ϣ5-ʼӰ࣬6-Ӱ - BYTE byStatusValue; //״ֵ̬ - BYTE byRes2[2]; - BYTE byUUID[NET_SDK_UUID_LEN/*36*/]; //UUIDֶνڶԽөʯƽ̨вŻʹã - BYTE byDeviceName[NET_DEV_NAME_LEN]; //豸к - BYTE byRes[24]; -}NET_DVR_ACS_EVENT_INFO_EXTEND, *LPNET_DVR_ACS_EVENT_INFO_EXTEND; - -//չṹϢV20 -typedef struct tagNET_DVR_ACS_EVENT_INFO_EXTEND_V20 -{ - BYTE byRemoteCheck; //ǷҪԶ̺飨0-Ч1-ҪĬϣ2-Ҫ - BYTE byThermometryUnit; //µλ0-϶ȣĬϣ1-϶ȣ2-ģ - BYTE byIsAbnomalTemperature; //ץIJǷ¶쳣1-ǣ0- - BYTE byRes2; - float fCurrTemperature; //¶ȣȷСһλ - NET_VCA_POINT struRegionCoordinates; //¶ - DWORD dwQRCodeInfoLen; //άϢȣΪ0DZʾ - DWORD dwVisibleLightDataLen; //ȳɼͼƬȣΪ0DZʾ - DWORD dwThermalDataLen; //ȳͼƬȣΪ0DZʾ - char *pQRCodeInfo; //άϢָ - char *pVisibleLightData; //ȳɼͼƬָ - char *pThermalData; //ȳͼƬָ - BYTE byAttendanceLabel[64]; //Զ - WORD wXCoordinate; //x꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wYCoordinate; //y꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wWidth; //ȣΧ0-1000 - WORD wHeight; //߶ȣΧ0-1000 - BYTE byHealthCode; //״̬, 0-, 1-δ, 2-δ, 3-, 4-, 5-, 6-޴Ա, 7-Ϣӿ쳣²ѯʧܣ, 8-ѯ볬ʱ - BYTE byNADCode; //, 0-, 1-δѯ, 2-ԣ, 3-ԣȷ, 4-Чѹ - BYTE byTravelCode; //г̱, 0-, 1-14һֱڵ, 2-14뿪, 3-14ڵ, 4- - BYTE byVaccineStatus; //״̬, 0-, 1-δ, 2-ע, 3- - BYTE byRes[948]; -}NET_DVR_ACS_EVENT_INFO_EXTEND_V20, *LPNET_DVR_ACS_EVENT_INFO_EXTEND_V20; - -typedef struct tagNET_DVR_ACS_ALARM_INFO -{ - DWORD dwSize; - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME struTime; //ʱ - BYTE sNetUser[MAX_NAMELEN] ;//û - NET_DVR_IPADDR struRemoteHostAddr ;//Զַ - NET_DVR_ACS_EVENT_INFO struAcsEventInfo; //ϸ - DWORD dwPicDataLen; //ͼƬݴСΪ0DZʾ - char *pPicData; - WORD wInductiveEventType; //¼ͣ0-ЧͻжϸֵΪ0ֵ󣬱ͨ¼֣ͨԭбͣdwMajordwMinor - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1; //ֽ - DWORD dwIOTChannelNo; //IOTͨ - char *pAcsEventInfoExtend; //byAcsEventInfoExtendΪ1ʱʾָһNET_DVR_ACS_EVENT_INFO_EXTENDṹ - BYTE byAcsEventInfoExtend; //pAcsEventInfoExtendǷЧ0-Ч1-Ч - BYTE byTimeType; //ʱͣ0-豸ʱ䣬1-UTCʱ䣨struTimeʱ䣩 - BYTE byRes2; //ֽ - BYTE byAcsEventInfoExtendV20; //pAcsEventInfoExtendV20ǷЧ0-Ч1-Ч - char *pAcsEventInfoExtendV20; //byAcsEventInfoExtendV20Ϊ1ʱʾָһNET_DVR_ACS_EVENT_INFO_EXTEND_V20ṹ - BYTE byRes[4]; -}NET_DVR_ACS_ALARM_INFO, *LPNET_DVR_ACS_ALARM_INFO; - -#define JUDGE_MAX_VIDEOOUT_NUM 9 - -typedef struct tagNET_DVR_AUDIO_ACTIVATION_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ - BYTE byRes1[3]; - DWORD dwChanNo; //Ƶͨ - BYTE bySensitivity; // 1-100Խߣʾϵ͵ʹܸƵ뼤ܣԽͣʾҪϸߵʹܸƵļ - BYTE byPriority; //ȼ 0-ȼ01-ȼ1 ֵԽ󼶱Խ - WORD wDelayTime; //лӳʱ䣬λs, ʱԶصԤõ1ӦĻ - BYTE byRes2; // - BYTE byEnablePreset; //ǷԤõ - WORD wPreset; //Ԥõ - WORD wBase; /*׼*/ - BYTE byRes3[2]; - BYTE byVoChanNo[JUDGE_MAX_VIDEOOUT_NUM]; //ǷƵڡֵ0ʾ1-ʾ±ʾͨ˳£0-VGA1,1-VGA2, 2-VGA3,3-VGA4,4-VGA5~10,5-HDMI1,6-HDMI2 - BYTE byRes[255]; // -}NET_DVR_AUDIO_ACTIVATION_CFG,*LPNET_DVR_AUDIO_ACTIVATION_CFG; - -typedef struct tagNET_DVR_INFRARED_OUTPUT_CTRL_CFG -{ - DWORD dwSize; //ṹС - BYTE byIROutPort; //1-12-2 - BYTE byIRCmdIndex; //ѧӦ - BYTE byRes[254]; // -}NET_DVR_INFRARED_OUTPUT_CTRL_CFG, *LPNET_DVR_INFRARED_OUTPUT_CTRL_CFG; - -#define MAX_IR_CMD_NAME_LEN 32 //Ƴ -#define MAX_IR_CMD_NUM 32 // - -typedef struct tagNET_DVR_INFRARED_CMD_INFO //Ϣ -{ - char sCmdName[MAX_IR_CMD_NAME_LEN]; // - BYTE byRes[8]; // -} NET_DVR_INFRARED_CMD_INFO,*LPNET_DVR_INFRARED_CMD_INFO; - - -typedef struct tagNET_DVR_INFRARED_LEARN_CODE_CFG_ -{ - DWORD dwSize; //ṹС - BYTE sIROutName[MAX_IR_CMD_NAME_LEN]; // - NET_DVR_INFRARED_CMD_INFO struIRCmdInfo[MAX_IR_CMD_NUM]; //Ϣ - BYTE byRes[256]; -} NET_DVR_INFRARED_CMD_NAME_CFG,*LPNET_DVR_INFRARED_CMD_NAME_CFG; - -typedef enum tagIR_LEARN_SEND_DATA_TYPE_ENUM -{ - ENUM_SENDDATA = 0x0, // - ENUM_SEND_LEARN_IR_CMD_START, //ͺѧ - ENUM_SEND_LEARN_IR_CMD_END = 0x2 //ѧ -}IR_LEARN_SEND_DATA_TYPE_ENUM; - - -typedef struct tagNET_DVR_INFRARED_LEARN_INFO -{ - DWORD dwSize; //ṹС - BYTE byIROutPort; //1-12-2 - BYTE byIRCmdIndex; //ѧӦ - BYTE byRes[30]; // -} NET_DVR_INFRARED_LEARN_INFO, *LPNET_DVR_INFRARED_LEARN_INFO; - -typedef struct tagNET_DVR_INFRARED_LEARN_END -{ - DWORD dwSize; //ṹС - BYTE bySaveLearnInfo; //ѧϢ0-棬1- - BYTE byRes[255]; -} NET_DVR_INFRARED_LEARN_END,*LPNET_DVR_INFRARED_LEARN_END; - -#define MAX_VIDEOIN_TYPE_NUM 10 //ֵ֧ƵԴ - -typedef struct tagNET_DVR_VIDEOIN_TYPE_INFO -{ - WORD wInType; //Դ 0-SDI,1-VGA, 2-HDMI,3-IP,4-PIP - WORD wInNum; //ֵ֧ - WORD wStartNo; //Ӧʼ - BYTE byRes[6]; -}NET_DVR_VIDEOIN_TYPE_INFO, *LPNET_DVR_VIDEOIN_TYPE_INFO; - -typedef struct tagNET_DVR_TRIAL_SYSTEM_INFO -{ - DWORD dwSize ; //ṹС - BYTE byVideoInTypeNum ; //ƵԴ͸ - BYTE byRes1[3]; - NET_DVR_VIDEOIN_TYPE_INFO struVideoIn[MAX_VIDEOIN_TYPE_NUM] ; //ƵԴ - BYTE byRes[512 ] ; // -} NET_DVR_TRIAL_SYSTEM_INFO, *LPNET_DVR_TRIAL_SYSTEM_INFO; - -typedef struct tagNET_DVR_CASE_INFO -{ - DWORD dwSize; //ṹС - BYTE byCaseNo[CASE_NO_LEN]; // - BYTE byCaseName[CASE_NAME_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_LEN]; //1 - BYTE byLitigant2[LITIGANT_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_LEN];//г - BYTE byCaseType; //ͣ1-°2-°3- sCaseTypeCustomЧ - BYTE byShowCaseInfoTime; /* Ϣʾʱ,λ, ȡֵΧ1~30*/ - BYTE byRes1[2]; // - char sCaseTypeCustom[NET_SDK_CASETYPE_LEN/*32*/];//Զ尸 - BYTE byRes[220]; // -}NET_DVR_CASE_INFO, *LPNET_DVR_CASE_INFO; - -#define MICROPHONE_NUM 16 -#define FAN_NUM 8 -#define FPGA_NUM 8 -#define MAIN_BOARD 8 -#define LOCAL_INPUT_NUM 24 -#define LAMP_STATE_NAME 32 -#define LAMP_NAME 32 -#define FILE_NAME_LEN 32 -typedef struct _NET_DVR_REMOTE_PLAY_ -{ - DWORD dwSize; - BYTE byFileName[FILE_NAME_LEN]; //Ҫŵļ - BYTE byVideoOut[7]; // - BYTE byRes1[5]; - BYTE byType; // 0-壬1-ʼţ2-ֹͣ - BYTE byRes[31]; // -}NET_DVR_REMOTE_PLAY, *LPNET_DVR_REMOTE_PLAY; - -typedef struct _NET_DVR_TRIAL_MICROPHONE_STATUS -{ - DWORD dwSize ; - BYTE byMicrophoneStatus [MICROPHONE_NUM];//˷״̬±ʾ˷0-磬1- - BYTE byRes[32] ; // -}NET_DVR_TRIAL_MICROPHONE_STATUS, *LPNET_DVR_TRIAL_MICROPHONE_STATUS; - -typedef struct _NET_DVR_TRIAL_HOST_STATUS -{ - DWORD dwSize ; - DWORD dwFanSpeed [FAN_NUM];//ת - WORD wMainBoardTemp[MAIN_BOARD]; //¶ - BYTE byFpgaTempWarn [FPGA_NUM]; //0-¶ޱ״̬1-FPGA¶ȱ״̬λ1-ڱ״̬ 0-ޱ״̬ - BYTE byRes[32] ; // -}NET_DVR_TRIAL_HOST_STATUS, *LPNET_DVR_TRIAL_HOST_STATUS; - -typedef struct _NET_DVR_LOCAL_INPUT_INFO_ -{ - DWORD dwSize; - BYTE byChannelName[NAME_LEN] ; //ͨ - BYTE byRes[32] ; // -}NET_DVR_LOCAL_INPUT_INFO, *LPNET_DVR_LOCAL_INPUT_INFO; - -typedef struct tagNET_DVR_LAMP_STATUS -{ - BYTE byEnable; //Ƿ - BYTE byRes1[3]; - BYTE byLampName[LAMP_NAME]; //Lamp ƣ34ΪLamp156Ϊlamp2 - BYTE byLampState1[LAMP_STATE_NAME]; //״̬1Ӧƣ - BYTE byLampState2[LAMP_STATE_NAME]; //״̬2Ӧ - BYTE byLampState3[LAMP_STATE_NAME]; //״̬3Ӧ - BYTE byRes[32]; -}NET_DVR_LAMP_STATUS,*LPNET_DVR_LAMP_STATUS; - -typedef struct _NET_DVR_LAMP_OUT -{ - DWORD dwSize; - NET_DVR_LAMP_STATUS struLampInfo[2]; //0-ʾlamp1,1lamp2 - BYTE byRes[256]; // -}NET_DVR_LAMP_OUT, *LPNET_DVR_LAMP_OUT; - -typedef struct _NET_DVR_LAMP_CONTROL -{ - DWORD dwSize ; - BYTE byLampNo ; //LampţӦLamp± - BYTE byLampStateNo ; //Lamp״̬ 0-壬1-״̬1, 2-״̬2 3-״̬3 ӦLAMP״̬ - BYTE byRes[14] ; // -}NET_DVR_LAMP_CONTROL, *LPNET_DVR_LAMP_CONTROL; - - -//ʵʱϢ -typedef struct tagNET_DVR_TPS_PARAM -{ - BYTE byStart; // ʼ - BYTE byCMD; // ţ01-ָ02-뿪ָ03-ӵ״ָ̬(Ϊ03ʱֻbyLaneStatebyQueueLenЧ)04-Ȧ״̬Ϊ04ʱwLoopStatewStateMaskЧʾbyLane϶ȦĹ״̬ - WORD wSpaceHeadway; //ͷ࣬ - WORD wDeviceID; // 豸ID - WORD wDataLen; // ݳ - BYTE byLane; // Ӧ - BYTE bySpeed; // Ӧ٣KM/H - BYTE byLaneState; // ״̬0-״̬1-ͨ2-ӵ3- - BYTE byQueueLen; // ״̬Ŷӳȣ50ף - WORD wLoopState; //Ȧ״̬ڼλʾȦ״̬״̬1-0-뿪ȦŴӾͷɽԶûڽʱȽţٽȦţȦΨһġ - WORD wStateMask; //Ȧ״̬룬λΪ1ӦwLoopState״̬λЧΪ0ʾЧ - DWORD dwDownwardFlow; //ǰ ϵ³ - DWORD dwUpwardFlow; //ǰ µϳ - BYTE byJamLevel; //ӵµȼbyLaneStateΪ3ʱЧ1-ȣ2-жȣ3-ض - BYTE byVehicleDirection; //0-δ֪1-϶£2-¶ - BYTE byJamFlow; //ӵÿһϱһۼƳϢ - BYTE byChannelizationLane; //ţʾ仯һΪ·ڳĿ - BYTE byVehicleType; //ʶ0- δ֪1- ͳ()2- ()3- γ(С)4- ǻ - BYTE byRes1[5]; // - WORD wTimeHeadway; // ͷʱ࣬ -}NET_DVR_TPS_PARAM, *LPNET_DVR_TPS_PARAM; - -//TPSʵʱϴ -typedef struct tagNET_DVR_TPS_REAL_TIME_INFO -{ - DWORD dwSize; // ṹС - DWORD dwChan;//ͨ - NET_DVR_TIME_V30 struTime; //ʱ - NET_DVR_TPS_PARAM struTPSRealTimeInfo;// ͨͳϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pAddInfoBuffer; -#else - /*Ϣָ,ָNET_DVR_TPS_ADDINFOṹ*/ - BYTE* pAddInfoBuffer; - BYTE byRes2[4]; -#endif - /*ϢʶǷNET_DVR_TPS_ADDINFOṹ壩,0-޸Ϣ, 1-иϢ*/ - BYTE byAddInfoFlag; - BYTE byRes1[3]; // - DWORD dwDeviceIDEx; // 豸IDչ - BYTE byRes[8]; // -}NET_DVR_TPS_REAL_TIME_INFO, *LPNET_DVR_TPS_REAL_TIME_INFO; - -//ͳϢ -typedef struct tagNET_DVR_TPS_LANE_PARAM -{ - BYTE byLane; // Ӧ - BYTE bySpeed; // ƽٶ - WORD wArrivalFlow; // - DWORD dwLightVehicle; // Сͳ - DWORD dwMidVehicle; // ͳ - DWORD dwHeavyVehicle; // ͳ - DWORD dwTimeHeadway; // ͷʱ࣬ - DWORD dwSpaceHeadway; // ͷ࣬ - float fSpaceOccupyRation; // ռռʣٷֱȼ,*1000 - float fTimeOccupyRation; // ʱռʣٷֱȼ,*1000 - BYTE byStoppingTimes; //ƽͣ - BYTE byQueueLen; // ״̬Ŷӳȣ50ף - BYTE byFlag; //ϴʶ0-ʾT1ʱͳƽ,1-ʾT2ʱͳ - BYTE byVehicelNum; // - WORD wDelay; //ƽ - BYTE byRes1[6]; // - DWORD dwNonMotor; // ǻ -}NET_DVR_TPS_LANE_PARAM, *LPNET_DVR_TPS_LANE_PARAM; - -typedef struct tagNET_DVR_PANORAMA_LINKAGE -{ - DWORD dwSize; - BYTE byEnable;//0-رգ1- - BYTE byRes[127]; -}NET_DVR_PANORAMA_LINKAGE, *LPNET_DVR_PANORAMA_LINKAGE; - -// ͨͳϢ -typedef struct tagNET_DVR_TPS_STATISTICS_PARAM -{ - BYTE byStart; // ʼ - BYTE byCMD; // ţ 08-ʱָ - BYTE byRes[2]; // Ԥֽ - WORD wDeviceID; // 豸ID - WORD wDataLen; // ݳ - BYTE byTotalLaneNum; // Ч - BYTE byRes2[3]; - DWORD dwDeviceIDEx; // 豸IDչ - BYTE byRes1[8]; - NET_DVR_TIME_V30 struStartTime; //ͳƿʼʱ - DWORD dwSamplePeriod; //ͳʱ,λ - NET_DVR_TPS_LANE_PARAM struLaneParam[MAX_TPS_RULE/*8*/]; -}NET_DVR_TPS_STATISTICS_PARAM, *LPNET_DVR_TPS_STATISTICS_PARAM; - -//TPSͳƹϴ -typedef struct tagNET_DVR_TPS_STATISTICS_INFO -{ - DWORD dwSize; // ṹС - DWORD dwChan ;//ͨ - NET_DVR_TPS_STATISTICS_PARAM struTPSStatisticsInfo;// ͨͳϢ - DWORD dwJsonLen;//JsonϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pJsonBuf; -#else - // JsonϢָ,JSONӦEventNotificationAlert Json Block - BYTE* pJsonBuf; - BYTE byRes2[4]; -#endif - BYTE byJsonInfoFlag; //ǷJson͸ݣ0-ޣ1- - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byRes[114]; // -}NET_DVR_TPS_STATISTICS_INFO, *LPNET_DVR_TPS_STATISTICS_INFO; - -#define DPC_CORRECT 1 //У -#define DPC_CORRECT_CANCEL 2 //ȡУ -#define DPC_CROSS_DISPALY_OPEN 3 //ʮֲʾ -#define DPC_CROSS_DISPALY_CLOSE 4 //ʮֲʾر -#define DPC_POINT 5 //У -#define DPC_UP 6 //Уƫ -#define DPC_DOWN 7 //Уƫ -#define DPC_RIGHT 8 //Уƫ -#define DPC_LEFT 9 //Уƫ -#define DPC_ALL_CORRECT 10 //лУ -#define DPC_SAVE 11 //㱣 - -typedef struct tagNET_DVR_DPC_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - WORD wCtrlType ;//ο궨 - /* - ֶУĬΪֶУģʽʹwCtrlTypeͽֶУ - ԶУ豸ԶУٽֶУʱwCtrlTypestruPointЧ - */ - BYTE byDPCMode;//Уģʽ0-ֶУ1-ԶУ - BYTE byRes; - NET_VCA_POINT struPoint; /*ͼƽ꣬һ0-1*/ - BYTE byRes1[64]; -}NET_DVR_DPC_PARAM, *LPNET_DVR_DPC_PARAM; - -//ǾУ(FFC)ֶģʽ -typedef struct tagNET_DVR_FFC_MANUAL_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_FFC_MANUAL_INFO, *LPNET_DVR_FFC_MANUAL_INFO; - -//ǾУ(FFC) -typedef struct tagNET_DVR_FFC_BACKCOMP_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_FFC_BACKCOMP_INFO, *LPNET_DVR_FFC_BACKCOMP_INFO; - -//洢״̬ -typedef struct tagNET_DVR_STORAGE_SERVER_SWITCH_CFG -{ - DWORD dwSize; - /*洢ͼƬأλʾ0-رգ1- - 0-ƶץͼ(ݲ֧) - 1-ץͼ(ݲ֧) - - */ - BYTE byPicEnable[MAX_PIC_SWITCH_STORAGE_SERVER]; - /*洢Ϣأλʾ0-رգ1- - 0-ȶͼ(ݲ֧) - 1-(ݲ֧) - - */ - BYTE byAddInfoEnable[MAX_INFO_SWITCH_STORAGE_SERVER]; - BYTE byRes[324]; -} NET_DVR_STORAGE_SERVER_SWITCH_CFG, -*LPNET_DVR_STORAGE_SERVER_SWITCH_CFG; - -//ǿֹͣȡ֤ -typedef struct tagNET_DVR_FORCESTOP_FORENSICS_CFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_FORCESTOP_FORENSICS_CFG, *LPNET_DVR_FORCESTOP_FORENSICS_CFG; - -typedef struct tagNET_DVR_DEC_VCA_ALARM -{ - DWORD dwSize; - DWORD dwDisplayNo; //ܱʾͨ - BYTE bySubWinNo; //ܱӴں - BYTE byRes1[3]; - NET_DVR_TIME_V30 struTime; //ʱ - NET_DVR_PU_STREAM_CFG_V41 struSourceInfo; //ԴϢ - BYTE *byAlarmPic; //ͼƬ - DWORD dwAlarmPicSize; //ͼƬСλֽ - BYTE byRes2[64]; -}NET_DVR_DEC_VCA_ALARM, *LPNET_DVR_DEC_VCA_ALARM; - -typedef struct tagNET_DVR_DEC_VCA_ALARM_LOGO -{ - BYTE byEnableLogo; //Ƿܱlogo0-ӣ0- - BYTE byFlash; //Ƿ˸0-˸0-˸ - WORD wFlashTime; //˸ʱ䣬λ룬ȡֵΧӽȡ - DWORD dwLogoX; //logo X꣬봰ܴС1920*1920 - DWORD dwLogoY; //logo Y - BYTE byRes[32]; -}NET_DVR_DEC_VCA_ALARM_LOGO, *LPNET_DVR_DEC_VCA_ALARM_LOGO; - -typedef struct tagNET_DVR_DEC_VCA_ALARM_PIC -{ - BYTE byUploadPic; //ܱʱǷϴͼƬ0-ϴ0-ϴ - BYTE byOverlayTargetInfo; //ͼƬǷĿϢ0-ӣ0- - BYTE byOverlayRuleInfo; //ͼƬǷܹϢ0-ӣ0- - BYTE byPicQuality; //ͼƬϵ 0- 1-Ϻ 2-һ - /*ͼƬС ͨȡ - 0-CIF 1-QCIF 2-D1 3-UXGA(1600x1200), 4-SVGA(800x600),5-HD720p(1280x720) - 6-VGA 7-XVGA 8-HD900p 9-HD1080 10-2560*1920 - 11-1600*304 12-2048*1536 13-2448*2048, 14-2448*1200 15-2448*800 - 16-XGA(1024*768), 17-SXGA(1280*1024),18-WD1(960*576/960*480), 19-1080i, 20-576*576 - 21-1536*1536, 22-1920*1920, 23-320*240, 24-720*720, 25-1024*768, - 26-1280*1280, 27-1600*600, 28-2048*768, 0xff-Auto(ʹõǰֱ)*/ - BYTE byPicSize; - BYTE byRes[27]; -}NET_DVR_DEC_VCA_ALARM_PIC, *LPNET_DVR_DEC_VCA_ALARM_PIC; - -typedef struct tagNET_DVR_DEC_VCA_ALARM_CFG -{ - DWORD dwSize; - NET_DVR_DEC_VCA_ALARM_LOGO struAlarmLogo; //ܱlogoӲ - NET_DVR_DEC_VCA_ALARM_PIC struAlarmPic; //ܱͼƬ - BYTE byRes[64]; -}NET_DVR_VCA_ALARM_CFG, *LPNET_DVR_DEC_VCA_ALARM_CFG; - -#define MAX_OSD_LEN 64 //OSD -typedef struct tagNET_DVR_OUTPUT_PIC_INFO -{ - DWORD dwSize; - BYTE sPicName[NAME_LEN];//ͼƬ - BYTE byUsed; //ǷѴڣ0-ڣ1- - BYTE byRes[31]; -}NET_DVR_OUTPUT_PIC_INFO,*LPNET_DVR_OUTPUT_PIC_INFO; - -typedef struct tagNET_DVR_OUTPUT_PIC_CFG -{ - DWORD dwSize; - DWORD dwOutputPicNo; //ͼƬ - BYTE byEnable; //logoǷʾ1-ʾ0- - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRect;//logoλãڷΧܴСΪ1920*1920 - BYTE byFlash; //Ƿ˸1-˸0-˸ - BYTE byTranslucent; //Ƿ͸1-͸0-͸ - BYTE byRes2[2]; // - DWORD dwOutputPicWinNo; //ͼƬںţ1ֽ豸+1ֽں+2ֽͼƬںţ,ȡȫʱЧ - BYTE byRes3[28]; -}NET_DVR_OUTPUT_PIC_CFG,*LPNET_DVR_OUTPUT_PIC_CFG; - -typedef struct tagNET_DVR_OUTPUT_OSD_CFG -{ - DWORD dwSize; - BYTE byEnable; //OSDǷʾ0-ʾ1-ʾ - BYTE byFontSize; //С1-2-У3-С - BYTE byOSDColor; //OSDɫã0-Ĭϣ 1-ڣ2-ף3-죬4-̣5- - BYTE byRes1[1]; - BYTE byOsdContent[MAX_OSD_LEN]; //OSD - NET_DVR_RECTCFG_EX struRect;//OSDλãڷΧܴСΪ1920*1920 - DWORD dwOsdWinNo; //OSDںţ1ֽ豸+1ֽں+2ֽOSDںţȡʱЧ - BYTE byRes2[32]; // -}NET_DVR_OUTPUT_OSD_CFG,*LPNET_DVR_OUTPUT_OSD_CFG; - -typedef struct tagNET_DVR_CHAN_RELATION_RESOURCE -{ - DWORD dwSize; - DWORD dwDisplayChan; //ʾͨţ1ֽ豸+1ֽڱ+2ֽʾͨţ - BYTE byRelateAudio; //ǷӴƵ - BYTE byRes1[3]; - DWORD dwSubWinNo; //ƵӴںţ1ֽڵǽ+1ֽӴں+2ֽڴںţ - DWORD dwChannel; //ͨţȡȫʱЧ - BYTE byRes2[32]; -}NET_DVR_CHAN_RELATION_RESOURCE, *LPNET_DVR_CHAN_RELATION_RESOURCE; - -typedef struct tagNET_DVR_ALARM_CHAN_ABLITITY -{ - DWORD dwSize; - BYTE bySensorChan[64];//ģͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE byAlarmInChan[64];//ͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE byAlarmOutChan[64];//ͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE by485Chan[64];//485ͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE byRes[128]; -}NET_DVR_ALARM_CHAN_ABLITITY, *LPNET_DVR_ALARM_CHAN_ABLITITY; - -typedef struct -{ - DWORD dwSize; - BYTE byOutScale[8];//±ʾںţ0-ʾ֧֣1-ʾ12V2-ʾ24V - BYTE byRes[16]; -}NET_DVR_OUT_SCALE_CFG, *LPNET_DVR_OUT_SCALE_CFG; - -typedef struct tagNET_DVR_MONITOR_LOCATION_COND -{ - DWORD dwSize; - DWORD dwChan; - /* - 0 ʾ ץMPRģʽ֡ץ IPCʹã - 1 ʾ ץ HVT ģʽ쿨IPCʹã - */ - BYTE byRelateType; - BYTE byRes[63]; // -}NET_DVR_MONITOR_LOCATION_COND, *LPNET_DVR_MONITOR_LOCATION_COND; - -typedef struct tagNET_DVR_MONITOR_LOCATION_CFG -{ - DWORD dwSize; - BYTE byMonitoringSiteID[MAX_ID_LEN/*48*/]; //ʾ - BYTE byDeviceID[MAX_ID_LEN/*48*/]; //豸 - BYTE byDirectionNo; //ʾ,0-,1-,2-,3-˫,4-ɶ,5-,6-,7-ɱ,8- - BYTE byRes1[3]; // - BYTE byMonitorInfo[MONITORSITE_ID_LEN/*48*/]; //ʾϢ - BYTE byRes[128]; // -}NET_DVR_MONITOR_LOCATION_CFG, *LPNET_DVR_MONITOR_LOCATION_CFG; - -typedef struct tagNET_DVR_REMOTECONTROL_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_REMOTECONTROL_COND, *LPNET_DVR_REMOTECONTROL_COND; - -typedef struct tagNET_DVR_REMOTECONTROL_STATUS_ -{ - DWORD dwSize; //ṹС - BYTE byAlarmStatus;//״̬0-,1-,2- - BYTE byRes[3]; - WORD wAlarmDealyTime;//ӳʱ䣬λs - WORD wDisAlarmDealyTime;//ӳʱ䣬λs - BYTE byRes1[64]; -} NET_DVR_REMOTECONTROL_STATUS, *LPNET_DVR_REMOTECONTROL_STATUS; - -typedef struct tagNET_DVR_SECURITY_CFG -{ - DWORD dwSize; - BYTE byCommuMode;//˽Эͨģʽ0-ģʽ1-ȫģʽ - BYTE byRes1[2]; - BYTE byWebAuthentication; //web֤ 0-digest1-basic2-digest/basic;Ĭbasic֤ - BYTE byRtspAuthentication; //rtsp֤ 0-disable1-basic2-digest3-digest/basic;Ĭbasic֤ - BYTE byTelnetServer; //telnet 0ã1 - BYTE bySSHServer; //SSH 0(Ĭ)1 - BYTE byIllegalLoginLock; //½, 0-ãĬϣ1- - BYTE byStreamEncryption; // 0-ܣ1- - BYTE byAntiAttack; //Ƿܣ0- ã1-(socketʱ5sر) - BYTE byRes[26]; -}NET_DVR_SECURITY_CFG,*LPNET_DVR_SECURITY_CFG; - -typedef struct tagNET_DVR_PASSWORD_MANAGE_CFG -{ - DWORD dwSize; - BYTE byRes[3]; - BYTE byLockCount; //ӦûIPĴ¼󣬶Ըû0-ֵΪĴ ĬΪ01ʾ¼1Ժû - DWORD dwLockTime; //ʱ䣬ʾʱ䣬λ롣Ϊ0byLockCountΪ0ʱdwLockTimeЧ - BYTE byRes1[128]; //4ֽڶ -} NET_DVR_PASSWORD_MANAGE_CFG,*LPNET_DVR_PASSWORD_MANAGE_CFG; - - -typedef struct tagNET_DVR_UNLOCK_INFO -{ - DWORD dwSize; - BYTE byUnlockType; //0-Ч 1-IP2-IP - BYTE byIPVersion; //1-IPV42-IPV6byUnlockTypeΪ1ʱòЧ - BYTE byRes1[2]; - NET_DVR_IPADDR struIPAddr; //IPַ - BYTE byRes[64]; -} NET_DVR_UNLOCK_INFO,*LPNET_DVR_UNLOCK_INFO; - -typedef struct tagNET_DVR_LOCKED_INFO -{ - DWORD dwSize; - BYTE byIPType; //IP 0-Ч1-IPV42-IPV6 - BYTE byRes1[3]; - NET_DVR_IPADDR struIPAddress; - BYTE byRes[20]; -} NET_DVR_LOCKED_INFO,*LPNET_DVR_LOCKED_INFO; - - -typedef struct tagNET_DVR_VEHICLE_PARA -{ - BYTE sLicense[MAX_LICENSE_LEN]; - /*ֵ - 0-㷨ⲻ֧ʶң1-ݿ˹͹(CZ - Czech Republic)2-(FRA - France) - 3-¹(DE - Germany),4-(E - Spain), 5-(IT - Italy)6-(NL - Netherlands)7-(PL - Poland)8-˹工(SVK - Slovakia), 9-׶˹(BY - Belorussia), 10-Ħ(MDA - Moldova)11-˹(RU - Russia)12-ڿ(UA - Ukraine), - 169-ô(Canada), 172-(US), 227-Ĵ(Australia), 0xfe-޷ʶ - */ - BYTE byCountry; // ֵ - - BYTE byRes[239]; -}NET_DVR_VEHICLE_PARA, *LPNET_DVR_VEHICLE_PARA; - -typedef struct tagNET_DVR_FACE_PIC_DATA_INFO -{ - DWORD dwImageLen; //ͼƬС - NET_VCA_RECT struVcaRect; //ͼڴͼеλãһ - DWORD dwFaceScore; //ƶȣȡֵΧ0-100 - BYTE byVcaRectOnly; //Ƿֻϴ꣺0-1- - BYTE byRes1[3]; - DWORD dwPID; //ͼƬID - DWORD dwFaceSearchNum;// - NET_VCA_RECT struMultiVcaRect[NET_DVR_MAX_FACE_SEARCH_NUM];//ͼڴͼеλãһ, byVcaRectOnly=1ʱã - BYTE byRes[136]; - BYTE *pImage; //ͼƬҪΪjpgʽ -}NET_DVR_FACE_PIC_DATA_INFO, *LPNET_DVR_FACE_PIC_DATA_INFO; - -typedef struct tagNET_DVR_BEHAVIOUR_COND -{ - DWORD dwSearchType; // - //&0x1 - Խ - //&0x2 - - //&0x4 - Ʒ - //&0x8 - Ʒȡ - //&0x10 - - //&0x20 - 뿪 - //&0x40 - Ƿͣ - //&0x80 - ǻ - //&0x100 -Աۼ - //&0x200 - ƶ - //&0x400 - ڼ - //&0x800 - 仯 - //&0x1000 - ˶ - //&0x2000 - Ա - //&0x4000 - Ա - //&0x8000 - Ա - //&0x10000 C̬Ʒ - //&0x20000 C ֻ - BYTE byHumanMisinfo;// ֻȡϢ 0-1- - BYTE byRes[251]; // -}NET_DVR_BEHAVIOUR_COND, *LPNET_DVR_BEHAVIOUR_COND; - - -typedef union tagNET_DVR_SMARTSEARCH_PIC_UNION -{ - BYTE byLen[256]; //峤 - NET_DVR_VEHICLE_PARA struVehiclePara; //Ϣ - NET_VCA_HUMAN_FEATURE struHumaFeature; // - NET_DVR_FACE_PIC_DATA_INFO struHumaPic; //ͼϢѯԶͼƬͼͼܣ - NET_DVR_BEHAVIOUR_COND struBehaviourCond; //쳣Ϊ -}NET_DVR_SMARTSEARCH_PIC_UNION,*LPNET_DVR_SMARTSEARCH_PIC_UNION; - -typedef struct tagNET_DVR_SMART_SEARCH_PIC_PARA //ͼƬṹ size 344 -{ - DWORD dwChanNo; //ͨ - DWORD byStreamID[STREAM_ID_LEN] ; //IDϢdwChanNoȣȼϸߣbyStreamIDΪʱʹIDΪյʹdwChanNoֶ - NET_DVR_TIME_EX struStartTime; //¼ʼʱ - NET_DVR_TIME_EX struEndTime; //¼ֹͣʱ - WORD wSearchType; //ܲ 0- 1-ԣ 2-ͼͼ 3-쳣Ϊ - BYTE byRes1[2]; - NET_DVR_SMARTSEARCH_PIC_UNION uSmartSearchCond; //ܲ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[59]; -}NET_DVR_SMART_SEARCH_PIC_PARA, *LPNET_DVR_SMART_SEARCH_PIC_PARA; - -//ʶ -typedef struct tagNET_DVR_FACE_SUB_PIC_INFO -{ - DWORD dwSimilarity; //ƶ 0-100 - NET_VCA_RECT struVcaRect; //򣬹һ - BYTE byRes2[236]; // -}NET_DVR_FACE_SUB_PIC_INFO ,*LPNET_DVR_FACE_SUB_PIC_INFO; - - -typedef struct tagNET_DVR_BEHAVIOR_INFO -{ - NET_VCA_RECT struVcaRect; - WORD wPeopleNum; //ͼƬͣNET_DVR_SMART_SEARCH_PIC_RET wPicTypeΪ̬ƷʱЧ - BYTE byRes2[238]; // -}NET_DVR_BEHAVIOR_INFO ,*LPNET_DVR_BEHAVIOR_INFO; - -typedef union tagNET_DVR_PIC_FEATURE_UNION -{ - BYTE byLen[256]; //峤 - NET_DVR_PLATE_INFO struPlateInfo; //Ϣ - NET_DVR_FACE_SUB_PIC_INFO struFaceSubInfo; //ͼϢ - NET_DVR_BEHAVIOR_INFO struBehavior; //쳣ΪӦͼϢ -}NET_DVR_PIC_FEATURE_UNION,*LPNET_DVR_PIC_FEATURE_UNION; - -typedef struct tagNET_DVR_SMART_SEARCH_PIC_RET -{ - char sFileName[PICTURE_NAME_LEN];//ļ - NET_DVR_TIME_EX struTime; //ͼƬץͼʱ - DWORD dwFileSize; //ļĴС - WORD wPicType; //ͼƬ 0- 1-ԣ 2-ͼͼ 3-Խߣ4-֣ 5-Ʒ 6-Ʒȡ 7- 8-뿪 9-Ƿͣ10-ǻ11-Աۼ12-ƶ,13-Աܣ14-˶15-Աأ16-쳣17-ڼ⣬18-Ա19-̬Ʒ 20-ֻ - BYTE byRes1[2]; // - NET_DVR_PIC_FEATURE_UNION uPicFeature; //ͼƬ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14 ʾʱ - char cTimeDifferenceM; //UTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[29]; -}NET_DVR_SMART_SEARCH_PIC_RET, *LPNET_DVR_SMART_SEARCH_PIC_RET; - -typedef struct tagNET_DVR_T1TEST_SEND_DATA_BUZZER -{ - BYTE byHearSound; //Ƿ 0-δ1- - BYTE byRes[31]; // -}NET_DVR_T1TEST_SEND_DATA_BUZZER,*LPNET_DVR_T1TEST_SEND_DATA_BUZZER; - - -typedef union NET_DVR_T1TEST_DATA_UNION -{ - BYTE byUnionLen[32]; - NET_DVR_T1TEST_SEND_DATA_BUZZER struBuzzer; // - NET_DVR_TIME_V30 struCurTime; //ǰPCʱ -}NET_DVR_T1TEST_DATA_UNION,*LPNET_DVR_T1TEST_DATA_UNION; - - -typedef struct tagNET_DVR_T1TEST_SEND_DATA -{ - DWORD dwSize; //ṹС - BYTE byDataType; // 0-1-pcʱ - BYTE byRes1[3]; - NET_DVR_T1TEST_DATA_UNION uSendData; //͵ - BYTE byRes[64]; -}NET_DVR_T1TEST_SEND_DATA,*LPNET_DVR_T1TEST_SEND_DATA; - -typedef struct tagNET_DVR_PIC_MODEL_CFG //ͼģ -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿ - BYTE byRes[63]; -}NET_DVR_PIC_MODEL_CFG, *LPNET_DVR_PIC_MODEL_CFG; - -typedef struct tagNET_DVR_MOUSE_EVENT_PARAM //Ϣ -{ - DWORD dwSize; //ṹС - BYTE byMouseEvent; //¼ͣ 0-1-˫2-Ҽ3-Ϲ4-¹ - BYTE byRes1[3]; // - NET_VCA_POINT struPoint; //λ꣬һ - BYTE byRes[64]; // -}NET_DVR_MOUSE_EVENT_PARAM, *LPNET_DVR_MOUSE_EVENT_PARAM; - -typedef struct tagNET_DVR_AUTO_LIMIT_WAVE_CFG -{ - BYTE byFBCEnable; //FBC 0-1- - BYTE byMode; //ģʽ, 0-, 1-ͨ,2- - BYTE byFilterQValue; //Ӧ˲QֵλOct, 0-1/40,1-1/10, ĬֵΪ1/40 Oct - BYTE byStaticFilterNum; //̬˲ȡֵΧ0-12 - BYTE byRes[16]; -}NET_DVR_AUTO_LIMIT_WAVE_CFG,*LPNET_DVR_AUTO_LIMIT_WAVE_CFG; - -typedef struct _NET_DVR_DSP_PARAMETER_CFG -{ - BYTE byFBCEnable; //FBC 0-1- - BYTE byVolume; // ȡֵΧ0~255 - BYTE byRes[22]; -}NET_DVR_DSP_PARAMETER_CFG, *LPNET_DVR_DSP_PARAMETER_CFG; - - -typedef struct tagNET_DVR_MIX_AUDIOIN_CFG -{ - DWORD dwSize; //ṹС - DWORD dwHighPassFilter; //ͨ˲ ȡֵΧ 0-127, Ϊ׼ - DWORD dwNoiseMargin; //ޣȡֵΧ 0-127, Ϊ׼ - NET_DVR_AUTO_LIMIT_WAVE_CFG struLimitWave; //Զ޲ƲƵԴΪmacInʱЧ - NET_DVR_DSP_PARAMETER_CFG struDSPParameter; //źŴоƬ - BYTE byRes[40]; -}NET_DVR_MIX_AUDIOIN_CFG,*LPNET_DVR_MIX_AUDIOIN_CFG; - -typedef struct tagNET_DVR_MIX_AUDIOOUT_CFG -{ - DWORD dwSize; //ṹС - BYTE byModulatorEnbale; //Ƿλ - BYTE byPostFilter; //Post Filterأ0-رգ1-ĬϿ - BYTE byLimitPressure; //ѹ޿ 0-رգ1-ĬϿ - BYTE byRes1; // - WORD wModulatorValue; //λ ȡֵΧ 0-127, Ϊ׼Ĭ10 - WORD wTriggerTime; //ѹ޴ʱ䣬ȡֵΧ 0-127, Ϊ׼ - WORD wFreeTime; //ѹͷʱ䣬ȡֵΧ 0-127, Ϊ׼ - BYTE byCompressThreshold; //ѹ 0-1X,1-2X,2-4X,3-8X Xʾ2Xʾ2 - BYTE byCompressMode; //ѹʽ0-Ӳѹ1-ѹĬΪӲѹ - BYTE byCompressRate; //ѹ - BYTE byRecoveryGain; //ظ 0-1X,1-2X,2-4X,3-8X - BYTE byOutputGain; // 0 ~100ֵ - BYTE byOutputMute; //0-رգ1- - int iOutputGainEx; //չֵΪŴ󣬸ֵΪС - BYTE bySoundQualityHanding; //ʴ0-رգ1- - BYTE byRes[55]; -}NET_DVR_MIX_AUDIOOUT_CFG,*LPNET_DVR_MIX_AUDIOOUT_CFG; - -#define MAX_AUDIOOUT_PRO_TYPE 8 //Ƶʽ -typedef struct tagNET_DVR_VOLUME_CFG -{ - DWORD dwSize; //ṹС - WORD wVolume[MAX_AUDIOOUT_PRO_TYPE]; //С ȡֵΧ 0-127, Ϊ׼ - BYTE byPhantomPowerSupply; //ǷʹûԴ(ƵͨΪMICʱЧ)0-壬1-磬2- - BYTE byEnableAEC; //ǷȫֵĻ,0-ã1- - WORD wTalkVolume; //ֶ֧Խ豸ԽʱС - BYTE byEnableFBC[MAX_AUDIOOUT_PRO_TYPE]; //ǷFBC(Х),0-ã1- - WORD wVolumeEx[MAX_AUDIOOUT_PRO_TYPE]; //Сչ ȡֵΧ 0-127, Ϊ׼ - BYTE byRes[4]; // -}NET_DVR_VOLUME_CFG,*LPNET_DVR_VOLUME_CFG; - -typedef struct tagNET_DVR_VIDEOOUT_RESOLUTION_CFG //Ƶڷֱ -{ - DWORD dwSize; //ṹС - BYTE byResolution; //ֱ 0-1024x768, 1-1280x720, 2-1280x1024, 3-1680x1050, 4-1920x1080, 5-3840*2160 - BYTE byRes[63]; -}NET_DVR_VIDEOOUT_RESOLUTION_CFG, *LPNET_DVR_VIDEOOUT_RESOLUTION_CFG; - -typedef struct tagNET_DVR_ADDR_DOMAIN_INFO -{ - BYTE szDomainAddr[MAX_DOMAIN_NAME]; /* IPַ,Ҫ豸,ʽΪĸ'.'Ϊ,ΪIPַ */ - WORD wPort; - BYTE byRes[2]; -}NET_DVR_ADDR_DOMAIN_INFO,*LPNET_DVR_ADDR_DOMAIN_INFO; - -#define MAX_CENTERNUM_V40 6 //ĵַ - -// -typedef struct tagNET_DVR_ALARMCENTER_NETCFG -{ - DWORD dwSize; - BYTE byAuxiliaryAlarmAddr[MAX_DOMAIN_NAME]; /* IPַ,Ҫ豸,ʽΪĸС.Ϊ,ΪIPַ */ - WORD wAuxiliaryAlarmPort; /* ˿ں */ - NET_DVR_ADDR_DOMAIN_INFO struHostAddr[MAX_CENTERNUM_V40]; //ĵַϢ - BYTE byRes[172]; -}NET_DVR_ALARMCENTER_NETCFG, *LPNET_DVR_ALARMCENTER_NETCFG; - -//ṹ -typedef struct tagNET_DVR_ALARM_LINKAGE_PARAM -{ - DWORD dwSize; - WORD wChanRec; //¼NVRͨλʾλʾͨ1λʾͨ16λֵ0-¼1-¼ - BYTE byRes1[2]; - WORD wRecTime[MAX_LINKAGE_CHAN_NUM]; //¼ʱ䣬ֽڱʾbyRecTime[0]ʾͨ1¼ʱ䣬byRecTime[15]ʾͨ16¼ʱ - WORD wChanPic; //ץͼNVRͨλʾλʾͨ1λʾͨ16λֵ0-ץͼ1-ץͼ - BYTE byRes2[2]; - BYTE byPicNum[MAX_LINKAGE_CHAN_NUM]; //ץͼĸֽڱʾbyPicNum[0]ʾͨ1ץͼbyPicNum[15]ʾͨ16ץͼ - BYTE byTriggerEnabled[ALARMHOST_ALARMOUT_NUM];//0-1- - BYTE bySensorJointAlarmOut[ALARMHOST_ALARMOUT_NUM];//ңֵֵΪbyTriggerEnabled䡣±ʾţԪصֵλʾͣͼ""Ĺϵֵ壺1bit0-1bit1-2bit2-3bit3-4bit4- - BYTE byRes3[128]; // -}NET_DVR_ALARM_LINKAGE_PARAM, *LPNET_DVR_ALARM_LINKAGE_PARAM; - - -//״Աϴ ץĻ4.0 -typedef struct tagNET_DVR_ALARM_RADARINFO -{ - DWORD dwSize; - DWORD dwRadarTriggerTimeSecond;//״ﴥʱ䣬 - DWORD dwRadarTriggerTimeMSecond;//״ﴥʱ䣬 - DWORD dwVedioTriggerTimeSecond;//Ƶʱ䣬 - DWORD dwVedioTriggerTimeMSecond;//Ƶʱ䣬 - DWORD dwVedioRadarDiffTimeMSecond;//״Ƶʱ - DWORD dwRadarSpeed;//״ٶ - BYTE byRes[16]; -} NET_DVR_ALARM_RADARINFO, *LPNET_DVR_ALARM_RADARINFO; - -#define MAX_FINGER_PRINT_LEN 768 //ָƳ -typedef struct tagNET_DVR_FINGER_PRINT_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - DWORD dwFingerPrintLen; //ָݳ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //Ҫ·ָƵĶʾ0-·ö1-·ö - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byRes1[30]; - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - BYTE byRes[64]; -}NET_DVR_FINGER_PRINT_CFG,*LPNET_DVR_FINGER_PRINT_CFG; - -typedef struct tagNET_DVR_FINGER_PRINT_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byCardReaderRecvStatus[MAX_CARD_READER_NUM_512]; //ָƶ״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ָģ鲻ߣ3-Իָ4-ڴ5-Ѵڸָƣ6-ѴڸָID7-ǷָID8-ָģ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byTotalStatus; //·ܵ״̬0-ǰָδж1-ж(ָŽеĶ·ˣܳɹ) - BYTE byRes1; - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĿ - DWORD dwCardReaderNo; //0ʾϢbyErrMsgЧֵbyErrMsgӦĶţʲô鿴byCardReaderRecvStatusӦŵֵ0ʱʾ޴Ϣ - BYTE byRes[24]; -}NET_DVR_FINGER_PRINT_STATUS,*LPNET_DVR_FINGER_PRINT_STATUS; - - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶϢʾ - DWORD dwFingerPrintNum; //ûȡȡʱΪ0xffffffffʾȡпϢ - BYTE byFingerPrintID; //ָţЧֵΧΪ-10 0xffʾÿָ - BYTE byCallbackMode; //豸صʽ0-豸ж˷Χ1-ʱ˲Ҳ - BYTE byRes1[26]; // -}NET_DVR_FINGER_PRINT_INFO_COND,*LPNET_DVR_FINGER_PRINT_INFO_COND; - -typedef struct tagNET_DVR_FINGER_PRINT_CFG_V50 -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - DWORD dwFingerPrintLen; //ָݳ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //Ҫ·ָƵĶʾӵλλʾ0-·ö1-·ö - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָƣ2-Ѳָƣ3-ָƣ4-ָ - BYTE byRes1[30]; - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byLeaderFP[MAX_DOOR_NUM_256]; //Ƿ״֤ܣֽڱʾ0-״֤ܣ1-״֤ - BYTE byRes[128]; -}NET_DVR_FINGER_PRINT_CFG_V50, *LPNET_DVR_FINGER_PRINT_CFG_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_STATUS_V50 -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byCardReaderRecvStatus[MAX_CARD_READER_NUM_512]; //ָƶ״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ָģ鲻ߣ3-Իָ4-ڴ5-Ѵڸָƣ6-ѴڸָID7-ǷָID8-ָģã10-ָƶ汾ͣ޷ֹ֧ţ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָƣ2-Ѳָƣ3-ָƣ4-ָ - BYTE byTotalStatus; //·ܵ״̬0-ǰָδж1-ж(ָŽеĶ·ˣܳɹ) - BYTE byRecvStatus; //״̬0-ɹ1-ָŴ2-ָʹ3-Ŵ󣨿Ź񲻷豸Ҫ󣩣4-ָδŻ򿨺ţŻ򿨺ֶΪգ5-Ųڣ6-ָݳΪ07-Ŵ8-Ŵ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĿ - DWORD dwCardReaderNo; //byCardReaderRecvStatusΪ5ʱʾѴָƶӦָƶţ·󷵻ء0ʱʾ޴Ϣ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byErrorEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĹţԱID - BYTE byRes[128]; -}NET_DVR_FINGER_PRINT_STATUS_V50, *LPNET_DVR_FINGER_PRINT_STATUS_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_COND_V50 -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿţֶλȡʱЧʱЧ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶǷЧ0-Ч1-Ч - DWORD dwFingerPrintNum; //ûָȡʱΪ0xffffffffʾȡָϢ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 0xffʾÿָ - BYTE byCallbackMode; //豸صʽ0-豸ж˷أ1-ʱ˲Ҳ - BYTE byRes2[2]; // - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes1[128]; // -}NET_DVR_FINGER_PRINT_INFO_COND_V50, *LPNET_DVR_FINGER_PRINT_INFO_COND_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_BYCARD -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶϢʾ - BYTE byFingerPrintID[MAX_FINGER_PRINT_NUM/*10*/]; //ҪȡָϢ±ֵ꣬ʾ0-ɾ1-ɾָ - BYTE byRes1[34]; // -}NET_DVR_FINGER_PRINT_BYCARD,*LPNET_DVR_FINGER_PRINT_BYCARD; - -typedef struct tagNET_DVR_FINGER_PRINT_BYREADER -{ - DWORD dwCardReaderNo; //ֵʾָƶ - BYTE byClearAllCard; //ǷɾпָϢ0-ɾָϢ1-ɾпָϢ - BYTE byRes1[3]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byRes[548]; // -}NET_DVR_FINGER_PRINT_BYREADER,*LPNET_DVR_FINGER_PRINT_BYREADER; - -typedef union tagNET_DVR_DEL_FINGER_PRINT_MODE -{ - BYTE uLen[588]; //峤 - NET_DVR_FINGER_PRINT_BYCARD struByCard; //ŵķʽɾ - NET_DVR_FINGER_PRINT_BYREADER struByReader; //ķʽɾ -}NET_DVR_DEL_FINGER_PRINT_MODE,*LPNET_DVR_DEL_FINGER_PRINT_MODE; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_CTRL -{ - DWORD dwSize; - BYTE byMode; //ɾʽ0-ŷʽɾ1-ɾ - BYTE byRes1[3]; // - NET_DVR_DEL_FINGER_PRINT_MODE struProcessMode; //ʽ - BYTE byRes[64]; // -}NET_DVR_FINGER_PRINT_INFO_CTRL,*LPNET_DVR_FINGER_PRINT_INFO_CTRL; - -typedef struct tagNET_DVR_FINGER_PRINT_BYCARD_V50 -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶϢλʾ - BYTE byFingerPrintID[MAX_FINGER_PRINT_NUM/*10*/]; //Ҫɾָţ±ֵ꣬ʾ0-ɾ1-ɾָ - BYTE byRes1[2]; - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID -}NET_DVR_FINGER_PRINT_BYCARD_V50, *LPNET_DVR_FINGER_PRINT_BYCARD_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_BYREADER_V50 -{ - DWORD dwCardReaderNo; //ֵʾָƶ - BYTE byClearAllCard; //ǷɾпָϢ0-ţԱIDɾָϢ1-ɾпԱIDָϢ - BYTE byRes1[3]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes[516]; // -}NET_DVR_FINGER_PRINT_BYREADER_V50, *LPNET_DVR_FINGER_PRINT_BYREADER_V50; - -typedef union tagNET_DVR_DEL_FINGER_PRINT_MODE_V50 -{ - BYTE uLen[588]; //峤 - NET_DVR_FINGER_PRINT_BYCARD_V50 struByCard; //ţԱIDķʽɾ - NET_DVR_FINGER_PRINT_BYREADER_V50 struByReader; //ķʽɾ -}NET_DVR_DEL_FINGER_PRINT_MODE_V50, *LPNET_DVR_DEL_FINGER_PRINT_MODE_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_CTRL_V50 -{ - DWORD dwSize; - BYTE byMode; //ɾʽ0-ţԱIDʽɾ1-ɾ - BYTE byRes1[3]; // - NET_DVR_DEL_FINGER_PRINT_MODE_V50 struProcessMode; //ʽ - BYTE byRes[64]; // -}NET_DVR_FINGER_PRINT_INFO_CTRL_V50, *LPNET_DVR_FINGER_PRINT_INFO_CTRL_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_STATUS_V50 -{ - DWORD dwSize; - DWORD dwCardReaderNo; //ֵʾָƶ - BYTE byStatus; //״̬0-Ч1-У2-ɾʧܣ3-ɹ - BYTE byRes[63]; // -}NET_DVR_FINGER_PRINT_INFO_STATUS_V50, *LPNET_DVR_FINGER_PRINT_INFO_STATUS_V50; - -typedef enum _ACS_DEV_SUBEVENT_ENUM_ -{ - EVENT_ACS_HOST_ANTI_DISMANTLE = 0, //𱨾 - EVENT_ACS_OFFLINE_ECENT_NEARLY_FULL, //¼90% - EVENT_ACS_NET_BROKEN, //Ͽ - EVENT_ACS_NET_RESUME , //ָ - EVENT_ACS_LOW_BATTERY, //صѹ - EVENT_ACS_BATTERY_RESUME, //صѹָ - EVENT_ACS_AC_OFF, //ϵ - EVENT_ACS_AC_RESUME, //ָ - EVENT_ACS_SD_CARD_FULL, //SD洢 - EVENT_ACS_LINKAGE_CAPTURE_PIC, //ץ¼ - EVENT_ACS_IMAGE_QUALITY_LOW, //ͼʵ - EVENT_ACS_FINGER_PRINT_QUALITY_LOW, //ָͼʵ - EVENT_ACS_BATTERY_ELECTRIC_LOW, //صѹ(豸ʹ) - EVENT_ACS_BATTERY_ELECTRIC_RESUME, //صѹָ(豸ʹ) - EVENT_ACS_FIRE_IMPORT_SHORT_CIRCUIT, //· - EVENT_ACS_FIRE_IMPORT_BROKEN_CIRCUIT, //· - EVENT_ACS_FIRE_IMPORT_RESUME, //ָ - EVENT_ACS_MASTER_RS485_LOOPNODE_BROKEN, //RS485·ڵϿ - EVENT_ACS_MASTER_RS485_LOOPNODE_RESUME, //RS485·ڵָ - EVENT_ACS_LOCAL_CONTROL_OFFLINE, //͵ؿ - EVENT_ACS_LOCAL_CONTROL_RESUME, //͵ؿ߻ָ - EVENT_ACS_LOCAL_DOWNSIDE_RS485_LOOPNODE_BROKEN, //͵RS485·Ͽ - EVENT_ACS_LOCAL_DOWNSIDE_RS485_LOOPNODE_RESUME, //͵RS485·ָ - EVENT_ACS_DISTRACT_CONTROLLER_ONLINE, //ֿ - EVENT_ACS_DISTRACT_CONTROLLER_OFFLINE, //ֿ - EVENT_ACS_FIRE_BUTTON_TRIGGER, //ť - EVENT_ACS_FIRE_BUTTON_RESUME, //ťָ - EVENT_ACS_MAINTENANCE_BUTTON_TRIGGER, //άť - EVENT_ACS_MAINTENANCE_BUTTON_RESUME, //άťָ - EVENT_ACS_EMERGENCY_BUTTON_TRIGGER, //ť - EVENT_ACS_EMERGENCY_BUTTON_RESUME, //ťָ - EVENT_ACS_RES, - EVENT_ACS_SUBMARINEBACK_COMM_BREAK, //뷴DZطͨŶϿ - EVENT_ACS_SUBMARINEBACK_COMM_RESUME, //뷴DZطͨŻָ - EVENT_ACS_REMOTE_ACTUAL_GUARD, //Զʵʱ - EVENT_ACS_REMOTE_ACTUAL_UNGUARD, //Զʵʱ - EVENT_ACS_MOTOR_SENSOR_EXCEPTION, //򴫸쳣 - EVENT_ACS_CAN_BUS_EXCEPTION, //CAN쳣 - EVENT_ACS_CAN_BUS_RESUME, //CAN߻ָ - EVENT_ACS_GATE_TEMPERATURE_OVERRUN, //բǻ¶ȳ - EVENT_ACS_IR_EMITTER_EXCEPTION, //쳣 - EVENT_ACS_IR_EMITTER_RESUME, //ָ - EVENT_ACS_LAMP_BOARD_COMM_EXCEPTION, //ưͨ쳣 - EVENT_ACS_LAMP_BOARD_COMM_RESUME, //ưͨŻָ - EVENT_ACS_IR_ADAPTOR_BOARD_COMM_EXCEPTION, //תӰͨ쳣 - EVENT_ACS_IR_ADAPTOR_BOARD_COMM_RESUME, //תӰͨŻָ - EVENT_ACS_CHANNEL_CONTROLLER_DESMANTLE_ALARM, //ͨ𱨾 - EVENT_ACS_CHANNEL_CONTROLLER_DESMANTLE_RESUME, //ͨ𱨾ָ - EVENT_ACS_CHANNEL_CONTROLLER_FIRE_IMPORT_ALARM, //ͨ뱨 - EVENT_ACS_CHANNEL_CONTROLLER_FIRE_IMPORT_RESUME, //ͨ뱨ָ - EVENT_ACS_STAY_EVENT, //¼ - EVENT_ACS_LEGAL_EVENT_NEARLY_FULL, //ߺϷ¼90% - EVENT_ACS_FIRE_IMPORT_ALARM = 52, //뱨 - EVENT_ACS_NOMASK_ALARM, //δֱ - EVENT_ACS_FIREMATRIX_EVENT, //¼ϴ - EVENT_ACS_HEALTH_INFO_ABNORMAL_LOCK, //Ϣ쳣 - EVENT_ACS_HEALTH_INFO_ABNORMAL_UNLOCK, //Ϣ쳣 - EVENT_ACS_IPC_EVENT //IPC¼ϴ -}ACS_DEV_SUBEVENT_ENUM; - -typedef enum _ACS_ALARM_SUBEVENT_ENUM_ -{ - EVENT_ACS_ALARMIN_SHORT_CIRCUIT = 0, //· - EVENT_ACS_ALARMIN_BROKEN_CIRCUIT, //· - EVENT_ACS_ALARMIN_EXCEPTION, //쳣 - EVENT_ACS_ALARMIN_RESUME, //ָ - EVENT_ACS_CASE_SENSOR_ALARM, //¼뱨 - EVENT_ACS_CASE_SENSOR_RESUME //¼ָ -}ACS_ALARM_SUBEVENT_ENUM; - -typedef enum _ACS_DOOR_SUBEVENT_ENUM_ -{ - EVENT_ACS_LEADER_CARD_OPEN_BEGIN = 0, //׿ſʼ - EVENT_ACS_LEADER_CARD_OPEN_END, //׿Ž - EVENT_ACS_ALWAYS_OPEN_BEGIN , //״̬ʼ - EVENT_ACS_ALWAYS_OPEN_END, //״̬ - EVENT_ACS_ALWAYS_CLOSE_BEGIN, //״̬ʼ - EVENT_ACS_ALWAYS_CLOSE_END, //״̬ - EVENT_ACS_LOCK_OPEN, // - EVENT_ACS_LOCK_CLOSE, //ر - EVENT_ACS_DOOR_BUTTON_PRESS, //Űť - EVENT_ACS_DOOR_BUTTON_RELEASE, //Űťſ - EVENT_ACS_DOOR_OPEN_NORMAL, //ţŴţ - EVENT_ACS_DOOR_CLOSE_NORMAL , //ţŴţ - EVENT_ACS_DOOR_OPEN_ABNORMAL, //쳣򿪣Ŵţ - EVENT_ACS_DOOR_OPEN_TIMEOUT, //Ŵ򿪳ʱŴţ - EVENT_ACS_REMOTE_OPEN_DOOR, //Զ̿ - EVENT_ACS_REMOTE_CLOSE_DOOR, //Զ̹ - EVENT_ACS_REMOTE_ALWAYS_OPEN, //Զ̳ - EVENT_ACS_REMOTE_ALWAYS_CLOSE, //Զ̳ - EVENT_ACS_NOT_BELONG_MULTI_GROUP, //ڶ֤Ⱥ - EVENT_ACS_INVALID_MULTI_VERIFY_PERIOD, //ڶ֤ʱ - EVENT_ACS_MULTI_VERIFY_SUPER_RIGHT_FAIL, //֤ģʽ֤ʧ - EVENT_ACS_MULTI_VERIFY_REMOTE_RIGHT_FAIL, //֤ģʽԶ֤ʧ - EVENT_ACS_MULTI_VERIFY_SUCCESS, //֤ɹ - EVENT_ACS_MULTI_VERIFY_NEED_REMOTE_OPEN, //ض֤ҪԶ̿ - EVENT_ACS_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS, //֤֤ɹ¼ - EVENT_ACS_MULTI_VERIFY_REPEAT_VERIFY_FAIL, //֤ظ֤ʧ - EVENT_ACS_MULTI_VERIFY_TIMEOUT, //֤ʱʧ - EVENT_ACS_REMOTE_CAPTURE_PIC, //Զץ - EVENT_ACS_DOORBELL_RINGING, // - EVENT_ACS_SECURITY_MODULE_DESMANTLE_ALARM, //ſذȫģ𱨾 - EVENT_ACS_CALL_CENTER, //¼ - EVENT_ACS_FIRSTCARD_AUTHORIZE_BEGIN, //׿Ȩʼ - EVENT_ACS_FIRSTCARD_AUTHORIZE_END, //׿Ȩ - EVENT_ACS_DOORLOCK_INPUT_SHORT_CIRCUIT, //· - EVENT_ACS_DOORLOCK_INPUT_BROKEN_CIRCUIT, //· - EVENT_ACS_DOORLOCK_INPUT_EXCEPTION, //쳣 - EVENT_ACS_DOORCONTACT_INPUT_SHORT_CIRCUIT, //Ŵ· - EVENT_ACS_DOORCONTACT_INPUT_BROKEN_CIRCUIT, //Ŵ· - EVENT_ACS_DOORCONTACT_INPUT_EXCEPTION, //Ŵ쳣 - EVENT_ACS_OPENBUTTON_INPUT_SHORT_CIRCUIT, //Űť· - EVENT_ACS_OPENBUTTON_INPUT_BROKEN_CIRCUIT, //Űť· - EVENT_ACS_OPENBUTTON_INPUT_EXCEPTION, //Űť쳣 - EVENT_ACS_DOORLOCK_OPEN_EXCEPTION, //쳣 - EVENT_ACS_DOORLOCK_OPEN_TIMEOUT, //򿪳ʱ - EVENT_ACS_FIRSTCARD_OPEN_WITHOUT_AUTHORIZE, //׿δȨʧ - EVENT_ACS_CALL_LADDER_RELAY_BREAK, //ݼ̵Ͽ - EVENT_ACS_CALL_LADDER_RELAY_CLOSE, //ݼ̵պ - EVENT_ACS_AUTO_KEY_RELAY_BREAK, //Զ̵Ͽ - EVENT_ACS_AUTO_KEY_RELAY_CLOSE, //Զ̵պ - EVENT_ACS_KEY_CONTROL_RELAY_BREAK, //ݿؼ̵Ͽ - EVENT_ACS_KEY_CONTROL_RELAY_CLOSE, //ݿؼ̵պ - EVENT_ACS_REMOTE_VISITOR_CALL_LADDER, //ÿͺ - EVENT_ACS_REMOTE_HOUSEHOLD_CALL_LADDER, //ס - EVENT_ACS_LEGAL_MESSAGE, //Ϸ - EVENT_ACS_ILLEGAL_MESSAGE, //Ƿ - EVENT_ACS_TRAILING, //βͨ - EVENT_ACS_REVERSE_ACCESS, // - EVENT_ACS_FORCE_ACCESS, //ײ - EVENT_ACS_CLIMBING_OVER_GATE, //Խ - EVENT_ACS_PASSING_TIMEOUT, //ͨгʱ - EVENT_ACS_INTRUSION_ALARM, //󴳱 - EVENT_ACS_FREE_GATE_PASS_NOT_AUTH, //բͨʱδ֤ͨ - EVENT_ACS_DROP_ARM_BLOCK, //ڱ۱赲 - EVENT_ACS_DROP_ARM_BLOCK_RESUME, //ڱ赲 - EVENT_ACS_REMOTE_CONTROL_CLOSE_DOOR, //ң - EVENT_ACS_REMOTE_CONTROL_OPEN_DOOR, //ң - EVENT_ACS_REMOTE_CONTROL_ALWAYS_OPEN_DOOR //ң -}ACS_DOOR_SUBEVENT_ENUM; - -typedef enum _ACS_CARD_READER_SUBEVENT_ENUM_ -{ - EVENT_ACS_STRESS_ALARM = 0, //вȱ - EVENT_ACS_CARD_READER_DESMANTLE_ALARM, //𱨾 - EVENT_ACS_LEGAL_CARD_PASS, //Ϸ֤ͨ - EVENT_ACS_CARD_AND_PSW_PASS, //ˢ֤ͨ - EVENT_ACS_CARD_AND_PSW_FAIL, //ˢ֤ʧ - EVENT_ACS_CARD_AND_PSW_TIMEOUT, //ˢ֤ʱ - EVENT_ACS_CARD_MAX_AUTHENTICATE_FAIL, //֤ʧܳ - EVENT_ACS_CARD_NO_RIGHT, //δȨ - EVENT_ACS_CARD_INVALID_PERIOD, //ǰʱЧ - EVENT_ACS_CARD_OUT_OF_DATE, //Ź - EVENT_ACS_INVALID_CARD, //޴˿ - EVENT_ACS_ANTI_SNEAK_FAIL, //DZ֤ʧ - EVENT_ACS_INTERLOCK_DOOR_NOT_CLOSE, //δر - EVENT_ACS_FINGERPRINT_COMPARE_PASS, //ָƱȶͨ - EVENT_ACS_FINGERPRINT_COMPARE_FAIL, //ָƱȶʧ - EVENT_ACS_CARD_FINGERPRINT_VERIFY_PASS, //ˢָ֤ͨ - EVENT_ACS_CARD_FINGERPRINT_VERIFY_FAIL, //ˢָ֤ʧ - EVENT_ACS_CARD_FINGERPRINT_VERIFY_TIMEOUT, //ˢָ֤ʱ - EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_PASS, //ˢָƼ֤ͨ - EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_FAIL, //ˢָƼ֤ʧ - EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_TIMEOUT, //ˢָƼ֤ʱ - EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_PASS, //ָƼ֤ͨ - EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_FAIL, //ָƼ֤ʧ - EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_TIMEOUT, //ָƼ֤ʱ - EVENT_ACS_FINGERPRINT_INEXISTENCE, //ָƲ - EVENT_ACS_FACE_VERIFY_PASS, //֤ͨ - EVENT_ACS_FACE_VERIFY_FAIL, //֤ʧ - EVENT_ACS_FACE_AND_FP_VERIFY_PASS, //ָ֤ͨ - EVENT_ACS_FACE_AND_FP_VERIFY_FAIL, //ָ֤ʧ - EVENT_ACS_FACE_AND_FP_VERIFY_TIMEOUT, //ָ֤ʱ - EVENT_ACS_FACE_AND_PW_VERIFY_PASS, //֤ͨ - EVENT_ACS_FACE_AND_PW_VERIFY_FAIL, //֤ʧ - EVENT_ACS_FACE_AND_PW_VERIFY_TIMEOUT, //֤ʱ - EVENT_ACS_FACE_AND_CARD_VERIFY_PASS, //ˢ֤ͨ - EVENT_ACS_FACE_AND_CARD_VERIFY_FAIL, //ˢ֤ʧ - EVENT_ACS_FACE_AND_CARD_VERIFY_TIMEOUT, //ˢ֤ʱ - EVENT_ACS_FACE_AND_PW_AND_FP_VERIFY_PASS, //ָ֤ͨ - EVENT_ACS_FACE_AND_PW_AND_FP_VERIFY_FAIL, //ָ֤ʧ - EVENT_ACS_FACE_AND_PW_AND_FP_VERIFY_TIMEOUT, //ָ֤ʱ - EVENT_ACS_FACE_AND_CARD_AND_FP_VERIFY_PASS, //ˢָ֤ͨ - EVENT_ACS_FACE_AND_CARD_AND_FP_VERIFY_FAIL, //ˢָ֤ʧ - EVENT_ACS_FACE_AND_CARD_AND_FP_VERIFY_TIMEOUT, //ˢָ֤ʱ - EVENT_ACS_EMPLOYEENO_AND_FP_VERIFY_PASS, //żָ֤ͨ - EVENT_ACS_EMPLOYEENO_AND_FP_VERIFY_FAIL, //żָ֤ʧ - EVENT_ACS_EMPLOYEENO_AND_FP_VERIFY_TIMEOUT, //żָ֤ʱ - EVENT_ACS_EMPLOYEENO_AND_FP_AND_PW_VERIFY_PASS, //żָƼ֤ͨ - EVENT_ACS_EMPLOYEENO_AND_FP_AND_PW_VERIFY_FAIL, //żָƼ֤ʧ - EVENT_ACS_EMPLOYEENO_AND_FP_AND_PW_VERIFY_TIMEOUT, //żָƼ֤ʱ - EVENT_ACS_EMPLOYEENO_AND_FACE_VERIFY_PASS, //ż֤ͨ - EVENT_ACS_EMPLOYEENO_AND_FACE_VERIFY_FAIL, //ż֤ʧ - EVENT_ACS_EMPLOYEENO_AND_FACE_VERIFY_TIMEOUT, //ż֤ʱ - EVENT_ACS_FACE_RECOGNIZE_FAIL, //ʶʧ - EVENT_ACS_EMPLOYEENO_AND_PW_PASS, //ż֤ͨ - EVENT_ACS_EMPLOYEENO_AND_PW_FAIL, //ż֤ʧ - EVENT_ACS_EMPLOYEENO_AND_PW_TIMEOUT, //ż֤ʱ - EVENT_ACS_HUMAN_DETECT_FAIL, //˼ʧ - EVENT_ACS_PEOPLE_AND_ID_CARD_COMPARE_PASS, //֤ȶͨ - EVENT_ACS_PEOPLE_AND_ID_CARD_COMPARE_FAIL, //֤ȶʧ - EVENT_ACS_DOOR_OPEN_OR_DORMANT_FAIL, //״̬ջ״̬֤ʧ - EVENT_ACS_AUTH_PLAN_DORMANT_FAIL, //֤ƻģʽ֤ʧ - EVENT_ACS_CARD_ENCRYPT_VERIFY_FAIL, //Уʧ - EVENT_ACS_SUBMARINEBACK_REPLY_FAIL, //DZطӦʧ - EVENT_ACS_PASSWORD_MISMATCH, //벻ƥ - EVENT_ACS_EMPLOYEE_NO_NOT_EXIST, //Ų - EVENT_ACS_COMBINED_VERIFY_PASS, //֤ͨ - EVENT_ACS_COMBINED_VERIFY_TIMEOUT, //֤ʱ - EVENT_ACS_VERIFY_MODE_MISMATCH, //֤ʽƥ - EVENT_ACS_PSW_ERROR_OVER_TIMES, //֤ 67 - EVENT_ACS_PSW_VERIFY_PASS, //֤ͨ - EVENT_ACS_PSW_VERIFY_FAIL, //֤ʧ - EVENT_ACS_ORCODE_VERIFY_PASS, //ά֤ͨ - EVENT_ACS_ORCODE_VERIFY_FAIL, //ά֤ʧ - EVENT_ACS_HOUSEHOLDER_AUTHORIZE_PASS, //Ȩ֤ͨ - EVENT_ACS_BLUETOOTH_VERIFY_PASS, //֤ͨ - EVENT_ACS_BLUETOOTH_VERIFY_FAIL, //֤ʧ 74 - EVENT_ACS_INFORMAL_M1_CARD_VERIFY_FAIL, //M1֤ʧ - EVENT_ACS_CPU_CARD_ENCRYPT_VERIFY_FAIL, //CPUУʧ - EVENT_ACS_NFC_DISABLE_VERIFY_FAIL, //NFCܹر֤ʧ - EVENT_ACS_EM_CARD_RECOGNIZE_NOT_ENABLED, //EMʶδ - EVENT_ACS_M1_CARD_RECOGNIZE_NOT_ENABLED, //M1ʶδ - EVENT_ACS_CPU_CARD_RECOGNIZE_NOT_ENABLED, //CPUʶδ - EVENT_ACS_ID_CARD_RECOGNIZE_NOT_ENABLED, //֤ʶδ - EVENT_ACS_CARD_SET_SECRET_KEY_FAIL, //װԿʧ - EVENT_ACS_DESFIRE_CARD_ENCRYPT_VERIFY_FAIL, //DesfireУʧ - EVENT_ACS_DESFIRE_CARD_RECOGNIZE_NOT_ENABLED, //Desfireʶδ - EVENT_ACS_IRIS_VERIFY_PASS, //Ĥ֤ͨ - EVENT_ACS_IRIS_VERIFY_FAIL, //Ĥ֤ʧ - EVENT_ACS_IRIS_BIOASSAY_FAIL, //Ĥʧ - EVENT_ACS_FELICA_CARD_RECOGNIZE_NOT_ENABLED, //Felicaʶδ - EVENT_ACS_ORCODE_RECOGNIZE_PASS, //άʶɹά¼κ֤ - EVENT_ACS_VP_ANTI_SPOOFING_FAIL, //ƻʧ - EVENT_ACS_VP_VERIFY_FAIL, //֤ʧ - EVENT_ACS_ESD_OK, //ESDϸ - EVENT_ACS_ESD_NOT_OK_OPEN_DOOR, //ESDϸ񵫿 - EVENT_ACS_ESD_NOT_OK, //ESDϸ񲻿 - EVENT_ACS_ESD_OVERTIME //ESDⳬʱ -}ACS_CARD_READER_SUBEVENT_ENUM; - -typedef struct tagNET_DVR_EVENT_LINKAGE_INFO -{ - WORD wMainEventType; //¼ͣ0-豸¼1-¼2-¼3-¼ - WORD wSubEventType; //¼ - BYTE byRes[28]; -}NET_DVR_EVENT_LINKAGE_INFO,*LPNET_DVR_EVENT_LINKAGE_INFO; - -typedef union tagNET_DVR_EVETN_CARD_LINKAGE_UNION -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - NET_DVR_EVENT_LINKAGE_INFO struEventLinkage; //¼ʱ - BYTE byMACAddr[MACADDR_LEN]; //MACַ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID -}NET_DVR_EVETN_CARD_LINKAGE_UNION,*LPNET_DVR_EVETN_CARD_LINKAGE_UNION; - -typedef struct tagNET_DVR_EVENT_CARD_LINKAGE_CFG -{ - DWORD dwSize; //ṹС - BYTE byProMode; //ʽ0-¼1- - BYTE byRes1[3]; - DWORD dwEventSourceID; //¼ԴIDΪ豸¼ʱЧ ¼ʱΪű;Ϊ¼ʱΪID;Ϊ¼ʱΪID¼ID - NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //ʽ - BYTE byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM]; //ıţʾΪ0ʾΪ1ʾ - BYTE byRes2[32]; // - BYTE byOpenDoor[MAX_DOOR_NUM_256]; //ʾ,Ƿţ0-1- - BYTE byCloseDoor[MAX_DOOR_NUM_256]; //ʾ,Ƿţ0-1- - BYTE byNormalOpen[MAX_DOOR_NUM_256]; //ʾ,Ƿ0-1- - BYTE byNormalClose[MAX_DOOR_NUM_256]; //ʾ,Ƿأ0-1- - BYTE byMainDevBuzzer; // 0-1- - BYTE byCapturePic; //Ƿץģ0-ץģ1-ץ - BYTE byRecordVideo; //Ƿ¼0-¼1-¼ - BYTE byRes3[29]; // - BYTE byReaderBuzzer[MAX_CARD_READER_NUM_512]; //ʾ0-1- - BYTE byRes[128]; // -}NET_DVR_EVENT_CARD_LINKAGE_CFG,*LPNET_DVR_EVENT_CARD_LINKAGE_CFG; - -typedef struct tagNET_DVR_EVENT_LINKAGE_CARD_CFG_V50 -{ - DWORD dwSize; //ṹС - BYTE byProMode; //ʽ0-¼1-, 2-MACַ - BYTE byRes1[3]; - DWORD dwEventSourceID; //¼ԴIDΪ豸¼ʱЧ ¼ʱΪű;Ϊ¼ʱΪID;Ϊ¼ʱΪID¼ID0xffffffffʾȫ - NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //ʽ - BYTE byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM]; //ıţλʾΪ0ʾΪ1ʾ - BYTE byRes2[32]; // - BYTE byOpenDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byCloseDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byNormalOpen[MAX_DOOR_NUM_256]; //λʾ,Ƿ0-1- - BYTE byNormalClose[MAX_DOOR_NUM_256]; //λʾ,Ƿأ0-1- - BYTE byMainDevBuzzer; // 0-1- - BYTE byCapturePic; //Ƿץģ0-ץģ1-ץ - BYTE byRecordVideo; //Ƿ¼0-¼1-¼ - BYTE byRes3[29]; // - BYTE byReaderBuzzer[MAX_CARD_READER_NUM_512]; //λʾ0-1- - BYTE byAlarmOutClose[MAX_ALARMHOST_ALARMOUT_NUM]; //رգֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInSetup[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInClose[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byRes[500]; // -}NET_DVR_EVENT_CARD_LINKAGE_CFG_V50, *LPNET_DVR_EVENT_CARD_LINKAGE_CFG_V50; - -typedef struct tagNET_DVR_EVENT_LINKAGE_CARD_CFG_V51 -{ - DWORD dwSize; //ṹС - BYTE byProMode; //ʽ0-¼1-ţ2-MACַ3-ţԱID - BYTE byRes1[3]; - DWORD dwEventSourceID; //¼ԴIDΪ豸¼ʱЧ ¼ʱΪű;Ϊ¼ʱΪID;Ϊ¼ʱΪID¼ID0xffffffffʾȫ - NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //ʽ - BYTE byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM]; //ıţλʾΪ0ʾΪ1ʾ - BYTE byRes2[32]; // - BYTE byOpenDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byCloseDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byNormalOpen[MAX_DOOR_NUM_256]; //λʾ,Ƿ0-1- - BYTE byNormalClose[MAX_DOOR_NUM_256]; //λʾ,Ƿأ0-1- - BYTE byMainDevBuzzer; // 0-1- - BYTE byCapturePic; //Ƿץģ0-ץģ1-ץ - BYTE byRecordVideo; //Ƿ¼0-¼1-¼ - BYTE byMainDevStopBuzzer; //ֹͣ 0-1- - WORD wAudioDisplayID; //ID0-ĿǰΧ1-32 - BYTE byAudioDisplayMode; //ģʽ0-رգ1-βţ2-ѭ - BYTE byRes3[25]; // - BYTE byReaderBuzzer[MAX_CARD_READER_NUM_512]; //λʾ0-1- - BYTE byAlarmOutClose[MAX_ALARMHOST_ALARMOUT_NUM]; //رգֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInSetup[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInClose[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byReaderStopBuzzer[MAX_CARD_READER_NUM_512]; //ֹֽͣڱʾ0-1- - BYTE byRes[512]; // -}NET_DVR_EVENT_CARD_LINKAGE_CFG_V51, *LPNET_DVR_EVENT_CARD_LINKAGE_CFG_V51; - -typedef struct tagNET_DVR_EVENT_CARD_LINKAGE_COND -{ - DWORD dwSize; - DWORD dwEventID; //¼ID - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_EVENT_CARD_LINKAGE_COND, *LPNET_DVR_EVENT_CARD_LINKAGE_COND; - -typedef struct tagNET_DVR_RIGHT_CONTROLLER_AUDIO_PARAM -{ - DWORD dwSize; - DWORD dwFileSize; //ļСλֽڣϴƵļʱЧƵļʱЧ - DWORD dwAudioID; //ƵID0xffffffffϴ/ȫƵļĿǰ豸֧ȫϴ/أֵ֧ƵIDϴ/أ - BYTE byRes[256]; -}NET_DVR_RIGHT_CONTROLLER_AUDIO_PARAM, *LPNET_DVR_RIGHT_CONTROLLER_AUDIO_PARAM; - -//ͻ궨ļṹ -typedef struct tagNET_DVR_CLIENT_CALIBFILE_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel; //ͨ - BYTE byFileType; //0-3200W궨ļ,1-800W궨ļ - BYTE byRes[22]; -}NET_DVR_CLIENT_CALIBFILE_PARAM, *LPNET_DVR_CLIENT_CALIBFILE_PARAM; - -typedef struct tagNET_DVR_RATIOSTITCHING_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel;// senorƴӺͨ - BYTE byRes[23]; -}NET_DVR_RATIOSTITCHING_PARAM, *LPNET_DVR_RATIOSTITCHING_PARAM; - -//ǽزļ -typedef struct tagNET_DVR_VIDEOWALL_MATERIAL_COND -{ - DWORD dwSize; - BYTE byWallNo; //ǽǽţ1ʼ - BYTE byWindowType; //ͣ0-ͼĴ,1-Ļ - BYTE byFileType; //ļͣ0-ͼƬ - BYTE byRes1; //ֽ - DWORD dwWindowNo; //ڱţ1ʼ - DWORD dwMaterialNo; //زıţ1ʼ - BYTE byRes[32]; -}NET_DVR_VIDEOWALL_MATERIAL_COND, *LPNET_DVR_VIDEOWALL_MATERIAL_COND; - -//3200Wṹ -typedef struct tagNET_DVR_CORRECT_TABLE_3200W_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel; //ͨ - BYTE byFileType; //0-3200W궨ļ,1-800W궨ļ - BYTE byRes[22]; -}NET_DVR_CORRECT_TABLE_3200W_PARAM, *LPNET_DVR_CORRECT_TABLE_3200W_PARAM; - -//ͨץͼļṹ -typedef struct tagNET_DVR_FOUR_CAMERAS_PICTURES -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel; //ͨ - BYTE byRes[23]; -}NET_DVR_FOUR_CAMERAS_PICTURES, *LPNET_DVR_FOUR_CAMERAS_PICTURES; - -// ָͺű궨ļṹ -typedef struct tagNET_DVR_DEVTYPE_CALIBFILE_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļ - BYTE byChannel; //ͨ - BYTE byFileType; //0-3200W궨ļ,1-800W궨ļ - BYTE byRes[22]; -}NET_DVR_DEVTYPE_CALIBFILE_PARAM, *LPNET_DVR_DEVTYPE_CALIBFILE_PARAM; - -typedef struct tagNET_DVR_ANTI_SNEAK_HOST_INFO -{ - NET_DVR_ADDRESS struDVRIP; //IPַ - BYTE byIsStartAddr; //ǷΪʼַ0-1- - BYTE byHostNo; //ţ1-8Ҫڶ˳ - BYTE byRes[34]; // -}NET_DVR_ANTI_SNEAK_HOST_INFO,*LPNET_DVR_ANTI_SNEAK_HOST_INFO; - -typedef struct tagNET_DVR_ANTI_SNEAK_HOST_READER_INFO -{ - BYTE byAntiSnealHostNo; //DZ - BYTE byRes[5]; // - WORD wFollowUpCardReader; //÷DZµĶ -}NET_DVR_ANTI_SNEAK_HOST_READER_INFO, *LPNET_DVR_ANTI_SNEAK_HOST_READER_INFO; - -typedef struct tagNET_DVR_ANTI_SNEAK_MULTI_HOST_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ뷴DZ·1-룬0- - BYTE byRes1[3]; - NET_DVR_ANTI_SNEAK_HOST_INFO struSneakHost[MAX_SNEAK_PATH_NODE]; //ַϢ - NET_DVR_ANTI_SNEAK_HOST_READER_INFO struStartReader; //ʼ ȫΪ0ʱʾעĸʼ - BYTE byRes2[128]; -}NET_DVR_ANTI_SNEAK_MULTI_HOST_CFG, *LPNET_DVR_ANTI_SNEAK_MULTI_HOST_CFG; - -typedef struct tagNET_DVR_ANTI_SNEAK_READER_CFG -{ - BYTE byEnable; //Ƿ뷴DZ·1-룬0- - BYTE byAntiSnealHostNo; //DZ - WORD wReaderID; //ID - NET_DVR_ANTI_SNEAK_HOST_READER_INFO struSneakReaderInfo[MAX_SNEAK_PATH_NODE]; // - BYTE byRes2[8]; -}NET_DVR_ANTI_SNEAK_READER_CFG, *LPNET_DVR_ANTI_SNEAK_READER_CFG; - -typedef struct tagNET_DVR_ANTI_SNEAK_MULTI_HOST_READERS_CFG -{ - DWORD dwSize; - NET_DVR_ANTI_SNEAK_READER_CFG struReaderCfg[MAX_READER_ROUTE_NUM]; //Ϣ - BYTE byRes[128]; -}NET_DVR_ANTI_SNEAK_MULTI_HOST_READERS_CFG, *LPNET_DVR_ANTI_SNEAK_MULTI_HOST_READERS_CFG; - -typedef struct tagNET_DVR_ACS_CFG -{ - DWORD dwSize; //ṹС - BYTE byRS485Backup; //ǷRS485ͨűݹܣ0-ã1- - BYTE byShowCapPic; //ǷʾץͼƬ 0-ʾ1-ʾ - BYTE byShowCardNo; //Ƿʾţ0-ʾ1-ʾ - BYTE byShowUserInfo; //ǷʾûϢ0-ʾ1-ʾ - BYTE byOverlayUserInfo;//ǷûϢ0-ӣ1- - BYTE byVoicePrompt; //Ƿʾ0-ã1- - BYTE byUploadCapPic; //ץǷϴͼƬ0-ϴ1-ϴ - BYTE bySaveCapPic; //Ƿ񱣴ץͼƬ0-棬1- - BYTE byInputCardNo; //ǷǷ뿨ţ0-1- - BYTE byEnableWifi; //Ƿwifi0-1- - BYTE byEnable3G4G; //3G4Gʹܣ0-ʹܣ1-ʹ - BYTE byProtocol;//ͨЭͣ0-˽Э飨Ĭϣ1-OSDPЭ - BYTE byRes[500]; -}NET_DVR_ACS_CFG, *LPNET_DVR_ACS_CFG; - -typedef struct tagNET_DVR_PLATFORM_VERIFY_CFG -{ - DWORD dwSize; - DWORD dwDoorNo; //ű - BYTE byResultType; //֤ͣ0Ƿ1Ϸ - BYTE byRes1[3]; - BYTE byScreenDisplay[MAX_SCREEN_DISPLAY_LEN]; //LEDĻʾʾ֤Ϣ - BYTE byRes[300]; // ֽ -}NET_DVR_PLATFORM_VERIFY_CFG, *LPNET_DVR_PLATFORM_VERIFY_CFG; - -typedef struct tagNET_DVR_PERSON_STATISTICS_CFG -{ - DWORD dwSize; - BYTE byEnableStatistics; //Ƿͳƣ01 - BYTE byEnableOfflineStatistics; //Ƿͳƣ01 - BYTE byCountSignalStatisticalStandard; //źͳƱ׼0Ч1ͨͳƣ2֤ͳ - BYTE byRes[605]; -}NET_DVR_PERSON_STATISTICS_CFG, *LPNET_DVR_PERSON_STATISTICS_CFG; - -typedef struct tagNET_DVR_ACS_SCREEN_DISPLAY_CFG -{ - DWORD dwSize; - DWORD dwFontSize; //С[1,10] - DWORD dwRowSpacing; //м࣬λص㣻 - DWORD dwColumnSpacing; //м࣬λص㣻 - DWORD dwFirstRowPosition; //ʼλĻһֿ飬00 11/8: 22/8 33/8 44/8 55/8 66/8: 77/8 - BYTE byDegree; //ַʾǶȣ0-0ȣ1-90ȣţ - BYTE byScreenType; //Ļͣ0-DC48270RS043_01T1-DC80480B070_03T - BYTE byRes[306]; -}NET_DVR_ACS_SCREEN_DISPLAY_CFG, *LPNET_DVR_ACS_SCREEN_DISPLAY_CFG; - -typedef struct tagNET_DVR_GATE_TIME_CFG -{ - DWORD dwSize; - DWORD dwHoldOnALarmTime; //ʱ䣬λms - DWORD dwHoldOnGateOpenTime; //բյرǰִ״̬ʱ䣬λms - DWORD dwPostponeIntrusionAlarmTime; //ƳٴƭΪʱ䣬λms - DWORD dwNoLaneAccessTimeLimitTime; //ͨյЧ֤ͨźţͨгʱʱ䣬λs - DWORD dwSafetyZoneStayTime; //ͨյЧ֤ͨźţ˿͵ﰲȫͨʱʱ䣬λs - BYTE byIRTriggerTimeoutTime; //ⴥʱʱ䣬λ루0-255 - BYTE byRes[299]; -}NET_DVR_GATE_TIME_CFG, *LPNET_DVR_GATE_TIME_CFG; - - -typedef struct tagNET_DVR_CARD_PASSWD_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byCardPassword[CARD_PASSWORD_LEN]; // - DWORD dwErrorCode; //ȡ뿪ʹ÷صĴ룬ɹΪ0ʧܷش - BYTE byCardValid; //ǷЧ0-Ч1-ЧɾʱΪ0ɾȡʱֶʼΪ1 - BYTE byRes2[23]; -}NET_DVR_CARD_PASSWD_CFG, *LPNET_DVR_CARD_PASSWD_CFG; - -typedef struct tagNET_DVR_CARD_PASSWD_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - DWORD dwErrorCode; //Ϳ뿪ʹ÷صĴ룬ɹΪ0ʧܷش - BYTE byRes2[24]; -}NET_DVR_CARD_PASSWD_STATUS, *LPNET_DVR_CARD_PASSWD_STATUS; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes[64]; -} NET_DVR_VEHICLE_RECOG_COND, *LPNET_DVR_VEHICLE_RECOG_COND; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_CFG -{ - DWORD dwSize; - //ˮ ͣϴNET_DVR_VEHICLE_RECOG_RESULTеֶsDataIndexӦ - char sDataIndex[DATA_INDEX_LEN]; - // (ϴNET_DVR_VEHICLE_RECOG_RESULTеֶdwTaskNoӦ) - WORD wTaskNo; - BYTE byRes1[2]; - NET_VCA_RECT struPlateRect;//λ - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - /* - ͼƬʶ - bit0-ʶ0-ʶ1-ʶ - bit1-ʶ0-ʶ1-ʶ - bit2-ɫʶ0-ʶ1-ʶ - bit3-Ʒʶ0-ʶ1-ʶ - bit4-ڵʶ(ʻ)0-ʶ1-ʶ - bit5-ȫʶ(ʻ)0-ʶ1-ʶ - bit6-ڵʶ(ʻ)0-ʶ1-ʶ - bit7-ȫʶ(ʻ)0-ʶ1-ʶ - bit8-ͼƬʹܣ0-ʶ1-ʶ - bit9-ϴͼƬʹ(ͨSDK)0-ʶ1-ʶ - bit10-ϴͼƬʹ(ͨURL)0-ʶ1-ʶ - bit11-Ʊ공0-ʶ1-ʶ - bit12-ֻ0-ʶ1-ʶ - bit13-Ҽ0-ʶ1-ʶ - bit14-ΣƷ: 0-ʶ1-ʶ - bit15-촰վ˼: 0-ʶ1-ʶ - */ - DWORD dwRecogOperate; - /* - ͼƬϴ - bit0-ͼƬ0-ϴ1-ϴ - bit1-ͼƬ0-ϴ1-ϴ - bit2-ͼ(ʻ)0-ϴ1-ϴ - bit3-ͼ(ʻ)0-ϴ1-ϴ - bit4-ȫͼ(ʻ)0-ϴ1-ϴ - bit5-ȫͼ(ʻ)0-ϴ1-ϴ - */ - DWORD dwDataUploadType; - DWORD dwPostID;//ID - NET_DVR_TIME_V30 struPostTime;//ʱ - DWORD dwJsonLen; //Json͸ݳ - BYTE *pJsonBuffer;//Jsonָ,ο4.2.4Jsonݸʽ - BYTE byRes[107]; - BYTE byPicDataType;//ͼƬͣ0-ͼƬݣ1-URL - //ͼƬ - //byPicDataType == 0ʱ򣬸ֶڵЧͼƬڽṹ - //byPicDataType == 1ʱָͼƬURLϢ - char sPicDataPath[256]; -}NET_DVR_VEHICLE_RECOG_CFG, *LPNET_DVR_VEHICLE_RECOG_CFG; - -typedef struct tagNET_DVR_VEHICLERECOG_TASK_RESULT -{ - DWORD dwSize; - //豸ˮ,ÿύ豸Ψһˮŷظϲ㡣 - char sDevDataIndex[MAX_DEV_DATAINDEX_LEN/*64*/]; - BYTE byRes[256]; -}NET_DVR_VEHICLERECOG_TASK_RESULT, *LPNET_DVR_VEHICLERECOG_TASK_RESULT; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_TASK_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char sDataIndex[DATA_INDEX_LEN];//ˮ ȫ0ʱʾȡȫ - WORD wTaskNo;// ֵΪ0ʱʾȫ - /* - ״̬ - bit0-״̬0-ѯ1-ѯ - bit1-ִе0-ѯ1-ѯ - bit2-ȴе0-ѯ1-ѯ - */ - BYTE byTask; - BYTE byRes1; - //豸ˮŲѯ,ÿύ豸Ψһˮš - char sDevDataIndex[MAX_DEV_DATAINDEX_LEN/*64*/]; - BYTE byRes[60]; -}NET_DVR_VEHICLE_RECOG_TASK_COND, *LPNET_DVR_VEHICLE_RECOG_TASK_COND; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_TASK_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char sDataIndex[DATA_INDEX_LEN];//ˮ - WORD wTaskNo;// - WORD wTaskProgress;//ִнȣʵʽ*1000 - BYTE byTaskState;//״̬0-ȴУ1-ִУ2- - BYTE byRes1[3]; - /* - ͼƬʶ - bit0-ʶ0-ʶ1-ʶ - bit1-ʶ0-ʶ1-ʶ - bit2-ɫʶ0-ʶ1-ʶ - bit3-Ʒʶ0-ʶ1-ʶ - bit4-ڵʶ(ʻ)0-ʶ1-ʶ - bit5-ȫʶ(ʻ)0-ʶ1-ʶ - bit6-ڵʶ(ʻ)0-ʶ1-ʶ - bit7-ȫʶ(ʻ)0-ʶ1-ʶ - bit8-ͼƬʹܣ0-ʶ1-ʶ - bit9-ϴͼƬʹ(ͨSDK)0-ʶ1-ʶ - bit10-ϴͼƬʹ(ͨURL)0-ʶ1-ʶ - bit11-Ʊ공0-ʶ1-ʶ - bit12-ֻ0-ʶ1-ʶ - bit13-Ҽ0-ʶ1-ʶ - bit14-ΣƷ: 0-ʶ1-ʶ - bit15-촰վ˼: 0-ʶ1-ʶ - */ - DWORD dwRecogOperate; - DWORD dwPostID;//ID - NET_DVR_TIME_V30 struPostTime;//ʱ - DWORD dwJsonLen; //Json͸ݳȣԤJSONݲʵ֣ - BYTE *pJsonBuffer;//Jsonָ, ԤJSONݲʵ֣ - BYTE byRes[104]; -}NET_DVR_VEHICLE_RECOG_TASK_INFO, *LPNET_DVR_VEHICLE_RECOG_TASK_INFO; - -typedef struct tagNET_DVR_VEHICLE_RECOG_RESULT -{ - DWORD dwSize; //ṹ - //ˮ ͣύNET_DVR_VEHICLE_RECOG_CFGеֶsDataIndexӦ - char sDataIndex[DATA_INDEX_LEN]; - // (ύNET_DVR_VEHICLE_RECOG_CFGеֶwTaskNoӦ) - WORD wTaskNo; - BYTE byRes[2]; - NET_VCA_RECT struPlateRect;//λ - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - BYTE byVehicleType; //ͣοVTR_RESULT - BYTE byColorDepth; //ɫdzο 0-ɫ1-dzɫ - BYTE byColor; //ɫ, οVCR_CLR_CLASS - BYTE byVehicleLogoRecog; //Ʒ - BYTE byVehicleSubLogoRecog; //Ʒ - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byVehicleModel;// οĵ Ʒ - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" - BYTE byRes1[251]; - // 0-ֱϴ; 1-ƴ洢URLԭȵͼƬݱURLݣͼƬȱURL - BYTE byDataType; - /* - ϴͼƬϢ: - bit0-ͼ0-ϴ1-ϴ - bit1-ͼ0-ϴ1-ϴ - bit2-ͼ(ʻ)0-ϴ1-ϴ - bit3-ͼ(ʻ)0-ϴ1-ϴ - bit4-ȫʶ(ʻ)0-ϴ1-ϴ - bit5-ȫʶ(ʻ)0-ϴ1-ϴ - */ - DWORD dwPicType; //0:ͼƬϢ;: ͼ;:ͼ; - BYTE *pVehicleBuffer; //ͼƬָ - DWORD dwVehicleBufferLen ;// ͼƬݳ - BYTE *pPlateBuffer; //ͼƬָ - DWORD dwPlateBufferLen ;// ͼƬݳ - BYTE *pPilotFaceBuffer; //ͼ(ʻ)ͼƬָ - DWORD dwPilotFaceBufferLen ;// ͼ(ʻ)ͼƬݳ - BYTE *pCopilotFaceBuffer; //ͼ(ʻ)ͼƬָ - DWORD dwCopilotFaceBufferLen ;// ͼ(ʻ)ͼƬݳ - BYTE *pPilotSafebeltBuffer; //ȫʶ(ʻ)ͼƬָ - DWORD dwPilotSafebeltBufferLen ;// ȫʶ(ʻ)ͼƬݳ - BYTE *pCopilotSafebeltBuffer;// ȫʶ(ʻ)ͼƬָ - DWORD dwCopilotSafebeltBufferLen ;// ȫʶ(ʻ)ͼƬݳ - NET_VCA_RECT struVehicleRect ;// - NET_VCA_RECT struPilotRect ;//ʻ - NET_VCA_RECT struCopilotRect ;//ʻ - BYTE *pJsonBuffer;//Jsonָ,οJSONݸʽ - DWORD dwJsonBufferLen;// Jsonݳ - DWORD dwPostID;//ID - NET_DVR_TIME_V30 struPostTime;//ʱ - BYTE Res2[56]; -}NET_DVR_VEHICLE_RECOG_RESULT, *LPNET_DVR_VEHICLE_RECOG_RESULT; - -#define MAX_ZONE_LINKAGE_CHAN_NUM 4 /* ͨ*/ - -typedef struct tagNET_DVR_CENTER_SERVER_CFG_ -{ - DWORD dwSize; - BYTE byAddressType; //0 - ipv4/ipv6ַ1 - - BYTE byRes1; - WORD wServerPort; //˿ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME]; - BYTE byRes2[80]; - }struDomain; // - struct - { - NET_DVR_IPADDR struIp; - }struAddrIP; //IPַ - }unionServer;//ʹṹͨbyAddressTypeֶαʾIPַ - WORD wInterval; //ʱ,0-30s - BYTE byRes3[514]; -}NET_DVR_CENTER_SERVER_CFG,*LPNET_DVR_CENTER_SERVER_CFG; - -typedef struct tagNET_DVR_SINGLE_CHANNEL_LINKAGE_CFG_ -{ - BYTE byDDNSType; //ͣ0 - Ч1 - IPServer(˽DNS)2 - hiDDNS - BYTE byRes1; - WORD wDDNSPort; //˿ں - BYTE byServerAddr[MAX_DOMAIN_NAME]; //ַ - BYTE byDevName[MAX_DOMAIN_NAME]; //豸 - BYTE byDevSerialNum[SERIALNO_LEN]; //豸к - BYTE byAddressType; //0 - ipv4/ipv6ַ1 - - BYTE byRes2; - WORD wDevPort; //豸˿ں - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME]; - BYTE byRes2[80]; - }struDomain; // - struct - { - NET_DVR_IPADDR struIp; - }struAddrIP; //IPַ - }unionDevAddr;//ʹṹͨbyAddressTypeֶαʾIPַ - BYTE sUserName[NAME_LEN/*32*/]; //û - BYTE sPassword[PASSWD_LEN/*16*/];// - DWORD dwChannel; //ͨ - BYTE byRes3[32]; -}NET_DVR_SINGLE_CHANNEL_LINKAGE_CFG,*LPNET_DVR_SINGLE_CHANNEL_LINKAGE_CFG; - -typedef struct tagNET_DVR_REGION_CHANNEL_LINKAGE_CFG_ -{ - DWORD dwSize; - NET_DVR_SINGLE_CHANNEL_LINKAGE_CFG struLinkChannels[MAX_ZONE_LINKAGE_CHAN_NUM]; // ÿԹĸƵͨ - BYTE byRes[64]; -}NET_DVR_ZONE_CHANNEL_LINKAGE_CFG,*LPNET_DVR_ZONE_CHANNEL_LINKAGE_CFG; - -typedef struct tagNET_DVR_SINGLE_ASSOCIATED_CHAN_CFG -{ - BYTE byDevSerialNo[SERIALNO_LEN]; //豸к - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_SINGLE_ASSOCIATED_CHAN_CFG, *LPNET_DVR_SINGLE_ASSOCIATED_CHAN_CFG; - -typedef struct tagNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG -{ - WORD wZoneNo; - BYTE byRes1[2]; - NET_DVR_SINGLE_ASSOCIATED_CHAN_CFG struSingleChanCfg[MAX_ZONE_LINKAGE_CHAN_NUM]; - BYTE byRes2[64]; -}NET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG, *LPNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG; - -typedef struct tagNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG_LIST_ -{ - DWORD dwSize; - NET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG struAssociatedChanCfg[MAX_MAX_ALARMIN_NUM]; - BYTE byRes[64]; -}NET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG_LIST, *LPNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG_LIST; - -typedef struct tagNET_DVR_LCD_ALARM -{ - DWORD dwSize; - DWORD dwScreenID; //Ļ - BYTE byOnOffLine; //ĻǷߣ0-ߣ1-ߣĻʱṹЧ - BYTE byTempState; //忨¶״̬0-1-쳣 - BYTE byFanState; //״̬0-أ1- - BYTE byFanException; //쳣״̬0-֧ 1-2-쳣 - BYTE byTemperature; //Ļ忨¶ȣλ϶ - BYTE byRes[27]; -}NET_DVR_LCD_ALARM, *LPNET_DVR_LCD_ALARM; - -//ϴϢ -typedef struct tagNET_DVR_SENSOR_INFO_UPLOAD -{ - DWORD dwSize; - NET_DVR_TIME_V30 struTime; - char szSensorName[MAX_SENSORNAME_LEN]; // - char szSensorChan[MAX_SENSORCHAN_LEN]; //ͨ - BYTE byReboot; //֮ǰǷһĺĵһݴ־0-ʾû1-й - BYTE byPowerSupply;//Ƿ 0-ڹ磬1-ڹ - BYTE byStatusType;//豸״̬:0:1쳣2 - BYTE bySensorType;//οöSENSOR_TYPE - float fVoltageValue;//ѹֵ ȷ0.001 - float fCurrentValue;//ֵȷ0.001 - float fActualValue;//ģźתֵȷ0.001 - char szDescription[MAX_DESCRIPTION_LEN /* 32*/]; //Ϣ;豸״̬byStatusTypeΪ0ʱЧ - BYTE byRes1[128]; -}NET_DVR_SENSOR_INFO_UPLOAD,*LPNET_DVR_SENSOR_INFO_UPLOAD; - -//ץͼƬϴ -typedef struct tagNET_DVR_CAPTURE_UPLOAD -{ - DWORD dwSize; - NET_DVR_TIME_V30 struTime; - DWORD dwChannel;//ͨ - char szDevName[MAX_DEVNAME_LEN_EX]; - DWORD dwPicLen;//ͼƬ - BYTE *pBuffer; //ͼƬָ - BYTE byRes[124]; -}NET_DVR_CAPTURE_UPLOAD,*LPNET_DVR_CAPTURE_UPLOAD; - -//ȫλϴ -typedef struct tagNET_DVR_PANORAMIC_LINKAGE -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byType;//ͼƬͣ0-壬1-ȫλͼƬ - BYTE byRes1[3]; - BYTE byMACAddr[MACADDR_LEN]; //macַ - BYTE byRes2[2]; - NET_DVR_IPADDR struDevIP; //豸IPַ - DWORD dwPicLen;//ȫλץͼƬ - char *pPicBuff; //ȫλץͼƬָ - BYTE byRes[128]; -}NET_DVR_PANORAMIC_LINKAGE, *LPNET_DVR_PANORAMIC_LINKAGE; - -#define MAX_MASK_AREA_NUM 8 // - -typedef struct tagNET_DVR_AREA_MASK_CFG // -{ - DWORD dwSize; //ṹС - BYTE byEnable;//Ƿ 0-1- - BYTE byMaskThick; //˺ 0-룬1-룬2-룬СΪ8*816*1632*32ĬΪ - BYTE byAutoMask;//ǷԶ 0-1- - BYTE byRes1; - NET_VCA_RECT struRegion[MAX_MASK_AREA_NUM];//Χ - BYTE byRes[64]; -}NET_DVR_AREA_MASK_CFG, *LPNET_DVR_AREA_MASK_CFG; - -typedef struct tagNET_DVR_AUDIO_DIACRITICAL_CFG //Ƶ -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿñ 0-ã1- - char byBassValue; //ߵֵΧΪ-12-12 ֵԽԽϸ֮ԽС0-ʾ - BYTE byRes[62]; -}NET_DVR_AUDIO_DIACRITICAL_CFG, *LPNET_DVR_AUDIO_DIACRITICAL_CFG; - -typedef struct tagNET_DVR_RESOLUTION_SWITCH -{ - DWORD dwSize; - BYTE byResolutionType;//0-all,1-20:9,2-20:6,3-ԭʼģʽ - BYTE byRes[127]; -}NET_DVR_RESOLUTION_SWITCH, *LPNET_DVR_RESOLUTION_SWITCH; - -typedef struct tagNET_DVR_WIFI_DHCP_ADDR_CFG //wifiģʽDHCPΧ -{ - DWORD dwSize; - NET_DVR_IPADDR struStartAddr; //ʼIPַ - NET_DVR_IPADDR struEndAddr; //IPַ - BYTE byRes[256]; -}NET_DVR_WIFI_DHCP_ADDR_CFG, *LPNET_DVR_WIFI_DHCP_ADDR_CFG; - - -typedef struct tagNET_DVR_WIFI_CLIENT_INFO //Ƶ -{ - DWORD dwSize; - NET_DVR_IPADDR struAddress; //IPַ - BYTE byMACAddr [MACADDR_LEN]; - WORD wConnSpeed; //ٶ λKB - BYTE byRSSIValue; //յźǿȣȡֵΪֵʱֵΧΪ0~-110dbm,ֵԽ󣬴źԽǿ - BYTE byRes1; // - WORD wBandwidth; // λKB - BYTE byRes[32]; -}NET_DVR_WIFI_CLIENT_INFO, *LPNET_DVR_WIFI_CLIENT_INFO; - -typedef struct tagNET_DVR_MULTISTREAM_RELATION_CHAN_CFG //ͨ -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ıͨ - BYTE byRes[64]; -}NET_DVR_MULTISTREAM_RELATION_CHAN_CFG, *LPNET_DVR_MULTISTREAM_RELATION_CHAN_CFG; - -typedef struct -{ - BYTE byPort; //˿ - BYTE byMasterSlaveProperty; //˿ 1- 2- - BYTE byPortEthernetType; //˿ͣ1-׶˿ڣ2-ǧ׶˿ - BYTE byRes[9]; -}NET_DVR_RING_PORT_PROPERTY, *LPNET_DVR_RING_PORT_PROPERTY; -typedef struct -{ - DWORD dwSize; - BYTE byEnable; //Ƿã 0-ã !0- - BYTE byProtoType; //Эͣ 1-˻Э(˽)2-ۺƽ̨Э飨˽У3-G8032Э飨У - BYTE byBandWidth; //ͣ1-ף2-ǧ - BYTE byRes1; //ֶ - NET_DVR_RING_PORT_PROPERTY struRingPort[PER_RING_PORT_NUM]; //˿ - BYTE byRes2[60]; //ֶ -}NET_DVR_NS_RING_CFG, *LPNET_DVR_NS_RING_CFG; -typedef struct // -{ - DWORD dwSize; //ṹС - BYTE byStatus; //״̬1- 2-Ͽ - BYTE byMasterSlaveProperty ; //˰ 1- 2- - BYTE byRes[62]; //ֶ -} NET_DVR_NS_RING_STATUS, *LPNET_DVR_NS_RING_STATUS; - -//ⱨ -typedef struct tagNET_DVR_FIREDETECTION_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - WORD wPanPos; - WORD wTiltPos; - WORD wZoomPos; - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1; - DWORD dwPicDataLen;//ץͼƬ - BYTE *pBuffer; //ָ - NET_VCA_RECT struRect;// - NET_VCA_POINT struPoint ;//¶ȵ - WORD wFireMaxTemperature ;//¶[300~4000] - WORD wTargetDistance ;//Ŀ[100m ~ 10000m] - BYTE byStrategyType;//ͣ0~ⱨ1~Эͬ2~ϵͳ3~ָ㱨4~ָ - BYTE byAlarmSubType;//͡0~ⱨ1~ⱨ2~̻𱨾 - /*ǷPTZչ - 0~ãPTZֵwPanPoswTiltPoswZoomPosΪ׼ - 1~ãPTZֵstruPtzPosExΪ׼PTZ践ءstruPtzPosExֵתΪwPanPoswTiltPoswZoomPosֵ - */ - BYTE byPTZPosExEnable; - BYTE byRes2; - NET_PTZ_INFO struPtzPosEx;// ptzչ(ָ֧߾PTZֵȷСλ) - DWORD dwVisiblePicLen;//ɼͼƬ - BYTE *pVisiblePicBuf; //ɼͼƬָ - // pSmokeBufbyAlarmSubTypeΪ1ⱨ2̻𱨾ʱЧ - BYTE *pSmokeBuf; //ⱨָ룬ָһNET_DVR_SMOKEDETECTION_ALARMṹ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes3; - BYTE byFireScanWaitMode; //ɨȴģʽ 0-Զ 1-ֶ - DWORD dwVisibleChannel; //ɼͨͨ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[49]; -} NET_DVR_FIREDETECTION_ALARM,*LPNET_DVR_FIREDETECTION_ALARM; - -// -typedef struct tagNET_DVR_SMOKEDETECTION_CFG -{ - BYTE byEnable;//ʹ - BYTE bySensitivity; //: 1~100Ĭ50 - BYTE byPatrolSensitivity; //Ѳ: 1~100Ĭ50 - BYTE byDoubleCheckSensitivity; //ι: 1~100Ĭ50 - BYTE byRes[56]; -}NET_DVR_SMOKEDETECTION_CFG, *LPNET_DVR_SMOKEDETECTION_CFG; - -typedef struct tagNET_DVR_ALARMSTRATEGY_PARAM -{ - BYTE byStrategyType;//ͣ0~ⱨ1~Эͬ2~ϵͳ, 3~ָ㱨4~ָ - BYTE byRes[15]; -}NET_DVR_ALARMSTRATEGY_PARAM, *LPNET_DVR_ALARMSTRATEGY_PARAM; - -typedef struct tagNET_DVR_FIREDETECTION_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE bySensitivity; //: 1~100Ĭ5s - BYTE byFireComfirmTime;//ֻȴʱ: 0-120 Ĭ5s - BYTE byFireRegionOverlay;//ӻ: 0- 1- - BYTE byDetectionMode;// ģʽ0~б1~֡⡣ - BYTE byFireFocusMode;//۽ģʽ0~Զģʽ,1~ Ѳģʽ - BYTE byFireZoomMode;//ѧ䱶ģʽ0~ΪԶģʽ1~Ϊֶģʽ - BYTE byFirezoomLevel;//ѧ䱶ʣ1~100ѧ䱶ģʽΪֶģʽʱЧ - BYTE bySmokeFireEnabled; //̻ʹܣ0ã1- - /* - ֶȴʹܣΪ1ʱ󣬻ȴʱbyFireComfirmTimeЧ - 󣬵豸ֻʱ̨һֱͣڷֻλãͨɨõȴģʽɨ衣 - ֶȴʹΪ0ʱ豸ΪԶȴģʽģʽ¿ɸbyFireComfirmTimeֶõĵȴʱлȴõȴʱ豸Զлɨ衣 - */ - BYTE byFireManualWaitEnabled;// ֶȴʹܣ0~ΪԶȴģʽ1~ֶȴģʽ - BYTE byCancelRepeatedAlarmEnabled;// ȡظʹ 0-ر 1- - BYTE byApplicationSceneMode;//Ӧóģʽ0-1-ɭַ, 2-ոȼ,3-Ƹߵ, 4-ڻܽ - DWORD dwInstallationHeight;// װ߶ - BYTE byFireSourceDetection;// ģʽ 0-̬ 1-ģʽ - BYTE bySmokeAuxiliaryDetectionEnabled;// жʹ,ģʽǶбʱЧ 0- 1- - BYTE byverificationSensitivity; //ȷȣΧ1~100sĬ50s - BYTE byFireAlgorithmMode; //㷨ģʽ0Ч1ģʽʶ-patternRecognition,:2ѧϰ-machineLearning - BYTE byAgriculturalMachineryFilterEnabled; //ũģʹܣ0ã1 - BYTE byWaterReflectionEnabled; //ˮⷴģʹ, 0ã1 - BYTE byPatrolSensitivity; //Ѳ Ի⣩, Χ1~100sĬ50s - BYTE byRes[33]; - NET_DVR_ALARMSTRATEGY_PARAM struAlarmStrategy;// - NET_DVR_SMOKEDETECTION_CFG struSmokeCfg;// -}NET_DVR_FIREDETECTION_CFG,*LPNET_DVR_FIREDETECTION_CFG; - -typedef struct tagNET_DVR_THERMALPOWER_PARAM -{ - DWORD dwSize;//ṹС - BYTE byPowerSwitch;//ʹܣ1Ϊ0Ϊر - BYTE byRes[123]; -}NET_DVR_THERMALPOWER_PARAM, *LPNET_DVR_THERMALPOWER_PARAM; - -typedef struct tagNET_DVR_PTZABSOLUTEEX_CFG -{ - DWORD dwSize;//ṹС - NET_PTZ_INFO struPTZCtrl;//豸PTZFϢ - DWORD dwFocalLen;//෶Χ0-100000MM - float fHorizontalSpeed;//ˮƽתٶȣ0.01-1000.00/S - float fVerticalSpeed;//ֱתٶȣ0.01-1000.00/S - /*ͷ䱶ͣabsoluteZoom:ͨ䱶ãѡΪʱstruPTZCtrlеfZoomЧfocalLen:ͨãѡΪʱdwFocalLenЧ*/ - BYTE byZoomType;// ͷ䱶0~ absoluteZoom1~ focalLen - BYTE byRes[123]; -}NET_DVR_PTZABSOLUTEEX_CFG, *LPNET_DVR_PTZABSOLUTEEX_CFG; - -#define MAX_PLAYLIST_NUM 50 //󲥷бĿ -#define MAX_PLAYPLAN_NUM 50 //󲥷żƻĿ - -#define MAX_LEN_256 256 -#define MAX_GROUP_RECORD_NUM 10 //¼ -typedef struct tagNET_DVR_AREA_MONITOR_COND -{ - DWORD dwSize; - DWORD dwAreaID; //ID - DWORD dwMonitorID; //ǰʼȡIJţ1ʼ - BYTE byIsNeedGroup; //ǷѯϢ - BYTE byRes [127]; -}NET_DVR_AREA_MONITOR_COND,*LPNET_DVR_AREA_MONITOR_COND; - -typedef struct tagNET_DVR_DEL_MONITOR_COND -{ - DWORD dwSize; - BYTE byDelType; //ɾͣ0-ɾָв㣬1-ɾָָ - DWORD dwAreaID; //ID - DWORD dwMonitorID; //IDbyDelTypeΪ0ʱЧbyDelTypeΪ1ʱЧ1ʼ - BYTE byRes[64]; -}NET_DVR_DEL_MONITOR_COND,*LPNET_DVR_DEL_MONITOR_COND; - -typedef struct tagNET_DVR_BLOCKLIST_ALARM_COND -{ - DWORD dwSize; //ṹС - BYTE byType; //־- ȫ- - ֹ - BYTE byRes1[3]; // - DWORD dwFaceID; //ID - DWORD dwMaxSnapNum; //ץ0-ʾ - BYTE byRes[256]; -}NET_DVR_BLOCKLIST_ALARM_COND, *LPNET_DVR_BLOCKLIST_ALARM_COND; - -typedef struct tagNET_DVR_STORAGE_RESOURCE_COND -{ - DWORD dwSize; //ṹС - DWORD dwStorageID; //ӵǰſʼȡʣԴ1ʼ - BYTE byRes[64]; -}NET_DVR_STORAGE_RESOURCE_COND, *LPNET_DVR_STORAGE_RESOURCE_COND; - -typedef struct tagNET_DVR_BLOCKLIST_ALARM_RECORD -{ - DWORD dwSize; //ṹС - DWORD dwSnapFacePicID; //ץID - DWORD dwRegisterID; //עIDţֻ - DWORD dwGroupNo; // - BYTE byRes[128]; -}NET_DVR_BLOCKLIST_ALARM_RECORD, *LPNET_DVR_BLOCKLIST_ALARM_RECORD; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_INFO //Ϣ -{ - DWORD dwSize; //ṹС - DWORD dwGroupID; //ţȡʱЧʱЧ1ʼ - DWORD dwGroupNo; // - BYTE byGroupType; //ͣ0-ֹ飬1- - BYTE byRes1; - WORD wThreshold; //ֵȡֵΧΪ0-1000 - DWORD dwListNum; // - BYTE szGroupName[NAME_LEN]; // - BYTE szRemark[MAX_LEN_256]; - BYTE byStorageAddr[MAX_DOMAIN_NAME]; //洢IPַϢ - WORD wStoragePort; //洢IPӦĶ˿ں - BYTE byRes[126]; -}NET_DVR_BLOCKLIST_GROUP_INFO, *LPNET_DVR_BLOCKLIST_GROUP_INFO; - - -typedef struct tagNET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD -{ - DWORD dwSize; //ṹС - DWORD dwGroupRecordID; //¼ID޸ĺͲѯʱЧʱЧ1ʼ - DWORD dwGroupNo; // - DWORD dwFaceDBID; //ID - DWORD dwFaceRecordID; //¼ID - BYTE byAlarmLevel; //ȼ0-high,1-medium,2-low - BYTE byRes1[3]; // - NET_DVR_ADDR_DOMAIN_INFO struStorageAddr; //洢IPַϢ - BYTE byRes[256]; -}NET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD,*LPNET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_RECORD_COND -{ - DWORD dwSize; //ṹС - DWORD dwRecordID; //ӵǰſʼȡ1ʼ - BYTE byRes[64]; -}NET_DVR_BLOCKLIST_GROUP_RECORD_COND, *LPNET_DVR_BLOCKLIST_GROUP_RECORD_COND; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_RECORD_CFG //¼Ϣ -{ - DWORD dwSize; //ṹС - DWORD dwRecordNum; //¼ܸ - NET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD struRecord[MAX_GROUP_RECORD_NUM]; //¼ - BYTE byRes[256]; -}NET_DVR_BLOCKLIST_GROUP_RECORD_CFG,*LPNET_DVR_BLOCKLIST_GROUP_RECORD_CFG; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_CFG //¼Ϣ -{ - DWORD dwSize; //ṹС - DWORD dwGroupNum; //ܸ - NET_DVR_BLOCKLIST_GROUP_INFO struGroup[MAX_GROUP_RECORD_NUM]; //¼ - BYTE byRes[256]; -}NET_DVR_BLOCKLIST_GROUP_CFG,*LPNET_DVR_BLOCKLIST_GROUP_CFG; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_COND -{ - DWORD dwSize; //ṹС - DWORD dwGroupID; //ӵǰſʼȡ1ʼ - BYTE byRes[64]; -}NET_DVR_BLOCKLIST_GROUP_COND, *LPNET_DVR_BLOCKLIST_GROUP_COND; - - - -typedef struct tagNET_DVR_SENSOR_VALUE -{ - float fMinValue; //Сֵȷ0.001Ϊ0xfffffffffʾѯ - float fMaxValue; //ֵȷ0.001Ϊ0xfffffffffʾѯ - BYTE byRes[8]; -}NET_DVR_SENSOR_VALUE, *LPNET_DVR_SENSOR_VALUE; - -typedef struct tagNET_DVR_HISTORICAL_QUERY_PARAM //ʷݲѯӽṹ -{ - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - NET_DVR_SENSOR_VALUE struVoltageValue; //ѹ; λ - NET_DVR_SENSOR_VALUE struCurrentValue; //; λ - NET_DVR_SENSOR_VALUE struTemperatureValue;//¶Ȳλ϶ - NET_DVR_SENSOR_VALUE struHumidityValue;//ʪȲ - BYTE bySwitchStatus;//ͨ״̬ 0~δͨ磬1~ͨ磬0xffѯ - BYTE bySensorStatus; //״̬ 0-1-쳣2-0xffѯ - BYTE byRes[66]; -}NET_DVR_HISTORICAL_QUERY_PARAM, *LPNET_DVR_HISTORICAL_QUERY_PARAM; - -typedef struct tagNET_DVR_SENSOR_COND //ṹ -{ - DWORD dwSize; - BYTE byQueryType; //ѯʽ0~ʵʱݲѯ1~ʷݲѯ - BYTE byDeviceType; //豸;0~δ֪,1~ģ, 2~ϵ,3~ϵ0xffʾѯ - BYTE byDeviceID; //豸IDAnalog(ģ)Χ1-8Terminal(ϵ)Χ1-4Socket(ϵ)Χ1-20xffʾѯ - BYTE byRes1; - // INTER_HISTORICAL_QUERY_PARAMӽṹbyQueryTypeΪ1ʱЧ - NET_DVR_HISTORICAL_QUERY_PARAM struHistoricalQueryParam; //ʷݲѯ - BYTE byRes[64]; -}NET_DVR_SENSOR_COND,*LPNET_DVR_SENSOR_COND; - -typedef struct tagNET_DVR_SENSOR_CFG//ýṹ -{ - DWORD dwSize; - BYTE byEnable; //ǰѯĴǷʹܣ0-ʹܣ1-ʹܣ - BYTE byDeviceType; //豸;0~δ֪,1~ģ, 2~ϵ,3~ϵ - BYTE byDeviceID; //豸IDAnalog(ģ)Χ1-8Terminal(ϵ)Χ1-4Socket(ϵ)Χ1-2 - BYTE byRes1; - NET_DVR_TIME_V30 struTime;//ʱ - BYTE byIsFirst; //Ƿһ(Ƿ)0-, 1-ǣ - BYTE byIsSwitchOn; //Ƿͨ磬0-, 1-ǣ - BYTE bySensorStatus; //״̬ 0-1-쳣2- - BYTE bySensorType; //ͣ SENSOR_TYPE - float fVoltage; //ѹλأȷ0.001Ϊ0xffʾЧֵ - float fCurrent; //λȷ0.001Ϊ0xffʾЧֵ - float fTemperatureValue;//¶ֵλ϶ȣȷ0.001Ϊ0xffʾЧֵ - float fHumidityValue;//ʪֵȷ0.001Ϊ0xffʾЧֵ - BYTE bySensorName[SENSORNAME_LEN/*32*/]; // - BYTE byDescription[MAX_SENSORDESCR_LEN/*64*/]; //ݵϢstatusTypeΪʱdescriptionΪ - float fActualValue; //ģźתֵȷ0.0001 - BYTE byUnit[SENSORUNIT_LEN/*32*/]; //λַ - BYTE byRes[220]; -}NET_DVR_SENSOR_CFG,*LPNET_DVR_SENSOR_CFG; - -typedef struct tagNET_DVR_SENSOR_SWITCH_COND -{ - DWORD dwSize;//ṹС - BYTE byDeviceType; //豸;0~δ֪, 1~ϵTerminal,2~ϵSocket - BYTE byDeviceID; //豸IDTerminal(ϵ)Χ1-4Socket(ϵ)Χ1-2 - BYTE bySwitch; //أ0-ϵ, 1-ϵ磬2- - BYTE byRes[125]; -}NET_DVR_SENSOR_SWITCH_COND,*LPNET_DVR_SENSOR_SWITCH_COND; - -typedef struct tagNET_DVR_GB28181_SERVICE_CFG -{ - DWORD dwSize; //ṹС - BYTE byServerID[DEV_ID_LEN]; //SIPID - WORD wPort; //SIP˿ں - BYTE byRes1[2]; // - BYTE byAuthPasswd[PASSWD_LEN]; - DWORD dwRegisterValid; //ڣλ룬Ĭϣ3600 - BYTE byMaxHeartbeatTimeOut; //ʱĬϣ3 - BYTE byAutoAddIpc; //ǷԶipc,0-ã1- - BYTE byAuthPasswdEx[MAX_PASSWD_LEN_EX]; //չΪ64λʱbyAuthPasswdExΪǿգ˲ЧbyAuthPasswdЧȡʱbyAuthPasswdExbyAuthPasswd - BYTE byRes[190]; // -}NET_DVR_GB28181_SERVICE_CFG,*LPNET_DVR_GB28181_SERVICE_CFG; -typedef struct tagNET_DVR_ACTIVATECFG -{ - DWORD dwSize; //ṹС - BYTE sPassword[PASSWD_LEN]; //ʼ - BYTE byLoginMode; //0-Private 1-ISAPI - BYTE byHttps; //0-ʹhttps1-ʹhttps - BYTE byRes[106]; -}NET_DVR_ACTIVATECFG,*LPNET_DVR_ACTIVATECFG; - -typedef struct tagNET_DVR_IPDEVICE_ACTIVATE_CFG -{ - DWORD dwSize; //ṹС - BYTE byMode; //0-ͨ1-ַ - BYTE bySelfDefinePassword;//ǷԶ,0-,1-,2-,ΪIPCԶ - BYTE sPassword[PASSWD_LEN];//Զ - BYTE sUserName[NAME_LEN];//û - BYTE byRes[78]; - union - { - BYTE byLen[512];//unionС - struct - { - DWORD dwChannelNo;//ͨ - BYTE byRes[508]; - }struChannelInfo;//ͨϢ - struct - { - NET_DVR_IPADDR struIp;//IPַ - WORD wPort;//˿ں - BYTE sProtocolDesc[DESC_LEN];//Э - BYTE byMacAddr[MACADDR_LEN];//macַ - BYTE byRes[344]; - }struAddrInfo;//IPַNET_DVR_SADPINFO - }unActivateDeviceInfo;//ʹṹͨbyModeֶαʾǰͨǰַ -}NET_DVR_IPDEVICE_ACTIVATE_CFG,*LPNET_DVR_IPDEVICE_ACTIVATE_CFG; - -typedef struct tagNET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS_ -{ - DWORD dwSize; - BYTE byDigitalChanPasswordStatus[MAX_CHANNUM_V30*4];//0-,1-IPCδ2-룬3-ǿ4-ǿУ5-ǿǿ;byDigitalChanPasswordStatus[0]ʾһͨ - BYTE byRes[1140]; -}NET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS, *LPNET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS; - -typedef struct tagNET_DVR_CAMERACHAN_SERIALCFG -{ - DWORD dwSize; - DWORD dwBaudRate; //(bps)0-501-752-1103-1504-3005-6006-12007-24008-48009-960010-1920011-3840012-5760013-7680014-115.2k - BYTE byDataBit; //мλ0-5λ1-6λ2-7λ3-8λ - BYTE byStopBit; //ֹͣλ0-1λ1-2λ - BYTE byParity; //ǷУ飺0-У飬1-У飬2-żУ - BYTE byFlowcontrol;// Ƿأ0-ޣ1-,2-Ӳ - WORD wPTZProtocol; //Эֵͣ - BYTE byRes1[6]; - DWORD dwSerialPort; //ں,λΪ0ʾǰ崮ڣλΪ1ʾ崮 - BYTE bySerialAddress; //ڵַ0~255 - BYTE byRes[15]; -}NET_DVR_CAMERACHAN_SERIALCFG, *LPNET_DVR_CAMERACHAN_SERIALCFG; - -#define MAX_MATRIX_SUBBOARD_NUM 16 //ۺƽ̨Ӱ -#define MAX_MATRIX_SUBBOARD_NUM_V51 32 //ۺƽ̨Ӱ -#define MAX_BOARD_SUBSYSTEM_NUM 12 //ÿӰϵͳ -typedef struct tagNET_DVR_SUBSYSTEM_STATUS -{ - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-Fpgaϵͳ9-Fpgaϵͳ10-תϵͳ - 11-X86ϵͳ12-ϵͳ13-X86ķ壬 14- X86ҵ 15-ƴϵͳ16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ19-Ƶϵͳ0-NULL*/ - BYTE bySubSystemType; - BYTE bySubSystemNo; //ϵͳţӰϵı - BYTE byOnlineStatus; //״̬ 1- 2- - BYTE byRes[49]; -}NET_DVR_SUBSYSTEM_STATUS, *LPNET_DVR_SUBSYSTEM_STATUS; - - -typedef struct tagNET_DVR_MATRIX_SUBBOARD -{ - BYTE byBoardNo; //Ӱ - BYTE byPcieConnectStatus; //pcie״̬ 1- 2-Ͽ - BYTE byRes[2]; - DWORD dwHardwareVersion; //ӰӲ汾 - DWORD dwPcieBandwidth; //pcie Link - DWORD dwTemperature; //Ӱ¶ λ϶ - NET_DVR_SUBSYSTEM_STATUS struSubsystemStatus[MAX_BOARD_SUBSYSTEM_NUM]; //ϵͳ״̬ - BYTE byRes2[16]; -}NET_DVR_MATRIX_SUBBOARD, *LPNET_DVR_MATRIX_SUBBOARD; -typedef struct tagNET_DVR_MATRIX_STATUS -{ - DWORD dwSize; - BYTE byMainFrameType; // 1-18U(V1.0) 2-18U 3-14U 4-11U 5-8U 6-7U 7-5U - BYTE bySoltNum; //λ - BYTE byBoardNum; //Ӱ - BYTE byRes; - NET_DVR_MATRIX_SUBBOARD struMatrixSubboard[MAX_MATRIX_SUBBOARD_NUM]; - BYTE byRes2[48]; -}NET_DVR_MATRIX_STATUS, *LPNET_DVR_MATRIX_STATUS; - - -typedef struct tagNET_DVR_MATRIX_SUBBOARD_V50 -{ - BYTE byBoardNo; //Ӱ - BYTE byPcieConnectStatus; //pcie״̬ 1- 2-Ͽ - BYTE byRes; - BYTE byTemperatureAlarm; //¶ȱ0-ֶЧ1-¶2-¶ȳޱ3-¶ȳޱ - DWORD dwHardwareVersion; //ӰӲ汾 - DWORD dwPcieBandwidth; //pcie Link - DWORD dwTemperature; //Ӱ¶ λ϶ - NET_DVR_SUBSYSTEM_STATUS struSubsystemStatus[MAX_BOARD_SUBSYSTEM_NUM]; //ϵͳ״̬ - BYTE bySubboardModel[32]; //Ӱͺ - BYTE byRes1[32]; -}NET_DVR_MATRIX_SUBBOARD_V50, *LPNET_DVR_MATRIX_SUBBOARD_V50; - -typedef struct tagNET_DVR_MATRIX_STATUS_V50 -{ - DWORD dwSize; - BYTE byMainFrameType; // 1-18U(V1.0) 2-18U 3-14U 4-11U 5-8U 6-7U 7-5U - BYTE bySoltNum; //λ - BYTE byBoardNum; //Ӱ - BYTE byLCDPanelStatus; //Һ״̬1-2-쳣 - NET_DVR_MATRIX_SUBBOARD_V50 struMatrixSubboard[MAX_MATRIX_SUBBOARD_NUM]; - DWORD dwFanSequence; //ȱţλʾλʹã0xffffff04ʾΪ1ķȣӦȱλʱdwFanConnectStatusdwFanOperationStatusĶӦλЧΪ޴˱ŵķ - DWORD dwFanConnectStatus; //״̬λʾλʹã0xffffff00ʾΪ1ķ0xffffff04ʾΪ1ķ쳣 - DWORD dwFanOperationStatus; //״̬λʾλʹã0xffffff00ʾΪ1ķ״̬0xffffff04ʾΪ1ķ쳣 - BYTE byDeviceModel[32]; //豸ͺ - BYTE byPowerNums; //Դ - BYTE byMainBoardNums; // - BYTE byHotStandbyMode; // byMainBoardNumsΪ2ʱ0-M1λ1-M2λ - BYTE byRes[29]; -}NET_DVR_MATRIX_STATUS_V50, *LPNET_DVR_MATRIX_STATUS_V50; - -typedef struct tagNET_DVR_MATRIX_SUBBOARD_V51 -{ - BYTE byBoardNo; //Ӱ - BYTE byPcieConnectStatus; //pcie״̬1-ӣ2-Ͽ - BYTE byRes1; - BYTE byTemperatureAlarm; //¶ȱ0-ֶЧ1-¶2-¶ȳޱ3-¶ȳޱ - DWORD dwHardwareVersion; //ӰӲ汾 - DWORD dwPcieBandwidth; //pcie Link - DWORD dwTemperature; //Ӱ¶ȣλ϶ - NET_DVR_SUBSYSTEM_STATUS struSubsystemStatus[MAX_BOARD_SUBSYSTEM_NUM]; //ϵͳ״̬ - BYTE bySubboardModel[32]; //Ӱͺ - BYTE byRes2[128]; -}NET_DVR_MATRIX_SUBBOARD_V51, *LPNET_DVR_MATRIX_SUBBOARD_V51; - -typedef struct tagNET_DVR_MATRIX_STATUS_V51 -{ - DWORD dwSize; - BYTE byMainFrameType; // 1-18U䣨V1.02-18U䣬3-14U䣬4-11U䣬5-8U䣬6-7U - BYTE bySoltNum; //λ - BYTE byBoardNum; //Ӱ - BYTE byLCDPanelStatus; //Һ״̬1-2-쳣 - NET_DVR_MATRIX_SUBBOARD_V51 struMatrixSubboard[MAX_MATRIX_SUBBOARD_NUM_V51]; - DWORD dwFanSequence; //ȱţλʾ0x00000001ʾ豸ֻһȣΪ10x00000101ʾ豸ȣŷֱΪ19ӦȱűλʱdwFanConnectStatusdwFanOperationStatusĶӦλЧΪ޴˱ŵķ - DWORD dwFanConnectStatus; //״̬λʾ0x00000001ʾΪ1ķ״̬쳣0x00000101ʾΪ19ķ״̬쳣 - DWORD dwFanOperationStatus; //״̬λʾ0x00000001ʾΪ1ķ״̬쳣0x00000101ʾΪ19ķ״̬쳣 - BYTE byDeviceModel[32]; //豸ͺ - BYTE byFanSpeed[32]; //ת٣ֽڱʾbyFanSpeed[0]ʾΪ1ķȵת٣תٵȼΧΪ[1,3] - BYTE byMainMemUsed; //ڴʹʣλٷֱ - BYTE byMainCpuUsed; //CPUʹʣλٷֱ - BYTE byNetwordUsed; //ʹʣλٷֱ - BYTE byRes1; - DWORD dwMainSoftwareVer; //汾 - BYTE byPowerNums; //Դ - BYTE byMainBoardNums; // - BYTE byHotStandbyMode; // byMainBoardNumsΪ2ʱ0-M1λ1-M2λ - BYTE byRes2[125]; -}NET_DVR_MATRIX_STATUS_V51, *LPNET_DVR_MATRIX_STATUS_V51; - -typedef struct _NET_DVR_SUBWIND_INFO -{ - DWORD dwSize; - DWORD dwSubWndNo; //Ӵں - BYTE byRes[8]; -} NET_DVR_SUBWIND_INFO, *LPNET_DVR_SUBWIND_INFO; - - -typedef struct tagNET_DVR_FUSION_SCALE -{ - DWORD dwSize; - WORD wWidth; //ͼںϿ(ͼĿ) - WORD wHeight; //ͼںϸ(ͼĿ) - BYTE byRes[32]; -}NET_DVR_FUSION_SCALE, *LPNET_DVR_FUSION_SCALE; - -typedef struct tagNET_DVR_FUSION_CFG -{ - DWORD dwSize; - BYTE byFusion; //Ƿںϣ0-δںϻȡںϣ0-ں - BYTE byUseHistoryMap; //Ƿʹʷںӳ0-ʹã0-ʹ - BYTE byRes[30]; -}NET_DVR_FUSION_CFG, *LPNET_DVR_FUSION_CFG; - -typedef struct tagNET_DVR_MULTIFUNCTION_SERIALCFG -{ - DWORD dwSize ; - BYTE byVariable ; //Ƿɱ䣬1-ɱ 2-ɱ ֻȡ - BYTE bySerialWorkMode; //ģʽ1-RS485, 2-RS232ֻڿɱ£޸Ĺģʽ - BYTE byFunType; //ڹܣ 1-̿ƣ2-Ļƣ3-͸ͨģʽ 4-PTZ 5- 6-̨ - BYTE byDataBit;// λ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - BYTE byRes1 ; - DWORD dwBaudRate;//0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - WORD wProtocol; //Э ͬڹܶӦЭ鲻һ - BYTE byRes[34]; -}NET_DVR_MULTIFUNCTION_SERIALCFG, *LPNET_DVR_MULTIFUNCTION_SERIALCFG; - -typedef struct tagNET_DVR_PTZ_3D_SPEED_CONTROL -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byPSpeed; // Xٶ ȡֵ164 - BYTE byTSpeed; // Yٶ ȡֵ164 - BYTE byZSpeed; // Zٶ - BYTE byPDirect; // P 1- 2- - BYTE byTDirect; // T 1-ϣ 2- - BYTE byZDirect; //Z 1-ZOOM+, 2-ZOOM- - BYTE byRes[18]; //ֽ -}NET_DVR_PTZ_3D_SPEED_CONTROL, *LPNET_DVR_PTZ_3D_SPEED_CONTROL; - -//SensorϢ -typedef struct tagNET_DVR_SENSOR_PARAM -{ - BYTE bySensorType;//SensorType:0-CCD,1-CMOS - BYTE byRes[31]; - float fHorWidth;//ˮƽ ȷСλ *10000 - float fVerWidth;//ֱ ȷСλ *10000 - float fFold;//zoom=1ûʱĽ ȷСλ *100 -}NET_DVR_SENSOR_PARAM,*LPNET_DVR_SENSOR_PARAM; - -//תϢ -typedef struct tagNET_DVR_TURN_DIRECTION_PARAM -{ - BYTE byLine;//ת߱ - BYTE byStatus;//ת״̬0-δ֪1-룬2-뿪 - BYTE byRes[38]; -}NET_DVR_TURN_DIRECTION_PARAM, *LPNET_DVR_TURN_DIRECTION_PARAM; -//ֹͣϢ -typedef struct tagNET_DVR_STOP_LINE_PARAM -{ - BYTE byStatus;//ֹͣ״̬0-δ֪1-룬2-뿪 - BYTE byRes[39]; -}NET_DVR_STOP_LINE_PARAM, *LPNET_DVR_STOP_LINE_PARAM; - -//TPSϢ -typedef struct tagNET_DVR_TPS_ADDINFO -{ - NET_DVR_LLPOS_PARAM struFirstLLPos;//һľγλϢ(byLaneState=3byQueueLen>0ʱŷ) - NET_DVR_LLPOS_PARAM struLastLLPos;//һľγλϢ(byLaneState=3byQueueLen>0ʱŷ) - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - NET_DVR_TURN_DIRECTION_PARAM struTurnDirection;//תϢ - NET_DVR_STOP_LINE_PARAM struStopLine;//ֹͣϢ - BYTE byRes[884]; -}NET_DVR_TPS_ADDINFO, *LPNET_DVR_TPS_ADDINFO; - -//Ϣ -typedef struct tagNET_DVR_VEHICLE_ADDINFO -{ - NET_DVR_LLPOS_PARAM struLLPos;//ǰγλϢ - char sVehicleNo[LEN_64]; /*ϴijΨһʶ,󳤶Ϊ64*/ - BYTE byVehicleMonitorTaskID[64];//ܲID,64λַ,ʱϲ·豸,ϲȷIDΨһ - BYTE byUUID[LEN_64]; //ͨΨһʶ,64λַ,豸ȷΨһԣڿͬһץ,vehicleMonitormanualVehicleMonitordailyVehicleMonitorеlinkageANPRUUIDй - BYTE byRes[832]; -}NET_DVR_VEHICLE_ADDINFO, *LPNET_DVR_VEHICLE_ADDINFO; - -// -typedef struct tagNET_DVR_SMOKEDETECTION_ALARM -{ - NET_PTZ_INFO struPTZPos;//ɼ豸PTZFλ - NET_PTZ_INFO struThermalPTZPos;//ȳ豸PTZFλ - NET_DVR_LLPOS_PARAM struLLPos;//豸γλ - NET_VCA_RECT struSmokePos;//λ - BYTE byRes[256]; -}NET_DVR_SMOKEDETECTION_ALARM, *LPNET_DVR_SMOKEDETECTION_ALARM; - -//λϢ -typedef struct -{ - float fPanPos;//ˮƽȷС1λ - float fTiltPos;//ֱȷС1λ - float fZoomPos;//䱶ȷС1λ - BYTE byRes[16] ; -}NET_DVR_PTZPOS_PARAM, *LPNET_DVR_PTZPOS_PARAM; - -//GISϢϴ -typedef struct tagNET_DVR_GIS_UPLOADINFO -{ - DWORD dwSize;//ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸 - float fAzimuth;//̵ķλϢλ[0.00,360.00) - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-ȣ1- - BYTE byRes1[2] ; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - float fHorizontalValue;//ˮƽӳǣȷСλ - float fVerticalValue;//ֱӳǣȷСλ - float fVisibleRadius;//ǰӰ뾶ȷСλ - float fMaxViewRadius;//Ӱ뾶ȷС0λԤ - NET_DVR_SENSOR_PARAM struSensorParam;//SensorϢ - NET_DVR_PTZPOS_PARAM struPtzPos; //ptz - BYTE byRes[256]; -}NET_DVR_GIS_UPLOADINFO,*LPNET_DVR_GIS_UPLOADINFO; - -//ƻϢϴ -typedef struct tagNET_DVR_VANDALPROOF_ALARM -{ - DWORD dwSize;//ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸 - BYTE byRes[256]; -}NET_DVR_VANDALPROOF_ALARM,*LPNET_DVR_VANDALPROOF_ALARM; - -//в -typedef struct tagNET_DVR_CENTRALIZEDCTRL_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable;//0-1-ʼ - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-1- - BYTE byRes1; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - DWORD dwTimeOut;//ʱʱ [60s, 6*60*60s] - BYTE byControlType;//вʽ 0-ǿƲ1-ǿƲ - BYTE byRes[127]; -}NET_DVR_CENTRALIZEDCTRL_CFG,*LPNET_DVR_CENTRALIZEDCTRL_CFG; - -//GISϢ -typedef struct tagNET_DVR_GIS_INFO -{ - DWORD dwSize;//ṹС - float fAzimuth;//̵ķλϢλ[0.00,360.00) - float fHorizontalValue;//ˮƽӳǣȷСλ - float fVerticalValue;//ֱӳǣȷСλ - float fVisibleRadius;//ǰӰ뾶ȷСλ - float fMaxViewRadius;//Ӱ뾶ȷС0λԤ - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-1- - BYTE byPTZPosExEnable;//ǷPTZչ0~ãPTZֵstruPtzPos Ϊ׼1~ãPTZֵstruPtzPosExΪ׼ - BYTE byRes1; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - NET_DVR_PTZPOS_PARAM struPtzPos; //ptz - NET_DVR_SENSOR_PARAM struSensorParam;//SensorϢ - NET_PTZ_INFO struPtzPosEx;// ptzչ(ָ֧߾PTZֵȷСλ) - float fMinHorizontalValue;//СˮƽӳǣȷСλ0.0-360.00 - float fMaxHorizontalValue;//ˮƽӳǣȷСλ0.0-360.00 - float fMinVerticalValue;//СֱӳǣȷСλ0.0-360.00 - float fMaxVerticalValue;//ֱӳǣȷСλ0.0-360.00 - BYTE byRes[220]; -}NET_DVR_GIS_INFO,*LPNET_DVR_GIS_INFO; - -//豸Ѳģʽ -typedef struct tagNET_DVR_CRUISE_PARAM -{ - DWORD dwSize;//ṹС - BYTE byCruiseMode;// Ѳģʽ0~1~Ԥõ - BYTE byRes[123]; -}NET_DVR_CRUISE_PARAM, *LPNET_DVR_CRUISE_PARAM; - -//ȡ豸ʪϢṹ -typedef struct tagNET_DVR_TEMP_HUMI_INFO -{ - DWORD dwSize; - NET_DVR_TIME_V30 struCurrentTime; // ǰʱ - float fTemperature;//豸¶ȣȷСλ-273 C 1000϶ȣ - float fHumidity;// 豸ʪȣȷСλλΪ% - BYTE byRes[256]; -}NET_DVR_TEMP_HUMI_INFO, *LPNET_DVR_TEMP_HUMI_INFO; - -typedef struct tagNET_SDK_POINT_THERMOMETRY -{ - float fPointTemperature;/*µǰ¶, 궨Ϊ0-ʱЧȷСһλ(-40-1000),+100*10 */ - NET_VCA_POINT struPoint;//꣨궨Ϊ㡱ʱЧ - BYTE byRes[20]; -}NET_SDK_POINT_THERMOMETRY, *LPNET_SDK_POINT_THERMOMETRY; - - -typedef struct tagNET_SDK_REGION_THERMOMETRY -{ - float fMaxTemperature;//¶,ȷСһλ(-40-1000),+100*10 */ - float fMinTemperature;//¶,ȷСһλ(-40-1000),+100*10 */ - float fAverageTemperature;//ƽ¶,ȷСһλ(-40-1000),+100*10 */ - float fTemperatureDiff;//²,ȷСһλ(-40-1000),+100*10 */ - NET_VCA_POLYGON struRegion;//ߣ궨Ϊ򡱻ߡߡʱЧ - BYTE byRes[20]; -}NET_SDK_REGION_THERMOMETRY, *LPNET_SDK_REGION_THERMOMETRY; - -typedef struct tagNET_SDK_MANUALTHERM_RULE -{ - BYTE byRuleID;//ID 0-ʾЧ1ʼ listڲжЧԣ - BYTE byEnable;//Ƿ - BYTE byRes1[2]; - char szRuleName[NAME_LEN/*32*/];// - BYTE byRuleCalibType;//궨 0-㣬1-2- - BYTE byRes2[3]; - NET_SDK_POINT_THERMOMETRY struPointTherm;//£궨Ϊ0-ʱЧ - NET_SDK_REGION_THERMOMETRY struRegionTherm; //£궨Ϊ1-2-ʱЧ - BYTE byRes[512]; -}NET_SDK_MANUALTHERM_RULE, *LPNET_SDK_MANUALTHERM_RULE; - -typedef struct tagNET_SDK_MANUAL_THERMOMETRY -{ - DWORD dwSize;//ṹС - DWORD dwChannel;//ͨ - DWORD dwRelativeTime; // ʱֻ꣨ - DWORD dwAbsTime; // ʱֻ꣨ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byDataType;//״̬:0-У1-ʼ2-ֻ - BYTE byRes1[6]; - NET_SDK_MANUALTHERM_RULE struRuleInfo; - BYTE byRes[512]; -}NET_SDK_MANUAL_THERMOMETRY, *LPNET_SDK_MANUAL_THERMOMETRY; - -typedef struct tagNET_SDK_MANUALTHERM_BASICPARAM -{ - DWORD dwSize; - WORD wDistance;//(m)[0, 10000] - BYTE byDistanceUnit;//뵥λ: 0-ףm1-Ӣߣfeet,2-(centimeter) - BYTE byRes1[1]; // - float fEmissivity;//( ȷСλ)[0.01, 1.00](ı) - BYTE byRes[64]; // -}NET_SDK_MANUALTHERM_BASICPARAM, *LPNET_SDK_MANUALTHERM_BASICPARAM; - -typedef struct tagNET_SDK_FIRESHIELDMASK_REGION -{ - DWORD dwSize; - BYTE byMaskID;//ID1~24 - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldZoom;//αʣ0~32δڵڸֵĹѧ䱶 - BYTE byMaskType;//ɫͣ0-ɫ1-ɫ2-ɫ3-ɫ4-ɫ5-ɫ6-͸7-͸8- - BYTE byRegionType;//ͣԤ0-ı - BYTE byShowEnabled; //ʾʹܣòΪֻʹΪfalseϲ㲻ʾϢTrueΪʾϢ - BYTE byRes1[2]; // - char szMaskName[NAME_LEN/*32*/];//α - NET_VCA_POLYGON struRegion;// - BYTE byRes[32]; // -}NET_SDK_FIRESHIELDMASK_REGION, *LPNET_SDK_FIRESHIELDMASK_REGION; - -#define MAX_FIRESHIELDMASK_REGION 24 -typedef struct tagNET_SDK_FIRESHIELDMASK_CFG -{ - DWORD dwSize; - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldAreaTransparency;//͸ 0-͸ 1-͸ 2-͸ - BYTE byDisplayShieldAreaEnabled;//ʹ - BYTE byRes1[1]; // - NET_SDK_FIRESHIELDMASK_REGION struMaskRegion[MAX_FIRESHIELDMASK_REGION/*24*/];// - BYTE byRes[256]; // -}NET_SDK_FIRESHIELDMASK_CFG, *LPNET_SDK_FIRESHIELDMASK_CFG; - -typedef struct tagNET_SDK_SMOKESHIELDMASK_REGION -{ - DWORD dwSize; - BYTE byMaskID;//ID1~24 - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldZoom;//αʣ0~32δڵڸֵĹѧ䱶 - BYTE byMaskType;//ɫͣ0-ɫ1-ɫ2-ɫ3-ɫ4-ɫ5-ɫ6-͸7-͸8- - BYTE byRegionType;//ͣԤ0-ı - BYTE byShowEnabled;// ʾʹܣòΪֻʹΪfalseϲ㲻ʾϢTrueΪʾϢ - BYTE byRes1[2]; // - char szMaskName[NAME_LEN/*32*/];//α - NET_VCA_POLYGON struRegion;// - BYTE byRes[32]; // -}NET_SDK_SMOKESHIELDMASK_REGION, *LPNET_SDK_SMOKESHIELDMASK_REGION; - -#define MAX_SMOKESHIELDMASK_REGION 24 -typedef struct tagNET_SDK_SMOKESHIELDMASK_CFG -{ - DWORD dwSize; - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldAreaTransparency;//͸ 0-͸ 1-͸ 2-͸ - BYTE byDisplayShieldAreaEnabled;//ʹ - BYTE byRes1[1]; // - NET_SDK_SMOKESHIELDMASK_REGION struMaskRegion[MAX_SMOKESHIELDMASK_REGION/*24*/];// - BYTE byRes[256]; // -}NET_SDK_SMOKESHIELDMASK_CFG, *LPNET_SDK_SMOKESHIELDMASK_CFG; - -typedef struct tagNET_SDK_AREASCAN_CFG -{ - DWORD dwSize; - BYTE byScanState;//ɨ赱ǰ״̬0Ϊδã1ΪãòΪֻ - BYTE byRes[259]; // -}NET_SDK_AREASCAN_CFG, *LPNET_SDK_AREASCAN_CFG; - -typedef struct tagNET_SDK_FIRESHIELDMASK_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRegionID;//ID1~24. - BYTE byRes[127]; // -}NET_SDK_FIRESHIELDMASK_COND, *LPNET_SDK_FIRESHIELDMASK_COND; - -typedef struct tagNET_SDK_SMOKESHIELDMASK_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRegionID;//ID1~24. - BYTE byRes[127]; // -}NET_SDK_SMOKESHIELDMASK_COND, *LPNET_SDK_SMOKESHIELDMASK_COND; - -//̹ƻ -typedef struct tagNET_DVR_VANDALPROOFALARM_CFG -{ - DWORD dwSize;//ṹС - BYTE bySensitivity;//[1,100] (֧ãֵԽ״ֵԽСԽѴ) - BYTE byUploadEnabled;//÷ƻϴʹ 0-ã1- - BYTE byVoiceWarningEnabled;//÷ƻʾʹ 0-ã1- - BYTE byEnable;// üƻ 0-رգ1-ʼ - BYTE byRes[124]; -}NET_DVR_VANDALPROOFALARM_CFG,*LPNET_DVR_VANDALPROOFALARM_CFG; - -typedef struct tagNET_DVR_AZIMUTHINFO -{ - DWORD dwSize;//ṹС - float fDegree;//λǶ(ȷСλ) - BYTE byAzimuth; //λϢ 0-,1-,2-,3-,4-,5-,6-,7- - BYTE byRes[127]; -}NET_DVR_AZIMUTHINFO,*LPNET_DVR_AZIMUTHINFO; - -//ָ̽ṹ -typedef struct tagNET_DVR_COMPASS_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel;//ͨ - BYTE byRes[128]; -}NET_DVR_COMPASS_COND,*LPNET_DVR_COMPASS_COND; - -typedef struct tagNET_DVR_POSITION_CFG -{ - DWORD dwSize;//ṹС - BYTE bySoftWorkMode;//ģʽ 0-Զ1-ֶ - BYTE byRes[127]; -}NET_DVR_POSITION_CFG,*LPNET_DVR_POSITION_CFG; - -typedef struct tagNET_DVR_STREAMING_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel;//ͨ - BYTE byStreamType;//0-1-2-3 - BYTE byRes[127]; -}NET_DVR_STREAMING_COND,*LPNET_DVR_STREAMING_COND; - -//Ƕλ -typedef struct tagNET_DVR_SATELLITETIME_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable;//ǶλУʱʹ 0-1- - BYTE byRes; - WORD wTimeInterval;//Уʱʱ(s) - BYTE byRes1[124]; -}NET_DVR_SATELLITETIME_CFG,*LPNET_DVR_SATELLITETIME_CFG; - -#define MAX_SIGNAL_JOINT_NUM 64 //ƴӹģ -typedef struct tagNET_DVR_SIGNAL_JOINT_CFG -{ - DWORD dwSize; - BYTE sCamName[NAME_LEN] ; //ƴӺźԴ - BYTE byEnable; //ʹܣ0-ʹ !0-ʹ - BYTE byCamMode ; //ƴӺźԴͣNET_DVR_CAM_JOINT - BYTE byRows ; //ƴ - BYTE byColumns ; //ƴ - DWORD dwSignalNo[MAX_SIGNAL_JOINT_NUM]; //źԴ,ǰbyRows* byColumnsЧ - DWORD dwJointNo; //ƴӱţȡЧ - DWORD dwSignalNoJoint; //ƴӺźԴţȡЧ - BYTE byRes[64]; -} NET_DVR_SIGNAL_JOINT_CFG, *LPNET_DVR_SIGNAL_JOINT_CFG; - -typedef struct tagNET_DVR_SIGNAL_CUTPARAM -{ - DWORD dwSize; - DWORD dwSignalNo; //źԴ - DWORD dwCutTop; //Ϸüֵ,0ԭ - DWORD dwCutBottom; //·üֵ,0ԭ - DWORD dwCutLeft; //߲üֵ,0ԭ - DWORD dwCutRight; //ұ߲üֵ,0ԭ - BYTE byRes2[32]; -} NET_DVR_SIGNAL_CUTPARAM, *LPNET_DVR_SIGNAL_CUTPARAM; - -typedef struct tagNET_DVR_WALL_RELATION_CFG -{ - DWORD dwSize; - BYTE byEnable; // 0- !0- - BYTE byRealWallNo ; //ǽ - BYTE byRes[14] ; -}NET_DVR_WALL_RELATION_CFG, *LPNET_DVR_WALL_RELATION_CFG; - - -typedef struct tagNET_DVR_INPUTSTREAMCFG_V40 -{ - DWORD dwSize ; - BYTE byValid ; // - BYTE byCamMode ;//NET_DVR_CAM_MODE - WORD wInputNo ; //źԴ - BYTE sCamName[NAME_LEN] ; - NET_DVR_VIDEOEFFECT struVideoEffect ;//Ƶ - NET_DVR_PU_STREAM_CFG struPuStream ; //ipʱʹ - WORD wBoardNum ; //źԴڵİ忨ţֻܻȡ - WORD wInputIdxOnBoard ; //źԴڰ忨ϵλãֻܻȡ - DWORD dwResolution ;//ֱ - BYTE byVideoFormat ;//ƵʽVIDEO_STANDARD - BYTE byStatus; //źԴ״̬0-ֶЧ 1-ź 2-ź 3-쳣 - BYTE sGroupName[NAME_LEN/*32*/]; //źԴ - BYTE byJointMatrix ; //0- 1-źԴΪNET_DVR_CAM_BNCNET_DVR_CAM_VGANET_DVR_CAM_DVINET_DVR_CAM_HDMI,еһʱòЧ - BYTE byJointNo ; //ƴźԴƴӱ(ֻܻȡ) - BYTE byColorMode; //ɫģʽ 0-Զ 1- 2-ͨ 3-ͣΪԶʱʹstruVideoEffect - BYTE byScreenServer; //Ļ0-1- - BYTE byDevNo; //豸 - BYTE byRes1; - DWORD dwInputSignalNo; //źԴţ£ - BYTE byVideoEnctype; //Ƶͣ0-Ĭϣ1-Smart264 - BYTE byAudioEnctype; //Ƶ࣬0-Ĭϣ1-AUDIO_G711_A2-AUDIO_G711_U3- AUDIO_G722_1 - BYTE byWallStatus; //źԴǽ״̬0-Ч 1-ǽ 2- ǽ - BYTE byRes[117]; -}NET_DVR_INPUTSTREAMCFG_V40, *LPNET_DVR_INPUTSTREAMCFG_V40 ; - -typedef struct tagNET_DVR_AUDIO_CONTROL_INFO -{ - DWORD dwSize; - DWORD dwMonId;//ʾȫֱ - BYTE bySubWindowNum;//ʾӦӴں - BYTE byWallNo; //ǽ - BYTE byEnable; //Ƶأ0-أ1- - BYTE byRes[13]; -}NET_DVR_AUDIO_CONTROL_INFO,*LPNET_DVR_AUDIO_CONTROL_INFO; - - - -typedef struct tagNET_DVR_INPUTSTREAM_PTZCFG_PARAM -{ - DWORD dwSize; - WORD wPTZProtocol; //Эֵͣ - BYTE byRes[34]; -}NET_DVR_INPUTSTREAM_PTZCFG_PARAM, *LPNET_DVR_INPUTSTREAM_PTZCFG_PARAM; - -//·Ͷ ա2016γ1133.xlsx -typedef enum -{ - AXLE_TYPE_UNKNOWN = 0x0000, //δ֪ - //2 - AXLE_TYPE_2AXLE_12 = 0x0200, //2ػ - //3 - AXLE_TYPE_3AXLE_122_1 = 0x0300, //3ҳг - AXLE_TYPE_3AXLE_122_2, //3½г - AXLE_TYPE_3AXLE_15, //3ػ - AXLE_TYPE_3AXLE_112, //3ػ - //4 - AXLE_TYPE_4AXLE_125_1 = 0x0400, //4ҳг - AXLE_TYPE_4AXLE_152, //4ҳг - AXLE_TYPE_4AXLE_125_2, //4½г - AXLE_TYPE_4AXLE_1222, //4ȫг - AXLE_TYPE_4AXLE_115, //4ػ - //5 - AXLE_TYPE_5AXLE_155_1 = 0x0500, //5ҳг - AXLE_TYPE_5AXLE_1125_1, //5ҳг - AXLE_TYPE_5AXLE_155_2, //5г - AXLE_TYPE_5AXLE_1125_2, //5г - AXLE_TYPE_5AXLE_129, //5г - AXLE_TYPE_5AXLE_1522, //5ȫг - AXLE_TYPE_5AXLE_11222, //5ȫг - //6 - AXLE_TYPE_6AXLE_159_1 = 0x0600, //6ҳг - AXLE_TYPE_6AXLE_159_2, //6ҳг - AXLE_TYPE_6AXLE_1155_1, //6ҳг - AXLE_TYPE_6AXLE_1155_2, //6ҳг - AXLE_TYPE_6AXLE_159_3, //6г - AXLE_TYPE_6AXLE_159_4, //6г - AXLE_TYPE_6AXLE_1129, //6г - AXLE_TYPE_6AXLE_11522_1, //6ȫҳ - AXLE_TYPE_6AXLE_11522_2, //6ȫҳ -}TRUCK_AXLE_MODEL; - -//շѹ·ͨзѳͷ -typedef enum _TOOLWAY_VEHICLE_TYPE -{ - TOOLWAY_RESULT_OTHER = 0, //δ֪ - TOOLWAY_PASSENGER_VEHICLE_CLASS_1_MINI = 1, //1ͳ΢ - TOOLWAY_PASSENGER_VEHICLE_CLASS_1_SMALL = 2, //1ͳС - TOOLWAY_PASSENGER_VEHICLE_CLASS_2_MIDDLE = 3, //2ͳ - TOOLWAY_PASSENGER_VEHICLE_CLASS_2_TRAILER = 4, //2ͳóг - TOOLWAY_PASSENGER_VEHICLE_CLASS_3_LARGR = 5, //3ͳ - TOOLWAY_PASSENGER_VEHICLE_CLASS_4_LARGR = 6, //4ͳ - TOOLWAY_GOODS_VEHICLE_CLASS_1 = 7, //12 - TOOLWAY_GOODS_VEHICLE_CLASS_2 = 8, //22 - TOOLWAY_GOODS_VEHICLE_CLASS_3 = 9, //33 - TOOLWAY_GOODS_VEHICLE_CLASS_4 = 10, //44 - TOOLWAY_GOODS_VEHICLE_CLASS_5 = 11, //55 - TOOLWAY_GOODS_VEHICLE_CLASS_6 = 12, //66 - TOOLWAY_MOTOR_VEHICLE_CLASS_1 = 13, //1ҵ2 - TOOLWAY_MOTOR_VEHICLE_CLASS_2 = 14, //2ҵ2 - TOOLWAY_MOTOR_VEHICLE_CLASS_3 = 15, //3ҵ3 - TOOLWAY_MOTOR_VEHICLE_CLASS_4 = 16, //4ҵ4 - TOOLWAY_MOTOR_VEHICLE_CLASS_5 = 17, //5ҵ5 - TOOLWAY_MOTOR_VEHICLE_CLASS_6 = 18 //6ҵڵ6 -}TOOLWAY_VEHICLE_TYPE; - -// -typedef struct tagNET_DVR_VEHICLE_WEIGHT_RESULT_ -{ - BYTE byIsOverWeight; //Ƿ - BYTE byAxleNum; // - WORD wAxleModel; //ο enum TRUCK_AXLE_MODEL,Ըͽĸ - float fOverWeight; //()ʵֵ1000䣨ʵֵȷСλ - float fWeight; //()ʵֵ1000䣨ʵֵȷСλ - float fLimitWeight; //()ʵֵ1000䣨ʵֵȷСλ - float fAxleLen; //()ʵֵ100䣨ʵֵȷСλ - char sDevDescInfo[MAX_DEVDESC_LEN/*64*/]; //豸Ϣ - WORD wAxleWeight[MAX_TRUCK_AXLE_NUM/*10*/]; //λǧˣkgiԪرʾi - WORD wAxleDistance[MAX_TRUCK_AXLE_NUM/*10*/]; //࣬λ(mm).iԪرʾi͵i+1ļ - DWORD dwLength; //λcm - DWORD dwWidth; //λcm - DWORD dwHeight; //ߣλcm - BYTE byTollwayVehicleType; //շѹ·ͣοTOOLWAY_VEHICLE_TYPE - BYTE byRes2[11]; //Ԥ -}NET_DVR_VEHICLE_WEIGHT_RESULT, *LPNET_DVR_VEHICLE_WEIGHT_RESULT; - -// Ƽ -typedef struct tagNET_DVR_PLATE_RESULT_V50 -{ - DWORD dwSize; //ṹ - DWORD dwMatchNo; //ƥ,(,,)ƥ - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣ - BYTE byPicNo; //ĵͼƬţյͼƬ󣬱ʾ;ճʱͼƬʱҪɾ - BYTE bySecondCam; //ǷڶץģԶץĵԶǰץĵĺĿлõ - BYTE byFeaturePicNo; //Ƶ羯ȡڼͼΪдͼ,0xff-ʾȡ - BYTE byDriveChan; // - BYTE byVehicleType; //ͣοVTR_RESULT - BYTE byDetSceneID;//ⳡ[1,4], IPCĬ0 - //ԣλʾ0- ޸(ͨ)bit1- Ʊ공(ı־)bit2- ΣƷֵ0- 1- - //ýڵѲʹ,ʹbyYellowLabelCarbyDangerousVehiclesжǷƱ공ΣƷ - BYTE byVehicleAttribute; - WORD wIllegalType; //ΥͲù궨 - BYTE byIllegalSubType[8]; //Υ - BYTE byPostPicNo; //ΥʱȡڼͼƬΪͼ,0xff-ʾȡ - BYTE byChanIndex; //ͨţ - WORD wSpeedLimit; //ޣʱЧ - BYTE byChanIndexEx; //byChanIndexEx*256+byChanIndexʾʵͨš - BYTE byVehiclePositionControl; /*λò־,0~Ϊͨʶ𱨾,1~Ϊλò - (ͨPUT /ISAPI/Traffic/channels//vehiclePositionControl?format=json)*/ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[48]; //ʾ - BYTE byDeviceID[48]; //豸 - BYTE byDir; //ʾ1-У򣩣2-()3-˫4-ɶ5-,6-򶫣7-ɱϣ8- - BYTE byDetectType; //ⷽʽ,1-ظд2-Ƶ3-֡ʶ4-״ﴥ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byCarDirectionType; //ʻķ0ʾ£1ʾϣʵʳʻ֣,2ʾδ֪ - //wIllegalTypeΪʱʹøòwIllegalTypeΪֵʱwIllegalTypeΪ׼òЧ - DWORD dwCustomIllegalType; //ΥͶ(ûԶ) - /*Ϊ0~ָʽʱΪϵΥͣwIllegalTypedwCustomIllegalTypeЧֵΥ롣 - Ϊ1~ַʽʱpIllegalInfoBufЧϵΥͣwIllegalTypedwCustomIllegalTypeȻֵΥ*/ - BYTE* pIllegalInfoBuf; //ΥַϢṹָ룻ָNET_ITS_ILLEGAL_INFO - BYTE byIllegalFromatType; //ΥϢʽͣ 0~ָʽ 1~ַʽ - BYTE byPendant;// 0-ʾδ֪,1-2- - BYTE byDataAnalysis; //0-δ, 1-ѷ - BYTE byYellowLabelCar; //0-ʾδ֪, 1-ǻƱ공,2-Ʊ공 - BYTE byDangerousVehicles; //0-ʾδ֪, 1-ΣƷ,2-ΣƷ - //ֶΰPilotַΪʻCopilotַΪʻ - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byPilotCall;// 0-ʾδ֪, 1-绰,2-绰 - //0-բ1-δբ (רʷƥǷբɹı־) - BYTE byBarrierGateCtrlType; - BYTE byAlarmDataType;//0-ʵʱݣ1-ʷ - NET_DVR_TIME_V30 struSnapFirstPicTime;//˵ʱ(ms)ץĵһͼƬʱ䣩 - DWORD dwIllegalTime;//Υʱ䣨ms = ץһͼƬʱ - ץĵһͼƬʱ - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[6]; //ͼƬϢ,Żص6ͼ - NET_DVR_VEHICLE_WEIGHT_RESULT struWeightResult; // - BYTE byRes[256]; //Ԥ -}NET_DVR_PLATE_RESULT_V50, *LPNET_DVR_PLATE_RESULT_V50; - - -typedef struct _NET_DVR_NORMAL_SCHEDTIME_ -{ - NET_DVR_SCHEDTIME struTime; - BYTE byAlarmType;//0-1-ز2-ʱ - BYTE byRes[3]; -}NET_DVR_NORMAL_SCHEDTIME,*LPNET_DVR_NORMAL_SCHEDTIME; - -typedef struct tagNET_DVR_SUBSYSTEM_ALARM -{ - DWORD dwSize; - NET_DVR_NORMAL_SCHEDTIME struNormalSchedtime[MAX_DAYS][MAX_TIMESEGMENT_V30]; - //ճƻʱ - BYTE byNormalSchedTimeOn; //ճƻǷ - BYTE byMandatoryAlarm;//0-ǿƲ1-ǿƲ ָǷΪ· - BYTE byRes[254]; -}NET_DVR_SUBSYSTEM_ALARM,*LPNET_DVR_SUBSYSTEM_ALARM; - - -#define MAX_ALLOWLIST_PHONE_NUM 16 - -typedef struct _NET_DVR_ALARM_PHONECFG -{ - DWORD dwSize; - BYTE byEnable;//Ƿ 0-ã1- - BYTE byRes1[3]; - BYTE byPhoneNumber[MAX_PHONE_NUM/*32*/]; - DWORD dwArmRight; //Ȩޣλbit0Ϊ1ʾϵͳ1вȨޣ - DWORD dwDisArmRight; //Ȩޣλbit0Ϊ1ʾϵͳ1гȨޣ - DWORD dwClearAlarmRight; //Ȩޣλbit0Ϊ1ʾϵͳ1Ȩޣ - BYTE byZoneReport[MAX_ALARMHOST_ALARMIN_NUM/*512*/]; //ͣ0-ϴ1-ϴ - DWORD dwNonZoneReport; //Ƿ bit0- bit1-ϵͳ״̬ bit2-ȡ bit3-Ա,bit4- bit5- bit6-Юֱ bit7-ָ bit8-· bit9-·ָ,bit10-̽״̬棨ߡߣ,bit11-̽״̬棨ѹǷѹ,bit12-Ƶ - BYTE byIntervalTime; //0-0s,1-10s,2-30s,3-1min,4-5min,5-10min,6-Զ壨1~5999s - BYTE byRes2; - WORD wDefineIntervalTime; //byIntervalTimeΪ6ʱЧԶʱ䣨1~5999s - BYTE byRes3[128]; -}NET_DVR_ALARM_PHONECFG, *LPNET_DVR_ALARM_PHONECFG; - -typedef struct tagNET_DVR_MODULE_INFO -{ - DWORD dwSize; - BYTE byModuleType; //Ӵͣ1-̣2-3- 4-ģ - BYTE byKeyBoardType; //1-LCD,2-LED - BYTE byTriggerType; // 1-ش 2-4·3-8·4-5-32· - BYTE byZoneType; //ͣ1-ط2-3-˫4-85-8·ģ, 6- - WORD wModuleAddress; //Ӵַչģ0~2550xFFFFʾЧ - BYTE byRes2[2]; // - char sModelInfo[32]; //ģϢ - char sDeviceVersionInfo[32]; //汾Ϣ - BYTE byRes[128]; // -}NET_DVR_MODULE_INFO,*LPNET_DVR_MODULE_INFO; - -typedef struct tagNET_DVR_ALARMHOST_DETECTOR_INFO -{ - DWORD dwSize; - BYTE byDetectorSerialNo[16]; //̽к - DWORD dwAlarmIn; // - WORD wDetectorType; // ̽ͣDETECTOR_TYPE - BYTE byRes[126]; // -}NET_DVR_ALARMHOST_DETECTOR_INFO, *LPNET_DVR_ALARMHOST_DETECTOR_INFO; - -typedef struct tagNET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40 -{ - BYTE byEnable;// 0- 1- - BYTE byRes1[3]; - NET_DVR_SCHEDDATE struDate; - NET_DVR_OUTPUT_SCHEDULE struOutputSchedule[MAX_TIMESEGMENT_V30/*8*/]; - BYTE byTriggerIndex[MAX_ALARMHOST_ALARMOUT_NUM];//±ʾţֵ0-ã1- - BYTE byRes2[64]; -}NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40,*LPNET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40; -//ʱ -typedef struct tagNET_DVR_OUTPUT_SCHEDULE_RULECFG_V40 -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40 struOutputRule[MAX_RULE_NUM/*8*/]; //֧8εĹãڶʱ/شֻҪʹһξͿ - BYTE byRes[64]; // -}NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40,*LPNET_DVR_OUTPUT_SCHEDULE_RULECFG_V40; - -//ʱ -typedef struct tagNET_DVR_ONE_OUTPUT_SCH_RULECFG_V40 -{ - DWORD dwSize; - NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40 struOutputRule; - BYTE byRes[256]; // -}NET_DVR_ONE_OUTPUT_SCH_RULECFG_V40,*LPNET_DVR_ONE_OUTPUT_SCH_RULECFG_V40; - -typedef struct tagNET_DVR_ALARM_CAPTRUE_CFG -{ - DWORD dwSize; - BYTE byBeforeAlarmPic; //Ӧֱ¿ñǰͼƬ4CIF10ţ2CIF20ţCIF40ţQCIF80ţWD1:10,XVGA:10,720P:10,1080P:10 - BYTE byAfterAlarmPic; //Ӧֱ¿ñͼƬ 4CIF10ţ2CIF20ţCIF40ţQCIF80ţWD1:10,XVGA:10,720P:10,1080P:10 - WORD wInterval; //ʱ λs - BYTE byResolution; //ͼƬֱ1-CIF2-2CIF3-4CIF4-QCIF5-WD16-VGA,7-XVGA8-720P9-1080P - BYTE byRes[63]; // ֽ -}NET_DVR_ALARM_CAPTRUE_CFG, *LPNET_DVR_ALARM_CAPTRUE_CFG; - -#define PRIOR_SCHEDTIME 30 - -typedef struct _NET_DVR_PRIOR_SCHEDTIME_ -{ - DWORD dwSize; - NET_DVR_SCHEDDATE struData; - NET_DVR_NORMAL_SCHEDTIME struOneDayTime[8]; - BYTE byEnable; //Ƿ 0-ã1- - BYTE byRes1[3]; - BYTE bySubSystem[32];//ϵͳ±ʾϵͳ 0-֧֣1-֧ - BYTE byMandatoryAlarm;//0-ǿƲ1-ǿƲ ָǷΪ· - BYTE byRes[63]; -}NET_DVR_PRIOR_SCHEDTIME,*LPNET_DVR_PRIOR_SCHEDTIME; - -typedef struct tagNET_DVR_TAMPER_ALARMIN_PARAM -{ - DWORD dwSize; - BYTE byTamperType; // 0-,1-2- - BYTE byUploadAlarmRecoveryReport; //Ƿϴָ棬0-ϴ1-ϴ - BYTE byRes1[2]; - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE byTamperResistor; //裬λǧŷ 0-Ч 1-2.2 2--3.3, 3-4.7 4-5.6 5-8.2 0xff-Զ - BYTE byRes2[3]; - float fTamperResistorManual;/*ֶ裬1.0-10.0ȷСһλλǧŷbyTamperResistorΪ0xffʱЧ*/ - BYTE byRes3[36]; // ֽ -}NET_DVR_TAMPER_ALARMIN_PARAM, *LPNET_DVR_TAMPER_ALARMIN_PARAM; - - -typedef struct tagNET_DVR_REMOTECONTROLLER_PERMISSION_CFG -{ - DWORD dwSize; - BYTE byEnable; - BYTE byAssociateNetUser;//û - WORD wRemoteCtrllerID;//ң 1ʼ - BYTE sDevSn[16];/*Ʒк*/ - BYTE byArmRight; /*0-޲Ȩޣ1-вȨ*/ - BYTE byDisArmRight; /*0-޳Ȩޣ1-гȨ*/ - BYTE byArmReportRight; /*0-޴Ȩޣ1-дȨ*/ - BYTE byDisArmReportRight;/*0-ϴȨޣ1-ϴȨ*/ - BYTE byClearAlarmRight; /*0-Ȩޣ1-Ȩ*/ - BYTE bySubSystemID; /* 豸(ң)ϵͳ,1~8 */ - BYTE byKeyboardAddr; /* ռ̵ĵַ,ʱ */ - BYTE byEnableDel; //ɾңû0-ɾ1-ɾ - BYTE byAlwaysOpenRight; /*Ƿ0-Ч1-2-*/ - BYTE byOpeningDirection; /*ŷ0-Ч1-ŷ2-ŷ*/ - BYTE byRes3[2]; - BYTE byName[NAME_LEN]; //ң - BYTE byRes2[28]; -}NET_DVR_REMOTECONTROLLER_PERMISSION_CFG, *LPNET_DVR_REMOTECONTROLLER_PERMISSION_CFG; - - -typedef struct tagNET_DVR_KEYBOARD_CFG -{ - DWORD dwSize; - BYTE byEnableLock; //Ƿü,0--, 1-- - BYTE byErrorTimes; //ụ̂ - WORD wLockTime; //ʱ䣬λ - BYTE byRes[128]; -}NET_DVR_KEYBOARD_CFG, *LPNET_DVR_KEYBOARD_CFG; - - -typedef struct tagNET_DVR_ALARMHOST_WIRELESS_BUSINESS_COND -{ - DWORD dwSize; - BYTE byCommOperatorNum[NAME_LEN/*32*/];//ͨӪ̺ - BYTE byQueryCode[16];//ҵѯ - BYTE byBusinessType;//ҵ 0-ѣ1- - BYTE byRes[35]; -}NET_DVR_ALARMHOST_WIRELESS_BUSINESS_COND, *LPNET_DVR_ALARMHOST_WIRELESS_BUSINESS_COND; - -typedef struct tagNET_DVR_ALARMHOST_WIRELESS_BUSINESS_INFO -{ - DWORD dwSize; - BYTE by3GBusiness[1024];//3GҵͨŲѯ - BYTE byRes[32]; -}NET_DVR_ALARMHOST_WIRELESS_BUSINESS_INFO, *LPNET_DVR_ALARMHOST_WIRELESS_BUSINESS_INFO; - -typedef struct tagNET_DVR_PREVIEW_DELAY_CFG -{ - DWORD dwSize; - WORD wdelayTime;//ӳԤʱ䣬λ - BYTE byRes[130]; -}NET_DVR_PREVIEW_DELAY_CFG, *LPNET_DVR_PREVIEW_DELAY_CFG; - -typedef struct tagNET_DVR_AUXILIARY_DEV_UPGRADE_PARAM -{ - DWORD dwSize; - DWORD dwDevNo; //豸 - BYTE byDevType; //豸 0-,1-о,2-ģ,3-· 4-5-RS485չģ飬6-¿ģ飬7-ģ,8-ڹģ - BYTE byRes[131]; -}NET_DVR_AUXILIARY_DEV_UPGRADE_PARAM,*LPNET_DVR_AUXILIARY_DEV_UPGRADE_PARAM; - -typedef struct tagNET_DVR_CALL_ROOM_CFG -{ - DWORD dwSize; - SHORT nFloorNumber; // - WORD wRoomNumber; // - BYTE byManageCenter; //Ƿй - BYTE byRes1[3]; - BYTE byCalledName[64]; //׼sipģʽЧû, ֧֡ĸ@͡. - BYTE byRes[60]; -}NET_DVR_CALL_ROOM_CFG,*LPNET_DVR_CALL_ROOM_CFG; - -typedef struct tagNET_DVR_VIDEO_CALL_COND -{ - DWORD dwSize; - BYTE byRes[128]; -}NET_DVR_VIDEO_CALL_COND,*LPNET_DVR_VIDEO_CALL_COND; - -//ѶϢ -typedef struct tagNET_DVR_INQUEST_CASE_INFO -{ - DWORD dwSize; - BYTE sCaseNo[INQUEST_CASE_NO_LEN]; // - BYTE sCaseName[INQUEST_CASE_NAME_LEN]; //ƣ - BYTE sCustomInfo1[CUSTOM_INFO_LEN]; //ԶϢ1 - BYTE sCustomInfo2[CUSTOM_INFO_LEN]; //ԶϢ2 - BYTE sCustomInfo3[CUSTOM_INFO_LEN]; //ԶϢ3 - BYTE byShowCaseInfoTime; /* Ϣʾʱ,λ, ȡֵΧ1~60*/ - BYTE byShowCaseInfo; //ʼǷʾϢ0-ʾ1-ʾ - BYTE byPosition; //ʾλã0-ϣ1- - BYTE byRes1; // - BYTE byCustomInfo4[CUSTOM_INFO_LEN]; //ԶϢ4ʱֶЧ - BYTE byCustomInfo5[CUSTOM_INFO_LEN]; //ԶϢ5ʱֶЧ - BYTE byRes[128]; // -}NET_DVR_INQUEST_CASE_INFO, *LPNET_DVR_INQUEST_CASE_INFO; - -typedef struct tagNET_DVR_CASE_INFO_CTRL_PARA -{ - DWORD dwSize; - DWORD dwChannel;//Ѷͨ - BYTE byShowCaseInfoTime; //ʾʱ - BYTE byRes[131]; -}NET_DVR_CASE_INFO_CTRL_PARAM, *LPNET_DVR_CASE_INFO_CTRL_PARA; - -typedef struct tagNET_DVR_INQUEST_USER_RIGHT_CFG -{ - DWORD dwSize; - /*0: Ѷ¼ɾȨ*/ - BYTE byLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ԶƵԤȨ*/ - BYTE byRemoteRight[MAX_RIGHT];/* ԶȨ */ - BYTE byNetAudioRight[MAX_CHANNUM_V40]; /* ԶƵԤȨޣ±ʾֵͨʾȨޣ0-Ȩޣ1-Ȩ*/ - BYTE byRes[512*9]; //9Ȩ޿չ -}NET_DVR_INQUEST_USER_RIGHT_CFG, *LPNET_DVR_INQUEST_USER_RIGHT_CFG; - -typedef struct tagNET_DVR_INQUEST_MIX_AUDIOIN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿû0-ã1- - BYTE byRes1[3]; // - DWORD dwMixCnt; /*ͨ*/ - BYTE bySrcChan[MAX_MIX_CHAN_NUM]; /*±ʾͨţģͨIPͨ,ֵ0ʾ죬ֵ1ʾ*/ - BYTE byLineIn[MAX_LINE_IN_CHAN_NUM]; /*±ʾLine Inͨ,ֵ0ʾ죬ֵ1ʾ*/ - BYTE byMic[MAX_MIC_CHAN_NUM]; /*±ʾMicͨ,ֵ0ʾ죬ֵ1ʾ*/ - BYTE byMixAudioDelay; //ӳ٣λ֡Χ0-63 - BYTE byRes2[127]; // -}NET_DVR_INQUEST_MIX_AUDIOIN_CFG, *LPNET_DVR_INQUEST_MIX_AUDIOIN_CFG; - -typedef struct tagNET_DVR_FACECAPTURE_STATISTICS_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - NET_DVR_TIME_EX struStartTime; //ʼʱ - BYTE byReportType; //ͳƱͣ1-ձ2-ܱ3-±4-걨 - BYTE byStatType; //ͳƣBit0-ΣBit1-ԱBit2- - BYTE byEnableProgramStatistics; //Ƿ񰴽Ŀͳƣ0-1- - BYTE byRes1; - DWORD dwPlayScheduleNo; //Ŀͳʱճ̺ - BYTE byRes[120]; -}NET_DVR_FACECAPTURE_STATISTICS_COND,*LPNET_DVR_FACECAPTURE_STATISTICS_COND; - -typedef struct tagNET_DVR_FILECOND_MEDICAL -{ - LONG lChannel;//ͨ - DWORD dwFileType;//¼ļ - //ţ0xffȫ0ʱ¼,1-ƶ 23-|ƶ 4-&ƶ 5- 6-ֶ¼,7-¼10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - //ţ0xffȫ0ʱ¼1-ƶ⣬2ӽ345-6ֶ¼7𶯱8-9-ܱ10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - DWORD dwIsLocked;//Ƿ 0-ļ,1-ļ, 0xffʾļ - DWORD dwUseCardNo;//Ƿʹÿ - BYTE sCardNumber[32];// - NET_DVR_TIME_SEARCH_COND struStartTime;//ʼʱ - NET_DVR_TIME_SEARCH_COND struStopTime;//ʱ - char szPatientID[64]; - DWORD dwBigFileType; // 0ΪͨƬ1Ϊļ - BYTE byRes[252]; -}NET_DVR_FILECOND_MEDICAL, *LPNET_DVR_FILECOND_MEDICAL; - -typedef struct tagNET_DVR_FIND_PICTURE_MEDICAL_PARAM -{ - DWORD dwSize; // ṹС - LONG lChannel; // ͨ - /* ҵͼƬ:0ʱץͼ1 ƶץͼ 2 ץͼ - 3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ , - 9-ͼƬ,10- PIR11- ߱12- ȱ, - 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬ - 0x10 , 0x11-豸ػطʱͼ, 0x12-, - 0x13-,0x14-뿪,0x15-ǻ, - 0x16-Աۼ,0x17-˶,0x18-ͣ, - 0x19-Ʒ,0x1a-Ʒȡ, 0x1b-, - 0x1c-м,0x1d-ȡ֤¼,0x1e-,0x1f-ƻ, - 0x20-ֻ⣬0x21-Ԥ0x22-±, 0x23, 0x24Υͣ,0x25-ץ,0x26-߲±,0x2a-,0x2b-ʸ,0x2c-޳ʱ,0x2d-ȫñ,0x2e-ܽץ,0x2f-Ŀץ,0x30-ץĽģ, 0x31-Ŀ,0x32-, 0x33-, 0x34-ҵѯ,0x35-Ƿ̯,0xff- ȫ*/ - BYTE byFileType; - BYTE byNeedCard; // ǷҪ - /* - 0-1-ģ2-3-壬4-5-ʣ6-7- - 8-9-10-11-ԥ12-ڣ13-14-棬 - 15-16-գ17-ӣ18-ɣ19-ɣ20-21-࣬ - 22-³23-24-£25-26-27-̨28- - 29-أ30-ۣ31-£32-ƣ33-㣬34-0xff-ȫ - */ - BYTE byProvince; //ʡֵ - BYTE byRes1; //ҽǷҪ󷵻Ϣ0-أ1- - NET_DVR_TIME struStartTime;//ͼƬĿʼʱ - NET_DVR_TIME struStopTime;// ͼƬĽʱ - char szPatientID[64]; - BYTE byRes[256]; -}NET_DVR_FIND_PICTURE_MEDICAL_PARAM, *LPNET_DVR_FIND_PICTURE_MEDICAL_PARAM; - -typedef struct tagNET_DVR_SEXGROUP_PARAM_ -{ - DWORD dwMale;//У - DWORD dwFemale;//Ů - BYTE byRes[64]; -}NET_DVR_SEXGROUP_PARAM,*LPNET_DVR_SEXGROUP_PARAM; - -typedef struct tagNET_DVR_FACECAPTURE_STATISTICS_RESULT_ -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - BYTE byStatType;//ͳƣBit0-ЧBit1-ԱЧBit2-Ч - BYTE byRes[7]; - DWORD dwPeopleNum;//ͳ - BYTE byRes2[80]; - NET_DVR_SEXGROUP_PARAM struSexGroupParam;//Աͳ - NET_DVR_PROGRAM_INFO struProgramInfo; //ĿϢ - BYTE byRes1[76]; -}NET_DVR_FACECAPTURE_STATISTICS_RESULT,*LPNET_DVR_FACECAPTURE_STATISTICS_RESULT; - -//ȡͨṹ -typedef struct tagNET_DVR_TRAFFIC_DATA_QUERY_COND_ -{ - DWORD dwSize; - /* - Bit0-ͨЧ - Bit1-ʱЧ - Bit2-ƺЧ - Bit3-Ч - Bit4-ɫЧ - Bit5-ɫЧ - Bit6-Ч - Bit7-ƷЧ - Bit8-Ч - Bit9-ʾЧ - Bit10-ٶЧ - Bit11-ٶЧ - Bit12-Ч - Bit13-ʽЧ - Bit14-Υȡ֤Ч - Bit15-¼Ч - Bit16-ȡ֤Ч - */ - DWORD dwQueryCond;//ѯ 0ʾЧ1ʾЧ - DWORD dwChannel;//Ĭ1[1~32]bit0ʾͨ1bit31ʾͨ32 - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - char sLicense[MAX_LICENSE_LEN/*16*/];//(豸֧ģѯ, GB2312) - /* - Bit0-δ֪ - Bit1-׼óֳ - Bit2-02ʽó - Bit3-侯 - Bit4- - Bit5-ó˫β - Bit6-ʹݳ - Bit7-ũó - Bit8-Ħг - */ - DWORD dwPlateType;//ְ֧ͣλʾԸѡ - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - */ - DWORD dwPlateColor;//ɫְ֧λʾԸѡ - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - Bit6-ɫ - Bit7-ɫ - Bit8-ɫ - Bit9-ɫ - Bit10-ɫ - Bit11-ɫ - Bit12-ɫ - Bit13-ɫ - */ - DWORD dwVehicleColor;//ɫְ֧λʾԸѡ - /* - Bit0-δ֪ - Bit1-ͳ - Bit2- - Bit3-γ - Bit4- - Bit5-С - Bit6- - Bit7-ֳ - Bit8-ֳ - Bit9-SUV/MPV - Bit10-Ϳͳ - */ - DWORD dwVehicleType;//ְ֧ͣλʾԸѡ - /** - Bit0- - Bit1- - Bit2- - Bit3- - Bit4- - Bit5-ѹ - Bit6- - Bit7-· - Bit8-ռ - Bit9-Υ - Bit10- - Bit11-Υ - Bit12-·ͣ - Bit13-̵ͣ - Bit14-δ - Bit15-Υͣ - Bit16-Υµͷ - Bit17-ռӦ - Bit18-δϵȫ - */ - DWORD dwIllegalType; - /** - Bit0- - Bit1-ӵ - Bit2-ͣ - Bit3- - Bit4- - Bit5- - Bit6- - Bit7-ѹ - Bit8-ֹ - Bit9- - Bit10- - Bit11-ͷ - Bit12-ռ - Bit13- - */ - DWORD dwEventType; - /** - Bit0- - Bit1-й·Υͣ - Bit2-ٹ·Υͣ - Bit3-ѹ - Bit4- - Bit5-Υ - Bit6-ռ - */ - DWORD dwForensiceType; - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" ѡ - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byDirection;//ʾ1-У2-У3-˫4-ɶ5-,6-򶫣7-ɱ - WORD wMinSpeed;//ٶȣ0~999λkm/h - WORD wMaxSpeed;//ٶȣ0~999λkm/h - BYTE byDataType;// 0-ݣ1-Υݣ2-ͨ¼3-ȡ֤ ѡ - BYTE byExecuteCtrl;// 0-1-ֹ0xff- - BYTE byRes[254]; -}NET_DVR_TRAFFIC_DATA_QUERY_COND,*LPNET_DVR_TRAFFIC_DATA_QUERY_COND; - -//ͨͼƬӽṹ -typedef struct tagNET_DVR_TRAFFIC_PICTURE_PARAM_ -{ - NET_DVR_TIME_V30 struRelativeTime; //ץʱ - NET_DVR_TIME_V30 struAbsTime; //ץľʱ - char szPicName[PICTURE_NAME_LEN/*64*/]; - BYTE byPicType;//ͼƬ 0-ͼ1-ץԭͼ2-ϳͼ3-дͼ - BYTE byRes[63]; -}NET_DVR_TRAFFIC_PICTURE_PARAM,*LPNET_DVR_TRAFFIC_PICTURE_PARAM; - -//ͨݽṹ -typedef struct tagNET_DVR_TRAFFIC_DATA_QUERY_RESULT_ -{ - DWORD dwSize; - DWORD dwChannel;//Ĭ1[1~32] - char sLicense[MAX_LICENSE_LEN/*16*/]; - /* - Bit0-δ֪ - Bit1-׼óֳ - Bit2-02ʽó - Bit3-侯 - Bit4- - Bit5-ó˫β - Bit6-ʹݳ - Bit7-ũó - Bit8-Ħг - */ - DWORD dwPlateType;// - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - */ - DWORD dwPlateColor;//ɫ - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - Bit6-ɫ - Bit7-ɫ - Bit8-ɫ - Bit9-ɫ - Bit10-ɫ - Bit11-ɫ - Bit12-ɫ - Bit13-ɫ - */ - DWORD dwVehicleColor;//ɫ - /* - Bit0-δ֪ - Bit1-ͳ - Bit2- - Bit3-γ - Bit4- - Bit5-С - Bit6- - Bit7-ֳ - Bit8-ֳ - Bit9-SUV/MPV - Bit10-Ϳͳ - Bit11- - Bit12-ǻ - Bit13-Сͽγ - Bit14-΢ͽγ - Bit15-Ƥ - Bit16-װ俨 - Bit17-΢忨 - Bit18- - Bit19-̳ - Bit20-͹޳ - Bit21-賵 - Bit22-ƽϳ - Bit23-γ - Bit24-γ - Bit25- - Bit26-СͿͳ - */ - DWORD dwVehicleType;// - /** - Bit0- - Bit1- - Bit2- - Bit3- - Bit4- - Bit5-ѹ - Bit6- - Bit7-· - Bit8-ռ - Bit9-Υ - Bit10- - Bit11-Υ - Bit12-·ͣ - Bit13-̵ͣ - Bit14-δ - Bit15-Υͣ - Bit16-Υµͷ - Bit17-ռӦ - Bit18-δϵȫ - */ - DWORD dwIllegalType; - /** - Bit0- - Bit1-ӵ - Bit2-ͣ - Bit3- - Bit4- - Bit5- - Bit6- - Bit7-ѹ - Bit8-ֹ - Bit9- - Bit10- - Bit11-ͷ - Bit12-ռ - Bit13- - */ - DWORD dwEventType; - /** - Bit0- - Bit1-й·Υͣ - Bit2-ٹ·Υͣ - Bit3-ѹ - Bit4- - Bit5-Υ - Bit6-ռ - */ - DWORD dwForensiceType; - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byDirection;//ʾ1-У2-У3-˫4-ɶ5-,6-򶫣7-ɱ - WORD wSpeed;//ٶȣ0~999λkm/h - BYTE byDataType;//: 0- 1-Υ 2-¼ 3-ȡ֤ - BYTE byRes[253]; - NET_DVR_TRAFFIC_PICTURE_PARAM struTrafficPic[MAX_TRAFFIC_PICTURE_NUM/*8*/]; -}NET_DVR_TRAFFIC_DATA_QUERY_RESULT,*LPNET_DVR_TRAFFIC_DATA_QUERY_RESULT; - -//ӻȡͨṹ -typedef struct tagNET_DVR_TRAFFIC_FLOW_QUERY_COND_ -{ - DWORD dwSize; - /** - Bit0-ͨЧ - Bit1-ʱЧ - Bit2-Ч - */ - DWORD dwQueryCond;//ѯ 0- - DWORD dwChannel;//Ĭ1[1~32]bit0ʾͨ1bit31ʾͨ32 - DWORD dwResChan[10];//Ԥչͨ - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byRes[255]; -}NET_DVR_TRAFFIC_FLOW_QUERY_COND,*LPNET_DVR_TRAFFIC_FLOW_QUERY_COND; - -//ӻȡͨṹ -typedef struct tagNET_DVR_TRAFFIC_FLOW_QUERY_RESULT_ -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - DWORD dwChannel;//Ĭ1[1~32] - DWORD dwFlow;// - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byRes[511]; -}NET_DVR_TRAFFIC_FLOW_QUERY_RESULT,*LPNET_DVR_TRAFFIC_FLOW_QUERY_RESULT; - -//ͼƬ -typedef struct tagNET_DVR_PIC_INFO -{ - BYTE byPicType; //ͼƬͣ0-jpg - BYTE byRes1[3]; // - DWORD dwPicWidth; //ͼƬ - DWORD dwPicHeight; //ͼƬ߶ - DWORD dwPicDataLen; //ͼƬݴС - char* byPicDataBuff; //ͼƬݻ - BYTE byRes2[32]; // -}NET_DVR_PIC_INFO,*LPNET_DVR_PIC_INFO; - -typedef struct tagNET_DVR_VCA_RULE_COLOR_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable; //Ƿã 0-ã1- - BYTE byRuleID; //ĹID - BYTE byColorBlockNo; //ɫţ1ʼ - BYTE byRes1; // - NET_DVR_PIC_INFO struPicInfo; //ͼƬɫϢ - BYTE byRes[64]; -}NET_DVR_VCA_RULE_COLOR_CFG,*LPNET_DVR_VCA_RULE_COLOR_CFG; - -typedef struct tagNET_DVR_VCA_RULE_COLOR_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel; //ͨ - BYTE byRuleID; //ĹID 0ʾ - BYTE byRes[127]; -}NET_DVR_VCA_RULE_COLOR_COND,*LPNET_DVR_VCA_RULE_COLOR_COND; - -//LLDP -typedef struct tagNET_DVR_LLDP_PORT_CFG -{ - BYTE byCardNo; // - BYTE byPortNo; //˿ں - BYTE byEnabledTx; //ʹܷlldp0-ʹܣ1-ʹ - BYTE byEnabledRx; //ʹܽlldp0-ʹܣ1-ʹ - BYTE byRes[12]; -}NET_DVR_LLDP_PORT_CFG, *LPNET_DVR_LLDP_PORT_CFG; - -typedef struct tagNET_DVR_LLDP_CFG -{ - DWORD dwSize; - BYTE byEnabled; //ʹLLDPܣ0-ʹܣ1-ʹ - BYTE byRes1[3]; - DWORD dwHoldTime; //ʱ䣬λ - DWORD dwReiniTime; //³ʼʱ䣬λ - DWORD dwPacketTime; //ʱ䣬λ - NET_DVR_LLDP_PORT_CFG struLLDPPortCfg[MAX_PORT_NUM]; //˿LLDP - BYTE byRes2[32]; -}NET_DVR_LLDP_CFG, *LPNET_DVR_LLDP_CFG; - -//շϢ -typedef struct tagNET_DVR_CARD_PORT_INFO -{ - DWORD dwPortNo; //˿ںţ0-Ч - BYTE byPortName[NAME_LEN]; //˿ - BYTE byWorkMode; //ģʽ1-ACCESS2-TRUNK3-HYPRID - BYTE byBandWidth; //1-100M2-1G3-10G - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byRes[13]; -}NET_DVR_CARD_PORT_INFO, *LPNET_DVR_CARD_PORT_INFO; - -typedef struct tagNET_DVR_NETMGR_CARD_INFO -{ - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - NET_DVR_IPADDR struIPAddr; //IPַ - DWORD dwSlotNo; //ܿλţλ - BYTE byStructureType; //ṹͣ1-2U2-4U - BYTE byRes1[3]; - NET_DVR_CARD_PORT_INFO struNetPortInfo[MAX_SINGLE_CARD_PORT_NO]; //Ϣ - BYTE byRes2[32]; -}NET_DVR_NETMGR_CARD_INFO, *LPNET_DVR_NETMGR_CARD_INFO; - -typedef struct tagNET_DVR_FUNC_CARD_INFO -{ - DWORD dwCardNo; //ţ1ʼ - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - DWORD dwMainSlot; //λ1ʼ - BYTE byStructureType; //ṹͣ1-2U2-4U - BYTE byRes1[3]; - NET_DVR_CARD_PORT_INFO struFuncPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿ڲ - BYTE byRes2[32]; -}NET_DVR_FUNC_CARD_INFO, *LPNET_DVR_FUNC_CARD_INFO; - -typedef struct tagNET_DVR_FIBER_CONVERT_BASIC -{ - DWORD dwSize; - BYTE byPowerType; //Դͣ1-Դ2-˫Դ - BYTE byRes1[3]; - DWORD dwSlotNum; //ܿλţλ - NET_DVR_NETMGR_CARD_INFO struNetCardInfo; //ܿϢ - NET_DVR_FUNC_CARD_INFO struFuncCardInfo[MAX_FUNC_CARD_NUM]; //ܿϢ - BYTE byRes2[64]; -}NET_DVR_FIBER_CONVERT_BASIC, *LPNET_DVR_FIBER_CONVERT_BASIC; - -//շ״̬Ϣ -typedef struct tagNET_DVR_CARD_PORT_STATE -{ - BYTE byValid; //ǷЧ0-Ч1-Ч - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byLinkState; //״̬0-δӣ1- - BYTE byRes1; - DWORD dwSendBytes; //͵ֽ - DWORD dwRecvBytes; //ݰ - DWORD dwRecvLostPackets; //ն - DWORD dwRecvCrcErrPackets; //CRCУ - DWORD dwRecvFragmentPackets; //ƬͻֽڰȾС64ֽڣ - BYTE byRes2[16]; -}NET_DVR_CARD_PORT_STATE, *LPNET_DVR_CARD_PORT_STATE; - -typedef struct tagNET_DVR_NET_CARD_STATE -{ - NET_DVR_CARD_PORT_STATE struNetPortState[MAX_SINGLE_CARD_PORT_NO]; //˿״̬ - BYTE byRes[64]; -}NET_DVR_NET_CARD_STATE, *LPNET_DVR_NET_CARD_STATE; - -typedef struct tagNET_DVR_FUNC_CARD_STATE -{ - BYTE byEnabled; //˽ṹǷЧ0-Ч1-Ч - BYTE byRes1[3]; - DWORD dwCardNo; // - NET_DVR_CARD_PORT_STATE struFuncCardPortState[MAX_SINGLE_CARD_PORT_NO]; - BYTE byRes[32]; -}NET_DVR_FUNC_CARD_STATE, *LPNET_DVR_FUNC_CARD_STATE; - -typedef struct tagNET_DVR_FIBER_CONVERT_STATE -{ - DWORD dwSize; - NET_DVR_NET_CARD_STATE struNetCardState; //ܿ״̬ - NET_DVR_FUNC_CARD_STATE struFuncCardState[MAX_FUNC_CARD_NUM]; //ܿ״̬ - BYTE byRes[32]; -}NET_DVR_FIBER_CONVERT_STATE, *LPNET_DVR_FIBER_CONVERT_STATE; - -//Զշ1.0 Ϣ -typedef struct tagNET_DVR_NETMGR_CARD_INFO_V50 -{ - BYTE byMainSlotNo; //ܿλţλ - BYTE byRes1[3]; - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - BYTE byHardwareVersion[VERSION_LEN]; //Ӳ汾 - NET_DVR_IPADDR struIPAddr; //IPַ - NET_DVR_IPADDR struMask; // - NET_DVR_IPADDR struGateway; //Ĭ - BYTE byMacAddr[6]; //MACַ - BYTE bySlotNums; //λ - BYTE byStructureType; //ṹͣ1-2U2-4U - NET_DVR_CARD_PORT_INFO struPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes2[64]; -}NET_DVR_NETMGR_CARD_INFO_V50, *LPNET_DVR_NETMGR_CARD_INFO_V50; - -typedef struct tagNET_DVR_FUNC_CARD_INFO_V50 -{ - BYTE byCardNo; //տ - BYTE byMainSlotNo; //տλţλ - BYTE byRes1[2]; - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - BYTE byIsVerMismatch; //汾ܿбش洢汾Ƿһ£0-ƥ䣬!0-ƥ - BYTE byRes2[3]; - BYTE byNewestSoftwareVersion[VERSION_LEN]; //µ汾汾ƥʱЧ - BYTE byHardwareVersion[VERSION_LEN]; //Ӳ汾 - BYTE bySlotNums; //λ - BYTE byStructureType; //ṹͣ1-2U2-4U - BYTE byRes3[2]; - NET_DVR_CARD_PORT_INFO struPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes4[64]; -}NET_DVR_FUNC_CARD_INFO_V50, *LPNET_DVR_FUNC_CARD_INFO_V50; - -typedef struct tagNET_DVR_REMOTE_SEND_CARD_INFO_V50 -{ - BYTE byCardNo; //ţͻӵĽտĿ - BYTE byMainSlotNo; //λţͻӵĽտλ - BYTE byRes1[2]; - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - BYTE byIsVerMismatch; //汾ܿбش洢汾Ƿһ£0-ƥ䣬!0-ƥ - BYTE byRes2[3]; - BYTE byNewestSoftwareVersion[VERSION_LEN]; //µ汾汾ƥʱЧ - BYTE byHardwareVersion[VERSION_LEN]; //Ӳ汾 - NET_DVR_CARD_PORT_INFO struPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes3[64]; -}NET_DVR_REMOTE_SEND_CARD_INFO_V50, *LPNET_DVR_REMOTE_SEND_CARD_INFO_V50; - -typedef struct tagNET_DVR_FIBER_CONVERT_BASIC_V50 -{ - DWORD dwSize; - BYTE byPowerType; //Դͣ1-Դ2-˫Դ - BYTE byRes1[3]; - DWORD dwSlotNum; //ܲλ - NET_DVR_NETMGR_CARD_INFO_V50 struNetCardInfo; //ܿϢ - NET_DVR_FUNC_CARD_INFO_V50 struFuncCardInfo[MAX_FUNC_CARD_NUM]; //տϢ - NET_DVR_REMOTE_SEND_CARD_INFO_V50 struRemoteSendCardInfo[MAX_FUNC_CARD_NUM]; //ͻϢ - BYTE byRes2[64]; -}NET_DVR_FIBER_CONVERT_BASIC_V50, *LPNET_DVR_FIBER_CONVERT_BASIC_V50; - -//Զշ1.0 ״̬Ϣ -typedef struct tagNET_DVR_CARD_PORT_STATE_V50 -{ - BYTE byPortNo; //˿ںţ1ʼ - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byLinkState; //״̬0-δӣ1- - BYTE byPortSpeed; //0-Ч1-Զ2-100M3-1000M4-10G - BYTE byPortDuplexMode; //˿˫ģʽ0-Ч1-Զ2-ȫ˫3-˫ - BYTE byRes1[3]; - BYTE byPortName[NAME_LEN]; //˿ - DWORD dwSendBytes; //͵ֽ - DWORD dwSendByteSpeed; //ֽʣλbps - DWORD dwSendPackets; //͵ֽ - DWORD dwSendPacketSpeed; //ʣλ/ - DWORD dwRecvBytes; //յֽ - DWORD dwRecvByteSpeed; //ֽʣλbps - DWORD dwRecvPackets; //յİ - DWORD dwRecvPacketSpeed; //հʣλ/ - DWORD dwRecvLostPackets; //ն - DWORD dwRecvCrcErrPackets; //CRCУ - DWORD dwRecvFragmentPackets; //ƬͻֽڰȾС64ֽڣ - BYTE byRes2[48]; -}NET_DVR_CARD_PORT_STATE_V50, *LPNET_DVR_CARD_PORT_STATE_V50; - -typedef struct tagNET_DVR_NET_CARD_STATE_V50 -{ - BYTE byMainSlotNo; //ܿλ - BYTE byRes1[3]; - NET_DVR_CARD_PORT_STATE_V50 struPortState[MAX_SINGLE_CARD_PORT_NO]; //ܿ˿״̬ - BYTE byRes2[344]; -}NET_DVR_NET_CARD_STATE_V50, *LPNET_DVR_NET_CARD_STATE_V50; - -typedef struct tagNET_DVR_FUNC_CARD_STATE_V50 -{ - BYTE byCardNo; //տ - BYTE byMainSlotNo; //տλ - BYTE byRes1[2]; - NET_DVR_CARD_PORT_STATE_V50 struPortState[MAX_SINGLE_CARD_PORT_NO]; //տ˿״̬ - BYTE byRes2[64]; -}NET_DVR_FUNC_CARD_STATE_V50, *LPNET_DVR_FUNC_CARD_STATE_V50; - -typedef struct tagNET_DVR_REMOTE_SEND_CARD_STATE_V50 -{ - BYTE byCardNo; //ͻӵĽտĿ - BYTE byMainSlotNo; //ͻӵĽտλ - BYTE byRes1[2]; - NET_DVR_CARD_PORT_STATE_V50 struPortState[MAX_SINGLE_CARD_PORT_NO]; //տ˿״̬ - BYTE byRes[64]; -}NET_DVR_REMOTE_SEND_CARD_STATE_V50, *LPNET_DVR_REMOTE_SEND_CARD_STATE_V50; - -typedef struct tagNET_DVR_FIBER_CONVERT_STATE_V50 -{ - DWORD dwSize; - NET_DVR_NET_CARD_STATE_V50 struNetCardState; //ܿ״̬ - NET_DVR_FUNC_CARD_STATE_V50 struFuncCardState[MAX_FUNC_CARD_NUM]; //տ״̬ - NET_DVR_REMOTE_SEND_CARD_STATE_V50 struRemoteSendCardState[MAX_FUNC_CARD_NUM]; //ͻ״̬ - BYTE byRes[64]; -}NET_DVR_FIBER_CONVERT_STATE_V50, *LPNET_DVR_FIBER_CONVERT_STATE_V50; - -//շϢ -typedef struct tagNET_DVR_FC_PORT_TOPOLOGY -{ - DWORD dwPortNo; //˿ںţ0-Ч0Ϊܿ˿ں - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byLocalWorkMode; //عģʽ1-ACCESS2-TRUNK3-HYPRID - BYTE byLocalBandWidth; //ش1-100M2-1G3-10G - BYTE byRes1[1]; - BYTE byPeerTypeName[NAME_LEN]; //Զ豸 - BYTE byPeerMac[MACADDR_LEN]; //ԶMACַ - DWORD dwPeerPortNo; //Զ˶˿ں - BYTE byPeerWorkMode; //Զ˹ģʽ1-ACCESS2-TRUNK3-HYPRID - BYTE byPeerBandWidth; //Զ˴1-100M2-1G3-10G - BYTE byRes2[30]; -}NET_DVR_FC_PORT_TOPOLOGY, *LPNET_DVR_FC_PORT_TOPOLOGY; - -typedef struct tagNET_DVR_FC_CARD_TOPOLOGY -{ - BYTE byEnable; //˽ṹǷЧ0-Ч0-Ч - BYTE byRes1[3]; - DWORD dwCardNo; //ţ0-ܿ0-ܿ - DWORD dwSlotNum; //ռõIJλ - BYTE byTypeName[NAME_LEN]; // - BYTE byLocalMac[MACADDR_LEN]; //MACַ - NET_DVR_FC_PORT_TOPOLOGY struFCPortTopology[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes[32]; -}NET_DVR_FC_CARD_TOPOLOGY, *LPNET_DVR_FC_CARD_TOPOLOGY; - -typedef struct tagNET_DVR_FIBER_CONVERT_TOPOLOGY -{ - DWORD dwSize; - NET_DVR_FC_CARD_TOPOLOGY struFCCardTopology[MAX_FC_CARD_NUM]; //Ϣ - BYTE byRes[64]; -}NET_DVR_FIBER_CONVERT_TOPOLOGY, *LPNET_DVR_FIBER_CONVERT_TOPOLOGY; - -//շ˿עϢ -typedef struct tagNET_DVR_FC_COND -{ - DWORD dwSize; - DWORD dwSlotNo; //λ - DWORD dwPortNo; //˿ں - BYTE byRes[32]; -}NET_DVR_FC_COND, *LPNET_DVR_FC_COND; - -typedef struct tagNET_DVR_FC_PORT_REMARKS -{ - DWORD dwSize; - BYTE byLocalRemarks[MAX_REMARKS_LEN]; //ض˿עϢ - BYTE byPeerRemarks[MAX_REMARKS_LEN]; //Զ˶˿עϢ - BYTE byRes[32]; -}NET_DVR_FC_PORT_REMARKS, *LPNET_DVR_FC_PORT_REMARKS; - -typedef enum _EN_FIBER_CONVERT_ALARM -{ - FC_OPTICAL_PORT_LOST = 1, - FC_ELECTRICAL_PORT_LOST, - FC_FUNC_CARD_LOST, - FC_CARD_DISCONNECTED, //߸澯 - FC_MAX_TEMP_LIMITED, //¶ȳ޸澯 - FC_MIN_TEMP_LIMITED, //¶ȳ޸澯 - FC_MAX_VOLTAGE_LIMITED, //ѹ޸澯 - FC_MIN_VOLTAGE_LIMITED, //ѹ޸澯 -}EN_FIBER_CONVERT_ALARM; - -typedef enum _EN_FIBER_CONVERT_NOTIFICATION -{ - FC_OPTICAL_PORT_CONNECTED = 1, - FC_ELECTRICAL_PORT_CONNECTED, - FC_FUNC_CARD_INSERT, - FC_CARD_CONNECTED, //֪ͨ - FC_TEMP_RECOVERY, //¶Ȼָ֪ͨ - FC_VOLTAGE_RECOVERY, //ѹָ֪ͨ -}EN_FIBER_CONVERT_NOTIFICATION; - -typedef struct tagNET_DVR_FIBER_CONVERT_ALARM -{ - DWORD dwSize; - DWORD dwEventType; //¼ͣ1-澯2-֪ͨ - DWORD dwEvent; //¼澯ʱοöFIBER_CONVERT_ALARM֪ͨʱοöFIBER_CONVERT_NOTIFICATION - BYTE bySlotNum; //λţΪͻʱλΪ÷ͻӵĽտIJλţ澯֪ͨʱЧ - BYTE byCardType; //ͣ0-Ч1-ܿ2-տ3-ͻ4- - BYTE byPortNo; //˿ںţ1ʼ澯֪ͨʱЧ - BYTE byCurTemperature; //¼¶ȣ¶ȸ澯֪ͨʱЧλ϶ - WORD wCurVoltage; //¼ĵѹʵʵѹ*10ѹ澯֪ͨʱЧλ - BYTE byRes1[30]; -}NET_DVR_FIBER_CONVERT_ALARM, *LPNET_DVR_FIBER_CONVERT_ALARM; - -//澯¼ϴ -typedef enum _EN_SWITCH_CONVERT_ALARM -{ - SC_OPTICAL_PORT_LOST = 1, - SC_NETWORK_PORT_LOST, - SC_WIRELESS_SPEED_UP_EXCEPTION,//쳣 - SC_WIRELESS_SHUTDOWN, //ӶϿ¼ - SC_DEVICE_POE_MAX, //POE-MAX澯 - SC_PORT_POE_POWER_OFF, //˿POE澯 -}EN_SWITCH_CONVERT_ALARM; - -typedef enum _EN_SWICH_CONVERT_NOTIFICATION -{ - SC_OPTICAL_PORT_CONNECTED = 1, - SC_NETWORK_PORT_CONNECTED, - SC_DEVICE_POE_MAX_RECOVERY, //POE-MAX澯ָ - SC_PORT_POE_POWER_ON, //˿POEϵ֪ͨ - SC_WIRELESS_CONNECTED, //¼ -}EN_SWITCH_CONVERT_NOTIFICATION; - -typedef struct tagNET_DVR_SWITCH_CONVERT_ALARM -{ - DWORD dwSize; - BYTE byPortNo; //ӿ1ʼʾ8λ - BYTE byPortNoEx; //ӿ255ʱֶαʾĸ8λ - BYTE byRes1[2]; - DWORD dwEventType; //¼ͣ1-澯2-֪ͨ - DWORD dwEvent; //¼澯ʱοöEN_SWITCH_CONVERT_ALARM֪ͨʱοöEN_SWITCH_CONVERT_NOTIFICATION - BYTE byRes2[32]; -}NET_DVR_SWITCH_CONVERT_ALARM, *LPNET_DVR_SWITCH_CONVERT_ALARM; - -typedef struct tagNET_DVR_SWITCH_LAMP_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable; //Ƿã 0-ã1- - BYTE byTriggerMode; // 1-2-δ - BYTE byUploadPic; //0-ϴͼƬ1-ϴͼƬ - BYTE byRes1; // - DWORD dwTimeInterval; //ʱΧ[0,3600]λ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType;//ʽ - BYTE byRelRecordChan[MAX_IVMS_IP_CHANNEL]; //¼ͨ1ʾͨ0ʾ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - BYTE byRes[256]; -}NET_DVR_SWITCH_LAMP_CFG,*LPNET_DVR_SWITCH_LAMP_CFG; - -typedef struct tagNET_DVR_SWITCH_LAMP_ALARM -{ - DWORD dwSize;//ṹС - NET_VCA_DEV_INFO struDevInfo; //豸Ϣ - NET_DVR_TIME_EX struTime; //ʱ - BYTE byLampStatus; //ص״̬0-ѹر 1-Ѵ - BYTE byRes1[3]; // - DWORD dwPicDataLen; //ͼƬݳȣ0ʾͼƬϴ - char* pPicData; //ͼƬ - BYTE byRes[64]; -}NET_DVR_SWITCH_LAMP_ALARM,*LPNET_DVR_SWITCH_LAMP_ALARM; - -//ռ -typedef struct tagNET_DVR_RS485_CASCADE_CFG -{ - DWORD dwSize; - BYTE byDevAddr; //豸ַ0-1-15Ϊӻ - BYTE byRes[131]; -}NET_DVR_RS485_CASCADE_CFG,*LPNET_DVR_RS485_CASCADE_CFG; - -//˽йؼϢϴ -typedef struct tagNET_DVR_PRIVATE_PROTOCOL_CFG -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; //ϢϴIPַ - WORD wPort;//ϢϴĶ˿ں - BYTE byEnable;//ʹ, 0-1-ã2- - BYTE byRes; - DWORD dwInterval;//Ϣϴ(0-ʱƣ豸Ϊ׼; >=0,Ϊλʱ) - BYTE byServerType;// 0-ޣ1- - BYTE byEcryptedSMSEnable;//0-ܣ1- - BYTE byAlgorithm;//㷨0-ޣ1-RSA - BYTE byAcauisitionMode;//ɼģʽ0-Ϣ1-Ϣ2-Ϣ+Ϣ - DWORD dwDistanceLimit;//ƣλm - BYTE byPKModeEnable;//PKģʽʹ, 0-1-ã2- - BYTE byMACAddrReductionEnable;//MACַԭʹ, 0-1-ã2- - BYTE byRes1[214]; - char szIndexCode[MAX_INDEX_CODE_LEN]; - DWORD dwSecretKeyLen;//Կ - char szSecretKey[MAX_SECRETKEY_LEN/*512*/];//Կ -}NET_DVR_PRIVATE_PROTOCOL_CFG,*LPNET_DVR_PRIVATE_PROTOCOL_CFG; - -// -typedef struct tagNET_DVR_DEBUG_CMD -{ - DWORD dwSize; - char szDebugCMD[MAX_DEBUGCMD_LEN/*1024*/]; - BYTE byRes[400]; -}NET_DVR_DEBUG_CMD,*LPNET_DVR_DEBUG_CMD; - -//Ϣ -typedef struct tagNET_DVR_DEBUG_INFO -{ - DWORD dwSize; - char szDebugInfo[MAX_DEBUGINFO_LEN/*1400*/]; - BYTE byRes[32]; -}NET_DVR_DEBUG_INFO,*LPNET_DVR_DEBUG_INFO; - - - -#define MAX_SSID_LEN 32 //SSIDų -#define MAX_WS_PASSWD_LEN 64 //볤 -typedef struct tagNET_DVR_WIRELESSSERVER -{ - DWORD dwSize;//ṹС - BYTE byWLanShare;//WLanȵʹ 0-رգ1-ʹ - BYTE byBroadcastSSID;//SSID㲥ʹ 0-رգ1-ʹ - BYTE bySecurityMode;//ȫģʽ 0- not-encrypted1-WPA2-WPA2(ʱֻ֧2) - BYTE byAlgorithmType; //ģʽ 1-TKIP2-AES - char szSSID[MAX_SSID_LEN/*32*/];//SSIDϢ - char szPassWord[MAX_WS_PASSWD_LEN/*64*/]; - BYTE byDefaultPassword;//ǷĬ 0-1- - BYTE byWifiApModeType;//WlanAPȵģʽ0-رգ1-2-Զ - BYTE byRes[254]; -}NET_DVR_WIRELESSSERVER,*LPNET_DVR_WIRELESSSERVER; - -typedef struct tagNET_DVR_CONNECTDEV_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes[128]; -}NET_DVR_CONNECTDEV_COND,*LPNET_DVR_CONNECTDEV_COND; - -typedef struct tagNET_DVR_CONNECTDEV_CFG -{ - DWORD dwSize; - BYTE byID;//к - BYTE byRes[1]; - BYTE byMACAddr[MACADDR_LEN/*6*/]; // ַ - NET_DVR_IPADDR struDVRIP;//豸IP - NET_DVR_TIME struConnectTime;//ʱ - BYTE byRes1[256]; -}NET_DVR_CONNECTDEV_CFG,*LPNET_DVR_CONNECTDEV_CFG; - -typedef struct tagNET_DVR_GIS_SERVER_INFO -{ - BYTE byUserName[NAME_LEN]; - BYTE byPassword[PASSWD_LEN]; - NET_DVR_IPADDR struServerIP; //GISIPַ - WORD wPort; //GIS˿ - BYTE byRes[30]; -}NET_DVR_GIS_SERVER_INFO, *LPNET_DVR_GIS_SERVER_INFO; - -typedef struct tagNET_DVR_BASEMAP_CONTROL_CFG_V40 -{ - DWORD dwSize; - BYTE byEnable; //Ƿʾ1-ʾ0- - BYTE byBaseMapType; //ͼͣ1-ͼƬͼ2-ͼ3-GISͼ - BYTE byRes1[2]; - DWORD dwBaseMapNo; //ͼţͼΪ1ʱ˲ΪͼƬţͼΪ2ʱ˲Ϊϵͳںţ1ֽھ+1ֽӰ+1ֽں+1ֽڱ - NET_DVR_GIS_SERVER_INFO struGisServer; //GISϢ,ͼΪGISͼʱЧ - BYTE byRes2[64]; -}NET_DVR_BASEMAP_CONTROL_CFG_V40,*LPNET_DVR_BASEMAP_CONTROL_CFG_V40; - -typedef struct tagNET_DVR_VIDEO_IMG_DB_CFG -{ - DWORD dwSize; //NET_DVR_VIDEO_IMG_DB_CFGṹС - INT64 i64Capacity; //ͼλλMB - INT64 i64UsedSpace; //ֻÿռ䣬λλMB - INT64 i64AvailableSpace; //ֻÿռ䣬λλMB - BYTE byRes[256]; // -}NET_DVR_VIDEO_IMG_DB_CFG, *LPNET_DVR_VIDEO_IMG_DB_CFG; - -typedef struct tagNET_DVR_FILE_QUERY_INFO -{ - DWORD dwSize; //NET_DVR_FILE_QUERY_INFOṹС - INT64 i64FileLen; //ļС - BYTE byRes[256]; // -}NET_DVR_FILE_QUERY_INFO, *LPNET_DVR_FILE_QUERY_INFO; - -typedef struct tagNET_DVR_FILE_INFO_IN -{ - char szFileID[MAX_FILE_ID_LEN]; //ϴ֮豸ļID - BYTE byRes[256]; -}NET_DVR_FILE_INFO_IN, *LPNET_DVR_FILE_INFO_IN; - -typedef struct tagNET_DOWNLOAD_CB_INFO -{ - DWORD dwType; //, 0-Ϣ,1-ͼƬϢ(ƴ洢),2-ͼƬϢ(ƴ洢) - BYTE *pData; //ָ - DWORD dwDataLen; //ݳ - void* pFileInfo; //ļϢṹ(ƴ洢ʱЧ) - DWORD dwFileInfoLen; //ļϢṹ峤(ƴ洢ʱЧ) - BYTE byRes[120]; // -}NET_DOWNLOAD_CB_INFO, *LPNET_DOWNLOAD_CB_INFO; - -typedef BOOL (*DOWNLOAD_DATA_CB)( LONG lHandle, NET_DOWNLOAD_CB_INFO *pCBInfo, void *pUserData); - -typedef struct tagNET_DVR_DOWNLOAD_CB_PARAM -{ - DOWNLOAD_DATA_CB fnDownloadDataCB; //ݻص - void *pUserData; //û, fnPreviewDataCBص - INT64 i64Offset; //ļƫڶϵ - BYTE byRes[256]; -}NET_DVR_DOWNLOAD_CB_PARAM, *LPNET_DVR_DOWNLOAD_CB_PARAM; - -typedef struct tagNET_DVR_UPLOAD_DB_IN -{ - INT64 i64FileLen; //ϴļҪļȣļԲ - BYTE byContinueUpload; //0-ļϴ1-ļļ - BYTE byRes[255]; -}NET_DVR_UPLOAD_DB_IN, *LPNET_DVR_UPLOAD_DB_IN; - - -typedef struct tagNET_DVR_UPLOAD_DB_OUT -{ - char szFileID[MAX_FILE_ID_LEN]; //ϴ֮豸ļID - BYTE byRes[256]; -}NET_DVR_UPLOAD_DB_OUT, *LPNET_DVR_UPLOAD_DB_OUT; - -typedef struct tagNET_DVR_SEND_PARAM_IN -{ - BYTE *pSendData; //͵Ļ,PicURL == 1 ʱڴд洢 URL ַ,byUploadModeling == 1 ʱڴд洢 ģbase64 - DWORD dwSendDataLen; //ݳ,PicURL == 1 ʱ򣬱ʾ URL ַij,byUploadModeling == 1 ʱ򣬱ʾΪģbase64ļܳ - NET_DVR_TIME_V30 struTime; //ͼƬʱ - BYTE byPicType; //ͼƬʽ,1-jpg,2-bmp,3-png,4-SWF,5-GIF - BYTE byPicURL; //ͼƬݲURLʽ 0-ͼƬݣ1-ͼƬURLʽ - /*Ƿϴģݣ - 0- ͼƬݷʽ(pSendDataָͼƬ, dwPicDataLenΪͼƬݳ) - 1- ֱϴģ(pSendDataָģbase64, dwPicDataLenΪģbase64ļܳ) - עģݲbase64ܷʽ,ѡΪģϴbyPicURL 衣 - /ISAPI/Intelligent/channels//faceContrast/capabilitiesзisSupportUploadModelingڵʱ֧ϴģ. */ - BYTE byUploadModeling; - BYTE byRes1; - DWORD dwPicMangeNo; //ͼƬ - BYTE sPicName[NAME_LEN]; //ͼƬ - DWORD dwPicDisplayTime; //ͼƬʱλ - BYTE *pSendAppendData; //ͼƬĸϢӦFaceAppendData XML - DWORD dwSendAppendDataLen; //ͼƬĸϢݳ FaceAppendData XMLijȣ - BYTE byRes[192]; -}NET_DVR_SEND_PARAM_IN, *LPNET_DVR_SEND_PARAM_IN; - - -typedef struct tagNET_DVR_DOWNLOAD_QOS -{ - DWORD dwMaxSpeed; //ٶȣλkbps - BYTE byRes[256]; -}NET_DVR_DOWNLOAD_QOS, *LPNET_DVR_DOWNLOAD_QOS; - - -#define NET_SDK_MAX_FILE_NAME 100 //ļ - -typedef struct tagNET_DVR_UPLOAD_FILEVOLUME_PRARAM_ -{ - DWORD dwSize; - BYTE byFileType; //ļ 0-¼1-Ƶ - BYTE byFileVolnumeID; //ļIDͨNET_DVR_GET_HDVOLUME_CFG ȡ - BYTE byArchive; //0-鵵1-鵵 - BYTE byRes1; - DWORD dwFileSize; //ļС - char szFileName[NET_SDK_MAX_FILE_NAME/*100*/]; //ļ - BYTE byRes[300]; -}NET_DVR_UPLOAD_FILEVOLUME_PRARAM, *LPNET_DVR_UPLOAD_FILEVOLUME_PRARAM; - -typedef struct tagNET_DVR_DOWNLOAD_FILEVOLUME_PARAM_ -{ - DWORD dwSize; - BYTE sUrl[MAX_UPLOADFILE_URL_LEN/*240*/]; //url - BYTE byRes[248]; - DOWNLOAD_DATA_CB fnDownloadDataCB; //ݻص - void *pUserData; //û, fnPreviewDataCBص -}NET_DVR_DOWNLOAD_FILEVOLUME_PARAM, *LPNET_DVR_DOWNLOAD_FILEVOLUME_PARAM; - - -//Ӱģʽ -typedef struct tagNET_DVR_FILM_MODE_CFG -{ - DWORD dwSize; //ṹС - BYTE byScreenType; //ͣ0-棬1-棬2-л - BYTE byRes[255]; // -}NET_DVR_FILM_MODE_CFG, *LPNET_DVR_FILM_MODE_CFG; - -// -typedef struct tagNET_DVR_DIRECTED_STRATEGY_CFG -{ - DWORD dwSize; //ṹС - BYTE byDirectedStrategyType; //ͣ0-̬ԣ1-Ʒ,2-Ʒ12,3-Ʒ13 - BYTE byRes[255]; // -}NET_DVR_DIRECTED_STRATEGY_CFG, *LPNET_DVR_DIRECTED_STRATEGY_CFG; - -//߿ӽṹ -typedef struct NET_DVR_FRAME -{ - BYTE byFrameWide; /*߿ȺϷȡֵΧΪ[0,14]ֻȡżֵ*/ - BYTE byRed; /*߿ɫΪRGB ģʽRGBֱӦλ*/ - BYTE byGreen; - BYTE byBlue; - BYTE byRes[256]; -}NET_DVR_FRAME, *LPNET_DVR_FRAME; - -//û߿ -typedef struct tagNET_DVR_FRAME_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_FRAME struTopFrame; //ϱ߿ - NET_DVR_FRAME struBottomFrame;//±߿ - NET_DVR_FRAME struLeftFrame; //߿ - NET_DVR_FRAME struRightFrame; //ұ߿ - BYTE byFrameEnable; //ӱ߿0-1-ӱ߿ - BYTE byRes[256]; // -}NET_DVR_FRAME_CFG, *LPNET_DVR_FRAME_CFG; - -//û߿ -typedef struct tagNET_DVR_FRAME_COND -{ - DWORD dwSize; - DWORD dwPicNo;// - BYTE byRes[256]; -}NET_DVR_FRAME_COND, *LPNET_DVR_FRAME_COND; - -//ƵŻ -typedef struct tagNET_DVR_AUDIO_EFFECTIVE_CFG -{ - DWORD dwSize; //ṹС - DWORD dwCheckDelay; //ʱӣλs0ʾԶŻ - BYTE byThreshold; //ֵ[0,100] - BYTE byVolumePercent;// [0,100] - BYTE byPriority; //ȼ[0100] - BYTE byRes[301]; -}NET_DVR_AUDIO_EFFECTIVE_CFG, *LPNET_DVR_AUDIO_EFFECTIVE_CFG; - -//¼Ƶ -typedef struct tagNET_DVR_RECORD_VIDEO_CFG -{ - DWORD dwSize; //ṹС - BYTE byExportType; //ֵ0-MP4 1-AVI - BYTE byRes[255]; //ֽ -} NET_DVR_RECORD_VIDEO_CFG, *LPNET_DVR_RECORD_VIDEO_CFG; - -//RTMP Cond -typedef struct tagNET_DVR_RTMP_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byStreamType; //ͣ1-2-3- - BYTE byRes[303]; -}NET_DVR_RTMP_COND, *LPNET_DVR_RTMP_COND; - -//RTMP Cfg -typedef struct tagNET_DVR_RTMP_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ǷRTMP0-ã1- - BYTE byRes1[3]; - DWORD dwPacketLen; //RTMP - char szURL[RTMP_URL_LEN]; //RTMP URL - BYTE byRes[256]; //ֽ -}NET_DVR_RTMP_CFG, *LPNET_DVR_RTMP_CFG; - -//ļ -typedef struct tagNET_DVR_RECORDING_PUBLISH_FILE_CFG -{ - DWORD dwSize; //ṹС - BYTE byFileID[MAX_ID_LEN_128/*128*/]; //ļID - NET_DVR_TIME_EX struStartTime; //γ̿ʼʱ - NET_DVR_TIME_EX struEndTime; //γ̽ʱ - BYTE byCmdType; // 1--ʼ 2--ȡ - BYTE byFileType; //ļ 0 1ʱγ 2ֶγ - BYTE byRes[254]; -}NET_DVR_RECORDING_PUBLISH_FILE_CFG, *LPNET_DVR_RECORDING_PUBLISH_FILE_CFG; - -//ļ -typedef struct tagNET_DVR_PUBLISH_PROGRESS_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byFileID[MAX_ID_LEN_128/*128*/]; //ļID - BYTE byRes[256]; -}NET_DVR_PUBLISH_PROGRESS_COND, *LPNET_DVR_PUBLISH_PROGRESS_COND; - -//ļȲ -typedef struct tagNET_DVR_PUBLISH_PROGRESS_CFG -{ - DWORD dwSize; //ṹС - BYTE byPublishPercent; //ٷֱ 0-100 - BYTE byPublishStatus; //״̬ 0-ɹ 1--ڷ 2--ȴ 3-FTP 4--ûҵļ 5--ʧܣ - BYTE byRes[302]; -}NET_DVR_PUBLISH_PROGRESS_CFG, *LPNET_DVR_PUBLISH_PROGRESS_CFG; - -//ɾͼеļ -typedef struct tagNET_DVR_BACKGROUND_PIC_COND -{ - DWORD dwSize; - char szFileID[MAX_ID_LEN_128/*128*/]; //ϴ֮豸ļID, ָͼƬ - BYTE byRes[256]; -}NET_DVR_BACKGROUND_PIC_COND, *LPNET_DVR_BACKGROUND_PIC_COND; - -//ѯͼƬļ -typedef struct tagNET_DVR_BACKGROUND_PIC_CFG -{ - DWORD dwSize; //ṹС - DWORD dwPicSize; //ͼƬС - DWORD dwPicType; //ͼƬͣYUV:0 JPEG:1 - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - BYTE byPicName[MAX_PIC_NAME_LEN/*128*/]; //ͼƬ - BYTE byRes[128]; -}NET_DVR_BACKGROUND_PIC_CFG,*LPNET_DVR_BACKGROUND_PIC_CFG; - -typedef struct tagNET_DVR_BACKGROUND_PIC_INFO -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ǷñͼƬӣ0-1- - BYTE byRes1[3]; - BYTE byPicID[MAX_ID_LEN_128/*128*/]; - BYTE byRes[300]; // -}NET_DVR_BACKGROUND_PIC_INFO,*LPNET_DVR_BACKGROUND_PIC_INFO; - - -//ϴͼƬļ -typedef struct tagNET_DVR_BACKGROUND_PIC_PRARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPicSize; //ͼƬС - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - char szPicName[MAX_PIC_NAME_LEN/*128*/]; //ͼƬ - BYTE byPicType; //ͼƬͣYUV:0 JPEG:1 - BYTE byRes[303]; -}NET_DVR_BACKGROUND_PIC_PRARAM,*LPNET_DVR_BACKGROUND_PIC_PRARAM; - -//͹ -typedef struct tagNET_DVR_LOWPOWER -{ - DWORD dwSize;//ṹС - BYTE byMode;//ģʽ 0-ֶ1-ʱ - BYTE byEnabled;//ֶģʽµʹܿ 0-رգ1- - BYTE byRes[6]; - NET_DVR_SCHEDULE_DAYTIME struSchedTime;//ʱʱ - BYTE byRes1[256]; -}NET_DVR_LOWPOWER,*LPNET_DVR_LOWPOWER; - -typedef struct tagNET_DVR_POINT -{ - DWORD dwX; //X - DWORD dwY; //Y -}NET_DVR_POINT, *LPNET_DVR_POINT; - -//䱶 -typedef struct tagNET_DVR_ZOOMLINKAGE -{ - DWORD dwSize;//ṹС - BYTE byEnable;//ʹ 0-أ1- - BYTE byRes[255]; -}NET_DVR_ZOOMLINKAGE,*LPNET_DVR_ZOOMLINKAGE; - -typedef struct tagNET_DVR_ONLINEUPGRADE_STATUS -{ - DWORD dwSize; - BYTE byUpgradeStatus;//0-δʼ,1-,2-ɹ,3-Բƥ,4-дfalshʧ,5-Ͳƥ,6-汾ƥ,7-粻ɴ,8-, - //9-ȡļ,10-ûҵļ,11-ļд,12-豸ڴ治,0xff-δ֪ - BYTE byProgress; //,0~100 - BYTE byRes[250]; -}NET_DVR_ONLINEUPGRADE_STATUS,*LPNET_DVR_ONLINEUPGRADE_STATUS; - -typedef struct tagNET_DVR_FIRMWARECODE_COND -{ - DWORD dwSize; - DWORD dwStartIndex; //ʼ - DWORD dwMaxNum; //32 - BYTE byRes[52]; -}NET_DVR_FIRMWARECODE_COND,*LPNET_DVR_FIRMWARECODE_COND; - -typedef struct tagNET_DVR_FIRMWARECODE -{ - WORD wIndex; - WORD wCodeLen; //ʶ볤ȣϲӦÿʱһжϣֶδ128뱨ʾû¹/ͻ˰汾 - BYTE byCode[MAX_IDCODE_LEN];//ʶ - BYTE byVersion[MAX_VERSIIN_LEN];//汾 - BYTE byRes[12]; -}NET_DVR_FIRMWARECODE,*LPNET_DVR_FIRMWARECODE; - -typedef struct tagNET_DVR_FIRMWARECODE_LIST -{ - DWORD dwSize; - DWORD dwValidCodeNum; //Ч - NET_DVR_FIRMWARECODE struCode[MAX_IDCODE_NUM]; - BYTE byRes[64]; -}NET_DVR_FIRMWARECODE_LIST,*LPNET_DVR_FIRMWARECODE_LIST; - -typedef struct tagNET_DVR_ONLINEUPGRADE_SERVER -{ - DWORD dwSize; - BYTE byConnectStatus; //0-δ,1- - BYTE byRes[1019]; -}NET_DVR_ONLINEUPGRADE_SERVER,*LPNET_DVR_ONLINEUPGRADE_SERVER; - -typedef struct tagNET_DVR_ONLINEUPGRADE_VERSION_COND -{ - DWORD dwSize; - BYTE byCheckFromSvr; //ǷҪӷ⣬0-Ҫ豸ԼĽ;1-Ҫ豸ἴʱӷǷ°汾 - BYTE byRes[59]; -}NET_DVR_ONLINEUPGRADE_VERSION_COND,*LPNET_DVR_ONLINEUPGRADE_VERSION_COND; - -typedef struct tagNET_DVR_ONLINEUPGRADE_VERSION_RET -{ - DWORD dwSize; - BYTE byNewVersionAvailable; //Ƿ°汾,0-,1- - BYTE byNewVersion[MAX_VERSIIN_LEN]; //°汾İ汾 - BYTE byChangeLog[SDK_LEN_2048]; //°汾µ - BYTE byRes[971]; -}NET_DVR_ONLINEUPGRADE_VERSION_RET,*LPNET_DVR_ONLINEUPGRADE_VERSION_RET; - -typedef struct tagNET_DVR_RECOMMEN_VERSION_COND -{ - DWORD dwSize; - BYTE byFirmwareCode[MAX_IDCODE_LEN]; - BYTE byFirmwareVersion[MAX_VERSIIN_LEN]; - BYTE byRes[60]; -}NET_DVR_RECOMMEN_VERSION_COND,*LPNET_DVR_RECOMMEN_VERSION_COND; - -typedef struct tagNET_DVR_RECOMMEN_VERSION_RET -{ - DWORD dwSize; - BYTE byRecommenUpgrade; //Ƽ,0-,1- - BYTE byRes[123]; -}NET_DVR_RECOMMEN_VERSION_RET,*LPNET_DVR_RECOMMEN_VERSION_RET; - -//ʪ -typedef struct tagNET_DVR_THSCREEN -{ - DWORD dwSize;//ṹС - BYTE byEnable;//öʱʹ - BYTE byTHOSDDisplay;//ʪʾOSDʾǷ, 0-1- - BYTE byRes[2]; // ֽ - NET_VCA_POINT struTHOSDPoint;//ʪʾOSDʾϽ - BYTE byTimingMode;//Уʱģʽ 0-ֶ1-Զ - BYTE byRes1; - WORD wInterval;//Уʱʱģʽ£ʱ[1,10080]m - BYTE byRes2[254]; -}NET_DVR_THSCREEN,*LPNET_DVR_THSCREEN; - -typedef struct tagNET_DVR_SENSOR_ADJUSTMENT -{ - DWORD dwSize;//ṹС - BYTE byType;//ģʽ0-£1-ң2-ת3-ͼӳǣ4-RGB, 5-, 6-RGB_Ex - BYTE bySensorNo;//Sensor [1,8] - BYTE byRes[2]; - int iAdjustMentRange;// [-100,100] תʱ[-30,30] ͼӳ[-10,10] - BYTE byR;//RGBRɫΧ0-100 - BYTE byG;//RGBGɫΧ0-100 - BYTE byB;//RGBBɫΧ0-100 - BYTE byRgbType;//RGBͣ0-1-ģʽ2-ֶģʽ - BYTE byBrightness;//ȣΧ0-100,Ĭֵ50 - BYTE byRes1[3]; - WORD wRex;//RGB(չ)RɫΧ0-2048 - WORD wGex;//RGB(չ)GɫΧ0-2048 - WORD wBex;//RGB(չ)BɫΧ0-2048 - BYTE byRes2[114]; -}NET_DVR_SENSOR_ADJUSTMENT,*LPNET_DVR_SENSOR_ADJUSTMENT; - -typedef struct tagNET_DVR_SENSOR_ADJUSTMENT_INFO -{ - DWORD dwSize;//ṹС - int iPan;//ֵ - int iTilt;//ֵ - int iRotation;//תֵ - int iFieldAngle;//ͼӳֵ - BYTE byR;//RGBRɫΧ0-100 - BYTE byG;//RGBGɫΧ0-100 - BYTE byB;//RGBBɫΧ0-100 - BYTE byRgbType;//RGBͣ0-1-ģʽ2-ֶģʽ - BYTE byBrightness;//ȣΧ0-100,Ĭֵ50 - BYTE byRes[3]; - WORD wRex;//RGB(չ)RɫΧ0-2048 - WORD wGex;//RGB(չ)GɫΧ0-2048 - WORD wBex;//RGB(չ)BɫΧ0-2048 - BYTE byRes1[114]; -}NET_DVR_SENSOR_ADJUSTMENT_INFO,*LPNET_DVR_SENSOR_ADJUSTMENT_INFO; - -typedef struct tagNET_DVR_SENSOR_RESET -{ - DWORD dwSize;//ṹС - BYTE bySensorNo;//Sensor[1,8];Sensor NoΪ0ʱ򣬱ʾȫ±ʾ - BYTE byRes[127]; -}NET_DVR_SENSOR_RESET,*LPNET_DVR_SENSOR_RESET; - -typedef struct tagNET_DVR_PANORAMAIMAGE -{ - DWORD dwSize;//ṹС - BYTE byFusionMode;//ģʽ0-ԭʼͼ1-ȫͼ - BYTE byPreviewMode;//ģʽ1-Ŀ꣬2-̶ʾ - BYTE byRes[126]; -}NET_DVR_PANORAMAIMAGE,*LPNET_DVR_PANORAMAIMAGE; - -typedef struct tagNET_DVR_RELOCATE_INFO -{ - DWORD dwSize;//ṹС - BYTE byTakeOverAddr[MAX_DOMAIN_NAME/*64*/]; //ӹ豸ĵַ - WORD wPort ; //豸˿ں - BYTE byRes[254] ; // -}NET_DVR_RELOCATE_INFO, *LPNET_DVR_RELOCATE_INFO; - -typedef struct tagNET_DVR_CONFERENCE_REGION -{ - DWORD dwSize; - BYTE byEnabled; //Ƿû0-1- - BYTE byRes1[3]; - NET_DVR_POINT struRegion[RECT_POINT_NUM]; //򣬾ΣʼΪ½ǣ˳ʱ뷽 - DWORD dwOutputWidth; //ڻ׼ֻܻȡ - DWORD dwOutputHeight; //ڻ׼ߣֻܻȡ - BYTE byRes2[32]; -}NET_DVR_CONFERENCE_REGION, *LPNET_DVR_CONFERENCE_REGION; - -typedef struct tagNET_DVR_TERMINAL_CALL_CFG -{ - DWORD dwSize; - BYTE byAnswerType; //Ӧʽ1-Զ2-Զܽӣ3-ֶ - BYTE byProtocolType; //ʹõЭͣ1-SIP2-H232 - BYTE byTransmissionProtocol; //Эͣ0-Ч1-TCP2-UDP - BYTE byRes[29]; -}NET_DVR_TERMINAL_CALL_CFG, *LPNET_DVR_TERMINAL_CALL_CFG; - -typedef struct tagNET_DVR_TERMINAL_CALL_INFO -{ - BYTE byTermianlURL[MAX_URL_LEN]; - DWORD dwCallRate;//ʣΧΪ32~6144λKbps () - BYTE byRes[124]; -}NET_DVR_TERMINAL_CALL_INFO, *LPNET_DVR_TERMINAL_CALL_INFO; - -typedef struct tagNET_DVR_TERMINAL_AUDIO_CTRL -{ - BYTE byMute; //Ƿ0-1- - BYTE byVolume; //ǾʱЧ1-100 - BYTE byAudioInputDisabled; //ֹƵ룬0-Ƶ룬1-ֹƵ - BYTE byAudioInputVolume; //ƵƵʱЧ1-100 - BYTE byRes[636]; -}NET_DVR_TERMINAL_AUDIO_CTRL, *LPNET_DVR_TERMINAL_AUDIO_CTRL; - -typedef struct tagNET_DVR_HOWLING_SUPPRESSION -{ - BYTE byEnabled; //ǷʹХ - BYTE byHsSensibility; //Х - BYTE byHsMode; //Хģʽ0-Ĭϣ1-٣2- - BYTE byRes1; - DWORD dwHsTime; //Хʱ䣬λms - BYTE byRes2[16]; -}NET_DVR_HOWLING_SUPPRESSION, *LPNET_DVR_HOWLING_SUPPRESSION; - -typedef struct tagNET_DVR_TERMINAL_INPUT_AUDIO -{ - DWORD dwChannel; //ͨ - BYTE byGainType; //ͣ1-棬2-ģ,3- - BYTE byEnableSimulate; //Ƿģ棬0-1- - BYTE byVolumeSimulate; //ģʱЧ1-100 - BYTE byEnableDigital; //Ƿ棬0-1- - BYTE byVolumeDigital; //ʱЧ1-100 - BYTE byRes1[3]; - NET_DVR_HOWLING_SUPPRESSION struHsParam; //ХƲ - BYTE byRes[604]; -}NET_DVR_TERMINAL_INPUT_AUDIO, *LPNET_DVR_TERMINAL_INPUT_AUDIO; - - -typedef union tagNET_DVR_TERMINAL_DETAIL_CTRL_PARAM -{ - BYTE byRes[640]; - NET_DVR_TERMINAL_CALL_INFO struCallInfo; - NET_DVR_TERMINAL_AUDIO_CTRL struAudioCtrl; - NET_DVR_TERMINAL_INPUT_AUDIO struInputAudio; -}NET_DVR_TERMINAL_DETAIL_CTRL_PARAM, *LPNET_DVR_TERMINAL_DETAIL_CTRL_PARAM; - -typedef struct tagNET_DVR_TERMINAL_CTRL_PARAM -{ - DWORD dwSize; - BYTE byOperateType; //ͣ1-2-ܽӣ3-У4-Ƶڣ5-Ҷϣ6-˫7-˫ - BYTE byRes1[3]; - NET_DVR_TERMINAL_DETAIL_CTRL_PARAM struCtrlParam; //Ʋ - BYTE byRes2[32]; -}NET_DVR_TERMINAL_CTRL_PARAM, *LPNET_DVR_TERMINAL_CTRL_PARAM; - -typedef struct tagNET_DVR_POS_INFO_OVERLAY -{ - DWORD dwSize; - BYTE byPosInfoOverlayEnable;// PosϢӿƣ0-ӣ1- - BYTE byOverlayType;//0-ӽ뿪1-ӽ롢뿪PASSID߶ - BYTE byRes[126]; -}NET_DVR_POS_INFO_OVERLAY, *LPNET_DVR_POS_INFO_OVERLAY; - - -typedef struct tagNET_DVR_CAMERA_WORK_MODE -{ - DWORD dwSize; - BYTE byWorkMode;//ģʽ0-ģʽ1-궨ģʽ - BYTE byPreviewImageMode;//Ԥͼģʽ0-ͼ1-ͼ2-ҵͼ - BYTE byRes[126]; -}NET_DVR_CAMERA_WORK_MODE, *LPNET_DVR_CAMERA_WORK_MODE; - -typedef struct tagNET_DVR_VCA_VERSION_LIST -{ - DWORD dwSize; //ṹ峤 - NET_DVR_VCA_VERSION struVcaVersion[NET_SDK_VERSION_LIST_LEN/*64*/];//㷨汾Ϣ - BYTE byRes[128]; -}NET_DVR_VCA_VERSION_LIST, *LPNET_DVR_VCA_VERSION_LIST; - -typedef struct tagNET_DVR_SETUP_CALIB_COND -{ - DWORD dwSize; - BYTE byCalibrateType;//궨ͣ0-δб궨1-Զ궨2-ֶ궨,3-ܱ궨 - BYTE byRes1[3]; - float fTiltAngle;//,λȣĬֵ0ǷΧ0-180,byCalibrateTypeΪ2ʱЧ - float fHeelAngle;//б,λȣбĬֵ0бǷΧ-90-90,byCalibrateTypeΪ2ʱЧ - float fHeight;//߶ȣ߶ȵλף߶Ĭֵ300ף߶ȷΧ200-500,byCalibrateTypeΪ2ʱЧ - NET_VCA_POLYGON struAutoCalibPolygon;//Զ궨򣬵byCalibrateTypeΪ1ʱЧ - BYTE byIntelligentType;//궨ͣ0- 1-2-ԣ3-쳣Ϊ⣻ֻڱ궨ʱNET_DVR_SETUP_CALIB_RESULTصݲЧ - BYTE byRes[127]; -}NET_DVR_SETUP_CALIB_COND, *LPNET_DVR_SETUP_CALIB_COND; - -typedef struct tagNET_DVR_SETUP_CALIB_RESULT -{ - DWORD dwSize; - BYTE byCalibrateType;//궨ͣ0-δб궨1-Զ궨2-ֶ궨,3-ܱ궨 - BYTE byRes1[3]; - float fTiltAngle;//,λȣĬֵ0ǷΧ0-180,byCalibrateTypeΪ2ʱЧ - float fHeelAngle;//б,λȣбĬֵ0бǷΧ-90-90,byCalibrateTypeΪ2ʱЧ - float fHeight;//߶ȣ߶ȵλף߶Ĭֵ300ף߶ȷΧ200-500,byCalibrateTypeΪ2ʱЧ - NET_VCA_POLYGON struCountPolygon;// - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 - NET_VCA_LINE struLine;// - BYTE byRes[128]; -}NET_DVR_SETUP_CALIB_RESULT, *LPNET_DVR_SETUP_CALIB_RESULT; - -typedef struct tagNET_DVR_CALL_QUERY_COND -{ - DWORD dwSize; - BYTE bySearchID[MAX_SEARCH_ID_LEN]; //ʶ - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byCallType; //ͣ1-ѽӣ2-δӣ3-Ѳ4- - BYTE byRes1[3]; - DWORD dwMaxResults; //β෵ظ - DWORD dwSearchPos; //ʼ - BYTE byRes2[32]; -}NET_DVR_CALL_QUERY_COND, *LPNET_DVR_CALL_QUERY_COND; - -typedef struct tagNET_DVR_CALL_QUERY_SINGLE -{ - DWORD dwSize; - BYTE byCallType; //ͣ1-ѽӣ2-δӣ3-Ѳ - BYTE byRes1[3]; - BYTE byTerminalName[TERMINAL_NAME_LEN]; //ն - BYTE byAddressURL[MAX_URL_LEN]; //ԶURLַ - NET_DVR_TIME struStartTime; //пʼʱ - NET_DVR_TIME struEndTime; //нʱ - BYTE byRes2[32]; -}NET_DVR_CALL_QUERY_SINGLE, *LPNET_DVR_CALL_QUERY_SINGLE; - - -typedef enum tagCALL_QUERY_RESULT_STATUS -{ - CALL_QUERY_RESULT_OK = 0, //ɹѯ - CALL_QUERY_RESULT_FAIL, //ѯʧܣδ֪ - CALL_QUERY_RESULT_MORE, //ɹѯ иûз - CALL_QUERY_RESULT_NOMATCH, //ûвѯƥ - CALL_QUERY_RESULT_PARAMERROR, //ѯ - CALL_QUERY_RESULT_INVALIDTIME, //ѯʱЧ - CALL_QUERY_RESULT_TIMEOUT, //ѯʱ -}CALL_QUERY_RESULT_STATUS; - -typedef struct tagNET_DVR_CALL_QUERY_RESULT -{ - DWORD dwSize; - BYTE bySearchID[MAX_SEARCH_ID_LEN]; //ʶ - BYTE byStatus; //ѯ״̬ οCALL_QUERY_RESULT_STATUSṹ - BYTE byRes[3]; // - DWORD dwCount; //ʵʲѯĽ - BYTE *pResults; //ݣdwCountNET_DVR_CALL_QUERY_SINGLE,ҪԤȷڴ - BYTE byRes2[32]; -}NET_DVR_CALL_QUERY_RESULT, *LPNET_DVR_CALL_QUERY_RESULT; - -typedef struct tagNET_DVR_CONFERENCE_CALL_INFO -{ - BYTE byConferenceID[MAX_ID_LEN]; //ID - BYTE byConferenceName[NAME_LEN]; // - NET_DVR_TIME struStartTime; //鿪ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byRes[512]; -}NET_DVR_CONFERENCE_CALL_INFO, *LPNET_DVR_CONFERENCE_CALL_INFO; - -typedef union tagNET_DVR_CALL_INFO -{ - BYTE byRes[640]; - NET_DVR_TERMINAL_CALL_INFO struTerminalCallInfo; //ն˵ԵϢ - NET_DVR_CONFERENCE_CALL_INFO struConferenceCallInfo; //Ϣ -}NET_DVR_CALL_INFO, *LPNET_DVR_CALL_INFO; - -typedef struct tagNET_DVR_CONFERENCE_CALL_ALARM -{ - DWORD dwSize; - BYTE byAlarmType; //ͣ1-У 2-״̬л3-ն - BYTE byCallType; //ͣΪ1ʱЧ1-ն˵ԵУ2- - BYTE byAutoAnswer; //ǷԶ0-1- - BYTE byCallStatusSwitch; //״̬лͣΪ2ʱЧ1-ʼУ2-гɹ3-н4-Զ˹Ҷ - NET_DVR_CALL_INFO struCallInfo; //Ϣ - BYTE byRes2[32]; -}NET_DVR_CONFERENCE_CALL_ALARM, *LPNET_DVR_CONFERENCE_CALL_ALARM; - -typedef struct tagNET_DVR_TERMINAL_INPUT_CFG -{ - DWORD dwSize; - DWORD dwInputNo; //ΪƵڱ - BYTE byStreamType;//ͣ0-1-2- - BYTE byRes[31]; -}NET_DVR_TERMINAL_INPUT_CFG, *LPNET_DVR_TERMINAL_INPUT_CFG; - -typedef struct tagNET_DVR_AUDIO_STATUS -{ - BYTE byMute; //Ƿ0-1- - BYTE byVolume; //1-100ǾʱЧ - BYTE byAudioInputDisabled; //Ƶ룬0-1- - BYTE byAudioInputVolume; //Ƶ1-100ƵʱЧ - BYTE byRes[32]; -}NET_DVR_AUDIO_STATUS, *LPNET_DVR_AUDIO_STATUS; - -typedef struct tagNET_DVR_TERMINAL_CONFERENCE_STATUS -{ - DWORD dwSize; - BYTE byConferenceState; //״̬0-У1-æµУ2-У3- - BYTE byConferenceType; //ͣ1-Ե㣬2-MCU - BYTE byDualStreamEnabled; //Ƿ˫0-δ1- - BYTE byMicPowerEnabled; //˷ԴǷ0-δ1- - DWORD dwInputNo; //ʹõƵں - NET_DVR_CALL_INFO struCallInfo; //Ϣ - NET_DVR_AUDIO_STATUS struAudioStatus; //Ƶ״̬ - BYTE byRes2[32]; -}NET_DVR_TERMINAL_CONFERENCE_STATUS, *LPNET_DVR_TERMINAL_CONFERENCE_STATUS; - -//նעGKϢ -typedef struct tagNET_DVR_TERMINAL_GK_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ - BYTE byRegisterState; //ע״̬0-δעᣬ1-עᣬֻ - BYTE byRes1[2]; - NET_DVR_IPADDR struGKIP; //GK IP - WORD wGKPort; //GK˿ں - BYTE byRes2[2]; - BYTE byRegisterName[REGISTER_NAME_LEN]; //նעᵽGK - BYTE byPassword[PASSWD_LEN]; //նעᵽGK - BYTE byRes3[16]; -}NET_DVR_TERMINAL_GK_CFG, *LPNET_DVR_TERMINAL_GK_CFG; - -//οز -typedef struct tagNET_DVR_WIN_ROAM_SWITCH_CFG -{ - DWORD dwSize; - BYTE byEnableRoam; //ǷΣ0-񣬷0- - BYTE byRes[31]; -}NET_DVR_WIN_ROAM_SWITCH_CFG,*LPNET_DVR_WIN_ROAM_SWITCH_CFG; - -typedef struct tagNET_DVR_LED_OUTPUT_CFG -{ - DWORD dwSize; - BYTE byEnableZoom; //Ƿţ0-1- - BYTE byAutoCutBlackEdge; //ǷԶüڱߣ0-1- - BYTE byRes1[2]; - WORD wLEDWidth; //ֱʿ - WORD wLEDHeight; //ֱʸ - DWORD dwRefreshRate; //ˢƵ - DWORD dwInputNO; //ͨ - BYTE byRes2[32]; -}NET_DVR_LED_OUTPUT_CFG, *LPNET_DVR_LED_OUTPUT_CFG; - -typedef struct tagNET_DVR_LED_OUTPUT_PORT_CFG -{ - DWORD dwSize; - BYTE byEnabled; //Ƿʹܣ0-1- - BYTE byRes1[3]; - DWORD dwPortNum; //Ķ˿ڸ - DWORD dwPortNo[MAX_OUTPUT_PORT_NUM]; //Ķ˿ں - BYTE byRes2[64]; -}NET_DVR_LED_OUTPUT_PORT_CFG, *LPNET_DVR_LED_OUTPUT_PORT_CFG; - -typedef struct tagNET_DVR_LINE_COLUMN_INFO -{ - WORD wLine; //к - WORD wColumn; //к -}NET_DVR_LINE_COLUMN_INFO, *LPNET_DVR_LINE_COLUMN_INFO; - -typedef struct tagNET_DVR_LED_DISPLAY_AREA -{ - DWORD dwSize; - NET_DVR_LINE_COLUMN_INFO struLCInfo; //ʾʼλ(տк) - WORD wWidth; //տ - WORD wHeight; //տ - WORD wRecvCardWidth; //տȴСΪ0ʹö˿ڲнտС - WORD wRecvCardHeigt; //տ߶ȴСΪ0ʹö˿ڲнտС - BYTE byRes[32]; -}NET_DVR_LED_DISPLAY_AREA, *LPNET_DVR_LED_DISPLAY_AREA; - -typedef struct tagNET_DVR_LED_RECV_CARD_INFO -{ - NET_DVR_LINE_COLUMN_INFO struPos; //տλ - WORD wRecvCardWidth; //տȴС - WORD wRecvCardHeigt; //տ߶ȴС -}NET_DVR_LED_RECV_CARD_INFO, *LPNET_DVR_LED_RECV_CARD_INFO; - -typedef struct tagNET_DVR_LED_PORT_BACKUP -{ - BYTE byEnabled; //Ƿö˿ڱݣ0-1- - BYTE byPortMode; //˿ģʽ1-ڣ2-ݿ - BYTE byRes1[2]; - DWORD dwPairPort; //Զ˿ںţ˿Ϊʱ˲Ϊݿڶ˿ںţ˿Ϊݿʱ˲Ϊڶ˿ں - BYTE byRes2[16]; -}NET_DVR_LED_PORT_BACKUP, *LPNET_DVR_LED_PORT_BACKUP; - -typedef struct tagNET_DVR_LED_PORT_CFG -{ - DWORD dwSize; - BYTE byEnabled; //Ƿøö˿ڣ0-1- - BYTE byRes1[3]; - NET_DVR_LED_PORT_BACKUP struLedPortBackup; //˿ڱݲ - DWORD dwRecvCardNum; //˿ӵĽտ - NET_DVR_LED_RECV_CARD_INFO struRecvCard[MAX_SINGLE_PORT_RECVCARD_NUM]; //տϢ - DWORD dwPortNo; //˿ںţȡж˿ڲʱЧ - BYTE byRes2[64]; -}NET_DVR_LED_PORT_CFG, *LPNET_DVR_LED_PORT_CFG; - -typedef struct tagNET_DVR_LED_DISPLAY_CFG -{ - DWORD dwSize; - NET_DVR_COLOR_TEMPERATURE_CFG struColorTemp; //ɫ² - NET_DVR_VIDEO_OUT_CFG struVoutCfg; //ʾЧ - BYTE byRes[32]; -}NET_DVR_LED_DISPLAY_CFG, *LPNET_DVR_LED_DISPLAY_CFG; - -typedef struct tagNET_DVR_LED_TEST_SIGNAL_CFG -{ - DWORD dwSize; - BYTE byEnabled; //Ƿòźţ0-ã1- - BYTE bySignalType; //źͣ1-2-ƣ3-״4-5-ˮƽʹֱҽ壬6-̣0xff-Զɫ - BYTE byRes1[2]; - NET_DVR_RGB_COLOR struSignalColor; //źɫźΪ0xffʱЧ - BYTE byRes[32]; -}NET_DVR_LED_TEST_SIGNAL_CFG, *LPNET_DVR_LED_TEST_SIGNAL_CFG; - -typedef struct tagNET_DVR_LED_NOSIGNAL_CFG -{ - DWORD dwSize; - BYTE byNoSignalMode; //źʾģʽ1-2-ʾLOGO3-ʾԶͼƬ - BYTE byRes[63]; -}NET_DVR_LED_NOSIGNAL_CFG, *LPNET_DVR_LED_NOSIGNAL_CFG; - -typedef struct tagNET_DVR_LED_INPUT_CFG -{ - DWORD dwSize; - DWORD dwResolutionWidth; //ֱʿֻ - DWORD dwResolutionHeight; //ֱʸߣֻ - DWORD dwRefreshRate; //źˢƵʣֻ - NET_DVR_SCREEN_VGA_CFG struVgaCfg; //VGAźŵVGAʱɵ - BYTE byRes[32]; -}NET_DVR_LED_INPUT_CFG, *LPNET_DVR_LED_INPUT_CFG; - -typedef struct tagNET_DVR_LED_RECV_CARD_CFG_COND -{ - DWORD dwSize; - DWORD dwOutputNo; // - NET_DVR_LINE_COLUMN_INFO struPosStart; //տʼλ - NET_DVR_LINE_COLUMN_INFO struPosEnd; //տλ - BYTE byRes[32]; -}NET_DVR_LED_RECV_CARD_CFG_COND, *LPNET_DVR_LED_RECV_CARD_CFG_COND; - -typedef struct tagNET_DVR_LED_GAMMA_CFG_COND -{ - DWORD dwSize; - DWORD dwOutputNo; //; - NET_DVR_LINE_COLUMN_INFO struPosStart; //տʼλ - NET_DVR_LINE_COLUMN_INFO struPosEnd; //տλ - BYTE byGammaType; //GammaͣGammaʱЧ0-RGBGamma1-ɫGamma2-ɫGamma3-ɫGamma - BYTE byRes[31]; -}NET_DVR_LED_GAMMA_CFG_COND, *LPNET_DVR_LED_GAMMA_CFG_COND; - -typedef struct tagNET_DVR_LED_GAMMA_CFG -{ - DWORD dwSize; - WORD wGammaValue[MAX_GAMMA_X_VALUE]; //GAMMAYȡֵÿԪȡֵ0-65535ԶģʽʱЧ - BYTE byGammaModel; //GAMMAģʽ0-Զģʽ1-ҹģʽ12-ҹģʽ23-ģʽ4-ģʽ15-ģʽ2 - BYTE byRes[127]; -}NET_DVR_LED_GAMMA_CFG, *LPNET_DVR_LED_GAMMA_CFG; - -typedef struct tagNET_DVR_LED_CLOCK_CFG -{ - DWORD dwDclkRate; //ʱdclkƵʣʵֵ10λMHzʵֵΧ1.0-31.3 - DWORD dwGclkRate; //ˢʱgclkƵʣʵֵ10λMHzʵֵΧ1.0-31.3 - DWORD dwGclkCountNum; //300ns gclkֵ - BYTE byDclkDutyRatio; //dclkʱռձȣȡֵ255075 - BYTE byDclkPhase; //dclkλȡֵ0,1,2,3 - BYTE byGclkNum; //ˢ1ҪЧgclk0-255 - BYTE byRes[17]; -}NET_DVR_LED_CLOCK_CFG, *LPNET_DVR_LED_CLOCK_CFG; - -typedef struct tagNET_DVR_LED_RECV_CFG -{ - DWORD dwSize; - NET_DVR_LED_CLOCK_CFG struClockCfg; //ʱز - BYTE byGrayLevel; //Ҷȵȼȡֵ1314 - BYTE byRefreshRate; //ˢ±ʣȡֵ1-6 - BYTE byLineScanNum; //ɨ0-255 - BYTE byRefreshCompleteGrayNum; //ˢҽ0-255 - DWORD dwHBlank; //ʱ䣬λgclkʱӸȡֵ1-65535 - DWORD dwAfterglowCtrl; //Ϳƽʱ䣬λgclkʱӸȡֵ1-65535 - DWORD dwLineFeedTime; //ʱ䣬λgclkʱӸȡֵ1-65535 - BYTE byRes[128]; -}NET_DVR_LED_RECV_CFG, *LPNET_DVR_LED_RECV_CFG; - -typedef struct tagNET_DVR_LED_REGISTOR_VALUE -{ - BYTE byChip1High; //оƬ1ֽ - BYTE byChip1Low; //оƬ1ֽ - BYTE byChip2High; //оƬ2ֽ - BYTE byChip2Low; //оƬ2ֽ - BYTE byChip3High; //оƬ3ֽ - BYTE byChip3Low; //оƬ3ֽ - BYTE byChip4High; //оƬ4ֽ - BYTE byChip4Low; //оƬ4ֽ - BYTE byChip5High; //оƬ5ֽ - BYTE byChip5Low; //оƬ5ֽ - BYTE byChip6High; //оƬ6ֽ - BYTE byChip6Low; //оƬ6ֽ - BYTE byRes[4]; -}NET_DVR_LED_REGISTOR_VALUE, *LPNET_DVR_LED_REGISTOR_VALUE; - -typedef struct tagNET_DVR_LED_RECV_REGISTOR -{ - BYTE byEliminateGhostShadowLevel; //¹Ӱȼ0-5 - BYTE byEliminateShadowy; //һɨƫȼ0-15 - BYTE byGrayEqualize1; //ͻƫɫ10-3 - BYTE byGrayEqualize2; //ͻƫɫ20-15 - BYTE byEnableGrayUniformity; //ͻҾǷ0-أ1- - BYTE byDisableHGrayStripes; //ͻҺǷ0-أ1- - BYTE byGhostShadowEnhancedMode1; //¹Ӱǿģʽ1Ƿ0-أ1- - BYTE byGhostShadowEnhancedMode2; //¹Ӱǿģʽ2Ƿ0-أ1- - BYTE byClearBadPoint; //ȥʹܣ0-ʹܣ1-ʹ - BYTE byEnableSelfDefineRegistor; //ǷԶĴֵ0-1- - BYTE byRes1[2]; - NET_DVR_LED_REGISTOR_VALUE struRegistorValue; //ԶĴ - BYTE byEnabledExGradientOptimition; //Żأ0-رգ!0- - BYTE byDummyGClockCycle; //Dummy GClockڣŻʱЧλgclk - BYTE byDummyGClockHighTime; //Dummy GClockߵƽʱ䣬ŻʱЧλ8ns - BYTE byFirstGClockExtendedTime; //һGClockչʱ䣬ŻʱЧλ8ns - BYTE byRes[28]; -}NET_DVR_LED_RECV_REGISTOR, *LPNET_DVR_LED_RECV_REGISTOR; - -typedef struct tagNET_DVR_LED_RECV_ADVANCED_CFG -{ - DWORD dwSize; - NET_DVR_LED_RECV_REGISTOR struFirstRegistor; //һտ߼ԶĴֵΪоƬĴֵ - NET_DVR_LED_RECV_REGISTOR struSecondRegistor; //ڶտ߼ԶĴֵΪоƬĴֵ - NET_DVR_LED_RECV_REGISTOR struThirdRegistor; //տ߼ԶĴֵΪоƬĴֵ - BYTE byRes2[64]; -}NET_DVR_LED_RECV_ADVANCED_CFG,*LPNET_DVR_LED_RECV_ADVANCED_CFG; - -typedef struct tagNET_DVR_LED_CHECK_COND -{ - DWORD dwSize; - DWORD dwOutputNo; // - NET_DVR_LINE_COLUMN_INFO struPosStart; //տʼλ - BYTE byStartPosType; //ʼλͣ0-ʹýտʼλã1-ʹλ - BYTE byRes1[3]; - DWORD dwXCoordinate; /*ϽʼX*/ - DWORD dwYCoordinate; /*ϽY*/ - DWORD dwWidth; /**/ - DWORD dwHeight; /*߶*/ - BYTE byRes[8]; -}NET_DVR_LED_CHECK_COND, *LPNET_DVR_LED_CHECK_COND; - -//ѯʽ -enum ADDR_QUERY_TYPE -{ - QUERYSVR_BY_COUNTRYID = 0, //ұŲѯַ - QUERYSVR_BY_SERVERTYPE = 1, // - QUERYDEV_BY_NICKNAME_DDNS = 2, //dzƴhiDDNSϲѯ豸Ϣ - QUERYDEV_BY_SERIAL_DDNS = 3, //кŴhiDDNSϲѯ豸Ϣ - CHECKDEV_BY_NICKNAME_DDNS = 4,//dzƴhiDDNS豸Ϣ - CHECKDEV_BY_SERIAL_DDNS = 5, //кŴhiDDNS豸Ϣ - QUERYDEV_BY_NICKNAME_IPSERVER = 6, //dzƴIPServerϲѯ豸Ϣ - QUERYDEV_BY_SERIAL_IPSERVER = 7 //dzƴIPServerϲѯ豸Ϣ -}; -#define CLIENT_VERSION_LEN 64 -//ұŲѯṹ -typedef struct tagNET_DVR_QUERY_COUNTRYID_COND -{ - WORD wCountryID; //ұ,ȡֵһ - char szSvrAddr[MAX_DOMAIN_NAME];//ַ,ʾȥĸϲѯĿϢ - char szClientVersion[CLIENT_VERSION_LEN];//ͻ˰汾Ϣ,:iVMS4500 V4.0.0.0 build20150112 - BYTE byRes[382]; -}NET_DVR_QUERY_COUNTRYID_COND,*LPNET_DVR_QUERY_COUNTRYID_COND; - -//ұŲѯķؽṹ -typedef struct tagNET_DVR_QUERY_COUNTRYID_RET -{ - char szResolveSvrAddr[MAX_DOMAIN_NAME];//ַ(豸ע) - char szAlarmSvrAddr[MAX_DOMAIN_NAME];//ַ - BYTE byRes[1024]; -}NET_DVR_QUERY_COUNTRYID_RET,*LPNET_DVR_QUERY_COUNTRYID_RET; - -//Ͳѯṹ -typedef struct tagNET_DVR_QUERY_SERVERTYPE_COND -{ - WORD wSvrType; //, 6-ֻͷ - char szSvrAddr[MAX_DOMAIN_NAME];//ַ,ʾȥĸϲѯĿϢ - char szClientVersion[CLIENT_VERSION_LEN];//ͻ˰汾Ϣ - BYTE byRes[382]; -}NET_DVR_QUERY_SERVERTYPE_COND, *LPNET_DVR_QUERY_SERVERTYPE_COND; - -//Ͳѯķؽṹ -typedef struct tagNET_DVR_QUERY_SERVERTYPE_RET -{ - char szSvrAddr[MAX_DOMAIN_NAME]; //ַ - WORD wSvrPort; //˿ - BYTE byRes[446]; -}NET_DVR_QUERY_SERVERTYPE_RET, *LPNET_DVR_QUERY_SERVERTYPE_RET; - -//hiDDNSϲѯϵṹ -typedef struct tagNET_DVR_QUERY_DDNS_COND -{ - char szResolveSvrAddr[MAX_DOMAIN_NAME];//ַ - char szDevNickName[MAX_DOMAIN_NAME]; //豸ڽϵı - char szDevSerial[SERIALNO_LEN]; //豸к - char szClientVersion[CLIENT_VERSION_LEN];//ͻ˰汾Ϣ,:iVMS4500 V4.0.0.0 build20150112 - BYTE byRes[272]; // -}NET_DVR_QUERY_DDNS_COND,*LPNET_DVR_QUERY_DDNS_COND; - -//hiDDNSϲѯصĽṹ -typedef struct tagNET_DVR_QUERY_DDNS_RET -{ - char szDevIP[SDK_MAX_IP_LEN]; //豸IPַ - WORD wCmdPort; //ƶ˿ڣSDKӶ˿ڣ - WORD wHttpPort; //http˿ - BYTE byRes[460]; -}NET_DVR_QUERY_DDNS_RET,*LPNET_DVR_QUERY_DDNS_RET; - -//hiDDNSϷصĽṹ -typedef struct tagNET_DVR_CHECK_DDNS_RET -{ - BYTE byDevStatus; //豸״̬,0-,1-Ҳ,2-豸,3-豸ڵǰ - BYTE byRes1; - NET_DVR_QUERY_DDNS_RET struQueryRet; //ַϢ - WORD wRegionID; //ǰ豸ע[1,2,3̫,4й,5ŷ,6] - BYTE byRes2[508]; -}NET_DVR_CHECK_DDNS_RET,*LPNET_DVR_CHECK_DDNS_RET; - -//IPServerϲѯṹ -typedef struct tagNET_DVR_QUERY_IPSERVER_COND -{ - char szResolveSvrAddr[MAX_DOMAIN_NAME];//ַ - WORD wResolveSvrPort; //˿ - char szDevNickName[MAX_DOMAIN_NAME]; //豸ڽϵı - char szDevSerial[SERIALNO_LEN]; //豸к - BYTE byRes[334]; // -}NET_DVR_QUERY_IPSERVER_COND,*LPNET_DVR_QUERY_IPSERVER_COND; - -//IPServerϲѯصĽṹ -typedef struct tagNET_DVR_QUERY_IPSERVER_RET -{ - char szDevIP[SDK_MAX_IP_LEN]; //豸IPַ - WORD wCmdPort; //ƶ˿ڣSDKӶ˿ڣ - BYTE byRes[462]; -}NET_DVR_QUERY_IPSERVER_RET,*LPNET_DVR_QUERY_IPSERVER_RET; - -typedef struct tagNET_DVR_CURRENT_VALID_PORT -{ - DWORD dwSize; - WORD wHTTPPort; - BYTE byRes[122]; -}NET_DVR_CURRENT_VALID_PORT,*LPNET_DVR_CURRENT_VALID_PORT; - -typedef struct tagNET_DVR_AUDIO_CHANNEL -{ - DWORD dwChannelNum; //ͨ - BYTE byres[32]; // -}NET_DVR_AUDIO_CHANNEL, *LPNET_DVR_AUDIO_CHANNEL; - -//ṹ -typedef struct tagNET_DVR_STREAMENCRYPTION_COND -{ - DWORD dwSize; //ṹС - DWORD dwChan; //Ԥͨ - BYTE byRes[128]; -}NET_DVR_STREAMENCRYPTION_COND, *LPNET_DVR_STREAMENCRYPTION_COND; - -//Ϣṹ -typedef struct tagNET_DVR_STREAMENCRYPTION_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ܣ0~رգ1~ - BYTE byRes[255]; -}NET_DVR_STREAMENCRYPTION_CFG, *LPNET_DVR_STREAMENCRYPTION_CFG; - -//У׼GPSγȲ -typedef struct tagNET_DVR_REVISE_GPS_CFG -{ - DWORD dwSize; //ṹС - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-ȣ1- - BYTE byMode ;//ģʽ 0-Ĭϣ1-Զ2-ֶ - BYTE byRes; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - BYTE byRes1[300]; -}NET_DVR_REVISE_GPS_CFG, *LPNET_DVR_REVISE_GPS_CFG; - -typedef struct tagNET_DVR_PDC_RECOMMEND -{ - DWORD dwSize; - WORD wWidth;//Ƽֵ[0, 1000] - BYTE byRes[126]; -}NET_DVR_PDC_RECOMMEND,*LPNET_DVR_PDC_RECOMMEND; - -typedef struct tagNET_DVR_FLASHSTORAGE_REMOVE -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byPDCRemoveEnable;//ʹ 0-1- - BYTE byRes[127]; -}NET_DVR_FLASHSTORAGE_REMOVE,*LPNET_DVR_FLASHSTORAGE_REMOVE; - -/********************************DS-TME4XXƻ Begin****************************/ -typedef struct tagNET_DVR_PARKING_CARD -{ - DWORD dwSize; - DWORD dwChannel;//Ĭ1ݶͨ豸 - char szCardNo[MAX_CARDNO_LEN/*48*/];// - BYTE byCardType;//Ƭ 0-ʱ1-̶ - BYTE byCardStatus;//Ƭ״̬ 0-1-ʧ2-ע - BYTE byChargeRuleID;//շѹID - BYTE byDelete;//Ƿɾ 0-ɾ1-ɾ - NET_DVR_TIME_V30 struStartTime;//Чʼʱ - NET_DVR_TIME_V30 struEndTime;//Чʱ - BYTE byRes[128]; -}NET_DVR_PARKING_CARD,*LPNET_DVR_PARKING_CARD; - -//ڿƬϢϴ -typedef struct tagNET_DVR_GATE_CARDINFO -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - char szCardNo[MAX_CARDNO_LEN/*48*/];// - char szPassVehicleID[MAX_VEHICLE_ID_LEN];//Ψһʶ - char szInVehicleID[MAX_VEHICLE_ID_LEN];//ʱΨһʶ - NET_DVR_TIME_V30 struSwipeTime;//ˢʱ - NET_DVR_TIME_V30 struCardTime;//Ƭʱ䣬볡ʱдʱ䣬ֻԳƱã0ʾ볡ʱ - BYTE byLetPass;//ڷзʽ 0-(CardType == ֽƱ)Ҫշѣ1-У2-շѷ - BYTE byCardType;// 0-̶1-ʱ2-ֽƱ - BYTE byRes[126]; -}NET_DVR_GATE_CARDINFO, *LPNET_DVR_GATE_CARDINFO; - -//̨ҵϴ -typedef struct _tagNET_LOADING_DOCK_OPERATEINFO_ -{ - DWORD dwSize; //ṹ - BYTE byAbsTime[32]; //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999 λΪ - BYTE byParkingNo[MAX_PARKNO_LEN/*16*/];//λ - DWORD dwIndex; // - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ,עжСҲ복ƺ룬Сֺͳƺмÿոָ - BYTE byCurrentWorkerNumber;//ǰҵ - BYTE byCurrentGoodsLoadingRate;//ǰװ 0- 1- 2- 3- 4- - BYTE byDoorsStatus;//״̬ 0-Źر 1-ſ - BYTE byRes1; //ֽ - DWORD dwBackPicDataLength;//ͼƬ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64)) //win64linux64ָΪ8ֽ - BYTE *pBackPicDataBuffer; //ͼƬָ -#else - BYTE* pBackPicDataBuffer; // ͼƬָ - BYTE byRes2[4]; -#endif - DWORD dwChannel; //ͨţ0-֧֣ϵ豸֧ͨŷأ - BYTE byRes[508]; -}NET_LOADING_DOCK_OPERATEINFO, *LPNET_LOADING_DOCK_OPERATEINFO; - -//ڸϢϴ(COMM_GATE_CHARGEINFO_UPLOAD) -typedef struct tagNET_DVR_GATE_CHARGEINFO -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - char sLicense[MAX_LICENSE_LEN]; // - char szCardNo[48]; - NET_DVR_TIME_V30 struEntranceTime; - NET_DVR_TIME_V30 struDepartureTime; - char szDepartureID[32]; //Ψһʾ - char szEntranceID[32]; //볡Ψһʾ - DWORD dwTotalCost; //ʵշѽ*100 - char szOperateName[32]; //ѻΪ"offline" - BYTE byChargeRuleId; //շѹcenterId - BYTE byVehicleType;//ͣ0-1-Сͳ2-ͳ - BYTE byRes[127];//Ԥ -}NET_DVR_GATE_CHARGEINFO,*LPNET_DVR_GATE_CHARGEINFO; - -//ͣͣƽṹ -typedef struct tagNET_DVR_PARKING_CARD_CTRL_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byCardType;//Ƭ 0-ʱ - BYTE byDeleteALL;//Ƿȫɾ 0-ɾ1-ɾ - BYTE byRes[62]; -}NET_DVR_PARKING_CARD_CTRL_PARAM,*LPNET_DVR_PARKING_CARD_CTRL_PARAM; - - -//TMEץͼϴ -typedef struct tagNET_DVR_TME_VEHICLE_RESULT_ -{ - DWORD dwSize; - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byRes1; // - DWORD dwChanIndex; //ͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[48]; //ʾ - BYTE byDeviceID[48]; //豸 - BYTE byDir; //ʾ0- 1 볡2 - BYTE byRes2; - WORD wBackList; //ΪǷ񱨾 0 ʾΪ 1 ʾֹ - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[4]; //ͼƬϢ,ݶ4ͼ - BYTE byPassVehicleID[32]; //ΨһID - BYTE byCardNo[48]; // - BYTE bySwipeTime[32];//ˢʱ ʱʽΪyyyymmddhh24missfff - DWORD dwCharge; //շѽ ֣ - BYTE byHistory; //Ƿʷ 0- 1- - BYTE byLetPass; //ǷѷУ0-δУ1- 2-δ֪ - BYTE byRes3[186]; -} NET_DVR_TME_VEHICLE_RESULT, *LPNET_DVR_TME_VEHICLE_RESULT; - -//شŹעϢ -typedef struct tagNET_DVR_MVMRegisterInfo_ -{ - DWORD dwSize; //ṹС - char sDetectorID[16]; //ID - char sManagerID[16]; //ID - char sSim[20]; //Ϣ - DWORD dwLocalIP; //IPv4ַdwLocalIP=0x01020304,IPַΪ1.2.3.4 - DWORD dwLocalIPMask; //룬ʽͬdwLocalIP - DWORD dwLocalGateway; //أʽͬdwLocalIP - DWORD dwDstIP; //ĿIPʽͬdwLocalIP - BYTE byMACAddr[6]; //macַ - WORD wLocalPort; //ض˿ - WORD wFirmwareYear; //汾 - BYTE byFirmwareMonth; //汾· - BYTE byFirmwareDay; //汾 - BYTE byMajorVersion; //汾Сǰ - BYTE byMinorVersion; //汾С - BYTE byRes[170]; -}NET_DVR_MVMRegisterInfo, *LPNET_DVR_MVMRegisterInfo; - -//ش״̬Ϣ -typedef struct tagNET_DVR_SingleMagneticStatus_ -{ - DWORD dwSize; //ṹС - char sDetectorID[16]; //ID - char sManagerID[16]; //ID - char sParkNum[16]; //λ - NET_DVR_TIME_V30 struDetectorTime; //ʱ - DWORD dwRssi; //źǿȣʵֵΧ-137~0dbm˴ûзţΪʵֵľֵ - BYTE byParkinglotState; //λ״̬0-޳1-г - BYTE byBatteryState; //״̬0-100%1-75%2-50%3-25%4-С5% - BYTE byDeviceState; //豸״̬ 0-1- - BYTE byCMD; //0-λ仯1- - BYTE byRes[184]; -}NET_DVR_SingleMagneticStatus, *LPNET_DVR_SingleMagneticStatus; - -//Ϣͬ -typedef struct tagNET_DVR_PARKING_VEHICLE -{ - DWORD dwSize; - DWORD dwChannel;//Ĭ1ݶͨ豸 - char szLicense[MAX_LICENSE_LEN/*16*/];//ƺ - char szRelateCardNo[MAX_CARDNO_LEN/*48*/];// - NET_DVR_TIME_V30 struStartTime;//Чʼʱ - NET_DVR_TIME_V30 struEndTime;//Чʱ - BYTE byVehicleType;//ͣ0-1-Сͳ2-ͳ - BYTE byPlateColor;//ɫο VCA_PLATE_COLOR - BYTE byRes[126]; -}NET_DVR_PARKING_VEHICLE,*LPNET_DVR_PARKING_VEHICLE; - -//ɷѽϢ -typedef struct tagNET_DVR_CHARGEACCOUNT_CFG -{ - DWORD dwSize;//ṹС - float fAccount;//ʵշѽ - BYTE byRes[128]; -}NET_DVR_CHARGEACCOUNT_CFG,*LPNET_DVR_CHARGEACCOUNT_CFG; - -//ͣƱ豸ǶȲ -typedef struct tagNET_DVR_PXMULTICTRL_CFG -{ - DWORD dwSize;//ṹС - DWORD dwMultiChansWaitTime;//Ƕץƥʱ䣨1~300s - BYTE byMultiChansCapEnabled;//ǷöǶץ 0-1- - BYTE byRes[127]; -}NET_DVR_PXMULTICTRL_CFG,*LPNET_DVR_PXMULTICTRL_CFG; - -//ͣƱѻ² -typedef struct tagNET_DVR_PXOFFLINE_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled;//ǷƱѻģʽ0- 1- - BYTE byChargeEnabled;//Ƿѻշ 0-1- - BYTE byAlarmEnabled;//Ƿѻ 0-1- - BYTE byRecordSource;//¼ 0-ʶ 1- - DWORD dwTimeWait;//Ʊѻģʽǰĵȴʱ䣨1-300룩 - /** - realeaseMode&(0x1<<0) ̶ - realeaseMode&(0x1<<1) ̶ - realeaseMode&(0x1<<2) ʱ - realeaseMode&(0x1<<3) ʱ - realeaseMode&(0x1<<4) ޳Ʒ - realeaseMode&(0x1<<5) ̶Զ - realeaseMode&(0x1<<6) ʱԶ - */ - DWORD dwRealeaseMode; //зʽλʾ - BYTE byVehCardmatch;//һ 0-1- - BYTE bySingleInSingleOut;// 0-1- - BYTE byRes[126]; -}NET_DVR_PXOFFLINE_CFG,*LPNET_DVR_PXOFFLINE_CFG; - -typedef struct tagNET_DVR_PARKINGSAPCE_CFG -{ - DWORD dwSize;//ṹС - DWORD dwTotalParkingLot;//ͣλ - DWORD dwCurrParkingLot;//ǰʣͣλ - BYTE byRes[128]; -}NET_DVR_PARKINGSAPCE_CFG,*LPNET_DVR_PARKINGSAPCE_CFG; - -typedef struct tagNET_DVR_PAPERCHARGEINFO_CFG -{ - DWORD dwSize;//ṹС - char szBarCode[LEN_16];//루16λַ - char szLicense[MAX_LICENSE_LEN]; //ƺ - char szVehicleInTime[LEN_32];//볡ʱ䣨32λַ YYYY-MM-DD HH:MM:SS - char szPaymentTime[LEN_32];//ɷʱ䣨32λַ YYYY-MM-DD HH:MM:SS - float fPaymentAmount;//ɷѽ - DWORD dwPaymentOutFailureTime;//ɷѳʧЧʱ䣨DWORD - BYTE byVehicleOutEnabled; //Ƿ: 0- 1- - BYTE byRes[128]; -}NET_DVR_PAPERCHARGEINFO_CFG,*LPNET_DVR_PAPERCHARGEINFO_CFG; - -//ͣƱ -typedef struct tagNET_DVR_ILLEGALCARDFILTERING_CFG -{ - DWORD dwSize;//ṹС - char sLEDDefaultInfo[MAX_LED_INFO_LEN/*512*/]; // LEDĬʾ - BYTE byillegalCardFilteringEnabled;//÷Ƿ,0~ã1~ - BYTE bySendCardSensingCoilEnabled;//ǷظȦ - BYTE byWiegendSensingCoilEnabled;//Զ뿨ǷظȦ - BYTE byGateSwitchEnabled; //ǷеբϢ - BYTE byVerifyKeyWriteCardEnabled;//Ƿ֤Կд - BYTE byNoplateTakeCardEnabled;// Ƿ޳ȡƾݷ - BYTE byRes[126]; -}NET_DVR_ILLEGALCARDFILTERING_CFG,*LPNET_DVR_ILLEGALCARDFILTERING_CFG; - - -//ͣڳշѹṹ -typedef struct tagNET_DVR_TME_CHARGERULE_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char szCardNo[32];// - BYTE byRes[128]; -}NET_DVR_TME_CHARGERULE_COND, *LPNET_DVR_TME_CHARGERULE_COND; - -//LEDĻʾ -typedef struct tagNET_DVR_LEDDISPLAY_CFG -{ - DWORD dwSize;//ṹС - char sDisplayInfo[MAX_LED_INFO_LEN/*512*/]; // LEDʾ - BYTE byDisplayMode;//ʾʽ:0~,1~,2~ʾ - BYTE bySpeedType;//ٶ:0~,1~,2~ - BYTE byShowPlateEnable;//ʾʹܣ0~رգ1~ - BYTE byRes1; - DWORD dwShowTime;//ʾʱ1~60 - BYTE byRes[128]; -}NET_DVR_LEDDISPLAY_CFG,*LPNET_DVR_LEDDISPLAY_CFG; - -//Ʋ -typedef struct tagNET_DVR_VOICEBROADCAST_CFG -{ - DWORD dwSize;//ṹС - char sInfo[MAX_VOICE_INFO_LEN/*128*/]; // - BYTE byBroadcastNum;// 1~10 - BYTE byIntervalTime;// ʱ,1~5s - BYTE byRes[126]; -}NET_DVR_VOICEBROADCAST_CFG,*LPNET_DVR_VOICEBROADCAST_CFG; - -//ֽƱӡʽ -typedef struct tagNET_DVR_PAPERPRINTFORMAT_CFG -{ - DWORD dwSize;//ṹС - char sTitleInfo[MAX_LITLE_INFO_LEN/*64*/]; //ֽƱ - char sCustomInfo[MAX_CUSTOM_INFO_LEN/*64*/]; //ֽƱԶϢ - char sPhoneNum[MAX_PHONE_NUM_LEN/*16*/];//ϵ绰 - BYTE byPrintInTimeEnabled; //Ƿӡ볡ʱ - BYTE byRes[127]; -}NET_DVR_PAPERPRINTFORMAT_CFG,*LPNET_DVR_PAPERPRINTFORMAT_CFG; - - -//բʱ -typedef struct tagNET_DVR_LOCKGATE_TIME_CFG -{ - char sBeginTime[LEN_32];//ʼʱ䣨32λַ HH:MM:SS - char sEndTime[LEN_32];//ʱ䣨32λַ HH:MM:SS - BYTE byRes[64]; -}NET_DVR_LOCKGATE_TIME_CFG,*LPNET_DVR_LOCKGATE_TIME_CFG; - -//բ -typedef struct tagNET_DVR_LOCKGATE_CFG -{ - DWORD dwSize;//ṹС - NET_DVR_LOCKGATE_TIME_CFG struTime[LOCKGATE_TIME_NUM]; //բʱ - BYTE byRes[128]; -}NET_DVR_LOCKGATE_CFG,*LPNET_DVR_LOCKGATE_CFG; - -//ͬ״̬ -typedef struct NET_DVR_PARKING_DATASTATE_INFO -{ - DWORD dwSize; - char szAppSerialNum [MAX_APP_SERIALNUM_LEN/*32*/];//Ӧк, ǰӵӦ - DWORD dwParkingNum; //ǰͣ - DWORD dwUpdataSerialNum; //к; µкš - BYTE byRes[256]; -} NET_DVR_PARKING_DATASTATE_INFO,*LPNET_DVR_PARKING_DATASTATE_INFO; - -//EPTZ -typedef struct tagNET_DVR_EPTZ_CFG -{ - DWORD dwSize; - BYTE byEnableEPTZ; //ǷEPTZ, 0-ã1 - - BYTE byRes[503]; -}NET_DVR_EPTZ_CFG, *LPNET_DVR_EPTZ_CFG; - -//ĵ -typedef struct tagNET_DVR_CENTER_POINT_CFG -{ - DWORD dwSize; - NET_VCA_POLYGON struRegion;//Χ - BYTE byRes[512]; -}NET_DVR_CENTER_POINT_CFG, *LPNET_DVR_CENTER_POINT_CFG; - -/********************************DS-TME4XXƻ End****************************/ - -/********************************IPC FF Start****************************/ -typedef struct tagNET_DVR_FTPUPLOAD_PARAM -{ - char szRuleTypeItem[MAX_SINGLE_FTPPICNAME_LEN/*20*/]; - char szCameraName[MAX_CAMNAME_LEN/*32*/]; - BYTE byRes[64]; -}NET_DVR_FTPUPLOAD_PARAM, *LPNET_DVR_FTPUPLOAD_PARAM; - -//char szRuleTypeItem[MAX_SINGLE_FTPPICNAME_LEN/*20*/]; -//ǹ̶ַ capture_time,plate_No,alarm_type,camera_name -//±ʾȺ˳ - -//char szCameraName[MAX_CAMNAME_LEN/*32*/]; -//szRuleTypeItemֶαʾΪ camera_name - -typedef struct tagNET_DVR_FTPUPLOADCFG -{ - DWORD dwSize; - BYTE byEventType; //¼ͣ0-Ĭϣ1- - BYTE byMode; //ͼƬģʽ0-Ĭϣ1-Զ - BYTE byRes[62]; - NET_DVR_FTPUPLOAD_PARAM struCustomVehicle[MAX_FTPNAME_NUM/*12*/]; - BYTE byRes1[1024] ; -}NET_DVR_FTPUPLOADCFG, *LPNET_DVR_FTPUPLOADCFG; - -/********************************IPC FF End****************************/ - -//Ϣն -typedef struct tagNET_DVR_PUBLISH_UPGRADE_COND -{ - DWORD dwSize; - DWORD dwUpgradeType; //ͣ1-ն2-ն - DWORD dwTerminalNum; //ն˸ʽնʱЧ - DWORD *pTerminalNo; //Ҫն˺ţնʱЧ - DWORD dwGroupNo; //նţնʱЧ - BYTE byRes[32]; -}NET_DVR_PUBLISH_UPGRADE_COND, *LPNET_DVR_PUBLISH_UPGRADE_COND; -//WEPԿ -typedef struct tagNET_DVR_WEP_KEY_CFG -{ - char csWEPKey[WEP_KEY_MAX_SIZE/*32*/];//Կ - BYTE byRes[64]; -}NET_DVR_WEP_KEY_CFG, *LPNET_DVR_WEP_KEY_CFG; - -typedef struct tagNET_DVR_SUB_UPGRADE_PROGRESS -{ - DWORD dwTerminalNo; //ն˺ - DWORD dwProgress; //նȣ0-100101ʾն쳣,,102-ն˽ѹʧܣ103-汾ƥ䣬104-ļ105-Ƿǩ -}NET_DVR_SUB_UPGRADE_PROGRESS, *LPNET_DVR_SUB_UPGRADE_PROGRESS; - -typedef struct tagNET_DVR_UPGRADE_PROGRESS_RESULT -{ - DWORD dwSize; - DWORD dwMainProgress; //ȣ0-100 - DWORD dwSubProgressNum; //ӽȸ - LPNET_DVR_SUB_UPGRADE_PROGRESS lpStruSubProgress; //նӽȣdwSubProgressNumNET_DVR_SUB_UPGRADE_PROGRESS - BYTE byRes[32]; -}NET_DVR_UPGRADE_PROGRESS_RESULT, *LPNET_DVR_UPGRADE_PROGRESS_RESULT; - -//Ϣճ̷ -typedef struct tagNET_DVR_SCHEDULE_PROGRESS_COND -{ - DWORD dwSize; - DWORD dwScheduleNo; //ճ̺ - BYTE byProgressType; //ȡĽͣ1-ȡȣ2-ն˻ȡȣ3-֯ȡ - BYTE byRes1[3]; - DWORD dwGroupNo; //նŻ֯Ϊ13ʱЧ - DWORD dwTerminalNo; //ն˺ţΪ2ʱЧ - BYTE byRes2[32]; -}NET_DVR_SCHEDULE_PROGRESS_COND, *LPNET_DVR_SCHEDULE_PROGRESS_COND; - -typedef struct tagNET_DVR_SUB_SCHEDULE_PROGRESS -{ - DWORD dwTerminalNo; //ն˺ - DWORD dwProgress; //նճ̷ȣ0-100101ʾնճ̷쳣,102ʾն˴洢ռ䲻,103-ն˲ߣ104-ն˾ܾ105-նж -}NET_DVR_SUB_SCHEDULE_PROGRESS, *LPNET_DVR_SUB_SCHEDULE_PROGRESS; - -typedef struct tagNET_DVR_SCHEDULE_PROGRESS_RESULT -{ - DWORD dwSize; - DWORD dwMainProgress; //ȣ0-100ȡʱΪճ̷ȣն˻ȡʱΪնճ̷ - DWORD dwSubProgressNum; //ӽȸȡʱЧʾ¸ն˽ȸ - LPNET_DVR_SUB_SCHEDULE_PROGRESS lpStruSubProgress; //նճ̷ӽȣȡʱЧdwSubProgressNumNET_DVR_SUB_SCHEDULE_PROGRESS - BYTE byRes[32]; -}NET_DVR_SCHEDULE_PROGRESS_RESULT, *LPNET_DVR_SCHEDULE_PROGRESS_RESULT; - -//Ϣ岥 -typedef struct tagNET_DVR_INSERTPLAY_PROGRESS_COND -{ - DWORD dwSize; - BYTE byInsertType; //岥ͣ1-زģ2-Ŀ - BYTE byRes3[3]; - DWORD dwInsertNo; //岥زģΪزıţ岥ǽĿΪĿ - BYTE byProgressType; //ȡĽͣ1-ȡȣ2-ն˻ȡ - BYTE byRes1[3]; - DWORD dwGroupNo; //նţΪ1ʱЧ - DWORD dwTerminalNo; //ն˺ţΪ2ʱЧ - BYTE byRes2[32]; -}NET_DVR_INSERTPLAY_PROGRESS_COND, *LPNET_DVR_INSERTPLAY_PROGRESS_COND; - -typedef struct tagNET_DVR_SUB_INSERTPLAY_PROGRESS -{ - DWORD dwTerminalNo; //ն˺ - DWORD dwProgress; //ն˲岥ȣ0-100101ʾն˲岥쳣,102ʾն˴洢ռ䲻,103ʾȡ岥,104岥زı滻 -}NET_DVR_SUB_INSERTPLAY_PROGRESS, *LPNET_DVR_SUB_INSERTPLAY_PROGRESS; - -typedef struct tagNET_DVR_INSERTPLAY_PROGRESS_RESULT -{ - DWORD dwSize; - DWORD dwMainProgress; //ȣ0-100ȡʱΪ岥ȣն˻ȡʱΪն˲岥 - DWORD dwSubProgressNum; //ӽȸȡʱЧʾ¸ն˽ȸ - LPNET_DVR_SUB_INSERTPLAY_PROGRESS lpStruSubProgress; //ն˲岥ӽȣȡʱЧdwSubProgressNumNET_DVR_SUB_INSERTPLAY_PROGRESS - BYTE byRes[32]; -}NET_DVR_INSERTPLAY_PROGRESS_RESULT, *LPNET_DVR_INSERTPLAY_PROGRESS_RESULT; - - - - -//WEP -typedef struct tagNET_DVR_WEP_CFG -{ - BYTE byAuthenticationType;//֤ͣ0~֤1~Կ2~Զ֤ - BYTE byDefaultTransmitKeyIndex;//ĬϴԿ1~4ӦstruEncryptionKeyCfgԿĸ - /* - Ϊ64λԿʱASCIIԿַΪ5 - Ϊ128λԿʱASCIIԿַΪ13 - */ - BYTE byWepKeyLenType;//Կͣ0~ 64λԿ1~ 128λԿ - BYTE byKeyType;// Կͣ0~ ASCII룬1~ 16ơ - NET_DVR_WEP_KEY_CFG struWEPKeyCfg[WEP_KEY_MAX_NUM/*4*/];// WEPԿ֧4 - BYTE byRes[128]; -}NET_DVR_WEP_CFG, *LPNET_DVR_WEP_CFG; - -//WPA -typedef struct tagNET_DVR_WPA_CFG -{ - BYTE byAlgorithmType; //㷨ͣ0~TKIP, 1~AES, 2~TKIP/AES - BYTE byWPAKeyLen;// WPAԿȣΪ8~63ӦcsSharedKeyַ - BYTE byDefaultPassword;//ǷĬWPAԿ - BYTE byRes1; - char csSharedKey[WPA_KEY_MAX_SIZE/*64*/];//WPAԿ,Ϊ8-63ASCIIַ - BYTE byRes[128]; -}NET_DVR_WPA_CFG, *LPNET_DVR_WPA_CFG; - - -typedef struct tagNET_DVR_WIRELESS_SECURITY_CFG -{ - BYTE bySecurityMode; //ȫģʽ0~,1~WEP,2~WPA-personal, 3~WPA2-personal - NET_DVR_WEP_CFG struWEPCfg; //ȫģʽѡΪWEPʱЧ - NET_DVR_WPA_CFG struWPACfg; //ȫģʽѡΪWPA-personalWPA2-personalʱЧ - BYTE byRes[256]; -} NET_DVR_WIRELESS_SECURITY_CFG,*LPNET_DVR_WIRELESS_SECURITY_CFG; - -//wifiȵ() -typedef struct tagNET_DVR_WIRELESSSERVER_FULLVERSION_CFG -{ - DWORD dwSize;//ṹС - BYTE byWifiAPEnabled; //ǷAP0-1- - BYTE byBroadcastEnabled; // Ƿù㲥0-1- - BYTE byWlanShareEnabled; //Ƿù0-1- - BYTE byDHCPEnabled; //ǷDHCP0-1- - BYTE bySSID[IW_ESSID_MAX_SIZE]; //SSID - BYTE byRes1[11]; - BYTE byIPType; //IPַͣ0-IPv4,1-IPv6 - NET_DVR_IPADDR struIPAddr; //IPַ - NET_DVR_IPADDR struIPMask; //ַ - NET_DVR_IPADDR struGatewayIPMask; //صַ - NET_DVR_IPADDR struStartIPAddrPool; //IPʼַ - NET_DVR_IPADDR struEndIPAddrPool; // IPνַ - NET_DVR_IPADDR struDNSServerIpAddr[MAX_DNS_SERVER_NUM]; //DNSַ - NET_DVR_WIRELESS_SECURITY_CFG struWirelessSecurityCfg;//߰ȫܲ - BYTE byRes[256]; -}NET_DVR_WIRELESSSERVER_FULLVERSION_CFG, *LPNET_DVR_WIRELESSSERVER_FULLVERSION_CFG; - -typedef struct tagNET_DVR_OPTICAL_DEV_CHAN_INFO -{ - DWORD dwChannel; //ͨţ0ΪЧ - BYTE byChannelName[NAME_LEN]; - BYTE bySignal; //Ƿźţ0-ޣ1-Уֻ - BYTE bySignalType; //źԴͣ1-壬2-壬źʱЧֻ - BYTE byRes[10]; -}NET_DVR_OPTICAL_DEV_CHAN_INFO, *LPNET_DVR_OPTICAL_DEV_CHAN_INFO; - -typedef struct tagNET_DVR_OPTICAL_DEV_NODE -{ - BYTE byValid; //ǷЧ0-Ч1-Ч - BYTE byRes1[3]; - DWORD dwDevNo; //˻ - BYTE byDevName[NAME_LEN]; //ڵ˻ - BYTE byDevID[MAX_ID_LEN]; //˻ID豸Ψһʶֻ - NET_DVR_OPTICAL_DEV_CHAN_INFO struChannel[MAX_CHANNUM]; - BYTE byRes2[32]; -}NET_DVR_OPTICAL_DEV_NODE, *LPNET_DVR_OPTICAL_DEV_NODE; - -#define MAX_OPTICAL_DEV_NODE 32 //ڵ˻ - -typedef struct tagNET_DVR_OPTICAL_PORT_INFO -{ - DWORD dwSize; - BYTE byValid; //ǷźŽ룬0-ޣ1-Уֻ - BYTE byLinkType; //·ͣ1-2-ֻ - BYTE byPortWorkMode; //˿ڹģʽ0-Ч1-ڣ2-ڣ·ΪʱЧֻ - BYTE byRes1[1]; - DWORD dwPairPort; //Թںţ·ΪʱЧʱ˲Ϊںţʱ˲Ϊں - NET_DVR_OPTICAL_DEV_NODE struDevInfo[MAX_OPTICAL_DEV_NODE]; //ڵ˻豸Ϣ - BYTE byRes2[32]; -}NET_DVR_OPTICAL_PORT_INFO, *LPNET_DVR_OPTICAL_PORT_INFO; - -typedef struct tagNET_DVR_OPTICAL_CHAN_RELATE_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ˻룬0-񣬷0- - BYTE byRes1[3]; - DWORD dwDevNo; //˻ - DWORD dwOpticalPort; //ں - BYTE byDevID[MAX_ID_LEN]; //˻ID - DWORD dwInputChanNo; //˻ͨ - BYTE byRes2[64]; -}NET_DVR_OPTICAL_CHAN_RELATE_CFG, *LPNET_DVR_OPTICAL_CHAN_RELATE_CFG; - -typedef struct tagNET_DVR_START_FILE_TO_CLOUD_COND -{ - DWORD dwSize; - BYTE aCameraID[MAX_CAMERAID_LEN]; //ID - DWORD dwPoolID; //洢ID - DWORD dwRepPoolID; //ID - WORD wReplication; // - BYTE byRes [178]; -}NET_DVR_START_FILE_TO_CLOUD_COND,*LPNET_DVR_START_FILE_TO_CLOUD_COND; - -typedef struct tagNET_DVR_START_PICTURE_FROM_CLOUD_COND -{ - DWORD dwSize; - BYTE aCameraID[MAX_CAMERAID_LEN]; //ID - NET_DVR_TIME_V30 struBeginTime; //ʼʱ - NET_DVR_TIME_V30 struEndTime; //ʱ - DWORD dwPicType; //ͼƬͣλʾ - //bit0-JPG - //bit1-BMP - //bit2-PNG - BYTE byRes1[3]; - BYTE byZoomType; //0-,1-,2-С,3-ֱ - union - { - BYTE uLen[32]; - struct - { - BYTE byScale; //1~99 - }struScale; - struct - { - BYTE byQuality; //1~99 - }struQuality; - struct - { - DWORD dwWidth; - DWORD dwHeight; - }struResolution; //Ŀֱ - }uZoomParam; - DOWNLOAD_DATA_CB fnDownloadFileCallBack; //ݻص - void* pUser; //ûָ - BYTE byRes [372]; -}NET_DVR_START_PICTURE_FROM_CLOUD_COND,*LPNET_DVR_START_PICTURE_FROM_CLOUD_COND; - -typedef struct tagNET_DVR_START_PICTURE_FROM_CLOUD_RET -{ - DWORD dwSize; - DWORD dwFileCount; //ļ - BYTE byRes[120]; -}NET_DVR_START_PICTURE_FROM_CLOUD_RET,*LPNET_DVR_START_PICTURE_FROM_CLOUD_RET; - -typedef struct -{ - DWORD dwSize; - NET_DVR_TIME_V30 struTime; //ͼƬʱ - DWORD dwPicLen; //ͼƬ - BYTE byPicType; //ͼƬʽ,1-jpg,2-bmp,3-png - BYTE byRes[107]; -}NET_DVR_PICTURE_FROM_CLOUD_RET,*LPNET_DVR_PICTURE_FROM_CLOUD_RET; - -typedef struct tagNET_DVR_ACS_EXTERNAL_DEV_CFG -{ - DWORD dwSize; - BYTE byIDCardUpMode; //֤Ϣϱ0ϴ18λ֤ţ1ϴȫϢ - BYTE byRes1; - BYTE byCardVerifyMode; //ˢ֤ģʽ0Զ֤1ͻƽ̨֤2ˢ - BYTE byACSDevType; //豸ͺţ1֤2IC3ά4ָƶ5ַ+ά6տ7ַ8ָͷ9ģ飻10֤豸 - BYTE byDoorMode; //ųͣ0ţ1ţ - BYTE byRes2; - WORD wDevDetailType; //ľ豸ͺţ0-iDR2101-IDM102-˽֤Ķ - BYTE byRes[300]; -}NET_DVR_ACS_EXTERNAL_DEV_CFG, *LPNET_DVR_ACS_EXTERNAL_DEV_CFG; - -typedef struct tagNET_DVR_PERSONNEL_CHANNEL_CFG -{ - DWORD dwSize; - BYTE byInMode; //ģʽ0ܿأ1ֹ2ɣ - BYTE byOutMode; //ģʽ0ܿأ1ֹ2ɣ - BYTE byWorkMode; //ģʽ01ά2գ3 - BYTE byRes[301]; -}NET_DVR_PERSONNEL_CHANNEL_CFG, *LPNET_DVR_PERSONNEL_CHANNEL_CFG; - -#define MAX_ID_NUM_LEN 32 //֤ų -#define MAX_ID_NAME_LEN 128 // -#define MAX_ID_ADDR_LEN 280 //סַ -#define MAX_ID_ISSUING_AUTHORITY_LEN 128 //ǩس - -//֤Ϣ -typedef struct tagNET_DVR_ID_CARD_INFO -{ - DWORD dwSize; //ṹ - BYTE byName[MAX_ID_NAME_LEN]; // - NET_DVR_DATE struBirth; // - BYTE byAddr[MAX_ID_ADDR_LEN]; //סַ - BYTE byIDNum[MAX_ID_NUM_LEN]; //֤ - BYTE byIssuingAuthority[MAX_ID_ISSUING_AUTHORITY_LEN]; //ǩ - NET_DVR_DATE struStartDate; //Чʼ - NET_DVR_DATE struEndDate; //Чֹ - BYTE byTermOfValidity; //ǷЧ 0-1-ǣЧֹЧ - BYTE bySex; //Ա1-У2-Ů - BYTE byNation; - BYTE byRes[101]; -}NET_DVR_ID_CARD_INFO, *LPNET_DVR_ID_CARD_INFO; - -//֤Ϣ -typedef struct tagNET_DVR_ID_CARD_INFO_ALARM -{ - DWORD dwSize; //ṹ - NET_DVR_ID_CARD_INFO struIDCardCfg ;//֤Ϣ - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME_V30 struSwipeTime; //ʱ - BYTE byNetUser[MAX_NAMELEN] ;//û - NET_DVR_IPADDR struRemoteHostAddr ;//Զַ - DWORD dwCardReaderNo; //ţΪ0Ч - DWORD dwDoorNo; //űţΪ0Ч - DWORD dwPicDataLen; //ͼƬݴСΪ0DZʾ - char *pPicData; - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byDeviceNo; // 豸ţΪ0ʱЧЧΧ1-255 - BYTE byMask; //Ƿ֣0-1-δ֪2-֣3- - BYTE byCurrentEvent; //ǷΪʵʱ¼0-Ч1-ǣʵʱ¼2-¼ - DWORD dwFingerPrintDataLen; // ָݴСΪ0DZʾ - char *pFingerPrintData; - DWORD dwCapturePicDataLen; // ץͼƬݴСΪ0DZʾ - char *pCapturePicData; - DWORD dwCertificatePicDataLen; //֤ץͼƬݴСΪ0DZʾ - char *pCertificatePicData; - BYTE byCardReaderKind; //һ࣬0-Ч1-IC2-֤3-ά,4-ָͷ - BYTE byHelmet;//ѡǷȫñ0-1-δ֪2-ȫ, 3-ȫñ - BYTE byRes3; - BYTE byIDCardInfoExtend; //pIDCardInfoExtendǷЧ0-Ч1-Ч - char *pIDCardInfoExtend; //byIDCardInfoExtendΪ1ʱʾָһNET_DVR_ID_CARD_INFO_EXTENDṹ - DWORD dwSerialNo; //¼ˮţΪ0Ч - BYTE byRes[168]; -}NET_DVR_ID_CARD_INFO_ALARM, *LPNET_DVR_ID_CARD_INFO_ALARM; - -//չṹϢ -typedef struct tagNET_DVR_ID_CARD_INFO_EXTEND -{ - BYTE byRemoteCheck; //ǷҪԶ̺飨0-Ч1-ҪĬϣ2-Ҫ - BYTE byThermometryUnit; //µλ0-϶ȣĬϣ1-϶ȣ2-ģ - BYTE byIsAbnomalTemperature; //ץIJǷ¶쳣1-ǣ0- - BYTE byRes2; - float fCurrTemperature; //¶ȣȷСһλ - NET_VCA_POINT struRegionCoordinates; //¶ - DWORD dwQRCodeInfoLen; //άϢȣΪ0DZʾ - DWORD dwVisibleLightDataLen; //ȳɼͼƬȣΪ0DZʾ - DWORD dwThermalDataLen; //ȳͼƬȣΪ0DZʾ - char *pQRCodeInfo; //άϢָ - char *pVisibleLightData; //ȳɼͼƬָ - char *pThermalData; //ȳͼƬָ - WORD wXCoordinate; //x꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wYCoordinate; //y꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wWidth; //ȣΧ0-1000 - WORD wHeight; //߶ȣΧ0-1000 - BYTE byHealthCode; //״̬, 0-, 1-δ, 2-δ, 3-, 4-, 5-, 6-޴Ա, 7-Ϣӿ쳣²ѯʧܣ, 8-ѯ볬ʱ - BYTE byNADCode; //, 0-, 1-δѯ, 2-ԣ, 3-ԣȷ, 4-Чѹ - BYTE byTravelCode; //г̱, 0-, 1-14һֱڵ, 2-14뿪, 3-14ڵ, 4- - BYTE byVaccineStatus; //״̬, 0-, 1-δ, 2-ע, 3- - BYTE byRes[1012]; -}NET_DVR_ID_CARD_INFO_EXTEND, *LPNET_DVR_ID_CARD_INFO_EXTEND; - -//֤Ϣֹṹ -typedef struct tagNET_DVR_ID_CARD_BLOCKLIST_COND -{ - DWORD dwSize; - BYTE byRes[256]; // -}NET_DVR_ID_CARD_BLOCKLIST_COND, *LPNET_DVR_ID_CARD_BLOCKLIST_COND; - -//֤Ϣֹ -typedef struct tagNET_DVR_ID_CARD_BLOCKLIST_CFG -{ - DWORD dwSize; - NET_DVR_ID_CARD_INFO struIDCardCfg; // ֤Ϣ - DWORD dwFingerPrintDataLen; // ָ֤ݴСΪ0DZʾ - char *pFingerPrintData; - DWORD dwPicDataLen; // ֤ͼƬݴСΪ0DZʾ - char *pPicData; - BYTE byRes[128]; -}NET_DVR_ID_CARD_BLOCKLIST_CFG, *LPNET_DVR_ID_CARD_BLOCKLIST_CFG; - -//A =ĸַ [a..z, A..Z]N = ַ [0..9]S = ַ [<]B= -typedef struct tagNET_DVR_PASSPORT_INFO -{ - DWORD dwSize; //ṹ - BYTE byOCR; //0-ӻݣ1- OCRʶݣ - BYTE byRes1[3]; // - BYTE byType[MAX_PASSPORT_TYPE_LEN]; //֤ͣAS - BYTE byCountryIssue[MAX_PASSPORT_INFO_LEN]; //ǩǩAS - BYTE byName[MAX_PASSPORT_NAME_LEN]; //AS - BYTE byPassportNo[MAX_PASSPORT_NUM_LEN]; //֤룬ANS - BYTE byNationality[MAX_NATIONALITY_LEN]; // AS - NET_DVR_DATE struBirth; // - NET_DVR_DATE struExpireDate; //Чֹ - BYTE bySex; //Ա1-У2-Ů - BYTE byRes2[35]; // - BYTE byLocalName[MAX_PASSPORT_INFO_LEN]; //B - BYTE byNumber[MAX_PASSPORT_INFO_LEN]; //˺룬ANS - BYTE byPlaceOfBirth[MAX_PASSPORT_INFO_LEN]; //أB - BYTE byAddr[MAX_PASSPORT_INFO_LEN]; //ַANSB - BYTE byPhone[MAX_PASSPORT_INFO_LEN]; //绰NS - BYTE byJob[MAX_PASSPORT_INFO_LEN]; //ְҵB - BYTE byTitle[MAX_PASSPORT_INFO_LEN]; //ְΣB - BYTE byResume[MAX_PASSPORT_INFO_LEN]; //B - BYTE byOtherNumber[MAX_PASSPORT_INFO_LEN]; //֤룬ANSB - BYTE byMonitoring[MAX_PASSPORT_MONITOR_LEN]; //໤ϢB - BYTE byRes[128]; -}NET_DVR_PASSPORT_INFO, *LPNET_DVR_PASSPORT_INFO; - -//Ϣϴ -typedef struct tagNET_DVR_PASSPORT_ALARM -{ - DWORD dwSize; //ṹ - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME_V30 struSwipeTime; //ʱ - BYTE byNetUser[MAX_NAMELEN];//û - NET_DVR_IPADDR struRemoteHostAddr;//Զַ - DWORD dwCardReaderNo; //ţΪ0Ч - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byRes2[11]; - NET_DVR_PASSPORT_INFO struPassportInfo;//Ϣ - DWORD dwFaceDataLen; //ݴСΪ0DZʾ - char *pFaceData; - DWORD dwPicDataLen; //֤ͼƬݴСΪ0DZʾ - char *pPicData; // [ISO/IEC 10918-1] ʽĹ֤ͼ - DWORD dwCapturePicDataLen; //ץͼƬݴСΪ0DZʾ - char *pCapturePicData; - BYTE byRes[128]; -}NET_DVR_PASSPORT_ALARM, *LPNET_DVR_PASSPORT_ALARM; - -typedef struct tagNET_DVR_PASSNUM_INFO_ALARM -{ - DWORD dwSize; //ṹ - DWORD dwAccessChannel; //Աͨ - NET_DVR_TIME_V30 struSwipeTime; //ʱ - BYTE byNetUser[MAX_NAMELEN] ;//û - NET_DVR_IPADDR struRemoteHostAddr ;//Զַ - DWORD dwEntryTimes; //Ա - DWORD dwExitTimes; //Ա - DWORD dwTotalTimes; //Աܴ - BYTE byRes[300]; -}NET_DVR_PASSNUM_INFO_ALARM, *LPNET_DVR_PASSNUM_INFO_ALARM; -typedef struct tagNET_DVR_UPLOAD_VIDEO_INFO -{ - DWORD dwSize; - DWORD dwVideoMangeNo; //Ƶ - BYTE byVideoType; //Ƶʽ 0-AVI 1-WMV 2-MP4 3-FLV 3-VOD 4-MKV 5-RMVB - BYTE byRes1[3]; // - BYTE sVideoName[NAME_LEN]; //Ƶ - NET_DVR_TIME_V30 struTime; //ͼƬϴʱ - BYTE byRes[132]; -} NET_DVR_UPLOAD_VIDEO_INFO, *LPNET_DVR_UPLOAD_VIDEO_INFO; - -typedef struct tagNET_DVR_DEVICE_FILE_INFO -{ - DWORD dwSize; - BYTE sFileName[NAME_LEN]; //ļ - DWORD dwManageNo; //(ֻܻȡ) - NET_DVR_TIME_EX struTime; //ĵϴʱ - BYTE byUsed; //ǷѴڣ0-ڣ1- ֻܻȡ - BYTE byRes[127]; -} NET_DVR_DEVICE_FILE_INFO, *LPNET_DVR_DEVICE_FILE_INFO; - -typedef struct tagNET_DVR_PLAY_ITEM -{ - DWORD dwSize; - BYTE byItemType; //ͣ1-ͼƬ 2-Ƶ 3-б - BYTE byRes[3]; // - DWORD dwPlayManageNo; //Ź - DWORD dwPlayPicTime; //ͼƬʱ䣬λ, (ΪͼƬЧ) - BYTE byRes2[64]; -} NET_DVR_PLAY_ITEM, *LPNET_DVR_PLAY_ITEM; - -typedef struct tagNET_DVR_DEVICE_PLAYLIST -{ - DWORD dwSize; - BYTE byEnable; //ǷЧ 0-Ч !0-Ч - BYTE byPlayType; //ģʽ1-ѭ - BYTE byVaildItemNum; //Ч - BYTE byRes[1]; - NET_DVR_PLAY_ITEM struPlayItem[PLAYLIST_ITEM_NUM]; //ǰbyVaildItemNumЧ - BYTE byPlaylistName[PLAYLIST_NAME_LEN]; //б - DWORD dwPlaylistNo; //бţȡЧ - BYTE byRes2[128]; -} NET_DVR_DEVICE_PLAYLIST, *LPNET_DVR_DEVICE_PLAYLIST; -typedef struct tagNET_DVR_PLAYLIST_ITEM_CTRL -{ - DWORD dwSize; - BYTE byCtrlType; //ͣ 1-Ӳ 2-ɾ 3-ƶλ - BYTE byPlayIndex; //ţ 1ʼ - NET_DVR_PLAY_ITEM struPlayItem; // - BYTE byNewPlayIndex; //²ţ0Ч - BYTE byRes[63]; -}NET_DVR_PLAYLIST_ITEM_CTRL, *LPNET_DVR_PLAYLIST_ITEM_CTRL; -typedef struct tagNET_DVR_PLAN_ITEM -{ - NET_DVR_PLAY_ITEM struPlanPlayItem; // - NET_DVR_TIME_SEGMENT struTimeSegment; //ʱβ - BYTE byRes[16]; -} NET_DVR_PLAN_ITEM, *LPNET_DVR_PLAN_ITEM; - -typedef struct tagNET_DVR_PLAYPLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹ, 0-ʹ !0-ʹ - BYTE byPlanMode; //ƻģʽ1-ܼƻ 2-ռƻ - BYTE byRes[2]; - NET_DVR_PLAN_ITEM struPlanItem[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwPlayPlanNo; //żƻţȡʱЧ - BYTE byPlayPlanName[NAME_LEN]; //żƻ - BYTE byRes2[32]; -} NET_DVR_PLAYPLAN_CFG, *LPNET_DVR_PLAYPLAN_CFG; -typedef struct tagNET_DVR_WINDOW_PLAYPLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿòżƻ 0- !0- - BYTE byRes[3]; - DWORD dwPlayPlanNo; //żƻ - BYTE byRes2[32]; -} NET_DVR_WINDOW_PLAYPLAN_CFG, *LPNET_DVR_WINDOW_PLAYPLAN_CFG; -typedef struct tagNET_DVR_DEV_PLAYCTRL -{ - DWORD dwSize; - BYTE byControlType; //ͣ1-Ƶ2-Ƶأ3-ֹͣţ4-ͣţָ - BYTE byRes[131]; -} NET_DVR_DEV_PLAYCTRL, *LPNET_DVR_DEV_PLAYCTRL; - -typedef union tagNET_DVR_PLAYITEM_INFO -{ - struct // - { - DWORD dwPlayItem; // - BYTE byPlayItemName[NAME_LEN]; // - BYTE byRes2[8]; - } struPlayItem; - struct //б - { - DWORD dwPlaylistNo; //б - BYTE byPlaylistName[NAME_LEN]; //б - WORD wPlayIndex; //λ - BYTE byPlayType; //бڲ 1-ͼƬ 2-Ƶ - BYTE byRes[3]; - DWORD dwPlayItem; // - BYTE byPlayItemName[NAME_LEN]; // - BYTE byRes2[16]; - } struPlaylistItem; - struct //żƻ - { - DWORD dwPlayPlanNo; //żƻ - NET_DVR_TIME_SEGMENT struTime; //ڲʱ - BYTE byPlayType; //żƻڲ 1-ͼƬ 2-Ƶ 3-б - BYTE byRes[3]; - DWORD dwPlaylistNo; //б - BYTE byPlaylistName[NAME_LEN]; //б - DWORD dwPlayItem; // - BYTE byPlayItemName[NAME_LEN]; // - WORD wPlayIndex; //λ - BYTE byRes2[18]; - } struPlayPlanItem; -}NET_DVR_PLAYITEM_INFO, *LPNET_DVR_PLAYITEM_INFO; -typedef struct tagNET_DVR_PLAYING_INFO -{ - DWORD dwSize; - BYTE byPlayWay; //ŷʽ 1- 2-б 3-żƻ 4-̬ 5-岥 - BYTE byCurPlayType; //ڲزͣ 1-ͼƬ 2-Ƶ̬ͽ岥ʱЧ - BYTE byPlayState; //״̬1-ڲţ2-ֹͣ3-ͣ - BYTE byAudioState; //Ƶ״̬0-أ1- - NET_DVR_PLAYITEM_INFO struPlayItemInfo; //Ϣ - BYTE byRes2[16]; -} NET_DVR_PLAYING_INFO, *LPNET_DVR_PLAYING_INFO; - -typedef struct tagNET_DVR_ONLINEUSER_COND //ṹ -{ - DWORD dwSize; - DWORD dwChannel;//ͨţǰĬ1 - BYTE byRes [128]; -}NET_DVR_ONLINEUSER_COND,*LPNET_DVR_ONLINEUSER_COND; - -typedef struct tagNET_DVR_ONLINEUSER_CFG //ýṹ -{ - DWORD dwSize; - BYTE byID;//ûк - BYTE byUserType;//û 0-ͨû1-Ա2-û - BYTE byDataType;//״̬:0-У1-ʼ2- - BYTE byRes; - NET_DVR_IPADDR struIpAddr;//IPַ - NET_DVR_TIME_V30 struLoginTime;//½ʱ - char szUserName[NAME_LEN/*32*/];//û - BYTE byRes1[128]; -}NET_DVR_ONLINEUSER_CFG,*LPNET_DVR_ONLINEUSER_CFG; - -//洢״̬ -typedef struct tagNET_DVR_STORAGE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byHealthState;//״̬0-ã1-2-𻵣3-δ֪ - BYTE bySDCardState;//SDcard״̬ 0-ߣ1-,2-δ֪,3- - WORD wAbnormalPowerLoss;//쳣 - WORD wBadBlocks;// - BYTE byRemainingLife; //SDʣ; 0~100% - BYTE byRes[125]; -}NET_DVR_STORAGE_DETECTION,*LPNET_DVR_STORAGE_DETECTION; - -//洢ܼⱨϴ -typedef struct tagNET_DVR_STORAGE_DETECTION_ALARM -{ - DWORD dwSize; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwCardID; //ID - WORD wAbnormalPowerLoss;//쳣 - WORD wBadBlocks;// - BYTE byHealthState;//״̬0-ã1-2-𻵣3-δ֪ - BYTE byRes1[3]; - float fResidualLife; //SD Ԥʣ - BYTE byRes[118]; -}NET_DVR_STORAGE_DETECTION_ALARM,*LPNET_DVR_STORAGE_DETECTION_ALARM; - - -//洢Ķд -typedef struct tagNET_DVR_STORAGE_RWLOCK -{ - DWORD dwSize;//ṹС - BYTE byEnabled;//ʹ 0-رգ1- - BYTE byRes[3]; - char szPassWD[PASSWD_LEN/*16*/]; //д - char szOriginalPassWD[PASSWD_LEN/*16*/]; //ԭʼ - BYTE byRes1[128]; -}NET_DVR_STORAGE_RWLOCK,*LPNET_DVR_STORAGE_RWLOCK; - -//洢Ľ -typedef struct tagNET_DVR_STORAGE_UNLOCK -{ - DWORD dwSize;//ṹС - char szPassWD[PASSWD_LEN/*16*/]; // - BYTE byRes1[128]; -}NET_DVR_STORAGE_UNLOCK,*LPNET_DVR_STORAGE_UNLOCK; - - -typedef struct tagNET_DVR_PTZTRACKSTATUS -{ - DWORD dwSize;//ṹС - BYTE byID;//豸ID (ֶbyLinkageType0ʱЧ) - BYTE byLinkageType;//0-1-豸 - BYTE byRes[254]; -}NET_DVR_PTZTRACKSTATUS,*LPNET_DVR_PTZTRACKSTATUS; - -#define MAX_PROXY_COUNT 32 - -typedef struct tagNET_DVR_SOCKS_PROXY_PARA -{ - BYTE byIP[129]; //ַ - BYTE byAuthType; //֤ʽʱȲʹøֶ - WORD wPort; //˿ - BYTE byRes2[64]; //Ҫʹ֤ʽȻҪһЩֽڣһЩ -}NET_DVR_SOCKS_PROXY_PARA, *LPNET_DVR_SOCKS_PROXY_PARA; - -typedef struct tagNET_DVR_SOCKS_PROXYS -{ - NET_DVR_SOCKS_PROXY_PARA struProxy[MAX_PROXY_COUNT]; -}NET_DVR_SOCKS_PROXYS, *LPNET_DVR_SOCKS_PROXYS; - -typedef struct tagNET_DVR_GET_FIGURE_COND -{ - DWORD dwLength; //ṹ - DWORD dwChannel; //ͨ - NET_DVR_TIME_V30 struTimePoint; //ʱ - BYTE byID[STREAM_ID_LEN/*32*/]; //ID - BYTE byRes[32]; -}NET_DVR_GET_FIGURE_COND, *LPNET_DVR_GET_FIGURE_COND; - -typedef struct tagNET_DVR_FIGURE_INFO -{ - DWORD dwPicLen; //ͼƬ - char *pPicBuf; //ͼƬ -}NET_DVR_FIGURE_INFO, *LPNET_DVR_FIGURE_INFO; - -//ֶ -typedef struct tagNET_DVR_MANUALRANGING_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿֶࣺ0- 1- - BYTE byRes[127]; -}NET_DVR_MANUALRANGING_CFG,*LPNET_DVR_MANUALRANGING_CFG; - -typedef struct tagNET_DVR_VIDEO_INTERCOM_ALARM_CFG -{ - DWORD dwSize; //ṹС - BYTE byDoorNotCloseAlarm; //Ƿϴδر0-ϴ1-ϴ - BYTE byRes[603]; // -}NET_DVR_VIDEO_INTERCOM_ALARM_CFG, *LPNET_DVR_VIDEO_INTERCOM_ALARM_CFG; - -typedef struct tagNET_DVR_PACKET_INFO_EX -{ - WORD wWidth; //width - WORD wHeight; //height - DWORD dwTimeStamp; //lower time stamp - DWORD dwTimeStampHigh;//higher time stamp - DWORD dwYear; //year - DWORD dwMonth; //month - DWORD dwDay; //day - DWORD dwHour; //hour - DWORD dwMinute; //minute - DWORD dwSecond; //second - DWORD dwMillisecond; //millisecond - DWORD dwFrameNum; //frame num - DWORD dwFrameRate; //frame rate,֡С0ʱ0x80000002:ʾ1/2֡ʣͬ0x80000010Ϊ1/16֡ - DWORD dwFlag; //flag E֡ - DWORD dwFilePos; //file pos - DWORD dwPacketType; //Packet type:0 -file head1 -video I frame2- video B frame 3- video P frame 10- audio packet 11- private packet - DWORD dwPacketSize; //packet size - unsigned char* pPacketBuffer; //packet buffer - BYTE byRes1[4]; - DWORD dwPacketMode; //ʽ:0-1-FU_Aʽ - BYTE byRes2[16]; - DWORD dwReserved[6]; //reserved[0] ʾ˽ - //reserved[1] ʾ˽ݵַλ - //reserved[2] ʾ˽ݵַλ - //reserved[3] ʾ˽ݳ - //reserved[4] ˽֡/ʱ\ʱ - //reserved[5].һbitλǷΪP֡P1ΪP0; lizhonghu 20150203 -}NET_DVR_PACKET_INFO_EX, *LPNET_DVR_PACKET_INFO_EX; - -typedef BOOL(CALLBACK * DEV_WORK_STATE_CB)(void* pUserdata, int iUserID, LPNET_DVR_WORKSTATE_V40 lpWorkState); - -typedef struct tagNetDVRCheckDevState -{ - DWORD dwTimeout; //ʱ豸״̬λmsΪ0ʱʾʹĬֵ(30000)СֵΪ1000 - DEV_WORK_STATE_CB fnStateCB; - void* pUserData; - BYTE byRes[60]; -}NET_DVR_CHECK_DEV_STATE,*LPNET_DVR_CHECK_DEV_STATE; - -#define COURSE_NAME_LEN_128 128 //γ -#define INSTRUCTOR_NAME_LEN_64 64 //ڿνʦ -#define MAX_UUID_LEN 64 //ֶγUUID - -//ȡṹ -typedef struct tagNET_DVR_COURSE_LIST_COND -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime; //γ̿ʼʱ - NET_DVR_TIME_V30 struEndTime; //γ̽ʱ - BYTE byCourseName[COURSE_NAME_LEN_128]; //γ - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; //ڿʦ - BYTE byCourseType; //αͣ0-ȫ1-ֶ - BYTE byRes[603]; -}NET_DVR_COURSE_LIST_COND,*LPNET_DVR_COURSE_LIST_COND; - -typedef struct tagNET_DVR_COURSE_CFG -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime; //γ̿ʼʱ - NET_DVR_TIME_V30 struEndTime; //γ̿ʼʱ - BYTE byCourseName[COURSE_NAME_LEN_128]; - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; - BYTE byCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byRecUUID[MAX_UUID_LEN/*64*/]; //ֶαUUID - BYTE byCourseType;//αͣ0-ȫ1-ֶα - BYTE byRes[303]; -}NET_DVR_COURSE_CFG, *LPNET_DVR_COURSE_CFG; - -typedef struct tagNET_DVR_RECORD_STATUS -{ - DWORD dwSize; //ṹС - BYTE byRecUUID[MAX_UUID_LEN/*64*/]; //ֶαUUID - BYTE byRecordStatus; //¼״̬0-ͣ1-,2-¼3- - BYTE byRes1[3]; //ֽ - DWORD dwRecordingTime; //¼ʱλ룬Ϊ12*60*60 - BYTE byRes[596]; //ֽ -}NET_DVR_RECORD_STATUS, *LPNET_DVR_RECORD_STATUS; - -typedef struct tagNET_DVR_MANUAL_CURRICULUM_CFG -{ - DWORD dwSize; //ṹС - BYTE byRecUUID[MAX_UUID_LEN/*64*/]; //ֶαUUID - BYTE byCourseName[COURSE_NAME_LEN_128]; //γ - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; //ڿʦ - BYTE byCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byCmdType; //0-ʼ¼ 1- 2-ͣ 3-,4-ʼΣ5- - BYTE byRes[303]; //ֽ -}NET_DVR_MANUAL_CURRICULUM_CFG, *LPNET_DVR_MANUAL_CURRICULUM_CFG; - -typedef struct tagNET_DVR_IMAGE_DIFF_DETECTION_CFG -{ - DWORD dwSize; //ṹС - NET_VCA_POLYGON struRegion; //Χ - BYTE byEnabled; //Ƿã0-ã1- - BYTE byThreshold; //ֵ[0,100] - BYTE bySensitivity; // [0,100] - BYTE byVideoInputType; //Ƶͣ0-Զ1-HDMI2-VGA - BYTE byRes[300]; //ֽ -}NET_DVR_IMAGE_DIFF_DETECTION_CFG, *LPNET_DVR_IMAGE_DIFF_DETECTION_CFG; - -typedef struct tagNET_DVR_RECORDING_PUBLISH_FILE_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byFileID[MAX_ID_LEN_128/*128*/]; //ļID - BYTE byRes[300]; -}NET_DVR_RECORDING_PUBLISH_FILE_COND, *LPNET_DVR_RECORDING_PUBLISH_FILE_COND; - -typedef struct tagNET_DVR_RECORDING_PUBLISH_FILE_INFO -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime; //γ̿ʼʱ - NET_DVR_TIME_V30 struEndTime; //γ̿ʼʱ - BYTE byCourseName[COURSE_NAME_LEN_128]; - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; - BYTE byCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byRes[300]; //ֽ -}NET_DVR_RECORDING_PUBLISH_FILE_INFO, *LPNET_DVR_RECORDING_PUBLISH_FILE_INFO; - -//Ļ -typedef struct tagNET_DVR_SCREEN_POINT -{ - WORD wX; //X - WORD wY; //Y -}NET_DVR_SCREEN_POINT,*LPNET_DVR_SCREEN_POINT; - -typedef struct tagNET_DVR_MOUSE_PARAM -{ - BYTE byMouseEvent; //¼1-£2-ɿ3-Ҽ£4-Ҽɿ - //5-ƶ6-7-˫8-Ҽ9-ְ£ - //10-ɿ11-£12- - BYTE byRes1[3]; - NET_DVR_SCREEN_POINT struMousePoint; //Ϣ - BYTE byRes2[8]; -}NET_DVR_MOUSE_PARAM, *LPNET_DVR_MOUSE_PARAM; - -typedef struct tagNET_DVR_MARK_PARAM -{ - BYTE byMarkEvent; //ע¼1-ע2-ע3-±ע״̬ - BYTE byMarkTool; //עߣ0-Ч1-ʣ2-Ƥע¼Ϊ1ʱЧ - BYTE byLineWidth; //ϸ0-Ч1-ϸ2-У3-֣ע¼Ϊ1ʱЧ - BYTE byMouseEvent; //¼ע¼Ϊ1ʱЧ0-Ч1-£2-ɿ3-ƶ - NET_DVR_RGB_COLOR struColor; //עɫעΪʱЧ - NET_DVR_SCREEN_POINT struPoint; //עϢ - BYTE byRes[4]; -}NET_DVR_MARK_PARAM, *LPNET_DVR_MARK_PARAM; - -typedef struct tagNET_DVR_KEYBOARD_PARM -{ - DWORD dwKeyValue; //ʹASCIIеֵⰴȷ - BYTE byRes[12]; -}NET_DVR_KEYBOARD_PARAM, *LPNET_DVR_KEYBOARD_PARAM; - -typedef struct tagNET_DVR_PPT_PARAM -{ - BYTE byPPTAction; //PPT1-򿪷ӳ2-ֹͣӳ3-һ4-һ - //5-һҳ6-һҳ7-Xҳ8-ʿ9-ʹأ10-ƶ - BYTE byRes1[3]; - NET_DVR_SCREEN_POINT struPoint; //ϢPPTΪ10ʱЧ - DWORD dwPPTNo; //PPTҳPPTΪ7ʱЧ - BYTE byRes2[4]; -}NET_DVR_PPT_PARAM, *LPNET_DVR_PPT_PARAM; - -typedef struct tagNET_DVR_REMOTE_CTRL_PARAM -{ - BYTE byRemoteCtrlCmd; //Զ̿1-лöڣ2-رĻǰڣ3-ļ4-رļ5-ɾļ6-ػ7-ʾ棬8- - BYTE byRes1[3]; - DWORD dwCtrlParam; //byRemoteCtrlCmdΪ345ʱʾļbyRemoteCtrlCmdΪ8ʱʾͣ0-Ч1- - BYTE byRes2[8]; -}NET_DVR_REMOTE_CTRL_PARAM, *LPNET_DVR_REMOTE_CTRL_PARAM; - -typedef struct tagNET_DVR_SPOTLIGHT_PARAM -{ - BYTE byCmd; //۹0-رվ۹ƣ1-۹ƣ2-۹λƶ - BYTE byRes1[3]; - NET_DVR_SCREEN_POINT struPoint; //۹ĵ꣬۹λƶʱЧ - DWORD dwRadius; //۹ư뾶 - BYTE byRes2[4]; -} NET_DVR_SPOTLIGHT_PARAM, *LPNET_DVR_SPOTLIGHT_PARAM; - -typedef struct tagNET_DVR_TOUCHPAD_PARAM -{ - BYTE byMouseEvent; //¼1-£2-ɿ3-Ҽ£4-Ҽɿ - //5-ƶ6-7-˫8-Ҽ9-ְ£ - //10-ɿ11-£12- - BYTE byRes1[3]; - int iXDisplacement; //XλƣʾƶʾƶƶʱЧ - int iYDisplacement; //YλƣʾƶʾƶƶʱЧ - BYTE byRes2[4]; -}NET_DVR_TOUCHPAD_PARAM, *LPNET_DVR_TOUCHPAD_PARAM; - -typedef struct tagNET_DVR_MEDIA_LIST_PARAM -{ - BYTE byOperateCmd; //1-ʾͼƬزģ2-ʾƵزģ3-ʾpptزģ4-رնýļ - BYTE byRes[15]; -}NET_DVR_MEDIA_LIST_PARAM, *LPNET_DVR_MEDIA_LIST_PARAM; - -typedef union tagNET_DVR_SCREEN_CTRL_PARAM -{ - NET_DVR_MOUSE_PARAM struMouseParam; //Ϊ1ʱЧ - NET_DVR_MARK_PARAM struMarkParam; //עΪ2ʱЧ - NET_DVR_KEYBOARD_PARAM struKeyboardInfo; //̲Ϊ3ʱЧ - NET_DVR_PPT_PARAM struPPTParam; //PPTΪ4ʱЧ - NET_DVR_REMOTE_CTRL_PARAM struRemoteCtrlParam; //Զ̲Ϊ5ʱЧ - NET_DVR_SPOTLIGHT_PARAM struSpotLight; //۹ƲΪ6ʱЧ - NET_DVR_TOUCHPAD_PARAM struTouchPadParam; //Ϊ7ʱЧ - NET_DVR_MEDIA_LIST_PARAM struMediaListParam; //ýΪ8ʱЧ - BYTE byRes[16]; -}NET_DVR_SCREEN_CTRL_PARAM, *LPNET_DVR_SCREEN_CTRL_PARAM; - -typedef struct tagNET_DVR_SCREEN_CTRL_CMD -{ - DWORD dwSize; - BYTE byCmdType; //ͣ1-꣬2-ע3-̣4-PPT5-Զ̲6-۹ƣ7-ذ壬8-ʾý - BYTE byRes1[3]; - NET_DVR_SCREEN_CTRL_PARAM struScreenCtrlParam; //ĻƲ -}NET_DVR_SCREEN_CTRL_CMD, *LPNET_DVR_SCREEN_CTRL_CMD; - -typedef struct tagNET_DVR_FILE_RESPONSE_PARAM -{ - BYTE byFileState; //ļ״̬1-ļڣ2-ļʧܣ3-ļɹ - BYTE byRes1[3]; - DWORD dwErrorFileIndex; //ļļֵ - BYTE byRes2[24]; -} NET_DVR_FILE_RESPONSE_PARAM, *LPNET_DVR_FILE_RESPONSE_PARAM; - -typedef struct tagNET_DVR_PPT_RESPONSE_PARAM -{ - BYTE byCurrentState; //ǰPPT״̬1 - ڷӳ2 - ӳֹͣ3 - PPTѹرգ4 - pptܱԤͼʧܣ5 - 򿪷ӳɹ6 - 򿪷ӳʧܣ7 - pptΪգ8 - ͼʧܣ9 - ͼɳɹ - BYTE byRes1[3]; - DWORD dwCurrentPage; //PPTҳPPT״̬Ϊ1,7,8ʱЧ - DWORD dwFileIndex; //PPTļֵ - DWORD dwTotalPageNum; //PPTҳPPT״̬Ϊ5ʱЧ - BYTE byRes2[16]; -}NET_DVR_PPT_RESPONSE_PARAM, *LPNET_DVR_PPT_RESPONSE_PARAM; - -typedef union tagNET_DVR_SCREEN_RESPONSE_PARAM -{ - BYTE byRes[32]; - NET_DVR_PPT_RESPONSE_PARAM struPPTParam; //PPT - NET_DVR_FILE_RESPONSE_PARAM struFileParam; //ļӦ -}NET_DVR_SCREEN_RESPONSE_PARAM,*LPNET_DVR_SCREEN_RESPONSE_PARAM; - -typedef struct tagNET_DVR_SCREEN_RESPONSE_CMD -{ - DWORD dwSize; - BYTE byResponseCmd; //ĻӦͣ1-PPT2-ļ - BYTE byRes1[3]; - NET_DVR_SCREEN_RESPONSE_PARAM struResonseParam; //ĻӦ - BYTE byRes2[16]; -}NET_DVR_SCREEN_RESPONSE_CMD, *LPNET_DVR_SCREEN_RESPONSE_CMD; - -typedef struct tagNET_DVR_SCREEN_FILE_COND -{ - DWORD dwSize; - BYTE byFileType; //ļͣ1-ͼƬ2-Ƶ3-ĵ0xff-ļ - BYTE byRes[127]; -}NET_DVR_SCREEN_FILE_COND, *LPNET_DVR_SCREEN_FILE_COND; - -typedef struct tagNET_DVR_SCREEN_FILE_INFO -{ - DWORD dwSize; - DWORD dwFileIndex; //ļȫΨһ - BYTE byFileType; //ļͣ1-ͼƬ2-Ƶ3-ĵ4- - BYTE byPictureFormat; //ͼƬʽļΪͼƬʱЧ1-bmp,2-jpeg,3-png,4-swf,5-gif - BYTE byVideoFormat; //ƵʽļΪƵʱЧ1-avi,2-wmv,3-mp4,4-flv,5-vod,6-mkv,7-rmvb - BYTE byDocumentFormat; //ĵʽ0-ppt1-txt2-doc3-xlsļΪ3ʱЧ - BYTE byFileName[NET_SDK_MAX_FILE_PATH]; //Ļļ - DWORD dwFileSize; //ļСλֽ - DWORD dwPPTPage; //pptҳֵȡѴ򿪵PPTļϢʱЧ - BYTE byOtherFileFormat[8]; //͵ļĸʽ.dat.dllȣļΪ4ʱЧ - BYTE byRes1[56]; -}NET_DVR_SCREEN_FILE_INFO, *LPNET_DVR_SCREEN_FILE_INFO; - -typedef struct tagNET_DVR_SCREEN_CONFIG -{ - DWORD dwSize; - BYTE byVolume; //0-100 - BYTE byContrast; //Աȶȣ0-100 - BYTE byBrightness; //ȣ0-100 - BYTE byScreenShowEnabled; //Ļʾ0-أ0- - BYTE byScreenLocked; //Ļ0-0- - BYTE byBlackScreenEnabled; //Ļ0-ȡ0- - BYTE byRes[30]; -}NET_DVR_SCREEN_CONFIG, *LPNET_DVR_SCREEN_CONFIG; - -typedef struct tagNET_DVR_SCREEM_FILE_UPLOAD_PARAM -{ - DWORD dwSize; - BYTE byFileType; //ļͣ1-ͼƬ2-Ƶ3-ĵ4- - BYTE byPictureFormat; //ͼƬʽ1-BMP2-JPEG3-PNG4-SWF5-GIFļΪ1ʱЧ - BYTE byVideoFormat; //Ƶʽ1-AVI2-WMV3-MP44-FLV5-VOD6-MKV7-RMVBļΪ2ʱЧ - BYTE byDocumentFormat; //ĵʽ0-ppt1-txt2-doc3-xlsļΪ3ʱЧ - BYTE byFileName[NET_SDK_MAX_FILE_PATH]; //ļ - BYTE byOtherFileFormat[8]; //͵ļĸʽ.dat.dllȣļΪ4ʱЧ - BYTE byRes1[56]; -}NET_DVR_SCREEM_FILE_UPLOAD_PARAM, *LPNET_DVR_SCREEM_FILE_UPLOAD_PARAM; - -typedef struct tagNET_DVR_SCREEM_FILE_DOWNLOAD_PARAM -{ - DWORD dwSize; - DWORD dwFileIndex; //ļ - DWORD dwPPTPageNo; //PPTҳͼƬʱЧΪ0ʾPPTֵʾPPTҳֵ - BYTE byRes2[64]; -}NET_DVR_SCREEM_FILE_DOWNLOAD_PARAM, *LPNET_DVR_SCREEM_FILE_DOWNLOAD_PARAM; - -typedef struct tagNET_DVR_TV_SCREEN_COND -{ - DWORD dwSize;//ṹ - DWORD dwChannel;//ͨ - WORD wTVScreenNo;// 0-ȫ - BYTE byRes[62]; // -}NET_DVR_TV_SCREEN_COND, *LPNET_DVR_TV_SCREEN_COND; - -typedef struct tagNET_DVR_TV_SCREEN_CFG -{ - DWORD dwSize;//ṹ - DWORD dwPicStayTime;//ͣʱ 0~255s - BYTE byRes[256]; // -}NET_DVR_TV_SCREEN_CFG, *LPNET_DVR_TV_SCREEN_CFG; - -//ȡ豸ץȡͼƬ͸Ϣṹ -typedef struct tagNET_DVR_BV_CALIB_COND -{ - DWORD dwSize; //ṹ - DWORD dwChannels; //ͨ - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_COND, *LPNET_DVR_BV_CALIB_COND; - -typedef struct tagNET_DVR_BV_CALIB_PIC -{ - DWORD dwSize; //ṹ - DWORD dwPicID; - DWORD dwPicLen1;//ͼƬ1 - DWORD dwPicLen2;//ͼƬ2 - char* pPicBuffer1;//ͼƬ - char* pPicBuffer2;//ͼƬ - BYTE byRes[600]; // -}NET_DVR_BV_CALIB_PIC, *LPNET_DVR_BV_CALIB_PIC; - - -//ȡ˫Ŀα궨 -typedef struct tagNET_DVR_BV_CALIB_PARAM -{ - DWORD dwPicID; - NET_VCA_POINT struPoint;//ü - BYTE byRes[32]; // -}NET_DVR_BV_CALIB_PARAM, *LPNET_DVR_BV_CALIB_PARAM; - -typedef struct tagNET_DVR_BV_CALIB_INFO -{ - DWORD dwSize; //ṹ - DWORD dwBVCalibNumber; // - NET_DVR_BV_CALIB_PARAM struBVCalibParam[12]; - DWORD dwHumanHeight; //ʵߣλcm - DWORD dwChannel; //ͨ - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_INFO, *LPNET_DVR_BV_CALIB_INFO; - -typedef struct tagNET_DVR_BV_CALIB_RESULT -{ - DWORD dwSize; //ṹ - DWORD dwCameraHeight; //߶ȣλcm - float fPitchAngle; //ӽǶ[0, 60], + 360* 1000 - float fInclineAngle; //бǶ[-20,20] + 360 * 1000 - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_RESULT, *LPNET_DVR_BV_CALIB_RESULT; - -//ȡ˫Ŀ߶Ƚ -typedef struct tagNET_DVR_BV_HCORRECTION_COND -{ - DWORD dwSize; //ṹ - DWORD dwChannels; //ͨ - DWORD dwPicID; - BYTE byRes[300]; // -}NET_DVR_BV_HCORRECTION_COND, *LPNET_DVR_BV_HCORRECTION_COND; - -typedef struct tagNET_DVR_BV_HCORRECTION_CFG -{ - DWORD dwSize; //ṹ - DWORD dwHumanHeight; //ʵߣλcm - BYTE byRes[300]; // -}NET_DVR_BV_HCORRECTION_CFG, *LPNET_DVR_BV_HCORRECTION_CFG; - - -// -typedef struct tagNET_DVR_TMEVOICE_CFG -{ - DWORD dwSize;//ṹС - BYTE byVoiceSpeed;// 0~100 - BYTE byVoicePitch; // 0~100 - BYTE byVoiceVolum; //0~100 - BYTE byVoicePlateEnable;//ʹ ,0~رգ1~ - /*ࣻ - 3 = Xiaoyan (female, Chinese) - 51 = Jiu Xu (male, Chinese) - 52 = Duo Xu (male, Chinese) - 53 = Xiaoping (female, Chinese) - 54 = Donald Duck (male, Chinese) - 55 = Baby Xu (child, Chinese) - */ - DWORD dwVoiceRole; // - char sInfo[MAX_TMEVOICE_LEN/*64*/]; //ݣѹȦݣ - char sFileName[MAX_TMEVOICE_LEN/*64*/]; //ļ - BYTE byRes[64]; -}NET_DVR_TMEVOICE_CFG,*LPNET_DVR_TMEVOICE_CFG; - -// -typedef struct tagNET_DVR_INPUT_BOARD_CFG -{ - DWORD dwSize; - DWORD dwSlotNo; //λ - BYTE byFullFrameEnable; //Ƿȫ֡ʳԣ0-1- - BYTE byRes[3]; //ֽڶ - BYTE byRes1[64]; // -}NET_DVR_INPUT_BOARD_CFG, *LPNET_DVR_INPUT_BOARD_CFG; - -typedef struct tagNET_DVR_INPUT_BOARD_CFG_LIST -{ - DWORD dwSize; - NET_DVR_INPUT_BOARD_CFG struBoardList[MAX_NUM_INPUT_BOARD]; //Ϣб -}NET_DVR_INPUT_BOARD_CFG_LIST, *LPNET_DVR_INPUT_BOARD_CFG_LIST; - -/******************************ȫƵϢȫ begin******************************************/ -//ȡ豸Ϣṹ -typedef struct _NET_DVR_ENCRYPT_DEVICE_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byAlgorithm; //㷨0-1-RSA,2-SM2 - BYTE byModelLen; //ģ0-1-1024λ,2-2048λ,3-256λ - BYTE byCERTSaveLocation; //֤鱣λã豸صѡ0-1-оƬ(ͨUSB豸),2-豸 - BYTE byRes[29]; -}NET_DVR_ENCRYPT_DEVICE_COND, *LPNET_DVR_ENCRYPT_DEVICE_COND; -//ȡ豸Ϣṹ -typedef struct _NET_DVR_ENCRYPT_DEVICE_INFO -{ - DWORD dwSize; //ṹС - BYTE byAlgorithm; //㷨0-1-RSA,2-SM2 - BYTE byModelLen; //ģ0-1-1024λ,2-2048λ,3-256λ - BYTE byRes1[30]; // - DWORD dwPublicKeyLen; //Կ - char szPublicKey[MAX_PUBLIC_KEY_LEN]; //Կ - char szChipSerialNumber[CHIP_SERIALNO_LEN]; //оƬк - char szDeviceID[ENCRYPT_DEV_ID_LEN]; //豸ID - BYTE byRes2[128]; -}NET_DVR_ENCRYPT_DEVICE_INFO, *LPNET_DVR_ENCRYPT_DEVICE_INFO; -//֤ṹ -typedef struct _NET_DVR_ENCRYPT_CERT_PARAM -{ - DWORD dwSize; - WORD wCertType; //֤ͣ0-CA֤飬1-ǩ֤,2-֤飬3- SM2Կ - BYTE byRes1[2]; // - DWORD dwCertLen; //֤鳤 - BYTE byRes2[32]; - char* pCertBuf; //֤黺 -}NET_DVR_ENCRYPT_CERT_PARAM, *LPNET_DVR_ENCRYPT_CERT_PARAM; -/******************************ȫƵϢȫ end******************************************/ -#define MAX_RING_NAME_LEN_128 128 //Ƴ -typedef struct tagNET_DVR_RING_UPLOAD_CFG -{ - DWORD dwSize; - DWORD dwRingID; //ţ[1,8] - BYTE byRingName[MAX_RING_NAME_LEN_128/*128*/]; // - DWORD dwRingSize; //ļС - BYTE byRingType; //ͣ0-wav - BYTE byRes[363]; -}NET_DVR_RING_UPLOAD_CFG,*LPNET_DVR_RING_UPLOAD_CFG; - -typedef struct tagNET_DVR_RING_SEARCH_COND -{ - DWORD dwSize; - DWORD dwRingID; //ţɵʽңô˲Ϊ0ʾŲ - BYTE byRes[300]; -}NET_DVR_RING_SEARCH_COND,*LPNET_DVR_RING_SEARCH_COND; - -typedef struct tagNET_DVR_RING_SEARCH_CFG -{ - DWORD dwSize; - DWORD dwRingID; //ţ[1,8] - BYTE byRingName[MAX_RING_NAME_LEN_128/*128*/]; // - DWORD dwRingSize; //ļС - BYTE byRingType; //ͣ0-wav - BYTE byRes[303]; -}NET_DVR_RING_SEARCH_CFG,*LPNET_DVR_RING_SEARCH_CFG; - -// -typedef struct tagNET_DVR_ALARMCTRL_CFG -{ - DWORD dwSize; - BYTE byListenPicUploadEnabled;//ͼƬϴʹ - BYTE byRes [259]; -}NET_DVR_ALARMCTRL_CFG,*LPNET_DVR_ALARMCTRL_CFG; - -typedef struct tagNET_DVR_VEHICLEFLOW_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byLane;//ţ1~6,0Ϊг - BYTE byRes1[3]; - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - BYTE byRes[256]; -}NET_DVR_VEHICLEFLOW_COND, *LPNET_DVR_VEHICLEFLOW_COND; - -typedef struct tagNET_DVR_VEHICLEFLOW_INFO -{ - DWORD dwVehicleFlowValue;//Ϊһʱڵ - BYTE byRes[64]; -}NET_DVR_VEHICLEFLOW_INFO, *LPNET_DVR_VEHICLEFLOW_INFO; - -typedef struct tagNET_DVR_VEHICLEFLOW_CFG -{ - DWORD dwSize; - NET_DVR_VEHICLEFLOW_INFO struVehFlow[MAX_VEHICLEFLOW_INFO/*24*/]; - BYTE byRes[512]; -}NET_DVR_VEHICLEFLOW_CFG, *LPNET_DVR_VEHICLEFLOW_CFG; - -//ṹ -typedef struct tagNET_DVR_IPADDR_FILTER_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRes[64]; -}NET_DVR_IPADDR_FILTER_COND, *LPNET_DVR_IPADDR_FILTER_COND; - -typedef struct tagNET_DVR_TEMPHUMSENSOR -{ - DWORD dwSize;//ṹ峤 - BYTE byEnable;//ʹ 0-أ1- - BYTE byCtrlMode;//ģʽ 0-¶ֵƣ1-ʪֵƣ2-ʪֵ - BYTE byTemperatureValue;//¶ֵ0~100϶,ģʽΪ02ʱЧ - BYTE byHumidityValue;//ʪֵ0~100ģʽΪ12ʱЧ - BYTE byFanSwitch;//ȿأ0-أ1- - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byRes[62]; -}NET_DVR_TEMPHUMSENSOR, *LPNET_DVR_TEMPHUMSENSOR; - -//״ -typedef struct tagNET_DVR_POSTRADARSPEED_CFG -{ - DWORD dwSize;//ṹС - BYTE byLaneType; //·ͣ0~δ,1~ٹ·,2~п·,0xff~· - BYTE byRes1[3]; - DWORD dwInterval; //ץļλms - DWORD dwSignSpeed;//־(С)λkm/h - DWORD dwSpeedLimit;//ֵ(С)λkm/h - DWORD dwBigCarSignSpeed;//־()λkm/h - DWORD dwBigCarSpeedLimit;//ֵ󳵣λkm/h - DWORD dwLowSpeedLimit;// С޵٣λkm/h - DWORD dwBigCarLowSpeedLimit;// ޵٣λkm/h - BYTE byCheckPostEnabled; //ÿץ - BYTE byOverSpeedEnabled; //óץ - BYTE byRes[246]; -}NET_DVR_POSTRADARSPEED_CFG, *LPNET_DVR_POSTRADARSPEED_CFG; - -//״ -typedef struct tagNET_DVR_POSTRADARPARAM_CFG -{ - DWORD dwSize;//ṹС - BYTE bySoftWareVersion[32];//汾 ֻ - BYTE byID; //ں - BYTE byWorkMode; //ģʽ0~,1~ͷ,2~β,3~Ѳ߳β,4~˫,0xff~ - BYTE bySpeedType; //ٶȸʽ0~ֽ,1~˫ֽ,2~ֽ,0xff~ - BYTE byDirectionFilter; //ˣ0~,1~,2~ȥ - DWORD dwAngleCorrect;//Ƕ[0,70] - DWORD dwSensitivity;// [11,240] - DWORD dwSpeedLowLimit;// [1,150km/h] - DWORD dwTrigDistance;// [0,40m] - BYTE byRes[256]; -}NET_DVR_POSTRADARPARAM_CFG, *LPNET_DVR_POSTRADARPARAM_CFG; - -typedef struct tagNET_DVR_CLOUD_URL_COND -{ - DWORD dwSize; - BYTE byType; //0-1- OneDrive 2-GoogleDrive 3-DropBox - BYTE byRes[63]; -}NET_DVR_CLOUD_URL_COND, *LPNET_DVR_CLOUD_URL_COND; - -typedef struct tagNET_DVR_CLOUD_URL -{ - DWORD dwSize; - char szURL[256]; //ƴ洢URL - BYTE byRes[256]; -}NET_DVR_CLOUD_URL, *LPNET_DVR_CLOUD_URL; - -typedef struct tagNET_DVR_CLOUD_CFG -{ - DWORD dwSize; - BYTE byEnable; //0-1- - BYTE byType; //0-1- OneDrive 2-GoogleDrive 3-DropBox - BYTE byStatus; //״ֻ̬ 0- 1- 2- - BYTE byRes1; - char szAuthCode[CODE_LEN]; //Ȩ - char szAlias[ALIAS_LEN]; //ֻ - INT64 i64TotalCapability; //ֻλMB - INT64 i64UsedSpace; //ֻλMB - BYTE byRes2[256]; -}NET_DVR_CLOUD_CFG, *LPNET_DVR_CLOUD_CFG; - -typedef struct tagNET_DVR_CLOUD_UPLOADSTRATEGY_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[254]; //ΪʹID -}NET_DVR_CLOUD_UPLOADSTRATEGY_COND, *LPNET_DVR_CLOUD_UPLOADSTRATEGY_COND; - -typedef struct tagNET_DVR_CLOUD_UPLOADSTRATEGY -{ - DWORD dwSize; - BYTE byStrategyType; //0-壬1-¼2-ͼƬ - BYTE byRes1[3]; - DWORD dwRecordType; //byStrategyType Ϊ1ʱЧλʾ - /*0x00: */ - /*0x01: ȫ¼*/ - /*0x02: ƶ*/ - /*0x04: ź*/ - /*0x08: */ - BYTE byRes[256]; -}NET_DVR_CLOUD_UPLOADSTRATEGY, *LPNET_DVR_CLOUD_UPLOADSTRATEGY; - -//¼Լ -typedef struct tagNET_DVR_RECORD_CHECK_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - BYTE byCheckType; //ⷽʽ,0--¼Ƿ,1--¼Ƿ&ȱʧ¼ֹʱ - BYTE byRes1[3]; - NET_DVR_TIME_EX struBeginTime; //¼Ŀʼʱ - NET_DVR_TIME_EX struEndTime; //¼Ľʱ - BYTE byRes[128]; -}NET_DVR_RECORD_CHECK_COND, *LPNET_DVR_RECORD_CHECK_COND; - -//¼Լ -typedef struct tagNET_DVR_RECORD_CHECK_RET -{ - DWORD dwSize; - BYTE byRecordNotComplete; //¼Ƿ0--,1-- - BYTE byRes1[3]; - NET_DVR_TIME_EX struBeginTime; //ȱʧ¼Ŀʼʱ䣬byCheckTypebyRecordNotCompleteֵΪ1ʱЧ - NET_DVR_TIME_EX struEndTime; //ȱʧ¼Ľʱ䣬byCheckTypebyRecordNotCompleteֵΪ1ʱЧ - BYTE byRes[128]; -}NET_DVR_RECORD_CHECK_RET, *LPNET_DVR_RECORD_CHECK_RET; - -//ֶش -typedef struct tagNET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - BYTE byRes[128]; -}NET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND; - -//ֶش -typedef struct tagNET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG -{ - DWORD dwSize; - NET_DVR_TIME_EX struBeginTime; //ش¼ʼʱ - NET_DVR_TIME_EX struEndTime; //ش¼ʱ - BYTE byRes[128]; -}NET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG, *LPNET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG; - -//ش -typedef struct tagNET_DVR_RECORD_PASSBACK_TASK_CFG -{ - DWORD dwSize; - DWORD dwTaskID; //ID - BYTE byRes[160]; -}NET_DVR_RECORD_PASSBACK_TASK_CFG, *LPNET_DVR_RECORD_PASSBACK_TASK_CFG; - -//ȡֶش -typedef struct tagNET_DVR_RECORD_PASSBACK_MANUAL_COND -{ - DWORD dwSize; - BYTE byType; //ȡʽ,0--ȡȫʣ1--IDȡʣ, 2--ȡȫ3--IDȡ4IDȡ - BYTE byTimeSegmentQuety; //Ƿʱ䷶Χѯ0-ã1- - BYTE byRes1[2]; // - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣIDȡʣʱЧ - NET_DVR_TIME_EX struBeginTime; //ѯʼʱ䣬byTimeSegmentQuetyʱЧ - NET_DVR_TIME_EX struEndTime; //ѯʱ䣬byTimeSegmentQuetyʱЧ - DWORD dwTaskID; //ID, byType4ʱЧ - BYTE byRes[108]; // -}NET_DVR_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_RECORD_PASSBACK_MANUAL_COND; - -//ȡֶش -typedef struct tagNET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣIDȡʣʱЧ - DWORD dwTaskID; //ID - NET_DVR_TIME_EX struStartTime; //ش¼ʼʱ - NET_DVR_TIME_EX struStopTime; //ش¼ʱ - BYTE byTaskStatus; //״̬0--δִУ1--ͣУ2--ִ, 3--ش, 4--شʧ, 5--ִгɹֻش˲¼, 6--ִгɹǰ¼ - BYTE byRes1[3]; - NET_DVR_TIME_EX struExecuteStartTime;//ʵִпʼʱ䣬byTaskStatusΪ12Ч - NET_DVR_TIME_EX struExecuteStopTime;//ʵִнʱ䣬byTaskStatusΪ2Ч - BYTE byRes[128]; // -}NET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET, *LPNET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET; - -//ֶش -typedef struct tagNET_DVR_RECORD_PASSBACK_MANUAL_CTRL -{ - DWORD dwSize; - BYTE byControlType; //Ʒʽ,0--ֶͣ1--ֶָ - BYTE byRes[131]; // -}NET_DVR_RECORD_PASSBACK_MANUAL_CTRL, *LPNET_DVR_RECORD_PASSBACK_MANUAL_CTRL; - -//ɾֶش -typedef struct tagNET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND -{ - DWORD dwSize; - BYTE byDelType; //ɾʽ,0--IDɾ1--IDɾ2--ɾȫ - BYTE byRes[131]; // -}NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND; - -//ɾֶش -typedef struct tagNET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG -{ - DWORD dwSize; - DWORD dwTaskID; //ֶشIDIDɾʱЧ - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣIDɾʱЧ - BYTE byRes[128]; // -}NET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG, *LPNET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG; - -typedef struct tagNET_DVR_PASSBACK_DAY -{ - BYTE byAllDay; //Ƿȫش - BYTE byRes[3]; // -}NET_DVR_PASSBACK_DAY, *LPNET_DVR_PASSBACK_DAY; - -typedef struct tagNET_DVR_PASSBACK_SCHED -{ - NET_DVR_SCHEDTIME struPassBackTime; //شʱΣʼʱ-ʱ - BYTE byRes[4]; // -}NET_DVR_PASSBACK_SCHED, *LPNET_DVR_PASSBACK_SCHED; - -//¼شƻ -typedef struct tagNET_DVR_RECORD_PASSBACK_SCH_CFG_ -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0--ã1-- - BYTE byPassBackWeek; //Ƿܻش0--1--ǣֵΪ1ʱstruPassBackDaystruPassBackSchedЧ - BYTE byRes1[2]; // - NET_DVR_PASSBACK_DAY struPassBackDay[MAX_DAYS]; //ȫشƻ - NET_DVR_PASSBACK_SCHED struPassBackSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱλشƻ - BYTE byRes[128]; // -}NET_DVR_RECORD_PASSBACK_SCH_CFG, *LPNET_DVR_RECORD_PASSBACK_SCH_CFG; - -//شʷ¼ƻ -typedef struct tagNET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG_ -{ - DWORD dwSize; //汾ͷ - BYTE byEnable; //Ƿã0--ã1-- - BYTE byRes1[3]; // - NET_DVR_PASSBACK_DAY struPassBackDay[MAX_DAYS]; //ȫشƻ - NET_DVR_PASSBACK_SCHED struPassBackSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱλشƻ - BYTE byRes[256]; // -}NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG, *LPNET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG; - -//¼ -typedef struct tagNET_DVR_DEV_STORAGE_CFG -{ - DWORD dwSize; - DWORD dwCapacityTotal; //豸洢(CVRʾ¼)(ֻ)λMB - DWORD dwFreeSpaceTotal; //豸洢(CVRʾ¼)ʣܿռ(ֻ)λMB - DWORD dwLockedRecordSpace; //豸Ѽ¼洢(CVRʾ¼)(ֻ)λMB - DWORD dwUnLockedSpace; //豸δ洢(CVRʾ¼)(ֻ),δ¼ʣ洢ռ䣬λMB - BYTE byRes[512]; // -}NET_DVR_DEV_STORAGE_CFG, *LPNET_DVR_DEV_STORAGE_CFG; - -//һCVRV50 -typedef struct tagNET_DVR_ONE_KEY_CFG_V50 -{ - DWORD dwSize;//ṹС - BYTE byRaidType; //RAIDͣ0-raid5,1-raid6,2-raid95Vraid,3-ģʽraid - BYTE bySpareRaidProportion; //ọ̇̄raidУı,0--0:1,1--1:1,2--1:2,3--1:3,4--1:4,5--1:5,6--1:6,7--6:1,8--5:1,9--4:1,10--3:1,11--2:1 - BYTE byPicQuota; //ͼƬΧ0~100 - BYTE byRes[257]; -}NET_DVR_ONE_KEY_CFG_V50, *LPNET_DVR_ONE_KEY_CFG_V50; - -typedef struct tagNET_DVR_ONE_KEY_RESULT_V51 -{ - DWORD dwState; //״ֵ̬ע״ֵ̬ - BYTE byProgress; //ȣ0~100 - BYTE byRes[259]; -}NET_DVR_ONE_KEY_RESULT_V51, *LPNET_DVR_ONE_KEY_RESULT_V51; - -typedef struct tagNET_DVR_ONE_KEY_CFG_SAN_V50 -{ - DWORD dwSize;//ṹС - BYTE byRaidType; //RAIDͣ0-raid5,1-raid6 - BYTE bySpareRaidProportion; //ọ̇̄raidУı,0--0:1,1--1:1,2--1:2,3--1:3,4--1:4,5--1:5,6--1:6,7--6:1,8--5:1,9--4:1,10--3:1,11--2:1 - BYTE byRes[254]; -}NET_DVR_ONE_KEY_CFG_SAN_V50, *LPNET_DVR_ONE_KEY_CFG_SAN_V50; - -typedef struct tagNET_DVR_REC_PASSBACK_BASIC_CFG -{ - DWORD dwSize;//ṹС - DWORD dwStartTime; //ⴰڿʼʱ䣨λӣ - DWORD dwStopTime; //ⴰڽʱ䣨λӣ - WORD wMaxTotalConcurrenceNum; //ش·,ԵDZ·ǻش - WORD wMaxDvrConcurrenceNum; //̨DVRشͨ - DWORD dwSyncSpeed; //شʣλMbpsΪ12Mbps - DWORD dwRecordType; //¼: 0xffffffffȫ0ʱ1-ƶ,20xff- - BYTE byRes[248]; -}NET_DVR_REC_PASSBACK_BASIC_CFG, *LPNET_DVR_REC_PASSBACK_BASIC_CFG; - -//豸ӵû -typedef struct tagNET_DVR_ONLINE_USER_INFO_ -{ - DWORD dwSize; - WORD wOnlineUserCount; //¼豸û - BYTE byRes[514]; // -}NET_DVR_ONLINE_USER_INFO, *LPNET_DVR_ONLINE_USER_INFO; - -//ѯ¼ܴС -typedef struct tagNET_DVR_RECORD_SEGMENT_COND_ -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreanInfo; - NET_DVR_TIME_EX struStartTime; //ʼʱ - NET_DVR_TIME_EX struStopTime; //ʱ - BYTE byRes[256]; // -}NET_DVR_RECORD_SEGMENT_COND, *LPNET_DVR_RECORD_SEGMENT_COND; - -//ѯ¼ܴСز -typedef struct tagNET_DVR_RECORD_SEGMENT_RET_ -{ - DWORD dwSize; - DWORD dwRecordTotalSize; //¼ܴСλMB - BYTE byRes[256]; // -}NET_DVR_RECORD_SEGMENT_RET, *LPNET_DVR_RECORD_SEGMENT_RET; -typedef struct tagNET_DVR_ACCESSORY_CARD_INFO -{ - DWORD dwSize; - BYTE szAccessoryCardInfo[MAX_ACCESSORY_CARD/*256*/];//(ܰƴذ)ͺϢ - BYTE byRes[512]; -}NET_DVR_ACCESSORY_CARD_INFO, *LPNET_DVR_ACCESSORY_CARD_INFO; -//ѯϢṹ -typedef struct tagNET_DVR_SEARCH_INFO_COND -{ - DWORD dwSize; - BYTE byCommand; //ѯ0-ˣ1- - BYTE byRes1[3]; - DWORD dwEmployeeNo; //ţѯΪ0-ʱЧ - BYTE byName[NAME_LEN]; //ѯΪ0-ʱЧ - NET_DVR_TIME_V30 struStartTime; //ʼʱ - NET_DVR_TIME_V30 struEndTime; //ʱ - BYTE byRes[128]; // -}NET_DVR_SEARCH_INFO_COND, *LPNET_DVR_SEARCH_INFO_COND; - -//ȡŰϢ -typedef struct tagNET_DVR_SCHEDULE_CHOICE -{ - BYTE byScheduleType; //ͣ0-Űࡢ1-ͨࡢ2-ʱ - BYTE byScheduleNo; //α - BYTE byRes[14]; // -}NET_DVR_SCHEDULE_CHOICE, *LPNET_DVR_SCHEDULE_CHOICE; -// B20 V1.5 -typedef struct tagNET_DVR_DISPINPUT_CFG -{ - DWORD dwSize; - DWORD dwDispInputNo; //ʾ - DWORD dwEDIDFileNo; //EDIDļ - BYTE byRes[32]; -}NET_DVR_DISPINPUT_CFG, *LPNET_DVR_DISPINPUT_CFG; - -//Űƻṹ -typedef struct tagNET_DVR_SCHEDULE_PLAN -{ - DWORD dwSize; - BYTE bySchedulePlanNo; //Űƻ,ʼΧ - BYTE bySchedulePlanType; //Űƻͣ0-ˡ1- - BYTE byEnable; //ʹ - BYTE byRes1; - NET_DVR_SCHEDULE_CHOICE struScheduleChoice[DAYS_A_WEEK]; //ѡ - NET_DVR_TIME_V30 struStartTime; //ʼʱ - NET_DVR_TIME_V30 struEndTime; //ʱ - BYTE byHolidayNo; // - BYTE byRes[63]; // -}NET_DVR_SCHEDULE_PLAN, *LPNET_DVR_SCHEDULE_PLAN; -typedef struct tagNET_DVR_DISPINPUT_CFG_LIST -{ - DWORD dwSize; - DWORD dwDispInputNum; //صNET_DVR_DISPINPUT_CFGṹĸ - LPNET_DVR_DISPINPUT_CFG lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_DISPINPUT_CFG_LIST, *LPNET_DVR_DISPINPUT_CFG_LIST; - -//ȡŰϢ -typedef struct tagNET_DVR_SCHEDULE_INFO_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - NET_DVR_SCHEDULE_PLAN struSchedulePlan; //Űƻ - BYTE byRes[128]; // -}NET_DVR_SCHEDULE_INFO_CFG, *LPNET_DVR_SCHEDULE_INFO_CFG; - -//ȡڻϢ -typedef struct tagNET_DVR_ATTENDANCE_SUMMARY_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - DWORD dwWorkStandard; //׼ʱ䣨ӣ - DWORD dwWorkActual; //ʵʹʱ䣨ӣ - DWORD dwLateTimes; //ٵ - DWORD dwLateMinutes;//ٵۼʱ䣨ӣ - DWORD dwLeaveEarlyTimes; //˴ - DWORD dwLeaveEarlyMinutes; //ۼʱ䣨ӣ - DWORD dwOvertimeStandard; //׼Ӱʱ䣨ӣ - DWORD dwOvertimeActual; //ʵʼӰʱ䣨ӣ - DWORD dwAttendanceStandard; //׼죩 - DWORD dwAttendanceActual; //ʵʳ죩 - DWORD dwAbsentDays; //죩 - BYTE byRes[128]; // -}NET_DVR_ATTENDANCE_SUMMARY_CFG, *LPNET_DVR_ATTENDANCE_SUMMARY_CFG; - -//ȡڼ¼Ϣ -typedef struct tagNET_DVR_ATTENDANCE_RECORD_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - NET_DVR_TIME_V30 struAttendanceTime; //ʱ - BYTE byRes[128]; // -}NET_DVR_ATTENDANCE_RECORD_CFG, *LPNET_DVR_ATTENDANCE_RECORD_CFG; - -//ʱϢ -typedef struct tagNET_DVR_ATTENDANCE_TIME -{ - NET_DVR_TIME_V30 struOnDutyTime; //ϰʱ - NET_DVR_TIME_V30 struOffDutyTime; //°ʱ -}NET_DVR_ATTENDANCE_TIME, *LPNET_DVR_ATTENDANCE_TIME; - -//ȡ쳣ͳϢ -typedef struct tagNET_DVR_ABNORMAL_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - NET_DVR_ATTENDANCE_TIME struAttendanceTime[ABNORMAL_INFO_NUM]; //쳣ʱ - DWORD dwLateMinutes; //ٵʱ䣨ӣ - DWORD dwLeaveEarlyMinutes; //ʱ䣨ӣ - DWORD dwAbsenceMinutes; //ȱʱ䣨ӣ - DWORD dwTotalMinutes; //ϼʱ䣨ӣ - BYTE byRes[128]; // -}NET_DVR_ABNORMAL_CFG, *LPNET_DVR_ABNORMAL_CFG; - -typedef struct tagNET_DVR_CARD_CFG_V50 -{ - DWORD dwSize; - DWORD dwModifyParamType; - // Ҫ޸ĵĿÿʱЧλʾÿλһֲ1ΪҪ޸ģ0Ϊ޸ - // #define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ - // #define CARD_PARAM_VALID 0x00000002 //Чڲ - // #define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ - // #define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ - // #define CARD_PARAM_LEADER_CARD 0x00000010 //׿ - // #define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ - // #define CARD_PARAM_GROUP 0x00000040 //Ⱥ - // #define CARD_PARAM_PASSWORD 0x00000080 // - // #define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ - // #define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ - // #define CARD_PARAM_EMPLOYEE_NO 0x00000400 // - // #define CARD_PARAM_NAME 0x00000800 // - // #define CARD_PARAM_DEPARTMENT_NO 0x00001000 //ű - // #define CARD_SCHEDULE_PLAN_NO 0x00002000 //Űƻ - // #define CARD_SCHEDULE_PLAN_TYPE 0x00004000 //Űƻ - // #define CARD_ROOM_NUMBER 0x00008000 // - // #define CARD_SIM_NO 0x00010000 //SIMţֻţ - // #define CARD_FLOOR_NUMBER 0x00020000 //¥ - // #define CARD_USER_TYPE 0x00040000 //û - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byCardValid; //ǷЧ0-Ч1-ЧɾʱΪ0ɾȡʱֶʼΪ1 - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-9-Ա10-Ӧ11-ӦȨʱȨޣܿţ12-ESDȫ쿨13-ESD쿨14-ESD쿨15-ESDּ쿨Ĭͨ - BYTE byLeaderCard; //ǷΪ׿1-ǣ0- - BYTE byUserType; // 0 C ͨû1 - Աû; - BYTE byDoorRight[MAX_DOOR_NUM_256]; //Ȩ(¥ȨޡȨ)λʾ1ΪȨޣ0ΪȨޣӵλλʾţ1-NǷȨ - NET_DVR_VALID_PERIOD_CFG struValid; //Чڲ - BYTE byBelongGroup[MAX_GROUP_NUM_128]; //Ⱥ飬ֽڱʾ1-ڣ0- - BYTE byCardPassword[CARD_PASSWORD_LEN]; // - WORD wCardRightPlan[MAX_DOOR_NUM_256][MAX_CARD_RIGHT_PLAN_NUM]; //Ȩ޼ƻȡֵΪƻģţͬţͬƻģȨ޻ķʽ - DWORD dwMaxSwipeTime; //ˢ0Ϊ޴ƣ - DWORD dwSwipeTime; //ˢ - WORD wRoomNumber; // - SHORT wFloorNumber; // - DWORD dwEmployeeNo; //ţûID - BYTE byName[NAME_LEN]; // - WORD wDepartmentNo; //ű - WORD wSchedulePlanNo; //Űƻ - BYTE bySchedulePlanType; //Űƻͣ0-塢1-ˡ2- - BYTE byRightType; //·Ȩͣ0-ͨȨޡ1-άȨޡ2-ȨޣӶԽ豸άȨšţ⿨ţˢЧڲȨޣţөʯAPP˺ţͨȨһ£ - BYTE byRes2[2]; - DWORD dwLockID; //ID - BYTE byLockCode[MAX_LOCK_CODE_LEN]; // - BYTE byRoomCode[MAX_DOOR_CODE_LEN]; // - //λʾ0-Ȩޣ1-Ȩ - //0λʾ籨 - //1λʾʾ - //2λʾƿͿ - //3λʾͨ - //4λʾ - //5λʾѲ - DWORD dwCardRight; //Ȩ - DWORD dwPlanTemplate; //ƻģ(ÿ)ʱǷãλʾ0--ã1- - DWORD dwCardUserId; //ֿID - BYTE byCardModelType; //0-գ1- M1 S502- M1 S703- FM1208 CPU4- FM1216 CPU5-CPU6-֤7- NFC - BYTE byRes3[51]; - BYTE bySIMNum[NAME_LEN/*32*/]; //SIMţֻţ -}NET_DVR_CARD_CFG_V50, *LPNET_DVR_CARD_CFG_V50; - -typedef struct tagNET_DVR_CAPTURE_FINGERPRINT_COND -{ - DWORD dwSize; - BYTE byFingerPrintPicType; //ͼƬͣ0- - BYTE byFingerNo; //ָţΧ1-10 - BYTE byRes[126]; -}NET_DVR_CAPTURE_FINGERPRINT_COND, *LPNET_DVR_CAPTURE_FINGERPRINT_COND; - -typedef struct tagNET_DVR_CAPTURE_FINGERPRINT_CFG -{ - DWORD dwSize; - DWORD dwFingerPrintDataSize; //ָݴС - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - DWORD dwFingerPrintPicSize; //ָͼƬС0ʱָͼƬ - char* pFingerPrintPicBuffer; //ָͼƬ - BYTE byFingerNo; //ָţΧ1-10 - BYTE byFingerPrintQuality; //ָΧ1-100 - BYTE byRes[62]; -}NET_DVR_CAPTURE_FINGERPRINT_CFG, *LPNET_DVR_CAPTURE_FINGERPRINT_CFG; - -typedef struct tagNET_DVR_CAPTURE_FACE_COND -{ - DWORD dwSize; - BYTE byRes[128]; -}NET_DVR_CAPTURE_FACE_COND, *LPNET_DVR_CAPTURE_FACE_COND; - -typedef struct tagNET_DVR_FACE_FEATURE -{ - NET_VCA_RECT struFace; //ͼ - NET_VCA_POINT struLeftEye; // - NET_VCA_POINT struRightEye; // - NET_VCA_POINT struLeftMouth; // - NET_VCA_POINT struRightMouth; // ұ - NET_VCA_POINT struNoseTip; // -}NET_DVR_FACE_FEATURE, *LPNET_DVR_FACE_FEATURE; - - -typedef struct tagNET_DVR_CAPTURE_FACE_CFG -{ - DWORD dwSize; - DWORD dwFaceTemplate1Size; //ģ1ݴС0ʱģ1 - char* pFaceTemplate1Buffer; //ģ1ݻ棨2.5k - DWORD dwFaceTemplate2Size; //ģ2ݴС0ʱģ2 - char* pFaceTemplate2Buffer; //ģ2ݻ棨2.5K - DWORD dwFacePicSize; //ͼƬݴС0ʱͼƬ - char* pFacePicBuffer; //ͼƬݻ - BYTE byFaceQuality1; //Χ1-100 - BYTE byFaceQuality2; //Χ1-100 - BYTE byCaptureProgress; //ɼȣĿǰֵֻֽ0-δɼ100-ɼֻڽΪ100ʱŽϢ - BYTE byFacePicQuality; //ͼƬ - DWORD dwInfraredFacePicSize; //ͼƬݴС0ʱͼƬ - char* pInfraredFacePicBuffer; //ͼƬݻ - BYTE byInfraredFacePicQuality; //ͼƬ - BYTE byRes1[3]; - NET_DVR_FACE_FEATURE struFeature; //ͼϢ - BYTE byRes[56]; -}NET_DVR_CAPTURE_FACE_CFG, *LPNET_DVR_CAPTURE_FACE_CFG; - -//ѯֶشִ -typedef struct tagNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_SEND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣ - BYTE byRes[128]; // -}NET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_SEND, *LPNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_SEND; - -//ѯֶشִ -typedef struct tagNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_RET -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣ - BYTE byExecutable; //0-ش1-ִлش - BYTE byUnexecutableReason; //شԭ, 0-ҪŶӣ1-ӣ2-IDڣ3-CVR쳣4-Ƶ, 5-û, 6-ǰ豸, 7-ԭ - BYTE byRes[254]; // -}NET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_RET, *LPNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_RET; - -typedef struct tagNET_DVR_STREAM_MEDIA_CFG -{ - DWORD dwSize; - BYTE sUrl[MAX_URL_LEN]; - NET_DVR_IPADDR struDMSIP; /* dms IPַ */ - WORD wDMSPort; /*dms ˿ں */ - BYTE byRes1[2]; - DWORD dwDomainID; /*IDֶ֧ƽ̨*/ - BYTE byRes[360]; // -}NET_DVR_STREAM_MEDIA_CFG, *LPNET_DVR_STREAM_MEDIA_CFG; - -//ֻⵥ -typedef struct tagNET_DVR_SHIPSDETECTION_REGION_CFG -{ - - BYTE byRuleID; - BYTE byEnable; //ʹ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byFrameOverlayEnabled;//ƵǷӼ - BYTE byRes[36]; - NET_ITC_POLYGON struPolygon; // - NET_VCA_LINE struTriggerLine; // -}NET_DVR_SHIPSDETECTION_REGION_CFG, *LPNET_DVR_SHIPSDETECTION_REGION_CFG; - -typedef struct tagNET_DVR_SHIPSDETECTION_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - float fLookDownUpAngle;//豸ǶȣȷСһλ - float fHorizontalHeight;//豸ˮƽ߶ȣȷСһλ - NET_DVR_SHIPSDETECTION_REGION_CFG struShipsDetectionRegion[MAX_SHIPSDETE_REGION_NUM];//ֻⵥ - BYTE byRes[256]; -}NET_DVR_SHIPSDETECTION_CFG, *LPNET_DVR_SHIPSDETECTION_CFG; - -typedef struct tagNET_DVR_TEMPERATURE_COLOR -{ - /* - ѡ0~±ʱֶЧ,ڸ¶ֵʱнɫע - ѡ1~±ʱ, ֶЧ,ڸ¶ֵʱнɫע - ѡ2~䱨ʱֶЧ¶ڸ¶ʱнɫע - ѡ3~±ʱֶЧ¶Ȳڸ¶ʱнɫע - ѡ4~ΪޱֶͣЧرձ*/ - BYTE byType;//±ɫͣ0~ޱͣرգ1~±ͣ2~±ͣ3~䱨ͣ4~± - BYTE byRes1[3]; - int iHighTemperature;//ֵ-273~10000 - int iLowTemperature;//ֵ-273~10000 - BYTE byRes[8]; -}NET_DVR_TEMPERATURE_COLOR, *LPNET_DVR_TEMPERATURE_COLOR; - -typedef struct tagNET_DVR_THERMOMETRY_BASICPARAM -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byStreamOverlay; //¶Ϣ0- 1- - BYTE byPictureOverlay;//ץͼ¶Ϣ0- 1- - BYTE byThermometryRange;//·Χ: 0-Ĭֵ,1-(-20~150),2-(0~550)϶Ϊλ㣩,3-(϶:0-650棻¶:32-1200H),4-϶: -40-150棩,5-(϶: 0~1200)϶Ϊλ㣬ݲµλ趨ͬ·Χʾ6-(϶: -20-120,7-(϶:20~350), 8-(϶:20~45),9-(϶:30~45),0xff-Զ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byThermometryCurve;//ģʽʾʽ0-رգ1-ģʽ1¶ģʽ2-ģʽ2¶ģʽ - BYTE byFireImageModea;//ͼģʽ0-1-ڰģʽ2-̽ģʽ3-ģʽ(ֶ0Ŀǰ֮ǰӿڲ) - BYTE byShowTempStripEnable;//ʾ¶ʹܣ0- 1- - float fEmissivity;//( ȷСλ)[0.01, 1.00](ı) - BYTE byDistanceUnit;//뵥λ: 0-ףm1-Ӣߣfeet,2-(centimeter) - BYTE byEnviroHumidity;//ʪȣȡֵΧ0~100% - BYTE byRes2[2]; - NET_DVR_TEMPERATURE_COLOR struTempColor;//±ɫ - int iEnviroTemperature;//¶ȣȡֵΧ-273~10000϶ - int iCorrectionVolume;//ȡֵΧ-100~100 - /* bit0-ĵ£0-ʾ1-ʾ - bit1-ߵ£0-ʾ1-ʾ - bit2-͵£0-ʾ1-ʾ - */ - BYTE bySpecialPointThermType;// µʾ - BYTE byReflectiveEnabled;//¶ʹܣ0- 1- - WORD wDistance;//(m)[0, 10000] - float fReflectiveTemperature;//¶ ȷСһλ - float fAlert;//Ԥ¶ֵ-100.0-1000.0ȣȷСһλ - float fAlarm;//¶ֵ-100.0-1000.0ȣȷСһλ - float fThermalOpticalTransmittance;// ѧ͸, ȷС3λΧ0.001-1.000Ĭ1.000 - float fExternalOpticsWindowCorrection;//ⲿѧ¶ȣĬֵ20棬ΧΪ-40.0~80.0棬ʵʾλԽʾΪ׼ - BYTE byDisplayMaxTemperatureEnabled;// ʾ 0-ʾ 1-ʾ - BYTE byDisplayMinTemperatureEnabled;// ʾ 0-ʾ 1-ʾ - BYTE byDisplayAverageTemperatureEnabled;// ʾƽ 0-ʾ 1-ʾ - BYTE byThermometryInfoDisplayposition;// Ϣʾλ 0- 1- 2-ĻϽ - DWORD dwAlertFilteringTime;//¶Ԥȴʱ,λ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ,λ - BYTE byemissivityMode; // 1-ֲڣ2-ϴֲڣ3-Ϲ⻬, 4-⻬, 0xff-Զ - BYTE bydisplayTemperatureInOpticalChannelEnabled;//ɼʾ¶Ϣʹܣ0-ã1 - BYTE byDisplayCentreTemperatureEnabled;// ʾĵ¶ 0-ʾ 1-ʾ - BYTE byRes[49]; -}NET_DVR_THERMOMETRY_BASICPARAM, *LPNET_DVR_THERMOMETRY_BASICPARAM; - -typedef struct tagNET_DVR_THERMOMETRY_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel; - WORD wPresetNo;//0- - BYTE byRes[62]; -}NET_DVR_THERMOMETRY_COND, *LPNET_DVR_THERMOMETRY_COND; - -typedef struct tagNET_DVR_THERMOMETRY_PRESETINFO_PARAM -{ - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRuleID;//ID 0-ʾЧ1ʼ listڲжЧԣ - WORD wDistance;//(m)[0, 10000] - float fEmissivity;//( ȷСλ)[0.01, 1.00](ı) - BYTE byDistanceUnit;//뵥λ: 0-ףm1-Ӣߣfeet,2-(centimeter) - BYTE byRes[2]; - BYTE byReflectiveEnabled;//¶ʹܣ0- 1- - float fReflectiveTemperature;//¶ ȷС2λ - char szRuleName[NAME_LEN/*32*/];// - BYTE byemissivityMode; // 1-ֲڣ2-ϴֲڣ3-Ϲ⻬, 4-⻬, 0xff-Զ - BYTE byRes1[62]; - BYTE byRuleCalibType;//궨 0-㣬1-2- - NET_VCA_POINT struPoint;//꣨궨Ϊ""ʱЧ - NET_VCA_POLYGON struRegion;//ߣ궨Ϊ""""ʱЧ -}NET_DVR_THERMOMETRY_PRESETINFO_PARAM, *LPNET_DVR_THERMOMETRY_PRESETINFO_PARAM; - - -typedef struct tagNET_DVR_THERMOMETRY_PRESETINFO -{ - DWORD dwSize;//ṹС - WORD wPresetNo;//0- - BYTE byRes[2]; - NET_DVR_THERMOMETRY_PRESETINFO_PARAM struPresetInfo[MAX_THERMOMETRY_REGION_NUM/*40*/]; -}NET_DVR_THERMOMETRY_PRESETINFO, *LPNET_DVR_THERMOMETRY_PRESETINFO; - - -typedef struct tagNET_DVR_BASE_STATION_INFO_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - char sNetBarWaCode[16];// - char sCollectionEquipmentID[24];//ɼ豸 - char sMCC[4];//ƶ - char sMNC[4];//ƶ - char sLAC[36];//λ - char sCI[36];//Сʶ - char sBSCI[36];//վʶ - char sBCCH[36];//㲥ŵ - char sLEV[36];//ձƽ - char sCollectionEquipmentLongitude[12];//ɼ豸 - char sCollectionEquipmentLatitude[12];//ɼ豸γ - char sCaptureTime[20];//ɼʱ ʱʽyyyy-MM-dd hh:mm:ss - BYTE byRes[256]; -}NET_DVR_BASE_STATION_INFO_ALARM, *LPNET_DVR_BASE_STATION_INFO_ALARM; - - -typedef struct tagNET_DVR_THERMOMETRY_ALARMRULE_PARAM -{ - BYTE byEnable; - BYTE byRuleID;//ID - BYTE byRule;//¶ȱȽϷʽ 0-´,1-С,2-´,3-С,4-ƽ´,5-ƽС,6-²,7-²С - BYTE byRes; - char szRuleName[NAME_LEN];// - float fAlert;//Ԥ¶ - float fAlarm;//¶ - float fThreshold;//¶ - DWORD dwAlertFilteringTime;//¶Ԥȴʱ,λ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ,λ - BYTE byRes1[56]; -}NET_DVR_THERMOMETRY_ALARMRULE_PARAM, *LPNET_DVR_THERMOMETRY_ALARMRULE_PARAM; - -typedef struct tagNET_DVR_THERMOMETRY_ALARMRULE -{ - DWORD dwSize;//ṹС - NET_DVR_THERMOMETRY_ALARMRULE_PARAM struThermometryAlarmRuleParam[THERMOMETRY_ALARMRULE_NUM]; - BYTE byRes[128]; -}NET_DVR_THERMOMETRY_ALARMRULE, *LPNET_DVR_THERMOMETRY_ALARMRULE; - - -typedef struct tagNET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM -{ - BYTE byEnable; - BYTE byRuleID;//ID,0-ʾЧΧֵ1ʼ - BYTE byAlarmID1; - BYTE byAlarmID2; - BYTE byRule;//¶ȱȽϷʽ0-´,1-С,2-´,3-С,4-ƽ´,5-ƽС,6-²,7-²С - BYTE byRes[3]; - float fTemperatureDiff;//²ֵ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ,λ - BYTE byRes1[28]; -}NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM, *LPNET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM; - -typedef struct tagNET_DVR_THERMOMETRY_DIFFCOMPARISON -{ - DWORD dwSize;//ṹС - NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM struDiffComparison[MAX_THERMOMETRY_DIFFCOMPARISON_NUM/*8*/]; - BYTE byRes[64]; -}NET_DVR_THERMOMETRY_DIFFCOMPARISON, *LPNET_DVR_THERMOMETRY_DIFFCOMPARISON; - - -//ʵʱ¶ȼṹ -typedef struct tagNET_DVR_REALTIME_THERMOMETRY_COND -{ - DWORD dwSize; - DWORD dwChan;//ͨţ1ʼ0xffffffffȡȫͨ - BYTE byRuleID; //ID 0-ȡȫ򣬾ID1ʼ - /* - 1-ʱģʽ豸ÿһϴݵ¡ºƽ¶ֵ² - 2-²ģʽһһ»»ƽ»²ֵ²ڵ2϶ȣϴ¡ºƽ¶ֵڵһСʱ²ֵС2϶ȣϴ¡¡ƽº²ֵ - */ - BYTE byMode; //ģʽ 0-Ϊ豸1-ʱģʽ2-²ģʽ - WORD wInterval; //ϴ²ģʽ֧֣1~3600S0Ĭ3600Sϴһ - float fTemperatureDiff;//² - BYTE byRes[56]; // -}NET_DVR_REALTIME_THERMOMETRY_COND, *LPNET_DVR_REALTIME_THERMOMETRY_COND; - -typedef struct tagNET_DVR_POINT_THERM_CFG -{ - float fTemperature;//ǰ¶ - NET_VCA_POINT struPoint;//꣨궨ΪʱЧ - BYTE byRes[120]; -}NET_DVR_POINT_THERM_CFG, *LPNET_DVR_POINT_THERM_CFG; - -typedef struct tagNET_DVR_LINEPOLYGON_THERM_CFG -{ - float fMaxTemperature;// - float fMinTemperature;// - float fAverageTemperature;//ƽ - float fTemperatureDiff;//² - NET_VCA_POLYGON struRegion;//򣨵궨Ϊ/ߵʱЧ - BYTE byRes[32]; -}NET_DVR_LINEPOLYGON_THERM_CFG, *LPNET_DVR_LINEPOLYGON_THERM_CFG; - -typedef struct tagNET_DVR_THERMOMETRY_UPLOAD -{ - DWORD dwSize; - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - char szRuleName[NAME_LEN/*32*/];// - BYTE byRuleID;//ID - BYTE byRuleCalibType;//궨 0-㣬1-2- - WORD wPresetNo; //Ԥõ - NET_DVR_POINT_THERM_CFG struPointThermCfg; - NET_DVR_LINEPOLYGON_THERM_CFG struLinePolygonThermCfg; - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byDataType;//״̬:0-У1-ʼ2- - BYTE byRes1; - /* - bit0-ĵ£0-֧֣1-֧֣ - bit1-ߵ£0-֧֣1-֧֣ - bit2-͵£0-֧֣1-֧֣ - */ - BYTE bySpecialPointThermType;// Ƿ֧ - float fCenterPointTemperature;//ĵ¶,ȷСһλ(-40-1500),+100*10 bySpecialPointThermTypeжǷ֧ĵ㣩 - float fHighestPointTemperature;//ߵ¶,ȷСһλ(-40-1500),+100*10bySpecialPointThermTypeжǷ֧ߵ㣩 - float fLowestPointTemperature;//͵¶,ȷСһλ(-40-1500),+100*10bySpecialPointThermTypeжǷ֧͵㣩 - NET_VCA_POINT struHighestPoint;//ߡ¶λ꣨궨ΪߡʱЧ - NET_VCA_POINT struLowestPoint;//ߡ¶λ꣨궨ΪߡʱЧ - BYTE byIsFreezedata;//Ƿݶ 0- 1- - BYTE byFaceSnapThermometryEnabled;//ץIJʹ 1- 0-ر - BYTE byRes2[2]; - DWORD dwChan; //ͨţѯͨΪ0xffffffffʱֶЧ - NET_VCA_RECT struFaceRect; //ͼ - DWORD dwTimestamp;//DSPʱ - BYTE byRes[68]; -}NET_DVR_THERMOMETRY_UPLOAD, *LPNET_DVR_THERMOMETRY_UPLOAD; - -//¶ȱ¶Ⱥ¶ȱȽϱ -typedef struct tagNET_DVR_THERMOMETRY_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRuleID;//ID - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - WORD wPresetNo; //Ԥõ - NET_PTZ_INFO struPtzInfo;//ptzϢ - BYTE byAlarmLevel;//0-Ԥ 1- - BYTE byAlarmType;/* 0-¶ 1-¶ 2-ƽ¶ 3-² 4-¶ͻ 5-¶ͻ*/ - BYTE byAlarmRule;//0-ڣ1-С - BYTE byRuleCalibType;//궨 0-㣬1-2 - NET_VCA_POINT struPoint;//꣨궨ΪʱЧ - NET_VCA_POLYGON struRegion;//򣨵궨ΪʱЧ - float fRuleTemperature;/*ù¶,ȷСһλ(-40-1000),+100 */ - float fCurrTemperature;/*ǰ¶,ȷСһλ(-40-1000),+100 */ - DWORD dwPicLen;//ɼͼƬ - DWORD dwThermalPicLen;//ȳͼƬ - DWORD dwThermalInfoLen;//ȳ񸽼Ϣ - char* pPicBuff; ///ɼͼƬָ - char* pThermalPicBuff;// ȳͼƬָ - char* pThermalInfoBuff; //ȳ񸽼Ϣָ - NET_VCA_POINT struHighestPoint;//ߡ¶λ꣨궨ΪߡʱЧ - float fToleranceTemperature;/* ݲ¶,ȷСһλ(-40-1000),+100 */ - DWORD dwAlertFilteringTime;//¶Ԥȴʱ λ ΧΪ0-200룬ĬΪ0 - DWORD dwAlarmFilteringTime;//¶ȱȴʱ λ ΧΪ0-200룬ĬΪ0 - DWORD dwTemperatureSuddenChangeCycle;//¶ͻ¼ڣλ - float fTemperatureSuddenChangeValue;//¶ͻֵ,ȷСһλ(0) - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1[3]; - DWORD dwVisibleChannel; //ɼͨͨ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - float fAlarmRuleTemperature;/* TMAù¶,ȷСһλ(-40-1000),+100 */ - BYTE byRes[20]; -}NET_DVR_THERMOMETRY_ALARM, *LPNET_DVR_THERMOMETRY_ALARM; - - -//² -typedef struct tagNET_DVR_THERMOMETRY_DIFF_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byAlarmID1;//AlarmID1 - BYTE byAlarmID2;//AlarmID2 - WORD wPresetNo; //Ԥõ - BYTE byAlarmLevel;//0-Ԥ 1- - BYTE byAlarmType;/* 0-¶ 1-¶ 2-ƽ¶*/ - BYTE byAlarmRule;//0-ڣ1-С - BYTE byRuleCalibType;//궨 0-㣬1-2 - NET_VCA_POINT struPoint[2];//꣨궨ΪʱЧ±0AlarmID1±1AlarmID2. - NET_VCA_POLYGON struRegion[2];//򣨵궨ΪʱЧ±0AlarmID1±1AlarmID2. - float fRuleTemperatureDiff;/*ù²,ȷСһλ(-40-1000)*/ - float fCurTemperatureDiff;/*ǰ²,ȷСһλ(-40-1000),+100 */ - NET_PTZ_INFO struPtzInfo;//ptzϢ - DWORD dwPicLen;//ɼͼƬ - DWORD dwThermalPicLen;//ȳͼƬ - DWORD dwThermalInfoLen;//ȳ񸽼Ϣ - char* pPicBuff; ///ɼͼƬָ - char* pThermalPicBuff;// ȳͼƬָ - char* pThermalInfoBuff; //ȳ񸽼Ϣָ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1[2]; - float fToleranceTemperature;/*ݲ¶,ȷСһλ(-40-1000),+100 */ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ λ ΧΪ0-200룬ĬΪ0 - DWORD dwVisibleChannel; //ɼͨͨ - BYTE byRes[48]; -}NET_DVR_THERMOMETRY_DIFF_ALARM, *LPNET_DVR_THERMOMETRY_DIFF_ALARM; - -typedef struct //ṹ -{ - DWORD dwSize; - DWORD dwChannel;//ͨţǰĬ1 - BYTE byRes[128]; -}NET_DVR_SHIPSCOUNT_COND, *LPNET_DVR_SHIPSCOUNT_COND; - - -//ȡֻϢṹ -typedef struct tagNET_DVR_SHIPSCOUNT_CFG -{ - DWORD dwSize; - DWORD dwUpShipsCount; //дֻ - DWORD dwDownShipsCount; //дֻ - DWORD dwLeftShipsCount; //дֻ - DWORD dwRightShipsCount; //дֻ - DWORD dwTotalCount;//ֻܼ - DWORD dwRelativeTime; //豸ʼʱ - DWORD dwAbsTime; //豸ʼľʱ - BYTE byDataType;//״̬:0-У1-ʼ2- - BYTE byRes[255]; -}NET_DVR_SHIPSCOUNT_CFG, *LPNET_DVR_SHIPSCOUNT_CFG; - -//ֻϢ -typedef struct tagNET_DVR_SHIPSINFO -{ - float fShipsLength; //ֻȣ1~1000.0mȷСһλ - float fShipsHeight; //ֻ߶ȣ1~1000.0mȷСһλ - float fShipsWidth; //ֻȣ1~1000.0mȷСһλ - float fShipsSpeed; //ֻٶȣ1~1000.0m/sȷСһλ - BYTE byShipsDirection;//ֻ0~up,1~down,2~left,3~right - BYTE byShipsDetState;//ֻ״̬0~Խߣ1~ͷ⣬2~β - BYTE byTriggerLineID;//ID - BYTE byRes[61]; - NET_VCA_POLYGON struShipsRect; //ֻ򣬹һֵڴͼɼͼȳͼ)ķֱ -} NET_DVR_SHIPSINFO, *LPNET_DVR_SHIPSINFO; - -//ֻץͼϢ -typedef struct tagNET_DVR_SHIPIMAGE_INFO -{ - DWORD dwShipImageLen;//ֻץͼƬݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; //ֻץͼƬָ -#else - char* pXmlBuf; //ֻץͼƬָ - BYTE byRes[4]; -#endif -}NET_DVR_SHIPIMAGE_INFO, *LPNET_DVR_SHIPIMAGE_INFO; - -//ֻⱨϴ -typedef struct tagNET_DVR_SHIPSDETECTION_ALARM -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; //豸Ϣ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byShipsNum; //ֻ(ԽߵĴֻ) - BYTE byShipsNumHead;//ֻ(ͷ⴬ֻ) - BYTE byShipsNumEnd; //ֻ(β⴬ֻ) - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - NET_DVR_SHIPSINFO struShipInfo[MAX_SHIPS_NUM/*20*/];//ֻϢ֧20 - DWORD dwPicLen;//ɼͼƬ - DWORD dwThermalPicLen;//ȳͼƬ - BYTE* pPicBuffer; //ɼͼƬָ - BYTE* pThermalPicBuffer; //ȳͼƬָ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE bySID;//ID - BYTE byRes1[2]; - char szSceneName[NAME_LEN];//ƣ32ַ - BYTE byRes[132]; - DWORD dwXmlLen;//XML͸ݳ, EventNotificationAlert XML Blockݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block -#else - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byRes2[4]; -#endif - NET_DVR_SHIPIMAGE_INFO struShipImageInfo[MAX_SHIPIMAGE_NUM/*6*/];//ֻץͼƬϢ,±Ϊ0ʱΪһŴֻץͼƬԴƣ֧6ͼƬ -}NET_DVR_SHIPSDETECTION_ALARM, *LPNET_DVR_SHIPSDETECTION_ALARM; - -typedef struct tagNET_DVR_THERMAL_PIP -{ - DWORD dwSize;//ṹС - BYTE byEnable;//Ƿ - BYTE byPipMode;// лģʽ0~ģʽ1~ںģʽ2-ͨģʽ - BYTE byOverlapType;//ͣѡлģʽЧ0~ɼȳͼƬ1~ȳӿɼͼƬ - BYTE byTransparency;//͸ 0~100 - NET_VCA_POLYGON struPipRegion;//лλ - BYTE byImageFusionRatio;//ͼںϱ,ںģʽЧ 0-100 Ĭ75 - BYTE byBorderFusionRatio;//Եںϱ,ںģʽЧ 0-100 Ĭ100 - BYTE byRes1[2]; - float fDistance;//ںϾ,ںģʽЧ,Χ0.1-4.0 - BYTE byRes[632]; -}NET_DVR_THERMAL_PIP, *LPNET_DVR_THERMAL_PIP; - -typedef struct tagNET_DVR_RULESLINE_CFG -{ - NET_DVR_RGB_COLOR struRGB;// RGBRɫGɫBɫ Χ0-255 - BYTE byRes[128]; -}NET_DVR_RULESLINE_CFG, *LPNET_DVR_RULESLINE_CFG; - -typedef struct tagNET_DVR_THERMAL_INTELRULE_DISPLAY -{ - DWORD dwSize;//ṹС - /* - fontSizeType:ΪСſݸñԼԤڵĿȶ̬ıĴСʽΪ屶ֵ/8*(0.01*Ԥڿ) - Ӧ£ - 0~8ʣС - 1~12ʣ׼ - 2~16ʣ - 3~20ʣ - 4~24ʣش - */ - BYTE byFontSizeType; - BYTE byRes1[3]; - NET_DVR_RULESLINE_CFG struNormalRulesLineCfg;//Բ - NET_DVR_RULESLINE_CFG struAlertRulesLineCfg;//ԤԲ - NET_DVR_RULESLINE_CFG struAlarmRulesLineCfg;//Բ - BYTE byRes[640]; -}NET_DVR_THERMAL_INTELRULE_DISPLAY, *LPNET_DVR_THERMAL_INTELRULE_DISPLAY; - -typedef struct tagNET_DVR_BAREDATAOVERLAY_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byIntervalTime;// ϴʱã1 2 3 4 5.λΪ룬ĬΪ3 - BYTE byRes[258]; -}NET_DVR_BAREDATAOVERLAY_CFG, *LPNET_DVR_BAREDATAOVERLAY_CFG; - -//ṹ -typedef struct tagNET_DVR_THERMOMETRY_TRIGGER_COND -{ - DWORD dwSize;//ṹС - DWORD dwChan;//ͨ - DWORD dwPreset;//ԤõţĿǰ֧,踳ֵ - BYTE byRes[256]; -}NET_DVR_THERMOMETRY_TRIGGER_COND, *LPNET_DVR_THERMOMETRY_TRIGGER_COND; - -//ֶ -typedef struct tagNET_DVR_MANUALDEICING_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿֶ 0~رգ1~ - BYTE byRes[127]; -}NET_DVR_MANUALDEICING_CFG, *LPNET_DVR_MANUALDEICING_CFG; - -//СLED -typedef struct tagNET_DVR_INPUT_SOURCE_TEXT_COND -{ - DWORD dwSize; - DWORD dwInputSourceNo; //Դ - DWORD dwTextNo; //ı - BYTE byRes[32]; -}NET_DVR_INPUT_SOURCE_TEXT_COND, *LPNET_DVR_INPUT_SOURCE_TEXT_COND; - -typedef struct tagNET_DVR_INPUT_SOURCE_TEXT -{ - DWORD dwSize; - DWORD dwTextNo; //ı - BYTE byEnable; //Ƿʹܣ0-ʹܣ1-ʹ - BYTE byFontSize; //С - BYTE byBkGroudMode; //ģʽ1-͸2- - BYTE byRes[1]; - DWORD dwXPosition; //ַʾλõϽX꣬Դ - DWORD dwYPosition; //ַʾλõϽY꣬Դ - NET_DVR_RGB_COLOR struForegroudColor; //ַǰɫ - NET_DVR_RGB_COLOR struBackgroudColor; //ַɫ - BYTE byTextContent[MAX_LEN_TEXT_CONTENT]; //ַ - BYTE byRes1[64]; -}NET_DVR_INPUT_SOURCE_TEXT, *LPNET_DVR_INPUT_SOURCE_TEXT; - -typedef struct tagNET_DVR_INPUT_SOURCE_TEXT_LIST -{ - DWORD dwSize; - NET_DVR_INPUT_SOURCE_TEXT struTextList[MAX_NUM_INPUT_SOURCE_TEXT]; //ıб - BYTE byRes[64]; -}NET_DVR_INPUT_SOURCE_TEXT_LIST, *LPNET_DVR_INPUT_SOURCE_TEXT_LIST; - -typedef struct tagNET_DVR_INPUT_SOURCE_RESOLUTION -{ - DWORD dwSize; - DWORD dwInputSignalNo; //Դ - BYTE byEnabled; //ԶֱǷʹ - BYTE byRes; - WORD wImageWidth; //ͼ - WORD wImageHeight; //ͼ߶ - WORD wRefreshRate; //ˢƵ - BYTE byColorDepth; //ɫȣ32λ16λ8λֿѡ - BYTE byScanType; //ɨͣ1-ɨ裬2-ɨ - BYTE byRes1[62]; -}NET_DVR_INPUT_SOURCE_RESOLUTION, *LPNET_DVR_INPUT_SOURCE_RESOLUTION; - -typedef struct tagNET_DVR_INPUT_SOURCE_RESOLUTION_LIST -{ - DWORD dwSize; - DWORD dwInputSignalCnt; //豸źԴ - LPNET_DVR_INPUT_SOURCE_RESOLUTION lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_INPUT_SOURCE_RESOLUTION_LIST, *LPNET_DVR_INPUT_SOURCE_RESOLUTION_LIST; - -typedef struct tagNET_DVR_LED_AREA_COND -{ - DWORD dwSize; - DWORD dwVideoWallNo; //ǽ - DWORD dwLEDAreaNo; //LED - BYTE byRes[32]; -}NET_DVR_LED_AREA_COND, *LPNET_DVR_LED_AREA_COND; - -typedef struct tagNET_DVR_LED_AREA_INFO -{ - DWORD dwSize; - DWORD dwLEDAreaNo; //LED - NET_DVR_RECTCFG_EX struRect; // - DWORD dwaOutputNo[MAX_NUM_OUTPUT_CHANNEL]; //б - BYTE byAreaType; //ͣ0-LED1-LCD - BYTE byRes[31]; -}NET_DVR_LED_AREA_INFO, *LPNET_DVR_LED_AREA_INFO; - -typedef struct tagNET_DVR_LED_AREA_INFO_LIST -{ - DWORD dwSize; - DWORD dwLEDAreaNum; //LED - LPNET_DVR_LED_AREA_INFO lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_LED_AREA_INFO_LIST, *LPNET_DVR_LED_AREA_INFO_LIST; - -//еȴ -typedef struct tagNET_DVR_CALL_WAITTING_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿúеȴ, 0--ã1-- - BYTE byRes1; - WORD wWaitTime;//еȴʱ䣬λ - WORD wCalledWaitTime;/*λ룬еȴʱ*/ - BYTE byRes[510]; -}NET_DVR_CALL_WAITTING_CFG, *LPNET_DVR_CALL_WAITTING_CFG; - -//Ʋ -typedef struct tagNET_DVR_ALARM_LAMP_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿþƶʱ˸, 0--ã1-- - BYTE byRes1; - WORD wFlashDuration;//ƶʱ˸ʱ䣬λ - WORD wFlashIntervalTime;//˸ʱ䣬λ - BYTE byRes[510]; -}NET_DVR_ALARM_LAMP_CFG, *LPNET_DVR_ALARM_LAMP_CFG; - -//ʾ -typedef struct tagNET_DVR_VOICE_PROMPTION_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿʾ, 0--ã1-- - BYTE byRes1[3]; - BYTE byCenterBusyFile[NAME_LEN];//ķæʾļ - BYTE byRefusedFile[NAME_LEN];//ܾʾļ - BYTE byHangUpFile[NAME_LEN];//Խʾļ - BYTE byCallWaittingFile[NAME_LEN];//еȺļ - BYTE byConsultWaittingFile[NAME_LEN];//ҵѯȺļ - BYTE byWelcomeFile[NAME_LEN];//ӭʾļ - BYTE byFarewellFile[NAME_LEN];//ļ - BYTE byCalledVoicePromptName[NAME_LEN];//ʾ - BYTE byRes[384]; -}NET_DVR_VOICE_PROMPTION_CFG, *LPNET_DVR_VOICE_PROMPTION_CFG; - -// -typedef struct tagNET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG -{ - DWORD dwSize; //ṹС - BYTE byCommand; //0--centerbusy1--refuse - BYTE byType; //ͣ01ҵѯ - BYTE byRes[510]; -}NET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG, *LPNET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG; - -///////////*_V50///////////// -typedef struct _tagNET_DVR_ALARMHOST_NETPARAM_V50 -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; - WORD wPort; - BYTE byAddressType; //0 - , 1 - ipv4/ipv6ַ2 - - BYTE byEnable; //ʹܣ0-ã1- - BYTE byDomainName[MAX_DOMAIN_NAME/*64*/]; //GPRSáʱֶξЧ - BYTE byReportProtocol; //1-private 2-NAL2300, 3-Ehome - BYTE byDevID[ACCOUNTNUM_LEN_32/*32*/]; //ЭΪNAL2300ʱЧ - BYTE byProtocolVersion; //EHomeЭ汾0-,1Cv2.02Cv4.03-v5.0 - BYTE byRes1[3]; - BYTE byEHomeKey[NET_SDK_EHOME_KEY_LEN]; //EHome KeyEHome 5.0汾 - BYTE byRes2[28]; //GPRSڹ̶ķϽеģԲҪϢԤһЩֶ -} NET_DVR_ALARMHOST_NETPARAM_V50, *LPNET_DVR_ALARMHOST_NETPARAM_V50; - -typedef struct _tagNET_DVR_ALARMHOST_NETCFG_V50 -{ - DWORD dwSize; - NET_DVR_ALARMHOST_NETPARAM_V50 struNetCenter[MAX_CENTERNUM]; - BYTE byRes1[128]; -} NET_DVR_ALARMHOST_NETCFG_V50, *LPNET_DVR_ALARMHOST_NETCFG_V50; -//Ŀװʽ -typedef enum tagSTREAM_TYPE{ - STREAM_PS = 0x1, //PSļ㣬Ҫڴ洢Ҳڴ - STREAM_3GPP = 0x2, //3GPPļ㣬ڴ洢 -}STREAM_TYPE; -typedef enum tagNET_SDK_INIT_CFG_TYPE -{ - NET_SDK_INIT_CFG_TYPE_CHECK_MODULE_COM = 0, //ӶԱļ - NET_SDK_INIT_CFG_ABILITY = 1, //sdkֵ֧ҵ - NET_SDK_INIT_CFG_SDK_PATH = 2, //HCNetSDKĿ¼ - NET_SDK_INIT_CFG_LIBEAY_PATH = 3, //OpenSSLlibeay32.dll/libcrypto.so/libcrypto.dylib· - NET_SDK_INIT_CFG_SSLEAY_PATH = 4 //OpenSSLssleay32.dll/libssl.so/libssl.dylib· -}NET_SDK_INIT_CFG_TYPE; - -typedef struct tagNET_DVR_INIT_CHECK_MODULE_COM -{ - BYTE byEnable; //ñ 0-ã1- - BYTE byRes[255]; -}NET_DVR_INIT_CHECK_MODULE_COM, *LPNET_DVR_INIT_CHECK_MODULE_COM; -//SDKֵ֧· -typedef enum _INIT_CFG_MAX_NUM -{ - INIT_CFG_NUM_2048 = 2048, // 2048· - INIT_CFG_NUM_5120 = 5120, //5120· - INIT_CFG_NUM_10240 = 10240, // 10240· - INIT_CFG_NUM_15360 = 15360, // 15360· - INIT_CFG_NUM_20480 = 20480, // 20480· -}INIT_CFG_MAX_NUM; - -typedef struct tagNET_DVR_INIT_CFG_ABILITY -{ - INIT_CFG_MAX_NUM enumMaxLoginUsersNum; //עû - INIT_CFG_MAX_NUM enumMaxAlarmNum; //ĸ澯· - BYTE byRes[64]; -}NET_DVR_INIT_CFG_ABILITY, *LPNET_DVR_INIT_CFG_ABILITY; - -typedef struct tagNET_DVR_LOCAL_SDK_PATH -{ - char sPath[NET_SDK_MAX_FILE_PATH];//ַ - BYTE byRes[128]; -}NET_DVR_LOCAL_SDK_PATH, *LPNET_DVR_LOCAL_SDK_PATH; - -typedef struct tagNET_DVR_SDKMEMPOOL_CFG -{ - BYTE byRes[256]; -}NET_DVR_SDKMEMPOOL_CFG, *LPNET_DVR_SDKMEMPOOL_CFG; - - -typedef struct tagNET_DVR_RES_INFO -{ - DWORD dwImageWidth; //ͼ - DWORD dwImageHeight; //ͼ߶ -}NET_DVR_RES_INFO, *LPNET_DVR_RES_INFO; - -typedef struct tagNET_DVR_VS_INPUT_CHAN_INIT -{ - DWORD dwSize; - DWORD dwVSInputChan; //ͨ - DWORD dwResNums; //ֱʵĸ - NET_DVR_RES_INFO struResList[MAX_RES_NUM_ONE_VS_INPUT_CHAN]; //ֱб - BYTE byRes[32]; -}NET_DVR_VS_INPUT_CHAN_INIT, *LPNET_DVR_VS_INPUT_CHAN_INIT; - -typedef struct tagNET_DVR_VS_INPUT_CHAN_INIT_LIST -{ - DWORD dwSize; - NET_DVR_VS_INPUT_CHAN_INIT struChanList[MAX_VS_INPUT_CHAN_NUM]; //ͨб - BYTE byRes[32]; -}NET_DVR_VS_INPUT_CHAN_INIT_LIST, *LPNET_DVR_VS_INPUT_CHAN_INIT_LIST; - -typedef struct tagNET_DVR_VS_INPUT_CHAN_CFG -{ - DWORD dwSize; - DWORD dwVSInputChan; //ͨ - NET_DVR_RES_INFO struResolutin; //ֱ - BYTE byRes[64]; -}NET_DVR_VS_INPUT_CHAN_CFG, *LPNET_DVR_VS_INPUT_CHAN_CFG; - -typedef struct tagNET_DVR_VS_NETSRC_CFG -{ - DWORD dwSize; - DWORD dwVSInputChan; //ͨ - BYTE byDispUrl[MAX_URL_LEN]; //ʾURL - BYTE byEnabled; //ǷURL - BYTE byRes[127]; -}NET_DVR_VS_NETSRC_CFG, *LPNET_DVR_VS_NETSRC_CFG; - -typedef struct tagNET_DVR_EDID_FILE_INFO -{ - DWORD dwSize; - DWORD dwEDIDFileNo; //EDIDļţ1ʼ - BYTE byFileName[FILE_NAME_LEN]; //EDIDļ - BYTE byRes[32]; -}NET_DVR_EDID_FILE_INFO, *LPNET_DVR_EDID_FILE_INFO; - -typedef struct tagNET_DVR_EDID_FILE_INFO_LIST -{ - DWORD dwSize; - DWORD dwEDIDFileNum; //صNET_DVR_EDID_FILE_INFO - LPNET_DVR_EDID_FILE_INFO lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_EDID_FILE_INFO_LIST, *LPNET_DVR_EDID_FILE_INFO_LIST; - -//ӴڽOSD -typedef struct tagNET_DVR_OSD_INFO -{ - BYTE byEnabled; //Ƿʹܣ-ʹܣ-ʹ - BYTE byEnabledFlash; //Ƿ˸-˸-˸ - BYTE byFontSize; //С1-2-У3-С - BYTE byTransparent; //͸ȣȡֵΧ0-100 - NET_DVR_RGB_COLOR struColor; //ɫ - WORD wCoordinateX; //OSDϽX - WORD wCoordinateY; //OSDϽY - BYTE byContent[MAX_LEN_OSD_CONTENT]; //OSDϢ - BYTE byRes[32]; -}NET_DVR_OSD_INFO, *LPNET_DVR_OSD_INFO; - -typedef struct tagNET_DVR_SUBWND_DECODE_OSD -{ - DWORD dwSize; - DWORD dwSubWndNo; //Ӵںţ4ֽϷʽ - DWORD dwOSDNums; //ӴõOSDϢĸ - NET_DVR_OSD_INFO struOSDList[MAX_NUM_OSD_ONE_SUBWND]; //OSDϢб - BYTE byRes[32]; -}NET_DVR_SUBWND_DECODE_OSD, *LPNET_DVR_SUBWND_DECODE_OSD; - -typedef struct tagNET_DVR_SUBWND_DECODE_OSD_LIST -{ - DWORD dwSize; - NET_DVR_SUBWND_DECODE_OSD struSubWndList[MAX_NUM_SPLIT_WND]; //ӴڵĽOSD - BYTE byRes[32]; -}NET_DVR_SUBWND_DECODE_OSD_LIST, *LPNET_DVR_SUBWND_DECODE_OSD_LIST; - -typedef struct tagNET_DVR_DECODE_CHANNEL_OSD -{ - DWORD dwSize; - NET_DVR_OSD_INFO struOSDInfo[MAX_NUM_OSD]; //OSDϢб - BYTE byRes[32]; -}NET_DVR_DECODE_CHANNEL_OSD, *LPNET_DVR_DECODE_CHANNEL_OSD; - -//ȳܻò -typedef struct tagNET_DVR_THERMINTELL_PARAM -{ - DWORD dwSize;//ṹС - BYTE byIntellType; //ܹԴ,0~+쳣Ϊ(Ĭ)1~ֻ⣬2~,3~л, 4~£5-+̻⣬6-+ 7-쳣Ϊ 8- - BYTE byRes[127]; -}NET_DVR_THERMINTELL_PARAM, *LPNET_DVR_THERMINTELL_PARAM; - -typedef struct tagNET_DVR_FACE_THERMOMETRY_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRuleID; //¹ID:1-40 - BYTE byRes1[3]; - BYTE byRuleName[NAME_LEN]; // - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byFaceDetectionState;//״̬0~δ⵽1~Ѽ⵽ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byAlarmRule;//0-´ڣ1-С - BYTE byRes2[1]; - float fAlarmTemperature;//¶ȣ-20.0~120.0棬ȷС1λ - float fRuleTemperature;// ñ¶ȣ-20.0~60.0棬ȷС1λ - DWORD dwVisibleLightImageLen;// ɼͼƬ - BYTE *pVisibleLightImage; //ɼͼƬָ - DWORD dwFaceImageLen;// ͼ - BYTE *pFaceImage; //ͼָ - NET_VCA_RECT struFaceRegion;//Ŀ߽豸ʶץͼƬУͼ - float fMinTemperature;// ¶ȣ-20.0~120.0棬ȷС1λ - float fAverageTemperature;//ƽ£-20.0~120.0棬ȷС1λ - NET_VCA_POINT struMinTemperaturePoint; //¶λ - NET_VCA_POINT struMaxTemperaturePoint;//¶λ - BYTE byRes[720]; -}NET_DVR_FACE_THERMOMETRY_ALARM, *LPNET_DVR_FACE_THERMOMETRY_ALARM; - -//GUIDļ -typedef struct tagNET_DVR_GUID_FILE_EXPORT -{ - DWORD dwSize; - char sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN/*128*/]; //û¼ - BYTE byRes[128]; -}NET_DVR_GUID_FILE_EXPORT, *LPNET_DVR_GUID_FILE_EXPORT; - -//û¼У -typedef struct tagNET_DVR_LOGIN_PASSWORDCFG -{ - DWORD dwSize; - char sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN/*128*/]; //û¼ - BYTE byRes[256]; -}NET_DVR_LOGIN_PASSWORDCFG, *LPNET_DVR_LOGIN_PASSWORDCFG; - -//ȫ -typedef struct tagNET_DVR_SINGLE_SECURITY_QUESTION_CFG -{ - DWORD dwSize; - DWORD dwId;//ţȫţֻ - char sAnswer[NET_SDK_MAX_ANSWER_LEN/*256*/];//𰸣ȡʱֻ - BYTE byMark;// 0-δ 1- - BYTE byRes[127]; -}NET_DVR_SINGLE_SECURITY_QUESTION_CFG, *LPNET_DVR_SINGLE_SECURITY_QUESTION_CFG; - -//ȫ -typedef struct tagNET_DVR_SECURITY_QUESTION_CFG -{ - DWORD dwSize; - NET_DVR_SINGLE_SECURITY_QUESTION_CFG struSecurityQuestion[NET_SDK_MAX_QUESTION_LIST_LEN/*32*/];//ȫб - char sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN/*128*/];//adminû¼ - BYTE byRes[512]; -}NET_DVR_SECURITY_QUESTION_CFG, *LPNET_DVR_SECURITY_QUESTION_CFG; - -typedef struct tagNET_DVR_ALARMIN_TRIGGER_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨţ1ʼ - DWORD dwAlarmInNo;//ţ0ʼ - BYTE byRes[256]; -}NET_DVR_ALARMIN_TRIGGER_COND, *LPNET_DVR_ALARMIN_TRIGGER_COND; - -typedef struct tagNET_DVR_FACELIB_GUARD_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char szFDID[68];//ID - BYTE byRes[128]; -}NET_DVR_FACELIB_GUARD_COND, *LPNET_DVR_FACELIB_GUARD_COND; - -typedef struct tagNET_DVR_GUID_FILE_STATUS_INFO -{ - DWORD dwSize; - BYTE byLockStatus; //0δ1 - BYTE byPasswd; //0:1ȷע:ֵδʱЧ - BYTE byRetryNum; //ʣೢԴע:ֵδʱЧ - BYTE byRes1; - DWORD dwLockTime; //ʣʱ䣺λ롣ע:ֵʱЧ - BYTE byRes[128]; -}NET_DVR_GUID_FILE_STATUS_INFO, *LPNET_DVR_GUID_FILE_STATUS_INFO; - - -//ģʽ -typedef struct tagNET_DVR_THERMOMETRY_MODE -{ - DWORD dwSize;//ṹС - BYTE byMode;//ģʽ0~ͨģʽ1~רģʽ - BYTE byThermometryROIEnabled; //ROIʹ 0- 1- 2-ڻݿǣ - BYTE byRes[62]; -}NET_DVR_THERMOMETRY_MODE, *LPNET_DVR_THERMOMETRY_MODE; - -//ȳ㷨汾ȡ -typedef struct tagNET_DVR_THERMAL_ALGINFO -{ - DWORD dwSize;//ṹС - char sThermometryAlgName[NET_SDK_MAX_THERMOMETRYALGNAME/*128*/];//㷨汾 - char sShipsAlgName[NET_SDK_MAX_SHIPSALGNAME /*128*/];//ֻ㷨汾 - char sFireAlgName[NET_SDK_MAX_FIRESALGNAME /*128*/];//㷨汾 - BYTE byRes[768]; -}NET_DVR_THERMAL_ALGINFO, *LPNET_DVR_THERMAL_ALGINFO; - -// -typedef struct tagNET_DVR_CURRENT_LOCK -{ - DWORD dwSize;//ṹС - BYTE byCurrentLock;//ֱ̨0~1~ȫ2~3/43~ - BYTE byRes[255]; -}NET_DVR_CURRENT_LOCK, *LPNET_DVR_CURRENT_LOCK; - -//ȶԱ͸ʽ -typedef struct tagNET_VCA_FACESNAP_RAWDATA_ALARM_ -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwJsonDataLen; //jsonݶϢ0-ûݣ0ʾݣṹŵjsonݳȣ - BYTE* pJsonBuff;// jsonָ - BYTE byRes[256]; // ֽ -}NET_VCA_FACESNAP_RAWDATA_ALARM, *LPNET_VCA_FACESNAP_RAWDATA_ALARM; - -//߼У -typedef struct tagNET_DVR_ADVANCE_SCREEN_CHECK_PARAM -{ - BYTE byDelFullScreenGamut; /*Ƿɾɫ,0-,1-ǣbyOperateType Ϊ3-ɾУʱЧ*/ - BYTE byDelLightPanelGamut; /*Ƿɾưɫ,0-,1-ǣbyOperateType Ϊ3-ɾУʱЧ*/ - BYTE byDelLightPanelWhiteBalance; /*Ƿɾưƽ,0-,1-ǣbyOperateType Ϊ3-ɾУʱЧ*/ - BYTE byRes[13]; -}NET_DVR_ADVANCE_SCREEN_CHECK_PARAM, *LPNET_DVR_ADVANCE_SCREEN_CHECK_PARAM; - -//LEDĻУ -typedef struct tagNET_SDK_LED_SCREEN_CHECK_PARAM -{ - DWORD dwSize; - BYTE byOperateType; //ͣ1-дУݣ2-УԤ3-ɾУݣ4-ԭʼݣ5-УԭʼԤ - BYTE byIsRGBSynChk; //RGBǷͬ0-֧֣!0-֧֣byOperateTypeΪ12ʱЧ - BYTE byScreenCheckType; //ĻУ,0-ͨУ,1-߼У - BYTE byRes1; - WORD wRgbPermil; //RGBͬǧֱȣbyOperateTypeΪ12byIsRGBSynChkʱЧ - WORD wRedPermil; //ɫǧֱȣbyOperateTypeΪ12byIsRGBSynChkΪʱЧ - WORD wGreenPermil; //ɫǧֱȣbyOperateTypeΪ12byIsRGBSynChkΪʱЧ - WORD wBluePermil; //ɫǧֱȣbyOperateTypeΪ12byIsRGBSynChkΪʱЧ - DWORD dwRectCount; // - NET_DVR_RECTCFG_EX struRectList[MAX_SCREEN_AREA_NUM]; //б˳ - NET_DVR_ADVANCE_SCREEN_CHECK_PARAM struAdvanceScreenCheckParam;//߼У,byScreenCheckTypeΪ1ʱЧ - BYTE byRes2[48]; -}NET_SDK_LED_SCREEN_CHECK_PARAM, *LPNET_SDK_LED_SCREEN_CHECK_PARAM; - -//LEDĻУӦ -typedef struct tagNET_SDK_SCREEN_CHECK_RESPONSE_DATA -{ - DWORD dwSize; - BYTE byDataType; //ͣ1-ȣȣ2-״̬ - BYTE byOperateType; //ͣ1-дУݣ2-УԤ3-ɾУ - BYTE byProgress; //ȣbyDataTypeΪ1ʱЧ0-100 - BYTE byStatus; //״̬byDataTypeΪ2ʱЧ1-LEDĻУʧܣ2-LEDĻӦĽտڣ3-Уʧܣԭʼ쳣 - //4-ĻͺŲ֧У5-豸æУ6-豸ڴ治 - NET_DVR_RECTCFG_EX struRect; //LEDĻbyDataTypeΪ2ʱЧ - BYTE byRes[64]; -}NET_SDK_SCREEN_CHECK_RESPONSE_DATA, *LPNET_SDK_SCREEN_CHECK_RESPONSE_DATA; - -typedef struct tagNET_DVR_PLAY_BY_NAME_PARA -{ - char szFileName[100]; //طļ - BYTE byDownload; //Ƿ 0-1- - BYTE byRes1[127]; - HWND hWnd; //طŵĴھΪգSDKյݣʾ - NET_DVR_ADDRESS struAddr; //ļڼȺCSַϢϢļʱ᷵ - //Ϊձʾ¼ַ - BYTE byRes2[256]; -}NET_DVR_PLAY_BY_NAME_PARA, *LPNET_DVR_PLAY_BY_NAME_PARA; - -typedef struct tagNET_DVR_PLAYBCK_BYTIME_COND_PCNVR -{ - DWORD dwSize; - NET_DVR_IPADDR struIpAddr; - WORD wIpPort; - BYTE byRes[2]; - char sDomainName[MAX_DOMAIN_NAME]; - char sSerial[SERIALNO_LEN]; - LONG iChannel; - NET_DVR_TIME struStartTime; - NET_DVR_TIME struStopTime; - HWND hWnd; -}NET_DVR_PLAYBCK_BYTIME_COND_PCNVR, *LPNET_DVR_PLAYBCK_BYTIME_COND_PCNVR; - -//ļؼȺ¼ļ -typedef struct tagNET_DVR_DOWNLOAD_BY_NAME_COND -{ - char *pFileName; //طļ\0100ֽ - char *pSavedFileName;//ļλ - NET_DVR_ADDRESS struAddr; //ļڼȺCSַϢϢļʱ᷵ - //Ϊձʾ¼ַ - BYTE byRes[256]; -}NET_DVR_DOWNLOAD_BY_NAME_COND, *LPNET_DVR_DOWNLOAD_BY_NAME_COND; - -typedef struct tagNET_DVR_PIC_PARAM //ҽṹ -{ - char *pDVRFileName; //ͼƬ\064ֽ - char *pSavedFileBuf; //ͼƬĻڴⲿͷ - DWORD dwBufLen; //С - DWORD *lpdwRetLen; //ʵյݳָ룬ΪNULL - NET_DVR_ADDRESS struAddr; //ͼƬڵĵַϢͼƬʱ᷵ - BYTE byRes[256]; //ֽ -}NET_DVR_PIC_PARAM, *LPNET_DVR_PIC_PARAM; - -#define NET_SDK_MAX_INDENTITY_KEY_LEN 64 // - -// -typedef struct tagNET_DVR_FACELIB_COND -{ - DWORD dwSize; - char szFDID[NET_SDK_MAX_FDID_LEN/*256*/];//ID - BYTE byConcurrent;//豸 0-1-ʼ - BYTE byCover;//Ƿ񸲸ʽ 0-1- - BYTE byCustomFaceLibID;//FDIDǷԶ壬0-ǣ1-ǣ - /*/ISAPI/Intelligent/channels//faceContrast/capabilitiesзisSupportNoSaveUploadPictureڵʱ - Dzģʽ£ֲ֧ϴԭͼIJ:ϴɹͼƬ豸ģɹ󣬻Ὣϴԭͼɾ - עò޷벢ͬʱС*/ - BYTE byPictureSaveMode;//ϴԭͼģʽ0-棬1-; - BYTE byIdentityKey[NET_SDK_MAX_INDENTITY_KEY_LEN/*64*/];// - BYTE byRes[60]; -}NET_DVR_FACELIB_COND, *LPNET_DVR_FACELIB_COND; - -// -typedef struct tagNET_DVR_HBDLIB_COND -{ - DWORD dwSize; - char szHBDID[NET_SDK_MAX_HBDID_LEN/*256*/];//ID - BYTE byConcurrent;//豸 0-1-ʼ - BYTE byCover;//Ƿ񸲸ʽ 0-1- - BYTE byCustomHBDID;// HBDIDǷԶ壬0-ǣ1-ǣ - BYTE byRes[125]; -}NET_DVR_HBDLIB_COND, *LPNET_DVR_HBDLIB_COND; - -typedef struct tagNET_DVR_EXPORT_PUBLISH_SCHEDULE -{ - DWORD dwScheduleID;// ճ - DOWNLOAD_DATA_CB fnDownloadFileCallBack; //ݻص - void* pUser; //ûָ - BYTE byRes[32]; -}NET_DVR_EXPORT_PUBLISH_SCHEDULE, *LPNET_DVR_EXPORT_PUBLISH_SCHEDULE; - -typedef struct tagNET_DVR_GBT28181_AUDIO_OUTPUT_COND -{ - DWORD dwSize; - DWORD dwAudioChannel;//Խͨ - BYTE byRes[128]; -}NET_DVR_GBT28181_AUDIO_OUTPUT_COND, *LPNET_DVR_GBT28181_AUDIO_OUTPUT_COND; - -//GBT28181Эͨ ýṹ -typedef struct tagNET_DVR_GBT28181_AUDIO_OUTPUT_CFG -{ - DWORD dwSize; - char szAudioOutNumID[MAX_COMPRESSIONID_LEN];//豸ID - BYTE byRes[256]; -}NET_DVR_GBT28181_AUDIO_OUTPUT_CFG, *LPNET_DVR_GBT28181_AUDIO_OUTPUT_CFG; - -typedef struct tagNET_DVR_NOTICE_VIDEO_DATA -{ - DWORD dwSize; - DWORD dwFileSize; //ļСλֽ - BYTE byNoticeNumber[MAX_NOTICE_NUMBER_LEN]; // - BYTE byRes[2016]; -}NET_DVR_NOTICE_VIDEO_DATA, *LPNET_DVR_NOTICE_VIDEO_DATA; - -typedef struct tagNET_DVR_NOTICE_VIDEO_DATA_COND -{ - DWORD dwSize; - BYTE byRes[256]; // -}NET_DVR_NOTICE_VIDEO_DATA_COND, *LPNET_DVR_NOTICE_VIDEO_DATA_COND; - -typedef struct tagNET_DVR_NOTICE_VIDEO_DATA_CFG -{ - DWORD dwSize; - DWORD dwDataLen; //ݳ - char* pDataBuffer; //ָ - BYTE byDataType; //ͣ0-Ч1-ṹݣNET_DVR_NOTICE_VIDEO_DATA2-Ƶ - BYTE byRes[63]; -}NET_DVR_NOTICE_VIDEO_DATA_CFG, *LPNET_DVR_NOTICE_VIDEO_DATA_CFG; - -typedef struct tagNET_DVR_UPGRADE_FIRMWARE_INFO -{ - DWORD dwMagicNumber; /* ħֶΣ̶ֵ0x484b5753 */ - DWORD dwCheckSum; /* ļͷУ */ - DWORD dwHeadLen; /* ļͷ */ - DWORD dwFileNums; /* ļ */ - DWORD dwLanguage; /* ԣ1-ӢĻԣ2- */ - DWORD dwDeviceClassID; /* 1 C DS9000 DVR */ - DWORD dwOemCode; /* 1 C private */ - BYTE byUpgradeVersion; /* 汾: 0xFE - жflash, ram, DSP ram */ - BYTE byResFeature[15]; /* ֶ */ - BYTE byFlashSize; /* 0 - do not need check; 1 - 16M; 2 - 32M; 3 - 64M */ - BYTE byRamSize; /* 0 - do not need check; 1 - 128M; 2 - 256M; 3 - 512M; 4 - 1024M*/ - BYTE byDspRamSize; /* 0 - do not need check; 1 - 64M; 2 - 128M; 3 - 256M */ - BYTE byRes[17]; /* */ -}NET_DVR_UPGRADE_FIRMWARE_INFO, *LPNET_DVR_UPGRADE_FIRMWARE_INFO; - - -typedef struct tagNET_DVR_SCHEDULE_FILE_RET -{ - DWORD dwSize; - char szFileName[32]; //ļ - DWORD dwFileLen; //ļ - BYTE byRes[64]; -}NET_DVR_SCHEDULE_FILE_RET, *LPNET_DVR_SCHEDULE_FILE_RET; - -#define NET_SDK_MAX_EXAM_ROUND_NO 64 //Գα󳤶 -#define NET_SDK_MAX_EXAM_NO 64 //Ա󳤶 -#define NET_SDK_MAX_EXAM_SUBJECT 64 //ԿĿ󳤶 -#define NET_SDK_MAX_TEACHER_NO 64 //࿼ʦ󳤶 -#define NET_SDK_MAX_TEACHER_NAME 64 //࿼ʦ󳤶 -#define NET_SDK_MAX_EXAMINEE_NO 64 //󳤶 -#define NET_SDK_MAX_ADMISSION_TICKET 64 //׼֤󳤶 - -typedef struct tagNET_DVR_EXAM_INFO_COND -{ - DWORD dwSize; - DWORD dwExamNumber; //ϢĿ - BYTE byRes[128]; -}NET_DVR_EXAM_INFO_COND, *LPNET_DVR_EXAM_INFO_COND; - -typedef struct tagNET_DVR_EXAM_INFO_CFG -{ - DWORD dwSize; - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byExamNo[NET_SDK_MAX_EXAM_NO/*64*/]; //Աţijοԣೡԣ - BYTE byExamSubject[NET_SDK_MAX_EXAM_SUBJECT/*64*/]; //ԿĿ - BYTE byTeacherNo[NET_SDK_MAX_TEACHER_NO/*64*/]; //࿼ʦ - BYTE byTeacherName[NET_SDK_MAX_TEACHER_NAME/*64*/]; //࿼ʦ - NET_DVR_TIME struStartTime; //Կʼʱ - NET_DVR_TIME struEndTime; //Խʱ - BYTE byExamInfoValid; //ϢǷЧ0-Ч1-ЧڿԳαɾϢֶΪ0ʱɾ - BYTE byRes[127]; -}NET_DVR_EXAM_INFO_CFG, *LPNET_DVR_EXAM_INFO_CFG; - -typedef struct tagNET_DVR_EXAM_INFO_STATUS -{ - DWORD dwSize; - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byStatus; //·״̬0-Ч1-ʧܣ2-ɹÿԳ·Ƿɹ - BYTE byRes[127]; -}NET_DVR_EXAM_INFO_STATUS, *LPNET_DVR_EXAM_INFO_STATUS; - -typedef struct tagNET_DVR_EXAMINEE_INFO_COND -{ - DWORD dwSize; - DWORD dwExamineeNumber; //ϢĿ - BYTE byRes[128]; -}NET_DVR_EXAMINEE_INFO_COND, *LPNET_DVR_EXAMINEE_INFO_COND; - -typedef struct tagNET_DVR_EXAMINEE_INFO_CFG -{ - DWORD dwSize; - BYTE byExamineeNo[NET_SDK_MAX_EXAMINEE_NO/*64*/]; // - BYTE byAdmissionTicket[NET_SDK_MAX_ADMISSION_TICKET/*64*/]; //׼֤ - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byName[NAME_LEN/*32*/]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE bySex; //Ա0-Ч1-У2-Ů - BYTE byExamineeInfoValid; //ϢǷЧ0-Ч1-ЧڿźͿԳαɾϢֶΪ0ʱɾ - BYTE byRes[126]; -}NET_DVR_EXAMINEE_INFO_CFG, *LPNET_DVR_EXAMINEE_INFO_CFG; - -typedef struct tagNET_DVR_EXAMINEE_INFO_STATUS -{ - DWORD dwSize; - BYTE byExamineeNo[NET_SDK_MAX_EXAMINEE_NO/*64*/]; // - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byStatus; //·״̬0-Ч1-ʧܣ2-ɹÿϢ·Ƿɹ - BYTE byRes[127]; -}NET_DVR_EXAMINEE_INFO_STATUS, *LPNET_DVR_EXAMINEE_INFO_STATUS; - -typedef struct tagNET_DVR_EXAM_COMPARE_RESULT_COND -{ - DWORD dwSize; - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byExamNo[NET_SDK_MAX_EXAM_NO/*64*/]; //Աţijοԣೡԣ - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byRes[512]; -}NET_DVR_EXAM_COMPARE_RESULT_COND, *LPNET_DVR_EXAM_COMPARE_RESULT_COND; - -typedef struct tagNET_DVR_EXAM_COMPARE_RESULT_CFG -{ - DWORD dwSize; - NET_DVR_TIME struTime; //ʱ - BYTE byExamineeNo[NET_SDK_MAX_EXAMINEE_NO/*64*/]; // - BYTE byAdmissionTicket[NET_SDK_MAX_ADMISSION_TICKET/*64*/]; //׼֤ - BYTE byExamNo[NET_SDK_MAX_EXAM_NO/*64*/]; //Աţijοԣೡԣ - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byName[NAME_LEN/*32*/]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwPicDataLen; //ȶץͼƬݴСΪ0DZʾ - char *pPicData; //ȶץͼƬָ - BYTE byRes[256]; -}NET_DVR_EXAM_COMPARE_RESULT_CFG, *LPNET_DVR_EXAM_COMPARE_RESULT_CFG; - -typedef struct tagNET_DVR_BLOCKLIST_PICTURE_COND -{ - DWORD dwSize; - DWORD dwPictureNum; //ͼƬ - BYTE byRes[128]; -}NET_DVR_BLOCKLIST_PICTURE_COND, *LPNET_DVR_BLOCKLIST_PICTURE_COND; - -typedef struct tagNET_DVR_BLOCKLIST_PICTURE_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - BYTE byStatus; //״̬0-Ч1-У2-ϴʧܣ3-ɹ - BYTE byRes[63]; -}NET_DVR_BLOCKLIST_PICTURE_STATUS, *LPNET_DVR_BLOCKLIST_PICTURE_STATUS; - -typedef struct tagNET_DVR_BLOCKLIST_PICTURE_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - BYTE byName[NAME_LEN/*32*/]; // - BYTE bySex; //Ա0-Ч1-У2-Ů - BYTE byPictureValid; //ֹͼƬǷЧ0-Ч1-ЧڰɾֹͼƬֶΪ0ʱɾɾʱݽֹͼƬ - BYTE byRes1[2]; - DWORD dwPictureLen; //ֹͼƬȣͼƬС1M - char* pPictureBuffer; //ֹͼƬָ - BYTE byRes[128]; -}NET_DVR_BLOCKLIST_PICTURE_CFG, *LPNET_DVR_BLOCKLIST_PICTURE_CFG; - -typedef struct tagNET_DVR_UPLOAD_ID_BLOCKLIST_COND -{ - DWORD dwSize; - DWORD dwBlockListNum; //ֹ - BYTE byRes[128]; -}NET_DVR_UPLOAD_ID_BLOCKLIST_COND, *LPNET_DVR_UPLOAD_ID_BLOCKLIST_COND; - -typedef struct tagNET_DVR_UPLOAD_ID_BLOCKLIST_CFG -{ - DWORD dwSize; - NET_DVR_ID_CARD_INFO struIDCardCfg;//֤Ϣýṹ֤ΪֶΪѡ - BYTE byBlockListValid; //ֹ֤ǷЧ0-Ч1-Чڰ֤ɾֶֹ֤Ϊ0ʱɾ - BYTE byRes[127]; -}NET_DVR_UPLOAD_ID_BLOCKLIST_CFG, *LPNET_DVR_UPLOAD_ID_BLOCKLIST_CFG; - -typedef struct tagNET_DVR_UPLOAD_ID_BLOCKLIST_STATUS -{ - DWORD dwSize; - BYTE byIDNum[MAX_ID_NUM_LEN]; //֤ - BYTE byStatus; //״̬0-Ч1-У2-ϴʧܣ3-ɹ - BYTE byRes[63]; -}NET_DVR_UPLOAD_ID_BLOCKLIST_STATUS, *LPNET_DVR_UPLOAD_ID_BLOCKLIST_STATUS; - -typedef struct tagNET_DVR_ALARM_ISAPI_INFO -{ - char * pAlarmData; // - DWORD dwAlarmDataLen; // ݳ - BYTE byDataType; // 0-invalid,1-xml,2-json - BYTE byPicturesNumber; // ͼƬ - BYTE byRes[2]; - void * pPicPackData; // ͼƬ䳤 - BYTE byRes1[32]; -}NET_DVR_ALARM_ISAPI_INFO, *LPNET_DVR_ALARM_ISAPI_INFO; - -typedef struct tagNET_DVR_ALARM_ISAPI_PICDATA -{ - DWORD dwPicLen; - BYTE byPicType; //ͼƬʽ: 1-jpg, 2-wav, 3-mp4 - BYTE byRes[3]; - char szFilename[MAX_FILE_PATH_LEN]; - BYTE *pPicData; -}NET_DVR_ALARM_ISAPI_PICDATA, *LPNET_DVR_ALARM_ISAPI_PICDATA; - -typedef struct tagNET_DVR_FORMAT_HDD -{ - DWORD dwSize;//ṹ峤 - DWORD dwDiskNo;//Ӳ̺ţ0ʼ0xffʾӲЧֻӲ̣ - NET_DVR_IPADDR struLocateIP;//Ӳ豸IPӦӲ̹V50лȡszHDLocateIPϢ - BYTE byRes[16]; -}NET_DVR_FORMAT_HDD, *LPNET_DVR_FORMAT_HDD; - -typedef struct tagNET_DVR_CHECK_FACE_PICTURE_COND -{ - DWORD dwSize; - DWORD dwPictureNum; //ͼƬ - BYTE byCheckTemplate; //0-УͼƬǷϷĬϣ1-УͼƬͽģǷƥ - BYTE byRes[127]; -}NET_DVR_CHECK_FACE_PICTURE_COND, *LPNET_DVR_CHECK_FACE_PICTURE_COND; - -typedef struct tagNET_DVR_CHECK_FACE_PICTURE_CFG -{ - DWORD dwSize; - DWORD dwPictureNo; //ͼƬ - DWORD dwPictureLen; //ͼƬȣͼƬС200k - char* pPictureBuffer; //ͼƬָ - DWORD dwFaceTemplateLen; //ģݳ - char* pFaceTemplateBuffer; //ģָ - BYTE byRes[248]; -}NET_DVR_CHECK_FACE_PICTURE_CFG, *LPNET_DVR_CHECK_FACE_PICTURE_CFG; - -typedef struct tagNET_DVR_CHECK_FACE_PICTURE_STATUS -{ - DWORD dwSize; - DWORD dwPictureNo; //ͼƬ - BYTE byCheckStatus; //У0-Ч1-ģɹ2-ģʧܣ3-ģͨѶ쳣4-ͼ5-ϣ6-£7-ƫ8-ƫң9-˳ʱת - //10 - ʱת11-ۼС12-ģƥ䣬13-ģ岻ƥ,14- - BYTE byRes[127]; -}NET_DVR_CHECK_FACE_PICTURE_STATUS, *LPNET_DVR_CHECK_FACE_PICTURE_STATUS; - -typedef struct tagNET_SDK_NPQ_STATE_SINGLE -{ - DWORD dwRttUs; //rttλus - DWORD dwRealRttUs; //ʵʱrttλus - DWORD dwBitRate; //ʣλbps - BYTE byLossFraction; //ʣλ1/256 - BYTE byLossFraction2; //ָ֮Ķʣֻڽն˻ȡλ1/256 - BYTE byRes[126]; -}NET_SDK_NPQ_STATE_SINGLE, *LPNET_SDK_NPQ_STATE_SINGLE; - - -typedef struct tagNET_SDK_NPQ_STATE -{ - DWORD dwSize; - NET_SDK_NPQ_STATE_SINGLE struAudioState; //Ƶ״̬ - NET_SDK_NPQ_STATE_SINGLE struVideoState; //Ƶ״̬ - BYTE byRes[256]; -}NET_SDK_NPQ_STATE, *LPNET_SDK_NPQ_STATE; - -typedef struct tagNET_SDK_NPQ_NOTIFY_PARAM -{ - LONG iVersion; //ṹ汾Ժ - DWORD dwBitRate; // λbps - BOOL bHaveBitrate; //ֶǷЧ־ - BOOL bHaveForceIframe; //ǿIֶ֡ǷЧ־ - BOOL bForceIframe; //ǿI֡ - BOOL bHaveScale; //scaleֶǷЧ־,طʱֶЧ,ͨSDKŽӿʵ - float fScale; //scaleϢ 1248,طʱֶЧ,ͨSDKŽӿʵ - BYTE res[240]; -}NET_SDK_NPQ_NOTIFY_PARAM, *LPNET_SDK_NPQ_NOTIFY_PARAM; - -//Ϣѯṹ -typedef struct tagNET_DVR_ALARM_SEARCH_COND -{ - DWORD dwSize; - NET_DVR_TIME_SEARCH_COND strStartTime; //ʼʱ,ʱΪͨʱɸѡ - NET_DVR_TIME_SEARCH_COND strStopTime; //ʱ, ʱΪͨʱɸѡ - /* - ֵֶ뱨ͬĿǰ֧֣ - COMM_VCA_ALARM 0x4993 ܼⱨ - COMM_UPLOAD_FACESNAP_RESULT 0x1112 ʶϴ - COMM_SNAP_MATCH_ALAR 0x2902 ȶԽϴ - */ - DWORD dwAlarmComm; //Ϊбˡ - char sAlarmUID[64]; //UIDʶϴʱ豸صUIDʶ64ֽڵijȣʹʱ䣨ȷ룩漴ķʽɣ,ΪUID - WORD wEventType;//¼ͣdwAlarmCommΪCOMM_VCA_ALARM 0x4993 ܼⱨЧ0-ʾ¼,1-Ŀ⣨mixedTargetDetection,2-Ŀ⣨radarVideoDetection - WORD wSubEventType;//¼ͣ0-ʾ¼ֵwEventTypeȡֵ仯仯μ - BYTE bySupport; // - BYTE byNoBoundary; //Ƿ񲻴boundary0-1-ǣdwAlarmCommΪܼⱨʱЧΪ1ʱ¼ΪCOMM_ISAPI_ALARM - BYTE byRes[122]; -}NET_DVR_ALARM_SEARCH_COND, *LPNET_DVR_ALARM_SEARCH_COND; -//Ϣѯṹ -typedef struct tagNET_DVR_ALARM_SEARCH_RESULT -{ - DWORD dwSize; - /* - ֵֶ뱨ͬĿǰ֧֣ - COMM_VCA_ALARM 0x4993 ܼⱨ - COMM_UPLOAD_FACESNAP_RESULT 0x1112 ʶϴ - COMM_SNAP_MATCH_ALARM 0x2902 ȶԽϴ - COMM_ISAPI_ALARM 0x6009 ISAPI - */ - DWORD dwAlarmComm; - /* - Ϣֵֶ뱨ϢͬĿǰ֧֣ - COMM_VCA_ALARMʱñϢΪJSON - COMM_UPLOAD_FACESNAP_RESULTʱñϢΪNET_VCA_FACESNAP_RESULT - COMM_SNAP_MATCH_ALARMʱñϢΪNET_VCA_FACESNAP_MATCH_ALARM - COMM_ISAPI_ALARMʱñϢΪNET_DVR_ALARM_ISAPI_INFO - */ - DWORD dwAlarmLen;//ϢpAlarmInfoָָݳ - char *pAlarmInfo; - NET_DVR_ALARMER struAlarmer; - BYTE byRes[128]; -}NET_DVR_ALARM_SEARCH_RESULT, *LPNET_DVR_ALARM_SEARCH_RESULT; - -typedef struct tagNET_DVR_FACE_AND_TEMPLATE_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀţʱòã - DWORD dwFaceNum; //ûȡȡʱΪ0xffffffffʾȡϢ - BYTE byRes[128]; // -}NET_DVR_FACE_AND_TEMPLATE_COND, *LPNET_DVR_FACE_AND_TEMPLATE_COND; - -typedef struct tagNET_DVR_FACE_AND_TEMPLATE_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwFaceLen; //ͼƬȣͼƬС200k - char* pFaceBuffer; //ͼƬָ - DWORD dwFaceTemplateLen; //ģݳ - char* pFaceTemplateBuffer; //ģָ - BYTE byRes[116]; -}NET_DVR_FACE_AND_TEMPLATE_CFG, *LPNET_DVR_FACE_AND_TEMPLATE_CFG; - -typedef struct tagNET_DVR_FACE_AND_TEMPLATE_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byRecvStatus;//·״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ڴ - BYTE byRes[131]; -}NET_DVR_FACE_AND_TEMPLATE_STATUS, *LPNET_DVR_FACE_AND_TEMPLATE_STATUS; - -typedef struct tagNET_DVR_SINGLE_HEATMAP_RESULT_PDC -{ - DWORD dwMaxHeatMapValue;//ȶֵ - DWORD dwMinHeatMapValue;//Сȶֵ - DWORD dwTimeHeatMapValue;// (ʱȶֵ)ƽȶֵ - WORD wArrayLine;//ͼƬصֵ - WORD wArrayColumn;//ͼƬصֵ ֵΪ0ʱصֵڴϢڣ - BYTE* pBuffer; //ȶͼƬصϢ - BYTE byRes[32]; -}NET_DVR_SINGLE_HEATMAP_RESULT_PDC, *LPNET_DVR_SINGLE_HEATMAP_RESULT_PDC; - -//ȶͼϴ -typedef struct tagNET_DVR_HEATMAP_RESULT_PDC -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byArrayUnitType;//ԪͣϢÿصݵͣ,1-byte, 2-short,4- int - /* - struSingleHeatMap[0]:ʾͳеĻͣȶֵ - struSingleHeatMap[1]:ʾͳеĻ뿪ȶֵ - */ - NET_DVR_SINGLE_HEATMAP_RESULT_PDC struSingleHeatMap[2]; - WORD wCurNumber;//ǰ - WORD wLeaveNumber;//뿪 - #if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "heatmap") -#else - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "heatmap") - BYTE byRes2[4]; -#endif - DWORD dwEventNotificationAlertLen;//ȶӦEventNotificationAlert JSON Block("eventType": "heatmap")ݳ - BYTE byRes1[48]; -}NET_DVR_HEATMAP_RESULT_PDC, *LPNET_DVR_HEATMAP_RESULT_PDC; - -//豸֧AIƽ̨룬ϴƵ -typedef struct _NET_AIOP_VIDEO_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_VIDEO_HEAD) - DWORD dwChannel; //豸ͨͨţ - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ƵIDƵɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽͨURI(GET /ISAPI/Intelligent/AIOpenPlatform/algorithmModel/management?format=json)ȡǰ豸صģͰlabel descriptionϢ - BYTE *pBufferAIOPData; //AIOPDdata - BYTE *pBufferPicture;//ӦͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢2-豸ش洢byPictureModeΪ0ʱpBufferPictureΪݣ - //byPictureModeΪ1ʱpBufferPictureΪ人URL,byPictureModeΪ2ʱpBufferPictureΪ豸ش洢URLͼƬʱҪHTTPЭ豸֤ǻ豸û֤ - BYTE byCompressedDotMatrixMode;//ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes2[2];//ֽ - DWORD dwPresetIndex; //Ԥõ - DWORD dwAddInfoPictureSize; //ӦĸͼƬ - BYTE *pAddInfoPictureBuffer;//ӦĸͼƬ(ȳ˫ͨ豸ýڵʾDZͨͼƬ) -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pFacePicBuff; //СͼͼƬָ -#else - char* pFacePicBuff; //СͼͼƬָ - BYTE byRes3[4]; -#endif - DWORD dwFacePicBuffLen;//ȶӦpFacePicBuffݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pComparisonPicBuff; //׿ȶͼͼƬָ -#else - char* pComparisonPicBuff; //׿ȶͼͼƬָ - BYTE byRes4[4]; -#endif - DWORD dwComparisonPicBuffLen;//ȶӦpComparisonPicBuffݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[132]; -}NET_AIOP_VIDEO_HEAD, *LPNET_AIOP_VIDEO_HEAD; - -//豸֧AIƽ̨룬ϴͼƬ -typedef struct _NET_AIOP_PICTURE_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_PICTURE_HEAD) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szPID[64]; //͸·ͼƬIDͼƬɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - BYTE byStatus; //״ֵ̬0-ɹ1-ͼƬС - BYTE byPictureMode;//ͼƬݴģʽ(dwPictureSize>0ʱЧ) 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;// /ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes1[1]; - char szMPID[64]; //ģͰIDƥAIOPļݽ - BYTE *pBufferAIOPData;//AIOPDdata - DWORD dwPresetIndex; //Ԥõ - DWORD dwPictureSize; //ͼƬURL -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE *pBufferPicture;//ӦͼƬݻURL -#else - BYTE *pBufferPicture;//ӦͼƬݻURL - BYTE byRes2[4]; -#endif - char szTaskID[64]; //ID, ͼƬϱЯֶ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[92]; -}NET_AIOP_PICTURE_HEAD, *LPNET_AIOP_PICTURE_HEAD; - -#define MAX_FILE_NAME_LEN 100 //ļ -typedef struct tagNET_DVR_DOOR_FILE_UPLOAD_PARAM -{ - DWORD dwSize; - DWORD dwFileSize; //ļСλֽ - BYTE byFileName[MAX_FILE_NAME_LEN]; //ļ - BYTE byRes1[256]; -}NET_DVR_DOOR_FILE_UPLOAD_PARAM, *LPNET_DVR_DOOR_FILE_UPLOAD_PARAM; - -#define AUDIO_FILE_NAME_LEN 32 //ƵļƳ -//ϴƵļ -typedef struct tagNET_DVR_TRANS_AUDIO_INFO -{ - DWORD dwSize; //ṹС - char sAudioName[AUDIO_FILE_NAME_LEN]; //Ƶļ - BYTE byAudioFormat; //Ƶݸʽ0-wav - BYTE byRes[127]; -}NET_DVR_TRANS_AUDIO_INFO,*LPNET_DVR_TRANS_AUDIO_INFO; - -typedef struct _NET_AIOP_POLLING_VIDEO_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_POLLING_VIDEO_HEAD) - DWORD dwChannel; //豸ͨͨ(SDKЭ) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ѯץͼIDѯץͼɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽ - BYTE *pBufferAIOPData;//AIOPDdata - BYTE *pBufferPicture;//ӦͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;// /ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes2[2];//ֽ - DWORD dwPresetIndex; //Ԥõ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[164]; -} NET_AIOP_POLLING_VIDEO_HEAD, *LPNET_AIOP_POLLING_VIDEO_HEAD; - -typedef struct _NET_AIOP_HISTORY_VIDEO_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(_NET_AIOP_HISTORY_VIDEO_HEAD_) - DWORD dwChannel; //豸ͨͨ(SDKЭ) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ʷƵIDƵɷ - DWORD dwAIOPDataSize; //AIOP dataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽͨURI(GET /ISAPI/Intelligent/AIOpenPlatform/algorithmModel/management?format=json)ȡǰ豸صģͰlabel descriptionϢ - BYTE *pBufferAIOPData;//AIOPDdata - BYTE *pBufferPicture;//ӦͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byRes[183]; -}NET_AIOP_HISTORY_VIDEO_HEAD, *LPNET_AIOP_HISTORY_VIDEO_HEAD; - - -typedef struct _NET_AIOP_POLLING_SNAP_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_POLLING_SNAP_HEAD) - DWORD dwChannel; //豸ͨͨ(SDKЭ) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ѯץͼIDѯץͼɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽ - BYTE *pBufferAIOPData;//AIOPDdata - BYTE *pBufferPicture;//ͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;// /ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes2[2];//ֽ - DWORD dwPresetIndex; //Ԥõ - DWORD dwAddInfoPictureSize; //ӦĸͼƬ - BYTE *pAddInfoPictureBuffer;//ӦĸͼƬ(ȳ˫ͨ豸ýڵʾDZͨͼƬ) - #if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[156]; -} NET_AIOP_POLLING_SNAP_HEAD, *LPNET_AIOP_POLLING_SNAP_HEAD; - -typedef struct tagNET_DVR_AI_ALGORITHM_MODEL -{ - DWORD dwSize; - DWORD dwDescribeLength; //{AlgorithmModel} ļ - char* pDescribeBuffer; //{AlgorithmModel}ļ - BYTE byRes1[3];//ֽڣʹֽڶ - DWORD dwLicenseKeyLength; //licenseKeyļ - char* pLicenseKeyBuffer; //licenseKeyļ - BYTE byRes[120]; -}NET_DVR_AI_ALGORITHM_MODEL, *LPNET_DVR_AI_ALGORITHM_MODEL; - -typedef struct tagNET_DVR_AI_PICTUR_UPLOAD -{ - DWORD dwSize; - char szTaskID[64]; //idstrlen.max = 64,ҵƽ̨ͳһά - char szPID[64]; //ͼƬidstrlen.max = 64ҵƽ̨ͳһά - BYTE byRes[128]; -}NET_DVR_AI_PICTUR_UPLOAD, *LPNET_DVR_AI_PICTUR_UPLOAD; - - -typedef struct _NET_DVR_CARD_RECORD -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; - BYTE byCardType; - BYTE byLeaderCard; - BYTE byUserType; - BYTE byRes1; - BYTE byDoorRight[MAX_DOOR_NUM_256]; - NET_DVR_VALID_PERIOD_CFG struValid; - BYTE byBelongGroup[MAX_GROUP_NUM_128]; - BYTE byCardPassword[CARD_PASSWORD_LEN]; - WORD wCardRightPlan[MAX_DOOR_NUM_256]; - DWORD dwMaxSwipeTimes; - DWORD dwSwipeTimes; - DWORD dwEmployeeNo; - BYTE byName[NAME_LEN]; - //λʾ0-Ȩޣ1-Ȩ - //0λʾ籨 - //1λʾʾ - //2λʾƿͿ - //3λʾͨ - //4λʾ - //5λʾѲ - DWORD dwCardRight; - BYTE byRes[256]; -}NET_DVR_CARD_RECORD, *LPNET_DVR_CARD_RECORD; - -typedef struct _NET_DVR_CARD_COND -{ - DWORD dwSize; - DWORD dwCardNum; //ûȡȡʱΪ0xffffffffʾȡпϢ - BYTE byRes[64]; -}NET_DVR_CARD_COND, *LPNET_DVR_CARD_COND; - -typedef struct _NET_DVR_CARD_SEND_DATA -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byRes[16]; -}NET_DVR_CARD_SEND_DATA, *LPNET_DVR_CARD_SEND_DATA; - -typedef struct _NET_DVR_CARD_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; - DWORD dwErrorCode; - BYTE byStatus; // ״̬0-ʧܣ1-ɹ - BYTE byRes[23]; -}NET_DVR_CARD_STATUS, *LPNET_DVR_CARD_STATUS; - -typedef struct _NET_DVR_FACE_RECORD -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwFaceLen; //ݳ - BYTE* pFaceBuffer; //ָ - BYTE byRes[128]; -}NET_DVR_FACE_RECORD, *LPNET_DVR_FACE_RECORD; - -typedef struct _NET_DVR_FACE_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ4ʱʾѴӦĿ - DWORD dwReaderNo; //ţ·󷵻 - BYTE byRecvStatus; //״ֽ̬ڱʾ0-ʧܣ1-ɹ2-Ի3-ڴ()4-Ѵڸ5-ǷID - //,6-㷨ģʧܣ7-δ·Ȩޣ8-δ壨9-ۼСС10-ͼƬݳС1KB11-ͼƬʽpng/jpg/bmp,12-ͼƬޣ13-ͼƬޣ14-ͼƬϢУʧܣ15-ͼƬʧܣ16-ʧܣ17-ʧ - BYTE byRes[131]; -}NET_DVR_FACE_STATUS, *LPNET_DVR_FACE_STATUS; - -typedef struct _NET_DVR_FACE_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀţʱòɲã - DWORD dwFaceNum; // ûȡȡʱΪ0xffffffffʾȡϢ - DWORD dwEnableReaderNo; // - BYTE byRes[124]; // -}NET_DVR_FACE_COND, *LPNET_DVR_FACE_COND; - -typedef struct _NET_DVR_FINGERPRINT_RECORD -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - DWORD dwFingerPrintLen; //ָݳ - DWORD dwEnableReaderNo; //Ҫ·ָƵĶ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byRes1[30]; - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - BYTE byRes[96]; -}NET_DVR_FINGERPRINT_RECORD, *LPNET_DVR_FINGERPRINT_RECORD; - -typedef struct _NET_DVR_FINGERPRINT_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byCardReaderRecvStatus; //ָƶ״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ָģ鲻ߣ3-Իָ4-ڴ5-Ѵڸָƣ6-ѴڸָID7-ǷָID8-ָģ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byRecvStatus; //״̬0-ɹ1-ָŴ2-ָʹ3-Ŵ󣨿Ź񲻷豸Ҫ󣩣4-ָδŻ򿨺ţŻ򿨺ֶΪգ5-Ųڣ6-ָݳΪ07-Ŵ8-Ŵ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĿ - DWORD dwCardReaderNo; //byCardReaderRecvStatusΪ5ʱʾѴָƶӦָƶţ·󷵻ء0ʱʾ޴Ϣ - BYTE byRes[20]; -}NET_DVR_FINGERPRINT_STATUS, *LPNET_DVR_FINGERPRINT_STATUS; - -typedef struct tagNET_DVR_FINGERPRINT_COND -{ - DWORD dwSize; - DWORD dwFingerprintNum; - BYTE byCardNo[ACS_CARD_NO_LEN]; - DWORD dwEnableReaderNo; - BYTE byFingerPrintID; - BYTE byRes[131]; -}NET_DVR_FINGERPRINT_COND, *LPNET_DVR_FINGERPRINT_COND; - -typedef struct tagNET_DVR_CAPTURE_DATA_COND -{ - DWORD dwSize; - char szPassword[128]; //Կַ - BYTE byRes[128]; -}NET_DVR_CAPTURE_DATA_COND, *LPNET_DVR_CAPTURE_DATA_COND; - -#define EZVIZ_CLASSSESSION_LEN 64 -#define EZVIZ_DEVICEID_LEN 32 -typedef struct tagNET_DVR_EZVIZ_USER_LOGIN_INFO -{ - char sEzvizServerAddress[NET_DVR_DEV_ADDRESS_MAX_LEN]; //Ʒַ - WORD wPort; //Ʒ˿ - BYTE byLogin; - BYTE byRes1[1]; - char sClassSession[EZVIZ_CLASSSESSION_LEN]; //ClassSession, һַÿͨʱҪ͸ - char sDeviceID[EZVIZ_DEVICEID_LEN]; //豸ID ɷ - BYTE byRes2[128]; -}NET_DVR_EZVIZ_USER_LOGIN_INFO, *LPNET_DVR_EZVIZ_USER_LOGIN_INFO; - -#define EZVIZ_REQURL_LEN 64 -#define EZVIZ_ACCESSTOKEN_LEN 128 -#define EZVIZ_CLIENTTYPE_LEN 32 -#define EZVIZ_FEATURECODE_LEN 64 -#define EZVIZ_OSVERSION_LEN 32 -#define EZVIZ_NETTYPE_LEN 32 -#define EZVIZ_SDKVERSION_LEN 32 -#define EZVIZ_APPID_LEN 64 -typedef struct tagNET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO -{ - char sEzvizServerAddress[NET_DVR_DEV_ADDRESS_MAX_LEN]; //Ʒַ - BYTE byRes1[3]; - WORD wPort; //Ʒ˿ - BYTE byRes2[2]; - char sUrl[EZVIZ_REQURL_LEN]; - char sAccessToken[EZVIZ_ACCESSTOKEN_LEN]; //accessToken, һַÿͨʱҪ͸ - char sDeviceID[EZVIZ_DEVICEID_LEN]; //豸ID ɷ - char sClientType[EZVIZ_CLIENTTYPE_LEN]; //ͻ: 0: PC-ؼ 1: ios 2: android - char sFeatureCode[EZVIZ_FEATURECODE_LEN]; //Ӳ - char sOsVersion[EZVIZ_OSVERSION_LEN]; //նϵͳ汾, : IOS 7.0.4, Android 2.3. - char sNetType[EZVIZ_NETTYPE_LEN]; //, UNKNOWN GPRS EDGE UMTS HSDPA HSUPA HSPA CDMAEVDO_0 EVDO_A EVDO_B 1xRTT IDEN WIFI - char sSdkVersion[EZVIZ_SDKVERSION_LEN]; //Sdk汾, v.1.0.20140720.45xx - char sAppID[EZVIZ_APPID_LEN]; //AppIDiosϱBundleIDAndroidϱ - BYTE byRes3[512]; -}NET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO, *LPNET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO; - - -#define MAX_ERROR_MSG_LEN 256 //󱨾Ϣ -//쳣 -typedef enum tagALARM_EXCEPTION_ERROR_ENUM -{ - ENUM_AEE_PARAM_ERROR = 1, // - ENUM_AEE_LENS_ERROR = 2, //Ȳƥڲṹ - ENUM_AEE_PIC_LENS_ERROR = 3, //ͼƬȲƥ - ENUM_AEE_DEVID_LENS_ERROR = 4, //DeviceIDȲƥ - ENUM_AEE_NEW_ALLOC_ERROR = 5, //ڴʧ - ENUM_AEE_JSON_FORMAT_ERROR = 6, //JOSNʽ - ENUM_AEE_XML_FORMAT_ERROR = 7, //XMLʽ - ENUM_AEE_BINARY_PIC_ERROR = 8, //ͼƬݴ쳣 - ENUM_AEE_PIC_NUM_ERROR = 9, //ͳͼƬ쳣 - ENUM_AEE_GET_BOUNDARY_ERROR = 10, //ȡboundary쳣 - ENUM_AEE_BOUNDARY_NUM_ERROR = 11, //ȡboundaryĿ쳣 -}ALARM_EXCEPTION_ERROR_ENUM; - -//쳣ṹ -typedef struct tagNET_ALARM_EXCEPTION -{ - DWORD dwAlarmType; // - BYTE byExceptionType; //쳣,μ ALARM_EXCEPTION_ERROR_ENUM - BYTE byRes[3]; // - char szErrMsg[MAX_ERROR_MSG_LEN]; //Ϣ - BYTE byRes1[248]; // -}NET_ALARM_EXCEPTION, *LPNET_ALARM_EXCEPTION; - - -enum ADDITIONAL_LIB -{ - PLAYCTRL = 0, - DSSDK, - STREAMCONVERT, - STREAMTRANS, - QOSSDK, - DLL_PATH_AUDIO, - EZVIZ_SSL_SDK, - ANALYZE_DATA_LIB, - DLL_LIBICONV, - SSLEAY32_SDK, - LIBEAY32_SDK, - HCNETUTILS_SDK, - NPQ_LIB, - LOAD_DLL_COUNT, -}; - -typedef struct tagNET_DVR_AUTOTEST_CFG_HEAD -{ - DWORD dwSize; - DWORD dwInfoType; //1ʾƵԣ3ʾԽ - DWORD dwRetResult; - DWORD dwDataBodySize; //ĽṹݴС - void* lpDataBody; //Ľṹ - BYTE byRes[32]; -}NET_DVR_AUTOTEST_CFG_HEAD,*LPNET_DVR_AUTOTEST_CFG_HEAD; - -//ƵԽṹ -typedef struct tagNET_DVR_AUTOTEST_VIDEO_CFG -{ - DWORD dwSplitScreenNums; //֧149 - DWORD dwVoCh; //Ĭд1 - DWORD dwInterface; //1ʾCVBS2ʾHDMI3ʾVGA4ʾHDMI -}NET_DVR_AUTOTEST_VIDEO_CFG,*LPNET_DVR_AUTOTEST_VIDEO_CFG; - -//ƵԽṹ -typedef struct tagNET_DVR_AUTOTEST_AUDIO_CFG -{ - DWORD dwVoCh; //Ĭд2 - DWORD dwOpen; //10 -}NET_DVR_AUTOTEST_AUDIO_CFG, *LPNET_DVR_AUTOTEST_AUDIO_CFG; - -typedef struct tagNET_LOCAL_AUDIOCAST_PARAM -{ - BYTE byAudioBitRate; //Ƶ ο BITRATE_ENCODE_INDEX - BYTE byAudioSamplingRate; //Ƶ 0-Ĭϣ1-16kHZ2-32kHZ3-48kHZ, 4- 44.1kHZ,5-8kHZ - BYTE byRes[30]; -}NET_LOCAL_AUDIOCAST_PARAM, *LPNET_LOCAL_AUDIOCAST_PARAM; - -typedef struct tagNET_LOCAL_AUDIOCAST_CFG -{ - NET_LOCAL_AUDIOCAST_PARAM struAudioCastParam[MAX_AUDIOCAST_CFG_TYPE]; //13Ԫطֱʾ MP3MPEG2AAC㲥ãӦԪزΪĬϲ͹㲥 - BYTE byRes[64]; -}NET_LOCAL_AUDIOCAST_CFG, *LPNET_LOCAL_AUDIOCAST_CFG; - -#if ((defined __linux__) || (defined _WIN64)) -typedef struct _NET_DVR_AUDIOENCInfo /* Ϣ */ -{ - DWORD in_frame_size; /* һ֡ݴС(BYTES)GetInfoParam */ - int reserved[16]; /* */ -} NET_DVR_AUDIOENC_INFO; -/* ģʽ */ -typedef enum _ENUM_AUDIO_ENC_MODE -{ - AMR_MR475_ = 0, /* 4.75 kb/s */ - AMR_MR515_, /* 5.15 kb/s */ - AMR_MR59_, /* 5.90 kb/s */ - AMR_MR67_, /* 6.70 kb/s */ - AMR_MR74_, /* 7.40 kb/s */ - AMR_MR795_, /* 7.95 kb/s */ - AMR_MR102_, /* 10.2 kb/s */ - AMR_MR122_, /* 12.2 kb/s */ - - AMR_MRDTX_, /* ֡ */ - AMR_N_MODES_ -}ENUM_AUDIO_ENC_MODE; -// Ƶ -typedef struct _NET_DVR_AUDIOENC_PROCESS_PARAM_ -{ - unsigned char *in_buf; /* buf */ - unsigned char *out_buf; /* buf */ - DWORD out_frame_size; /* һ֡BYTE */ - - int g726enc_reset; /* ÿ */ - int g711_type; /* g711,0 - U law, 1- A law */ - ENUM_AUDIO_ENC_MODE enc_mode; /* ƵģʽAMR */ - int reserved[16]; /* */ -}NET_DVR_AUDIOENC_PROCESS_PARAM; - -typedef struct _NET_DVR_AUDIODECInfo /* Ϣ */ -{ - int nchans; /* */ - int sample_rate; /* */ - int aacdec_profile; /* õĿ */ - int reserved[16]; /* */ -} NET_DVR_AUDIODEC_INFO; - -// Ƶ -typedef struct _NET_DVR_AUDIODEC_PROCESS_PARAM -{ - unsigned char *in_buf; /* buf */ - unsigned char *out_buf; /* buf */ - DWORD in_data_size; /* in_bufbyte */ - DWORD proc_data_size; /* ⴦in_bufݴСbytes */ - DWORD out_frame_size; /* һ֡BYTE */ - NET_DVR_AUDIODEC_INFO dec_info; /* Ϣ */ - - int g726dec_reset; /* ÿ */ - int g711_type; /* g711,0 - U law, 1- A law */ - int reserved[16]; /* */ -} NET_DVR_AUDIODEC_PROCESS_PARAM; - -const unsigned int G726_EBCIN_DECOUT_SIZE = 640; // G726һ֡һ֡ĴС -#if (defined __x86_64__) -const unsigned int G726_ENC_OUT_SIZE = 160; // G726һ֡С -const unsigned int G726_DEC_IN_SIZE = 200; // G726һ֡볤ȣ -#else // if (defined __i386__) -const unsigned int G726_ENC_OUT_SIZE = 80; // G726һ֡С -const unsigned int G726_DEC_IN_SIZE = 80; // G726һ֡볤ȣ -#endif // (defined __x86_64__) -#endif // (defined __linux__) - -/********************************SDKӿں*********************************/ -NET_DVR_API BOOL __stdcall NET_DVR_Init(); -NET_DVR_API BOOL __stdcall NET_DVR_Cleanup(); - -//NET_DVR_SetDVRMessageչ -#ifdef _WIN32 -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessage(UINT nMessage,HWND hWnd); -NET_DVR_API BOOL __stdcall NET_DVR_SetExceptionCallBack_V30(UINT nMessage, HWND hWnd, void (CALLBACK* fExceptionCallBack)(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser), void *pUser); -#elif defined(__linux__) || defined(__APPLE__) -NET_DVR_API BOOL __stdcall NET_DVR_SetExceptionCallBack_V30(UINT reserved1, void* reserved2, void (CALLBACK* fExceptionCallBack)(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser), void *pUser); -/*Linuxר */ -#if defined(__linux__) -NET_DVR_API BOOL NET_DVR_DrawAreaInit(INITINFO InitInfo, DWORD iUseSDL = 1); -NET_DVR_API BOOL NET_DVR_DrawAreaRelease(); -#endif -#endif - -NET_DVR_API BOOL __stdcall NET_DVR_LoadAllCom(); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack(BOOL (CALLBACK *fMessCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen)); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_EX(BOOL (CALLBACK *fMessCallBack_EX)(LONG lCommand,LONG lUserID,char *pBuf,DWORD dwBufLen)); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_NEW(BOOL (CALLBACK *fMessCallBack_NEW)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, WORD dwLinkDVRPort)); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack(BOOL (CALLBACK *fMessageCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, DWORD dwUser), DWORD dwUser); -typedef void (CALLBACK *MSGCallBack)(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V30(MSGCallBack fMessageCallBack, void* pUser); -typedef BOOL (CALLBACK *MSGCallBack_V31)(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V31(MSGCallBack_V31 fMessageCallBack, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V50(int iIndex, MSGCallBack fMessageCallBack, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V51(int iIndex, MSGCallBack fMsgCallBack, void* pUser); - -NET_DVR_API BOOL __stdcall NET_DVR_SetConnectTime(DWORD dwWaitTime = 3000, DWORD dwTryTimes = 3); -NET_DVR_API BOOL __stdcall NET_DVR_SetReconnect(DWORD dwInterval = 30000, BOOL bEnableRecon = TRUE); -NET_DVR_API DWORD __stdcall NET_DVR_GetSDKVersion(); -NET_DVR_API DWORD __stdcall NET_DVR_GetSDKBuildVersion(); -NET_DVR_API int __stdcall NET_DVR_IsSupport(); -NET_DVR_API BOOL __stdcall NET_DVR_StartListen(char *sLocalIP,WORD wLocalPort); -NET_DVR_API BOOL __stdcall NET_DVR_StopListen(); - -NET_DVR_API LONG __stdcall NET_DVR_StartListen_V30(char *sLocalIP, WORD wLocalPort, MSGCallBack DataCallback, void* pUserData = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_StopListen_V30(LONG lListenHandle); -NET_DVR_API LONG __stdcall NET_DVR_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo); -NET_DVR_API LONG __stdcall NET_DVR_Login_V30(char *sDVRIP, WORD wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo); - -NET_DVR_API LONG __stdcall NET_DVR_Login_V40(LPNET_DVR_USER_LOGIN_INFO pLoginInfo,LPNET_DVR_DEVICEINFO_V40 lpDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_Login_Check(char *sDVRIP, WORD wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_Logout(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_Logout_V30(LONG lUserID); -NET_DVR_API DWORD __stdcall NET_DVR_GetLastError(); -NET_DVR_API void __stdcall NET_DVR_GetLastErrorModelCode(DWORD *pModelCode, DWORD *pMErrDevSelfEx); -NET_DVR_API char* __stdcall NET_DVR_GetErrorMsg(LONG *pErrorNo = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_SetShowMode(DWORD dwShowType,COLORREF colorKey); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, WORD wServerPort, BYTE *sDVRName,WORD wDVRNameLen,BYTE *sDVRSerialNumber,WORD wDVRSerialLen,char* sGetIP); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr_EX(char *sServerIP, WORD wServerPort, BYTE *sDVRName, WORD wDVRNameLen, BYTE *sDVRSerialNumber, WORD wDVRSerialLen, char* sGetIP, DWORD *dwPort); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRNAMEByResolveSvr(char const *sServerIP, WORD wServerPort, char const *sIP, char *sDVRName); - -//Ԥؽӿ -NET_DVR_API LONG __stdcall NET_DVR_PlayDirect(char *sDVRIP, char *sUserName, char *sPassword, \ - LPNET_DVR_CLIENTINFO lpClientInfo, void(CALLBACK *fRealDataCallBack_V30) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL, BOOL bBlocked = FALSE); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay(LONG lUserID,LPNET_DVR_CLIENTINFO lpClientInfo); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_V30(LONG lUserID, LPNET_DVR_CLIENTINFO lpClientInfo, void(CALLBACK *fRealDataCallBack_V30) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL, BOOL bBlocked = FALSE); -NET_DVR_API BOOL __stdcall NET_DVR_StopRealPlay(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_StopPlayDirect(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_RigisterDrawFun(LONG lRealHandle,void (CALLBACK* fDrawFun)(LONG lRealHandle,HDC hDc,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_RigisterDrawFunEx(LONG lRealHandle, void (CALLBACK* fDrawFunEx)(LONG lRealHandle, HDC hDc, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayerBufNumber(LONG lRealHandle,DWORD dwBufNum); -NET_DVR_API BOOL __stdcall NET_DVR_ThrowBFrame(LONG lRealHandle,DWORD dwNum); -NET_DVR_API BOOL __stdcall NET_DVR_SetAudioMode(DWORD dwMode); -NET_DVR_API BOOL __stdcall NET_DVR_OpenSound(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSound(); -NET_DVR_API BOOL __stdcall NET_DVR_OpenSoundShare(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSoundShare(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_Volume(LONG lRealHandle,WORD wVolume); -NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData(LONG lRealHandle,char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopSaveRealData(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBack(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBackEx(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void *pUser),void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetStandardDataCallBack(LONG lRealHandle,void(CALLBACK *fStdDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetStandardDataCallBackEx(LONG lRealHandle,void(CALLBACK *fStdDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void *pUser),void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetTransparentDataCallBack(LONG lRealHandle, void(CALLBACK *fTpDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void *pUser), void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture(LONG lRealHandle,char *sPicFileName);//bmp -NET_DVR_API BOOL __stdcall NET_DVR_SetCapturePictureMode(DWORD dwCaptureMode); - -//̬I֡ -NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrame(LONG lUserID, LONG lChannel);// -NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrameSub(LONG lUserID, LONG lChannel);// - -//̨ؽӿ -NET_DVR_API BOOL __stdcall NET_DVR_PTZControl(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCommand,DWORD dwStop); -NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_Other(LONG lUserID,LONG lChannel,char *pPTZCodeBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex); -NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_Other(LONG lUserID,LONG lChannel,DWORD dwPTZPresetCmd,DWORD dwPresetIndex); -NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_EX(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_EX(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop); -NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_EX(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex); -NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput); -NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput); -NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_EX(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput); -NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack(LONG lRealHandle, DWORD dwPTZTrackCmd); -NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_Other(LONG lUserID, LONG lChannel, DWORD dwPTZTrackCmd); -NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_EX(LONG lRealHandle, DWORD dwPTZTrackCmd); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_Other(LONG lUserID, LONG lChannel, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_EX(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCruise(LONG lUserID,LONG lChannel,LONG lCruiseRoute, LPNET_DVR_CRUISE_RET lpCruiseRet); - - -//ļط -NET_DVR_API LONG __stdcall NET_DVR_FindFile(LONG lUserID,LONG lChannel,DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile(LONG lFindHandle,LPNET_DVR_FIND_DATA lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_Card(LONG lFindHandle, LPNET_DVR_FINDDATA_CARD lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindClose(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V30(LONG lFindHandle, LPNET_DVR_FINDDATA_V30 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V40(LONG lFindHandle, LPNET_DVR_FINDDATA_V40 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V50(LONG lFindHandle, LPNET_DVR_FINDDATA_V50 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_V30(LONG lUserID, LPNET_DVR_FILECOND pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_V50(LONG lUserID, LPNET_DVR_FILECOND_V50 pFindCond); -NET_DVR_API BOOL __stdcall NET_DVR_FindClose_V30(LONG lFindHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_LockFileByName(LONG lUserID, char *sLockFileName); -NET_DVR_API BOOL __stdcall NET_DVR_UnlockFileByName(LONG lUserID, char *sUnlockFileName); -NET_DVR_API BOOL __stdcall NET_DVR_LockFileByNameV40(LONG lUserID, BOOL bLock, const NET_DVR_LOCK_FILE_BY_NAME_PARA *lpLockFilePara); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName(LONG lUserID,char *sPlayBackFileName, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByName(LONG lUserID, char *sPlayBackFileName, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName_V50(LONG lUserID, LPNET_DVR_PLAY_BY_NAME_PARA pParam); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByName_V50(LONG lUserID, LPNET_DVR_PLAY_BY_NAME_PARA pParam); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_PCNVR(LONG lUserID, NET_DVR_PLAYBCK_BYTIME_COND_PCNVR const *pPlaybackParams); - -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl(LONG lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *LPOutValue); -NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBack(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayBackESCallBack(LONG lPlayHandle, void (CALLBACK *fPlayESCallBack)(LONG lPlayHandle, NET_DVR_PACKET_INFO_EX *struPackInfo, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack_V40(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack_V40) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void *pUser),void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackSaveData(LONG lPlayHandle,char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBackSave(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_DVR_TIME lpOsdTime); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackCaptureFile(LONG lPlayHandle,char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByName(LONG lUserID,char *sDVRFileName,char *sSavedFileName); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByName_V50(LONG lUserID, LPNET_DVR_DOWNLOAD_BY_NAME_COND pParam); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopGetFile(LONG lFileHandle); -NET_DVR_API int __stdcall NET_DVR_GetDownloadPos(LONG lFileHandle); -NET_DVR_API int __stdcall NET_DVR_GetPlayBackPos(LONG lPlayHandle); - -// -NET_DVR_API LONG __stdcall NET_DVR_AdapterUpgrade(LONG lUserID, char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_Upgrade(LONG lUserID, char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_VcalibUpgrade(LONG lUserID, LONG lChannel, char const *sFileName); -NET_DVR_API int __stdcall NET_DVR_GetUpgradeState(LONG lUpgradeHandle); -NET_DVR_API int __stdcall NET_DVR_GetUpgradeProgress(LONG lUpgradeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseUpgradeHandle(LONG lUpgradeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetNetworkEnvironment(DWORD dwEnvironmentLevel); -//Զ̸ʽӲ -NET_DVR_API LONG __stdcall NET_DVR_FormatDisk(LONG lUserID,LONG lDiskNumber); -NET_DVR_API LONG __stdcall NET_DVR_FormatDisk_V50(LONG lUserID, NET_DVR_FORMAT_HDD *lpStruHddFormatCond); -NET_DVR_API BOOL __stdcall NET_DVR_GetFormatProgress(LONG lFormatHandle, LONG *pCurrentFormatDisk,LONG *pCurrentDiskPos,LONG *pFormatStatic); -NET_DVR_API BOOL __stdcall NET_DVR_CloseFormatHandle(LONG lFormatHandle); -// -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan(LONG lAlarmHandle); -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V30(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan_V30(LONG lAlarmHandle); -//Խ -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser); -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_V30(LONG lUserID, DWORD dwVoiceChan, BOOL bNeedCBNoEncData, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceComClientVolume(LONG lVoiceComHandle, WORD wVolume); -NET_DVR_API BOOL __stdcall NET_DVR_StopVoiceCom(LONG lVoiceComHandle); -//ת -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser); -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR_V30(LONG lUserID, DWORD dwVoiceChan, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_VoiceComSendData(LONG lVoiceComHandle, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetCurrentAudioCompress(LONG lUserID, LPNET_DVR_COMPRESSION_AUDIO lpCompressAudio); -NET_DVR_API BOOL __stdcall NET_DVR_GetCurrentAudioCompress_V50(LONG lUserID, LPNET_DVR_AUDIO_CHANNEL lpAudioChannel, LPNET_DVR_COMPRESSION_AUDIO lpCompressAudio); -//㲥 -NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart(); -NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart_V30(void(CALLBACK *fVoiceDataCallBack)(char *pRecvDataBuffer, DWORD dwBufSize, void * pUser), void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStop(); -NET_DVR_API BOOL __stdcall NET_DVR_AddDVR(LONG lUserID); -NET_DVR_API LONG __stdcall NET_DVR_AddDVR_V30(LONG lUserID, DWORD dwVoiceChan); -NET_DVR_API BOOL __stdcall NET_DVR_DelDVR(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_DelDVR_V30(LONG lVoiceHandle); -//͸ͨ -NET_DVR_API LONG __stdcall NET_DVR_SerialStart(LONG lUserID,LONG lSerialPort,void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -//485Ϊ͸ͨʱҪָͨţΪͬͨ485ÿԲͬ(粨) -NET_DVR_API LONG __stdcall NET_DVR_SerialStart_V40(LONG lUserID,void* lpInBuffer, LONG dwInBufferSize, void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle, LONG lCHannel, char *pRecvDataBuffer, DWORD dwBufSize, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SerialSend(LONG lSerialHandle, LONG lChannel, char *pSendBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_SerialStop(LONG lSerialHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SendTo232Port(LONG lUserID, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_SendToSerialPort(LONG lUserID, DWORD dwSerialPort, DWORD dwSerialIndex, char *pSendBuf, DWORD dwBufSize); - -#if (!defined __linux__) && (!defined _WIN64) -//Decoding nBitrate = 16000 -NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(int nBitrate = 16000); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *pDecHandle, BYTE* pInBuffer, BYTE* pOutBuffer); -//Encoding -NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder(); -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *pEncodeHandle, BYTE* pInBuffer, BYTE* pOutBuffer); -#elif ((defined __linux__) || (defined _WIN64)) -NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *handle, NET_DVR_AUDIODEC_PROCESS_PARAM * param); -//Encoding -NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder(NET_DVR_AUDIOENC_INFO* enc_info); -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *handle, NET_DVR_AUDIOENC_PROCESS_PARAM* param); -#endif // _WIN32 -NET_DVR_API void __stdcall NET_DVR_ReleaseG722Decoder(void *pDecHandle); -NET_DVR_API void __stdcall NET_DVR_ReleaseG722Encoder(void *pEncodeHandle); - -// -NET_DVR_API void* __stdcall NET_DVR_InitG726Decoder(void** pDecMoudle); -NET_DVR_API void __stdcall NET_DVR_ReleaseG726Decoder(void *pDecHandle); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG726Frame(void *pDecMoudle, BYTE* pInBuffer, BYTE* pOutBuffer, BYTE byReset); - -// -NET_DVR_API void* __stdcall NET_DVR_InitG726Encoder(void** pEncMoudle); -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG726Frame(void *pEncMoudle, BYTE* pInBuffer, BYTE* pOutBuffer, BYTE byReset); -NET_DVR_API void __stdcall NET_DVR_ReleaseG726Encoder(void *pEncHandle); - -//Զ̿Ʊʾ -NET_DVR_API BOOL __stdcall NET_DVR_ClickKey(LONG lUserID, LONG lKeyIndex); - -NET_DVR_API BOOL __stdcall NET_DVR_DoorBellControl(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_Preview(LONG lUserID, LONG lPicNum); -NET_DVR_API BOOL __stdcall NET_DVR_PreviewOne(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackByNameLocDisplay(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackByTimeLocDisplay(LONG lUserID, LONG lChannel, NET_DVR_TIME const *lpStartTime, NET_DVR_TIME const *lpStopTime); -NET_DVR_API BOOL __stdcall NET_DVR_StopLocDisplayPlay(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_PlayControlLocDisplay(LONG lUserID, DWORD dwControlCode); -//Զ̿豸ֶ¼ -NET_DVR_API BOOL __stdcall NET_DVR_StartDVRRecord(LONG lUserID,LONG lChannel,LONG lRecordType); -NET_DVR_API BOOL __stdcall NET_DVR_StopDVRRecord(LONG lUserID,LONG lChannel); -//뿨 -NET_DVR_API BOOL __stdcall NET_DVR_InitDevice_Card(long *pDeviceTotalChan); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDevice_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_InitDDraw_Card(HWND hParent,COLORREF colorKey); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDraw_Card(); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_Card(LONG lUserID,LPNET_DVR_CARDINFO lpCardInfo,long lChannelNum); -NET_DVR_API BOOL __stdcall NET_DVR_ResetPara_Card(LONG lRealHandle,LPNET_DVR_DISPLAY_PARA lpDisplayPara); -NET_DVR_API BOOL __stdcall NET_DVR_RefreshSurface_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_ClearSurface_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_RestoreSurface_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_OpenSound_Card(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSound_Card(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetVolume_Card(LONG lRealHandle,WORD wVolume); -NET_DVR_API BOOL __stdcall NET_DVR_AudioPreview_Card(LONG lRealHandle,BOOL bEnable); -NET_DVR_API LONG __stdcall NET_DVR_GetCardLastError_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_SetDspErrMsg_Card(DWORD dwMessage, HANDLE hWnd); -NET_DVR_API BOOL __stdcall NET_DVR_ResetDSP_Card(LONG iChannelNum); -NET_DVR_API HANDLE __stdcall NET_DVR_GetChanHandle_Card(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture_Card(LONG lRealHandle, char *sPicFileName); -NET_DVR_API BOOL __stdcall NET_DVR_GetSerialNum_Card(long lChannelNum,DWORD *pDeviceSerialNo); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog(LONG lUserID, LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog(LONG lLogHandle, LPNET_DVR_LOG lpLogData); -NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose(LONG lLogHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_V30(LONG lUserID, LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, BOOL bOnlySmart = FALSE); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_V30(LONG lLogHandle, LPNET_DVR_LOG_V30 lpLogData); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_V50(LONG lUserID, LPNET_DVR_FIND_LOG_COND pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_V50(LONG lLogHandle, LPNET_DVR_LOG_V50 lpLogData); -NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose_V30(LONG lLogHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindAlarmHostLog(LONG lUserID, LONG lSelectMode, NET_DVR_ALARMHOST_SEARCH_LOG_PARAM *lpSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextAlarmHostLog(LONG lFindHandle, NET_DVR_ALARMHOST_LOG_RET *lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindAlarmHostLogClose(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_PCNVR(LONG lUserID, LPNET_DVR_FILE_COND_PCNVR const pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_PCNVR(LONG lFindHandle, LPNET_DVR_FINDDATA_PCNVR lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindClose_PCNVR(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindFileByCard(LONG lUserID,LONG lChannel,DWORD dwFileType, int nFindType, BYTE *sCardNumber, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sPicFileName); -NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture_NEW(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sJpegPicBuffer, DWORD dwPicSize, LPDWORD lpSizeReturned); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture_V50(LONG lUserID, LONG lChannel, LPNET_DVR_PICPARAM_V50 lpPicParam, char *sPicBuffer, DWORD dwPicSize, LPDWORD lpSizeReturned); -NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture_WithAppendData(LONG lUserID, LONG lChannel, NET_DVR_JPEGPICTURE_WITH_APPENDDATA *lpJpegWithAppend); -NET_DVR_API BOOL __stdcall NET_DVR_GetRealPlayOsdTime(LONG iRealHandle, LPNET_DVR_TIME lpOsdTime); -NET_DVR_API BOOL __stdcall NET_DVR_RealPlayPause(LONG iRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_RealPlayRestart(LONG iRealHandle, HWND hPlayWnd); -NET_DVR_API int __stdcall NET_DVR_GetRealPlayerIndex(LONG lRealHandle); -NET_DVR_API int __stdcall NET_DVR_GetPlayBackPlayerIndex(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG(LONG lUserID, DWORD dwScale); -NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG(LONG lUserID, DWORD *lpOutScale); -NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG_V30(LONG lUserID, LPNET_DVR_SCALECFG pScalecfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG_V30(LONG lUserID, LPNET_DVR_SCALECFG pScalecfg); -NET_DVR_API BOOL __stdcall NET_DVR_SetATMPortCFG(LONG lUserID, WORD wATMPort); -NET_DVR_API BOOL __stdcall NET_DVR_GetATMPortCFG(LONG lUserID, WORD *LPOutATMPort); -NET_DVR_API BOOL __stdcall NET_DVR_InitDDrawDevice(); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDrawDevice(); -NET_DVR_API LONG __stdcall NET_DVR_GetDDrawDeviceTotalNums(); -NET_DVR_API BOOL __stdcall NET_DVR_SetDDrawDevice(LONG lPlayPort, DWORD nDeviceNum); - -NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn(LONG lRealHandle, LPNET_DVR_POINT_FRAME pStruPointFrame); -NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn_EX(LONG lUserID, LONG lChannel, LPNET_DVR_POINT_FRAME pStruPointFrame); -NET_DVR_API BOOL __stdcall NET_DVR_StartDecode(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERINFO lpDecoderinfo); -NET_DVR_API BOOL __stdcall NET_DVR_StopDecode(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecoderState(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERSTATE lpDecoderState); -NET_DVR_API BOOL __stdcall NET_DVR_SetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo); -NET_DVR_API BOOL __stdcall NET_DVR_SetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort); -NET_DVR_API BOOL __stdcall NET_DVR_DecPlayBackCtrl(LONG lUserID, LONG lChannel, DWORD dwControlCode, DWORD dwInValue,DWORD *LPOutValue, LPNET_DVR_PLAYREMOTEFILE lpRemoteFileInfo); -NET_DVR_API BOOL __stdcall NET_DVR_StartDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo); -NET_DVR_API BOOL __stdcall NET_DVR_StopDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo); -NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlDec(LONG lUserID, LONG lChannel, DWORD dwControlCode); -NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlScreen(LONG lUserID, LONG lChannel, DWORD dwControl); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecCurLinkStatus(LONG lUserID, LONG lChannel, LPNET_DVR_DECSTATUS lpDecStatus); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStopDynamic(LONG lUserID, DWORD dwDecChanNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecEnable(LONG lUserID, LPDWORD lpdwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_STATUS lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetVideoStandard(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwVideoStandard); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetVideoStandard(LONG lUserID, DWORD dwDecChanNum, DWORD dwVideoStandard); - -//2007-12-22 ֽ֧ӿ -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetTranInfo(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTranInfo(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlay(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlayControl(LONG lUserID, DWORD dwDecChanNum, DWORD dwControlCode, DWORD dwInValue, DWORD *LPOutValue); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetRemotePlayStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter); -//2009-4-13 -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PU_STREAM_CFG lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetTranInfo_V30(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTranInfo_V30(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDisplayCfg(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDisplayCfg(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG lpDisplayCfg); - -NET_DVR_API LONG __stdcall NET_DVR_MatrixStartPassiveDecode(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_PASSIVEMODE lpPassiveMode /*, void(CALLBACK *fPassiveDataCallBack)(LONG lPassiveHandle, char * pSendBuf, DWORD dwBufSize, DWORD dwStatus, DWORD dwUser), DWORD dwUser*/); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSendData(LONG lPassiveHandle, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStopPassiveDecode(LONG lPassiveHandle); -NET_DVR_API BOOL __stdcall NET_DVR_UploadLogo(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_DISP_LOGOCFG lpDispLogoCfg, char *sLogoBuffer); -#define NET_DVR_SHOWLOGO 1 /*ʾLOGO*/ -#define NET_DVR_HIDELOGO 2 /*LOGO*/ -NET_DVR_API BOOL __stdcall NET_DVR_LogoSwitch(LONG lUserID, DWORD dwDecChan, DWORD dwLogoSwitch); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDeviceStatus(LONG lUserID, LPNET_DVR_DECODER_WORK_STATUS lpDecoderCfg); - -#define DISP_CMD_ENLARGE_WINDOW 1 /*ʾͨŴij*/ -#define DISP_CMD_RENEW_WINDOW 2 /*ʾͨڻԭ*/ -#define DISP_CMD_OPENAUDIO 3 /*ʾͨƵ*/ -#define DISP_CMD_CLOSEAUDIO 4 /*ʾͨرƵ*/ - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDiaplayControl(LONG lUserID, DWORD dwDispChanNum, DWORD dwDispChanCmd, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixPassiveDecodeControl(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PASSIVEDECODE_CONTROL lpInter); -NET_DVR_API LONG __stdcall NET_DVR_MatrixGetPassiveDecodeStatus(LONG lPassiveHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanCfg(LONG lUserID, DWORD dwDecChan, LPNET_DVR_MATRIX_DECCHAN_CONTROL lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDecChanCfg(LONG lUserID, DWORD dwDecChan, LPNET_DVR_MATRIX_DECCHAN_CONTROL lpInter); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_NEW(LONG lUserID, LONG lChannel, NET_DVR_TIME const *lpStartTime, NET_DVR_TIME const *lpStopTime, LONG lLongitude, LONG lLatitude, HWND hWnd); -NET_DVR_API BOOL __stdcall NET_DVR_RefreshPlay(LONG lPlayHandle); - -//ָĬֵ -NET_DVR_API BOOL __stdcall NET_DVR_RestoreConfig(LONG lUserID); -// -NET_DVR_API BOOL __stdcall NET_DVR_SaveConfig(LONG lUserID); -// -NET_DVR_API BOOL __stdcall NET_DVR_RebootDVR(LONG lUserID); -//رDVR -NET_DVR_API BOOL __stdcall NET_DVR_ShutDownDVR(LONG lUserID); - -// begin -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpOutBuffer, DWORD dwOutBufferSize, LPDWORD lpBytesReturned); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState_V30(LONG lUserID, LPNET_DVR_WORKSTATE_V30 lpWorkState); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState(LONG lUserID, LPNET_DVR_WORKSTATE lpWorkState); -NET_DVR_API BOOL __stdcall NET_DVR_SetVideoEffect(LONG lUserID, LONG lChannel, DWORD dwBrightValue, DWORD dwContrastValue, DWORD dwSaturationValue, DWORD dwHueValue); -NET_DVR_API BOOL __stdcall NET_DVR_GetVideoEffect(LONG lUserID, LONG lChannel, DWORD *pBrightValue, DWORD *pContrastValue, DWORD *pSaturationValue, DWORD *pHueValue); -NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat_V30(LONG lUserID, LPNET_DVR_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat_V30(LONG lUserID, LPNET_DVR_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_GetAtmFrameFormat_V30(LONG lUserID, LONG lAtmChannel, LPNET_DVR_ATM_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_SetAtmFrameFormat_V30(LONG lUserID, LONG lAtmChannel, LPNET_DVR_ATM_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_GetAtmProtocol(LONG lUserID, LPNET_DVR_ATM_PROTOCOL lpAtmProtocol); -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut_V30(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS_V30 lpAlarmOutState); -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmOut(LONG lUserID, LONG lAlarmOutPort,LONG lAlarmOutStatic); - -//Ƶ -NET_DVR_API BOOL __stdcall NET_DVR_ClientSetVideoEffect(LONG lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue); -NET_DVR_API BOOL __stdcall NET_DVR_ClientGetVideoEffect(LONG lRealHandle,DWORD *pBrightValue,DWORD *pContrastValue, DWORD *pSaturationValue,DWORD *pHueValue); - -//ļ -NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_V30(LONG lUserID, char *sOutBuffer, DWORD dwOutSize, DWORD *pReturnSize); - -NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_EX(LONG lUserID, char *sOutBuffer, DWORD dwOutSize); -NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile_EX(LONG lUserID, char *sInBuffer, DWORD dwInSize); - -//־ļдӿ -NET_DVR_API BOOL __stdcall NET_DVR_SetLogToFile(DWORD nLogLevel = 0, char * strLogDir = NULL, BOOL bAutoDel = TRUE); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKState(LPNET_DVR_SDKSTATE pSDKState); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKAbility(LPNET_DVR_SDKABL pSDKAbl); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZProtocol(LONG lUserID, NET_DVR_PTZCFG *pPtzcfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCtrl_Other(LONG iUserID, LONG iChannel); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCtrl(LONG iRealHandle); -//ǰ -NET_DVR_API BOOL __stdcall NET_DVR_LockPanel(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_UnLockPanel(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_StartPanelKey(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_StopPanelKey(LONG lUserID); - -NET_DVR_API BOOL __stdcall NET_DVR_SetRtspConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_RTSPCFG lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetRtspConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_RTSPCFG lpOutBuffer, DWORD dwOutBufferSize); - -//ȡ -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceAbility(LONG lUserID, DWORD dwAbilityType, char* pInBuf, DWORD dwInLength, char* pOutBuf, DWORD dwOutLength); -NET_DVR_API BOOL __stdcall NET_DVR_SetSimAbilityPath(char * szSimAbilityPath, char *szSDCard); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubSystemInfo(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetSubSystemInfo(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetCodeSplitter(LONG lUserID, DWORD dwCodeChan, LPNET_DVR_CODESPLITTERINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetCodeSplitter(LONG lUserID, DWORD dwCodeChan, LPNET_DVR_CODESPLITTERINFO lpInter); - -// -///ȡؼ -NET_DVR_API BOOL __stdcall NET_DVR_SetBehaviorParamKey(LONG lUserID, LONG lChannel, DWORD dwParameterKey,int nValue); -NET_DVR_API BOOL __stdcall NET_DVR_GetBehaviorParamKey(LONG lUserID, LONG lChannel, DWORD dwParameterKey,int *pValue); - -//ȡ/쳣ΪĿӽӿ -NET_DVR_API BOOL __stdcall NET_DVR_GetVCADrawMode(LONG lUserID, LONG lChannel, LPNET_VCA_DRAW_MODE lpDrawMode); - - - -NET_DVR_API BOOL __stdcall NET_DVR_SetVCADrawMode(LONG lUserID, LONG lChannel, LPNET_VCA_DRAW_MODE lpDrawMode); - -//ģʽýӿ -NET_DVR_API BOOL __stdcall NET_DVR_SetTrackMode(LONG lUserID, LONG lChannel, LPNET_DVR_TRACK_MODE lpTrackMode); -NET_DVR_API BOOL __stdcall NET_DVR_GetTrackMode(LONG lUserID, LONG lChannel, LPNET_DVR_TRACK_MODE lpTrackMode); - -//ܿ -NET_DVR_API BOOL __stdcall NET_VCA_RestartLib(LONG lUserID, LONG lChannel); - -NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData_V30(LONG lRealHandle, DWORD dwTransType, char *sFileName); - -#if ((!defined __linux__) && (!defined _WIN64)) -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG711Frame(DWORD iType, BYTE *pInBuffer, BYTE *pOutBuffer); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG711Frame(DWORD iType, BYTE *pInBuffer, BYTE *pOutBuffer); -#elif ((defined __linux__) || (defined _WIN64)) -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG711Frame(LPVOID handle, NET_DVR_AUDIOENC_PROCESS_PARAM *p_enc_proc_param); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG711Frame(LPVOID handle, NET_DVR_AUDIODEC_PROCESS_PARAM *p_dec_proc_param); -NET_DVR_API LPVOID __stdcall NET_DVR_InitG711Decoder(); -NET_DVR_API LPVOID __stdcall NET_DVR_InitG711Encoder(NET_DVR_AUDIOENC_INFO *enc_info); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseG711Encoder(LPVOID pEncodeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseG711Decoder(LPVOID pDecHandle); -#endif //(defined _WIN32) - -NET_DVR_API LONG __stdcall NET_DVR_FindFileByEvent(LONG lUserID, LPNET_DVR_SEARCH_EVENT_PARAM lpSearchEventParam); -NET_DVR_API LONG __stdcall NET_DVR_FindFileByEvent_V40(LONG lUserID, LPNET_DVR_SEARCH_EVENT_PARAM_V40 lpSearchEventParam); -NET_DVR_API LONG __stdcall NET_DVR_FindFileByEvent_V50(LONG lUserID, LPNET_DVR_SEARCH_EVENT_PARAM_V50 lpSearchEventParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextEvent(LONG lSearchHandle, LPNET_DVR_SEARCH_EVENT_RET lpSearchEventRet); -NET_DVR_API LONG __stdcall NET_DVR_FindNextEvent_V40(LONG lSearchHandle, LPNET_DVR_SEARCH_EVENT_RET_V40 lpSearchEventRet); -NET_DVR_API LONG __stdcall NET_DVR_FindNextEvent_V50(LONG lFindHandle, LPNET_DVR_SEARCH_EVENT_RET_V50 lpSearchEventRet); -//ֹͣ NET_DVR_FindClose - -NET_DVR_API LONG __stdcall NET_DVR_FindPDCInfo(LONG lUserID, LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPDCInfo(LONG lFindHandle,LPNET_DVR_PDC_QUERY lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindPDCClose(LONG lFindHandle); - -// 궨У -#define NET_DVR_PDC_VERIFY_CALIBRATION 1 //ֵΪ1ΪPDC궨У pdcֵΪNET_VCA_POINT ֵΪ NET_VCA_RECTṹ -#define NET_DVR_VERIFY_BEHAVIOR_CALIBRATION 2 // 쳣Ϊ궨У -#define NET_DVR_VERIFY_ITS_CALIBRATION 3 // ܽͨ궨У -#define NET_DVR_VERIFY_BV_CALIBRATION 5 //˫Ŀ궨У - -NET_DVR_API BOOL __stdcall NET_DVR_VerifyCalibration(LONG lUserID, DWORD dwCommand, LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpOuterBuffer, DWORD dwOuterBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_ResetCounter(LONG lUserID,LONG lChannel); - -NET_DVR_API BOOL __stdcall NET_DVR_GetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API BOOL __stdcall NET_DVR_GetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_MATRIX(LONG lLogHandle, LPNET_DVR_LOG_MATRIX lpLogData); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_Matrix(LONG lUserID, LONG lSelectMode, DWORD dwMajorType, DWORD dwMinorType, LPNET_DVR_VEDIOPLATLOG lpVedioPlatLog, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); - -NET_DVR_API BOOL __stdcall NET_DVR_ManualSnap(LONG lUserID, NET_DVR_MANUALSNAP const* lpInter, LPNET_DVR_PLATE_RESULT lpOuter); -NET_DVR_API BOOL __stdcall NET_DVR_ContinuousShoot(LONG lUserID, LPNET_DVR_SNAPCFG lpInter); - -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZProtocol_Ex(LONG lUserID, LONG lChannel, NET_DVR_PTZCFG *pPtzcfg); - -NET_DVR_API LONG __stdcall NET_DVR_StartEmailTest(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_StopEmailTest(LONG lEmailTestHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetEmailTestProgress(LONG lEmailTestHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_GetIPCProtoList(LONG lUserID, LPNET_DVR_IPC_PROTO_LIST lpProtoList); -NET_DVR_API BOOL __stdcall NET_DVR_GetIPCProtoList_V41(LONG lUserID, LPNET_DVR_IPC_PROTO_LIST_V41 lpProtoList); -NET_DVR_API LONG __stdcall NET_DVR_SmartSearch(LONG lUserID, LPNET_DVR_SMART_SEARCH_PARAM lpSmartSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_SmartSearch_V40(LONG lUserID, LPNET_DVR_SMART_SEARCH_PARAM_V40 lpSmartSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_SearchNextInfo(LONG lSearchHandle, LPNET_DVR_SMART_SEARCH_RET lpSmartSearchRet); -NET_DVR_API BOOL __stdcall NET_DVR_StopSearch(LONG lSearchHandle); - -// IP San ļĿ¼ -NET_DVR_API LONG __stdcall NET_DVR_FindIpSanDirectory(LONG lUserID, LPNET_DVR_IPSAN_SERACH_PARAM lpIpsanSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextDirectory(LONG lFindHandle, LPNET_DVR_IPSAN_SERACH_RET lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindDirectoryClose(LONG lFindHandle); - -typedef void (CALLBACK *REALDATACALLBACK) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser); - -NET_DVR_API LONG __stdcall NET_DVR_ZeroStartPlay(LONG lUserID, LPNET_DVR_CLIENTINFO lpClientInfo, REALDATACALLBACK fRealDataCallBack_V30 = NULL, void* pUser = NULL, BOOL bBlocked = TRUE); - -NET_DVR_API BOOL __stdcall NET_DVR_ZeroStopPlay(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_ZeroMakeKeyFrame(LONG lUserID, LONG lZeroChan); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl_V40(LONG lPlayHandle,DWORD dwControlCode, LPVOID lpInBuffer = NULL, DWORD dwInLen = 0, LPVOID lpOutBuffer = NULL, DWORD *lpOutLen = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_ZeroTurnOver(LONG lUserID, LONG lChannel, BOOL bNextPreview); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_Card_V30(LONG lUserID, NET_DVR_CARDINFO const *lpCardInfo, LONG lChannelNum, DWORD dwMode, BOOL bBlock, REALDATACALLBACK fRealDataCallBack_V30, void* pUser); - - -NET_DVR_API BOOL __stdcall NET_DVR_GetDiskList(LONG lUserID, LPNET_DVR_DISKABILITY_LIST lpDiskList); -NET_DVR_API LONG __stdcall NET_DVR_Backup(LONG lUserID, DWORD dwBackupType, LPVOID lpBackupBuff, DWORD dwBackupBuffSize); -NET_DVR_API LONG __stdcall NET_DVR_BackupByName(LONG lUserID, LPNET_DVR_BACKUP_NAME_PARAM lpBackupByName); -NET_DVR_API LONG __stdcall NET_DVR_BackupByTime(LONG lUserID, LPNET_DVR_BACKUP_TIME_PARAM lpBackupBytime); -NET_DVR_API BOOL __stdcall NET_DVR_GetBackupProgress(LONG lHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_StopBackup(LONG lHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_GetSadpInfoList(LONG lUserID, LPNET_DVR_SADPINFO_LIST lpSadpInfoList); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateSadpInfo(LONG lUserID, LPNET_DVR_SADP_VERIFY lpSadpVerify, LPNET_DVR_SADPINFO lpSadpInfo); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubDecSystemJoinInfo(LONG lUserID, LPNET_DVR_ALLDECSUBSYSTEMJOININFO lpInter); - -NET_DVR_API BOOL __stdcall NET_DVR_SetCodeSplitterAssociate(LONG lUserID, DWORD dwDecoderChan, DWORD dwSlotNum, LPNET_DVR_CODESPLITTERASSOCIATE lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_GetCodeSplitterAssociate(LONG lUserID, DWORD dwDecoderChan, DWORD dwSlotNum, LPNET_DVR_CODESPLITTERASSOCIATE lpInter); - -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetCDRWScheme(LONG lUserID, LPNET_DVR_INQUEST_CDRW_CFG lpCDRWCfg); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetCDRWScheme(LONG lUserID, LPNET_DVR_INQUEST_CDRW_CFG lpCDRWCfg); -NET_DVR_API BOOL __stdcall NET_DVR_InquestDeleteFile(LONG lUserID, LPNET_DVR_INQUEST_FILES lpDeleteFile); -NET_DVR_API BOOL __stdcall NET_DVR_InquestCDWByFile(LONG lUserID, LPNET_DVR_INQUEST_FILES lpCdrwFile); -NET_DVR_API LONG __stdcall NET_DVR_InquestUploadFile(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_InquestUploadClose(LONG lUploadHandle); -NET_DVR_API LONG __stdcall NET_DVR_InquestGetUploadState(LONG lUploadHandle, LPDWORD pProgress); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStartCDW( LONG lUserID, BOOL bPause); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStopCDW(LONG lUserID, BOOL bCancelWrite); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetCDWState(LONG lUserID, LPNET_DVR_INQUEST_CDRW_STATUS pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetPIPStatus(LONG lUserID, LPNET_DVR_INQUEST_PIP_STATUS pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetPIPStatus(LONG lUserID, LPNET_DVR_INQUEST_PIP_STATUS pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestCheckSecretKey(LONG lUserID, BOOL *bSecretSet); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetSecretKey(LONG lUserID, LPNET_DVR_INQUEST_SECRET_INFO pSecretInfo); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStreamEncrypt(LONG lUserID, LONG lChannel, BOOL bEncrypt); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetEncryptState(LONG lUserID, LONG lChannel, BOOL *bEncrypt); -NET_DVR_API LONG __stdcall NET_DVR_InquestFindFile(LONG lUserID); -NET_DVR_API LONG __stdcall NET_DVR_InquestFindNextFile(LONG lFindHandle, LPNET_DVR_INQUEST_FILEINFO lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_InquestFindClose(LONG lFindHandle); - -// 9000RH -NET_DVR_API LONG __stdcall NET_DVR_RaidFastConfig(LONG lUserID, char *sName); -NET_DVR_API BOOL __stdcall NET_DVR_FastConfigProcess(LONG lHandle, DWORD *pState); -NET_DVR_API BOOL __stdcall NET_DVR_CloseFastConfig(LONG lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetArraySpaceAlloc(LONG lUserID, DWORD dwSlot, LPNET_DVR_ARRAY_SPACE_ALLOC_INFO lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_DelArray(LONG lUserID, DWORD dwID); -NET_DVR_API BOOL __stdcall NET_DVR_CreateArray(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam); -NET_DVR_API BOOL __stdcall NET_DVR_CalcArraySize(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam, UINT64* lpArraySize); -NET_DVR_API BOOL __stdcall NET_DVR_MigrateArray(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam); -NET_DVR_API BOOL __stdcall NET_DVR_RebuildArray(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam); -NET_DVR_API BOOL __stdcall NET_DVR_CreateVD(LONG lUserID, LPNET_DVR_OPERATE_VD_PARAM lpVDParam); -NET_DVR_API BOOL __stdcall NET_DVR_CreateVDEx(LONG lUserID, LPNET_DVR_OPERATE_VD_PARAM_EX lpVDParamEx); -NET_DVR_API BOOL __stdcall NET_DVR_DelVD(LONG lUserID, DWORD dwID); -NET_DVR_API BOOL __stdcall NET_DVR_RepairVD(LONG lUserID, DWORD dwID); -NET_DVR_API BOOL __stdcall NET_DVR_SetSpareDisk(LONG lUserID, LPNET_DVR_SPARE_DISK_PARAM lpSpareDisk); -NET_DVR_API BOOL __stdcall NET_DVR_GetPDList(LONG lUserID, LPNET_DVR_PHY_DISK_LIST lpPDList); -NET_DVR_API BOOL __stdcall NET_DVR_GetArrayList(LONG lUserID, LPNET_DVR_ARRAY_LIST lpArrayList); -NET_DVR_API BOOL __stdcall NET_DVR_GetVDList(LONG lUserID, LPNET_DVR_VD_LIST lpVDList); -NET_DVR_API LONG __stdcall NET_DVR_ExpandDisk(LONG lUserID,DWORD dwVDSLot); -NET_DVR_API BOOL __stdcall NET_DVR_GetExpandProgress(LONG lExpandHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_CloseExpandHandle(LONG lExpandHandle); -NET_DVR_API LONG __stdcall NET_DVR_AlgoDebugStart(LONG lUserID, LONG lCHannel, void(CALLBACK *fAlgoLibInfoCallBack)(LONG lHandle, LONG lChannel,char *pRecvDataBuffer, DWORD dwBufSize, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_AlgoDebugSend(LONG lHandle, LONG lChannel, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_AlgoDebugStop(LONG lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetLogPrint(BOOL bLogPrint); -NET_DVR_API BOOL __stdcall NET_DVR_SetLogPrintAction(DWORD nLogLevel, DWORD nToDevice, BOOL bEnable, int Reserve1, int Reserve2); - -NET_DVR_API BOOL __stdcall NET_DVR_GetPositionRule(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_GetPositionRule_V41(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG_V41 lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_SetPositionRule(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_SetPositionRule_V41(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG_V41 lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_SetPositionLimitAngle(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPositionLimitAngle(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API BOOL __stdcall NET_DVR_GetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API BOOL __stdcall NET_DVR_SetPatrolLimitAngle(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPatrolLimitAngle(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_SetSceneMode(LONG lUserID, LONG lChannel, DWORD dwSceneMode); -NET_DVR_API BOOL __stdcall NET_DVR_GetSceneMode(LONG lUserID, LONG lChannel, DWORD *pSceneMode); -NET_DVR_API BOOL __stdcall NET_DVR_GetVCAVersion(LONG lUserID, LONG lChannel, LPNET_DVR_VCA_VERSION lpVersion); - -NET_DVR_API BOOL __stdcall NET_DVR_ContinuousShoot(LONG lUserID, LPNET_DVR_SNAPCFG lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixPicAdjust(LONG lUserID, DWORD dwDispChan, DWORD dwPicAdjust, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmJoinedRecord(LONG lUserID, DWORD dwChan, DWORD dwAlarmSeq, DWORD dwRecordTime, DWORD dwRes); -NET_DVR_API BOOL __stdcall NET_DVR_GetUnitedMatrixInfo(LONG lUserID, LPNET_DVR_UNITEDMATRIXINFO lpInter); -typedef LONG(CALLBACK * REGCallBack)(LONG lUserID, LPNET_DVR_REGCALLBACKPARAM pRegCallbackParam, LPNET_DVR_LOGONREPONSEPARAM pInterParam, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetRegisterCallBack(REGCallBack fRegCallBack, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_PreviewRequest(LONG lUserID, LONG lChannel, LPNET_DVR_PREVIEWPARAM lpPreviewParam, LPNET_DVR_DEVICENATINFO lpOuter); -typedef LONG(CALLBACK * PREVIEWRESPONSECallBack)(LONG lUserID, LONG lStreamHandle, LPNET_DVR_PREVIEWCALLBACKPARAM pPewviewCallbackParam,void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPreviewResponseCallBack(PREVIEWRESPONSECallBack fPreviewResponseCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_PlaybackRequest(LONG lUserID, LPNET_DVR_PLAYBACKREQUESTPARAM lpPlayBackRequestParam); -typedef LONG(CALLBACK * PLAYBACKRESPONSECallBack)(LONG lUserID, LONG lPlaybackHandle, LPNET_DVR_PLAYBACKCALLBACKPARAM lpPlaybackParam,void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlaybackResponseCallBack(PLAYBACKRESPONSECallBack fPlaybackResponseCallBack, void *pUser); -typedef LONG(CALLBACK * VOICERESPONSECallBack)(LONG lUserID, LONG lVoiceHandle, LONG lVoiceChannel, BYTE nAudioType, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceResponseCallBack(VOICERESPONSECallBack fVoiceResponseCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_VoiceRequest(LONG lUserID, LPNET_DVR_VOICEREQUESTPARAM lpVoiceParam); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmSetupRequest(LONG lUserID, LPNET_DVR_ALARMSETUPREQUESTPARAM lpAlarmSetupParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetDialParam(LONG lUserID, LPNET_DVR_DIALREQUEST lpDialRequest, LPNET_DVR_DIALPARAM lpDialParam); -NET_DVR_API BOOL __stdcall NET_DVR_SetDialParam(LONG lUserID, LPNET_DVR_DIALREQUEST lpDialRequest, LPNET_DVR_DIALPARAM lpDialParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetSmsListInfo(LONG lUserID, LPNET_DVR_TIME_EX lpStartTime, LPNET_DVR_TIME_EX lpStopTime, LPNET_DVR_SMSLISTINFO lpSmsListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetSmsContent(LONG lUserID, DWORD dwSmsIndex, LPNET_DVR_SMSCONTENT lpSmsContent); -NET_DVR_API BOOL __stdcall NET_DVR_SendSms(LONG lUserID, LPNET_DVR_SMSCONTENT lpSmsContent); -NET_DVR_API LONG __stdcall NET_DVR_StartServer(char *sLocalIP, WORD wLocalPort, BYTE byMode); -NET_DVR_API BOOL __stdcall NET_DVR_StopServer(LONG lServerHandle); -NET_DVR_API LONG __stdcall NET_DVR_StartRecvNakedDataListen(NAKED_DATA_TYPE type, LPNET_DVR_NAKED_DATA_PARAM pParams); -NET_DVR_API BOOL __stdcall NET_DVR_StopRecvNakedDataListen(LONG lNakedDataRecvHandle); -typedef void(CALLBACK * NAKEDDAtACALLBACK)(DWORD typeInfo, char *pInfo, DWORD dwInfoLen,DWORD dwIPLen, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetNakedDataRecvCallBack(LONG lNakedDataRecvHandle, void(CALLBACK *fNakedDataCallBack)(DWORD dwTypeInfo, NET_DVR_NAKED_DATA_INFO *pStruNakedDataInfo, char *pInfo, DWORD dwInfoLen, void* pUser), void* pUser); - -typedef LONG(CALLBACK * ALARMSETUPRESPONSECallBack)(LONG lUserID, LONG lAlarmHandle, void * pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmSetupResponseCallBack(ALARMSETUPRESPONSECallBack fAlarmSetupResponseCallBack, void * pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SpringJPEGPicture(LONG lUserID, LONG lChannel, NET_DVR_PUSHJPEGPARA const *lpJpegPara); -NET_DVR_API BOOL __stdcall NET_DVR_SetPushModeParam(LPNET_DVR_PUSHMODEPARAM pPushParam); - -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSetupAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostCloseAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_BypassAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_UnBypassAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostAssistantControl(LONG lUserID, DWORD dwType, DWORD dwNumber, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_SetAirCondition(LONG lUserID, LONG l485Index, NET_DVR_AIR_CONDITION_PARAM* lpAirConditionParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetAirCondition(LONG lUserID, LONG l485Index, NET_DVR_AIR_CONDITION_PARAM* lpAirConditionParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceTypeList(LONG lUserID, NET_DVR_DEVICE_TYPE_LIST *lpDeviceTypeList); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceProtoList(LONG lUserID, LONG lDeviceType, NET_DVR_DEVICE_PROTO_LIST *lpDeviceProtoList); -NET_DVR_API BOOL __stdcall NET_DVR_GetBatteryVoltage(LONG lUserID, float *pVoltage); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmDeviceUser(LONG lUserID, LONG lUserIndex, NET_DVR_ALARM_DEVICE_USER* lpDeviceUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmDeviceUser(LONG lUserID, LONG lUserIndex, NET_DVR_ALARM_DEVICE_USER* lpDeviceUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetKeyboardUser(LONG lUserID, LONG lUserIndex, NET_DVR_KEYBOARD_USER* lpKeyboardUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetKeyboardUser(LONG lUserID, LONG lUserIndex, NET_DVR_KEYBOARD_USER* lpKeyboardUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetOperateUser(LONG lUserID, LONG lUserIndex, NET_DVR_OPERATE_USER* lpOperateUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetOperateUser(LONG lUserID, LONG lUserIndex, NET_DVR_OPERATE_USER* lpOperateUser); -NET_DVR_API BOOL __stdcall NET_DVR_ControlGateway(LONG lUserID, LONG lGatewayIndex, DWORD dwStaic); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmHostOut(LONG lUserID, LONG lAlarmOutPort, LONG lAlarmOutStatic); -typedef void(CALLBACK *fAlarmHostSerialDataCallBack) -(LONG lSerialHandle, LONG lPort, LONG lDateType, char *pRecvDataBuffer, DWORD dwBufSize,void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_AlarmHostSerialStart(LONG lUserID, LONG lSerialType, fAlarmHostSerialDataCallBack cbSerialDataCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSerialSend(LONG lSerialHandle,LONG lPort,char *pSendBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSerialStop(LONG lSerialHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetMatrixPuChan(LONG lUserID, LONG lChanType, NET_DVR_PU_CHAN_LIST* lpChanList); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAlarmOffMonitor(LONG lUserID, DWORD dwMonID, DWORD dwCamID); -NET_DVR_API BOOL __stdcall NET_DVR_GetCameraListInfo(LONG lUserID, DWORD dwCamNum, DWORD dwStartCam, LPNET_DVR_MATRIX_CAMERALIST lpCamListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetMonitorListInfo(LONG lUserID, DWORD dwMonNum, DWORD dwStartMon, LPNET_DVR_MATRIX_MONITORLIST lpMonListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetGlobalNum(LONG lUserID, DWORD *dwCamNum, DWORD *dwMonNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUnitedMatrixInfo(LONG lUserID, LPNET_DVR_ALLUNITEDMATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetUnitedMatrixInfo(LONG lUserID, LPNET_DVR_ALLUNITEDMATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetGatewayInfo(LONG lUserID, LPNET_DVR_MATRIXGATEWAYINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetGatewayInfo(LONG lUserID, LPNET_DVR_MATRIXGATEWAYINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSpanSwitch(LONG lUserID, BYTE nSwitchMode, LPNET_DVR_MATRIXSWITCH lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartSwitch(LONG lUserID, LPNET_DVR_MATRIXSWITCHCTRL lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetConfigFile(LONG lUserID, LPNET_DVR_MATRIXDATABASE lpInter, char *sInBuffer, DWORD dwInSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetConfigFile(LONG lUserID, LPNET_DVR_MATRIXDATABASE lpInter, char *sOutBuffer, DWORD dwOutSize, DWORD *pReturnSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubSystemInfo_V40(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO_V40 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetSubSystemInfo_V40(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO_V40 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubDecSystemJoinInfo_V40(LONG lUserID, LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V40 lpInter); -typedef void (CALLBACK *FLOWTESTCALLBACK)(LONG lFlowHandle, LPNET_DVR_FLOW_INFO pFlowInfo, void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_StartNetworkFlowTest(LONG lUserID, NET_DVR_FLOW_TEST_PARAM* pFlowTest, FLOWTESTCALLBACK fFlowTestCallback, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_StopNetworkFlowTest(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindRecordLabel(LONG lUserID, LPNET_DVR_FIND_LABEL lpFindLabel); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLabel(LONG lFindHandle, LPNET_DVR_FINDLABEL_DATA lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_StopFindLabel(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_InsertRecordLabel(LONG lPlayHandle, NET_DVR_RECORD_LABEL* lpRecordLabel, NET_DVR_LABEL_IDENTIFY *lpLableIdentify); -NET_DVR_API BOOL __stdcall NET_DVR_DelRecordLabel(LONG lUserID, NET_DVR_DEL_LABEL_PARAM* lpDelLabelParam); -NET_DVR_API BOOL __stdcall NET_DVR_ModifyRecordLabel(LONG lUserID, NET_DVR_MOD_LABEL_PARAM * lpModLabelParam); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePlaybackPictureBlock(LONG lPlayHandle, char *sPicFileName, DWORD dwTimeOut); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePlaybackPictureBlock_New(LONG lPlayHandle, char *pPicBuf, DWORD dwPicSize, DWORD *lpSizeReturned); -NET_DVR_API LONG __stdcall NET_DVR_FindPicture(LONG lUserID, NET_DVR_FIND_PICTURE_PARAM* pFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPicture(LONG lFindHandle,LPNET_DVR_FIND_PICTURE lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPicture_V40(LONG lFindHandle,LPNET_DVR_FIND_PICTURE_V40 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPicture_V50(LONG lFindHandle, LPNET_DVR_FIND_PICTURE_V50 lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_CloseFindPicture(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPicture(LONG lUserID,char *sDVRFileName,const char *sSavedFileName); -NET_DVR_API BOOL __stdcall NET_DVR_GetPicture_V30(LONG lUserID, char *sDVRFileName, char *sSavedFileBuf, DWORD dwBufLen, DWORD *lpdwRetLen); -NET_DVR_API BOOL __stdcall NET_DVR_GetPicture_V50(LONG lUserID, LPNET_DVR_PIC_PARAM lpPicParam); -NET_DVR_API LONG __stdcall NET_DVR_BackupPicture(LONG lUserID, NET_DVR_BACKUP_PICTURE_PARAM *lpBackupPicture); -NET_DVR_API LONG __stdcall NET_DVR_GetUpgradeStep(LONG lUpgradeHandle, LONG *pSubProgress); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetEncodeJoint(LONG lUserID, LONG lChannel, LPNET_DVR_ENCODE_JOINT_PARAM lpEncodeJoint); -NET_DVR_API BOOL __stdcall NET_DVR_GetLocalIP(char strIP[16][16], DWORD *pValidNum, BOOL *pEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_SetValidIP(DWORD dwIPIndex, BOOL bEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_GetLocalIPv6(BYTE strIP[16][16], DWORD *pValidNum, BOOL *pEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_SetValidIPv6(DWORD dwIPIndex, BOOL bEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_GetVcaDevWorkState(LONG lUserID, LPNET_DVR_VCA_DEV_WORKSTATUS lpWorkState); -NET_DVR_API BOOL __stdcall NET_DVR_SetRecvTimeOut(DWORD nRecvTimeOut = 5000); //С3000 -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDisplayCfg_V40(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG_V40 lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDisplayCfg_V40(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG_V40 lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_ShutterCompensation(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_CorrectDeadPixel(LONG lUserID, LONG lChannel, LPNET_DVR_CORRECT_DEADPIXEL_PARAM lpInParam); -NET_DVR_API BOOL __stdcall NET_DVR_CustomConfig(LONG lUserID, LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpOutBuffer, DWORD dwOutBufferSize, LPDWORD lpBytesReturned); -NET_DVR_API BOOL __stdcall NET_DVR_GetHistoricDataInfo(LONG lUserID, LONG lChannel, LPNET_DVR_HISTORICDATACFG lpHisData); -NET_DVR_API BOOL __stdcall NET_DVR_GetHistoricData(LONG lUserID, LONG lChannel, LPNET_DVR_PLATE_RESULT lpOuter); -NET_DVR_API BOOL __stdcall NET_DVR_ClearHistoricData(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_VPD_SetShutter(LONG lUserID, LONG lChannel, LPNET_VPD_SHUTTER lpShutter); -NET_DVR_API BOOL __stdcall NET_VPD_SendPicture(LONG lUserID, DWORD dwFields, BYTE const *sImageBuffer, DWORD dwWidth, DWORD dwHeight); -NET_DVR_API LONG __stdcall NET_DVR_InquestUploadFile_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_InquestDeleteFile_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_FILES lpDeleteFile); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetPIPStatus_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetPIPStatus_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetPIPStatus_V40(LONG lUserID, NET_DVR_INQUEST_ROOM const *lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS_V40 lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetPIPStatus_V40(LONG lUserID, NET_DVR_INQUEST_ROOM const *lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS_V40 lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetSystemInfo(LONG lUserID, LPNET_DVR_INQUEST_SYSTEM_INFO lpSystemInfo); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetSystemInfo(LONG lUserID, LPNET_DVR_INQUEST_SYSTEM_INFO lpSystemInfo); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSendMessage(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_MESSAGE lpInquestMessage); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStartCDW_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, BOOL bNotBurn); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStopCDW_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, BOOL bCancelWrite); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetCDWState_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_CDRW_STATUS pStatus); -NET_DVR_API LONG __stdcall NET_DVR_InquestResumeEvent(LONG lUserID, LPNET_DVR_INQUEST_RESUME_EVENT lpResumeEvent); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetResumeProgress(LONG lHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStopResume(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_InquestFindFile_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM pInquestRoom); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetDeviceVersion(LONG lUserID, LPNET_DVR_INQUEST_DEVICE_VERSION lpVersionInfo); -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKSecretKey(LONG lUserID, char *sSecretKey); -NET_DVR_API BOOL __stdcall NET_DVR_LockFileByTime(LONG lUserID, LPNET_DVR_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_UnlockFileByTime(LONG lUserID, LPNET_DVR_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_ScreenZoomIn(LONG lUserID, LPNET_DVR_SCREENZOOM pStruScreen); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllCameraInfo(LONG lUserID, LPNET_DVR_MATRIX_CAMERALIST lpCamListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSingleCameraInfo(LONG lUserID, DWORD dwCameraId, LPNET_MATRIX_CAMERAINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddCamera(LONG lUserID, DWORD dwCameraNum, BYTE *pBuffer, DWORD dwBufLength); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModCameraInfo(LONG lUserID, LPNET_MATRIX_CAMERAINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelCamera(LONG lUserID, DWORD dwCameraId); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllMonitorInfo(LONG lUserID, LPNET_DVR_MATRIX_MONITORLIST lpMonListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSingleMonitorInfo(LONG lUserID, DWORD dwMonitorId, LPNET_MATRIX_MONITORINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddMonitor(LONG lUserID, DWORD dwMonitorNum, BYTE *pBuffer, DWORD dwBufLength); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModMonitorInfo(LONG lUserID, LPNET_MATRIX_MONITORINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelMonitor(LONG lUserID, DWORD dwMonitorId); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllMatrixInfo(LONG lUserID, LPNET_DVR_MATRIXLIST lpMatrixListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetSingleMatrixInfo(LONG lUserID, DWORD dwMatrixId, LPNET_MATRIX_MATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AddMatrix(LONG lUserID, LPNET_MATRIX_MATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_ModMatrixInfo(LONG lUserID, LPNET_MATRIX_MATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_DelMatrix(LONG lUserID, DWORD dwMatrixId); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUartParam(LONG lUserID, DWORD dwSerialChan, LPNET_MATRIX_UARTPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetUartParam(LONG lUserID, DWORD dwSerialChan , LPNET_MATRIX_UARTPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUserInfo(LONG lUserID, DWORD dwUserNum, LPNET_MATRIX_USERPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddUser(LONG lUserID, DWORD dwUserNum, LPNET_MATRIX_USERPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModUserInfo(LONG lUserID, DWORD dwUserNum, LPNET_MATRIX_USERPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelUser(LONG lUserID, DWORD dwUserNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetResourceInfo(LONG lUserID, DWORD dwResourceNum, LPNET_MATRIX_RESOURSEGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddResourceInfo(LONG lUserID, DWORD dwResourceNum, LPNET_MATRIX_RESOURSEGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModResourceInfo(LONG lUserID, DWORD dwResourceNum, LPNET_MATRIX_RESOURSEGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelResourceInfo(LONG lUserID, DWORD dwResourceNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUserGroupInfo(LONG lUserID, DWORD dwUserGroupNum, LPNET_MATRIX_USERGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddUserGroupInfo(LONG lUserID, DWORD dwUserGroupNum, LPNET_MATRIX_USERGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModUserGroupInfo(LONG lUserID, DWORD dwUserGroupNum, LPNET_MATRIX_USERGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelUserGroup (LONG lUserID, DWORD dwUserGroupNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllTrunkInfo(LONG lUserID, LPNET_DVR_MATRIX_TRUNKLIST lpTrunkListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTrunkInfo(LONG lUserID, DWORD dwTrunkNum, LPNET_MATRIX_TRUNKPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddTrunk(LONG lUserID, LPNET_MATRIX_TRUNKPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModTrunkInfo(LONG lUserID, LPNET_MATRIX_TRUNKPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixTrunkCtrl(LONG lUserID, DWORD dwTrunkNum, BYTE byCtrlMode); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixTrunkStatusQuery(LONG lUserID, DWORD dwTrunkNum, BYTE *byTrunkStatus); - -NET_DVR_API BOOL __stdcall NET_DVR_FindBackgroundPic(LONG lUserID, DWORD dwPicID, BYTE *pPicBuffer, DWORD *lpPicLen); -NET_DVR_API BOOL __stdcall NET_DVR_DetectImage(LONG lUserID, LPNET_VCA_FD_PROCIMG_CFG lpFDProcImg,LPNET_VCA_FD_PROCIMG_RESULT lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_GetPictureModel(LONG lUserID, LPNET_VCA_REGISTER_PIC lpInBuf, LPNET_VCA_PICMODEL_RESULT lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_AddBlockList(LONG lUserID,LONG lChannel,LPNET_VCA_BLOCKLIST_PARA lpInter); -NET_DVR_API LONG __stdcall NET_DVR_FindBlockList(LONG lUserID, LPNET_VCA_BLOCKLIST_COND lpBlockListCond); -NET_DVR_API LONG __stdcall NET_DVR_FindNextBlockList(LONG lFindHandle,LPNET_VCA_BLOCKLIST_INFO lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindBlockListClose(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetBlockListPicture(LONG lUserID, DWORD dwRegisterID, LPNET_VCA_BLOCKLIST_PIC lpOutBuffer); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateBlockList(LONG lUserID,LONG lChannel, LPNET_VCA_BLOCKLIST_PARA lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_DelBlockList(LONG lUserID,LONG lChannel, DWORD dwRegisterID); -NET_DVR_API LONG __stdcall NET_DVR_FindSnapPicture(LONG lUserID, LPNET_VCA_FIND_PICTURECOND lpFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextSnapPic(LONG lFindHandle,LPNET_VCA_SUB_SNAPPIC_DATA lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindSnapPicClose(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_AdvanceFindSnapPicture(LONG lUserID, LPNET_VCA_FIND_PICTURECOND_ADVANCE lpFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindFaceMatchAlarm(LONG lUserID, LPNET_VCA_FIND_PICTURECOND lpFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFaceMatchAlarm(LONG lFindHandle, LPNET_VCA_FACESNAP_MATCH_ALARM_LOG lpFaceMatchAlarmLog); -NET_DVR_API BOOL __stdcall NET_DVR_FindFaceMatchAlarmClose(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetFaceMatchPic(LONG lUserID, LPNET_VCA_FACEMATCH_PICCOND lpMatchCond, LPNET_VCA_FACEMATCH_PICTURE lpMatchPic); -NET_DVR_API BOOL __stdcall NET_DVR_FastAddBlockList(LONG lUserID,LONG lChannel,LPNET_VCA_BLOCKLIST_FASTREGISTER_PARA lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlay_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_V41 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDisplayCfg_V41(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_MATRIX_VOUTCFG lpVoutCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDisplayCfg_V41(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_MATRIX_VOUTCFG lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDeviceStatus_V41(LONG lUserID, LPNET_DVR_DECODER_WORK_STATUS_V41 lpDecoderCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSceneCfg(LONG lUserID, DWORD dwSceneNum, LPNET_DVR_MATRIX_SCENECFG lpSceneCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetSceneCfg(LONG lUserID, DWORD dwSceneNum, LPNET_DVR_MATRIX_SCENECFG lpSceneCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSceneControl(LONG lUserID, DWORD dwSceneNum, DWORD dwCmd, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetCurrentSceneMode(LONG lUserID, DWORD *dwSceneNum); -NET_DVR_API BOOL __stdcall NET_DVR_GetAllValidWinInfo(LONG lUserID, LPNET_DVR_WINLIST lpWinListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_ScreenWinCtrl(LONG lUserID, DWORD dwWinIndex, DWORD dwCommand, LPNET_DVR_SCREEN_WINCFG lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_GetScreenInputStatus(LONG lUserID, LPNET_DVR_SCREENINPUTSTATUS lpStatus); -NET_DVR_API LONG __stdcall NET_DVR_PicUpload(LONG lUserID, char const *sFileName, LPNET_DVR_PICTURECFG lpPictureCfg); -NET_DVR_API LONG __stdcall NET_DVR_GetPicUploadProgress(LONG lUploadHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseUploadHandle(LONG lUploadHandle); -NET_DVR_API BOOL __stdcall NET_DVR_PicControl(LONG lUserID, BYTE byUseType, BYTE byPicIndex, BYTE byCtrlCmd); -NET_DVR_API LONG __stdcall NET_DVR_GetPicUploadState(LONG lUploadHandle); -NET_DVR_API BOOL __stdcall NET_DVR_ScreenCtrl(LONG lUserID, DWORD dwDeviceNum, LPNET_DVR_SCREEN_CONTROL lpStruScreenCtrl); -typedef void (CALLBACK *SCREENPICDATACB)(LONG nScreenPicHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_StartScreenPic(LONG nUserID, DWORD nInputNum, SCREENPICDATACB PicDataCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_StopScreenPic(LONG nScreenPicHandle); -NET_DVR_API BOOL __stdcall NET_DVR_FocusOnePush(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_DVR_ResetLens(LONG lUserID, LONG lChannel); - -typedef void(CALLBACK *fRemoteConfigCallback)(DWORD dwType, void* lpBuffer, DWORD dwBufLen, void* pUserData); -NET_DVR_API LONG __stdcall NET_DVR_StartRemoteConfig(LONG lUserID, DWORD dwCommand, LPVOID lpInBuffer, DWORD dwInBufferLen, fRemoteConfigCallback cbStateCallback, LPVOID pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_StopRemoteConfig(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetNextRemoteConfig(LONG lHandle, void* lpOutBuff, DWORD dwOutBuffSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetRemoteConfigState(LONG lHandle, void *pState); -NET_DVR_API BOOL __stdcall NET_DVR_SendRemoteConfig(LONG lHandle, DWORD dwDataType, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API LONG __stdcall NET_DVR_SendWithRecvRemoteConfig(LONG lHandle, void* lpInBuff, DWORD dwInBuffSize, void* lpOutBuff, DWORD dwOutBuffSize, DWORD *dwOutDataLen); - -typedef void(CALLBACK *fLongCfgStateCallback)(LONG lHandle, DWORD dwState, LPVOID pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_CloseLongCfgHandle(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_RaidPullDiskStart(LONG lUserID, LONG lRaidID, fLongCfgStateCallback cbStateCallback, LPVOID pUserData); -NET_DVR_API LONG __stdcall NET_DVR_ScanRaidStart(LONG lUserID, fLongCfgStateCallback cbStateCallback, LPVOID pUserData); -NET_DVR_API LONG __stdcall NET_DVR_SetAccessCameraInfo(LONG lUserID, DWORD dwChannel, LPNET_DVR_ACCESS_CAMERA_INFO lpCameraInfo, fLongCfgStateCallback cbStateCallback, LPVOID pUserData); - -NET_DVR_API BOOL __stdcall NET_DVR_InquiryRecordTimeSpan(LONG lUserID, DWORD dwChannel, NET_DVR_RECORD_TIME_SPAN_INQUIRY const *lpInquiry, LPNET_DVR_RECORD_TIME_SPAN lpResult); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateRecordIndex(LONG lUserID, DWORD dwChannel); -NET_DVR_API BOOL __stdcall NET_DVR_GetUpnpNatState(LONG lUserID, LPNET_DVR_UPNP_NAT_STATE lpState); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopPlanArray(LONG lUserID, DWORD dwArrayNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopPlanArray(LONG lUserID, DWORD dwArrayNum, NET_DVR_MATRIX_LOOP_DECINFO_V30 const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAlarmShowMode(LONG lUserID, LPNET_DVR_ALARMMODECFG lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetAlarmShowMode(LONG lUserID, NET_DVR_ALARMMODECFG const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamicAssociateDecode(LONG lUserID, DWORD dwDecChanNum, NET_DVR_DYNAMICDECODE const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAlarmTurn(LONG lUserID, DWORD dwDecChanNum, DWORD dwTurnParam); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAlarmShowControl(LONG lUserID, DWORD dwDecChanNum, DWORD dwShowMode); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetPlanDecode(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PLANDECODE lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetPlanDecode(LONG lUserID, DWORD dwDecChanNum, NET_DVR_PLANDECODE const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo_EX(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_EX lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo_EX(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_EX lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic_EX(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PU_STREAM_CFG_EX lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetTrunkListInfo(LONG lUserID, DWORD dwTrunkNum, DWORD dwStartTrunk, LPNET_DVR_MATRIX_TRUNKLIST lpTrunkListInfo, DWORD *pReturnSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubDecSystemJoinInfo_V41(LONG lUserID, LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V41 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSubSystemSetupAlarmChan(LONG lUserID, DWORD dwSubSystemNum); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSubSystemCloseAlarmChan(LONG lUserID, DWORD dwSubSystemNum); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostClearAlarm(LONG lUserID, DWORD dwSubSystemNum); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostArrayBypass(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostArrayBypassResume (LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSetReportMode(LONG lUserID, LONG lCenterNum, LPVOID lpInputBuf, DWORD dwInputBufLen); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostGetReportMode(LONG lUserID, LPVOID lpOutputBuf, DWORD dwOutputBufLen); -NET_DVR_API LONG __stdcall NET_DVR_StartUploadAudio(LONG lUserID, DWORD dwAudioNum, DWORD dwAudioType, char const *sAudioFileName); -NET_DVR_API LONG __stdcall NET_DVR_StartDownloadAudio(LONG lUserID, DWORD dwAudioNum, char const *sAudioFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopAudioOperate(LONG lAudioHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetAudioProgress(LONG lAudioHandle); -NET_DVR_API BOOL __stdcall NET_DVR_AudioCtrl(LONG lUserID, DWORD dwAudioNum, DWORD dwCtrlParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceConfig(LONG lUserID, DWORD dwCommand, DWORD dwCount, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpStatusList, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_SetDeviceConfig(LONG lUserID, DWORD dwCommand, DWORD dwCount, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpStatusList, LPVOID lpInParamBuffer, DWORD dwInParamBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_LockStreamFileByTime(LONG lUserID, LPNET_DVR_STREAM_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_UnlockStreamFileByTime(LONG lUserID, LPNET_DVR_STREAM_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_StartManualRecord(LONG lUserID, LPNET_DVR_MANUAL_RECORD_PARA lpManualRecPara); -NET_DVR_API BOOL __stdcall NET_DVR_StopManualRecord(LONG lUserID, LPNET_DVR_STREAM_INFO pIDInfo); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByName(LONG lUserID, char *sPlayBackFileName, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_V40(LONG lUserID, NET_DVR_VOD_PARA const* pVodPara); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_V50(LONG lUserID, NET_DVR_VOD_PARA_V50 const* pVodPara); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByTime_V40(LONG lUserID, HWND hWnd, LPNET_DVR_PLAYCOND pPlayCond); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime_V40(LONG lUserID, char *sSavedFileName, LPNET_DVR_PLAYCOND pDownloadCond); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_V40(LONG lUserID, LPNET_DVR_FILECOND_V40 pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V41(LONG lUserID, LPNET_DVR_SETUPALARM_PARAM lpSetupParam); -NET_DVR_API BOOL __stdcall NET_DVR_AddDataBase(LONG lUserID, LPNET_VCA_DATABASE_PARAM lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_FindDataBase(LONG lUserID, LPNET_VCA_FIND_DATABASE_COND lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_FindNextDataBase(LONG lFindHandle, LPNET_VCA_DATABASE_PARAM lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_FindDataBaseClose(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateDataBase(LONG lUserID, LPNET_VCA_DATABASE_PARAM lpInBuf); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteDataBase(LONG lUserID, LPNET_VCA_DELETE_DATABASE_COND lpCond); -typedef void(CALLBACK *fSearchDBCallBack)(LONG lHandle, DWORD dwType, DWORD dwResultNum, BYTE* pBuffer, DWORD dwBufSize,void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_InquireSnapDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_INQUIRE_SNAPDB_COND lpInBuf, fSearchDBCallBack cbSearchDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetInquireSnapDBProgress(LONG lInquireHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteSnapDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DELETE_SNAPRECORD_COND lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_SearchSnapDB(LONG lUserID, LPNET_VCA_SEARCH_SNAPDB_COND lpInBuf, fSearchDBCallBack cbSearchDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetSearchSnapDBProgress(LONG lSearchHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_AddFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DATARECORD_INFO lpInBuf); -NET_DVR_API BOOL __stdcall NET_DVR_FastAddFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_FAST_DATARECORD_INFO lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_InquireFaceDBRecord(LONG lUserID, LPNET_VCA_DATARECORD_COND lpInBuf,fSearchDBCallBack cbInquireDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetInquireFaceDBProgress(LONG lInquireHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DATARECORD_INFO lpInBuf); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DELETE_RECORD_COND lpInBuf); -typedef void(CALLBACK *fSearchDBCallBack)(LONG lSearchHandle, DWORD dwType, DWORD dwResultNum, BYTE* pBuffer, DWORD dwBufSize,void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_SearchFaceDB(LONG lUserID, LPNET_VCA_SEARCH_FACEDB_COND lpInBuf,fSearchDBCallBack cbSearchDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetSearchFaceDBProgress(LONG lSearchHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_StopSearchDB(LONG lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_FindMatchPicture(LONG lUserID, LPNET_VCA_FIND_MATCHPIC_COND lpFindCond, LPNET_VCA_FIND_MATCHPIC_RESULT lpFindResult); -NET_DVR_API BOOL __stdcall NET_DVR_RemoteControl(LONG lUserID, DWORD dwCommand, LPVOID lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API LONG __stdcall NET_DVR_GetBMPByTime(LONG lUserID, LONG lChannel, NET_DVR_TIME const *lpTime, char const *sFilename); -NET_DVR_API BOOL __stdcall NET_DVR_CommandDevice(LONG lUserID, DWORD dwOutCommand, LPVOID lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_TestDVRAlive(LONG lUserID); - -NET_DVR_API BOOL __stdcall NET_DVR_PicViewRequest(LONG lUserID, NET_DVR_PIC_VIEW_PARAM *lpPicViewParam); -typedef LONG (CALLBACK *PicViewCallBack)(LPNET_DVR_PICVIEW_CALLBACKPARAM pStruPicViewParam, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPicViewResponseCallBack(PicViewCallBack fPicViewResponseCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPicViewDataCallBack(LONG lPicViewHandle, SCREENPICDATACB fPicDataCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_GetDevList(LONG lUserID, LPNET_DVR_DEVLIST lpDevListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetScreenList(LONG lUserID, LPNET_DVR_SCREENLIST lpScreenListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_SetScreenRelation(LONG lUserID, NET_DVR_DISP_SCREEN const* lpScreenInfo); -NET_DVR_API BOOL __stdcall NET_DVR_TextShowCtrl(LONG lUserID, DWORD dwDeviceIndex, LPNET_DVR_TEXTSHOW lpText); -NET_DVR_API LONG __stdcall NET_DVR_StartUpgrade(LONG lUserID, LPNET_DVR_OPERATE_DEVICE lpStruOperate, DVCS_UPGRADESTATE_CB UpgradeStateCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_StopUpgrade(LONG lUserID, LPNET_DVR_OPERATE_DEVICE lpStruOperate, LONG lUpgradeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_AddNetSignal(LONG lUserID, LPNET_DVR_NETSIGNAL_INFO lpStruSignal, void* lpOutBuf , DWORD dwBufLen); -NET_DVR_API LONG __stdcall NET_DVR_StartPicPreview(LONG lUserID, NET_DVR_START_PIC_VIEW_INFO const* lpStruStartPicView, SCREENPICDATACB PicDataCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceStatus(LONG lUserID, DWORD dwCommand, DWORD dwCount, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpStatusList, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetPlanList(LONG lUserID, DWORD dwDevNum, LPNET_DVR_PLAN_LIST lpPlanList); -NET_DVR_API BOOL __stdcall NET_DVR_GetInputSignalList(LONG lUserID, DWORD dwDevNum, LPNET_DVR_INPUT_SIGNAL_LIST lpInputSignalList); -NET_DVR_API BOOL __stdcall NET_DVR_GetInputSignalList_V40(LONG lUserID, DWORD dwDevNum, LPNET_DVR_INPUT_SIGNAL_LIST lpInputSignalList); - -NET_DVR_API LONG __stdcall NET_DVR_UploadFile(LONG lUserID, DWORD dwUploadType, LPVOID lpInBuffer, DWORD dwInBufferSize, char* sFileName); -NET_DVR_API LONG __stdcall NET_DVR_UploadFile_V40(LONG lUserID, DWORD dwUploadType, LPVOID lpInBuffer, DWORD dwInBufferSize, char const * sFileName, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API LONG __stdcall NET_DVR_GetUploadState(LONG lUploadHandle, LPDWORD pProgress); -NET_DVR_API BOOL __stdcall NET_DVR_GetUploadResult(LONG lUploadHandle, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_UploadClose(LONG lUploadHandle); -NET_DVR_API LONG __stdcall NET_DVR_StartUploadFile(LONG lUserID, LPNET_DVR_UPLOAD_PARAM lpStruUploadParam); -NET_DVR_API LONG __stdcall NET_DVR_GetUploadFileProgress(LONG lFileHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetUploadFileState(LONG lFileHandle); -NET_DVR_API BOOL __stdcall NET_DVR_StopUploadFile (LONG lFileHandle); -NET_DVR_API LONG __stdcall NET_DVR_StartDownloadFile(LONG lUserID, LPNET_DVR_DOWNLOAD_PARAM lpStruDownloadParam); -NET_DVR_API LONG __stdcall NET_DVR_GetDownloadFileProgress(LONG lFileHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetDownloadFileState(LONG lFileHandle); -NET_DVR_API BOOL __stdcall NET_DVR_StopDownloadFile (LONG lFileHandle); -NET_DVR_API BOOL __stdcall NET_DVR_DownloadControl(LONG lDownloadHandle, NET_SDK_DOWNLOAD_CONTROL_TYPE_ENUM enumDownloadType, void* lpInBuffer, DWORD dwInBufferLen, void* lpOutBuffer, DWORD dwOutBufferLen); -NET_DVR_API LONG __stdcall NET_DVR_UploadSend(LONG lUploadHandle, const NET_DVR_SEND_PARAM_IN *pstruSendParamIN, void* lpOutBuffer); - - -NET_DVR_API BOOL __stdcall NET_DVR_GetMobileDevStatus(LONG lUserID, DWORD dwStatusType, LPNET_DVR_MB_MOBILEDEV_STATUS lpstruMobileDevStatus); -NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceDataCallBack(LONG lVoiceComHandle, BOOL bNeedCBNoEncData, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetTransparentParam(LONG lUserID, char *sInBuffer, DWORD dwInSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetTransparentParam(LONG lUserID, char *sInBuffer, DWORD dwInSize, char *sOutBuffer, DWORD dwOutSize); - -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKLocalConfig(LPNET_DVR_SDKLOCAL_CFG lpSdkLocalCfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKLocalConfig(LPNET_DVR_SDKLOCAL_CFG lpSdkLocalCfg); - -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKLocalCfg(NET_SDK_LOCAL_CFG_TYPE enumType, const void *lpInBuff); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKLocalCfg(NET_SDK_LOCAL_CFG_TYPE enumType, void* lpOutBuff); - -NET_DVR_API LONG __stdcall NET_DVR_OpticalUpgrade(LONG lUserID, char const *sFileName, LPNET_DVR_OPTICAL_INFO lpOpticalInfo); -typedef void(CALLBACK *fGPSDataCallback)(LONG nHandle, DWORD dwState, void* lpBuffer, DWORD dwBufLen, void* pUserData); -NET_DVR_API LONG __stdcall NET_DVR_GetVehicleGpsInfo(LONG nUserID, LPNET_DVR_GET_GPS_DATA_PARAM lpGPSDataParam, fGPSDataCallback cbGPSDataCallback, void* pUser); - -NET_DVR_API BOOL __stdcall NET_DVR_ClosePreview(LONG lUserID, DWORD nSessionID); -NET_DVR_API BOOL __stdcall NET_DVR_ClosePlayBack(LONG lUserID, DWORD nSessionID); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_V40(LONG lUserID, LPNET_DVR_PREVIEWINFO lpPreviewInfo, REALDATACALLBACK fRealDataCallBack_V30 = NULL, void* pUser = NULL); -NET_DVR_API LONG __stdcall NET_DVR_RealPlaySpecial(LONG lUserID, LPNET_DVR_PREVIEWINFO_SPECIAL lpPreviewInfo, REALDATACALLBACK fRealDataCallBack_V30 = NULL, void* pUser = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_GetLinkAddr(LONG lLinkHandle, NET_DVR_LINK_KIND enumLinkKind, LPNET_DVR_LINK_ADDR lpLinkAddr); - -NET_DVR_API LONG __stdcall NET_DVR_StartDownload(LONG lUserID, DWORD dwDownloadType, LPVOID lpInBuffer, DWORD dwInBufferSize, const char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_GetDownloadState(LONG lDownloadHandle, LPDWORD pProgress); -NET_DVR_API int __stdcall NET_DVR_GetDownloadStateInfo(LONG lDownloadHandle, void* pStatusInfo); -NET_DVR_API BOOL __stdcall NET_DVR_StopDownload(LONG lHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PU_STREAM_CFG_V41 lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V41 lpOuter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V41 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO_V41 lpOuter); - -NET_DVR_API LONG __stdcall NET_DVR_StartT1Test(LONG lUserID, LPNET_DVR_ALARMHOST_DOWNLOAD_PARAM lpStruDownloadParam); -NET_DVR_API BOOL __stdcall NET_DVR_StopTT1Test(BOOL lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetT1TestStatus(LONG lHandle, LONG *pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_SendT1TestData(LONG lHandle, DWORD dwDataType, char *pSendBuf, DWORD dwSendBufLen); - -NET_DVR_API BOOL __stdcall NET_DVR_UploadLogo_NEW(LONG lUserID, DWORD dwLogoNo, LPNET_DVR_MATRIX_LOGO_INFO lpLogoInfo, char *sLogoBuffer); -NET_DVR_API BOOL __stdcall NET_DVR_DownloadLogo(LONG lUserID, DWORD dwLogoNo, LPNET_DVR_MATRIX_LOGO_INFO lpLogoInfo, char *sLogoBuffer, DWORD dwLogoBufferSize); -NET_DVR_API LONG __stdcall NET_DVR_StartPassiveTransCode(LONG lUserID, NET_DVR_STREAM_INFO const *pStreamInfo, NET_DVR_COMPRESSIONCFG_V30 const *pDstTransInfo, NET_DVR_PASSIVETRANSINFO const *pPassiveTransInfo, void(CALLBACK *fTransCodeDataCallBack) (LONG lPassiveHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_TransCodeInputData(LONG lPassiveHandle, BYTE *pBuffer, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_StopPassiveTransCode(LONG lPassiveHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetPassiveTransChanNum(LONG lPassiveHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetDeviceConfigEx(LONG lUserID, DWORD dwCommand, DWORD dwCount, NET_DVR_IN_PARAM *lpInParam, NET_DVR_OUT_PARAM *lpOutParam); - -NET_DVR_API BOOL __stdcall NET_DVR_GetSTDConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_STD_CONFIG lpConfigParam); -NET_DVR_API BOOL __stdcall NET_DVR_SetSTDConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_STD_CONFIG lpConfigParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetSTDAbility(LONG lUserID, DWORD dwAbilityType, LPNET_DVR_STD_ABILITY lpAbilityParam); -NET_DVR_API BOOL __stdcall NET_DVR_STDControl(LONG lUserID, DWORD dwCommand, LPNET_DVR_STD_CONTROL lpControlParam); -NET_DVR_API BOOL __stdcall NET_DVR_STDXMLConfig(LONG lUserID, NET_DVR_XML_CONFIG_INPUT* lpInputParam, NET_DVR_XML_CONFIG_OUTPUT* lpOutputParam); -NET_DVR_API LONG __stdcall NET_DVR_Upgrade_V40(DWORD lUserID, DWORD dwUpgradeType, char const *sFileName, void *pInbuffer, DWORD dwBufferLen); -NET_DVR_API LONG __stdcall NET_DVR_Upgrade_V50(DWORD lUserID, LPNET_DVR_UPGRADE_PARAM lpUpgradeParam); - -NET_DVR_API BOOL __stdcall NET_DVR_DetectImage_V50(LONG lUserID, LPNET_VCA_FD_PROCIMG_CFG lpFDProcImg,LPNET_VCA_FD_PROCIMG_RESULT_V50 lpOutBuf); - -NET_DVR_API LONG __stdcall NET_DVR_SmartSearchPicture(LONG lUserID, NET_DVR_SMART_SEARCH_PIC_PARA * pFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextSmartPicture(LONG lFindHandle,LPNET_DVR_SMART_SEARCH_PIC_RET lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSmartSearchPicture(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetESCallBack(LONG iRealHandle, void (__stdcall *fnESCallback)(LONG lPreviewHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetESRealPlayCallBack(LONG iRealHandle, void(__stdcall *fPlayESCallBack)(LONG lPreviewHandle, NET_DVR_PACKET_INFO_EX *pstruPackInfo, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_ActivateDevice(char* sDVRIP, WORD wDVRPort, LPNET_DVR_ACTIVATECFG lpActivateCfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetAddrInfoByServer(DWORD dwQueryType, void* pInBuf, DWORD dwInBufLen, void* pOutBuf, DWORD dwOutBufLen); -NET_DVR_API BOOL __stdcall NET_DVR_StartGetDevState(LPNET_DVR_CHECK_DEV_STATE pParams); -NET_DVR_API BOOL __stdcall NET_DVR_StopGetDevState(); -NET_DVR_API BOOL __stdcall NET_DVR_RigisterPlayBackDrawFun(LONG lPlayHandle, void (__stdcall *fDrawFun)(LONG lPlayHandle, HDC hDc, DWORD dwUser), DWORD dwUser); - -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKInitCfg(NET_SDK_INIT_CFG_TYPE enumType, void* const lpInBuff); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseSDKMemPool(LPNET_DVR_SDKMEMPOOL_CFG lpSdkMemPoolCfg); - -NET_DVR_API BOOL __stdcall NET_DVR_CapturePictureBlock(LONG iRealHandle, char const *sPicFileName, DWORD dwTimeOut); - - -NET_DVR_API BOOL __stdcall NET_DVR_CapturePictureBlock_New(LONG iRealHandle, char *pPicBuf, DWORD dwPicSize, DWORD *lpSizeReturned); - -NET_DVR_API BOOL __stdcall NET_DVR_ChangeWndResolution(LONG iRealHandle); - -NET_DVR_API LONG __stdcall NET_DVR_SDKChannelToISAPI(LONG lUserID, LONG lInChannel, BOOL bSDKToISAPI); - -NET_DVR_API BOOL __stdcall NET_DVR_STDXMLConfig_Conv(LONG lUserID, NET_DVR_XML_CONFIG_INPUT* lpInputParam, NET_DVR_XML_CONFIG_OUTPUT* lpOutputParam); - -NET_DVR_API BOOL __stdcall NET_DVR_SetDevXmlLen(LONG lUserID, const WORD wDevXmlLen); - -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V50(LONG iUserID, LPNET_DVR_SETUPALARM_PARAM_V50 lpSetupParam, char *pSub, DWORD dwSubSize); - -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmSubscribe(LONG lAlarmHandle, char *pData, DWORD dwDataLen); - -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmSubscribe(LONG lAlarmHandle, char *pData, DWORD dwDataLen); - -NET_DVR_API BOOL __stdcall NET_DVR_GetNPQStat(LONG lHandle, NET_SDK_NPQ_STATE* pStruStat); - -NET_DVR_API BOOL __stdcall NET_DVR_SetNPQNotifyParam(LONG lHandle, NET_SDK_NPQ_NOTIFY_PARAM* pNotifyParam); - -NET_DVR_API BOOL __stdcall NET_DVR_PlaybackGetNPQStat(LONG lHandle, NET_SDK_NPQ_STATE* pStruStat); -NET_DVR_API BOOL __stdcall NET_DVR_RenderPrivateData(LONG lRealHandle, int iIntelType, BOOL bTrue); -NET_DVR_API BOOL __stdcall NET_DVR_RenderPrivateDataEx(LONG lRealHandle, int iIntelType, int iSubType, BOOL bTrue); - -NET_DVR_API BOOL __stdcall NET_DVR_PlaybackSetNPQNotifyParam(LONG lHandle, NET_SDK_NPQ_NOTIFY_PARAM* pNotifyParam); - -NET_DVR_API BOOL __stdcall NET_DVR_EnableRelogon(BOOL bEnable, DWORD dwReserved); - -NET_DVR_API LONG __stdcall NET_DVR_CreateEzvizUser(LPNET_DVR_EZVIZ_USER_LOGIN_INFO pLoginInfo, LPNET_DVR_DEVICEINFO_V30 pDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteEzvizUser(LONG iUserID); - -NET_DVR_API LONG __stdcall NET_DVR_CreateOpenEzvizUser(LPNET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO pLoginInfo, LPNET_DVR_DEVICEINFO_V40 pDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteOpenEzvizUser(LONG iUserID); - -NET_DVR_API BOOL __stdcall NET_DVR_LoadAdditionalLib(ADDITIONAL_LIB libType, char const *sDllName); - -#endif // - diff --git a/src/include/Hik/amd64/plaympeg4.h b/src/include/Hik/amd64/plaympeg4.h deleted file mode 100644 index 6314b29..0000000 --- a/src/include/Hik/amd64/plaympeg4.h +++ /dev/null @@ -1,760 +0,0 @@ -#ifndef _PLAYM4_H_ -#define _PLAYM4_H_ - -#if defined( _WINDLL) - #define PLAYM4_API extern "C" __declspec(dllexport) -#else - #define PLAYM4_API extern "C" __declspec(dllimport) -#endif - -//Max channel numbers -#define PLAYM4_MAX_SUPPORTS 500 -//Wave coef range; -#define MIN_WAVE_COEF -100 -#define MAX_WAVE_COEF 100 - -//Timer type -#define TIMER_1 1 //Only 16 timers for every process.Default TIMER; -#define TIMER_2 2 //Not limit;But the precision less than TIMER_1; - -//BUFFER AND DATA TYPE -#define BUF_VIDEO_SRC (1) //mixed input,total src buffer size;splited input,video src buffer size -#define BUF_AUDIO_SRC (2) //mixed input,not defined;splited input,audio src buffer size -#define BUF_VIDEO_RENDER (3) //video render node count -#define BUF_AUDIO_RENDER (4) //audio render node count -#define BUF_VIDEO_DECODED (5) //video decoded node count to render -#define BUF_AUDIO_DECODED (6) //audio decoded node count to render -#define BUF_DISPLAY_NODE (7) //display node - -//Error code -#define PLAYM4_NOERROR 0 //no error -#define PLAYM4_PARA_OVER 1 //input parameter is invalid; -#define PLAYM4_ORDER_ERROR 2 //The order of the function to be called is error. -#define PLAYM4_TIMER_ERROR 3 //Create multimedia clock failed; -#define PLAYM4_DEC_VIDEO_ERROR 4 //Decode video data failed. -#define PLAYM4_DEC_AUDIO_ERROR 5 //Decode audio data failed. -#define PLAYM4_ALLOC_MEMORY_ERROR 6 //Allocate memory failed. -#define PLAYM4_OPEN_FILE_ERROR 7 //Open the file failed. -#define PLAYM4_CREATE_OBJ_ERROR 8 //Create thread or event failed -#define PLAYM4_CREATE_DDRAW_ERROR 9 //Create DirectDraw object failed. -#define PLAYM4_CREATE_OFFSCREEN_ERROR 10 //failed when creating off-screen surface. -#define PLAYM4_BUF_OVER 11 //buffer is overflow -#define PLAYM4_CREATE_SOUND_ERROR 12 //failed when creating audio device. -#define PLAYM4_SET_VOLUME_ERROR 13 //Set volume failed -#define PLAYM4_SUPPORT_FILE_ONLY 14 //The function only support play file. -#define PLAYM4_SUPPORT_STREAM_ONLY 15 //The function only support play stream. -#define PLAYM4_SYS_NOT_SUPPORT 16 //System not support. -#define PLAYM4_FILEHEADER_UNKNOWN 17 //No file header. -#define PLAYM4_VERSION_INCORRECT 18 //The version of decoder and encoder is not adapted. -#define PLAYM4_INIT_DECODER_ERROR 19 //Initialize decoder failed. -#define PLAYM4_CHECK_FILE_ERROR 20 //The file data is unknown. -#define PLAYM4_INIT_TIMER_ERROR 21 //Initialize multimedia clock failed. -#define PLAYM4_BLT_ERROR 22 //Blt failed. -#define PLAYM4_UPDATE_ERROR 23 //Update failed. -#define PLAYM4_OPEN_FILE_ERROR_MULTI 24 //openfile error, streamtype is multi -#define PLAYM4_OPEN_FILE_ERROR_VIDEO 25 //openfile error, streamtype is video -#define PLAYM4_JPEG_COMPRESS_ERROR 26 //JPEG compress error -#define PLAYM4_EXTRACT_NOT_SUPPORT 27 //Don't support the version of this file. -#define PLAYM4_EXTRACT_DATA_ERROR 28 //extract video data failed. -#define PLAYM4_SECRET_KEY_ERROR 29 //Secret key is error //add 20071218 -#define PLAYM4_DECODE_KEYFRAME_ERROR 30 //add by hy 20090318 -#define PLAYM4_NEED_MORE_DATA 31 //add by hy 20100617 -#define PLAYM4_INVALID_PORT 32 //add by cj 20100913 -#define PLAYM4_NOT_FIND 33 //add by cj 20110428 -#define PLAYM4_NEED_LARGER_BUFFER 34 //add by pzj 20130528 -#define PLAYM4_FAIL_UNKNOWN 99 //Fail, but the reason is unknown; - -//۹ܴ -#define PLAYM4_FEC_ERR_ENABLEFAIL 100 // ģʧ -#define PLAYM4_FEC_ERR_NOTENABLE 101 // ģûм -#define PLAYM4_FEC_ERR_NOSUBPORT 102 // Ӷ˿ûз -#define PLAYM4_FEC_ERR_PARAMNOTINIT 103 // ûгʼӦ˿ڵIJ -#define PLAYM4_FEC_ERR_SUBPORTOVER 104 // Ӷ˿Ѿ -#define PLAYM4_FEC_ERR_EFFECTNOTSUPPORT 105 // ðװʽЧ֧ -#define PLAYM4_FEC_ERR_INVALIDWND 106 // ǷĴ -#define PLAYM4_FEC_ERR_PTZOVERFLOW 107 // PTZλԽ -#define PLAYM4_FEC_ERR_RADIUSINVALID 108 // ԲIJǷ -#define PLAYM4_FEC_ERR_UPDATENOTSUPPORT 109 // ָİװʽͽЧò²֧ -#define PLAYM4_FEC_ERR_NOPLAYPORT 110 // ſ˿û -#define PLAYM4_FEC_ERR_PARAMVALID 111 // Ϊ -#define PLAYM4_FEC_ERR_INVALIDPORT 112 // ǷӶ˿ -#define PLAYM4_FEC_ERR_PTZZOOMOVER 113 // PTZΧԽ -#define PLAYM4_FEC_ERR_OVERMAXPORT 114 // ֵ֧ͨͣĽͨΪĸ -#define PLAYM4_FEC_ERR_ENABLED 115 //ö˿Ѿģ -#define PLAYM4_FEC_ERR_D3DACCENOTENABLE 116 // D3Dûп - - -//Max display regions. -#define MAX_DISPLAY_WND 4 - -//Display type -#define DISPLAY_NORMAL 0x00000001 -#define DISPLAY_QUARTER 0x00000002 -#define DISPLAY_YC_SCALE 0x00000004 //add by gb 20091116 -#define DISPLAY_NOTEARING 0x00000008 -//Display buffers -#define MAX_DIS_FRAMES 50 -#define MIN_DIS_FRAMES 1 - -//Locate by -#define BY_FRAMENUM 1 -#define BY_FRAMETIME 2 - -//Source buffer -#define SOURCE_BUF_MAX 1024*100000 -#define SOURCE_BUF_MIN 1024*50 - -//Stream type -#define STREAME_REALTIME 0 -#define STREAME_FILE 1 - -//frame type -#define T_AUDIO16 101 -#define T_AUDIO8 100 -#define T_UYVY 1 -#define T_YV12 3 -#define T_RGB32 7 - -//capability -#define SUPPORT_DDRAW 1 -#define SUPPORT_BLT 2 -#define SUPPORT_BLTFOURCC 4 -#define SUPPORT_BLTSHRINKX 8 -#define SUPPORT_BLTSHRINKY 16 -#define SUPPORT_BLTSTRETCHX 32 -#define SUPPORT_BLTSTRETCHY 64 -#define SUPPORT_SSE 128 -#define SUPPORT_MMX 256 - -// º궨HIK_MEDIAINFOṹ -#define FOURCC_HKMI 0x484B4D49 // "HKMI" HIK_MEDIAINFOṹ -// ϵͳװʽ -#define SYSTEM_NULL 0x0 // ûϵͳ㣬ƵƵ -#define SYSTEM_HIK 0x1 // ļ -#define SYSTEM_MPEG2_PS 0x2 // PSװ -#define SYSTEM_MPEG2_TS 0x3 // TSװ -#define SYSTEM_RTP 0x4 // rtpװ -#define SYSTEM_RTPHIK 0x401 // rtpװ - -// Ƶ -#define VIDEO_NULL 0x0 // ûƵ -#define VIDEO_H264 0x1 // H.264 -#define VIDEO_MPEG4 0x3 // ׼MPEG4 -#define VIDEO_MJPEG 0x4 -#define VIDEO_AVC264 0x0100 - -// Ƶ -#define AUDIO_NULL 0x0000 // ûƵ -#define AUDIO_ADPCM 0x1000 // ADPCM -#define AUDIO_MPEG 0x2000 // MPEG ϵƵӦMPEGƵ -#define AUDIO_AAC 0X2001 // AAC -// GϵƵ -#define AUDIO_RAW_DATA8 0x7000 //Ϊ8kԭʼ -#define AUDIO_RAW_UDATA16 0x7001 //Ϊ16kԭʼݣL16 -#define AUDIO_G711_U 0x7110 -#define AUDIO_G711_A 0x7111 -#define AUDIO_G722_1 0x7221 -#define AUDIO_G723_1 0x7231 -#define AUDIO_G726_U 0x7260 -#define AUDIO_G726_A 0x7261 -#define AUDIO_G726_16 0x7262 -#define AUDIO_G729 0x7290 -#define AUDIO_AMR_NB 0x3000 - -#define SYNCDATA_VEH 1 //ͬ:Ϣ -#define SYNCDATA_IVS 2 //ͬ:Ϣ - -//motion flow type -#define MOTION_FLOW_NONE 0 -#define MOTION_FLOW_CPU 1 -#define MOTION_FLOW_GPU 2 - -//Ƶ -#define ENCRYPT_AES_3R_VIDEO 1 -#define ENCRYPT_AES_10R_VIDEO 2 -#define ENCRYPT_AES_3R_AUDIO 1 -#define ENCRYPT_AES_10R_AUDIO 2 - -//Frame position -typedef struct{ - long nFilePos; - long nFrameNum; - long nFrameTime; - long nErrorFrameNum; - SYSTEMTIME *pErrorTime; - long nErrorLostFrameNum; - long nErrorFrameSize; -}FRAME_POS,*PFRAME_POS; - -//Frame Info -typedef struct{ - long nWidth; - long nHeight; - long nStamp; - long nType; - long nFrameRate; - DWORD dwFrameNum; -}FRAME_INFO; - -typedef struct -{ - long nPort; //ͨ - char *pBuf; //صĵһ·ͼָ - unsigned int nBufLen; //صĵһ·ͼݴС - char *pBuf1; //صĵڶ·ͼָ - unsigned int nBufLen1; //صĵڶ·ͼݴС - char *pBuf2; //صĵ·ͼָ - unsigned int nBufLen2; //صĵ·ͼݴС - unsigned int nWidth; // - unsigned int nHeight; // - unsigned int nStamp; //ʱϢλ - unsigned int nType; // - void *pUser; //û - unsigned int reserved[4]; // -}DISPLAY_INFO_YUV; - -//Frame -typedef struct{ - char *pDataBuf; - long nSize; - long nFrameNum; - BOOL bIsAudio; - long nReserved; -}FRAME_TYPE; - -//Watermark Info //add by gb 080119 -typedef struct{ - char *pDataBuf; - long nSize; - long nFrameNum; - BOOL bRsaRight; - long nReserved; -}WATERMARK_INFO; - -typedef struct SYNCDATA_INFO -{ - DWORD dwDataType; //ͬĸϢͣĿǰУϢϢ - DWORD dwDataLen; //Ϣݳ - BYTE* pData; //ָϢݽṹָ,IVS_INFOṹ -} SYNCDATA_INFO; - -#ifndef _HIK_MEDIAINFO_FLAG_ -#define _HIK_MEDIAINFO_FLAG_ -typedef struct _HIK_MEDIAINFO_ // modified by gb 080425 -{ - unsigned int media_fourcc; // "HKMI": 0x484B4D49 Hikvision Media Information - unsigned short media_version; // 汾ţָϢṹ汾ţĿǰΪ0x0101,1.01汾01汾ţ01Ӱ汾š - unsigned short device_id; // 豸IDڸ/ - - unsigned short system_format; // ϵͳװ - unsigned short video_format; // Ƶ - - unsigned short audio_format; // Ƶ - unsigned char audio_channels; // ͨ - unsigned char audio_bits_per_sample; // λ - unsigned int audio_samplesrate; // - unsigned int audio_bitrate; // ѹƵ,λbit - - unsigned int reserved[4]; // -}HIK_MEDIAINFO; -#endif - -typedef struct -{ - long nPort; - char * pBuf; - long nBufLen; - long nWidth; - long nHeight; - long nStamp; - long nType; - long nUser; -}DISPLAY_INFO; - -typedef struct -{ - long nPort; - char *pVideoBuf; - long nVideoBufLen; - char *pPriBuf; - long nPriBufLen; - long nWidth; - long nHeight; - long nStamp; - long nType; - long nUser; -}DISPLAY_INFOEX; - -typedef struct PLAYM4_SYSTEM_TIME //ʱ -{ - DWORD dwYear; // - DWORD dwMon; // - DWORD dwDay; // - DWORD dwHour; //ʱ - DWORD dwMin; // - DWORD dwSec; // - DWORD dwMs; // -} PLAYM4_SYSTEM_TIME; - -//ENCRYPT Info -typedef struct{ - long nVideoEncryptType; //Ƶ - long nAudioEncryptType; //Ƶ - long nSetSecretKey; //Ƿã1ʾԿ0ʾûԿ -}ENCRYPT_INFO; - -////////////////////////////////////////////////////////////////////////////// -//API -////////////////////////////////////////////////////////////////////////////// - -////////////////ver 1.0/////////////////////////////////////// -//Initialize DirecDraw.Now invalid. -PLAYM4_API BOOL __stdcall PlayM4_InitDDraw(HWND hWnd); -//Release directDraw; Now invalid. -PLAYM4_API BOOL __stdcall PlayM4_RealeseDDraw(); -PLAYM4_API BOOL __stdcall PlayM4_OpenFile(LONG nPort,LPSTR sFileName); -PLAYM4_API BOOL __stdcall PlayM4_CloseFile(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_Play(LONG nPort, HWND hWnd); -PLAYM4_API BOOL __stdcall PlayM4_Stop(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_Pause(LONG nPort,DWORD nPause); -PLAYM4_API BOOL __stdcall PlayM4_Fast(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_Slow(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_OneByOne(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetPlayPos(LONG nPort,float fRelativePos); -PLAYM4_API float __stdcall PlayM4_GetPlayPos(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetFileEndMsg(LONG nPort,HWND hWnd,UINT nMsg); -PLAYM4_API BOOL __stdcall PlayM4_SetVolume(LONG nPort,WORD nVolume); -PLAYM4_API BOOL __stdcall PlayM4_StopSound(); -PLAYM4_API BOOL __stdcall PlayM4_PlaySound(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_OpenStream(LONG nPort,PBYTE pFileHeadBuf,DWORD nSize,DWORD nBufPoolSize); -PLAYM4_API BOOL __stdcall PlayM4_InputData(LONG nPort,PBYTE pBuf,DWORD nSize); -PLAYM4_API BOOL __stdcall PlayM4_CloseStream(LONG nPort); -PLAYM4_API int __stdcall PlayM4_GetCaps(); -PLAYM4_API DWORD __stdcall PlayM4_GetFileTime(LONG nPort); -PLAYM4_API DWORD __stdcall PlayM4_GetPlayedTime(LONG nPort); -PLAYM4_API DWORD __stdcall PlayM4_GetPlayedFrames(LONG nPort); - -//23 -////////////////ver 2.0 added/////////////////////////////////////// -PLAYM4_API BOOL __stdcall PlayM4_SetDecCallBack(LONG nPort,void (CALLBACK* DecCBFun)(long nPort,char * pBuf,long nSize,FRAME_INFO * pFrameInfo, long nReserved1,long nReserved2)); -PLAYM4_API BOOL __stdcall PlayM4_SetDisplayCallBackYUV(LONG nPort, void (CALLBACK* DisplayCBFun)(DISPLAY_INFO_YUV *pstDisplayInfo), BOOL bTrue, void* pUser); -PLAYM4_API BOOL __stdcall PlayM4_SetDisplayCallBack(LONG nPort,void (CALLBACK* DisplayCBFun)(long nPort,char * pBuf,long nSize,long nWidth,long nHeight,long nStamp,long nType,long nReserved)); -PLAYM4_API BOOL __stdcall PlayM4_ConvertToBmpFile(char * pBuf,long nSize,long nWidth,long nHeight,long nType,char *sFileName); -PLAYM4_API DWORD __stdcall PlayM4_GetFileTotalFrames(LONG nPort); -PLAYM4_API DWORD __stdcall PlayM4_GetCurrentFrameRate(LONG nPort); -PLAYM4_API DWORD __stdcall PlayM4_GetPlayedTimeEx(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetPlayedTimeEx(LONG nPort,DWORD nTime); -PLAYM4_API DWORD __stdcall PlayM4_GetCurrentFrameNum(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetStreamOpenMode(LONG nPort,DWORD nMode); -PLAYM4_API DWORD __stdcall PlayM4_GetFileHeadLength(); -PLAYM4_API DWORD __stdcall PlayM4_GetSdkVersion(); -//11 -////////////////ver 2.2 added/////////////////////////////////////// -PLAYM4_API DWORD __stdcall PlayM4_GetLastError(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_RefreshPlay(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetOverlayMode(LONG nPort,BOOL bOverlay,COLORREF colorKey); -PLAYM4_API BOOL __stdcall PlayM4_GetPictureSize(LONG nPort,LONG *pWidth,LONG *pHeight); -PLAYM4_API BOOL __stdcall PlayM4_SetPicQuality(LONG nPort,BOOL bHighQuality); -PLAYM4_API BOOL __stdcall PlayM4_PlaySoundShare(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_StopSoundShare(LONG nPort); -//7 -////////////////ver 2.4 added/////////////////////////////////////// -PLAYM4_API LONG __stdcall PlayM4_GetStreamOpenMode(LONG nPort); -PLAYM4_API LONG __stdcall PlayM4_GetOverlayMode(LONG nPort); -PLAYM4_API COLORREF __stdcall PlayM4_GetColorKey(LONG nPort); -PLAYM4_API WORD __stdcall PlayM4_GetVolume(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_GetPictureQuality(LONG nPort,BOOL *bHighQuality); -PLAYM4_API DWORD __stdcall PlayM4_GetSourceBufferRemain(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_ResetSourceBuffer(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetSourceBufCallBack(LONG nPort,DWORD nThreShold,void (CALLBACK * SourceBufCallBack)(long nPort,DWORD nBufSize,DWORD dwUser,void*pResvered),DWORD dwUser,void *pReserved); -PLAYM4_API BOOL __stdcall PlayM4_ResetSourceBufFlag(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetDisplayBuf(LONG nPort,DWORD nNum); -PLAYM4_API DWORD __stdcall PlayM4_GetDisplayBuf(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_OneByOneBack(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetFileRefCallBack(LONG nPort, void (__stdcall *pFileRefDone)(DWORD nPort,DWORD nUser),DWORD nUser); -PLAYM4_API BOOL __stdcall PlayM4_SetCurrentFrameNum(LONG nPort,DWORD nFrameNum); -PLAYM4_API BOOL __stdcall PlayM4_GetKeyFramePos(LONG nPort,DWORD nValue, DWORD nType, PFRAME_POS pFramePos); -PLAYM4_API BOOL __stdcall PlayM4_GetNextKeyFramePos(LONG nPort,DWORD nValue, DWORD nType, PFRAME_POS pFramePos); -#if (WINVER >= 0x0400) -//Note: These funtion must be builded under win2000 or above with Microsoft Platform sdk. -// You can download the sdk from "http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"; -PLAYM4_API BOOL __stdcall PlayM4_InitDDrawDevice(); -PLAYM4_API void __stdcall PlayM4_ReleaseDDrawDevice(); -PLAYM4_API DWORD __stdcall PlayM4_GetDDrawDeviceTotalNums(); -PLAYM4_API BOOL __stdcall PlayM4_SetDDrawDevice(LONG nPort,DWORD nDeviceNum); -//PLAYM4_API BOOL __stdcall PlayM4_GetDDrawDeviceInfo(DWORD nDeviceNum,LPSTR lpDriverDescription,DWORD nDespLen,LPSTR lpDriverName ,DWORD nNameLen,HMONITOR *hhMonitor); -PLAYM4_API int __stdcall PlayM4_GetCapsEx(DWORD nDDrawDeviceNum); -#endif -PLAYM4_API BOOL __stdcall PlayM4_ThrowBFrameNum(LONG nPort,DWORD nNum); -//23 -////////////////ver 2.5 added/////////////////////////////////////// -PLAYM4_API BOOL __stdcall PlayM4_SetDisplayType(LONG nPort,LONG nType); -PLAYM4_API long __stdcall PlayM4_GetDisplayType(LONG nPort); -//2 -////////////////ver 3.0 added/////////////////////////////////////// -PLAYM4_API BOOL __stdcall PlayM4_SetDecCBStream(LONG nPort,DWORD nStream); -PLAYM4_API BOOL __stdcall PlayM4_SetDisplayRegion(LONG nPort,DWORD nRegionNum, RECT *pSrcRect, HWND hDestWnd, BOOL bEnable); -PLAYM4_API BOOL __stdcall PlayM4_RefreshPlayEx(LONG nPort,DWORD nRegionNum); -#if (WINVER >= 0x0400) -//Note: The funtion must be builded under win2000 or above with Microsoft Platform sdk. -// You can download the sdk from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/; -PLAYM4_API BOOL __stdcall PlayM4_SetDDrawDeviceEx(LONG nPort,DWORD nRegionNum,DWORD nDeviceNum); -#endif -//4 -/////////////////v3.2 added///////////////////////////////////////// - -PLAYM4_API BOOL __stdcall PlayM4_GetRefValue(LONG nPort,BYTE *pBuffer, DWORD *pSize); -PLAYM4_API BOOL __stdcall PlayM4_SetRefValue(LONG nPort,BYTE *pBuffer, DWORD nSize); -PLAYM4_API BOOL __stdcall PlayM4_OpenStreamEx(LONG nPort,PBYTE pFileHeadBuf,DWORD nSize,DWORD nBufPoolSize); -PLAYM4_API BOOL __stdcall PlayM4_CloseStreamEx(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_InputVideoData(LONG nPort,PBYTE pBuf,DWORD nSize); -PLAYM4_API BOOL __stdcall PlayM4_InputAudioData(LONG nPort,PBYTE pBuf,DWORD nSize); -PLAYM4_API BOOL __stdcall PlayM4_RegisterDrawFun(LONG nPort,void (CALLBACK* DrawFun)(long nPort,HDC hDc,LONG nUser),LONG nUser); -PLAYM4_API BOOL __stdcall PlayM4_RigisterDrawFun(LONG nPort,void (CALLBACK* DrawFun)(long nPort,HDC hDc,LONG nUser),LONG nUser); -//8 -//////////////////v3.4///////////////////////////////////////////////////// -PLAYM4_API BOOL __stdcall PlayM4_SetTimerType(LONG nPort,DWORD nTimerType,DWORD nReserved); -PLAYM4_API BOOL __stdcall PlayM4_GetTimerType(LONG nPort,DWORD *pTimerType,DWORD *pReserved); -PLAYM4_API BOOL __stdcall PlayM4_ResetBuffer(LONG nPort,DWORD nBufType); -PLAYM4_API DWORD __stdcall PlayM4_GetBufferValue(LONG nPort,DWORD nBufType); - -//////////////////V3.6///////////////////////////////////////////////////////// -PLAYM4_API BOOL __stdcall PlayM4_AdjustWaveAudio(LONG nPort,LONG nCoefficient); -PLAYM4_API BOOL __stdcall PlayM4_SetVerifyCallBack(LONG nPort, DWORD nBeginTime, DWORD nEndTime, void (__stdcall * funVerify)(long nPort, FRAME_POS * pFilePos, DWORD bIsVideo, DWORD nUser), DWORD nUser); -PLAYM4_API BOOL __stdcall PlayM4_SetAudioCallBack(LONG nPort, void (__stdcall * funAudio)(long nPort, char * pAudioBuf, long nSize, long nStamp, long nType, long nUser), long nUser); -PLAYM4_API BOOL __stdcall PlayM4_SetEncTypeChangeCallBack(LONG nPort,void(CALLBACK *funEncChange)(long nPort,long nUser),long nUser); -PLAYM4_API BOOL __stdcall PlayM4_SetColor(LONG nPort, DWORD nRegionNum, int nBrightness, int nContrast, int nSaturation, int nHue); -PLAYM4_API BOOL __stdcall PlayM4_GetColor(LONG nPort, DWORD nRegionNum, int *pBrightness, int *pContrast, int *pSaturation, int *pHue); -PLAYM4_API BOOL __stdcall PlayM4_SetEncChangeMsg(LONG nPort,HWND hWnd,UINT nMsg); -PLAYM4_API BOOL __stdcall PlayM4_GetOriginalFrameCallBack(LONG nPort, BOOL bIsChange,BOOL bNormalSpeed,long nStartFrameNum,long nStartStamp,long nFileHeader,void(CALLBACK *funGetOrignalFrame)(long nPort,FRAME_TYPE *frameType, long nUser),long nUser); -PLAYM4_API BOOL __stdcall PlayM4_GetFileSpecialAttr(LONG nPort, DWORD *pTimeStamp,DWORD *pFileNum ,DWORD *pReserved); -PLAYM4_API DWORD __stdcall PlayM4_GetSpecialData(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetCheckWatermarkCallBack(LONG nPort,void(CALLBACK* funCheckWatermark)(long nPort,WATERMARK_INFO* pWatermarkInfo,DWORD nUser),DWORD nUser); -PLAYM4_API BOOL __stdcall PlayM4_SetImageSharpen(LONG nPort,DWORD nLevel); -PLAYM4_API BOOL __stdcall PlayM4_SetDecodeFrameType(LONG nPort,DWORD nFrameType); -PLAYM4_API BOOL __stdcall PlayM4_SetPlayMode(LONG nPort,BOOL bNormal); -PLAYM4_API BOOL __stdcall PlayM4_SetOverlayFlipMode(LONG nPort,BOOL bTrue); -PLAYM4_API BOOL __stdcall PlayM4_SetOverlayPriInfoFlag(LONG nPort, DWORD nIntelType, BOOL bTrue,const char *pFontPath); - -//PLAYM4_API DWORD __stdcall PlayM4_GetAbsFrameNum(LONG nPort); - -//////////////////V4.7.0.0////////////////////////////////////////////////////// -////convert yuv to jpeg -PLAYM4_API BOOL __stdcall PlayM4_ConvertToJpegFile(char * pBuf,long nSize,long nWidth,long nHeight,long nType,char *sFileName); -PLAYM4_API BOOL __stdcall PlayM4_SetJpegQuality(long nQuality); -//set deflash -PLAYM4_API BOOL __stdcall PlayM4_SetDeflash(LONG nPort,BOOL bDefalsh); -//PLAYM4_API BOOL __stdcall PlayM4_SetDecCallBackEx(LONG nPort,void (CALLBACK* DecCBFun)(long nPort,char * pBuf,long nSize,FRAME_INFO * pFrameInfo, long nReserved1,long nReserved2), char* pDest, long nDestSize); -//////////////////V4.8.0.0///////////////////////////////////////////////////////// -//check discontinuous frame number as error data? -PLAYM4_API BOOL __stdcall PlayM4_CheckDiscontinuousFrameNum(LONG nPort, BOOL bCheck); -//get bmp or jpeg -PLAYM4_API BOOL __stdcall PlayM4_GetBMP(LONG nPort,PBYTE pBitmap,DWORD nBufSize,DWORD* pBmpSize); -PLAYM4_API BOOL __stdcall PlayM4_GetJPEG(LONG nPort,PBYTE pJpeg,DWORD nBufSize,DWORD* pJpegSize); -//dec call back mend -PLAYM4_API BOOL __stdcall PlayM4_SetDecCallBackMend(LONG nPort,void (CALLBACK* DecCBFun)(long nPort,char * pBuf,long nSize,FRAME_INFO * pFrameInfo, long nUser,long nReserved2), long nUser); -PLAYM4_API BOOL __stdcall PlayM4_SetSecretKey(LONG nPort, LONG lKeyType, char *pSecretKey, LONG lKeyLen); - -// add by gb 2007-12-23 -PLAYM4_API BOOL __stdcall PlayM4_SetFileEndCallback(LONG nPort, void(CALLBACK*FileEndCallback)(long nPort, void *pUser), void *pUser); - -// add by gb 080131 version 4.9.0.1 -PLAYM4_API BOOL __stdcall PlayM4_GetPort(LONG* nPort); -PLAYM4_API BOOL __stdcall PlayM4_FreePort(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_SetDisplayCallBackEx(LONG nPort,void (CALLBACK* DisplayCBFun)(DISPLAY_INFO *pstDisplayInfo), long nUser); -PLAYM4_API BOOL __stdcall PlayM4_SkipErrorData(LONG nPort, BOOL bSkip); -PLAYM4_API BOOL __stdcall PlayM4_SetDecCallBackExMend(LONG nPort, void (CALLBACK* DecCBFun)(long nPort, char* pBuf, long nSize, FRAME_INFO* pFrameInfo, - long nUser, long nReserved2), char* pDest, long nDestSize, long nUser); -//reverse play add by chenjie 110609 -PLAYM4_API BOOL __stdcall PlayM4_ReversePlay(LONG nPort); -PLAYM4_API BOOL __stdcall PlayM4_GetSystemTime(LONG nPort, PLAYM4_SYSTEM_TIME *pstSystemTime); - -//PLAYM4_API BOOL __stdcall PlayM4_SetDecodeERC(long nPort, unsigned int nLevel); - -#ifndef PLAYM4_SESSION_INFO_TAG -#define PLAYM4_SESSION_INFO_TAG -//nProtocolType -#define PLAYM4_PROTOCOL_RTSP 1 -//nSessionInfoType -#define PLAYM4_SESSION_INFO_SDP 1 - -typedef struct _PLAYM4_SESSION_INFO_ //Ϣṹ -{ - int nSessionInfoType; //ϢͣSDP纣˽Ϣͷ - int nSessionInfoLen; //Ϣ - unsigned char* pSessionInfoData; //Ϣ - -} PLAYM4_SESSION_INFO; -#endif - -PLAYM4_API BOOL __stdcall PlayM4_OpenStreamAdvanced(LONG nPort, int nProtocolType, PLAYM4_SESSION_INFO* pstSessionInfo, DWORD nBufPoolSize); - -#define R_ANGLE_0 -1 //ת -#define R_ANGLE_L90 0 //ת90 -#define R_ANGLE_R90 1 //ת90 -#define R_ANGLE_180 2 //ת180 - -PLAYM4_API BOOL __stdcall PlayM4_SetRotateAngle(LONG nPort, DWORD nRegionNum, DWORD dwType); - -#ifndef PLAYM4_ADDITION_INFO_TAG -#define PLAYM4_ADDITION_INFO_TAG -typedef struct _PLAYM4_ADDITION_INFO_ //Ϣṹ -{ - BYTE* pData; // - DWORD dwDatalen; //ݳ - DWORD dwDataType; // - DWORD dwTimeStamp; //ʱ -} PLAYM4_ADDITION_INFO; -#endif - -//dwGroupIndex Լȡֵ0~3һ汾ȡֻͬͬclosestream -PLAYM4_API BOOL __stdcall PlayM4_SetSycGroup(LONG nPort, DWORD dwGroupIndex); -//ݲʵִ˺ͬõʼʱ䲻һ£СʱΪ㣬ͬһֻһ· -PLAYM4_API BOOL __stdcall PlayM4_SetSycStartTime(LONG nPort, PLAYM4_SYSTEM_TIME *pstSystemTime); - - -// ʵصĽӿ -#ifndef FISH_EYE_TAG -#define FISH_EYE_TAG - -// װ -typedef enum tagFECPlaceType -{ - FEC_PLACE_WALL = 0x1, // װʽ (ˮƽ) - FEC_PLACE_FLOOR = 0x2, // 氲װ () - FEC_PLACE_CEILING = 0x3, // װʽ () - -}FECPLACETYPE; - -typedef enum tagFECCorrectType -{ - FEC_CORRECT_PTZ = 0x100, // PTZ - FEC_CORRECT_180 = 0x200, // 180Ƚ Ӧ2P - FEC_CORRECT_360 = 0x300, // 360ȫ Ӧ1P - FEC_CORRECT_LAT = 0x400 //γչ - -}FECCORRECTTYPE; - -typedef struct tagCycleParam -{ - float fRadiusLeft; // ԲX - float fRadiusRight; // ԲұX - float fRadiusTop; // ԲϱY - float fRadiusBottom; // Բ±Y - -}CYCLEPARAM; - -typedef struct tagPTZParam -{ - float fPTZPositionX; // PTZ ʾλ X - float fPTZPositionY; // PTZ ʾλ Y - -}PTZPARAM; - - -// -/********************************************* - - - ********************************************/ - - -// ±DZ - - -#define FEC_UPDATE_RADIUS 0x1 -#define FEC_UPDATE_PTZZOOM 0x2 -#define FEC_UPDATE_WIDESCANOFFSET 0x4 -#define FEC_UPDATE_PTZPARAM 0x8 - - -typedef struct tagFECParam -{ - - - unsigned int nUpDateType; // µ - - unsigned int nPlaceAndCorrect; // װʽͽʽֻڻȡSetParamʱЧ,ֵʾװʽͽʽĺ - - PTZPARAM stPTZParam; // PTZ УIJ - - CYCLEPARAM stCycleParam; // ͼԲIJ - - float fZoom; // PTZ ʾķΧ - - float fWideScanOffset; // 180360УƫƽǶ - - int nResver[16]; // ֶ - -}FISHEYEPARAM; - -typedef void (__stdcall * FISHEYE_CallBack )( void* pUser , unsigned int nSubPort , unsigned int nCBType , void * hDC , unsigned int nWidth , unsigned int nHeight); - -#endif -// -PLAYM4_API BOOL __stdcall PlayM4_FEC_Enable(LONG nPort); - -// رģ -PLAYM4_API BOOL __stdcall PlayM4_FEC_Disable(LONG nPort); - -// ȡ۽Ӷ˿ [1~31] -PLAYM4_API BOOL __stdcall PlayM4_FEC_GetPort(LONG nPort, unsigned int* nSubPort,FECPLACETYPE emPlaceType,FECCORRECTTYPE emCorrectType); - -// ɾ۽Ӷ˿ -PLAYM4_API BOOL __stdcall PlayM4_FEC_DelPort(LONG nPort , unsigned int nSubPort); - -// ۽ -PLAYM4_API BOOL __stdcall PlayM4_FEC_SetParam(LONG nPort , unsigned int nSubPort , FISHEYEPARAM * pPara); - -// ȡ۽ -PLAYM4_API BOOL __stdcall PlayM4_FEC_GetParam(LONG nPort , unsigned int nSubPort , FISHEYEPARAM * pPara); - -// ʾڣʱл -PLAYM4_API BOOL __stdcall PlayM4_FEC_SetWnd(LONG nPort , unsigned int nSubPort , void * hWnd); - -// ۴ڵĻͼص -PLAYM4_API BOOL __stdcall PlayM4_FEC_SetCallBack(LONG nPort , unsigned int nSubPort , FISHEYE_CallBack cbFunc , void * pUser); - -//motionflow -PLAYM4_API BOOL __stdcall PlayM4_MotionFlow(LONG nPort, DWORD dwAdjustType); - - -//ͼǿ -#ifndef PLAYM4_HIKVIE_TAG -#define PLAYM4_HIKVIE_TAG - -typedef struct _PLAYM4_VIE_DYNPARAM_ -{ - int moduFlag; //õ㷨ģ飬PLAYM4_VIE_MODULESж - // PLAYM4_VIE_MODU_ADJ | PLAYM4_VIE_MODU_EHAN - //ģú󣬱ӦIJ - //PLAYM4_VIE_MODU_ADJ - int brightVal; //ȵֵ[-255, 255] - int contrastVal; //Աȶȵֵ[-256, 255] - int colorVal; //Ͷȵֵ[-256, 255] - //PLAYM4_VIE_MODU_EHAN - int toneScale; //˲Χ[0, 100] - int toneGain; //ԱȶȵڣȫֶԱȶֵ[-256, 255] - int toneOffset; //ȵڣƽֵƫƣ[-255, 255] - int toneColor; //ɫڣɫֵ[-256, 255] - //PLAYM4_VIE_MODU_DEHAZE - int dehazeLevel; //ȥǿȣ[0, 255] - int dehazeTrans; //͸ֵ[0, 255] - int dehazeBright; //Ȳ[0, 255] - //PLAYM4_VIE_MODU_DENOISE - int denoiseLevel; //ȥǿȣ[0, 255] - //PLAYM4_VIE_MODU_SHARPEN - int usmAmount; //ǿȣ[0, 255] - int usmRadius; //񻯰뾶[1, 15] - int usmThreshold; //ֵ[0, 255] - //PLAYM4_VIE_MODU_DEBLOCK - int deblockLevel; //ȥǿȣ[0, 100] - //PLAYM4_VIE_MODU_LENS - int lensWarp; //[-256, 255] - int lensZoom; //[-256, 255] - //PLAYM4_VIE_MODU_CRB - //Ӧ -} PLAYM4_VIE_PARACONFIG; - -typedef enum _PLAYM4_VIE_MODULES -{ - PLAYM4_VIE_MODU_ADJ = 0x00000001, //ͼ - PLAYM4_VIE_MODU_EHAN = 0x00000002, //ֲǿģ - PLAYM4_VIE_MODU_DEHAZE = 0x00000004, //ȥģ - PLAYM4_VIE_MODU_DENOISE = 0x00000008, //ȥģ - PLAYM4_VIE_MODU_SHARPEN = 0x00000010, //ģ - PLAYM4_VIE_MODU_DEBLOCK = 0x00000020, //ȥ˲ģ - PLAYM4_VIE_MODU_CRB = 0x00000040, //ɫƽģ - PLAYM4_VIE_MODU_LENS = 0x00000080, //ͷģ -}PLAYM4_VIE_MODULES; -#endif - -//ùر/ģ -//dwModuFlagӦPLAYM4_VIE_MODULES, -//ģ鿪ģڼĬϵIJ; -//رģϴõIJ -//ӿڵãڸýӿڿģ󣻷򣬷ش -PLAYM4_API BOOL __stdcall PlayM4_VIE_SetModuConfig(LONG lPort,int nModuFlag,BOOL bEnable); - -//ͼǿNULLȫͼȫͼȫͼС16*16 -//֧Ƚ˵4һ汾ֻ֧һҪصصͱ -PLAYM4_API BOOL __stdcall PlayM4_VIE_SetRegion(LONG lPort,LONG lRegNum,RECT* pRect); - -//ȡģ -PLAYM4_API BOOL __stdcall PlayM4_VIE_GetModuConfig(LONG lPort,int* pdwModuFlag); - -//ò -//δģIJñ -PLAYM4_API BOOL __stdcall PlayM4_VIE_SetParaConfig(LONG lPort,PLAYM4_VIE_PARACONFIG* pParaConfig); - -//ȡģIJ -PLAYM4_API BOOL __stdcall PlayM4_VIE_GetParaConfig(LONG lPort,PLAYM4_VIE_PARACONFIG* pParaConfig); - -//Ƶͬӿ -PLAYM4_API BOOL __stdcall PlayM4_SyncToAudio(LONG nPort, BOOL bSyncToAudio); - -// ˽Ϣģ -typedef enum _PLAYM4_PRIDATA_RENDER -{ - PLAYM4_RENDER_ANA_INTEL_DATA = 0x00000001, //ܷ - PLAYM4_RENDER_MD = 0x00000002, //ƶ - PLAYM4_RENDER_ADD_POS = 0x00000004, //POSϢ - PLAYM4_RENDER_ADD_PIC = 0x00000008, //ͼƬ - PLAYM4_RENDER_FIRE_DETCET = 0x00000010, //ȳϢ - PLAYM4_RENDER_TEM = 0x00000020, //¶Ϣ - PLAYM4_RENDER_TRACK_TEM = 0x00000040, //켣Ϣ - PLAYM4_RENDER_THERMAL = 0x00000080 //̻Ϣ -}PLAYM4_PRIDATA_RENDER; - -typedef enum _PLAYM4_THERMAL_FLAG -{ - PLAYM4_THERMAL_FIREMASK = 0x00000001, //̻ - PLAYM4_THERMAL_RULEGAS = 0x00000002, // - PLAYM4_THERMAL_TARGETGAS = 0x00000004 //Ŀ -}PLAYM4_THERMAL_FLAG; - -typedef enum _PLAYM4_FIRE_ALARM{ - PLAYM4_FIRE_FRAME_DIS = 0x00000001, //ʾ - PLAYM4_FIRE_MAX_TEMP = 0x00000002, //¶ - PLAYM4_FIRE_MAX_TEMP_POSITION = 0x00000004, //¶λʾ - PLAYM4_FIRE_DISTANCE = 0x00000008, //¶Ⱦ}PLAYM4_FIRE_ALARM -}PLAYM4_FIRE_ALARM; - -typedef enum _PLAYM4_TEM_FLAG{ - PLAYM4_TEM_REGION_BOX = 0x00000001, // - PLAYM4_TEM_REGION_LINE = 0x00000002, //߲ - PLAYM4_TEM_REGION_POINT = 0x00000004, //}PLAYM4_TEM_FLAG -}PLAYM4_TEM_FLAG; - -typedef enum _PLAYM4_TRACK_FLAG -{ - PLAYM4_TRACK_PEOPLE = 0x00000001, //˹켣 - PLAYM4_TRACK_VEHICLE = 0x00000002, //켣 -}PLAYM4_TRACK_FLAG; - -typedef struct TI_PTZ_INFO_ -{ - unsigned short dwDefVer; //ṹ汾 - unsigned short dwLength; //PTZ_infoȣ8ֽΪλ - DWORD dwP; //P0~3600 - DWORD dwT; //T0~3600 - DWORD dwZ; //Z0~3600 - BYTE chFSMState; //״̬ - BYTE bClearFocusState; //۽״̬0,1 - BYTE reserved[6]; //6ֽڱ -}PTZ_INFO; - - -// Ϣ -PLAYM4_API BOOL __stdcall PlayM4_RenderPrivateData(LONG nPort, int nIntelType, BOOL bTrue); - -PLAYM4_API BOOL __stdcall PlayM4_RenderPrivateDataEx(LONG nPort, int nIntelType, int nSubType, BOOL bTrue); - -// ص,nType=0ʾܱλ仯ͻصnType=1ʾмλص -PLAYM4_API BOOL __stdcall PlayM4_SetEncryptTypeCallBack(LONG nPort, DWORD nType, - void (CALLBACK* EncryptTypeCBFun)(long nPort, ENCRYPT_INFO* pEncryptInfo, long nUser, long nReserved2), long nUser); -//lType: 1 ʾȡǰʾ֡PTZϢضṹʽ洢pInfoڣplLenسϢ -PLAYM4_API BOOL __stdcall PlayM4_GetStreamAdditionalInfo(LONG nPort, LONG lType, BYTE* pInfo, LONG* plLen); - - -#endif //_PLAYM4_H_ diff --git a/src/include/Hik/arm64/DataType.h b/src/include/Hik/arm64/DataType.h deleted file mode 100644 index 5b75bd1..0000000 --- a/src/include/Hik/arm64/DataType.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef DATA_TYPE_H -#define DATA_TYPE_H -#define FRAME_HEAD_MAGIC 0x03211546 -#define SYSTEM_SYNC_ID 2 - -#ifdef __LINUX__ -typedef unsigned char UCHAR; -typedef unsigned char* PBYTE; -typedef char* LPTSTR; -typedef unsigned short USHORT; -typedef int HANDLE; -typedef unsigned long ULONG; -typedef unsigned long DWORD; -#endif //#ifdef __LINUX__ - -typedef struct tagFrameInfo{ - ULONG SyncId; /* 00000000000000000000000000010b */ - ULONG Magic; - USHORT FrameType; /* I frames , P frames or BBP frames Audio frames or dsp status etc */ - ULONG Length; /*lenth include this header */ - ULONG FrameNumber; /* serial number of this frame */ - UCHAR Breakable; /* indicate if stream breakable, you could restart new file(with PktSysHeader) if true */ - /*ULONG Ack;*/ - ULONG PTS; /* system clock when this frames is processed */ -}TMFRAME_HEADER, *PTMFRAME_HEADER; - -typedef enum { - StandardNone = 0x80000000, - StandardNTSC = 0x00000001, - StandardPAL = 0x00000002, - StandardSECAM = 0x00000004, -} VideoStandard_t; - - -typedef enum { - PktError = 0, - PktIFrames = 0x0001, - PktPFrames = 0x0002, - PktBBPFrames = 0x0004, - PktAudioFrames = 0x0008, - PktMotionDetection = 0x00010, - PktDspStatus = 0x00020, - PktOrigImage = 0x00040, - PktSysHeader = 0x00080, - PktBPFrames = 0x00100, - PktSFrames = 0x00200, - PktSubIFrames = 0x00400, - PktSubPFrames = 0x00800, - PktSubBBPFrames = 0x01000, - PktSubSysHeader = 0x02000 -}FrameType_t; - -typedef struct tagVersion{ - ULONG DspVersion, DspBuildNum; - ULONG DriverVersion, DriverBuildNum; - ULONG SDKVersion, SDKBuildNum; -}VERSION_INFO, *PVERSION_INFO; - -typedef enum { - ENC_CIF_FORMAT = 0, - ENC_QCIF_FORMAT = 1, - ENC_2CIF_FORMAT = 2, - ENC_4CIF_FORMAT = 3, - ENC_QQCIF_FORMAT = 4, - ENC_CIFQCIF_FORMAT =5, - ENC_CIFQQCIF_FORMAT =6, - ENC_DCIF_FORMAT =7, - ENC_VGA_FORMAT=8 -}PictureFormat_t; - -typedef struct tagMotionData{ - PictureFormat_t PicFormat; - ULONG HorizeBlocks; - ULONG VerticalBlocks; - ULONG BlockSize; -}MOTION_DATA_HEADER, *PMOTION_DATA_HEADER; - - -#define _OSD_BASE 0x9000 /*base address of special character*/ -#define _OSD_YEAR4 (_OSD_BASE+0) /*show year time by length of 4 , for example: 2005*/ -#define _OSD_YEAR2 (_OSD_BASE+1) /*show year time by length of 2, for example: 05 */ -#define _OSD_MONTH3 (_OSD_BASE+2) /*show month time in English, for example: Jan*/ -#define _OSD_MONTH2 (_OSD_BASE+3) /*show month time by two Arabic numerals, for example: 07*/ -#define _OSD_DAY (_OSD_BASE+4) /*show day time by two Arabic numerals, for example: 31*/ -#define _OSD_WEEK3 (_OSD_BASE+5) /*show week time in English: MONSUN*/ -#define _OSD_CWEEK1 (_OSD_BASE+6) /*show week time in Chinese GB code*/ -#define _OSD_HOUR24 (_OSD_BASE+7) /*show 24 hours clock: 0023 */ -#define _OSD_HOUR12 (_OSD_BASE+8) /*show 12 hours clock: 0012*/ -#define _OSD_MINUTE (_OSD_BASE+9) /*show minute time by length of 2: 0059*/ -#define _OSD_SECOND (_OSD_BASE+10) /*show second time by length of 2: 0059*/ -#define _OSD_MILISECOND (_OSD_BASE+11) /*show millisecond time by length of 3: 000~999*/ -#define _OSD_APM (_OSD_BASE+14) /*show a.m. or p.m. by length of 2 bit, AM or PM*/ - -//For new added APIs to set OSD: SetEncoderOsdDisplayMode, SetDecoderOsdDisplayMode and SetDisplayOsdDisplayMode in v6.0 SDK, we use new basic address of special character. -#define _OSD_BASE_EX 0x90000 /*base address of special character*/ -#define _OSD_YEAR4_EX (_OSD_BASE_EX+0) /*the same as _OSD_YEAR4*/ -#define _OSD_YEAR2_EX (_OSD_BASE_EX+1) /*the same as _OSD_YEAR2*/ -#define _OSD_MONTH3_EX (_OSD_BASE_EX+2) /*the same as _OSD_MONTH3*/ -#define _OSD_MONTH2_EX (_OSD_BASE_EX+3) /*the same as _OSD_MONTH2*/ -#define _OSD_DAY_EX (_OSD_BASE_EX+4) /*the same as _OSD_DAY*/ -#define _OSD_WEEK3_EX (_OSD_BASE_EX+5) /*the same as _OSD_WEEK3*/ -#define _OSD_CWEEK1_EX (_OSD_BASE_EX+6) /*the same as _OSD_CWEEK1*/ -#define _OSD_HOUR24_EX (_OSD_BASE_EX+7) /*the same as _OSD_HOUR24*/ -#define _OSD_HOUR12_EX (_OSD_BASE_EX+8) /*the same as _OSD_HOUR12*/ -#define _OSD_MINUTE_EX (_OSD_BASE_EX+9) /*the same as _OSD_MINUTE*/ -#define _OSD_SECOND_EX (_OSD_BASE_EX+10) /*the same as _OSD_SECOND*/ -#define _OSD_MILISECOND_EX (_OSD_BASE_EX+11) /*the same as _OSD_MILISECOND*/ -#define _OSD_APM_EX (_OSD_BASE_EX+14) /*the same as _OSD_APM*/ - - -#endif diff --git a/src/include/Hik/arm64/DecodeCardSdk.h b/src/include/Hik/arm64/DecodeCardSdk.h deleted file mode 100644 index 0773727..0000000 --- a/src/include/Hik/arm64/DecodeCardSdk.h +++ /dev/null @@ -1,451 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// DS-40xxHC/HF BOARD SYSTEM SDK // -/////////////////////////////////////////////////////////////////////////// - -#ifndef DECODECARD_SDK_H -#define DECODECARD_SDK_H - -#include "datatype.h" - -#define DLLEXPORT_API extern "C" __declspec(dllexport) -#define ERR_WAIT_TIMEOUT 0xc0000001 -#define ERR_INVALID_HANDLE 0xc0000002 -#define ERR_INVALID_ARGUMENT 0xc0000003 -#define ERR_DDRAW_CREATE_FAILED 0xc0000004 -#define ERR_DDRAW_CAPS_FAULT 0xc0000005 -#define ERR_SET_COOPERATIVELEVEL_FAILED 0xc0000006 -#define ERR_PRIMARY_SURFACE_CREATE_FAILED 0xc0000007 -#define ERR_GET_OVERLAY_ADDRESS_FAILED 0xc0000008 -#define ERR_OVERLAY_SURFACE_CREATE_FAILED 0xc0000009 -#define ERR_OVERLAY_UPDATE_FAILED 0xc000000a -#define ERR_TMMAN_FAILURE 0xc000000b -#define ERR_CHANNELMAGIC_MISMATCH 0xc000000c -#define ERR_CALLBACK_REGISTERED 0xc000000d -#define ERR_QUEUE_OVERFLOW 0xc000000e -#define ERR_STREAM_THREAD_FAILURE 0xc000000f -#define ERR_THREAD_STOP_ERROR 0xc0000010 -#define ERR_NOT_SUPPORT 0xc0000011 -#define ERR_OUTOF_MEMORY 0xc0000012 -#define ERR_DSP_BUSY 0xc0000013 -#define ERR_DATA_ERROR 0xc0000014 -#define ERR_KERNEL 0xc0000016 -#define ERR_OFFSCREEN_CREATE_FAILED 0xc0000017 -#define ERR_MULTICLOCK_FAILURE 0xc0000018 -#define ERR_INVALID_DEVICE 0xc0000019 -#define ERR_INVALID_DRIVER 0xc000001a -//error code for MD card -#define HWERR_SUCCESS 0 -#define HWERR_ALLOCATE_MEMORY 0xc1000001 -#define HWERR_INVALID_HANDLE 0xc1000002 -#define HWERR_DDRAW_CREATE_FAILED 0xc1000003 -#define HWERR_DDRAW_CAPS_FAULT 0xc1000004 -#define HWERR_SET_COOPERATIVELEVEL_FAILED 0xc1000005 -#define HWERR_PRIMARY_SURFACE_CREATE_FAILED 0xc1000006 -#define HWERR_OVERLAY_CREATE_FAILED 0xc1000007 -#define HWERR_GET_OVERLAY_ADDRESS_FAILED 0xc1000008 -#define HWERR_OVERLAY_UPDATE_FAILED 0xc1000009 -#define HWERR_SURFACE_NULL 0xc100000a -#define HWERR_FILEHEADER_UNKNOWN 0xc100000b -#define HWERR_CREATE_FILE_FAILED 0xc100000c -#define HWERR_FILE_SIZE_ZERO 0xc100000d -#define HWERR_FILE_SIZE_INVALID 0xc100000d -#define HWERR_CREATE_OBJ_FAILED 0xc100000e -#define HWERR_CHANNELMAGIC_MISMATCH 0xc100000f -#define HWERR_PARA_OVER 0xc1000010 -#define HWERR_ORDER 0xc1000011 -#define HWERR_COMMAND 0xc1000012 -#define HWERR_UNSUPPORTED 0xc1000013 -#define HWERR_DSPOPEN 0xc1000014 -#define HWERR_DSPLOAD 0xc1000015 -#define HWERR_ALLOCATE_DSPMEMORY 0xc1000016 -#define HWERR_DSPCHECHER 0xc1000017 -#define HWERR_IMGFILE_UNKNOWN 0xc1000018 -#define HWERR_INVALID_FILE 0xc1000019 -//standart -#define HW_PAL 2 -#define HW_NTSC 1 -//jump direction -#define HW_JUMP_FORWARD 309 -#define HW_JUMP_BACKWARD 310 - - -typedef enum tagTypeVideoFormat -{ - vdfRGB8A_233 = 0x00000001, - vdfRGB8R_332 = 0x00000002, - vdfRGB15Alpha = 0x00000004, - vdfRGB16 = 0x00000008, - vdfRGB24 = 0x00000010, - vdfRGB24Alpha = 0x00000020, - - vdfYUV420Planar = 0x00000040, - vdfYUV422Planar = 0x00000080, - vdfYUV411Planar = 0x00000100, - vdfYUV420Interspersed = 0x00000200, - vdfYUV422Interspersed = 0x00000400, - vdfYUV411Interspersed = 0x00000800, - vdfYUV422Sequence = 0x00001000, /* U0, Y0, V0, Y1: For VO overlay */ - vdfYUV422SequenceAlpha = 0x00002000, - /* U0, Y0, V0, Y1: For VO overlay, with low bit for alpha blending */ - vdfMono = 0x00004000, /* 8 bit monochrome */ - - vdfYUV444Planar = 0x00008000, -}TypeVideoFormat; - - -typedef enum _BitrateControlType_t -{ - brCBR = 0, - brVBR = 1, -}BitrateControlType_t; - -typedef enum _BOARD_TYPE_DS -{ - DS400XM =0, - DS400XH =1, - DS4004HC =2, - DS4008HC =3, - DS4016HC =4, - DS4001HF =5, - DS4004HF =6, - DS4002MD =7, - DS4004MD =8, //4004MD - DS4016HCS =9, //4016HCS - DS4002HT =10, //4002HT - DS4004HT =11, //4004HT - DS4008HT =12, //4008HT - DS4004HC_PLUS =13, //4004HC+ - DS4008HC_PLUS =14, //4008HC+ - DS4016HC_PLUS =15, //4016HC+ - DS4008HF =16, //4008HF - DS4008MD =17, //4008MD - DS4008HS =18, //4008HS - DS4016HS =19, //4016HS - INVALID_BOARD_TYPE =0xffffffff, -}BOARD_TYPE_DS; - -#define STREAM_TYPE_VIDEO 1 -#define STREAM_TYPE_AUDIO 2 -#define STREAM_TYPE_AVSYNC 3 -#define DRAWFUN(x) void (CALLBACK* x)(long nPort,HDC hDc,LONG nUser) - - -typedef void (*LOGRECORD_CALLBACK)(char *str, void *context); -typedef int (*STREAM_READ_CALLBACK)(ULONG channelNumber, void *context); -typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,void *DataBuf,DWORD Length,int FrameType,void *context); - -typedef struct tagChannelCapability{ - UCHAR bAudioPreview; - UCHAR bAlarmIO; - UCHAR bWatchDog; -}CHANNEL_CAPABILITY, *PCHANNEL_CAPABILITY; - -typedef struct tagFramsStatistics{ - ULONG VideoFrames; - ULONG AudioFrames; - ULONG FramesLost; - ULONG QueueOverflow; - ULONG CurBps; -}FRAMES_STATISTICS, *PFRAMES_STATISTICS; - -DLLEXPORT_API int __stdcall InitDSPs(); -DLLEXPORT_API int __stdcall DeInitDSPs(); -DLLEXPORT_API HANDLE __stdcall ChannelOpen(int ChannelNum); -DLLEXPORT_API int __stdcall ChannelClose(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetTotalChannels(); -DLLEXPORT_API int __stdcall GetTotalDSPs(); -DLLEXPORT_API int __stdcall StartVideoPreview(HANDLE hChannelHandle,HWND WndHandle, RECT *rect, BOOLEAN bOverlay, int VideoFormat, int FrameRate); -DLLEXPORT_API int __stdcall StopVideoPreview(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetVideoPara(HANDLE hChannelHandle, int Brightness, int Contrast, int Saturation, int Hue); -DLLEXPORT_API int __stdcall GetVideoPara(HANDLE hChannelHandle, VideoStandard_t *VideoStandard, int *Brightness, int *Contrast, int *Saturation, int *Hue); -DLLEXPORT_API int __stdcall GetVideoSignal(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetSDKVersion(PVERSION_INFO VersionInfo); -DLLEXPORT_API int __stdcall GetCapability(HANDLE hChannelHandle, CHANNEL_CAPABILITY *Capability); -DLLEXPORT_API int __stdcall GetLastErrorNum(HANDLE hChannelHandle, ULONG *DspError, ULONG *SdkError); -DLLEXPORT_API int __stdcall SetStreamType(HANDLE hChannelHandle, USHORT Type); -DLLEXPORT_API int __stdcall GetStreamType(HANDLE hChannelHandle, USHORT *StreamType); -DLLEXPORT_API int __stdcall GetFramesStatistics(HANDLE hChannelHandle, PFRAMES_STATISTICS framesStatistics); -DLLEXPORT_API int __stdcall StartMotionDetection(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetBoardInfo(HANDLE hChannelHandle, ULONG *BoardType, UCHAR *SerialNo); -DLLEXPORT_API int __stdcall StopMotionDetection(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall GetOriginalImage(HANDLE hChannelHandle, UCHAR *ImageBuf, ULONG *Size); -DLLEXPORT_API int __stdcall RegisterLogRecordCallback(LOGRECORD_CALLBACK LogRecordFunc, void *Context); -DLLEXPORT_API int __stdcall SetAudioPreview(HANDLE hChannelHandle, BOOL bEnable); -DLLEXPORT_API int __stdcall ReadStreamData(HANDLE hChannelHandle, void *DataBuf, DWORD *Length, int *FrameType); -DLLEXPORT_API int __stdcall RegisterMessageNotifyHandle(HWND hWnd, UINT MessageId); -DLLEXPORT_API int __stdcall StartVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall StopVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetIBPMode(HANDLE hChannelHandle, int KeyFrameIntervals, int BFrames, int PFrames, int FrameRate); -DLLEXPORT_API int __stdcall SetDefaultQuant(HANDLE hChannelHandle, int IQuantVal, int PQuantVal, int BQuantVal); -DLLEXPORT_API int __stdcall SetOsd(HANDLE hChannelHandle, BOOL Enable); - -DLLEXPORT_API int __stdcall SetLogo(HANDLE hChannelHandle, int x, int y, int w, int h, unsigned char *yuv); -DLLEXPORT_API int __stdcall StopLogo(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetupMotionDetection(HANDLE hChannelHandle, RECT *RectList, int iAreas); -DLLEXPORT_API int __stdcall MotionAnalyzer(HANDLE hChannelHandle, char *MotionData, int iThreshold, int *iResult); -DLLEXPORT_API int __stdcall LoadYUVFromBmpFile(char *FileName, unsigned char *yuv, int BufLen, int *Width, int *Height); -DLLEXPORT_API int __stdcall SaveYUVToBmpFile(char *FileName, unsigned char *yuv, int Width, int Height); -DLLEXPORT_API int __stdcall CaptureIFrame(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall RegisterStreamReadCallback(STREAM_READ_CALLBACK StreamReadCallback, void *Context); -DLLEXPORT_API int __stdcall AdjustMotionDetectPrecision(HANDLE hChannelHandle, - int iGrade, int iFastMotionDetectFps, - int iSlowMotionDetectFps); -DLLEXPORT_API int __stdcall SetupBitrateControl(HANDLE hChannelHandle, ULONG MaxBps); -DLLEXPORT_API int __stdcall SetOverlayColorKey(COLORREF DestColorKey); -DLLEXPORT_API int __stdcall SetOsdDisplayMode(HANDLE hChannelHandle, int Brightness, BOOL Translucent, int parameter, USHORT *Format1, USHORT *Format2); -DLLEXPORT_API int __stdcall SetLogoDisplayMode(HANDLE hChannelHandle, COLORREF ColorKey, BOOL Translucent, int TwinkleInterval); -DLLEXPORT_API int __stdcall SetEncoderPictureFormat(HANDLE hChannelHandle, PictureFormat_t PictureFormat); -DLLEXPORT_API int __stdcall SetVideoStandard(HANDLE hChannelHandle, VideoStandard_t VideoStandard); -DLLEXPORT_API int __stdcall RestoreOverlay(); -DLLEXPORT_API int __stdcall ResetDSP(int DspNumber); -DLLEXPORT_API int __stdcall GetSoundLevel(HANDLE hChannelHandle); - - -DLLEXPORT_API int __stdcall SetBitrateControlMode(HANDLE hChannelHandle, BitrateControlType_t brc); -DLLEXPORT_API int __stdcall SetupNotifyThreshold(HANDLE hChannelHandle, int iFramesThreshold); - -DLLEXPORT_API int __stdcall SetupSubChannel(HANDLE hChannelHandle, int iSubChannel); -DLLEXPORT_API int __stdcall GetSubChannelStreamType(void *DataBuf, int FrameType); -//add for HC/HF -DLLEXPORT_API int __stdcall RegisterStreamDirectReadCallback(STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback,void *Context); -DLLEXPORT_API int __stdcall RegisterDrawFun(DWORD nport, DRAWFUN(DrawFun),LONG nUser); -DLLEXPORT_API int __stdcall SetupMask(HANDLE hChannelHandle, RECT *rectList, int iAreas); -DLLEXPORT_API int __stdcall StopMask(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetSubEncoderPictureFormat(HANDLE hChannelHandle, PictureFormat_t PictureFormat); -DLLEXPORT_API int __stdcall StartSubVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall StopSubVideoCapture(HANDLE hChannelHandle); -DLLEXPORT_API int __stdcall SetupDateTime(HANDLE hChannelHandle, SYSTEMTIME *now); -/* - Ϊ1.7汾Ĺܡ - Ժܻûķ޸ĺơ -*/ -//ԭʼͼ -typedef void (*IMAGE_STREAM_CALLBACK)(UINT channelNumber,void *context ); -DLLEXPORT_API int __stdcall SetImageStream(HANDLE hChannel,BOOL bStart,UINT fps,UINT width,UINT height,unsigned char *imageBuffer); -DLLEXPORT_API int __stdcall RegisterImageStreamCallback(IMAGE_STREAM_CALLBACK,void *context); -/* - Ƶλã - (x,y)ΪϵͳͼϽԭʼͼеꡣ - xΪ2 - (x,y)IJΧͺйأֵָ벻ƥ䣬 - ܻᵼͼֹˮƽֱ -*/ -DLLEXPORT_API int __stdcall SetInputVideoPosition(HANDLE hChannel,UINT x,UINT y); -DLLEXPORT_API int __stdcall StopRegisterDrawFun(DWORD nport); - -/* - 3.0 -*/ -#define SERIAL_NUMBER_LENGTH 12 //忨кų -typedef struct tagDS_BOARD_DETAIL -{ - BOARD_TYPE_DS type; //忨 - BYTE sn[16]; //к - UINT dspCount; //忨DSP - UINT firstDspIndex; //忨ϵһDSP - UINT encodeChannelCount; //忨ıͨ - UINT firstEncodeChannelIndex; //忨ϵһͨ - UINT decodeChannelCount; //忨Ľͨ - UINT firstDecodeChannelIndex; //忨ϵһͨ - UINT displayChannelCount; //忨Ƶͨ - UINT firstDisplayChannelIndex; //忨ϵһƵͨ - UINT reserved1; - UINT reserved2; - UINT reserved3; - UINT reserved4; -}DS_BOARD_DETAIL; -typedef struct tagDSP_DETAIL -{ - UINT encodeChannelCount; //忨ıͨ - UINT firstEncodeChannelIndex; //忨ϵһͨ - UINT decodeChannelCount; //忨Ľͨ - UINT firstDecodeChannelIndex; //忨ϵһͨ - UINT displayChannelCount; //忨Ƶͨ - UINT firstDisplayChannelIndex; //忨ϵһƵͨ - UINT reserved1; - UINT reserved2; - UINT reserved3; - UINT reserved4; -}DSP_DETAIL; -DLLEXPORT_API unsigned int __stdcall GetBoardCount(); -DLLEXPORT_API int __stdcall GetBoardDetail(UINT boardNum,DS_BOARD_DETAIL *pBoardDetail); -DLLEXPORT_API unsigned int __stdcall GetDspCount(); -DLLEXPORT_API int __stdcall GetDspDetail(UINT dspNum,DSP_DETAIL *pDspDetail); -DLLEXPORT_API unsigned int __stdcall GetEncodeChannelCount(); -DLLEXPORT_API unsigned int __stdcall GetDecodeChannelCount(); -DLLEXPORT_API unsigned int __stdcall GetDisplayChannelCount(); -DLLEXPORT_API int __stdcall SetDefaultVideoStandard(VideoStandard_t VideoStandard); -DLLEXPORT_API int __stdcall SetVideoDetectPrecision(HANDLE hChannel,unsigned int value); -DLLEXPORT_API int __stdcall SetSubStreamType(HANDLE hChannelHandle, USHORT Type); -DLLEXPORT_API int __stdcall GetSubStreamType(HANDLE hChannelHandle, USHORT *StreamType); - -#define MAX_DISPLAY_REGION 16 -typedef struct tagREGION_PARAM -{ - UINT left; - UINT top; - UINT width; - UINT height; - COLORREF color; - UINT param; -}REGION_PARAM; -DLLEXPORT_API int __stdcall SetDisplayStandard(UINT nDisplayChannel,VideoStandard_t VideoStandard); -DLLEXPORT_API int __stdcall SetDisplayRegion(UINT nDisplayChannel,UINT nRegionCount,REGION_PARAM *pParam,UINT nReserved); -DLLEXPORT_API int __stdcall ClearDisplayRegion(UINT nDisplayChannel,UINT nRegionFlag); -DLLEXPORT_API int __stdcall SetDisplayRegionPosition(UINT nDisplayChannel,UINT nRegion,UINT nLeft,UINT nTop); -DLLEXPORT_API int __stdcall FillDisplayRegion(UINT nDisplayChannel,UINT nRegion,unsigned char *pImage); -DLLEXPORT_API int __stdcall SetEncoderVideoExtOutput(UINT nEncodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved); -DLLEXPORT_API int __stdcall SetDecoderVideoExtOutput(UINT nDecodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved); -DLLEXPORT_API int __stdcall SetDecoderVideoOutput(UINT nDecodeChannel,UINT nPort,BOOL bOpen,UINT nDisplayChannel,UINT nDisplayRegion,UINT nReserved); -DLLEXPORT_API int __stdcall SetDecoderAudioOutput(UINT nDecodeChannel,BOOL bOpen,UINT nOutputChannel); -//3.1 -DLLEXPORT_API int __stdcall SetDeInterlace(HANDLE hChannelHandle,UINT mode,UINT level); -DLLEXPORT_API int __stdcall SetPreviewOverlayMode(BOOL bTrue); - -//DECODE functions for DS4002MD -#if defined( _WINDLL) - #define PLAYER_API extern "C"__declspec(dllexport) -#else - #define PLAYER_API extern "C" __declspec(dllimport) -#endif -typedef struct tagDISPLAY_PARA -{ - long bToScreen; - long bToVideoOut; - long nLeft; - long nTop; - long nWidth; - long nHeight; - long nReserved; -}DISPLAY_PARA,*PDISPLAY_PARA; -//Version info -typedef struct tagVERSION{ - ULONG DspVersion, DspBuildNum; - ULONG DriverVersion, DriverBuildNum; - ULONG SDKVersion, SDKBuildNum; -}HW_VERSION, *PHW_VERSION; - -//init part -PLAYER_API int __stdcall HW_InitDirectDraw(HWND hParent,COLORREF colorKey); -PLAYER_API int __stdcall HW_ReleaseDirectDraw(); -PLAYER_API int __stdcall HW_InitDecDevice(long *pDeviceTotal); -PLAYER_API int __stdcall HW_ReleaseDecDevice(); -PLAYER_API int __stdcall HW_ChannelOpen(long nChannelNum,HANDLE* phChannel); -PLAYER_API int __stdcall HW_ChannelClose(HANDLE hChannel); -//open part - -PLAYER_API int __stdcall HW_OpenStream(HANDLE hChannel,PBYTE pFileHeadBuf,DWORD nSize); -DLLEXPORT_API int __stdcall HW_ResetStream(HANDLE hChannel); -PLAYER_API int __stdcall HW_CloseStream(HANDLE hChannel); -PLAYER_API int __stdcall HW_InputData(HANDLE hChannel,PBYTE pBuf,DWORD nSize); -PLAYER_API int __stdcall HW_OpenFile(HANDLE hChannel,LPTSTR sFileName); -PLAYER_API int __stdcall HW_CloseFile(HANDLE hChannel); - -//play part -PLAYER_API int __stdcall HW_SetDisplayPara(HANDLE hChannel,DISPLAY_PARA *pPara); -PLAYER_API int __stdcall HW_Play(HANDLE hChannel); -PLAYER_API int __stdcall HW_Stop(HANDLE hChannel); -PLAYER_API int __stdcall HW_Pause(HANDLE hChannel,ULONG bPause); - -//sound part -PLAYER_API int __stdcall HW_PlaySound(HANDLE hChannel); -PLAYER_API int __stdcall HW_StopSound(HANDLE hChannel); -PLAYER_API int __stdcall HW_SetVolume(HANDLE hChannel,ULONG nVolume); -//overlay part -PLAYER_API int __stdcall HW_RefreshSurface(); -PLAYER_API int __stdcall HW_RestoreSurface(); -PLAYER_API int __stdcall HW_ClearSurface(); -PLAYER_API int __stdcall HW_ZoomOverlay(RECT* pSrcClientRect, RECT* pDecScreenRect); -//cut file -PLAYER_API int __stdcall HW_StartCapFile(HANDLE hChannel,LPTSTR sFileName); -PLAYER_API int __stdcall HW_StopCapFile(HANDLE hChannel); -//capture picture -PLAYER_API int __stdcall HW_GetYV12Image(HANDLE hChannel, PBYTE pBuffer, ULONG nSize); -PLAYER_API int __stdcall HW_GetPictureSize(HANDLE hChannel,ULONG* pWidth, ULONG* pHeight); -PLAYER_API int __stdcall HW_ConvertToBmpFile(BYTE * pBuf,ULONG nSize,ULONG nWidth,ULONG nHeight,char *sFileName,ULONG nReserved); -//setting and getting part -PLAYER_API int __stdcall HW_Jump(HANDLE hChannel,ULONG nDirection); -PLAYER_API int __stdcall HW_SetJumpInterval(HANDLE hChannel,ULONG nSecond); -PLAYER_API int __stdcall HW_GetSpeed(HANDLE hChannel,long *pSpeed); -PLAYER_API int __stdcall HW_SetSpeed(HANDLE hChannel,long nSpeed); -PLAYER_API int __stdcall HW_SetPlayPos(HANDLE hChannel,ULONG nPos); -PLAYER_API int __stdcall HW_GetPlayPos(HANDLE hChannel,ULONG* pPos); -PLAYER_API int __stdcall HW_GetVersion(PHW_VERSION pVersion); -PLAYER_API int __stdcall HW_GetCurrentFrameRate(HANDLE hChannel,ULONG* pFrameRate); -PLAYER_API int __stdcall HW_GetCurrentFrameNum(HANDLE hChannel,ULONG* pFrameNum); -PLAYER_API int __stdcall HW_GetFileTotalFrames(HANDLE hChannel,ULONG* pTotalFrames); -PLAYER_API int __stdcall HW_GetFileTime(HANDLE hChannel, ULONG* pFileTime); -PLAYER_API int __stdcall HW_GetCurrentFrameTime(HANDLE hChannel,ULONG* pFrameTime); -PLAYER_API int __stdcall HW_GetPlayedFrames(HANDLE hChannel,ULONG *pDecVFrames); -PLAYER_API int __stdcall HW_GetDeviceSerialNo(HANDLE hChannel,ULONG *pDeviceSerialNo); -PLAYER_API int __stdcall HW_SetFileEndMsg(HANDLE hChannel,HWND hWnd,UINT nMsg); -PLAYER_API int __stdcall HW_SetStreamOpenMode(HANDLE hChannel,ULONG nMode); -PLAYER_API int __stdcall HW_GetStreamOpenMode(HANDLE hChannel,ULONG *pMode); -PLAYER_API int __stdcall HW_SetVideoOutStandard(HANDLE hChannel,ULONG nStandard); -PLAYER_API int __stdcall HW_SetDspDeadlockMsg(HWND hWnd,UINT nMsg); -PLAYER_API int __stdcall HW_GetChannelNum(long nDspNum,long *pChannelNum,ULONG nNumsToGet,ULONG * pNumsGotten); -PLAYER_API int __stdcall HW_ResetDsp(long nDspNum); -PLAYER_API int __stdcall HW_SetAudioPreview(HANDLE hChannel, BOOL bEnable); -////////////////////////////////////////////// - -PLAYER_API int __stdcall HW_OpenStreamEx(HANDLE hChannel,PBYTE pFileHeadBuf,DWORD nSize); -PLAYER_API int __stdcall HW_CloseStreamEx(HANDLE hChannel); -PLAYER_API int __stdcall HW_InputVideoData(HANDLE hChannel,PBYTE pBuf,DWORD nSize); -PLAYER_API int __stdcall HW_InputAudioData(HANDLE hChannel,PBYTE pBuf,DWORD nSize); - -//4.0 -PLAYER_API int __stdcall SetOsdDisplayModeEx(HANDLE hChannelHandle,int color,BOOL Translucent,int param,int nLineCount,USHORT **Format); -typedef void (*MOTION_DETECTION_CALLBACK)(ULONG channelNumber,BOOL bMotionDetected,void *context); -PLAYER_API int __stdcall SetupMotionDetectionEx(HANDLE hChannelHandle,int iGrade,int iFastMotionDetectFps, - int iSlowMotionDetectFps,UINT delay,RECT *RectList, int iAreas, - MOTION_DETECTION_CALLBACK MotionDetectionCallback,int reserved); -PLAYER_API int __stdcall GetJpegImage(HANDLE hChannelHandle,UCHAR *ImageBuf,ULONG *Size,UINT nQuality); -//WatchDog -PLAYER_API int __stdcall SetWatchDog(UINT boardNumber,BOOL bEnable); -//4.1 -typedef void (*FILE_REF_DONE_CALLBACK)(UINT nChannel,UINT nSize); -PLAYER_API int __stdcall HW_SetFileRef(HANDLE hChannel,BOOL bEnable,FILE_REF_DONE_CALLBACK FileRefDoneCallback); -PLAYER_API int __stdcall HW_LocateByAbsoluteTime(HANDLE hChannel,SYSTEMTIME time); -PLAYER_API int __stdcall HW_LocateByFrameNumber(HANDLE hChannel,UINT frmNum); -PLAYER_API int __stdcall HW_GetCurrentAbsoluteTime(HANDLE hChannel,SYSTEMTIME *pTime); -PLAYER_API int __stdcall HW_GetFileAbsoluteTime(HANDLE hChannel,SYSTEMTIME *pStartTime,SYSTEMTIME *pEndTime); -//4.2 -DLLEXPORT_API int __stdcall HW_ImportFileRef(HANDLE hChannel,char *pBuffer,UINT nSize); -DLLEXPORT_API int __stdcall HW_ExportFileRef(HANDLE hChannel,char *pBuffer,UINT nSize); -DLLEXPORT_API int __stdcall SetDisplayVideoCapture(UINT nDisplayChannel,BOOL bStart,UINT fps,UINT width,UINT height,unsigned char *imageBuffer); -DLLEXPORT_API int __stdcall RegisterDisplayVideoCaptureCallback(IMAGE_STREAM_CALLBACK DisplayVideoCaptureCallback,void *context); -DLLEXPORT_API int __stdcall SetDisplayVideoBrightness(UINT chan,int Brightness); -DLLEXPORT_API int __stdcall SetChannelStreamCRC(HANDLE hChannel,BOOL bEnable); -DLLEXPORT_API int __stdcall SetSubChannelStreamCRC(HANDLE hChannel,BOOL bEnable); -DLLEXPORT_API int __stdcall HW_SetDecoderPostProcess(HANDLE hChannel,UINT param); -// -typedef void (*DECODER_VIDEO_CAPTURE_CALLBACK)(UINT nChannelNumber,void *DataBuf,UINT width,UINT height,UINT nFrameNum,UINT nFrameTime,SYSTEMTIME *pFrameAbsoluteTime,void *context); -DLLEXPORT_API int __stdcall RegisterDecoderVideoCaptureCallback(DECODER_VIDEO_CAPTURE_CALLBACK DecoderVideoCaptureCallback,void *context); -DLLEXPORT_API int __stdcall HW_SetDecoderVideoCapture(HANDLE hChannel,BOOL bStart,UINT param); -DLLEXPORT_API int __stdcall HW_InputDataByFrame(HANDLE hChannel,PBYTE pBuf,DWORD nSize); -/* -ӿ:ԡԺܻ޸ġ -*/ -typedef struct -{ - short x,y,width,height; -}FACE_AREA_DEMO; -typedef struct -{ - FACE_AREA_DEMO faceArea; - FACE_AREA_DEMO leftEyeArea; - FACE_AREA_DEMO rightEyeArea; - FACE_AREA_DEMO leftPupilArea; - FACE_AREA_DEMO rightPupilArea; - FACE_AREA_DEMO noseArea; - FACE_AREA_DEMO mouthArea; -}FACE_INFO_DEMO; -typedef void (*FACE_DETECTION_DEMO_CALLBACK)(UINT nChannel,UINT nFaceCount,FACE_INFO_DEMO *pFaceInfo, - char *pData,UINT nDataSize,UINT nImageWidth,UINT nImageHeight); - -DLLEXPORT_API int __stdcall SetFaceDetectionDemo(HANDLE hChannelHandle,BOOL bEnable, - UINT nFrameInterval,FACE_DETECTION_DEMO_CALLBACK pFunc, - BOOL bCompress,UINT nCompressQuality,BOOL bLocateEyePos); - -#endif - diff --git a/src/include/Hik/arm64/HCNetSDK.h b/src/include/Hik/arm64/HCNetSDK.h deleted file mode 100644 index 7acc16c..0000000 --- a/src/include/Hik/arm64/HCNetSDK.h +++ /dev/null @@ -1,52608 +0,0 @@ -#ifndef _HC_NET_SDK_H_ -#define _HC_NET_SDK_H_ - -#ifndef _WINDOWS_ - #if (defined(_WIN32) || defined(_WIN64)) - #include - #include - #endif -#endif - -#if defined(_WIN64) - #define OS_WINDOWS64 1 -#endif - -#if defined(__LP64__) - #define OS_POSIX64 1 -#endif - -#ifndef __PLAYRECT_defined - #define __PLAYRECT_defined - typedef struct __PLAYRECT - { - int x; - int y; - int uWidth; - int uHeight; - }PLAYRECT; -#endif - -#if (defined(_WIN32)) //windows - #define NET_DVR_API extern "C" __declspec(dllimport) - typedef unsigned __int64 UINT64; - typedef signed __int64 INT64; -#elif defined(__linux__) || defined(__APPLE__) //linux - #define BOOL int - typedef unsigned int DWORD; - typedef unsigned short WORD; - typedef unsigned short USHORT; - typedef short SHORT; - typedef int LONG; - typedef unsigned char BYTE; - typedef unsigned int UINT; - typedef void* LPVOID; - typedef void* HANDLE; - typedef unsigned int* LPDWORD; - typedef unsigned long long UINT64; - typedef signed long long INT64; - - #ifndef TRUE - #define TRUE 1 - #endif - #ifndef FALSE - #define FALSE 0 - #endif - #ifndef NULL - #define NULL 0 - #endif - - #define __stdcall - #define CALLBACK - - #define NET_DVR_API extern "C" - typedef unsigned int COLORKEY; - typedef unsigned int COLORREF; - - #ifndef __HWND_defined - #define __HWND_defined - #if defined(__APPLE__) || defined(ANDROID) - typedef void* HWND; - #elif defined(__linux__) - typedef unsigned int HWND; - #else - typedef void* HWND; - #endif - #endif - - #ifndef __HDC_defined - #define __HDC_defined - #if defined(__linux__) - typedef struct __DC - { - void* surface; //SDL Surface - HWND hWnd; //HDC window handle - }DC; - typedef DC* HDC; - #else - typedef void* HDC; - #endif - #endif - - typedef struct tagInitInfo - { - int uWidth; - int uHeight; - }INITINFO; -#endif - -//궨 -#define MAX_NAMELEN 16 //DVRص½ -#define MAX_RIGHT 32 //豸ֵ֧Ȩޣ1-12ʾȨޣ13-32ʾԶȨޣ -#define NAME_LEN 32 //û -#define MIN_PASSWD_LEN 8 //С볤 -#define PASSWD_LEN 16 //볤 -#define STREAM_PASSWD_LEN 12 //Կ󳤶 -#define MAX_PASSWD_LEN_EX 64 //볤64λ -#define GUID_LEN 16 //GUID -#define DEV_TYPE_NAME_LEN 24 //豸Ƴ -#define SERIALNO_LEN 48 //кų -#define MACADDR_LEN 6 //macַ -#define MAC_ADDRESS_NUM 48 //Macַ -#define MAX_SENCE_NUM 16 // -#define RULE_REGION_MAX 128 // -#define MAX_ETHERNET 2 //豸̫ -#define MAX_NETWORK_CARD 4 //豸Ŀ -#define MAX_NETWORK_CARD_EX 12 //豸Ŀչ -#define PATHNAME_LEN 128 //· -#define MAX_PRESET_V13 16 //Ԥõ -#define MAX_TEST_COMMAND_NUM 32 //߲Աֶγ -#define MAX_NUMBER_LEN 32 //󳤶 -#define MAX_NAME_LEN 128 //豸󳤶 -#define MAX_INDEX_LED 8 //LEDֵ 2013-11-19 -#define MAX_CUSTOM_DIR 64 //ԶĿ¼󳤶 -#define URL_LEN_V40 256 //URL -#define CLOUD_NAME_LEN 48 //ƴ洢û -#define CLOUD_PASSWD_LEN 48 //ƴ洢볤 -#define MAX_SENSORNAME_LEN 64 //Ƴ -#define MAX_SENSORCHAN_LEN 32 //ͨ -#define MAX_DESCRIPTION_LEN 32 // -#define MAX_DEVNAME_LEN_EX 64 //豸Ƴչ -#define NET_SDK_MAX_FILE_PATH 256 //ļ· -#define MAX_TMEVOICE_LEN 64 //TMEݳ -#define ISO_8601_LEN 32 //ISO_8601ʱ䳤 -#define MODULE_INFO_LEN 32 //ģϢ -#define VERSION_INFO_LEN 32 //汾Ϣ - -#define MAX_NUM_INPUT_BOARD 512 // -#define MAX_SHIPSDETE_REGION_NUM 8 // ֻбĿ - -#define MAX_RES_NUM_ONE_VS_INPUT_CHAN 8 //һֵ֧ͨķֱʵ -#define MAX_VS_INPUT_CHAN_NUM 16 //ͨ - -#define NET_SDK_MAX_FDID_LEN 256//ID󳤶 -#define NET_SDK_MAX_PICID_LEN 256 //ID󳤶 -#define NET_SDK_FDPIC_CUSTOM_INFO_LEN 96 //ͼƬԶϢ -#define NET_DVR_MAX_FACE_ANALYSIS_NUM 32 //ֵ֧ͼƬʶ -#define NET_DVR_MAX_FACE_SEARCH_NUM 5 //֧ -#define NET_SDK_SECRETKEY_LEN 128 //ļԿ -#define NET_SDK_CUSTOM_LEN 512 //ԶϢ󳤶 -#define NET_SDK_CHECK_CODE_LEN 128//У볤 -#define RELATIVE_CHANNEL_LEN 2//ͨŵ -#define NET_SDK_MAX_CALLEDTARGET_NAME 32 //ºĿû -#define NET_SDK_MAX_HBDID_LEN 256 /*256 ID󳤶*/ -//СLED -#define MAX_LEN_TEXT_CONTENT 128 //ַݳ -#define MAX_NUM_INPUT_SOURCE_TEXT 32 //źԴɵӵı -#define MAX_NUM_OUTPUT_CHANNEL 512 //LEDڸ - -//ӴڽOSD -#define MAX_LEN_OSD_CONTENT 256 //OSDϢ󳤶 -#define MAX_NUM_OSD_ONE_SUBWND 8 //Ӵֵ֧OSD -#define MAX_NUM_SPLIT_WND 64 //ֵ֧Ӵ -#define MAX_NUM_OSD 8 - -//2013-11-19 -#define MAX_DEVNAME_LEN 32 //豸󳤶 -#define MAX_LED_INFO 256 //ĻʾϢ󳤶 -#define MAX_TIME_LEN 32 //ʱ󳤶 -#define MAX_CARD_LEN 24 //󳤶 -#define MAX_OPERATORNAME_LEN 32 //Ա󳤶 - -#define THERMOMETRY_ALARMRULE_NUM 40 //ȳ񱨾 -#define MAX_THERMOMETRY_REGION_NUM 40 //ȶͼ֧ -#define MAX_THERMOMETRY_DIFFCOMPARISON_NUM 40 //ȳ² -#define MAX_SHIPS_NUM 20 //ֻֻ -#define MAX_SHIPIMAGE_NUM 6 //ֻץͼ -#define KEY_WORD_NUM 3 //ؼָ -#define KEY_WORD_LEN 128 //ؼֳ -//첽¼ص״̬궨 -#define ASYN_LOGIN_SUCC 1 //첽¼ɹ -#define ASYN_LOGIN_FAILED 0 //첽¼ʧ - -#define NET_SDK_MAX_VERIFICATION_CODE_LEN 32 //өʯ֤볤 -#define NET_SDK_MAX_OPERATE_CODE_LEN 64 //өʯƲ볤 -#define MAX_TIMESEGMENT_V30 8 //9000豸ʱ -#define MAX_TIMESEGMENT 4 //8000豸ʱ -#define MAX_ICR_NUM 8 //ץĻ˹ƬԤõ2013-07-09 -#define MAX_VEHICLEFLOW_INFO 24 //Ϣ -#define MAX_SHELTERNUM 4 //8000豸ڵ -#define MAX_DAYS 7 //ÿ -#define PHONENUMBER_LEN 32 //pppoeź󳤶 -#define MAX_ACCESSORY_CARD 256 //Ϣ󳤶 -#define MAX_DISKNUM_V30 33 //9000豸Ӳ/* 33Ӳ(16SATAӲ̡1eSATAӲ̺16NFS) */ -#define NET_SDK_MAX_NET_USER_NUM 64 //û - -#define NET_SDK_DISK_LOCATION_LEN 16 //Ӳλó -#define NET_SDK_SUPPLIER_NAME_LEN 32 //ӦƳ -#define NET_SDK_DISK_MODEL_LEN 64 //Ӳͺų -#define NET_SDK_MAX_DISK_VOLUME 33 //Ӳ̾ -#define NET_SDK_DISK_VOLUME_LEN 36 //Ӳ̾Ƴ - -#define MAX_DISKNUM 16 //8000豸Ӳ -#define MAX_DISKNUM_V10 8 //1.2汾֮ǰ汾 -#define CARD_READER_DESCRIPTION 32 // -#define MAX_FACE_NUM 2 // - -#define MAX_WINDOW_V30 32 //9000豸ʾ󲥷Ŵ -#define MAX_WINDOW_V40 64 //Netra 2.3.1չ -#define MAX_WINDOW 16 //8000豸Ӳ -#define MAX_VGA_V30 4 //9000豸ɽVGA -#define MAX_VGA 1 //8000豸ɽVGA - -#define MAX_USERNUM_V30 32 //9000豸û -#define MAX_USERNUM 16 //8000豸û -#define MAX_EXCEPTIONNUM_V30 32 //9000豸쳣 -#define MAX_EXCEPTIONNUM 16 //8000豸쳣 -#define MAX_LINK 6 //8000豸ͨƵ -#define MAX_ITC_EXCEPTIONOUT 32 //ץĻ󱨾 -#define MAX_SCREEN_DISPLAY_LEN 512 //Ļʾַ - -#define MAX_DECPOOLNUM 4 //·ÿͨѭ -#define MAX_DECNUM 4 //·ͨʵֻһ -#define MAX_TRANSPARENTNUM 2 //·͸ͨ -#define MAX_CYCLE_CHAN 16 //·Ѳͨ -#define MAX_CYCLE_CHAN_V30 64 //Ѳͨչ -#define MAX_DIRNAME_LENGTH 80 //Ŀ¼ -#define MAX_WINDOWS 16 //󴰿 - - -#define MAX_STRINGNUM_V30 8 //9000豸OSDַ -#define MAX_STRINGNUM 4 //8000豸OSDַ -#define MAX_STRINGNUM_EX 8 //8000չ -#define MAX_AUXOUT_V30 16 //9000豸 -#define MAX_AUXOUT 4 //8000豸 -#define MAX_HD_GROUP 16 //9000豸Ӳ -#define MAX_HD_GROUP_V40 32 //豸Ӳ -#define MAX_NFS_DISK 8 //8000豸NFSӲ -#define NET_SDK_VERSION_LIST_LEN 64 //㷨汾ֵ -#define IW_ESSID_MAX_SIZE 32 //WIFISSIDų -#define IW_ENCODING_TOKEN_MAX 32 //WIFIֽ -#define MAX_SERIAL_NUM 64 //ֵ֧͸ͨ· -#define MAX_DDNS_NUMS 10 //9000豸ddns -#define MAX_DOMAIN_NAME 64 /* */ -#define MAX_EMAIL_ADDR_LEN 48 //emailַ -#define MAX_EMAIL_PWD_LEN 32 //email볤 -#define MAX_SLAVECAMERA_NUM 8 // -#define MAX_CALIB_NUM 6 //궨ĸ -#define MAX_CALIB_NUM_EX 20 //չ궨ĸ -#define MAX_LEDDISPLAYINFO_LEN 1024 //LEDʾ -#define MAX_PEOPLE_DETECTION_NUM 8 //Ա -#define MAXPROGRESS 100 //طʱٷ -#define MAX_SERIALNUM 2 //8000豸ֵ֧Ĵ 1-232 2-485 -#define CARDNUM_LEN 20 //ų -#define PATIENTID_LEN 64 -#define CARDNUM_LEN_OUT 32 //ⲿṹ忨ų -#define MAX_VIDEOOUT_V30 4 //9000豸Ƶ -#define MAX_VIDEOOUT 2 //8000豸Ƶ - -#define MAX_PRESET_V30 256 /* 9000豸ֵ̨֧Ԥõ */ -#define MAX_TRACK_V30 256 /* 9000豸ֵ̨֧켣 */ -#define MAX_CRUISE_V30 256 /* 9000豸ֵ̨֧Ѳ */ -#define MAX_PRESET 128 /* 8000豸ֵ̨֧Ԥõ */ -#define MAX_TRACK 128 /* 8000豸ֵ̨֧켣 */ -#define MAX_CRUISE 128 /* 8000豸ֵ̨֧Ѳ */ - -#define MAX_PRESET_V40 300 /* ֵ̨֧Ԥõ */ -#define MAX_CRUISE_POINT_NUM 128 /* ֵ֧Ѳĸ */ -#define MAX_CRUISEPOINT_NUM_V50 256 //ֵ֧Ѳĸչ - -#define CRUISE_MAX_PRESET_NUMS 32 /* һѲѲ */ -#define MAX_FACE_PIC_NUM 30 /*ͼ*/ -#define LOCKGATE_TIME_NUM 4 //բʱθ - -#define MAX_SERIAL_PORT 8 //9000豸֧232 -#define MAX_PREVIEW_MODE 8 /* 豸֧ԤģʽĿ 1,4,9,16.... */ -#define MAX_MATRIXOUT 16 /* ģ */ -#define LOG_INFO_LEN 11840 /* ־Ϣ */ -#define DESC_LEN 16 /* ַ̨ */ -#define PTZ_PROTOCOL_NUM 200 /* 9000ֵ̨֧Э */ -#define IPC_PROTOCOL_NUM 50 //ipc Э - -#define MAX_AUDIO 1 //8000Խͨ -#define MAX_AUDIO_V30 2 //9000Խͨ -#define MAX_CHANNUM 16 //8000豸ͨ -#define MAX_ALARMIN 16 //8000豸󱨾 -#define MAX_ALARMOUT 4 //8000豸󱨾 -#define MAX_AUDIOCAST_CFG_TYPE 3 //ֹ֧㲥õ MP3MPEG2AAC -//9000 IPC -#define MAX_ANALOG_CHANNUM 32 //32ģͨ -#define MAX_ANALOG_ALARMOUT 32 //32·ģⱨ -#define MAX_ANALOG_ALARMIN 32 //32·ģⱨ - -#define MAX_IP_DEVICE 32 //IP豸 -#define MAX_IP_DEVICE_V40 64 // IP豸 64 IVMS 2000豸 -#define MAX_IP_CHANNEL 32 //IPͨ -#define MAX_IP_ALARMIN 128 //౨ -#define MAX_IP_ALARMOUT 64 //౨ -#define MAX_IP_ALARMIN_V40 4096 //౨ -#define MAX_IP_ALARMOUT_V40 4096 //౨ - -#define MAX_RECORD_FILE_NUM 20 // ÿɾ߿¼ļ -//SDK_V31 ATM -#define MAX_ACTION_TYPE 12 //ԶЭӽΪΪ -#define MAX_ATM_PROTOCOL_NUM 256 //ÿ뷽ʽӦATMЭ -#define ATM_CUSTOM_PROTO 1025 //ԶЭ ֵΪ1025 -#define ATM_PROTOCOL_SORT 4 //ATMЭ -#define ATM_DESC_LEN 32 //ATMַ -// SDK_V31 ATM - - -#define MAX_IPV6_LEN 64 //IPv6ַ󳤶 -#define MAX_EVENTID_LEN 64 //¼ID - -#define INVALID_VALUE_UINT32 0xffffffff //Чֵ -#define MAX_CHANNUM_V40 512 -#define MAX_MULTI_AREA_NUM 24 - -//SDK ¼ -#define COURSE_NAME_LEN 32 //γ -#define INSTRUCTOR_NAME_LEN 16 //ڿνʦ -#define COURSE_DESCRIPTION_LEN 256 //γϢ - -#define MAX_TIMESEGMENT_V40 16 //ÿڿϢ - - -#define MAX_MIX_CHAN_NUM 16 /*Ŀǰֵ֧ͨͨ + MIC + LINE IN + 4С*/ -#define MAX_LINE_IN_CHAN_NUM 16 //line inͨ -#define MAX_MIC_CHAN_NUM 16 //MICͨ -#define INQUEST_CASE_NO_LEN 64 //Ѷų -#define INQUEST_CASE_NAME_LEN 64 //ѶƳ -#define CUSTOM_INFO_LEN 64 //ԶϢ -#define INQUEST_CASE_LEN 64 //ѶϢ - - -#define MAX_FILE_ID_LEN 128 //ͼĿļID󳤶 -#define MAX_PIC_NAME_LEN 128 //ͼƬƳ - -/* ֵ֧ͨ ģIP֧ */ -#define MAX_CHANNUM_V30 ( MAX_ANALOG_CHANNUM + MAX_IP_CHANNEL )//64 -#define MAX_ALARMOUT_V40 (MAX_IP_ALARMOUT_V40 +MAX_ANALOG_ALARMOUT) //4128 -#define MAX_ALARMOUT_V30 ( MAX_ANALOG_ALARMOUT + MAX_IP_ALARMOUT )//96 -#define MAX_ALARMIN_V30 ( MAX_ANALOG_ALARMIN + MAX_IP_ALARMIN )//160 -#define MAX_ALARMIN_V40 (MAX_IP_ALARMIN_V40 +MAX_ANALOG_ALARMOUT) //4128 -#define MAX_ANALOG_ALARM_WITH_VOLT_LIMIT 16 //ܵѹ޶ģⱨ - -#define MAX_ROIDETECT_NUM 8 //ֵ֧ROI -#define MAX_LANERECT_NUM 5 //ʶ -#define MAX_FORTIFY_NUM 10 //󲼷 -#define MAX_INTERVAL_NUM 4 //ʱ -#define MAX_CHJC_NUM 3 //ʡݼַ -#define MAX_VL_NUM 5 //Ȧ -#define MAX_DRIVECHAN_NUM 16 //󳵵 -#define MAX_COIL_NUM 3 //Ȧ -#define MAX_SIGNALLIGHT_NUM 6 //źŵƸ -#define LEN_16 16 -#define LEN_32 32 -#define LEN_64 64 -#define LEN_31 31 -#define MAX_LINKAGE_CHAN_NUM 16 //ͨ -#define MAX_CABINET_COUNT 8 //ֻ֧ -#define MAX_ID_LEN 48 -#define MAX_PARKNO_LEN 16 -#define MAX_ALARMREASON_LEN 32 -#define MAX_UPGRADE_INFO_LEN 48 //ȡļƥϢ(ģ) -#define MAX_CUSTOMDIR_LEN 32 //ԶĿ¼ -#define MAX_LED_INFO_LEN 512//LEDݳ -#define MAX_VOICE_INFO_LEN 128//ݳ -#define MAX_LITLE_INFO_LEN 64 //ֽƱݳ -#define MAX_CUSTOM_INFO_LEN 64 //ֽƱԶϢݳ -#define MAX_PHONE_NUM_LEN 16 //ϵ绰ݳ -#define MAX_APP_SERIALNUM_LEN 32 //Ӧкų - -#define AUDIOTALKTYPE_G722 0 -#define AUDIOTALKTYPE_G711_MU 1 -#define AUDIOTALKTYPE_G711_A 2 -#define AUDIOTALKTYPE_MP2L2 5 -#define AUDIOTALKTYPE_G726 6 -#define AUDIOTALKTYPE_AAC 7 -#define AUDIOTALKTYPE_PCM 8 -#define AUDIOTALKTYPE_G722C 9 -#define AUDIOTALKTYPE_MP3 15 - -//packet type -#define FILE_HEAD 0 //file head -#define VIDEO_I_FRAME 1 //video I frame -#define VIDEO_B_FRAME 2 //video B frame -#define VIDEO_P_FRAME 3 //video P frame -#define AUDIO_PACKET 10 //audio packet -#define PRIVT_PACKET 11 //private packet -//E frame -#define HIK_H264_E_FRAME (1 << 6) // ǰE֡,P֡Ҳûõ -#define MAX_TRANSPARENT_CHAN_NUM 4 //ÿ͸ͨ -#define MAX_TRANSPARENT_ACCESS_NUM 4 //ÿ˿ - -//ITS -#define MAX_PARKING_STATUS 8 //λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ -#define MAX_PARKING_NUM 4 //һͨ4λ (ҳλ 03) - -#define MAX_ITS_SCENE_NUM 16 //󳡾 -#define MAX_SCENE_TIMESEG_NUM 16 //󳡾ʱ -#define MAX_IVMS_IP_CHANNEL 128 //IPͨ -#define DEVICE_ID_LEN 48 //豸ų -#define MONITORSITE_ID_LEN 48 //ų -#define MAX_AUXAREA_NUM 16 //Ŀ -#define MAX_SLAVE_CHANNEL_NUM 16 //ͨ -#define MAX_DEVDESC_LEN 64 //豸Ϣ󳤶 -#define ILLEGAL_LEN 32 //Υ볤 -#define MAX_TRUCK_AXLE_NUM 10 // -#define MAX_CATEGORY_LEN 8 //ƸϢַ -#define SERIAL_NO_LEN 16 //λ - - -#define MAX_SECRETKEY_LEN 512 //Կ -#define MAX_INDEX_CODE_LEN 64 //ų -#define MAX_ILLEGAL_LEN 64 //Υַ -#define CODE_LEN 64 //Ȩ -#define ALIAS_LEN 32 //ֻ -#define MAX_SCH_TASKS_NUM 10 - -#define MAX_SERVERID_LEN 64 //IDij -#define MAX_SERVERDOMAIN_LEN 128 //󳤶 -#define MAX_AUTHENTICATEID_LEN 64 //֤ID󳤶 -#define MAX_AUTHENTICATEPASSWD_LEN 32 //֤󳤶 -#define MAX_SERVERNAME_LEN 64 //û -#define MAX_COMPRESSIONID_LEN 64 //ID󳤶 -#define MAX_SIPSERVER_ADDRESS_LEN 128 //SIPַ֧IPַ -//ѹ߱ -#define MAX_PlATE_NO_LEN 32 //ƺ󳤶 2013-09-27 -#define UPNP_PORT_NUM 12 //upnp˿ӳ˿Ŀ - -#define MAX_PEOPLE_DETECTION_NUM 8 //Ա - -#define MAX_NOTICE_NUMBER_LEN 32 //󳤶 -#define MAX_NOTICE_THEME_LEN 64 //󳤶 -#define MAX_NOTICE_DETAIL_LEN 1024 //󳤶 -#define MAX_NOTICE_PIC_NUM 6 //ϢͼƬ -#define MAX_DEV_NUMBER_LEN 32 //豸󳤶 -#define LOCK_NAME_LEN 32 // - - -#define HOLIDAY_GROUP_NAME_LEN 32 //Ƴ -#define MAX_HOLIDAY_PLAN_NUM 16 //ռƻ -#define TEMPLATE_NAME_LEN 32 //ƻģƳ -#define MAX_HOLIDAY_GROUP_NUM 16 //ƻģ -#define DOOR_NAME_LEN 32 // -#define STRESS_PASSWORD_LEN 8 //в볤 -#define SUPER_PASSWORD_LEN 8 //в볤 -#define GROUP_NAME_LEN 32 //ȺƳ -#define GROUP_COMBINATION_NUM 8 //Ⱥ -#define MULTI_CARD_GROUP_NUM 4 //ؿ -#define ACS_CARD_NO_LEN 32 //Žų -#define NET_SDK_EMPLOYEE_NO_LEN 32 //ų -#define NET_SDK_UUID_LEN 36 //UUID -#define NET_SDK_EHOME_KEY_LEN 32 //EHome Key -#define CARD_PASSWORD_LEN 8 //볤 -#define MAX_DOOR_NUM 32 // -#define MAX_CARD_RIGHT_PLAN_NUM 4 //Ȩƻ -#define MAX_GROUP_NUM_128 128 //Ⱥ -#define MAX_CARD_READER_NUM 64 // -#define MAX_SNEAK_PATH_NODE 8 // -#define MAX_MULTI_DOOR_INTERLOCK_GROUP 8 //Ż -#define MAX_INTER_LOCK_DOOR_NUM 8 //һŻ -#define MAX_CASE_SENSOR_NUM 8 //case sensor -#define MAX_DOOR_NUM_256 256 // -#define MAX_READER_ROUTE_NUM 16 //ˢѭ· -#define MAX_FINGER_PRINT_NUM 10 //ָƸ -#define MAX_CARD_READER_NUM_512 512 // -#define NET_SDK_MULTI_CARD_GROUP_NUM_20 20 //ؿ - -#define ERROR_MSG_LEN 32 //·Ϣ -#define MAX_DOOR_CODE_LEN 8 //볤 -#define MAX_LOCK_CODE_LEN 8 //볤 -#define PER_RING_PORT_NUM 2 //ÿĶ˿ -#define SENSORNAME_LEN 32 //Ƴ -#define MAX_SENSORDESCR_LEN 64 // -#define MAX_DNS_SERVER_NUM 2 //DNS -#define SENSORUNIT_LEN 32 //λ - -#define WEP_KEY_MAX_SIZE 32 //WEPԿ -#define WEP_KEY_MAX_NUM 4 //WEPԿ -#define WPA_KEY_MAX_SIZE 64 //WPAԿ - -#define MAX_SINGLE_FTPPICNAME_LEN 20 //󵥸FTPͨ -#define MAX_CAMNAME_LEN 32 //ͨ -#define MAX_FTPNAME_NUM 12 //TFP - - -#define MAX_IDCODE_LEN 128 // ʶ󳤶 -#define MAX_VERSIIN_LEN 64 //汾󳤶 -#define MAX_IDCODE_NUM 32 // ʶ -#define SDK_LEN_2048 2048 -#define SDK_MAX_IP_LEN 48 - -#define RECT_POINT_NUM 4 //ν - -#define MAX_PUBLIC_KEY_LEN 512 // Կ -#define CHIP_SERIALNO_LEN 32 //оƬкų -#define ENCRYPT_DEV_ID_LEN 20 //豸ID - -//MCUص -#define MAX_SEARCH_ID_LEN 36 //ʶ󳤶 -#define TERMINAL_NAME_LEN 64 //նƳ -#define MAX_URL_LEN 512 //URL -#define REGISTER_NAME_LEN 64 //նעGK󳤶 - -// -#define MAX_PORT_NUM 64 //˿ -#define MAX_SINGLE_CARD_PORT_NO 4 //շ˿ -#define MAX_FUNC_CARD_NUM 32 //շܿ -#define MAX_FC_CARD_NUM 33 //շ -#define MAX_REMARKS_LEN 128 //ע󳤶 -#define MAX_OUTPUT_PORT_NUM 32 //·˿ -#define MAX_SINGLE_PORT_RECVCARD_NUM 64 //˿ӵտ -#define MAX_GAMMA_X_VALUE 256 //GAMMAXȡֵ -#define NET_DEV_NAME_LEN 64 //豸Ƴ -#define NET_DEV_TYPE_NAME_LEN 64 //豸Ƴ -#define ABNORMAL_INFO_NUM 4 //쳣ʱθ - -#define PLAYLIST_NAME_LEN 64 //űƳ -#define PLAYLIST_ITEM_NUM 64 //Ŀ - -// -#define NET_SDK_MAX_LOGIN_PASSWORD_LEN 128 //û¼󳤶 -#define NET_SDK_MAX_ANSWER_LEN 256 //ȫ󳤶 -#define NET_SDK_MAX_QUESTION_LIST_LEN 32//ȫб󳤶 - -#define MAX_SCREEN_AREA_NUM 128 //Ļ -#define NET_SDK_MAX_THERMOMETRYALGNAME 128//㷨汾󳤶 -#define NET_SDK_MAX_SHIPSALGNAME 128//ֻ㷨汾󳤶 -#define NET_SDK_MAX_FIRESALGNAME 128//㷨汾󳤶 - -#define MAX_PASSPORT_NUM_LEN 16 //֤ų -#define MAX_PASSPORT_INFO_LEN 128 //ͨϢ -#define MAX_PASSPORT_NAME_LEN 64 // -#define MAX_PASSPORT_MONITOR_LEN 1024 //ռ໤Ϣ -#define MAX_NATIONALITY_LEN 16 //չ -#define MAX_PASSPORT_TYPE_LEN 4 //֤ͳ - -/*******************ȫִ begin**********************/ -#define NET_DVR_NOERROR 0 //ûд -#define NET_DVR_PASSWORD_ERROR 1 //û -#define NET_DVR_NOENOUGHPRI 2 //Ȩ޲ -#define NET_DVR_NOINIT 3 //ûгʼ -#define NET_DVR_CHANNEL_ERROR 4 //ͨŴ -#define NET_DVR_OVER_MAXLINK 5 //ӵDVRĿͻ˸ -#define NET_DVR_VERSIONNOMATCH 6 //汾ƥ -#define NET_DVR_NETWORK_FAIL_CONNECT 7 //ӷʧ -#define NET_DVR_NETWORK_SEND_ERROR 8 //ʧ -#define NET_DVR_NETWORK_RECV_ERROR 9 //ӷʧ -#define NET_DVR_NETWORK_RECV_TIMEOUT 10 //ӷݳʱ -#define NET_DVR_NETWORK_ERRORDATA 11 //͵ -#define NET_DVR_ORDER_ERROR 12 //ô -#define NET_DVR_OPERNOPERMIT 13 //޴Ȩ -#define NET_DVR_COMMANDTIMEOUT 14 //DVRִгʱ -#define NET_DVR_ERRORSERIALPORT 15 //ںŴ -#define NET_DVR_ERRORALARMPORT 16 //˿ڴ -#define NET_DVR_PARAMETER_ERROR 17 // -#define NET_DVR_CHAN_EXCEPTION 18 //ͨڴ״̬ -#define NET_DVR_NODISK 19 //ûӲ -#define NET_DVR_ERRORDISKNUM 20 //Ӳ̺Ŵ -#define NET_DVR_DISK_FULL 21 //Ӳ -#define NET_DVR_DISK_ERROR 22 //Ӳ̳ -#define NET_DVR_NOSUPPORT 23 //֧ -#define NET_DVR_BUSY 24 //æ -#define NET_DVR_MODIFY_FAIL 25 //޸IJɹ -#define NET_DVR_PASSWORD_FORMAT_ERROR 26 //ʽȷ -#define NET_DVR_DISK_FORMATING 27 //Ӳڸʽ -#define NET_DVR_DVRNORESOURCE 28 //DVRԴ -#define NET_DVR_DVROPRATEFAILED 29 //DVRʧ -#define NET_DVR_OPENHOSTSOUND_FAIL 30 //PCʧ -#define NET_DVR_DVRVOICEOPENED 31 //Խռ -#define NET_DVR_TIMEINPUTERROR 32 //ʱ벻ȷ -#define NET_DVR_NOSPECFILE 33 //طʱûָļ -#define NET_DVR_CREATEFILE_ERROR 34 //ļ -#define NET_DVR_FILEOPENFAIL 35 //ļ -#define NET_DVR_OPERNOTFINISH 36 //ϴεIJû -#define NET_DVR_GETPLAYTIMEFAIL 37 //ȡǰŵʱ -#define NET_DVR_PLAYFAIL 38 //ų -#define NET_DVR_FILEFORMAT_ERROR 39 //ļʽȷ -#define NET_DVR_DIR_ERROR 40 //· -#define NET_DVR_ALLOC_RESOURCE_ERROR 41 //Դ -#define NET_DVR_AUDIO_MODE_ERROR 42 //ģʽ -#define NET_DVR_NOENOUGH_BUF 43 //̫С -#define NET_DVR_CREATESOCKET_ERROR 44 //SOCKET -#define NET_DVR_SETSOCKET_ERROR 45 //SOCKET -#define NET_DVR_MAX_NUM 46 //ﵽ -#define NET_DVR_USERNOTEXIST 47 //û -#define NET_DVR_WRITEFLASHERROR 48 //дFLASH -#define NET_DVR_UPGRADEFAIL 49 //DVRʧ -#define NET_DVR_CARDHAVEINIT 50 //뿨Ѿʼ -#define NET_DVR_PLAYERFAILED 51 //òſijʧ -#define NET_DVR_MAX_USERNUM 52 //豸ûﵽ -#define NET_DVR_GETLOCALIPANDMACFAIL 53 //ÿͻ˵IPַַʧ -#define NET_DVR_NOENCODEING 54 //ͨûб -#define NET_DVR_IPMISMATCH 55 //IPַƥ -#define NET_DVR_MACMISMATCH 56 //MACַƥ -#define NET_DVR_UPGRADELANGMISMATCH 57 //ļԲƥ -#define NET_DVR_MAX_PLAYERPORT 58 //·ﵽ -#define NET_DVR_NOSPACEBACKUP 59 //豸û㹻ռб -#define NET_DVR_NODEVICEBACKUP 60 //ûҵָı豸 -#define NET_DVR_PICTURE_BITS_ERROR 61 //ͼλ24ɫ -#define NET_DVR_PICTURE_DIMENSION_ERROR 62 //ͼƬ*ޣ 128*256 -#define NET_DVR_PICTURE_SIZ_ERROR 63 //ͼƬСޣ100K -#define NET_DVR_LOADPLAYERSDKFAILED 64 //뵱ǰĿ¼Player Sdk -#define NET_DVR_LOADPLAYERSDKPROC_ERROR 65 //ҲPlayer Sdkij -#define NET_DVR_LOADDSSDKFAILED 66 //뵱ǰĿ¼DSsdk -#define NET_DVR_LOADDSSDKPROC_ERROR 67 //ҲDsSdkij -#define NET_DVR_DSSDK_ERROR 68 //ӲDsSdkijʧ -#define NET_DVR_VOICEMONOPOLIZE 69 //ռ -#define NET_DVR_JOINMULTICASTFAILED 70 //ಥʧ -#define NET_DVR_CREATEDIR_ERROR 71 //־ļĿ¼ʧ -#define NET_DVR_BINDSOCKET_ERROR 72 //׽ʧ -#define NET_DVR_SOCKETCLOSE_ERROR 73 //socketжϣ˴ͨжϻĿĵزɴ -#define NET_DVR_USERID_ISUSING 74 //עʱûIDڽij -#define NET_DVR_SOCKETLISTEN_ERROR 75 //ʧ -#define NET_DVR_PROGRAM_EXCEPTION 76 //쳣 -#define NET_DVR_WRITEFILE_FAILED 77 //дļʧ -#define NET_DVR_FORMAT_READONLY 78 //ֹʽֻӲ -#define NET_DVR_WITHSAMEUSERNAME 79 //ûýṹдͬû -#define NET_DVR_DEVICETYPE_ERROR 80 /*ʱ豸ͺŲƥ*/ -#define NET_DVR_LANGUAGE_ERROR 81 /*ʱԲƥ*/ -#define NET_DVR_PARAVERSION_ERROR 82 /*ʱ汾ƥ*/ -#define NET_DVR_IPCHAN_NOTALIVE 83 /*ԤʱIPͨ*/ -#define NET_DVR_RTSP_SDK_ERROR 84 /*ظIPCͨѶStreamTransClient.dllʧ*/ -#define NET_DVR_CONVERT_SDK_ERROR 85 /*תʧ*/ -#define NET_DVR_IPC_COUNT_OVERFLOW 86 /*ipͨ*/ -#define NET_DVR_MAX_ADD_NUM 87 /*ӱǩ(һļƬ64)ȸﵽ*/ -#define NET_DVR_PARAMMODE_ERROR 88 //ͼǿǣģʽӲʱͻ˽ʱֵ -#define NET_DVR_CODESPITTER_OFFLINE 89 //Ƶۺƽ̨ -#define NET_DVR_BACKUP_COPYING 90 //豸ڱ -#define NET_DVR_CHAN_NOTSUPPORT 91 // ָ֧ͨò -#define NET_DVR_CALLINEINVALID 92 // ߶λ̫л򳤶߲б -#define NET_DVR_CALCANCELCONFLICT 93 // ȡ궨ͻ˹ȫֵʵʴСߴ -#define NET_DVR_CALPOINTOUTRANGE 94 // 궨㳬Χ -#define NET_DVR_FILTERRECTINVALID 95 // ߴҪ -#define NET_DVR_DDNS_DEVOFFLINE 96 //豸ûעᵽddns -#define NET_DVR_DDNS_INTER_ERROR 97 //DDNS ڲ -#define NET_DVR_FUNCTION_NOT_SUPPORT_OS 98 //˹ָ֧ܲòϵͳ -#define NET_DVR_DEC_CHAN_REBIND 99 //ͨʾ -#define NET_DVR_INTERCOM_SDK_ERROR 100 //صǰĿ¼µԽʧ -#define NET_DVR_NO_CURRENT_UPDATEFILE 101 //ûȷ -#define NET_DVR_USER_NOT_SUCC_LOGIN 102 //ûû½ɹ -#define NET_DVR_USE_LOG_SWITCH_FILE 103 //ʹ־ļ -#define NET_DVR_POOL_PORT_EXHAUST 104 //˿ڳڰ󶨵Ķ˿Ѻľ -#define NET_DVR_PACKET_TYPE_NOT_SUPPORT 105 //װʽ -#define NET_DVR_IPPARA_IPID_ERROR 106 //IPʱIPID - -#define NET_DVR_LOAD_HCPREVIEW_SDK_ERROR 107 //Ԥʧ -#define NET_DVR_LOAD_HCVOICETALK_SDK_ERROR 108 //ʧ -#define NET_DVR_LOAD_HCALARM_SDK_ERROR 109 //ʧ -#define NET_DVR_LOAD_HCPLAYBACK_SDK_ERROR 110 //طʧ -#define NET_DVR_LOAD_HCDISPLAY_SDK_ERROR 111 //ʾʧ -#define NET_DVR_LOAD_HCINDUSTRY_SDK_ERROR 112 //ҵӦʧ -#define NET_DVR_LOAD_HCGENERALCFGMGR_SDK_ERROR 113 //ͨùʧ -#define NET_DVR_LOAD_HCCOREDEVCFG_SDK_ERROR 114 //豸úʧ -#define NET_DVR_LOAD_HCNETUTILS_SDK_ERROR 115 //HCNetUtilsʧ - -#define NET_DVR_CORE_VER_MISMATCH 121 //ʱcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCPREVIEW 122 //Ԥcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCVOICETALK 123 //core汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCALARM 124 //core汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCPLAYBACK 125 //طcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCDISPLAY 126 //ʾcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCINDUSTRY 127 //ҵӦcore汾ƥ -#define NET_DVR_CORE_VER_MISMATCH_HCGENERALCFGMGR 128 //ͨùcore汾ƥ - -#define NET_DVR_COM_VER_MISMATCH_HCPREVIEW 136 //ԤHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCVOICETALK 137 //HCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCALARM 138 //HCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCPLAYBACK 139 //طHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCDISPLAY 140 //ʾHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCINDUSTRY 141 //ҵӦHCNetSDK汾ƥ -#define NET_DVR_COM_VER_MISMATCH_HCGENERALCFGMGR 142 //ͨùHCNetSDK汾ƥ - -#define NET_ERR_CONFIG_FILE_IMPORT_FAILED 145 //ļʧ -#define NET_ERR_CONFIG_FILE_EXPORT_FAILED 146 //ļʧ -#define NET_DVR_CERTIFICATE_FILE_ERROR 147 //֤ -#define NET_DVR_LOAD_SSL_LIB_ERROR 148 //SSLʧܣǰ汾ƥ䣬ҲDzڣ -#define NET_DVR_SSL_VERSION_NOT_MATCH 149 //SSL汾ƥ - -#define NET_DVR_ALIAS_DUPLICATE 150 //ظ //2011-08-31 ͨк豸°汾ddns -#define NET_DVR_INVALID_COMMUNICATION 151 //Чͨ -#define NET_DVR_USERNAME_NOT_EXIST 152 //ûڣûڣIPC5.1.7зȥˣɾIJƷòϣ -#define NET_DVR_USER_LOCKED 153 //û -#define NET_DVR_INVALID_USERID 154 //ЧûID -#define NET_DVR_LOW_LOGIN_VERSION 155 //¼汾 -#define NET_DVR_LOAD_LIBEAY32_DLL_ERROR 156 //libeay32.dllʧ -#define NET_DVR_LOAD_SSLEAY32_DLL_ERROR 157 //ssleay32.dllʧ -#define NET_ERR_LOAD_LIBICONV 158 //libiconvʧ -#define NET_ERR_SSL_CONNECT_FAILED 159 //SSLʧ -#define NET_ERR_MCAST_ADDRESS_ERROR 160 //ȡಥַ -#define NET_ERR_LOAD_ZLIB 161 //zlib.dllʧ -#define NET_ERR_OPENSSL_NO_INIT 162 //Opensslδʼ - -#define NET_DVR_SERVER_NOT_EXIST 164 //ӦķҲ,ʱĹұŻ߷ʹ -#define NET_DVR_TEST_SERVER_FAIL_CONNECT 165 //ӲԷʧ -#define NET_DVR_NAS_SERVER_INVALID_DIR 166 //NASĿ¼ʧܣĿ¼Ч -#define NET_DVR_NAS_SERVER_NOENOUGH_PRI 167 //NASĿ¼ʧܣûȨ -#define NET_DVR_EMAIL_SERVER_NOT_CONFIG_DNS 168 //ʹûDNSЧ -#define NET_DVR_EMAIL_SERVER_NOT_CONFIG_GATEWAY 169 //ûأɷʼʧܡ -#define NET_DVR_TEST_SERVER_PASSWORD_ERROR 170 //û벻ȷԷû -#define NET_DVR_EMAIL_SERVER_CONNECT_EXCEPTION_WITH_SMTP 171 //豸smtp쳣 -#define NET_DVR_FTP_SERVER_FAIL_CREATE_DIR 172 //FTPĿ¼ʧ -#define NET_DVR_FTP_SERVER_NO_WRITE_PIR 173 //FTPûдȨ -#define NET_DVR_IP_CONFLICT 174 //IPͻ -#define NET_DVR_INSUFFICIENT_STORAGEPOOL_SPACE 175 //洢ؿռ -#define NET_DVR_STORAGEPOOL_INVALID 176 //Ʒ洢Ч,ûô洢ػߴ洢ID -#define NET_DVR_EFFECTIVENESS_REBOOT 177 //ЧҪ -#define NET_ERR_ANR_ARMING_EXIST 178 //Ѿ(ô˽вӽ£ظĶʱء) -#define NET_ERR_UPLOADLINK_EXIST 179 //ϴѾ(EHOMEЭSDKЭDzͬʱֶ֧ģһЭڵʱһӽ롣) -#define NET_ERR_INCORRECT_FILE_FORMAT 180 //ļʽȷ -#define NET_ERR_INCORRECT_FILE_CONTENT 181 //ļݲȷ -#define NET_ERR_MAX_HRUDP_LINK 182 //HRUDP 豸 -#define NET_SDK_ERR_ACCESSKEY_SECRETKEY 183 // ԿԿȷ -#define NET_SDK_ERR_CREATE_PORT_MULTIPLEX 184 //˿ڸʧ -#define NET_DVR_NONBLOCKING_CAPTURE_NOTSUPPORT 185 //֧ץͼ -#define NET_SDK_ERR_FUNCTION_INVALID 186 //ѿ첽ùЧ -#define NET_SDK_ERR_MAX_PORT_MULTIPLEX 187 //Ѵﵽ˿ڸĿ -#define NET_DVR_INVALID_LINK 188 //δЧ -#define NET_DVR_ISAPI_NOT_SUPPORT 189 //ӿڲ֧ISAPIЭ - -// 2010-5-28 -// д -#define RAID_ERROR_INDEX 200 -#define NET_DVR_NAME_NOT_ONLY (RAID_ERROR_INDEX + 0) // Ѵ -#define NET_DVR_OVER_MAX_ARRAY (RAID_ERROR_INDEX + 1 ) // дﵽ -#define NET_DVR_OVER_MAX_VD (RAID_ERROR_INDEX + 2 ) // ̴ﵽ -#define NET_DVR_VD_SLOT_EXCEED (RAID_ERROR_INDEX + 3 ) // ̲λ -#define NET_DVR_PD_STATUS_INVALID (RAID_ERROR_INDEX + 4 ) // ؽ״̬ -#define NET_DVR_PD_BE_DEDICATE_SPARE (RAID_ERROR_INDEX + 5 ) // ؽΪָȱ -#define NET_DVR_PD_NOT_FREE (RAID_ERROR_INDEX + 6 ) // ؽ̷ǿ -#define NET_DVR_CANNOT_MIG2NEWMODE (RAID_ERROR_INDEX + 7 ) // ܴӵǰǨƵµ -#define NET_DVR_MIG_PAUSE (RAID_ERROR_INDEX + 8 ) // ǨƲͣ -#define NET_DVR_MIG_CANCEL (RAID_ERROR_INDEX + 9 ) // ִеǨƲȡ -#define NET_DVR_EXIST_VD (RAID_ERROR_INDEX + 10) // ϴ̣޷ɾ -#define NET_DVR_TARGET_IN_LD_FUNCTIONAL (RAID_ERROR_INDEX + 11) // Ϊɲҹ -#define NET_DVR_HD_IS_ASSIGNED_ALREADY (RAID_ERROR_INDEX + 12) // ָ̱Ϊ -#define NET_DVR_INVALID_HD_COUNT (RAID_ERROR_INDEX + 13) // ָRAIDȼƥ -#define NET_DVR_LD_IS_FUNCTIONAL (RAID_ERROR_INDEX + 14) // ޷ؽ -#define NET_DVR_BGA_RUNNING (RAID_ERROR_INDEX + 15) // ִеĺ̨ -#define NET_DVR_LD_NO_ATAPI (RAID_ERROR_INDEX + 16) // ޷ATAPI̴ -#define NET_DVR_MIGRATION_NOT_NEED (RAID_ERROR_INDEX + 17) // Ǩ -#define NET_DVR_HD_TYPE_MISMATCH (RAID_ERROR_INDEX + 18) // ̲ͬ -#define NET_DVR_NO_LD_IN_DG (RAID_ERROR_INDEX + 19) // ̣޷д -#define NET_DVR_NO_ROOM_FOR_SPARE (RAID_ERROR_INDEX + 20) // ̿ռС޷ָΪȱ -#define NET_DVR_SPARE_IS_IN_MULTI_DG (RAID_ERROR_INDEX + 21) // ѱΪijȱ -#define NET_DVR_DG_HAS_MISSING_PD (RAID_ERROR_INDEX + 22) // ȱ - -// x86 64bit nvr 2012-02-04 -#define NET_DVR_NAME_EMPTY (RAID_ERROR_INDEX + 23) /*Ϊ*/ -#define NET_DVR_INPUT_PARAM (RAID_ERROR_INDEX + 24) /**/ -#define NET_DVR_PD_NOT_AVAILABLE (RAID_ERROR_INDEX + 25) /*̲*/ -#define NET_DVR_ARRAY_NOT_AVAILABLE (RAID_ERROR_INDEX + 26) /*в*/ -#define NET_DVR_PD_COUNT (RAID_ERROR_INDEX + 27) /*ȷ*/ -#define NET_DVR_VD_SMALL (RAID_ERROR_INDEX + 28) /*̫С*/ -#define NET_DVR_NO_EXIST (RAID_ERROR_INDEX + 29) /**/ -#define NET_DVR_NOT_SUPPORT (RAID_ERROR_INDEX + 30) /*ָ֧ò*/ -#define NET_DVR_NOT_FUNCTIONAL (RAID_ERROR_INDEX + 31) /*״̬״̬*/ -#define NET_DVR_DEV_NODE_NOT_FOUND (RAID_ERROR_INDEX + 32) /*豸ڵ㲻*/ -#define NET_DVR_SLOT_EXCEED (RAID_ERROR_INDEX + 33) /*λﵽ*/ -#define NET_DVR_NO_VD_IN_ARRAY (RAID_ERROR_INDEX + 34) /*ϲ*/ -#define NET_DVR_VD_SLOT_INVALID (RAID_ERROR_INDEX + 35) /*̲λЧ*/ -#define NET_DVR_PD_NO_ENOUGH_SPACE (RAID_ERROR_INDEX + 36) /*̿ռ䲻*/ -#define NET_DVR_ARRAY_NONFUNCTION (RAID_ERROR_INDEX + 37) /*ֻд״̬вܽǨ*/ -#define NET_DVR_ARRAY_NO_ENOUGH_SPACE (RAID_ERROR_INDEX + 38) /*пռ䲻*/ -#define NET_DVR_STOPPING_SCANNING_ARRAY (RAID_ERROR_INDEX + 39) /*ִаȫ̻ɨ*/ -#define NET_DVR_NOT_SUPPORT_16T (RAID_ERROR_INDEX + 40) /*ִ֧16T*/ -#define NET_DVR_ARRAY_FORMATING (RAID_ERROR_INDEX + 41) /*ִиʽ޷ɾ*/ -#define NET_DVR_QUICK_SETUP_PD_COUNT (RAID_ERROR_INDEX + 42) /*һҪ*/ - -//豸δʱ¼ʧܣش -#define NET_DVR_ERROR_DEVICE_NOT_ACTIVATED 250//豸δ -//SDK豸û߼ʱΪʱ -#define NET_DVR_ERROR_RISK_PASSWORD 251 //зյ -//Ѽ豸ٴμʱش -#define NET_DVR_ERROR_DEVICE_HAS_ACTIVATED 252//豸Ѽ - - -// ܴ -#define VCA_ERROR_INDEX 300 // ܴ -#define NET_DVR_ID_ERROR (VCA_ERROR_INDEX + 0) // ID -#define NET_DVR_POLYGON_ERROR (VCA_ERROR_INDEX + 1) // βҪ -#define NET_DVR_RULE_PARAM_ERROR (VCA_ERROR_INDEX + 2) // -#define NET_DVR_RULE_CFG_CONFLICT (VCA_ERROR_INDEX + 3) // Ϣͻ -#define NET_DVR_CALIBRATE_NOT_READY (VCA_ERROR_INDEX + 4) // ǰûб궨Ϣ -#define NET_DVR_CAMERA_DATA_ERROR (VCA_ERROR_INDEX + 5) // -#define NET_DVR_CALIBRATE_DATA_UNFIT (VCA_ERROR_INDEX + 6) // Ȳбڱ궨 -#define NET_DVR_CALIBRATE_DATA_CONFLICT (VCA_ERROR_INDEX + 7) // 궨Ϊе㹲߻λ̫ -#define NET_DVR_CALIBRATE_CALC_FAIL (VCA_ERROR_INDEX + 8) // 궨ֵʧ -#define NET_DVR_CALIBRATE_LINE_OUT_RECT (VCA_ERROR_INDEX + 9) // 궨߳Ӿο -#define NET_DVR_ENTER_RULE_NOT_READY (VCA_ERROR_INDEX + 10) // ûý -#define NET_DVR_AID_RULE_NO_INCLUDE_LANE (VCA_ERROR_INDEX + 11) // ͨ¼ûаֵӵºУ -#define NET_DVR_LANE_NOT_READY (VCA_ERROR_INDEX + 12) // ǰûó -#define NET_DVR_RULE_INCLUDE_TWO_WAY (VCA_ERROR_INDEX + 13) // ¼а2ֲͬ -#define NET_DVR_LANE_TPS_RULE_CONFLICT (VCA_ERROR_INDEX + 14) // ݹͻ -#define NET_DVR_NOT_SUPPORT_EVENT_TYPE (VCA_ERROR_INDEX + 15) // ֵ֧¼ -#define NET_DVR_LANE_NO_WAY (VCA_ERROR_INDEX + 16) // ûз -#define NET_DVR_SIZE_FILTER_ERROR (VCA_ERROR_INDEX + 17) // ߴ˿򲻺 -#define NET_DVR_LIB_FFL_NO_FACE (VCA_ERROR_INDEX + 18) // 㶨λʱͼû -#define NET_DVR_LIB_FFL_IMG_TOO_SMALL (VCA_ERROR_INDEX + 19) // 㶨λʱͼ̫С -#define NET_DVR_LIB_FD_IMG_NO_FACE (VCA_ERROR_INDEX + 20) // ͼʱͼû -#define NET_DVR_LIB_FACE_TOO_SMALL (VCA_ERROR_INDEX + 21) // ģʱ̫С -#define NET_DVR_LIB_FACE_QUALITY_TOO_BAD (VCA_ERROR_INDEX + 22) // ģʱͼ̫ -#define NET_DVR_KEY_PARAM_ERR (VCA_ERROR_INDEX + 23) //߼ô -#define NET_DVR_CALIBRATE_DATA_ERR (VCA_ERROR_INDEX + 24) //궨Ŀ󣬻ֵ󣬻㳬ƽ -#define NET_DVR_CALIBRATE_DISABLE_FAIL (VCA_ERROR_INDEX + 25) //ùȡ궨 -#define NET_DVR_VCA_LIB_FD_SCALE_OUTRANGE (VCA_ERROR_INDEX + 26) //˿ĿСֵС˿Ŀֵ -#define NET_DVR_LIB_FD_REGION_TOO_LARGE (VCA_ERROR_INDEX + 27) //ǰΧ󡣼Ϊͼ2/3 -#define NET_DVR_TRIAL_OVERDUE (VCA_ERROR_INDEX + 28) //ðѽ -#define NET_DVR_CONFIG_FILE_CONFLICT (VCA_ERROR_INDEX + 29) //豸ļͻܹзòʾ -//㷨ش -#define NET_DVR_FR_FPL_FAIL (VCA_ERROR_INDEX + 30) // 㶨λʧ -#define NET_DVR_FR_IQA_FAIL (VCA_ERROR_INDEX + 31) // ʧ -#define NET_DVR_FR_FEM_FAIL (VCA_ERROR_INDEX + 32) // ȡʧ -#define NET_DVR_FPL_DT_CONF_TOO_LOW (VCA_ERROR_INDEX + 33) // 㶨λʱŶȹ -#define NET_DVR_FPL_CONF_TOO_LOW (VCA_ERROR_INDEX + 34) // 㶨λŶȹ -#define NET_DVR_E_DATA_SIZE (VCA_ERROR_INDEX + 35) // ݳȲƥ -#define NET_DVR_FR_MODEL_VERSION_ERR (VCA_ERROR_INDEX + 36) // ģеģͰ汾 -#define NET_DVR_FR_FD_FAIL (VCA_ERROR_INDEX + 37) // ʶʧ -#define NET_DVR_FA_NORMALIZE_ERR (VCA_ERROR_INDEX + 38) // һ -// -#define NET_DVR_DOG_PUSTREAM_NOT_MATCH (VCA_ERROR_INDEX + 39) // ܹǰȡ豸Ͳƥ -#define NET_DVR_DEV_PUSTREAM_NOT_MATCH (VCA_ERROR_INDEX + 40) // ǰȡ豸汾ƥ -#define NET_DVR_PUSTREAM_ALREADY_EXISTS (VCA_ERROR_INDEX + 41) // 豸ͨѾӹǰ豸 -#define NET_DVR_SEARCH_CONNECT_FAILED (VCA_ERROR_INDEX + 42) // Ӽʧ -#define NET_DVR_INSUFFICIENT_DISK_SPACE (VCA_ERROR_INDEX + 43) // ɴ洢Ӳ̿ռ䲻 -#define NET_DVR_DATABASE_CONNECTION_FAILED (VCA_ERROR_INDEX + 44) // ݿʧ -#define NET_DVR_DATABASE_ADM_PW_ERROR (VCA_ERROR_INDEX + 45) // ݿû -#define NET_DVR_DECODE_YUV (VCA_ERROR_INDEX + 46) // ʧ -#define NET_DVR_IMAGE_RESOLUTION_ERROR (VCA_ERROR_INDEX + 47) // -#define NET_DVR_CHAN_WORKMODE_ERROR (VCA_ERROR_INDEX + 48) // - -#define NET_DVR_RTSP_ERROR_NOENOUGHPRI 401 //Ȩޣ401ʱת -#define NET_DVR_RTSP_ERROR_ALLOC_RESOURCE 402 //Դʧ -#define NET_DVR_RTSP_ERROR_PARAMETER 403 // -#define NET_DVR_RTSP_ERROR_NO_URL 404 //ָURLַڣ404ʱת -#define NET_DVR_RTSP_ERROR_FORCE_STOP 406 //û;ǿ˳ - -#define NET_DVR_RTSP_GETPORTFAILED 407 //rtsp õ˿ڴ -#define NET_DVR_RTSP_DESCRIBERROR 410 //rtsp decribe -#define NET_DVR_RTSP_DESCRIBESENDTIMEOUT 411 //rtsp decribe ͳʱ -#define NET_DVR_RTSP_DESCRIBESENDERROR 412 //rtsp decribe ʧ -#define NET_DVR_RTSP_DESCRIBERECVTIMEOUT 413 //rtsp decribe ճʱ -#define NET_DVR_RTSP_DESCRIBERECVDATALOST 414 //rtsp decribe ݴ -#define NET_DVR_RTSP_DESCRIBERECVERROR 415 //rtsp decribe ʧ -#define NET_DVR_RTSP_DESCRIBESERVERERR 416 //rtsp decribe ش״̬ - -#define NET_DVR_RTSP_SETUPERROR 420 //rtsp setup -#define NET_DVR_RTSP_SETUPSENDTIMEOUT 421 //rtsp setup ͳʱ -#define NET_DVR_RTSP_SETUPSENDERROR 422 //rtsp setup ʹ -#define NET_DVR_RTSP_SETUPRECVTIMEOUT 423 //rtsp setup ճʱ -#define NET_DVR_RTSP_SETUPRECVDATALOST 424 //rtsp setup ݴ -#define NET_DVR_RTSP_SETUPRECVERROR 425 //rtsp setup ʧ -#define NET_DVR_RTSP_OVER_MAX_CHAN 426 //߷Դ㣬453ʱת롣 -#define NET_DVR_RTSP_SETUPSERVERERR 427 //rtsp setup ش״̬ - -#define NET_DVR_RTSP_PLAYERROR 430 //rtsp play -#define NET_DVR_RTSP_PLAYSENDTIMEOUT 431 //rtsp play ͳʱ -#define NET_DVR_RTSP_PLAYSENDERROR 432 //rtsp play ʹ -#define NET_DVR_RTSP_PLAYRECVTIMEOUT 433 //rtsp play ճʱ -#define NET_DVR_RTSP_PLAYRECVDATALOST 434 //rtsp play ݴ -#define NET_DVR_RTSP_PLAYRECVERROR 435 //rtsp play ʧ -#define NET_DVR_RTSP_PLAYSERVERERR 436 //rtsp play ش״̬ - -#define NET_DVR_RTSP_TEARDOWNERROR 440 //rtsp teardown -#define NET_DVR_RTSP_TEARDOWNSENDTIMEOUT 441 //rtsp teardown ͳʱ -#define NET_DVR_RTSP_TEARDOWNSENDERROR 442 //rtsp teardown ʹ -#define NET_DVR_RTSP_TEARDOWNRECVTIMEOUT 443 //rtsp teardown ճʱ -#define NET_DVR_RTSP_TEARDOWNRECVDATALOST 444 //rtsp teardown ݴ -#define NET_DVR_RTSP_TEARDOWNRECVERROR 445 //rtsp teardown ʧ -#define NET_DVR_RTSP_TEARDOWNSERVERERR 446 //rtsp teardown ش״̬ - -#define NET_PLAYM4_NOERROR 500 //no error -#define NET_PLAYM4_PARA_OVER 501 //input parameter is invalid; -#define NET_PLAYM4_ORDER_ERROR 502 //The order of the function to be called is error. -#define NET_PLAYM4_TIMER_ERROR 503 //Create multimedia clock failed; -#define NET_PLAYM4_DEC_VIDEO_ERROR 504 //Decode video data failed. -#define NET_PLAYM4_DEC_AUDIO_ERROR 505 //Decode audio data failed. -#define NET_PLAYM4_ALLOC_MEMORY_ERROR 506 //Allocate memory failed. -#define NET_PLAYM4_OPEN_FILE_ERROR 507 //Open the file failed. -#define NET_PLAYM4_CREATE_OBJ_ERROR 508 //Create thread or event failed -#define NET_PLAYM4_CREATE_DDRAW_ERROR 509 //Create DirectDraw object failed. -#define NET_PLAYM4_CREATE_OFFSCREEN_ERROR 510 //failed when creating off-screen surface. -#define NET_PLAYM4_BUF_OVER 511 //buffer is overflow -#define NET_PLAYM4_CREATE_SOUND_ERROR 512 //failed when creating audio device. -#define NET_PLAYM4_SET_VOLUME_ERROR 513 //Set volume failed -#define NET_PLAYM4_SUPPORT_FILE_ONLY 514 //The function only support play file. -#define NET_PLAYM4_SUPPORT_STREAM_ONLY 515 //The function only support play stream. -#define NET_PLAYM4_SYS_NOT_SUPPORT 516 //System not support. -#define NET_PLAYM4_FILEHEADER_UNKNOWN 517 //No file header. -#define NET_PLAYM4_VERSION_INCORRECT 518 //The version of decoder and encoder is not adapted. -#define NET_PALYM4_INIT_DECODER_ERROR 519 //Initialize decoder failed. -#define NET_PLAYM4_CHECK_FILE_ERROR 520 //The file data is unknown. -#define NET_PLAYM4_INIT_TIMER_ERROR 521 //Initialize multimedia clock failed. -#define NET_PLAYM4_BLT_ERROR 522 //Blt failed. -#define NET_PLAYM4_UPDATE_ERROR 523 //Update failed. -#define NET_PLAYM4_OPEN_FILE_ERROR_MULTI 524 //openfile error, streamtype is multi -#define NET_PLAYM4_OPEN_FILE_ERROR_VIDEO 525 //openfile error, streamtype is video -#define NET_PLAYM4_JPEG_COMPRESS_ERROR 526 //JPEG compress error -#define NET_PLAYM4_EXTRACT_NOT_SUPPORT 527 //Don't support the version of this file. -#define NET_PLAYM4_EXTRACT_DATA_ERROR 528 //extract video data failed. - -//תװ -#define NET_CONVERT_ERROR_NOT_SUPPORT 581 //convert not support - -//Խ -#define NET_AUDIOINTERCOM_OK 600 //޴ -#define NET_AUDIOINTECOM_ERR_NOTSUPORT 601 //֧ -#define NET_AUDIOINTECOM_ERR_ALLOC_MEMERY 602 //ڴ -#define NET_AUDIOINTECOM_ERR_PARAMETER 603 // -#define NET_AUDIOINTECOM_ERR_CALL_ORDER 604 //ô -#define NET_AUDIOINTECOM_ERR_FIND_DEVICE 605 //δ豸 -#define NET_AUDIOINTECOM_ERR_OPEN_DEVICE 606 //ܴ豸 -#define NET_AUDIOINTECOM_ERR_NO_CONTEXT 607 //豸ij -#define NET_AUDIOINTECOM_ERR_NO_WAVFILE 608 //WAVļ -#define NET_AUDIOINTECOM_ERR_INVALID_TYPE 609 //ЧWAV -#define NET_AUDIOINTECOM_ERR_ENCODE_FAIL 610 //ʧ -#define NET_AUDIOINTECOM_ERR_DECODE_FAIL 611 //ʧ -#define NET_AUDIOINTECOM_ERR_NO_PLAYBACK 612 //ʧ -#define NET_AUDIOINTECOM_ERR_DENOISE_FAIL 613 //ʧ -#define NET_AUDIOINTECOM_ERR_UNKOWN 619 //δ֪ - -#define NET_QOS_OK 700 //no error -#define NET_QOS_ERROR (NET_QOS_OK - 1) //qos error -#define NET_QOS_ERR_INVALID_ARGUMENTS (NET_QOS_OK - 2) //invalid arguments -#define NET_QOS_ERR_SESSION_NOT_FOUND (NET_QOS_OK - 3) //session net found -#define NET_QOS_ERR_LIB_NOT_INITIALIZED (NET_QOS_OK - 4) //lib not initialized -#define NET_QOS_ERR_OUTOFMEM (NET_QOS_OK - 5) //outtofmem -#define NET_QOS_ERR_PACKET_UNKNOW (NET_QOS_OK - 10) //packet unknow -#define NET_QOS_ERR_PACKET_VERSION (NET_QOS_OK - 11) //packet version error -#define NET_QOS_ERR_PACKET_LENGTH (NET_QOS_OK - 12) //packet length error -#define NET_QOS_ERR_PACKET_TOO_BIG (NET_QOS_OK - 13) //packet too big -#define NET_QOS_ERR_SCHEDPARAMS_INVALID_BANDWIDTH (NET_QOS_OK - 20) //schedparams invalid bandwidth -#define NET_QOS_ERR_SCHEDPARAMS_BAD_FRACTION (NET_QOS_OK - 21) //schedparams bad fraction -#define NET_QOS_ERR_SCHEDPARAMS_BAD_MINIMUM_INTERVAL (NET_QOS_OK - 22) //schedparams bad minimum interval - -#define NET_ERROR_TRUNK_LINE 711 //ϵͳѱɸ -#define NET_ERROR_MIXED_JOINT 712 //ܽлƴ -#define NET_ERROR_DISPLAY_SWITCH 713 //ܽʾͨл -#define NET_ERROR_USED_BY_BIG_SCREEN 714 //Դռ -#define NET_ERROR_USE_OTHER_DEC_RESOURCE 715 //ʹϵͳԴ -#define NET_ERROR_DISP_MODE_SWITCH 716 //ʾͨʾ״̬л -#define NET_ERROR_SCENE_USING 717 //ʹ -#define NET_ERR_NO_ENOUGH_DEC_RESOURCE 718 //Դ -#define NET_ERR_NO_ENOUGH_FREE_SHOW_RESOURCE 719 //Դ -#define NET_ERR_NO_ENOUGH_VIDEO_MEMORY 720 //ԴԴ -#define NET_ERR_MAX_VIDEO_NUM 721 //һ϶Դ -#define NET_ERR_WIN_COVER_FREE_SHOW_AND_NORMAL 722 //ڿԽ˳ںͷdz -#define NET_ERR_FREE_SHOW_WIN_SPLIT 723 //Դڲַ֧ -#define NET_ERR_INAPPROPRIATE_WIN_FREE_SHOW 724 //Ĵڲֿ֧ -#define NET_DVR_TRANSPARENT_WIN_NOT_SUPPORT_SPLIT 725 //͸ȵĴڲַ֧ -#define NET_DVR_SPLIT_WIN_NOT_SUPPORT_TRANSPARENT 726 //Ĵڲ֧͸ -#define NET_ERR_MAX_LOGO_NUM 727 //logoﵽ -#define NET_ERR_MAX_WIN_LOOP_NUM 728 //Ѳﵽ -#define NET_ERR_VIRTUAL_LED_VERTICAL_CROSS 729 //LED -#define NET_ERR_MAX_VIRTUAL_LED_HEIGHT 730 //LED߶ȳ -#define NET_ERR_VIRTUAL_LED_ILLEGAL_CHARACTER 731 //LEDݰǷַ -#define NET_ERR_BASEMAP_NOT_EXIST 732 //ͼͼƬ -#define NET_ERR_LED_NOT_SUPPORT_VIRTUAL_LED 733 //LEDĻ֧LED -#define NET_ERR_LED_RESOLUTION_NOT_SUPPORT 734 //LEDֱʲ֧ -#define NET_ERR_PLAN_OVERDUE 735 //Ԥڣٵ -#define NET_ERR_PROCESSER_MAX_SCREEN_BLK 736 //źſԽĻ -#define NET_ERR_WND_SIZE_TOO_SMALL 737 //ڿ̫С -#define NET_ERR_WND_SPLIT_NOT_SUPPORT_ROAM 738 //ڲ֧ -#define NET_ERR_OUTPUT_ONE_BOARD_ONE_WALL 739 //ͬһӰֻܰ󶨵ͬһǽ -#define NET_ERR_WND_CANNOT_LCD_AND_LED_OUTPUT 740 //ڲͬʱLCDLED -#define NET_ERR_MAX_OSD_NUM 741 //OSDﵽ - -#define NET_SDK_CANCEL_WND_TOPKEEP_ATTR_FIRST 751 //ȡöִڵöԲܽõײ -#define NET_SDK_ERR_LED_SCREEN_CHECKING 752 //УLEDĻ -#define NET_SDK_ERR_NOT_SUPPORT_SINGLE_RESOLUTION 753 //LCD/LEDڰֵ֧֮ڵķֱ -#define NET_SDK_ERR_LED_RESOLUTION_MISMATCHED 754 //ڵLEDֱʺڵLEDֱʲƥ䣬Ҫͬеȸߡͬеȿ - - -#define NET_SDK_ERR_MAX_VIRTUAL_LED_WIDTH 755 //LEDȳޣֵСֵ -#define NET_SDK_ERR_MAX_VIRTUAL_LED_IN_SCREEN 756 //LED -#define NET_SDK_ERR_MAX_VIRTUAL_LED_IN_WALL 757 //ǽLED -#define NET_SDK_ERR_VIRTUAL_LED_OVERLAP 758 //LEDص -#define NET_SDK_ERR_VIRTUAL_LED_TYPE 759 //ʹ -#define NET_SDK_ERR_VIRTUAL_LED_COLOUR 760 //ɫ -#define NET_SDK_ERR_VIRTUAL_LED_MOVE_DIRECTION 761 //ƶ -#define NET_SDK_ERR_VIRTUAL_LED_MOVE_MODE 762 //ƶģʽ -#define NET_SDK_ERR_VIRTUAL_LED_MOVE_SPEED 763 //ƶٶȴ -#define NET_SDK_ERR_VIRTUAL_LED_DISP_MODE 764 //ʾģʽ -#define NET_SDK_ERR_VIRTUAL_LED_NO 765 //LEDŴ -#define NET_SDK_ERR_VIRTUAL_LED_PARA 766 //LEDô󣬰ṹ -#define NET_SDK_ERR_BASEMAP_POSITION 767 //ͼڿ߲ -#define NET_SDK_ERR_BASEMAP_PICTURE_LEN 768 //ͼͼƬȳ -#define NET_SDK_ERR_BASEMAP_PICTURE_RESOLUTION 769 //ͼͼƬֱʴ -#define NET_SDK_ERR_BASEMAP_PICTURE_FORMAT 770 //ͼͼƬʽ -#define NET_SDK_ERR_MAX_VIRTUAL_LED_NUM 771 //豸ֵ֧LED -#define NET_SDK_ERR_MAX_TIME_VIRTUAL_LED_IN_WALL 772 //ǽֵ֧ʱLED - -#define NET_ERR_TERMINAL_BUSY 780 //նæն˴ڻ - -#define NET_ERR_DATA_RETURNED_ILLEGAL 790 //豸صݲϷ -#define NET_DVR_FUNCTION_RESOURCE_USAGE_ERROR 791 //豸ռԴ¸ù޷ - -#define NET_DVR_ERR_IMPORT_EMPTY_FILE 792 //ļΪ -#define NET_DVR_ERR_IMPORT_TOO_LARGE_FILE 793 //ļ -#define NET_DVR_ERR_BAD_IPV4_ADDRESS 794 //IPV4ַЧ -#define NET_DVR_ERR_BAD_NET_MASK 795 //ַЧ -#define NET_DVR_ERR_INVALID_NET_GATE_ADDRESS 796 //صַЧ -#define NET_DVR_ERR_BAD_DNS 797 //DNSַЧ -#define NET_DVR_ERR_ILLEGAL_PASSWORD 798 //벻ܰû - -#define NET_DVR_DEV_NET_OVERFLOW 800 //豸 -#define NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK 801 //¼ļ¼޷ -#define NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK 802 //Ӳ̫С޷ʽ - -//N+1 -#define NET_SDK_ERR_REMOTE_DISCONNECT 803 //Զ޷ -#define NET_SDK_ERR_RD_ADD_RD 804 //ӱ -#define NET_SDK_ERR_BACKUP_DISK_EXCEPT 805 //쳣 -#define NET_SDK_ERR_RD_LIMIT 806 //Ѵ -#define NET_SDK_ERR_ADDED_RD_IS_WD 807 //ӵıǹ -#define NET_SDK_ERR_ADD_ORDER_WRONG 808 //˳ûбΪӹ -#define NET_SDK_ERR_WD_ADD_WD 809 //ӹ -#define NET_SDK_ERR_WD_SERVICE_EXCETP 810 //CVR쳣 -#define NET_SDK_ERR_RD_SERVICE_EXCETP 811 //CVR쳣 -#define NET_SDK_ERR_ADDED_WD_IS_RD 812 //ӵĹDZ -#define NET_SDK_ERR_PERFORMANCE_LIMIT 813 //ܴﵽ -#define NET_SDK_ERR_ADDED_DEVICE_EXIST 814 //ӵ豸Ѿ - -//Ѷ -#define NET_SDK_ERR_INQUEST_RESUMING 815 //Ѷָ -#define NET_SDK_ERR_RECORD_BACKUPING 816 //Ѷ -#define NET_SDK_ERR_DISK_PLAYING 817 //̻ط -#define NET_SDK_ERR_INQUEST_STARTED 818 //Ѷѿ -#define NET_SDK_ERR_LOCAL_OPERATING 819 //ز -#define NET_SDK_ERR_INQUEST_NOT_START 820 //Ѷδ -//Netra3.1.0 -#define NET_SDK_ERR_CHAN_AUDIO_BIND 821 //ͨδ󶨻Խʧ -//ƴ洢 -#define NET_DVR_N_PLUS_ONE_MODE 822 //豸ǰN+1ģʽ -#define NET_DVR_CLOUD_STORAGE_OPENED 823 //ƴ洢ģʽѿ - -#define NET_DVR_ERR_OPER_NOT_ALLOWED 824 //豸N+0ӹ״̬ò -#define NET_DVR_ERR_NEED_RELOCATE 825 //豸N+0ӹ״̬ҪȡضϢ² - -//ͥ -#define NET_SDK_ERR_IR_PORT_ERROR 830 //ڴ -#define NET_SDK_ERR_IR_CMD_ERROR 831 //ڵŴ -#define NET_SDK_ERR_NOT_INQUESTING 832 //豸ڷѶ״̬ -#define NET_SDK_ERR_INQUEST_NOT_PAUSED 833 //豸ڷͣ״̬ -#define NET_DVR_CHECK_PASSWORD_MISTAKE_ERROR 834 //У -#define NET_DVR_CHECK_PASSWORD_NULL_ERROR 835 //У벻Ϊ -#define NET_DVR_UNABLE_CALIB_ERROR 836 // ǰ޷궨 -#define NET_DVR_PLEASE_CALIB_ERROR 837 //ɱ궨 -#define NET_DVR_ERR_PANORAMIC_CAL_EMPTY 838 //Flashȫ궨Ϊ -#define NET_DVR_ERR_CALIB_FAIL_PLEASEAGAIN 839 //궨ʧܣ±궨(Calibration failed. Please calibrate again.) -#define NET_DVR_ERR_DETECTION_LINE 840 //ôùߣȷλںɫ(Please set detection line again. The detection line should be within the red count area.) -#define NET_DVR_ERR_TURN_OFF_IMAGE_PARA 841 //ȹرͼл(Please turn off the image parameters switch first.) -#define NET_DVR_EXCEED_FACE_IMAGES_ERROR 843 //ͼƬ -#define NET_DVR_ANALYSIS_FACE_IMAGES_ERROR 844 //ͼƬʶʧ -#define NET_ERR_ALARM_INPUT_OCCUPIED 845 //A<-1ڴץAlarm Input No. A<-1 is used to trigger vehicle capture. -#define NET_DVR_FACELIB_DATABASE_ERROR 846 //ݿ汾ƥ -#define NET_DVR_FACELIB_DATA_ERROR 847 //ݴ -#define NET_DVR_FACE_DATA_ID_ERROR 848 //PIDЧ -#define NET_DVR_FACELIB_ID_ERROR 849 //IDЧ -#define NET_DVR_EXCEED_FACE_LIBARY_ERROR 850 // -#define NET_DVR_PIC_ANALYSIS_NO_TARGET_ERROR 851 //ͼƬδʶĿ -#define NET_DVR_SUBPIC_ANALYSIS_MODELING_ERROR 852 //ͼģʧ -#define NET_DVR_PIC_ANALYSIS_NO_RESOURCE_ERROR 853 //޶Ӧܷ֧ͼƬʶ -#define NET_DVR_ANALYSIS_ENGINES_NO_RESOURCE_ERROR 854//޷Դ -#define NET_DVR_ANALYSIS_ENGINES_USAGE_EXCEED_ERROR 855//ʹʳɣѴ100% -#define NET_DVR_EXCEED_HUMANMISINFO_FILTER_ENABLED_ERROR 856 //ȥͨ -#define NET_DVR_NAME_ERROR 857 //ƴ -#define NET_DVR_NAME_EXIST_ERROR 858 //Ѵ -#define NET_DVR_FACELIB_PIC_IMPORTING_ERROR 859 //⵼ͼƬ -#define NET_DVR_ERR_CALIB_POSITION 860 //궨λó˶Χ -#define NET_DVR_ERR_DELETE 861 //޷ɾ -#define NET_DVR_ERR_SCENE_ID 862 //IDЧ -#define NET_DVR_ERR_CALIBING 863 //궨 -#define NET_DVR_PIC_FORMAT_ERROR 864 //ͼƬʽ -#define NET_DVR_PIC_RESOLUTION_INVALID_ERROR 865 //ͼƬֱЧ -#define NET_DVR_PIC_SIZE_EXCEED_ERROR 866 //ͼƬ -#define NET_DVR_PIC_ANALYSIS_TARGRT_NUM_EXCEED_ERROR 867 //ͼƬĿ -#define NET_DVR_ANALYSIS_ENGINES_LOADING_ERROR 868//ʼ -#define NET_DVR_ANALYSIS_ENGINES_ABNORMA_ERROR 869//쳣 -#define NET_DVR_ANALYSIS_ENGINES_FACELIB_IMPORTING 870//ڵ -#define NET_DVR_NO_DATA_FOR_MODELING_ERROR 871 //޴ģ -#define NET_DVR_FACE_DATA_MODELING_ERROR 872 //豸ڽͼƬģֲ֧ -#define NET_ERR_FACELIBDATA_OVERLIMIT 873 //豸ֵ֧ƣݣ -#define NET_DVR_ANALYSIS_ENGINES_ASSOCIATED_CHANNEL 874//ѹͨ -#define NET_DVR_ERR_CUSTOMID_LEN 875 //ϲԶIDijС32ַ -#define NET_DVR_ERR_CUSTOMFACELIBID_REPEAT 876 //ϲ·ظԶID -#define NET_DVR_ERR_CUSTOMHUMANID_REPEAT 877 //ϲ·ظԶԱID -#define NET_DVR_ERR_URL_DOWNLOAD_FAIL 878 //urlʧ -#define NET_DVR_ERR_URL_DOWNLOAD_NOTSTART 879 //urlδʼ - -#define NET_DVR_CFG_FILE_SECRETKEY_ERROR 880 //ļȫУԿ -#define NET_DVR_WDR_NOTDISABLE_ERROR 881 //ȹرͨǰҹתģʽµĿ̬ -#define NET_DVR_HLC_NOTDISABLE_ERROR 882 //ȹرͨǰҹתģʽµǿ - -#define NET_DVR_THERMOMETRY_REGION_OVERSTEP_ERROR 883 //Խ - - -#define NET_DVR_ERR_MODELING_DEVICEINTERNAL 884 //ģʧܣ豸ڲ -#define NET_DVR_ERR_MODELING_FACE 885 //ģʧܣģ -#define NET_DVR_ERR_MODELING_FACEGRADING 886 //ģʧܣִ -#define NET_DVR_ERR_MODELING_FACEGFEATURE 887 //ģʧܣȡ -#define NET_DVR_ERR_MODELING_FACEGANALYZING 888 //ģʧܣȡ - -#define NET_DVR_ERR_STREAM_LIMIT 889 //ܳޣȡ· -#define NET_DVR_ERR_STREAM_DESCRIPTION 890 // -#define NET_DVR_ERR_STREAM_DELETE 891 //ʹ޷ɾ -#define NET_DVR_ERR_CUSTOMSTREAM_NAME 892 //ԶΪջ򲻺Ϸ -#define NET_DVR_ERR_CUSTOMSTREAM_NOTEXISTED 893 //Զ - -#define NET_DVR_ERR_TOO_SHORT_CALIBRATING_TIME 894 //궨ʱ̫ -#define NET_DVR_ERR_AUTO_CALIBRATE_FAILED 895 //Զ궨ʧ -#define NET_DVR_ERR_VERIFICATION_FAILED 896 //Уʧ - -#define NET_DVR_NO_TEMP_SENSOR_ERROR 897 //¶ȴ -#define NET_DVR_PUPIL_DISTANCE_OVERSIZE_ERROR 898 //ͫ -#define NET_DVR_ERR_UNOPENED_FACE_SNAP 899 //Чȿץ -//2011-10-25루900-950 -#define NET_ERR_CUT_INPUTSTREAM_OVERLIMIT 900 //źԴüֵ -#define NET_ERR_WINCHAN_IDX 901 // ͨŴ -#define NET_ERR_WIN_LAYER 902 // ڲ󣬵ĻาǵĴڲ -#define NET_ERR_WIN_BLK_NUM 903 // ڵĿ󣬵ڿɸǵĻ -#define NET_ERR_OUTPUT_RESOLUTION 904 // ֱʴ -#define NET_ERR_LAYOUT 905 // ֺŴ -#define NET_ERR_INPUT_RESOLUTION 906 // ֱʲ֧ -#define NET_ERR_SUBDEVICE_OFFLINE 907 // 豸 -#define NET_ERR_NO_DECODE_CHAN 908 // ûпнͨ -#define NET_ERR_MAX_WINDOW_ABILITY 909 // , ֲʽн豸޻ʾ޵ -#define NET_ERR_ORDER_ERROR 910 // ˳ -#define NET_ERR_PLAYING_PLAN 911 // ִԤ -#define NET_ERR_DECODER_USED 912 // ʹ -#define NET_ERR_OUTPUT_BOARD_DATA_OVERFLOW 913 // -#define NET_ERR_SAME_USER_NAME 914 // ûͬ -#define NET_ERR_INVALID_USER_NAME 915 // Чû -#define NET_ERR_MATRIX_USING 916 // ʹ -#define NET_ERR_DIFFERENT_CHAN_TYPE 917 // ͨͲͬͨͿΪͬͣ -#define NET_ERR_INPUT_CHAN_BINDED 918 // ͨѾ -#define NET_ERR_BINDED_OUTPUT_CHAN_OVERFLOW 919 // ʹõľͨ󶨵ͨ -#define NET_ERR_MAX_SIGNAL_NUM 920 // źԴﵽ -#define NET_ERR_INPUT_CHAN_USING 921 // ͨʹ -#define NET_ERR_MANAGER_LOGON 922 // ԱѾ½ʧ -#define NET_ERR_USERALREADY_LOGON 923 // ûѾ½ʧ -#define NET_ERR_LAYOUT_INIT 924 // ڳʼʧ -#define NET_ERR_BASEMAP_SIZE_NOT_MATCH 925 // ͼС -#define NET_ERR_WINDOW_OPERATING 926 // ִβʧ -#define NET_ERR_SIGNAL_UPLIMIT 927 // źԴﵽ -#define NET_ERR_SIGNAL_MAX_ENLARGE_TIMES 928 // źԴŴ -#define NET_ERR_ONE_SIGNAL_MULTI_CROSS 929 // źԴܶο -#define NET_ERR_ULTRA_HD_SIGNAL_MULTI_WIN 930 // źԴظ -#define NET_ERR_MAX_VIRTUAL_LED_WIDTH 931 //LEDȴֵ -#define NET_ERR_MAX_VIRTUAL_LED_WORD_LEN 932 //LEDֵַ -#define NET_ERR_SINGLE_OUTPUTPARAM_CONFIG 933//ֵ֧ʾ -#define NET_ERR_MULTI_WIN_BE_COVER 934//ڱ -#define NET_ERR_WIN_NOT_EXIST 935 //ڲ -#define NET_ERR_WIN_MAX_SIGNALSOURCE 936//źԴֵ -#define NET_ERR_MULTI_WIN_MOVE 937//Զƶ -#define NET_ERR_MULTI_WIN_YPBPR_SDI 938 // YPBPR SDIźԴ֧9/16 -#define NET_ERR_DIFF_TYPE_OUTPUT_MIXUSE 939 //ͬ -#define NET_ERR_SPLIT_WIN_CROSS 940//Կڷ -#define NET_ERR_SPLIT_WIN_NOT_FULL_SCREEN 941 //δڷ -#define NET_ERR_SPLIT_WIN_MANY_WIN 942 //ԵжڵĴڷ -#define NET_ERR_WINDOW_SIZE_OVERLIMIT 943 //ڴС -#define NET_ERR_INPUTSTREAM_ALREADY_JOINT 944 //źԴѼƴ -#define NET_ERR_JOINT_INPUTSTREAM_OVERLIMIT 945 //ƴźԴ - -#define NET_ERR_LED_RESOLUTION 946 //LED ֱʴֱ -#define NET_ERR_JOINT_SCALE_OVERLIMIT 947 //ƴźԴĹģ -#define NET_ERR_INPUTSTREAM_ALREADY_DECODE 948 //źԴǽ -#define NET_ERR_INPUTSTREAM_NOTSUPPORT_CAPTURE 949 //źԴ֧ץͼ -#define NET_ERR_JOINT_NOTSUPPORT_SPLITWIN 950 //źԴַ֧ - -//루951-999 -#define NET_ERR_MAX_WIN_OVERLAP 951 //ﵽ󴰿ص -#define NET_ERR_STREAMID_CHAN_BOTH_VALID 952 //stream IDͨͬʱЧ -#define NET_ERR_NO_ZERO_CHAN 953 //豸ͨ -#define NEED_RECONNECT 955 //Ҫضתϵͳʹã -#define NET_ERR_NO_STREAM_ID 956 //ID -#define NET_DVR_TRANS_NOT_START 957 //תδ -#define NET_ERR_MAXNUM_STREAM_ID 958 //IDﵽ -#define NET_ERR_WORKMODE_MISMATCH 959 //ģʽƥ -#define NET_ERR_MODE_IS_USING 960 //ѹڵǰģʽ -#define NET_ERR_DEV_PROGRESSING 961 //豸ڴ -#define NET_ERR_PASSIVE_TRANSCODING 962 //ڱת - -#define NET_ERR_RING_NOT_CONFIGURE 964 //δ - -#define NET_ERR_CLOSE_WINDOW_FIRST 971 //лȫ֡ʳʱȹرնӦǽĴ -#define NET_ERR_SPLIT_WINDOW_NUM_NOT_SUPPORT 972 //VGA/DVI/DP/HDMI/HDBase_TԴȫ֡ʳ²֧9/16 -#define NET_ERR_REACH_ONE_SIGNAL_PREVIEW_MAX_LINK 973 //źԴ -#define NET_ERR_ONLY_SPLITWND_SUPPORT_AMPLIFICATION 974 //ֻз֧ӴڷŴ -#define NET_DVR_ERR_WINDOW_SIZE_PLACE 975 //λô -#define NET_DVR_ERR_RGIONAL_RESTRICTIONS 976 //Ļ볬 -#define NET_ERR_WNDZOOM_NOT_SUPPORT 977 //ڲ֧Ӵȫ -#define NET_ERR_LED_SCREEN_SIZE 978 //LED߲ȷ -#define NET_ERR_OPEN_WIN_IN_ERROR_AREA 979 //ڷǷ򿪴(LCD/LED) -#define NET_ERR_TITLE_WIN_NOT_SUPPORT_MOVE 980 //ƽģʽ֧ -#define NET_ERR_TITLE_WIN_NOT_SUPPORT_COVER 981 //ƽģʽ֧ͼ㸲 -#define NET_ERR_TITLE_WIN_NOT_SUPPORT_SPLIT 982 //ƽģʽַ֧ -#define NET_DVR_LED_WINDOWS_ALREADY_CLOSED 983 //LEDڵķֱʷ仯豸ѹرոڵLED -#define NET_DVR_ERR_CLOSE_WINDOWS 984 //ʧܣȹرմ -#define NET_DVR_ERR_MATRIX_LOOP_ABILITY 985 //Ѳ -#define NET_DVR_ERR_MATRIX_LOOP_TIME 986 //Ѳʱ䲻֧ -#define NET_DVR_ERR_LINKED_OUT_ABILITY 987 //ͨ -#define NET_ERR_REACH_SCENE_MAX_NUM 988 //ﵽ -#define NET_ERR_SCENE_MEM_NOT_ENOUGH 989 //ڴ治㣬޷½ -#define NET_ERR_RESOLUTION_NOT_SUPPORT_ODD_VOUT 990 //ڲָ֧÷ֱ -#define NET_ERR_RESOLUTION_NOT_SUPPORT_EVEN_VOUT 991 //żڲָ֧÷ֱ - -#define NET_DVR_CANCEL_WND_OPENKEEP_ATTR_FIRST 992 //ҪȡԲܱر -#define NET_SDK_LED_MODE_NOT_SUPPORT_SPLIT 993 //LEDģʽ²ִ֧ڷ -#define NET_ERR_VOICETALK_ONLY_SUPPORT_ONE_TALK 994 //ͬʱֻ֧һ·Խ -#define NET_ERR_WND_POSITION_ADJUSTED 995 //λñ豸ϲҪ»ȡ´λ -#define NET_SDK_ERR_STARTTIME_CANNOT_LESSTHAN_CURTIME 996 //ʼʱ䲻Сڵǰʱ -#define NET_SDK_ERR_NEED_ADJUST_PLAN 997 //ѱԤȽóԤɾ -#define NET_ERR_UnitConfig_Failed 998 //õλͳһѡʱõĵλϵͳµĵλͬصλô - -// -#define XML_ABILITY_NOTSUPPORT 1000 //֧ڵȡ -#define XML_ANALYZE_NOENOUGH_BUF 1001 //ڴ治 -#define XML_ANALYZE_FIND_LOCALXML_ERROR 1002 //޷ҵӦıxml -#define XML_ANALYZE_LOAD_LOCALXML_ERROR 1003 //رxml -#define XML_NANLYZE_DVR_DATA_FORMAT_ERROR 1004 //豸ݸʽ -#define XML_ANALYZE_TYPE_ERROR 1005 //ʹ -#define XML_ANALYZE_XML_NODE_ERROR 1006 //XMLڵʽ -#define XML_INPUT_PARAM_ERROR 1007 //XMLڵֵ - -#define NET_DVR_ERR_RETURNED_XML_DATA 1008 //豸صXML - -//Դ -#define NET_ERR_LEDAREA_EXIST_WINDOW 1051 //LEDдڴ(LEDѾдڴڣ޸LED -#define NET_ERR_AUDIO_EXIST 1052 //ϴƵ -#define NET_ERR_MATERIAL_NAME_EXIST 1053 //زѴ -#define NET_ERR_MATERIAL_APPROVE_STATE 1054 //ز״̬ -#define NET_ERR_DATAHD_SIGNAL_FORMAT 1055 //ʹõӲ̲ʽ - -#define NET_ERR_SCENE_SWITCHING 1056 //л -#define NER_ERR_DATA_TRANSFER 1057 //豸ת -#define NET_ERR_DATA_RESTORE 1058 //豸ݻԭ -#define NET_ERR_CHECK_NOT_ENABLE 1059 //Уʹδ -#define NET_ERR_AREA_OFFLINE 1060 // -#define NET_ERR_SCREEN_TYPE 1061 //ĻͲƥ -#define NET_ERR_MIN_OPERATE_UNIT 1062 //СԪƥ -#define NET_ERR_MAINHD_NOT_BACKUP 1063 //һλϵֹ̣̣ͨóɱ -#define NET_ERR_ONE_BACKUP_HD 1064 //ñʱ豸һͨ -#define NET_ERR_CONNECT_SUB_SYSTEM_ABNORMAL 1065 //ϵͳ쳣 -#define NET_ERR_SERIAL_PORT_VEST 1066 //Ĵڹ -#define NET_ERR_BLOCKLIST_FULL 1067 //б -#define NET_ERR_NOT_MATCH_SOURCE 1068 //ƥźԴ -#define NET_ERR_CLOCK_VIRTUAL_LED_FULL 1069 //ʱӹܵLED -#define NET_ERR_MAX_WIN_SIGNAL_LOOP_NUM 1070 //ѲźԴѴ -#define NET_ERR_RESOLUTION_NO_MATCH_FRAME 1071 //ֱ뵱ǰ֡ƥ -#define NET_ERR_NOT_UPDATE_LOW_VERSION 1072 //֧Ͱ汾 -#define NET_ERR_NO_CUSTOM_TO_UPDATE 1073 //ǶƳ޷ -#define NET_ERR_CHAN_RESOLUTION_NOT_SUPPORT_SPLIT 1074 //ڷֱʲַ֧ -#define NET_ERR_HIGH_DEFINITION_NOT_SUPPORT_SPLIT 1075 //岻֧9/16ָ -#define NET_ERR_MIRROR_IMAGE_BY_VIDEO_WALL 1076 //ǽ -#define NET_ERR_MAX_OSD_FONT_SIZE 1077 //OSDַ֧ -#define NET_ERR_HIGH_DEFINITION_NOT_SUPPORT_VIDEO_SET 1078 //岻֧Ƶ -#define NET_ERR_TILE_MODE_NOT_SUPPORT_JOINT 1079 //ƽģʽ֧ƴӴ -#define NET_ERR_ADD_AUDIO_MATRIX_FAILED 1080 //Ƶʧ -#define NET_ERR_ONE_VIRTUAL_LED_AREA_BIND_ONE_AUDIO_AREA 1081 //һLEDֻܰһƵ -#define NET_ERR_NAT_NOT_MODIFY_SERVER_NETWORK_PARAM 1082 //NAT޷޸ķ -#define NET_ERR_ORIGINAL_CHECH_DATA_ERROR 1083 //ԭʼУݴ -#define NET_ERR_INPUT_BOARD_SPLICED_IN_DIFFERENT_NETWORKAREAS 1084 //ͬ岻ƴ -#define NET_ERR_SPLICINGSOURCE_ONWALL_IN_DIFFERENT_NETWORKAREAS 1085 //ͬƴԴǽ -#define NET_ERR_ONWALL_OUTPUTBOARD_MODIFY_NETWORKAREAS 1086 //Ѱڵǽϵ岻޸ -#define NET_ERR_LAN_AND_WAN_CANNOT_SAME_NET_SEGMENT 1087 //LANIPWANIPܴͬһ -#define NET_ERR_USERNAME_REPETITIVE 1088 //ûظ -#define NET_ERR_ASSOCIATED_SAMEWALL_IN_DIFFERENT_NETWORKAREAS 1089 //ͬڲܹͬһǽ -#define NET_ERR_BASEMAP_ROAM_IN_LED_AREA 1090 //LEDͼ -#define NET_ERR_VIRTUAL_LED_NOT_SUPPORT_4K_OUTPUT 1091 //LED֧4Kʾ -#define NET_ERR_BASEMAP_NOT_SUPPORT_4K_OUTPUT 1092 //ͼ֧4Kʾ -#define NET_ERR_MIN_BLOCK_IN_VIRTUAL_LED_AND_OUTPUT 1093 //LEDཻС -#define NET_ERR_485FIlE_VERSION_INVALID 1094 //485ļ汾Ч -#define NET_ERR_485FIlE_CHECK_ERROR 1095 //485ļУ -#define NET_ERR_485FIlE_ABNORMAL_SIZE 1096 //485ļС쳣Ч -#define NET_ERR_MODIFY_SUBBOARD_NETCFG_IN_NAT 1097 //NAT޷޸Ӱ -#define NET_ERR_OSD_CONTENT_WITH_ILLEGAL_CHARACTERS 1098 //OSDݰǷַ -#define NET_ERR_NON_SLAVE_DEVICE_INSERT_SYNC_LINE 1099 //Ǵ豸ֹͬ -//ô루11001200 -#define NET_ERR_PLT_USERID 1100 //֤ƽ̨userid -#define NET_ERR_TRANS_CHAN_START 1101 //͸ͨѴ򿪣ǰ޷ -#define NET_ERR_DEV_UPGRADING 1102 //豸 -#define NET_ERR_MISMATCH_UPGRADE_PACK_TYPE 1103 //Ͳƥ -#define NET_ERR_DEV_FORMATTING 1104 //豸ڸʽ -#define NET_ERR_MISMATCH_UPGRADE_PACK_VERSION 1105 //汾ƥ -#define NET_ERR_PT_LOCKED 1106 //PT - -#define NET_DVR_LOGO_OVERLAY_WITHOUT_UPLOAD_PIC 1110 //logoʧܣûϴlogoͼƬ -#define NET_DVR_ERR_ILLEGAL_VERIFICATION_CODE 1111 //Ϸ֤ -#define NET_DVR_ERR_LACK_VERIFICATION_CODE 1112 //ȱ֤ -#define NET_DVR_ERR_FORBIDDEN_IP 1113 //IPַѱֹ(豸ֵ֧IPַ˹) -#define NET_DVR_ERR_UNLOCKPTZ 1114 //Ч̨ -#define NET_DVR_ERR_COUNTAREA_LARGE 1116 //ƴ豸ֵ -#define NET_DVR_ERR_LABEL_ID_EXCEED 1117//ǩID -#define NET_DVR_ERR_LABEL_TYPE 1118//ǩʹ -#define NET_DVR_ERR_LABEL_FULL 1119//ǩ -#define NET_DVR_ERR_LABEL_DISABLED 1120//ǩδʹ -#define NET_DVR_ERR_DOME_PT_TRANS_TO_DOME_XY 1121//PTתXYʧ -#define NET_DVR_ERR_DOME_PT_TRANS_TO_PANORAMA_XY 1122//PTתȫXYʧ -#define NET_DVR_ERR_PANORAMA_XY_TRANS_TO_DOME_PT 1123//ȫXYתPT -#define NET_DVR_ERR_SCENE_DUR_TIME_LESS_THAN_INTERV_TIME 1124//ͣʱҪڼ -#define NET_DVR_ERR_HTTP_BKN_EXCEED_ONE 1125//ֻ֧һ· -#define NET_DVR_ERR_DELETING_FAILED_TURN_OFF_HTTPS_ESDK_WEBSOCKETS_FIRST 1126//ɾʧܣȹرHTTPSеǿSDKWebSockets -#define NET_DVR_ERR_DELETING_FAILED_TURN_OFF_HTTPS_ESDK_FIRST 1127//ɾʧܣȹرHTTPSеǿSDK -#define NET_DVR_ERR_PTZ_OCCUPIED_PRIORITY 1128// иȼ̨Ȩû -#define NET_DVR_ERR_INCORRECT_VIDEOAUDIO_ID 1129// ƵͨIDͨID -#define NET_DVR_ERR_REPETITIONTIME_OVER_MAXIMUM 1130// ȥʱ󲻳ֵ -#define NET_DVR_ERR_FORMATTING_FAILED 1131// ʽ -#define NET_DVR_ERR_ENCRYPTED_FORMATTING_FAILED 1132// ܸʽʧܣ -#define NET_DVR_ERR_WRONG_PASSWORD 1133// ,ȷ루SD Уʧܣ -#define NET_DVR_ERR_EXPOSURE_SYNC 1134// ͷعͬѿֶRGB - -//2012-10-16 豸루1200~1300 -#define NET_ERR_SEARCHING_MODULE 1201 // ģ -#define NET_ERR_REGISTERING_MODULE 1202 // עģ -#define NET_ERR_GETTING_ZONES 1203 // ڻȡ -#define NET_ERR_GETTING_TRIGGERS 1204 // ڻȡ -#define NET_ERR_ARMED_STATUS 1205 // ϵͳڲ״̬ -#define NET_ERR_PROGRAM_MODE_STATUS 1206 // ϵͳڱģʽ -#define NET_ERR_WALK_TEST_MODE_STATUS 1207 // ϵͳڲģʽ -#define NET_ERR_BYPASS_STATUS 1208 // ·״̬ -#define NET_ERR_DISABLED_MODULE_STATUS 1209 // δʹ -#define NET_ERR_NOT_SUPPORT_OPERATE_ZONE 1210 // ָ֧ò -#define NET_ERR_NOT_SUPPORT_MOD_MODULE_ADDR 1211 // ģַܱ޸ -#define NET_ERR_UNREGISTERED_MODULE 1212 // ģδע -#define NET_ERR_PUBLIC_SUBSYSTEM_ASSOCIATE_SELF 1213 // ϵͳ -#define NET_ERR_EXCEEDS_ASSOCIATE_SUBSYSTEM_NUM 1214 // ϵͳ -#define NET_ERR_BE_ASSOCIATED_BY_PUBLIC_SUBSYSTEM 1215 // ϵͳϵͳ -#define NET_ERR_ZONE_FAULT_STATUS 1216 // ڹ״̬ -#define NET_ERR_SAME_EVENT_TYPE 1217 // ¼¼رͬ¼ -#define NET_ERR_ZONE_ALARM_STATUS 1218 // ڱ״̬ -#define NET_ERR_EXPANSION_BUS_SHORT_CIRCUIT 1219 //չ߶· -#define NET_ERR_PWD_CONFLICT 1220 //ͻ -#define NET_ERR_DETECTOR_GISTERED_BY_OTHER_ZONE 1221 //̽ѱע -#define NET_ERR_DETECTOR_GISTERED_BY_OTHER_PU 1222 //̽ѱע -#define NET_ERR_DETECTOR_DISCONNECT 1223 //̽ -#define NET_ERR_CALL_BUSY 1224 //豸ͨ -#define NET_DVR_ERR_ZONE_TAMPER_STAUS 1225 //ڷ״̬ -#define NET_DVR_ERR_WIRELESS_DEV_REGISTER 1226 //ѱע -#define NET_DVR_ERR_WIRELESS_DEV_ADDED 1227 //ѱ -#define NET_DVR_ERR_WIRELESS_DEV_OFFLINE 1228 //費 -#define NET_DVR_ERR_WIRELESS_DEV_TAMPER_STATUS 1229 //账ڷ״̬ -#define NET_DVR_ERR_GPRS_PHONE_CONFLICT 1230 //绰߱ijͻ -#define NET_ERR_INIT_PASSWORD_NOT_MODIFY 1231 //ʼδ޸ģ޷װ/Աûڳʼδ޸ʱ޸û⣬ظô -#define NET_ERR_USER_DISABLED 1232 //ûδ -#define NET_ERR_DEVICE_DEBUGGING 1233 //ǰ豸ڵģʽ -//Ϣ -#define NET_ERR_GET_ALL_RETURN_OVER 1300 //ȡзĿ -#define NET_ERR_RESOURCE_USING 1301 //ϢԴʹã޸ -#define NET_ERR_FILE_SIZE_OVERLIMIT 1302 //ļС - -//Ϣ -#define NET_ERR_MATERIAL_NAME 1303 //زƷǷ -#define NET_ERR_MATERIAL_NAME_LEN 1304 //زƳȷǷ -#define NET_ERR_MATERIAL_REMARK 1305 //زǷ -#define NET_ERR_MATERIAL_REMARK_LEN 1306 //زȷǷ -#define NET_ERR_MATERIAL_SHARE_PROPERTY 1307 //زĹԷǷ -#define NET_ERR_UNSUPPORT_MATERIAL_TYPE 1308 //زͲ֧ -#define NET_ERR_MATERIAL_NOT_EXIST 1309 //زIJ -#define NET_ERR_READ_FROM_DISK 1310 //Ӳ̶ȡزļʧ -#define NET_ERR_WRITE_TO_DISK 1311 //Ӳдزļʧ -#define NET_ERR_WRITE_DATA_BASE 1312 //زдݿʧ -#define NET_ERR_NO_APPROVED_NOT_EXPORT 1313 //δݽֹ -#define NET_ERR_MATERIAL_EXCEPTION 1314 //ز쳣 -#define NET_ERR_NO_MISINFO 1315 //Ϣ -#define NET_ERR_LAN_NOT_SUP_DHCP_CLIENT_CONFIGURATION 1316 //·ģʽ£DHCPͻ˷ش -#define NET_ERR_VIDEOWALL_OPTPORT_RESOLUTION_INCONSISTENT 1317 //ǽϸڷֱʲһ(ҪֱΪ4K쳣ʱ) -#define NET_ERR_VIDEOWALL_OPTPORT_RESOLUTION_INCONSISTENT_UNBIND_OPTPORT_FIRST 1318 //ǽϸڷֱʲһ£Ƚ(Ҫڰڳ쳣ʱ) -#define NET_ERR_FOUR_K_OUTPUT_RESOLUTION_UNSUPPORT_NINE_TO_SIXTEEN_SPLIT_SCREEN 1319 //4Kֱʲ֧9/16 -#define NET_ERR_SIGNAL_SOURCE_UNSUPPORT_CUSTOM_RESOLUTION 1320 //źԴָ֧Զֱ -#define NET_ERR_DVI_UNSUPPORT_FOURK_OUTPUT_RESOLUTION 1321 //DVI֧4Kֱ -#define NET_ERR_BNC_UNSUPPORT_SOURCE_CROPPING 1322 //BNC֧źԴü -#define NET_ERR_OUTPUT_NOT_SUPPORT_VIDEOWALL_RESOLUTION 1323 //ڲֵ֧ǽֱ - -// -#define NET_ERR_MAX_SCREEN_CTRL_NUM 1351 //Ļﵽ -#define NET_ERR_FILE_NOT_EXIST 1352 //ļ -#define NET_ERR_THUMBNAIL_NOT_EXIST 1353 //ͼ -#define NET_ERR_DEV_OPEN_FILE_FAIL 1354 //豸˴ļʧ -#define NET_ERR_SERVER_READ_FILE_FAIL 1355 //豸˶ȡļʧ -#define NET_ERR_FILE_SIZE 1356 //ļС -#define NET_ERR_FILE_NAME 1357 //ļƴΪջ򲻺Ϸ - -//ֶδ루1351-1400 -#define NET_ERR_BROADCAST_BUSY 1358 //豸ڹ㲥 - -//2012-12-20ץĻ루1400-1499 -#define NET_DVR_ERR_LANENUM_EXCEED 1400 // -#define NET_DVR_ERR_PRAREA_EXCEED 1401 //ʶ -#define NET_DVR_ERR_LIGHT_PARAM 1402 //źŵƽ -#define NET_DVR_ERR_LANE_LINE_INVALID 1403 //ô -#define NET_DVR_ERR_STOP_LINE_INVALID 1404 //ֹͣô -#define NET_DVR_ERR_LEFTORRIGHT_LINE_INVALID 1405 ///תֽô -#define NET_DVR_ERR_LANE_NO_REPEAT 1406 //ӳظ -#define NET_DVR_ERR_PRAREA_INVALID 1407 //ʶβҪ -#define NET_DVR_ERR_LIGHT_NUM_EXCEED 1408 //Ƶ⽻ͨźŵĿֵ -#define NET_DVR_ERR_SUBLIGHT_NUM_INVALID 1409 //Ƶ⽻ͨźŵӵĿϷ -#define NET_DVR_ERR_LIGHT_AREASIZE_INVALID 1410 //Ƶ⽻ͨźŵƿСϷ -#define NET_DVR_ERR_LIGHT_COLOR_INVALID 1411 //Ƶ⽻ͨźŵɫϷ -#define NET_DVR_ERR_LIGHT_DIRECTION_INVALID 1412 //Ƶ⽻ͨƷԲϷ -#define NET_DVR_ERR_LACK_IOABLITY 1413 //IOʵֵ֧ - -#define NET_DVR_ERR_FTP_PORT 1414 //FTP˿ںŷǷ˿ںظ쳣 -#define NET_DVR_ERR_FTP_CATALOGUE 1415 //FTPĿ¼Ƿö༶Ŀ¼༶Ŀ¼ֵΪգ -#define NET_DVR_ERR_FTP_UPLOAD_TYPE 1416 //FTPϴͷǷftpֻ֧ȫ/˫ftpֻֿ֧ںΥ£ -#define NET_DVR_ERR_FLASH_PARAM_WRITE 1417 //òʱдFLASHʧ -#define NET_DVR_ERR_FLASH_PARAM_READ 1418 //òʱFLASHʧ -#define NET_DVR_ERR_PICNAME_DELIMITER 1419 //FTPͼƬָǷ -#define NET_DVR_ERR_PICNAME_ITEM 1420 //FTPͼƬǷ ָ -#define NET_DVR_ERR_PLATE_RECOGNIZE_TYPE 1421 //ʶͷǷ κͶЧУ飩 -#define NET_DVR_ERR_CAPTURE_TIMES 1422 //ץĴǷ Чֵ05 -#define NET_DVR_ERR_LOOP_DISTANCE 1423 //ȦǷ Чֵ02000ms -#define NET_DVR_ERR_LOOP_INPUT_STATUS 1424 //Ȧ״̬Ƿ Чֵ -#define NET_DVR_ERR_RELATE_IO_CONFLICT 1425 //IOͻ -#define NET_DVR_ERR_INTERVAL_TIME 1426 //ļʱǷ 06000ms -#define NET_DVR_ERR_SIGN_SPEED 1427 //־ֵǷ󳵱־ٲܴС־ -#define NET_DVR_ERR_PIC_FLIP 1428 //ͼ÷ת ýӰ죩 -#define NET_DVR_ERR_RELATE_LANE_NUMBER 1429 // (ظ ЧֵУ199) -#define NET_DVR_ERR_TRIGGER_MODE 1430 //ץĻģʽǷ -#define NET_DVR_ERR_DELAY_TIME 1431 //ʱʱ(2000ms) -#define NET_DVR_ERR_EXCEED_RS485_COUNT 1432 //485 -#define NET_DVR_ERR_RADAR_TYPE 1433 //״ʹ -#define NET_DVR_ERR_RADAR_ANGLE 1434 //״Ƕȴ -#define NET_DVR_ERR_RADAR_SPEED_VALID_TIME 1435 //״Чʱ -#define NET_DVR_ERR_RADAR_LINE_CORRECT 1436 //״Խ -#define NET_DVR_ERR_RADAR_CONST_CORRECT 1437 //״ﳣ -#define NET_DVR_ERR_RECORD_PARAM 1438 //¼ЧԤ¼ʱ䲻10s -#define NET_DVR_ERR_LIGHT_WITHOUT_COLOR_AND_DIRECTION 1439 //ƵźŵźŵƸûйѡźŵƷɫ -#define NET_DVR_ERR_LIGHT_WITHOUT_DETECTION_REGION 1440 //ƵźŵźŵƸûл -#define NET_DVR_ERR_RECOGNIZE_PROVINCE_PARAM 1441 //ʶʡݲĺϷ - -#define NET_DVR_ERR_SPEED_TIMEOUT 1442 //IOٳʱʱǷЧֵ0 -#define NET_DVR_ERR_NTP_TIMEZONE 1443 //ntpʱ -#define NET_DVR_ERR_NTP_INTERVAL_TIME 1444 //ntpУʱ -#define NET_DVR_ERR_NETWORK_CARD_NUM 1445 //Ŀ -#define NET_DVR_ERR_DEFAULT_ROUTE 1446 //Ĭ·ɴ -#define NET_DVR_ERR_BONDING_WORK_MODE 1447 //bondingģʽ -#define NET_DVR_ERR_SLAVE_CARD 1448 //slave -#define NET_DVR_ERR_PRIMARY_CARD 1449 //Primary -#define NET_DVR_ERR_DHCP_PPOE_WORK 1450 //dhcppppoEͬʱ -#define NET_DVR_ERR_NET_INTERFACE 1451 //ӿڴ -#define NET_DVR_ERR_MTU 1452 //MTU -#define NET_DVR_ERR_NETMASK 1453 // -#define NET_DVR_ERR_IP_INVALID 1454 //IPַϷ -#define NET_DVR_ERR_MULTICAST_IP_INVALID 1455 //ಥַϷ -#define NET_DVR_ERR_GATEWAY_INVALID 1456 //زϷ -#define NET_DVR_ERR_DNS_INVALID 1457 //DNSϷ -#define NET_DVR_ERR_ALARMHOST_IP_INVALID 1458 //澯ַϷ -#define NET_DVR_ERR_IP_CONFLICT 1459 //IPͻ -#define NET_DVR_ERR_NETWORK_SEGMENT 1460 //IP֧ͬ -#define NET_DVR_ERR_NETPORT 1461 //˿ڴ - -#define NET_DVR_ERR_PPPOE_NOSUPPORT 1462 //PPPOE֧ -#define NET_DVR_ERR_DOMAINNAME_NOSUPPORT 1463 //֧ -#define NET_DVR_ERR_NO_SPEED 1464 //δòٹ -#define NET_DVR_ERR_IOSTATUS_INVALID 1465 //IO״̬ -#define NET_DVR_ERR_BURST_INTERVAL_INVALID 1466 //ļǷ -#define NET_DVR_ERR_RESERVE_MODE 1467 //ģʽ - -#define NET_DVR_ERR_LANE_NO 1468 //ӳŴ -#define NET_DVR_ERR_COIL_AREA_TYPE 1469 //Ȧʹ -#define NET_DVR_ERR_TRIGGER_AREA_PARAM 1470 // -#define NET_DVR_ERR_SPEED_LIMIT_PARAM 1471 //Υٲ -#define NET_DVR_ERR_LANE_PROTOCOL_TYPE 1472 //Эʹ - -#define NET_DVR_ERR_INTERVAL_TYPE 1473 //ļͷǷ -#define NET_DVR_ERR_INTERVAL_DISTANCE 1474 //ļǷ -#define NET_DVR_ERR_RS485_ASSOCIATE_DEVTYPE 1475 //RS485ͷǷ -#define NET_DVR_ERR_RS485_ASSOCIATE_LANENO 1476 //RS485ŷǷ -#define NET_DVR_ERR_LANENO_ASSOCIATE_MULTIRS485 1477 //ŹRS485 -#define NET_DVR_ERR_LIGHT_DETECTION_REGION 1478 //ƵźŵźŵƸǼΪ0 - -#define NET_DVR_ERR_DN2D_NOSUPPORT 1479 //֧ץ֡2D -#define NET_DVR_ERR_IRISMODE_NOSUPPORT 1480 //ֵ֧ľͷ -#define NET_DVR_ERR_WB_NOSUPPORT 1481 //ֵ֧İƽģʽ -#define NET_DVR_ERR_IO_EFFECTIVENESS 1482 //IOڵЧ -#define NET_DVR_ERR_LIGHTNO_MAX 1483 //źŵƼ/ƵƳ(16) -#define NET_DVR_ERR_LIGHTNO_CONFLICT 1484 //źŵƼ/ƵƳͻ - -#define NET_DVR_ERR_CANCEL_LINE 1485 //ֱд -#define NET_DVR_ERR_STOP_LINE 1486 //ֹͣ -#define NET_DVR_ERR_RUSH_REDLIGHT_LINE 1487 //ƴ -#define NET_DVR_ERR_IOOUTNO_MAX 1488 //IOڱԽ - -#define NET_DVR_ERR_IOOUTNO_AHEADTIME_MAX 1489 //IOǰʱ䳬 -#define NET_DVR_ERR_IOOUTNO_IOWORKTIME 1490 //IOЧʱ䳬 -#define NET_DVR_ERR_IOOUTNO_FREQMULTI 1491 //IOģʽ±Ƶ -#define NET_DVR_ERR_IOOUTNO_DUTYRATE 1492 //IOģʽռձȳ -#define NET_DVR_ERR_VIDEO_WITH_EXPOSURE 1493 //Чʽ֧Ƶ -#define NET_DVR_ERR_PLATE_BRIGHTNESS_WITHOUT_FLASHDET 1494 //ԶʹƽڳȲģʽЧ - -#define NET_DVR_ERR_RECOGNIZE_TYPE_PARAM 1495 //ʶͷǷ ʶ󳵡С򡢳ʶȣ -#define NET_DVR_ERR_PALTE_RECOGNIZE_AREA_PARAM 1496 //ʶǷ ʶʱжϳ -#define NET_DVR_ERR_PORT_CONFLICT 1497 //˿гͻ -#define NET_DVR_ERR_LOOP_IP 1498 //IPΪػַ -#define NET_DVR_ERR_DRIVELINE_SENSITIVE 1499 //ѹȳ(Ƶ羯ģʽ) - - -//2013-3-6VQD루15001550 -#define NET_ERR_VQD_TIME_CONFLICT 1500 //VQDʱγͻ -#define NET_ERR_VQD_PLAN_NO_EXIST 1501 //VQDϼƻ -#define NET_ERR_VQD_CHAN_NO_EXIST 1502 //VQDص㲻 -#define NET_ERR_VQD_CHAN_MAX 1503 //VQDƻѴ -#define NET_ERR_VQD_TASK_MAX 1504 //VQDѴ - -#define NET_SDK_GET_INPUTSTREAMCFG 1551 //ȡźԴ -#define NET_SDK_AUDIO_SWITCH_CONTROL 1552 //ӴƵؿ -#define NET_SDK_GET_VIDEOWALLDISPLAYNO 1553 //ȡ豸ʾ -#define NET_SDK_GET_ALLSUBSYSTEM_BASIC_INFO 1554//ȡϵͳϢ -#define NET_SDK_SET_ALLSUBSYSTEM_BASIC_INFO 1555 //ϵͳϢ -#define NET_SDK_GET_AUDIO_INFO 1556//ȡƵϢ -#define NET_SDK_GET_MATRIX_STATUS_V50 1557 // ȡƵۺƽ̨״̬_V50 -#define NET_SDK_DELETE_MONITOR_INFO 1558//ɾMonitorϢ -#define NET_SDK_DELETE_CAMERA_INFO 1559//ɾCamaeraϢ - - -//ץĻչ(1600~1900) -#define NET_DVR_ERR_EXCEED_MAX_CAPTURE_TIMES 1600 //ץģʽΪƵʱץΪ2(IVTģʽ) -#define NET_DVR_ERR_REDAR_TYPE_CONFLICT 1601 //ͬ485ڹ״ͳͻ -#define NET_DVR_ERR_LICENSE_PLATE_NULL 1602 //ƺΪ -#define NET_DVR_ERR_WRITE_DATABASE 1603 //дݿʧ -#define NET_DVR_ERR_LICENSE_EFFECTIVE_TIME 1604 //Чʱ -//Ƶ羯 -#define NET_DVR_ERR_PRERECORDED_STARTTIME_LONG 1605 //Ԥ¼ʼʱΥץ -//Ͽ -#define NET_DVR_ERR_TRIGGER_RULE_LINE 1606 //ߴ -#define NET_DVR_ERR_LEFTRIGHT_TRIGGERLINE_NOTVERTICAL 1607 ///Ҵֱ߲ -#define NET_DVR_ERR_FLASH_LAMP_MODE 1608 //˸ģʽ -#define NET_DVR_ERR_ILLEGAL_SNAPSHOT_NUM 1609 //Υץ -#define NET_DVR_ERR_ILLEGAL_DETECTION_TYPE 1610 //Υ¼ʹ -#define NET_DVR_ERR_POSITIVEBACK_TRIGGERLINE_HIGH 1611 //򴥷߸߶ȴ -#define NET_DVR_ERR_MIXEDMODE_CAPTYPE_ALLTARGETS 1612 //ģʽֻֻ֧ץ - -#define NET_DVR_ERR_CARSIGNSPEED_GREATERTHAN_LIMITSPEED 1613//С־ٴֵ -#define NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_LIMITSPEED 1614//󳵱־ٴֵ -#define NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_CARSIGNSPEED 1615//󳵱־ٴС־ֵ -#define NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_CARLIMITSPEED 1616//ֵСֵ -#define NET_DVR_ERR_BIGCARLOWSPEEDLIMIT_GREATERTHAN_CARLOWSPEEDLIMIT 1617//󳵵ֵСֵ -#define NET_DVR_ERR_CARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED 1618//Сٴ쳣ֵ -#define NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED 1619//ٴ쳣ֵ -#define NET_DVR_ERR_STOPLINE_MORETHAN_TRIGGERLINE 1620//ֱֹͣ߳д -#define NET_DVR_ERR_YELLOWLIGHTTIME_INVALID 1621/*ƵƵƳʱ䲻Ϸ*/ -#define NET_DVR_ERR_TRIGGERLINE1_FOR_NOT_YIELD_TO_PEDESTRIAN_CANNOT_EXCEED_TRIGGERLINE2 1622//һ˴ߵλó˵ڶ˴ -#define NET_DVR_ERR_TRIGGERLINE2_FOR_NOT_YIELD_TO_PEDESTRIAN_CANNOT_EXCEED_TRIGGERLINE1 1623//ڶ˴ߵλó˵һ˴ - -//Ž -#define NET_ERR_TIME_OVERLAP 1900 //ʱص -#define NET_ERR_HOLIDAY_PLAN_OVERLAP 1901 //ռƻص -#define NET_ERR_CARDNO_NOT_SORT 1902 //δ -#define NET_ERR_CARDNO_NOT_EXIST 1903 //Ų -#define NET_ERR_ILLEGAL_CARDNO 1904 //Ŵ -#define NET_ERR_ZONE_ALARM 1905 //ڲ״̬(޸IJ) -#define NET_ERR_ZONE_OPERATION_NOT_SUPPORT 1906 //ָ֧ò -#define NET_ERR_INTERLOCK_ANTI_CONFLICT 1907 //ŻͷDZͬʱô -#define NET_ERR_DEVICE_CARD_FULL 1908 //ﵽ10W󷵻أ -#define NET_ERR_HOLIDAY_GROUP_DOWNLOAD 1909 //ʧ -#define NET_ERR_LOCAL_CONTROL_OFF 1910 //͵ؿ -#define NET_ERR_LOCAL_CONTROL_DISADD 1911 //͵ؿδ -#define NET_ERR_LOCAL_CONTROL_HASADD 1912 //͵ؿ -#define NET_ERR_LOCAL_CONTROL_DOORNO_CONFLICT 1913 //ӵľ͵ؿűųͻ -#define NET_ERR_LOCAL_CONTROL_COMMUNICATION_FAIL 1914 //͵ؿͨʧ -#define NET_ERR_OPERAND_INEXISTENCE 1915 //󲻴ڣšزδʱأ -#define NET_ERR_LOCAL_CONTROL_OVER_LIMIT 1916 //͵ؿ豸ضԾ͵ƣ -#define NET_ERR_DOOR_OVER_LIMIT 1917 //ų豸 -#define NET_ERR_ALARM_OVER_LIMIT 1918 //豸 -#define NET_ERR_LOCAL_CONTROL_ADDRESS_INCONFORMITY_TYPE 1919 //͵ؿַͲ -#define NET_ERR_NOT_SUPPORT_ONE_MORE_CARD 1920 //֧һ˶࿨ -#define NET_ERR_DELETE_NO_EXISTENCE_FACE 1921 //ɾ -#define NET_ERR_DOOR_SPECIAL_PASSWORD_REPEAT 1922 //豸ظ -#define NET_ERR_AUTH_CODE_REPEAT 1923 //豸֤ظ -#define NET_ERR_DEPLOY_EXCEED_MAX 1924 // -#define NET_ERR_NOT_SUPPORT_DEL_FP_BY_ID 1925 //ְָ֧IDɾָ -#define NET_ERR_TIME_RANGE 1926 //Чڲ÷Χ -#define NET_ERR_CAPTURE_TIMEOUT 1927 //ɼʱ -#define NET_ERR_LOW_SCORE 1928 //ɼ -#define NET_ERR_OFFLINE_CAPTURING 1929 //߲ɼУ޷Ӧ - -//ӶԽ -#define NET_DVR_ERR_OUTDOOR_COMMUNICATION 1950 //ſڻͨ쳣 -#define NET_DVR_ERR_ROOMNO_UNDEFINED 1951 //δ÷ -#define NET_DVR_ERR_NO_CALLING 1952 //޺ -#define NET_DVR_ERR_RINGING 1953 // -#define NET_DVR_ERR_IS_CALLING_NOW 1954 //ͨ -#define NET_DVR_ERR_LOCK_PASSWORD_WRONG 1955// -#define NET_DVR_ERR_CONTROL_LOCK_FAILURE 1956//ʧ -#define NET_DVR_ERR_CONTROL_LOCK_OVERTIME 1957//ʱ -#define NET_DVR_ERR_LOCK_DEVICE_BUSY 1958//豸æ -#define NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION 1959//Զ̿δ - - -//˴ 2100 - 3000 -#define NET_DVR_ERR_FILE_NOT_COMPLETE 2100 //صļ -#define NET_DVR_ERR_IPC_EXIST 2101 //IPCѾ -#define NET_DVR_ERR_ADD_IPC 2102 //ͨIPC -#define NET_DVR_ERR_OUT_OF_RES 2103 // -#define NET_DVR_ERR_CONFLICT_TO_LOCALIP 2104 //IPCipַDVRipַͻ -#define NET_DVR_ERR_IP_SET 2105 //Ƿipַ -#define NET_DVR_ERR_PORT_SET 2106 //ǷĶ˿ں - -#define NET_ERR_WAN_NOTSUPPORT 2107 //ͬһ޷ðȫ򵼳GUIDļ -#define NET_ERR_MUTEX_FUNCTION 2108 //ܻ -#define NET_ERR_QUESTION_CONFIGNUM 2109 //ȫ -#define NET_ERR_FACECHAN_NORESOURCE 2110 //ͨԴ -#define NET_ERR_DATA_CALLBACK 2111 //ݻǨ -#define NET_ERR_ATM_VCA_CHAN_IS_RELATED 2112 //ATMͨѱ -#define NET_ERR_ATM_VCA_CHAN_IS_OVERLAPED 2113 //ATMͨѱ -#define NET_ERR_FACE_CHAN_UNOVERLAP_EACH_OTHER 2114 //ܻͨ -#define NET_ERR_ACHIEVE_MAX_CHANNLE_LIMIT 2115 //ﵽ· -#define NET_DVR_SMD_ENCODING_NORESOURSE 2116 //SMDԴ -#define NET_DVR_SMD_DECODING_NORESOURSE 2117 //SMDԴ -#define NET_DVR_FACELIB_DATA_PROCESSING 2118 //ڴ -#define NET_DVR_ERR_LARGE_TIME_DIFFRENCE 2119 //豸ͷ֮ʱ̫ -#define NET_DVR_NO_SUPPORT_WITH_PLAYBACK 2120 //ѿطţֱ֧ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_SMD 2121 //ͨѿSMDֱ֧ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_FD 2122 //ͨѿץģֱ֧ -#define NET_DVR_ILLEGAL_PHONE_NUMBER 2123 //Ƿĵ绰 -#define NET_DVR_ILLEGAL_CERITIFICATE_NUMBER 2124 //Ƿ֤ -#define NET_DVR_ERR_CHANNEL_RESOLUTION_NO_SUPPORT 2125 //ֱͨʲ֧ -#define NET_DVR_ERR_CHANNEL_COMPRESSION_NO_SUPPORT 2126 //ͨʽ֧ - -#define NET_DVR_ERR_CLUSTER_DEVICE_TOO_LESS 2127 //豸٣ɾ -#define NET_DVR_ERR_CLUSTER_DEL_DEVICE_CM_PLAYLOAD 2128 //豸ǼȺɾ -#define NET_DVR_ERR_CLUSTER_DEVNUM_OVER_UPPER_LIMIT 2129 //豸ﵽޣ -#define NET_DVR_ERR_CLUSTER_DEVICE_TYPE_INCONFORMITY 2130 //豸Ͳһ -#define NET_DVR_ERR_CLUSTER_DEVICE_VERSION_INCONFORMITY 2131 //豸汾һ -#define NET_DVR_ERR_CLUSTER_IP_CONFLICT 2132 //ȺϵͳIPַͻipv4ַͻipv6ַͻ -#define NET_DVR_ERR_CLUSTER_IP_INVALID 2133 //ȺϵͳIPַЧipv4Ƿipv6Ƿ -#define NET_DVR_ERR_CLUSTER_PORT_CONFLICT 2134 //Ⱥϵͳ˿ڳͻ -#define NET_DVR_ERR_CLUSTER_PORT_INVALID 2135 //Ⱥϵͳ˿ڷǷ -#define NET_DVR_ERR_CLUSTER_USERNAEM_OR_PASSWORD_INVALID 2136 //ûǷ -#define NET_DVR_ERR_CLUSTER_DEVICE_ALREADY_EXIST 2137 //ͬ豸 -#define NET_DVR_ERR_CLUSTER_DEVICE_NOT_EXIST 2138 //豸(ʱ·csбе豸Ϣκһ̨cs϶Ҳɾʱ·id) -#define NET_DVR_ERR_CLUSTER_NON_CLUSTER_MODE 2139 //豸ڷǼȺģʽ -#define NET_DVR_ERR_CLUSTER_IP_NOT_SAME_LAN 2140 //IPַͬһͬ/ - -#define NET_DVR_ERR_CAPTURE_PACKAGE_FAILED 2141 //ץʧ -#define NET_DVR_ERR_CAPTURE_PACKAGE_PROCESSING 2142 //ץ -#define NET_DVR_ERR_SAFETY_HELMET_NO_RESOURCE 2143 //ȫñԴ -#define NET_DVR_NO_SUPPORT_WITH_ABSTRACT 2144 //ѿƵժҪֱ֧ -#define NET_DVR_ERR_TAPE_LIB_NEED_STOP_ARCHIVE 2145 //Ŵ鵵Ҫֹͣ -#define NET_DVR_INSUFFICIENT_DEEP_LEARNING_RESOURCES 2146 //ѧϰԴ -#define NET_DVR_ERR_IDENTITY_KEY 2147 // -#define NET_DVR_MISSING_IDENTITY_KEY 2148 //ȱʧ -#define NET_DVR_NO_SUPPORT_WITH_PERSON_DENSITY_DETECT 2149 //ѿԱܶȼ⣬ֱ֧ -#define NET_DVR_IPC_RESOLUTION_OVERFLOW 2150 //IPCֱʳ -#define NET_DVR_IPC_BITRATE_OVERFLOW 2151 //IPCʳ -#define NET_DVR_ERR_INVALID_TASKID 2152 //ЧtaskID -#define NET_DVR_PANEL_MODE_NOT_CONFIG 2153 //û· -#define NET_DVR_NO_HUMAN_ENGINES_RESOURCE 2154 //Դ -#define NET_DVR_ERR_TASK_NUMBER_OVERFLOW 2155 //ݳ -#define NET_DVR_ERR_COLLISION_TIME_OVERFLOW 2156 //ײʱ䳬 -#define NET_DVR_ERR_CAPTURE_PACKAGE_NO_USB 2157 //δʶỤU̻² -#define NET_DVR_ERR_NO_SET_SECURITY_EMAIL 2158 //δðȫ -#define NET_DVR_ERR_EVENT_NOTSUPPORT 2159 //¼֧ -#define NET_DVR_ERR_PASSWORD_FORMAT 2160 //ʽ -#define NET_DVR_ACCESS_FRONT_DEVICE_PARAM_FAILURE 2161 //ȡǰ豸ʧ -#define NET_DVR_ACCESS_FRONT_DEVICE_STREAM_FAILURE 2162 //ǰ豸ȡʧ -#define NET_DVR_ERR_USERNAME_FORMAT 2163 //ûʽ -#define NET_DVR_ERR_UNOPENED_HIGH_RESOLUTION_MODE 2164 //߷ֱģʽδ -#define NET_DVR_ERR_TOO_SMALL_QUATO 2165 //̫С -#define NET_DVR_ERR_EMAIL_FORMAT 2166 //ʽ -#define NET_DVR_ERR_SECURITY_CODE_FORMAT 2167 //ȫʽ -#define NET_DVR_PD_SPACE_TOO_SMALL 2168 //Ӳ̫С -#define NET_DVR_PD_NUM_TOO_BIG 2169 //ӲĶ֮һ -#define NET_DVR_ERR_USB_IS_FULL 2170 //U -#define NET_DVR_EXCEED_MAX_SMD_TYPE 2171 //ﵽSMD¼ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_BEHAVIOR 2172 //ͨѿΪֱ֧ -#define NET_DVR_NO_BEHAVIOR_ENGINES_RESOURCE 2173 //ΪԴ -#define NET_DVR_NO_RETENTION_ENGINES_RESOURCE 2174 //ԱԴ -#define NET_DVR_NO_LEAVE_POSITION_ENGINES_RESOURCE 2175 //ڼԴ -#define NET_DVR_NO_PEOPLE_NUM_CHANGE_ENGINES_RESOURCE 2176 //쳣Դ -#define NET_DVR_PANEL_MODE_NUM_OVER_LIMIT 2177 //·· -#define NET_DVR_SURROUND_MODE_NUM_OVER_LIMIT 2178 //·· -#define NET_DVR_FACE_MODE_NUM_OVER_LIMIT 2179 //·· -#define NET_DVR_SAFETYCABIN_MODE_NUM_OVER_LIMIT 2180 //·· -#define NET_DVR_DETECT_REGION_RANGE_INVALID 2181 //ΧǷ -#define NET_DVR_CHANNEL_CAPTURE_PICTURE_FAILURE 2182 //ͨץͼʧ -#define NET_DVR_VCACHAN_IS_NORESOURCE 2183 //ͨԴ -#define NET_DVR_IPC_NUM_REACHES_LIMIT 2184 // IpcͨĿﵽ -#define NET_DVR_IOT_NUM_REACHES_LIMIT 2185 // IOTͨĿﵽ -#define NET_DVR_IOT_CHANNEL_DEVICE_EXIST 2186 //ǰIOTͨѾ豸 -#define NET_DVR_IOT_CHANNEL_DEVICE_NOT_EXIST 2187 //ǰIOTͨ豸 -#define NET_DVR_INVALID_IOT_PROTOCOL_TYPE 2188 //ǷIOTЭ -#define NET_DVR_INVALID_EZVIZ_SECRET_KEY 2189 //Ƿөʯע֤ -#define NET_DVR_DUPLICATE_IOT_DEVICE 2190 //ظIOT豸 -#define NET_DVR_SADP_MODIFY_FALIURE 2191 // SADP޸ʧ -#define NET_DVR_IPC_NETWORK_ABNORMAL 2192 // IPC쳣 -#define NET_DVR_IPC_PASSWORD_ERROR 2193 // IPCû -#define NET_DVR_ERROR_IPC_TYPE 2194 //IPCͲ -#define NET_DVR_ERROR_IPC_LIST_NOT_EMPTY 2195 //IPCбΪգ֧һ -#define NET_DVR_ERROR_IPC_LIST_NOT_MATCH_PAIRING 2196 //IPCб䵥ƥ -#define NET_DVR_ERROR_IPC_BAD_LANGUAGE 2197 //IPCԺ豸ƥ -#define NET_DVR_ERROR_IPC_IS_LOCKING 2198 //IPCѱ -#define NET_DVR_ERROR_IPC_NOT_ACTIVATED 2199 //IPCδ -#define NET_DVR_FIELD_CODING_NOT_SUPPORT 2200 //벻֧ -#define NET_DVR_ERROR_H323_NOT_SUPPORT_H265 2201 //H323ƵͲ֧H265 -#define NET_DVR_ERROR_EXPOSURE_TIME_TOO_BIG_IN_MODE_P 2202 //Pʽ£عʱ -#define NET_DVR_ERROR_EXPOSURE_TIME_TOO_BIG_IN_MODE_N 2203 //Nʽ£عʱ -#define NET_DVR_ERROR_PING_PROCESSING 2204 //PING -#define NET_DVR_ERROR_PING_NOT_START 2205 //Pingδʼ -#define NET_DVR_ERROR_NEED_DOUBLE_VERIFICATION 2206 //Ҫ֤ -#define NET_DVR_NO_DOUBLE_VERIFICATION_USER 2207 //޶֤û -#define NET_DVR_CHANNEL_OFFLINE 2208 //ͨ -#define NET_DVR_TIMESPAN_NUM_OVER_LIMIT 2209 //ʱγ֧Ŀ -#define NET_DVR_CHANNEL_NUM_OVER_LIMIT 2210 //ͨĿ֧Ŀ -#define NET_DVR_NO_SEARCH_ID_RESOURCE 2211 //ҳѯsearchIDԴ -#define NET_DVR_ERROR_ONEKEY_EXPORT 2212 //ڽеԺ -#define NET_DVR_NO_CITY_MANAGEMENT_ENGINES_RESOURCE 2213 //ǹ㷨Դ -#define NET_DVR_NO_SITUATION_ANALYSIS_ENGINES_RESOURCE 2214 //̬ƷԴ -#define NET_DVR_INTELLIGENT_ANALYSIS_IPC_CANNT_DELETE 2215 //ڽܷIPC޷ɾ -#define NET_DVR_NOSUPPORT_RESET_PASSWORD 2216 //NVRֶ֧IPC -#define NET_DVR_ERROR_IPC_NEED_ON_LAN 2217 // IPCҪھ -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_SAFETY_HELMET 2218 //ͨѿȫñ⣬ֱ֧ -#define NET_DVR_ERROR_GET_RESETPASSWORDTYPE_IS_ABNORMAL 2219 /*IPCʱȡIPC쳣*/ -#define NET_DVR_ERROR_IPC_NOSUPPORT_RESET_PASSWORD 2220 /* IPC֧*/ -#define NET_DVR_ERROR_IP_IS_NOT_ONLY_ONE 2221 /*IPCIPΨһظ*/ -#define NET_DVR_NO_SUPPORT_WITH_SMD_OR_SCD 2222 //ѿSMD/SCDֱ֧ܣSCDΪ -#define NET_DVR_NO_SUPPORT_WITH_FD 2223 //ѿץģֱ֧ -#define NET_DVR_NO_FD_ENGINES_RESOURCE 2224 //ץԴ -#define NET_DVR_ERROR_ONEKEY_REMOVE 2225 //ڽɾԺ -#define NET_DVR_FACE_PIP_BACKGROUND_CHANNEL_OVERFLOW 2226 //лͨ -#define NET_DVR_MICIN_CHANNEL_OCCUPIED 2227 //micinͨռ -#define NET_DVR_IPC_CHANNEL_IS_IN_PIP 2228 //ʧܣͨѹѶͨȡлù - -#define NET_DVR_CHANNEL_NO_SUPPORT_WITH_FACE_CONTRAST 2229 //ͨѿȶԣֱ֧ - -#define NET_DVR_INVALID_RECHARGE_CARD 2230 //Чijֵ -#define NET_DVR_CLOUD_PLATFORM_SERVER_EXCEPTION 2231 //ƽ̨쳣 -#define NET_DVR_OPERATION_FAILURE_WITHOUT_LOGIN 2232 //δ¼ʧ -#define NET_DVR_INVALID_ASSOCIATED_SERIAL_NUMBER 2233 //кŷǷ -#define NET_DVR_CLOUD_PLATFORM_ACCOUNT_NOT_EXIST 2234 //ƽ̨ʺŲ -#define NET_DVR_DEVICE_SERIAL_NUMBER_REGISTERED 2235 //豸кע -#define NET_DVR_CONFERENCE_ROOM_NOT_EXIST 2236 //Ҳ -#define NET_DVR_NEED_DISABLED_ANALOG_CHANNEL 2237//ģͨ -#define NET_DVR_STUDENT_ROLL_CALL_FAILURE 2238//ѧʧ -#define NET_DVR_SUB_DEVICE_NOT_ENABLE_INDIVIDUAL_BEHAVIOR 2239//豸δøΪģʽ -#define NET_DVR_SUB_DEVICE_CHANNEL_CONTROL_FAILED 2240//豸ͨʧ -#define NET_DVR_DEVICE_NOT_IN_CONFERENCE 2241//豸ڻ -#define NET_DVR_ALREADY_EXIST_CONFERENCE 2242//ǰѾڻ -#define NET_DVR_NO_SUPPORT_WITH_VIDEO_CONFERENCE 2243//ǰƵУֱ֧ -#define NET_DVR_START_INTERACTION_FAILURE 2244//ʼʧ -#define NET_DVR_ASK_QUESTION_STARTED 2245//ѿʼ -#define NET_DVR_ASK_QUESTION_CLOSED 2246//ѽ -#define NET_DVR_UNABLE_OPERATE_BY_HOST 2247//ѱ˽ã޷ -#define NET_DVR_REPEATED_ASK_QUESTION 2248//ظ -#define NET_DVR_SWITCH_TIMEDIFF_LESS_LIMIT 2249/*ػʱСֵ(10)*/ -#define NET_DVR_CHANNEL_DEVICE_EXIST 2250 //ǰͨѾ豸 -#define NET_DVR_CHANNEL_DEVICE_NOT_EXIST 2251 //ǰͨ豸 -#define NET_DVR_ERROR_ADJUSTING_RESOLUTION 2252 //ȹرIJüٵֱ -#define NET_DVR_SSD_FILE_SYSTEM_IS_UPGRADING 2253 //SSDļϵͳ -#define NET_DVR_SSD_FILE_SYSTEM_IS_FORMAT 2254 //SSDڸʽ -#define NET_DVR_CHANNEL_IS_CONNECTING 2255 //ǰͨ - -#define NET_DVR_CHANNEL_STREAM_TYPE_NOT_SUPPORT 2257 //ǰͨͲ֧ -#define NET_DVR_CHANNEL_USERNAME_NOT_EXIST 2258 //ǰͨû -#define NET_DVR_CHANNEL_ACCESS_PARAM_FAILURE 2259 //ǰͨȡʧ -#define NET_DVR_CHANNEL_GET_STREAM_FAILURE 2260 //ǰͨȡʧ -#define NET_DVR_CHANNEL_RISK_PASSWORD 2261 //ǰͨΪ - -#define NET_DVR_NO_SUPPORT_DELETE_STRANGER_LIB 2262 //֧ɾİ˿ -#define NET_DVR_NO_SUPPORT_CREATE_STRANGER_LIB 2263 //ִ֧İ˿ - -#define NET_DVR_NETWORK_PORT_CONFLICT 2264 //ö˿ڳͻ -#define NET_DVR_TRANSCODE_NO_RESOURCES 2265 //תԴ -#define NET_DVR_SSD_FILE_SYSTEM_ERROR 2266 //SSDļϵͳ -#define NET_DVR_INSUFFICIENT_SSD__FOR_FPD 2267 //ԱƵҵSSD -#define NET_DVR_ASSOCIATED_FACELIB_OVER_LIMIT 2268 //Ѵ -#define NET_DVR_NEED_DELETE_DIGITAL_CHANNEL 2269 //ɾͨ -#define NET_DVR_ERR_FALL_DOWN_RULENUM_LIMIT 2270 //Աع -#define NET_DVR_ERR_VIOLENT_MOTION_RULENUM_LIMIT 2271 //˶ -#define NET_DVR_UPGRADE_ENGINE_VERSION_MISMATCH 2272 //汾ƥ(з) - -//ȳش루3001 - 3500 -#define NET_DVR_ERR_NOTSUPPORT_DEICING 3001 //豸ǰ״ֳ̬֧ܣֻPOE+AC24VDC12Vֳ֧ܣ -#define NET_DVR_ERR_THERMENABLE_CLOSE 3002 //¹ʹδ(NET_DVR_THERMOMETRY_BASICPARAMʹδ) -#define NET_DVR_ERR_NOTMEET_DEICING 3003 //ǰǻ¶Ȳֶǻ¶С30Ȳſɿ -#define NET_DVR_ERR_PANORAMIC_LIMIT_OPERATED 3004 //ȫͼλͬʱ -#define NET_DVR_ERR_SMARTH264_ROI_OPERATED 3005 //SmartH264ROIͬʱ -#define NET_DVR_ERR_RULENUM_LIMIT 3006 // -#define NET_DVR_ERR_LASER_DEICING_OPERATED 3007 //Լܲͬʱ -#define NET_DVR_ERR_OFFDIGITALZOOM_OR_MINZOOMLIMIT 3008 //ȹرݱ䱶ܻ䱶ΪСִֵ̻⡢Ϊֻ⡢¡̻ιʱûйرݱ䱶߱䱶ûΪСֵʱʾô롣 -#define NET_DVR_ERR_FIREWAITING 3009 //豸̨ڻȴ -#define NET_DVR_SYNCHRONIZEFOV_ERROR 3010 //ͬӳǴ -#define NET_DVR_CERTIFICATE_VALIDATION_ERROR 3011 //֤֤ͨ -#define NET_DVR_CERTIFICATES_NUM_EXCEED_ERROR 3012 //֤ -#define NET_DVR_RULE_SHIELDMASK_CONFLICT_ERROR 3013 //ͻ -#define NET_DVR_MOTOR_PREHEATING_ERROR 3014 //Ԥ -#define NET_DVR_PT_DEICING_ERROR 3015 //̨ - -//ǰ˲Ʒߴ루3501-4000 -#define NET_DVR_ERR_NO_SAFETY_HELMET_REGION 3501 //δðȫñ -#define NET_DVR_ERR_UNCLOSED_SAFETY_HELMET 3502 //δرհȫñʹ -#define NET_DVR_ERR_MUX_RECV_STATE 3503 //·ý״̬쳣 -#define NET_DVR_UPLOAD_HBDLIBID_ERROR 3504 // ϴIDHBDID or customHBDID -#define NET_DVR_NOTSUPPORT_SMALLER_RATIOS 3505 // С1ʱֹ֧,߱ -#define NET_ERR_ACCOUNT_NOT_ACTIVED 3506// û˻δŲ齨飺ȵ¼˻޸ijʼ룬ٳԲ - -#define NET_ERR_NPQ_BASE_INDEX 8000 //NPQ -#define NET_ERR_NPQ_PARAM (NET_ERR_NPQ_BASE_INDEX + 1) //NPQ -#define NET_ERR_NPQ_SYSTEM (NET_ERR_NPQ_BASE_INDEX + 2) //NPQϵͳô(Դʧܻڲȣ -#define NET_ERR_NPQ_GENRAL (NET_ERR_NPQ_BASE_INDEX + 3) //NPQڲͨô -#define NET_ERR_NPQ_PRECONDITION (NET_ERR_NPQ_BASE_INDEX + 4) //NPQ˳ -#define NET_ERR_NPQ_NOTSUPPORT (NET_ERR_NPQ_BASE_INDEX + 5) //NPQ⹦֧ܲ - -#define NET_ERR_NPQ_NOTCALLBACK (NET_ERR_NPQ_BASE_INDEX + 100) //ûлص -#define NET_ERR_NPQ_LOADLIB (NET_ERR_NPQ_BASE_INDEX + 101) //NPQʧ -#define NET_ERR_NPQ_STEAM_CLOSE (NET_ERR_NPQ_BASE_INDEX + 104) //·NPQδ -#define NET_ERR_NPQ_MAX_LINK (NET_ERR_NPQ_BASE_INDEX + 110) //NPQȡ·ﵽ -#define NET_ERR_NPQ_STREAM_CFG (NET_ERR_NPQ_BASE_INDEX + 111) //ڳͻ -#define NET_ERR_NPQ_PLAYBACK_OVERSPEED (NET_ERR_NPQ_BASE_INDEX + 112) //NPQطűʴﵽ -#define NET_ERR_NPQ_PLAYBACK_BELOWSPEED (NET_ERR_NPQ_BASE_INDEX + 113) //NPQطűʴﵽ - -#define NET_EZVIZ_P2P_BASE_INDEX 8300 //өʯP2P -#define NET_DVR_EZVIZ_P2P_REGISTER_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 1) -#define NET_DVR_EZVIZ_P2P_LOGIN_2C_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 2) -#define NET_DVR_EZVIZ_P2P_LOGIN_2B_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 3) -#define NET_DVR_EZVIZ_P2P_BUILDLINK_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 4) -#define NET_DVR_EZVIZ_P2P_PORTMAPPING_ERROR (NET_EZVIZ_P2P_BASE_INDEX + 5) -#define NET_DVR_EZVIZ_P2P_COULDNT_RESOLVE_HOST (NET_EZVIZ_P2P_BASE_INDEX + 6) //P2PCLOUD_ER_COULDNT_RESOLVE_HOST 1006 -#define NET_DVR_EZVIZ_P2P_COULDNT_CONNECT (NET_EZVIZ_P2P_BASE_INDEX + 7) //P2PCLOUD_ER_COULDNT_CONNECT 1007 -#define NET_DVR_EZVIZ_P2P_OPERATION_TIMEOUT (NET_EZVIZ_P2P_BASE_INDEX + 8) //P2PCLOUD_ER_OPERATION_TIMEOUT 1028 -#define NET_DVR_EZVIZ_P2P_NOT_INITIALIZED (NET_EZVIZ_P2P_BASE_INDEX + 9) //P2PCLOUD_ER_NOT_INITIALIZED 2001 -#define NET_DVR_EZVIZ_P2P_INVALID_ARG (NET_EZVIZ_P2P_BASE_INDEX + 10) //P2PCLOUD_ER_INVALID_ARG 2002 -#define NET_DVR_EZVIZ_P2P_EXCEED_MAX_SERVICE (NET_EZVIZ_P2P_BASE_INDEX + 11) //P2PCLOUD_ER_EXCEED_MAX_SERVICE 2003 -#define NET_DVR_EZVIZ_P2P_TOKEN_NOT_EXIST (NET_EZVIZ_P2P_BASE_INDEX + 12) //P2PCLOUD_ER_TOKEN_NOT_EXIST 2004 -#define NET_DVR_EZVIZ_P2P_DISCONNECTED (NET_EZVIZ_P2P_BASE_INDEX + 13) //P2PCLOUD_ER_DISCONNECTED 2005 -#define NET_DVR_EZVIZ_P2P_RELAY_ADDR_NOT_EXIST (NET_EZVIZ_P2P_BASE_INDEX + 14) //P2PCLOUD_ER_RELAY_ADDR_NOT_EXIST 2006 -#define NET_DVR_EZVIZ_P2P_DEV_NOT_ONLINE (NET_EZVIZ_P2P_BASE_INDEX + 15) //P2PCLOUD_ER_DEV_NOT_ONLINE 3121 -#define NET_DVR_EZVIZ_P2P_DEV_CONNECT_EXCEED (NET_EZVIZ_P2P_BASE_INDEX + 16) //P2PCLOUD_ER_DEV_CONNECT_EXCEED 3123 -#define NET_DVR_EZVIZ_P2P_DEV_CONNECT_FAILED (NET_EZVIZ_P2P_BASE_INDEX + 17) //P2PCLOUD_ER_DEV_CONNECT_FAILED 3209 -#define NET_DVR_EZVIZ_P2P_DEV_RECV_TIMEOUT (NET_EZVIZ_P2P_BASE_INDEX + 18) //P2PCLOUD_ER_DEV_RECV_TIMEOUT 3213 -#define NET_DVR_EZVIZ_P2P_USER_FORCE_STOP (NET_EZVIZ_P2P_BASE_INDEX + 19) //P2PCLOUD_ER_USER_FORCE_STOP 3216 -#define NET_DVR_EZVIZ_P2P_NO_PERMISSION (NET_EZVIZ_P2P_BASE_INDEX + 20) //P2PCLOUD_ER_NO_PERMISSION 3255 -#define NET_DVR_EZVIZ_P2P_DEV_PU_NOT_FOUND (NET_EZVIZ_P2P_BASE_INDEX + 21) //P2PCLOUD_ER_DEV_PU_NOT_FOUND 3297 -#define NET_DVR_EZVIZ_P2P_DEV_CONN_NOLONGER_AVAIL (NET_EZVIZ_P2P_BASE_INDEX + 22) //P2PCLOUD_ER_DEV_CONN_NOLONGER_AVAIL 3351 -#define NET_DVR_EZVIZ_P2P_DEV_NOT_LISTENING (NET_EZVIZ_P2P_BASE_INDEX + 23) //P2PCLOUD_ER_DEV_NOT_LISTENING 3610 -#define NET_DVR_EZVIZ_P2P_DEV_TUNNEL_SOCKET_LIMITED (NET_EZVIZ_P2P_BASE_INDEX + 24) //P2PCLOUD_ER_DEV_TUNNEL_SOCKET_LIMITED 3612 -#define NET_DVR_EZVIZ_P2P_FAIL_CREATE_THREAD (NET_EZVIZ_P2P_BASE_INDEX + 25) //TUNNEL_ER_FAIL_CREATE_THREAD 4001 -#define NET_DVR_EZVIZ_P2P_FAIL_ALLOC_BUFFERS (NET_EZVIZ_P2P_BASE_INDEX + 26) //P2PCLOUD_ER_FAIL_ALLOC_BUFFERS 4002 -#define NET_DVR_EZVIZ_P2P_FAIL_CREATE_SOCKET (NET_EZVIZ_P2P_BASE_INDEX + 27) //P2PCLOUD_ER_FAIL_CREATE_SOCKET 4003 -#define NET_DVR_EZVIZ_P2P_BIND_LOCAL_SERVICE (NET_EZVIZ_P2P_BASE_INDEX + 28) //P2PCLOUD_ER_BIND_LOCAL_SERVICE 4004 -#define NET_DVR_EZVIZ_P2P_LISTEN_LOCAL_SERVICE (NET_EZVIZ_P2P_BASE_INDEX + 29) //P2PCLOUD_ER_LISTEN_LOCAL_SERVICE 4005 -#define NET_DVR_EZVIZ_P2P_SVR_RSP_BAD (NET_EZVIZ_P2P_BASE_INDEX + 30) //P2PCLOUD_ER_SVR_RSP_BAD 5001 -#define NET_DVR_EZVIZ_P2P_SVR_RSP_INVALID (NET_EZVIZ_P2P_BASE_INDEX + 31) //P2PCLOUD_ER_SVR_RSP_INVALID 5002 -#define NET_DVR_EZVIZ_P2P_SVR_LOGIN_FAILED (NET_EZVIZ_P2P_BASE_INDEX + 32) //P2PCLOUD_ER_SVR_LOGIN_FAILED 5003 -#define NET_DVR_EZVIZ_P2P_SVR_TOKEN_EXPIRED (NET_EZVIZ_P2P_BASE_INDEX + 33) //P2PCLOUD_ER_SVR_TOKEN_EXPIRED 5004 -#define NET_DVR_EZVIZ_P2P_SVR_DEV_NOT_BELONG_TO_USER (NET_EZVIZ_P2P_BASE_INDEX + 34) //P2PCLOUD_ER_SVR_DEV_NOT_BELONG_TO_USER 5005 - - -//Դ 8501~9500 -#define NET_ERR_UPGRADE_PROG_ERR 8501 //ִг -#define NET_ERR_UPGRADE_NO_DEVICE 8502 //û豸(ָLEDûнӽտ) -#define NET_ERR_UPGRADE_NO_FILE 8503 //ûҵļ -#define NET_ERR_UPGRADE_DATA_ERROR 8504 //ļݲ -#define NET_ERR_UPGRADE_LINK_SERVER_ERR 8505 //ʧ -#define NET_ERR_UPGRADE_OEMCODE_NOMATCH 8506 //oemCodeƥ -#define NET_ERR_UPGRADE_FLASH_NOENOUGH 8507 //flash -#define NET_ERR_UPGRADE_RAM_NOENOUGH 8508 //RAM -#define NET_ERR_UPGRADE_DSPRAM_NOENOUGH 8509 //DSP RAM -#define NET_ERR_NOT_SUPPORT_CHECK 8510 //ĻͺŲ֧У -#define NET_ERR_LED_DEVICE_BUSY_CHECK 8511 //LED豸æУ -#define NET_ERR_DEVICE_MEM_NOT_ENOUGH 8512 //豸ڴ治 -#define NET_ERR_CHECK_PARAM 8513 //У -#define NET_ERR_RESOLUTION_OVER_LIMIT 8514 //ֱʳ -#define NET_ERR_NO_CUSTOM_BASE 8515 //Զͼ -#define NET_ERR_PRIORITY_LOWER 8516 //ȼڵǰģʽ -#define NET_ERR_SEND_MESSAGE_EXCEPT 8517 //Ϣ쳣 -#define NET_ERR_SENDCARD_UPGRADING 8518 //Ϳ -#define NET_ERR_NO_WIRELESS_NETCARD 8519 //δ -#define NET_ERR_LOAD_FS_FAIL 8520 //Ļʧ -#define NET_ERR_FLASH_UNSTORAGE_RECCARD 8521 //Flashδ洢տ -#define NET_ERR_NOT_SUPPORT_SINGLE_NETWORKCARD_AGGREGA 8522 //ֵ֧ۺ -#define NET_ERR_DISPLAYRESOLUTION_LESSTHAN_SMALLESTRESOLUTION 8523 //ʾֱССֱ -#define NET_ERR_NOT_SUPPORT_LOCAL_SOURCE_DRAG_MORE 8524 //ֱ֧Դһ϶ -#define NET_ERR_CANCEL_CURRENT_LED_AREA 8525 //ȡLED -#define NET_ERR_LED_OUT_ASSOCIATED_AREA 8526 //LEDδڹ -#define NET_ERR_MAX_VIRTUAL_LED_PICTURE_SIZE 8527 //LEDͼƬС -#define NET_ERR_DEVICE_CTRLED_BY_REMOTER 8528 //豸ǰң -/*******************ȫִ end**********************/ - -/************************************************* -NET_DVR_IsSupport()ֵ -19λֱʾϢλTRUE)ʾ֧֣ -**************************************************/ -#define NET_DVR_SUPPORT_DDRAW 0x01//֧DIRECTDRAW֧֣򲥷ܹ -#define NET_DVR_SUPPORT_BLT 0x02//Կ֧BLT֧֣򲥷ܹ -#define NET_DVR_SUPPORT_BLTFOURCC 0x04//ԿBLT֧ɫת֧֣RGBת -#define NET_DVR_SUPPORT_BLTSHRINKX 0x08//ԿBLT֧XС֧֣ϵͳת -#define NET_DVR_SUPPORT_BLTSHRINKY 0x10//ԿBLT֧YС֧֣ϵͳת -#define NET_DVR_SUPPORT_BLTSTRETCHX 0x20//ԿBLT֧XŴ֧֣ϵͳת -#define NET_DVR_SUPPORT_BLTSTRETCHY 0x40//ԿBLT֧YŴ֧֣ϵͳת -#define NET_DVR_SUPPORT_SSE 0x80//CPU֧SSEָIntel Pentium3֧SSEָ -#define NET_DVR_SUPPORT_MMX 0x100//CPU֧MMXָIntel Pentium3֧SSEָ - -/**********************̨ begin*************************/ -#define LIGHT_PWRON 2 /* ͨƹԴ */ -#define WIPER_PWRON 3 /* ͨˢ */ -#define FAN_PWRON 4 /* ͨȿ */ -#define HEATER_PWRON 5 /* ͨ */ -#define AUX_PWRON1 6 /* ͨ豸 */ -#define AUX_PWRON2 7 /* ͨ豸 */ -#define SET_PRESET 8 /* Ԥõ */ -#define CLE_PRESET 9 /* Ԥõ */ - -#define ZOOM_IN 11 /* ٶSS(ʱ) */ -#define ZOOM_OUT 12 /* ٶSSС(ʱС) */ -#define FOCUS_NEAR 13 /* ٶSSǰ */ -#define FOCUS_FAR 14 /* ٶSS */ -#define IRIS_OPEN 15 /* ȦٶSS */ -#define IRIS_CLOSE 16 /* ȦٶSSС */ - -#define TILT_UP 21 /* ̨SSٶ */ -#define TILT_DOWN 22 /* ̨SSٶ¸ */ -#define PAN_LEFT 23 /* ̨SSٶת */ -#define PAN_RIGHT 24 /* ̨SSٶת */ -#define UP_LEFT 25 /* ̨SSٶת */ -#define UP_RIGHT 26 /* ̨SSٶת */ -#define DOWN_LEFT 27 /* ̨SSٶ¸ת */ -#define DOWN_RIGHT 28 /* ̨SSٶ¸ת */ -#define PAN_AUTO 29 /* ̨SSٶԶɨ */ - -#define FILL_PRE_SEQ 30 /* ԤõѲ */ -#define SET_SEQ_DWELL 31 /* Ѳͣʱ */ -#define SET_SEQ_SPEED 32 /* Ѳٶ */ -#define CLE_PRE_SEQ 33 /* ԤõѲɾ */ -#define STA_MEM_CRUISE 34 /* ʼ¼켣 */ -#define STO_MEM_CRUISE 35 /* ֹͣ¼켣 */ -#define RUN_CRUISE 36 /* ʼ켣 */ -#define RUN_SEQ 37 /* ʼѲ */ -#define STOP_SEQ 38 /* ֹͣѲ */ -#define GOTO_PRESET 39 /* תԤõ */ -//dacͨ˽ЭNVRNVRͨOnvifЭʱ˽ЭѲλ·ٶȡʱΪ -//OnvifΪ·еλ˽ЭѲλ·ĿʼͽNVR޷жϺʱOnvifĸǰ豸 -#define SET_SEQ_START 41 /* IP򣬿ʼѲ*/ -#define SET_SEQ_END 42 /* IP򣬽Ѳ*/ - -#define DEL_SEQ 43 /* ɾѲ· */ -#define STOP_CRUISE 44 /* ֹͣ켣 */ -#define DELETE_CRUISE 45 /* ɾ켣 */ -#define DELETE_ALL_CRUISE 46/* ɾй켣 */ - -#define PAN_CIRCLE 50 /* ̨SSٶԶԲɨ */ -#define DRAG_PTZ 51 /* ϶PTZ */ -#define LINEAR_SCAN 52 /* ɨ */ //2014-03-15 -#define CLE_ALL_PRESET 53 /* Ԥõȫ */ -#define CLE_ALL_SEQ 54 /* Ѳȫ */ -#define CLE_ALL_CRUISE 55 /* 켣ȫ */ - -#define POPUP_MENU 56 /* ʾ˵ */ - -#define TILT_DOWN_ZOOM_IN 58 /* ̨SSٶ¸&&ٶSS(ʱ) */ -#define TILT_DOWN_ZOOM_OUT 59 /* ̨SSٶ¸&&ٶSSС(ʱС) */ -#define PAN_LEFT_ZOOM_IN 60 /* ̨SSٶת&&ٶSS(ʱ)*/ -#define PAN_LEFT_ZOOM_OUT 61 /* ̨SSٶת&&ٶSSС(ʱС)*/ -#define PAN_RIGHT_ZOOM_IN 62 /* ̨SSٶת&&ٶSS(ʱ) */ -#define PAN_RIGHT_ZOOM_OUT 63 /* ̨SSٶת&&ٶSSС(ʱС) */ -#define UP_LEFT_ZOOM_IN 64 /* ̨SSٶת&&ٶSS(ʱ)*/ -#define UP_LEFT_ZOOM_OUT 65 /* ̨SSٶת&&ٶSSС(ʱС)*/ -#define UP_RIGHT_ZOOM_IN 66 /* ̨SSٶת&&ٶSS(ʱ)*/ -#define UP_RIGHT_ZOOM_OUT 67 /* ̨SSٶת&&ٶSSС(ʱС)*/ -#define DOWN_LEFT_ZOOM_IN 68 /* ̨SSٶ¸ת&&ٶSS(ʱ) */ -#define DOWN_LEFT_ZOOM_OUT 69 /* ̨SSٶ¸ת&&ٶSSС(ʱС) */ -#define DOWN_RIGHT_ZOOM_IN 70 /* ̨SSٶ¸ת&&ٶSS(ʱ) */ -#define DOWN_RIGHT_ZOOM_OUT 71 /* ̨SSٶ¸ת&&ٶSSС(ʱС) */ -#define TILT_UP_ZOOM_IN 72 /* ̨SSٶ&&ٶSS(ʱ) */ -#define TILT_UP_ZOOM_OUT 73 /* ̨SSٶ&&ٶSSС(ʱС) */ -/**********************̨ end*************************/ - -#define DVR_VEHICLE_CONTROL_LIST 0x1 //(͵)2013-11-04 - - -/************************************************* -طʱſ궨 -NET_DVR_PlayBackControl -NET_DVR_PlayControlLocDisplay -NET_DVR_DecPlayBackCtrlĺ궨 -ֲ֧鿴˵ʹ -**************************************************/ -#define NET_DVR_PLAYSTART 1//ʼ -#define NET_DVR_PLAYSTOP 2//ֹͣ -#define NET_DVR_PLAYPAUSE 3//ͣ -#define NET_DVR_PLAYRESTART 4//ָ -#define NET_DVR_PLAYFAST 5// -#define NET_DVR_PLAYSLOW 6// -#define NET_DVR_PLAYNORMAL 7//ٶ -#define NET_DVR_PLAYFRAME 8//֡ -#define NET_DVR_PLAYSTARTAUDIO 9// -#define NET_DVR_PLAYSTOPAUDIO 10//ر -#define NET_DVR_PLAYAUDIOVOLUME 11// -#define NET_DVR_PLAYSETPOS 12//ıļطŵĽ -#define NET_DVR_PLAYGETPOS 13//ȡļطŵĽ -#define NET_DVR_PLAYGETTIME 14//ȡǰѾŵʱ(ļطŵʱЧ) -#define NET_DVR_PLAYGETFRAME 15//ȡǰѾŵ֡(ļطŵʱЧ) -#define NET_DVR_GETTOTALFRAMES 16//ȡǰļܵ֡(ļطŵʱЧ) -#define NET_DVR_GETTOTALTIME 17//ȡǰļܵʱ(ļطŵʱЧ) -#define NET_DVR_THROWBFRAME 20//B֡ -#define NET_DVR_SETSPEED 24//ٶ -#define NET_DVR_KEEPALIVE 25//豸(ص2뷢һ) -#define NET_DVR_PLAYSETTIME 26//ʱ䶨λ -#define NET_DVR_PLAYGETTOTALLEN 27//ȡʱطŶӦʱڵļܳ -#define NET_DVR_PLAYSETTIME_V50 28//ʱ䶨λ(֧ʱչ) -#define NET_DVR_PLAY_FORWARD 29 //лΪ -#define NET_DVR_PLAY_REVERSE 30 //лΪ -#define NET_DVR_SET_DECODEFFRAMETYPE 31 -#define NET_DVR_SET_TRANS_TYPE 32 //תʽ -#define NET_DVR_PLAY_CONVERT 33 //طת -#define NET_DVR_START_DRAWFRAME 34 //ʼ֡ط -#define NET_DVR_STOP_DRAWFRAME 35 //ֹͣ֡ط -#define NET_DVR_CHANGEWNDRESOLUTION 36 //ڴСı䣬֪ͨſ -#define NET_DVR_RESETBUFFER 37 //վ뻺Զ̻طļ -#define NET_DVR_VOD_DRAG_ING 38 //ط϶ -#define NET_DVR_VOD_DRAG_END 39 //ط϶ -#define NET_DVR_VOD_RESET_PLAYTIME 40 //貥ʱ - - -#define PLAYM4_DECODE_NORMAIL 0 // -#define PLAYM4_DECODE_KEY_FRAME 1 //ֻI֡ -#define PLAYM4_DECODE_NONE 2 //ȫ -#define PLAYM4_DECODE_TEMPORAL_LAYER_0 3 //1/2 -#define PLAYM4_DECODE_TEMPORAL_LAYER_1 4 //1/4 - - -//Զ̰£ -/* key value send to CONFIG program */ -#define KEY_CODE_1 1 -#define KEY_CODE_2 2 -#define KEY_CODE_3 3 -#define KEY_CODE_4 4 -#define KEY_CODE_5 5 -#define KEY_CODE_6 6 -#define KEY_CODE_7 7 -#define KEY_CODE_8 8 -#define KEY_CODE_9 9 -#define KEY_CODE_0 10 -#define KEY_CODE_POWER 11 -#define KEY_CODE_MENU 12 -#define KEY_CODE_ENTER 13 -#define KEY_CODE_CANCEL 14 -#define KEY_CODE_UP 15 -#define KEY_CODE_DOWN 16 -#define KEY_CODE_LEFT 17 -#define KEY_CODE_RIGHT 18 -#define KEY_CODE_EDIT 19 -#define KEY_CODE_ADD 20 -#define KEY_CODE_MINUS 21 -#define KEY_CODE_PLAY 22 -#define KEY_CODE_REC 23 -#define KEY_CODE_PAN 24 -#define KEY_CODE_M 25 -#define KEY_CODE_A 26 -#define KEY_CODE_F1 27 -#define KEY_CODE_F2 28 - -/* for PTZ control */ -#define KEY_PTZ_UP_START KEY_CODE_UP -#define KEY_PTZ_UP_STOP 32 - -#define KEY_PTZ_DOWN_START KEY_CODE_DOWN -#define KEY_PTZ_DOWN_STOP 33 - -#define KEY_PTZ_LEFT_START KEY_CODE_LEFT -#define KEY_PTZ_LEFT_STOP 34 - -#define KEY_PTZ_RIGHT_START KEY_CODE_RIGHT -#define KEY_PTZ_RIGHT_STOP 35 - -#define KEY_PTZ_AP1_START KEY_CODE_EDIT /*Ȧ+*/ -#define KEY_PTZ_AP1_STOP 36 - -#define KEY_PTZ_AP2_START KEY_CODE_PAN /*Ȧ-*/ -#define KEY_PTZ_AP2_STOP 37 - -#define KEY_PTZ_FOCUS1_START KEY_CODE_A /*۽+*/ -#define KEY_PTZ_FOCUS1_STOP 38 - -#define KEY_PTZ_FOCUS2_START KEY_CODE_M /*۽-*/ -#define KEY_PTZ_FOCUS2_STOP 39 - -#define KEY_PTZ_B1_START 40 /*䱶+*/ -#define KEY_PTZ_B1_STOP 41 - -#define KEY_PTZ_B2_START 42 /*䱶-*/ -#define KEY_PTZ_B2_STOP 43 - -//9000 -#define KEY_CODE_11 44 -#define KEY_CODE_12 45 -#define KEY_CODE_13 46 -#define KEY_CODE_14 47 -#define KEY_CODE_15 48 -#define KEY_CODE_16 49 - - - -/************************* begin*******************************/ -//NET_DVR_SetDVRConfigNET_DVR_GetDVRConfig,עӦýṹ - -#define NET_DVR_GET_DEVICECFG 100 //ȡ豸 -#define NET_DVR_SET_DEVICECFG 101 //豸 -#define NET_DVR_GET_NETCFG 102 //ȡ -#define NET_DVR_SET_NETCFG 103 // -#define NET_DVR_GET_PICCFG 104 //ȡͼ -#define NET_DVR_SET_PICCFG 105 //ͼ -#define NET_DVR_GET_COMPRESSCFG 106 //ȡѹ -#define NET_DVR_SET_COMPRESSCFG 107 //ѹ -#define NET_DVR_GET_RECORDCFG 108 //ȡ¼ʱ -#define NET_DVR_SET_RECORDCFG 109 //¼ʱ -#define NET_DVR_GET_DECODERCFG 110 //ȡ -#define NET_DVR_SET_DECODERCFG 111 //ý -#define NET_DVR_GET_RS232CFG 112 //ȡ232ڲ -#define NET_DVR_SET_RS232CFG 113 //232ڲ -#define NET_DVR_GET_ALARMINCFG 114 //ȡ -#define NET_DVR_SET_ALARMINCFG 115 //ñ -#define NET_DVR_GET_ALARMOUTCFG 116 //ȡ -#define NET_DVR_SET_ALARMOUTCFG 117 //ñ -#define NET_DVR_GET_TIMECFG 118 //ȡDVRʱ -#define NET_DVR_SET_TIMECFG 119 //DVRʱ -#define NET_DVR_GET_PREVIEWCFG 120 //ȡԤ -#define NET_DVR_SET_PREVIEWCFG 121 //Ԥ -#define NET_DVR_GET_VIDEOOUTCFG 122 //ȡƵ -#define NET_DVR_SET_VIDEOOUTCFG 123 //Ƶ -#define NET_DVR_GET_USERCFG 124 //ȡû -#define NET_DVR_SET_USERCFG 125 //û -#define NET_DVR_GET_EXCEPTIONCFG 126 //ȡ쳣 -#define NET_DVR_SET_EXCEPTIONCFG 127 //쳣 -#define NET_DVR_GET_ZONEANDDST 128 //ȡʱʱƲ -#define NET_DVR_SET_ZONEANDDST 129 //ʱʱƲ - -//עֻ֧4OSDͣͨV30µ豸汾 -#define NET_DVR_GET_SHOWSTRING 130 //ȡַ -#define NET_DVR_SET_SHOWSTRING 131 //õַ - -#define NET_DVR_GET_EVENTCOMPCFG 132 //ȡ¼¼ -#define NET_DVR_SET_EVENTCOMPCFG 133 //¼¼ -#define NET_DVR_GET_FTPCFG 134 //ȡץͼFTP() -#define NET_DVR_SET_FTPCFG 135 //ץͼFTP() -#define NET_DVR_GET_AUXOUTCFG 140 //ȡ(HS豸2006-02-28) -#define NET_DVR_SET_AUXOUTCFG 141 //ñ(HS豸2006-02-28) -#define NET_DVR_GET_PREVIEWCFG_AUX 142 //ȡ-sϵ˫Ԥ(-sϵ˫2006-04-13) -#define NET_DVR_SET_PREVIEWCFG_AUX 143 //-sϵ˫Ԥ(-sϵ˫2006-04-13) - -#define NET_DVR_GET_PASSWORD_MANAGE_CFG 144 //ȡ -#define NET_DVR_SET_PASSWORD_MANAGE_CFG 145 // -#define NET_DVR_UNLOCK_USER 146 //û -#define NET_DVR_GET_SECURITY_CFG 147 //ȡȫ֤ -#define NET_DVR_SET_SECURITY_CFG 148 //ðȫ֤ -#define NET_DVR_GET_LOCKED_INFO_LIST 149 //ȡбϢ - - -/*********************************ֽܲӿ begin***************************************/ -//ΪӦNET_VCA_RULECFG -#define NET_DVR_SET_RULECFG 152 //Ϊ -#define NET_DVR_GET_RULECFG 153 //ȡΪ -//궨NET_DVR_TRACK_CFG -#define NET_DVR_SET_TRACK_CFG 160//ò -#define NET_DVR_GET_TRACK_CFG 161//ȡò - -//ܷȡýṹ -#define NET_DVR_SET_IVMS_STREAMCFG 162 //ܷȡ -#define NET_DVR_GET_IVMS_STREAMCFG 163 //ȡܷȡ -//ܿƲṹ -#define NET_DVR_SET_VCA_CTRLCFG 164 //ܿƲ -#define NET_DVR_GET_VCA_CTRLCFG 165 //ȡܿƲ -//NET_VCA_MASK_REGION_LIST -#define NET_DVR_SET_VCA_MASK_REGION 166 // -#define NET_DVR_GET_VCA_MASK_REGION 167 //ȡ - -//ATM NET_VCA_ENTER_REGION -#define NET_DVR_SET_VCA_ENTER_REGION 168 //ý -#define NET_DVR_GET_VCA_ENTER_REGION 169 //ȡ - -//궨NET_VCA_LINE_SEGMENT_LIST -#define NET_DVR_SET_VCA_LINE_SEGMENT 170 //ñ궨 -#define NET_DVR_GET_VCA_LINE_SEGMENT 171 //ȡ궨 - -// ivmsNET_IVMS_MASK_REGION_LIST -#define NET_DVR_SET_IVMS_MASK_REGION 172 //IVMS -#define NET_DVR_GET_IVMS_MASK_REGION 173 //ȡIVMS -// ivmsNET_IVMS_ENTER_REGION -#define NET_DVR_SET_IVMS_ENTER_REGION 174 //IVMS -#define NET_DVR_GET_IVMS_ENTER_REGION 175 //ȡIVMS - -#define NET_DVR_SET_IVMS_BEHAVIORCFG 176 //ܷΪ -#define NET_DVR_GET_IVMS_BEHAVIORCFG 177 //ȡܷΪ - -// IVMS طż -#define NET_DVR_IVMS_SET_SEARCHCFG 178 //IVMSطż -#define NET_DVR_IVMS_GET_SEARCHCFG 179 //ȡIVMSطż - -#define NET_DVR_SET_POSITION_TRACK 180 // óϢ -#define NET_DVR_GET_POSITION_TRACK 181 // ȡϢ - -#define NET_DVR_SET_CALIBRATION 182 // ñ궨Ϣ -#define NET_DVR_GET_CALIBRATION 183 // ȡ궨Ϣ - -#define NET_DVR_SET_PDC_RULECFG 184 // ͳƹ -#define NET_DVR_GET_PDC_RULECFG 185 // ȡͳƹ - -#define NET_DVR_SET_PU_STREAMCFG 186 // ǰȡ豸Ϣ -#define NET_DVR_GET_PU_STREAMCFG 187 // ȡǰȡ豸Ϣ - -#define NET_VCA_SET_IVMS_BEHAVIOR_CFG 192 // IVMSΪ ʱ -#define NET_VCA_GET_IVMS_BEHAVIOR_CFG 193 // ȡIVMSΪ ʱ - -#define NET_VCA_SET_SIZE_FILTER 194 // ȫֳߴ -#define NET_VCA_GET_SIZE_FILTER 195 // ȡȫֳߴ - -#define NET_DVR_SET_TRACK_PARAMCFG 196 // ز˵ -#define NET_DVR_GET_TRACK_PARAMCFG 197 // ȡز˵ - -#define NET_DVR_SET_DOME_MOVEMENT_PARAM 198 // о -#define NET_DVR_GET_DOME_MOVEMENT_PARAM 199 // ȡо - -#define NET_DVR_GET_PICCFG_EX 200 //ȡͼ(SDK_V14չ) -#define NET_DVR_SET_PICCFG_EX 201 //ͼ(SDK_V14չ) -#define NET_DVR_GET_USERCFG_EX 202 //ȡû(SDK_V15չ) -#define NET_DVR_SET_USERCFG_EX 203 //û(SDK_V15չ) -#define NET_DVR_GET_COMPRESSCFG_EX 204 //ȡѹ(SDK_V15չ2006-05-15) -#define NET_DVR_SET_COMPRESSCFG_EX 205 //ѹ(SDK_V15չ2006-05-15) - - -#define NET_DVR_GET_NETAPPCFG 222 //ȡӦò NTP/DDNS/EMAIL -#define NET_DVR_SET_NETAPPCFG 223 //Ӧò NTP/DDNS/EMAIL -#define NET_DVR_GET_NTPCFG 224 //ȡӦò NTP -#define NET_DVR_SET_NTPCFG 225 //Ӧò NTP -#define NET_DVR_GET_DDNSCFG 226 //ȡӦò DDNS -#define NET_DVR_SET_DDNSCFG 227 //Ӧò DDNS -//ӦNET_DVR_EMAILPARA -#define NET_DVR_GET_EMAILCFG 228 //ȡӦò EMAIL -#define NET_DVR_SET_EMAILCFG 229 //Ӧò EMAIL - -#define NET_DVR_GET_NFSCFG 230 /* NFS disk config */ -#define NET_DVR_SET_NFSCFG 231 /* NFS disk config */ - -/*עΪƣֻ֧8OSDͣV30豸汾֮ǰ -NET_DVR_GET_SHOWSTRING NET_DVR_SET_SHOWSTRING ʹã*/ -#define NET_DVR_GET_SHOWSTRING_EX 238 //ȡַչ(֧8ַ) -#define NET_DVR_SET_SHOWSTRING_EX 239 //õַչ(֧8ַ) -#define NET_DVR_GET_NETCFG_OTHER 244 //ȡ -#define NET_DVR_SET_NETCFG_OTHER 245 // - -//ӦNET_DVR_EMAILCFGṹ -#define NET_DVR_GET_EMAILPARACFG 250 //Get EMAIL parameters -#define NET_DVR_SET_EMAILPARACFG 251 //Setup EMAIL parameters - - -#define NET_DVR_GET_DDNSCFG_EX 274 //ȡչDDNS -#define NET_DVR_SET_DDNSCFG_EX 275 //չDDNS - -#define NET_DVR_SET_PTZPOS 292 //̨PTZλ -#define NET_DVR_GET_PTZPOS 293 //̨ȡPTZλ -#define NET_DVR_GET_PTZSCOPE 294 //̨ȡPTZΧ - -#define NET_DVR_GET_AP_INFO_LIST 305//ȡԴ -#define NET_DVR_SET_WIFI_CFG 306 //IP豸߲ -#define NET_DVR_GET_WIFI_CFG 307 //ȡIP豸߲ -#define NET_DVR_SET_WIFI_WORKMODE 308 //IP豸ڹģʽ -#define NET_DVR_GET_WIFI_WORKMODE 309 //ȡIP豸ڹģʽ -#define NET_DVR_GET_WIFI_STATUS 310 //ȡ豸ǰwifi״̬ -/*********************************ܽͨ¼begin***************************************/ -#define NET_DVR_GET_REFERENCE_REGION 400 //ȡο -#define NET_DVR_SET_REFERENCE_REGION 401 //òο - -#define NET_DVR_GET_TRAFFIC_MASK_REGION 402 //ȡͨ¼ -#define NET_DVR_SET_TRAFFIC_MASK_REGION 403 //ýͨ¼ -#define NET_DVR_SET_AID_RULECFG 404 //ýͨ¼ -#define NET_DVR_GET_AID_RULECFG 405 //ȡͨ¼ - -#define NET_DVR_SET_TPS_RULECFG 406 //ýͨͳƹ -#define NET_DVR_GET_TPS_RULECFG 407 //ȡͨͳƹ - -#define NET_DVR_SET_LANECFG 408 //ó -#define NET_DVR_GET_LANECFG 409 //ȡ -#define NET_DVR_GET_VCA_RULE_COLOR_CFG 410 //ȡܹɫ -#define NET_DVR_SET_VCA_RULE_COLOR_CFG 411 //ܹɫ -#define NET_DVR_GET_SWITCH_LAMP_CFG 412 //ȡصƼò -#define NET_DVR_SET_SWITCH_LAMP_CFG 413 //ÿصƼò - - -/*********************************ܽͨ¼end***************************************/ -#define NET_DVR_SET_FACEDETECT_RULECFG 420 // -#define NET_DVR_GET_FACEDETECT_RULECFG 421 // ȡ - -#define NET_DVR_SET_VEHICLE_RECOG_TASK 422 //ʶύ -#define NET_DVR_GET_VEHICLE_RECOG_TASK 423 //ʶȡ - -#define NET_DVR_SET_TIMECORRECT 432 //УʱãֻУʱ¼Уʱ eg.NET_DVR_SET_TIMECFG ޸豸УʱãNTPУʱᱻ޸ΪֶУʱ -#define NET_DVR_GET_CONNECT_LIST 433 //ȡ豸бϢ - -/***************************DS9000(_V30) begin *****************************/ -//(NET_DVR_NETCFG_V30ṹ) -#define NET_DVR_GET_NETCFG_V30 1000 //ȡ -#define NET_DVR_SET_NETCFG_V30 1001 // - -//ͼ(NET_DVR_PICCFG_V30ṹ) -#define NET_DVR_GET_PICCFG_V30 1002 //ȡͼ -#define NET_DVR_SET_PICCFG_V30 1003 //ͼ - -//¼ʱ(NET_DVR_RECORD_V30ṹ) -#define NET_DVR_GET_RECORDCFG_V30 1004 //ȡ¼ -#define NET_DVR_SET_RECORDCFG_V30 1005 //¼ - -//û(NET_DVR_USER_V30ṹ) -#define NET_DVR_GET_USERCFG_V30 1006 //ȡû -#define NET_DVR_SET_USERCFG_V30 1007 //û - -//¼ʱ(NET_DVR_RECORD_V40ṹ) -#define NET_DVR_GET_RECORDCFG_V40 1008 //ȡ¼(չ) -#define NET_DVR_SET_RECORDCFG_V40 1009 //¼(չ) - -//9000DDNS(NET_DVR_DDNSPARA_V30ṹ) -#define NET_DVR_GET_DDNSCFG_V30 1010 //ȡDDNS(9000չ) -#define NET_DVR_SET_DDNSCFG_V30 1011 //DDNS(9000չ) - -//EMAIL(NET_DVR_EMAILCFG_V30ṹ) -#define NET_DVR_GET_EMAILCFG_V30 1012 //ȡEMAIL -#define NET_DVR_SET_EMAILCFG_V30 1013 //EMAIL - -#define NET_DVR_GET_NETCFG_V50 1015 //ȡ(V50) -#define NET_DVR_SET_NETCFG_V50 1016 //(V50) - -#define NET_GET_CRUISEPOINT_V40 1018 //ȡѲ· - -//Ѳ (NET_DVR_CRUISE_PARAṹ) -#define NET_DVR_GET_CRUISE 1020 -#define NET_DVR_SET_CRUISE 1021 - - -//ṹ (NET_DVR_ALARMINCFG_V30ṹ) -#define NET_DVR_GET_ALARMINCFG_V30 1024 -#define NET_DVR_SET_ALARMINCFG_V30 1025 - -//ṹ (NET_DVR_ALARMOUTCFG_V30ṹ) -#define NET_DVR_GET_ALARMOUTCFG_V30 1026 -#define NET_DVR_SET_ALARMOUTCFG_V30 1027 - -//Ƶṹ (NET_DVR_VIDEOOUT_V30ṹ) -#define NET_DVR_GET_VIDEOOUTCFG_V30 1028 -#define NET_DVR_SET_VIDEOOUTCFG_V30 1029 - - -/*֧8OSDͣ豸汾ΪV30ʱͨ豸汾ƥ䣬 -ͬʱ֮ǰNET_DVR_GET_SHOWSTRING NET_DVR_SET_SHOWSTRING ʹã*/ -//ַṹ (NET_DVR_SHOWSTRING_V30ṹ) -#define NET_DVR_GET_SHOWSTRING_V30 1030 -#define NET_DVR_SET_SHOWSTRING_V30 1031 - -//쳣ṹ (NET_DVR_EXCEPTION_V30ṹ) -#define NET_DVR_GET_EXCEPTIONCFG_V30 1034 -#define NET_DVR_SET_EXCEPTIONCFG_V30 1035 - -//232ṹ (NET_DVR_RS232CFG_V30ṹ) -#define NET_DVR_GET_RS232CFG_V30 1036 -#define NET_DVR_SET_RS232CFG_V30 1037 - -//Ӳ̽ṹ (NET_DVR_NET_DISKCFGṹ) -#define NET_DVR_GET_NET_DISKCFG 1038 //Ӳ̽ȡ -#define NET_DVR_SET_NET_DISKCFG 1039 //Ӳ̽ -//ѹ (NET_DVR_COMPRESSIONCFG_V30ṹ) -#define NET_DVR_GET_COMPRESSCFG_V30 1040 -#define NET_DVR_SET_COMPRESSCFG_V30 1041 - -//ȡ485 (NET_DVR_DECODERCFG_V30ṹ) -#define NET_DVR_GET_DECODERCFG_V30 1042 //ȡ -#define NET_DVR_SET_DECODERCFG_V30 1043 //ý - -//ȡԤ (NET_DVR_PREVIEWCFG_V30ṹ) -#define NET_DVR_GET_PREVIEWCFG_V30 1044 //ȡԤ -#define NET_DVR_SET_PREVIEWCFG_V30 1045 //Ԥ - -//Ԥ (NET_DVR_PREVIEWCFG_AUX_V30ṹ) -#define NET_DVR_GET_PREVIEWCFG_AUX_V30 1046 //ȡԤ -#define NET_DVR_SET_PREVIEWCFG_AUX_V30 1047 //øԤ - -//IPò NET_DVR_IPPARACFGṹ -#define NET_DVR_GET_IPPARACFG 1048 //ȡIPϢ -#define NET_DVR_SET_IPPARACFG 1049 //IPϢ - -//IPò NET_DVR_IPALARMINCFGṹ -#define NET_DVR_GET_IPALARMINCFG 1050 //ȡIPϢ -#define NET_DVR_SET_IPALARMINCFG 1051 //IPϢ - -//IPò NET_DVR_IPALARMOUTCFGṹ -#define NET_DVR_GET_IPALARMOUTCFG 1052 //ȡIPϢ -#define NET_DVR_SET_IPALARMOUTCFG 1053 //IPϢ - -//Ӳ̹IJȡ (NET_DVR_HDCFGṹ) -#define NET_DVR_GET_HDCFG 1054 //ȡӲ̹ò -#define NET_DVR_SET_HDCFG 1055 //Ӳ̹ò -//IJȡ (NET_DVR_HDGROUP_CFGṹ) -#define NET_DVR_GET_HDGROUP_CFG 1056 //ȡò -#define NET_DVR_SET_HDGROUP_CFG 1057 //ò - -//豸(NET_DVR_COMPRESSION_AUDIOṹ) -#define NET_DVR_GET_COMPRESSCFG_AUD 1058 //ȡ豸Խ -#define NET_DVR_SET_COMPRESSCFG_AUD 1059 //豸Խ - -//IPò NET_DVR_IPPARACFG_V31ṹ -#define NET_DVR_GET_IPPARACFG_V31 1060 //ȡIPϢ -#define NET_DVR_SET_IPPARACFG_V31 1061 //IPϢ - -// ͨԴ (NET_DVR_IPPARACFG_V40ṹ) -#define NET_DVR_GET_IPPARACFG_V40 1062 // ȡIP -#define NET_DVR_SET_IPPARACFG_V40 1063 // IP - -#define NET_DVR_GET_CCDPARAMCFG 1067 //IPCȡCCD -#define NET_DVR_SET_CCDPARAMCFG 1068 //IPCCCD - -#define NET_DVR_GET_IOINCFG 1070 //ȡץĻIO -#define NET_DVR_SET_IOINCFG 1071 //ץĻIO - -#define NET_DVR_GET_IOOUTCFG 1072 //ȡץĻIO -#define NET_DVR_SET_IOOUTCFG 1073 //ץĻIO - -#define NET_DVR_GET_FLASHCFG 1074 //ȡIO -#define NET_DVR_SET_FLASHCFG 1075 //IO - -#define NET_DVR_GET_LIGHTSNAPCFG 1076 //ȡץĻ̵Ʋ -#define NET_DVR_SET_LIGHTSNAPCFG 1077 //ץĻ̵Ʋ - -#define NET_DVR_GET_MEASURESPEEDCFG 1078 //ȡץĻٲ -#define NET_DVR_SET_MEASURESPEEDCFG 1079 //ץĻٲ - -#define NET_DVR_GET_IMAGEOVERLAYCFG 1080//ȡץĻͼϢ -#define NET_DVR_SET_IMAGEOVERLAYCFG 1081//ץĻͼϢ - -#define NET_DVR_GET_SNAPCFG 1082//ȡIOץĹ -#define NET_DVR_SET_SNAPCFG 1083//õIOץĹ - -#define NET_DVR_GET_VTPPARAM 1084//ȡȦ -#define NET_DVR_SET_VTPPARAM 1085//Ȧ - -#define NET_DVR_GET_SNAPENABLECFG 1086//ȡץĻʹܲ -#define NET_DVR_SET_SNAPENABLECFG 1087//ץĻʹܲ - -#define NET_DVR_GET_POSTEPOLICECFG 1088//ȡڵ羯 -#define NET_DVR_SET_POSTEPOLICECFG 1089//ÿڵ羯 - -#define NET_DVR_GET_JPEGCFG_V30 1090//ȡץͼJPEG() -#define NET_DVR_SET_JPEGCFG_V30 1091//ץͼJPEG() - -#define NET_DVR_GET_SPRCFG 1092//ȡʶ -#define NET_DVR_SET_SPRCFG 1093//óʶ -#define NET_DVR_GET_PLCCFG 1094//ȡȲ -#define NET_DVR_SET_PLCCFG 1095//óȲ - -#define NET_DVR_GET_DEVICESTATECFG 1096//ȡ豸ǰ״̬ -#define NET_DVR_SET_CALIBRATE_TIME 1097//չʱУʱ -#define NET_DVR_GET_CALIBRATE_TIME 1098//ȡչʱУʱ - -#define NET_DVR_GET_DEVICECFG_V40 1100//ȡչ豸 -#define NET_DVR_SET_DEVICECFG_V40 1101//չ豸 - -#define NET_DVR_GET_ZEROCHANCFG 1102 //ȡͨѹ -#define NET_DVR_SET_ZEROCHANCFG 1103 //ͨѹ - -#define NET_DVR_GET_ZERO_PREVIEWCFG_V30 1104 // ȡͨԤ -#define NET_DVR_SET_ZERO_PREVIEWCFG_V30 1105 // ͨԤ - -#define NET_DVR_SET_ZERO_ZOOM 1106 //ͨ -#define NET_DVR_GET_ZERO_ZOOM 1107 //ȡͨ - -#define NET_DVR_NATASSOCIATECFG_GET 1110 //ȡNATϢ -#define NET_DVR_NATASSOCIATECFG_SET 1111 //NATϢ - -#define NET_DVR_GET_SNMPCFG 1112 //ȡSNMP -#define NET_DVR_SET_SNMPCFG 1113 //SNMP - -#define NET_DVR_GET_SNMPCFG_V30 1114 //ȡSNMPv30 -#define NET_DVR_SET_SNMPCFG_V30 1115 //SNMPv30 - -#define NET_DVR_VIDEOPLATFORMALARMCFG_GET 1130 //ȡƵۺƽ̨ -#define NET_DVR_VIDEOPLATFORMALARMCFG_SET 1131 //Ƶۺƽ̨ - -#define NET_DVR_GET_RAID_ADAPTER_INFO 1134 // ȡϢ -#define NET_DVR_SET_RAID_ADAPTER_INFO 1135 // Ϣ - -#define NET_DVR_MATRIX_BIGSCREENCFG_GET 1140//ȡƴӲ -#define NET_DVR_MATRIX_BIGSCREENCFG_SET 1141//ôƴӲ - -#define NET_DVR_GET_MB_PLATFORMPARA 1145 //ȡƽ̨¼ -#define NET_DVR_SET_MB_PLATFORMPARA 1146 //ƽ̨¼ -#define NET_DVR_GET_MB_DEVSTATUS 1147 //ȡƶ豸״̬ - -#define NET_DVR_GET_DECODER_JOINT_CHAN 1151//ȡͨ -#define NET_DVR_SET_DECODER_JOINT_CHAN 1152//ýͨ - -// -#define NET_DVR_GET_NETCFG_MULTI 1161 //ȡ -#define NET_DVR_SET_NETCFG_MULTI 1162 //ö -#define NET_DVR_GET_NETCFG_MULTI_V50 1163 //ȡ() -#define NET_DVR_SET_NETCFG_MULTI_V50 1164 //ö() - -#define NET_DVR_GET_CMSPARA 1170//ȡƽ̨ -#define NET_DVR_SET_CMSPARA 1171//ƽ̨ -#define NET_DVR_GET_DIALSTATUS 1172//ȡ״̬ -#define NET_DVR_GET_SMSRELATIVEPARA 1173//ȡز -#define NET_DVR_SET_SMSRELATIVEPARA 1174//öز -#define NET_DVR_GET_PINSTATUS 1175//ȡPin״̬ -#define NET_DVR_SET_PINCMD 1176//PIN -#define NET_DVR_SET_SENSOR_CFG 1180//ģ -#define NET_DVR_GET_SENSOR_CFG 1181//ȡģ -#define NET_DVR_SET_ALARMIN_PARAM 1182//ñ -#define NET_DVR_GET_ALARMIN_PARAM 1183//ȡ -#define NET_DVR_SET_ALARMOUT_PARAM 1184//ñ -#define NET_DVR_GET_ALARMOUT_PARAM 1185//ȡ -#define NET_DVR_SET_SIREN_PARAM 1186//þŲ -#define NET_DVR_GET_SIREN_PARAM 1187//ȡŲ -#define NET_DVR_SET_ALARM_RS485CFG 1188//ñ485 -#define NET_DVR_GET_ALARM_RS485CFG 1189//ȡ485 -#define NET_DVR_GET_ALARMHOST_MAIN_STATUS 1190//ȡҪ״̬ -#define NET_DVR_GET_ALARMHOST_OTHER_STATUS 1191//ȡ״̬ -#define NET_DVR_SET_ALARMHOST_ENABLECFG 1192//ȡʹ״̬ -#define NET_DVR_GET_ALARMHOST_ENABLECFG 1193//ñʹ״̬ -#define NET_DVR_SET_ALARM_CAMCFG 1194//Ƶۺƽ̨CAM -#define NET_DVR_GET_ALARM_CAMCFG 1195//Ƶۺƽ̨CAM -#define NET_DVR_GET_GATEWAY_CFG 1196//ȡŽ -#define NET_DVR_SET_GATEWAY_CFG 1197//Ž - -#define NET_DVR_GET_ALARMDIALMODECFG 1198//ȡŲ -#define NET_DVR_SET_ALARMDIALMODECFG 1199//ñŲ -#define NET_DVR_SET_ALARMIN_PARAM_V50 1200 // ÷V50 -#define NET_DVR_GET_ALARMIN_PARAM_V50 1201 // ȡV50 -#define NET_DVR_SET_WINCFG 1202//ڲ -#define NET_DVR_GET_ALARMHOSTDIALSETUPMODE 1204//ȡ÷ʽ -#define NET_DVR_SET_ALARMHOSTDIALSETUPMODE 1205//ñ÷ʽ - -//Ƶ(Ƶ V1.3) -#define NET_DVR_SET_SUBSYSTEM_ALARM 1210 //ϵͳ/ -#define NET_DVR_GET_SUBSYSTEM_ALARM 1211 //ȡϵͳ/ -#define NET_DVR_GET_ALLOWLIST_ALARM 1215 //ȡ -#define NET_DVR_SET_ALLOWLIST_ALARM 1216 // -#define NET_DVR_GET_ALARMHOST_MODULE_LIST 1222 //ȡģ -#define NET_DVR_SET_PRIOR_ALARM 1223 //ϵͳ/ -#define NET_DVR_GET_PRIOR_ALARM 1224 //ȡϵͳ/ -#define NET_DVR_SET_TAMPER_ALARMIN_PARAM 1225 // ÷ -#define NET_DVR_GET_TAMPER_ALARMIN_PARAM 1226 // ȡ - -#define NET_DVR_GET_HOLIDAY_PARAM_CFG 1240// ȡڼղ -#define NET_DVR_SET_HOLIDAY_PARAM_CFG 1241// ýڼղ - -#define NET_DVR_GET_MOTION_HOLIDAY_HANDLE 1242// ȡƶձʽ -#define NET_DVR_SET_MOTION_HOLIDAY_HANDLE 1243// ȡƶձʽ - -#define NET_DVR_GET_VILOST_HOLIDAY_HANDLE 1244// ȡƵźŶʧձʽ -#define NET_DVR_SET_VILOST_HOLIDAY_HANDLE 1245// ȡƵźŶʧձʽ - -#define NET_DVR_GET_HIDE_HOLIDAY_HANDLE 1246// ȡڸǼձʽ -#define NET_DVR_SET_HIDE_HOLIDAY_HANDLE 1247// ڸǼձʽ - -#define NET_DVR_GET_ALARMIN_HOLIDAY_HANDLE 1248// ȡձʽ -#define NET_DVR_SET_ALARMIN_HOLIDAY_HANDLE 1249// ñձʽ -#define NET_DVR_GET_ALARMOUT_HOLIDAY_HANDLE 1250// ȡձʽ -#define NET_DVR_SET_ALARMOUT_HOLIDAY_HANDLE 1251// ñձʽ -#define NET_DVR_GET_HOLIDAY_RECORD 1252// ȡ¼ -#define NET_DVR_SET_HOLIDAY_RECORD 1253// ü¼ -#define NET_DVR_GET_NETWORK_BONDING 1254// ȡBONDING -#define NET_DVR_SET_NETWORK_BONDING 1255// BONDING -#define NET_DVR_GET_LINK_STATUS 1256// ȡͨIP״̬ -#define NET_DVR_GET_DISK_QUOTA_CFG 1278// ȡϢ -#define NET_DVR_SET_DISK_QUOTA_CFG 1279// ôϢ -#define NET_DVR_GET_JPEG_CAPTURE_CFG 1280// ȡDVRץͼ -#define NET_DVR_SET_JPEG_CAPTURE_CFG 1281// DVRץͼ -#define NET_DVR_GET_SCHED_CAPTURECFG 1282// ȡץͼƻ -#define NET_DVR_SET_SCHED_CAPTURECFG 1283// ץͼƻ -#define NET_DVR_GET_VGA_PREVIEWCFG 1284// ȡVGAԤ -#define NET_DVR_SET_VGA_PREVIEWCFG 1285// VGAԤ -#define NET_DVR_GET_VIDEO_INPUT_EFFECT 1286// ȡͨƵͼ -#define NET_DVR_SET_VIDEO_INPUT_EFFECT 1287// ͨƵͼ - -#define NET_DVR_GET_STORAGE_SERVER_SWITCH 1290//ȡ洢״̬ -#define NET_DVR_SET_STORAGE_SERVER_SWITCH 1291//ô洢״̬ - -#define NET_DVR_GET_DISK_QUOTA_CFG_V60 1292//ȡϢV60 -#define NET_DVR_SET_DISK_QUOTA_CFG_V60 1293//ôϢV60 - -#define NET_DVR_GET_OPTICAL_CHANNEL 1300//ȡϵͳͨϢ -#define NET_DVR_SET_OPTICAL_CHANNEL 1301//ùϵͳͨϢ -#define NET_DVR_GET_FIBER_CASCADE 1302//ȡ˼ģʽ -#define NET_DVR_SET_FIBER_CASCADE 1303//ù˼ģʽ -#define NET_DVR_GET_SPARTAN_STATUS 1304//ȡ״̬ -#define NET_DVR_SET_SPARTAN_STATUS 1305//ó״̬ -#define NET_DVR_GET_ETHERNET_CHANNEL 1306//ȡ˿ھۺϲ -#define NET_DVR_SET_ETHERMET_CHANNEL 1307//ö˿ھۺϲ -#define NET_DVR_OPTICAL_REBOOT 1320//˻ -#define NET_DVR_SET_AUDIOCHAN_CFG 1321//Ƶл -#define NET_DVR_GET_AUDIOCHAN_CFG 1322//ȡƵл -//SDI1.0 -#define NET_DVR_SET_MATRIX_BASE_CFG 1332 //þ -#define NET_DVR_GET_MATRIX_BASE_CFG 1333 //ȡ -#define NET_DVR_SWITCH_MATRIX_IO 1334 //л -#define NET_DVR_GET_MATRIX_IO_RELATION 1335 //ȡϵ - -#define NET_DVR_V6PSUBSYSTEMARAM_GET 1501//ȡV6ϵͳ -#define NET_DVR_V6PSUBSYSTEMARAM_SET 1502//V6ϵͳ -#define NET_DVR_GET_ALLWINCFG 1503 //ڲȡ - -#define NET_DVR_BIGSCREENASSOCIATECFG_GET 1511 //ȡ -#define NET_DVR_BIGSCREENASSOCIATECFG_SET 1512 //ô - -//1200 -#define NET_DVR_GETSCREENINFO 1601 //ȡϢ -#define NET_DVR_SETSCREENINFO 1602 //ôϢ -#define NET_DVR_GET_SCREEN_WINCFG 1603//ڲȡ -#define NET_DVR_LAYOUTLIST_GET 1605//ȡб -#define NET_DVR_SET_LAYOUTCFG 1606 // -#define NET_DVR_LAYOUTCTRL 1607//ֿƣ1-open2-close -#define NET_DVR_INPUTLIST_GET 1608 //ȡźԴб -#define NET_DVR_SET_INPUTSTREAMCFG 1609 //źԴ -#define NET_DVR_OUTPUT_SET 1610 // -#define NET_DVR_OUTPUT_GET 1611 //ȡ -#define NET_DVR_SET_OSDCFG 1612 //OSD -#define NET_DVR_GET_OSDCFG 1613 //OSDȡ -#define NET_DVR_BIGSCREEN_GETSERIAL 1614//ȡϢ -#define NET_DVR_GET_PLANLIST 1615//ȡԤб -#define NET_DVR_SET_PLAN 1616//Ԥ -#define NET_DVR_CTRL_PLAN 1617//Ԥ -#define NET_DVR_GET_DEVICE_RUN_STATUS 1618//ȡ豸״̬ -#define NET_DVR_GET_EXTERNAL_MATRIX_CFG 1619//ȡϢ -#define NET_DVR_SET_EXTERNAL_MATRIX_CFG 1620//þϢ -#define NET_DVR_GET_OUTPUT_SCREEN_RELATION 1621//ȡĻİ󶨹ϵ -#define NET_DVR_SET_OUTPUT_SCREEN_RELATION 1622//Ļİ󶨹ϵ -#define NET_DVR_GET_VCS_USER_CFG 1623//ȡûϢ -#define NET_DVR_SET_VCS_USER_CFG 1624//ûϢ -#define NET_DVR_CONTROL_SCREEN 1625//Ļ -#define NET_DVR_GET_EXTERNAL_MATRIX_CFG_V50 1626 //ȡϢ -#define NET_DVR_SET_EXTERNAL_MATRIX_CFG_V50 1627 //þϢ - -#define NET_DVR_GET_DEV_BASEINFO 1650//ȡ豸Ϣ -#define NET_DVR_SET_DEV_BASEINFO 1651//õ豸Ϣ -#define NET_DVR_GET_DEV_NETINFO 1652//ȡ豸Ϣ -#define NET_DVR_SET_DEV_NETINFO 1653//豸Ϣ -#define NET_DVR_GET_SIGNAL_SOURCE_INFO 1654//ȡźԴϢ -#define NET_DVR_SET_SIGNAL_SOURCE_INFO 1655//źԴϢ -#define NET_DVR_ADJUST_PIC_V40 1656//ͼ΢ -#define NET_DVR_RESTORE_V40 1657//ָĬϲ -#define NET_DVR_SET_NET_SIGNAL 1658//źԴ -#define NET_DVR_REBOOT_V40 1659// -#define NET_DVR_CONTROL_PICTURE_V41 1660//ͼƬV41 - -#define NET_DVR_GET_AUTO_REBOOT_CFG 1710//ȡԶ -#define NET_DVR_SET_AUTO_REBOOT_CFG 1711//Զ -#define NET_DVR_GET_TRUNK_USE_STATE 1713//ȡָʹ״̬ -#define NET_DVR_SET_PTZ_CTRL_INFO 1714//PTZƲ -#define NET_DVR_GET_PTZ_CTRL_INFO 1715//ȡPTZƲ -#define NET_DVR_GET_PTZ_STATUS 1716//ȡPTZ״̬ -#define NET_DVR_GET_DISP_ROUTE_LIST 1717//ȡʾ·б - -#define NET_DVR_GET_DEC_RESOURCE_LIST 1720//ȡýԴб -#define NET_DVR_SET_DEC_RESOURCE_LIST 1721//ԤԴ -#define NET_DVR_GET_DEC_YUV 1722//ȡͨYUV -#define NET_DVR_SET_DEC_YUV 1723//ýͨYUV -#define NET_DVR_GET_DEC_RESOUCE 1724//Ƶۺƽ̨Դ -#define NET_DVR_FREE_DEC_RESOURCE 1725//ͷŽԴ - -#define NET_DVR_SET_VIDEOWALLDISPLAYMODE 1730//õǽƴģʽ -#define NET_DVR_GET_VIDEOWALLDISPLAYMODE 1731//ȡǽƴģʽ -#define NET_DVR_GET_VIDEOWALLDISPLAYNO 1732//ȡ豸ʾ -#define NET_DVR_SET_VIDEOWALLDISPLAYPOSITION 1733//ʾλò -#define NET_DVR_GET_VIDEOWALLDISPLAYPOSITION 1734//ȡʾλò -#define NET_DVR_GET_VIDEOWALLWINDOWPOSITION 1735//ȡǽڲ -#define NET_DVR_SET_VIDEOWALLWINDOWPOSITION 1736//õǽڲ -#define NET_DVR_VIDEOWALLWINDOW_CLOSEALL 1737//ǽرд -#define NET_DVR_SET_VIRTUALLED 1738//LED -#define NET_DVR_GET_VIRTUALLED 1739//LEDȡ -#define NET_DVR_GET_IMAGE_CUT_MODE 1740//ȡͼиģʽ -#define NET_DVR_SET_IMAGE_CUT_MODE 1741//ͼиģʽ -#define NET_DVR_GET_USING_SERIALPORT 1742//ȡǰʹô -#define NET_DVR_SET_USING_SERIALPORT 1743//õǰʹô -#define NET_DVR_SCENE_CONTROL 1744// -#define NET_DVR_GET_CURRENT_SCENE 1745//ȡǰ -#define NET_DVR_GET_VW_SCENE_PARAM 1746//ȡǽģʽ -#define NET_DVR_SET_VW_SCENE_PARAM 1747//õǽģʽ -#define NET_DVR_DISPLAY_CHANNO_CONTROL 1748//ǽʾſ -#define NET_DVR_GET_WIN_DEC_INFO 1749//ȡڽϢ -#define NET_DVR_RESET_VIDEOWALLDISPLAYPOSITION 1750 //ǽӿڰ -#define NET_DVR_SET_VW_AUDIO_CFG 1752 //Ƶл -#define NET_DVR_GET_VW_AUDIO_CFG 1753 //ȡƵл -#define NET_DVR_GET_GBT28181_DECCHANINFO_CFG 1754 //ȡGBT28181Э豸ĽͨϢ -#define NET_DVR_SET_GBT28181_DECCHANINFO_CFG 1755 //GBT28181Э豸ĽͨϢ -#define NET_DVR_SET_MAINBOARD_SERIAL 1756 //ذ崮ڲ -#define NET_DVR_GET_MAINBOARD_SERIAL 1757 //ȡذ崮ڲ -#define NET_DVR_GET_SUBBOARD_INFO 1758 //ȡӰϢ -#define NET_DVR_GET_SUBBOARD_EXCEPTION 1759 //ȡ쳣Ӱ쳣Ϣ - -#define NET_DVR_GET_CAMERACHAN_SERIALCFG 1760 //ȡCameraͨ󶨴 -#define NET_DVR_SET_CAMERACHAN_SERIALCFG 1761 //Cameraͨ󶨴 -#define NET_DVR_GET_MATRIX_STATUS 1762 //ȡƵۺƽ̨״̬ -#define NET_SET_MULTIFUNCTION_SERIALCFG 1763 //ö๦ܴ -#define NET_GET_MULTIFUNCTION_SERIALCFG 1764 //ȡ๦ܴ -#define NET_DVR_PTZ_3D_SPEED 1765 // 3άٶȵ̨ - -#define NET_DVR_GET_SIGNAL_JOINT 1766 //ȡźԴ -#define NET_DVR_SET_SIGNAL_JOINT 1767 //źԴ -#define NET_DVR_SIGNAL_CUT 1768 //źԴü -#define NET_DVR_DYNAMIC_DECODE_BATCH 1769 //̬ -#define NET_DVR_DECSWITCH_SET_BATCH 1770 //ýͨ -#define NET_DVR_DECSWITCH_GET_BATCH 1771 //ȡͨ -#define NET_DVR_GET_ALL_SIGNAL_JOINT 1772 //ȡźԴ -#define NET_DVR_GET_PLAYING_PLAN 1773 //ȡִԤ -#define NET_DVR_WALL_RELATION_GET 1774 //ȡ豸ǽǽĹ -#define NET_DVR_WALL_RELATION_SET 1775 //豸ǽǽĹ -#define NET_DVR_SET_INPUTSTREAMCFG_V40 1776 //źԴ -#define NET_DVR_PTZCFG_INPUTSTREAM_GET 1777 //ȡԴ̨ -#define NET_DVR_PTZCFG_INPUTSTREAM_SET 1778 //Դ̨ -#define NET_DVR_SIGNAL_CUTPARAM_GET 1779 //ȡźԴü - -#define NET_DVR_GET_SUBSYSTEM_NETCFG 1780 //ȡϵͳ -#define NET_DVR_SET_SUBSYSTEM_NETCFG 1781 //ϵͳ -#define NET_DVR_DEL_SIGNAL_JOINT 1782 //ɾƴźԴ - -#define NET_DVR_GET_PICTURE_INFO 1783 //ȡͼƬϢ -#define NET_DVR_SET_PICTURE_INFO 1784 //ͼƬϢ -#define NET_DVR_GET_VIDEO_INFO 1785 //ȡƵϢ -#define NET_DVR_SET_VIDEO_INFO 1786 //ƵϢ -#define NET_DVR_SET_PLAYLIST 1787 //òб -#define NET_DVR_GET_PLAYLIST 1788 //ȡб -#define NET_DVR_GET_ALL_PLAYLIST 1789 //ȡвб -#define NET_DVR_PLAYITEM_CONTROL 1790 // -#define NET_DVR_SET_PLAYPLAN_TEMPLATE 1791 //òżƻģ -#define NET_DVR_GET_PLAYPLAN_TEMPLATE 1792 //ȡżƻ -#define NET_DVR_GET_ALL_PLAYPLAN_TEMPLATE 1793 //ȡвżƻ -#define NET_DVR_SET_WINDOW_PLAYPLAN 1794 //ôڲżƻ -#define NET_DVR_GET_WINDOW_PLAYPLAN 1795 //ȡڲżƻ -#define NET_DVR_TOPLAY_ITEM 1796 //ָ -#define NET_DVR_DEVICE_PLAY_CONTROL 1797 //豸ſ -#define NET_DVR_GET_PLAY_INFO 1798 //ȡǰϢ -#define NET_DVR_GET_ALL_PICTURE_INFO 1799 //ȡͼƬϢ -#define NET_DVR_GET_ALL_VIDEO_INFO 1800 //ȡƵϢ -#define NET_DVR_DELETE_VIDEO_FILE 1801 //ɾƵ - - -#define NET_DVR_GET_ALARMHOSTSUBSYSTEM_CFG 2001//ȡϵͳ -#define NET_DVR_SET_ALARMHOSTSUBSYSTEM_CFG 2002//ϵͳ -#define NET_DVR_GETEXTENDALARMININFO 2003//ȡϢ -#define NET_DVR_MODIFYALARMINNO 2004//޸ķϢ -#define NET_DVR_GET_ALARMHOST_WIRELESS_NETWORK_CFG 2005//ȡ -#define NET_DVR_SET_ALARMHOST_WIRELESS_NETWORK_CFG 2006// -#define NET_DVR_GET_ALARMHOST_NETCFG 2007//ȡ -#define NET_DVR_SET_ALARMHOST_NETCFG 2008// -#define NET_DVR_GET_LED_SCREEN_CFG 2009// ȡLEDĻ -#define NET_DVR_SET_LED_SCREEN_CFG 2010// LEDĻ -#define NET_DVR_GET_LED_CONTENT_CFG 2011// ȡLED -#define NET_DVR_SET_LED_CONTENT_CFG 2012// LED -#define NET_DVR_TURNON_LED 2013// LED -#define NET_DVR_TURNOFF_LED 2014// رLED -#define NET_DVR_GET_LED_TIMER_SWITCH 2015// ȡLEDʱز -#define NET_DVR_SET_LED_TIMER_SWITCH 2016// LEDʱز -#define NET_DVR_SET_LED_BRIGHTNESS 2017// ֶLED -#define NET_DVR_GET_LED_TIMER_BRIGHTNESS 2018//÷ʱLED -#define NET_DVR_SET_LED_TIMER_BRIGHTNESS 2019//ȡʱLED -#define NET_DVR_LED_CHECKTIME 2020//LEDУʱ -#define NET_DVR_GET_ALARMHOST_AUDIO_ASSOCIATE_ALARM 2021//ȡƵ汨¼ -#define NET_DVR_SET_ALARMHOST_AUDIO_ASSOCIATE_ALARM 2022//Ƶ汨¼ -#define NET_DVR_GET_LED_STATUS 2023//ȡLED״̬ -#define NET_DVR_CLOSE_SUBSYSTEM_FAULT_ALARM 2027//رϵͳʾ -#define NET_DVR_SET_SUBSYSTEM_BYPASS 2028//ϵͳ· -#define NET_DVR_CANCEL_SUBSYSTEM_BYPASS 2029//ϵͳ·ָ - -#define NET_DVR_GET_ALARMHOST_SUBSYSTEM_CFG_EX 2030//ȡϵͳչ -#define NET_DVR_SET_ALARMHOST_SUBSYSTEM_CFG_EX 2031//ϵͳչ -#define NET_DVR_GET_ALARMHOST_PRINTER_CFG 2032//ȡӡӡʹ -#define NET_DVR_SET_ALARMHOST_PRINTER_CFG 2033//ôӡӡʹ -#define NET_DVR_GET_ALARMHOST_ZONE_LIST_IN_SUBSYSTEM 2034//ȡָϵͳڵз -#define NET_DVR_GET_ALARMHOST_TRIGGER_LIST 2035//ȡд -#define NET_DVR_ARM_ALARMHOST_SUBSYSTEM 2036//Ͷϵͳ -#define NET_DVR_GET_ALARMHOST_EVENT_TRIG_ALARMOUT_CFG 2037// ȡ¼ -#define NET_DVR_SET_ALARMHOST_EVENT_TRIG_ALARMOUT_CFG 2038// ¼ -#define NET_DVR_GET_ALARMHOST_FAULT_CFG 2039// ȡϴ -#define NET_DVR_SET_ALARMHOST_FAULT_CFG 2040// ùϴ -#define NET_DVR_SEARCH_ARMHOST_EXTERNAL_MODULE 2041//Զ -#define NET_DVR_REGISTER_ALARMHOST_EXTERNAL_MODULE 2042//Զע -#define NET_DVR_CLOSE_ALARMHOST_OVERALL_FAULT_ALARM 2043//رȫֹʾ - -#define NET_DVR_GET_SAFETYCABIN_WORK_MODE 2044 //ȡչģʽ -#define NET_DVR_SET_SAFETYCABIN_WORK_MODE 2045 //÷չģʽ -#define NET_DVR_GET_SAFETYCABIN_PERSON_SIGNAL_CFG 2046 //ȡź̽ -#define NET_DVR_SET_SAFETYCABIN_PERSON_SIGNAL_CFG 2047 //÷ź̽ - -#define NET_DVR_GET_ALARMHOST_MODULE_CFG 2048//ȡģϢ -//#define NET_DVR_SET_ALARMHOST_MODULE_CFG 2049//ģϢ(Ԥ) - -#define NET_DVR_GET_ALARMHOST_EXTERNAL_DEVICE_STATE 2050//ȡ485豸״̬ -#define NET_DVR_SET_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE 2051//豸ֵ -#define NET_DVR_GET_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE 2052//ȡ豸ֵ -#define NET_DVR_GET_ALARMHOST_SENSOR_JOINT_CFG 2053// ȡģ -#define NET_DVR_SET_ALARMHOST_SENSOR_JOINT_CFG 2054// ģ -#define NET_DVR_SET_ALARMHOST_RS485_SLOT_CFG 2055// ñ485λ -#define NET_DVR_GET_ALARMHOST_RS485_SLOT_CFG 2056// ȡ485λ - -#define NET_DVR_GET_ALL_VARIABLE_INFO 2057 // ȡбԪϢ -#define NET_DVR_GET_ALARM_POINT_CFG 2058 // ȡϢ -#define NET_DVR_SET_ALARM_POINT_CFG 2059 // õϢ -#define NET_DVR_GET_HISTORY_VALUE 2060 // ȡʷ -#define NET_DVR_GET_ALARMHOST_ALARM_MODE 2061 // ȡϴʽ -#define NET_DVR_SET_ALARMHOST_ALARM_MODE 2062 // ϴʽ -#define NET_DVR_GET_ALARMHOST_SENSOR_VALUE 2063 // ȡģʵʱ - -#define NET_DVR_GET_ALARMHOST_REPORT_CENTER_V40 2064 // ȡϴʽ -#define NET_DVR_SET_ALARMHOST_REPORT_CENTER_V40 2065 // ϴʽ -#define NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG 2068 // ȡʱ -#define NET_DVR_SET_OUTPUT_SCHEDULE_RULECFG 2069 // ʱ -#define NET_DVR_GET_CMS_CFG 2070 -#define NET_DVR_SET_CMS_CFG 2071 - -#define NET_DVR_GET_PASSTHROUGH_CAP 2073 //ȡ豸͸ - -#define NET_DVR_GET_ALARMHOST_MAIN_STATUS_V40 2072 // ȡҪ״̬V40 -#define NET_DVR_GET_ALARMHOST_MAIN_STATUS_V51 2083 // ȡҪ״̬V51 - -/*************************************Ƶ1.3 begin*************************************/ -#define NET_DVR_GET_ALARM_CAPTRUE_CFG 2074 //ȡץͼ -#define NET_DVR_SET_ALARM_CAPTRUE_CFG 2075 //ñץͼ -#define NET_DVR_GET_ONE_OUTPUT_SCH_RULECFG_V40 2078 // ȡʱV40 -#define NET_DVR_SET_ONE_OUTPUT_SCH_RULECFG_V40 2079 // õʱV40 -#define NET_DVR_GET_OUTPUT_SCHEDULE_RULECFG_V40 2080 // ȡʱV40 -#define NET_DVR_SET_OUTPUT_SCHEDULE_RULECFG_V40 2081 // ʱV40 -#define NET_DVR_ALARMHOST_CLOSE_SUBSYSTEM 2082 //ϵͳ -/*************************************Ƶ1.3 end**************************************/ - - -#define NET_DVR_GET_WEEK_PLAN_CFG 2100 //ȡ״̬ܼƻ -#define NET_DVR_SET_WEEK_PLAN_CFG 2101 //״̬ܼƻ -#define NET_DVR_GET_DOOR_STATUS_HOLIDAY_PLAN 2102 //ȡ״̬ռƻ -#define NET_DVR_SET_DOOR_STATUS_HOLIDAY_PLAN 2103 //״̬ռƻ -#define NET_DVR_GET_DOOR_STATUS_HOLIDAY_GROUP 2104 //ȡ״̬ -#define NET_DVR_SET_DOOR_STATUS_HOLIDAY_GROUP 2105 //״̬ -#define NET_DVR_GET_DOOR_STATUS_PLAN_TEMPLATE 2106 //ȡ״̬ƻģ -#define NET_DVR_SET_DOOR_STATUS_PLAN_TEMPLATE 2107 //״̬ƻģ -#define NET_DVR_GET_DOOR_CFG 2108 //ȡŲ -#define NET_DVR_SET_DOOR_CFG 2109 //Ų -#define NET_DVR_GET_DOOR_STATUS_PLAN 2110 //ȡ״̬ƻ -#define NET_DVR_SET_DOOR_STATUS_PLAN 2111 //״̬ƻ -#define NET_DVR_GET_GROUP_CFG 2112 //ȡȺ -#define NET_DVR_SET_GROUP_CFG 2113 //Ⱥ -#define NET_DVR_GET_MULTI_CARD_CFG 2114 //ȡؿ -#define NET_DVR_SET_MULTI_CARD_CFG 2115 //öؿ -#define NET_DVR_GET_CARD_CFG 2116 //ȡ -#define NET_DVR_SET_CARD_CFG 2117 //ÿ -#define NET_DVR_CLEAR_ACS_PARAM 2118 //Ž -#define NET_DVR_GET_SNEAK_CFG 2119 //ȡDZز -#define NET_DVR_SET_SNEAK_CFG 2120 //÷DZز -#define NET_DVR_GET_MULTI_DOOR_INTERLOCK_CFG 2121 //ȡŻ -#define NET_DVR_SET_MULTI_DOOR_INTERLOCK_CFG 2122 //öŻ -#define NET_DVR_GET_ACS_WORK_STATUS 2123 //ȡŽ״̬ -#define NET_DVR_GET_VERIFY_WEEK_PLAN 2124 //ȡ֤ʽܼƻ -#define NET_DVR_SET_VERIFY_WEEK_PLAN 2125 //ö֤ʽܼƻ -#define NET_DVR_GET_CARD_RIGHT_WEEK_PLAN 2126 //ȡȨܼƻ -#define NET_DVR_SET_CARD_RIGHT_WEEK_PLAN 2127 //ÿȨܼƻ -#define NET_DVR_GET_VERIFY_HOLIDAY_PLAN 2128 //ȡ֤ʽռƻ -#define NET_DVR_SET_VERIFY_HOLIDAY_PLAN 2129 //ö֤ʽռƻ -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN 2130 //ȡȨ޼ռƻ -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN 2131 //ÿȨ޼ռƻ -#define NET_DVR_GET_VERIFY_HOLIDAY_GROUP 2132 //ȡ֤ʽ -#define NET_DVR_SET_VERIFY_HOLIDAY_GROUP 2133 //ö֤ʽ -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP 2134 //ȡȨ޼ -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP 2135 //ÿȨ޼ -#define NET_DVR_GET_VERIFY_PLAN_TEMPLATE 2136 //ȡ֤ʽƻģ -#define NET_DVR_SET_VERIFY_PLAN_TEMPLATE 2137 //ö֤ʽƻģ -#define NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE 2138 //ȡȨ޼ƻģ -#define NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE 2139 //ÿȨ޼ƻģ -#define NET_DVR_GET_CARD_READER_CFG 2140 //ȡ -#define NET_DVR_SET_CARD_READER_CFG 2141 //ö -#define NET_DVR_GET_CARD_READER_PLAN 2142 //ȡ֤ƻ -#define NET_DVR_SET_CARD_READER_PLAN 2143 //ö֤ƻ -#define NET_DVR_GET_CASE_SENSOR_CFG 2144 //ȡ¼ -#define NET_DVR_SET_CASE_SENSOR_CFG 2145 //¼ -#define NET_DVR_GET_CARD_READER_ANTI_SNEAK_CFG 2146 //ȡDZز -#define NET_DVR_SET_CARD_READER_ANTI_SNEAK_CFG 2147 //öDZز -#define NET_DVR_GET_PHONE_DOOR_RIGHT_CFG 2148 //ȡֻȨ޲ -#define NET_DVR_SET_PHONE_DOOR_RIGHT_CFG 2149 //ȡֻȨ޲ -#define NET_DVR_GET_FINGERPRINT_CFG 2150 //ȡָƲ -#define NET_DVR_SET_FINGERPRINT_CFG 2151 //ָƲ -#define NET_DVR_DEL_FINGERPRINT_CFG 2152 //ɾָƲ -#define NET_DVR_GET_EVENT_CARD_LINKAGE_CFG 2153 //ȡ¼ò -#define NET_DVR_SET_EVENT_CARD_LINKAGE_CFG 2154 //¼ò -#define NET_DVR_GET_ANTI_SNEAK_HOST_CFG 2155 //ȡ鷴DZز -#define NET_DVR_SET_ANTI_SNEAK_HOST_CFG 2156 //鷴DZز -#define NET_DVR_GET_READER_ANTI_SNEAK_HOST_CFG 2157 //ȡDZز -#define NET_DVR_SET_READER_ANTI_SNEAK_HOST_CFG 2158 //DZز -#define NET_DVR_GET_ACS_CFG 2159 //ȡŽ -#define NET_DVR_SET_ACS_CFG 2160 //Ž -#define NET_DVR_GET_CARD_PASSWD_CFG 2161 //ȡ뿪ʹ -#define NET_DVR_SET_CARD_PASSWD_CFG 2162 //ÿ뿪ʹ -#define NET_DVR_GET_CARD_USERINFO_CFG 2163 //ȡŹûϢ -#define NET_DVR_SET_CARD_USERINFO_CFG 2164 //ÿŹûϢ - -#define NET_DVR_GET_ACS_EXTERNAL_DEV_CFG 2165 //ȡŽ -#define NET_DVR_SET_ACS_EXTERNAL_DEV_CFG 2166 //Ž -#define NET_DVR_GET_PERSONNEL_CHANNEL_CFG 2167 //ȡԱͨ -#define NET_DVR_SET_PERSONNEL_CHANNEL_CFG 2168 //Աͨ -#define NET_DVR_SET_PLATFORM_VERIFY_CFG 2169 //·ƽ̨֤ -#define NET_DVR_GET_PERSON_STATISTICS_CFG 2170 //ȡͳƲ -#define NET_DVR_SET_PERSON_STATISTICS_CFG 2171 //ͳƲ -#define NET_DVR_GET_ACS_SCREEN_DISPLAY_CFG 2172 //ȡĻַʾ -#define NET_DVR_SET_ACS_SCREEN_DISPLAY_CFG 2173 //Ļַʾ -#define NET_DVR_GET_GATE_TIME_CFG 2174 //ȡԱͨբʱ -#define NET_DVR_SET_GATE_TIME_CFG 2175 //Աͨբʱ -#define NET_DVR_GET_LOCAL_CONTROLLER_STATUS 2176 //ȡ͵ؿ״̬ -#define NET_DVR_GET_ONLINE_LOCAL_CONTROLLER 2177 //߾͵ؿ -#define NET_DVR_GET_CARD_CFG_V50 2178 //ȡ¿(V50) -#define NET_DVR_SET_CARD_CFG_V50 2179 //¿(V50) -#define NET_DVR_GET_ACS_WORK_STATUS_V50 2180 //ȡŽ״̬(V50) -#define NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V50 2181 //ȡ¼ò(V50) -#define NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V50 2182 //¼ò(V50) -#define NET_DVR_GET_FINGERPRINT_CFG_V50 2183 //ȡָƲV50 -#define NET_DVR_SET_FINGERPRINT_CFG_V50 2184 //ָƲV50 - -#define NET_DVR_GET_SAFETYCABIN_STATE 2197 //ȡ״̬ -#define NET_DVR_GET_RS485_CASCADE_CFG 2198 //ȡRs485豸 -#define NET_DVR_SET_RS485_CASCADE_CFG 2199 //Rs485豸 - -/*************************************Ƶ2.0 begin*************************************/ -#define NET_DVR_GET_REMOTECONTROLLER_PERMISION_CFG 2200 //ȡңȨ޲ -#define NET_DVR_SET_REMOTECONTROLLER_PERMISION_CFG 2201 //ңȨ޲ -#define NET_DVR_GET_KEYBOARD_CFG 2202 //ȡ̲ -#define NET_DVR_SET_KEYBOARD_CFG 2203 //ü̲ -#define NET_DVR_GET_ALARMHOST_WIRELESS_BUSINNESS_INFO 2204 //ҵѯ -#define NET_DVR_GET_ALL_REMOTECONTROLLER_LIST 2205 //ȡң -#define NET_DVR_GET_PREVIEW_DELAY_CFG 2206 //ȡӳԤ -#define NET_DVR_SET_PREVIEW_DELAY_CFG 2207 //ӳԤ -#define NET_DVR_GET_ZONE_CHANNEL_LINKAGE_CFG 2208 //ȡƵͨ -#define NET_DVR_SET_ZONE_CHANNEL_LINKAGE_CFG 2209 //÷Ƶͨ -#define NET_DVR_GET_CENTER_SERVER_CFG 2210 //ȡķ -#define NET_DVR_SET_CENTER_SERVER_CFG 2211 //ñķ -/*************************************Ƶ2.0 end**************************************/ - -/********************************һʽƷV1.0.0 begin********************************/ -#define NET_DVR_GET_EMERGENCE_ALARM_PRODUCT_CAP 2212 //ȡһʽƷ -#define NET_DVR_GET_CALL_WAITTING_CFG_CAP 2213 //ȡеȴ -#define NET_DVR_GET_CALL_WAITTING_CFG 2214 //ȡеȴ -#define NET_DVR_SET_CALL_WAITTING_CFG 2215 //úеȴ -#define NET_DVR_GET_ALARM_LAMP_CFG_CAP 2216 //ȡƲ -#define NET_DVR_GET_ALARM_LAMP_CFG 2217 //ȡƲ -#define NET_DVR_SET_ALARM_LAMP_CFG 2218 //þƲ -#define NET_DVR_GET_VOICE_PROMPTION_CFG_CAP 2219 //ȡʾ -#define NET_DVR_GET_VOICE_PROMPTION_CFG 2220 //ȡʾ -#define NET_DVR_SET_VOICE_PROMPTION_CFG 2221 //ʾ -#define NET_DVR_GET_EMERGENCE_ALARM_RESPONSE_CAP 2222 //ȡ -#define NET_DVR_EMERGENCE_ALARM_RESPONSE_CTRL 2223 // -/********************************һʽƷV1.0.0 end**********************************/ - -//籨 V2.2 -#define NET_DVR_GET_ALARMHOST_NETCFG_V50 2224 //ȡV50 -#define NET_DVR_SET_ALARMHOST_NETCFG_V50 2225 //ñV50 -#define NET_DVR_REGISTER_ALARM_RS485 2226 //RS485ע -/**********************************V3.0****************************************/ - -#define NET_DVR_GET_ALARMIN_PARAM_LIST 2227 //ȡб -//߱1.0.0 -#define NET_DVR_GET_ALARMHOST_OTHER_STATUS_V50 2228 //ȡ״̬v50 -#define NET_DVR_GET_ALARMHOST_OTHER_STATUS_V51 2236 //ȡ״̬V51 -#define NET_DVR_GET_ALARMIN_ASSOCIATED_CHAN_LIST 2229 //ȡƵͨб -#define NET_DVR_GET_ALARMIN_TRIGGER 2230 //ȡ -#define NET_DVR_SET_ALARMIN_TRIGGER 2231 //ñ -#define NET_DVR_GET_EMERGENCY_CALL_HELP_TRIGGER 2232 //ȡ -#define NET_DVR_SET_EMERGENCY_CALL_HELP_TRIGGER 2233 //ñ -#define NET_DVR_GET_CONSULT_TRIGGER 2234 //ȡҵѯ -#define NET_DVR_SET_CONSULT_TRIGGER 2235 //ñҵѯ -#define NET_DVR_GET_ALARMIN_PARAM_LIST_V50 2237 //ȡбV50 - -#define NET_DVR_GET_CARD_RIGHT_WEEK_PLAN_V50 2304 //ȡȨܼƻV50 -#define NET_DVR_SET_CARD_RIGHT_WEEK_PLAN_V50 2305 //ÿȨܼƻV50 - -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_PLAN_V50 2310 //ȡȨ޼ռƻV50 -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_PLAN_V50 2311 //ÿȨ޼ռƻV50 - -#define NET_DVR_GET_CARD_RIGHT_HOLIDAY_GROUP_V50 2316 //Ȩ޼V50 -#define NET_DVR_SET_CARD_RIGHT_HOLIDAY_GROUP_V50 2317 //ÿȨ޼V50 - -#define NET_DVR_GET_CARD_RIGHT_PLAN_TEMPLATE_V50 2322 //ȡȨ޼ƻģV50 -#define NET_DVR_SET_CARD_RIGHT_PLAN_TEMPLATE_V50 2323//ÿȨ޼ƻģV50 - -/**********************************ָŽƷV1.0 豸****************************************/ -#define NET_DVR_GET_SCHEDULE_INFO 2500 //ȡŰϢ -#define NET_DVR_GET_ATTENDANCE_SUMMARY_INFO 2501 //ȡڻϢ -#define NET_DVR_GET_ATTENDANCE_RECORD_INFO 2502 //ȡڼ¼Ϣ -#define NET_DVR_GET_ABNORMAL_INFO 2503 //ȡ쳣ͳϢ -/**********************************ָŽƷV1.0****************************************/ - -/*************************************ƵŽһ1.0 begin**************************************/ -#define NET_DVR_CAPTURE_FINGERPRINT_INFO 2504 //ɼָϢ -/*************************************ƵŽһ1.0 end**************************************/ - -/*************************************Ƕʽն1.0 begin**************************************/ -#define NET_DVR_BULK_UPLOAD_BLOCKLIST_PICTURE 2520 //ϴֹͼƬ -#define NET_DVR_BULK_UPLOAD_ID_BLOCKLIST 2521 //ϴֹ֤ -#define NET_DVR_GET_FAILED_FACE_INFO 2522 //ȡ豸ģʧܵ¼ -#define NET_DVR_GET_FACE_AND_TEMPLATE 2523 //ȡģ -#define NET_DVR_SET_FACE_AND_TEMPLATE 2524 //ģ -/*************************************Ƕʽն1.0 end**************************************/ - -/*************************************ʶŽһ1.0 begin**************************************/ -#define NET_DVR_GET_CARD_READER_CFG_V50 2505 //ȡ(V50) -#define NET_DVR_SET_CARD_READER_CFG_V50 2506 //ö(V50) -#define NET_DVR_GET_FACE_PARAM_CFG 2507 //ȡ -#define NET_DVR_SET_FACE_PARAM_CFG 2508 // -#define NET_DVR_DEL_FACE_PARAM_CFG 2509 //ɾ -#define NET_DVR_CAPTURE_FACE_INFO 2510 //ɼϢ -/*************************************ʶŽһ1.0 end**************************************/ -#define NET_DVR_GET_REGISTER_INFO 2511 //ǼϢȡ - -#define NET_DVR_GET_SMSRELATIVEPARA_V50 2512 //ȡز -#define NET_DVR_SET_SMSRELATIVEPARA_V50 2513 //öز -#define NET_DVR_GET_ACS_EVENT 2514 //豸¼ȡ -#define NET_DVR_GET_MULTI_CARD_CFG_V50 2515 //ȡؿV50 -#define NET_DVR_SET_MULTI_CARD_CFG_V50 2516 //öؿV50 -#define NET_DVR_DEL_FINGERPRINT_CFG_V50 2517 //ɾָƲV50 -#define NET_DVR_GET_EVENT_CARD_LINKAGE_CFG_V51 2518 //ȡ¼ò(V51) -#define NET_DVR_SET_EVENT_CARD_LINKAGE_CFG_V51 2519 //¼ò(V51) - -#define NET_DVR_SET_EXAM_INFO 2530 //Ϣ· -#define NET_DVR_SET_EXAMINEE_INFO 2531 //Ϣ· -#define NET_DVR_SEARCH_EXAM_COMPARE_RESULT 2532 //ԱȶԽѯ -#define NET_DVR_BULK_CHECK_FACE_PICTURE 2533 //УͼƬ -#define NET_DVR_JSON_CONFIG 2550 //JSON͸ -#define NET_DVR_FACE_DATA_RECORD 2551 //ݵ -#define NET_DVR_FACE_DATA_SEARCH 2552 //ѯе -#define NET_DVR_FACE_DATA_MODIFY 2553 //޸е -#define NET_DVR_CAPTURE_DATA_SEARCH 2554 //ѯ߲ɼݼ -#define NET_DVR_SET_FORM_DATA 2555 //ñ -#define NET_DVR_GET_FORM_DATA 2556 //ӻȡ - -#define NET_DVR_GET_CARD 2560 -#define NET_DVR_SET_CARD 2561 -#define NET_DVR_DEL_CARD 2562 -#define NET_DVR_GET_FINGERPRINT 2563 -#define NET_DVR_SET_FINGERPRINT 2564 -#define NET_DVR_DEL_FINGERPRINT 2565 -#define NET_DVR_GET_FACE 2566 -#define NET_DVR_SET_FACE 2567 - -#define NET_DVR_GET_ALL_ALARM_RS485CFG 2705 // ȡ485 -#define NET_DVR_GET_ALL_ALARMHOST_RS485_SLOT_CFG 2706 // ȡб485λ -#define NET_DVR_GET_DEVICE_SELF_CHECK_STATE 2707 //ȡ豸Լ칦 -#define NET_DVR_GET_ALL_ALARM_POINT_CFG 2708 // ȡеŲ -#define NET_DVR_GET_ALL_ALARM_SENSOR_CFG 2709 // ȡģ -#define NET_DVR_GET_ALL_ALARM_SENSOR_JOINT 2710 //ȡģ -#define NET_DVR_GET_AIR_CONDITION_PARAM 2711 //ȡյ -#define NET_DVR_GET_OUT_SCALE_CFG 2712 //ȡ -#define NET_DVR_SET_OUT_SCALE_CFG 2713 // -#define NET_DVR_GET_ALARM_CHAN_ABLITITY 2714 //ȡͨ -/**********************************V3.0****************************************/ - -//D2000 V1.0 -#define NET_DVR_GET_ALARMCENTER_NETCFG 2715 //ȡ -#define NET_DVR_SET_ALARMCENTER_NETCFG 2716 //ȡ - - -#define NET_ITC_GET_TRIGGERCFG 3003 //ȡ -#define NET_ITC_SET_TRIGGERCFG 3004 //ô -#define NET_ITC_GET_IOOUT_PARAM_CFG 3005 //ȡIO3.1֮汾 -#define NET_ITC_SET_IOOUT_PARAM_CFG 3006 //IO3.1֮汾 - -#define NET_DVR_GET_CAMERA_SETUPCFG 3007 //ȡ -#define NET_DVR_SET_CAMERA_SETUPCFG 3008 // - -#define NET_ITC_GET_TRIGGER_DEFAULTCFG 3013 //ȡģʽƼ -#define NET_DVR_GET_STATUS_DETECTCFG 3015 //ȡ״̬ʹܲ -#define NET_DVR_SET_STATUS_DETECTCFG 3016 //״̬ʹܲ -#define NET_ITC_GET_VIDEO_TRIGGERCFG 3017 //ȡƵ羯 -#define NET_ITC_SET_VIDEO_TRIGGERCFG 3018 //Ƶ羯 -#define NET_DVR_GET_TPS_ALARMCFG 3019 //ȡͨͳƱ -#define NET_DVR_SET_TPS_ALARMCFG 3020 //ýͨͳƱ - - -#define NET_DVR_GET_REDAREACFG 3100 //ȡ̵ -#define NET_DVR_SET_REDAREACFG 3101 //ú̵ -#define NET_DVR_GET_TEST_SPOT 3102 //ȡSPOTڲܲ͵ǰڼ -#define NET_DVR_SET_TEST_SPOT 3103 //SPOTڲܲ͵ǰڼ -#define NET_DVR_GET_CABINETCFG 3104 //ûȡ -#define NET_DVR_SET_CABINETCFG 3105 // -#define NET_DVR_VEHICLE_CHECK_START 3106 //ֹݻش -#define NET_DVR_SET_CAPTUREPIC_CFG 3107 //ץͼ -#define NET_DVR_GET_CAPTUREPIC_CFG 3108 //ץͼûȡ -#define NET_DVR_SET_MOBILEPLATE_RECOG_CFG 3109 //سʶ -#define NET_DVR_GET_MOBILEPLATE_RECOG_CFG 3110 //سʶûȡ -#define NET_DVR_SET_MOBILE_RADAR_CFG 3111 //״ -#define NET_DVR_GET_MOBILE_RADAR_CFG 3112 //״ûȡ -#define NET_DVR_SET_MOBILE_LOCALPLATECHK_CFG 3113 //ؽֹضԱ -#define NET_DVR_GET_MOBILE_LOCALPLATECHK_CFG 3114 //ؽֹضԱûȡ - -#define NET_ITC_GET_ICRCFG 3115 //ȡICRл -#define NET_ITC_SET_ICRCFG 3116 //ICRл -#define NET_ITC_GET_RS485_ACCESSINFO 3117 //ȡRs485豸Ϣ -#define NET_ITC_SET_RS485_ACCESSINFO 3118 //Rs485豸Ϣ -#define NET_ITC_GET_EXCEPTIONCFG 3119 //ȡ쳣 -#define NET_ITC_SET_EXCEPTIONCFG 3120 //쳣 -#define NET_ITC_GET_FTPCFG 3121 //ȡITC FTPò -#define NET_ITC_SET_FTPCFG 3122 //ITC FTPò - -#define NET_DVR_VEHICLE_CONTROL_LIST_START 3123 //óֹϢ -#define NET_DVR_GET_ALL_VEHICLE_CONTROL_LIST 3124 //ȡгֹϢ -#define NET_DVR_VEHICLE_DELINFO_CTRL 3125 //ɾ豸ڽֹݿϢ -#define NET_DVR_GET_ENTRANCE_PARAMCFG 3126 //ȡڿƲ -#define NET_DVR_SET_ENTRANCE_PARAMCFG 3127 //óڿƲ -#define NET_DVR_BARRIERGATE_CTRL 3128 //Զ̿Ƶբ -#define NET_DVR_GATELAMP_CTRL 3129 //ƹ -#define NET_DVR_GET_CURTRIGGERMODE 3130 //ȡ豸ǰģʽ -#define NET_DVR_GET_GPSDATACFG 3131 //ȡGPS -#define NET_DVR_SET_GPSDATACFG 3132 //GPS -#define NET_DVR_VEHICLELIST_CTRL_START 3133 //óֹϢ - -#define NET_DVR_GET_GUARDCFG 3134 //ȡʶƻ -#define NET_DVR_SET_GUARDCFG 3135 //óʶƻ -#define NET_DVR_GET_SNAPINFO_CFG 3136 //ȡץͼƬ -#define NET_DVR_SET_SNAPINFO_CFG 3137 //ץͼƬ -#define NET_DVR_GET_SNAPINFO_CFG_V40 3138 //ȡץͼƬչ -#define NET_DVR_SET_SNAPINFO_CFG_V40 3139 //ץͼƬչ -#define NET_DVR_SET_CURTRIGGERMODE 3140 //豸ǰģʽ(IPC/D֧) -#define NET_DVR_GET_TRAFFIC_DATA 3141 //ӻȡͨ -#define NET_DVR_GET_TRAFFIC_FLOW 3142 //ӻȡͨ -#define NET_DVR_PARKING_VEHICLE_SEND 3143 //ͣϢ· -#define NET_DVR_PARKING_CARD_SEND 3144 //ͣ· -#define NET_DVR_PARKING_CARD_CTRL 3145 //ͣͣƽӿ - -#define NET_DVR_GET_ALARMCTRL_CAPABILITIES 3146 //ȡ -#define NET_DVR_SET_ALARMCTRL_CFG 3147 //ñ -#define NET_DVR_GET_ALARMCTRL_CFG 3148 //ȡ - -#define NET_DVR_GET_AUDIO_INPUT 3201 //ȡƵ -#define NET_DVR_SET_AUDIO_INPUT 3202 //Ƶ -#define NET_DVR_GET_CAMERA_DEHAZE_CFG 3203 //ȡ͸ -#define NET_DVR_SET_CAMERA_DEHAZE_CFG 3204 //͸ -#define NET_DVR_REMOTECONTROL_ALARM 3205 //Զ̿ң -#define NET_DVR_REMOTECONTROL_DISALARM 3206 //Զ̿ң -#define NET_DVR_REMOTECONTROL_STUDY 3207 //Զ̿ңѧϰ -#define NET_DVR_WIRELESS_ALARM_STUDY 3208 //Զ̿߱ѧϰ -#define NET_IPC_GET_AUX_ALARMCFG 3209 //ȡ -#define NET_IPC_SET_AUX_ALARMCFG 3210 //ø -#define NET_DVR_GET_PREVIEW_DISPLAYCFG 3211 //ȡԤʾ -#define NET_DVR_SET_PREVIEW_DISPLAYCFG 3212 //Ԥʾ -#define NET_DVR_REMOTECONTROL_PTZ 3213 //Զ̿PTZ -#define NET_DVR_REMOTECONTROL_PRESETPOINT 3214 //Զ̿Ԥõ -#define NET_DVR_REMOTECONTROL_CRUISE 3215 //Զ̿Ѳ - -#define NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG 3216 //Զ̻ȡѹ -#define NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG 3217 //Զöѹ - -#define NET_DVR_GET_WPSCFG 3218 //ȡWPS -#define NET_DVR_SET_WPSCFG 3219 //WPS -#define NET_DVR_WPS_CONNECT 3220 //ԶWPS -#define NET_DVR_GET_DEVICE_PIN 3221 //ȡ豸PIN -#define NET_DVR_UPDATE_PIN 3223 //豸PIN -#define NET_DVR_GET_PRESETCFG 3224 //ȡԤõ -#define NET_DVR_GET_PTZCRUISECFG 3225 //ȡѲ· -#define NET_DVR_GET_PRESET_NUM 3226 //ȡԤõ -#define NET_DVR_GET_PTZCRUISE_NUM 3227 //ȡѲ· - -#define NET_DVR_GET_MOTION_TRACK_CFG 3228 //ȡٲ -#define NET_DVR_SET_MOTION_TRACK_CFG 3229 //øٲ -#define NET_DVR_CLEAR_IPC_PARAM 3230 //ǰ˲ -#define NET_DVR_GET_IPADDR_FILTERCFG 3232 //ȡIPַ˲ -#define NET_DVR_SET_IPADDR_FILTERCFG 3233 //IPַ˲ - -#define NET_DVR_GET_LOGO_OVERLAYCFG 3234 //ȡLOGOͼƬӲ -#define NET_DVR_SET_LOGO_OVERLAYCFG 3235 //LOGOͼƬӲ - -#define NET_DVR_GET_IPV6_LIST 3236 //ȡȫIPV6ַϢ -#define NET_DVR_GET_AUDIOOUT_VOLUME 3237 //ȡƵС -#define NET_DVR_SET_AUDIOOUT_VOLUME 3238 //ƵС -#define NET_DVR_GET_FUZZY_UPGRADE 3239 //ȡģƥϢ - -#define NET_DVR_GET_BV_CORRECT_PARAM 3240 //ȡУ -#define NET_DVR_SET_BV_CORRECT_PARAM 3241 //У -#define NET_DVR_GET_OUTPUT_VIDEO_TYPE 3242 //ȡƵ -#define NET_DVR_SET_OUTPUT_VIDEO_TYPE 3243 //Ƶ - -#define NET_DVR_FISHEYE_CFG 3244 //۳ -#define NET_DVR_GET_PTZ_POINT 3245 //ȡPTZ -#define NET_DVR_SET_PTZ_POINT 3246 //PTZ -#define NET_DVR_REMOTECONTROL_DEV_PARAM 3247 //豸¼ͻ˲ -#define NET_DVR_GET_FISHEYE_STREAM_STATUS 3248 //ȡ״̬ - -#define NET_DVR_GET_GBT28181_ACCESS_CFG 3249 //ȡGBT28181Э -#define NET_DVR_SET_GBT28181_ACCESS_CFG 3250 //GBT28181Э -#define NET_DVR_GET_GBT28181_CHANINFO_CFG 3251 //ȡGBT28181Э豸ͨϢ -#define NET_DVR_SET_GBT28181_CHANINFO_CFG 3252 //GBT28181Э豸ͨϢ -#define NET_DVR_GET_GBT28181_ALARMINCFG 3253 //ȡGBT28181Э豸ıϢ -#define NET_DVR_SET_GBT28181_ALARMINCFG 3254 //GBT28181Э豸ıϢ -#define NET_DVR_GET_ISP_CAMERAPARAMCFG 3255 //ȡISPǰ˲ -#define NET_DVR_SET_ISP_CAMERAPARAMCFG 3256 //ISPǰ˲ -#define NET_DVR_GET_DEVSERVER_CFG 3257 //ȡģ -#define NET_DVR_SET_DEVSERVER_CFG 3258 //ģ - -//2013-11-25 -#define NET_DVR_GET_WIPERINFO_CFG 3259 //ˢûȡ -#define NET_DVR_SET_WIPERINFO_CFG 3260 //ˢ -#define NET_DVR_GET_TRACK_DEV_PARAM 3261 //ȡ豸 -#define NET_DVR_SET_TRACK_DEV_PARAM 3262 //ø豸 -#define NET_DVR_GET_PTZ_TRACK_PARAM 3263 //ȡPTZٲ -#define NET_DVR_SET_PTZ_TRACK_PARAM 3264 //PTZٲ -#define NET_DVR_GET_CENTER_POINT_CFG 3265 //ȡĵ -#define NET_DVR_SET_CENTER_POINT_CFG 3266 //ĵ -#define NET_DVR_GET_CENTER_POINT_CFG_CAPABILITIES 3267 //ȡĵ -#define NET_DVR_GET_FISHEYE_CAPABILITIES 3268 //ȡ - -#define NET_DVR_GET_BASICPARAMCFG 3270 //ȡPTZûϢ -#define NET_DVR_SET_BASICPARAMCFG 3271 //PTZûϢ -#define NET_DVR_GET_PTZOSDCFG 3272 //ȡPTZ OSDòϢ -#define NET_DVR_SET_PTZOSDCFG 3273 //PTZ OSDòϢ -#define NET_DVR_GET_POWEROFFMEMCFG 3274 //ȡģʽϢ -#define NET_DVR_SET_POWEROFFMEMCFG 3275 //õģʽϢ -#define NET_DVR_GET_LIMITCFG 3276 //ȡλϢ -#define NET_DVR_SET_LIMITCFG 3277 //λϢ -#define NET_DVR_PTZLIMIT_CTRL 3278 //λ - -#define NET_DVR_PTZ_CLEARCTRL 3279 //Ϣƽӿ -#define NET_DVR_GET_PRIORITIZECFG 3281 //ȡ̨Ϣ -#define NET_DVR_SET_PRIORITIZECFG 3282 //̨Ϣ -#define NET_DVR_PTZ_INITIALPOSITIONCTRL 3283 //㷽λǿ -#define NET_DVR_GET_PRIVACY_MASKSCFG 3285 //ȡ˽ڱβ -#define NET_DVR_SET_PRIVACY_MASKSCFG 3286 //˽ڱβ -#define NET_DVR_GET_PTZLOCKCFG 3287 //ȡ̨Ϣ -#define NET_DVR_SET_PTZLOCKCFG 3288 //̨Ϣ -#define NET_DVR_PTZ_ZOOMRATIOCTRL 3289 //øٱ -#define NET_DVR_GET_PTZLOCKINFO 3290 //ȡ̨ʣ -#define NET_DVR_GET_PRIVACY_MASKS_ENABLECFG 3291 //ȡȫʹ -#define NET_DVR_SET_PRIVACY_MASKS_ENABLECFG 3292 //ȫʹ -#define NET_DVR_GET_SMARTTRACKCFG 3293 //ȡ˶Ϣ -#define NET_DVR_SET_SMARTTRACKCFG 3294 //˶Ϣ -#define NET_DVR_GET_EPTZ_CFG 3295 //ȡEPTZ -#define NET_DVR_SET_EPTZ_CFG 3296 //EPTZ -#define NET_DVR_GET_EPTZ_CFG_CAPABILITIES 3297 //ȡEPTZ - -#define NET_DVR_GET_LOW_LIGHTCFG 3303//ȡնϢ -#define NET_DVR_SET_LOW_LIGHTCFG 3304//ÿնϢ -#define NET_DVR_GET_FOCUSMODECFG 3305//ȡ۽ģʽϢ -#define NET_DVR_SET_FOCUSMODECFG 3306//ÿ۽ģʽϢ -#define NET_DVR_GET_INFRARECFG 3307//ȡϢ -#define NET_DVR_SET_INFRARECFG 3308//ÿϢ -#define NET_DVR_GET_AEMODECFG 3309//ȡϢ -#define NET_DVR_SET_AEMODECFG 3310//ÿϢ -#define NET_DVR_CONTROL_RESTORE_SUPPORT 3311 //ָǰĬϲ(еǰ˲صĶָ) -#define NET_DVR_CONTROL_RESTART_SUPPORT 3312 //о -#define NET_DVR_CONTROL_PTZ_PATTERN 3313//̨ɨ -#define NET_DVR_GET_PTZ_PARKACTION_CFG 3314//ȡ̨ -#define NET_DVR_SET_PTZ_PARKACTION_CFG 3315//̨ -#define NET_DVR_CONTROL_PTZ_MANUALTRACE 3316//ֶٶλ -#define NET_DVR_GET_ROI_DETECT_NUM 3349 //ȡROIĿ -#define NET_DVR_GET_ROI_DETECT 3350 //ȡROI -#define NET_DVR_SET_ROI_DETECT 3351 //ROI -#define NET_DVR_GET_FACE_DETECT 3352 //ȡ -#define NET_DVR_SET_FACE_DETECT 3353 // -#define NET_DVR_GET_CORRIDOR_MODE 3354 //ȡģʽ -#define NET_DVR_SET_CORRIDOR_MODE 3355 //ģʽ -#define NET_DVR_GET_SCENECHANGE_DETECTIONCFG 3356 //ȡ -#define NET_DVR_SET_SCENECHANGE_DETECTIONCFG 3357 //ó -#define NET_DVR_GET_TRAVERSE_PLANE_DETECTION 3360 -#define NET_DVR_SET_TRAVERSE_PLANE_DETECTION 3361 -#define NET_DVR_GET_FIELD_DETECTION 3362 //ȡ -#define NET_DVR_SET_FIELD_DETECTION 3363 // -#define NET_DVR_GET_DEFOCUSPARAM 3364 //ȡ齹 -#define NET_DVR_SET_DEFOCUSPARAM 3365 //齹 -#define NET_DVR_GET_AUDIOEXCEPTIONPARAM 3366 //ȡƵ쳣 -#define NET_DVR_SET_AUDIOEXCEPTIONPARAM 3367 //Ƶ쳣 -#define NET_DVR_GET_CCDPARAMCFG_EX 3368 //ȡCCD -#define NET_DVR_SET_CCDPARAMCFG_EX 3369 //CCD -#define NET_DVR_START_GET_INPUTVOLUME 3370//ʼȡ -#define NET_DVR_SET_SCH_TASK 3380 //ʱ -#define NET_DVR_GET_SCH_TASK 3381 //ȡʱ -#define NET_DVR_SET_PRESET_NAME 3382 //Ԥõ -#define NET_DVR_GET_PRESET_NAME 3383 //ȡԤõ -#define NET_DVR_SET_AUDIO_NAME 3384 // -#define NET_DVR_GET_AUDIO_NAME 3385 //ȡ -#define NET_DVR_RESUME_INITRACKPOS 3386 //ָٳʼλ -#define NET_DVR_NTP_SERVER_TEST 3387 //NTP -#define NET_DVR_NAS_SERVER_TEST 3388 //NAS -#define NET_DVR_EMAIL_SERVER_TEST 3389 //Email -#define NET_DVR_FTP_SERVER_TEST 3390 //FTP -#define NET_DVR_IP_TEST 3391 //IP -#define NET_DVR_GET_NET_DISKCFG_V40 3392 //Ӳ̽ȡv40 -#define NET_DVR_SET_NET_DISKCFG_V40 3393 //Ӳ̽v40 -#define NET_DVR_GET_IOOUT_CFG 3394//ȡƲ -#define NET_DVR_SET_IOOUT_CFG 3395//òƲ -#define NET_DVR_GET_SIGNAL_SYNC 3396//ȡźŵͬò -#define NET_DVR_SET_SIGNAL_SYNC 3397//źŵͬò - -#define NET_DVR_GET_EZVIZ_ACCESS_CFG 3398//ȡEZVIZ -#define NET_DVR_SET_EZVIZ_ACCESS_CFG 3399//EZVIZ -#define NET_DVR_GET_SCHEDULE_AUTO_TRACK_CFG 3400//ȡʱܸٲ -#define NET_DVR_SET_SCHEDULE_AUTO_TRACK_CFG 3401//öʱܸٲ -#define NET_DVR_MAKE_I_FRAME 3402//ǿI֡ -#define NET_DVR_GET_ALARM_RELATE 3403//ȡͨܲ -#define NET_DVR_SET_ALARM_RELATE 3404//ñͨܲ -#define NET_DVR_GET_PDC_RULECFG_V42 3405 //ͳƹ(չ) -#define NET_DVR_SET_PDC_RULECFG_V42 3406 //ȡͳƹ(չ) -#define NET_DVR_GET_HEATMAP_CFG 3407 //ȶͼ -#define NET_DVR_SET_HEATMAP_CFG 3408 //ȡȶͼ -#define NET_DVR_REMOTECONTROL_LINEARSCAN 3409 //ұ߽ 2014-03-15 -#define NET_DVR_DPC_CTRL 3410//У -#define NET_DVR_FFC_MANUAL_CTRL 3411//ǾУ(FFC)ֶģʽ -#define NET_DVR_FFC_BACKCOMP_CTRL 3412//ǾУ(FFC) -#define NET_DVR_GET_FOCUSING_POSITION_STATE 3413//ȡ۽λ״̬ -#define NET_DVR_GET_PRIVATE_PROTOCOL_CFG 3414 //ȡ ˽йؼϢϴýӿ -#define NET_DVR_SET_PRIVATE_PROTOCOL_CFG 3415 // ˽йؼϢϴýӿ -#define NET_DVR_COMPLETE_RESTORE_CTRL 3420 //ȫֵָ - -#define NET_DVR_CLOUDSTORAGE_SERVER_TEST 3421 //ƴ洢 -#define NET_DVR_PHONE_NUM_TEST 3422 //绰 -#define NET_DVR_GET_REMOTECONTROL_STATUS 3423 //ȡ߲״̬ -#define NET_DVR_GET_MONITOR_LOCATION_INFO 3424 //ȡϢ -#define NET_DVR_SET_MONITOR_LOCATION_INFO 3425 //üϢ - - -#define NET_DVR_GET_SMART_CAPABILITIES 3500 //ȡSmart -#define NET_DVR_GET_EVENT_TRIGGERS_CAPABILITIES 3501 //ȡ¼ -#define NET_DVR_GET_REGION_ENTRANCE_CAPABILITIES 3502 //ȡ -#define NET_DVR_GET_REGION_ENTR_DETECTION 3503 //ȡ -#define NET_DVR_SET_REGION_ENTR_DETECTION 3504 //ý -#define NET_DVR_GET_REGION_ENTR_REGION 3505 //ȡĵ -#define NET_DVR_SET_REGION_ENTR_REGION 3506 //ýĵ -#define NET_DVR_GET_REGION_ENTR_TRIGGER 3507 //ȡ -#define NET_DVR_SET_REGION_ENTR_TRIGGER 3508 //ý -#define NET_DVR_GET_REGION_ENTR_SCHEDULE 3509 //ȡ򲼷ʱ -#define NET_DVR_SET_REGION_ENTR_SCHEDULE 3510 //ý򲼷ʱ -#define NET_DVR_GET_REGION_EXITINT_CAPABILITIES 3511 //ȡ뿪 -#define NET_DVR_GET_REGION_EXITING_DETECTION 3512 //ȡ뿪 -#define NET_DVR_SET_REGION_EXITING_DETECTION 3513 //뿪 -#define NET_DVR_GET_REGION_EXITING_REGION 3514 //ȡ뿪ĵ -#define NET_DVR_SET_REGION_EXITING_REGION 3515 //뿪ĵ -#define NET_DVR_GET_REGION_EXIT_TRIGGER 3516 //ȡ뿪 -#define NET_DVR_SET_REGION_EXIT_TRIGGER 3517 //뿪 -#define NET_DVR_GET_REGION_EXIT_SCHEDULE 3518 //ȡ뿪򲼷ʱ -#define NET_DVR_SET_REGION_EXIT_SCHEDULE 3519 //뿪򲼷ʱ -#define NET_DVR_GET_LOITERING_CAPABILITIES 3520 //ȡǻ -#define NET_DVR_GET_LOITERING_DETECTION 3521 //ȡǻ -#define NET_DVR_SET_LOITERING_DETECTION 3522 //ǻ -#define NET_DVR_GET_LOITERING_REGION 3523 //ȡǻĵ -#define NET_DVR_SET_LOITERING_REGION 3524 //ǻĵ -#define NET_DVR_GET_LOITERING_TRIGGER 3525 //ȡǻ -#define NET_DVR_SET_LOITERING_TRIGGER 3526 //ǻ -#define NET_DVR_GET_LOITERING_SCHEDULE 3527 //ȡǻʱ -#define NET_DVR_SET_LOITERING_SCHEDULE 3528 //ǻʱ -#define NET_DVR_GET_GROUPDETECTION_CAPABILITIES 3529 //ȡԱۼ -#define NET_DVR_GET_GROUP_DETECTION 3530 //ȡԱۼ -#define NET_DVR_SET_GROUP_DETECTION 3531 //Աۼ -#define NET_DVR_GET_GROUPDETECTION_REGION 3532 //ȡԱۼĵ -#define NET_DVR_SET_GROUPDETECTION_REGION 3533 //Աۼĵ -#define NET_DVR_GET_GROUPDETECTION_TRIGGER 3534 //ȡԱۼ -#define NET_DVR_SET_GROUPDETECTION_TRIGGER 3535 //Աۼ -#define NET_DVR_GET_GROUPDETECTION_SCHEDULE 3536 //ȡԱۼʱ -#define NET_DVR_SET_GROUPDETECTION_SCHEDULE 3537 //Աۼʱ -#define NET_DVR_GET_RAPIDMOVE_CAPABILITIES 3538 //ȡ˶ -#define NET_DVR_GET_RAPIDMOVE_DETECTION 3539 //ȡ˶ -#define NET_DVR_SET_RAPIDMOVE_DETECTION 3540 //ÿ˶ -#define NET_DVR_GET_RAPIDMOVE_REGION 3541 //ȡ˶ĵ -#define NET_DVR_SET_RAPIDMOVE_REGION 3542 //ÿ˶ĵ -#define NET_DVR_GET_RAPIDMOVE_TRIGGER 3543 //ȡ˶ -#define NET_DVR_SET_RAPIDMOVE_TRIGGER 3544 //ÿ˶ -#define NET_DVR_GET_RAPIDMOVE_SCHEDULE 3545 //ȡ˶IJʱ -#define NET_DVR_SET_RAPIDMOVE_SCHEDULE 3546 //ÿ˶IJʱ -#define NET_DVR_GET_PATKING_CAPABILITIES 3547 //ȡͣ -#define NET_DVR_GET_PARKING_DETECTION 3548 //ȡͣ -#define NET_DVR_SET_PARKING_DETECTION 3549 //ͣ -#define NET_DVR_GET_PARKING_REGION 3550 //ȡͣĵ -#define NET_DVR_SET_PARKING_REGION 3551 //ͣĵ -#define NET_DVR_GET_PARKING_TRIGGER 3552 //ȡͣ -#define NET_DVR_SET_PARKING_TRIGGER 3553 //ͣ -#define NET_DVR_GET_PARKING_SCHEDULE 3554 //ȡͣIJʱ -#define NET_DVR_SET_PARKING_SCHEDULE 3555 //ͣIJʱ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_CAPABILITIES 3556 //ȡƷ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_DETECTION 3557 //ȡƷ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_DETECTION 3558 //Ʒ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_REGION 3559 //ȡƷĵ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_REGION 3560 //Ʒĵ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_TRIGGER 3561 //ȡƷ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_TRIGGER 3562 //Ʒ -#define NET_DVR_GET_UNATTENDED_BAGGAGE_SCHEDULE 3563 //ȡƷIJʱ -#define NET_DVR_SET_UNATTENDED_BAGGAGE_SCHEDULE 3564 //ƷIJʱ -#define NET_DVR_GET_ATTENDEDBAGGAGE_CAPABILITIES 3565 //ȡƷȡ -#define NET_DVR_GET_ATTENDEDBAGGAGE_DETECTION 3566 //ȡƷȡ -#define NET_DVR_SET_ATTENDEDBAGGAGE_DETECTION 3567 //Ʒȡ -#define NET_DVR_GET_ATTENDEDBAGGAGE_REGION 3568 //ȡƷȡĵ -#define NET_DVR_SET_ATTENDEDBAGGAGE_REGION 3569 //Ʒȡĵ -#define NET_DVR_GET_ATTENDEDBAGGAGE_TRIGGER 3570 //ȡƷȡ -#define NET_DVR_SET_ATTENDEDBAGGAGE_TRIGGER 3571 //Ʒȡ -#define NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE 3572 //ȡƷIJʱ -#define NET_DVR_SET_ATTENDEDBAGGAGE_SCHEDULE 3573 //ƷȡIJʱ -#define NET_DVR_GET_REGIONCLIP_CAPABILITIES 3574 //ȡü -#define NET_DVR_GET_REGION_CLIP 3575 //ȡü -#define NET_DVR_SET_REGION_CLIP 3576 //ü -#define NET_DVR_GET_NETWORK_CAPABILITIES 3577 //ȡ -#define NET_DVR_GET_WIRELESS_DIAL 3578 //ȡ߲ -#define NET_DVR_SET_WIRELESS_DIAL 3579 //߲ -#define NET_DVR_GET_WIRELESSDIAL_CAPABILITIES 3580 //ȡ߲Ų -#define NET_DVR_GET_WIRELESSDIAL_SCHEDULE 3581 //ȡżƻ -#define NET_DVR_SET_WIRELESSDIAL_SCHEDULE 3582 //òżƻ -#define NET_DVR_GET_WIRELESSDIAL_STATUS 3583 //ȡ״̬ -#define NET_DVR_GET_REGION_ENTRANCE_SCHEDULE_CAPABILITIES 3584 //ȡⲼʱ -#define NET_DVR_GET_REGION_EXITING_SCHEDULE_CAPABILITIES 3585 //ȡ뿪Ⲽʱ -#define NET_DVR_GET_LOITERING_SCHEDULE_CAPABILITIES 3586 //ȡǻⲼʱ -#define NET_DVR_GET_GROUP_SCHEDULE_CAPABILITIES 3587 //ȡԱۼⲼʱ -#define NET_DVR_GET_RAPIDMOVE_SCHEDULE_CAPABILITIES 3588 //ȡ˶Ⲽʱ -#define NET_DVR_GET_PARKING_SCHEDULE_CAPABILITIES 3589 //ȡͣⲼʱ -#define NET_DVR_GET_UNATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES 3590 //ȡƷⲼʱ -#define NET_DVR_GET_ATTENDEDBAGGAGE_SCHEDULE_CAPABILITIES 3591 //ȡƷȡⲼʱ -#define NET_DVR_GET_WIRELESSDIAL_SCHEDULE_CAPABILITIES 3592 //ȡżƻ -#define NET_DVR_WIRELESSDIAL_CONNECT 3593 // - -#define NET_DVR_GET_LITESTORAGE 3594 //ȡ洢 -#define NET_DVR_SET_LITESTORAGE 3595 //洢 -#define NET_DVR_GET_LITESTORAGE_CAPABILITIES 3596 //ȡ洢 - -#define NET_DVR_GET_VEHICLE_CAPABILITIES 3597 //ȡ궨 -#define NET_DVR_GET_VEHICLE_CALIBRATION 3598 //ȡ궨 - -#define NET_DVR_GET_SLAVECAMERA_CAPABILITIES 3599 //ȡIPϢ -#define NET_DVR_GET_SLAVECAMERA 3600 //ȡIPϢ -#define NET_DVR_SET_SLAVECAMERA 3601 //ôIPϢ -#define NET_DVR_GET_SLAVECAMERA_STATUS 3602 //ȡ״̬ -#define NET_DVR_GET_SLAVECAMERA_CALIB_CAPABILITIES 3603 //ȡ&&궨 -#define NET_DVR_GET_SLAVECAMERA_CALIB 3604 //ȡ궨 -#define NET_DVR_SET_SLAVECAMERA_CALIB 3605 //ô궨 -#define NET_DVR_GET_PHY_RATIO 3606 //ȡϢ -#define NET_DVR_SET_PHY_RATIO 3607 //Ϣ -#define NET_DVR_GET_MASTERSLAVETRACKING_CAPABILITIES 3608 //ȡӸ -#define NET_DVR_SET_TRACKINGRATIO 3610 //ôٱ -#define NET_DVR_GET_TRACKING 3611 //ȡӸٹ -#define NET_DVR_SET_TRACKING 3612 //Ӹٹ -#define NET_DVR_GET_TRACKING_CAPABILITIES 3613 //ȡӸٹ - -#define NET_DVR_GET_SLAVECAMERA_CALIB_V50 3614 //ȡ궨V50 -#define NET_DVR_SET_SLAVECAMERA_CALIB_V50 3615 //ô궨V50 -#define NET_DVR_SET_TRACKINGRATIO_MANUAL 3616 //ôֶٱ -#define NET_DVR_GET_TRACKINGRATIO_MANUAL 3617 //ȡֶٱ -#define NET_DVR_SET_TRACK_INITPOSTION 3618 //ôʼλ -#define NET_DVR_GET_PTZ_CAPABILITIES 3619 //ȡptz - -#define NET_DVR_GET_THERMOMETRY_BASICPARAM_CAPABILITIES 3620 //ȡ -#define NET_DVR_GET_THERMOMETRY_BASICPARAM 3621 //ȡò -#define NET_DVR_SET_THERMOMETRY_BASICPARAM 3622 //òò -#define NET_DVR_GET_THERMOMETRY_SCENE_CAPABILITIES 3623 //ȡԤõ -#define NET_DVR_GET_THERMOMETRY_PRESETINFO 3624 //ȡԤõò -#define NET_DVR_SET_THERMOMETRY_PRESETINFO 3625 //òԤõò -#define NET_DVR_GET_THERMOMETRY_ALARMRULE_CAPABILITIES 3626//ȡ±ʽ -#define NET_DVR_GET_THERMOMETRY_ALARMRULE 3627 //ȡԤõ㱨ò -#define NET_DVR_SET_THERMOMETRY_ALARMRULE 3628 //òԤõ㱨ò -#define NET_DVR_GET_REALTIME_THERMOMETRY 3629 //ʵʱ¶ȼ -#define NET_DVR_GET_THERMOMETRY_DIFFCOMPARISON 3630 //ȡԤõ²ò -#define NET_DVR_SET_THERMOMETRY_DIFFCOMPARISON 3631 //òԤõ²ò -#define NET_DVR_GET_THERMOMETRY_TRIGGER 3632 //ȡ -#define NET_DVR_SET_THERMOMETRY_TRIGGER 3633 //ò - -#define NET_DVR_GET_THERMAL_CAPABILITIES 3634 //ȡȳThermal -#define NET_DVR_GET_FIREDETECTION_CAPABILITIES 3635 //ȡ -#define NET_DVR_GET_FIREDETECTION 3636 //ȡ -#define NET_DVR_SET_FIREDETECTION 3637 //û -#define NET_DVR_GET_FIREDETECTION_TRIGGER 3638 //ȡ -#define NET_DVR_SET_FIREDETECTION_TRIGGER 3639 //û - -#define NET_DVR_GET_OIS_CAPABILITIES 3640 //ȡѧ -#define NET_DVR_GET_OIS_CFG 3641 //ȡѧ -#define NET_DVR_SET_OIS_CFG 3642 //ùѧ -#define NET_DVR_GET_MACFILTER_CAPABILITIES 3643 //ȡMACַ -#define NET_DVR_GET_MACFILTER_CFG 3644 //ȡMACַ -#define NET_DVR_SET_MACFILTER_CFG 3645 //MACַ -#define NET_DVR_GET_EAGLEFOCUS_CALCFG_CAPABILITIES 3646 //ӥӾ۽궨 -#define NET_DVR_GET_EAGLEFOCUSING_CALCFG 3647 //ȡӥӾ۽궨 -#define NET_DVR_SET_EAGLEFOCUSING_CALCFG 3648 //ӥӾ۽궨 -#define NET_DVR_GET_EAGLEFOCUSING_CFG_CAPABILITIES 3649 //ȡӥӾ۽ -#define NET_DVR_GET_EAGLEFOCUSING_CTRL 3650 //ȡӥӾ۽ -#define NET_DVR_SET_EAGLEFOCUSING_CTRL 3651 //ӥӾ۽ - -#define NET_DVR_GET_PXOFFLINE_CAPABILITIES 3652 //ȡͣƱѻ² -#define NET_DVR_SET_PXOFFLINE_CFG 3653 //ͣƱѻ²Ϣ -#define NET_DVR_GET_PXOFFLINE_CFG 3654 //ȡͣƱѻ²Ϣ -#define NET_DVR_GET_PAPERCHARGEINFO_CAPABILITIES 3655 //ȡֽͣƱϢ· -#define NET_DVR_SET_PAPERCHARGEINFO 3656 //ֽͣƱϢ· -#define NET_DVR_GET_PARKINGSAPCE_CAPABILITIES 3657 //ȡͣͣλϢ· -#define NET_DVR_SET_PARKINGSAPCE_INFO 3658 //ͣͣλϢ· -#define NET_DVR_GET_PXMULTICTRL_CAPABILITIES 3659 //ȡͣƱ豸ǶȲ -#define NET_DVR_GET_CHARGEACCOUNT_CAPABILITIES 3661 //ȡͣƱ -#define NET_DVR_SET_CHARGE_ACCOUNTINFO 3662 //ýɷѽϢ -#define NET_DVR_SET_PXMULTICTRL_CFG 3663 //ͣƱ豸ǶȲϢ -#define NET_DVR_GET_PXMULTICTRL_CFG 3664 //ȡͣƱ豸ǶȲϢ -#define NET_DVR_GET_TME_CHARGERULE 3665 //ȡͣڳշѹ -#define NET_DVR_SET_TME_CHARGERULE 3666 //ͣڳշѹ -#define NET_DVR_GET_TME_CHARGERULE_CAPABILITIES 3667 //ȡͣ շϢ -#define NET_DVR_GET_ILLEGALCARDFILTERING_CAPABILITIES 3668 //ȡͣƱ -#define NET_DVR_GET_ILLEGALCARDFILTERING_CFG 3669 //ȡͣƱ -#define NET_DVR_SET_ILLEGALCARDFILTERING_CFG 3670 //ͣƱ -#define NET_DVR_GET_LEDDISPLAY_CAPABILITIES 3671 //ȡLEDĻʾò -#define NET_DVR_SET_LEDDISPLAY_CFG 3672 //LEDĻʾ -#define NET_DVR_GET_LEDDISPLAY_CFG 3673 //ȡLEDĻʾ -#define NET_DVR_GET_VOICEBROADCAST_CAPABILITIES 3674 //ȡƲò -#define NET_DVR_SET_VOICEBROADCAST_CFG 3675 //Ʋ -#define NET_DVR_GET_PAPERPRINTFORMAT_CAPABILITIES 3676//ȡֽƱӡʽ -#define NET_DVR_GET_PAPERPRINTFORMAT_CFG 3677 //ȡֽƱӡʽ -#define NET_DVR_SET_PAPERPRINTFORMAT_CFG 3678 //ֽƱӡʽ -#define NET_DVR_GET_LOCkGATE_CAPABILITIES 3679 //ȡբ -#define NET_DVR_GET_LOCKGATE_CFG 3680 //ȡբ -#define NET_DVR_SET_LOCKGATE_CFG 3681 //բ -#define NET_DVR_GET_PARKING_DATASTATE 3682 //ȡͬ״̬ -#define NET_DVR_SET_PARKING_DATASTATE 3683 //ͬ״̬ -#define NET_DVR_GET_TME_CAPABILITIES 3684 //ȡͣ豸 - -#define NET_DVR_GET_TMEVOICE_CAPABILITIES 3686 //ȡϢ -#define NET_DVR_SET_TMEVOICE_CFG 3687 // -#define NET_DVR_GET_TMEVOICE_CFG 3688 //ȡ -#define NET_DVR_DEL_TMEVOICE_CFG 3689 //ɾ -#define NET_DVR_GET_POSITION 3698 // ȡλò -#define NET_DVR_SET_POSITION 3699 // ÷λò -#define NET_DVR_GET_CENTRALIZEDCTRL_CAPABILITIES 3700//ȡв -#define NET_DVR_GET_CENTRALIZEDCTRL 3701//ȡвز -#define NET_DVR_SET_CENTRALIZEDCTRL 3702//üвز -#define NET_DVR_GET_COMPASS_CAPABILITIES 3703//ȡ -#define NET_DVR_GET_VANDALPROOFALARM 3704//ȡƻ -#define NET_DVR_SET_VANDALPROOFALARM 3705//÷ƻ -#define NET_DVR_COMPASS_CALIBRATE_CTRL 3706//̽ƽӿ -#define NET_DVR_COMPASS_NORTH_CTRL 3707//ָƽӿ -#define NET_DVR_GET_AZIMUTHINFO 3708//ȡλǶȲ - - -#define NET_DVR_GET_SATELLITETIME 3709//ȡǶλ -#define NET_DVR_SET_SATELLITETIME 3710//Ƕλ -#define NET_DVR_GET_GISINFO 3711//ȡǰGISϢ -#define NET_DVR_GET_STREAMING_CAPABILITIES 3712//ȡƵ -#define NET_DVR_GET_REFRESHFRAME_CAPABILITIES 3713//ȡˢ֡ -#define NET_DVR_STREAMING_REFRESH_FRAME 3714//ȡԤǿˢ֡ -#define NET_DVR_FACECAPTURE_STATISTICS 3715//Աͳ -#define NET_DVR_GET_WIRELESSSERVER_CAPABILITIES 3716 //ȡȵ㹦Э -#define NET_DVR_GET_WIRELESSSERVER 3717 //ȡȵ㹦Э -#define NET_DVR_SET_WIRELESSSERVER 3718 //ȵ㹦Э -#define NET_DVR_GET_CONNECT_LIST_CAPABILITIES 3719 //ȡ豸бϢ -#define NET_DVR_GET_THSCREEN_CAPABILITIES 3720 //ȡʪЭ -#define NET_DVR_GET_THSCREEN 3721 //ȡʪЭ -#define NET_DVR_GET_EXTERNALDEVICE_CAPABILITIES 3722//ȡЭ -#define NET_DVR_GET_EXTERNALDEVICE 3723//ȡЭ -#define NET_DVR_SET_EXTERNALDEVICE 3724//Э -#define NET_DVR_GET_LEDDISPLAYINFO_CAPABILITIES 3725 //ȡLEDʾϢ -#define NET_DVR_SET_LEDDISPLAYINFO 3726 //LEDʾϢ -#define NET_DVR_GET_SUPPLEMENTLIGHT_CAPABILITIES 3727 //ȡòЭ (֧֣ʵ֣豸ڲ) -#define NET_DVR_GET_SUPPLEMENTLIGHT 3728 //ȡòЭ -#define NET_DVR_SET_SUPPLEMENTLIGHT 3729 //òЭ -#define NET_DVR_SET_THSCREEN 3730 //ʪЭ -#define NET_DVR_GET_LOWPOWER_CAPABILITIES 3731 //ȡ͹Э -#define NET_DVR_GET_LOWPOWER 3732 //ȡ͹Э -#define NET_DVR_SET_LOWPOWER 3733 //õ͹Э -#define NET_DVR_GET_ZOOMLINKAGE_CAPABILITIES 3734 //ȡ䱶Э -#define NET_DVR_GET_ZOOMLINKAGE 3735 //ȡ䱶Э -#define NET_DVR_SET_ZOOMLINKAGE 3736 //ñ䱶Э -#define NET_DVR_THSCREEN_TIMING 3737 //ʪ -#define NET_DVR_GET_OSD_BATTERY_POWER_CFG 3741 //ȡOSDصʾ -#define NET_DVR_SET_OSD_BATTERY_POWER_CFG 3742 //OSDصʾ -#define NET_DVR_GET_OSD_BATTERY_POWER_CFG_CAPABILITIES 3743//OSDصʾ -#define NET_DVR_GET_VANDALPROOFALARM_TRIGGER 3744 //ȡƻ -#define NET_DVR_SET_VANDALPROOFALARM_TRIGGER 3745 //÷ƻ -#define NET_DVR_GET_PANORAMAIMAGE_CAPABILITIES 3746 //ȡȫͼ -#define NET_DVR_GET_PANORAMAIMAGE 3747 //ȡȫͼЭ -#define NET_DVR_SET_PANORAMAIMAGE 3748 //ȫͼЭ -#define NET_DVR_GET_STREAMENCRYPTION 3749 //ȡ -#define NET_DVR_SET_STREAMENCRYPTION 3750 // -#define NET_DVR_GET_STREAMENCRYPTION_CAPABILITIES 3751 //ȡ -#define NET_DVR_GET_REVISE_GPS_CAPABILITIES 3752 //ȡУ׼GPSγ -#define NET_DVR_GET_REVISE_GPS 3753 //ȡУ׼GPSγ -#define NET_DVR_SET_REVISE_GPS 3754 //У׼GPSγ -#define NET_DVR_GET_PDC_RECOMMEND 3755 //ȡͳƱʾƼֵ -#define NET_DVR_REMOVE_FLASHSTORAGE 3756 // -#define NET_DVR_GET_COUNTING_CAPABILITIES 3757 //ȡͳ -#define NET_DVR_SET_SENSOR_ADJUSTMENT 3758 //Sensor ڲЭ -#define NET_DVR_GET_SENSOR_ADJUSTMENT_CAPABILITIES 3759 //ȡSensor ڲЭ -#define NET_DVR_GET_WIRELESSSERVER_FULLVERSION_CFG 3760 //ȡwifiȵ() -#define NET_DVR_SET_WIRELESSSERVER_FULLVERSION_CFG 3761 //wifiȵ() -#define NET_DVR_GET_ONLINEUSER_INFO 3762 //ӻȡûϢ -#define NET_DVR_GET_SENSOR_ADJUSTMENT_INFO 3763 //ȡָsensorڲ -#define NET_DVR_SENSOR_RESET_CTRL 3764 //Sensor ڸλ - -#define NET_DVR_GET_POSTRADAR_CAPABILITIES 3765 //ȡ״ -#define NET_DVR_GET_POSTRADARSPEED_CFG 3766 //ȡ״ -#define NET_DVR_SET_POSTRADARSPEED_CFG 3767 //״ -#define NET_DVR_GET_POSTRADARSPEED_RECOM_CFG 3768 //ȡ״Ƽֵ -#define NET_DVR_GET_POSTRADARPARAM_CFG 3769 //ȡ״ -#define NET_DVR_SET_POSTRADARPARAM_CFG 3770 //״ -#define NET_DVR_GET_POSTRADARPARAM_RECOM_CFG 3771 //ȡ״Ƽֵ - -#define NET_DVR_GET_ENCRYPT_DEVICE_INFO 3772 //ȡ豸Ϣ -#define NET_DVR_GET_ANR_ARMING_HOST 3773 //ȡϢ -#define NET_DVR_GET_FIRMWARE_VERSION 3776 //GET firmware version -/********************************IPCFF****************************/ -#define NET_DVR_GET_FTP_CAPABILITIES 3782 //ȡftp -#define NET_DVR_GET_FTPUPLOAD_CFG 3783 //ȡftpϴϢ -#define NET_DVR_SET_FTPUPLOAD_CFG 3784 //ftpϴϢ -#define NET_DVR_GET_VEHICLE_INFORMATION 3785 //ȡϢ -#define NET_DVR_GET_DDNS_COUNTRY_ABILITY 3800//ȡ豸ֵ֧DDNSб -#define NET_DVR_GET_DEVICECFG_V50 3801 //ȡ豸 -#define NET_DVR_SET_DEVICECFG_V50 3802 //豸 -#define NET_DVR_SET_VEHICLE_RECOG_TASK_V50 3851 //ʶύV50չ -#define NET_DVR_GET_SMARTCALIBRATION_CAPABILITIES 3900// SmartΪ궨˳ߴ繦 -#define NET_DVR_GET_TEMPERATURE_TRIGGER 3903 //ȡ² -#define NET_DVR_SET_TEMPERATURE_TRIGGER 3904 //ò² - -#define NET_DVR_GET_SMARTCALIBRATION_CFG 3910 //ȡSmartΪ궨˳ߴ繦 -#define NET_DVR_SET_SMARTCALIBRATION_CFG 3911 //SmartΪ궨˳ߴ繦 -#define NET_DVR_POST_SETUP_CALIB 3912 //궨 -#define NET_DVR_SET_POS_INFO_OVERLAY 3913//PosϢӿ -#define NET_DVR_GET_POS_INFO_OVERLAY 3914//ȡPosϢӿ -#define NET_DVR_GET_CAMERA_WORK_MODE 3915 //ģʽ -#define NET_DVR_SET_CAMERA_WORK_MODE 3916 //ȡģʽ -#define NET_DVR_GET_RESOLUTION_SWITCH_CAPABILITIES 3917 //ȡֱģʽл -#define NET_DVR_GET_RESOLUTION_SWITCH 3918 //ȡֱģʽл -#define NET_DVR_SET_RESOLUTION_SWITCH 3919 //÷ֱģʽл -#define NET_DVR_GET_CONFIRM_MECHANISM_CAPABILITIES 3920 //ϴȷϻƿ -#define NET_DVR_CONFIRM_MECHANISM_CTRL 3921 //ϴȷϻƿ -#define NET_DVR_GET_VEHICLLE_RESULT_CAPABILITIES 3951 //ȡȡϢ -#define NET_DVR_GET_CALIB_CAPABILITIES 3952//ȡ궨 -#define NET_DVR_GET_POSINFO_OVERLAY_CAPABILITIES 3953//ȡȡPos -#define NET_SDK_FINDMEDICALFILE 3954 //ӰƼǻҽƲ¼ļ -#define NET_SDK_FINDMEDICALPICTURE 3955 //ӰƼǻҽƲͼƬļ -#define NET_DVR_SET_POSINFO_OVERLAY 3960//Pos -#define NET_DVR_GET_POSINFO_OVERLAY 3961//ȡPos -#define NET_DVR_GET_FACELIB_TRIGGER 3962 //ȡȶԿ -#define NET_DVR_SET_FACELIB_TRIGGER 3963 //ȶԿ -#define NET_DVR_GET_FACECONTRAST_TRIGGER 3965//ȡȶ -#define NET_DVR_SET_FACECONTRAST_TRIGGER 3966//ȶ -#define NET_DVR_GET_FACECONTRAST_SCHEDULE_CAPABILITIES 3967 //ȡȶԲʱ -#define NET_DVR_GET_FACECONTRAST_SCHEDULE 3968//ȡȶԲʱ -#define NET_DVR_SET_FACECONTRAST_SCHEDULE 3969//ȶԲʱ -#define NET_DVR_GET_FACELIB_SCHEDULE_CAPABILITIES 3970 //ȡȶԿIJʱ -#define NET_DVR_GET_VCA_VERSION_LIST 3973//ȡ㷨汾 -#define NET_DVR_GET_SETUP_CALIB 3974//ȡ궨 -#define NET_DVR_GET_PANORAMA_LINKAGE 3975//ȡץͼϴʹ -#define NET_DVR_SET_PANORAMA_LINKAGE 3976//ץͼϴʹ -#define NET_DVR_GET_FACELIB_SCHEDULE 3977 //ȡȶԿIJʱ -#define NET_DVR_SET_FACELIB_SCHEDULE 3978 //ȶԿIJʱ -#define NET_DVR_GET_SOFTWARE_SERVICE_CAPABILITIES 3980//ȡ -#define NET_DVR_GET_SOFTWARE_SERVICE 3981//ȡ -#define NET_DVR_SET_SOFTWARE_SERVICE 3982// -#define NET_DVR_GET_PREVIEW_MODE_CAPABILITIES 3983//ȡԤģʽ -#define NET_DVR_SET_EAGLE_FOCUS_GOTOSCENE 3984//ӥʽ۽תָijID -#define NET_DVR_EAGLE_FOCUS_SCENE_DEL 3985//ɾӥʽ۽궨ij -#define NET_DVR_GET_SAFETY_HELMET_TRIGGER 3986 //ȡȫñ -#define NET_DVR_SET_SAFETY_HELMET_TRIGGER 3987 //ðȫñ -#define NET_DVR_GET_SAFETY_HELMET_SCHEDULE_CAPABILITIES 3988 //ȡȫñⲼʱ -#define NET_DVR_GET_SAFETY_HELMET_SCHEDULE 3989//ȡȫñⲼʱ -#define NET_DVR_SET_SAFETY_HELMET_SCHEDULE 3990//ðȫñⲼʱ - -#define NET_DVR_GET_SIGN_ABNORMAL_TRIGGER 4150 //ȡ쳣 -#define NET_DVR_SET_SIGN_ABNORMAL_TRIGGER 4151 //쳣 - -#define NET_DVR_ONE_KEY_CONFIG_SAN_V50 4152 //һSAN(V50) -#define NET_DVR_GET_HDCFG_V50 4153 //ȡӲϢV50 -#define NET_DVR_SET_HDCFG_V50 4154 //ӲϢV50 -#define NET_DVR_GET_HDVOLUME_CFG 4155 //ȡӲ̾Ϣ -#define NET_DVR_SET_HDVOLUME_CFG 4156 //Ӳ̾Ϣ -#define NET_DVR_GET_POWER_SUPPLY_CABINET_TRIGGER 4157 //ȡ񹩵 -#define NET_DVR_SET_POWER_SUPPLY_CABINET_TRIGGER 4158 //û񹩵 -#define NET_DVR_GET_SENSOR_TRIGGER 4159 //ȡ -#define NET_DVR_SET_SENSOR_TRIGGER 4160 //ô -#define NET_DVR_GET_FACESNAP_TRIGGER 4161 //ȡץ -#define NET_DVR_SET_FACESNAP_TRIGGER 4162 //ץ -#define NET_DVR_GET_FACESNAP_SCHEDULE_CAPABILITIES 4163 //ȡץIJʱ -#define NET_DVR_GET_FACESNAP_SCHEDULE 4164 //ȡץIJʱ -#define NET_DVR_SET_FACESNAP_SCHEDULE 4165 //ץIJʱ - -#define NET_DVR_SET_SCREEN_SWITCH 4171 //л -#define NET_DVR_GET_BV_CALIB_PIC 4172 //ȡ豸ץȡͼƬ͸Ϣ -#define NET_DVR_GET_BV_CALIB_RESULT 4173 //ȡ˫Ŀα궨 -#define NET_DVR_GET_BV_HCORRECTION 4174 //ȡ˫Ŀ߶Ƚ -#define NET_DVR_DEL_BV_CALIB_PIC 4175 //ɾͼƬ -#define NET_DVR_GET_TV_SCREEN_CFG 4176 //ȡͣʱ -#define NET_DVR_SET_TV_SCREEN_CFG 4177 //õͣʱ -#define NET_DVR_ADJUST_BV_CALIB 4178 //˫Ŀ궨΢ -#define NET_DVR_GET_HUMAN_CALIB 4179 //ȡ궨 -#define NET_DVR_SET_HUMAN_CALIB 4180 //궨 -#define NET_DVR_GET_USERCFG_V51 4181 //ȡû -#define NET_DVR_SET_USERCFG_V51 4182 //û -#define NET_DVR_GET_SOFTIO_TRIGGER 4183 //ȡSoftIO -#define NET_DVR_SET_SOFTIO_TRIGGER 4184 //SoftIO -#define NET_DVR_GET_SOFTIO_SCHEDULE_CAPABILITIES 4185 //ȡSoftIOʱ -#define NET_DVR_GET_SOFTIO_SCHEDULE 4186 //ȡSoftIOʱ -#define NET_DVR_SET_SOFTIO_SCHEDULE 4187 //SoftIOʱ -#define NET_DVR_GET_HFPD_TRIGGER 4188 //ȡƵԱ -#define NET_DVR_SET_HFPD_TRIGGER 4189 //øƵԱ -#define NET_DVR_GET_HFPD_SCHEDULE_CAPABILITIES 4190 //ȡƵԱⲼʱ -#define NET_DVR_GET_HFPD_SCHEDULE 4191 //ȡƵԱⲼʱ -#define NET_DVR_SET_HFPD_SCHEDULE 4192 //øƵԱⲼʱ -#define NET_DVR_GET_ALARM_INFO 4193 //ȡ¼Ϣ -#define NET_DVR_GET_USERCFG_V52 4194 //ȡû -#define NET_DVR_SET_USERCFG_V52 4195 //û - -/********************************NVR_˲Ʒ****************************/ -#define NET_DVR_GET_MUTEX_FUNCTION 4353 //ȡܻϢ - -#define NET_DVR_GET_SINGLE_CHANNELINFO 4360 //ȡͨ -#define NET_DVR_GET_CHANNELINFO 4361 //ȡͨ -#define NET_DVR_CHECK_LOGIN_PASSWORDCFG 4362 //û¼У -#define NET_DVR_GET_SINGLE_SECURITY_QUESTION_CFG 4363 //ȡ豸ȫ -#define NET_DVR_SET_SINGLE_SECURITY_QUESTION_CFG 4364 //õ豸ȫ -#define NET_DVR_GET_SECURITY_QUESTION_CFG 4365 //ȡ豸ȫ -#define NET_DVR_SET_SECURITY_QUESTION_CFG 4366 //豸ȫ -#define NET_DVR_GET_ONLINEUSERLIST_SC 4367 //Զ̻ȡ½ûϢӣ - -#define NET_DVR_GET_BLOCKLIST_FACECONTRAST_TRIGGER 4368 //ȡֹȶ -#define NET_DVR_SET_BLOCKLIST_FACECONTRAST_TRIGGER 4369 //ýֹȶ -#define NET_DVR_GET_ALLOWLIST_FACECONTRAST_TRIGGER 4370 //ȡȶ -#define NET_DVR_SET_ALLOWLIST_FACECONTRAST_TRIGGER 4371 //ȶ -#define NET_DVR_GET_BLOCKLIST_FACECONTRAST_SCHEDULE_CAPABILITIES 4372 //ȡֹȶԲʱ -#define NET_DVR_GET_BLOCKLIST_FACECONTRAST_SCHEDULE 4373 //ȡֹȶԲʱ -#define NET_DVR_SET_BLOCKLIST_FACECONTRAST_SCHEDULE 4374 //ýֹȶԲʱ -#define NET_DVR_GET_ALLOWLIST_FACECONTRAST_SCHEDULE_CAPABILITIES 4375 //ȡȶԲʱ -#define NET_DVR_GET_ALLOWLIST_FACECONTRAST_SCHEDULE 4376 //ȡȶԲʱ -#define NET_DVR_SET_ALLOWLIST_FACECONTRAST_SCHEDULE 4377 //ȶԲʱ - -#define NET_DVR_GET_HUMAN_RECOGNITION_SCHEDULE_CAPABILITIES 4378 //ȡʶ𲼷ʱ -#define NET_DVR_GET_HUMAN_RECOGNITION_SCHEDULE 4379 //ȡʶ𲼷ʱ -#define NET_DVR_SET_HUMAN_RECOGNITION_SCHEDULE 4380 //ʶ𲼷ʱ -#define NET_DVR_GET_HUMAN_RECOGNITION_TRIGGER 4381 //ȡʶ -#define NET_DVR_SET_HUMAN_RECOGNITION_TRIGGER 4382 //ʶ -#define NET_DVR_GET_GBT28181_AUDIO_OUTPUT_CFG 4383 //ȡGBT28181Э豸ԽϢ -#define NET_DVR_SET_GBT28181_AUDIO_OUTPUT_CFG 4384 //GBT28181Э豸ԽϢ - -#define NET_DVR_GET_STUDENTS_STOODUP_TRIGGER 4386 //ȡѧ -#define NET_DVR_SET_STUDENTS_STOODUP_TRIGGER 4387 //ѧ -#define NET_DVR_GET_FRAMES_PEOPLE_COUNTING_SCHEDULE_CAPABILITIES 4388 //ȡͳƲʱ -#define NET_DVR_GET_FRAMES_PEOPLE_COUNTING_SCHEDULE 4389 //ȡͳƲʱ -#define NET_DVR_SET_FRAMES_PEOPLE_COUNTING_SCHEDULE 4390 //ͳƲʱ -#define NET_DVR_GET_FRAMES_PEOPLE_COUNTING_TRIGGER 4391 //ȡͳ -#define NET_DVR_SET_FRAMES_PEOPLE_COUNTING_TRIGGER 4392 //ͳ - -#define NET_DVR_GET_PERSONDENSITY_TRIGGER 4393 //ȡԱܶȼ -#define NET_DVR_SET_PERSONDENSITY_TRIGGER 4394 //Աܶȼ -#define NET_DVR_GET_PERSONDENSITY_SCHEDULE_CAPABILITIES 4395 //ȡԱܶȼIJʱ -#define NET_DVR_GET_PERSONDENSITY_SCHEDULE 4396 //ȡԱܶȼIJʱ -#define NET_DVR_SET_PERSONDENSITY_SCHEDULE 4397 //ԱܶȼIJʱ - -#define NET_DVR_GET_STUDENTS_STOODUP_SCHEDULE_CAPABILITIES 4398 //ȡѧⲼʱ -#define NET_DVR_GET_STUDENTS_STOODUP_SCHEDULE 4399 //ȡѧⲼʱ -#define NET_DVR_SET_STUDENTS_STOODUP_SCHEDULE 4400 //ѧⲼʱ - -#define NET_DVR_SET_FACE_THERMOMETRY_TRIGGER 4401 // -#define NET_DVR_GET_FACE_THERMOMETRY_SCHEDULE_CAPABILITIES 4402 //ȡ²ʱ -#define NET_DVR_GET_FACE_THERMOMETRY_SCHEDULE 4403 //ȡ²ʱ -#define NET_DVR_SET_FACE_THERMOMETRY_SCHEDULE 4404 //²ʱ -#define NET_DVR_GET_FACE_THERMOMETRY_TRIGGER 4405 //ȡ -#define NET_DVR_GET_PERSONQUEUE_TRIGGER 4406 //ȡԱŶӼ -#define NET_DVR_SET_PERSONQUEUE_TRIGGER 4407 //ԱŶӼ -#define NET_DVR_GET_PERSONQUEUE_SCHEDULE_CAPABILITIES 4408 //ȡԱŶӼIJʱ -#define NET_DVR_GET_PERSONQUEUE_SCHEDULE 4409 //ȡԱŶӼIJʱ -#define NET_DVR_SET_PERSONQUEUE_SCHEDULE 4410 //ԱŶӼIJʱ -#define NET_DVR_SET_START_VIDEOAUDIO 4411 //NVRƵ(豸Բ⹦) - - -/********************************ʶ****************************/ -#define NET_DVR_GET_FACESNAPCFG 5001 //ȡץIJ -#define NET_DVR_SET_FACESNAPCFG 5002 //ץIJ -#define NET_DVR_GET_DEVACCESS_CFG 5005 //ȡ豸 -#define NET_DVR_SET_DEVACCESS_CFG 5006 //ý豸 -#define NET_DVR_GET_SAVE_PATH_CFG 5007 //ȡ洢Ϣ -#define NET_DVR_SET_SAVE_PATH_CFG 5008 //ô洢Ϣ -#define NET_VCA_GET_RULECFG_V41 5011 //ȡΪ(չ) -#define NET_VCA_SET_RULECFG_V41 5012 //Ϊ(չ) -#define NET_DVR_GET_AID_RULECFG_V41 5013 //ȡͨ¼ -#define NET_DVR_SET_AID_RULECFG_V41 5014 //ýͨ¼ -#define NET_DVR_GET_TPS_RULECFG_V41 5015 //ȡͨͳƹ(չ) -#define NET_DVR_SET_TPS_RULECFG_V41 5016 //ýͨͳƹ(չ) -#define NET_VCA_GET_FACEDETECT_RULECFG_V41 5017 //ȡATM(չ) -#define NET_VCA_SET_FACEDETECT_RULECFG_V41 5018 //ATM(չ) -#define NET_DVR_GET_PDC_RULECFG_V41 5019 //ͳƹ(չ) -#define NET_DVR_SET_PDC_RULECFG_V41 5020 //ȡͳƹ(չ) -#define NET_DVR_GET_TRIAL_VERSION_CFG 5021 //ȡðϢ -#define NET_DVR_GET_VCA_CTRLINFO_CFG 5022 //ȡܿƲ -#define NET_DVR_SET_VCA_CTRLINFO_CFG 5023 //ܿƲ -#define NET_DVR_SYN_CHANNEL_NAME 5024 //ͬͨ -#define NET_DVR_GET_RESET_COUNTER 5025 //ȡͳͨͳƣ -#define NET_DVR_SET_RESET_COUNTER 5026 //ͳͨͳƣ -#define NET_DVR_GET_OBJECT_COLOR 5027 //ȡɫ -#define NET_DVR_SET_OBJECT_COLOR 5028 //ɫ -#define NET_DVR_GET_AUX_AREA 5029 //ȡ -#define NET_DVR_SET_AUX_AREA 5030 //ø -#define NET_DVR_GET_CHAN_WORKMODE 5031 //ȡͨģʽ -#define NET_DVR_SET_CHAN_WORKMODE 5032 //ͨģʽ -#define NET_DVR_GET_SLAVE_CHANNEL 5033 //ȡͨ -#define NET_DVR_SET_SLAVE_CHANNEL 5034 //ôͨ -#define NET_DVR_GET_VQD_EVENT_RULE 5035 //ȡƵ¼ -#define NET_DVR_SET_VQD_EVENT_RULE 5036 //Ƶ¼ -#define NET_DVR_GET_BASELINE_SCENE 5037 //ȡ׼ -#define NET_DVR_SET_BASELINE_SCENE 5038 //û׼ -#define NET_DVR_CONTROL_BASELINE_SCENE 5039 //׼ -#define NET_DVR_SET_VCA_DETION_CFG 5040 //ƶ -#define NET_DVR_GET_VCA_DETION_CFG 5041 //ȡƶ -#define NET_DVR_GET_STREAM_ATTACHINFO_CFG 5042 //ȡϢ -#define NET_DVR_SET_STREAM_ATTACHINFO_CFG 5043 //Ϣ - -#define NET_DVR_GET_BV_CALIB_TYPE 5044 //ȡ˫Ŀ궨 -#define NET_DVR_CONTROL_BV_SAMPLE_CALIB 5045 //˫Ŀ궨 -#define NET_DVR_GET_BV_SAMPLE_CALIB_CFG 5046 //ȡ˫Ŀ궨 -#define NET_DVR_GET_RULECFG_V42 5049 //ȡΪ(֧16չ) -#define NET_DVR_SET_RULECFG_V42 5050 //Ϊ(֧16չ) -#define NET_DVR_SET_VCA_DETION_CFG_V40 5051 //ƶ -#define NET_DVR_GET_VCA_DETION_CFG_V40 5052 //ȡƶ -#define NET_DVR_SET_FLASH_CFG 5110 //дݵFlash ʹ -/********************************ʶ end****************************/ - -//2014-12-03 -#define NET_DVR_GET_T1TEST_CFG 5053 //߲ýӿڣȡ -#define NET_DVR_SET_T1TEST_CFG 5054 ////߲ýӿڣã - -/********************************ITS****************************/ -#define NET_ITS_GET_OVERLAP_CFG_V50 5055 //ȡַӲչ -#define NET_ITS_SET_OVERLAP_CFG_V50 5056 //ַӲչ - -#define NET_DVR_GET_PARKLAMP_STATE 5057 //ȡͣźŵ״̬Ϣ -#define NET_DVR_GET_CLOUDSTORAGE_CFG 5058 //ȡƴ洢ò -#define NET_DVR_SET_CLOUDSTORAGE_CFG 5059 //ƴ洢ò - -#define NET_ITS_GET_BASE_INFO 5060 //ȡն˻Ϣ -#define NET_DVR_GET_SENSOR_INFO 5061 //Ϣѯ -#define NET_DVR_SET_SENSOR_SWITCH 5062 //Զ̿ -#define NET_ITS_GET_IMGMERGE_CFG 5063 //ȡͼƬϳò -#define NET_ITS_SET_IMGMERGE_CFG 5064 //ͼƬϳò -#define NET_ITS_GET_UPLOAD_CFG 5065 //ȡϴ -#define NET_ITS_SET_UPLOAD_CFG 5066 //ϴ -#define NET_DVR_GET_SENSOR_PORT_CAPABILITIES 5067 //ȡ -#define NET_ITS_GET_WORKSTATE 5069 //ȡն˹״̬ -#define NET_ITS_GET_IPC_CHAN_CFG 5070 //ȡͨIPCϢ -#define NET_ITS_SET_IPC_CHAN_CFG 5071 //ͨIPCϢ -#define NET_ITS_GET_OVERLAP_CFG 5072 //ȡַӲ -#define NET_ITS_SET_OVERLAP_CFG 5073 //ַӲ -#define NET_DVR_GET_TRIGGEREX_CFG 5074 //ȡITCչ -#define NET_DVR_SET_TRIGGEREX_CFG 5075 //ITCչ -#define NET_ITS_GET_ROAD_INFO 5076 //ȡ·Ϣ - -#define NET_ITS_REMOTE_DEVICE_CONTROL 5077//Զ豸 -#define NET_ITS_GET_GATEIPC_CHAN_CFG 5078//ȡڲ -#define NET_ITS_SET_GATEIPC_CHAN_CFG 5079//óڲ -#define NET_ITS_TRANSCHAN_START 5080//ͬݷ -#define NET_ITS_GET_ECTWORKSTATE 5081//ȡն˹״̬ -#define NET_ITS_GET_ECT_CHAN_INFO 5082//ȡնͨ״̬ -#define NET_DVR_GET_HEATMAP_RESULT 5083//ȶͼݲ -#define NET_DVR_SET_ITS_EXDEVCFG 5084 //ITS豸Ϣ -#define NET_DVR_GET_ITS_EXDEVCFG 5085 //ȡITS豸Ϣ -#define NET_DVR_GET_ITS_EXDEVSTATUS 5086 //ȡITS豸Ϣ -#define NET_DVR_SET_ITS_ENDEVCMD 5087 //ITSն˳ڿ -#define NET_DVR_SET_ENISSUED_DATADEL 5088 //ITSն˳ڿ -#define NET_DVR_GET_PDC_RESULT 5089//ݲѯ 2014-03-21 -#define NET_ITS_GET_LAMP_CTRLCFG 5090 //ȡõƲ -#define NET_ITS_SET_LAMP_CTRLCFG 5091 //õƲ -#define NET_ITS_GET_PARKSPACE_ATTRIBUTE_CFG 5092 //ȡ⳵λ -#define NET_ITS_SET_PARKSPACE_ATTRIBUTE_CFG 5093 //⳵λ -#define NET_ITS_SET_LAMP_EXTERNAL_CFG 5095 //ò -#define NET_ITS_SET_COMPEL_CAPTURE 5096 //óλǿץͼ -#define NET_DVR_SET_TIMESIGN_CFG 5097 //չУʱԶ -#define NET_DVR_GET_TIMESIGN_CFG 5098 //ȡչУʱԶ -#define NET_DVR_GET_SIGNALLAMP_STATUS 5099 //źŵƼ -/********************************ITS end****************************/ - -#define NET_DVR_GET_MONITOR_PLAN_VQD 5100 //ӻȡϷƻ -#define NET_DVR_GET_MONITORID_VQD 5101 //ӻȡӦƻڵļصϢ -#define NET_DVR_SET_MONITOR_INFO 5102 //üƻڵļصϢ -#define NET_DVR_DEL_MONITOR_PLAN_VQD 5103 //ɾƻ -#define NET_DVR_GET_MONITOR_VQD_STATUS 5104 //ƽ̨ѯϷ״̬ -#define NET_DVR_GET_RECORD_INFO 5105 //ȡԴͼƬѯ -#define NET_DVR_GET_MONITOR_VQDCFG 5106 //ȡļصϢ -#define NET_DVR_SET_MONITOR_VQDCFG 5107 //÷ļصϢ -#define NET_DVR_SET_MONITOR_PLAN_VQDCFG 5108 //ùƻ(ļƻ) - -#define NET_DVR_SCENE_CHANGE_UPDATE 5109 //ݸ - -#define NET_DVR_GET_CALIBRATE_POINT 5153 //һתǹ豸 ⲿ ߴ벻ʵֹ֣ͻύߣ/*************************ܶೡ********************************/ -#define NET_DVR_GET_SCENE_CFG 5201 //ȡϢ -#define NET_DVR_SET_SCENE_CFG 5202 //óϢ -#define NET_DVR_GET_SCENE_REFERENCE_REGION 5203 //ȡο -#define NET_DVR_SET_SCENE_REFERENCE_REGION 5204 //òο -#define NET_DVR_GET_SCENE_CALIBRATION 5205 //ȡ궨Ϣ -#define NET_DVR_SET_SCENE_CALIBRATION 5206 //ñ궨Ϣ -#define NET_DVR_GET_SCENE_MASK_REGION 5207 //ȡ -#define NET_DVR_SET_SCENE_MASK_REGION 5208 // -#define NET_DVR_GET_SCENE_LANECFG 5209 //ȡ -#define NET_DVR_SET_SCENE_LANECFG 5210 //ó -#define NET_DVR_GET_SCENE_AID_RULECFG 5211 //ȡͨ¼ -#define NET_DVR_SET_SCENE_AID_RULECFG 5212 //ýͨ¼ -#define NET_DVR_GET_SCENE_TPS_RULECFG 5213 //ȡͨͳƹ -#define NET_DVR_SET_SCENE_TPS_RULECFG 5214 //ýͨͳƹ -#define NET_DVR_GET_SCENE_TIME_CFG 5215 //ȡͨijʱ -#define NET_DVR_SET_SCENE_TIME_CFG 5216 //ͨijʱ -#define NET_DVR_GET_FORENSICS_MODE 5217 //ȡȡ֤ʽ -#define NET_DVR_SET_FORENSICS_MODE 5218 //ȡ֤ʽ -#define NET_DVR_FORCESTOP_FORENSICS_CTRL 5219 //ǿֹͣȡ֤ -#define NET_DVR_GET_ALARM_PROCESS_CFG 5220 //ȡ -#define NET_DVR_SET_ALARM_PROCESS_CFG 5221 //ñ -#define NET_DVR_GET_BLOCKLIST_ALARM_INFO 5222 //ȡ켣 -#define NET_DVR_GET_STORAGE_RESOURCE_CFG 5225 //ȡ洢Դ -#define NET_DVR_SET_STORAGE_RESOURCE_CFG 5226 //ô洢Դ -#define NET_DVR_DEL_BLOCKLIST_ALARM_RECORD 5227 //Զɾ¼ -#define NET_DVR_SET_BLOCKLIST_GROUP_INFO 5229 //Զ̷б -#define NET_DVR_DEL_BLOCKLIST_GROUP_INFO 5230 //Զɾб -#define NET_DVR_GET_BLOCKLIST_GROUP_INFO 5231 //Զ̻ȡȫб -#define NET_DVR_SET_BLOCKLIST_GROUP_RECORD_CFG 5232 //¼ -#define NET_DVR_GET_BLOCKLIST_GROUP_RECORD_CFG 5234 //Զ̻ȡ¼ -#define NET_DVR_DEL_BLOCKLIST_GROUP_RECORD_CFG 5235 //Զɾ¼ -#define NET_DVR_GET_AREA_MONITOR_CFG 5236 //ȡص -#define NET_DVR_SET_AREA_MONITOR_CFG 5237 //ص -#define NET_DVR_DEL_AREA_MONITOR_CFG 5238 //ɾص -#define NET_DVR_RETRIEVAL_SNAP_RECORD 5240 //ץĿ -#define NET_DVR_GET_ALARMLIST 5241 //ȡб -#define NET_DVR_DETECT_IMAGE 5242 //ͼƬ -#define NET_DVR_GET_SNAP_RECORD 5243 //ȡץļ¼ -#define NET_DVR_DEL_SNAP_RECORD 5244 //ɾץļ¼ -#define NET_DVR_GET_FACE_RECORD 5245 //Զ̻ȡ¼б -#define NET_DVR_SET_FACE_RECORD 5246 //¼ -#define NET_DVR_DEL_FACE_RECORD 5247 //ɾ¼ -#define NET_DVR_GET_FACE_DATABASE 5248 //ȡò -#define NET_DVR_SET_FACE_DATABASE 5249 //ò -#define NET_DVR_DEL_FACE_DATABASE 5250 //ɾ -#define NET_DVR_RETRIEVAL_FACE_DATABASE 5251 // -#define NET_DVR_SET_BLOCKLIST_REL_DEV_CFG 5252 //豸 -#define NET_DVR_DEL_BLOCKLIST_REL_DEV 5253 //ɾ 豸Ϣ -/*************************ܶೡend*****************************/ - -#define NET_DVR_GET_DISK_RAID_INFO 6001 //ȡRaidϢ -#define NET_DVR_SET_DISK_RAID_INFO 6002 //ôRaidϢ - -#define NET_DVR_GET_DVR_SYNCHRONOUS_IPC 6005 //ȡǷΪǰIPCͬ豸 -#define NET_DVR_SET_DVR_SYNCHRONOUS_IPC 6006 //ãǷΪǰIPCͬ豸 - -#define NET_DVR_SET_DVR_IPC_PASSWD 6008 //ãIPCû -#define NET_DVR_GET_DEVICE_NET_USING_INFO 6009 //ȡǰ豸Դʹ - -#define NET_DVR_SET_DVR_IPC_NET 6012 //ãǰIPCַ - -#define NET_DVR_GET_RECORD_CHANNEL_INFO 6013 //ȡ¼ͨϢ -#define NET_DVR_SET_RECORD_CHANNEL_INFO 6014 //ã¼ͨϢ - - -#define NET_DVR_MOUNT_DISK 6015 // ش -#define NET_DVR_UNMOUNT_DISK 6016 // жش - -// CVR -#define NET_DVR_GET_STREAM_SRC_INFO 6017 //ȡԴϢ -#define NET_DVR_SET_STREAM_SRC_INFO 6018 //ãԴϢ -#define NET_DVR_GET_STREAM_RECORD_INFO 6019 //ȡ¼Ϣ -#define NET_DVR_SET_STREAM_RECORD_INFO 6020 //ã¼Ϣ -#define NET_DVR_GET_STREAM_RECORD_STATUS 6021 //ȡ¼״̬ -#define NET_DVR_SET_STREAM_RECORD_STATUS 6022 //ã¼״̬ -#define NET_DVR_GET_STREAM_INFO 6023 //ȡӵIDϢ -#define NET_DVR_GET_STREAM_SRC_INFO_V40 6024 //ȡԴϢ -#define NET_DVR_SET_STREAM_SRC_INFO_V40 6025 //ãԴϢ -#define NET_DVR_GET_RELOCATE_INFO 6026 //ȡN+0ģʽضϢ -#define NET_DVR_START_GOP_INFO_PASSBACK 6032 //Ϣ -#define NET_DVR_GET_CHANS_RECORD_STATUS_CFG 6035 //ȡͨ¼״̬Ϣ -#define NET_DVR_SET_CHANS_RECORD_STATUS_CFG 6036 //ͨ¼״̬Ϣ -//NVR96xx -#define NET_DVR_GET_IP_ALARM_GROUP_NUM 6100 //ȡIPͨ -#define NET_DVR_GET_IP_ALARM_IN 6101 //ȡIPͨϢ -#define NET_DVR_GET_IP_ALARM_OUT 6102 //ȡIPͨϢ - -//9000 v2.2 -#define NET_DVR_GET_FTPCFG_SECOND 6103 //ȡͼƬϴFTP -#define NET_DVR_SET_FTPCFG_SECOND 6104 //ͼƬϴFTP - -#define NET_DVR_GET_DEFAULT_VIDEO_EFFECT 6105 // ȡƵЧĬֵ -#define NET_DVR_SET_VIDEO_EFFECT 6106 // ͨƵͼ -#define NET_DVR_DEL_INVALID_DISK 6107 // ɾЧ - -#define NET_DVR_GET_DRAWFRAME_DISK_QUOTA_CFG 6109 //ȡ֡ͨ -#define NET_DVR_SET_DRAWFRAME_DISK_QUOTA_CFG 6110 //ó֡ͨ - -#define NET_DVR_GET_NAT_CFG 6111 //ȡNATӳ -#define NET_DVR_SET_NAT_CFG 6112 //NATӳ -#define NET_DVR_GET_AES_KEY 6113 //ȡ豸AESԿ -#define NET_DVR_GET_POE_CFG 6114 //ȡPOE -#define NET_DVR_SET_POE_CFG 6115 //POE -#define NET_DVR_GET_CUSTOM_PRO_CFG 6116 //ȡԶЭ -#define NET_DVR_SET_CUSTOM_PRO_CFG 6117 //ԶЭ -#define NET_DVR_GET_STREAM_CABAC 6118 //ȡѹѡ -#define NET_DVR_SET_STREAM_CABAC 6119 //ѹѡ -#define NET_DVR_GET_ESATA_MINISAS_USAGE_CFG 6120 //ȡeSATAminiSAS; -#define NET_DVR_SET_ESATA_MINISAS_USAGE_CFG 6121 //eSATAminiSAS; - -#define NET_DVR_GET_HDCFG_V40 6122 //ȡӲϢ -#define NET_DVR_SET_HDCFG_V40 6123 //ӲϢ -#define NET_DVR_GET_POE_CHANNEL_ADD_MODE 6124 //ȡPOEͨӷʽ -#define NET_DVR_SET_POE_CHANNEL_ADD_MODE 6125 //POEͨӷʽ -#define NET_DVR_GET_DIGITAL_CHANNEL_STATE 6126 //ȡ豸ͨ״̬ -#define NET_DVR_GET_BONJOUR_CFG 6127 // ȡBonjourϢ -#define NET_DVR_SET_BONJOUR_CFG 6128 // BonjourϢ - - -#define NET_DVR_GET_SOCKS_CFG 6130//ȡSOCKSϢ -#define NET_DVR_SET_SOCKS_CFG 6131//SOCKSϢ - -#define NET_DVR_GET_QOS_CFG 6132//ȡQoSϢ -#define NET_DVR_SET_QOS_CFG 6133//QoSϢ - -#define NET_DVR_GET_HTTPS_CFG 6134//ȡHTTPSϢ -#define NET_DVR_SET_HTTPS_CFG 6135//HTTPSϢ - -#define NET_DVR_GET_WD1_CFG 6136//Զ̻ȡWD1ʹܿ -#define NET_DVR_SET_WD1_CFG 6137//ԶWD1ʹܿ - -#define NET_DVR_CREATE_CERT 6138//֤ -#define NET_DVR_DELETE_CERT 6139//ɾ֤ - - -#define NET_DVR_GET_RECORD_LOCK_PERCENTAGE 6140 //ȡ¼ -#define NET_DVR_SET_RECORD_LOCK_PERCENTAGE 6141 //¼ - -#define NET_DVR_CMD_TRIGGER_PERIOD_RECORD 6144 //ⲿָʱ¼ -#define NET_DVR_UPLOAD_CERT 6145 //ϴ֤ -#define NET_DVR_DOWNLOAD_CERT 6146 //֤ -#define NET_DVR_GET_CERT 6147 //ȡ֤ - -#define NET_DVR_GET_POS_FILTER_CFG 6148 //ȡPOS˹ -#define NET_DVR_SET_POS_FILTER_CFG 6149 //POS˹ -#define NET_DVR_GET_CONNECT_POS_CFG 6150 //ȡDVRPOSӷʽ -#define NET_DVR_SET_CONNECT_POS_CFG 6151 //DVRPOSӷʽ -#define NET_DVR_GET_CHAN_FILTER_CFG 6152 //ȡͨϢ -#define NET_DVR_SET_CHAN_FILTER_CFG 6153 //ùͨϢ - - -#define NET_DVR_GET_FTPCFG_V40 6162 //ȡFTPϢ -#define NET_DVR_SET_FTPCFG_V40 6163 //FTPϢ - -#define NET_DVR_GET_MONTHLY_RECORD_DISTRIBUTION 6164 //ȡ¼ֲ -#define NET_DVR_GET_ACCESS_DEVICE_CHANNEL_INFO 6165 //ȡ豸ͨϢ -#define NET_DVR_GET_PREVIEW_SWITCH_CFG 6166 //ȡ豸Ԥл -#define NET_DVR_SET_PREVIEW_SWITCH_CFG 6167 //豸Ԥл - -//Netra3.0.0 -#define NET_DVR_GET_N_PLUS_ONE_WORK_MODE 6168 //ȡN+1ģʽ -#define NET_DVR_SET_N_PLUS_ONE_WORK_MODE 6169 //N+1ģʽ - -#define NET_DVR_GET_HD_STATUS 6170 //ȡӲ״̬ -#define NET_DVR_SET_HD_STATUS 6171 //Ӳ״̬ - -#define NET_DVR_IMPORT_IPC_CFG_FILE 6172 //IPCļ -#define NET_DVR_EXPORT_IPC_CFG_FILE 6173 //IPCļ -#define NET_DVR_UPGRADE_IPC 6174 //IPͨ - -#define NET_DVR_GET_RAID_BACKGROUND_TASK_SPEED 6175 //ȡRAID̨ٶ -#define NET_DVR_SET_RAID_BACKGROUND_TASK_SPEED 6176 //RAID̨ٶ - -//marvell 256·NVR -#define NET_DVR_GET_EXCEPTIONCFG_V40 6177 //ȡ쳣 -#define NET_DVR_SET_EXCEPTIONCFG_V40 6178 //쳣 -#define NET_DVR_GET_PICCFG_V40 6179 //ȡͼ ֱ֧䳤 NetSDK_ -#define NET_DVR_SET_PICCFG_V40 6180 //ͼ ֱ֧䳤 -#define NET_DVR_GET_ALARMINCFG_V40 6181 //ȡֱ֧䳤 -#define NET_DVR_SET_ALARMINCFG_V40 6182 //ȡֱ֧䳤 -#define NET_DVR_GET_IPALARMINCFG_V40 6183 //ȡIPϢ -#define NET_DVR_GET_IPALARMOUTCFG_V40 6185 //ȡIPϢ -#define NET_DVR_GET_USERCFG_V40 6187 //ȡû -#define NET_DVR_SET_USERCFG_V40 6188 //û -#define NET_DVR_GET_WORK_STATUS 6189 //ȡ豸״̬ -#define NET_DVR_GET_JPEG_CAPTURE_CFG_V40 6190 //ȡDVRץͼ -#define NET_DVR_SET_JPEG_CAPTURE_CFG_V40 6191 //DVRץͼ -#define NET_DVR_GET_HDGROUP_CFG_V40 6192 //ȡò -#define NET_DVR_SET_HDGROUP_CFG_V40 6193 //ò -#define NET_DVR_GET_SMD_HOLIDAY_HANDLE 6194 //ȡܼռƻ -#define NET_DVR_SET_SMD_HOLIDAY_HANDLE 6195 //üܼռƻ -#define NET_DVR_GET_PIC_MODEL_CFG 6196 //ȡͼƬģò -#define NET_DVR_SET_PIC_MODEL_CFG 6197 //ͼƬģò -#define NET_DVR_START_LOCAL_MOUSE_EVENT 6198 //豸¼¼ -#define NET_DVR_START_SIMULARE_MOUSE_EVENT 6199 //Զģ¼ -#define NET_DVR_GET_WORK_STATUS_V50 6200 //ȡ豸״̬V50 - -//91ϵHD-SDIDVR -#define NET_DVR_GET_ACCESS_CAMERA_INFO 6201 // ȡǰϢ -#define NET_DVR_SET_ACCESS_CAMERA_INFO 6202 // ǰϢ -#define NET_DVR_PULL_DISK 6203 // ȫ -#define NET_DVR_SCAN_RAID 6204 // ɨ -// CVR 2.0.X -#define NET_DVR_GET_USER_RIGHT_CFG 6210 // ȡûȨ -#define NET_DVR_SET_USER_RIGHT_CFG 6211 // ûȨ - -#define NET_DVR_ONE_KEY_CONFIG 6212 // һCVR -#define NET_DVR_RESTART_SERVICE 6213 // CVR - -#define NET_DVR_GET_MAX_MACHINE_NUM_CFG 6214 // ȡ -#define NET_DVR_SET_MAX_MACHINE_NUM_CFG 6215 // ñ - -#define NET_DVR_ADD_DEVICE 6216 //N+1ģʽ豸 -#define NET_DVR_DEL_DEVICE 6217 //N+1ģʽɾ豸 - -#define NET_DVR_GET_DATA_CALLBACK_CFG 6218 // ȡݻǨ״̬ -#define NET_DVR_SET_DATA_CALLBACK_CFG 6219 // ݻǨ״̬ - -#define NET_DVR_CLONE_LUN 6220 //¡LUN -#define NET_DVR_EXPAND_LUN 6221 //չLUN - -#define NET_DVR_GET_N_PLUS_ONE_DEVICE_INFO 6222 //ȡN+1豸Ϣ -#define NET_DVR_MODIFY_DVR_NET_DISK 6223 //޸DVR -//#define NET_DVR_DEL_DVR_NET_DISK 6224 //ɾDVR - -#define NET_DVR_CREATE_NAS 6225 //NAS -#define NET_DVR_DELETE_NAS 6226 //ɾNAS - -#define NET_DVR_OPEN_ISCSI 6227 //iSCSI -#define NET_DVR_CLOSE_ISCSI 6228 //رiSCSI - -#define NET_DVR_GET_FC 6229 //ȡϢ -#define NET_DVR_OPEN_FC 6230 //FC -#define NET_DVR_CLOSE_FC 6231 //رFC -#define NET_DVR_ONE_KEY_CONFIG_SAN 6232 // һSAN, һCVR߼һ - -//CVR2.3.2 -#define NET_DVR_RECORD_CHECK 6233 //¼Լ -#define NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL 6234 //ֶ¼ش -#define NET_DVR_GET_ALL_RECORD_PASSBACK_TASK_MANUAL 6235 //ȡֶ¼ش -#define NET_DVR_RECORD_PASSBACK_TASK_MANUAL_CTRL 6236 //ֶ¼ش -#define NET_DVR_DEL_RECORD_PASSBACK_TASK_MANUAL 6237 //ɾֶ¼ش -#define NET_DVR_GET_RECORD_PASSBACK_PLAN_CFG 6238 //ȡ¼شƻ -#define NET_DVR_SET_RECORD_PASSBACK_PLAN_CFG 6239 //¼شƻ -#define NET_DVR_GET_DEV_STORAGE_CFG 6240 //ȡ豸洢Ϣ -#define NET_DVR_GET_ONLINE_USER_CFG 6241 //ȡû -#define NET_DVR_GET_RECORD_SEGMENT_CFG 6242 //ȡ¼ - -#define NET_DVR_GET_REC_PASSBACK_TASK_EXECUTABLE 6243 //ѯֶ¼شִ -#define NET_DVR_GET_STREAM_MEDIA_CFG 6244 //ȡýش¼ãIDʽ -#define NET_DVR_SET_STREAM_MEDIA_CFG 6245 //ýش¼ãIDʽ -#define NET_DVR_GET_USERCFG_V50 6246 //ȡûV50 -#define NET_DVR_SET_USERCFG_V50 6247 //ûV50 - -#define NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG_CAP 6248 //ȡCVRشܻ -#define NET_DVR_GET_RECORD_PASSBACK_BASIC_CFG 6249 //ȡCVRشܻ -#define NET_DVR_SET_RECORD_PASSBACK_BASIC_CFG 6250 //CVRشܻ -#define NET_DVR_ONE_KEY_CONFIG_V50 6251 // һCVR(V50) -#define NET_DVR_GET_RACM_CAP 6252 //ȡ洢RACM -#define NET_DVR_GET_THUMBNAILS 6253 //ȡͼĬ¼ͼ(֧ID) -#define NET_DVR_ADD_RECORD_PASSBACK_TASK_MANUAL_V50 6254 //ֶ¼شV50ID -#define NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG_CAP 6255 //ȡCVRشʷ¼ƻ -#define NET_DVR_GET_RECORD_PASSBACK_HISTORY_PLAN_CFG 6256 //ȡCVRشʷ¼ƻ -#define NET_DVR_SET_RECORD_PASSBACK_HISTORY_PLAN_CFG 6257 //CVRشʷ¼ƻ -#define NET_DVR_ONE_KEY_CONFIG_V51 6258 // һCVR(V51) - - -#define NET_DVR_GET_RECORD_PACK 6301 //ȡ¼ -#define NET_DVR_SET_RECORD_PACK 6302 //¼ - -#define NET_DVR_GET_CLOUD_STORAGE_CFG 6303 //ȡ豸ǰģʽ -#define NET_DVR_SET_CLOUD_STORAGE_CFG 6304 //豸ǰģʽ -#define NET_DVR_GET_GOP_INFO 6305 //ȡGOPϢ -#define NET_DVR_GET_PHY_DISK_INFO 6306 //ȡϢ -//¼ⲿ -#define NET_DVR_GET_RECORDING_AUTO_TRACK_CFG 6307 //ȡSDIԶϢ -#define NET_DVR_SET_RECORDING_AUTO_TRACK_CFG 6308 //SDIԶϢ - -#define NET_DVR_GET_RECORDING_PUBLISH_CFG 6309 //ȡһϢ -#define NET_DVR_SET_RECORDING_PUBLISH_CFG 6310 //һϢ - - -#define NET_DVR_RECORDING_ONEKEY_CONTROL 6311 //¼ - -#define NET_DVR_GET_RECORDING_END_TIME 6312 //ȡ¼ʣʱ - -#define NET_DVR_RECORDING_PUBLISH 6313 //һ¼ - -#define NET_DVR_GET_CURRICULUM_CFG 6314 //ȡαϢ -#define NET_DVR_SET_CURRICULUM_CFG 6315 //ÿαϢ - -#define NET_DVR_GET_COURSE_INDEX_CFG 6316 //ȡγϢ -#define NET_DVR_SET_COURSE_INDEX_CFG 6317 //ÿγϢ - -#define NET_DVR_GET_PPT_CHANNEL 6318 //ȡPPT֧ͨ -#define NET_DVR_GET_PPT_DETECT_CFG 6319 //ȡPPT -#define NET_DVR_SET_PPT_DETECT_CFG 6320 //PPT - -#define NET_DVR_GET_RECORDINGHOST_CFG 6321 //ȡ¼Ϣ -#define NET_DVR_SET_RECORDINGHOST_CFG 6322 //¼Ϣ -#define NET_DVR_GET_BACKUP_RECORD_CFG 6323 //ȡһϢ -#define NET_DVR_SET_BACKUP_RECORD_CFG 6324 //һϢ - -//ͥ -#define NET_DVR_GET_AUDIO_ACTIVATION_CFG 6326 //ȡò -#define NET_DVR_SET_AUDIO_ACTIVATION_CFG 6327 //ò -#define NET_DVR_GET_DECODERCFG_V40 6328 //ȡϢ -#define NET_DVR_SET_DECODERCFG_V40 6329 //ýϢ - -#define NET_DVR_INFRARED_OUTPUT_CONTROL 6330 // -#define NET_DVR_GET_INFRARED_CMD_NAME_CFG 6331 //ȡƲ -#define NET_DVR_SET_INFRARED_CMD_NAME_CFG 6332 //úƲ -#define NET_DVR_START_INFRARED_LEARN 6333 //Զ̺ѧ - -#define NET_DVR_GET_TRIAL_SYSTEM_CFG 6334 //ȡͥϵͳϢ -#define NET_DVR_SET_CASE_INFO 6335 //Ϣ¼ -#define NET_DVR_GET_TRIAL_MICROPHONE_STATUS 6336 //ȡ˷״̬Ϣ -#define NET_DVR_SET_TRIAL_MICROPHONE_STATUS 6337 //ȡ˷״̬Ϣ -#define NET_DVR_GET_TRIAL_HOST_STATUS 6338 //ȡͥ״̬Ϣ -#define NET_DVR_GET_LAMP_OUT 6339 //ȡLAMPϢ -#define NET_DVR_SET_LAMP_OUT 6340 //LAMPϢ -#define NET_DVR_LAMP_REMOTE_CONTROL 6341 // LAMP -#define NET_DVR_REMOTE_CONTROL_PLAY 6342 //Զ̿Ʊػط -#define NET_DVR_GET_LOCAL_INPUT_CFG 6343 //ȡͥ״̬ϢͥϢ -#define NET_DVR_SET_LOCAL_INPUT_CFG 6344 //ͥϢ -#define NET_DVR_GET_CASE_INFO 6345 //ȡǰϢ - -//Ѷⲿ -#define NET_DVR_INQUEST_GET_CDW_STATUS 6350 //ȡѶ¼״̬- -#define NET_DVR_GET_MIX_AUDIOIN_CFG 6351 //ȡڲ -#define NET_DVR_SET_MIX_AUDIOIN_CFG 6352 //ûڲ -#define NET_DVR_GET_MIX_AUDIOOUT_CFG 6353 //ȡڲ -#define NET_DVR_SET_MIX_AUDIOOUT_CFG 6354 //ûڲ -#define NET_DVR_GET_AUDIOIN_VOLUME_CFG 6355 //ȡƵڲ -#define NET_DVR_SET_AUDIOIN_VOLUME_CFG 6356 //Ƶڲ -#define NET_DVR_GET_AREA_MASK_CFG 6357 //ȡ -#define NET_DVR_SET_AREA_MASK_CFG 6358 // -#define NET_DVR_GET_AUDIO_DIACRITICAL_CFG 6359 //ȡƵ -#define NET_DVR_SET_AUDIO_DIACRITICAL_CFG 6360 //Ƶ -#define NET_DVR_GET_WIFI_DHCP_ADDR_CFG 6361 //WIFI DHCP ַΧ -#define NET_DVR_SET_WIFI_DHCP_ADDR_CFG 6362 //WIFI DHCP ַΧ -#define NET_DVR_GET_WIFI_CLIENT_LIST_INFO 6363 //ȡwifiȵӵ豸Ϣ -#define NET_DVR_REMOTECONTROL_POWER_ON 6364 //Զ̿ -#define NET_DVR_GET_MULTISTREAM_RELATION_CHAN_CFG 6365 //ȡͨ -#define NET_DVR_SET_MULTISTREAM_RELATION_CHAN_CFG 6366 //öͨ -#define NET_DVR_GET_VIDEOOUT_RESOLUTION_CFG 6367 //ȡ豸Ƶڷֱ -#define NET_DVR_SET_VIDEOOUT_RESOLUTION_CFG 6368 //豸Ƶڷֱ -#define NET_DVR_GET_AUDIOOUT_VOLUME_CFG 6369 //ȡƵڲ -#define NET_DVR_SET_AUDIOOUT_VOLUME_CFG 6370 //Ƶڲ -#define NET_DVR_INQUEST_PAUSE_CDW 6371 //ͣ¼ -#define NET_DVR_INQUEST_RESUME_CDW 6372 //ָ¼ -#define NET_DVR_GET_INPUT_CHAN_CFG 6373 //ȡͨ -#define NET_DVR_SET_INPUT_CHAN_CFG 6374 //ͨ -#define NET_DVR_GET_INQUEST_MIX_AUDIOIN_CFG 6375 //ȡѶƵ -#define NET_DVR_SET_INQUEST_MIX_AUDIOIN_CFG 6376 //ѶƵ -#define NET_DVR_CASE_INFO_CTRL 6377 //Ϣʾ -#define NET_DVR_GET_INQUEST_USER_RIGHT 6378 //ȡѶûȨ -#define NET_DVR_SET_INQUEST_USER_RIGHT 6379 //ѶûȨ -#define NET_DVR_GET_INQUEST_CASE_INFO 6380 //ȡѶϢ -#define NET_DVR_SET_INQUEST_CASE_INFO 6381 //ѶϢ - -#define NET_DVR_GET_FILM_MODE_CFG 6387 //ȡӰģʽ -#define NET_DVR_SET_FILM_MODE_CFG 6388 //õӰģʽ -#define NET_DVR_GET_FILM_MODE_CFG_CAP 6389 //ȡӰģʽ - -#define NET_DVR_GET_DIRECTED_STRATEGY_CFG 6390 //ȡ -#define NET_DVR_SET_DIRECTED_STRATEGY_CFG 6391 //õ -#define NET_DVR_GET_DIRECTED_STRATEGY_CFG_CAP 6392 //ȡӰģʽ -#define NET_DVR_GET_FRAME_CFG 6393 //ȡ߿ -#define NET_DVR_SET_FRAME_CFG 6394 //û߿ -#define NET_DVR_GET_FRAME_CFG_CAP 6395 //ȡ߿ -#define NET_DVR_GET_AUDIO_EFFECTIVE_CFG 6396 //ȡƵŻ -#define NET_DVR_SET_AUDIO_EFFECTIVE_CFG 6397 //ƵЧ -#define NET_DVR_GET_AUDIO_EFFECTIVE_CFG_CAP 6398 //ȡƵЧŻ -#define NET_DVR_GET_RECORD_VIDEO_CFG 6399 //ȡ¼Ƶ -#define NET_DVR_SET_RECORD_VIDEO_CFG 6400 //¼Ƶ - - -#define NET_DVR_GET_OUTPUT_CFG 6401 //ȡʾ -#define NET_DVR_SET_OUTPUT_CFG 6402 //ʾ -#define NET_DVR_CODER_DISPLAY_START 6403 //ʼ -#define NET_DVR_CODER_DISPLAY_STOP 6404 //ֹͣ -#define NET_DVR_GET_WINDOW_STATUS 6405 //ȡʾ״̬ - -//VQDܽӿ -#define NET_DVR_GET_VQD_LOOP_DIAGNOSE_CFG 6406 //ȡVQDѭò -#define NET_DVR_SET_VQD_LOOP_DIAGNOSE_CFG 6407 //VQDѭò -#define NET_DVR_GET_VQD_DIAGNOSE_INFO 6408 //ֶȡVQDϢ - -#define NET_DVR_RECORDING_PUBLISH_FILE 6421 //ļ -#define NET_DVR_GET_RECORDING_PUBLISH_FILE_CAP 6422 //ȡļ -#define NET_DVR_GET_PUBLISH_PROGRESS 6423 //ȡ -#define NET_DVR_GET_RECORD_VIDEO_CFG_CAP 6424 //ȡ¼Ƶ -#define NET_DVR_GET_RTMP_CFG 6425 //ȡRTMP -#define NET_DVR_SET_RTMP_CFG 6426 //RTMP -#define NET_DVR_GET_RTMP_CFG_CAP 6427 //ȡRTMP -#define NET_DVR_DEL_BACKGROUND_PIC 6428 //ɾͼƬļ -#define NET_DVR_GET_BACKGROUND_PIC_CFG 6429 //ѯͼƬļ -#define NET_DVR_GET_BACKGROUND_PIC_INFO 6430 //ȡͼƬΪͼƬ -#define NET_DVR_SET_BACKGROUND_PIC_INFO 6431 //ͼƬΪͼƬ -#define NET_DVR_GET_BACKGROUND_PIC_INFO_CAP 6432 //ȡͼƬΪͼƬ -#define NET_DVR_GET_RECORD_HOST_CAP 6433 //ȡ¼ -#define NET_DVR_GET_COURSE_LIST 6434 //ȡγб -#define NET_DVR_GET_RECORD_STATUS 6435 //ѯ¼ǰ״̬ -#define NET_DVR_MANUAL_CURRICULUM_CONTROL 6436 //ֶα -#define NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG 6437 //ȡͼּ -#define NET_DVR_SET_IMAGE_DIFF_DETECTION_CFG 6438 //ͼּ -#define NET_DVR_GET_IMAGE_DIFF_DETECTION_CFG_CAP 6439 //ȡͼּ -#define NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO 6440 //ȡļϢ -#define NET_DVR_SET_RECORDING_PUBLISH_FILE_INFO 6441 //÷ļϢ -#define NET_DVR_GET_RECORDING_PUBLISH_FILE_INFO_CAP 6442 //ȡļϢ -#define NET_DVR_MANUAL_CURRICULUM_CONTROL_CAP 6443 //ȡֶγ¼ -#define NET_DVR_GET_STATISTIC_DATA_LIST 6444 //ȡͳб - -#define NET_DVR_GET_DEVICE_LAN_ENCODE 6501 //ȡ豸Ա -#define NET_DVR_GET_GBT28181_SERVICE_CFG 6503 //ȡGB28181 -#define NET_DVR_SET_GBT28181_SERVICE_CFG 6504 //GB28181 -#define NET_DVR_GET_GBT28181_SERVICE_CAPABILITIES 6505 //ȡGB28181 - -#define NET_DVR_GET_CLOUD_URL 6506 //ȡƴ洢URL -#define NET_DVR_GET_CLOUD_URL_CAP 6507 //ȡƴ洢URL- -#define NET_DVR_GET_CLOUD_CFG 6508 //ȡƴ洢ò -#define NET_DVR_SET_CLOUD_CFG 6509 //ƴ洢ò -#define NET_DVR_GET_CLOUD_CFG_CAP 6510 //ȡƴ洢- -#define NET_DVR_GET_CLOUD_UPLOADSTRATEGY 6511 //ȡƴ洢ϴ -#define NET_DVR_SET_CLOUD_UPLOADSTRATEGY 6512 //ƴ洢ϴ -#define NET_DVR_GET_CLOUDSTORAGE_UPLOADSTRATEGY_CAP 6513 //ƴ洢ϴ- - -#define NET_DVR_GET_VIDEO_IMAGE_DB_CFG 6601 //ȡͼϢ -#define NET_DVR_SET_VIDEO_IMAGE_DB_CFG 6602 //ͼϢ -#define NET_DVR_GET_VIDEO_IMAGE_DB_CFG_CAP 6603 //ȡͼ -#define NET_DVR_GET_FILE_INFO_BY_ID 6604 //ļIDȡͼļϢ -#define NET_DVR_QUERY_FILE_INFO_CAP 6605 //ļѯļϢ -#define NET_DVR_DEL_FILE_FROM_DB 6606 //ͼɾļ -#define NET_DVR_GET_VIDEO_IMAGE_DB_CAP 6607 //ȡͼ - -#define NET_DVR_GET_FIGURE 6610 //ȡͼ - -#define NET_DVR_SYNC_IPC_PASSWD 6621 //ͬIPCNVRһ -#define NET_DVR_GET_VEHICLE_BLOCKLIST_SCHEDULE 6622 //ȡֹʱ -#define NET_DVR_SET_VEHICLE_BLOCKLIST_SCHEDULE 6623 //ýֹʱ - -#define NET_DVR_GET_VEHICLE_ALLOWLIST_SCHEDULE 6624 //ȡʱ -#define NET_DVR_SET_VEHICLE_ALLOWLIST_SCHEDULE 6625 //ʱ - -#define NET_DVR_GET_VEHICLE_BLOCKLIST_EVENT_TRIGGER 6626 //ȡֹ -#define NET_DVR_SET_VEHICLE_BLOCKLIST_EVENT_TRIGGER 6627 //ýֹ - -#define NET_DVR_GET_VEHICLE_ALLOWLIST_EVENT_TRIGGER 6628 //ȡ -#define NET_DVR_SET_VEHICLE_ALLOWLIST_EVENT_TRIGGER 6629 // - -#define NET_DVR_GET_TRAFFIC_CAP 6630 //ȡץ -#define NET_DVR_GET_VEHICLE_ALLLIST_EVENT_TRIGGER 6631 //ȡȫⲼ -#define NET_DVR_SET_VEHICLE_ALLLIST_EVENT_TRIGGER 6632 //ȫⲼ -#define NET_DVR_GET_VEHICLE_OTHERLIST_EVENT_TRIGGER 6633 //ȡ -#define NET_DVR_SET_VEHICLE_OTHERLIST_EVENT_TRIGGER 6634 // - -#define NET_DVR_GET_STORAGEDETECTION_EVENT_TRIGGER 6635 //ȡ洢 -#define NET_DVR_SET_STORAGEDETECTION_EVENT_TRIGGER 6636 //ô洢 -#define NET_DVR_GET_STORAGEDETECTION_SCHEDULE_CAPABILITIES 6637 //ȡ洢Ⲽʱ -#define NET_DVR_GET_STORAGEDETECTION_SCHEDULE 6638 //ȡ洢ʱ -#define NET_DVR_SET_STORAGEDETECTION_SCHEDULE 6639 //ô洢ʱ -#define NET_DVR_GET_STORAGEDETECTION_STATE 6640 //ȡ洢״̬ - -#define NET_DVR_GET_STORAGEDETECTION_RWLOCK 6646 //ȡ洢Ķд -#define NET_DVR_GET_STORAGEDETECTION_RWLOCK_CAPABILITIES 6647 //ȡ洢Ķд -#define NET_DVR_SET_STORAGEDETECTION_RWLOCK 6648 //ô洢Ķд -#define NET_DVR_GET_PTZTRACKSTATUS 6649 //ȡ״̬ - -#define NET_DVR_SET_STORAGEDETECTION_UNLOCK 6653 //ô洢Ľ -#define NET_DVR_GET_STORAGEDETECTION_UNLOCK_CAPABILITIES 6654 //ȡ洢Ľ - -#define NET_DVR_SET_SHIPSDETECTION_CFG 6655 //ôֻ -#define NET_DVR_GET_SHIPSDETECTION_CFG 6656 //ȡֻ -#define NET_DVR_GET_SHIPSDETECTION_CAPABILITIES 6657 //ȡֻ -#define NET_DVR_GET_SHIPSDETECTION_COUNT 6658 //ȡֻϢ -#define NET_DVR_SHIPSCOUNT_DELETE_CTRL 6659 //մֻϢ - -#define NET_DVR_GET_BAREDATAOVERLAY_CAPABILITIES 6660 //ȡݵ -#define NET_DVR_SET_BAREDATAOVERLAY_CFG 6661 //ݵ -#define NET_DVR_GET_BAREDATAOVERLAY_CFG 6662 //ȡݵ -#define NET_DVR_GET_SHIPSDETECTION_SCHEDULE 6663 //ȡֻⲼʱ -#define NET_DVR_SET_SHIPSDETECTION_SCHEDULE 6664 //ôֻⲼʱ -#define NET_DVR_GET_SHIPSDETECTION_EVENT_TRIGGER 6665 //ȡֻ -#define NET_DVR_SET_SHIPSDETECTION_EVENT_TRIGGER 6666 //ôֻ -#define NET_DVR_GET_SHIPSDETECTION_SCHEDULE_CAPABILITIES 6667 //ȡֻⲼʱ - -#define NET_DVR_FIRE_FOCUSZOOM_CTRL 6670 //ɼ⾵ͷ۽䱶 - -#define NET_DVR_GET_FIREDETECTION_SCHEDULE_CAPABILITIES 6671 //ȡⲼʱ -#define NET_DVR_GET_FIREDETECTION_SCHEDULE 6672 //ȡⲼʱ -#define NET_DVR_SET_FIREDETECTION_SCHEDULE 6673 //ûⲼʱ -#define NET_DVR_GET_MANUALRANGING_CAPABILITIES 6675 //ȡֶ -#define NET_DVR_SET_MANUALRANGING 6677 //ֶ -#define NET_DVR_GET_MANUALDEICING_CAPABILITIES 6678//ȡֶ -#define NET_DVR_SET_MANUALDEICING 6679 //ֶ -#define NET_DVR_GET_MANUALDEICING 6680 //ȡֶ - -#define NET_DVR_GET_THERMALPOWER_CAPABILITIES 6689 //ȡԴ -#define NET_DVR_GET_THERMALPOWER 6690 //ȡԴò -#define NET_DVR_SET_THERMALPOWER 6691 //Դò -#define NET_DVR_GET_PTZABSOLUTEEX_CAPABILITIES 6695 //ȡ߾PTZλչ -#define NET_DVR_GET_PTZABSOLUTEEX 6696 //ȡ߾PTZλչ -#define NET_DVR_SET_PTZABSOLUTEEX 6697 //ø߾PTZλչ - -#define NET_DVR_GET_CRUISE_CAPABILITIES 6698 //ȡ豸Ѳģʽ -#define NET_DVR_GET_CRUISE_INFO 6699 //ȡ豸Ѳģʽ -#define NET_DVR_GET_TEMP_HUMI_CAPABILITIES 6700 //ʪʵʱȡ -#define NET_DVR_GET_TEMP_HUMI_INFO 6701 //ʪʵʱȡ - -#define NET_DVR_GET_MANUALTHERM_INFO 6706 //ֶʵʱȡ -#define NET_DVR_GET_MANUALTHERM_CAPABILITIES 6707 //ȡֶʵʱ -#define NET_DVR_SET_MANUALTHERM 6708 //ֶ - -//DVR96000 -#define NET_DVR_GET_ACCESSORY_CARD_INFO_CAPABILITIES 6709 //ȡϢ -#define NET_DVR_GET_ACCESSORY_CARD_INFO 6710 //ȡϢ - -#define NET_DVR_GET_THERMINTELL_CAPABILITIES 6711 //ȡȳܻ -#define NET_DVR_GET_THERMINTELL 6712 //ȡȳܻò -#define NET_DVR_SET_THERMINTELL 6713 //ȳܻò -#define NET_GET_CRUISEPOINT_V50 6714 //ȡѲ·չ -#define NET_DVR_GET_MANUALTHERM_BASIC_CAPABILITIES 6715 //ȡֶ» -#define NET_DVR_SET_MANUALTHERM_BASICPARAM 6716 //ֶ» -#define NET_DVR_GET_MANUALTHERM_BASICPARAM 6717 //ȡֶ» - -#define NET_DVR_GET_FIRESHIELDMASK_CAPABILITIES 6718 //ȡ - -#define NET_DVR_GET_HIDDEN_INFORMATION_CAPABILITIES 6720 //Ϣ -#define NET_DVR_GET_HIDDEN_INFORMATION 6721 //ȡϢ -#define NET_DVR_SET_HIDDEN_INFORMATION 6722 //Ϣ - -#define NET_DVR_SET_FIRESHIELDMASK_CFG 6723 //ûβ -#define NET_DVR_GET_FIRESHIELDMASK_CFG 6724 //ȡβ - -#define NET_DVR_GET_SMOKESHIELDMASK_CAPABILITIES 6725 //ȡ -#define NET_DVR_SET_SMOKESHIELDMASK_CFG 6726 //β -#define NET_DVR_GET_SMOKESHIELDMASK_CFG 6727 //ȡβ - -#define NET_DVR_GET_AREASCAN_CAPABILITIES 6728 //ȡɨ -#define NET_DVR_GET_AREASCAN_CFG 6730 //ȡɨ - -#define NET_DVR_DEL_AREASCAN_CFG 6731 //ɨɾ -#define NET_DVR_AREASCAN_INIT_CTRL 6732 //ɨ -#define NET_DVR_AREASCAN_CONFIRM_CTRL 6733 //ɨ -#define NET_DVR_AREASCAN_STOP_CTRL 6734 //ֹͣɨ -#define NET_DVR_SAVE_SCANZOOM_CTRL 6735 //ɨ豶ʣ浱ǰѧΪɨ豶 -#define NET_DVR_GET_SCANZOOM_CTRL 6736 //ȡɨ豶ʣԤеĹѧʷصǰɨ豶ʡ -#define NET_DVR_DEL_FIRESHIELDMASK_CTRL 6737 //ɾ -#define NET_DVR_DEL_SMOKESHIELDMASK_CTRL 6738 //ɾ - -#define NET_DVR_GET_DENSEFOG_EVENT_TRIGGER 6740 //ȡ -#define NET_DVR_SET_DENSEFOG_EVENT_TRIGGER 6741 //ô -#define NET_DVR_SET_DENSEFOGDETECTION_CFG 6742 //ô -#define NET_DVR_GET_DENSEFOGDETECTION_CFG 6743 //ȡ -#define NET_DVR_GET_DENSEFOGDETECTION_CAPABILITIES 6744 //ȡ - -#define NET_DVR_GET_THERMOMETRY_SCHEDULE_CAPABILITIES 6750 //ȡ¼Ⲽʱ -#define NET_DVR_GET_THERMOMETRY_SCHEDULE 6751 //ȡ¼Ⲽʱ -#define NET_DVR_SET_THERMOMETRY_SCHEDULE 6752 //ò¼Ⲽʱ -#define NET_DVR_GET_TEMPERTURE_SCHEDULE_CAPABILITIES 6753 //ȡ²ʱ -#define NET_DVR_GET_TEMPERTURE_SCHEDULE 6754 //ȡ²ʱ -#define NET_DVR_SET_TEMPERTURE_SCHEDULE 6755 //²ʱ -#define NET_DVR_GET_SEARCH_LOG_CAPABILITIES 6756 //־֧ -#define NET_DVR_GET_VEHICLEFLOW 6758 //ȡ -#define NET_DVR_GET_IPADDR_FILTERCFG_V50 6759 //ȡIPַ˲չ -#define NET_DVR_SET_IPADDR_FILTERCFG_V50 6760 //IPַ˲չ -#define NET_DVR_GET_TEMPHUMSENSOR_CAPABILITIES 6761 //ȡʪȴ -#define NET_DVR_GET_TEMPHUMSENSOR 6762 //ȡʪȴЭ -#define NET_DVR_SET_TEMPHUMSENSOR 6763 //ʪȴЭ - -#define NET_DVR_GET_THERMOMETRY_MODE_CAPABILITIES 6764 //ȡģʽ -#define NET_DVR_GET_THERMOMETRY_MODE 6765 //ȡģʽ -#define NET_DVR_SET_THERMOMETRY_MODE 6766 //òģʽ - -#define NET_DVR_GET_THERMAL_PIP_CAPABILITIES 6767 //ȡȳл -#define NET_DVR_GET_THERMAL_PIP 6768 //ȡȳлò -#define NET_DVR_SET_THERMAL_PIP 6769 //ȳлò -#define NET_DVR_GET_THERMAL_INTELRULEDISPLAY_CAPABILITIES 6770 //ȡȳܹʾ -#define NET_DVR_GET_THERMAL_INTELRULE_DISPLAY 6771 //ȡȳܹʾ -#define NET_DVR_SET_THERMAL_INTELRULE_DISPLAY 6772 //ȳܹʾ -#define NET_DVR_GET_THERMAL_ALGVERSION 6773 //ȡȳ㷨汾 -#define NET_DVR_GET_CURRENT_LOCK_CAPABILITIES 6774 //ȡ -#define NET_DVR_GET_CURRENT_LOCK 6775 //ȡò -#define NET_DVR_SET_CURRENT_LOCK 6776 //õò - -#define NET_DVR_DEL_MANUALTHERM_RULE 6778 //ɾֶ¹ - -#define NET_DVR_GET_UPGRADE_INFO 6779 //ȡϢ - -#define NET_DVR_SWITCH_TRANSFER 7000 - -#define NET_DVR_GET_MB_POWERCTRLPARA 8000//ȡƲ -#define NET_DVR_SET_MB_POWERCTRLPARA 8001 //Ʋ -#define NET_DVR_GET_AUTOBACKUPPARA 8002//ȡԶݲ -#define NET_DVR_SET_AUTOBACKUPPARA 8003 //Զݲ -#define NET_DVR_GET_MB_GPSPARA 8004//ȡGPS -#define NET_DVR_SET_MB_GPSPARA 8005 //GPS -#define NET_DVR_GET_MB_SENSORINPARA 8006//ȡSENSOR -#define NET_DVR_SET_MB_SENSORINPARA 8007 //SENSOR -#define NET_DVR_GET_GSENSORPARA 8008//ȡGSENSOR -#define NET_DVR_SET_GSENSORPARA 8009 //GSENSOR -#define NET_DVR_GET_MB_DOWNLOADSVRPARA 8010//ȡط -#define NET_DVR_SET_MB_DOWNLOADSVRPARA 8011//ط -#define NET_DVR_GET_PLATERECOG_PARA 8012//ȡʶ -#define NET_DVR_SET_PLATERECOG_PARA 8013//óʶ -#define NET_DVR_GET_ENFORCESYS_PARA 8014//ȡ -#define NET_DVR_SET_ENFORCESYS_PARA 8015//ó -#define NET_DVR_GET_GPS_DATA 8016 //ȡGPS -#define NET_DVR_GET_ANALOG_ALARMINCFG 8017//ȡģⱨ -#define NET_DVR_SET_ANALOG_ALARMINCFG 8018//ģⱨ - -#define NET_DVR_GET_SYSTEM_CAPABILITIES 8100 //ȡ豸ϵͳ -#define NET_DVR_GET_EAGLEEYE_CAPABILITIES 8101 //ȡ豸ӥ -#define NET_DVR_GET_SLAVECAMERA_CALIB_V51 8102 //ȡ궨V51 -#define NET_DVR_SET_SLAVECAMERA_CALIB_V51 8103 //ô궨V51 -#define NET_DVR_SET_GOTOSCENE 8105 //תָijID - -//IKEϵNVRƷ -#define NET_DVR_GET_PTZ_NOTIFICATION 8201//ȡͨ¼PTZ -#define NET_DVR_SET_PTZ_NOTIFICATION 8202//öͨ¼PTZ -/*****************************ǽ start****************************/ -#define NET_DVR_MATRIX_WALL_SET 9001 //õǽĻ -#define NET_DVR_MATRIX_WALL_GET 9002 //ȡǽĻ -#define NET_DVR_WALLWIN_GET 9003 //ǽлȡڲ -#define NET_DVR_WALLWIN_SET 9004 //ǽôڲ -#define NET_DVR_WALLWINPARAM_SET 9005 //õǽز -#define NET_DVR_WALLWINPARAM_GET 9006 //ȡǽز -#define NET_DVR_WALLSCENEPARAM_GET 9007 //óģʽ -#define NET_DVR_WALLSCENEPARAM_SET 9008 //ȡģʽ -#define NET_DVR_MATRIX_GETWINSTATUS 9009 //ȡڽ״̬ -#define NET_DVR_GET_WINASSOCIATEDDEVINFO 9010 //ǽлȡӦԴϢ -#define NET_DVR_WALLOUTPUT_GET 9011 //ǽлȡʾ -#define NET_DVR_WALLOUTPUT_SET 9012 //ǽʾ -#define NET_DVR_GET_UNITEDMATRIXSYSTEM 9013 //ǽлȡӦԴ -#define NET_DVR_GET_WALL_CFG 9014 //ȡǽȫֲ -#define NET_DVR_SET_WALL_CFG 9015 //õǽȫֲ -#define NET_DVR_CLOSE_ALL_WND 9016 //رд -#define NET_DVR_SWITCH_WIN_TOP 9017 //ö -#define NET_DVR_SWITCH_WIN_BOTTOM 9018 //õ - -#define NET_DVR_CLOSE_ALL_WND_V41 9019 //ǽرдv41жǽ -#define NET_DVR_GET_WALL_WINDOW_V41 9020 //ȡǽеĴv41 -#define NET_DVR_SET_WALL_WINDOW_V41 9021 //õǽеĴv41 -#define NET_DVR_GET_CURRENT_SCENE_V41 9022 //ȡǰǽʹõijv41 -#define NET_DVR_GET_WALL_SCENE_PARAM_V41 9023 //ȡǰǽʹõijv41 -#define NET_DVR_SET_WALL_SCENE_PARAM_V41 9024 //õǰǽʹõijv41 -#define NET_DVR_GET_MATRIX_LOGO_CFG 9025 //ȡlogo -#define NET_DVR_SET_MATRIX_LOGO_CFG 9026 //logo -#define NET_DVR_GET_WIN_LOGO_CFG 9027 //ȡlogo -#define NET_DVR_SET_WIN_LOGO_CFG 9028 //ôlogo -#define NET_DVR_DELETE_LOGO 9029 //ɾlogo -#define NET_DVR_SET_DISPLAY_EFFECT_CFG 9030 //ʾЧv41 -#define NET_DVR_GET_DISPLAY_EFFECT_CFG 9031 //ȡʾЧv41 -#define NET_DVR_DEC_PLAY_REMOTE_FILE 9032 //벥Զļ -#define NET_DVR_DEC_PLAY_REMOTE_FILE_V50 9314 //벥ԶļV50 -#define NET_DVR_GET_WIN_ZOOM_STATUS 9033 //ȡڵӷŴ״̬ -#define NET_DVR_GET_ALL_MATRIX_LOGOCFG 9034 //ȡlogo - -/*****************************ǽ end******************************/ - -/*******************************LCDƴ begin******************************************/ -#define NET_DVR_SIMULATE_REMOTE_CONTROL 9035 //ģңذ 2013-09-05 -#define NET_DVR_SET_SCREEN_SIGNAL_CFG 9036 //ĻźԴ -#define NET_DVR_GET_SCREEN_SIGNAL_CFG 9037 //ȡĻźԴ -#define NET_DVR_SET_SCREEN_SPLICE_CFG 9038 //Ļƴ -#define NET_DVR_GET_SCREEN_SPLICE_CFG 9039 //ȡĻƴ -#define NET_DVR_GET_SCREEN_FAN_WORK_MODE 9040 //ȡȹʽ -#define NET_DVR_SET_SCREEN_FAN_WORK_MODE 9041 //÷ȹʽ -#define NET_DVR_SHOW_SCREEN_WORK_STATUS 9044 //ʾĻ״̬ -#define NET_DVR_GET_VGA_CFG 9045 //ȡVGAź -#define NET_DVR_SET_VGA_CFG 9046 //VGAź -#define NET_DVR_GET_SCREEN_MENU_CFG 9048 //ȡĻ˵ -#define NET_DVR_SET_SCREEN_MENU_CFG 9049 //Ļ˵ -#define NET_DVR_SET_SCREEN_DISPLAY_CFG 9050 //ʾ 2013-08-28 -#define NET_DVR_GET_SCREEN_DISPLAY_CFG 9051 //ȡʾ 2013-08-28 - -#define NET_DVR_SET_FUSION_CFG 9052 //ͼںϲ -#define NET_DVR_GET_FUSION_CFG 9053 //ȡͼںϲ - -#define NET_DVR_SET_PIP_CFG 9060 //ûл -#define NET_DVR_GET_PIP_CFG 9061 //ȡл -#define NET_DVR_SET_DEFOG_LCD 9073 //͸ -#define NET_DVR_GET_DEFOG_LCD 9074 //ȡ͸ -#define NET_DVR_SHOW_IP 9075 //ʾIP -#define NET_DVR_SCREEN_MAINTENANCE_WALL 9076 //Ļάǽ -#define NET_DVR_SET_SCREEN_POS 9077 //Ļλò -#define NET_DVR_GET_SCREEN_POS 9078 //ȡĻλò -/*******************************LCDƴ end******************************************/ - -/*******************************LCDƴV1.2 begin******************************************/ -#define NET_DVR_SCREEN_INDEX_SET 9079 //Ļز -#define NET_DVR_SCREEN_INDEX_GET 9080 //Ļزȡ -#define NET_DVR_SCREEN_SPLICE_SET 9081 //ĻƴӲ -#define NET_DVR_SCREEN_SPLICE_GET 9082 //ȡĻƴӲ -#define NET_DVR_SET_SCREEN_PARAM 9083 //Ļز -#define NET_DVR_GET_SCREEN_PARAM 9084 //ȡĻز -#define NET_DVR_SET_SWITCH_CFG 9085 //öʱػ -#define NET_DVR_GET_SWITCH_CFG 9086 //ȡʱػ -#define NET_DVR_SET_POWERON_DELAY_CFG 9087 //ʱ -#define NET_DVR_GET_POWERON_DELAY_CFG 9088 //ȡʱ -#define NET_DVR_SET_SCREEN_POSITION 9089 //Ļλò -#define NET_DVR_GET_SCREEN_POSITION 9090 //ȡĻλò -#define NET_DVR_SCREEN_SCENE_CONTROL 9091 //Ļ -#define NET_DVR_GET_CURRENT_SCREEN_SCENE 9092 //ȡǰĻ -#define NET_DVR_GET_SCREEN_SCENE_PARAM 9093 //ȡĻģʽ -#define NET_DVR_SET_SCREEN_SCENE_PARAM 9094 //Ļģʽ -#define NET_DVR_GET_EXTERNAL_MATRIX_RELATION 9095 //ȡӾϵ -#define NET_DVR_GET_LCD_AUDIO_CFG 9096 //ȡLCDĻƵ -#define NET_DVR_SET_LCD_AUDIO_CFG 9097 //LCDĻƵ -#define NET_DVR_GET_LCD_WORK_STATE 9098 //ȡLCDĻ״̬ -#define NET_DVR_GET_BOOT_LOGO_CFG 9099 //ȡLCDĻlogoʾ -#define NET_DVR_SET_BOOT_LOGO_CFG 9100 //LCDĻlogoʾ - -/*******************************LCDƴV1.2 end ******************************************/ -#define NET_DVR_GET_STREAM_DST_COMPRESSIONINFO 9101 //ȡĿѹ -#define NET_DVR_SET_STREAM_DST_COMPRESSIONINFO 9102 //Ŀѹ -#define NET_DVR_GET_STREAM_TRANS_STATUS 9103 //ȡ״̬ -#define NET_DVR_GET_DEVICE_TRANS_STATUS 9104 //ȡ豸ת״̬ -#define NET_DVR_GET_ALLSTREAM_SRC_INFO 9105 //ȡϢ -#define NET_DVR_GET_BIG_SCREEN_AUDIO 9106 //ȡƵϢ -#define NET_DVR_SET_BIG_SCREEN_AUDIO 9107 //ôƵϢ -#define NET_DVR_GET_DEV_WORK_MODE 9108 //ȡת豸ģʽ -#define NET_DVR_SET_DEV_WORK_MODE 9109 //ת豸ģʽ -#define NET_DVR_APPLY_TRANS_CHAN 9110 //IDתͨ -#define NET_DVR_GET_DISPCHAN_CFG 9111 //ȡʾͨ -#define NET_DVR_SET_DISPCHAN_CFG 9112 //ʾͨ - -#define NET_DVR_GET_DEC_CHAN_STATUS 9113 //ȡͨ״̬ -#define NET_DVR_GET_DISP_CHAN_STATUS 9114 //ȡʾͨ״̬ -#define NET_DVR_GET_ALARMIN_STATUS 9115 //ȡ״̬ -#define NET_DVR_GET_ALARMOUT_STATUS 9116 //ȡ״̬ -#define NET_DVR_GET_AUDIO_CHAN_STATUS 9117 //ȡԽ״̬ - -#define NET_DVR_GET_VIDEO_AUDIOIN_CFG 9118 //ȡƵƵ -#define NET_DVR_SET_VIDEO_AUDIOIN_CFG 9119 //ƵƵ - -#define NET_DVR_SET_BASEMAP_CFG 9120 //õͼ -#define NET_DVR_GET_BASEMAP_CFG 9121 //ȡͼ -#define NET_DVR_GET_VIRTUAL_SCREEN_CFG 9122 //ȡϵͳ -#define NET_DVR_SET_VIRTUAL_SCREEN_CFG 9123 //óϵͳ -#define NET_DVR_GET_BASEMAP_WIN_CFG 9124 //ȡͼڲ -#define NET_DVR_SET_BASEMAP_WIN_CFG 9125 //õͼڲ -#define NET_DVR_DELETE_PICTURE 9126 //ɾͼ -#define NET_DVR_GET_BASEMAP_PIC_INFO 9127 //ȡͼͼƬϢ -#define NET_DVR_SET_BASEMAP_WIN_CFG_V40 9128 //õͼڲV40 -#define NET_DVR_GET_BASEMAP_WIN_CFG_V40 9129 //ȡͼڲV40 - -#define NET_DVR_GET_DEC_VCA_CFG 9130 //ȡܱ -#define NET_DVR_SET_DEC_VCA_CFG 9131 //ýܱ - -#define NET_DVR_SET_VS_INPUT_CHAN_INIT_ALL 9132 //ʼӰͨ -#define NET_DVR_GET_VS_INPUT_CHAN_INIT_ALL 9133 //ȡӰͨijʼ -#define NET_DVR_GET_VS_INPUT_CHAN_INIT 9134 //ȡͨijʼ -#define NET_DVR_GET_VS_INPUT_CHAN_CFG 9135 //ȡͨò - -#define NET_DVR_GET_TERMINAL_CONFERENCE_STATUS 9136 //ȡն˻״̬ -#define NET_DVR_GET_TERMINAL_INPUT_CFG_CAP 9137 //ȡն -#define NET_DVR_GET_TERMINAL_INPUT_CFG 9138 //ȡնƵ -#define NET_DVR_SET_TERMINAL_INPUT_CFG 9139 //նƵ - -#define NET_DVR_GET_CONFERENCE_REGION_CAP 9140 //ȡն˻ -#define NET_DVR_GET_CONFERENCE_REGION 9141 //ȡն˻ -#define NET_DVR_SET_CONFERENCE_REGION 9142 //ն˻ -#define NET_DVR_GET_TERMINAL_CALL_CFG_CAP 9143 //ȡն˺ -#define NET_DVR_GET_TERMINAL_CALL_CFG 9144 //ȡն˺в -#define NET_DVR_SET_TERMINAL_CALL_CFG 9145 //ն˺в -#define NET_DVR_GET_TERMINAL_CTRL_CAP 9146 //ȡն˺п -#define NET_DVR_TERMINAL_CTRL 9147 //ն˺п -#define NET_DVR_GET_CALL_QUERY_CAP 9148 //ȡ -#define NET_DVR_GET_CALLINFO_BY_COND 9149 //ѯм¼ - -#define NET_DVR_SET_FUSION_SCALE 9150 //ͼںϹģ -#define NET_DVR_GET_FUSION_SCALE 9151 //ȡͼںϹģ - -#define NET_DVR_GET_VCS_CAP 9152 //ȡMCU - - -#define NET_DVR_GET_TERMINAL_GK_CFG_CAP 9153 //ȡնעGK -#define NET_DVR_GET_TERMINAL_GK_CFG 9154 //ȡնעGK -#define NET_DVR_SET_TERMINAL_GK_CFG 9155 //նעGK -#define NET_DVR_GET_MCU_CONFERENCESEARCH_CAP 9156 //ȡMCU豸 -#define NET_DVR_SET_VS_INPUT_CHAN_CFG 9157 //ͨò -#define NET_DVR_GET_VS_NETSRC_CFG 9158 //Դ -#define NET_DVR_SET_VS_NETSRC_CFG 9159 //Դ - -#define NET_DVR_GET_LLDP_CFG 9160 //ȡLLDP -#define NET_DVR_SET_LLDP_CFG 9161 //LLDP -#define NET_DVR_GET_LLDP_CAP 9162 //ȡLLDP -#define NET_DVR_GET_FIBER_CONVERT_BASIC_INFO 9163 //ȡշϢ -#define NET_DVR_GET_FIBER_CONVERT_WORK_STATE 9164 //ȡշ״ -#define NET_DVR_GET_FIBER_CONVERT_TOPOLOGY 9165 //ȡշϢ -#define NET_DVR_GET_FC_PORT_REMARKS 9166 //ȡշ˿עͲ -#define NET_DVR_SET_FC_PORT_REMARKS 9167 //ùշ˿עͲ -#define NET_DVR_GET_PORT_REMARKS_CAP 9168 //ȡշ˿ע - -#define NET_DVR_GET_MCU_CONFERENCECONTROL_CAP 9169 //ȡ -#define NET_DVR_GET_MCU_TERMINALCONTROL_CAP 9170 //ȡն˿ -#define NET_DVR_GET_MCU_TERIMINALGROUP_CAP 9171 //ȡն˷ -#define NET_DVR_GET_MCU_TERMINAL_CAP 9174 //ȡն˹ -#define NET_DVR_GET_MCU_CONFERENCE_CAP 9175 //ȡ -#define NET_DVR_GET_MCU_GK_CFG_CAP 9176 //ȡMCUGK -#define NET_DVR_GET_MCU_GK_SERVER_CAP 9177 //ȡMCUGK - -#define NET_DVR_GET_EDID_CFG_FILE_INFO 9178 //ȡEDIDļϢ -#define NET_DVR_GET_EDID_CFG_FILE_INFO_LIST 9179 //ȡEDIDļϢ -#define NET_DVR_SET_EDID_CFG_FILE_INFO 9180 //EDIDļϢ -#define NET_DVR_DEL_EDID_CFG_FILE_INFO 9181 //ɾEDIDļϢļ -#define NET_DVR_GET_EDID_CFG_FILE_INFO_CAP 9182 //EDIDļϢ - -#define NET_DVR_GET_SUBWND_DECODE_OSD 9183 //ȡӴڽOSDϢ -#define NET_DVR_GET_SUBWND_DECODE_OSD_ALL 9184 //ȡӴڽOSDϢ -#define NET_DVR_SET_SUBWND_DECODE_OSD 9185 //ӴڽOSDϢ -#define NET_DVR_GET_SUBWND_DECODE_OSD_CAP 9186 //ȡӴڽOSDϢ -#define NET_DVR_GET_DECODE_CHANNEL_OSD 9187 //ȡͨOSDϢ -#define NET_DVR_SET_DECODE_CHANNEL_OSD 9188 //ýͨOSDϢ - - -#define NET_DVR_GET_OUTPUT_PIC_INFO 9200 //ȡͼƬ -#define NET_DVR_SET_OUTPUT_PIC_INFO 9201 //ͼƬ -#define NET_DVR_GET_OUTPUT_PIC_WIN_CFG 9202 //ȡͼƬڲ -#define NET_DVR_SET_OUTPUT_PIC_WIN_CFG 9203 //ͼƬڲ -#define NET_DVR_GET_OUTPUT_ALL_PIC_WIN_CFG 9204 //ȡͼƬڲ -#define NET_DVR_DELETE_OUPUT_PIC 9205 //ɾͼƬ -#define NET_DVR_GET_OUTPUT_OSD_CFG 9206 //ȡOSD -#define NET_DVR_SET_OUTPUT_OSD_CFG 9207 //OSD -#define NET_DVR_GET_OUTPUT_ALL_OSD_CFG 9208 //ȡOSD -#define NET_DVR_GET_CHAN_RELATION 9209 //ȡͨԴ -#define NET_DVR_SET_CHAN_RELATION 9210 //ñͨԴ -#define NET_DVR_GET_ALL_CHAN_RELATION 9211 //ȡбͨԴ -#define NET_DVR_GET_NS_RING_CFG 9212 //ȡ˰廷 -#define NET_DVR_SET_NS_RING_CFG 9213 //ù˰廷 -#define NET_DVR_GET_NS_RING_STATUS 9214 //ȡ˰廷״̬ -#define NET_DVR_GET_OPTICAL_PORT_INFO 9220 //ȡϢ -#define NET_DVR_SET_OPTICAL_PORT_INFO 9221 //ùϢ -#define NET_DVR_GET_OPTICAL_CHAN_RELATE_CFG 9222 //ȡͨԴ -#define NET_DVR_SET_OPTICAL_CHAN_RELATE_CFG 9223 //ñͨԴ -#define NET_DVR_GET_WIN_ROAM_SWITCH_CFG 9224 //ȡοز -#define NET_DVR_SET_WIN_ROAM_SWITCH_CFG 9225 //ýοز -#define NET_DVR_START_SCREEN_CRTL 9226 //ʼĻ -#define NET_DVR_GET_SCREEN_FLIE_LIST 9227 //ȡĻļб -#define NET_DVR_GET_SCREEN_FILEINFO 9228 //ȡĻļϢ -#define NET_DVR_SET_SCREEN_FILEINFO 9229 //ĻļϢ - -/*******************************СLEDʾ begin***************************************/ -#define NET_DVR_GET_LED_OUTPUT_CFG 9230 //ȡͿ -#define NET_DVR_SET_LED_OUTPUT_CFG 9231 //÷Ϳ -#define NET_DVR_GET_LED_OUTPUT_PORT_CFG 9232 //ȡLEDͿ˿ڲ -#define NET_DVR_SET_LED_OUTPUT_PORT_CFG 9233 //LEDͿ˿ڲ -#define NET_DVR_GET_LED_DISPLAY_AREA_CFG 9234 //ȡLEDͿʾ -#define NET_DVR_SET_LED_DISPLAY_AREA_CFG 9235 //LEDͿʾ -#define NET_DVR_GET_LED_PORT_CFG 9236 //ȡLEDͿ˿ڲ -#define NET_DVR_SET_LED_PORT_CFG 9237 //LEDͿ˿ڲ -#define NET_DVR_GET_LED_DISPLAY_CFG 9238 //ȡLEDͿʾ -#define NET_DVR_SET_LED_DISPLAY_CFG 9239 //LEDͿʾ -#define NET_DVR_GET_ALL_LED_PORT_CFG 9240 //ȡLEDͿijӦ -#define NET_DVR_SAVE_LED_CONFIGURATION 9241 //̻ -#define NET_DVR_GET_LED_TEST_SIGNAL_CFG 9242 //ȡLEDźŲ -#define NET_DVR_SET_LED_TEST_SIGNAL_CFG 9243 //LEDźŲ -#define NET_DVR_GET_LED_NOSIGNAL_CFG 9244 //ȡLEDźʾģʽ -#define NET_DVR_SET_LED_NOSIGNAL_CFG 9245 //LEDźʾģʽ -#define NET_DVR_GET_LED_INPUT_CFG 9246 //ȡLEDͿ -#define NET_DVR_SET_LED_INPUT_CFG 9247 //LEDͿ -#define NET_DVR_GET_LED_RECV_GAMMA_CFG 9248 //ȡտGAMMA -#define NET_DVR_SET_LED_RECV_GAMMA_CFG 9249 //ýտGAMMA -#define NET_DVR_GET_LED_RECV_CFG 9250 //ȡտ -#define NET_DVR_SET_LED_RECV_CFG 9251 //ýտ -#define NET_DVR_GET_LED_RECV_ADVANCED_CFG 9252 //ȡտ߼ -#define NET_DVR_SET_LED_RECV_ADVANCED_CFG 9253 //ýտ߼ -#define NET_DVR_GET_LED_SCREEN_DISPLAY_CFG 9254 //ȡLEDʾ -#define NET_DVR_SET_LED_SCREEN_DISPLAY_CFG 9255 //LEDʾ -/*******************************СLEDʾ end*****************************************/ - -#define NET_DVR_GET_INSERTPLAY_PROGRESS 9273 //ȡ岥 - -#define NET_DVR_GET_SCREEN_CONFIG 9260 //ȡĻ -#define NET_DVR_SET_SCREEN_CONFIG 9261 //Ļ -#define NET_DVR_GET_SCREEN_CONFIG_CAP 9262 //ȡĻ - -#define NET_DVR_GET_SCHEDULE_PUBLISH_PROGRESS 9271 //ȡճ̷ -#define NET_DVR_GET_PUBLISH_UPGRADE_PROGRESS 9272 //ȡϢն - -#define NET_DVR_GET_INPUT_BOARD_CFG 9281 //ȡϢ -#define NET_DVR_GET_INPUT_BOARD_CFG_LIST 9282 //ȡϢб -#define NET_DVR_SET_INPUT_BOARD_CFG 9283 //Ϣ - -#define NET_DVR_GET_INPUT_SOURCE_TEXT_CAP 9284 //ȡԴַ -#define NET_DVR_GET_INPUT_SOURCE_TEXT_CFG 9285 //ȡԴַӲ -#define NET_DVR_GET_INPUT_SOURCE_TEXT_CFG_LSIT 9286 //ȡԴַӲб -#define NET_DVR_SET_INPUT_SOURCE_TEXT_CFG 9287 //ԴַӲ -#define NET_DVR_SET_INPUT_SOURCE_TEXT_CFG_LIST 9288 //ԴַӲб -#define NET_DVR_GET_INPUT_SOURCE_RESOLUTION_CAP 9289 //ȡԴԶֱ -#define NET_DVR_GET_INPUT_SOURCE_RESOLUTION_CFG 9290 //ȡԴԶֱʲ -#define NET_DVR_GET_INPUT_SOURCE_RESOLUTION_CFG_LIST 9291 //ȡԴԶֱб -#define NET_DVR_SET_INPUT_SOURCE_RESOLUTION_CFG 9292 //ԴԶֱʲ -#define NET_DVR_SET_INPUT_SOURCE_RESOLUTION_CFG_LIST 9293 //ԴԶֱʲ -#define NET_DVR_GET_LED_AREA_INFO_LIST 9295 //ȡLEDб - -#define NET_DVR_GET_DISPINPUT_CFG 9296 //ȡʾ -#define NET_DVR_GET_DISPINPUT_CFG_LIST 9297 //ȡʾ -#define NET_DVR_SET_DISPINPUT_CFG 9298 //ʾ -#define NET_DVR_GET_DISPINPUT_CFG_CAP 9299 //ȡʾ -#define NET_DVR_GET_CURRENT_VALID_PORT 9300 //ȡǰЧ,ӵĶ˿ - -#define NET_DVR_SET_ONLINE_UPGRADE 9301 // -#define NET_DVR_GET_ONLINEUPGRADE_PROGRESS 9302 //ȡ -#define NET_DVR_GET_FIRMWARECODE 9303 //ȡʶ -#define NET_DVR_GET_ONLINEUPGRADE_SERVER 9304 //ȡ״̬ -#define NET_DVR_GET_ONLINEUPGRADE_VERSION 9305 //ȡ°汾Ϣ -#define NET_DVR_GET_RECOMMEN_VERSION 9306 //ǷƼ˰汾 -#define NET_DVR_GET_ONLINEUPGRADE_ABILITY 9309 //ȡ - -#define NET_DVR_GET_FIBER_CONVERT_BASIC_INFO_V50 9310 //ȡԶշϢV50 -#define NET_DVR_GET_FIBER_CONVERT_WORK_STATE_V50 9311 //ȡԶշ״̬ - -#define NET_SDK_LED_SCREEN_CHECK 9312 //LEDĻУ -#define NET_SDK_GENERATE_OUTPUT_CONTROL 9315 //ͨչģ -#define NET_SDK_GET_MATRIX_STATUS_V51 9313 /*ȡƵۺƽ̨״̬*/ - -//DS-19D2000-S V2.0 ò -#define NET_DVR_GET_ALARM_LINKAGE_CFG 9316 //ȡò -#define NET_DVR_SET_ALARM_LINKAGE_CFG 9317 //öò - - -#define NET_DVR_GET_RS485_WORK_MODE 10001 //ȡRS485ڹģʽ -#define NET_DVR_SET_RS485_WORK_MODE 10002 //RS485ڹģʽ -#define NET_DVR_GET_SPLITTER_TRANS_CHAN_CFG 10003 //ȡ͸ͨ -#define NET_DVR_SET_SPLITTER_TRANS_CHAN_CFG 10004 //͸ͨ - -#define NET_DVR_GET_RS485_PROTOCOL_VERSION 10301 //ȡRS485Э汾Ϣ -#define NET_DVR_ALARMHOST_REGISTER_DETECTOR 10302 //Զע̽ - -#define NET_DVR_GET_SIP_CFG 11001 //IPӻȡSIP -#define NET_DVR_SET_SIP_CFG 11002 //IPӻSIP -#define NET_DVR_GET_IP_VIEW_DEVCFG 11003 //ȡIPԽֻ -#define NET_DVR_SET_IP_VIEW_DEVCFG 11004 //IPԽֻ -#define NET_DVR_GET_IP_VIEW_AUDIO_CFG 11005 //ȡIPԽֻƵ -#define NET_DVR_SET_IP_VIEW_AUDIO_CFG 11006 //IPԽֻƵ -#define NET_DVR_GET_IP_VIEW_CALL_CFG 11007 //ȡIPԽֻв -#define NET_DVR_SET_IP_VIEW_CALL_CFG 11008 //IPԽֻв -#define NET_DVR_GET_AUDIO_LIMIT_ALARM_CFG 11009 //ȡò -#define NET_DVR_SET_AUDIO_LIMIT_ALARM_CFG 11010 //ò -#define NET_DVR_GET_BUTTON_DOWN_ALARM_CFG 11011 //ȡť¸澯ò -#define NET_DVR_SET_BUTTON_DOWN_ALARM_CFG 11012 //ðť¸澯ò - -#define NET_DVR_GET_ISCSI_CFG 11070 // ȡISCSI洢Э -#define NET_DVR_SET_ISCSI_CFG 11071 // ȡISCSI洢Э - -#define NET_DVR_GET_SECURITYMODE 12004 //ȡǰȫģʽ -//2013-11-21 ȡ豸ǰ¶Ⱥʪ -#define NET_DVR_GET_TEMP_HUMI 12005 - -//2014-02-15 IPCԶĿ -#define NET_DVR_SET_ALARMSOUNDMODE 12006 //ñģʽ -#define NET_DVR_GET_ALARMSOUNDMODE 12007 //ȡģʽ - -#define NET_DVR_SET_IPDEVICE_ACTIVATED 13000//ͨNVRǰ豸 -#define NET_DVR_GET_DIGITAL_CHAN_SECURITY_STATUS 13001 //ȡͨӦ豸ȫ״̬ -#define NET_DVR_GET_ACTIVATE_IPC_ABILITY 13003 //ȡNVRIPC - - -/*******************************¥ӶԽ start***********************************/ -#define NET_DVR_GET_VIDEO_INTERCOM_DEVICEID_CFG 16001 //ȡӶԽ豸 -#define NET_DVR_SET_VIDEO_INTERCOM_DEVICEID_CFG 16002 //ÿӶԽ豸 -#define NET_DVR_SET_PRIVILEGE_PASSWORD 16003 //ȨϢ -#define NET_DVR_GET_OPERATION_TIME_CFG 16004 //ȡʱ -#define NET_DVR_SET_OPERATION_TIME_CFG 16005 //òʱ -#define NET_DVR_GET_VIDEO_INTERCOM_RELATEDEV_CFG 16006 //ȡ豸 -#define NET_DVR_SET_VIDEO_INTERCOM_RELATEDEV_CFG 16007 //ù豸 -#define NET_DVR_REMOTECONTROL_NOTICE_DATA 16008 //Ϣ· -#define NET_DVR_REMOTECONTROL_GATEWAY 16009 //Զ̿ -#define NET_DVR_REMOTECONTROL_OPERATION_AUTH 16010 //Ȩ֤ - -#define NET_DVR_GET_VIDEO_INTERCOM_IOIN_CFG 16016 //ȡIO -#define NET_DVR_SET_VIDEO_INTERCOM_IOIN_CFG 16017 //IO -#define NET_DVR_GET_VIDEO_INTERCOM_IOOUT_CFG 16018 //ȡIO -#define NET_DVR_SET_VIDEO_INTERCOM_IOOUT_CFG 16019 //IO -#define NET_DVR_GET_ELEVATORCONTROL_CFG 16020 //ȡݿ -#define NET_DVR_SET_ELEVATORCONTROL_CFG 16021 //ݿ -#define NET_DVR_GET_VIDEOINTERCOM_STREAM 16022 //ȡӶԽͨ -#define NET_DVR_SET_VIDEOINTERCOM_STREAM 16023 //ÿӶԽͨ -#define NET_DVR_GET_WDR_CFG 16024 //ȡ̬ -#define NET_DVR_SET_WDR_CFG 16025 //ÿ̬ -#define NET_DVR_GET_VIS_DEVINFO 16026 //ȡ豸Ϣ -#define NET_DVR_GET_VIS_REGISTER_INFO 16027 //ȡ豸ע豸Ϣ -#define NET_DVR_GET_ELEVATORCONTROL_CFG_V40 16028 //ȡݿ-չ -#define NET_DVR_SET_ELEVATORCONTROL_CFG_V40 16029 //ݿ-չ -#define NET_DVR_GET_CALL_ROOM_CFG 16030 //ȡס -#define NET_DVR_SET_CALL_ROOM_CFG 16031 //ðס -#define NET_DVR_VIDEO_CALL_SIGNAL_PROCESS 16032 //ӻԽ -#define NET_DVR_GET_CALLER_INFO 16033 //ȡгϢ -#define NET_DVR_GET_CALL_STATUS 16034 //ȡͨ״̬ -#define NET_DVR_GET_SERVER_DEVICE_INFO 16035 //ȡ豸б -#define NET_DVR_SET_CALL_SIGNAL 16036 //ӶԽֻ˷ -#define NET_DVR_GET_VIDEO_INTERCOM_ALARM_CFG 16037 //ȡӶԽ¼ -#define NET_DVR_SET_VIDEO_INTERCOM_ALARM_CFG 16038 //ÿӶԽ¼ -#define NET_DVR_GET_RING_LIST 16039 //ѯб - -#define NET_DVR_GET_ROOM_CUSTOM_CFG 16040 //Զȡ -#define NET_DVR_SET_ROOM_CUSTOM_CFG 16041 //Զ -#define NET_DVR_GET_ELEVATORCONTROL_CFG_V50 16042 //ȡݿV50 -#define NET_DVR_SET_ELEVATORCONTROL_CFG_V50 16043 //ݿV50 -#define NET_DVR_GET_SIP_CFG_V50 16044 //ȡSIPV50 -#define NET_DVR_SET_SIP_CFG_V50 16045 //SIPV50 -#define NET_DVR_GET_NOTICE_VIDEO_DATA 16050 //Ƶȡ - -/*******************************¥ӶԽ end***********************************/ - -#define NET_DVR_DEBUGINFO_START 18000 //豸Ϣ -#define NET_DVR_AUTO_TEST_START 18001 //ԶԳӻȡ - -#define NET_DVR_GET_SELFCHECK_RESULT 20000 //ȡ豸Լ -#define NET_DVR_SET_TEST_COMMAND 20001 //òԿ -#define NET_DVR_SET_TEST_DEVMODULE 20002 //òӲģ -#define NET_DVR_GET_TEST_DEVMODULE 20003 //ȡӲģ - -#define NET_DVR_SET_AUTOFOCUS_TEST 20004 //ԶԽ 2013-10-26 -#define NET_DVR_CHECK_USER_STATUS 20005 //ûǷ -#define NET_DVR_GET_TEST_COMMAND 20010 //ȡԿ -#define NET_DVR_GET_DIAL_SWITCH_CFG 20200 //ȡ뿪Ϣ -#define NET_DVR_SET_AGING_TRICK_SCAN 20201 //ϻǰ󹤾߲ -#define NET_DVR_GET_ECCENTRIC_CORRECT_STATE 20202 //ȡȡƫУ״̬ - -#define NET_DVR_GET_THERMOMETRYRULE_TEMPERATURE_INFO 23001 //ֶȡ¹¶Ϣ - -#define NET_DVR_T1_TEST_CMD 131073 //ãͨı־ʲô.ݳȲô1024 -//ʽΪ//ָ豸Ĭϲػ - -// ֶƲ˵ģʽⲿ -#define NET_DVR_GET_MEMU_OUTPUT_MODE 155649 // ȡ˵ģʽ -#define NET_DVR_SET_MEMU_OUTPUT_MODE 155650 // ò˵ģʽ - -/***************************DS9000(_V30) end *****************************/ - -#define NET_DVR_GET_DEV_LOGIN_RET_INFO 16777200 //豸½ز - - -#define NET_DVR_GET_TEST_VERSION_HEAD 268435441 //ȡ԰汾ͷ -#define NET_DVR_SET_TEST_VERSION_HEAD 268435442 //ò԰汾ͷ -#define NET_DVR_GET_TEST_VERSION_HEAD_V1 268435443 //ȡ԰汾ͷ-ڶ -#define NET_DVR_SET_TEST_VERSION_HEAD_V1 268435444 //ò԰汾ͷ-ڶ -#define NET_DVR_GET_TEST_VERSION_HEAD_V2 268435445 //ȡ԰汾ͷ- -#define NET_DVR_SET_TEST_VERSION_HEAD_V2 268435446 //ò԰汾ͷ- - -#define NET_DVR_GET_TEST_VERSION_HEAD_ONLY_0 268435447 //ȡ԰汾ͷ,ǰһ汾 -#define NET_DVR_SET_TEST_VERSION_HEAD_ONLY_0 268435448 //ò԰汾ͷ,ǰһ汾 - - -#define MAX_LOCAL_ADDR_LEN 96 //SOCKS󱾵θ -#define MAX_COUNTRY_NAME_LEN 4 //ҼдƳ - -/************************DVR־ begin***************************/ - -/* */ -// -#define MAJOR_ALARM 0x1 -// -#define MINOR_ALARM_IN 0x1 /* */ -#define MINOR_ALARM_OUT 0x2 /* */ -#define MINOR_MOTDET_START 0x3 /* ƶⱨʼ */ -#define MINOR_MOTDET_STOP 0x4 /* ƶⱨ */ -#define MINOR_HIDE_ALARM_START 0x5 /* ڵʼ */ -#define MINOR_HIDE_ALARM_STOP 0x6 /* ڵ */ -#define MINOR_VCA_ALARM_START 0x7 /*ܱʼ*/ -#define MINOR_VCA_ALARM_STOP 0x8 /*ֹܱͣ*/ -#define MINOR_ITS_ALARM_START 0x09 // ͨ¼ʼ -#define MINOR_ITS_ALARM_STOP 0x0A // ͨ¼ -//2010-11-10 籨־ -#define MINOR_NETALARM_START 0x0b /*籨ʼ*/ -#define MINOR_NETALARM_STOP 0x0c /*籨*/ -//2010-12-16 ־"MINOR_ALARM_IN"ʹ -#define MINOR_NETALARM_RESUME 0x0d /*籨ָ*/ -//2012-4-5 IPC PIRߡȱ -#define MINOR_WIRELESS_ALARM_START 0x0e /* ߱ʼ */ -#define MINOR_WIRELESS_ALARM_STOP 0x0f /* ߱ */ -#define MINOR_PIR_ALARM_START 0x10 /* Ӧʼ */ -#define MINOR_PIR_ALARM_STOP 0x11 /* Ӧ */ -#define MINOR_CALLHELP_ALARM_START 0x12 /* ȱʼ */ -#define MINOR_CALLHELP_ALARM_STOP 0x13 /* ȱ */ -#define MINOR_IPCHANNEL_ALARMIN_START 0x14 //ͨ뿪ʼPCNVRڽյͨMINOR_ALARM_INͨ뿪ʼ10sղMINOR_ALARM_INͨ -#define MINOR_IPCHANNEL_ALARMIN_STOP 0x15 //ͨ뿪ʼͬ -#define MINOR_DETECTFACE_ALARM_START 0x16 /* ⱨʼ */ -#define MINOR_DETECTFACE_ALARM_STOP 0x17 /* ⱨ */ -#define MINOR_VQD_ALARM_START 0x18 //VQD -#define MINOR_VQD_ALARM_STOP 0x19 //VQD -#define MINOR_VCA_SECNECHANGE_DETECTION 0x1a //ⱨ 2013-07-16 - -#define MINOR_SMART_REGION_EXITING_BEGIN 0x1b //뿪⿪ʼ -#define MINOR_SMART_REGION_EXITING_END 0x1c //뿪 -#define MINOR_SMART_LOITERING_BEGIN 0x1d //ǻ⿪ʼ -#define MINOR_SMART_LOITERING_END 0x1e //ǻ - -#define MINOR_VCA_ALARM_LINE_DETECTION_BEGIN 0x20 -#define MINOR_VCA_ALARM_LINE_DETECTION_END 0x21 -#define MINOR_VCA_ALARM_INTRUDE_BEGIN 0x22 //⿪ʼ -#define MINOR_VCA_ALARM_INTRUDE_END 0x23 // -#define MINOR_VCA_ALARM_AUDIOINPUT 0x24 //Ƶ쳣 -#define MINOR_VCA_ALARM_AUDIOABNORMAL 0x25 //ǿͻ -#define MINOR_VCA_DEFOCUS_DETECTION_BEGIN 0x26 //齹⿪ʼ -#define MINOR_VCA_DEFOCUS_DETECTION_END 0x27 //齹 - -//NVR -#define MINOR_EXT_ALARM 0x28/*IPCⲿ*/ -#define MINOR_VCA_FACE_ALARM_BEGIN 0x29 /*⿪ʼ*/ -#define MINOR_SMART_REGION_ENTRANCE_BEGIN 0x2a //⿪ʼ -#define MINOR_SMART_REGION_ENTRANCE_END 0x2b // -#define MINOR_SMART_PEOPLE_GATHERING_BEGIN 0x2c //Աۼ⿪ʼ -#define MINOR_SMART_PEOPLE_GATHERING_END 0x2d //Աۼ -#define MINOR_SMART_FAST_MOVING_BEGIN 0x2e //˶⿪ʼ -#define MINOR_SMART_FAST_MOVING_END 0x2f //˶ - -#define MINOR_VCA_FACE_ALARM_END 0x30 /**/ -#define MINOR_VCA_SCENE_CHANGE_ALARM_BEGIN 0x31 /*⿪ʼ*/ -#define MINOR_VCA_SCENE_CHANGE_ALARM_END 0x32 /**/ -#define MINOR_VCA_ALARM_AUDIOINPUT_BEGIN 0x33 /*Ƶ쳣뿪ʼ*/ -#define MINOR_VCA_ALARM_AUDIOINPUT_END 0x34 /*Ƶ쳣*/ -#define MINOR_VCA_ALARM_AUDIOABNORMAL_BEGIN 0x35 /*ǿͻ⿪ʼ*/ -#define MINOR_VCA_ALARM_AUDIOABNORMAL_END 0x36 /*ǿͻ*/ - -#define MINOR_VCA_LECTURE_DETECTION_BEGIN 0x37 //ڿ⿪ʼ -#define MINOR_VCA_LECTURE_DETECTION_END 0x38 //ڿ -#define MINOR_VCA_ALARM_AUDIOSTEEPDROP 0x39 //ǿ 2014-03-21 -#define MINOR_VCA_ANSWER_DETECTION_BEGIN 0x3a //ش⿪ʼ -#define MINOR_VCA_ANSWER_DETECTION_END 0x3b //ش - -#define MINOR_SMART_PARKING_BEGIN 0x3c //ͣ⿪ʼ -#define MINOR_SMART_PARKING_END 0x3d //ͣ -#define MINOR_SMART_UNATTENDED_BAGGAGE_BEGIN 0x3e //Ʒ⿪ʼ -#define MINOR_SMART_UNATTENDED_BAGGAGE_END 0x3f //Ʒ -#define MINOR_SMART_OBJECT_REMOVAL_BEGIN 0x40 //Ʒȡ⿪ʼ -#define MINOR_SMART_OBJECT_REMOVAL_END 0x41 //Ʒȡ -#define MINOR_SMART_VEHICLE_ALARM_START 0x46 //Ƽ⿪ʼ -#define MINOR_SMART_VEHICLE_ALARM_STOP 0x47 //Ƽ -#define MINOR_THERMAL_FIREDETECTION 0x48 //ȳ⿪ʼ -#define MINOR_THERMAL_FIREDETECTION_END 0x49 //ȳ -#define MINOR_SMART_VANDALPROOF_BEGIN 0x50 //ƻ⿪ʼ -#define MINOR_SMART_VANDALPROOF_END 0x51 //ƻ - -#define MINOR_FACESNAP_MATCH_ALARM_START 0x55 /*ȶԱʼ*/ -#define MINOR_FACESNAP_MATCH_ALARM_STOP 0x56 /*ȶԱ*/ -#define MINOR_ALLOWLIST_FACESNAP_MATCH_ALARM_START 0x57 /*ȶԣİˣʼ*/ -#define MINOR_ALLOWLIST_FACESNAP_MATCH_ALARM_STOP 0x58 /*ȶԣİˣ*/ - -#define MINOR_THERMAL_SHIPSDETECTION 0x5a //ȳֻ -#define MINOR_THERMAL_THERMOMETRY_EARLYWARNING_BEGIN 0x5b //ȳԤʼ -#define MINOR_THERMAL_THERMOMETRY_EARLYWARNING_END 0x5c //ȳԤ -#define MINOR_THERMAL_THERMOMETRY_ALARM_BEGIN 0x5d //ȳ±ʼ -#define MINOR_THERMAL_THERMOMETRY_ALARM_END 0x5e //ȳ± -#define MINOR_THERMAL_THERMOMETRY_DIFF_ALARM_BEGIN 0x5f //ȳ²ʼ -#define MINOR_THERMAL_THERMOMETRY_DIFF_ALARM_END 0x60 //ȳ² -#define MINOR_FACE_THERMOMETRY_ALARM 0x63 //± -#define MINOR_SMART_DENSEFOGDETECTION_BEGIN 0x6e //⿪ʼ -#define MINOR_SMART_DENSEFOGDETECTION_END 0x6f // -#define MINOR_RUNNING_ALARM 0x70 //ܼ -#define MINOR_RETENTION_ALARM 0x71 // -#define MINOR_SAFETY_HELMET_ALARM_START 0x72 /*δȫñⱨʼ*/ -#define MINOR_SAFETY_HELMET_ALARM_STOP 0x73 /*δȫñⱨ*/ -#define MINOR_HFPD_ALARM_START 0x74 /*ƵԱⱨʼ*/ -#define MINOR_HFPD_ALARM_STOP 0x75 /*ƵԱⱨ*/ -#define MINOR_MIXED_TARGET_ALARM_START 0x76 /*Ŀⱨʼ*/ -#define MINOR_MIXED_TARGET_ALARM_STOP 0x77 /*Ŀⱨ*/ -#define MINOR_VCA_PLAY_CELLPHONE_ALARM_BEGIN 0x78 //ֻⱨʼ -#define MINOR_VCA_PLAY_CELLPHONE_ALARM_END 0x79 //ֻⱨ -#define MINOR_VCA_GET_UP_ALARM_BEGIN 0x80 //𴲼ⱨʼ -#define MINOR_VCA_GET_UP_ALARM_END 0x81 //𴲼ⱨ -#define MINOR_VCA_ADV_REACH_HEIGHT_ALARM_BEGIN 0x82 //ʸ߱ʼ -#define MINOR_VCA_ADV_REACH_HEIGHT_ALARM_END 0x83 //ʸ߱ -#define MINOR_VCA_TOILET_TARRY_ALARM_BEGIN 0x84 //޳ʱʼ -#define MINOR_VCA_TOILET_TARRY_ALARM_END 0x85 //޳ʱ -#define MINOR_HUMAN_RECOGNITION_ALARM_BEGIN 0x86 //ʶ𱨾ʼ -#define MINOR_HUMAN_RECOGNITION_ALARM_END 0x87 //ʶ𱨾 -#define MINOR_STUDENTS_STOODUP_ALARM_BEGIN 0x88 //ѧʼ -#define MINOR_STUDENTS_STOODUP_ALARM_END 0x89 //ѧ -#define MINOR_FRAMES_PEOPLE_COUNTING_ALARM 0x8a //ͳƱ -#define MINOR_FACE_SNAP_ALARM_BEGIN 0x8b //ץıʼ -#define MINOR_FACE_SNAP_ALARM_END 0x8c //ץı -#define MINOR_TEACHER_BEHAVIOR_DETECT_ALARM_BEGIN 0x8d //ʦΪⱨʼ -#define MINOR_TEACHER_BEHAVIOR_DETECT_ALARM_END 0x8e //ʦΪⱨ -#define MINOR_PERIMETER_CAPTURE_ALARM_BEGIN 0x8f //ܽץıʼ -#define MINOR_PERIMETER_CAPTURE_ALARM_END 0x90 //ܽץı -#define MINOR_UNREGISTERED_STREET_VENDOR_ALARM 0x91 //Ƿ̯ - -#define MINOR_PERSON_QUEUE_TIME_ALARM_BEGIN 0x92 //Ŷʱⱨʼ -#define MINOR_PERSON_QUEUE_TIME_ALARM_END 0x93 //Ŷʱⱨ -#define MINOR_PERSON_QUEUE_COUNTING_ALARM_BEGIN 0x94 //Ŷⱨʼ -#define MINOR_PERSON_QUEUE_COUNTING_ALARM_END 0x95 //Ŷⱨ -#define MINOR_FACE_SNAP_MATCH_FAILURE_ALARM_START 0x96 //ȶʧܱʼ -#define MINOR_FACE_SNAP_MATCH_FAILURE_ALARM_END 0x97 //ȶʧܱ - - -#define MINOR_ACCESS_CONTROLLER_EVENT 0x100 //޼ -#define MINOR_VIDEO_INTERCOM_EVENT 0x101 //ӶԽ豸¼ -#define MINOR_GJD_EVENT 0x102 //GJD¼ -#define MINOR_LUMINITE_EVENT 0x103 // LUMINITE¼ -#define MINOR_OPTEX_EVENT 0x104 // OPTEX¼ -#define MINOR_CAMERA_DETECTOR_EVENT 0x105 // ¼ -#define MINOR_SECURITY_CONTROL_PANEL_EVENT 0x106 //˽б¼ - -#define MINOR_VCA_SPACE_CHANGE_START 0x10c //쳣⿪ʼ -#define MINOR_VCA_SPACE_CHANGE_STOP 0x10d //쳣 -#define MINOR_MANUAL_ALARM 0x10e //ֶ -#define MINOR_DETECTOR_ALARM 0x10f //̽ -#define MINOR_LINKAGE_ALARM 0x110 // -#define MINOR_VCA_SITUATION_ANALYSIS_START 0x111 //̬Ʒ⿪ʼ -#define MINOR_VCA_SITUATION_ANALYSIS_STOP 0x112 //̬Ʒ -#define MINOR_FIRE_ALARM 0x113 //𾯱 -#define MINOR_SUPERVISE_ALARM 0x114 //ܱ -#define MINOR_SHIELD_ALARM 0x115 //α -#define MINOR_ABNORMAL_ALARM 0x116 //ϱ -#define MINOR_RESIDUAL_CURRENT_ALARM 0x117 //ʣ -#define MINOR_TEMPERATURE_ALARM 0x118 //¶ȱ -#define MINOR_ARC_ALARM 0x119 //绡 - -#define MINOR_VCA_YARD_TARRY_ALARM_BEGIN 0x11a //ŷ糡ʼ -#define MINOR_VCA_YARD_TARRY_ALARM_END 0x11b //ŷ糡 -#define MINOR_VCA_KEY_PERSON_GET_UP_ALARM_BEGIN 0x11c //صԱʼ -#define MINOR_VCA_KEY_PERSON_GET_UP_ALARM_END 0x11d //صԱ -#define MINOR_VCA_SIT_QUIETLY_ALARM_BEGIN 0x11e //ʼ -#define MINOR_VCA_SIT_QUIETLY_ALARM_END 0x11f // -#define MINOR_VCA_STAND_UP_ALARM_BEGIN 0x120 //վʼ -#define MINOR_VCA_STAND_UP_ALARM_END 0x121 //վ -#define MINOR_VCA_REACH_HIGHT_ALARM_BEGIN 0x122 //ʸ߱ʼ -#define MINOR_VCA_REACH_HIGHT_ALARM_END 0x123 //ʸ߱ - -#define MINOR_LFPD_ALARM_START 0x124 /*ƵԱⱨʼ*/ -#define MINOR_LFPD_ALARM_STOP 0x125 /*ƵԱⱨ*/ - -#define MINOR_DREDGERDETECTION_ALARM 0x126// ɳⱨ -#define MINOR_STUDENT_BEHAVIOR_ALARM_BEGIN 0x127 //ѧΪʼ -#define MINOR_STUDENT_BEHAVIOR_ALARM_END 0x128 //ѧΪ -#define MINOR_VCA_ALARM_VEHICLEMONITOR 0x129 //ر(ڳصһ⣨Ϣ־) -#define MINOR_WASTEGASDETECTION_ALARM 0x130// ŷż¼ϱ -#define MINOR_GREYSCALE_ALARM 0x131// Ҷȱ -#define MINOR_VIBRATION_DETECTION_ALARM_BEGIN 0x132 //ⱨʼ -#define MINOR_VIBRATION_DETECTION_ALARM_END 0x133 //ⱨ -#define MINOR_SMOKE_DETECT_ALARM_BEGIN 0x134 //̼ⱨʼ -#define MINOR_SMOKE_DETECT_ALARM_END 0x135 //̼ⱨ -#define MINOR_METHANE_CONCENTRATION_ALARM 0x136 //Ũ쳣¼ -#define MINOR_METHANE_LIGHTINTENSITY_ALARM 0x137 //ǿ쳣¼ -#define MINOR_SMOG_BEGIN 0x138 //ʼ -#define MINOR_SMOG_END 0x139 // -#define MINOR_VOCS_ALARM 0x140 //VOCs屨 - -//0x400-0x1000 Ž -#define MINOR_ALARMIN_SHORT_CIRCUIT 0x400 //· -#define MINOR_ALARMIN_BROKEN_CIRCUIT 0x401 //· -#define MINOR_ALARMIN_EXCEPTION 0x402 //쳣 -#define MINOR_ALARMIN_RESUME 0x403 //ָ -#define MINOR_HOST_DESMANTLE_ALARM 0x404 //豸𱨾 -#define MINOR_HOST_DESMANTLE_RESUME 0x405 //豸ָ -#define MINOR_CARD_READER_DESMANTLE_ALARM 0x406 //𱨾 -#define MINOR_CARD_READER_DESMANTLE_RESUME 0x407 //ָ -#define MINOR_CASE_SENSOR_ALARM 0x408 //¼뱨 -#define MINOR_CASE_SENSOR_RESUME 0x409 //¼ָ -#define MINOR_STRESS_ALARM 0x40a //вȱ -#define MINOR_OFFLINE_ECENT_NEARLY_FULL 0x40b //¼90% -#define MINOR_CARD_MAX_AUTHENTICATE_FAIL 0x40c //֤ʧܳα -#define MINOR_SD_CARD_FULL 0x40d //SD洢 -#define MINOR_LINKAGE_CAPTURE_PIC 0x40e //ץ¼ -#define MINOR_SECURITY_MODULE_DESMANTLE_ALARM 0x40f //ſذȫģ𱨾 -#define MINOR_SECURITY_MODULE_DESMANTLE_RESUME 0x410 //ſذȫģָ - -#define MINOR_POS_START_ALARM 0x411 //POS -#define MINOR_POS_END_ALARM 0x412 //POS -#define MINOR_FACE_IMAGE_QUALITY_LOW 0x413 //ͼʵ -#define MINOR_FINGE_RPRINT_QUALITY_LOW 0x414 //ָͼʵ -#define MINOR_FIRE_IMPORT_SHORT_CIRCUIT 0x415 //· -#define MINOR_FIRE_IMPORT_BROKEN_CIRCUIT 0x416 //· -#define MINOR_FIRE_IMPORT_RESUME 0x417 //ָ -#define MINOR_FIRE_BUTTON_TRIGGER 0x418 //ť -#define MINOR_FIRE_BUTTON_RESUME 0x419 //ťָ -#define MINOR_MAINTENANCE_BUTTON_TRIGGER 0x41a //άť -#define MINOR_MAINTENANCE_BUTTON_RESUME 0x41b //άťָ -#define MINOR_EMERGENCY_BUTTON_TRIGGER 0x41c //ť -#define MINOR_EMERGENCY_BUTTON_RESUME 0x41d //ťָ -#define MINOR_DISTRACT_CONTROLLER_ALARM 0x41e //ֿ𱨾 -#define MINOR_DISTRACT_CONTROLLER_RESUME 0x41f //ֿ𱨾ָ - -#define MINOR_PERSON_DENSITY_DETECTION_START 0x420 //Աܶȳֵʼ -#define MINOR_PERSON_DENSITY_DETECTION_END 0x421 //Աܶȳֵ - -#define MINOR_CHANNEL_CONTROLLER_DESMANTLE_ALARM 0x422 //ͨ𱨾 -#define MINOR_CHANNEL_CONTROLLER_DESMANTLE_RESUME 0x423 //ͨ𱨾ָ -#define MINOR_CHANNEL_CONTROLLER_FIRE_IMPORT_ALARM 0x424 //ͨ뱨 -#define MINOR_CHANNEL_CONTROLLER_FIRE_IMPORT_RESUME 0x425 //ͨ뱨ָ - -#define MINOR_HEART_RATE_ABNORMAL_BEGIN 0x426 //쳣ʼ -#define MINOR_HEART_RATE_ABNORMAL_END 0x427 //쳣 -#define MINOR_BLOOD_OXYGEN_ABNORMAL_BEGIN 0x428 //Ѫ쳣ʼ -#define MINOR_BLOOD_OXYGEN_ABNORMAL_END 0x429 //Ѫ쳣 -#define MINOR_SYSTOLIC_BLOOD_PRESSURE_ABNORMAL_BEGIN 0x42a //Ѫѹѹ쳣ʼ -#define MINOR_SYSTOLIC_BLOOD_PRESSURE_ABNORMAL_END 0x42b //Ѫѹѹ쳣 -#define MINOR_DIASTOLIC_BLOOD_PRESSURE_ABNORMAL_BEGIN 0x42c //Ѫѹѹ쳣ʼ -#define MINOR_DIASTOLIC_BLOOD_PRESSURE_ABNORMAL_END 0x42d //Ѫѹѹ쳣 -#define MINOR_VCA_LEAVE_POSITION_START 0x42e//ڼ⿪ʼ -#define MINOR_VCA_LEAVE_POSITION_STOP 0x42f//ڼ -#define MINOR_VCA_STOOODUP_START 0x430//⿪ʼ -#define MINOR_VCA_STOOODUP_STOP 0x431// -#define MINOR_VCA_PEOPLENUM_CHANGE_START 0x434//仯ʼ -#define MINOR_VCA_PEOPLENUM_CHANGE_STOP 0x435//仯 -#define MINOR_VCA_RUNNING_START 0x438//Աܿʼ -#define MINOR_VCA_RUNNING_STOP 0x439//Աܽ -#define MINOR_VCA_VIOLENT_MOTION_START 0x43a//˶ʼ -#define MINOR_VCA_VIOLENT_MOTION_STOP 0x43b//˶ -#define MINOR_VCA_FAIL_DOWN_START 0x43c//Աؿʼ -#define MINOR_VCA_FAIL_DOWN_STOP 0x43d//Աؽ -#define MINOR_VCA_RETENTION_START 0x43e//Աʼ -#define MINOR_VCA_RETENTION_STOP 0x43f//Ա - -#define MINOR_PRINTER_OUT_OF_PAPER 0x440 //ӡȱֽ -#define MINOR_LEGAL_EVENT_NEARLY_FULL 0x442 //ߺϷ¼90% -#define MINOR_FIRE_IMPORT_ALARM 0x443 //뱨 -#define MINOR_TRANSACTION_RECORD_NEARLY_FULL 0x444 //׼¼90% - -#define MINOR_ALARM_CUSTOM1 0x900 //ŽԶ屨1 -#define MINOR_ALARM_CUSTOM2 0x901 //ŽԶ屨2 -#define MINOR_ALARM_CUSTOM3 0x902 //ŽԶ屨3 -#define MINOR_ALARM_CUSTOM4 0x903 //ŽԶ屨4 -#define MINOR_ALARM_CUSTOM5 0x904 //ŽԶ屨5 -#define MINOR_ALARM_CUSTOM6 0x905 //ŽԶ屨6 -#define MINOR_ALARM_CUSTOM7 0x906 //ŽԶ屨7 -#define MINOR_ALARM_CUSTOM8 0x907 //ŽԶ屨8 -#define MINOR_ALARM_CUSTOM9 0x908 //ŽԶ屨9 -#define MINOR_ALARM_CUSTOM10 0x909 //ŽԶ屨10 -#define MINOR_ALARM_CUSTOM11 0x90a //ŽԶ屨11 -#define MINOR_ALARM_CUSTOM12 0x90b //ŽԶ屨12 -#define MINOR_ALARM_CUSTOM13 0x90c //ŽԶ屨13 -#define MINOR_ALARM_CUSTOM14 0x90d //ŽԶ屨14 -#define MINOR_ALARM_CUSTOM15 0x90e //ŽԶ屨15 -#define MINOR_ALARM_CUSTOM16 0x90f //ŽԶ屨16 -#define MINOR_ALARM_CUSTOM17 0x910 //ŽԶ屨17 -#define MINOR_ALARM_CUSTOM18 0x911 //ŽԶ屨18 -#define MINOR_ALARM_CUSTOM19 0x912 //ŽԶ屨19 -#define MINOR_ALARM_CUSTOM20 0x913 //ŽԶ屨20 -#define MINOR_ALARM_CUSTOM21 0x914 //ŽԶ屨21 -#define MINOR_ALARM_CUSTOM22 0x915 //ŽԶ屨22 -#define MINOR_ALARM_CUSTOM23 0x916 //ŽԶ屨23 -#define MINOR_ALARM_CUSTOM24 0x917 //ŽԶ屨24 -#define MINOR_ALARM_CUSTOM25 0x918 //ŽԶ屨25 -#define MINOR_ALARM_CUSTOM26 0x919 //ŽԶ屨26 -#define MINOR_ALARM_CUSTOM27 0x91a //ŽԶ屨27 -#define MINOR_ALARM_CUSTOM28 0x91b //ŽԶ屨28 -#define MINOR_ALARM_CUSTOM29 0x91c //ŽԶ屨29 -#define MINOR_ALARM_CUSTOM30 0x91d //ŽԶ屨30 -#define MINOR_ALARM_CUSTOM31 0x91e //ŽԶ屨31 -#define MINOR_ALARM_CUSTOM32 0x91f //ŽԶ屨32 -#define MINOR_ALARM_CUSTOM33 0x920 //ŽԶ屨33 -#define MINOR_ALARM_CUSTOM34 0x921 //ŽԶ屨34 -#define MINOR_ALARM_CUSTOM35 0x922 //ŽԶ屨35 -#define MINOR_ALARM_CUSTOM36 0x923 //ŽԶ屨36 -#define MINOR_ALARM_CUSTOM37 0x924 //ŽԶ屨37 -#define MINOR_ALARM_CUSTOM38 0x925 //ŽԶ屨38 -#define MINOR_ALARM_CUSTOM39 0x926 //ŽԶ屨39 -#define MINOR_ALARM_CUSTOM40 0x927 //ŽԶ屨40 -#define MINOR_ALARM_CUSTOM41 0x928 //ŽԶ屨41 -#define MINOR_ALARM_CUSTOM42 0x929 //ŽԶ屨42 -#define MINOR_ALARM_CUSTOM43 0x92a //ŽԶ屨43 -#define MINOR_ALARM_CUSTOM44 0x92b //ŽԶ屨44 -#define MINOR_ALARM_CUSTOM45 0x92c //ŽԶ屨45 -#define MINOR_ALARM_CUSTOM46 0x92d //ŽԶ屨46 -#define MINOR_ALARM_CUSTOM47 0x92e //ŽԶ屨47 -#define MINOR_ALARM_CUSTOM48 0x92f //ŽԶ屨48 -#define MINOR_ALARM_CUSTOM49 0x930 //ŽԶ屨49 -#define MINOR_ALARM_CUSTOM50 0x931 //ŽԶ屨50 -#define MINOR_ALARM_CUSTOM51 0x932 //ŽԶ屨51 -#define MINOR_ALARM_CUSTOM52 0x933 //ŽԶ屨52 -#define MINOR_ALARM_CUSTOM53 0x934 //ŽԶ屨53 -#define MINOR_ALARM_CUSTOM54 0x935 //ŽԶ屨54 -#define MINOR_ALARM_CUSTOM55 0x936 //ŽԶ屨55 -#define MINOR_ALARM_CUSTOM56 0x937 //ŽԶ屨56 -#define MINOR_ALARM_CUSTOM57 0x938 //ŽԶ屨57 -#define MINOR_ALARM_CUSTOM58 0x939 //ŽԶ屨58 -#define MINOR_ALARM_CUSTOM59 0x93a //ŽԶ屨59 -#define MINOR_ALARM_CUSTOM60 0x93b //ŽԶ屨60 -#define MINOR_ALARM_CUSTOM61 0x93c //ŽԶ屨61 -#define MINOR_ALARM_CUSTOM62 0x93d //ŽԶ屨62 -#define MINOR_ALARM_CUSTOM63 0x93e //ŽԶ屨63 -#define MINOR_ALARM_CUSTOM64 0x93f //ŽԶ屨64 -#define MINOR_LOCK_HIJIACK_FINGER_ALARM 0x950 //ٳָƱ -#define MINOR_LOCK_HIJIACK_PASSWORD_ALARM 0x951 //ٳ뱨 -#define MINOR_LOCK_PRY_DOOR_ALARM 0x952 //ű -#define MINOR_LOCK_LOCKED_ALARM 0x953 // -#define MINOR_LOCK_BATTERLOW_ALARM 0x954 //͵ѹ -#define MINOR_LOCK_BLOCKLIST_DOOR_ALARM 0x955 //ֹ -#define MINOR_LOCK_OFFLINE_ALARM 0x956 //߱ -#define MINOR_LOCK_UNCLOSED_ALARM 0x957 //ڱ -#define MINOR_LOCK_NO_HOME_ALARM 0x958 //ûδؼұ -#define MINOR_LOCK_MAGNETOMETER_ALARM 0x959 //Ŵ̽ -#define MINOR_LOCK_IR_DETECTOR_ALARM 0x95a //̽ -#define MINOR_LOCK_FP_LOCKED_ALARM 0x95b //ָ -#define MINOR_LOCK_PASSWORD_LOCKED_ALARM 0x95c // -#define MINOR_LOCK_HIJIACK_ALARM 0x95d //ٳֱ - -//2018-04-23 ͨر־ -#define MINOR_ALARMHOST_SHORT_CIRCUIT 0x1001 //· -#define MINOR_ALARMHOST_BROKEN_CIRCUIT 0x1002 //· -#define MINOR_ALARMHOST_ALARM_RESET 0x1003 //λ -#define MINOR_ALARMHOST_ALARM_NORMAL 0x1004 //ָ -#define MINOR_ALARMHOST_PASSWORD_ERROR 0x1005 //3 -#define MINOR_ALARMHOST_ID_CARD_ILLEGALLY 0x1006 //ǷӦID -#define MINOR_ALARMHOST_KEYPAD_REMOVE 0x1007 //̷ -#define MINOR_ALARMHOST_KEYPAD_REMOVE_RESTORE 0x1008 //̷λ - -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT1 0x1011 //ģڱ1 -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT2 0x1012 //ģڱ2 -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT3 0x1013 //ģڱ3 -#define MINOR_ALARMHOST_BELOW_ALARM_LIMIT4 0x1014 //ģڱ4 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT1 0x1015 //ģڱ1 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT2 0x1016 //ģڱ2 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT3 0x1017 //ģڱ3 -#define MINOR_ALARMHOST_ABOVE_ALARM_LIMIT4 0x1018 //ģڱ4 - -#define MINOR_ALARMHOST_VIRTUAL_DEFENCE_BANDIT 0x1021 //˾ -#define MINOR_ALARMHOST_VIRTUAL_DEFENCE_FIRE 0x1022 // -#define MINOR_ALARMHOST_VIRTUAL_DEFENCE_URGENT 0x1023 // - -#define MINOR_UPS_ALARM 0x1028 //UPS -#define MINOR_ELECTRICITY_METER_ALARM 0x1029 //ܵ -#define MINOR_SWITCH_POWER_ALARM 0x1030 //صԴ -#define MINOR_GAS_DETECT_SYS_ALARM 0x1031 //ϵͳ -#define MINOR_TRANSFORMER_TEMPRATURE_ALARM 0x1032 //Ա -#define MINOR_TEMP_HUMI_ALARM 0x1033 //ʪȴ -#define MINOR_UPS_ALARM_RESTORE 0x1034 //UPSָ -#define MINOR_ELECTRICITY_METER_ALARM_RESTORE 0x1035 //ָܵ -#define MINOR_SWITCH_POWER_ALARM_RESTORE 0x1036 //صԴָ -#define MINOR_GAS_DETECT_SYS_ALARM_RESTORE 0x1037 //ϵͳָ -#define MINOR_TRANSFORMER_TEMPRATURE_ALARM_RESTORE 0x1038 //Աָ -#define MINOR_TEMP_HUMI_ALARM_RESTORE 0x1039 //ʪȴָ -#define MINOR_WATER_LEVEL_SENSOR_ALARM 0x1040 //ˮλ -#define MINOR_WATER_LEVEL_SENSOR_ALARM_RESTORE 0x1041 //ˮλָ -#define MINOR_DUST_NOISE_ALARM 0x1042 //ﳾ -#define MINOR_DUST_NOISE_ALARM_RESTORE 0x1043 //ﳾָ -#define MINOR_ENVIRONMENTAL_LOGGER_ALARM 0x1044 //ɼDZ -#define MINOR_ENVIRONMENTAL_LOGGER_ALARM_RESTORE 0x1045 //ɼDZָ - -#define MINOR_TRIGGER_TAMPER 0x1046 //̽ -#define MINOR_TRIGGER_TAMPER_RESTORE 0x1047 //ָ̽ -#define MINOR_EMERGENCY_CALL_HELP_ALARM 0x1048 // -#define MINOR_EMERGENCY_CALL_HELP_ALARM_RESTORE 0x1049 //ָ -#define MINOR_CONSULTING_ALARM 0x1050 //ҵѯ -#define MINOR_CONSULTING_ALARM_RESTORE 0x1051 //ҵѯָ -#define MINOR_ALARMHOST_ZONE_MODULE_REMOVE 0x1052 //ģ -#define MINOR_ALARMHOST_ZONE_MODULE_RESET 0x1053 //ģλ - -#define MINOR_ALARMHOST_ALARM_WIND_SPEED_ALARM 0x1054 //ٴ澯 -#define MINOR_ALARMHOST_ALARM_WIND_SPEED_ALARM_RESTORE 0x1055 //ٴ澯ָ -#define MINOR_ALARMHOST_ALARM_GENERATE_OUTPUT_ALARM 0x1056 //ͨչģ澯 -#define MINOR_ALARMHOST_ALARM_GENERATE_OUTPUT_RESTORE 0x1057 //ͨչģ澯ָ -#define MINOR_ALARMHOST_ALARM_SOAK_ALARM 0x1058 //ˮ澯 -#define MINOR_ALARMHOST_ALARM_SOAK_ALARM_RESTORE 0x1059 //ˮ澯ָ -#define MINOR_ALARMHOST_ALARM_SOLAR_POWER_ALARM 0x1060 //̫ܴ澯 -#define MINOR_ALARMHOST_ALARM_SOLAR_POWER_ALARM_RESTORE 0x1061 //̫ܴ澯ָ -#define MINOR_ALARMHOST_ALARM_SF6_ALARM 0x1062 //SF6澯 -#define MINOR_ALARMHOST_ALARM_SF6_ALARM_RESTORE 0x1063 //SF6澯ָ -#define MINOR_ALARMHOST_ALARM_WEIGHT_ALARM 0x1064 //Ǹ澯 -#define MINOR_ALARMHOST_ALARM_WEIGHT_ALARM_RESTORE 0x1065 //Ǹ澯ָ -#define MINOR_ALARMHOST_ALARM_WEATHER_ALARM 0x1066 //ɼϵͳ澯 -#define MINOR_ALARMHOST_ALARM_WEATHER_ALARM_RESTORE 0x1067 //ɼϵͳ澯ָ -#define MINOR_ALARMHOST_ALARM_FUEL_GAS_ALARM 0x1068 //ȼϵͳ澯 -#define MINOR_ALARMHOST_ALARM_FUEL_GAS_ALARM_RESTORE 0x1069 //ȼϵͳ澯 -#define MINOR_ALARMHOST_ALARM_FIRE_ALARM 0x1070 //ֱϵͳ澯 -#define MINOR_ALARMHOST_ALARM_FIRE_ALARM_RESTORE 0x1071 //ֱϵͳ澯ָ -#define MINOR_ALARMHOST_WIRELESS_OUTPUT_MODULE_REMOVE 0x1072 //ģ -#define MINOR_ALARMHOST_WIRELESS_OUTPUT_MODULE_RESET 0x1073 //ģλ -#define MINOR_ALARMHOST_WIRELESS_REPEATER_MODULE_REMOVE 0x1074 //м - -#define MINOR_ALARMHOST_WIRELESS_SIREN_MODULE_REMOVE 0x1075 //߾ŷ -#define MINOR_ALARMHOST_WIRELESS_SIREN_MODULE_RESET 0x1076 //߾ŷλ - -#define MINOR_RS485_DEV_ALARM 0x1077 //RS485豸豸δ֪豸 -#define MINOR_RS485_DEV_RESTORE 0x1078 //RS485豸ָ豸δ֪豸 -#define MINOR_ALARMHOST_ALARM_HOST_ALARM 0x1079 // -#define MINOR_ALARMHOST_ALARM_HOST_RESTORE 0x107a //ָ - -#define MINOR_AIR_CONDITION_DEV_ALARM 0x107b //յ -#define MINOR_AIR_CONDITION_DEV_RESTORE 0x107c //յָ - -#define MINOR_ALARMHOST_WIRELESS_REPEATER_MODULE_RESET 0x107d //мλ - -#define MINOR_ALARM_ELEVATOR_BREAKDOWN 0x107e//ݹ -#define MINOR_WATER_PRESSURE_SENSOR_ALARM 0x107f //ˮѹ -#define MINOR_FLOW_SENSOR_ALARM 0x1080 // -#define MINOR_SENSOR_LINKAGE_ALARM 0x1081 // -#define MINOR_SENSOR_LINKAGE_ALARM_RESTORE 0x1082 //ָ -#define MINOR_SHELF_ABNORMAL_ALARM 0x1083 //쳣 - -//LED 0x1201 ~ 0x1300 -#define MINOR_SYSTEM_CHECK_ALARM 0x1201 //ϵͳⱨ - -/* 쳣 */ -// -#define MAJOR_EXCEPTION 0x2 -// -#define MINOR_SUBSYSTEM_ERROR 0x0a /* ϵͳ쳣 */ -#define MINOR_RAID_ERROR 0x20 /* 쳣 */ -#define MINOR_VI_LOST 0x21 /* ƵźŶʧ */ -#define MINOR_ILLEGAL_ACCESS 0x22 /* Ƿ */ -#define MINOR_HD_FULL 0x23 /* Ӳ */ -#define MINOR_HD_ERROR 0x24 /* Ӳ̴ */ -#define MINOR_DCD_LOST 0x25 /* MODEM (ʹ) */ -#define MINOR_IP_CONFLICT 0x26 /* IPַͻ */ -#define MINOR_NET_BROKEN 0x27 /* Ͽ*/ -#define MINOR_REC_ERROR 0x28 /* ¼ */ -#define MINOR_IPC_NO_LINK 0x29 /* IPC쳣 */ -#define MINOR_VI_EXCEPTION 0x2a /* Ƶ쳣(ֻģͨ) */ -#define MINOR_IPC_IP_CONFLICT 0x2b /*ipc ip ַ ͻ*/ -#define MINOR_SENCE_EXCEPTION 0x2c // 쳣 - -#define MINOR_PIC_REC_ERROR 0x2d /* ץͼ--ȡͼƬļʧ*/ -#define MINOR_VI_MISMATCH 0x2e /* Ƶʽƥ*/ -#define MINOR_RESOLUTION_MISMATCH 0x2f /*ǰ/¼ֱʲƥ */ - -//2009-12-16 Ƶۺƽ̨־ -#define MINOR_FANABNORMAL 0x31 /* Ƶۺƽ̨״̬쳣 */ -#define MINOR_FANRESUME 0x32 /* Ƶۺƽ̨״ָ̬ */ -#define MINOR_SUBSYSTEM_ABNORMALREBOOT 0x33 /* Ƶۺƽ̨6467쳣 */ -#define MINOR_MATRIX_STARTBUZZER 0x34 /* Ƶۺƽ̨dm6467쳣 */ - -//2010-01-22 Ƶۺƽ̨쳣־ -#define MINOR_NET_ABNORMAL 0x35 /*״̬쳣*/ -#define MINOR_MEM_ABNORMAL 0x36 /*ڴ״̬쳣*/ -#define MINOR_FILE_ABNORMAL 0x37 /*ļ״̬쳣*/ -#define MINOR_PANEL_ABNORMAL 0x38 /*ǰ쳣*/ -#define MINOR_PANEL_RESUME 0x39 /*ǰָ*/ -#define MINOR_RS485_DEVICE_ABNORMAL 0x3a /*RS485״̬쳣*/ -#define MINOR_RS485_DEVICE_REVERT 0x3b /*RS485״̬쳣ָ*/ - -//2012-2-18 Ӵ쳣־ -#define MINOR_SCREEN_SUBSYSTEM_ABNORMALREBOOT 0x3c //Ӱ쳣 -#define MINOR_SCREEN_SUBSYSTEM_ABNORMALINSERT 0x3d //Ӱ -#define MINOR_SCREEN_SUBSYSTEM_ABNORMALPULLOUT 0x3e //Ӱγ -#define MINOR_SCREEN_ABNARMALTEMPERATURE 0x3f //¶쳣 -//2012-07-26 Ƶۺƽ̨v2.1 -#define MINOR_HIGH_TEMPERATURE_PROTECT 0x40 //Ӱȱ - -//Netra 2.2.2 -#define MINOR_RECORD_OVERFLOW 0x41 /**/ -#define MINOR_DSP_ABNORMAL 0x42 //DSP쳣 - -//Netra 3.0.0 -#define MINOR_ANR_RECORD_FAIED 0x43 /*ANR¼ʧ*/ -#define MINOR_SPARE_WORK_DEVICE_EXCEPT 0x44 /*ȱ豸쳣*/ -#define MINOR_START_IPC_MAS_FAILED 0x45 /*IPC MASʧ*/ -// 256·NVR -#define MINOR_IPCM_CRASH 0x46 /*IPCM쳣*/ -#define MINOR_POE_POWER_EXCEPTION 0x47 /*POE 쳣*/ -#define MINOR_UPLOAD_DATA_CS_EXCEPTION 0x48 //ƴ洢ϴʧ/ -#define MINOR_DIAL_EXCEPTION 0x49 /*쳣*/ -#define MINOR_DEV_EXCEPTION_OFFLINE 0x50 //豸쳣 -#define MINOR_UPGRADEFAIL 0x51 //Զ豸ʧ -#define MINOR_AI_LOST 0x52 /* ƵźŶʧ */ -#define MINOR_SYNC_IPC_PASSWD 0x53 /* ͬIPC쳣 */ -#define MINOR_EZVIZ_OFFLINE 0x54 /* өʯ쳣*/ -#define MINOR_VQD_ABNORMAL 0x55 //VQD쳣 -#define MINOR_ACCESSORIES_PLATE 0x57 //쳣 -#define MINOR_KMS_EXPAMSION_DISK_LOST 0x58 // KMS̶ʧ -#define MINOR_ABNORMAL_PORT 0x59 // ˿쳣 -#define MINOR_CAMERA_ANGLE_ANOMALY 0x60// ӽ쳣 -#define MINOR_DATA_DISK_ERROE 0x61// ̴ -#define MINOR_INTELLIGENT_SYSTEM_RUNNING_ERROR 0x62// ϵͳ쳣 -#define MINOR_FACESNAP_RESOLUTION_OVERFLOW 0x63// ץֱʳ -#define MINOR_SMD_RESOLUTION_OVERFLOW 0x64// SMDֱʳ -#define MINOR_AUDIO_LOSS_EXCEPTION 0x65// Ƶʧ쳣 -#define MINOR_SAFETY_HELMET_EXCEPTION 0x66 //δȫñ쳣 -#define MINOR_VCA_PIC_LENGTH_OVERFLOW 0x67 // VCAͼƬȹ糬2MСͼƬ -#define MINOR_FACE_MODEL_EXCEPTION 0x68// ģͬ쳣 -#define MINOR_SSD_EXCEPTION 0x69 // SSD쳣 -//NVRȺ -#define MINOR_CLUSTER_DEVICE_OFFLINE 0x70 // Ⱥ豸 -#define MINOR_CLUSTER_CONFIG_FAILED 0x71 // Ⱥ豸ʧ -#define MINOR_CLUSTER_DISASTER_TOLERANCE_EXCEPT 0x72 // Ⱥ쳣:ȺCMѡʧ,Ⱥ洢ڲ,Ⱥ,ȺͨԴ,Ⱥ豸 -#define MINOR_CLUSTER_STORFULL_EXCEPTION 0x73 //ȺӲ -#define MINOR_CLUSTER_VERSION_EXCEPTION 0x74 //Ⱥ汾쳣 -#define MINOR_CLUSTER_OFFLINENODE_EXCEPTION 0x75 //Ⱥ -#define MINOR_CLUSTER_RECORDCYCLE_EXCEPTION 0x76 //Ⱥ¼ڲ -#define MINOR_CLUSTER_IPCTRANSFER_EXCEPTION 0x77 //ȺIPCǨʧ -#define MINOR_CLUSTER_IPCONFLICT_EXCEPTION 0x78 // ȺIPͻ¼CMIPַ - -#define MINOR_GET_SUB_STREAM_FAILURE 0x79//ȡʧ -#define MINOR_HDD_SHM_DETECT_EXCEPTION 0x7a//ӲSHM쳣 -#define MINOR_DEVICE_FORTIFY_FAILURE 0x7b//ǰ豸ʧ -#define MINOR_EVENT_UPLOAD_EXCEPTION 0x7c //¼쳣豸ϴ¼ʧܻ߶ˣ - -#define MINOR_LORA_EXCEPTION 0x7d//LoRa쳣 -#define MINOR_AK_OR_SK_IS_EMPTY 0x7e//ƴ洢Ϊ - -#define MINOR_HIGH_HD_TEMPERATURE 0x80 /*Ӳ¶ȹ*/ -#define MINOR_LOW_HD_TEMPERATURE 0x81 /*Ӳ¶ȹ*/ -#define MINOR_HD_IMPACT 0x82 /*Ӳܵ*/ -#define MINOR_HD_BAD_BLOCK 0x83 /*Ӳֻ̳*/ -#define MINOR_SEVERE_HD_FAILURE 0x84 /*Ӳع*/ -#define MINOR_RELEASE_FAILED 0x85 //Ϣʧ -#define MINOR_PORT_CONFLICT 0x86 //˿ڳͻ -#define MINOR_MODULE_STARTUP_FAILED 0x87 //ģʧ -#define MINIOR_VCA_RUNNING_EXCEPTION 0x88 //ܰ쳣 - -//0x400-0x1000 Ž쳣 -#define MINOR_DEV_POWER_ON 0x400 //豸ϵ -#define MINOR_DEV_POWER_OFF 0x401 //豸ر -#define MINOR_WATCH_DOG_RESET 0x402 //Źλ -#define MINOR_LOW_BATTERY 0x403 //صѹ -#define MINOR_BATTERY_RESUME 0x404 //صѹָ -#define MINOR_AC_OFF 0x405 //ϵ -#define MINOR_AC_RESUME 0x406 //ָ -#define MINOR_NET_RESUME 0x407 //ָ -#define MINOR_FLASH_ABNORMAL 0x408 //FLASHд쳣 -#define MINOR_CARD_READER_OFFLINE 0x409 // -#define MINOR_CARD_READER_RESUME 0x40a //߻ָ -#define MINOR_INDICATOR_LIGHT_OFF 0x40b //ָʾƹر -#define MINOR_INDICATOR_LIGHT_RESUME 0x40c //ָʾƻָ -#define MINOR_CHANNEL_CONTROLLER_OFF 0x40d //ͨ -#define MINOR_CHANNEL_CONTROLLER_RESUME 0x40e //ָͨ -#define MINOR_SECURITY_MODULE_OFF 0x40f //ſذȫģ -#define MINOR_SECURITY_MODULE_RESUME 0x410 //ſذȫģ -#define MINOR_BATTERY_ELECTRIC_LOW 0x411 //صѹ(豸ʹ) -#define MINOR_BATTERY_ELECTRIC_RESUME 0x412 //صѹָ(豸ʹ) -#define MINOR_LOCAL_CONTROL_NET_BROKEN 0x413 //͵ؿϿ -#define MINOR_LOCAL_CONTROL_NET_RSUME 0x414 //͵ؿָ -#define MINOR_MASTER_RS485_LOOPNODE_BROKEN 0x415 //RS485·ڵϿ -#define MINOR_MASTER_RS485_LOOPNODE_RESUME 0x416 //RS485·ڵָ -#define MINOR_LOCAL_CONTROL_OFFLINE 0x417 //͵ؿ -#define MINOR_LOCAL_CONTROL_RESUME 0x418 //͵ؿ߻ָ -#define MINOR_LOCAL_DOWNSIDE_RS485_LOOPNODE_BROKEN 0x419 //͵RS485·Ͽ -#define MINOR_LOCAL_DOWNSIDE_RS485_LOOPNODE_RESUME 0x41a //͵RS485·ָ -#define MINOR_DISTRACT_CONTROLLER_ONLINE 0x41b //ֿ -#define MINOR_DISTRACT_CONTROLLER_OFFLINE 0x41c //ֿ -#define MINOR_ID_CARD_READER_NOT_CONNECT 0x41d //֤Ķδӣרã -#define MINOR_ID_CARD_READER_RESUME 0x41e //֤Ķӻָרã -#define MINOR_FINGER_PRINT_MODULE_NOT_CONNECT 0x41f //ָģδӣרã -#define MINOR_FINGER_PRINT_MODULE_RESUME 0x420 //ָģӻָרã -#define MINOR_CAMERA_NOT_CONNECT 0x421 //ͷδ -#define MINOR_CAMERA_RESUME 0x422 //ͷӻָ -#define MINOR_COM_NOT_CONNECT 0x423 //COMδ -#define MINOR_COM_RESUME 0x424 //COMӻָ -#define MINOR_DEVICE_NOT_AUTHORIZE 0x425 //豸δȨ -#define MINOR_PEOPLE_AND_ID_CARD_DEVICE_ONLINE 0x426 //֤豸 -#define MINOR_PEOPLE_AND_ID_CARD_DEVICE_OFFLINE 0x427 //֤豸 -#define MINOR_LOCAL_LOGIN_LOCK 0x428 //ص¼ -#define MINOR_LOCAL_LOGIN_UNLOCK 0x429 //ص¼ -#define MINOR_SUBMARINEBACK_COMM_BREAK 0x42a //뷴DZطͨŶϿ -#define MINOR_SUBMARINEBACK_COMM_RESUME 0x42b //뷴DZطͨŻָ -#define MINOR_MOTOR_SENSOR_EXCEPTION 0x42c //򴫸쳣 -#define MINOR_CAN_BUS_EXCEPTION 0x42d //CAN쳣 -#define MINOR_CAN_BUS_RESUME 0x42e //CAN߻ָ -#define MINOR_GATE_TEMPERATURE_OVERRUN 0x42f //բǻ¶ȳ -#define MINOR_IR_EMITTER_EXCEPTION 0x430 //쳣 -#define MINOR_IR_EMITTER_RESUME 0x431 //ָ -#define MINOR_LAMP_BOARD_COMM_EXCEPTION 0x432 //ưͨ쳣 -#define MINOR_LAMP_BOARD_COMM_RESUME 0x433 //ưͨŻָ -#define MINOR_IR_ADAPTOR_COMM_EXCEPTION 0x434 //תӰͨ쳣 -#define MINOR_IR_ADAPTOR_COMM_RESUME 0x435 //תӰͨŻָ -#define MINOR_PRINTER_ONLINE 0x436 //ӡ -#define MINOR_PRINTER_OFFLINE 0x437 //ӡ -#define MINOR_4G_MOUDLE_ONLINE 0x438 //4Gģ -#define MINOR_4G_MOUDLE_OFFLINE 0x439 //4Gģ -#define MINOR_DSP_START_FAILED 0x43a //DSPʧ -#define MINOR_SMART_REGULATION_NOT_ALLOWED 0x43b //ܹ֧ -#define MINOR_AUXILIARY_BOARD_OFFLINE 0x43c // -#define MINOR_AUXILIARY_BOARD_RESUME 0x43d //߻ָ -#define MINOR_IDCARD_SECURITY_MOUDLE_EXCEPTION 0x43e //֤ȫģ쳣 -#define MINOR_IDCARD_SECURITY_MOUDLE_RESUME 0x43f //֤ȫģָ -#define MINOR_FP_PERIPHERAL_EXCEPTION 0x440 //ָƲɼ쳣 -#define MINOR_FP_PERIPHERAL_RESUME 0x441 //ָƲɼָ -#define MINOR_REPLAY_ATTACK 0x442 //ظ -#define MINOR_TLS_ABNORMAL 0x443 //TLSͨ쳣 -#define MINOR_SMART_PLATE_OFFLINE 0x444 // -#define MINOR_SMART_PLATE_ONLINE 0x445 // -#define MINOR_REFUND_LOCKED 0x446 // -#define MINOR_CODER_ONLINE 0x447 // -#define MINOR_CODER_OFFLINE 0x448 // -#define MINOR_KEYBOARD_OFFLINE 0x449 //С -#define MINOR_KEYBOARD_ONLINE 0x44a //С -#define MINOR_5G_MOUDLE_ONLINE 0x44b //5Gģ -#define MINOR_5G_MOUDLE_OFFLINE 0x44c //5Gģ -#define MINOR_EXTEND_MODULE_ONLINE 0x44d //չģߣչģ飺Ҫusbʽָ֤ƴάģ飬֧ȲΣ -#define MINOR_EXTEND_MODULE_OFFLINE 0x44e //չģߣչģ飺Ҫusbʽָ֤ƴάģ飬֧ȲΣ -#define MINOR_INTERLOCK_SERVER_DISCONNECTED 0x44f //ŻͨŶϿ -#define MINOR_INTERLOCK_SERVER_CONNECTED 0x450 //ŻͨŻָ -#define MINOR_QRCODE_READER_OFFLINE 0x451 //άĶ -#define MINOR_QRCODE_READER_ONLINE 0x452 //άĶ -#define MINOR_HEALTH_INFO_ABNORMAL_LOCK 0x453 //Ϣ쳣 -#define MINOR_HEALTH_INFO_ABNORMAL_UNLOCK 0x454 //Ϣ쳣 - -#define MINOR_EXCEPTION_CUSTOM1 0x900 //ŽԶ쳣1 -#define MINOR_EXCEPTION_CUSTOM2 0x901 //ŽԶ쳣2 -#define MINOR_EXCEPTION_CUSTOM3 0x902 //ŽԶ쳣3 -#define MINOR_EXCEPTION_CUSTOM4 0x903 //ŽԶ쳣4 -#define MINOR_EXCEPTION_CUSTOM5 0x904 //ŽԶ쳣5 -#define MINOR_EXCEPTION_CUSTOM6 0x905 //ŽԶ쳣6 -#define MINOR_EXCEPTION_CUSTOM7 0x906 //ŽԶ쳣7 -#define MINOR_EXCEPTION_CUSTOM8 0x907 //ŽԶ쳣8 -#define MINOR_EXCEPTION_CUSTOM9 0x908 //ŽԶ쳣9 -#define MINOR_EXCEPTION_CUSTOM10 0x909 //ŽԶ쳣10 -#define MINOR_EXCEPTION_CUSTOM11 0x90a //ŽԶ쳣11 -#define MINOR_EXCEPTION_CUSTOM12 0x90b //ŽԶ쳣12 -#define MINOR_EXCEPTION_CUSTOM13 0x90c //ŽԶ쳣13 -#define MINOR_EXCEPTION_CUSTOM14 0x90d //ŽԶ쳣14 -#define MINOR_EXCEPTION_CUSTOM15 0x90e //ŽԶ쳣15 -#define MINOR_EXCEPTION_CUSTOM16 0x90f //ŽԶ쳣16 -#define MINOR_EXCEPTION_CUSTOM17 0x910 //ŽԶ쳣17 -#define MINOR_EXCEPTION_CUSTOM18 0x911 //ŽԶ쳣18 -#define MINOR_EXCEPTION_CUSTOM19 0x912 //ŽԶ쳣19 -#define MINOR_EXCEPTION_CUSTOM20 0x913 //ŽԶ쳣20 -#define MINOR_EXCEPTION_CUSTOM21 0x914 //ŽԶ쳣21 -#define MINOR_EXCEPTION_CUSTOM22 0x915 //ŽԶ쳣22 -#define MINOR_EXCEPTION_CUSTOM23 0x916 //ŽԶ쳣23 -#define MINOR_EXCEPTION_CUSTOM24 0x917 //ŽԶ쳣24 -#define MINOR_EXCEPTION_CUSTOM25 0x918 //ŽԶ쳣25 -#define MINOR_EXCEPTION_CUSTOM26 0x919 //ŽԶ쳣26 -#define MINOR_EXCEPTION_CUSTOM27 0x91a //ŽԶ쳣27 -#define MINOR_EXCEPTION_CUSTOM28 0x91b //ŽԶ쳣28 -#define MINOR_EXCEPTION_CUSTOM29 0x91c //ŽԶ쳣29 -#define MINOR_EXCEPTION_CUSTOM30 0x91d //ŽԶ쳣30 -#define MINOR_EXCEPTION_CUSTOM31 0x91e //ŽԶ쳣31 -#define MINOR_EXCEPTION_CUSTOM32 0x91f //ŽԶ쳣32 -#define MINOR_EXCEPTION_CUSTOM33 0x920 //ŽԶ쳣33 -#define MINOR_EXCEPTION_CUSTOM34 0x921 //ŽԶ쳣34 -#define MINOR_EXCEPTION_CUSTOM35 0x922 //ŽԶ쳣35 -#define MINOR_EXCEPTION_CUSTOM36 0x923 //ŽԶ쳣36 -#define MINOR_EXCEPTION_CUSTOM37 0x924 //ŽԶ쳣37 -#define MINOR_EXCEPTION_CUSTOM38 0x925 //ŽԶ쳣38 -#define MINOR_EXCEPTION_CUSTOM39 0x926 //ŽԶ쳣39 -#define MINOR_EXCEPTION_CUSTOM40 0x927 //ŽԶ쳣40 -#define MINOR_EXCEPTION_CUSTOM41 0x928 //ŽԶ쳣41 -#define MINOR_EXCEPTION_CUSTOM42 0x929 //ŽԶ쳣42 -#define MINOR_EXCEPTION_CUSTOM43 0x92a //ŽԶ쳣43 -#define MINOR_EXCEPTION_CUSTOM44 0x92b //ŽԶ쳣44 -#define MINOR_EXCEPTION_CUSTOM45 0x92c //ŽԶ쳣45 -#define MINOR_EXCEPTION_CUSTOM46 0x92d //ŽԶ쳣46 -#define MINOR_EXCEPTION_CUSTOM47 0x92e //ŽԶ쳣47 -#define MINOR_EXCEPTION_CUSTOM48 0x92f //ŽԶ쳣48 -#define MINOR_EXCEPTION_CUSTOM49 0x930 //ŽԶ쳣49 -#define MINOR_EXCEPTION_CUSTOM50 0x931 //ŽԶ쳣50 -#define MINOR_EXCEPTION_CUSTOM51 0x932 //ŽԶ쳣51 -#define MINOR_EXCEPTION_CUSTOM52 0x933 //ŽԶ쳣52 -#define MINOR_EXCEPTION_CUSTOM53 0x934 //ŽԶ쳣53 -#define MINOR_EXCEPTION_CUSTOM54 0x935 //ŽԶ쳣54 -#define MINOR_EXCEPTION_CUSTOM55 0x936 //ŽԶ쳣55 -#define MINOR_EXCEPTION_CUSTOM56 0x937 //ŽԶ쳣56 -#define MINOR_EXCEPTION_CUSTOM57 0x938 //ŽԶ쳣57 -#define MINOR_EXCEPTION_CUSTOM58 0x939 //ŽԶ쳣58 -#define MINOR_EXCEPTION_CUSTOM59 0x93a //ŽԶ쳣59 -#define MINOR_EXCEPTION_CUSTOM60 0x93b //ŽԶ쳣60 -#define MINOR_EXCEPTION_CUSTOM61 0x93c //ŽԶ쳣61 -#define MINOR_EXCEPTION_CUSTOM62 0x93d //ŽԶ쳣62 -#define MINOR_EXCEPTION_CUSTOM63 0x93e //ŽԶ쳣63 -#define MINOR_EXCEPTION_CUSTOM64 0x93f //ŽԶ쳣64 -#define MINOR_SWITCH_WIRED_NETWORK 0x950 //л -#define MINOR_SWITCH_WIRELESS_NETWORK 0x951 //л -#define MINOR_LOCK_ONLINE_RESUME 0x952 //ָ - - - -//2018-04-23 ͨ쳣־ -#define MINOR_ALARMHOST_WDT_RESET 0x1003 //WDT λ -#define MINOR_ALARMHOST_RTC_EXCEPTION 0x1007 //RTCʵʱʱ쳣 - -#define MINOR_ALARMHOST_TEL_LINE_CONNECT_FAILURE 0x100a //绰Ӷ -#define MINOR_ALARMHOST_TEL_LINE_CONNECT_RESTORE 0x100b //绰ӻָ -#define MINOR_ALARMHOST_EXPANDER_BUS_LOSS 0x100c //չģ -#define MINOR_ALARMHOST_EXPANDER_BUS_RESTORE 0x100d //չģ߻ָ -#define MINOR_ALARMHOST_KEYPAD_BUS_LOSS 0x100e //ģ -#define MINOR_ALARMHOST_KEYPAD_BUS_RESTORE 0x100f //ģ߻ָ -#define MINOR_ALARMHOST_SENSOR_FAILURE 0x1010 //ģ -#define MINOR_ALARMHOST_SENSOR_RESTORE 0x1011 //ģָ -#define MINOR_ALARMHOST_RS485_CONNECT_FAILURE 0x1012 //RS485ͨӶ -#define MINOR_ALARMHOST_RS485_CONNECT_RESTORE 0x1013 //RS485ͨӶϻָ - -//쳣͡쳣ָ־Ӷϡӻָ־ʱһģû豸֧֡쳣͡쳣ָ͡ -#define MINOR_ALARMHOST_WIRED_NETWORK_ABNORMAL 0x1015 //쳣 -#define MINOR_ALARMHOST_WIRED_NETWORK_RESTORE 0x1016 //ָ -#define MINOR_ALARMHOST_GPRS_ABNORMAL 0x1017 //GPRSͨ쳣 -#define MINOR_ALARMHOST_GPRS_RESTORE 0x1018 //GPRSָ -#define MINOR_ALARMHOST_3G_ABNORMAL 0x1019 //3Gͨ쳣 -#define MINOR_ALARMHOST_3G_RESTORE 0x101a //3Gָ -#define MINOR_ALARMHOST_SIM_CARD_ABNORMAL 0x101b //SIM쳣 -#define MINOR_ALARMHOST_SIM_CARD_RESTORE 0x101c //SIMָ - -#define MINOR_FORMAT_HDD_ERROR 0x1026 //Զ̸ʽӲʧ -#define MINOR_USB_ERROR 0x1027 //USBͨŹ -#define MINOR_USB_RESTORE 0x1028 //USBͨŹϻָ -#define MINOR_PRINT_ERROR 0x1029 //ӡ -#define MINOR_PRINT_RESTORE 0x1030 //ӡϻָ -#define MINOR_ALARMHOST_SUBSYSTEM_COMMUNICATION_ERROR 0x1031 //ӰͨѶ - -#define MINOR_MCU_RESTART 0x1035 //MCU -#define MINOR_GPRS_MODULE_FAULT 0x1036 //GPRSģ -#define MINOR_TELEPHONE_MODULE_FAULT 0x1037 //绰ģ -#define MINOR_WIFI_ABNORMAL 0x1038 //WIFIͨ쳣 -#define MINOR_WIFI_RESTORE 0x1039 //WIFIָ -#define MINOR_RF_ABNORMAL 0x103a //RFź쳣 -#define MINOR_RF_RESTORE 0x103b //RFźŻָ -#define MINOR_DETECTOR_ONLINE 0x103c //̽ -#define MINOR_DETECTOR_OFFLINE 0x103d //̽ -#define MINOR_DETECTOR_BATTERY_NORMAL 0x103e //̽ -#define MINOR_DETECTOR_BATTERY_LOW 0x103f //̽Ƿѹ -#define MINOR_DATA_TRAFFIC_OVERFLOW 0x1040 // -#define MINOR_ALARMHOST_ZONE_MODULE_LOSS 0x1041 //ģ -#define MINOR_ALARMHOST_ZONE_MODULE_RESTORE 0x1042 //ģ߻ָ -#define MINOR_WIRELESS_OUTPUT_LOSS 0x1043 //ģ -#define MINOR_WIRELESS_OUTPUT_RESTORE 0x1044 //ģָ -#define MINOR_WIRELESS_REPEATER_LOSS 0x1045 //м -#define MINOR_WIRELESS_REPEATER_RESTORE 0x1046 //мָ -#define MINOR_ALARMHOST_TRIGGER_MODULE_LOSS 0x1047 //ģ -#define MINOR_ALARMHOST_TRIGGER_MODULE_RESTORE 0x1048 //ģ߻ָ -#define MINOR_ALARMHOST_WIRELESS_SIREN_LOSS 0x1049 //߾ -#define MINOR_ALARMHOST_WIRELESS_SIREN_RESTORE 0x104a //߾Żָ -#define MINOR_TX1_SUB_SYSTEM_EXCEPTION 0x1050 /*TX1ϵͳ쳣*/ -#define MINOR_TX1_REBOOT_EXCEPTION 0x1051 /*TX1ϵͳ쳣*/ -#define MINOR_TX1_SUB_SYSTEM_LOSS 0x1052 /*ϵͳ쳣*/ -#define MINOR_TX1_SUB_SYSTEM_RESTORE 0x1053 /*ϵͳ߻ָ*/ -#define MINOR_WIRELESS_SPEED_EXCEPTION 0x1054 //ߴ쳣 -#define MINOR_SUB_BOARD_HEARTBEAT_EXCEPTION 0x1055 //Ӱ쳣 -#define MINOR_HOTSTANDBY__EXCEPTION 0x1056 //ȱ쳣 -#define MINOR_PRODUCTIONDATA_EXCEPTION 0x1057 //쳣 - - -//LED 쳣 0x1201~0x1300 -#define MINOR_LED_SYSTEM_EXCEPTION 0x1201 //LEDϵͳ쳣 -#define MINOR_FLASH_NOTENOUGH_EXCEPTION 0x1202 //FLASHռ䲻 - -#define MINOR_LOG_EXCEPTION 0x1301 //־쳣 - -//[add]by silujie 2013-3-22 14:16 -//0x2000~0x3fff Ϊ豸־ -//0x4000~0x5000 Ϊ豸쳣־ -#define MINOR_SUBSYSTEM_IP_CONFLICT 0x4000 //ӰIPͻ -#define MINOR_SUBSYSTEM_NET_BROKEN 0x4001 //Ӱ -#define MINOR_FAN_ABNORMAL 0x4002 //쳣 -#define MINOR_BACKPANEL_TEMPERATURE_ABNORMAL 0x4003 //¶쳣 - -#define MINOR_SDCARD_ABNORMAL 0x4004 //SD -#define MINOR_SDCARD_DAMAGE 0x4005 //SD -#define MINOR_POC_ABNORMAL 0x4006 //豸POCģ쳣 -#define MINOR_MAIN_POWER_FAULT 0x4007 // -#define MINOR_BACK_UP_POWER_FAULT 0x4008 // -#define MINOR_TAMPER_FAULT 0x4009 // -#define MINOR_RS232_FAULT 0x400a //232߹ -#define MINOR_RS485_FAULT 0x400b //485߹ -#define MINOR_LAN_STATUS_FAULT 0x400c //LAN߽״̬ -#define MINOR_LAN_LINK1_FAULT 0x400d //LAN·1 -#define MINOR_LAN_LINK2_FAULT 0x400e //LAN·2 -#define MINOR_SIM_CARD_STATUS_FAULT 0x400f //4G-SIM״̬ -#define MINOR_4G_LINK1_FAULT 0x4010 //4G·1 -#define MINOR_4G_LINK2_FAULT 0x4011 //4G·2 -#define MINOR_OTHER_FAULT 0x4012 // -#define MINOR_FIRE_CONTROL_CONNECT_FAULT 0x4013 //ӹ -#define MINOR_SENSOR_SHORT_CIRCUIT 0x4014 //· -#define MINOR_SENSOR_OPEN_CIRCUIT 0x4015 //· -#define MINOR_SENSOR_MIS_CONNECT 0x4016 // -#define MINOR_SENSOR_FAULT_RESTORE 0x4017 //ϻָ -#define MINOR_DEVICE_FAULT 0x4018 //豸 -#define MINOR_OVERVOLTAGE 0X4019 //Դѹ -#define MINOR_UNDERVOLTAGE 0X401a //Դѹ -#define MINOR_PANLOCKING 0x401b //̨ˮƽת -#define MINOR_TILTLOCKING 0x401c //ֱ̨ת -#define MINOR_SUBBOARD_TEMPERATURE_ABNORMAL 0x401d //Ӱ¶쳣 -#define MINOR_EZVIZ_UPGRADE_EXCEPTION 0x401e //өʯ쳣 - -//өʯز쳣־ -#define MINOR_EZVIZ_OPERATION_ABNORMAL 0x4020 //өʯ쳣 - -#define MINOR_IFRAME_IS_TOO_LARGE 0x4030 //Ԥ/طʱI֡ - -/* */ -// -#define MAJOR_OPERATION 0x3 - -// -#define MINOR_VCA_MOTIONEXCEPTION 0x29 //쳣 -#define MINOR_START_DVR 0x41 /* */ -#define MINOR_STOP_DVR 0x42 /* ػ */ -#define MINOR_STOP_ABNORMAL 0x43 /* 쳣ػ */ -#define MINOR_REBOOT_DVR 0x44 /*豸*/ - -#define MINOR_LOCAL_LOGIN 0x50 /* ص½ */ -#define MINOR_LOCAL_LOGOUT 0x51 /* ע½ */ -#define MINOR_LOCAL_CFG_PARM 0x52 /* ò */ -#define MINOR_LOCAL_PLAYBYFILE 0x53 /* ذļطŻ */ -#define MINOR_LOCAL_PLAYBYTIME 0x54 /* ذʱطŻ*/ -#define MINOR_LOCAL_START_REC 0x55 /* ؿʼ¼ */ -#define MINOR_LOCAL_STOP_REC 0x56 /* ֹͣ¼ */ -#define MINOR_LOCAL_PTZCTRL 0x57 /* ̨ */ -#define MINOR_LOCAL_PREVIEW 0x58 /* Ԥ (ʹ)*/ -#define MINOR_LOCAL_MODIFY_TIME 0x59 /* ޸ʱ(ʹ) */ -#define MINOR_LOCAL_UPGRADE 0x5a /* */ -#define MINOR_LOCAL_RECFILE_OUTPUT 0x5b /* ر¼ļ */ -#define MINOR_LOCAL_FORMAT_HDD 0x5c /* سʼӲ */ -#define MINOR_LOCAL_CFGFILE_OUTPUT 0x5d /* ļ */ -#define MINOR_LOCAL_CFGFILE_INPUT 0x5e /* 뱾ļ */ -#define MINOR_LOCAL_COPYFILE 0x5f /* رļ */ -#define MINOR_LOCAL_LOCKFILE 0x60 /* ¼ļ */ -#define MINOR_LOCAL_UNLOCKFILE 0x61 /* ؽ¼ļ */ -#define MINOR_LOCAL_DVR_ALARM 0x62 /* ֶʹ*/ -#define MINOR_IPC_ADD 0x63 /* IPC */ -#define MINOR_IPC_DEL 0x64 /* ɾIPC */ -#define MINOR_IPC_SET 0x65 /* IPC */ -#define MINOR_LOCAL_START_BACKUP 0x66 /* ؿʼ */ -#define MINOR_LOCAL_STOP_BACKUP 0x67 /* ֹͣ*/ -#define MINOR_LOCAL_COPYFILE_START_TIME 0x68 /* رݿʼʱ*/ -#define MINOR_LOCAL_COPYFILE_END_TIME 0x69 /* رݽʱ*/ -#define MINOR_LOCAL_ADD_NAS 0x6a /*Ӳ nfsiscsi*/ -#define MINOR_LOCAL_DEL_NAS 0x6b /* ɾnas nfsiscsi*/ -#define MINOR_LOCAL_SET_NAS 0x6c /* nas nfsiscsi*/ -#define MINOR_LOCAL_RESET_PASSWD 0x6d /* ػָԱĬ*/ - -#define MINOR_REMOTE_LOGIN 0x70 /* Զ̵¼ */ -#define MINOR_REMOTE_LOGOUT 0x71 /* Զע½ */ -#define MINOR_REMOTE_START_REC 0x72 /* Զ̿ʼ¼ */ -#define MINOR_REMOTE_STOP_REC 0x73 /* Զֹͣ¼ */ -#define MINOR_START_TRANS_CHAN 0x74 /* ʼ͸ */ -#define MINOR_STOP_TRANS_CHAN 0x75 /* ֹͣ͸ */ -#define MINOR_REMOTE_GET_PARM 0x76 /* Զ̻ȡ */ -#define MINOR_REMOTE_CFG_PARM 0x77 /* Զò */ -#define MINOR_REMOTE_GET_STATUS 0x78 /* Զ̻ȡ״̬ */ -#define MINOR_REMOTE_ARM 0x79 /* Զ̲ */ -#define MINOR_REMOTE_DISARM 0x7a /* Զ̳ */ -#define MINOR_REMOTE_REBOOT 0x7b /* Զ */ -#define MINOR_START_VT 0x7c /* ʼԽ */ -#define MINOR_STOP_VT 0x7d /* ֹͣԽ */ -#define MINOR_REMOTE_UPGRADE 0x7e /* Զ */ -#define MINOR_REMOTE_PLAYBYFILE 0x7f /* Զ̰ļطŻ */ -#define MINOR_REMOTE_PLAYBYTIME 0x80 /* Զ̰ʱطŻ */ -#define MINOR_REMOTE_PTZCTRL 0x81 /* Զ̨ */ -#define MINOR_REMOTE_FORMAT_HDD 0x82 /* Զ̸ʽӲ */ -#define MINOR_REMOTE_STOP 0x83 /* Զ̹ػ */ -#define MINOR_REMOTE_LOCKFILE 0x84 /* Զļ */ -#define MINOR_REMOTE_UNLOCKFILE 0x85 /* Զ̽ļ */ -#define MINOR_REMOTE_CFGFILE_OUTPUT 0x86 /* Զ̵ļ */ -#define MINOR_REMOTE_CFGFILE_INTPUT 0x87 /* Զ̵ļ */ -#define MINOR_REMOTE_RECFILE_OUTPUT 0x88 /* Զ̵¼ļ */ -#define MINOR_REMOTE_DVR_ALARM 0x89 /* Զֶʹ*/ -#define MINOR_REMOTE_IPC_ADD 0x8a /* ԶIPC */ -#define MINOR_REMOTE_IPC_DEL 0x8b /* ԶɾIPC */ -#define MINOR_REMOTE_IPC_SET 0x8c /* ԶIPC */ -#define MINOR_REBOOT_VCA_LIB 0x8d /*ܿ*/ -#define MINOR_REMOTE_ADD_NAS 0x8e /* Զnas nfsiscsi*/ -#define MINOR_REMOTE_DEL_NAS 0x8f /* Զɾnas nfsiscsi*/ -#define MINOR_REMOTE_SET_NAS 0x90 /* Զnas nfsiscsi*/ -#define MINOR_LOCAL_OPERATE_LOCK 0x9d /* ز */ -#define MINOR_LOCAL_OPERATE_UNLOCK 0x9e /* ز */ -#define MINOR_REMOTE_DELETE_HDISK 0x9a /* Զɾ쳣ڵӲ */ -#define MINOR_REMOTE_LOAD_HDISK 0x9b /* Զ̼Ӳ */ -#define MINOR_REMOTE_UNLOAD_HDISK 0x9c /* ԶжӲ */ -#define MINOR_SCHEDULE_ANGLECALIBRATION 0x139 /*У׼*/ -#define MINOR_OTHER_OPERATE 0x200 /* */ - -//2010-05-26 ѶDVR־ -#define MINOR_LOCAL_START_REC_CDRW 0x91 /* ؿʼѶ */ -#define MINOR_LOCAL_STOP_REC_CDRW 0x92 /* ֹͣѶ */ -#define MINOR_REMOTE_START_REC_CDRW 0x93 /* Զ̿ʼѶ */ -#define MINOR_REMOTE_STOP_REC_CDRW 0x94 /* ԶֹͣѶ */ - -#define MINOR_LOCAL_PIC_OUTPUT 0x95 /* رͼƬļ */ -#define MINOR_REMOTE_PIC_OUTPUT 0x96 /* Զ̱ͼƬļ */ - -//2011-07-26 81ѶDVR־ -#define MINOR_LOCAL_INQUEST_RESUME 0x97 /* ػָѶ¼*/ -#define MINOR_REMOTE_INQUEST_RESUME 0x98 /* Զָ̻Ѷ¼*/ - -//2013-01-23 86ѶNVR־ -#define MINOR_LOCAL_ADD_FILE 0x99 /*صļ*/ -#define MINOR_LOCAL_DEL_FILE 0x9f /*ɾѶ*/ -#define MINOR_REMOTE_INQUEST_ADD_FILE 0x100 /*Զ̵ļ*/ - -//2009-12-16 Ƶۺƽ̨־ -#define MINOR_SUBSYSTEMREBOOT 0xa0 /*Ƶۺƽ̨dm6467 */ -#define MINOR_MATRIX_STARTTRANSFERVIDEO 0xa1 /*Ƶۺƽ̨лʼͼ*/ -#define MINOR_MATRIX_STOPTRANSFERVIDEO 0xa2 /*Ƶۺƽ̨лֹͣͼ*/ -#define MINOR_REMOTE_SET_ALLSUBSYSTEM 0xa3 /*Ƶۺƽ̨6467ϵͳϢ*/ -#define MINOR_REMOTE_GET_ALLSUBSYSTEM 0xa4 /*Ƶۺƽ̨ȡ6467ϵͳϢ*/ -#define MINOR_REMOTE_SET_PLANARRAY 0xa5 /*Ƶۺƽ̨üƻѲ*/ -#define MINOR_REMOTE_GET_PLANARRAY 0xa6 /*Ƶۺƽ̨ȡƻѲ*/ -#define MINOR_MATRIX_STARTTRANSFERAUDIO 0xa7 /*Ƶۺƽ̨лʼƵ*/ -#define MINOR_MATRIX_STOPRANSFERAUDIO 0xa8 /*Ƶۺƽ̨лֹͣƵ*/ -#define MINOR_LOGON_CODESPITTER 0xa9 /*Ƶۺƽ̨½*/ -#define MINOR_LOGOFF_CODESPITTER 0xaa /*Ƶۺƽ̨˳*/ - -//2010-01-22 Ƶۺƽ̨н־ -#define MINOR_START_DYNAMIC_DECODE 0xb0 /*ʼ̬*/ -#define MINOR_STOP_DYNAMIC_DECODE 0xb1 /*ֹ̬ͣ*/ -#define MINOR_GET_CYC_CFG 0xb2 /*ȡͨѲ*/ -#define MINOR_SET_CYC_CFG 0xb3 /*ýͨѲ*/ -#define MINOR_START_CYC_DECODE 0xb4 /*ʼѲ*/ -#define MINOR_STOP_CYC_DECODE 0xb5 /*ֹͣѲ*/ -#define MINOR_GET_DECCHAN_STATUS 0xb6 /*ȡͨ״̬*/ -#define MINOR_GET_DECCHAN_INFO 0xb7 /*ȡͨǰϢ*/ -#define MINOR_START_PASSIVE_DEC 0xb8 /*ʼ*/ -#define MINOR_STOP_PASSIVE_DEC 0xb9 /*ֹͣ*/ -#define MINOR_CTRL_PASSIVE_DEC 0xba /*Ʊ*/ -#define MINOR_RECON_PASSIVE_DEC 0xbb /**/ -#define MINOR_GET_DEC_CHAN_SW 0xbc /*ȡͨܿ*/ -#define MINOR_SET_DEC_CHAN_SW 0xbd /*ýͨܿ*/ -#define MINOR_CTRL_DEC_CHAN_SCALE 0xbe /*ͨſ*/ -#define MINOR_SET_REMOTE_REPLAY 0xbf /*Զ̻ط*/ -#define MINOR_GET_REMOTE_REPLAY 0xc0 /*ȡԶ̻ط״̬*/ -#define MINOR_CTRL_REMOTE_REPLAY 0xc1 /*Զ̻طſ*/ -#define MINOR_SET_DISP_CFG 0xc2 /*ʾͨ*/ -#define MINOR_GET_DISP_CFG 0xc3 /*ȡʾͨ*/ -#define MINOR_SET_PLANTABLE 0xc4 /*üƻѲ*/ -#define MINOR_GET_PLANTABLE 0xc5 /*ȡƻѲ*/ -#define MINOR_START_PPPPOE 0xc6 /*ʼPPPoE*/ -#define MINOR_STOP_PPPPOE 0xc7 /*PPPoE*/ -#define MINOR_UPLOAD_LOGO 0xc8 /*ϴLOGO*/ -//ģʽ־ -#define MINOR_LOCAL_PIN 0xc9 /* PINܲ */ -#define MINOR_LOCAL_DIAL 0xca /* ֶϿ */ -#define MINOR_SMS_CONTROL 0xcb /* ſ */ -#define MINOR_CALL_ONLINE 0xcc /* п */ -#define MINOR_REMOTE_PIN 0xcd /* ԶPINܲ */ - -//2010-12-16 ־ -#define MINOR_REMOTE_BYPASS 0xd0 /* Զ·*/ -#define MINOR_REMOTE_UNBYPASS 0xd1 /* Զ·ָ*/ -#define MINOR_REMOTE_SET_ALARMIN_CFG 0xd2 /* Զñ*/ -#define MINOR_REMOTE_GET_ALARMIN_CFG 0xd3 /* Զ̻ȡ*/ -#define MINOR_REMOTE_SET_ALARMOUT_CFG 0xd4 /* Զñ*/ -#define MINOR_REMOTE_GET_ALARMOUT_CFG 0xd5 /* Զ̻ȡ*/ -#define MINOR_REMOTE_ALARMOUT_OPEN_MAN 0xd6 /* Զֶ*/ -#define MINOR_REMOTE_ALARMOUT_CLOSE_MAN 0xd7 /* Զֶرձ*/ -#define MINOR_REMOTE_ALARM_ENABLE_CFG 0xd8 /* ԶñRS485ʹ״̬*/ -#define MINOR_DBDATA_OUTPUT 0xd9 /* ݿ¼ */ -#define MINOR_DBDATA_INPUT 0xda /* ݿ¼ */ -#define MINOR_MU_SWITCH 0xdb /* л */ -#define MINOR_MU_PTZ 0xdc /* PTZ */ -#define MINOR_DELETE_LOGO 0xdd /* ɾlogo */ -#define MINOR_REMOTE_INQUEST_DEL_FILE 0xde /*Զɾļ*/ - -#define MINOR_LOCAL_CONF_REB_RAID 0x101 /*Զؽ*/ -#define MINOR_LOCAL_CONF_SPARE 0x102 /*ȱ*/ -#define MINOR_LOCAL_ADD_RAID 0x103 /*ش*/ -#define MINOR_LOCAL_DEL_RAID 0x104 /*ɾ*/ -#define MINOR_LOCAL_MIG_RAID 0x105 /*Ǩ*/ -#define MINOR_LOCAL_REB_RAID 0x106 /* ֶؽ*/ -#define MINOR_LOCAL_QUICK_CONF_RAID 0x107 /*һ*/ -#define MINOR_LOCAL_ADD_VD 0x108 /*ش*/ -#define MINOR_LOCAL_DEL_VD 0x109 /*ɾ*/ -#define MINOR_LOCAL_RP_VD 0x10a /*޸*/ -#define MINOR_LOCAL_FORMAT_EXPANDVD 0X10b /*չ*/ -#define MINOR_LOCAL_RAID_UPGRADE 0X10c /*raid*/ -#define MINOR_LOCAL_STOP_RAID 0x10d /*ͣRAID(ȫ)*/ -#define MINOR_REMOTE_CONF_REB_RAID 0x111 /*ԶԶؽ*/ -#define MINOR_REMOTE_CONF_SPARE 0x112 /*Զȱ*/ -#define MINOR_REMOTE_ADD_RAID 0x113 /*Զ̴*/ -#define MINOR_REMOTE_DEL_RAID 0x114 /*Զɾ*/ -#define MINOR_REMOTE_MIG_RAID 0x115 /*ԶǨ*/ -#define MINOR_REMOTE_REB_RAID 0x116 /* Զֶؽ*/ -#define MINOR_REMOTE_QUICK_CONF_RAID 0x117 /*Զһ*/ -#define MINOR_REMOTE_ADD_VD 0x118 /*Զ̴*/ -#define MINOR_REMOTE_DEL_VD 0x119 /*Զɾ*/ -#define MINOR_REMOTE_RP_VD 0x11a /*Զ޸*/ -#define MINOR_REMOTE_FORMAT_EXPANDVD 0X11b /*Զ*/ -#define MINOR_REMOTE_RAID_UPGRADE 0X11c /*Զraid*/ -#define MINOR_REMOTE_STOP_RAID 0x11d /*ԶͣRAID(ȫ)*/ -#define MINOR_LOCAL_START_PIC_REC 0x121 /*ؿʼץͼ*/ -#define MINOR_LOCAL_STOP_PIC_REC 0x122 /*ֹͣץͼ*/ -#define MINOR_LOCAL_SET_SNMP 0x125 /*SNMP*/ -#define MINOR_LOCAL_TAG_OPT 0x126 /*رǩ*/ -#define MINOR_REMOTE_START_PIC_REC 0x131 /*Զ̿ʼץͼ*/ -#define MINOR_REMOTE_STOP_PIC_REC 0x132 /*Զֹͣץͼ*/ -#define MINOR_REMOTE_SET_SNMP 0x135 /*ԶSNMP*/ -#define MINOR_REMOTE_TAG_OPT 0x136 /*Զ̱ǩ*/ -#define MINOR_REMOTE_LOGIN_LOCK 0x137 //Զ̵¼ -#define MINOR_REMOTE_LOGIN_UNLOCK 0x138 //Զ̵¼ -// 9000 v2.2.0 -#define MINOR_LOCAL_VOUT_SWITCH 0x140 /* л*/ -#define MINOR_STREAM_CABAC 0x141 /* ѹѡò*/ - -//Netra 3.0.0 -#define MINOR_LOCAL_SPARE_OPT 0x142 /*N+1 ȱز*/ -#define MINOR_REMOTE_SPARE_OPT 0x143 /*ԶN+1 ȱز*/ -#define MINOR_LOCAL_IPCCFGFILE_OUTPUT 0x144 /* صipcļ*/ -#define MINOR_LOCAL_IPCCFGFILE_INPUT 0x145 /* صipcļ */ -#define MINOR_LOCAL_IPC_UPGRADE 0x146 /* IPC */ -#define MINOR_REMOTE_IPCCFGFILE_OUTPUT 0x147 /* Զ̵ipcļ*/ -#define MINOR_REMOTE_IPCCFGFILE_INPUT 0x148 /* Զ̵ipcļ*/ -#define MINOR_REMOTE_IPC_UPGRADE 0x149 /* ԶIPC */ - -#define MINOR_LOCAL_UNLOAD_HDISK 0x150 /*жӲ*/ -#define MINOR_LOCAL_AUDIO_MIX 0x151 /*Ƶ*/ -#define MINOR_REMOTE_AUDIO_MIX 0x152 /*ԶƵ*/ -#define MINOR_LOCAL_TRIAL_PAUSE 0x153 /*ͣѶ*/ -#define MINOR_LOCAL_TRIAL_RESUME 0x154 /*ؼѶ*/ -#define MINOR_REMOTE_TRIAL_PAUSE 0x155 /*ԶͣѶ*/ -#define MINOR_REMOTE_TRIAL_RESUME 0x156 /*Զ̼Ѷ*/ -#define MINOR_REMOTE_MODIFY_VERIFICATION_CODE 0x157 /*޸ƽ̨֤*/ - -#define MINOR_LOCAL_MAKECALL 0x180 /*غ*/ -#define MINOR_LOCAL_REJECTCALL 0x181 /*ؾܽ*/ -#define MINOR_LOCAL_ANSWERCALL 0x182 /*ؽ*/ -#define MINOR_LOCAL_HANGUPCALL 0x183 /*عҶ*/ - -#define MINOR_REMOTE_MAKECALL 0x188 /*Զ̺*/ -#define MINOR_REMOTE_REJECTCALL 0x189 /*Զ̾ܽ*/ -#define MINOR_REMOTE_ANSWERCALL 0x18a /*Զ̽*/ -#define MINOR_REMOTE_HANGUPCALL 0x18b /*Զ̹Ҷ*/ - -#define MINOR_LOCAL_CHANNEL_ORDERED 0x19b /*ͨ*/ - -#define MINOR_SET_MULTI_MASTER 0x201 /*ô*/ -#define MINOR_SET_MULTI_SLAVE 0x202 /*ô*/ -#define MINOR_CANCEL_MULTI_MASTER 0x203 /*ȡ*/ -#define MINOR_CANCEL_MULTI_SLAVE 0x204 /*ȡ*/ - -#define MINOR_DISPLAY_LOGO 0x205 /*ʾLOGO*/ -#define MINOR_HIDE_LOGO 0x206 /*LOGO*/ -#define MINOR_SET_DEC_DELAY_LEVEL 0x207 /*ͨʱ*/ -#define MINOR_SET_BIGSCREEN_DIPLAY_AREA 0x208 /*ôʾ*/ -#define MINOR_CUT_VIDEO_SOURCE 0x209 /*ƵԴи*/ -#define MINOR_SET_BASEMAP_AREA 0x210 /*ͼ*/ -#define MINOR_DOWNLOAD_BASEMAP 0x211 /*شͼ*/ -#define MINOR_CUT_BASEMAP 0x212 /*ͼи*/ -#define MINOR_CONTROL_ELEC_ENLARGE 0x213 /*ӷŴ(Ŵԭ)*/ -#define MINOR_SET_OUTPUT_RESOLUTION 0x214 /*ʾֱ*/ -#define MINOR_SET_TRANCSPARENCY 0X215 /*ͼ͸*/ -#define MINOR_SET_OSD 0x216 /*ʾOSD*/ -#define MINOR_RESTORE_DEC_STATUS 0x217 /*ָʼ״̬(лʱָʼ״̬)*/ - -//2011-11-11 Ӵ־ -#define MINOR_SCREEN_OPEN_SCREEN 0x218 //Ļ -#define MINOR_SCREEN_CLOSE_SCREEN 0x219 //رĻ -#define MINOR_SCREEN_SWITCH_SIGNAL 0x21a //źԴл -#define MINOR_SCREEN_MODIFY_NETWORK 0x21b // -#define MINOR_SCREEN_MODIFY_LEDRES 0x21c //LEDֱ -#define MINOR_SCREEN_SHOW_NORMAL 0x21d //ôͨʾģʽ -#define MINOR_SCREEN_SHOW_TILE 0x21e //ôƽʾģʽ -#define MINOR_SCREEN_DEC_NORMAL 0x21f //ͨģʽ -#define MINOR_SCREEN_DEC_LOWLATENCY 0x220 //õʱģʽ -#define MINOR_SCREEN_MODIFY_SELFRES 0x221 //źԴԶֱ -#define MINOR_SCREEN_OUTPUT_POSITION 0x222 //ڹĻ -#define MINOR_SCREEN_IMAGE_ENHANCE 0x223 //ͼǿ -#define MINOR_SCREEN_JOIN_SIGNAL 0x224 //źԴƴ -#define MINOR_SCREEN_SIGNAL_OSD 0x225 //źԴַ -#define MINOR_SCREEN_ASSOCIATED_INTERACTION 0x226 //źԴ -#define MINOR_SCREEN_MODIFY_MATRIX 0x227 //þ -#define MINOR_SCREEN_WND_TOP_KEEP 0x228 //ö -#define MINOR_SCREEN_WND_OPEN_KEEP 0x229 //ڴ򿪱 -#define MINOR_SCREEN_WALL_MIRROR 0x22a //ǽ -#define MINOR_SCREEN_UPLOAD_BASEMAP 0x22b //ϴͼ -#define MINOR_SCREEN_SHOW_BASEMAP 0x22c //ʾͼ -#define MINOR_SCREEN_HIDE_BASEMAP 0x22d //صͼ -#define MINOR_SCREEN_MODIFY_SERIAL 0x22e //ôڲ - -#define MINOR_SCREEN_SET_INPUT 0x251 /*޸Դ*/ -#define MINOR_SCREEN_SET_OUTPUT 0x252 /*޸ͨ*/ -#define MINOR_SCREEN_SET_OSD 0x253 /*޸LED*/ -#define MINOR_SCREEN_SET_LOGO 0x254 /*޸LOGO*/ -#define MINOR_SCREEN_SET_LAYOUT 0x255 /*ò*/ -#define MINOR_SCREEN_PICTUREPREVIEW 0x256 /*Բ*/ - - -//2012-06-14 CVCS2.0, õȲV1.0 V1.1Ѿˣʱ豸־ûж -#define MINOR_SCREEN_GET_OSD 0x257 /*ȡLED*/ -#define MINOR_SCREEN_GET_LAYOUT 0x258 /*ȡ*/ -#define MINOR_SCREEN_LAYOUT_CTRL 0x259 /*ֿ*/ -#define MINOR_GET_ALL_VALID_WND 0x260 /*ȡЧ*/ -#define MINOR_GET_SIGNAL_WND 0x261 /*ȡϢ*/ -#define MINOR_WINDOW_CTRL 0x262 /*ڿ*/ -#define MINOR_GET_LAYOUT_LIST 0x263 /*ȡб*/ -#define MINOR_LAYOUT_CTRL 0x264 /*ֿ*/ -#define MINOR_SET_LAYOUT 0x265 /*ò*/ -#define MINOR_GET_SIGNAL_LIST 0x266 /*ȡźԴб*/ -#define MINOR_GET_PLAN_LIST 0x267 /*ȡԤб*/ -#define MINOR_SET_PLAN 0x268 /*޸Ԥ*/ -#define MINOR_CTRL_PLAN 0x269 /*Ԥ*/ -#define MINOR_CTRL_SCREEN 0x270 /*Ļ*/ -#define MINOR_ADD_NETSIG 0x271 /*źԴ*/ -#define MINOR_SET_NETSIG 0x272 /*޸źԴ*/ -#define MINOR_SET_DECBDCFG 0x273 /*ý*/ -#define MINOR_GET_DECBDCFG 0x274 /*ȡ*/ -#define MINOR_GET_DEVICE_STATUS 0x275 /*ȡ豸Ϣ*/ -#define MINOR_UPLOAD_PICTURE 0x276 /*ͼϴ*/ -#define MINOR_SET_USERPWD 0x277 /*û*/ -#define MINOR_ADD_LAYOUT 0x278 /*Ӳ*/ -#define MINOR_DEL_LAYOUT 0x279 /*ɾ*/ -#define MINOR_DEL_NETSIG 0x280 /*ɾźԴ*/ -#define MINOR_ADD_PLAN 0x281 /*Ԥ*/ -#define MINOR_DEL_PLAN 0x282 /*ɾԤ*/ -#define MINOR_GET_EXTERNAL_MATRIX_CFG 0x283 //ȡӾ -#define MINOR_SET_EXTERNAL_MATRIX_CFG 0x284 //Ӿ -#define MINOR_GET_USER_CFG 0x285 //ȡû -#define MINOR_SET_USER_CFG 0x286 //û -#define MINOR_GET_DISPLAY_PANEL_LINK_CFG 0x287 //ȡʾǽ -#define MINOR_SET_DISPLAY_PANEL_LINK_CFG 0x288 //ʾǽ - -#define MINOR_GET_WALLSCENE_PARAM 0x289 //ȡǽ -#define MINOR_SET_WALLSCENE_PARAM 0x28a //õǽ -#define MINOR_GET_CURRENT_WALLSCENE 0x28b //ȡǰʹó -#define MINOR_SWITCH_WALLSCENE 0x28c //л -#define MINOR_SIP_LOGIN 0x28d //SIPעɹ -#define MINOR_VOIP_START 0x28e //VOIPԽʼ -#define MINOR_VOIP_STOP 0x28f //VOIPԽֹͣ -#define MINOR_WIN_TOP 0x290 //ǽö -#define MINOR_WIN_BOTTOM 0x291 //ǽõ -#define MINOR_SET_USER_ADD_CFG 0x292 //û -#define MINOR_SET_USER_MODF_CFG 0x293 //޸û -#define MINOR_SET_USER_DEL_CFG 0x294 //ɾû - -// Netra 2.2.2 -#define MINOR_LOCAL_LOAD_HDISK 0x300 //ؼӲ -#define MINOR_LOCAL_DELETE_HDISK 0x301 //ɾ쳣ڵӲ - -//KY2013 3.0.0 -#define MINOR_LOCAL_MAIN_AUXILIARY_PORT_SWITCH 0X302 //л -#define MINOR_LOCAL_HARD_DISK_CHECK 0x303 //ӲԼ - -//Netra3.1.0 -#define MINOR_LOCAL_CFG_DEVICE_TYPE 0x310 //豸 -#define MINOR_REMOTE_CFG_DEVICE_TYPE 0x311 //Զ豸 -#define MINOR_LOCAL_CFG_WORK_HOT_SERVER 0x312 //ùȱ -#define MINOR_REMOTE_CFG_WORK_HOT_SERVER 0x313 //Զùȱ -#define MINOR_LOCAL_DELETE_WORK 0x314 //ɾ -#define MINOR_REMOTE_DELETE_WORK 0x315 //Զɾ -#define MINOR_LOCAL_ADD_WORK 0x316 //ӹ -#define MINOR_REMOTE_ADD_WORK 0x317 //Զӹ -#define MINOR_LOCAL_IPCHEATMAP_OUTPUT 0x318 /* صȶͼļ */ -#define MINOR_LOCAL_IPCHEATFLOW_OUTPUT 0x319 /* صȶļ */ -#define MINOR_REMOTE_SMS_SEND 0x350 /*Զ̷Ͷ*/ -#define MINOR_LOCAL_SMS_SEND 0x351 /*طͶ*/ -#define MINOR_ALARM_SMS_SEND 0x352 /*Ͷű*/ -#define MINOR_SMS_RECV 0x353 /*ն*/ -//ע0x3500x351ָ˹GUIIEؼϱ༭Ͷţ -#define MINOR_LOCAL_SMS_SEARCH 0x354 /**/ -#define MINOR_REMOTE_SMS_SEARCH 0x355 /*Զ*/ -#define MINOR_LOCAL_SMS_READ 0x356 /*ز鿴*/ -#define MINOR_REMOTE_SMS_READ 0x357 /*Զ̲鿴*/ -#define MINOR_REMOTE_DIAL_CONNECT 0x358 /*Զֶ̿*/ -#define MINOR_REMOTE_DIAL_DISCONN 0x359 /*Զֶֹͣ*/ -#define MINOR_LOCAL_ALLOWLIST_SET 0x35A /**/ -#define MINOR_REMOTE_ALLOWLIST_SET 0x35B /*Զ*/ -#define MINOR_LOCAL_DIAL_PARA_SET 0x35C /*òŲ*/ -#define MINOR_REMOTE_DIAL_PARA_SET 0x35D /*ԶòŲ*/ -#define MINOR_LOCAL_DIAL_SCHEDULE_SET 0x35E /*òżƻ*/ -#define MINOR_REMOTE_DIAL_SCHEDULE_SET 0x35F /*Զòżƻ*/ -#define MINOR_PLAT_OPER 0x360 /* ƽ̨*/ -#define MINOR_REMOTE_CFG_POE_WORK_MODE 0x361//ԶPOEģʽ -#define MINOR_LOCAL_CFG_POE_WORK_MODE 0x362//POEģʽ -#define MINOR_REMOTE_CFG_FACE_CONTRAST 0x363//Զȶ -#define MINOR_LOCAL_CFG_FACE_CONTRAST 0x364//ȶ -#define MINOR_REMOTE_CFG_ALLOWLIST_FACE_CONTRAST 0x365//Զȶ -#define MINOR_LOCAL_CFG_ALLOWLIST_FACE_CONTRAST 0x366//ȶ -#define MINOR_LOCAL_CHECK_TIME 0x367 //ֶУʱ -#define MINOR_VCA_ONEKEY_EXPORT_PICTURE 0x368 //һͼƬ -#define MINOR_VCA_ONEKEY_DELETE_PICTURE 0x369 //һɾͼƬ -#define MINOR_VCA_ONEKEY_EXPORT_VIDEO 0x36a //һ¼ -#define MINOR_VCA_ONEKEY_DELETE_VIDEO 0x36b //һɾ¼ -#define MINOR_REMOTE_CFG_WIRELESS_DIALPARAM 0x36c /*Զ߲Ų*/ -#define MINOR_LOCAL_CFG_WIRELESS_DIALPARAM 0x36d /*߲Ų*/ -#define MINOR_REMOTE_CFG_WIRELESS_SMSPARAM 0x36e /*Զ߶ò*/ -#define MINOR_LOCAL_CFG_WIRELESS_SMSPARAM 0x36f /*߶ò*/ -#define MINOR_REMOTE_CFG_WIRELESS_SMSSElFHELP 0x370 /*Զ߶ò*/ -#define MINOR_LOCAL_CFG_WIRELESS_SMSSElFHELP 0x371 /*߶ò*/ -#define MINOR_REMOTE_CFG_WIRELESS_NETFLOWPARAM 0x372 /*Զò*/ -#define MINOR_LOCAL_CFG_WIRELESS_NETFLOWPARAM 0x373 /*ò*/ - -//0x400-0x1000 Ž -#define MINOR_REMOTE_OPEN_DOOR 0x400 //Զ̿ -#define MINOR_REMOTE_CLOSE_DOOR 0x401 //Զ̹(ܿ) -#define MINOR_REMOTE_ALWAYS_OPEN 0x402 //Զ̳() -#define MINOR_REMOTE_ALWAYS_CLOSE 0x403 //Զ̳() -#define MINOR_REMOTE_CHECK_TIME 0x404 //ԶֶУʱ -#define MINOR_NTP_CHECK_TIME 0x405 //NTPԶУʱ -#define MINOR_REMOTE_CLEAR_CARD 0x406 //Զտ -#define MINOR_REMOTE_RESTORE_CFG 0x407 //Զָ̻Ĭϲ -#define MINOR_ALARMIN_ARM 0x408 // -#define MINOR_ALARMIN_DISARM 0x409 // -#define MINOR_LOCAL_RESTORE_CFG 0x40a //ػָĬϲ -#define MINOR_REMOTE_CAPTURE_PIC 0x40b //Զץ -#define MINOR_MOD_NET_REPORT_CFG 0x40c //޸IJ -#define MINOR_MOD_GPRS_REPORT_PARAM 0x40d //޸GPRSIJ -#define MINOR_MOD_REPORT_GROUP_PARAM 0x40e //޸ -#define MINOR_UNLOCK_PASSWORD_OPEN_DOOR 0x40f // -#define MINOR_AUTO_RENUMBER 0x410 //Զ± -#define MINOR_AUTO_COMPLEMENT_NUMBER 0x411 //Զ -#define MINOR_NORMAL_CFGFILE_INPUT 0x412 //ͨļ -#define MINOR_NORMAL_CFGFILE_OUTTPUT 0x413 //ͨļ -#define MINOR_CARD_RIGHT_INPUT 0x414 //뿨Ȩ޲ -#define MINOR_CARD_RIGHT_OUTTPUT 0x415 //Ȩ޲ -#define MINOR_LOCAL_USB_UPGRADE 0x416 //U -#define MINOR_REMOTE_VISITOR_CALL_LADDER 0x417 //ÿͺ -#define MINOR_REMOTE_HOUSEHOLD_CALL_LADDER 0x418 //ס -#define MINOR_REMOTE_ACTUAL_GUARD 0x419 //Զʵʱ -#define MINOR_REMOTE_ACTUAL_UNGUARD 0x41a //Զʵʱ -#define MINOR_REMOTE_CONTROL_NOT_CODE_OPER_FAILED 0x41b //ңδʧ -#define MINOR_REMOTE_CONTROL_CLOSE_DOOR 0x41c //ң -#define MINOR_REMOTE_CONTROL_OPEN_DOOR 0x41d //ң -#define MINOR_REMOTE_CONTROL_ALWAYS_OPEN_DOOR 0x41e //ң -#define MINOR_M1_CARD_ENCRYPT_VERIFY_OPEN 0x41f /*M1֤ܿ*/ -#define MINOR_M1_CARD_ENCRYPT_VERIFY_CLOSE 0x420 /*M1֤ܹر*/ -#define MINOR_NFC_FUNCTION_OPEN 0x421 /*NFCŹܿ*/ -#define MINOR_NFC_FUNCTION_CLOSE 0x422 /*NFCŹܹر*/ -#define MINOR_OFFLINE_DATA_OUTPUT 0x423 //߲ɼݵ -#define MINOR_CREATE_SSH_LINK 0x42d //SSH -#define MINOR_CLOSE_SSH_LINK 0x42e //ϿSSH -#define MINOR_LOCAL_IMPORT_USERINFO 0x42f //صԱݣԱȨޣģ壬ͼƬ¼ͣ -#define MINOR_LOCAL_EXPORT_USERINFO 0x430 //صԱ -#define MINOR_CREATE_CERTIFICATE 0x431 //֤飨SSLͨŵ֤飬SDKTLSHTTPSȣ -#define MINOR_UPLOAD_CERTIFICATE 0x432 //ϴ֤ -#define MINOR_DELETE_CERTIFICATE 0x433 //ɾ֤ -#define MINOR_COMSUME_ARM 0x434 //Ѳ -#define MINOR_COMSUME_DISARM 0x435 //ѳ - -#define MINOR_OPERATION_CUSTOM1 0x900 //ŽԶ1 -#define MINOR_OPERATION_CUSTOM2 0x901 //ŽԶ2 -#define MINOR_OPERATION_CUSTOM3 0x902 //ŽԶ3 -#define MINOR_OPERATION_CUSTOM4 0x903 //ŽԶ4 -#define MINOR_OPERATION_CUSTOM5 0x904 //ŽԶ5 -#define MINOR_OPERATION_CUSTOM6 0x905 //ŽԶ6 -#define MINOR_OPERATION_CUSTOM7 0x906 //ŽԶ7 -#define MINOR_OPERATION_CUSTOM8 0x907 //ŽԶ8 -#define MINOR_OPERATION_CUSTOM9 0x908 //ŽԶ9 -#define MINOR_OPERATION_CUSTOM10 0x909 //ŽԶ10 -#define MINOR_OPERATION_CUSTOM11 0x90a //ŽԶ11 -#define MINOR_OPERATION_CUSTOM12 0x90b //ŽԶ12 -#define MINOR_OPERATION_CUSTOM13 0x90c //ŽԶ13 -#define MINOR_OPERATION_CUSTOM14 0x90d //ŽԶ14 -#define MINOR_OPERATION_CUSTOM15 0x90e //ŽԶ15 -#define MINOR_OPERATION_CUSTOM16 0x90f //ŽԶ16 -#define MINOR_OPERATION_CUSTOM17 0x910 //ŽԶ17 -#define MINOR_OPERATION_CUSTOM18 0x911 //ŽԶ18 -#define MINOR_OPERATION_CUSTOM19 0x912 //ŽԶ19 -#define MINOR_OPERATION_CUSTOM20 0x913 //ŽԶ20 -#define MINOR_OPERATION_CUSTOM21 0x914 //ŽԶ21 -#define MINOR_OPERATION_CUSTOM22 0x915 //ŽԶ22 -#define MINOR_OPERATION_CUSTOM23 0x916 //ŽԶ23 -#define MINOR_OPERATION_CUSTOM24 0x917 //ŽԶ24 -#define MINOR_OPERATION_CUSTOM25 0x918 //ŽԶ25 -#define MINOR_OPERATION_CUSTOM26 0x919 //ŽԶ26 -#define MINOR_OPERATION_CUSTOM27 0x91a //ŽԶ27 -#define MINOR_OPERATION_CUSTOM28 0x91b //ŽԶ28 -#define MINOR_OPERATION_CUSTOM29 0x91c //ŽԶ29 -#define MINOR_OPERATION_CUSTOM30 0x91d //ŽԶ30 -#define MINOR_OPERATION_CUSTOM31 0x91e //ŽԶ31 -#define MINOR_OPERATION_CUSTOM32 0x91f //ŽԶ32 -#define MINOR_OPERATION_CUSTOM33 0x920 //ŽԶ33 -#define MINOR_OPERATION_CUSTOM34 0x921 //ŽԶ34 -#define MINOR_OPERATION_CUSTOM35 0x922 //ŽԶ35 -#define MINOR_OPERATION_CUSTOM36 0x923 //ŽԶ36 -#define MINOR_OPERATION_CUSTOM37 0x924 //ŽԶ37 -#define MINOR_OPERATION_CUSTOM38 0x925 //ŽԶ38 -#define MINOR_OPERATION_CUSTOM39 0x926 //ŽԶ39 -#define MINOR_OPERATION_CUSTOM40 0x927 //ŽԶ40 -#define MINOR_OPERATION_CUSTOM41 0x928 //ŽԶ41 -#define MINOR_OPERATION_CUSTOM42 0x929 //ŽԶ42 -#define MINOR_OPERATION_CUSTOM43 0x92a //ŽԶ43 -#define MINOR_OPERATION_CUSTOM44 0x92b //ŽԶ44 -#define MINOR_OPERATION_CUSTOM45 0x92c //ŽԶ45 -#define MINOR_OPERATION_CUSTOM46 0x92d //ŽԶ46 -#define MINOR_OPERATION_CUSTOM47 0x92e //ŽԶ47 -#define MINOR_OPERATION_CUSTOM48 0x92f //ŽԶ48 -#define MINOR_OPERATION_CUSTOM49 0x930 //ŽԶ49 -#define MINOR_OPERATION_CUSTOM50 0x931 //ŽԶ50 -#define MINOR_OPERATION_CUSTOM51 0x932 //ŽԶ51 -#define MINOR_OPERATION_CUSTOM52 0x933 //ŽԶ52 -#define MINOR_OPERATION_CUSTOM53 0x934 //ŽԶ53 -#define MINOR_OPERATION_CUSTOM54 0x935 //ŽԶ54 -#define MINOR_OPERATION_CUSTOM55 0x936 //ŽԶ55 -#define MINOR_OPERATION_CUSTOM56 0x937 //ŽԶ56 -#define MINOR_OPERATION_CUSTOM57 0x938 //ŽԶ57 -#define MINOR_OPERATION_CUSTOM58 0x939 //ŽԶ58 -#define MINOR_OPERATION_CUSTOM59 0x93a //ŽԶ59 -#define MINOR_OPERATION_CUSTOM60 0x93b //ŽԶ60 -#define MINOR_OPERATION_CUSTOM61 0x93c //ŽԶ61 -#define MINOR_OPERATION_CUSTOM62 0x93d //ŽԶ62 -#define MINOR_OPERATION_CUSTOM63 0x93e //ŽԶ63 -#define MINOR_OPERATION_CUSTOM64 0x93f //ŽԶ64 -#define MINOR_OPERATION_REALTIMEBROADCAST 0x940 //ʵʱ㲥 -#define MINOR_OPERATION_PLANBROADCAST 0x941 //ƻ㲥 - -#define MINOR_SET_WIFI_PARAMETER 0x950 //WIFIò -#define MINOR_EZVIZ_LOGIN 0x951 //өʯƵ½ -#define MINOR_EZVIZ_LOGINOUT 0x952 //өʯƵdz -#define MINOR_LOCK_ADD 0x953 // -#define MINOR_LOCK_DELETE 0x954 //ɾ -#define MINOR_LOCK_GET_STATUS 0x955 //״̬ȡ -#define MINOR_LOCK_SET_TMP_PASSWORD 0x956 //ʱ· -#define MINOR_LOCK_SET_SILENT_MODE 0x957 // -#define MINOR_LOCK_SET_LATE_WARNING 0x958 // -#define MINOR_LOCK_IPC_ADD 0x959 //IPC -#define MINOR_LOCK_IPC_REMOVE 0x95a //IPC -#define MINOR_LOCK_DETECTOR_ADD 0x95b //̽ -#define MINOR_LOCK_DETECTOR_REMOVE 0x95c //̽ -#define MINOR_LOCK_MESSAGE_REMINDING_OPEN 0x95d //ϢѴ -#define MINOR_LOCK_MESSAGE_REMINDING_CLOSE 0x95e //Ϣѹر -#define MINOR_LOCK_SET_HEART_BEAT 0x95f // -#define MINOR_LOCK_REBOOT 0x960 // -#define MINOR_LOCK_CLEAR_USER 0x961 //û -#define MINOR_LOCK_FORMAT 0x962 //ʽ -#define MINOR_LOCK_FINGER_CHANGE 0x963 //ָƸĶ -#define MINOR_LOCK_PASSWORD_CHANGE 0x964 //Ķ -#define MINOR_LOCK_CARD_CHANGE 0x965 //ϢĶ -#define MINOR_LOCK_USER_CHANGE 0x966 //ûϢĶ -#define MINOR_LOCK_SYSTEM_CHANGE 0x967 //ϵͳϢĶ -#define MINOR_LOCK_CHANGE_ADD_UESR 0x968 //û -#define MINOR_LOCK_CHANGE_DEL_UESR 0x969 //ɾû -#define MINOR_LOCK_CHANGE_CUSTOM_USER_NAME 0x96a //ԶûûĶ -#define MINOR_LOCK_CHANGE_REMOTE_DEVICE 0x96b //ңϢĶ -#define MINOR_LOCK_CHANGE_ADD_FP 0x96c //ָ -#define MINOR_LOCK_CHANGE_DEL_FP 0x96d //ɾָ -#define MINOR_LOCK_CHANGE_ADD_PASSWORD 0x96e // -#define MINOR_LOCK_CHANGE_DEL_PASSWORD 0x96f //ɾ -#define MINOR_LOCK_CHANGE_ADD_CARD 0x970 //Ƭ -#define MINOR_LOCK_CHANGE_DEL_CARD 0x971 //ɾƬ -#define MINOR_LOCK_NETWORK_SWITCH 0x972 //繦ܿظĶ -#define MINOR_LOCK_CLEAR_NETWORK_DATA 0x973 // -#define MINOR_LOCK_CLEAR_HOST_USER 0x974 //û -#define MINOR_LOCK_CLEAR_GUEST_USER 0x975 //տû -#define MINOR_LOCK_CLEAN_ALL_REMOTE_DEVICE 0x976 //ңûϢ -#define MINOR_LOCK_CLEAN_NORMAL_USER_FINGRT 0x977 //ͨûָ -#define MINOR_LOCK_CLEAN_ALL_CARD 0x978 //пƬ -#define MINOR_LOCK_CLEAN_ALL_PASSWORD 0x979 // -#define MINOR_START_WIRELESSSERVER 0x97a //豸ȵ -#define MINOR_STOP_WIRELESSSERVER 0x97b //ر豸ȵ -#define MINOR_EMERGENCY_CARD_AUTH_NORMAL_CARD 0x97c //ӦȨͨ -#define MINOR_CHANGE_ALWAYS_OPEN_RIGHT 0x97d //ͨģʽĶ -#define MINOR_LOCK_DOOR_BELL_EVENT 0x97e //¼ - -//Ϣ־ -#define MINOR_BACKUP_DATA 0xc41 //ݱ -#define MINOR_TRANSFER_DATA 0xc42 //Ǩ -#define MINOR_RESTORE_DATA 0xc43 //ݻԭ -#define MINOR_SET_INPUT_PLAN 0xc44 //ն˶ʱлƻ -#define MINOR_TERMINAL_ADB 0xc45//նADB -#define MINOR_TERMINAL_VOLUME 0xc46 //ն -#define MINOR_TERMINAL_LOGO 0xc47 //նLOGO -#define MINOR_TERMINAL_DEFAULT_SCHEDULE 0xc48 //Ƭճʹ -#define MINOR_TERMINAL_PASSWORD 0xc49 //ն -#define MINOR_TERMINAL_IP 0xc4a//նIP -#define MINOR_TERMINAL_RELATE_IPC 0xc4b//ն˹IPC -#define MINOR_TERMINAL_SERVER 0xc4c//ն˹ -#define MINOR_TERMINAL_SADP 0xc4d//նSADP -#define MINOR_TERMINAL_TIMEZONE 0xc4e//նʱ -#define MINOR_TERMINAL_TEMP_PROTECT 0xc4f//ն¶ȱ -#define MINOR_ADD_ORGANIZATION 0xc50 //֯ -#define MINOR_DELETE_ORGANIZATION 0xc51 //ɾ֯ -#define MINOR_MODIFY_ORGANIZATION 0xc52 //޸֯ -#define MINOR_WEATHER_FACTORY 0xc53 // -#define MINOR_SADP_ENABLE 0xc54 //sadp -#define MINOR_SSH_ENABLE 0xc55 //SSH -#define MINOR_MODIFY_MATERIAL 0xc56 //زIJ޸ -#define MINOR_INSERT_CHARACTER 0xc57 //岥Ϣ -#define MINOR_TERMINAL_BACKLIGHT 0xc58 //ն˱ -#define MINOR_DOWNLOAD_MATERIAL_THUMBNAIL 0xc59 //زͼ -#define MINOR_UPLOAD_PROGRAM_THUMBNAIL 0xc5a//ϴĿͼ -#define MINOR_TDOWNLOAD_PROGRAM_THUMBNAIL 0xc5b//ؽĿͼ -#define MINOR_BATCH_DELETE_SCHEDULE_PLAN 0xc5c//ɾƻ -#define MINOR_REPUBLISH 0xc5d//· -#define MINOR_CLEAR_TERMINAL_PLAY_INFO 0xc5e//ն˲Ϣ -#define MINOR_GET_TERMINAL_RESOLUTION 0xc5f//ȡն˷ֱ -#define MINOR_SET_TERMINAL_RESOLUTION 0xc60//ն˷ֱ -#define MINOR_GET_BATCH_TERMINAL_UPGRATE_PROGRESS 0xc61//ȡն -#define MINOR_GET_BATCH_PROGRESS 0xc62//ȡն˷ -#define MINOR_GET_TEMPLATE 0xc64//ȡģ -#define MINOR_INIT_TEMPLATE 0xc65//ʼģ -#define MINOR_GET_TERMINAL_NTP_SERVERS 0xc66//ȡնNTP -#define MINOR_SET_TERMINAL_NTP_SERVERS 0xc67//նNTP -#define MINOR_GET_RELEASE_DETAILS 0xc68//ȡϸϢ -#define MINOR_UPLOAD_TEMPLATE_THUMBNAIL 0xc69//ϴģͼ -#define MINOR_DOWNLOAD_TEMPLATE_THUMBNAIL 0xc6a//ģͼ -#define MINOR_ADD_TEMPLATE 0xc6b//ģ -#define MINOR_DELETE_TEMPLATE 0xc6c//ɾģ -#define MINOR_MODIFY_TEMPLATE 0xc6d//޸ģ -#define MINOR_ADD_SCHEDULE_PLAN 0xc6e//ӷƻ -#define MINOR_MODIFY_SCHEDULE_PLAN 0xc6f//޸ķƻ -#define MINOR_CANCEL_SCHEDULE_RELEASE 0xc70//ȡճ̷ -#define MINOR_GET_SCHEDULE 0xc71//ȡճ -#define MINOR_ADD_INSERT 0xc72//½岥 -#define MINOR_CANCEL_INSERT 0xc73//ȡ岥 -#define MINOR_SWITCH_LANGUAGE 0xc74//л -#define MINOR_SET_ADMIN_INITIAL_PASSWORD 0xc75//adminʼ -#define MINOR_MODIFY_PORT 0xc76//޸Ķ˿ -#define MINOR_MODIFY_STORAGE_PATH 0xc77//޸Ĵ洢· -#define MINOR_EXIT_PROGRAM 0xc78//˳ -#define MINOR_MODULE_STARTUP_SUCCESS 0xc79//ģɹ -#define MINOR_APPROVE_SCHEDULE 0xc80//ճ -#define MINOR_GENERAL_DATA_SEND 0xc81//· -#define MINOR_SET_SIGN_INTERFACE 0xc82//ǩ -#define MINOR_GET_SIGN_INTERFACE 0xc83//ȡǩ -#define MINOR_SET_SHOW_MODE 0xc84//ʾģʽ -#define MINOR_GET_SHOW_MODE 0xc85//ȡʾģʽ -#define MINOR_SET_SCREEN_DIRECTION 0xc86//Ļ -#define MINOR_GET_SCREEN_DIRECTION 0xc87//ȡĻ -#define MINOR_SET_LOCK_SCREEN 0xc88// -#define MINOR_GET_LOCK_SCREEN 0xc89//ȡ -#define MINOR_SET_FACE_DATA_LIB 0xc8a// -#define MINOR_DELETE_FACE_DATA_LIB 0xc8b//ɾ -#define MINOR_SET_SPEC_FACE_DATA_LIB 0xc8c//ָ -#define MINOR_DELETE_SPEC_FACE_DATA_LIB 0xc8d//ɾָ -#define MINOR_ADD_FACE_DATA 0xc8e// -#define MINOR_SEARCH_FACE_DATA 0xc8f//ѯ -#define MINOR_MODIFY_FACE_DATA 0xc90//޸ -#define MINOR_DELETE_FACE_DATA 0xc91//ɾ -#define MINOR_DELETE_USERINFO_DETAIL 0xc92//ԱϢȨɾ -#define MINOR_ADD_USERINFO 0xc93//ԱϢ -#define MINOR_MODIFY_USERINFO 0xc94//޸ԱϢ -#define MINOR_DELETE_USERINFO 0xc95//ɾԱϢ -#define MINOR_ADD_CARD_INFO 0xc96//ӿϢ -#define MINOR_MODIFY_CARD_INFO 0xc97//޸ĿϢ -#define MINOR_DELETE_CARD_INFO 0xc98//ɾϢ -#define MINOR_SET_USER_RIGHT_WEEK 0xc99//ԱȨܼƻ -#define MINOR_SET_USER_RIGHT_HOLIDAY 0xc9a//ԱȨ޽ռƻ -#define MINOR_SET_USER_RIGHT_HOLIDAYGROUP 0xc9b//ԱȨ޼ƻ -#define MINOR_SET_USER_RIGHT_TEMPLATE 0xc9c//ԱȨ޼ƻģ - -//2012-03-05 ITC־ -#define MINOR_SET_TRIGGERMODE_CFG 0x1001 /*ôģʽ*/ -#define MINOR_GET_TRIGGERMODE_CFG 0x1002 /*ȡģʽ*/ -#define MINOR_SET_IOOUT_CFG 0x1003 /*IO*/ -#define MINOR_GET_IOOUT_CFG 0x1004 /*ȡIO*/ -#define MINOR_GET_TRIGGERMODE_DEFAULT 0x1005 /*ȡģʽƼ*/ -#define MINOR_GET_ITCSTATUS 0x1006 /*ȡ״̬*/ -#define MINOR_SET_STATUS_DETECT_CFG 0x1007 /*״̬*/ -#define MINOR_GET_STATUS_DETECT_CFG 0x1008 /*ȡ״̬*/ -#define MINOR_SET_VIDEO_TRIGGERMODE_CFG 0x1009 /*Ƶģʽ*/ -#define MINOR_GET_VIDEO_TRIGGERMODE_CFG 0x100a /*ȡƵģʽ*/ - -//2018-04-23 ͨز־ -#define MINOR_ALARMHOST_GUARD 0x1010 //ͨ() -#define MINOR_ALARMHOST_UNGUARD 0x1011 //ͨ -#define MINOR_ALARMHOST_BYPASS 0x1012 //· -#define MINOR_ALARMHOST_DURESS_ACCESS 0x1013 //Ю - -#define MINOR_ALARMHOST_RS485_PARAM 0x1018 //޸485ò -#define MINOR_ALARMHOST_ALARM_OUTPUT 0x1019 //ƴ -#define MINOR_ALARMHOST_ACCESS_OPEN 0x101a //Ž -#define MINOR_ALARMHOST_ACCESS_CLOSE 0x101b //Ž -#define MINOR_ALARMHOST_SIREN_OPEN 0x101c //ƾſ -#define MINOR_ALARMHOST_SIREN_CLOSE 0x101d //ƾŹ -#define MINOR_ALARMHOST_MOD_ZONE_CONFIG 0x101e //޸ķ -#define MINOR_ALARMHOST_MOD_ALARMOUT_CONIFG 0x101f //޸Ĵ -#define MINOR_ALARMHOST_MOD_ANALOG_CONFIG 0x1020 //޸ģ -#define MINOR_ALARMHOST_RS485_CONFIG 0x1021 //޸485ͨ -#define MINOR_ALARMHOST_PHONE_CONFIG 0x1022 //޸IJ -#define MINOR_ALARMHOST_ADD_ADMIN 0x1023 //ӹԱ -#define MINOR_ALARMHOST_MOD_ADMIN_PARAM 0x1024 //޸ĹԱ -#define MINOR_ALARMHOST_DEL_ADMIN 0x1025 //ɾԱ -#define MINOR_ALARMHOST_ADD_NETUSER 0x1026 //Ӻ˲Ա -#define MINOR_ALARMHOST_MOD_NETUSER_PARAM 0x1027 //޸ĺ˲Ա -#define MINOR_ALARMHOST_DEL_NETUSER 0x1028 //ɾ˲Ա -#define MINOR_ALARMHOST_ADD_OPERATORUSER 0x1029 //ǰ˲Ա -#define MINOR_ALARMHOST_MOD_OPERATORUSER_PW 0x102a //޸ǰ˲Ա -#define MINOR_ALARMHOST_DEL_OPERATORUSER 0x102b //ɾǰ˲Ա -#define MINOR_ALARMHOST_ADD_KEYPADUSER 0x102c //Ӽ/û -#define MINOR_ALARMHOST_DEL_KEYPADUSER 0x102d //ɾ/û - - -#define MINOR_ALARMHOST_MOD_HOST_CONFIG 0x1032 //޸ -#define MINOR_ALARMHOST_RESTORE_BYPASS 0x1033 //·ָ - -#define MINOR_ALARMHOST_ALARMOUT_OPEN 0x1034 // -#define MINOR_ALARMHOST_ALARMOUT_CLOSE 0x1035 //ر -#define MINOR_ALARMHOST_MOD_SUBSYSTEM_PARAM 0x1036 //޸ϵͳ -#define MINOR_ALARMHOST_GROUP_BYPASS 0x1037 //· -#define MINOR_ALARMHOST_RESTORE_GROUP_BYPASS 0x1038 //·ָ -#define MINOR_ALARMHOST_MOD_GRPS_PARAM 0x1039 //޸GPRS - -#define MINOR_ALARMHOST_MOD_REPORT_MOD 0x103b //޸ϴʽ -#define MINOR_ALARMHOST_MOD_GATEWAY_PARAM 0x103c //޸Ž - -#define MINOR_STAY_ARM 0x104c //ز -#define MINOR_QUICK_ARM 0x104d //ʱ -#define MINOR_AUTOMATIC_ARM 0x104e //Զ -#define MINOR_AUTOMATIC_DISARM 0x104f //Զ -#define MINOR_KEYSWITCH_ARM 0x1050 //Կײ -#define MINOR_KEYSWITCH_DISARM 0x1051 //Կײ -#define MINOR_CLEAR_ALARM 0x1052 // -#define MINOR_MOD_FAULT_CFG 0x1053 //޸ϵͳ -#define MINOR_MOD_EVENT_TRIGGER_ALARMOUT_CFG 0x1054 //޸¼ -#define MINOR_SEARCH_EXTERNAL_MODULE 0x1055 //ģ -#define MINOR_REGISTER_EXTERNAL_MODULE 0x1056 //עģ -#define MINOR_CLOSE_KEYBOARD_ALARM 0x1057 //رռ̱ʾ -#define MINOR_MOD_3G_PARAM 0x1058 //޸3G -#define MINOR_MOD_PRINT_PARAM 0x1059 //޸Ĵӡ -#define MINOR_ALARMHOST_SD_CARD_FORMAT 0x1060 //SDʽ -#define MINOR_ALARMHOST_SUBSYSTEM_UPGRADE 0x1061 //Ӱ̼ - -#define MINOR_PLAN_ARM_CFG 0x1062 //ƻ -#define MINOR_PHONE_ARM 0x1063 //ֻ -#define MINOR_PHONE_STAY_ARM 0x1064 //ֻز -#define MINOR_PHONE_QUICK_ARM 0x1065 //ֻʱ -#define MINOR_PHONE_DISARM 0x1066 //ֻ -#define MINOR_PHONE_CLEAR_ALARM 0x1067 //ֻ -#define MINOR_ALLOWLIST_CFG 0x1068 // -#define MINOR_TIME_TRIGGER_CFG 0x1069 //ʱش -#define MINOR_CAPTRUE_CFG 0x106a //ץͼ -#define MINOR_TAMPER_CFG 0x106b // - -#define MINOR_REMOTE_KEYPAD_UPGRADE 0x106c //Զ -#define MINOR_ONETOUCH_AWAY_ARMING 0x106d //һ -#define MINOR_ONETOUCH_STAY_ARMING 0x106e //һز -#define MINOR_SINGLE_PARTITION_ARMING_OR_DISARMING 0x106f // -#define MINOR_CARD_CONFIGURATION 0x1070 // -#define MINOR_CARD_ARMING_OR_DISARMING 0x1071 //ˢ -#define MINOR_EXPENDING_NETCENTER_CONFIGURATION 0x1072 //չ -#define MINOR_NETCARD_CONFIGURATION 0x1073 // -#define MINOR_DDNS_CONFIGURATION 0x1074 //DDNS -#define MINOR_RS485BUS_CONFIGURATION 0x1075 // 485߲ -#define MINOR_RS485BUS_RE_REGISTRATION 0x1076 //485ע - -#define MINOR_REMOTE_OPEN_ELECTRIC_LOCK 0x1077 //Զ̴򿪵 -#define MINOR_REMOTE_CLOSE_ELECTRIC_LOCK 0x1078 //Զ̹رյ -#define MINOR_LOCAL_OPEN_ELECTRIC_LOCK 0x1079 //ش򿪵 -#define MINOR_LOCAL_CLOSE_ELECTRIC_LOCK 0x107a //عرյ -#define MINOR_OPEN_ALARM_LAMP 0x107b //򿪾(Զ) -#define MINOR_CLOSE_ALARM_LAMP 0x107c //رվ(Զ) - - -#define MINOR_TEMPORARY_PASSWORD 0x107d //ʱ¼ - -#define MINOR_HIDDNS_CONFIG 0x1082 // HIDDNS -#define MINOR_REMOTE_KEYBOARD_UPDATA 0x1083 //Զ̼־ -#define MINOR_ZONE_ADD_DETECTOR 0x1084 //̽ -#define MINOR_ZONE_DELETE_DETECTOR 0x1085 //ɾ̽ -#define MINOR_QUERY_DETECTOR_SIGNAL 0x1086 //ѯ̽źǿ -#define MINOR_QUERY_DETECTOR_BATTERY 0x1087 //ѯ̽ -#define MINOR_SET_DETECTOR_GUARD 0x1088 //̽ -#define MINOR_SET_DETECTOR_UNGUARD 0x1089 //̽ -#define MINOR_WIRELESS_CONFIGURATION 0x108a //߲ -#define MINOR_OPEN_VOICE 0x108b // -#define MINOR_CLOSE_VOICE 0x108c //ر -#define MINOR_ENABLE_FUNCTION_KEY 0x108d //ùܼ -#define MINOR_DISABLE_FUNCTION_KEY 0x108e //رչܼ -#define MINOR_READ_CARD 0x108f //Ѳˢ -#define MINOR_START_BROADCAST 0x1090 //㲥 -#define MINOR_STOP_BROADCAST 0x1091 //ر㲥 -#define MINOR_REMOTE_ZONE_MODULE_UPGRADE 0x1092 //Զģ -#define MINOR_NETWORK_MODULE_EXTEND 0x1093 //ģ -#define MINOR_ADD_CONTROLLER 0x1094 //ңû -#define MINOR_DELETE_CONTORLLER 0x1095 //ɾңû -#define MINOR_REMOTE_NETWORKMODULE_UPGRADE 0x1096 //Զģ -#define MINOR_WIRELESS_OUTPUT_ADD 0x1097 //עģ -#define MINOR_WIRELESS_OUTPUT_DEL 0x1098 //ɾģ -#define MINOR_WIRELESS_REPEATER_ADD 0x1099 //עм -#define MINOR_WIRELESS_REPEATER_DEL 0x109a //ɾм -#define MINOR_PHONELIST_CFG 0x109b //绰 -#define MINOR_RF_SIGNAL_CHECK 0x109c // RFźŲѯ -#define MINOR_USB_UPGRADE 0x109d // USB -#define MINOR_DOOR_TIME_REMINDER_CFG 0x109f //ŴŶʱѲ -#define MINOR_WIRELESS_SIREN_ADD 0x1100 //ע߾ -#define MINOR_WIRELESS_SIREN_DEL 0x1101 //ɾ߾ -#define MINOR_OUT_SCALE_OPEN 0x1102 //翪 -#define MINOR_OUT_SCALE_CLOSE 0x1103 //ر - -#define MINOR_ALARMHOST_4G_MODULS_START 0x1108 //4Gģ -#define MINOR_ALARMHOST_4G_MODULS_STOP 0x1109 //4Gģͣ - -#define MINOR_EZVIZ_CLOUD_START 0x1110 //өʯ -#define MINOR_EZVIZ_CLOUD_STOP 0x1111 //өʯͣ -#define MINOR_SIPUA_GRID_START 0x1112 //B -#define MINOR_SIPUA_GRID_STOP 0x1113 //Bͣ - -#define MINOR_MODBUS_FILE_DOWNLOAD 0x1114 //modbusЭļ -#define MINOR_MODBUS_FILE_UPLOAD 0x1115 //modbusЭļ - -#define MINOR_RS485_DLL_FILE_DOWNLOAD 0x1116 //485Эļ -#define MINOR_RS485_DLL_FLIE_UPLOAD 0x1117 //485Эļ -#define MINOR_TX1_REBOOT 0x1118 //TX1ϵͳ - -#define MINOR_LORA_PARAM 0x1119 //LoRa -#define MINOR_GB28181_PLATE_CFG_PARAM 0x111a //ƽ̨ -#define MINOR_GB28181_SERVER_START 0x111b // -#define MINOR_GB28181_SERVER_STOP 0x111c //ͣ -#define MINOR_WEB_AUTHENTICATION 0x111d //web֤ʽ -#define MINOR_SADP_ENABLED 0x111e //SADP -#define MINOR_HTTPS_ENABLED 0x111f //HTTPS -#define MINOR_EZVIZ_PARAM_CFG 0x1120 //өʯ -#define MINOR_SET_MOTION_DETECTION_CFG 0x1121 //ƶ -#define MINOR_GET_MOTION_DETECTION_CFG 0x1122 //ȡƶ -#define MINOR_SET_SHELTER_ALARM_CFG 0x1123 //ڵ -#define MINOR_GET_SHELTER_ALARM_CFG 0x1124 //ȡڵ -#define MINOR_SET_VIDEO_LOSS_CFG 0x1125 //Ƶʧ -#define MINOR_GET_VIDEO_LOSS_CFG 0x1126 //ȡƵʧ -#define MINOR_SET_ABNORMAL_CFG 0x1127 //쳣 -#define MINOR_GET_ABNORMAL_CFG 0x1128 //ȡ쳣 -#define MINOR_SET_ALARM_LINKAGE_CFG 0x1129 //ñ -#define MINOR_GET_ALARM_LINKAGE_CFG 0x112a //ȡ -#define MINOR_SET_NETWORK_CFG 0x112b // -#define MINOR_GET_NETWORK_CFG 0x112c //ȡ -#define MINOR_SET_VIDEO_MASK_CFG 0x112d //ƵڸDz -#define MINOR_GET_VIDEO_MASK_CFG 0x112e //ȡƵڸDz - -#define MINOR_BASIC_OPERATION_CFG 0x112f // -#define MINOR_DISPLAY_EFFECT_ADJUST_CFG 0x1130 //ʾЧ -#define MINOR_DISPLAY_PROPERTY_CFG 0x1131 //ʾ -#define MINOR_SIGNAL_CABLE_CFG 0x1132 //ź -#define MINOR_BASIC_CFG 0x1133 // -#define MINOR_IMAGE_ADJUST_CFG 0x1134 //ͼ -#define MINOR_IMAGE_ENHANCE_CFG 0x1135 //ͼǿ -#define MINOR_NOSIGN_SCREEN_SAVER_CFG 0x1136 //ź -#define MINOR_ADVANCED_OPERATION_CFG 0x1137 //߼ -#define MINOR_RECEIVE_CARD_CFG 0x1138 //տ -#define MINOR_INPUT_SUPPORT_CFG 0x1139 //ֹ֧ -#define MINOR_SYSTEM_MAINTAIN_CFG 0x113a //ϵͳά -#define MINOR_SYSTEM_TEST_CFG 0x113b //ϵͳ -#define MINOR_JOINT_CFG 0x113c //ƴ -#define MINOR_SHOW_MODE_CFG 0x113d //ʾģʽ -#define MINOR_ADVANCED_IMAGE_CFG 0x113e //߼ͼ -#define MINOR_SHELF_SIZE_CALIBRATION 0x1140 //ܹ궨 -#define MINOR_CARGO_SENSOR_CALIBRATION 0x1141 //񴫸궨 -#define MINOR_CARGO_PRODUCT_BIND_CFG 0x1142 //Ʒ - -//2013-04-19 ITS־ -#define MINOR_LOCAL_ADD_CAR_INFO 0x2001 /*ӳϢ*/ -#define MINOR_LOCAL_MOD_CAR_INFO 0x2002 /*޸ijϢ*/ -#define MINOR_LOCAL_DEL_CAR_INFO 0x2003 /*ɾϢ*/ -#define MINOR_LOCAL_FIND_CAR_INFO 0x2004 /*زҳϢ*/ -#define MINOR_LOCAL_ADD_MONITOR_INFO 0x2005 /*ӲϢ*/ -#define MINOR_LOCAL_MOD_MONITOR_INFO 0x2006 /*޸IJϢ*/ -#define MINOR_LOCAL_DEL_MONITOR_INFO 0x2007 /*ɾϢ*/ -#define MINOR_LOCAL_FIND_MONITOR_INFO 0x2008 /*زѯϢ*/ -#define MINOR_LOCAL_FIND_NORMAL_PASS_INFO 0x2009 /*زѯͨϢ*/ -#define MINOR_LOCAL_FIND_ABNORMAL_PASS_INFO 0x200a /*زѯ쳣ͨϢ*/ -#define MINOR_LOCAL_FIND_PEDESTRIAN_PASS_INFO 0x200b /*زѯͨϢ*/ -#define MINOR_LOCAL_PIC_PREVIEW 0x200c /*ͼƬԤ*/ -#define MINOR_LOCAL_SET_GATE_PARM_CFG 0x200d /*ñóڲ*/ -#define MINOR_LOCAL_GET_GATE_PARM_CFG 0x200e /*ȡóڲ*/ -#define MINOR_LOCAL_SET_DATAUPLOAD_PARM_CFG 0x200f /*ñϴ*/ -#define MINOR_LOCAL_GET_DATAUPLOAD_PARM_CFG 0x2010 /*ȡϴ*/ - -//2013-11-19־ -#define MINOR_LOCAL_DEVICE_CONTROL 0x2011 /*豸(ؿբ)*/ -#define MINOR_LOCAL_ADD_EXTERNAL_DEVICE_INFO 0x2012 /*豸Ϣ */ -#define MINOR_LOCAL_MOD_EXTERNAL_DEVICE_INFO 0x2013 /*޸豸Ϣ */ -#define MINOR_LOCAL_DEL_EXTERNAL_DEVICE_INFO 0x2014 /*ɾ豸Ϣ */ -#define MINOR_LOCAL_FIND_EXTERNAL_DEVICE_INFO 0x2015 /*زѯ豸Ϣ */ -#define MINOR_LOCAL_ADD_CHARGE_RULE 0x2016 /*շѹ */ -#define MINOR_LOCAL_MOD_CHARGE_RULE 0x2017 /*޸շѹ */ -#define MINOR_LOCAL_DEL_CHARGE_RULE 0x2018 /*ɾշѹ */ -#define MINOR_LOCAL_FIND_CHARGE_RULE 0x2019 /*زѯշѹ */ -#define MINOR_LOCAL_COUNT_NORMAL_CURRENTINFO 0x2020 /*ͳͨϢ */ -#define MINOR_LOCAL_EXPORT_NORMAL_CURRENTINFO_REPORT 0x2021 /*صͨϢͳƱ */ -#define MINOR_LOCAL_COUNT_ABNORMAL_CURRENTINFO 0x2022 /*ͳ쳣ͨϢ */ -#define MINOR_LOCAL_EXPORT_ABNORMAL_CURRENTINFO_REPORT 0x2023 /*ص쳣ͨϢͳƱ */ -#define MINOR_LOCAL_COUNT_PEDESTRIAN_CURRENTINFO 0x2024 /*ͳͨϢ */ -#define MINOR_LOCAL_EXPORT_PEDESTRIAN_CURRENTINFO_REPORT 0x2025 /*صͨϢͳƱ */ -#define MINOR_LOCAL_FIND_CAR_CHARGEINFO 0x2026 /*زѯշϢ */ -#define MINOR_LOCAL_COUNT_CAR_CHARGEINFO 0x2027 /*ͳƹշϢ */ -#define MINOR_LOCAL_EXPORT_CAR_CHARGEINFO_REPORT 0x2028 /*صշϢͳƱ */ -#define MINOR_LOCAL_FIND_SHIFTINFO 0x2029 /*زѯӰϢ */ -#define MINOR_LOCAL_FIND_CARDINFO 0x2030 /*زѯƬϢ */ -#define MINOR_LOCAL_ADD_RELIEF_RULE 0x2031 /*Ӽ */ -#define MINOR_LOCAL_MOD_RELIEF_RULE 0x2032 /*޸ļ */ -#define MINOR_LOCAL_DEL_RELIEF_RULE 0x2033 /*ɾ */ -#define MINOR_LOCAL_FIND_RELIEF_RULE 0x2034 /*زѯ */ -#define MINOR_LOCAL_GET_ENDETCFG 0x2035 /*ػȡڿƻ߼ */ -#define MINOR_LOCAL_SET_ENDETCFG 0x2036 /*óڿƻ߼*/ -#define MINOR_LOCAL_SET_ENDEV_ISSUEDDATA 0x2037 /*óڿƻ·ƬϢ */ -#define MINOR_LOCAL_DEL_ENDEV_ISSUEDDATA 0x2038 /*ճڿƻ·ƬϢ */ - -#define MINOR_REMOTE_DEVICE_CONTROL 0x2101 /*Զ豸*/ -#define MINOR_REMOTE_SET_GATE_PARM_CFG 0x2102 /*Զóڲ*/ -#define MINOR_REMOTE_GET_GATE_PARM_CFG 0x2103 /*ȡԶóڲ*/ -#define MINOR_REMOTE_SET_DATAUPLOAD_PARM_CFG 0x2104 /*Զϴ*/ -#define MINOR_REMOTE_GET_DATAUPLOAD_PARM_CFG 0x2105 /*ȡԶϴ*/ -#define MINOR_REMOTE_GET_BASE_INFO 0x2106 /*Զ̻ȡն˻Ϣ*/ -#define MINOR_REMOTE_GET_OVERLAP_CFG 0x2107 /*Զ̻ȡַӲ*/ -#define MINOR_REMOTE_SET_OVERLAP_CFG 0x2108 /*ԶַӲ*/ -#define MINOR_REMOTE_GET_ROAD_INFO 0x2109 /*Զ̻ȡ·Ϣ*/ -#define MINOR_REMOTE_START_TRANSCHAN 0x210a /*Զ̽ͬݷ*/ -#define MINOR_REMOTE_GET_ECTWORKSTATE 0x210b /*Զ̻ȡն˹״̬*/ -#define MINOR_REMOTE_GET_ECTCHANINFO 0x210c /*Զ̻ȡնͨ״̬*/ - -//Զ̿ 2013-11-19 -#define MINOR_REMOTE_ADD_EXTERNAL_DEVICE_INFO 0x210d /*Զ豸Ϣ */ -#define MINOR_REMOTE_MOD_EXTERNAL_DEVICE_INFO 0x210e /*Զ޸豸Ϣ */ -#define MINOR_REMOTE_GET_ENDETCFG 0x210f /*Զ̻ȡڿƻ߼ */ -#define MINOR_REMOTE_SET_ENDETCFG 0x2110 /*Զóڿƻ߼*/ -#define MINOR_REMOTE_ENDEV_ISSUEDDATA 0x2111 /*Զóڿƻ·ƬϢ */ -#define MINOR_REMOTE_DEL_ENDEV_ISSUEDDATA 0x2112 /*Զճڿƻ·ƬϢ */ - -//ITS 0x2115~0x2120 ͣλĿ -#define MINOR_REMOTE_ON_CTRL_LAMP 0x2115 /*Զ̿Ƴλָʾ*/ -#define MINOR_REMOTE_OFF_CTRL_LAMP 0x2116 /*رԶ̿Ƴλָʾ*/ -//Netra3.1.0 -#define MINOR_SET_VOICE_LEVEL_PARAM 0x2117 /*С */ -#define MINOR_SET_VOICE_INTERCOM_PARAM 0x2118 /*¼ */ -#define MINOR_SET_INTELLIGENT_PARAM 0x2119 /**/ -#define MINOR_LOCAL_SET_RAID_SPEED 0x211a /*raidٶ*/ -#define MINOR_REMOTE_SET_RAID_SPEED 0x211b /*Զraidٶ*/ -//Nerta3.1.2 -#define MINOR_REMOTE_CREATE_STORAGE_POOL 0x211c //ԶӴ洢 -#define MINOR_REMOTE_DEL_STORAGE_POOL 0x211d //Զɾ洢 - -#define MINOR_REMOTE_DEL_PIC 0x2120 //ԶɾͼƬ -#define MINOR_REMOTE_DEL_RECORD 0x2121 //Զɾ¼ -#define MINOR_REMOTE_CLOUD_ENABLE 0x2123 //Զϵͳ -#define MINOR_REMOTE_CLOUD_DISABLE 0x2124 //Զϵͳ -#define MINOR_REMOTE_CLOUD_MODIFY_PARAM 0x2125 //Զ޸Ĵ洢ز -#define MINOR_REMOTE_CLOUD_MODIFY_VOLUME 0x2126 //Զ޸Ĵ洢 -#define MINOR_REMOTE_GET_GB28181_SERVICE_PARAM 0x2127 //Զ̻ȡGB28181 -#define MINOR_REMOTE_SET_GB28181_SERVICE_PARAM 0x2128 //ԶGB28181 -#define MINOR_LOCAL_GET_GB28181_SERVICE_PARAM 0x2129 //ػȡGB28181 -#define MINOR_LOCAL_SET_GB28181_SERVICE_PARAM 0x212a //B28181 -#define MINOR_REMOTE_SET_SIP_SERVER 0x212b //ԶSIP SERVER -#define MINOR_LOCAL_SET_SIP_SERVER 0x212c //SIP SERVER -#define MINOR_LOCAL_BLOCKALLOWFILE_OUTPUT 0x212d // -#define MINOR_LOCAL_BLOCKALLOWFILE_INPUT 0x212e // -#define MINOR_REMOTE_BLOCKALLOWCFGFILE_OUTPUT 0x212f //Զ -#define MINOR_REMOTE_BLOCKALLOWCFGFILE_INPUT 0x2130 //Զ - - -#define MINOR_REMOTE_CREATE_MOD_VIEWLIB_SPACE 0x2200 /*Զ̴/޸ͼռ*/ -#define MINOR_REMOTE_DELETE_VIEWLIB_FILE 0x2201 /*Զɾͼļ*/ -#define MINOR_REMOTE_DOWNLOAD_VIEWLIB_FILE 0x2202 /*Զͼļ*/ -#define MINOR_REMOTE_UPLOAD_VIEWLIB_FILE 0x2203 /*Զϴͼļ*/ -#define MINOR_LOCAL_CREATE_MOD_VIEWLIB_SPACE 0x2204 /*ش/޸ͼռ*/ - -#define MINOR_LOCAL_SET_DEVICE_ACTIVE 0x3000 //ؼ豸 -#define MINOR_REMOTE_SET_DEVICE_ACTIVE 0x3001 //Զ̼豸 -#define MINOR_LOCAL_PARA_FACTORY_DEFAULT 0x3002 //ػظ -#define MINOR_REMOTE_PARA_FACTORY_DEFAULT 0x3003 //Զָ̻ -#define MIMOR_REMOTE_DELETE_ALL_VERIFYORCAP_PICS 0x3004 //Զɾ֤ץͼƬ -#define MIMOR_LOCAL_DELETE_ALL_VERIFYORCAP_PICS 0x3005 //ɾ֤ץͼƬ -#define MIMOR_REMOTE_DELETE_EVENTS_AT_SPECTIME 0x3006 //Զָ̰ʱɾ¼ -#define MIMOR_LOCAL_DELETE_EVENTS_AT_SPECTIME 0x3007 //ذָʱɾ¼ -#define MIMOR_REMOTE_OPEN_SUMMER_TIME 0x3008 //Զ̿ʱ -#define MIMOR_LOCAL_OPEN_SUMMER_TIME 0x3009 //ؿʱ -#define MIMOR_REMOTE_CLOSE_SUMMER_TIME 0x3010 //Զ̹رʱ -#define MIMOR_LOCAL_CLOSE_SUMMER_TIME 0x3011 //عرʱ -#define MIMOR_REMOTE_EZVIZ_UNBIND 0x3012 //Զөʯƽ -#define MIMOR_LOCAL_EZVIZ_UNBIND 0x3013 //өʯƽ -#define MIMOR_ENTER_LOCALUI_BACKGROUND 0x3014 //UĮ -#define MIMOR_REMOTE_DELETE_FACEBASEMAP 0x3015 //Զɾͼ -#define MIMOR_LOCAL_DELETE_FACEBASEMAP 0x3016 //ɾͼ - - -/*Ϣ־*/ -#define MINOR_UPLAOD_STATIC_MATERIAL 0x2401 //̬زϴ -#define MINOR_UPLOAD_DYNAMIC_MATERIAL 0x2402 //̬زϴ -#define MINOR_DELETE_MATERIAL 0x2403 //ɾز -#define MINOR_DOWNLOAD_STATIC_MATERIAL 0x2404 //̬ز -#define MINOR_COVER_STATIC_MATERIAL 0x2405 //̬زĸ -#define MINOR_APPROVE_MATERIAL 0x2406 //ز -#define MINOR_UPLAOD_PROGRAM 0x2407 //ϴĿ -#define MINOR_DOWNLOAD_PROGRAM 0x2408 //ؽĿ -#define MINOR_DELETE_PROGRAM 0x2409 //ɾĿ -#define MINOR_MODIFY_PROGRAM 0x240a //Ŀ޸ -#define MINOR_APPROVE_PRAGRAM 0x240b //Ŀ -#define MINOR_UPLAOD_SCHEDULE 0x240c //ϴճ -#define MINOR_DOWNLOAD_SCHEDULE 0x240d //ճ -#define MINOR_DELETE_SCHEDULE 0x240e //ɾճ -#define MINOR_MODIFY_SCHEDULE 0x240f //޸ճ -#define MINOR_RELEASE_SCHEDULE 0x2410 //ճ -#define MINOR_ADD_TERMINAL 0x2411 //ն -#define MINOR_DELETE_TERMINAL 0x2412 //ɾն -#define MINOR_MODIFY_TERMIANL_PARAM 0x2413 //޸ն˲ -#define MINOR_MODIFY_TERMIANL_PLAY_PARAM 0x2414 //ն˲Ų -#define MINOR_ADD_TERMIANL_GROUP 0x2415 //ն -#define MINOR_MODIFY_TERMINAL_GROUP_PARAM 0x2416 //޸ն -#define MINOR_DELETE_TERMIANL_GROUP 0x2417 //ɾն -#define MINOR_TERMINAL_PLAY_CONTROL 0x2418 //ն˲ſ -#define MINOR_TERMINAL_ON_OFF_LINE 0x2419 //ն -#define MINOR_SET_SWITCH_PLAN 0x241a //ն˶ʱػƻ -#define MINOR_SET_VOLUME_PLAN 0x241b //ն˶ʱƻ -#define MINOR_TERMINAL_SCREENSHOT 0x241c //ն˽ -#define MINOR_SYSTEM_TIME_CFG 0x241d //ϵͳУʱ -#define MINOR_ADD_USER_CFG 0x241e //û -#define MINOR_DEL_USER_CFG 0x241f //ɾû -#define MINOR_REMOTE_MANAGE_HDD 0x2420 //Զ̱༭Ӳ -#define MINOR_TERMINAL_UPDATE_START 0x2421 //ն -#define MINOR_SVR_RESTORE_DEFAULT_PARAM 0x2422 //Զָ̻Ĭ -#define MINOR_SVR_REMOTE_RESTORE_FACTORY 0x2423 //Զָ̻ -#define MINOR_SVR_REMOTE_REBOOT 0x2424 //Զ -#define MINOR_SVR_MODIFY_NETWORK_PARAM 0x2425 //޸ -#define MINOR_SVR_SOFTWARE_UPGRADE 0x2426 // - - - -#define MINOR_REMOTE_CONFERENCE_CONFIG 0x2501 //MCU -#define MINOR_REMOTE_TERMINAL_CONFIG 0x2502 //MCUն -#define MINOR_REMOTE_GROUP_CONFIG 0x2503 //MCU -#define MINOR_REMOTE_CONFERENCE_CTRL 0x2504 //MCU -#define MINOR_REMOTE_TERMINAL_CTRL 0x2505 //MCUն˿ -#define MINOR_ADD_VIDEOWALLSCENE 0x2506 //½ǽ -#define MINOR_DEL_VIDEOWALLSCENE 0x2507 //ɾǽ -#define MINOR_SAVE_VIDEOWALLSCENE 0x2508 //ǽ -#define MINOR_UPLOAD_SCENECFGFILE 0x2509 //ϴǽļ -#define MINOR_DOWNLOAD_SCENECFGFILE 0x250a //صǽļ - - -//NVR -#define MINOR_LOCAL_RESET_LOGIN_PASSWORD 0x2600 /* admin½*/ -#define MINOR_REMOTE_RESET_LOGIN_PASSWORD 0x2601 /* Զadmin¼ */ -#define MINOR_LOCAL_FACE_BASE_CREATE 0x2602 /* Աȿⴴ*/ -#define MINOR_REMOTE_FACE_BASE_CREATE 0x2603 /* ԶԱȿⴴ*/ -#define MINOR_LOCAL_FACE_BASE_MODIFY 0x2604 /* Աȿ޸*/ -#define MINOR_REMOTE_FACE_BASE_MODIFY 0x2605 /* ԶԱȿ޸*/ -#define MINOR_LOCAL_FACE_BASE_DELETE 0x2606 /* Աȿɾ*/ -#define MINOR_REMOTE_FACE_BASE_DELETE 0x2607 /* ԶԱȿɾ*/ -#define MINOR_LOCAL_FACE_DATA_APPEND 0x2608 /* ¼*/ -#define MINOR_REMOTE_FACE_DATA_APPEND 0x2609 /* Զ¼*/ -#define MINOR_LOCAL_FACE_DATA_SEARCH 0x2610 /* ȶݲ*/ -#define MINOR_REMOTE_FACE_DATA_SEARCH 0x2611 /* Զȶݲ*/ -#define MINOR_LOCAL_FACE_DATA_ANALYSIS 0x2612 /* ͼƬ*/ -#define MINOR_REMOTE_FACE_DATA_ANALYSIS 0x2613 /* ԶͼƬ*/ -#define MINOR_LOCAL_FACE_DATA_EDIT 0x2614 /* ޸*/ -#define MINOR_REMOTE_FACE_DATA_EDIT 0x2615 /* Զ޸*/ - -#define MINOR_LOCAL_FACE_DATA_DELETE 0x2616 /* ɾ*/ -#define MINOR_REMOTE_FACE_DATA_DELET 0x2617 /* Զɾ*/ - -#define MINOR_LOCAL_VCA_ANALYSIS_CFG 0x2618 /* ܷ*/ -#define MINOR_REMOTE_VCA_ANALYSIS_CFG 0x2619 /* Զܷ*/ - -#define MINOR_LOCAL_FACE_BASE_IMPORT 0x261a /* ص*/ -#define MINOR_LOCAL_FACE_BASE_EXPORT 0x261b /* ص*/ -//NVRȺ -#define MINOR_REMOTE_CLUSTER_MODE_CONFIG 0x261c /* Զ̼Ⱥģʽò*/ -#define MINOR_LOCAL_CLUSTER_MODE_CONFIG 0x261d /* ؼȺģʽò*/ -#define MINOR_REMOTE_CLUSTER_NETWORK_CONFIG 0x261e /* Զ̼Ⱥò*/ -#define MINOR_LOCAL_CLUSTER_NETWORK_CONFIG 0x261f /* ؼȺò*/ -#define MINOR_REMOTE_CLUSTER_ADD_DEVICE 0x2620 /* Զ̼Ⱥ豸*/ -#define MINOR_LOCAL_CLUSTER_ADD_DEVICE 0x2621 /* ؼȺ豸*/ -#define MINOR_REMOTE_CLUSTER_DEL_DEVICE 0x2622 /* Զ̼Ⱥɾ豸*/ -#define MINOR_LOCAL_CLUSTER_DEL_DEVICE 0x2623 /* ؼȺɾ豸*/ -#define MINOR_REMOTE_HFPD_CFG 0x2624 /* Զ̸ƵԱ*/ -#define MINOR_REMOTE_FACE_CONTRAST_TASK 0x2625 /* Զȶ */ -#define MINOR_REMOTE_LFPD_CFG 0x2626 /* Զ̵ƵԱ*/ -#define MINOR_REMOTE_IOTCFGFILE_INPUT 0x2627//Զ̵IOTļ -#define MINOR_REMOTE_IOTCFGFILE_OUTPUT 0x2628//Զ̵IOTļ -#define MINOR_LOCAL_IOT_ADD 0x2629//IOTͨ -#define MINOR_REMOTE_IOT_ADD 0x262a//ԶIOTͨ -#define MINOR_LOCAL_IOT_DEL 0x262b//ɾIOTͨ -#define MINOR_REMOTE_IOT_DEL 0x262c//ԶɾIOTͨ -#define MINOR_LOCAL_IOT_SET 0x262d//IOTͨ -#define MINOR_REMOTE_IOT_SET 0x262e//ԶIOTͨ -#define MINOR_LOCAL_IOTCFGFILE_INPUT 0x262f //صIOTļ -#define MINOR_LOCAL_IOTCFGFILE_OUTPUT 0x2630//صIOTļ -#define MINOR_LOCAL_VAD_CFG 0x2631 /* */ -#define MINOR_REMOTE_VAD_CFG 0x2632 /* Զ*/ -#define MINOR_LOCAL_ADDRESS_FILTER_CONFIG 0x2633 /* صַ*/ -#define MINOR_REMOTE_ADDRESS_FILTER_CONFIG 0x2634 /* Զ̵ַ*/ -#define MINOR_LOCAL_POE_CFG 0x2635 /* POE*/ -#define MINOR_REMOTE_POE_CFG 0x2636 /* ԶPOE*/ -#define MINOR_LOCAL_RESET_CHANNEL_PASSWORD 0x2637 /* ͨ*/ -#define MINOR_REMOTE_RESET_CHANNEL_PASSWORD 0x2638 /* Զͨ*/ -#define MINOR_LOCAL_SSD_UPGRADE_START 0x2639 /* SSDļϵͳʼ*/ -#define MINOR_LOCAL_SSD_UPGRADE_STOP 0x2640 /* SSDļϵͳ*/ -#define MINOR_REMOTE_SSD_UPGRADE_START 0x2641 /* ԶSSDļϵͳʼ*/ -#define MINOR_REMOTE_SSD_UPGRADE_STOP 0x2642 /* ԶSSDļϵͳ*/ -#define MINOR_LOCAL_SSD_FORMAT_START 0x2643 /*SSDļϵͳʽʼ*/ -#define MINOR_LOCAL_SSD_FORMAT_STOP 0x2644 /*SSDļϵͳʽ*/ -#define MINOR_REMOTE_SSD_FORMAT_START 0x2645 /*ԶSSDļϵͳʽʼ*/ -#define MINOR_REMOTE_SSD_FORMAT_STOP 0x2646 /*ԶSSDļϵͳʽ*/ -#define MINOR_LOCAL_AUTO_SWITCH_CONFIG 0x2647 /* Զػ*/ -#define MINOR_REMOTE_AUTO_SWITCH_CONFIG 0x2648 /* ԶԶػ*/ - -#define MINOR_LOCAL_SSD_INITIALIZATION_START 0x264a /* SSDʼʼ*/ -#define MINOR_LOCAL_SSD_INITIALIZATION_END 0x264b /* SSDʼ*/ -#define MINOR_REMOTE_SSD_INITIALIZATION_START 0x264c /* ԶSSDʼʼ*/ -#define MINOR_REMOTE_SSD_INITIALIZATION_END 0x264d /* ԶSSDʼ*/ - - -//AIƽ̨IJ־ -#define MINOR_REMOTE_AI_MODEL_ADD 0x2650//ģͰ -#define MINOR_REMOTE_AI_MODEL_QUERY 0x2651//ģͰѯ -#define MINOR_REMOTE_AI_MODEL_DELETE 0x2652//ģͰɾ -#define MINOR_REMOTE_AI_MODEL_UPDATE 0x2653//ģͰ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_ADD 0x2654//ͼƬѯ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_QUERY 0x2655//ͼƬѯѯ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_DELETE 0x2656//ͼƬѯɾ -#define MINOR_REMOTE_AI_PICTURE_POLLING_TASK_MODIFY 0x2657//ͼƬѯ޸ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_ADD 0x2658//Ƶѯ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_QUERY 0x2659//Ƶѯѯ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_DELETE 0x265A//Ƶѯɾ -#define MINOR_REMOTE_AI_VIDEO_POLLING_TASK_MODIFY 0x265B//Ƶѯ޸ -#define MINOR_REMOTE_AI_PICTURE_TASK_ADD 0x265C//ͼƬ -#define MINOR_REMOTE_AI_PICTURE_TASK_QUERY 0x265D//ͼƬѯ -#define MINOR_REMOTE_AI_PICTURE_TASK_DELETE 0x265E//ͼƬɾ -#define MINOR_REMOTE_AI_PICTURE_TASK_MODIFY 0x265F//ͼƬ޸ -#define MINOR_REMOTE_AI_VIDEO_TASK_ADD 0x2660//Ƶ -#define MINOR_REMOTE_AI_VIDEO_TASK_QUERY 0x2661//Ƶѯ -#define MINOR_REMOTE_AI_VIDEO_TASK_DELETE 0x2662//Ƶɾ -#define MINOR_REMOTE_AI_VIDEO_TASK_MODIFY 0x2663//Ƶ޸ -#define MINOR_REMOTE_AI_RULE_CONFIG 0x2664//AI - -#define MINOR_REMOTE_LOG_STORAGE_CONFIG 0x2665//־洢 -#define MINOR_REMOTE_LOG_SERVER_CONFIG 0x2666//־ - -#define MINOR_REMOTE_RESET_IPC_PASSWORD 0x2670//NVRIPC־ - -//өʯƽ̨־ -#define MINOR_LOCAL_EZVIZ_OPERATION 0x2671 //өʯ(өʯú) -#define MINOR_REMOTE_EZVIZ_OPERATION 0x2672 //Զөʯ(өʯú) - -#define MINOR_EZVIZ_BITSTREAM_PARAMATERS_CONFIG 0x2673 /* өʯ*/ -#define MINOR_EZVIZ_ALARM_PARAMATERS_CONFIG 0x2674 /* өʯ*/ -#define MINOR_EZVIZ_UPGRADE 0x2675 /* өʯ*/ -#define MINOR_EZVIZ_REGISTER 0x2676 /* өʯע*/ -#define MINOR_EZVIZ_LOCAL_PARAMATERS_CONFIG 0x2677 /* өʯز*/ -#define MINOR_EZVIZ_REMOTE_PARAMATERS_CONFIG 0x2678 /* өʯԶ̲*/ - - -//־ -#define MINOR_STOP_SOUND 0x2700 /**/ -#define MINOR_SELF_CHECK 0x2701 /*Լ*/ -#define MINOR_DUTY_CHECK 0x2702 /**/ -#define MINOR_SWITCH_SIMPLE_WORKMODE 0x2703 /*лģʽ*/ -#define MINOR_SWITCH_NORMAL_WORKMODE 0x2704 /*л׼ģʽ*/ -#define MINOR_LOCAL_SSD_OPERATE_START 0x2705 /* SSDʼ*/ -#define MINOR_LOCAL_SSD_OPERATE_STOP 0x2706 /* SSD*/ -#define MINOR_REMOTE_SSD_OPERATE_START 0x2707 /* ԶSSDʼ*/ -#define MINOR_REMOTE_SSD_OPERATE_STOP 0x2708 /* ԶSSD*/ - -/*־Ϣ*/ -// -#define MAJOR_INFORMATION 0x4 /*Ϣ*/ -// -#define MINOR_HDD_INFO 0xa1 /*ӲϢ*/ -#define MINOR_SMART_INFO 0xa2 /*SMARTϢ*/ -#define MINOR_REC_START 0xa3 /*ʼ¼*/ -#define MINOR_REC_STOP 0xa4 /*ֹͣ¼*/ -#define MINOR_REC_OVERDUE 0xa5 /*¼ɾ*/ -#define MINOR_LINK_START 0xa6 //ǰ豸 -#define MINOR_LINK_STOP 0xa7 //Ͽǰ豸 -#define MINOR_NET_DISK_INFO 0xa8 //ӲϢ -#define MINOR_RAID_INFO 0xa9 //raidϢ -#define MINOR_RUN_STATUS_INFO 0xaa /*ϵͳ״̬Ϣ*/ - -//Netra3.0.0 -#define MINOR_SPARE_START_BACKUP 0xab /*ȱϵͳʼָ*/ -#define MINOR_SPARE_STOP_BACKUP 0xac /*ȱϵͳָֹͣ*/ -#define MINOR_SPARE_CLIENT_INFO 0xad /*ȱͻϢ*/ -#define MINOR_ANR_RECORD_START 0xae /*ANR¼ʼ*/ -#define MINOR_ANR_RECORD_END 0xaf /*ANR¼*/ -#define MINOR_ANR_ADD_TIME_QUANTUM 0xb0 /*ANRʱ*/ -#define MINOR_ANR_DEL_TIME_QUANTUM 0xb1 /*ANRɾʱ*/ - -#define MINOR_PIC_REC_START 0xb3 /* ʼץͼ*/ -#define MINOR_PIC_REC_STOP 0xb4 /* ֹͣץͼ*/ -#define MINOR_PIC_REC_OVERDUE 0xb5 /* ͼƬļɾ */ -//Netra3.1.0 -#define MINOR_CLIENT_LOGIN 0xb6 /*¼ɹ*/ -#define MINOR_CLIENT_RELOGIN 0xb7 /*µ¼*/ -#define MINOR_CLIENT_LOGOUT 0xb8 /*˳ɹ*/ -#define MINOR_CLIENT_SYNC_START 0xb9 /*¼ͬʼ*/ -#define MINOR_CLIENT_SYNC_STOP 0xba /*¼ֹͬ*/ -#define MINOR_CLIENT_SYNC_SUCC 0xbb /*¼ͬɹ*/ -#define MINOR_CLIENT_SYNC_EXCP 0xbc /*¼ͬ쳣*/ -#define MINOR_GLOBAL_RECORD_ERR_INFO 0xbd /*ȫִ¼Ϣ*/ -#define MINOR_BUFFER_STATE 0xbe /*״̬־¼*/ -#define MINOR_DISK_ERRORINFO_V2 0xbf /*Ӳ̴ϸϢV2*/ -#define MINOR_CS_DATA_EXPIRED 0xc0 //ƴ洢ݹ -#define MINOR_PLAT_INFO 0xc1 //ƽ̨Ϣ -#define MINOR_DIAL_STAT 0xc2 /*״̬*/ - -#define MINOR_UNLOCK_RECORD 0xc3 //¼ -#define MINOR_VIS_ALARM 0xc4 // -#define MINOR_TALK_RECORD 0xc5 //ͨ¼ -#define MINOR_ACCESSORIES_MESSAGE 0xc6 //Ϣ -#define MINOR_KMS_EXPAMSION_DISK_INSERT 0xc7// KMS̲ -#define MINOR_IPC_CONNECT 0xc8// IPCϢ -#define MINOR_INTELLIGENT_BOARD_STATUS 0xc9// ܰ״̬ -#define MINOR_IPC_CONNECT_STATUS 0xca// IPC״̬ -#define MINOR_AUTO_TIMING 0xcb //ԶУʱ -#define MINOR_EZVIZ_OPERATION 0xcc //өʯ״̬ -//NVRȺ -#define MINOR_CLUSTER_DEVICE_ONLINE 0xcd //Ⱥ豸 -#define MINOR_CLUSTER_MGR_SERVICE_STARTUP 0xce //Ⱥ -#define MINOR_CLUSTER_BUSINESS_TRANSFER 0xcf //ȺҵǨ -#define MINOR_CLUSTER_STATUS 0xd0 //Ⱥ״̬Ϣ -#define MINOR_CLUSTER_CS_STATUS 0xd1 //ȺCSCM豸״̬ʧܣ¼CSCMIPַ -#define MINOR_CLUSTER_CM_STATUS 0xd2 //CM״̬л¼CMתĽɫleaderfollowercandidate -#define MINOR_VOICE_START_DETECTED 0xd3 /*⵽ʼ*/ -#define MINOR_VOICE_END_DETECTED 0xd4 /*⵽*/ -#define MINOR_DOUBLE_VERIFICATION_PASS 0xd5 /*֤ͨ*/ -#define MINOR_WIRELESS_RUNNING_STATUS 0xd6 /*״̬*/ -#define MINOR_SYSTEM_DATA_SYNCHRONIZATION 0xd7 /*ϵͳͬ*/ -#define MINOR_HD_FORMAT_START 0xd8 /*Ӳ̸ʽʼ*/ -#define MINOR_HD_FORMAT_STOP 0xd9 /*Ӳ̸ʽ*/ - -//0x400-0x4ff ŽϢ־ -#define MINOR_LIVE_DETECT_OPEN 0x400 //˼⿪ -#define MINOR_LIVE_DETECT_CLOSE 0x401 //˼ر -#define MINOR_CLEAR_DATA_COLLECTION 0x402 //ɼ -#define MINOR_DELETE_DATA_COLLECTION 0x403 //ɼɾ -#define MINOR_EXPORT_DATA_COLLECTION 0x404 //ɼݵ -#define MINOR_CARD_LEN_CONFIG 0x405 // -#define MINOR_DATA_BASE_INIT_FAILED 0x406 //ݿʼʧ -#define MINOR_DATA_BASE_PATCH_UPDATE 0x407 //ݿⲹ -#define MINOR_PSAM_CARD_INSERT 0x408 //Psam -#define MINOR_PSAM_CARD_REMOVE 0x409 //Psamγ -#define MINOR_HARD_FAULT_REBOOT 0x40a //Ӳ쳣hardfault -#define MINOR_PSAM_CARD_OCP 0x40b //Psam -#define MINOR_STACK_OVERFLOW 0x40c //ջ -#define MINOR_PARM_CFG 0x40d // -#define MINOR_CLR_USER 0x40e //û -#define MINOR_CLR_CARD 0x40f //п -#define MINOR_CLR_FINGER_BY_READER 0x410 //ָ() -#define MINOR_CLR_FINGER_BY_CARD 0x411 //ָ() -#define MINOR_CLR_FINGER_BY_EMPLOYEE_ON 0x412 //ָ() -#define MINOR_DEL_FINGER 0x413 //ɾһָ -#define MINOR_CLR_WEEK_PLAN 0x414 //Ȩܼƻ -#define MINOR_SET_WEEK_PLAN 0x415 //Ȩܼƻ -#define MINOR_SET_HOLIDAY_PLAN 0x416 //Ȩ޼ռƻ -#define MINOR_CLR_HOLIDAY_PLAN 0x417 //Ȩ޼ռƻ -#define MINOR_SET_HOLIDAY_GROUP 0x418 //Ȩ޼ƻ -#define MINOR_CLR_HOLIDAY_GROUP 0x419 //Ȩ޼ƻ -#define MINOR_CLR_TEMPLATE_PLAN 0x41a //Ȩ޼ƻ -#define MINOR_SET_TEMPLATE_PLAN 0x41b //Ȩ޼ƻ -#define MINOR_ADD_CARD 0x41c // -#define MINOR_MOD_CARD 0x41d //޸Ŀ -#define MINOR_ADD_FINGER_BY_CARD 0x41e //ָ() -#define MINOR_ADD_FINGER_BY_EMPLOYEE_NO 0x41f //ָ() -#define MINOR_MOD_FINGER_BY_CARD 0x420 //޸ָ() -#define MINOR_MOD_FINGER_BY_EMPLOYEE_NO 0x421 //޸ָ() -#define MINOR_IMPORT_USER_LIST 0x422 //ûб루߲ɼ -#define MINOR_USB_LOGIN 0x423 //USB½ -#define MINOR_USB_LOGOUT 0x424 //USBdz -#define MINOR_ISAPI_HTTP_LOGIN 0x425 //ISAPI HTTP½ -#define MINOR_ISAPI_HTTP_LOGOUT 0x426 //ISAPI HTTP dz -#define MINOR_ISAPI_HTTPS_LOGIN 0x427 //ISAPI HTTPS½ -#define MINOR_ISAPI_HTTPS_LOGOUT 0x428 //ISAPI HTTPSdz -#define MINOR_ISUP_ONLINE 0x429 //ISUP -#define MINOR_ISUP_OFFLINE 0x42a//ISUP -#define MINOR_FP_ISSUE_REC 0x42b //ָƷ¼ -#define MINOR_FACE_ISSUE_REC 0x42c//¼ -#define MINOR_ADD_IRIS 0x42d //·Ĥ -#define MINOR_MODIFY_IRIS 0x42e //޸ĺĤ -#define MINOR_DELETE_EMPLOYEE_IRIS 0x42f //ɾûĤɾ -#define MINOR_DELETE_WHOLE_IRIS 0x430 //ɾȫĤ -#define MINOR_MODIFY_IRIS_CFG 0x431 //޸ĺĤ -#define MINOR_ADD_USER_INFO 0x432 //ԱϢŽԱȨޣ -#define MINOR_MODIFY_USER_INFO 0x433 //޸ԱϢŽԱȨޣ -#define MINOR_CLR_USER_INFO 0x434 //ɾԱϢŽԱȨޣţ -#define MINOR_CLR_CARD_BY_CARD_OR_EMPLOYEE 0x435 //ɾŻ򹤺ţ -#define MINOR_CLR_ALL_CARD 0x436 //ɾп -#define MINOR_SIM_CARD_INSERT 0x437 //SIM -#define MINOR_SIM_CARD_PULLOUT 0x438 //SIMγ -#define MINOR_FINGERPRINT_RECOGNITION_OPEN 0x439 //ָʶ -#define MINOR_FINGERPRINT_RECOGNITION_CLOSE 0x43a //ָʶر -#define MINOR_FACE_RECOGNITION_OPEN 0x43b //ʶ -#define MINOR_FACE_RECOGNITION_CLOSE 0x43c //ʶر -#define MINOR_RESET_ONLINE_READER 0x43d //߶ -#define MINOR_CLEAR_IRIS_PICTURE 0x43e //պĤͼ - -//802.1x֤־ -#define MINOR_802_1X_AUTH_SUCC 0x320 /*802.1x֤ɹ*/ -#define MINOR_802_1X_AUTH_FAIL 0x321 /*802.1x֤ʧ*/ - -/*¼*/ -// -#define MAJOR_EVENT 0x5 /*¼*/ -// -#define MINOR_LEGAL_CARD_PASS 0x01 //Ϸ֤ͨ -#define MINOR_CARD_AND_PSW_PASS 0x02 //ˢ֤ͨ -#define MINOR_CARD_AND_PSW_FAIL 0x03 //ˢ֤ʧ -#define MINOR_CARD_AND_PSW_TIMEOUT 0x04 //֤ʱ -#define MINOR_CARD_AND_PSW_OVER_TIME 0x05 //ˢ볬 -#define MINOR_CARD_NO_RIGHT 0x06 //δȨ -#define MINOR_CARD_INVALID_PERIOD 0x07 //Чʱ -#define MINOR_CARD_OUT_OF_DATE 0x08 //Ź -#define MINOR_INVALID_CARD 0x09 //޴˿ -#define MINOR_ANTI_SNEAK_FAIL 0x0a //DZ֤ʧ -#define MINOR_INTERLOCK_DOOR_NOT_CLOSE 0x0b //δر -#define MINOR_NOT_BELONG_MULTI_GROUP 0x0c //ڶ֤Ⱥ -#define MINOR_INVALID_MULTI_VERIFY_PERIOD 0x0d //ڶ֤ʱ -#define MINOR_MULTI_VERIFY_SUPER_RIGHT_FAIL 0x0e //֤ģʽȨ֤ʧ -#define MINOR_MULTI_VERIFY_REMOTE_RIGHT_FAIL 0x0f //֤ģʽԶ֤ʧ -#define MINOR_MULTI_VERIFY_SUCCESS 0x10 //֤ɹ -#define MINOR_LEADER_CARD_OPEN_BEGIN 0x11 //׿ſʼ -#define MINOR_LEADER_CARD_OPEN_END 0x12 //׿Ž -#define MINOR_ALWAYS_OPEN_BEGIN 0x13 //״̬ʼ -#define MINOR_ALWAYS_OPEN_END 0x14 //״̬ -#define MINOR_LOCK_OPEN 0x15 // -#define MINOR_LOCK_CLOSE 0x16 //ر -#define MINOR_DOOR_BUTTON_PRESS 0x17 //Űť -#define MINOR_DOOR_BUTTON_RELEASE 0x18 //Űťſ -#define MINOR_DOOR_OPEN_NORMAL 0x19 //ţŴţ -#define MINOR_DOOR_CLOSE_NORMAL 0x1a //ţŴţ -#define MINOR_DOOR_OPEN_ABNORMAL 0x1b //쳣򿪣Ŵţ -#define MINOR_DOOR_OPEN_TIMEOUT 0x1c //Ŵ򿪳ʱŴţ -#define MINOR_ALARMOUT_ON 0x1d // -#define MINOR_ALARMOUT_OFF 0x1e //ر -#define MINOR_ALWAYS_CLOSE_BEGIN 0x1f //״̬ʼ -#define MINOR_ALWAYS_CLOSE_END 0x20 //״̬ -#define MINOR_MULTI_VERIFY_NEED_REMOTE_OPEN 0x21 //ض֤ҪԶ̿ -#define MINOR_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS 0x22 //֤֤ɹ¼ -#define MINOR_MULTI_VERIFY_REPEAT_VERIFY 0x23 //֤ظ֤¼ -#define MINOR_MULTI_VERIFY_TIMEOUT 0x24 //֤ظ֤¼ -#define MINOR_DOORBELL_RINGING 0x25 // -#define MINOR_FINGERPRINT_COMPARE_PASS 0x26 //ָƱȶͨ -#define MINOR_FINGERPRINT_COMPARE_FAIL 0x27 //ָƱȶʧ -#define MINOR_CARD_FINGERPRINT_VERIFY_PASS 0x28 //ˢָ֤ͨ -#define MINOR_CARD_FINGERPRINT_VERIFY_FAIL 0x29 //ˢָ֤ʧ -#define MINOR_CARD_FINGERPRINT_VERIFY_TIMEOUT 0x2a //ˢָ֤ʱ -#define MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_PASS 0x2b //ˢָƼ֤ͨ -#define MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_FAIL 0x2c //ˢָƼ֤ʧ -#define MINOR_CARD_FINGERPRINT_PASSWD_VERIFY_TIMEOUT 0x2d //ˢָƼ֤ʱ -#define MINOR_FINGERPRINT_PASSWD_VERIFY_PASS 0x2e //ָƼ֤ͨ -#define MINOR_FINGERPRINT_PASSWD_VERIFY_FAIL 0x2f //ָƼ֤ʧ -#define MINOR_FINGERPRINT_PASSWD_VERIFY_TIMEOUT 0x30 //ָƼ֤ʱ -#define MINOR_FINGERPRINT_INEXISTENCE 0x31 //ָƲ -#define MINOR_CARD_PLATFORM_VERIFY 0x32 //ˢƽ̨֤ -#define MINOR_CALL_CENTER 0x33 //¼ -#define MINOR_FIRE_RELAY_TURN_ON_DOOR_ALWAYS_OPEN 0x34 //̵ͨų -#define MINOR_FIRE_RELAY_RECOVER_DOOR_RECOVER_NORMAL 0x35 //̵ָŻָ -#define MINOR_FACE_AND_FP_VERIFY_PASS 0x36 //ָ֤ͨ -#define MINOR_FACE_AND_FP_VERIFY_FAIL 0x37 //ָ֤ʧ -#define MINOR_FACE_AND_FP_VERIFY_TIMEOUT 0x38 //ָ֤ʱ -#define MINOR_FACE_AND_PW_VERIFY_PASS 0x39 //֤ͨ -#define MINOR_FACE_AND_PW_VERIFY_FAIL 0x3a //֤ʧ -#define MINOR_FACE_AND_PW_VERIFY_TIMEOUT 0x3b //֤ʱ -#define MINOR_FACE_AND_CARD_VERIFY_PASS 0x3c //ˢ֤ͨ -#define MINOR_FACE_AND_CARD_VERIFY_FAIL 0x3d //ˢ֤ʧ -#define MINOR_FACE_AND_CARD_VERIFY_TIMEOUT 0x3e //ˢ֤ʱ -#define MINOR_FACE_AND_PW_AND_FP_VERIFY_PASS 0x3f //ָ֤ͨ -#define MINOR_FACE_AND_PW_AND_FP_VERIFY_FAIL 0x40 //ָ֤ʧ -#define MINOR_FACE_AND_PW_AND_FP_VERIFY_TIMEOUT 0x41 //ָ֤ʱ -#define MINOR_FACE_CARD_AND_FP_VERIFY_PASS 0x42 //ˢָ֤ͨ -#define MINOR_FACE_CARD_AND_FP_VERIFY_FAIL 0x43 //ˢָ֤ʧ -#define MINOR_FACE_CARD_AND_FP_VERIFY_TIMEOUT 0x44 //ˢָ֤ʱ -#define MINOR_EMPLOYEENO_AND_FP_VERIFY_PASS 0x45 //żָ֤ͨ -#define MINOR_EMPLOYEENO_AND_FP_VERIFY_FAIL 0x46 //żָ֤ʧ -#define MINOR_EMPLOYEENO_AND_FP_VERIFY_TIMEOUT 0x47 //żָ֤ʱ -#define MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_PASS 0x48 //żָƼ֤ͨ -#define MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_FAIL 0x49 //żָƼ֤ʧ -#define MINOR_EMPLOYEENO_AND_FP_AND_PW_VERIFY_TIMEOUT 0x4a //żָƼ֤ʱ -#define MINOR_FACE_VERIFY_PASS 0x4b //֤ͨ -#define MINOR_FACE_VERIFY_FAIL 0x4c //֤ʧ -#define MINOR_EMPLOYEENO_AND_FACE_VERIFY_PASS 0x4d //ż֤ͨ -#define MINOR_EMPLOYEENO_AND_FACE_VERIFY_FAIL 0x4e //ż֤ʧ -#define MINOR_EMPLOYEENO_AND_FACE_VERIFY_TIMEOUT 0x4f //ż֤ʱ -#define MINOR_FACE_RECOGNIZE_FAIL 0x50 //ʶʧ -#define MINOR_FIRSTCARD_AUTHORIZE_BEGIN 0x51 //׿Ȩʼ -#define MINOR_FIRSTCARD_AUTHORIZE_END 0x52 //׿Ȩ -#define MINOR_DOORLOCK_INPUT_SHORT_CIRCUIT 0x53 //· -#define MINOR_DOORLOCK_INPUT_BROKEN_CIRCUIT 0x54 //· -#define MINOR_DOORLOCK_INPUT_EXCEPTION 0x55 //쳣 -#define MINOR_DOORCONTACT_INPUT_SHORT_CIRCUIT 0x56 //Ŵ· -#define MINOR_DOORCONTACT_INPUT_BROKEN_CIRCUIT 0x57 //Ŵ· -#define MINOR_DOORCONTACT_INPUT_EXCEPTION 0x58 //Ŵ쳣 -#define MINOR_OPENBUTTON_INPUT_SHORT_CIRCUIT 0x59 //Űť· -#define MINOR_OPENBUTTON_INPUT_BROKEN_CIRCUIT 0x5a //Űť· -#define MINOR_OPENBUTTON_INPUT_EXCEPTION 0x5b //Űť쳣 -#define MINOR_DOORLOCK_OPEN_EXCEPTION 0x5c //쳣 -#define MINOR_DOORLOCK_OPEN_TIMEOUT 0x5d //򿪳ʱ -#define MINOR_FIRSTCARD_OPEN_WITHOUT_AUTHORIZE 0x5e //׿δȨʧ -#define MINOR_CALL_LADDER_RELAY_BREAK 0x5f //ݼ̵Ͽ -#define MINOR_CALL_LADDER_RELAY_CLOSE 0x60 //ݼ̵պ -#define MINOR_AUTO_KEY_RELAY_BREAK 0x61 //Զ̵Ͽ -#define MINOR_AUTO_KEY_RELAY_CLOSE 0x62 //Զ̵պ -#define MINOR_KEY_CONTROL_RELAY_BREAK 0x63 //ݿؼ̵Ͽ -#define MINOR_KEY_CONTROL_RELAY_CLOSE 0x64 //ݿؼ̵պ -#define MINOR_EMPLOYEENO_AND_PW_PASS 0x65 //ż֤ͨ -#define MINOR_EMPLOYEENO_AND_PW_FAIL 0x66 //ż֤ʧ -#define MINOR_EMPLOYEENO_AND_PW_TIMEOUT 0x67 //ż֤ʱ -#define MINOR_HUMAN_DETECT_FAIL 0x68 //˼ʧ -#define MINOR_PEOPLE_AND_ID_CARD_COMPARE_PASS 0x69 //֤ȶͨ -#define MINOR_PEOPLE_AND_ID_CARD_COMPARE_FAIL 0x70 //֤ȶʧ -#define MINOR_CERTIFICATE_BLOCKLIST 0x71 //ֹ¼ -#define MINOR_LEGAL_MESSAGE 0x72 //Ϸ -#define MINOR_ILLEGAL_MESSAGE 0x73 //Ƿ -#define MINOR_DOOR_OPEN_OR_DORMANT_FAIL 0x75 //״̬ջ״̬֤ʧ -#define MINOR_AUTH_PLAN_DORMANT_FAIL 0x76 //֤ƻģʽ֤ʧ -#define MINOR_CARD_ENCRYPT_VERIFY_FAIL 0x77 //Уʧ -#define MINOR_SUBMARINEBACK_REPLY_FAIL 0x78 //DZطӦʧ -#define MINOR_DOOR_OPEN_OR_DORMANT_OPEN_FAIL 0x82 //ųջʱŰťʧ -#define MINOR_HEART_BEAT 0x83 //¼ -#define MINOR_DOOR_OPEN_OR_DORMANT_LINKAGE_OPEN_FAIL 0x84 //ųջʱʧ -#define MINOR_TRAILING 0x85 //βͨ -#define MINOR_REVERSE_ACCESS 0x86 // -#define MINOR_FORCE_ACCESS 0x87 //ײ -#define MINOR_CLIMBING_OVER_GATE 0x88 //Խ -#define MINOR_PASSING_TIMEOUT 0x89 //ͨгʱ -#define MINOR_INTRUSION_ALARM 0x8a //󴳱 -#define MINOR_FREE_GATE_PASS_NOT_AUTH 0x8b //բͨʱδ֤ͨ -#define MINOR_DROP_ARM_BLOCK 0x8c //ڱ۱赲 -#define MINOR_DROP_ARM_BLOCK_RESUME 0x8d //ڱ赲 -#define MINOR_LOCAL_FACE_MODELING_FAIL 0x8e //豸ģʧ -#define MINOR_STAY_EVENT 0x8f //¼ -#define MINOR_CERTIFICATE_ALLOWLIST_PASS 0x90 //Ȩ֤ͨ -#define MINOR_CERTIFICATE_ALLOWLIST_FALL 0x91 //Ȩ֤ʧ -#define MINOR_FACE_COLLECTION 0x92 //ɼ¼֤Զ̺ʱϱ -#define MINOR_CARD_COLLECTION 0x93 //ɼ¼֤Զ̺ʱϱ -#define MINOR_PSW_ERROR_OVER_TIMES 0x94 //֤ʧܳ -#define MINOR_ID_CARD_COLLECTION 0x95 //֤ɼ¼֤Զ̺ʱϱ -#define MINOR_PSW_VERIFY_FAIL 0x96 //֤ʧ -#define MINOR_PASSWORD_MISMATCH 0x97 //벻ƥ -#define MINOR_EMPLOYEE_NO_NOT_EXIST 0x98 //Ų -#define MINOR_COMBINED_VERIFY_PASS 0x99 //֤ͨ -#define MINOR_COMBINED_VERIFY_TIMEOUT 0x9a //֤ʱ -#define MINOR_VERIFY_MODE_MISMATCH 0x9b //֤ʽƥ -#define MINOR_ORCODE_VERIFY_PASS 0x9c //ά֤ͨ -#define MINOR_ORCODE_VERIFY_FAIL 0x9d //ά֤ʧ -#define MINOR_HOUSEHOLDER_AUTHORIZE_PASS 0x9e //Ȩ֤ͨ -#define MINOR_BLUETOOTH_VERIFY_PASS 0x9f //֤ͨ -#define MINOR_BLUETOOTH_VERIFY_FAIL 0xa0 //֤ʧ - -#define MINOR_PASSPORT_VERIFY_FAIL 0xa1 //ϢУʧ -#define MINOR_INFORMAL_MIFARE_CARD_VERIFY_FAIL 0xa2 //Mifare֤ʧ -#define MINOR_CPU_CARD_ENCRYPT_VERIFY_FAIL 0xa3 //CPUУʧ -#define MINOR_NFC_DISABLE_VERIFY_FAIL 0xa4 //NFCܹر֤ʧ - -#define MINOR_LORA_MODULE_ONLINE 0xa5 //LoRaģ -#define MINOR_LORA_MODULE_OFFLINE 0xa6 //LoRaģ -#define MINOR_MQTT_STATUS 0xa7 //Mqtt״̬ - -#define MINOR_EM_CARD_RECOGNIZE_NOT_ENABLED 0xa8 //EMʶδ -#define MINOR_M1_CARD_RECOGNIZE_NOT_ENABLED 0xa9 //M1ʶδ -#define MINOR_CPU_CARD_RECOGNIZE_NOT_ENABLED 0xaa //CPUʶδ -#define MINOR_ID_CARD_RECOGNIZE_NOT_ENABLED 0xab //֤ʶδ -#define MINOR_CARD_SET_SECRET_KEY_FAIL 0xac //װԿʧ -#define MINOR_LOCAL_UPGRADE_FAIL 0xad /* ʧ */ -#define MINOR_REMOTE_UPGRADE_FAIL 0xae /* Զʧ */ -#define MINOR_REMOTE_EXTEND_MODULE_UPGRADE_SUCC 0xaf /*Զչģɹ*/ -#define MINOR_REMOTE_EXTEND_MODULE_UPGRADE_FAIL 0xb0 /*Զչģʧ*/ -#define MINOR_REMOTE_FINGER_PRINT_MODULE_UPGRADE_SUCC 0xb1 /*Զָģɹ*/ -#define MINOR_REMOTE_FINGER_PRINT_MODULE_UPGRADE_FAIL 0xb2 /*Զָģʧ*/ -#define MINOR_PASSWD_VERIFY_PASS 0xb5 //֤ͨ -#define MINOR_COMSUME_TIMEOUT 0xb6 //ѳʱ -#define MINOR_REFUND_TIMEOUT 0xb7 //ʱ -#define MINOR_COMSUME_AMOUNT_OVERLIMIT 0xb8 //ѽֵ -#define MINOR_COMSUME_TIMES_OVERLIMIT 0xb9 //Ѵ -#define MINOR_USER_COMSUME_ENSURE_TIMEOUT 0xba //ûȷϳʱ -#define MINOR_BLOCKLIST_REACH_THRESHOLD 0xbb //ֹﵽֵ -#define MINOR_DESFIRE_CARD_ENCRYPT_VERIFY_FAIL 0xbc //DesfireУʧ -#define MINOR_DESFIRE_CARD_RECOGNIZE_NOT_ENABLED 0xbd //Desfireʶδ -#define MINOR_IRIS_VERIFY_PASS 0xbe //Ĥ֤ͨ -#define MINOR_IRIS_VERIFY_FAIL 0xbf //Ĥ֤ʧ -#define MINOR_IRIS_BIOASSAY_FAIL 0xc0 //Ĥʧ -#define MINOR_FULL_STAFF 0xc1 //Ա¼Ա90%ʱ -#define MINOR_ATTENDANCE_RECORD_EXCEED_THRESHOLD 0xc2 //ؿڼ¼õֵ -#define MINOR_DYNAMICCODE_VERIFY_INVALID 0xc3 // ̬֤֤ -#define MINOR_MEETING_NO_SIGNIN 0xc4 //δǩ -#define MINOR_MEETING_SIGNIN 0xc5 //ǩ -#define MINOR_MEETING_LATE 0xc6 //ٵ - -#define MINOR_INTERLOCK_SERVER_FAILED_RESPONSE 0xc9 //ŻӦʧ -#define MINOR_FINGERPRINT_DISENABELD_VERIFY_FAIL 0xca //ָʶδʹ֤ʧ -#define MINOR_FACE_DISENABELD_VERIFY_FAIL 0xcb //ʶδʹ֤ʧ -#define MINOR_MONITOR_OPEN_DOOR 0xcc //ӿ -#define MINOR_READER_FACTORY_RESET 0xcd //ָ -#define MINOR_READER_ID_CONFLICT 0xce //IDͻ -#define MINOR_FELICA_CARD_RECOGNIZE_NOT_ENABLED 0xcf //Felicaʶδ -#define MINOR_PROPERTY_EXCEPTION_VERIFY_FAIL 0xd0 //쳣֤ʧܣδ֣ȫñ쳣쳣 -#define MINOR_MEETING_NO_PERSON 0xd1 //ǻԱģʽ£״̬ǻԱǩϱ¼ -#define MINOR_MEETING_NOT_START 0xd2 //δʼ״̬Աǩ -#define MINOR_MEETING_SIGNEDIN 0xd3 //ǩǩԱظǩ -#define MINOR_AUTHENTICATION_TIMES_REACHED 0xd4 //Ա֤Ȩ޼ƻĵǰʱڣﵽ֤ƣ -#define MINOR_FACE_MODEL_FAIL_BY_UPGRADE 0xd5 //ģʧ¼ - -#define MINOR_UNCLOCK_RECORD 0xd6 //豸¼¼ϱ -#define MINOR_DOOR_NOT_OPEN 0xd7 //δԽ豸 -#define MINOR_DOOR_UNCLOSED 0xd8 //δرԽ豸 - -#define MINOR_EVENT_CUSTOM1 0x500 //ŽԶ¼1 -#define MINOR_EVENT_CUSTOM2 0x501 //ŽԶ¼2 -#define MINOR_EVENT_CUSTOM3 0x502 //ŽԶ¼3 -#define MINOR_EVENT_CUSTOM4 0x503 //ŽԶ¼4 -#define MINOR_EVENT_CUSTOM5 0x504 //ŽԶ¼5 -#define MINOR_EVENT_CUSTOM6 0x505 //ŽԶ¼6 -#define MINOR_EVENT_CUSTOM7 0x506 //ŽԶ¼7 -#define MINOR_EVENT_CUSTOM8 0x507 //ŽԶ¼8 -#define MINOR_EVENT_CUSTOM9 0x508 //ŽԶ¼9 -#define MINOR_EVENT_CUSTOM10 0x509 //ŽԶ¼10 -#define MINOR_EVENT_CUSTOM11 0x50a //ŽԶ¼11 -#define MINOR_EVENT_CUSTOM12 0x50b //ŽԶ¼12 -#define MINOR_EVENT_CUSTOM13 0x50c //ŽԶ¼13 -#define MINOR_EVENT_CUSTOM14 0x50d //ŽԶ¼14 -#define MINOR_EVENT_CUSTOM15 0x50e //ŽԶ¼15 -#define MINOR_EVENT_CUSTOM16 0x50f //ŽԶ¼16 -#define MINOR_EVENT_CUSTOM17 0x510 //ŽԶ¼17 -#define MINOR_EVENT_CUSTOM18 0x511 //ŽԶ¼18 -#define MINOR_EVENT_CUSTOM19 0x512 //ŽԶ¼19 -#define MINOR_EVENT_CUSTOM20 0x513 //ŽԶ¼20 -#define MINOR_EVENT_CUSTOM21 0x514 //ŽԶ¼21 -#define MINOR_EVENT_CUSTOM22 0x515 //ŽԶ¼22 -#define MINOR_EVENT_CUSTOM23 0x516 //ŽԶ¼23 -#define MINOR_EVENT_CUSTOM24 0x517 //ŽԶ¼24 -#define MINOR_EVENT_CUSTOM25 0x518 //ŽԶ¼25 -#define MINOR_EVENT_CUSTOM26 0x519 //ŽԶ¼26 -#define MINOR_EVENT_CUSTOM27 0x51a //ŽԶ¼27 -#define MINOR_EVENT_CUSTOM28 0x51b //ŽԶ¼28 -#define MINOR_EVENT_CUSTOM29 0x51c //ŽԶ¼29 -#define MINOR_EVENT_CUSTOM30 0x51d //ŽԶ¼30 -#define MINOR_EVENT_CUSTOM31 0x51e //ŽԶ¼31 -#define MINOR_EVENT_CUSTOM32 0x51f //ŽԶ¼32 -#define MINOR_EVENT_CUSTOM33 0x520 //ŽԶ¼33 -#define MINOR_EVENT_CUSTOM34 0x521 //ŽԶ¼34 -#define MINOR_EVENT_CUSTOM35 0x522 //ŽԶ¼35 -#define MINOR_EVENT_CUSTOM36 0x523 //ŽԶ¼36 -#define MINOR_EVENT_CUSTOM37 0x524 //ŽԶ¼37 -#define MINOR_EVENT_CUSTOM38 0x525 //ŽԶ¼38 -#define MINOR_EVENT_CUSTOM39 0x526 //ŽԶ¼39 -#define MINOR_EVENT_CUSTOM40 0x527 //ŽԶ¼40 -#define MINOR_EVENT_CUSTOM41 0x528 //ŽԶ¼41 -#define MINOR_EVENT_CUSTOM42 0x529 //ŽԶ¼42 -#define MINOR_EVENT_CUSTOM43 0x52a //ŽԶ¼43 -#define MINOR_EVENT_CUSTOM44 0x52b //ŽԶ¼44 -#define MINOR_EVENT_CUSTOM45 0x52c //ŽԶ¼45 -#define MINOR_EVENT_CUSTOM46 0x52d //ŽԶ¼46 -#define MINOR_EVENT_CUSTOM47 0x52e //ŽԶ¼47 -#define MINOR_EVENT_CUSTOM48 0x52f //ŽԶ¼48 -#define MINOR_EVENT_CUSTOM49 0x530 //ŽԶ¼49 -#define MINOR_EVENT_CUSTOM50 0x531 //ŽԶ¼50 -#define MINOR_EVENT_CUSTOM51 0x532 //ŽԶ¼51 -#define MINOR_EVENT_CUSTOM52 0x533 //ŽԶ¼52 -#define MINOR_EVENT_CUSTOM53 0x534 //ŽԶ¼53 -#define MINOR_EVENT_CUSTOM54 0x535 //ŽԶ¼54 -#define MINOR_EVENT_CUSTOM55 0x536 //ŽԶ¼55 -#define MINOR_EVENT_CUSTOM56 0x537 //ŽԶ¼56 -#define MINOR_EVENT_CUSTOM57 0x538 //ŽԶ¼57 -#define MINOR_EVENT_CUSTOM58 0x539 //ŽԶ¼58 -#define MINOR_EVENT_CUSTOM59 0x53a //ŽԶ¼59 -#define MINOR_EVENT_CUSTOM60 0x53b //ŽԶ¼60 -#define MINOR_EVENT_CUSTOM61 0x53c //ŽԶ¼61 -#define MINOR_EVENT_CUSTOM62 0x53d //ŽԶ¼62 -#define MINOR_EVENT_CUSTOM63 0x53e //ŽԶ¼63 -#define MINOR_EVENT_CUSTOM64 0x53f //ŽԶ¼64 -#define MINOR_ESD_OK 0x540 //ESDϸ -#define MINOR_ESD_LINKAGE_DISENABLE 0x541 //ESDϸ񣬲 -#define MINOR_ESD_LINKAGE_ENABLE 0x542 //ESDϸ񣬿 -#define MINOR_ESD_OVERTIME 0x543 //ESDⳬʱ - - -#define MINOR_LOCK_FINGER_OPEN_DOOR 0x600 //ָƿ -#define MINOR_LOCK_PASSWORD_OPEN_DOOR 0x601 //뿪 -#define MINOR_LOCK_CARD_OPEN_DOOR 0x602 //ˢ -#define MINOR_LOCK_CENTER_OPEN_DOOR 0x603 //Ŀ -#define MINOR_LOCK_APP_OPEN_DOOR 0x604 //APP -#define MINOR_LOCK_KEY_OPEN_DOOR 0x605 //Կ׿ -#define MINOR_LOCK_REMOTE_DEVICE_OPEN_DOOR 0x606 //ң -#define MINOR_LOCK_TMP_PASSWORD_OPEN_DOOR 0x607 //ʱ뿪 -#define MINOR_LOCK_BLUETOOTH_OPEN_DOOR 0x608 // -#define MINOR_LOCK_MULTI_OPEN_DOOR 0x609 //ؿ - -//2018-04-23 ͨ¼־ -#define MINOR_ALARMHOST_SCHOOLTIME_IRGI_B 0x1001 //BУʱ -#define MINOR_ALARMHOST_SCHOOLTIME_SDK 0x1002 //SDKУʱ -#define MINOR_ALARMHOST_SCHOOLTIME_SELFTEST 0x1003 //ԼУʱ -#define MINOR_ALARMHOST_SUBSYSTEM_ABNORMALINSERT 0x1004 //Ӱ -#define MINOR_ALARMHOST_SUBSYSTEM_ABNORMALPULLOUT 0x1005 //Ӱγ - -#define MINOR_ALARMHOST_AUTO_ARM 0x1006 //Զ -#define MINOR_ALARMHOST_AUTO_DISARM 0x1007 //Զ -#define MINOR_ALARMHOST_TIME_TIGGER_ON 0x1008 //ʱ -#define MINOR_ALARMHOST_TIME_TIGGER_OFF 0x1009 //ʱرմ -#define MINOR_ALARMHOST_AUTO_ARM_FAILD 0x100a //Զʧ -#define MINOR_ALARMHOST_AUTO_DISARM_FAILD 0x100b //Զʧ -#define MINOR_ALARMHOST_TIME_TIGGER_ON_FAILD 0x100c //ʱʧ -#define MINOR_ALARMHOST_TIME_TIGGER_OFF_FAILD 0x100d //ʱرմʧ -#define MINOR_ALARMHOST_MANDATORY_ALARM 0x100e //ǿƲ -#define MINOR_ALARMHOST_KEYPAD_LOCKED 0x100f // -#define MINOR_ALARMHOST_USB_INSERT 0x1010 //USB -#define MINOR_ALARMHOST_USB_PULLOUT 0x1011 //USBγ -#define MINOR_ALARMHOST_4G_MODULS_ONLINE 0x1012 //4Gģ -#define MINOR_ALARMHOST_4G_MODULS_OFFLINE 0x1013 //4Gģ - -#define MINOR_EZVIZ_CLOUD_ONLINE 0x1014 //өʯ -#define MINOR_EZVIZ_CLOUD_OFFLINE 0x1015 //өʯ - -#define MINOR_SIPUA_GRID_ONLINE 0x1016 //B -#define MINOR_SIPUA_GRID_OFFLINE 0x1017 //B - -#define MINOR_INTERNET_ACCESS_CONNECTED 0x1018 // -#define MINOR_INTERNET_ACCESS_BREAK 0x1019 //ڶϿ - -#define MINOR_WIRELESS_CONNECTED 0x101a // -#define MINOR_WIRELESS_BREAK 0x101b //߶Ͽ -#define MINOR_PORT_LINK_DOWN 0x101c //˿down -#define MINOR_PORT_LINK_UP 0x101d //˿up -#define MINOR_POE_PORT_POWER_ON 0x101e //POE˿power on -#define MINOR_POE_PORT_POWER_OFF 0x101f //POE˿power off -#define MINOR_POE_TOTAL_POWER_MAX 0x1020 //POEܹʴﵽpoe-max -#define MINNOR_POE_TOTAL_POWER_RESUME 0x1021 //POEܹʻָ -#define MINNOR_CARGO_ITEMS 0x1022 //Ʒȡ - - -typedef enum tagALARMHOST_MAJOR_TYPE -{ - MAJOR_ALARMHOST_ALARM = 1, - MAJOR_ALARMHOST_EXCEPTION, - MAJOR_ALARMHOST_OPERATION, - MAJ0R_ALARMHOST_EVENT -}ALARMHOST_MAJOR_TYPE; - -typedef enum tagALARMHOST_MINOR_TYPE -{ - // - MINOR_SHORT_CIRCUIT =0x01, // · - MINOR_BROKEN_CIRCUIT, // · - MINOR_ALARM_RESET, // λ - MINOR_ALARM_NORMAL, // ָ - MINOR_PASSWORD_ERROR, // 3 - MINOR_ID_CARD_ILLEGALLY, // ǷӦID - MINOR_KEYPAD_REMOVE, // ̷ - MINOR_KEYPAD_REMOVE_RESTORE, // ̷λ - MINOR_DEV_REMOVE, // 豸 - MINOR_DEV_REMOVE_RESTORE, // 豸λ - MINOR_BELOW_ALARM_LIMIT1, // ģڱ1 - MINOR_BELOW_ALARM_LIMIT2, // ģڱ2 - MINOR_BELOW_ALARM_LIMIT3, // ģڱ3 - MINOR_BELOW_ALARM_LIMIT4, // ģڱ4 - MINOR_ABOVE_ALARM_LIMIT1, // ģڱ1 - MINOR_ABOVE_ALARM_LIMIT2, // ģڱ2 - MINOR_ABOVE_ALARM_LIMIT3, // ģڱ3 - MINOR_ABOVE_ALARM_LIMIT4, // ģڱ4 - MINOR_URGENCYBTN_ON, // ť - MINOR_URGENCYBTN_OFF, // ťλ - MINOR_VIRTUAL_DEFENCE_BANDIT, //˾ - MINOR_VIRTUAL_DEFENCE_FIRE, // - MINOR_VIRTUAL_DEFENCE_URGENT, // - MINOR_ALARMHOST_MOTDET_START, //ƶⱨʼ - MINOR_ALARMHOST_MOTDET_STOP, //ƶⱨ - MINOR_ALARMHOST_HIDE_ALARM_START, //ڵʼ - MINOR_ALARMHOST_HIDE_ALARM_STOP, //ڵ - MINOR_ALARMHOST_UPS_ALARM, //UPS - MINOR_ALARMHOST_ELECTRICITY_METER_ALARM, // - MINOR_ALARMHOST_SWITCH_POWER_ALARM, //صԴ - MINOR_ALARMHOST_GAS_DETECT_SYS_ALARM, //ϵͳ - MINOR_ALARMHOST_TRANSFORMER_TEMPRATURE_ALARM, //Ա - MINOR_ALARMHOST_TEMP_HUMI_ALARM, //ʪȴ - MINOR_ALARMHOST_UPS_ALARM_RESTORE, //UPSָ - MINOR_ALARMHOST_ELECTRICITY_METER_ALARM_RESTORE, //ָ - MINOR_ALARMHOST_SWITCH_POWER_ALARM_RESTORE, //صԴָ - MINOR_ALARMHOST_GAS_DETECT_SYS_ALARM_RESTORE, //ϵͳָ - MINOR_ALARMHOST_TRANSFORMER_TEMPRATURE_ALARM_RESTORE, //Աָ - MINOR_ALARMHOST_TEMP_HUMI_ALARM_RESTORE, //ʪȴָ - MINOR_ALARMHOST_WATER_LEVEL_SENSOR_ALARM, //ˮλ - MINOR_ALARMHOST_WATER_LEVEL_SENSOR_ALARM_RESTORE, //ˮλָ - MINOR_ALARMHOST_DUST_NOISE_ALARM, //ﳾ - MINOR_ALARMHOST_DUST_NOISE_ALARM_RESTORE, //ﳾָ - MINOR_ALARMHOST_ENVIRONMENTAL_LOGGER_ALARM, //ɼDZ - MINOR_ALARMHOST_ENVIRONMENTAL_LOGGER_ALARM_RESTORE, //ɼDZָ - - MINOR_ALARMHOST_TRIGGER_TAMPER, //̽ - MINOR_ALARMHOST_TRIGGER_TAMPER_RESTORE, //ָ̽ - MINOR_ALARMHOST_EMERGENCY_CALL_HELP_ALARM, // - MINOR_ALARMHOST_EMERGENCY_CALL_HELP_ALARM_RESTORE, //ָ - MINOR_ALARMHOST_CONSULTING_ALARM, //ҵѯ - MINOR_ALARMHOST_CONSULTING_ALARM_RESTORE, //ҵѯָ - MINOR_ZONE_MODULE_REMOVE, // ģ - MINOR_ZONE_MODULE_RESET, // ģλ - - MINOR_ALARM_WIND_SPEED_ALARM, //ٴ澯 - MINOR_ALARM_WIND_SPEED_ALARM_RESTORE, //ٴ澯ָ - MINOR_ALARM_GENERATE_OUTPUT_ALARM, //ͨģ澯 - MINOR_ALARM_GENERATE_OUTPUT_RESTORE, //ͨģ澯ָ - MINOR_ALARM_SOAK_ALARM, //ˮ澯 - MINOR_ALARM_SOAK_ALARM_RESTORE, //ˮ澯ָ - MINOR_ALARM_SOLAR_POWER_ALARM, //̫ܴ澯 - MINOR_ALARM_SOLAR_POWER_ALARM_RESTORE, //̫ܴ澯ָ - MINOR_ALARM_SF6_ALARM, //SF6澯 - MINOR_ALARM_SF6_ALARM_RESTORE, //SF6澯ָ - MINOR_ALARM_WEIGHT_ALARM, //Ǹ澯 - MINOR_ALARM_WEIGHT_ALARM_RESTORE, //Ǹ澯ָ - MINOR_ALARM_WEATHER_ALARM, //ɼϵͳ澯 - MINOR_ALARM_WEATHER_ALARM_RESTORE, //ɼϵͳ澯ָ - MINOR_ALARM_FUEL_GAS_ALARM, //ȼϵͳ澯 - MINOR_ALARM_FUEL_GAS_ALARM_RESTORE, //ȼϵͳ澯ָ - MINOR_ALARM_FIRE_ALARM, //ֱϵͳ澯 - MINOR_ALARM_FIRE_ALARM_RESTORE, //ֱϵͳ澯ָ - - MINOR_WIRELESS_OUTPUT_MODULE_REMOVE, // ģ - MINOR_WIRELESS_OUTPUT_MODULE_RESET, // ģλ - MINOR_WIRELESS_REPEATER_MODULE_REMOVE, // м - MINOR_WIRELESS_REPEATER_MODULE_RESET, // мλ - MINOR_WIRELESS_SIREN_MODULE_REMOVE, // ߾ŷ - MINOR_WIRELESS_SIREN_MODULE_RESET, // ߾ŷλ - MINOR_SOUND_INTENSITY_RISE, // ǿ - MINOR_SOUND_INTENSITY_RISE_RESET, // ǿָ - MINOR_SOUND_INTENSITY_DROP, // ǿ - MINOR_SOUND_INTENSITY_DROP_RESET, // ǿָ - MINOR_AUDIO_INPUT_EXCEPTION, // Ƶ쳣 - MINOR_AUDIO_INPUT_EXCEPTION_RESET, // Ƶ쳣ָ - MINOR_FACE_DETECTION_ALARM, // ⱨ - MINOR_FACE_DETECTION_ALARM_RESTORE, // ⱨָ - - // 쳣 - MINOR_POWER_ON = 0x01, // ϵ - MINOR_POWER_OFF, // - MINOR_WDT_RESET, // WDT λ - MINOR_LOW_BATTERY_VOLTAGE, // صѹ - MINOR_AC_LOSS, // ϵ - MINOR_AC_RESTORE, // ָ - MINOR_RTC_EXCEPTION, // RTCʵʱʱ쳣 - MINOR_NETWORK_CONNECT_FAILURE, // Ӷ - MINOR_NETWORK_CONNECT_RESTORE, // ӻָ - MINOR_TEL_LINE_CONNECT_FAILURE, // 绰Ӷ - MINOR_TEL_LINE_CONNECT_RESTORE, // 绰ӻָ - MINOR_EXPANDER_BUS_LOSS, // չģ - MINOR_EXPANDER_BUS_RESTORE, // չģ߻ָ - MINOR_KEYPAD_BUS_LOSS, // ģ - MINOR_KEYPAD_BUS_RESTORE, // ģ߻ָ - MINOR_SENSOR_FAILURE, // ģ - MINOR_SENSOR_RESTORE, // ģָ - MINOR_RS485_CONNECT_FAILURE, // RS485ͨӶ - MINOR_RS485_CONNECT_RESTORE, // RS485ͨӶϻָ - MINOR_BATTERT_VOLTAGE_RESTORE, // صѹָ - MINOR_WIRED_NETWORK_ABNORMAL, //쳣 - MINOR_WIRED_NETWORK_RESTORE, //ָ - MINOR_GPRS_ABNORMAL, //GPRSͨ쳣 - MINOR_GPRS_RESTORE, //GPRSָ - MINOR_3G_ABNORMAL, //3Gͨ쳣 - MINOR_3G_RESTORE, //3Gָ - MINOR_SIM_CARD_ABNORMAL, //SIM쳣 - MINOR_SIM_CARD_RESTORE, //SIMָ - MINOR_ALARMHOST_VI_LOST, // ƵźŶʧ - MINOR_ALARMHOST_ILLEGAL_ACCESS, // Ƿ - MINOR_ALARMHOST_HD_FULL, // Ӳ - MINOR_ALARMHOST_HD_ERROR, // Ӳ̴ - MINOR_ALARMHOST_DCD_LOST, // MODEM (ʹ) - MINOR_ALARMHOST_IP_CONFLICT, // IPַͻ - MINOR_ALARMHOST_NET_BROKEN, // Ͽ - MINOR_ALARMHOST_REC_ERROR, // ¼ - MINOR_ALARMHOST_VI_EXCEPTION, // Ƶ쳣(ֻģͨ) - MINOR_ALARMHOST_FORMAT_HDD_ERROR, //Զ̸ʽӲʧ - MINOR_ALARMHOST_USB_ERROR, //USBͨŹ - MINOR_ALARMHOST_USB_RESTORE, //USBͨŹϻָ - MINOR_ALARMHOST_PRINT_ERROR, //ӡ - MINOR_ALARMHOST_PRINT_RESTORE, //ӡϻָ - MINOR_SUBSYSTEM_COMMUNICATION_ERROR, //ӰͨѶ - MINOR_ALARMHOST_IPC_NO_LINK, /* IPCӶϿ */ - MINOR_ALARMHOST_IPC_IP_CONFLICT, /*ipc ip ַ ͻ*/ - MINOR_ALARMHOST_VI_MISMATCH, /*Ƶʽƥ*/ - MINOR_ALARMHOST_MCU_RESTART, //MCU - MINOR_ALARMHOST_GPRS_MODULE_FAULT, //GPRSģ - MINOR_ALARMHOST_TELEPHONE_MODULE_FAULT, //绰ģ - MINOR_ALARMHOST_WIFI_ABNORMAL, //WIFIͨ쳣 - MINOR_ALARMHOST_WIFI_RESTORE, //WIFIָ - MINOR_ALARMHOST_RF_ABNORMAL, //RFź쳣 - MINOR_ALARMHOST_RF_RESTORE, //RFźŻָ - MINOR_ALARMHOST_DETECTOR_ONLINE, //̽ - MINOR_ALARMHOST_DETECTOR_OFFLINE, //̽ - MINOR_ALARMHOST_DETECTOR_BATTERY_NORMAL, //̽ - MINOR_ALARMHOST_DETECTOR_BATTERY_LOW, //̽Ƿѹ - MINOR_ALARMHOST_DATA_TRAFFIC_OVERFLOW, // - MINOR_ZONE_MODULE_LOSS, // ģ - MINOR_ZONE_MODULE_RESTORE, // ģ߻ָ - MINOR_ALARMHOST_WIRELESS_OUTPUT_LOSS, //ģ - MINOR_ALARMHOST_WIRELESS_OUTPUT_RESTORE, //ģָ - MINOR_ALARMHOST_WIRELESS_REPEATER_LOSS, //м - MINOR_ALARMHOST_WIRELESS_REPEATER_RESTORE, //мָ - MINOR_TRIGGER_MODULE_LOSS, // ģ - MINOR_TRIGGER_MODULE_RESTORE, // ģ߻ָ - MINOR_WIRELESS_SIREN_LOSS, // ߾ - MINOR_WIRELESS_SIREN_RESTORE, // ߾Żָ - MINOR_ALARMHOST_WIRELESS_RS485_LOSS, //RS485ģ - MINOR_ALARMHOST_WIRELESS_RS485_RESTORE, //RS485ģָ - - // - MINOR_GUARD = 0x01, // ͨ - MINOR_UNGUARD, // ͨ - MINOR_BYPASS, // · - MINOR_DURESS_ACCESS, // Ю - MINOR_ALARMHOST_LOCAL_REBOOT, // - MINOR_ALARMHOST_REMOTE_REBOOT, // Զ - MINOR_ALARMHOST_LOCAL_UPGRADE, // - MINOR_ALARMHOST_REMOTE_UPGRADE, // Զ - MINOR_RECOVERY_DEFAULT_PARAM, // ָĬϲ - MINOR_ALARM_OUTPUT, // Ʊ - MINOR_ACCESS_OPEN, // Ž - MINOR_ACCESS_CLOSE, // Ž - MINOR_SIREN_OPEN, // ƾſ - MINOR_SIREN_CLOSE, // ƾŹ - MINOR_MOD_ZONE_CONFIG, // ޸ķ - MINOR_MOD_ALARMOUT_CONIFG, // Ʊ - MINOR_MOD_ANALOG_CONFIG, // ޸ģ - MINOR_RS485_CONFIG, // ޸485ͨ - MINOR_PHONE_CONFIG, // ޸IJ - MINOR_ADD_ADMIN, // ӹԱ - MINOR_MOD_ADMIN_PARAM, // ޸ĹԱ - MINOR_DEL_ADMIN, // ɾԱ - MINOR_ADD_NETUSER, // Ӻ˲Ա - MINOR_MOD_NETUSER_PARAM, // ޸ĺ˲Ա - MINOR_DEL_NETUSER, // ɾ˲Ա - MINOR_ADD_OPERATORUSER, // ǰ˲Ա - MINOR_MOD_OPERATORUSER_PW, // ޸ǰ˲Ա - MINOR_DEL_OPERATORUSER, // ɾǰ˲Ա - MINOR_ADD_KEYPADUSER, // Ӽ/û - MINOR_DEL_KEYPADUSER, // ɾ/û - MINOR_REMOTEUSER_LOGIN, // Զû½ - MINOR_REMOTEUSER_LOGOUT, // Զûע - MINOR_REMOTE_GUARD, // Զ̲ - MINOR_REMOTE_UNGUARD, // Զ̳ - MINOR_MOD_HOST_CONFIG, // ޸ - MINOR_RESTORE_BYPASS, // ·ָ - MINOR_ALARMOUT_OPEN, // - MINOR_ALARMOUT_CLOSE, // ر - MINOR_MOD_SUBSYSTEM_PARAM, // ޸ϵͳ - MINOR_GROUP_BYPASS, // · - MINOR_RESTORE_GROUP_BYPASS, // ·ָ - MINOR_MOD_GRPS_PARAM, // ޸GPRS - MINOR_MOD_NET_REPORT_PARAM, // ޸ϱ - MINOR_MOD_REPORT_MOD, // ޸ϴʽ - MINOR_MOD_GATEWAY_PARAM, // ޸Ž - MINOR_ALARMHOST_REMOTE_START_REC, // Զ̿ʼ¼ - MINOR_ALARMHOST_REMOTE_STOP_REC, // Զֹͣ¼ - MINOR_ALARMHOST_START_TRANS_CHAN, // ʼ͸ - MINOR_ALARMHOST_STOP_TRANS_CHAN, // ֹͣ͸ - MINOR_ALARMHOST_START_VT, // ʼԽ - MINOR_ALARMHOST_STOP_VTM, // ֹͣԽ - MINOR_ALARMHOST_REMOTE_PLAYBYFILE, // Զ̰ļط - MINOR_ALARMHOST_REMOTE_PLAYBYTIME, // Զ̰ʱط - MINOR_ALARMHOST_REMOTE_PTZCTRL, // Զ̨ - MINOR_ALARMHOST_REMOTE_FORMAT_HDD, // Զ̸ʽӲ - MINOR_ALARMHOST_REMOTE_LOCKFILE, // Զļ - MINOR_ALARMHOST_REMOTE_UNLOCKFILE, // Զ̽ļ - MINOR_ALARMHOST_REMOTE_CFGFILE_OUTPUT, // Զ̵ļ - MINOR_ALARMHOST_REMOTE_CFGFILE_INTPUT, // Զ̵ļ - MINOR_ALARMHOST_REMOTE_RECFILE_OUTPUT, // Զ̵¼ļ - - MINOR_ALARMHOST_STAY_ARM, //ز - MINOR_ALARMHOST_QUICK_ARM, //ʱ - MINOR_ALARMHOST_AUTOMATIC_ARM, //Զ - MINOR_ALARMHOST_AUTOMATIC_DISARM, //Զ - MINOR_ALARMHOST_KEYSWITCH_ARM, //Կ׷ - MINOR_ALARMHOST_KEYSWITCH_DISARM, //Կ׷ - MINOR_ALARMHOST_CLEAR_ALARM, // - MINOR_ALARMHOST_MOD_FAULT_CFG, //޸ϵͳ - MINOR_ALARMHOST_MOD_EVENT_TRIGGER_ALARMOUT_CFG, //޸¼ - MINOR_ALARMHOST_SEARCH_EXTERNAL_MODULE, //ģ - MINOR_ALARMHOST_REGISTER_EXTERNAL_MODULE, //עģ - MINOR_ALARMHOST_CLOSE_KEYBOARD_ALARM, //رռ̱ʾ - MINOR_ALARMHOST_MOD_3G_PARAM, //޸3G - MINOR_ALARMHOST_MOD_PRINT_PARAM, //޸Ĵӡ - MINOR_SD_CARD_FORMAT, //SDʽ - MINOR_SUBSYSTEM_UPGRADE, //Ӱ̼ - - MINOR_ALARMHOST_PLAN_ARM_CFG, //ƻ - MINOR_ALARMHOST_PHONE_ARM, //ֻ - MINOR_ALARMHOST_PHONE_STAY_ARM, //ֻز - MINOR_ALARMHOST_PHONE_QUICK_ARM,//ֻʱ - MINOR_ALARMHOST_PHONE_DISARM, //ֻ - MINOR_ALARMHOST_PHONE_CLEAR_ALARM, //ֻ - MINOR_ALARMHOST_ALLOWLIST_CFG, // - MINOR_ALARMHOST_TIME_TRIGGER_CFG, //ʱش - MINOR_ALARMHOST_CAPTRUE_CFG, //ץͼ - MINOR_ALARMHOST_TAMPER_CFG, // - - MINOR_ALARMHOST_REMOTE_KEYPAD_UPGRADE, //Զ - MINOR_ALARMHOST_ONETOUCH_AWAY_ARMING, //һ - MINOR_ALARMHOST_ONETOUCH_STAY_ARMING, //һز - MINOR_ALARMHOST_SINGLE_PARTITION_ARMING_OR_DISARMING, // - MINOR_ALARMHOST_CARD_CONFIGURATION, // - MINOR_ALARMHOST_CARD_ARMING_OR_DISARMING, //ˢ - MINOR_ALARMHOST_EXPENDING_NETCENTER_CONFIGURATION, //չ - MINOR_ALARMHOST_NETCARD_CONFIGURATION, // - MINOR_ALARMHOST_DDNS_CONFIGURATION, //DDNS - MINOR_ALARMHOST_RS485BUS_CONFIGURATION, // 485߲ - MINOR_ALARMHOST_RS485BUS_RE_REGISTRATION, //485ע - - MINOR_ALARMHOST_REMOTE_OPEN_ELECTRIC_LOCK, //Զ̴򿪵 - MINOR_ALARMHOST_REMOTE_CLOSE_ELECTRIC_LOCK, //Զ̹رյ - MINOR_ALARMHOST_LOCAL_OPEN_ELECTRIC_LOCK, //ش򿪵 - MINOR_ALARMHOST_LOCAL_CLOSE_ELECTRIC_LOCK, //عرյ - MINOR_ALARMHOST_OPEN_ALARM_LAMP, //򿪾(Զ) - MINOR_ALARMHOST_CLOSE_ALARM_LAMP, //رվ(Զ) - - - MINOR_ALARMHOST_TEMPORARY_PASSWORD, //ʱ¼ - MINOR_ALARMHOST_ONEKEY_AWAY_ARM, //һ - MINOR_ALARMHOST_ONEKEY_STAY_ARM, //һز - MINOR_ALARMHOST_SINGLE_ZONE_ARM, // - MINOR_ALARMHOST_SINGLE_ZONE_DISARM, // - MINOR_ALARMHOST_HIDDNS_CONFIG, // HIDDNS - MINOR_ALARMHOST_REMOTE_KEYBOARD_UPDATA, //Զ̼־ - MINOR_ALARMHOST_ZONE_ADD_DETECTOR, //̽ - MINOR_ALARMHOST_ZONE_DELETE_DETECTOR, //ɾ̽ - MINOR_ALARMHOST_QUERY_DETECTOR_SIGNAL, //ѯ̽źǿ - MINOR_ALARMHOST_QUERY_DETECTOR_BATTERY, //ѯ̽ - MINOR_ALARMHOST_SET_DETECTOR_GUARD, //̽ - MINOR_ALARMHOST_SET_DETECTOR_UNGUARD, //̽ - MINOR_ALARMHOST_SET_WIFI_PARAMETER, //WIFIò - MINOR_ALARMHOST_OPEN_VOICE, // - MINOR_ALARMHOST_CLOSE_VOICE, //ر - MINOR_ALARMHOST_ENABLE_FUNCTION_KEY, //ùܼ - MINOR_ALARMHOST_DISABLE_FUNCTION_KEY, //رչܼ - MINOR_ALARMHOST_READ_CARD, //Ѳˢ - MINOR_ALARMHOST_START_BROADCAST, //㲥 - MINOR_ALARMHOST_STOP_BROADCAST, //ر㲥 - MINOR_ALARMHOST_REMOTE_ZONE_MODULE_UPGRADE, //Զģ - MINOR_ALARMHOST_NETWORK_MODULE_EXTEND, //ģ - MINOR_ALARMHOST_ADD_CONTROLLER, //ңû - MINOR_ALARMHOST_DELETE_CONTORLLER, //ɾңû - MINOR_ALARMHOST_REMOTE_NETWORKMODULE_UPGRADE, //Զģ - MINOR_ALARMHOST_WIRELESS_OUTPUT_ADD, //עģ - MINOR_ALARMHOST_WIRELESS_OUTPUT_DEL, //ɾģ - MINOR_ALARMHOST_WIRELESS_REPEATER_ADD, //עм - MINOR_ALARMHOST_WIRELESS_REPEATER_DEL, //ɾм - MINOR_ALARMHOST_PHONELIST_CFG, //绰 - MINOR_ALARMHOST_RF_SIGNAL_CHECK, // RFźŲѯ - MINOR_ALARMHOST_USB_UPGRADE, // USB - MINOR_ALARMHOST_DOOR_TIME_REMINDER_CFG,//ŴŶʱѲ - MINOR_ALARMHOST_WIRELESS_SIREN_ADD, //ע߾ - MINOR_ALARMHOST_WIRELESS_SIREN_DEL, //ɾ߾ - MINOR_ALARMHOST_OUT_SCALE_OPEN, //翪 - MINOR_ALARMHOST_OUT_SCALE_CLOSE, //ر - - MINOR_ALARMHOST_TIME_ZONE_CFG,//ʱ޸ - MINOR_ALARMHOST_NTP_START_AND_PARAMETERS_CFG,//NTP޸ - MINOR_ALARMHOST_DST_START_AND_PARAMETERS_CFG,//DST޸ - MINOR_ALARMHOST_DEVINFO_CFG,//豸Ϣ - MINOR_ALARMHOST_VIDEO_OVERLAP_CFG,//¼񸲸 - MINOR_ALARMHOST_SSH_CFG,//SSH - MINOR_ALARMHOST_PASSWORD_MANAGE_CFG,// - MINOR_ALARMHOST_RESTORE_DEFAULT_PARAMETERS,//ָĬϲ - MINOR_ALARMHOST_RESTORECOMPLETELY_DEFAULT_PARAMETERS,//ȫָĬϲ - MINOR_ALARMHOST_AUDIO_AUTO_DETECT_CFG,//Զ - MINOR_ALARMHOST_AUDIO_MANUAL_DETECT_CFG,//ֶ - MINOR_ALARMHOST_NET_PARAMETERS_CFG,// - MINOR_ALARMHOST_MTU_CFG,//MTU - MINOR_ALARMHOST_PORT_CFG,//˿ - MINOR_ALARMHOST_DEFAULT_ROUTER_CFG,//Ĭ· - MINOR_ALARMHOST_DNS_PARAMETERS_CFG,//DNS - MINOR_ALARMHOST_UNPNP_PARAMETERS_CFG,//UNPNP - MINOR_ALARMHOST_SIP_PARAMETERS_CFG,//SIP - MINOR_ALARMHOST_FLOW_LIMIT_CFG,//޶ - MINOR_ALARMHOST_APN_PARAMETERS_CFG,//APN - MINOR_ALARMHOST_MESSAGE_TELEPHONENO_CFG,//ŵ绰 - MINOR_ALARMHOST_EZVIZ_PARAMATERS_CFG,//өʯ - MINOR_ALARMHOST_ISUP_PARAMATERS_CFG,//ISUP - MINOR_ALARMHOST_SIP_SWITCH_CFG,//SIP׼Э˽Эл - MINOR_ALARMHOST_INFO_UPLOAD_TO_PLATFORM_CFG,//ϴƽ̨Ϣ - MINOR_ALARMHOST_ONVIF_CONTROL,//ONVIF(ر) - MINOR_ALARMHOST_ONVIF_USER_ADD,//onvifû - MINOR_ALARMHOST_ONVIF_USER_MOD,//onvifû޸ - MINOR_ALARMHOST_ONVIF_USER_DELETE,//onvifûɾ - MINOR_ALARMHOST_TIME_OF_BELLS_CFG,//ʱ - MINOR_ALARMHOST_CALL_WAITTIME_CFG,//еȴʱ - MINOR_ALARMHOST_PROMPT_PARAMATERS_CFG,//ʾ - MINOR_ALARMHOST_MUTEPLAN_PARAMATERS_CFG,//ƻ - MINOR_ALARMHOST_SD_PARTITION_CFG,//SD - MINOR_ALARMHOST_AUDIO_PARAMETERS_CFG,//Ƶ - MINOR_ALARMHOST_VOICETALK_AUDIO_ENCODING_CFG,//ԽƵ - MINOR_ALARMHOST_RECORD_PLAN_PARAMETERS_CFG,//¼ƻ - MINOR_ALARMHOST_RECORD_ADVANCE_PARAMETERS_CFG,//¼߼ - MINOR_ALARMHOST_PICTURE_PLAN_PARAMETERS_CFG,//ץͼƻ - MINOR_ALARMHOST_PICTURE_ADVANCE_PARAMETERS_CFG,//ץͼ߼ - MINOR_ALARMHOST_AUDIO_EXCEPTION_PARAMETERS_CFG,//Ƶ쳣 - MINOR_ALARMHOST_PATROL_CARD_CFG,//Ѳ - MINOR_ALARMHOST_VOICE_VOLUME_CFG,// - MINOR_ALARMHOST_VOICE_MODE_CFG,//ģʽã룬㲥ģʽ - MINOR_ALARMHOST_AUDIO_OR_MATERIALS_UPLOAD,//Ƶزļϴ - MINOR_ALARMHOST_AUDIO_OR_MATERIALS_DELETE,//Ƶزļɾ - MINOR_ALARMHOST_ALARM_LAMP_FLASH_TIME_CFG,//˸ʱ - MINOR_ALARMHOST_ALARM_LAMP_FLASH_PLAN_CFG,//ƻ˸ - MINOR_ALARMHOST_FRONT_END_VIDEO_PARAMETERS_CFG,//ǰƵ - MINOR_ALARMHOST_WDR_CFG,//̬ - MINOR_ALARMHOST_BPFRAME_CFG,//PN֡ - MINOR_ALARMHOST_PASSWORD_RESET_CFG,// - MINOR_ALARMHOST_ACCOUNT_LOCK,//˻ - MINOR_ALARMHOST_ACCOUNT_UNLOCK,//˻ - MINOR_ALARMHOST_START_LIVEVIEW_REMOTELY,//Զ̿Ԥ - MINOR_ALARMHOST_STOP_LIVEVIEW_REMOTELT,//Զ̹رԤ - MINOR_ALARMHOST_TELEPHONE_CENTER_SETTINGS,//绰IJ - MINOR_ALARMHOST_NATIONAL_STANDARD_CFG,// - MINOR_ALARMHOST_SUPPLEMENTLIGHT_CFG,// - MINOR_ALARMHOST_FACESNAP_CFG,//ץ - MINOR_ALARMHOST_PUBLISHMANAGE_CFG,// - MINOR_ALARMHOST_KEYDIAL_CFG,// - MINOR_ALARMHOST_VOICETALK_SILENT_CFG,//Խ - MINOR_ALARMHOST_START_VIDEO_PROTECT,//Ƶ - MINOR_ALARMHOST_START_AUDIO_PROTECT,//ü - MINOR_ALARMHOST_START_MANUAL_ANSWER,//ֶ - MINOR_ALARMHOST_START_LOG_SERVER,//ðȫ־ - MINOR_ALARMHOST_ADD_CARD,//ӿƬ - MINOR_ALARMHOST_DELETE_CARD,//ɾƬ - MINOR_ALARMHOST_MOTION_DETECTION_CFG,//ƶ - MINOR_ALARMHOST_VIDEO_BLOCK_CFG,//Ƶڵ - MINOR_ALARMHOST_FACE_DETECTION_CFG,// - MINOR_ALARMHOST_LOG_BACKUP,//־ - - - MINOR_ALARMHOST_LOCAL_SET_DEVICE_ACTIVE = 0xf0, //ؼ豸 - MINOR_ALARMHOST_REMOTE_SET_DEVICE_ACTIVE = 0xf1, //Զ̼豸 - MINOR_ALARMHOST_LOCAL_PARA_FACTORY_DEFAULT = 0xf2, //ػظ - MINOR_ALARMHOST_REMOTE_PARA_FACTORY_DEFAULT = 0xf3, //Զָ̻ - - MINOR_ADD_IPC = 0xf4, //IPC(IPC) - MINOR_MODIFY_IPC = 0xf5, //IPC޸ - MINOR_DELETE_IPC = 0xf6, //IPCɾ - MINOR_SYS_CHECK_START = 0xf7, //ϵͳ⿪ʼ - MINOR_SYS_CHECK_STOP = 0xf8, //ϵͳֹ - MINOR_SYS_CHECK_FINISH = 0xf9, //ϵͳ - MINOR_DEVICE_TAMPER_CFG = 0xfa, //豸 - MINOR_ALARMHOST_INDICATORLIGHT_CFG = 0xfb, //ָʾ - MINOR_ALARMHOST_WIRELESSBUTTON_CFG = 0xfc, //߰ť - MINOR_ALARMHOST_IRCUTFILTER_CFG = 0xfd, //ҹл - MINOR_ALARMHOST_KEYWORD_AUDIO_RECOGNITION_CFG = 0xfe, //ؼʶ - MINOR_ALARMHOST_DEVICE_POWER_MODE_SWITCH_CFG = 0xff, //豸ģʽл - - - // ¼ - MINOR_SCHOOLTIME_IRGI_B = 0x01, // BУʱ - MINOR_SCHOOLTIME_SDK, // SDKУʱ - MINOR_SCHOOLTIME_SELFTEST, // ʱԼУʱ - MINOR_SUBSYSTEM_ABNORMALINSERT, //Ӱ - MINOR_SUBSYSTEM_ABNORMALPULLOUT, //Ӱγ - - MINOR_AUTO_ARM, //Զ - MINOR_AUTO_DISARM, //Զ - MINOR_TIME_TIGGER_ON, //ʱ - MINOR_TIME_TIGGER_OFF, //ʱرմ - MINOR_AUTO_ARM_FAILD, //Զʧ - MINOR_AUTO_DISARM_FAILD, //Զʧ - MINOR_TIME_TIGGER_ON_FAILD, //ʱʧ - MINOR_TIME_TIGGER_OFF_FAILD, //ʱرմʧ - MINOR_MANDATORY_ALARM, //ǿƲ - MINOR_KEYPAD_LOCKED, // - MINOR_USB_INSERT, //USB - MINOR_USB_PULLOUT, //USBγ - MINOR_KEYPAD_UNLOCK, //̽ -}ALARMHOST_MINOR_TYPE; - - -//־ΪMAJOR_OPERATION=03ΪMINOR_LOCAL_CFG_PARM=0x52MINOR_REMOTE_GET_PARM=0x76 -//MINOR_REMOTE_CFG_PARM=0x77ʱdwParaType:Ч京£ -#define PARA_VIDEOOUT 0x1 -#define PARA_IMAGE 0x2 -#define PARA_ENCODE 0x4 -#define PARA_NETWORK 0x8 -#define PARA_ALARM 0x10 -#define PARA_EXCEPTION 0x20 -#define PARA_DECODER 0x40 /**/ -#define PARA_RS232 0x80 -#define PARA_PREVIEW 0x100 -#define PARA_SECURITY 0x200 -#define PARA_DATETIME 0x400 -#define PARA_FRAMETYPE 0x800 /*֡ʽ*/ -#define PARA_DETECTION 0x1000 // -#define PARA_VCA_RULE 0x1001 //Ϊ -#define PARA_VCA_CTRL 0x1002 //ܿϢ -#define PARA_VCA_PLATE 0x1003 // ʶ - -#define PARA_CODESPLITTER 0x2000 /**/ -//2010-01-22 Ƶۺƽ̨־Ϣ -#define PARA_RS485 0x2001 /* RS485Ϣ*/ -#define PARA_DEVICE 0x2002 /* 豸Ϣ*/ -#define PARA_HARDDISK 0x2003 /* ӲϢ */ -#define PARA_AUTOBOOT 0x2004 /* ԶϢ*/ -#define PARA_HOLIDAY 0x2005 /* ڼϢ*/ -#define PARA_IPC 0x2006 /* IPͨ */ -/************************* end*******************************/ - - -/*******************ļ־ֵ*************************/ -#define NET_DVR_FILE_SUCCESS 1000 //ļϢ -#define NET_DVR_FILE_NOFIND 1001 //ûļ -#define NET_DVR_ISFINDING 1002 //ڲļ -#define NET_DVR_NOMOREFILE 1003 //ļʱûиļ -#define NET_DVR_FILE_EXCEPTION 1004 //ļʱ쳣 -#define NET_DVR_FIND_TIMEOUT 1005 //ļʱ - -/*********************ص begin************************/ - -//ص -#define COMM_ALARM 0x1100 //8000Ϣϴ - -//ӦNET_VCA_RULE_ALARM -#define COMM_ALARM_RULE 0x1102 //ΪϢ -#define COMM_ALARM_PDC 0x1103 //ͳƱϢ -#define COMM_ALARM_VIDEOPLATFORM 0x1104 //Ƶۺƽ̨ -#define COMM_ALARM_ALARMHOST 0x1105 //籨 -#define COMM_ALARM_FACE 0x1106 //ʶ𱨾Ϣ -#define COMM_RULE_INFO_UPLOAD 0x1107 // ¼Ϣϴ -#define COMM_ALARM_AID 0x1110 //ͨ¼Ϣ -#define COMM_ALARM_TPS 0x1111 //ͨͳƱϢ -//ץĽϴ -#define COMM_UPLOAD_FACESNAP_RESULT 0x1112 //ʶϴ -#define COMM_ALARM_TFS 0x1113 //ͨȡ֤Ϣ -#define COMM_ALARM_TPS_V41 0x1114 //ͨͳƱϢչ -#define COMM_ALARM_AID_V41 0x1115 //ͨ¼Ϣչ -#define COMM_ALARM_VQD_EX 0x1116 //Ƶϱ -#define COMM_ALARM_NOTIFICATION_REPORT 0x1117 //֪ͨ¼ϱ -#define COMM_SENSOR_VALUE_UPLOAD 0x1120 //ģʵʱϴ -#define COMM_SENSOR_ALARM 0x1121 //ģϴ -#define COMM_SWITCH_ALARM 0x1122 // -#define COMM_ALARMHOST_EXCEPTION 0x1123 //ϱ -#define COMM_ALARMHOST_OPERATEEVENT_ALARM 0x1124 //¼ϴ -#define COMM_ALARMHOST_SAFETYCABINSTATE 0x1125 //״̬ -#define COMM_ALARMHOST_ALARMOUTSTATUS 0x1126 ///״̬ -#define COMM_ALARMHOST_CID_ALARM 0x1127 //汨ϴ -#define COMM_ALARMHOST_EXTERNAL_DEVICE_ALARM 0x1128 //豸ϴ -#define COMM_ALARMHOST_DATA_UPLOAD 0x1129 //ϴ -#define COMM_FACECAPTURE_STATISTICS_RESULT 0x112a //ץͳϴ -#define COMM_ALARM_WIRELESS_INFO 0x122b // Ϣϴ -#define COMM_SCENECHANGE_DETECTION_UPLOAD 0x1130 //ϴ()2013-7-16 -#define COMM_CROSSLINE_ALARM 0x1131 //ѹ߱() 2013-09-27 -#define COMM_UPLOAD_VIDEO_INTERCOM_EVENT 0x1132 //ӶԽ¼¼ϴ -#define COMM_ALARM_VIDEO_INTERCOM 0x1133 //ӶԽϴ -#define COMM_UPLOAD_NOTICE_DATA 0x1134 //ӶԽϢϴ -#define COMM_ALARM_AUDIOEXCEPTION 0x1150 //Ϣ -#define COMM_ALARM_DEFOCUS 0x1151 //齹Ϣ -#define COMM_ALARM_BUTTON_DOWN_EXCEPTION 0x1152 //ť±Ϣ -#define COMM_ALARM_ALARMGPS 0x1202 //GPSϢϴ -#define COMM_TRADEINFO 0x1500 //ATMDVRϴϢ -#define COMM_UPLOAD_PLATE_RESULT 0x2800 //ϴϢ -#define COMM_ITC_STATUS_DETECT_RESULT 0x2810 //ʵʱ״̬ϴ(ܸIPC) -#define COMM_IPC_AUXALARM_RESULT 0x2820 //PIR߱ȱϴ -#define COMM_UPLOAD_PICTUREINFO 0x2900 //ϴͼƬϢ -#define COMM_SNAP_MATCH_ALARM 0x2902 //ֹȶԽϴ -#define COMM_ITS_PLATE_RESULT 0x3050 //նͼƬϴ -#define COMM_ITS_TRAFFIC_COLLECT 0x3051 //նͳϴ -#define COMM_ITS_GATE_VEHICLE 0x3052 //ڳץϴ -#define COMM_ITS_GATE_FACE 0x3053 //ץϴ -#define COMM_ITS_GATE_COSTITEM 0x3054 //ڹշϸ 2013-11-19 -#define COMM_ITS_GATE_HANDOVER 0x3055 //ڽӰ 2013-11-19 -#define COMM_ITS_PARK_VEHICLE 0x3056 //ͣϴ -#define COMM_ITS_BLOCKLIST_ALARM 0x3057 //ֹϴ - -#define COMM_VEHICLE_CONTROL_LIST_DSALARM 0x3058 //Ҫͬ2013-11-04 -#define COMM_VEHICLE_CONTROL_ALARM 0x3059 //2013-11-04 -#define COMM_FIRE_ALARM 0x3060 //2013-11-04 - -#define COMM_ITS_GATE_ALARMINFO 0x3061 //ڿƻϴ - -#define COMM_VEHICLE_RECOG_RESULT 0x3062 //ʶϴ 2014-11-12 -#define COMM_PLATE_RESULT_V50 0x3063 //ϴ V50 - -#define COMM_GATE_CHARGEINFO_UPLOAD 0x3064 //ڸϢϴ -#define COMM_TME_VEHICLE_INDENTIFICATION 0x3065 //TMEץͼϴ -#define COMM_GATE_CARDINFO_UPLOAD 0x3066 //ڿƬϢϴ -#define COMM_LOADING_DOCK_OPERATEINFO 0x3067 //̨ҵϴ - -#define COMM_ALARM_SENSORINFO_UPLOAD 0x3077 //ϴϢ -#define COMM_ALARM_CAPTURE_UPLOAD 0x3078 //ץͼƬϴ - -#define COMM_ITS_RADARINFO 0x3079 //״ﱨϴ - -#define COMM_SIGNAL_LAMP_ABNORMAL 0x3080 //źŵ쳣ϴ - -#define COMM_ALARM_TPS_REAL_TIME 0x3081 //TPSʵʱϴ -#define COMM_ALARM_TPS_STATISTICS 0x3082 //TPSͳƹϴ - -#define COMM_ALARM_V30 0x4000 //9000Ϣϴ -#define COMM_IPCCFG 0x4001 //9000豸IPCøı䱨Ϣϴ -#define COMM_IPCCFG_V31 0x4002 //9000豸IPCøı䱨Ϣϴչ 9000_1.1 -#define COMM_IPCCFG_V40 0x4003 // IVMS 2000 NVR IPCøıʱϢϴ -#define COMM_ALARM_DEVICE 0x4004 //豸ݣֵͨ256չ -#define COMM_ALARM_CVR 0x4005 //CVR 2.0.Xⲿ -#define COMM_ALARM_HOT_SPARE 0x4006 //ȱ쳣N+1ģʽ쳣 -#define COMM_ALARM_V40 0x4007 //ƶ⣬ƵʧڵIOźȱϢϴΪɱ䳤 - -#define COMM_UPLOAD_HEATMAP_RESULT 0x4008 //ȶͼϴ 2014-03-21 -#define COMM_ALARM_DEVICE_V40 0x4009 //豸չ -#define COMM_ALARM_FACE_DETECTION 0x4010 //ⱨ -#define COMM_ALARM_TARGET_LEFT_REGION 0x4011 //Ŀ뿪򱨾(ʦѧ(л¼Ƽѧ)) -#define COMM_GISINFO_UPLOAD 0x4012 //GISϢϴ -#define COMM_VANDALPROOF_ALARM 0x4013 //ϴƻϢ -#define COMM_PEOPLE_DETECTION_UPLOAD 0x4014 //ԱϢϴ -#define COMM_ALARM_STORAGE_DETECTION 0x4015 //洢ܼⱨϴ -#define COMM_MVM_REGISTER 0x4016 //شŹMagnetic Vehicle Managerע -#define COMM_MVM_STATUS_INFO 0x4017 //شŹMagnetic Vehicle Manager״̬ϱ -#define COMM_UPLOAD_HEATMAP_RESULT_PDC 0x4018 //ȶͼͳϴ¼ -#define COMM_UPLOAD_HEATMAP_RESULT_DURATION 0x4019 //ȶͼԱͣʱͳϴ¼ -#define COMM_UPLOAD_HEATMAP_RESULT_INTERSECTION 0x4020 //·ڷȶֵϴ -#define COMM_UPLOAD_AIOP_VIDEO 0x4021 //豸֧AIƽ̨룬ϴƵ -#define COMM_UPLOAD_AIOP_PICTURE 0x4022 //豸֧AIƽ̨룬ϴͼƬ -#define COMM_UPLOAD_AIOP_POLLING_SNAP 0x4023 //豸֧AIƽ̨룬ϴѲץͼͼƬ ӦĽṹ(NET_AIOP_POLLING_PICTURE_HEAD) -#define COMM_UPLOAD_AIOP_POLLING_VIDEO 0x4024 //豸֧AIƽ̨룬ϴѲƵ ӦĽṹ(NET_AIOP_POLLING_VIDEO_HEAD) -#define COMM_UPLOAD_AIOP_HISTORY_VIDEO 0x4025 //豸֧AIƽ̨룬ϴʷƵ ӦĽṹ(NET_AIOP_HISTORY_VIDEO_HEAD) - - -#define COMM_ITS_ROAD_EXCEPTION 0x4500 //·豸쳣 -#define COMM_ITS_EXTERNAL_CONTROL_ALARM 0x4520 //ر -#define COMM_ALARM_SHIPSDETECTION 0x4521 // ֻⱨϢ - -#define COMM_VCA_DBD_ALARM 0x4550 //ʻΪϢ -#define COMM_VCA_ADAS_ALARM 0x4551 //߼ʻϢ -#define COMM_VEH_REALTIME_INFO 0x4552 //гʵʱϢ -#define COMM_VCA_ATTEND_ALARM 0x4553 //¼Ϣ - -#define COMM_FIREDETECTION_ALARM 0x4991 //ⱨ -#define COMM_ALARM_DENSEFOGDETECTION 0x4992 //ⱨϢ -#define COMM_VCA_ALARM 0x4993 //ܼⱨ -#define COMM_FACE_THERMOMETRY_ALARM 0x4994 //± - -#define COMM_TAPE_ARCHIVE_ALARM 0x4996 //Ŵ鵵 - -#define COMM_SCREEN_ALARM 0x5000 // -#define COMM_DVCS_STATE_ALARM 0x5001 //ֲʽϴ -#define COMM_ALARM_ACS 0x5002 //Ž -#define COMM_ALARM_FIBER_CONVERT 0x5003 //շ -#define COMM_ALARM_SWITCH_CONVERT 0x5004 // -#define COMM_ALARM_DEC_VCA 0x5010 //ܽ뱨 -#define COMM_ALARM_LCD 0x5011 //Ļ -#define COMM_CONFERENCE_CALL_ALARM 0x5012 //и澯 - -#define COMM_ALARM_WALL_CONFERNECE 0x5015 //MCUѿĻϢ - -#define COMM_DIAGNOSIS_UPLOAD 0x5100 //ϷVQDϴ -#define COMM_HIGH_DENSITY_UPLOAD 0x5101 //Աۼܶϴ - -#define COMM_ID_INFO_ALARM 0x5200 //֤Ϣϴ -#define COMM_PASSNUM_INFO_ALARM 0x5201 //ͨϱ -#define COMM_PASSPORT_ALARM 0x5202 //Ϣϴ - -#define COMM_THERMOMETRY_DIFF_ALARM 0x5211 //²ϴ -#define COMM_THERMOMETRY_ALARM 0x5212 //¶ȱϴ -#define COMM_PANORAMIC_LINKAGE_ALARM 0x5213 //ȫλϴ -#define COMM_TAG_INFO_ALARM 0x5215 // ǩϢϴ -#define COMM_ALARM_VQD 0x6000 //VQDϴ -#define COMM_PUSH_UPDATE_RECORD_INFO 0x6001 //ģʽ¼Ϣϴ -#define COMM_SWITCH_LAMP_ALARM 0x6002 //صƼ -#define COMM_INQUEST_ALARM 0x6005 // Ѷϴ -#define COMM_VIDEO_PARKING_POLE_ALARM 0x6006 //Ƶ׮ -#define COMM_GPS_STATUS_ALARM 0x6010 // GPS״̬ϴ -#define COMM_BASE_STATION_INFO_ALARM 0x6011 //վϢϴ -#define COMM_ALARM_SUBSCRIBE_EVENT 0x6012 //Ľϱ - -#define COMM_FACESNAP_RAWDATA_ALARM 0x6015 //ȶԱ͸ʽ -#define COMM_CLUSTER_ALARM 0x6020 //Ⱥϴ - -#define COMM_ISAPI_ALARM 0x6009 - -//PJ01C20170209084¼NVSܿĿר -#define COMM_FRAMES_PEOPLE_COUNTING_ALARM 0x6069 //֡ͳƽϴ - -#define COMM_SIGN_ABNORMAL_ALARM 0x6120 //쳣 -#define COMM_HFPD_ALARM 0x6121 //ƵԱⱨ - -#define COMM_HCU_ALARM 0x6150 //ܺӱSDKⲻʵ֣豸DVRͨЭ飬ռλֹͻ - -#define COMM_DEV_STATUS_CHANGED 0x7000 //豸״̬ı䱨ϴ - -#define COMM_ALARM_EXCEPTION 0x7fff //쳣 - -/*************쳣(Ϣʽ, صʽ())****************/ -#define EXCEPTION_EXCHANGE 0x8000 //ûʱ쳣 -#define EXCEPTION_AUDIOEXCHANGE 0x8001 //Խ쳣 -#define EXCEPTION_ALARM 0x8002 //쳣 -#define EXCEPTION_PREVIEW 0x8003 //Ԥ쳣 -#define EXCEPTION_SERIAL 0x8004 //͸ͨ쳣 -#define EXCEPTION_RECONNECT 0x8005 //Ԥʱ -#define EXCEPTION_ALARMRECONNECT 0x8006 //ʱ -#define EXCEPTION_SERIALRECONNECT 0x8007 //͸ͨ -#define SERIAL_RECONNECTSUCCESS 0x8008 //͸ͨɹ -#define EXCEPTION_PLAYBACK 0x8010 //ط쳣 -#define EXCEPTION_DISKFMT 0x8011 //Ӳ̸ʽ -#define EXCEPTION_PASSIVEDECODE 0x8012 //쳣 -#define EXCEPTION_EMAILTEST 0x8013 //ʼ쳣 -#define EXCEPTION_BACKUP 0x8014 //쳣 -#define PREVIEW_RECONNECTSUCCESS 0x8015 //Ԥʱɹ -#define ALARM_RECONNECTSUCCESS 0x8016 //ʱɹ -#define RESUME_EXCHANGE 0x8017 //ûָ -#define NETWORK_FLOWTEST_EXCEPTION 0x8018 //쳣 -#define EXCEPTION_PICPREVIEWRECONNECT 0x8019 //ͼƬԤ -#define PICPREVIEW_RECONNECTSUCCESS 0x8020 //ͼƬԤɹ -#define EXCEPTION_PICPREVIEW 0x8021 //ͼƬԤ쳣 -#define EXCEPTION_MAX_ALARM_INFO 0x8022 //ϢѴ -#define EXCEPTION_LOST_ALARM 0x8023 //ʧ -#define EXCEPTION_PASSIVETRANSRECONNECT 0x8024 //ת -#define PASSIVETRANS_RECONNECTSUCCESS 0x8025 //תɹ -#define EXCEPTION_PASSIVETRANS 0x8026 //ת쳣 -#define SUCCESS_PUSHDEVLOGON 0x8030 //ģʽ豸עɹ -#define EXCEPTION_RELOGIN 0x8040 //ûص½ -#define RELOGIN_SUCCESS 0x8041 //ûص½ɹ -#define EXCEPTION_PASSIVEDECODE_RECONNNECT 0x8042 // -#define EXCEPTION_CLUSTER_CS_ARMFAILED 0x8043 //Ⱥ쳣 - -#define EXCEPTION_RELOGIN_FAILED 0x8044 //ص½ʧܣֹͣص½ -#define EXCEPTION_PREVIEW_RECONNECT_CLOSED 0x8045 //رԤ -#define EXCEPTION_ALARM_RECONNECT_CLOSED 0x8046 //رձ -#define EXCEPTION_SERIAL_RECONNECT_CLOSED 0x8047 //ر͸ͨ -#define EXCEPTION_PIC_RECONNECT_CLOSED 0x8048 //رջ -#define EXCEPTION_PASSIVE_DECODE_RECONNECT_CLOSED 0x8049 //رձ -#define EXCEPTION_PASSIVE_TRANS_RECONNECT_CLOSED 0x804a //رձת -#define EXCEPTION_VIDEO_DOWNLOAD 0x804b // [add] by yangzheng 2019/11/09 ¼쳣 - -/********************Ԥص*********************/ -#define NET_DVR_SYSHEAD 1 //ϵͳͷ -#define NET_DVR_STREAMDATA 2 //ƵݣƵֿƵݣ -#define NET_DVR_AUDIOSTREAMDATA 3 //Ƶ -#define NET_DVR_STD_VIDEODATA 4 //׼Ƶ -#define NET_DVR_STD_AUDIODATA 5 //׼Ƶ -#define NET_DVR_SDP 6 //SDPϢ(RstpʱЧ) -#define NET_DVR_CHANGE_FORWARD 10 //ıΪ -#define NET_DVR_CHANGE_REVERSE 11 //ıΪ -#define NET_DVR_PLAYBACK_ALLFILEEND 12 //طļ -#define NET_DVR_VOD_DRAW_FRAME 13 //طų֡ -#define NET_DVR_VOD_DRAW_DATA 14 //϶ƽ -#define NET_DVR_HLS_INDEX_DATA 15 //HLS -#define NET_DVR_PLAYBACK_NEW_POS 16 //ط(ʱ䶨λNET_DVR_PLAYSETTIMENET_DVR_PLAYSETTIME_V50ӿڷسɹ󣬻ҪȴյûصͺſΪɹ) -#define NET_DVR_METADATA_DATA 107 //Metadata -#define NET_DVR_PRIVATE_DATA 112 //˽,Ϣ - -//豸ͺ(DVR) -/* 豸 */ -#define DVR 1 /*δdvrͷDVR*/ -#define ATMDVR 2 /*atm dvr*/ -#define DVS 3 /*DVS*/ -#define DEC 4 /* 6001D */ -#define ENC_DEC 5 /* 6001F */ -#define DVR_HC 6 /*8000HC*/ -#define DVR_HT 7 /*8000HT*/ -#define DVR_HF 8 /*8000HF*/ -#define DVR_HS 9 /* 8000HS DVR(no audio) */ -#define DVR_HTS 10 /* 8016HTS DVR(no audio) */ -#define DVR_HB 11 /* HB DVR(SATA HD) */ -#define DVR_HCS 12 /* 8000HCS DVR */ -#define DVS_A 13 /* ATAӲ̵DVS */ -#define DVR_HC_S 14 /* 8000HC-S */ -#define DVR_HT_S 15 /* 8000HT-S */ -#define DVR_HF_S 16 /* 8000HF-S */ -#define DVR_HS_S 17 /* 8000HS-S */ -#define ATMDVR_S 18 /* ATM-S */ -#define DVR_7000H 19 /*7000Hϵ*/ -#define DEC_MAT 20 /*·*/ -#define DVR_MOBILE 21 /* mobile DVR */ -#define DVR_HD_S 22 /* 8000HD-S */ -#define DVR_HD_SL 23 /* 8000HD-SL */ -#define DVR_HC_SL 24 /* 8000HC-SL */ -#define DVR_HS_ST 25 /* 8000HS_ST */ -#define DVS_HW 26 /* 6000HW */ -#define DS630X_D 27 /* · */ -#define DS640X_HD 28 /*640X*/ -#define DS610X_D 29 /*610X*/ -#define IPCAM 30 /*IP */ -#define MEGA_IPCAM 31 /*IP*/ -#define IPCAM_X62MF 32 /*862MFԽ9000豸*/ -#define ITCCAM 35 /*ܸ*/ -#define IVS_IPCAM 36 /*ܷ*/ -#define ZOOMCAM 38 /*һ*/ -#define IPDOME 40 /*IP */ -#define IPDOME_MEGA200 41 /*IP 200*/ -#define IPDOME_MEGA130 42 /*IP 130*/ -#define IPDOME_AI 43 /*IP ܿ*/ -#define TII_IPCAM 44 /*ȳ*/ -#define IPTC_DOME 45 /*ȳ˫Ŀ*/ -#define DS_2DP_Z 46 /*ӥۣ*/ -#define DS_2DP 47 /*ӥۣС*/ -#define ITS_WMS 48 /*ݹ*/ -#define IPMOD 50 /*IP ģ*/ -#define TRAFFIC_YTDOME 51 //̨ͨ״٣ -#define TRAFFIC_RDDOME 52 //̨ͨ״٣ -#define IDS6501_HF_P 60 // 6501 -#define IDS6101_HF_A 61 //ATM -#define IDS6002_HF_B 62 //˫٣DS6002-HF/B -#define IDS6101_HF_B 63 //ΪDS6101-HF/B DS6101-HF/B_SATA -#define IDS52XX 64 //ܷIVMS -#define IDS90XX 65 // 9000 -#define IDS8104_AHL_S_HX 66 // ʶ ATM -#define IDS8104_AHL_S_H 67 // ˽ʶ ATM -#define IDS91XX 68 // 9100 -#define IIP_CAM_B 69 // ΪIP -#define IIP_CAM_F 70 //IP -#define DS71XX_H 71 /* DS71XXH_S */ -#define DS72XX_H_S 72 /* DS72XXH_S */ -#define DS73XX_H_S 73 /* DS73XXH_S */ -#define DS72XX_HF_S 74 //DS72XX_HF_S -#define DS73XX_HFI_S 75 //DS73XX_HFI_S -#define DS76XX_H_S 76 /* DVR,e.g. DS7604_HI_S */ -#define DS76XX_N_S 77 /* NVR,e.g. DS7604_NI_S */ -#define DS_TP3200_EC 78 /*ܼ*/ -#define DS81XX_HS_S 81 /* DS81XX_HS_S */ -#define DS81XX_HL_S 82 /* DS81XX_HL_S */ -#define DS81XX_HC_S 83 /* DS81XX_HC_S */ -#define DS81XX_HD_S 84 /* DS81XX_HD_S */ -#define DS81XX_HE_S 85 /* DS81XX_HE_S */ -#define DS81XX_HF_S 86 /* DS81XX_HF_S */ -#define DS81XX_AH_S 87 /* DS81XX_AH_S */ -#define DS81XX_AHF_S 88 /* DS81XX_AHF_S */ -#define DS90XX_HF_S 90 /*DS90XX_HF_S*/ -#define DS91XX_HF_S 91 /*DS91XX_HF_S*/ -#define DS91XX_HD_S 92 /*91XXHD-S(MD)*/ -#define IDS90XX_A 93 // 9000 ATM -#define IDS91XX_A 94 // 9100 ATM -#define DS95XX_N_S 95 /*DS95XX_N_S NVR κ*/ -#define DS96XX_N_SH 96 /*DS96XX_N_SH NVR*/ -#define DS90XX_HF_SH 97 /*DS90XX_HF_SH */ -#define DS91XX_HF_SH 98 /*DS91XX_HF_SH */ -#define DS_B10_XY 100 /*Ƶۺƽ̨豸ͺ(X:ƬY:Ƭ)*/ -#define DS_6504HF_B10 101 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B10 102 /*Ƶۺƽ̨ڲ*/ -#define DS_1832_B10 103 /*Ƶۺƽ̨ڲ*/ -#define DS_6401HFH_B10 104 /*Ƶۺƽ̨ڲ˰*/ -#define DS_65XXHC 105 //65XXHC DVS -#define DS_65XXHC_S 106 //65XXHC-SATA DVS -#define DS_65XXHF 107 //65XXHF DVS -#define DS_65XXHF_S 108 //65XXHF-SATA DVS -#define DS_6500HF_B 109 //65 rack DVS -#define IVMS_6200_C 110 // iVMS-6200(/C) -#define IVMS_6200_B 111 // iVMS-6200(/B) -#define DS_72XXHV_ST15 112 //72XXHV_ST ˼3515ƽ̨ DVR -#define DS_72XXHV_ST20 113 //72XXHV_ST ˼3520ƽ̨ DVR -#define IVMS_6200_T 114 // IVMS-6200(/T) -#define IVMS_6200_BP 115 // IVMS-6200(/BP) -#define DS_81XXHC_ST 116 //DS_81XXHC_ST -#define DS_81XXHS_ST 117 //DS_81XXHS_ST -#define DS_81XXAH_ST 118 //DS_81XXAH_ST -#define DS_81XXAHF_ST 119 //DS_81XXAHF_ST -#define DS_66XXDVS 120 //66XX DVS - -#define DS_1964_B10 121 /*Ƶۺƽ̨ڲ*/ -#define DS_B10N04_IN 122 /*Ƶۺƽ̨ڲ*/ -#define DS_B10N04_OUT 123 /*Ƶۺƽ̨ڲ*/ -#define DS_B10N04_INTEL 124 /*Ƶۺƽ̨ڲ*/ -#define DS_6408HFH_B10E_RM 125 //V6 -#define DS_B10N64F1_RTM 126 //V6DSP -#define DS_B10N64F1D_RTM 127 //V6DSP -#define DS_B10_SDS 128 //Ƶۺƽ̨ -#define DS_B10_DS 129 //Ƶۺƽ̨ -#define DS_6401HFH_B10V 130 //VGA -#define DS_6504D_B10B 131 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B10H 132 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B10V 133 /*Ƶۺƽ̨ڲVGA*/ -#define DS_6408HFH_B10S 134 //Ƶۺƽ̨SDIӰ -#define DS_18XX_N 135 /* */ -#define DS_6504HF_B10F_CLASS 136 //˻SD -#define DS_18XX_PTZ 141 /*Ʒ*/ -#define DS_19AXX 142 /*ͨñƷ*/ -#define DS_19BXX 143 /*ñ*/ -#define DS_19CXX 144 /*б*/ -#define DS_19DXX 145 /*ر*/ -#define DS_19XX 146 /*1900ϵб*/ -#define DS_19SXX 147 /*Ƶ*/ -#define DS_1HXX 148 /*CSƷ*/ // -#define DS_PEAXX 149 /*һʽƷ*/ -#define DS_PWXX 150 /*߱Ʒ*/ -#define DS_PMXX 151 /*4Gģ*/ -#define DS_19DXX_S 152 /*Ƶ*/ -#define DS_PWAXX 153 /* Axiom Hub߱ */ -#define DS_PHAXX 154 /* Axiom Hybridϱ */ -#define DS_PHAProXX 155 /* Axiom Hybrid Proϱ*/ - - -//2011-11-30 -#define DS_C10H 161 /**/ -#define DS_C10N_BI 162 //BNC -#define DS_C10N_DI 163 //rbg -#define DS_C10N_SI 164 // -#define DS_C10N_DO 165 //ʾ -#define DS_C10N_SERVER 166 //ֲʽ - - -#define IDS_8104_AHFL_S_H 171 // 8104ATM -#define IDS_65XX_HF_A 172 // 65 ATM -#define IDS90XX_HF_RH 173 // 9000 RH -#define IDS91XX_HF_RH 174 // 9100 RH豸 -#define IDS_65XX_HF_B 175 // 65 Ϊ -#define IDS_65XX_HF_P 176 // 65 ʶ -#define IVMS_6200_F 177 // IVMS-6200(/F) -#define IVMS_6200_A 178 //iVMS-6200(/A) -#define IVMS_6200_F_S 179 // IVMS-6200(/F_S) - -#define DS90XX_HF_RH 181 // 9000 RH 648 -#define DS91XX_HF_RH 182 // 9100 RH豸 648 -#define DS78XX_S 183 // 78ϵ豸 6446 -#define DS81XXHW_S 185 // 81 Resolution 960 KY2011 -#define DS81XXHW_ST 186 // DS81XXHW_ST KY2011 -#define DS91XXHW_ST 187 // DS91XXHW_ST KY2011 -#define DS91XX_ST 188 // DS91XX_ST netra -#define DS81XX_ST 189 // DS81XX_ST netra -#define DS81XXHX_ST 190 // DS81XXHDI_ST,DS81XXHE_ST ky2012 -#define DS73XXHX_ST 191 // DS73XXHI_ST ky2012 -#define DS81XX_SH 192 // Ѷ81SH,81SHF -#define DS81XX_SN 193 // Ѷ81SNL - -#define DS96XXN_ST 194 //NVR:DS96xxN_ST -#define DS86XXN_ST 195 //NVR:DS86xxN_ST -#define DS80XXHF_ST 196 //DVR:DS80xxHF_ST -#define DS90XXHF_ST 197 //DVR:DS90xxHF_ST -#define DS76XXN_ST 198 //NVR:DS76xxN_ST - -#define DS_9664N_RX 199 //NVR:DS_9664N_RX -#define ENCODER_SERVER 200 // 뿨 -#define DECODER_SERVER 201 // 뿨 -#define PCNVR_SERVER 202 // PCNVR洢 -#define CVR_SERVER 203 // ŵCVRԼΪDVR_S-1 -#define DS_91XXHFH_ST 204 // 91ϵHD-SDIDVR -#define DS_66XXHFH 205 // 66 -#define TRAFFIC_TS_SERVER 210 //ն˷ -#define TRAFFIC_VAR 211 //Ƶ¼ -#define IPCALL 212 //IPӶԽֻ -#define SAN_SERVER 213 //CVR_SERVERͬijֻģʽͬ - -#define DS_B11_M_CLASS 301 /*Ƶۺƽ̨豸ͺ*/ -#define DS_B12_M_CLASS 302 /*Ƶۺƽ̨豸ͺ*/ -#define DS_6504HF_B11_CLASS 303 /*Ƶۺƽ̨ڲ*/ -#define DS_6504HF_B12_CLASS 304 /*Ƶۺƽ̨ڲ*/ -#define DS_6401HFH_B11V_CLASS 305 //VGA -#define DS_6401HFH_B12V_CLASS 306 //VGA -#define DS_6408HFH_B11S_CLASS 307 //SDI -#define DS_6408HFH_B12S_CLASS 308 //SDI -#define DS_6504D_B11H_CLASS 309 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B11B_CLASS 310 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B12B_CLASS 311 /*Ƶۺƽ̨ڲ*/ -#define DS_6504D_B11V_CLASS 312 /*Ƶۺƽ̨ڲVGA*/ -#define DS_6504D_B12V_CLASS 313 /*Ƶۺƽ̨ڲVGA*/ -//B10 -#define DS_6401HFH_B10R_CLASS 314 //B10 RGB -#define DS_6401HFH_B10D_CLASS 315 //B10 DVI -#define DS_6401HFH_B10H_CLASS 316 //B10 HDMI -//B11 -#define DS_6401HFH_B11R_CLASS 317 //B11 RGB -#define DS_6401HFH_B11D_CLASS 318 //B11 DVI -#define DS_6401HFH_B11H_CLASS 319 //B11 HDMI -//B12 -#define DS_6401HFH_B12R_CLASS 320 //B12 RGB -#define DS_6401HFH_B12D_CLASS 321 //B12 DVI -#define DS_6401HFH_B12H_CLASS 322 //B12 HDMI -#define DS_65XXD_B10Ex_CLASS 323 //netra - -//B10 V2.1 -#define DS_6516HW_B10_CLASS 324 //netra߱ -#define DS_6401HFH_B10F_RX_CLASS 326 //˻루֧1/2·˻룩 -#define DS_6502HW_B10F_RX_CLASS 327 //960H˻루֧1/4/8·˻룩 -//2012-5-16 -#define DS_6504D_B11Ex_CLASS 328 //netra -#define DS_6504D_B12Ex_CLASS 329 //netra -#define DS_6512_B11_CLASS 330 //netra߱ -#define DS_6512_B12_CLASS 331 //netra߱ -#define DS_6504D_B10H_CLASS 332 //Ƶۺƽ̨ڲ - -#define DS_65XXT_B10_CLASS 333 //Ƶۺƽ̨תϵͳ -#define DS_65XXD_B10_CLASS 335 //Ƶۺƽ̨ܽ -#define DS_IVMSE_B10X_CLASS 336 //X86ϵͳ -#define DS_6532D_B10ES_CLASS 337 //ǿͽ_SDI(B10) -#define DS_6508HFH_B10ES_CLASS 338 //SDIϵͳ -#define DS_82NCG_CLASS 340 //еϵͳ -#define DS_82VAG_CLASS 341 //еϵͳ -#define DS_1802XXF_B10_CLASS 342 //ڽϵͳ -#define iDS_6504_B10EVAC_CLASS 343 //ϵͳ -#define iDS_6504_B10EDEC_CLASS 344 //ϵͳ -#define DS_6402HFH_B10EV_CLASS 345 //netra(VGA) -#define DS_6402HFH_B10ED_CLASS 346 //netra(DVI) -#define DS_6402HFH_B10EH_CLASS 347 //netra(HDMI) -#define DS_6404HFH_B10T_RX_CLASS 348 //˽ -#define DS_6504D_AIO_CLASS 349 //netra -#define DS_IVMST_B10_CLASS 350 //X86תϵͳ -#define DS_6402_AIO_CLASS 351 //netra -#define DS_iVMSE_AIO_CLASS 352 //x86ϵͳ -#define DS_AIO_M_CLASS 353 //һ - - -#define DS_6508HF_B10E_CLASS 355 //BNCϵͳ -#define DS_6404HFH_B10ES_CLASS 356 //SDIϵͳ -#define DS_6402HFH_B10ER_CLASS 358 //RGBϵͳ -#define DS_6404HFH_B10T_RM_CLASS 361 //ϵͳ -#define DS_6516D_B10EB_CLASS 362 //BNCϵͳ -#define DS_6516D_B10ES_CLASS 363 //SDIϵͳ - -//DVI/HDMI/VGAԽ빫һ -#define DS_6508D_B10FH_CLASS 364 -#define DS_6508D_B10FD_CLASS 364 -#define DS_6508D_B10FV_CLASS 364 - -#define DS_6508_B11E_CLASS 365 //BNCϵͳ -#define DS_6402_B11ES_CLASS 366 //SDIϵͳ -#define DS_6402_B11EV_CLASS 367 //VGAϵͳ -#define DS_6402_B11ER_CLASS 368 //RGBϵͳ -#define DS_6402_B11ED_CLASS 369 //DVIϵͳ -#define DS_6402_B11EH_CLASS 370 //HDMIϵͳ -#define DS_6516D_B11EB_CLASS 371 //BNCϵͳ -#define DS_6516D_B11ES_CLASS 372 //SDIϵͳ - -#define DS_6508_B12E_CLASS 373 //BNCϵͳ -#define DS_6402_B12ES_CLASS 375 //SDIϵͳ -#define DS_6402_B12EV_CLASS 376 //VGAϵͳ -#define DS_6402_B12ER_CLASS 377 //RGBϵͳ -#define DS_6402_B12ED_CLASS 378 //DVIϵͳ -#define DS_6402_B12EH_CLASS 379 //HDMIϵͳ -#define DS_6516D_B12EB_CLASS 380 //BNCϵͳ - -#define DS_iVMSE_AIO_8100x_CLASS 381 //ҵһX86ϵͳ -#define DS_iVMSE_AIO_87x_CLASS 382 //¥һX86ϵͳ -#define DS_6532D_B11ES_CLASS 384 //ǿͽ_SDI(B11) -#define DS_6532D_B12ES_CLASS 385 //ǿͽ_SDI(B12) -//B20 -#define DS_B20_MSU_NP 400 //B20ذ -#define DS_6416HFH_B20S 401 //SDI -#define DS_6416HFH_B20_RM 402 // -#define DS_6564D_B20D 403 //DVI -#define DS_6564D_B20H 404 //HDMI -#define DS_6564D_B20V 405 //VGA -#define DS_B20_6516D_DEV_CLASS 406 //B20ϵͳ -#define DS_6408HFH_B20V 407 //VGA -#define DS_MMC_B20_CLASS 408 //B20 -#define DS_CARD_CHIP_B20_CLASS 409 //B20Ӱ -#define DS_6564D_B20B_DEV_CLASS 410 //BNCϵͳ -#define DS_6564D_B20S_DEV_CLASS 411 //SDIϵͳ -#define DS_6532HF_B20B_DEV_CLASS 412 //BNCϵͳ -#define DS_6408HFH_B20D_DEV_CLASS 413 //DVIϵͳ -#define DS_6408HFH_B20H_DEV_CLASS 414 //HDMIϵͳ -#define DS_IVMSE_B20_CLASS 415 //X86ϵͳ -#define DS_6402HFH_B20Y_DEV_CLASS 416 //YUVϵͳ -#define DS_6508HW_B20_DEV_CLASS 417 //HWϵͳ -#define DS_B20N128Fx_B20_DEV_CLASS 418 //DS_B20N128Fx_M -#define DS_AIO_MCU_NP_DEV_CLASS 419 //IOذ -#define DS_6402_AIO_EV_DEV_CLASS 420 //VGA -#define DS_6508D_AIO_EV_DEV_CLASS 421 //VGA -#define DS_6508D_AIO_ED_DEV_CLASS 422 //DVI -#define DS_6508D_AIO_EH_DEV_CLASS 423 //HDMI -#define DS_6508HD_B20F_DEV_CLASS 424 //Ƶǿ -#define DS_6402HFH_B20ES_DEV_CLASS 425 //3G SID -#define DS_6532D_B20_DEV_CLASS 426 //B20ϵͳ -#define DS_IVMST_B20_DEV_CLASS 427 //X86ϵͳ -#define DS_6416HFH_B20DD_DEV_CLASS 428 //DVI˫· -#define DS_6441VS_B20_DEV_CLASS 429 //ƴ -#define DS_6404HFH_B20T_CLASS 431 //TVI -#define DS_FS22_B20_DEV_CLASS 432 //ϵͳ -#define DS_IVMSE_B20UH_DEV_CLASS 433 //X86 -#define IDS_6524J_B20_DEV_CLASS 434 -#define IDS_6532B_B20_DEV_CLASS 435 -#define DS_6404HFH_B20Fx_DEV_CLASS 436 //˻ϵͳ -#define DS_N128x_B20Fy_CLASS 437 //ϵͳ -#define DS_181600F_B20_CLASS 438 //ϵͳ -#define DS_6904UD_B20H_CLASS 439 //ϵͳ - -#define DS_B21_MCU_NP_CLASS 440 //B21 -#define DS_B21_S10_x_CLASS 441 //B21 x = A/S/D -#define DS_6402HFH_B21D_CLASS 442 //B21ϵͳ -#define DS_6508HD_B21D_CLASS 443 //B21ϵͳ -#define DS_iVMSE_B21HW_CLASS 444 //B21 X86ϵͳ - -#define DS_C10S 501 //C10S ʽ -#define DS_C3X 502 //ʽƴӿ - -#define DS_C10N_SDI 551 //SDI -#define DS_C10N_BIW 552 //8·BNC -#define DS_C10N_DON 553 //ʾ -#define DS_C10N_TVI 554 //TVI -#define DS_C10N_DI2 555 //DVI 2· -#define DS_C10N_AUDIO_OUT 556 //DVIHDMIVGAƵ -#define DS_C10N_AUDIO_IN 557 //DVIHDMIVGAƵ - -//汾ķֲʽ -#define DS_C20N 570 //ֲʽ -#define DS_C20N_BNC 571 //BNC豸 -#define DS_C20N_DVI 572 //DVI豸 -#define DS_C20N_DP 573 //DP豸 -#define DS_C20N_OUT 574 //豸 - -//ʽ 5301 - 5350 50 -#define DS_C30 5301 //C30ʽƴӿ -#define DS_C31 5302 //C31ʽƴӿ -#define DS_M0804 5303 //M0804ƴӿ - -//Ӳ汾ķֲʽ -#define DS_C20N_VWMS 5351 //C20N -#define DS_C20N_DI2 5352 //·DVI豸 -#define DS_C20N_DO2 5353 //·DVI豸 -#define DS_C20N_UHDI 5354 //DP/HDMI 1·4K豸 -#define DS_C20N_YI2 5355 //·YPbPr - -#define DS_C12N_VWMS 5356 //C12N -#define DS_C12N_DO 5357 //1·DVI -#define DS_C12N_HOE 5358 //1·HDMI 4K - -#define DS_C20N_HI2 5359 // HDMIڵ(2·) -#define DS_C20N_VI2 5360 //VGAڵ(2·) -#define DS_C20N_SI2 5361 //SDIڵ(2·) -#define DS_C20N_HO2 5362 //HDMIڵ(2·) -#define DS_C20N_S24G 5363 //C20Nרǧ׽(24·) -#define DS_C20N_S24X 5364 //C20Nר׽(24·) -#define DS_C12A_0104H 5365 //ƴӿ -#define DS_C20N_DO2_V2 5366 //·DVI豸V2 -#define DS_C20N_HO2_V2 5367 //·HDMI豸V2 -#define DS_C21N 5368 //ֲʽ -#define DS_C21K 5369 //ϯKVMϵͳC21 -#define DS_68TS_A 5370 //һ -#define DS_C22N_UHDI 5371 //4K60豸(1·) -#define DS_C21N_UHDI_T 5372 //1·4K60ڵ -#define DS_C22N_HI1 5373 //1·HDMI -#define DS_C22N_HO1 5374 //1·HDMI - - -//ȫϢʾ豸 -#define DS_D1HXX 5591 //ȫϢʾ豸 -#define DS_60SDL_X 5592 //Windows˫ն -#define DS_6043DL_B 5593 //׿˫43ն -#define DS_6049DL_B 5594 //׿˫49ն -#define DS_6055DL_B 5595 //׿˫55ն - -//ߴ豸 -#define ELEVATO_BRIDGE 5751 //ߵ -#define DS_3WF01S_5NG_M 5752 //5.8G1߹ -#define DS_3WF0EC_2N_D 5753 //2.4G500 -#define DS_3WF0EC_5ACT 5754 //5.8G 11ac -#define DS_3WF03S_5AC 5755 //5.8G 3ᆳ -#define DS_3WF0ES_5AC_H 5756 //5.8G500׸ߴ͸ -#define DS_3WF05S_5AC_H 5765 //5.8G 5KMǧڲ -#define DS_3WSXXX 5766 //·ϵУAC -#define DS_3WAXXX 5767 //APϵ -#define DS_3WAXXXP 5768 //APϵ -#define DS_3WRXXX 5769 //ͨ·ϵ -#define DS_3WMRXXX 5770 //MESH·ϵ -#define DS_3WAX18 5881 //AP - -//豸 -#define DS_3CXXXX 5891 //ͳһƽ̨ - - -//豸 -#define DS_19M00_MN 601 //ģ -#define DS_KH8302_A 602 //ڻ -#define DS_KD8101_2 603 //ſڻ -#define DS_KM8301 604 // -#define DS_KVXXXX_XX 605 //ſڻ -#define DS_LHPM1D_C 606 //Ƶ -#define DS_KAM03 607 //תģ -#define DS_KDXXX 608 //ܽնˣҵDS-KD9623-F-JPDS-KD9623-FC-JPDS-KD9803-F-JPҽҵDS-KD9803-3XF5G-HIDS-KD9803-3XFW-HIDS-KD9803-W-HI - -#define DS64XXHD_T 701 //64-T -#define DS_65XXD 703 //65ܽ -#define DS63XXD_T 704 //63-T -#define SCE_SERVER 705 //ץ -#define DS_64XXHD_S 706 //64XXHD-S -#define DS_68XXT 707 //๦Ƶת -#define DS_65XXD_T 708 //65D-Tܽ -#define DS_65XXHD_T 709 //65HD-Tܽ -#define DS_69XXUD 710 //69XXUD -#define DS_65XXUD 711 //65XXUD -#define DS_65XXUD_L 712 //65XXUD_L -#define DS_65XXUD_T 713 //65XXUD_T - - -#define DS_D20XX 750 //LCDĻ 뿨 -//SDI -#define DS_C50S 751 //SDI -#define DS_D50XX 752 //LCDĻ 뿨 - -#define DS_D40 760 //LEDͿ - -#define DS_65VMXX 770 //Ƶ -#define DS_65VTXX 771 //Ƶն -#define DS_65VTA 772 //Ƶһʽն -#define DS_65VT_RX 773 //ѧն -#define DS_65VM_MCU_NP 774 //MCU - - -#define DS_CS_SERVER 800 // -#define DS_68GAP_MCU 831 //Ƶբ -#define DS_K260X 850 //Ž -#define DS_K1TXXX 851 //ָһ -#define DS_K280X 852 //Ž -#define DS_K1T80X 854 //Žһ -#define RAC_6X00 856 //ָŽһ -#define DS_K2602_AX 857 //Աͨ -#define DS_K1T803F 858 //ָŽƷ -#define DS_K2700 859 //ֲʽܹŽ -#define DS_K270X 860 //ֲʽܹ͵ؿ -#define DS_K1T500S 861 //Žһ -#define DS_K1A801F 862 //ָŽƷ -#define DS_K1T600X 863 //ʶŽһ -#define DS_K22X 864 //ݿ -#define DS_K2M0016AX 865 //ݿطֿ -#define DS_K2602S_AX 867 //ԱͨƷ -#define DS_K560XX 870 //ʽ/̨ʽʶն -#define DS_K260X_E 873 //ͶŽ -#define DS_K5603X 874 //̨ʽ/ڹʽǶʽ֤豸 -#define DS_K3M200X 875 //Ȩ޿ -#define DS_K3M100X 879 //ͨ -#define DS_K1T8101XT 881 //ʶŽһ -#define DS_K1T8101XX 882 //ʶŽһ -#define DS_K5604 883 //5604֤豸 -#define DS_K1T607XXXX 884 //жŽһDS_K1T607M/MF/E/EF/MG/MFG?MW/MFW/TM/TMF/TE/TEF/TMG/TMFG/TMW/TMFW -#define DS_K1A850X 885 //Ͷ˾ָƿڻ -#define DS_K1T800X 886 //Ͷ˾ָŽһ -#define DS_K1T610XXXX 887 //жŽһDS_K1T610M/MF/E/EF/MG/MFG?MW/MFW/TM/TMF/TE/TEF/TMG/TMFG/TMW/TMFW -#define DS_K1T8115X 888 //DS-K1T8115DS-K1T8115MDS-K1T8115M-Z ʶһ -#define DS_K1T815LC_M 889 //ʶһ -#define DS_K1T606M_Z 890 //ʶһ -#define DS_K5607_XXX 891 //K5607ᱡͨ -#define DS_K1T950MX 893 //ָŽһ -#define DS_K1T331XX 894 //ͶŽһ -#define DS_K1T671T 895 //Žһ -#define DS_K1T671 896 //Žһ -#define DS_K5671 897 //ᱡͨ -#define DS_K1T640 898 //4.3Žһ -#define DS_K1A802A 899 //ָƿڻ - -#define DS_6800M 900 //68M -#define DS_68NTH 901 //Ϣ -#define DS_D60S 902 //Ϣ -#define DS_D60W 903 //ϢWindowsն -#define DS_D10 931 //Ͷʾ豸 -#define DS_3K0X_NM 951 //շ -#define DS_3E2328 952 //׽ -#define DS_3E1528 953 //ǧ׽ -#define SCREEN_LINK_SERVER 971 //Ļ -#define DS_D51OPSXX 972 //OPSԺ -//һ廯̨ -#define IP_PTSYS_MEGA200 1001 //IP 200һ廯̨ -#define IPCAM_FISHEYE 1002 // -#define IPCAM_FISHEYE_E 1003 // - -//68xxϵ˫Ŀ3D -#define IPCAM_BINOCULAR 1004 //˫Ŀ - -#define IPCAM_365 1010 //֧365ƽ̨IPC CAM -#define IPCAM_R0 1011 //֧A5Sƽ̨IPC CAM -#define IPCAM_R1 1012 //֧385ƽ̨IPC CAM -#define IPCAM_R2 1013 //֧R2ƽ̨IPC CAM -#define IPCAM_R3 1014 //֧8127ƽ̨IPC CAM -#define IPCAM_R4 1015 //֧S2ƽ̨IPC CAM - -#define IPDOME_365 1110 //֧365ƽ̨IPD CAM -#define IPDOME_R0 1111 //֧A5Sƽ̨IPD CAM -#define IPDOME_R1 1112 //֧385ƽ̨IPD CAM -#define IPDOME_R2 1113 //֧R2ƽ̨IPD CAM -#define IPDOME_R3 1114 //֧8127ƽ̨IPD CAM -#define IPDOME_R4 1115 //֧S2ƽ̨IPD CAM -#define ITCCAM_R3 1211 //֧8127ƽ̨ITCCAM - -//˻ҵ豸1300~1350 -#define UAV_S 1300 //˻վ豸 Ummanned Aerial Vehicle C Station - -//豸 2013-11-19 -#define TRAFFIC_ECT 1400 //ECT豸 -#define TRAFFIC_PARKING_SERVER 1401 //ͣ -#define TRAFFIC_TME 1402 //ڿƻ -// DVR -#define DS90XXHW_ST 2001 // DS90XXHW_STDVR -#define DS72XXHX_SH 2002 // DS-72xxHV_SH, DS-72xxHF-SH -#define DS_92XX_HF_ST 2003 // DS-92XX-HF-ST -#define DS_91XX_HF_XT 2004 // 9100DVR_HF_XT -#define DS_90XX_HF_XT 2005 // 9000DVR_HF_XT -#define DS_73XXHX_SH 2006 // 7300DVR_HX_SH -#define DS_72XXHFH_ST 2007 // 7200DVR_HFH_ST -//DS_67ϵ - -#define DS_67XXHF_SATA 2008 // DS-67XXHF-SATA -#define DS_67XXHW 2009 // DS-67XXHW -#define DS_67XXHW_SATA 2010 // DS-67XXHW-SATA -#define DS_67XXHF 2011 // DS-67XXHF - -//Netra2.3 -#define DS_72XXHF_SV 2012 // DS-72xxHF-SV -#define DS_72XXHW_SV 2013 // DS-72xxHW-SV - -#define DS_81XXHX_SH 2014 // 8100DVR_HX_SH - -#define DS_71XXHX_SL 2015 //СDVR - -#define DS_76XXH_ST 2016 //DS_76XXH_ST - - -#define DS_73XXHFH_ST 2017 //73HFHϵ -#define DS_81XXHFH_ST 2018 //81HFHϵ ST - -#define DS_72XXHFH_SL 2019 //hi3521 -#define DS_FDXXCGA_FLT 2020 //2λATM - -#define IDS_91XX_HF_ST_A 2100 //iDS-9100HF-ST/A -#define IDS_91XX_HF_ST_B 2101 //iDS-9100HF-ST/B -#define IDS_90XX_HF_ST_A 2102 //iDS-9000HF-ST/A -#define IDS_90XX_HF_ST_B 2103 //iDS-9000HF-ST/B -#define IDS_81XX_HF_ST_A 2104 //iDS-8100HF-ST/A -#define IDS_81XX_HF_ST_B 2105 //iDS-8100HF-ST/B -#define IDS_80XX_HF_ST_A 2106 //iDS-8000HF-ST/A -#define IDS_80XX_HF_ST_B 2107 //iDS-8000HF-ST/B -#define IDS_8104_AHFL_ST 2108 //ܻATM -#define IDS_2CD6812F_C 2109 //ֱ˫Ŀ - - -// NVR -#define DS_77XXN_ST 2201 // NVR DS-77XXHF-ST -#define DS_95XX_N_ST 2202 // 95XXN_ST NVR -#define DS_85XX_N_ST 2203 // 85XXN_ST NVR -#define DS_96XX_N_XT 2204 // 9600NVR_N_XT -#define DS_76XX_N_SE 2205 // 7600NVR_N_SE - -//Ѷ -#define DS_86XXSN_SX 2206 // 8608NVR_SX4DS-8608SNL-SPDS-8608SNL-STDS-8608SN-SPDS-8608SN-STLʾLCDPPOE - -//#define DS_96XX_N_RX 2207 //DS-96XX-N-RX -#define DS_71XXN_SL 2208 //DS-71XXN-SL òƷ -#define CS_N1_1XX 2209 //CS_N1_1XXҵ - -#define DS_71XXN_SN 2210 //71XX_N_SN òƷ -#define CS_N1_2XX 2211 //N1_2XX ҵ -#define DS_76XX_N_SHT 2212 //76XX_N_SHT ˻߲Ʒ -#define DS_96XXX_N_E 2213 //NVR(256) - -#define DS_76XXN_EX 2214 /* 76 78ϵNVRע 4 8 16·E1һλ 8 16 32· E2λ /N /P豸*/ -#define DS_77XXN_E4 2215/* 77ϵNVR ע8 16 32· /N /P豸*/ -#define DS_86XXN_E8 2216/* 86ϵNVR ע8 16 32· /N /P豸*/ -#define DS_9616N_H8 2217 //DS_9616N_H8 -#define DS_72XXHX_EX_GXY 2218 //ʾ72ϵDVRƷ72xxʾͨHXĿǰHW,Ϊ˺չEXʾλG XYʾ -#define DS_76XXN_EX_GXY 2219 //ʾ76ϵNVRƷ76xxʾͨEXʾλG XYʾ -#define DS_72XXHXH_SH_21 2220 // 72XXHXH_SH_21 -#define DS_72XXHXH_SH_31 2221 // 72XXHXH_SH_31 -#define DS_73XXHXH_SH_31 2222 // 73XXHXH_SH_31 -#define DS_81XXHXH_SH_31 2223 // 81XXHXH_SH_31 -#define DS_71XXHXH_SH_21 2224 // 71XXHXH_SH_21 -#define DS_71XXHXH_SH_31 2225 // 71XXHXH_SH_31 -#define DS_NBXX_N_E1_X 2226 //Яʽ -#define DS_96XXN_FX 2230 -#define DS_86XXN_FX 2231 -#define DS_96XXXN_HX 2232 //96ϵи豸 - - -#define DS_86XXN_I 2233 //DS_86XXN_I -#define DS_77XX_N_I 2234 //DS_77XX_N_I -#define DS_76XX_N_I 2235 //DS_76XX_N_I -#define DS_78XX_N_I 2236 //DS_78XX_N_I -#define DS_96XXXN_IX 2237 //DS-96XXX_N_IDS-96128N-I16DS-96128N-I24DS-96256N-I16DS-96256N-I24 - -#define DS_90XXHXH_XT 2238 //DS_90XXHXH_XTDS-9016HQH-XT - -#define DS_NVR_ALL 2239 //NVR豸ͳһ룬NVRƷѶϵУʹDS_NVR_ALL -#define DS_DVR_ALL 2240 //DVR豸ͳһ룬DVRƷѶϵУʹDS_DVR_ALL - -//PCNVR -#define PCNVR_IVMS_4200 2301 // PCNVR_IVMS_4200 - - -//ܷ -#define IVMS_6200_TP 2401 //IVMS-6200 ͨյ -#define IVMS_6200_TF 2402 //IVMS-6200 ͨȡ֤ -#define IVMS_6200_D 2403 //iVMS-6200(/D) -#define IDS_81XXAHW_ST 2405 //iDS-81xxAHW-ST -#define IDS_81XXAHW_SP 2406 //iDS-81xxAHW-SP -#define IDS_81XXAHWL_ST 2407 //iDS-81xxAHWL-ST -#define IDS_81XXAHWL_SP 2408 //iDS-81xxAHWL-SP -#define IDS_9616N_H8 2409 //iDS_9616N_H8 -#define IVMS_6200_SMD 2500 //IVMS_6200_SMD -//HISI3531ƽ̨ATM DVR LʾҺPʾpoe -#define DS_81XXAHW_ST 2501 -#define DS_81XXAHW_SP 2502 -#define DS_81XXAHWL_ST 2503 -#define DS_81XXAHWL_SP 2504 - -//TVI ATM -#define DS_81XXAHGH_E4 2601 //DS_81XXAHGH_E4 - -/************************************************************************/ -/* ʾƷ豸startϵ豸ͣ */ -/************************************************************************/ - -/** B20ϵУ4001-4100 */ - -#define DS_6904UD_AIOE_H_CLASS 4002 //B20һ -#define DS_6402HFH_B21B_CLASS 4005 //B21 -#define DS_6902UD_B21H_CLASS 4006 //B21 HDMI -#define DS_6902UD_B21D_CLASS 4007 //B21 DVI -#define DS_6902UD_B21V_CLASS 4008 //B21 VGA -#define DS_6904UD_B20D_CLASS 4010 //B20 DVI -#define DS_6904UD_B20V_CLASS 4011 //B20 VGA -#define DS_B30_MCU 4012 //B30ذ -#define DS_B30_SW 4013 //B30 -#define DS_B30_04XI 4014 //B30 -#define DS_B30_04XO 4015 //B30 -#define DS_B31 4016 //B31һ - -//B21һ豸ͺ -#define DS_AIOH_MCU_NP 4042 //ذ -#define DS_6404HFH_AIOH_D 4043 //4·DVI -#define DS_6908UD_AIOH_D 4044 //4·DVI -#define DS_6908UD_AIOH_H 4045 //4·HDMI - -//һ豸ͺ -#define DS_69XXUD_B 4046 //һ -#define DS_6404HFH_I 4047 //4·DVI -#define DS_6904UD_O 4048 //8·HDMI - - -//ʽƴ -#define DS_C12L_0204H 4060 //Сƴ - -//ARһ 4101 - 4120 20 -#define DS_D1A24FDI 4101 //ARһ - -//5001-5050 -#define DS_69XXHD 5001 //69XXHD -#define DS_69UD_V2 5002 //69UDV2 -#define DS_69UD_T 5003 //6볬 -#define DS_6AUD 5004 // - -//ת 5401 - 5450 50 -#define DS_68VTG 5401 //ۺת - -//Ƶ豸 5571 - 5590 20 -#define DS_65VT0010 5571 //һʽն -#define DS_65VM_MCU 5572 //ܶMCUذ -#define DS_65VM_MPC 5573 //ܶMCUýԴ -#define DS_65VT2XXYR_SF 5574 //˾Ѷն -#define DS_65VT0XXY 5575 //Ƶն -#define DS_65VT0010Z 5576 //һʽն -#define DS_65VT0050Z 5577 //ܷʽն -#define DS_65VS0XXXS 5878 //opensips豸 -#define DS_65VS0XXXM 5579 //Ƶƽ̨豸 -#define DS_65VM00XX_X 5580 //ƵX86ϵͳMCU -#define DS_65VA800_BOX 5581 //Ƶ˷ -#define DS_65VT0020S 5582 //һʽĿܻն -#define DS_65VT0020D 5583 //һʽ˫Ŀܻն -#define DS_65VM00XX_G 5584 //ƵMCU -#define DS_65VM0000_GPU 5585 //Ƶý崦 -#define DS_65VTA011 5586 //Ŀ߼ն -#define DS_65VCP1100M_S 5587 //4KĿ(ܻն) -#define Z_MINISMC_01 5588 //4K USB - -#define DS_65VCAXX 5590 //߼ - -#define DS_65VTR00X0 5791 //ʽŴն -#define DS_65VA800AM_S 5792 //Ƶ˷ -#define DS_65VAM0100UB 5793 //Ƶ˷ -#define DS_65VA800SW 5794 //Ƶת -#define DS_65VTA22XX_X 5795 //SmartEye A2200 -#define DS_65VCAXXXX 5796 //Smart Meeting Bar - -//ƵģY10ϵУ -#define DS_Y10_MCU 5771 //ذ -#define DS_Y10_SW1 5772 // -#define DS_6516UD_Y10D 5773 //8·DVIʾӿڽ -#define DS_6532UD_Y10D 5774 //16·DVIʾӿڽ -#define DS_6E2724_Y10 5775 //24׽ӿڱ -#define DS_68SAA_AA_Y10 5776 //˫·2620ڴ32Gҵ -#define DS_68SBA_AA_Y10 5777 //˫·2630ڴ32Gҵ -#define DS_68SCA_AA_Y10 5778 //˫·2650ڴ32Gҵ -#define DS_68GPU_A1_Y10 5779 //P4Կ -#define DS_CPU_SERVER 5780 //CPU -#define DS_GPU_SERVER 5781 //GPU -#define DS_BIGDATA_SERVER 5782 //ݷ - - -//һϵ -#define DS_B80_MCU 5821//ذ -#define DS_B80_SW 5822// -#define DS_B80_SR_01 5823// -#define DS_B80_AI04 5824//ܷ壬֧4· -#define DS_B80_ST 5825//洢壬֧42.52TӲ -#define DS_B80_D04 5826//ݲɼҵ -#define DS_B80_BNC08 5827// -#define DS_B80_SDI08 5828// -#define DS_B80_VP 5829//ת/ -#define DS_B80_VO02 5830//Ƶ -#define DS_B81_MCU 5831//B81ģ -#define DS_B81_AI 5832//B81ܷģ -#define DS_B81_TVI 5833//B81 ģƵģ飨TVI/BNC -#define DS_B81_APL 5834//B81ģ X86ƽ̨ -#define DS_B81_D08T 5835//B81 ݲɼģ -#define DS_B85 5836//B85С -#define DS_B86 5837//B86п -#define AX_GW100_V16A00M 5838//B81Ǹ룩OEM豸 -#define DS_B81_AT_M 5839//B81Ǹ룩 - -// -#define DS_3LGCX 5841//ͨ -#define DS_3LGRX 5842//LoRa -#define DS_3LGT4 5843 //豸 -#define DS_3LGT40_N 5844 //NB-IoT -#define DS_3LGS_I 5845 // - - -// -#define DS_3E11XX 5681 //׽ -#define DS_3E13XX 5682 //ǧн -#define DS_3E15XX 5683 //ǧ׽ -#define DS_3E11XXP 5684 //POE -#define DS_3E13XXP 5685 //ǧPOE -#define DS_3E15XXP 5686 //ǧPOE -#define DS_3E1520U 5687 //USB -#define DS_3EODM_H 5688 // -#define DS_3EODM_W 5689 //ï -#define DS_3T1XXX 5690 //DS-3T1XXXϵн -#define DS_3E2XXX 5861 //ȫܽ -#define DS_3E2XXXP 5862 //ȫܽ-POE -#define DS_3E3XXX 5863 //ȫܽ -#define DS_3E3XXXP 5864 //ȫܽ-POE - -//շ -#define DS_3D01R_NM 5691 //շտ -#define DS_3D01T_NM 5692 //շͻ -#define DS_3K02_RNM 5693 //շܿ - - -/************************************************************************/ -/* ʾƷ豸endϵ豸ͣ */ -/************************************************************************/ - -#define IDS_90XX_HXH_XX_S 6001 //DVRƷ -#define IDS_90XX_HXH_XX_FA 6002 //DVRƷ - -#define DS_81XX_SHXL_K4 6101 //KY2017ƽ̨ѶDS-8104SHFHL-K4/4P - -#define DS_8116THFHL_F4 6201 //׼ͥDS-8116THFHL-F4 - -#define DS_81XXAHQ_E4 6301 //DS_81XXAHQ_E4(TVI ATM) -#define IDS_81XXAHQ_E4 6302 //IDS_81XXAHQ_E4(TVI ATM) - -#define IDS_86XX_NX_A 7501 //ATM NVR(iDS-8632NX-I8/A) -#define IDS_96XX_NX_S 7502 //峬NVR -#define IDS_96XX_NX_V 7503 //ԼվNVR -#define IDS_96XX_NX_FA 7504 //NVR iDS-9632NX-I8/FA -#define IDS_86XX_NX_IX_B 7505 //86ϵаȫñNVRƷ -#define IDS_67XX_NX_S_X 7506 //ܰƷNVR(IDS_67XX_NX/S_X) -#define NP_ST204_X_ 7507 //ڶܰǣNP_ST204_S:NP_ST204_D:NP_ST204_D_4G -#define NP_ST_ANJIAN 7508 // - -#define IDS_ECDXX_HE 8001//ѧĿ -#define IDS_ECDXX_HT 8002//ʦĿ - -#define IDS_ECDXX_E 8101//4K - -#define IDS_EPTXX_HF 8201//ץĻ - - -#define DS_2CD69XXX_I 8351 //3200WȫƴIPCͺ -#define DS_TRIXX 8471 //Ƶ̶ʽDS_TRI900 - -#define DS_K1F600_D6EXX 10501 //๦ܲɼ -#define DS_K1T341 10502 //Ž -#define DS_K1T641XXX 10503 //жͨŽ -#define DS_K1T642XXX 10504 //жͨŽ -#define DS_K1T601 10505 //ƵƷ -#define DS_K1T672XXX 10506 //7糬ŽƷ -#define DS_K56A0X 10507 //׿ж֤ -#define DS_K56Q_F70 10508 //Ͷ) -#define DS_K1T6Q_F70M 10509 //F70ϵʶһ) -#define DS_K1T6Q_F40X 10510 //F40ϵʶһ) -#define DS_K5604A_XXX 10511 //еͶ -#define DS_K1A330X 10512 //Ͷڻ) -#define DS_K1T804A 10513 //ָŽһ -#define DS_K1T202 10514 //ָŽһ -#define DS_K1T343MX 10515 //Žһ) -#define DS_K1T331W_D 10516 //ͶŽһDS-K1T331W(D) -#define DS_K1T671WX_D 10517 //ŽһDS-K1T671M(D) DS-K1T671MW(D) DS-K1T671MG(D) -#define DS_K1T680X 10518 //8.0ŽDS-K1T680M DS-K1T680D -#define DS_K1T640A 10519 //ŽһDS-K1T640AM DS-K1T640AMW -#define DS_K1F600U_D6E_X 10520 //๦ܲɼ(DS-K1F600U-D6E DS-K1F600U-D6E-F DS-K1F600U-D6E-IF) -#define DS_K1T671AMX 10521 //Žһ(DS-K1T671AM DS-K1T671AMW DS-K1T671AM-5G) -#define DS_VISITORXX 10530 //ÿͻ -#define DS_FACE_PAYMENT_TERMINALXX 10531 //ѻ -#define DS_K1T341B_T 10532 //Žһ,ֲ֧£DS-K1T341BMWI-T DS-K1T341BMI-T -#define DS_K1T343 10533 //F1Proƽ̨4.3ŽһDS-K1T343M/MX/MW/MWX/MF/MFX/MFW/MFWX/EX/EWX/EFX/EFWX,D10,D10W/F/FW -#define DS_K1T673 10534 //F1Plusƽ̨7Žһҵ(DS_K1T673M/MG/MW/TMW/TMG/DX/DWX/TDX/TDWX/TDGX) -#define DS_K1T981 10535 //Ĥʶһ -#define DS_K5680X 10536 //K5680ϵ8֤豸 -#define DS_K5022A_X 10537 //5022Aϵа׿ÿͻ -#define DS_K1T342 10538 //F1Proƽ̨4.3ŽһDS-K1T342M/MX/MW/MWX/MF/MFX/MFW/MFWX/EX/EWX/EFWX/DX/DWX,D11,D11S/Pro/Plus -#define DS_K1T690 10539 //DS_K1T690 -#define DS_K1T340 10540 //DS_K1T340 -#define DS_K1T6QT_F72 10541 //F72ϵʶһ) -#define DS_K1T641A 10542 //F1Plusƽ̨4.3Žһl641ϵ -#define DS_K1TACS 10543 //ŽƷֵISAPI¼豸ϢṹwDevTypeֶη -#define DS_K1T6_GS3 10544 //ҵʶһDS-K1T6-GS3ϵ -#define DS_K1T6Q_F41_3XF 10545 //ʶһDS_K1T6Q_F41_3XFϵ -#define DS_K56A1X 10546 //K56A1ϵ֤豸 -#define DS_K1T320MFW 10547 //F2 Proƽ̨2.4糬Ͷ˾Žһ -#define DS_K5033X 10548 //5033ϵа׿ʽÿͻ - -#define DS_K1T681X 10550 //A2Sƽ̨8ŽһDS-K1T681M DS-K1T681MW DS-K1T681MG DS-K1T681M-3Dȣ -#define DS_K5670X 10551 //F2proͶ7繤K5670ϵ - -//ÿͻ1053010601-10650 -#define DS_K3501 10601 //ÿͻK3501ϵ -//ѻ1053110651-10700 - -//ܹ10701-10750 -#define DS_KL_CABINET 10701 //ܹƷֵISAPI¼豸ϢṹwDevTypeֶη - -//ݿ10751-10800 - -//Աͨ10801-10850 -#define DS_K3B961 10801 //ԱͨƷֵISAPI¼豸ϢṹwDevTypeֶη - -#define DS_KBS6XXX_WX 11001 //DS-KBS6100-WV/DS-KBS6101-W/DS-KBS6100-W/DS-KBS6101-W/DS-KBS6200-W/DS-KBS6201-W -#define DS_KBC6XXX_X 11002 //DS-KBC6300/DS-KBC6600 -#define DS_KBI6000_P 11003 //ѰͲDS-KBI6000-P -#define DS_KBA6XXX 11004 //豸()DS-KBA6120/DS-KBA6240/DS-KBA6360/DS-KBA6650/DS-KBA6400-2/DS-KBA6800-2 - -#define DS_IEXX_E_J 11501 //ܷ - -#define IDS_67XX_NX_A 12501 //67ϵNVSƷ(iDS-6704NX/A) -#define IDS_67XX_NX_L 12502 //67ϵ¼NVSƷ -#define IDS_ENIXX_XHE 12503 //¼NVSҵרҵƷ -#define IDS_67XX_NX_V 12504 //ԼվNVS -#define IDS_67XX_NX_B 12505 //67ϵаȫñNVSƷ - -//豸 -#define DS_IE63XX_E_FA 13001 //׵ -#define DS_DS_GPKIA 13002 //ӥ -#define DS_DS_PURE 13003 //״ -#define DS_DS_FS 13004 //̬ݷ -#define DS_DS_FD 13005 //ץļ -#define DS_DS_BLADE 13006 // -#define DS_DS_HMCP 13007 //ģͶԱȷ - -//豸 -#define DS_LNX_RF 13501 // - -//״豸 13551-14000500 -#define DS_PA_RADAR 13551 //PA״ -#define DS_PERIMETER_RADAR 13552 //ܽ״ -#define DS_SECURITY_RADAR 13553 //120װ״ -#define DS_IMAGING_RADAR_PANEL 13554 //״ - -//豸 14001-14500500 -#define DS_N1104X 14001 // -#define DS_N1103X 14002 //ûϢ豸 -#define NP_FSC201 14003 //ˮ豸 -#define NP_FDC240 14004 //ʽ̽ -#define DS_N1107 14005 // -#define NP_FAXXX 14006 // -#define NP_FVY100 14007 //Ƶ̸ -#define NP_FVW100 14008 // -#define NP_FVG100 14009 // -#define NP_FVY300 14010 //Ƶ̸ -#define NP_FVR212_P 14011 //һ̽ -#define NP_FVR213_P 14012 //һ̽() - -//豸 14501-15000500 -#define NP_ST204_X 14501 //ڶܰ -#define ISD_SG2XXL_X 14502 //(ISD-SG206L ISD-SG218L ISD-SG218L-F) -#define ISD_SL300T 14503 //Һ - -//ģƵ豸 15001-15500500 -#define IPA 15001 -/**********************豸 end***********************/ -/**********************豸 begin**********************/ - -/* dvr 1-50 */ -#define DEV_CLASS_DVR 1 //ͨdvr -#define DEV_CLASS_INTERROGATION 2 //Ѷ -#define DEV_CLASS_SIMPLE_TRAIL 3 //ͥ -#define DEV_CLASS_TRAIL 4 //׼ͥ -#define DEV_CLASS_RECORD_PLAY 5 //¼ -#define DEV_CLASS_ATM 6 //ATM - -/* dvs 51-100 */ -#define DEV_CLASS_DVS 51 //ͨdvs - -/* nvr 101-150 */ -#define DEV_CLASS_NVR 101 //ͨnvr - -/* ipc 151-200 */ -#define DEV_CLASS_GUN 151 //ipcǹ -#define DEV_CLASS_BALL 152 //ipc -#define DEV_CLASS_SNAP 153 //ץĻ -#define DEV_CLASS_INTELLI_TILT 154 //̨ -#define DEV_CLASS_FISH_EYE 155 // -#define DEV_CLASS_2DP_Z 156 //ӥ -#define DEV_CLASS_2DP 157 //Сӥ -#define DEV_CLASS_PT 158 //ȫϸ -#define DEV_CLASS_TRI 159 //Ƶ̶ʽ - -/* CVR 201 - 250*/ -#define DEV_CLASS_CVR 201 //CVR - -/* 251 - 300*/ -#define DEV_CLASS_B20 251 //B20ϵ -#define DEV_CLASS_B10 252 //B10ϵ -#define DEV_CLASS_DECODER 253 // -#define DEV_CLASS_MATRIXMANAGEDEVICE 254 // -#define DEV_CLASS_OTICAL 255 //˻ -#define DEV_CLASS_CODESPITTER 256 // -#define DEV_CLASS_ALARMHOST 257 //ҵ -#define DEV_CLASS_MOVING_RING 258 //豸 -#define DEV_CLASS_CVCS 259 //ʽ -#define DEV_CLASS_DVCS 260 //ֲʽ -#define DEV_CLASS_TRANSCODER 261 //ת -#define DEV_CLASS_LCD_SCREEN 262 //LCDĻ -#define DEV_CLASS_LED_SCREEN 263 //LEDĻ -#define DEV_CLASS_MATRIX 264 // -#define DEV_CLASS_CONFERENCE_SYSTEM 265 //Ƶ豸 -#define DEV_CLASS_INFORMATION_RELEASE_EQUIPMENT 266 //Ϣ豸 -#define DEV_CLASS_NET_GAP 267 //բ -#define DEV_CLASS_MERGE 268 // -#define DEV_CLASS_REAR_PROJECTION 269 //Ͷʾ豸 -#define DEV_CLASS_SWITCH 270 // -#define DEV_CLASS_FIBER_CONVERTER 271 //շ -#define DEV_CLASS_SCREEN_SERVER 272 //Ļ -#define DEV_CLASS_SCE_SERVER 273 //ץ -#define DEV_CLASS_WIRELESS_TRANS 274 //ߴ豸 -#define DEV_CLASS_Y10_SERIES 275 //Y10ϵ -#define DEV_CLASS_SAFETY_MAVHINE 276 //һ -#define DEV_CLASS_IOTGATEWAY 277 // -#define DEV_CLASS_NET_MANAGEMENT_EQUIPMENT 278 //豸 -#define DEV_CLASS_PUBLISH_SIGNAGE 279 //Ӱ -#define DEV_CLASS_AR_MACHINE 280 //ARһ -/* 301 - 350*/ -#define DEV_CLASS_VIDEO_ALARM_HOST 301 //Ƶ -#define DEV_CLASS_NET_ALARM_HOST 302 //籨 -#define DEV_CLASS_ONE_KEY_ALARM 303 //һʽƷ -#define DEV_CLASS_WIRELESS_ALARM_HOST 304 //߱ -#define DEV_CLASS_ALARM_MODULE 305 //ģ -#define DEV_CLASS_HOME_ALARM_HOST 306 //ñ -#define DEV_CLASS_HYBRID_ALARM_HOST 307 //ϱ -#define DEV_CLASS_NETWORK_RECEIVER 308 //ӾƷ - -/* Ž 351 - 400*/ -#define DEV_CLASS_ACCESS_CONTROL 351 //ŽƷ -#define DEV_CLASS_VISITOR 352 //ÿͻƷ -#define DEV_CLASS_FACE_PAYMENT_TERMINALXX 353 //ѻƷ -#define DEV_CLASS_CABINET 354 //ܹ -#define DEV_CLASS_LADDER_CONTROL 355 //ݿ -#define DEV_CLASS_PERSONNEL_CHANNEL 356 //Աͨ - -/* ӶԽ 401 - 450*/ -#define DEV_CLASS_VIDEO_INTERCOM 401 //ӶԽ - -/* ˻ 451 - 500*/ -#define DEV_CLASS_UMMANNED_AERIAL_VEHICLE 451 //˻Ʒ - -/* ƶƷ: 501-550*/ -#define DEV_CLASS_MOBILE 501 //ƶƷ - -/* ƶ豸: 551-600*/ -#define DEV_CLASS_MOBILE_VEHICLE 551 //ƶ豸 - -//ܷǣ601-650 -#define DEV_CLASS_INTELLIGENT_ANALYZER 601 //ܷ - -//ܽͨ651-700 -#define DEV_CLASS_INTELLIGENT_TRAFFIC_SERVER 651 //ܽͨ -#define DS_TP2200_EC 652 //ͻ - -/* nvs 701-750 */ -#define DEV_CLASS_NVS 701 //ͨnvs - -/*ԴRFIDϵ 751-800*/ -#define DS_TRI21A_1_P 751 //ԴRFIDȡ - -/* 豸801-850 */ -#define DS_CLASS_FA 801 //׵ -#define DS_CLASS_PURE 802 //״ -#define DS_CLASS_FS 803 //̬ݷ -#define DS_CLASS_FD 804 //ץļ -#define DS_CLASS_HAWK 805 //ӥ -#define DS_CLASS_BLADE 806 // -#define DS_CLASS_HMCP 807 //ģͶԱȷ - -/* 851 - 900*/ -#define DEV_CLASS_SMART_LOCK 851 // - -/* ״ 901 - 950*/ -#define DEV_CLASS_RADAR 901 //״Ʒ - -/* ǻ 951 - 1000*/ -#define DEV_CLASS_FIRE_CONTROL 951 //Ʒ - -/* 1001 - 1050*/ -#define DEV_CLASS_SECURITY_CHECK 1001 //Ʒ - -#define DEV_CLASS_CONFERENCE_TABLET 1051 //ƽ - -#define DEV_CLASS_JUDICIAL_TABLET 1101 //˾ƽ - -/*ȫϸ 8451-8470*/ -#define iDS_PT 8451 //ȫϸ - -/*ӾƷ 9851 - 9900*/ -#define DS_XCM1_IP 9851 //Ӿ - -/* 豸 65534 */ -#define DEV_CLASS_DEFAULT 65534 //Ĭ豸 -/**********************豸 end**********************/ - -/******************************ȡ*********************************/ -//ȡ -#define DEVICE_SOFTHARDWARE_ABILITY 0x001 //豸Ӳ -#define DEVICE_NETWORK_ABILITY 0x002 //豸 -#define DEVICE_ENCODE_ALL_ABILITY 0x003 //豸б -#define DEVICE_ENCODE_CURRENT 0x004 //豸ǰ -#define IPC_FRONT_PARAMETER 0x005 //ipcǰ˲1.0 -#define IPC_UPGRADE_DESCRIPTION 0x006 //ipcϢ -#define DEVICE_RAID_ABILITY 0x007 //RAID -#define DEVICE_ENCODE_ALL_ABILITY_V20 0x008 //豸б2.0 -#define IPC_FRONT_PARAMETER_V20 0x009 //ipcǰ˲2.0 -#define DEVICE_ALARM_ABILITY 0x00a // -#define DEVICE_DYNCHAN_ABILITY 0x00b //豸ͨ -#define DEVICE_USER_ABILITY 0x00c //豸û -#define DEVICE_NETAPP_ABILITY 0x00d //豸Ӧò -#define DEVICE_VIDEOPIC_ABILITY 0x00e //豸ͼ -#define DEVICE_JPEG_CAP_ABILITY 0x00f //豸JPEGץͼ -#define DEVICE_SERIAL_ABILITY 0x010 //RS232RS485 -#define DEVICE_ABILITY_INFO 0x011 //豸ͨͣݷ͵ڵ -#define STREAM_ABILITY 0x012 // -#define SYSTEM_MANAGEMENT_ABILITY 0x013 //豸ϵͳ -#define IP_VIEW_DEV_ABILITY 0x014 //IPӶԽֻ -#define VCA_DEV_ABILITY 0x100 //豸ܷ -#define VCA_CHAN_ABILITY 0x110 //Ϊ -#define TRANSFER_ABILITY 0x120 -#define MATRIXDECODER_ABILITY 0x200 //·ʾ -#define VIDEOPLATFORM_ABILITY 0x210 //Ƶۺƽ̨ -#define VIDEOPLATFORM_SBUCODESYSTEM_ABILITY 0x211 //Ƶۺƽ̨ϵͳ -#define WALL_ABILITY 0x212 //ǽ -#define MATRIX_ABILITY 0x213 //SDI -#define DECODECARD_ABILITY 0x220 //뿨 -#define VIDEOPLATFORM_ABILITY_V40 0x230 //Ƶۺƽ̨ -#define MATRIXMANAGEDEVICE_ABILITY 0x240 // -#define MATRIXDECODER_ABILITY_V41 0x260 // -#define DECODER_ABILITY 0x261 //xml -#define DECODECARD_ABILITY_V41 0x270 //뿨V41 -#define CODECARD_ABILITY 0x271 //뿨 -#define SNAPCAMERA_ABILITY 0x300 //ץĻ -#define ITC_TRIGGER_MODE_ABILITY 0x301 //IPC豸Ĵģʽ -#define COMPRESSIONCFG_ABILITY 0x400 //ȡѹ -#define COMPRESSION_LIMIT 0x401 //ȡѹ -#define PIC_CAPTURE_ABILITY 0x402 //ͼƬֱ -#define ALARMHOST_ABILITY 0x500 //籨 -#define IT_DEVICE_ABILITY 0x501 //ܽͨ -#define SCREENCONTROL_ABILITY 0x600 // -#define SCREENSERVER_ABILITY 0x610 // -#define FISHEYE_ABILITY 0x700 // -#define LCD_SCREEN_ABILITY 0x800 //LCDĻ 2013-10-12 -#define ACS_ABILITY 0x801 //Ž -#define MERGEDEV_ABILITY 0x802 // -#define CAM_FUSION_ABILITY 0x803 //ƴ -#define OPTICAL_DEV_ACCESS_ABILITY 0x805 //˻ -#define NET_RING_ABILITY 0x806 // -#define LED_ABILITY 0x807 //LED -#define PUBLISHDEV_ABILITY 0x80a //Ϣ -#define SCREEN_EXCHANGE_ABILITY 0x80b //Ļ -#define REMOTE_NETMGR_FOT_ABILITY 0x80e //Զշ -/************************************************* -ýṹ(_V30Ϊ9000) -**************************************************/ - -//Ӱ쳣Ϣ -// -#define EXCEPTION_MAJOR_MAINBOARD_BOOT 0x1 // -// -#define EXCEPTION_MINOR_PCIE_SCAN 0x1 // pcie·ɨ쳣 -#define EXCEPTION_MINOR_DOWNLOAD_SUBBOARD 0xa //Ӱ쳣 - -// -#define EXCEPTION_MAJOR_SUBBOARD_BOOT 0x2 //Ӱ -// -#define EXCEPTION_MINOR_INEXISTENCE 0x1 //PCI-EɨǰӰ岻 -#define EXCEPTION_MINOR_UBOOT_DOWNLOAD 0xa // uboot쳣 -#define EXCEPTION_MINOR_UBOOT_INIT 0xe //ubootʼ쳣 -#define EXCEPTION_MINOR_ROOTFS_DOWNLOAD 0x14 //rootfs.img쳣 -#define EXCEPTION_MINOR_UIMAGE_DOWNLOAD 0x19 //uImage쳣 -#define EXCEPTION_MINOR_UBOOT_SETBOOTFLAG 0x1e // uboot־λλ쳣 -#define EXCEPTION_MINOR_ROOTFS_BOOT_SUBBOARD 0x23 // rootfs쳣 -#define EXCEPTION_MINOR_NEED_FILE_FINISH 0x28 //Ӱļ쳣 - -// -#define EXCEPTION_MAJOR_SUBBOARD_HARDWARE 0x3 //ӰӲ -// -#define EXCEPTION_MINOR_AD 0x1 //AD쳣 -#define EXCEPTION_MINOR_DA 0xa // DA쳣 -#define EXCEPTION_MINOR_TIMER 0xb //ʱ쳣 - -// -#define EXCEPTION_MAJOR_FPGA 0x4 //FPGA -// -#define EXCEPTION_MINOR_IDLE 0x1 //޷IDLE -#define EXCEPTION_MINOR_LANE 0xa // LANE OKʧ -#define EXCEPTION_MINOR_REGISTER_ALL_F 0xe //FPGAĴȫF -#define EXCEPTION_MINOR_MEMORY_INIT_FAIL 0x14 //FPGAڴʼʧ -// -#define EXCEPTION_MAJOR_DSP 0x5 //DSP - -// -#define EXCEPTION_MAJOR_ARM 0x6 //ARM - -// -#define EXCEPTION_MAJOR_BACKBOARD 0x7 // -// -#define EXCEPTION_MINOR_BACKBOARD_TYPE 0x1 //ȡ쳣 -#define EXCEPTION_MINOR_SERDES 0xa //ƵоƬ -#define EXCEPTION_MINOR_CLOCK 0xe //ʱӹ -#define EXCEPTION_MINOR_SYNCH 0x14 //ͬźŹ - -// -#define EXCEPTION_MAJOR_SUBBOARD_NET 0x8 //Ӱ -// -#define EXCEPTION_MINOR_IP_CONFLICT 0x1 //IPͻ -#define EXCEPTION_MINOR_DISCONNECT 0x14 // - -//[add]by zengxiaole 2017-09-27 DS-19D2000-S v2.0 -#define MAX_FIRE_ALARM_ZONE 12 // -#define MAX_FIRE_ALARM_POINT_ZONE 32 // - - -typedef enum tagCharEncodeType -{ - ENUM_MEM_CHAR_ENCODE_ERR = -1, //Error - ENUM_MEM_CHAR_ENCODE_NO = 0, //Don't know. - ENUM_MEM_CHAR_ENCODE_CN = 1, //EUC-CN, GB2312 - ENUM_MEM_CHAR_ENCODE_GBK = 2, //GBK - ENUM_MEM_CHAR_ENCODE_BIG5 = 3, //BIG5 - ENUM_MEM_CHAR_ENCODE_JP = 4, //JISX0208-1, EUC-JP - ENUM_MEM_CHAR_ENCODE_KR = 5, //EUC-KR - ENUM_MEM_CHAR_ENCODE_UTF8 = 6, //UTF-8 - ENUM_MEM_CHAR_ENCODE_ISO8859_1 = 7, //ISO-8859-n: ENUM_MEM_CHAR_ENCODE_ISO8859_1 + n -1 - ENUM_MEM_CHAR_ENCODE_UNICODE = 8, //Unicode -}CHAR_ENCODE_TYPE; - - -///////////////////////////////////////////////////////////////////////// -//Уʱṹ -typedef struct -{ - DWORD dwYear; // - DWORD dwMonth; // - DWORD dwDay; // - DWORD dwHour; //ʱ - DWORD dwMinute; // - DWORD dwSecond; // -}NET_DVR_TIME, *LPNET_DVR_TIME; - -typedef struct tagNET_DVR_TIME_V30 -{ - WORD wYear; - BYTE byMonth; - BYTE byDay; - BYTE byHour; - BYTE byMinute; - BYTE bySecond; - BYTE byISO8601; /*Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ */ - WORD wMilliSec; //룬ȲĬΪ0 - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾ, byISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 30, 45+ʾbyISO8601Ϊ1ʱЧ -}NET_DVR_TIME_V30, *LPNET_DVR_TIME_V30; - -typedef struct tagNET_DVR_TIME_SEARCH -{ - WORD wYear; //꣬豸OSDʱ - BYTE byMonth; //£豸OSDʱ - BYTE byDay; //գ豸OSDʱ - BYTE byHour; //ʱ豸OSDʱ - BYTE byMinute; //֣豸OSDʱ - BYTE bySecond; //룬豸OSDʱ - char cTimeDifferenceH; //ʱ׼ʱʱСʱ-12 ... +14 - char cTimeDifferenceM; //ʱ׼ʱʱӣ-30, 0, 30, 45 - BYTE byLocalOrUTC; //0-ʱЧ豸ʱ䣬豸OSDʱ 1-ʱЧ - WORD wMillisecond; //룬ȲĬΪ0 -}NET_DVR_TIME_SEARCH, *LPNET_DVR_TIME_SEARCH; - -typedef struct tagNET_DVR_TIME_SEARCH_COND -{ - WORD wYear; // - BYTE byMonth; // - BYTE byDay; // - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE bySecond; // - BYTE byLocalOrUTC; //0-ʱЧ豸ʱ䣬豸OSDʱ 1-ʱЧ - WORD wMillisecond; //룬ȲĬΪ0 - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾbyLocalOrUTCΪ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 0, 30, 45+ʾbyLocalOrUTCΪ1ʱЧ -}NET_DVR_TIME_SEARCH_COND, *LPNET_DVR_TIME_SEARCH_COND; - - -typedef struct tagNET_DVR_TIME_V50 -{ - WORD wYear; // - BYTE byMonth; // - BYTE byDay; // - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE bySecond; // - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - WORD wMillisecond; //룬ȲĬΪ0 - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾbyISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 0, 30, 45+ʾbyISO8601Ϊ1ʱЧ -}NET_DVR_TIME_V50, *LPNET_DVR_TIME_V50; - - - -typedef struct tagNET_DVR_CALIBRATE_TIME -{ - DWORD dwSize; - NET_DVR_TIME struTime; - WORD wMilliSec; - BYTE byRes[14]; -}NET_DVR_CALIBRATE_TIME,*LPNET_DVR_CALIBRATE_TIME; - -#define MAX_TIMESIGN_LEN 32 //ԶУʱϢ -typedef struct tagNET_DVR_TIMESIGN_CFG -{ - DWORD dwSize; - BYTE byCustomSetTimeSign[MAX_TIMESIGN_LEN/*32*/];//ԶУʱ - BYTE byRes[96]; -}NET_DVR_TIMESIGN_CFG,*LPNET_DVR_TIMESIGN_CFG; - - -typedef struct tagNET_DVR_TIME_EX -{ - WORD wYear; - BYTE byMonth; - BYTE byDay; - BYTE byHour; - BYTE byMinute; - BYTE bySecond; - BYTE byRes; -}NET_DVR_TIME_EX,*LPNET_DVR_TIME_EX; - -//ʱ(ӽṹ) -typedef struct -{ - //ʼʱ - BYTE byStartHour; - BYTE byStartMin; - //ʱ - BYTE byStopHour; - BYTE byStopMin; -}NET_DVR_SCHEDTIME, *LPNET_DVR_SCHEDTIME; - -/*豸쳣ʽ*/ -/*豸쳣ʽ*/ -#define NOACTION 0x0 /*Ӧ*/ -#define WARNONMONITOR 0x1 /*Ͼ*/ -#define WARNONAUDIOOUT 0x2 /**/ -#define UPTOCENTER 0x4 /*ϴ*/ -#define TRIGGERALARMOUT 0x8 /**/ -#define TRIGGERCATPIC 0x10 /*ץͼϴE-mail*/ -#define SEND_PIC_FTP 0x200 /*ץͼϴftp*/ - -typedef struct tagNET_DVR_STRUCTHEAD -{ - WORD wLength; //ṹ - BYTE byVersion ; /*ߵ4λֱߵͰ汾ݰ汾ͳȽչͬİ汾ijȽ*/ - BYTE byRes; -}NET_DVR_STRUCTHEAD, *LPNET_DVR_STRUCTHEAD; - -typedef struct tagNET_DVR_HANDLEEXCEPTION_V41 -{ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x400: 齻 ۽ģʽṩԭ豸ԶɣIPC5.1.0*/ - /*0x800: PTZ(Ŀ)*/ - /*0x4000:׹Ʊ*/ - /*0x10000:ű*/ - /*0x20000:ָʾƱ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; //ͨ - BYTE byRes[64]; // -}NET_DVR_HANDLEEXCEPTION_V41, *LPNET_DVR_HANDLEEXCEPTION_V41; - -typedef struct tagNET_DVR_HANDLEEXCEPTION_V40 -{ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x80: ¼(ĿǰֻPCNVR֧) */ - /*0x100: ̨Ԥõ (ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x400: 齻 ۽ģʽṩԭ豸ԶɣIPC5.1.0*/ - /*0x800: PTZ(Ŀ)*/ - /*0x1000:ץͼϴ*/ - /*0x2000:ű*/ - /*0x4000:׹Ʊ*/ - /*0x8000:*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOutChanNum; //ıͨ ʵ֧ - DWORD dwRelAlarmOut[MAX_CHANNUM_V30]; //ͨ - BYTE byWhiteLightDurationTime;//׹˸ʱ1~60s(˰׹ƱʱЧ) - BYTE byBrightness;//׹ȣΧ0-100Ĭ50 - BYTE byAudioType;// - BYTE byTimes;//Χ0-9Ĭ2, 0xff- - BYTE byRes[60]; // -}NET_DVR_HANDLEEXCEPTION_V40, *LPNET_DVR_HANDLEEXCEPTION_V40; - -//쳣ṹ(ӽṹ)(ദʹ)(9000չ) -typedef struct -{ - DWORD dwHandleType; /*ʽ,ʽ""*/ - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x2000:ű*/ - BYTE byRelAlarmOut[MAX_ALARMOUT_V30]; - //ͨ,,Ϊ1ʾ -}NET_DVR_HANDLEEXCEPTION_V30, *LPNET_DVR_HANDLEEXCEPTION_V30; - -//쳣ṹ(ӽṹ)(ദʹ) -typedef struct -{ - DWORD dwHandleType; /*ʽ,ʽ""*/ - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JpegץͼϴEMail*/ - BYTE byRelAlarmOut[MAX_ALARMOUT]; //ͨ,,Ϊ1ʾ -}NET_DVR_HANDLEEXCEPTION, *LPNET_DVR_HANDLEEXCEPTION; - -//DVR豸 -typedef struct -{ - DWORD dwSize; - BYTE sDVRName[NAME_LEN]; //DVR - DWORD dwDVRID; //DVR ID,ң //V1.4(0-99), V1.5(0-255) - DWORD dwRecycleRecord; //Ƿѭ¼,0:; 1: - //²ɸ - BYTE sSerialNumber[SERIALNO_LEN]; //к - DWORD dwSoftwareVersion; //汾,16λ汾,16λǴΰ汾 - DWORD dwSoftwareBuildDate; //,0xYYYYMMDD - DWORD dwDSPSoftwareVersion; //DSP汾,16λ汾,16λǴΰ汾 - DWORD dwDSPSoftwareBuildDate; // DSP,0xYYYYMMDD - DWORD dwPanelVersion; // ǰ汾,16λ汾,16λǴΰ汾 - DWORD dwHardwareVersion; // Ӳ汾,16λ汾,16λǴΰ汾 - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byRS232Num; //DVR 232ڸ - BYTE byRS485Num; //DVR 485ڸ - BYTE byNetworkPortNum; //ڸ - BYTE byDiskCtrlNum; //DVR Ӳ̿ - BYTE byDiskNum; //DVR Ӳ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byDecordChans; //DVR · - BYTE byVGANum; //VGAڵĸ - BYTE byUSBNum; //USBڵĸ - BYTE byAuxoutNum; //ڵĸ - BYTE byAudioNum; //ڵĸ - BYTE byIPChanNum; //ͨ -}NET_DVR_DEVICECFG, *LPNET_DVR_DEVICECFG; - -/* -IPַ -*/ -typedef struct -{ - char sIpV4[16]; /* IPv4ַ */ - BYTE byIPv6[128]; /* */ -}NET_DVR_IPADDR, *LPNET_DVR_IPADDR; - -typedef union tagNET_DVR_IPADDR_UNION -{ - char szIPv4[16]; //IPv4ַ - char szIPv6[256]; //IPv6ַ -}NET_DVR_IPADDR_UNION, *LPNET_DVR_IPADDR_UNION; - -typedef struct tagNET_DVR_ADDRESS -{ - NET_DVR_IPADDR struIP; //IPַ - WORD wPort; //˿ں - BYTE byRes[2]; -}NET_DVR_ADDRESS, *LPNET_DVR_ADDRESS; - -/* -ݽṹ(ӽṹ)(9000չ) -*/ -typedef struct -{ - NET_DVR_IPADDR struDVRIP; //DVR IPַ - NET_DVR_IPADDR struDVRIPMask; //DVR IPַ - DWORD dwNetInterface; //ӿ1-10MBase-T 2-10MBase-Tȫ˫ 3-100MBase-TX 4-100Mȫ˫ 5-10M/100MӦ - WORD wDVRPort; //˿ں - WORD wMTU; //MTUãĬ1500 - BYTE byMACAddr[MACADDR_LEN]; // ַ - BYTE byEthernetPortNo; //ںţ0-Ч1-02-1Դƣֻ - BYTE byRes[1]; // -}NET_DVR_ETHERNET_V30, *LPNET_DVR_ETHERNET_V30; - -/* -ݽṹ(ӽṹ) -*/ -typedef struct -{ - char sDVRIP[16]; //DVR IPַ - char sDVRIPMask[16]; //DVR IPַ - DWORD dwNetInterface; //ӿ 1-10MBase-T 2-10MBase-Tȫ˫ 3-100MBase-TX 4-100Mȫ˫ 5-10M/100MӦ - WORD wDVRPort; //˿ں - BYTE byMACAddr[MACADDR_LEN]; //ַ -}NET_DVR_ETHERNET; - -//pppoeṹ -typedef struct -{ - DWORD dwPPPOE; //0-,1- - BYTE sPPPoEUser[NAME_LEN]; //PPPoEû - char sPPPoEPassword[PASSWD_LEN]; // PPPoE - NET_DVR_IPADDR struPPPoEIP; //PPPoE IPַ -}NET_DVR_PPPOECFG, *LPNET_DVR_PPPOECFG; - -//ýṹ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_ETHERNET_V30 struEtherNet[MAX_ETHERNET]; //̫ - NET_DVR_IPADDR struRes1[2]; /**/ - NET_DVR_IPADDR struAlarmHostIpAddr; /* IPַ */ - BYTE byRes2[4]; /* */ - WORD wAlarmHostIpPort; /* ˿ں */ - BYTE byUseDhcp; /* ǷDHCP 0xff-Ч 0- 1-*/ - BYTE byIPv6Mode; //IPv6䷽ʽ0-·ɹ棬1-ֶã2-DHCP - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ - BYTE byIpResolver[MAX_DOMAIN_NAME]; /* IPIPַ */ - WORD wIpResolverPort; /* IP˿ں */ - WORD wHttpPortNo; /* HTTP˿ں */ - NET_DVR_IPADDR struMulticastIpAddr; /* ಥַ */ - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - NET_DVR_PPPOECFG struPPPoE; - BYTE byEnablePrivateMulticastDiscovery; //˽жಥ0~Ĭϣ1~ã2- - BYTE byEnableOnvifMulticastDiscovery; //Onvifಥ0~Ĭϣ1~ã2- - BYTE byEnableDNS; //DNSԶʹ, 0-1-򿪣2-ر - BYTE byRes[61]; -} NET_DVR_NETCFG_V30, *LPNET_DVR_NETCFG_V30; - -//ṹ -typedef struct -{ - NET_DVR_IPADDR struDVRIP; //DVR IPַ - NET_DVR_IPADDR struDVRIPMask; //DVR IPַ - DWORD dwNetInterface; //ӿ1-10MBase-T 2-10MBase-Tȫ˫ 3-100MBase-TX 4-100Mȫ˫ 5-10M/100M/1000MӦ - BYTE byCardType; //ͣ0-ͨ1-2- - BYTE byEnableDNS; //DNSǷԶʹܣ0-1-, 0-ر - WORD wMTU; //MTUãĬ1500 - BYTE byMACAddr[MACADDR_LEN]; //ַֻʾ - BYTE byEthernetPortNo; //ںţ0-Ч1-02-1Դƣֻ - BYTE bySilkScreen; //˿ӡϢ0-Ч1-GE12-GE23-G14-G2ֻ - BYTE byUseDhcp; /* ǷDHCP */ - BYTE byRes3[3]; - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ -}NET_DVR_ETHERNET_MULTI, *LPNET_DVR_ETHERNET_MULTI; - -//ýṹ -typedef struct -{ - DWORD dwSize; - BYTE byDefaultRoute; //Ĭ·ɣ0ʾstruEtherNet[0]1ʾstruEtherNet[1] - BYTE byNetworkCardNum; //豸ʵʿõĿ - BYTE byWorkMode; //0-ͨģʽ1-ģʽ - BYTE byRes; // - NET_DVR_ETHERNET_MULTI struEtherNet[MAX_NETWORK_CARD]; //̫ - NET_DVR_IPADDR struManageHost1IpAddr; /* IPַ */ - NET_DVR_IPADDR struManageHost2IpAddr; /* IPַ */ - NET_DVR_IPADDR struAlarmHostIpAddr; /* IPַ */ - WORD wManageHost1Port; /* ˿ں */ - WORD wManageHost2Port; /* ˿ں */ - WORD wAlarmHostIpPort; /* ˿ں */ - BYTE byIpResolver[MAX_DOMAIN_NAME]; /* IPIPַ */ - WORD wIpResolverPort; /* IP˿ں */ - WORD wDvrPort; //ͨѶ˿ Ĭ8000 - WORD wHttpPortNo; /* HTTP˿ں */ - WORD wDvrPort2; //ͨѶ˿2 - BYTE byRes2[4]; - NET_DVR_IPADDR struMulticastIpAddr; /* ಥַ */ - NET_DVR_PPPOECFG struPPPoE; - BYTE byRes3[24]; -}NET_DVR_NETCFG_MULTI, *LPNET_DVR_NETCFG_MULTI; - -//ýṹ -typedef struct -{ - DWORD dwSize; - NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET]; /* ̫ */ - char sManageHostIP[16]; //Զַ̹ - WORD wManageHostPort; //Զ̹˿ں - char sIPServerIP[16]; //IPServerַ - char sMultiCastIP[16]; //ಥַ - char sGatewayIP[16]; //صַ - char sNFSIP[16]; //NFSIPַ - BYTE sNFSDirectory[PATHNAME_LEN];//NFSĿ¼ - DWORD dwPPPOE; //0-,1- - BYTE sPPPoEUser[NAME_LEN]; //PPPoEû - char sPPPoEPassword[PASSWD_LEN];// PPPoE - char sPPPoEIP[16]; //PPPoE IPַ(ֻ) - WORD wHttpPort; //HTTP˿ں -}NET_DVR_NETCFG, *LPNET_DVR_NETCFG; - -//ýṹ(V50) -typedef struct tagNET_DVR_NETCFG_V50 -{ - DWORD dwSize; - NET_DVR_ETHERNET_V30 struEtherNet[MAX_ETHERNET]; //̫ - NET_DVR_IPADDR struRes1[2]; /**/ - NET_DVR_IPADDR struAlarmHostIpAddr; /* IPַ */ - BYTE byRes2[4]; /* */ - WORD wAlarmHostIpPort; /* ˿ں */ - BYTE byUseDhcp; /* ǷDHCP 0xff-Ч 0- 1-*/ - BYTE byIPv6Mode; //IPv6䷽ʽ0-·ɹ棬1-ֶã2-DHCP - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ - BYTE byIpResolver[MAX_DOMAIN_NAME]; /* IPIPַ */ - WORD wIpResolverPort; /* IP˿ں */ - WORD wHttpPortNo; /* HTTP˿ں */ - NET_DVR_IPADDR struMulticastIpAddr; /* ಥַ */ - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - NET_DVR_PPPOECFG struPPPoE; - BYTE byEnablePrivateMulticastDiscovery; //˽жಥ0~Ĭϣ1~ã2- - BYTE byEnableOnvifMulticastDiscovery; //Onvifಥ0~Ĭϣ1~ã2- - WORD wAlarmHost2IpPort; /* 2˿ں */ - NET_DVR_IPADDR struAlarmHost2IpAddr; /* 2 IPַ */ - BYTE byEnableDNS; //DNSʹ, 0-رգ1- - BYTE byRes[599]; -}NET_DVR_NETCFG_V50, *LPNET_DVR_NETCFG_V50; - -//sip -typedef struct tagNET_DVR_SIP_CFG -{ - DWORD dwSize; - BYTE byEnableAutoLogin; //ʹԶעᣬ0-ʹܣ1-ʹ - BYTE byLoginStatus; //ע״̬0-δעᣬ1-עᣬ˲ֻܻȡ - BYTE byRes1[2]; - NET_DVR_IPADDR stuServerIP; //SIPIP - WORD wServerPort; //SIP˿ - BYTE byRes2[2]; - BYTE byUserName[NAME_LEN]; //עû - BYTE byPassWord[PASSWD_LEN]; //ע - BYTE byLocalNo[MAX_NUMBER_LEN]; - BYTE byDispalyName[MAX_NAME_LEN]; //豸ʾ - WORD wLocalPort; //ض˿ - BYTE byLoginCycle; //עڣ1-99 - BYTE byType;//0-IP/IPV6,1- - BYTE byDomainName[MAX_DOMAIN_NAME]; // - BYTE byRes[64]; -}NET_DVR_SIP_CFG, *LPNET_DVR_SIP_CFG; - -typedef struct tagNET_DVR_SIP_CFG_V50 -{ - DWORD dwSize; - BYTE byEnableAutoLogin; //ʹԶעᣬ0-ʹܣ1-ʹ - BYTE byLoginStatus; //ע״̬0-δעᣬ1-עᣬ˲ֻܻȡ - BYTE byRes1[2]; - NET_DVR_IPADDR stuServerIP; //SIPIP - WORD wServerPort; //SIP˿ - BYTE byRes2[2]; - BYTE byUserName[NAME_LEN]; //עû - BYTE byPassWord[PASSWD_LEN]; //ע - BYTE byLocalNo[MAX_NUMBER_LEN]; - BYTE byDispalyName[MAX_NAME_LEN]; //豸ʾ - WORD wLocalPort; //ض˿ - BYTE byLoginCycle; //עڣ1-99 - BYTE byRes3; - BYTE bySIPServerDomain[MAX_DOMAIN_NAME]; //sipIPֻҪһֵʱIPȣ - NET_DVR_IPADDR stuSTUNServerIP; // STUNIP - BYTE bySTUNServerDomain[MAX_DOMAIN_NAME]; //STUN IPֻҪһֵʱIPȣ - WORD wSTUNServerPort; // STUN˿ - BYTE byRes4[2]; - NET_DVR_IPADDR stuProxyServerIP; //IP - BYTE byProxyServerDomain[MAX_DOMAIN_NAME]; // IPֻҪһֵʱIPȣ - WORD wProxyServerPort; // ˿ - BYTE byNetWork; //ʾͣ0-Ч1-1 2-23- - BYTE byRes5; - BYTE byCalledTargetName[NET_SDK_MAX_CALLEDTARGET_NAME]; - BYTE byRes[224]; -}NET_DVR_SIP_CFG_V50, *LPNET_DVR_SIP_CFG_V50; - -//IPӶԽֻ -typedef struct tagNET_DVR_IP_VIEW_DEVCFG -{ - DWORD dwSize; - BYTE byDefaultRing; //ĬΧ1-6 - BYTE byRingVolume; //Χ0-9 - BYTE byInputVolume; //ֵΧ0-6 - BYTE byOutputVolume; //ֵΧ0-9 - WORD wRtpPort; //Rtp˿ - BYTE byRes1[2]; - DWORD dwPreviewDelayTime; //Ԥʱã0-30 - BYTE byRes2[64]; -}NET_DVR_IP_VIEW_DEVCFG,*LPNET_DVR_IP_VIEW_DEVCFG; - -//IpӶԽƵز -typedef struct tagNET_DVR_IP_VIEW_AUDIO_CFG -{ - DWORD dwSize; - BYTE byAudioEncPri1; //Ƶȼ10-G7221-G711_U2-G711_A 5-MPEG2,6-G7267-AAC - BYTE byAudioEncPri2; //Ƶȼ2sip֧Ƶ1ʱʹƵ20-G7221-G711_U2-G711_A 5-MPEG2,6-G7267-AAC - WORD wAudioPacketLen1; //Ƶ1ݰ - WORD wAudioPacketLen2; //Ƶ2ݰ - BYTE byRes[30]; -}NET_DVR_IP_VIEW_AUDIO_CFG,*LPNET_DVR_IP_VIEW_AUDIO_CFG; - -//IPֻжԽýṹ -typedef struct tagNET_DVR_IP_VIEW_CALL_CFG -{ - DWORD dwSize ; - BYTE byEnableAutoResponse; //ʹԶӦ,0-ʹܣ1-ʹ - BYTE byAudoResponseTime; //ԶӦʱ䣬0-30 - BYTE byRes1[2]; - BYTE byEnableAlarmNumber1; //10-1- - BYTE byRes2[3]; - BYTE byAlarmNumber1[MAX_NUMBER_LEN]; //к1 - BYTE byEnableAlarmNumber2; //20-1- - BYTE byRes3[3]; - BYTE byAlarmNumber2[MAX_NUMBER_LEN]; //к2к1ʧ᳢ܻԺк2 - BYTE byRes4[72]; -}NET_DVR_IP_VIEW_CALL_CFG,*LPNET_DVR_IP_VIEW_CALL_CFG; - -//ͨͼṹ -//ƶ(ӽṹ)(鷽ʽչ) -typedef struct -{ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwCurRecordChanNum; //ǰʵõĹ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; /* ʵʴ¼ֵͨʾ,ýУ±0 - MAX_CHANNUM_V30-1Чм0xffffffff,Ч*/ - BYTE byRes[64]; // -}NET_DVR_RECORDCHAN, *LPNET_DVR_RECORDCHAN; - -//ƶ(ӽṹ)(9000չ) -typedef struct -{ - BYTE byMotionScope[64][96]; /*,0-96λ,ʾ64,96*64С,Ϊ1ʾƶ,0-ʾ*/ - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,oxffر*/ - BYTE byEnableHandleMotion; /* Ƿƶ 0 1*/ - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - char reservedData; - NET_DVR_HANDLEEXCEPTION_V30 struMotionHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; /* ¼ͨ*/ -}NET_DVR_MOTION_V30, *LPNET_DVR_MOTION_V30; - -//ƶ(ӽṹ) -typedef struct -{ - BYTE byMotionScope[18][22]; /*,22*18С,Ϊ1ʾĺƶ,0-ʾ*/ - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffر*/ - BYTE byEnableHandleMotion; /* Ƿƶ */ - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - char reservedData; - NET_DVR_HANDLEEXCEPTION strMotionHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM]; //¼ͨ,Ϊ1ʾͨ -}NET_DVR_MOTION, *LPNET_DVR_MOTION; - -//ڵ(ӽṹ)(9000չ) С704*576 -typedef struct -{ - DWORD dwEnableHideAlarm; /* Ƿڵ ,0-,1- 2- 3-*/ - WORD wHideAlarmAreaTopLeftX; /* ڵx */ - WORD wHideAlarmAreaTopLeftY; /* ڵy */ - WORD wHideAlarmAreaWidth; /* ڵĿ */ - WORD wHideAlarmAreaHeight; /*ڵĸ*/ - NET_DVR_HANDLEEXCEPTION_V30 strHideAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ -}NET_DVR_HIDEALARM_V30, *LPNET_DVR_HIDEALARM_V30; -//ڵ(ӽṹ) С704*576 -typedef struct -{ - DWORD dwEnableHideAlarm; /* Ƿڵ ,0-,1- 2- 3-*/ - WORD wHideAlarmAreaTopLeftX; /* ڵx */ - WORD wHideAlarmAreaTopLeftY; /* ڵy */ - WORD wHideAlarmAreaWidth; /* ڵĿ */ - WORD wHideAlarmAreaHeight; /*ڵĸ*/ - NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ -}NET_DVR_HIDEALARM, *LPNET_DVR_HIDEALARM; - -//źŶʧ(ӽṹ)(9000չ) -typedef struct -{ - BYTE byEnableHandleVILost; /* ǷźŶʧ */ - NET_DVR_HANDLEEXCEPTION_V30 strVILostHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ -}NET_DVR_VILOST_V30, *LPNET_DVR_VILOST_V30; - -//źŶʧ(ӽṹ) -typedef struct -{ - BYTE byEnableHandleVILost; /* ǷźŶʧ */ - NET_DVR_HANDLEEXCEPTION strVILostHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ -}NET_DVR_VILOST, *LPNET_DVR_VILOST; - -//ڵ(ӽṹ) -typedef struct -{ - WORD wHideAreaTopLeftX; /* ڵx */ - WORD wHideAreaTopLeftY; /* ڵy */ - WORD wHideAreaWidth; /* ڵĿ */ - WORD wHideAreaHeight; /*ڵĸ*/ -}NET_DVR_SHELTER, *LPNET_DVR_SHELTER; - -typedef struct -{ - BYTE byBrightness; /*,0-255*/ - BYTE byContrast; /*Աȶ,0-255*/ - BYTE bySaturation; /*Ͷ,0-255*/ - BYTE byHue; /*ɫ,0-255*/ -}NET_DVR_COLOR, *LPNET_DVR_COLOR; - -typedef struct -{ - BYTE byRed; //RGBɫеĺɫ - BYTE byGreen; //RGBɫеɫ - BYTE byBlue; //RGBɫеɫ - BYTE byRes; // -}NET_DVR_RGB_COLOR, *LPNET_DVR_RGB_COLOR; - -//ֵһ,ֵΪǰİٷֱȴС, ΪСλ -//ṹ -typedef struct tagNET_VCA_POINT -{ - float fX; // X, 0.000~1 - float fY; //Y, 0.000~1 -}NET_VCA_POINT, *LPNET_VCA_POINT; - -//ͨͼṹ(9000չ) -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL*/ - BYTE byReservedData[64];/**/ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ С704*576 - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //ƵźŶʧ - NET_DVR_VILOST_V30 struVILost; - NET_DVR_VILOST_V30 struRes; /**/ - // BYTE byRes1[328]; - //ƶ - NET_DVR_MOTION_V30 struMotion; - //ڵ - NET_DVR_HIDEALARM_V30 struHideAlarm; - //ڵ С704*576 - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ С704*576 - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 1: ͸,˸ */ - /* 2: ͸,˸ */ - /* 3: ˸,͸ */ - /* 4: ͸,˸ */ - BYTE byHourOSDType; /* OSDСʱ:0-24Сʱ,1-12Сʱ */ - BYTE byFontSize;//С16*16()/8*16(Ӣ)1-32*32()/16*32(Ӣ)2-64*64()/32*64(Ӣ) 3-48*48()/24*48(Ӣ) 4-24*24()/12*24(Ӣ) 5-96*96()/48*96(Ӣ) 6-128*128()/64*128(Ӣ) 7-80*80()/40*80(Ӣ) 8-112*112()/56*112(Ӣ) 0xff-Ӧ(adaptive) - BYTE byOSDColorType; //0-Ĭϣڰף1-Զ壻2- - /*뷽ʽѡģʽʱԷֱ½ǡ½ַӡ - ½ - ֧6ַӣͨNET_DVR_SET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ05±ֵַķʽΪµϵķʽ - ½ - ֧2ַӣͨNET_DVR_SET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ6͵7±ֵַķʽΪµϵķʽ - */ - BYTE byAlignment;//뷽ʽ 0-Ӧ1-Ҷ, 2-,3-ģʽ, 4-ȫҶ(ַʱԼOSDַ)5-ȫ(ַʱԼOSDַ) - BYTE byOSDMilliSecondEnable;//Ƶʱֺ֧룻0~, 1- - NET_DVR_RGB_COLOR struOsdColor;//OSDɫ - DWORD dwBoundary; //ֵ߽룬ҶԼģʽıֵ߽0-ʾĬֵλ - NET_DVR_RGB_COLOR struOsdBkColor; //ԶOSDɫ - BYTE byOSDBkColorMode; //OSDɫģʽ0-Ĭϣ1-ԶOSDɫ - BYTE byUpDownBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2, ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byLeftRightBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2, ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byAngleEnabled;//OSDǷӸϢ,0~, 1- - WORD wTiltAngleTopLeftX; /* Ϣʾλõx */ - WORD wTiltAngleTopLeftY; /* Ϣʾλõy */ - BYTE byRes[40]; -}NET_DVR_PICCFG_V30, *LPNET_DVR_PICCFG_V30; - -//ͨͼṹSDK_V14չ -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL*/ - BYTE byBrightness; /*,0-255*/ - BYTE byContrast; /*Աȶ,0-255*/ - BYTE bySaturation; /*Ͷ,0-255 */ - BYTE byHue; /*ɫ,0-255*/ - //ʾͨ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ С704*576 - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //źŶʧ - NET_DVR_VILOST struVILost; - //ƶ - NET_DVR_MOTION struMotion; - //ڵ - NET_DVR_HIDEALARM struHideAlarm; - //ڵ С704*576 - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ С704*576 - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 1: ͸,˸ */ - /* 2: ͸,˸ */ - /* 3: ˸,͸ */ - /* 4: ͸,˸ */ - BYTE byHourOsdType; /* OSDСʱ:0-24Сʱ,1-12Сʱ */ -}NET_DVR_PICCFG_EX, *LPNET_DVR_PICCFG_EX; - -//ͨͼṹ(SDK_V13֮ǰ汾) -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL*/ - BYTE byBrightness; /*,0-255*/ - BYTE byContrast; /*Աȶ,0-255*/ - BYTE bySaturation; /*Ͷ,0-255 */ - BYTE byHue; /*ɫ,0-255*/ - //ʾͨ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ С704*576 - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //źŶʧ - NET_DVR_VILOST struVILost; - //ƶ - NET_DVR_MOTION struMotion; - //ڵ - NET_DVR_HIDEALARM struHideAlarm; - //ڵ С704*576 - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - WORD wHideAreaTopLeftX; /* ڵx */ - WORD wHideAreaTopLeftY; /* ڵy */ - WORD wHideAreaWidth; /* ڵĿ */ - WORD wHideAreaHeight; /*ڵĸ*/ - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ С704*576 - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 1: ͸,˸ */ - /* 2: ͸,˸ */ - /* 3: ˸,͸ */ - /* 4: ͸,˸ */ - char reservedData2; -}NET_DVR_PICCFG, *LPNET_DVR_PICCFG; - -typedef enum _BITRATE_ENCODE_INDEX_ -{ - BITRATE_ENCODE_def = 0, - BITRATE_ENCODE_8kps = 1, - BITRATE_ENCODE_16kps = 2, - BITRATE_ENCODE_32kps = 3, - BITRATE_ENCODE_64kps = 4, - BITRATE_ENCODE_128kps = 5, - BITRATE_ENCODE_192kps = 6, - BITRATE_ENCODE_40kps = 7, - BITRATE_ENCODE_48kps = 8, - BITRATE_ENCODE_56kps = 9, - BITRATE_ENCODE_80kps = 10, - BITRATE_ENCODE_96kps = 11, - BITRATE_ENCODE_112kps = 12, - BITRATE_ENCODE_144kps = 13, - BITRATE_ENCODE_160kps = 14, - BITRATE_ENCODE_224kps = 15, - BITRATE_ENCODE_256kps = 16, - BITRATE_ENCODE_320kps = 17 -}BITRATE_ENCODE_INDEX; - -//ѹ(ӽṹ)(9000չ) -typedef struct -{ - BYTE byStreamType; // 0-Ƶ, 1-, ʾ¼ѹʱλʾǷѹ - /*ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, - 4-2CIF 5, 6-QVGA(320*240), 7-QQVGA(160*120), - 12-384*288 13-576*576, - 16-VGA640*480, 17-UXGA1600*1200, 18-SVGA(800*600), 19-HD720p(1280*720, - 20-XVGA, 21-HD900p, 22-1360*1024, 23-1536*1536, - 24-1920*1920, 27-HD1080i, - 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048, - 32-2448*1200, 33-2448*800, 34-XGA1024*768 35-SXGA1280*1024, - 36-WD1(960*576/960*480), 37-1080i, 38-WSXGA(1440*900), 39-HD_F(1920*1080/1280*720), - 40-HD_H(1920*540/1280*360), 41-HD_Q(960*540/630*360), 42-2336*1744, 43-1920*1456, - 44-2592*2048, 45-3296*2472, 46-1376*768, 47-1366*768, - 48-1360*768, 49-WSXGA+, 50-720*720, 51-1280*1280, - 52-2048*768, 53-2048*2048, 54-2560*2048, 55-3072*2048, - 56-2304*1296 57-WXGA(1280*800), 58-1600*600, 59-1600*900, - 60-2752*2208, 61-, 62-4000*3000, 63-4096*2160, - 64-3840*2160, 65-4000*2250, 66-3072*1728, 67-2592*1944, - 68-2464*1520, 69-1280*1920, 70-2560*1440, 71-1024*1024, - 72-160*128, 73-324*240, 74-324*256, 75-336*256, - 76-640*512, 77-2720*2048, 78-384*256, 79-384*216, - 80-320*256, 81-320*180, 82-320*192, 83-512*384, - 84-325*256, 85-256*192, 86-640*360, 87-1776x1340, - 88-1936x1092, 89-2080x784, 90-2144x604, 91-1920*1200, - 92-4064*3040, 93-3040*3040, 94-3072*2304, 95-3072*1152, - 96-2560*2560, 97-2688*1536, 98-2688*1520, 99-3072*3072, - 100-3392*2008, 101-4000*3080, 102-960*720, 103-1024*1536, - 104-704*1056, 105-352*528, 106-2048*1530, 107-2560*1600, - 108-2800*2100, 109-4088*4088, 110-4000*3072, 111-960*1080(1080p Lite) - 112-640*720(half 720p), 113-640*960, 114-320*480, 115-3840*2400, - 116-3840*1680, 117-2560*1120, 118-704*320, 119-1200*1920, - 120-480*768, 121-768*480, 122-320*512, 123-512*320, - 124-4096*1800, 125-1280*560, 126-2400*3840, 127-480*272, - 128-512*272, 129-2592*2592, 130-1792*2880, 131-1600*2560, - 132-2720*1192, 133-3MP(1920*1536/2048*1536) 134-5MP(2560*1944) - 135-2560*960, 136-2064*1544 137-4096*1200, - 138-3840*1080 139-2720*800 140-512*232 141-704*200, - 142-512*152, 143-2048*896 144-2048*600 145-1280*376, - 146-2592*1520, 147-2592*1536, 148-3072*8192, 149-768*2048, - 150-8208*3072, 151-4096*1536, 152-6912*2800, 153-3456*1400 - 154-480*720, 155-800*450, 156-480*270, 157-2560*1536, - 160-3264*2448, 161-288*320, 162-144*176, 163-480*640, - 164-240*320, 165-120*160, 166-576*720, 167-720*1280, - 168-576*960, 169-2944*1656, 170-432*240, 171-2160*3840, - 172-1080*1920, 173-7008*1080, 174-3504*540, 175-1752*270, - 176-876*135, 177-4096*1440, 178-4096*1080, 179-1536*864, - 180-180*240, 181-360*480, 182-540*720, 183-720*960, - 184-960*1280, 185-1080*1440, - 186-3200*1800, 187-1752*272, 188-872*136, 189-1280*1440, - 190-3520*544, 191-1728*256, 192-864*128, 193-5470*3684, - 194-2560*750, 195-1600*480, 196-1024*300, 197-848*480, - 198-8160*3616, 199-8160*2304, 200-4064*2560, 201-1400*1050, - 202-2688*1512, 203-704*288, 204-1560*656, 205-3072*1280, - 206-4320*1808, 207-6120*2560, 208-1280*960, 209-3000*3000, - 210-2032*3616, 211-7680*4320, 212-5760*3240, 213-3264*1836, - 214-2712*1536, 215-1080*720(ռλδ), 216-360x640(ռλδ),217-1440*812, - 218-8160*2416, 219-5760*1712, 220-4080*1200, 221-6144*2560, - 222-1568*656, 223-4096*1808, 224-2720*1200, 225-2896*848 - 226-2048*608 227-3840*1120 228-2720*784 229-1920*560, - 230-1360*400 231-704*208 232-496*144 233-352*128, - 234-512*240 235-512*160 236-368*128 237-256*128 - 238-2048*592 239-1456*416 240-1024*304 241-1280*368 - 242-912*256 243-640*192 244-252*112 δʹã 245-(576*704[P]/480*704[N]) - - 254-ʾֶηΧʹNET_DVR_MULTI_STREAM_COMPRESSIONCFGеdwResolutionʾֱ - 0xff-Auto(ʹõǰֱ) - 256-3888*1696 257-2784*1200 258-496*224 259-352*160 - 260-912*400 261-640*288 262-1456*640 263-1024*448 - 264-2896*1280 265-2544*1080 266-2736*768 267-1920*544 - 268-3840*1696 269-2880*848 270-5424*2400 271-5520*1600 - 272-848*376 273-912*272 274-1360*600 275-1456*432 - 276-2736*1200 277-5760*1696 278-8160*2400 279-5520*2400 - 280-4608*2592 281-4944*3280 282-6016*4008 283-720*480 - 284-3200*2400 285-2784*800 286-1968*848 287-1392*608 - 288-2736*1184 289-1920*848 290-2560*2880 291-1944*1212 - 292-1920*2400 293-384*384 294-768*768 295-4800*2688 - 296-6480*1080 297-8640*1440 298-4800*800 299-6720*1200 - 300-3600*600 301-4800*840 302-2400*400 303-3072*540 - 304-1440*810 305-1920*320 306-2688*480 307-1440*240 - 308-4800*1792 309-3360*1264 310-2304*880 311-3840*1440 - 312-2688*1008 313-1824*704 314-1248*496 315-1920*720 - 316-1344*496 317-912*336 318-1280*480 319-864*336 - 320-576*224 321-2704*1008 322-1904*704 323-1808*672 - 324-1264*464 325-944*336 326-2400*1344 327-2032*1440 - 328-4064*1792 329-304*112 330-960*360 331-672*240 - 332-464*160 333-896*336 334-624*224 335-640*240 - 336-448*160 337-4976*1452 338-1968*560 339-2736*784 - 340-3888*1136 341-6120*1800 342-4320*1280 343-3056*896 - 344-1776*528 345-1392*400 346-7256*1520 347-512*288 - 348-1936*1210 349-640*400 350-2688*1792 351-2464*2056 - 352-2720*1600 353-4800*1600 354-3600*1200 355-δ - 356-2400*800 357-1200*400 358-4096*3008 359-7680*4096 - 360-1080*1520 361-6656*3744 362-5120*1400 363-2560*704 - 364-2688*3040 365-1280*352 366-3376*1008 367-1688*504 - 368-5120*1440 369-1920*2160 370-4080*1808 371-4080*1152 - 372-2688*3888 373-3840*2880 374-2464*3520 375-4416*1696 - 376-1408*540 377-3456*1080 378-1728*540 379-704*1152 - 380-1408*1152 381-5120*2880 382-720*576 383-3984*1168 - 384-1920*1440 385-3840*4096 386-1920*536 387-1536*432 - 388-3072*864 389-1440*1080 390-720*540 391-960*544 - 392-720*544 393-5430*3054 394-8000*6000 395-6560*3690 - 396-2688*1944 397-960*272 398-960*368 399-960*304 - 400-3632*1632 401-1200*536 402-960*432 403-1920*3264 - 404-3040*1368 405-1704*2896 406-768*216 407-360*272 - 408-960*536 409-720*536 410-848*240 411-368*272 - 412-4096*2460 413-536*240 414-2560*1168 415-1920*864 - 416-752*336 417-752*416 418-560*416 419-592*272 - 420-448*336 421-832*464 422-624*464 423-672*304 - 424-672*368 425-496*368 426-832*368 427-592*336 - 428-8032*6032 429-4096*2464 430-8128*2304 431-1480*1664 - 432-1280*1944 433-1024*600 434-1520*2736 435-5328*3040 - 436-192*256 437-8112*2304 - */ - BYTE byResolution; - BYTE byBitrateType; // 0:, 1:,0xfe:ԶԴһ - BYTE byPicQuality; //ͼ 0- 1-κ 2-Ϻ 3-һ 4-ϲ 5-,ԶԴһ - /*Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - 13 - 384K 14 - 448K 15 - 512K 16 - 640K 17 - 768K 18 - 896K 19 - 1024K 20 - 1280K 21 - 1536K 22 - 1792K 23 - 2048K - 24 - 2560K 25 - 3072K 26 - 4096K 27 - 5120K 28 - 6144K 29 - 7168K 30 - 8192K*/ - DWORD dwVideoBitrate; - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; V2.0汾¼14-15; 15-18; 16-22; - //17-2518-3019-3520-4021-4522-5023-5524-6025-3;26-5;27-7;28-9;29-100; 30-120;31-24;32-48,33-8.3,0xfffffffe-ԶԴһ - WORD wIntervalFrameI; //I֡,0xfffe ԶԴһ - BYTE byIntervalBPFrame;//0-BBP֡; 1-BP֡; 2-P֡(2006-08-11 ӵP֡ýӿڣԸʵʱʱ)0xfe-ԶԴһ - BYTE byres1; // - BYTE byVideoEncType; //Ƶ 0-˽2641-׼h2642-׼mpeg47-M-JPEG8-MPEG29-SVAC, 10-׼h265, 0xfe-ԶԴһ£0xff-Ч - BYTE byAudioEncType; //Ƶ 0-G722;1-G711_U;2-G711_A;5-MP2L2;6-G276;7-AAC;8-PCM;12-AAC_LC;13-AAC_LD;14-Opus;15-MP3;0xff-Ч - BYTE byVideoEncComplexity; //Ƶ븴Ӷȣ0-ͣ1-У2,0xfe:ԶԴһ - BYTE byEnableSvc; //0 - SVCܣ1- SVC; 2-ԶSVC - BYTE byFormatType; //װͣ1-2-RTPװ3-PSװ4-TSװ5-˽У6-FLV7-ASF8-3GP,9-RTP+PS꣺GB281810xff-Ч - BYTE byAudioBitRate; //Ƶ ο BITRATE_ENCODE_INDEX - BYTE byStreamSmooth;//ƽ 11001ȼʾ(Clear)100ʾƽ(Smooth) - BYTE byAudioSamplingRate;//Ƶ0-Ĭ,1- 16kHZ, 2-32kHZ, 3-48kHZ, 4- 44.1kHZ,5-8kHZ - BYTE bySmartCodec;///*bit0-ܱ 0-رգ1-򿪣bit1 - ģʽ 0 - رգ1 - */ - BYTE byDepthMapEnable;// ͼʹܿأ0-رգ1-򿪣󣬵ڶͨ˫ĿƵãĬ 960*540 ͼ - //ƽʣSmartCodecʹܿЧ, 0-0K 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K 24-2560K 25-3072K 26-4096K 27-5120K 28-6144K 29-7168K 30-8192K - //λ(15λ)ó1ʾԶ, 0-14λʾֵ(MIN- 0 K) - WORD wAverageVideoBitrate; -}NET_DVR_COMPRESSION_INFO_V30, *LPNET_DVR_COMPRESSION_INFO_V30; - -//ͨѹ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO_V30 struNormHighRecordPara; //¼ Ӧ8000ͨ - NET_DVR_COMPRESSION_INFO_V30 struRes;// char reserveData[28]; - NET_DVR_COMPRESSION_INFO_V30 struEventRecordPara; //¼ѹ - NET_DVR_COMPRESSION_INFO_V30 struNetPara; //() -}NET_DVR_COMPRESSIONCFG_V30, *LPNET_DVR_COMPRESSIONCFG_V30; - -//ѹ(ӽṹ) -typedef struct -{ - BYTE byStreamType; //0-Ƶ,1-,ʾѹʱλʾǷѹ - BYTE byResolution; //ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(ר) - BYTE byBitrateType; //0:ʣ1:ʣ2 - BYTE byPicQuality; //ͼ 0- 1-κ 2-Ϻ 3-һ 4-ϲ 5- - DWORD dwVideoBitrate; /*Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - 13 - 384K 14 - 448K 15 - 512K 16 - 640K 17 - 768K 18 - 896K 19 - 1024K 20 - 1280K 21 - 1536K 22 - 1792K 23 - 2048K - 24 - 2560K 25 - 3072K 26 - 4096K 27 - 5120K 28 - 6144K 29 - 7168K 30 - 8192K*/ - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; -}NET_DVR_COMPRESSION_INFO, *LPNET_DVR_COMPRESSION_INFO; - -//ͨѹ -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO struRecordPara; //¼/¼¼ - NET_DVR_COMPRESSION_INFO struNetPara; /// -}NET_DVR_COMPRESSIONCFG, *LPNET_DVR_COMPRESSIONCFG; - -//ѹ(ӽṹ)(չ) I֡ -typedef struct -{ - BYTE byStreamType; //0-Ƶ, 1- - BYTE byResolution; //ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF, 5-2QCIF(352X144)(ר) - BYTE byBitrateType; //0:ʣ1:ʣ2 - BYTE byPicQuality; //ͼ 0- 1-κ 2-Ϻ 3-һ 4-ϲ 5- - DWORD dwVideoBitrate; /*Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - 13 - 384K 14 - 448K 15 - 512K 16 - 640K 17 - 768K 18 - 896K 19 - 1024K 20 - 1280K 21 - 1536K 22 - 1792K 23 - 2048K - 24 - 2560K 25 - 3072K 26 - 4096K 27 - 5120K 28 - 6144K 29 - 7168K 30 - 8192K*/ - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.014-15, 15-18, 16-22; - WORD wIntervalFrameI; //I֡ - //2006-08-11 ӵP֡ýӿڣԸʵʱʱ - BYTE byIntervalBPFrame;//0-BBP֡; 1-BP֡; 2-P֡ - BYTE byRes; -}NET_DVR_COMPRESSION_INFO_EX, *LPNET_DVR_COMPRESSION_INFO_EX; - -//ͨѹ(չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO_EX struRecordPara; //¼ - NET_DVR_COMPRESSION_INFO_EX struNetPara; // -}NET_DVR_COMPRESSIONCFG_EX, *LPNET_DVR_COMPRESSIONCFG_EX; - - -//ʱ¼(ӽṹ) -typedef struct -{ - NET_DVR_SCHEDTIME struRecordTime; - BYTE byRecordType; //0:ʱ¼1:ƶ⣬2:¼3:|4:&, 5:, 6: ¼,10-PIR11-߱12-ȱ13-б,14-ܽͨ¼15Խ⣬16⣬17Ƶ쳣 - char reservedData[3]; -}NET_DVR_RECORDSCHED, *LPNET_DVR_RECORDSCHED; - -//ȫ¼(ӽṹ) -typedef struct -{ - WORD wAllDayRecord; /* Ƿȫ¼ 0- 1-*/ - BYTE byRecordType; /* ¼ 0:ʱ¼1:ƶ⣬2:¼3:|4:& 5:, 6: ¼, - 10-PIR11-߱12-ȱ13-ƶ||PIR|߱|ȱ,14-ܽͨ¼,15-Խ,16-,17-쳣, - 18-,19-⣨Խ|||뿪|ʶ,20, 21-POS¼*/ - char reservedData; -}NET_DVR_RECORDDAY, *LPNET_DVR_RECORDDAY; - -//ͨ¼(9000չ) -typedef struct -{ - DWORD dwSize; - DWORD dwRecord; /*Ƿ¼ 0- 1-*/ - NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS]; - NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwRecordTime; /* ¼ʱ 0-5룬 1-10룬 2-30룬 3-1ӣ 4-2ӣ 5-5ӣ 6-10*/ - DWORD dwPreRecordTime; /* Ԥ¼ʱ 0-Ԥ¼ 1-5 2-10 3-15 4-20 5-25 6-30 7-0xffffffff(Ԥ¼) */ - DWORD dwRecorderDuration; /* ¼񱣴ʱ */ - BYTE byRedundancyRec; /*Ƿ¼,Ҫ˫ݣ0/1*/ - BYTE byAudioRec; /*¼ʱʱǷ¼Ƶݣд˷*/ - BYTE byStreamType; // 0-1-2-ͬʱ 3- - BYTE byPassbackRecord; // 0:ش¼ 1ش¼ - WORD wLockDuration; // ¼ʱλСʱ 0ʾ0xffffʾ¼εʱijʱ¼񣬽 - BYTE byRecordBackup; // 0:¼񲻴浵 1¼浵 - BYTE bySVCLevel; //SVC֡ͣ0-飬1-֮һ 2-ķ֮ - BYTE byRecordManage; //¼ȣ0-ã 1-; ʱжʱ¼񣻲ʱжʱ¼񣬵¼ƻʹãƶ⣬شڰ¼ƻ - BYTE byExtraSaveAudio; //Ƶ0-ǵ棬1- - /*¼ܺ㷨Զ¼㷨书Ϊ¼Ŀ֣ήʡ֡ʣĿʱָֻȫʼ֡ʣӶﵽԴĵĿ*/ - BYTE byIntelligentRecord;//Ƿ¼ 0- 1- - BYTE byReserve; -}NET_DVR_RECORD_V30, *LPNET_DVR_RECORD_V30; - -//ʱ¼(ӽṹ) -typedef struct -{ - NET_DVR_SCHEDTIME struRecordTime; - /*¼ͣ0:ʱ¼1:ƶ⣬2:¼3:|4:& 5:, - 6-ܱ¼10-PIR11-߱12-ȱ13-ȫ¼,14-ܽͨ¼, - 15-Խ,16-,17-쳣,18-, - 19-(Խ|||쳣|),20,21-POS¼, - 22-, 23-뿪,24-ǻ,25-Աۼ,26-˶,27-ͣ, - 28-Ʒ,29-Ʒȡ,30-⣬31-ƻ,32-ܶʼ(˾),33-¼(˾), 34-˯¼(˾) - 35-ֻ, 36-Ԥ37-±38-²39-߲±,40-41-,42-ҵѯ,43-,44-ʸ,45-޳ʱ46-ץģ47-Ƿ̯,48-Ŀץ, - 49-˶50ڼ⣬51-52仯 53-ŷż 54-Ҷȱ*/ - BYTE byRecordType; - BYTE byRes[31]; -}NET_DVR_RECORDSCHED_V40, *LPNET_DVR_RECORDSCHED_V40; - -//ȫ¼(ӽṹ) -typedef struct -{ - BYTE byAllDayRecord; /* Ƿȫ¼ 0- 1-*/ - /*¼ͣ0:ʱ¼1:ƶ⣬2:¼3:|4:& 5:, - 6-ܱ¼10-PIR11-߱12-ȱ13-ȫ¼,14-ܽͨ¼, - 15-Խ,16-,17-쳣,18-, - 19-(Խ|||쳣|),20,21-POS¼, - 22-, 23-뿪,24-ǻ,25-Աۼ,26-˶,27-ͣ, - 28-Ʒ,29-Ʒȡ,30-⣬31-ƻ,32-ܶʼ(˾),33-¼(˾), 34-˯¼(˾) - 35-ֻ, 36-Ԥ37-±38-²39-߲±,40-41-,42-ҵѯ,43-,44-ʸ,45-޳ʱ,46-ץ,47-Ƿ̯,48-Ŀץ, - 49-˶50ڼ⣬51-52仯 53-ŷż 54-Ҷȱ*/ - BYTE byRecordType; - BYTE byRes[62]; -}NET_DVR_RECORDDAY_V40, *LPNET_DVR_RECORDDAY_V40; - -typedef struct -{ - DWORD dwSize; - DWORD dwRecord; /*Ƿ¼ 0- 1-*/ - NET_DVR_RECORDDAY_V40 struRecAllDay[MAX_DAYS]; - NET_DVR_RECORDSCHED_V40 struRecordSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwRecordTime; /* ¼ʱ 0-5룬 1-10룬 2-30룬 3-1ӣ 4-2ӣ 5-5ӣ 6-10*/ - DWORD dwPreRecordTime; /* Ԥ¼ʱ 0-Ԥ¼ 1-5 2-10 3-15 4-20 5-25 6-30 7-0xffffffff(Ԥ¼) */ - DWORD dwRecorderDuration; /* ¼񱣴ʱ */ - BYTE byRedundancyRec; /*Ƿ¼,Ҫ˫ݣ0/1*/ - BYTE byAudioRec; /*¼ʱʱǷ¼Ƶݣд˷*/ - BYTE byStreamType; // 0-1-2-ͬʱ 3- - BYTE byPassbackRecord; // 0:ش¼ 1ش¼ - WORD wLockDuration; // ¼ʱλСʱ 0ʾ0xffffʾ¼εʱijʱ¼񣬽 - BYTE byRecordBackup; // 0:¼񲻴浵 1¼浵 - BYTE bySVCLevel; //SVC֡ͣ0-飬1-֮һ 2-ķ֮ - BYTE byRecordManage; //¼ȣ0-ã 1-; ʱжʱ¼񣻲ʱжʱ¼񣬵¼ƻʹãƶ⣬شڰ¼ƻ - BYTE byExtraSaveAudio;//Ƶ洢 - /*¼ܺ㷨Զ¼㷨书Ϊ¼Ŀ֣ήʡ֡ʣĿʱָֻȫʼ֡ʣӶﵽԴĵĿ*/ - BYTE byIntelligentRecord;//Ƿ¼ 0- 1- - BYTE byRes[125]; -}NET_DVR_RECORD_V40, *LPNET_DVR_RECORD_V40; - -//ͨ¼ -typedef struct -{ - DWORD dwSize; - DWORD dwRecord; /*Ƿ¼ 0- 1-*/ - NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS]; - NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT]; - DWORD dwRecordTime; /* ¼ʱ䳤 */ - DWORD dwPreRecordTime; /* Ԥ¼ʱ 0-Ԥ¼ 1-5 2-10 3-15 4-20 5-25 6-30 7-0xffffffff(Ԥ¼) */ -}NET_DVR_RECORD, *LPNET_DVR_RECORD; - -//̨Эṹ -typedef struct -{ - DWORD dwType; /*ֵ*/ - BYTE byDescribe[DESC_LEN]; /*8000еһ*/ -}NET_DVR_PTZ_PROTOCOL; - -typedef struct -{ - DWORD dwSize; - NET_DVR_PTZ_PROTOCOL struPtz[PTZ_PROTOCOL_NUM];/*200PTZЭ*/ - DWORD dwPtzNum; /*ЧptzЭĿ0ʼ(ʱ1)*/ - BYTE byRes[8]; -}NET_DVR_PTZCFG, *LPNET_DVR_PTZCFG; - -/***************************̨(end)******************************/ -typedef struct tagNET_DVR_SERIALSTART_V40 //͸ͨ -{ - DWORD dwSize; //ṹС - DWORD dwSerialType; //ںţ1-232ڣ2-485ڣ - BYTE bySerialNum; //ڱ - BYTE byRes[255]; -}NET_DVR_SERIALSTART_V40,*LPNET_DVR_SERIALSTART_V40; - -//ͨ(̨) չ -typedef struct tagNET_DVR_DECODERCFG_V40 -{ - DWORD dwSize; //ṹС - DWORD dwBaudRate; // 0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit; //мλ 05λ16λ27λ38λ; - BYTE byStopBit; //ֹͣλ 01λ12λ - BYTE byParity; //У 0У飬1У飬2żУ - BYTE byFlowcontrol; //0ޣ1,2-Ӳ - WORD wDecoderType; //*/ - WORD wDecoderAddress; //ַ0-255 - BYTE bySetPreset [MAX_PRESET_V30]; //ԤõǷ,0-û,1- - BYTE bySetCruise[MAX_CRUISE_V30]; //ѲǷ: 0-û,1- - BYTE bySetTrack [MAX_TRACK_V30]; //켣Ƿ,0-û,1- - BYTE bySerialNO; //ڱ - BYTE byWorkMode; /*ģʽ 1-󴮿ڿƣ2-Ļƣ3-͸ͨģʽ 4-PPPģʽ 5-̨ģʽ 6-ֱ 7-̿ 8-ذ 9-̨ 12-LEDʾ13-ץݴ*/ - BYTE byRes[254]; // -}NET_DVR_DECODERCFG_V40,*LPNET_DVR_DECODERCFG_V40; - -typedef struct tagNET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO -{ - float fMaxTemperature;//£ȷСһλ - float fMinTemperature;//£ȷСһλ - float fAverageTemperature;//ƽ£ȷСһλ - NET_VCA_POINT struHighestPoint; //¶λ - NET_VCA_POINT struLowestPoint; //¶λ - BYTE byIsFreezedata;//Ƿݶ 0- 1- - BYTE byRes[15]; -}NET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO, *LPNET_DVR_THERMOMETRYRULE_TEMPERATURE_INFO; - -//ͨ(̨)(9000չ) -typedef struct -{ - DWORD dwSize; - DWORD dwBaudRate;//(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit;// мλ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - WORD wDecoderType;//, 0ʼӦptzЭбNET_DVR_IPC_PROTO_LISTõ - WORD wDecoderAddress; /*ַ:0 - 255*/ - BYTE bySetPreset[MAX_PRESET_V30]; /* ԤõǷ,0-û,1-*/ - BYTE bySetCruise[MAX_CRUISE_V30]; /* ѲǷ: 0-û,1- */ - BYTE bySetTrack[MAX_TRACK_V30]; /* 켣Ƿ,0-û,1-*/ -}NET_DVR_DECODERCFG_V30, *LPNET_DVR_DECODERCFG_V30; - -//ͨ(̨) -typedef struct -{ - DWORD dwSize; - DWORD dwBaudRate; //(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit; // мλ 05λ16λ27λ38λ; - BYTE byStopBit; // ֹͣλ 01λ12λ; - BYTE byParity; // У 0У飬1У飬2żУ; - BYTE byFlowcontrol; // 0ޣ1,2-Ӳ - WORD wDecoderType; // NET_DVR_IPC_PROTO_LISTеõ - WORD wDecoderAddress; /*ַ:0 - 255*/ - BYTE bySetPreset[MAX_PRESET]; /* ԤõǷ,0-û,1-*/ - BYTE bySetCruise[MAX_CRUISE]; /* ѲǷ: 0-û,1- */ - BYTE bySetTrack[MAX_TRACK]; /* 켣Ƿ,0-û,1-*/ -}NET_DVR_DECODERCFG, *LPNET_DVR_DECODERCFG; - -//ppp(ӽṹ) -typedef struct -{ - NET_DVR_IPADDR struRemoteIP; //ԶIPַ - NET_DVR_IPADDR struLocalIP; //IPַ - char sLocalIPMask[16]; //IPַ - BYTE sUsername[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byPPPMode; //PPPģʽ, 01 - BYTE byRedial; //Ƿز 0-,1- - BYTE byRedialMode; //زģʽ,0-ɲָ,1-Ԥûز - BYTE byDataEncrypt; //ݼ,0-,1- - DWORD dwMTU; //MTU - char sTelephoneNumber[PHONENUMBER_LEN]; //绰 -}NET_DVR_PPPCFG_V30, *LPNET_DVR_PPPCFG_V30; - -//ppp(ӽṹ) -typedef struct -{ - char sRemoteIP[16]; //ԶIPַ - char sLocalIP[16]; //IPַ - char sLocalIPMask[16]; //IPַ - BYTE sUsername[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byPPPMode; //PPPģʽ, 01 - BYTE byRedial; //Ƿز 0-,1- - BYTE byRedialMode; //زģʽ,0-ɲָ,1-Ԥûز - BYTE byDataEncrypt; //ݼ,0-,1- - DWORD dwMTU; //MTU - char sTelephoneNumber[PHONENUMBER_LEN]; //绰 -}NET_DVR_PPPCFG, *LPNET_DVR_PPPCFG; - -//RS232ڲ(9000չ) -typedef struct -{ - DWORD dwBaudRate; /*(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k;*/ - BYTE byDataBit; /* мλ 05λ16λ27λ38λ */ - BYTE byStopBit; /* ֹͣλ 01λ12λ */ - BYTE byParity; /* У 0У飬1У飬2żУ */ - BYTE byFlowcontrol; /* 0ޣ1,2-Ӳ */ - DWORD dwWorkMode; //ģʽ0232PPPţ1232ڲƣ2͸ͨ 3- ptzģʽ,Ѷʪȴ, 4-ģʽ 5-󴮿ڿ 6-Ļ 7-ֱ 8-̿ 9-ذ 10-̨ -}NET_DVR_SINGLE_RS232; - -typedef struct tagNET_DVR_USB_RS232 -{ - DWORD dwBaudRate; /*(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k;*/ - BYTE byDataBit; /* мλ 05λ16λ27λ38λ */ - BYTE byStopBit; /* ֹͣλ 01λ12λ */ - BYTE byParity; /* У 0У飬1У飬2żУ */ - BYTE byFlowcontrol; /* 0ޣ1,2-Ӳ */ - BYTE byVirtualSerialPort; //⴮ڱ - BYTE byRes[3]; -}NET_DVR_USB_RS232,*LPNET_DVR_USB_RS232; - -//RS232ڲ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_SINGLE_RS232 struRs232[MAX_SERIAL_PORT];/*ע⣺˽ṹ޸ˣԭǵṹ޸Ϊṹ*/ - NET_DVR_PPPCFG_V30 struPPPConfig; -}NET_DVR_RS232CFG_V30, *LPNET_DVR_RS232CFG_V30; - -//RS232ڲ -typedef struct -{ - DWORD dwSize; - DWORD dwBaudRate;//(bps)0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byDataBit;// мλ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - DWORD dwWorkMode;// ģʽ0խ(232PPP)1̨(232ڲ)2͸ͨ - NET_DVR_PPPCFG struPPPConfig; -}NET_DVR_RS232CFG, *LPNET_DVR_RS232CFG; - - -typedef struct -{ - DWORD dwEnablePresetChan; /*Ԥõͨ, 0xfffffffʾԤõ*/ - DWORD dwPresetPointNo; /*ԤõͨӦԤõ, 0xfffffffʾԤõ㡣*/ -}NET_DVR_PRESETCHAN_INFO, LPNET_DVR_PRESETCHAN_INFO; - -typedef struct -{ - DWORD dwEnableCruiseChan; /*Ѳͨ*/ - DWORD dwCruiseNo; /*ѲͨӦѲ, 0xfffffffʾЧ*/ -}NET_DVR_CRUISECHAN_INFO, LPNET_DVR_CRUISECHAN_INFO; - -typedef struct -{ - DWORD dwEnablePtzTrackChan; /*̨켣ͨ*/ - DWORD dwPtzTrackNo; /*̨켣ͨӦı, 0xfffffffʾЧ*/ -}NET_DVR_PTZTRACKCHAN_INFO, LPNET_DVR_PTZTRACKCHAN_INFO; - -typedef struct tagNET_DVR_PTZ_NOTIFICATION_COND -{ - DWORD dwSize; - /* - 0-facedetection, - 1-vehicleDetection, - 2-scenechangedetection, - 3-LineDetection, - 4-regionEntrance, - 5-regionExiting, - 6-loitering, - 7-group, - 8-rapidMove, - 9-parking, - 10-unattendedBaggage, - 11-attendedBaggage, - 12-audioDetection, - 13-PIR, - 14-defocusDetection - 15-temperature, - 16-fireDetection, - 17-thermometry, - 18-shipsDetection - 19-fieldDetection - 20-blockListFaceContrast - 21-allowListFaceContrast - 22- humanRecognition - 23- faceContrast - */ - WORD byEventType; - BYTE byRes[2]; - DWORD dwChannel; - BYTE byRes1[128]; -}NET_DVR_PTZ_NOTIFICATION_COND, *LPNET_DVR_PTZ_NOTIFICATION_COND; - -typedef struct tagNET_DVR_PTZ_NOTIFICATION_CFG -{ - DWORD dwSize; - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ( ptz) - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ( ptz) - DWORD dwEnablePtzTrackChanNum; //ǰ̨켣ͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨켣ͨϢ( ptz) - BYTE byRes1[1024]; -}NET_DVR_PTZ_NOTIFICATION_CFG, *LPNET_DVR_PTZ_NOTIFICATION_CFG; - - -typedef struct tagNET_DVR_PTZ_NOTIFICATION -{ - DWORD dwSize; - /* - 0-facedetection, - 1-vehicleDetection, - 2-scenechangedetection, - 3-LineDetection, - 4-regionEntrance, - 5-regionExiting, - 6-loitering, - 7-group, - 8-rapidMove, - 9-parking, - 10-unattendedBaggage, - 11-attendedBaggage, - 12-audioDetection, - 13-PIR, - 14-defocusDetection - 15-temperature, - 16-fireDetection, - 17-thermometry, - 18-shipsDetection - 19-fieldDetection - 20-blockListFaceContrast - 21-allowListFaceContrast - 22- humanRecognition - */ - WORD byEventType; - BYTE byRes[62]; - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ( ptz) - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ( ptz) - DWORD dwEnablePtzTrackChanNum; //ǰ̨켣ͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨켣ͨϢ( ptz) - BYTE byRes1[1024]; -}NET_DVR_PTZ_NOTIFICATION, *LPNET_DVR_PTZ_NOTIFICATION; - -#define NET_SDK_MAX_EVENT_NUM 64 //¼ָ֧ - -//(256·NVRչ) -typedef struct tagNET_DVR_ALARMINCFG_V40 -{ - DWORD dwSize; - BYTE sAlarmInName[NAME_LEN]; /* */ - BYTE byAlarmType; //,0,1 - BYTE byAlarmInHandle; /* Ƿ 0- 1-*/ - BYTE byChannel; // 봥ʶͨ - BYTE byInputType; // 0-ʽ 1-źʽ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000:ץͼϴ*/ - /*0x2000:ű*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOutChanNum; //ıͨ ʵ֧ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; //ͨ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - /*¼ͨ*/ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwCurRecordChanNum; //ǰʵõĹ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; /* ʵʴ¼ֵͨʾ,ýУ±0 - dwCurRecordChanNum -1Чм0xffffffff,Ч*/ - DWORD dwMaxEnablePtzCtrlNun; //ǫ̃(ֻ) - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ - BYTE byPresetDurationTime[MAX_CHANNUM_V40];//Ԥõͣʱ Χ0-20sĬ10s - BYTE byRes2[4]; /**/ - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ - DWORD dwEnablePtzTrackChanNum; //ǰѲͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨켣ͨϢ - WORD wEventType[NET_SDK_MAX_EVENT_NUM/*64*/]; /*¼ͣÿһλӦһ¼*/ - BYTE byRes[128]; -}NET_DVR_ALARMINCFG_V40, *LPNET_DVR_ALARMINCFG_V40; - -//(9000չ) -typedef struct -{ - DWORD dwSize; - BYTE sAlarmInName[NAME_LEN]; /* */ - BYTE byAlarmType; //,0,1 - BYTE byAlarmInHandle; /* Ƿ 0- 1-*/ - BYTE byChannel; // 봥ʶͨ - BYTE byInputType; // 0-ʽ 1-źʽ - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byEnablePreset[MAX_CHANNUM_V30]; /* ǷԤõ 0-,1-*/ - BYTE byPresetNo[MAX_CHANNUM_V30]; /* ǫ̃Ԥõ,һԵǫ̈ͨԤõ, 0xffʾԤõ㡣*/ - BYTE byRes2[192]; /**/ - BYTE byEnableCruise[MAX_CHANNUM_V30]; /* ǷѲ 0-,1-*/ - BYTE byCruiseNo[MAX_CHANNUM_V30]; /* Ѳ */ - BYTE byEnablePtzTrack[MAX_CHANNUM_V30]; /* Ƿù켣 0-,1-*/ - BYTE byPTZTrack[MAX_CHANNUM_V30]; /* ǫ̃Ĺ켣 */ - BYTE byRes3[16]; -}NET_DVR_ALARMINCFG_V30, *LPNET_DVR_ALARMINCFG_V30; - - -typedef struct tagNET_DVR_ALARMINFO_FIXED_HEADER -{ - /*0-ź,1-Ӳ,2-źŶʧ3ƶ⣬4Ӳδʽ,5-дӲ̳,6-ڵ - 7-ʽƥ, 8-Ƿʣ9-Ƶź쳣10-¼쳣11-ܳ仯12-쳣13-ǰ/¼ֱʲƥ, - 14-Դʧ,15-ⱨ, 16-ȱ쳣17-¼18-Խ󱨾,19-Ƶʧ20-¼ - 21-ر¼22-㷨쳣23-屨,24-Ӳ쳣,25-,26-ͼƬ,27-POC쳣,28-ӽ쳣 - 30-ȱSD,32-̨ת쳣34-쳣*/ - DWORD dwAlarmType;// - NET_DVR_TIME_EX struAlarmTime; //ʱ - union - { - BYTE byUnionLen[116]; //ֳȥ8ֽչʱ - struct - { - DWORD dwAlarmInputNo; //ıͨţһֻһ - DWORD dwTrigerAlarmOutNum; /*ıں䳤ݲдıͨţֽڱʾһ*/ - DWORD dwTrigerRecordChanNum; /*¼ͨں䳤ݲд¼ͨţֽڱʾһ*/ - }struIOAlarm; // dwAlarmTypeΪ0ʱЧ - struct - { - DWORD dwAlarmChanNum; /*ͨݸں䳤ݲзıͨţֽڱʾһ*/ - DWORD dwPicLen;//JpegͼƬ - BYTE byPicURL; //ͼƬݲURLʽ 0-ͼƬݣ1-ͼƬURLʽ - BYTE byTarget; /*0-ʶĿ꣬1-ʶĿΪˣ2-ʶĿΪ*/ - BYTE byRes1[2]; // -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pDataBuff; //ͼƬͼƬURL -#else - char* pDataBuff; //ͼƬͼƬURL - BYTE byRes3[4]; -#endif - }struAlarmChannel; // dwAlarmTypeΪ2369101328ʱЧ - struct - { - DWORD dwAlarmHardDiskNum; /*Ӳݳȣں䳤ݲзӲ̺ţĽڱʾһ*/ - }struAlarmHardDisk; // dwAlarmTypeΪ1,4,5ʱЧ - struct - { - BYTE bySubAlarmType; //ͣ1-һӳ¼ - BYTE byRes1[3]; // - NET_DVR_TIME_EX struRecordEndTime; //¼ʱ - }struRecordingHost; //¼רñ - struct - { - float fVoltageValue;//Դѹֵ,λV,ȷ0.1 - BYTE byVoltageAlarmType; //Դѹͣ0-Դѹߣ1-Դѹ - BYTE byRes1[3]; //ֽ - }struVoltageInstable; //dwAlarmType=31ʱЧ - - struct - { - float fTemperature;//¶ȣȷС1λ - DWORD dwCustomInfoLength; //ԶϢ - BYTE* pCustomInfo; //ԶϢ - BYTE byType; //̨ת 1-ˮƽת 2-ֱת - BYTE byDeicingEnabled; // ̨ʹ 0-ر 1- - BYTE byRes2[2]; // - DWORD dwChannel; //ͨ - }struPTLocking; //̨ת쳣 dwAlarmType=32ʱЧ - - struct - { - BYTE byExceptionType; //쳣,0-, 1- ־洢쳣2-־ - }struLogException; //dwAlarmType=33ʱЧ,־쳣Ϣ - - struct - { - NET_DVR_TIME_EX struAlarmTime; //ʱ䣬豸ʱ - BYTE byExceptionType; // 0- 1- ߳ 2- ǰ012 Ϊ - BYTE byRes1[3]; //ֽ - }struAbnormalReboot; //쳣 dwAlarmType=34ʱЧ - - }uStruAlarm; - DWORD* pRes; //ڼ64λ½ṹֽڲ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes; // - WORD wDevInfoIvmsChannel; //Ӻ͸ǰʱͨ - BYTE byRes2[2]; // -}NET_DVR_ALRAM_FIXED_HEADER, *LPNET_DVR_ALARM_FIXED_HEADER; - -//ϴϢ(256·NVRչ) -typedef struct NET_DVR_ALARMINFO_V40 -{ - NET_DVR_ALRAM_FIXED_HEADER struAlarmFixedHeader; //̶ - DWORD* pAlarmData; //ɱ䲿 -}NET_DVR_ALARMINFO_V40, *LPNET_DVR_ALARMINFO_V40; - -// -typedef struct -{ - DWORD dwSize; - BYTE sAlarmInName[NAME_LEN]; /* */ - BYTE byAlarmType; //,0,1 - BYTE byAlarmInHandle; /* Ƿ 0- 1-*/ - BYTE byChannel; // 봥ʶͨ - BYTE byRes; - NET_DVR_HANDLEEXCEPTION struAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM]; //¼ͨ,Ϊ1ʾͨ - BYTE byEnablePreset[MAX_CHANNUM]; /* ǷԤõ 0-,1-*/ - BYTE byPresetNo[MAX_CHANNUM]; /* ǫ̃Ԥõ,һԵǫ̈ͨԤõ, 0xffʾԤõ㡣*/ - BYTE byEnableCruise[MAX_CHANNUM]; /* ǷѲ 0-,1-*/ - BYTE byCruiseNo[MAX_CHANNUM]; /* Ѳ */ - BYTE byEnablePtzTrack[MAX_CHANNUM]; /* Ƿù켣 0-,1-*/ - BYTE byPTZTrack[MAX_CHANNUM]; /* ǫ̃Ĺ켣 */ -}NET_DVR_ALARMINCFG, *LPNET_DVR_ALARMINCFG; - -//ģⱨ -typedef struct -{ - DWORD dwSize; - BYTE byEnableAlarmHandle; // - BYTE byRes1[3]; - BYTE byAlarmInName[NAME_LEN]; //ģⱨ - WORD wAlarmInUpper; //ģѹޣʵֵ10Χ0~360 - WORD wAlarmInLower; //ģѹޣʵֵ10Χ0~360 - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ - BYTE byRes2[100]; -}NET_DVR_ANALOG_ALARMINCFG, *LPNET_DVR_ANALOG_ALARMINCFG; - -//ϴϢ(9000չ) -typedef struct -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣, - 10-¼쳣,11- ܳ仯,12-쳣,13-ǰ/¼ֱʲƥ,14-Դʧ,15-, 16-POE쳣,17-쳣, - 18-쳣,19-Ƶʧ20-¼21-ر¼22-㷨쳣23-屨,24-Ӳ쳣,25-,26-ͼƬ,27-POC쳣 - 28-ӽ쳣,29-ͣ30-ȱSD*/ - DWORD dwAlarmInputNumber;/*˿*/ - BYTE byAlarmOutputNumber[MAX_ALARMOUT_V30];/*˿ڣΪ1ʾӦ*/ - BYTE byAlarmRelateChannel[MAX_CHANNUM_V30];/*¼ͨΪ1ʾӦ¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - BYTE byChannel[MAX_CHANNUM_V30];/*dwAlarmTypeΪ23,6,9,10,14,19,28ʱʾĸͨdwChannel[0]Ӧ1ͨ*/ - BYTE byDiskNumber[MAX_DISKNUM_V30];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]Ӧ1Ӳ*/ - #ifdef SDK_CHEZAI - NET_DVR_ADDIT_POSITION GPS_pos; /* GPSλϢ */ - #endif -}NET_DVR_ALARMINFO_V30, *LPNET_DVR_ALARMINFO_V30; - -typedef struct tagNET_DVR_ALARM_HOT_SPARE -{ - DWORD dwSize; //ṹ - DWORD dwExceptionCase; //ԭ 0-쳣 - NET_DVR_IPADDR struDeviceIP; //쳣豸IPַ - BYTE byRes[256]; // -}NET_DVR_ALARM_HOT_SPARE, *LPNET_DVR_ALARM_HOT_SPARE; - -typedef struct -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣10-¼쳣 11- ܳ仯*/ - DWORD dwAlarmInputNumber;/*˿*/ - DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*˿ڣһλΪ1ʾӦһ*/ - DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*¼ͨһλΪ1ʾӦһ·¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - DWORD dwChannel[MAX_CHANNUM];/*dwAlarmTypeΪ23,6,9,10ʱʾĸͨdwChannel[0]λӦ1ͨ*/ - DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]λӦ1Ӳ*/ -}NET_DVR_ALARMINFO, *LPNET_DVR_ALARMINFO; - -////////////////////////////////////////////////////////////////////////////////////// -//IPC -/* IP豸ṹ */ -typedef struct -{ - DWORD dwEnable; /* IP豸Ƿ */ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - NET_DVR_IPADDR struIP; /* IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byRes[34]; /* */ -}NET_DVR_IPDEVINFO, *LPNET_DVR_IPDEVINFO; - -#define DEV_ID_LEN 32 //豸ID - -//ipc豸Ϣչ֧ip豸 -typedef struct tagNET_DVR_IPDEVINFO_V31 -{ - BYTE byEnable; //IP豸ǷЧ - BYTE byProType; //Эͣ0-˽Э飬1-Э飬2- - BYTE byEnableQuickAdd; // 0 ֿ֧ 1 ʹÿ - // Ҫ豸IPЭͣϢ豸Ĭָ - BYTE byCameraType; //ֵͨͣΪ 0-壬1-ʦ٣2-ѧ٣3-ʦȫ4-ѧȫ5-ý壬6Cʦλ,7-ѧλ,8-鶨λ,9- - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - BYTE byDomain[MAX_DOMAIN_NAME]; //豸 - NET_DVR_IPADDR struIP; //IPַ - WORD wDVRPort; // ˿ں - BYTE szDeviceID[DEV_ID_LEN]; //豸ID - BYTE byEnableTiming; //0-1-NVRIPCԶУʱ2-NVRIPCԶУʱ - BYTE byCertificateValidation;//֤֤ - // byCertificateValidation:bit0: 0-֤֤ 1-֤֤ - // byCertificateValidation:bit1: 0-ĬͨŶ˿ 1-ĬͨŶ˿ -}NET_DVR_IPDEVINFO_V31, *LPNET_DVR_IPDEVINFO_V31; - -/* IPͨƥ */ -typedef struct -{ - BYTE byEnable; /* ͨǷ */ - BYTE byIPID; //IP豸ID8λ豸IDΪ0ʱʾͨ - BYTE byChannel; /* ͨ */ - BYTE byIPIDHigh; // IP豸IDĸ8λ - BYTE byTransProtocol; //Э0-TCP/auto(豸)1-UDP 2-ಥ 3-TCP 4-auto - BYTE byGetStream; /* ǷԸͨȡ0-ǣ1-*/ - BYTE byres[30]; /* */ -} NET_DVR_IPCHANINFO, *LPNET_DVR_IPCHANINFO; - -/* IPýṹ */ -typedef struct -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPDEVINFO struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷãӵ͵߱ʾ1-32ͨ0ʾЧ 1Ч */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ -}NET_DVR_IPPARACFG, *LPNET_DVR_IPPARACFG; -/* չIPýṹ */ -typedef struct tagNET_DVR_IPPARACFG_V31 -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷãӵ͵߱ʾ1-32ͨ0ʾЧ 1Ч */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ -}NET_DVR_IPPARACFG_V31, *LPNET_DVR_IPPARACFG_V31; - -typedef struct tagNET_DVR_IPSERVER_STREAM -{ - BYTE byEnable; // Ƿ - BYTE byRes[3]; // ֽ - NET_DVR_IPADDR struIPServer; //IPServer ַ - WORD wPort; //IPServer ˿ - WORD wDvrNameLen; // DVR Ƴ - BYTE byDVRName[NAME_LEN]; // DVR - WORD wDVRSerialLen; // кų - WORD byRes1[2]; // ֽ - BYTE byDVRSerialNumber[SERIALNO_LEN]; // DVRкų - BYTE byUserName[NAME_LEN]; // DVR ½û - BYTE byPassWord[PASSWD_LEN]; // DVR½ - BYTE byChannel; // DVR ͨ - BYTE byRes2[11]; // ֽ -}NET_DVR_IPSERVER_STREAM, *LPNET_DVR_IPSERVER_STREAM; - -//ý -typedef struct tagNET_DVR_STREAM_MEDIA_SERVER_CFG -{ - BYTE byValid; /*Ƿ*/ - BYTE byRes1[3]; - NET_DVR_IPADDR struDevIP; - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э 0-TCP1-UDP*/ - BYTE byRes2[69]; -}NET_DVR_STREAM_MEDIA_SERVER_CFG,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG; - -//豸ͨϢ -typedef struct tagNET_DVR_DEV_CHAN_INFO -{ - NET_DVR_IPADDR struIP; //DVR IPַ - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byDeviceType; //豸(Ƶۺƽ̨ܰʹ)1-ʱƵۺƽ̨byVcaSupportChanModeֶʹýͨʾͨ2- - BYTE byDispChan;//ʾͨ,ʹ - BYTE bySubDispChan;//ʾͨͨţʱʹ - BYTE byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wʹãݸòԴ - BYTE byRes[2]; - BYTE byDomain[MAX_DOMAIN_NAME]; //豸 - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_DVR_DEV_CHAN_INFO,*LPNET_DVR_DEV_CHAN_INFO; - -//ֱͨýȡ -typedef struct tagNET_DVR_PU_STREAM_CFG -{ - DWORD dwSize; - NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; -}NET_DVR_PU_STREAM_CFG,*LPNET_DVR_PU_STREAM_CFG; - -typedef struct tagNET_DVR_DDNS_STREAM_CFG -{ - BYTE byEnable; // Ƿ - BYTE byRes1[3]; - NET_DVR_IPADDR struStreamServer; //ýַ - WORD wStreamServerPort; //ý˿ - BYTE byStreamServerTransmitType; //ý崫Э 0-TCP1-UDP - BYTE byRes2; - NET_DVR_IPADDR struIPServer; //IPSERVERַ - WORD wIPServerPort; //IPserver˿ں - BYTE byRes3[2]; - BYTE sDVRName[NAME_LEN]; //DVR - WORD wDVRNameLen; // DVRƳ - WORD wDVRSerialLen; // кų - BYTE sDVRSerialNumber[SERIALNO_LEN]; // DVRк - BYTE sUserName[NAME_LEN]; // DVR ½û - BYTE sPassWord[PASSWD_LEN]; // DVR½ - WORD wDVRPort; //DVR˿ں - BYTE byRes4[2]; - BYTE byChannel; // DVR ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; //ǰ豸,ͨӿڻȡ -}NET_DVR_DDNS_STREAM_CFG, *LPNET_DVR_DDNS_STREAM_CFG; - -#define URL_LEN 240 //URL -typedef struct tagNET_DVR_PU_STREAM_URL -{ - BYTE byEnable; - BYTE strURL[URL_LEN]; - BYTE byTransPortocol ; // Э 0-tcp 1-UDP - WORD wIPID; //豸IDţwIPID = iDevInfoIndex + iGroupNO*64 +1 - BYTE byChannel; //ͨ - BYTE byRes[7]; -}NET_DVR_PU_STREAM_URL, *LPNET_DVR_PU_STREAM_URL; - -typedef struct tagNET_DVR_HKDDNS_STREAM -{ - BYTE byEnable; // Ƿ - BYTE byRes[3]; // ֽ - BYTE byDDNSDomain[64]; // hiDDNS - WORD wPort; // hiDDNS ˿ - WORD wAliasLen; // - BYTE byAlias[NAME_LEN]; // - WORD wDVRSerialLen; // кų - BYTE byRes1[2]; // ֽ - BYTE byDVRSerialNumber[SERIALNO_LEN]; // DVRк - BYTE byUserName[NAME_LEN]; // DVR ½û - BYTE byPassWord[PASSWD_LEN]; // DVR½ - BYTE byChannel; // DVRͨ - BYTE byRes2[11]; // -}NET_DVR_HKDDNS_STREAM, *LPNET_DVR_HKDDNS_STREAM; - -typedef struct tagNET_DVR_IPCHANINFO_V40 -{ - BYTE byEnable; /* ͨǷ */ - BYTE byRes1; - WORD wIPID; //IP豸ID - DWORD dwChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP2- ಥ3-RTSP0xff- auto(Զ) - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byRes; - BYTE strURL[URL_LEN/*240*/]; /*RTSPЭȡURL RTSPЭʱЧ*/ -}NET_DVR_IPCHANINFO_V40,*LPNET_DVR_IPCHANINFO_V40; - -// ŵCVR -#define MAX_ID_COUNT 256 -#define MAX_STREAM_ID_COUNT 1024 -#define STREAM_ID_LEN 32 -#define PLAN_ID_LEN 32 -#define DEVICE_NO_LEN 24 -#define MAX_VOLUMENAME_LEN 32 //¼ -#define MAX_VAG_CHANNO_LEN 32 //VAGЭȡʱͨű볤 - -#define MAX_STREAM_ID_NUM 30 //IDĿ - -// Ϣ - 72ֽڳ -typedef struct tagNET_DVR_STREAM_INFO -{ - DWORD dwSize; - BYTE byID[STREAM_ID_LEN]; //ID - DWORD dwChannel; //豸ͨ0xffffffffʱʾ - BYTE byRes[32]; // -}NET_DVR_STREAM_INFO, *LPNET_DVR_STREAM_INFO; - -typedef struct tagNET_DVR_RTSP_PROTOCAL_CFG -{ - BYTE byEnable; - BYTE byLocalBackUp; //Ƿ񱾵ر - BYTE byRes[2]; - BYTE strURL[URL_LEN_V40]; - DWORD dwProtocalType; //Э - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byAddress[MAX_DOMAIN_NAME]; //ǰIP,Ҫ豸 - //ʽΪĸ'.'Ϊ,ΪIPַ - WORD wPort; - BYTE byRes1[122]; // -}NET_DVR_RTSP_PROTOCAL_CFG, *LPNET_DVR_RTSP_PROTOCAL_CFG; - -typedef union tagNET_DVR_GET_STREAM_UNION -{ - NET_DVR_IPCHANINFO struChanInfo; /*IPͨϢ*/ - NET_DVR_IPSERVER_STREAM struIPServerStream; // IPServerȥ - NET_DVR_PU_STREAM_CFG struPUStream; // ͨǰ豸ȡýȥ - NET_DVR_DDNS_STREAM_CFG struDDNSStream; //ͨIPServerýȡ - NET_DVR_PU_STREAM_URL struStreamUrl; //ͨý嵽urlȡ - NET_DVR_HKDDNS_STREAM struHkDDNSStream; //ͨhiDDNSȥȡ - NET_DVR_IPCHANINFO_V40 struIPChan; //ֱӴ豸ȡչ -}NET_DVR_GET_STREAM_UNION, *LPNET_DVR_GET_STREAM_UNION; - -typedef enum -{ - NET_SDK_IP_DEVICE = 0, - NET_SDK_STREAM_MEDIA, - NET_SDK_IPSERVER, - NET_SDK_DDNS_STREAM_CFG, - NET_SDK_STREAM_MEDIA_URL, - NET_SDK_HKDDNS, - NET_SDK_IP_DEVICE_ADV, - NET_SDK_IP_DEVICE_V40, - NET_SDK_RTSP -}GET_STREAM_TYPE; - -typedef struct tagNET_DVR_STREAM_MODE -{ - BYTE byGetStreamType; //ȡʽGET_STREAM_TYPE0-ֱӴ豸ȡ1-ýȡ2-ͨIPServeripַȡ,3.ͨIPServerҵ豸ͨýȥ豸 - //4-ͨýURLȥȡ,5-ͨhkDDNSȡ6-ֱӴ豸ȡ(չ)ʹNET_DVR_IPCHANINFO_V40ṹ, 7-ͨRTSPЭ鷽ʽȡ - BYTE byRes[3]; //ֽ - NET_DVR_GET_STREAM_UNION uGetStream; // ͬȡʽṹ -}NET_DVR_STREAM_MODE, *LPNET_DVR_STREAM_MODE; - -//չIP豸 -typedef struct tagNET_DVR_IPPARACFG_V40 -{ - DWORD dwSize; /* ṹС */ - DWORD dwGroupNum; // 豸ֵ֧ - DWORD dwAChanNum; //ģͨ - DWORD dwDChanNum; //ͨ - DWORD dwStartDChan; //ʼͨ - BYTE byAnalogChanEnable[MAX_CHANNUM_V30]; /* ģͨǷãӵ͵߱ʾ1-64ͨ0ʾЧ 1Ч */ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE_V40]; /* IP豸 */ - NET_DVR_STREAM_MODE struStreamMode[MAX_CHANNUM_V30]; - BYTE byRes2[20]; // ֽ -}NET_DVR_IPPARACFG_V40, *LPNET_DVR_IPPARACFG_V40; - - -//ΪCVRչı -typedef struct tagNET_DVR_ALARMINFO_DEV -{ - DWORD dwAlarmType; //0-(ͨ)ź1-˽о𻵣2- NVR˳ - //3-״̬쳣4-ϵͳʱ쳣5-¼ʣͣ - //6-(ͨ)ƶⱨ7-(ͨ)ڵ8-¼ʧ; 9-Ƶʵʱⱨ; 10-Դʹʸ澯; 11- CVRԶ޸쳣 12-¼쳣 - NET_DVR_TIME struTime; //ʱ - BYTE byRes[32]; // - DWORD dwNumber; //Ŀ - WORD *pNO; //dwNumberWORD; ÿWORDʾһͨţߴ̺, ЧʱΪ0 -}NET_DVR_ALARMINFO_DEV, *LPNET_DVR_ALARMINFO_DEV; - -/* */ -typedef struct -{ - BYTE byIPID; /* IP豸IDȡֵ1- MAX_IP_DEVICE */ - BYTE byAlarmOut; /* */ - BYTE byRes[18]; /* */ -}NET_DVR_IPALARMOUTINFO, *LPNET_DVR_IPALARMOUTINFO; - -/* IPýṹ */ -typedef struct -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT];/* IP */ -}NET_DVR_IPALARMOUTCFG, *LPNET_DVR_IPALARMOUTCFG; - -/* IP */ -typedef struct tagNET_DVR_IPALARMOUTINFO_V40 -{ - DWORD dwIPID; /* IP豸ID */ - DWORD dwAlarmOut; /* IP豸IDӦı */ - BYTE byRes[32]; /* */ -}NET_DVR_IPALARMOUTINFO_V40, *LPNET_DVR_IPALARMOUTINFO_V40;/**/ - -typedef struct tagNET_DVR_IPALARMOUTCFG_V40 -{ - DWORD dwSize; //ṹ峤 - DWORD dwCurIPAlarmOutNum; - NET_DVR_IPALARMOUTINFO_V40 struIPAlarmOutInfo[MAX_IP_ALARMOUT_V40];/*IP*/ - BYTE byRes[256]; -}NET_DVR_IPALARMOUTCFG_V40, *LPNET_DVR_IPALARMOUTCFG_V40; /*IP*/ - -/* */ -typedef struct -{ - BYTE byIPID; /* IP豸IDȡֵ1- MAX_IP_DEVICE */ - BYTE byAlarmIn; /* */ - BYTE byRes[18]; /* */ -}NET_DVR_IPALARMININFO, *LPNET_DVR_IPALARMININFO; - -/* IPýṹ */ -typedef struct -{ - DWORD dwSize; /* ṹС */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN];/* IP */ -}NET_DVR_IPALARMINCFG, *LPNET_DVR_IPALARMINCFG; - -/* IP */ -typedef struct tagNET_DVR_IPALARMININFO_V40 -{ - DWORD dwIPID; /* IP豸ID */ - DWORD dwAlarmIn; /* IP豸IDӦı */ - BYTE byRes[32]; /* */ -}NET_DVR_IPALARMININFO_V40, *LPNET_DVR_IPALARMININFO_V40; /* */ - -typedef struct tagNET_DVR_IPALARMINCFG_V40 -{ - DWORD dwSize; //ṹ峤 - DWORD dwCurIPAlarmInNum; //ǰ - NET_DVR_IPALARMININFO_V40 struIPAlarmInInfo[MAX_IP_ALARMIN_V40];/* IP*/ - BYTE byRes[256]; -}NET_DVR_IPALARMINCFG_V40, *LPNET_DVR_IPALARMINCFG_V40; /*IPԴ*/ - -//ipc alarm info -typedef struct tagNET_DVR_IPALARMINFO -{ - NET_DVR_IPDEVINFO struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷã0-δ 1- */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN]; /* IP */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT]; /* IP */ -}NET_DVR_IPALARMINFO, *LPNET_DVR_IPALARMINFO; - -//ipcøı䱨Ϣչ 9000_1.1 -typedef struct tagNET_DVR_IPALARMINFO_V31 -{ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE]; /* IP豸 */ - BYTE byAnalogChanEnable[MAX_ANALOG_CHANNUM]; /* ģͨǷã0-δ 1- */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_IP_CHANNEL]; /* IPͨ */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN]; /* IP */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT]; /* IP */ -}NET_DVR_IPALARMINFO_V31, *LPNET_DVR_IPALARMINFO_V31; - -typedef struct tagNET_DVR_IPALARMINFO_V40 -{ - NET_DVR_IPDEVINFO_V31 struIPDevInfo[MAX_IP_DEVICE_V40]; // IP豸 - BYTE byAnalogChanEnable[MAX_CHANNUM_V30]; /* ģͨǷã0-δ 1- */ - NET_DVR_IPCHANINFO struIPChanInfo[MAX_CHANNUM_V30]; /* IPͨ */ - NET_DVR_IPALARMININFO struIPAlarmInInfo[MAX_IP_ALARMIN]; /* IP */ - NET_DVR_IPALARMOUTINFO struIPAlarmOutInfo[MAX_IP_ALARMOUT]; /* IP */ - BYTE byRes[20]; // ֽ -}NET_DVR_IPALARMINFO_V40, *LPNET_DVR_IPALARMINFO_V40; - -typedef enum _HD_STAT_ -{ - HD_STAT_OK = 0, /* */ - HD_STAT_UNFORMATTED = 1, /* δʽ */ - HD_STAT_ERROR = 2, /* */ - HD_STAT_SMART_FAILED = 3, /* SMART״̬ */ - HD_STAT_MISMATCH = 4, /* ƥ */ - HD_STAT_IDLE = 5, /* */ - NET_HD_STAT_OFFLINE = 6, /* ̴δ״̬ */ - HD_RIADVD_EXPAND = 7, /* ̿ */ - HD_STAT_REPARING = 10, /* Ӳ޸(9000 2.0) */ - HD_STAT_FORMATING = 11, /* Ӳڸʽ(9000 2.0) */ -}HD_STAT; - - -//ӲϢ -typedef struct -{ - DWORD dwHDNo; /*Ӳ̺, ȡֵ0~MAX_DISKNUM_V30-1*/ - DWORD dwCapacity; /*Ӳ()*/ - DWORD dwFreeSpace; /*Ӳʣռ()*/ - DWORD dwHdStatus; //Ӳ״̬() HD_STAT 0-, 1-δʽ, 2-, 3-SMART״̬, - //4-ƥ, 5- 6-Ӳ̲ 7-̿ 10-Ӳ޸ - //11-Ӳڸʽ 12-Ӳڵȴʽ 13-Ӳж 14-Ӳ̲ - //15-ɾ(Ӳ),16- - BYTE byHDAttr; /*0-ͨ, 1-; 2-ֻ 3-浵CVRרã4-ɶд*/ - BYTE byHDType; /*0-Ӳ,1-ESATAӲ,2-NASӲ,3-iSCSIӲ 4-Array,5-SD,6-minSAS*/ - BYTE byDiskDriver; // ֵ ASCIIַ - BYTE byRes1; - DWORD dwHdGroup; /*ĸ 1-MAX_HD_GROUP*/ - BYTE byRecycling; // Ƿѭ 0ѭã1ѭ - BYTE bySupportFormatType; /*ǰӲֵ֧ĸʽ,ֻǰýڵ֧byHDType=5(SD)ʱ; - bySupportFormatType=0,豸ĬʽӲ; - bySupportFormatType:bit0: 0-֧FAT32ʽ,1-֧; - bySupportFormatType:bit1: 0-֧EXT4ʽ,1-֧;*/ - BYTE byFormatType; /*ǰӲ̸ʽ: 0-豸Ĭϸʽ,1-ָFAT32ʽ(byHDType=5(SD)ʱЧ), - 2-ָEXT4ʽ(byHDType=5(SD)ʱЧ)*/ - BYTE byRes2; - DWORD dwStorageType; //λʾ 0-֧ 0-֧ - // dwStorageType & 0x1 ʾǷͨ¼רô洢 - // dwStorageType & 0x2 ʾǷdz֡¼רô洢 - // dwStorageType & 0x4 ʾǷͼƬ¼רô洢 - - DWORD dwPictureCapacity; //ӲͼƬ()λ:MB - DWORD dwFreePictureSpace; //ʣͼƬռ()λ:MB - BYTE byRes3[104]; -}NET_DVR_SINGLE_HD, *LPNET_DVR_SINGLE_HD; - -typedef struct -{ - DWORD dwSize; - DWORD dwHDCount; /*Ӳ()*/ - NET_DVR_SINGLE_HD struHDInfo[MAX_DISKNUM_V30];//ӲزҪЧ -}NET_DVR_HDCFG, *LPNET_DVR_HDCFG; - -//ӲϢ -typedef struct -{ - DWORD dwHDNo; /*Ӳ̺, ȡֵ0~MAX_DISKNUM_V30-1*/ - DWORD dwCapacity; /*Ӳ()*/ - DWORD dwFreeSpace; /*Ӳʣռ()*/ - DWORD dwHdStatus; //Ӳ״̬() HD_STAT 0-, 1-δʽ, 2-, 3-SMART״̬, - //4-ƥ, 5- 6-Ӳ̲ 7-̿ 10-Ӳ޸ - //11-Ӳڸʽ 12-Ӳڵȴʽ 13-Ӳж 14-Ӳ̲ - //15-ɾ(Ӳ),16-,17-棨ʱɻ̣,18-̣Ѿ𻵵Ӳ̣,19-̣쳣߳Уֻ,20-δ֤δ⣬ҪCVRжԴ̽м⣩ - //21-δ¼иʽ - BYTE byHDAttr; /*0-ͨ, 1-; 2-ֻ3-浵4-ɶд*/ - BYTE byHDType; /*0-Ӳ,1-ESATAӲ,2-NASӲ,3-iSCSIӲ 4-Array,5-SD,6-minSAS*/ - BYTE byDiskDriver; // ֵ ASCIIַ - BYTE byGenusGruop; //飺0-1-У2-洢أ3-̣4-δʼ5-Ч̣6-ȱ7-ȫȱֻ - DWORD dwHdGroup; /*ĸ 1-MAX_HD_GROUP*/ - BYTE byRecycling; // Ƿѭ 0ѭã1ѭ - BYTE bySupportFormatType; /*ǰӲֵ֧ĸʽ,ֻǰýڵ֧byHDType=5(SD)ʱ; - bySupportFormatType=0,豸ĬʽӲ; - bySupportFormatType:bit0: 0-֧FAT32ʽ,1-֧; - bySupportFormatType:bit1: 0-֧EXT4ʽ,1-֧;*/ - BYTE byFormatType; /*ǰӲ̸ʽ: 0-豸Ĭϸʽ,1-ָFAT32ʽ(byHDType=5(SD)ʱЧ), - 2-ָEXT4ʽ(byHDType=5(SD)ʱЧ)*/ - BYTE byRes2; - DWORD dwStorageType; //λʾ 0-֧ 0-֧ - // dwStorageType & 0x1 ʾǷͨ¼רô洢 - // dwStorageType & 0x2 ʾǷdz֡¼רô洢 - // dwStorageType & 0x4 ʾǷͼƬ¼רô洢 - - DWORD dwPictureCapacity; //ӲͼƬ()λ:MB - DWORD dwFreePictureSpace; //ʣͼƬռ()λ:MB - BYTE byDiskLocation[NET_SDK_DISK_LOCATION_LEN/*16*/];//Ӳλãʽעֻ - BYTE bySupplierName[NET_SDK_SUPPLIER_NAME_LEN/*32*/];//Ӧƣֻ - BYTE byDiskModel[NET_SDK_DISK_MODEL_LEN /*64*/];//Ӳͺţֻ - char szHDLocateIP[SDK_MAX_IP_LEN];//IPϢ - BYTE byRes3[80]; -}NET_DVR_SINGLE_HD_V50, *LPNET_DVR_SINGLE_HD_V50; - -typedef struct -{ - DWORD dwSize; - DWORD dwHDCount; /*Ӳ()*/ - NET_DVR_SINGLE_HD_V50 struHDInfoV50[MAX_DISKNUM_V30];//ӲزҪЧ - BYTE byRes[128]; -}NET_DVR_HDCFG_V50, *LPNET_DVR_HDCFG_V50; - -typedef struct tagNET_DVR_HARD_DISK_SINGLE_VOLUME_INFO -{ - DWORD dwSize; - BYTE byHDVolumeNo; /*Ӳ̾ID()*/ - BYTE byType; /*Ӳ̾:0-¼ڱ¼񣩣1-浵ڴ浵¼·¼ƻʱܹ浵, - 2-ļֻڴ洢ͻϴļ·¼ƻʱܹļҪ˵3-ͼƬֻڴ洢ͻϴͼƬ*/ - BYTE byRes1[2]; - DWORD dwCapacity; /*Ӳ̾λMB()*/ - DWORD dwFreeSpace; /*Ӳ̾ʣռ䣬λMB() */ - BYTE byHDVolumeName[NET_SDK_DISK_VOLUME_LEN/*36*/]; /*Ӳ̾()*/ - BYTE byLoopCover; /*Ƿѭǣ0-ѭǣ1-ѭǣӲ֮̾ѭϵ¼*/ - BYTE byRes[63]; -}NET_DVR_HARD_DISK_SINGLE_VOLUME_INFO, *LPNET_DVR_HARD_DISK_SINGLE_VOLUME_INFO; - -typedef struct tagNET_DVR_HARD_DISK_VOLUME_INFO -{ - DWORD dwSize; - DWORD dwHDVolumeCount; /*ǰӲ̾()*/ - NET_DVR_HARD_DISK_SINGLE_VOLUME_INFO struSingleVolumeInfo[NET_SDK_MAX_DISK_VOLUME/*33*/]; /*Ӳ̾Ϣ*/ - BYTE byRes[128]; -}NET_DVR_HARD_DISK_VOLUME_INFO, *LPNET_DVR_HARD_DISK_VOLUME_INFO; - -//Ϣչ -typedef struct tagNET_DVR_SINGLE_HDGROUP_V40 -{ - DWORD dwHDGroupNo; /*() 1-MAX_HD_GROUP*/ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; //¼ֵͨʾ0xffffffffʱΪЧ - BYTE byRes[64]; /* */ -}NET_DVR_SINGLE_HDGROUP_V40, *LPNET_DVR_SINGLE_HDGROUP_V40; - -typedef struct tagNET_DVR_HDGROUP_CFG_V40 -{ - DWORD dwSize; //ṹС - DWORD dwMaxHDGroupNum; //豸ֵ֧-ֻ - DWORD dwCurHDGroupNum; /*ǰõ*/ - NET_DVR_SINGLE_HDGROUP_V40 struHDGroupAttr[MAX_HD_GROUP]; //ӲزҪЧ - BYTE byRes[128]; // -}NET_DVR_HDGROUP_CFG_V40, *LPNET_DVR_HDGROUP_CFG_V40; - -//Ϣ -typedef struct -{ - DWORD dwHDGroupNo; /*() 1-MAX_HD_GROUP*/ - BYTE byHDGroupChans[MAX_CHANNUM_V30]; /*Ӧ¼ͨ, 0-ʾͨ¼󵽸飬1-ʾ¼󵽸*/ - BYTE byRes[8]; -}NET_DVR_SINGLE_HDGROUP, *LPNET_DVR_SINGLE_HDGROUP; - -typedef struct -{ - DWORD dwSize; - DWORD dwHDGroupCount; /*()*/ - NET_DVR_SINGLE_HDGROUP struHDGroupAttr[MAX_HD_GROUP];//ӲزҪЧ -}NET_DVR_HDGROUP_CFG, *LPNET_DVR_HDGROUP_CFG; - - -//ŲĽṹ -typedef struct -{ - DWORD dwSize; - DWORD dwMajorScale; /* ʾ 0-ţ1-*/ - DWORD dwMinorScale; /* ʾ 0-ţ1-*/ - DWORD dwRes[2]; -}NET_DVR_SCALECFG, *LPNET_DVR_SCALECFG; - - - -//DVR(9000չ) -typedef struct -{ - DWORD dwSize; - BYTE sAlarmOutName[NAME_LEN]; /* */ - DWORD dwAlarmOutDelay; /* ʱ(-1Ϊޣֶر) */ - //0-5,1-10,2-30,3-1,4-2,5-5,6-10,7-ֶ,8-1,9-2,10-3,11-4 - NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT_V30];/* ʱ */ - BYTE byAlarmOutHandle; /* Ƿ 0- 1-*/ - BYTE byNormalSatus; /* ̬ 0- 1-*/ - BYTE byRes[14]; -}NET_DVR_ALARMOUTCFG_V30, *LPNET_DVR_ALARMOUTCFG_V30; - -//DVR -typedef struct -{ - DWORD dwSize; - BYTE sAlarmOutName[NAME_LEN]; /* */ - DWORD dwAlarmOutDelay; /* ʱ(-1Ϊޣֶر) */ - //0-5,1-10,2-30,3-1,4-2,5-5,6-10,7-ֶ, 8-1, 9-3 - NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];/* ʱ */ -}NET_DVR_ALARMOUTCFG, *LPNET_DVR_ALARMOUTCFG; - -//DVRԤ(9000չ) -/*лָڵǰԤģʽлʾ棬лԤģʽbyPreviewNumberΪ01棩bySwitchSeq[0][0] = 1,bySwitchSeq[0][1] = 2,bySwitchSeq[0][2] = 3 -򱾵ػһֱ1棬Ȼ水1,2,3ͨ˳л*/ -typedef struct -{ - DWORD dwSize; - BYTE byPreviewNumber;//Ԥģʽ,0-1,1-4,2-9,3-16,0xff: - BYTE byEnableAudio;//ǷԤ,0-Ԥ,1-Ԥ - WORD wSwitchTime;//лʱ,0-л,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s - BYTE bySwitchSeq[MAX_PREVIEW_MODE][MAX_WINDOW_V30];//л˳,lSwitchSeq[i]Ϊ 0xffʾ - BYTE byRes[24]; -}NET_DVR_PREVIEWCFG_V30, *LPNET_DVR_PREVIEWCFG_V30; - -//DVRԤ -typedef struct -{ - DWORD dwSize; - BYTE byPreviewNumber;//ԤĿ,0-1,1-4,2-9,3-16,0xff: - BYTE byEnableAudio;//ǷԤ,0-Ԥ,1-Ԥ - WORD wSwitchTime;//лʱ,0-л,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s - BYTE bySwitchSeq[MAX_WINDOW];//л˳,lSwitchSeq[i]Ϊ 0xffʾ -}NET_DVR_PREVIEWCFG, *LPNET_DVR_PREVIEWCFG; - -//DVRƵ -typedef struct -{ - WORD wResolution; /* ֱ */ - WORD wFreq; /* ˢƵ */ - DWORD dwBrightness; /* */ -}NET_DVR_VGAPARA; - -/* -* MATRIXṹ -*/ -typedef struct -{ - WORD wOrder[MAX_ANALOG_CHANNUM]; /* Ԥ˳, 0xffʾӦĴڲԤ */ - WORD wSwitchTime; /* Ԥлʱ */ - BYTE res[14]; -}NET_DVR_MATRIXPARA_V30, *LPNET_DVR_MATRIXPARA_V30; - -typedef struct -{ - WORD wDisplayLogo; /* ʾƵͨ */ - WORD wDisplayOsd; /* ʾʱ */ -}NET_DVR_MATRIXPARA; - -typedef struct -{ - BYTE byVideoFormat; /* ʽ,0-PAL,1-NTSC */ - BYTE byMenuAlphaValue; /* ˵뱳ͼԱȶ */ - WORD wScreenSaveTime; /* Ļʱ 0-Ӳ,1-1,2-2,3-5,4-10,5-20,6-30 */ - WORD wVOffset; /* Ƶƫ */ - WORD wBrightness; /* Ƶ */ - BYTE byStartMode; /* Ƶģʽ(0:˵,1:Ԥ)*/ - BYTE byEnableScaler; /* Ƿ (0-, 1-)*/ -}NET_DVR_VOOUT; - -//DVRƵ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT_V30]; - NET_DVR_VGAPARA struVGAPara[MAX_VGA_V30]; /* VGA */ - NET_DVR_MATRIXPARA_V30 struMatrixPara[MAX_MATRIXOUT]; /* MATRIX */ - BYTE byRes[16]; -}NET_DVR_VIDEOOUT_V30, *LPNET_DVR_VIDEOOUT_V30; - -//DVRƵ -typedef struct -{ - DWORD dwSize; - NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT]; - NET_DVR_VGAPARA struVGAPara[MAX_VGA]; /* VGA */ - NET_DVR_MATRIXPARA struMatrixPara; /* MATRIX */ -}NET_DVR_VIDEOOUT, *LPNET_DVR_VIDEOOUT; - - -//û(ӽṹ)(չ) -typedef struct tagNET_DVR_USER_INFO_V40 -{ - BYTE sUserName[NAME_LEN]; /* ûֻ16ֽ */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - BYTE byRemoteRight[MAX_RIGHT];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - DWORD dwNetPreviewRight[MAX_CHANNUM_V40]; /* Զ̿Ԥͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalRecordRight[MAX_CHANNUM_V40]; /* ؿ¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetRecordRight[MAX_CHANNUM_V40]; /* Զ̿¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPlaybackRight[MAX_CHANNUM_V40]; /* ؿԻطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPlaybackRight[MAX_CHANNUM_V40]; /* Զ̿Իطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPTZRight[MAX_CHANNUM_V40]; /* ؿPTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPTZRight[MAX_CHANNUM_V40]; /* Զ̿PTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalBackupRight[MAX_CHANNUM_V40]; /* رȨͨǰ˳У0xffffffffΪЧ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־ - ״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غ - Զ̻ط,ԽԶԤر,/Զ̹ػ/ - ߡԱ */ - BYTE byAlarmOnRight; // ڲȨ 1-Ȩޣ0-Ȩ - BYTE byAlarmOffRight; // ڳȨ 1-Ȩޣ0-Ȩ - BYTE byBypassRight; // ·Ȩ 1-Ȩޣ0-Ȩ - BYTE byRes1[2]; //ֽڶ - BYTE byPublishRight[MAX_RIGHT]; //ϢרȨ - /*0: زȨ*/ - /*1: ĿȨ*/ - /*2: ճȨ*/ - /*3: ϴزȨ*/ - /*4: ½ĿȨ*/ - /*5: ½ճȨ*/ - /*6: ϢȨ*/ - /*7: ն˹Ȩ*/ - /*8: ҵȨ*/ - BYTE byRes[84]; -}NET_DVR_USER_INFO_V40, *LPNET_DVR_USER_INFO_V40; - -//û(ӽṹ)(չ) -typedef struct tagNET_DVR_USER_INFO_V51 -{ - BYTE sUserName[NAME_LEN/*32*/]; /* ûֻ16ֽ */ - BYTE sPassword[PASSWD_LEN/*16*/]; /* */ - BYTE byLocalRight[MAX_RIGHT/*32*/]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - /*10: Ԥ */ - BYTE byRemoteRight[MAX_RIGHT/*32*/];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - DWORD dwNetPreviewRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Ԥͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalRecordRight[MAX_CHANNUM_V40/*512*/]; /* ؿ¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetRecordRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* ؿԻطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Իطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPTZRight[MAX_CHANNUM_V40/*512*/]; /* ؿPTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPTZRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿PTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalBackupRight[MAX_CHANNUM_V40/*512*/]; /* رȨͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPreviewRight[MAX_CHANNUM_V40/*512*/]; /* ԤȨͨǰ˳У0xffffffffΪЧ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN/*6*/]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־ - ״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غ - Զ̻ط,ԽԶԤر,/Զ̹ػ/ߡԱ */ - BYTE byAlarmOnRight; // ڲȨ 1-Ȩޣ0-Ȩ - BYTE byAlarmOffRight; // ڳȨ 1-Ȩޣ0-Ȩ - BYTE byBypassRight; // ·Ȩ 1-Ȩޣ0-Ȩ - BYTE byRes1[2]; //ֽڶ - BYTE byPublishRight[MAX_RIGHT/*32*/]; //ϢרȨ - /*0: زȨ*/ - /*1: ĿȨ*/ - /*2: ճȨ*/ - /*3: ϴزȨ*/ - /*4: ½ĿȨ*/ - /*5: ½ճȨ*/ - /*6: ϢȨ*/ - /*7: ն˹Ȩ*/ - /*8: ҵȨ*/ - DWORD dwPasswordValidity; //Ч,Աû޸,λ죬0ʾЧ - BYTE byKeypadPassword[PASSWD_LEN/*16*/]; // - BYTE byUserOperateType; //ûͣ1-û2-û3-û+û - BYTE byRes[1007]; -}NET_DVR_USER_INFO_V51, *LPNET_DVR_USER_INFO_V51; - -typedef struct tagNET_DVR_USER_V51 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V51 struUser[MAX_USERNUM_V30/*32*/]; /* û */ - char sloginPassword[PASSWD_LEN/*16*/]; /* ½ȷ */ - BYTE byRes[240]; // -}NET_DVR_USER_V51, *LPNET_DVR_USER_V51; - -//û(ӽṹ)(չ) -typedef struct tagNET_DVR_USER_INFO_V52 -{ - BYTE sUserName[NAME_LEN/*32*/]; /* ûֻ16ֽ */ - BYTE sPassword[PASSWD_LEN/*16*/]; /* */ - BYTE byLocalRight[MAX_RIGHT/*32*/]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - /*10: Ԥ */ - BYTE byRemoteRight[MAX_RIGHT/*32*/];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - DWORD dwNetPreviewRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Ԥͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalRecordRight[MAX_CHANNUM_V40/*512*/]; /* ؿ¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetRecordRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿¼ͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* ؿԻطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Իطŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPTZRight[MAX_CHANNUM_V40/*512*/]; /* ؿPTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetPTZRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿PTZͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalBackupRight[MAX_CHANNUM_V40/*512*/]; /* رȨͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalPreviewRight[MAX_CHANNUM_V40/*512*/]; /* ԤȨͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalDoubleVerificationPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* ؿԶ֤طŵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwLocalDoubleVerificationBackupRight[MAX_CHANNUM_V40/*512*/]; /* ؿԶ֤ݵͨǰ˳У0xffffffffΪЧ*/ - DWORD dwNetDoubleVerificationPlaybackRight[MAX_CHANNUM_V40/*512*/]; /* Զ̿Զ֤طŵͨǰ˳У0xffffffffΪЧ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN/*6*/]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־ - ״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غ - Զ̻ط,ԽԶԤر,/Զ̹ػ/ߡԱ */ - BYTE byAlarmOnRight; // ڲȨ 1-Ȩޣ0-Ȩ - BYTE byAlarmOffRight; // ڳȨ 1-Ȩޣ0-Ȩ - BYTE byBypassRight; // ·Ȩ 1-Ȩޣ0-Ȩ - BYTE byRes1[2]; //ֽڶ - BYTE byPublishRight[MAX_RIGHT/*32*/]; //ϢרȨ - /*0: زȨ*/ - /*1: ĿȨ*/ - /*2: ճȨ*/ - /*3: ϴزȨ*/ - /*4: ½ĿȨ*/ - /*5: ½ճȨ*/ - /*6: ϢȨ*/ - /*7: ն˹Ȩ*/ - /*8: ҵȨ*/ - DWORD dwPasswordValidity; //Ч,Աû޸,λ죬0ʾЧ - BYTE byKeypadPassword[PASSWD_LEN/*16*/]; // - BYTE byUserOperateType; //ûͣ1-û2-û3-û+û - BYTE byRes[1007]; -}NET_DVR_USER_INFO_V52, *LPNET_DVR_USER_INFO_V52; - -typedef struct tagNET_DVR_USER_V52 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V52 struUser[MAX_USERNUM_V30/*32*/]; /* û */ - char sloginPassword[PASSWD_LEN/*16*/]; /* ½ȷ */ - BYTE byRes[240]; // -}NET_DVR_USER_V52, *LPNET_DVR_USER_V52; - -//û(ӽṹ)(9000չ) -typedef struct -{ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - /*6: ز鿴 */ - /*7: عģIP camera */ - /*8: ر */ - /*9: عػ/ */ - BYTE byRemoteRight[MAX_RIGHT];/* ԶȨ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - /*11: Զ̲鿴 */ - /*12: Զ̹ģIP camera */ - /*13: Զ̹ػ/ */ - BYTE byNetPreviewRight[MAX_CHANNUM_V30]; /* Զ̿Ԥͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalPlaybackRight[MAX_CHANNUM_V30]; /* ؿԻطŵͨ 0-Ȩޣ1-Ȩ*/ - BYTE byNetPlaybackRight[MAX_CHANNUM_V30]; /* Զ̿Իطŵͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalRecordRight[MAX_CHANNUM_V30]; /* ؿ¼ͨ 0-Ȩޣ1-Ȩ*/ - BYTE byNetRecordRight[MAX_CHANNUM_V30]; /* Զ̿¼ͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalPTZRight[MAX_CHANNUM_V30]; /* ؿPTZͨ 0-Ȩޣ1-Ȩ*/ - BYTE byNetPTZRight[MAX_CHANNUM_V30]; /* Զ̿PTZͨ 0-Ȩޣ1-Ȩ*/ - BYTE byLocalBackupRight[MAX_CHANNUM_V30]; /* رȨͨ 0-Ȩޣ1-Ȩ*/ - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ - BYTE byPriority; /* ȼ0xff-ޣ0--ͣ1--У2-- */ - /* - ޡʾ֧ȼ - ͡ĬȨ:غԶ̻ط,غԶ̲鿴־״̬,غԶ̹ػ/ - СغԶ̨̿,غԶֶ¼,غԶ̻ط,ԽԶԤ - ر,/Զ̹ػ/ - ߡԱ - */ - BYTE byAlarmOnRight; // ڲȨ - BYTE byAlarmOffRight; // ڳȨ - BYTE byBypassRight; // ·Ȩ - BYTE byRes[14]; -}NET_DVR_USER_INFO_V30, *LPNET_DVR_USER_INFO_V30; - -//û(SDK_V15չ)(ӽṹ) -typedef struct -{ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - DWORD dwLocalPlaybackRight; /* ؿԻطŵͨ bit0 -- channel 1*/ - DWORD dwRemoteRight[MAX_RIGHT]; /* Ȩ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - DWORD dwNetPreviewRight; /* Զ̿Ԥͨ bit0 -- channel 1*/ - DWORD dwNetPlaybackRight; /* Զ̿Իطŵͨ bit0 -- channel 1*/ - char sUserIP[16]; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ -}NET_DVR_USER_INFO_EX, *LPNET_DVR_USER_INFO_EX; - -//û(ӽṹ) -typedef struct -{ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ؿ̨*/ - /*1: ֶ¼*/ - /*2: ػط*/ - /*3: ò*/ - /*4: ز鿴״̬־*/ - /*5: ظ߼(ʽػ)*/ - DWORD dwRemoteRight[MAX_RIGHT]; /* Ȩ */ - /*0: Զ̨̿*/ - /*1: Զֶ¼*/ - /*2: Զ̻ط */ - /*3: Զò*/ - /*4: Զ̲鿴״̬־*/ - /*5: Զ̸߼(ʽػ)*/ - /*6: Զ̷Խ*/ - /*7: ԶԤ*/ - /*8: Զ󱨾ϴ*/ - /*9: Զ̿ƣ*/ - /*10: Զ̿ƴ*/ - char sUserIP[16]; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ -}NET_DVR_USER_INFO, *LPNET_DVR_USER_INFO; - -//DVRû(չ) -typedef struct tagNET_DVR_USER_V40 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V40 struUser[MAX_USERNUM_V30]; /* û */ -}NET_DVR_USER_V40,*LPNET_DVR_USER_V40; -typedef struct tagNET_DVR_USER_V50 -{ - DWORD dwSize; //ṹС - DWORD dwMaxUserNum; //豸ֵ֧û-ֻ - NET_DVR_USER_INFO_V40 struUser[MAX_USERNUM_V30]; /* û */ - char sloginPassword[PASSWD_LEN/*16*/]; /* ½ȷ */ - BYTE byRes[240]; // -}NET_DVR_USER_V50, *LPNET_DVR_USER_V50; -//DVRû(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_USER_INFO_V30 struUser[MAX_USERNUM_V30]; -}NET_DVR_USER_V30, *LPNET_DVR_USER_V30; - -//DVRû(SDK_V15չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_USER_INFO_EX struUser[MAX_USERNUM]; -}NET_DVR_USER_EX, *LPNET_DVR_USER_EX; - -//DVRû -typedef struct -{ - DWORD dwSize; - NET_DVR_USER_INFO struUser[MAX_USERNUM]; -}NET_DVR_USER, *LPNET_DVR_USER; - -typedef struct tagNET_DVR_EXCEPTION_V40 -{ - DWORD dwSize ; //ṹС - DWORD dwMaxGroupNum ; //豸ֵ֧ - NET_DVR_HANDLEEXCEPTION_V41 struExceptionHandle[MAX_EXCEPTIONNUM_V30]; - BYTE byRes[128]; // -}NET_DVR_EXCEPTION_V40,*LPNET_DVR_EXCEPTION_V40; /*쳣չṹ*/ - -//DVR쳣(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_HANDLEEXCEPTION_V30 struExceptionHandleType[MAX_EXCEPTIONNUM_V30]; - /*0-,1- Ӳ̳,2-߶,3-IP ַͻ, 4-Ƿ, 5-/Ƶʽƥ, 6-Ƶź쳣, 7-¼쳣 8-쳣9-ǰ/¼ֱʲƥ쳣10-г(ר) 11-ȱ쳣N+1ʹã12-¶ȣ13-ϵͳ쳣14-쳣, 15-POE쳣, 16-POC쳣,17-Դѹ쳣*/ -}NET_DVR_EXCEPTION_V30, *LPNET_DVR_EXCEPTION_V30; - - - -//DVR쳣 -typedef struct -{ - DWORD dwSize; - NET_DVR_HANDLEEXCEPTION struExceptionHandleType[MAX_EXCEPTIONNUM]; - /*0-,1- Ӳ̳,2-߶,3-IP ַͻ,4-Ƿ, 5-/Ƶʽƥ, 6-Ƶź쳣*/ -}NET_DVR_EXCEPTION, *LPNET_DVR_EXCEPTION; - -//ͨ״̬(9000չ) -typedef struct -{ - BYTE byRecordStatic; //ͨǷ¼,0-¼,1-¼ - BYTE bySignalStatic; //ӵź״̬,0-,1-źŶʧ - BYTE byHardwareStatic;//ͨӲ״̬,0-,1-쳣,DSP - BYTE byRes1; // - DWORD dwBitRate;//ʵ - DWORD dwLinkNum;//ͻӵĸ - NET_DVR_IPADDR struClientIP[MAX_LINK];//ͻ˵IPַ - DWORD dwIPLinkNum;//ͨΪIP룬ôʾIP뵱ǰ - BYTE byExceedMaxLink; // Ƿ񳬳˵·6· 0 - δ, 1- - BYTE byRes[3]; // ֽ - DWORD dwAllBitRate; //ʵ֮ - DWORD dwChannelNo; //ǰͨţ0xffffffffʾЧ -}NET_DVR_CHANNELSTATE_V30, *LPNET_DVR_CHANNELSTATE_V30; - -//ͨ״̬ -typedef struct -{ - BYTE byRecordStatic; //ͨǷ¼,0-¼,1-¼ - BYTE bySignalStatic; //ӵź״̬,0-,1-źŶʧ - BYTE byHardwareStatic;//ͨӲ״̬,0-,1-쳣,DSP - char reservedData; // - DWORD dwBitRate;//ʵ - DWORD dwLinkNum;//ͻӵĸ - DWORD dwClientIP[MAX_LINK];//ͻ˵IPַ -}NET_DVR_CHANNELSTATE, *LPNET_DVR_CHANNELSTATE; - -//Ӳ״̬ -typedef struct -{ - DWORD dwVolume;//Ӳ̵ - DWORD dwFreeSpace;//Ӳ̵ʣռ - DWORD dwHardDiskStatic; //Ӳ̵״̬,λ:1-,2-,3-Ӳ̳,4-δʽ, 5-δ״̬(Ӳ),6-Ӳڸʽ,7-Ӳ(δѭǵ),8-쳣豸ͳƣ -}NET_DVR_DISKSTATE, *LPNET_DVR_DISKSTATE; - -typedef struct tagNET_DVR_WORKSTATE_V40 -{ - DWORD dwSize ; //ṹС - DWORD dwDeviceStatic; //豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; //Ӳ״̬,һֻܻȡ33ӲϢ - NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V40/*512*/];//ͨ״̬ǰ˳ - DWORD dwHasAlarmInStatic[MAX_ALARMIN_V40/*512*/]; //бıڣֵʾ±ֵ˳УֵΪ0xffffffffʱǰֵЧ - DWORD dwHasAlarmOutStatic[MAX_ALARMOUT_V40/*512*/]; //бıڣֵʾ±ֵ˳УֵΪ0xffffffffʱǰֵЧ - DWORD dwLocalDisplay; //ʾ״̬,0-,1- - BYTE byAudioInChanStatus[MAX_AUDIO_V30/*2*/]; //λʾͨ״̬ 0-δʹã1-ʹУ0λʾ1ͨ - BYTE byRes1[2]; - float fHumidity; //֪ʪ,Χ:0.0 ~100.0 - float fTemperature; //֪¶ȣΧ-20.0 ~ 90.0 - BYTE byRes[116]; // -}NET_DVR_WORKSTATE_V40, *LPNET_DVR_WORKSTATE_V40; /*豸״̬չṹ*/ - -typedef struct tagNET_DVR_GETWORKSTATE_COND -{ - DWORD dwSize ; //ṹ峤 - BYTE byFindHardByCond; /*0-ȫ(һֻܲ33)ʱdwFindHardStatusNumЧ*/ - BYTE byFindChanByCond ; /*0-ȫͨʱdwFindChanNumЧ*/ - BYTE byRes1[2] ;// - DWORD dwFindHardStatus[MAX_DISKNUM_V30/*33*/] ; /*ҪҵӲ̺ţֵʾֵ˳У 0xffffffffΪЧ */ - DWORD dwFindChanNo[MAX_CHANNUM_V40/*512*/] ; /*Ҫҵͨţֵʾֵ˳У 0xffffffffΪЧ */ - BYTE byRes[64] ; // -}NET_DVR_GETWORKSTATE_COND, *LPNET_DVR_GETWORKSTATE_COND; - -//DVR״̬(9000չ) -typedef struct -{ - DWORD dwDeviceStatic; //豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; - NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V30];//ͨ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN_V30]; //˿ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT_V30]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay;//ʾ״̬,0-,1- - BYTE byAudioChanStatus[MAX_AUDIO_V30];//ʾͨ״̬ 0-δʹã1-ʹ, 0xffЧ - BYTE byRes[10]; -}NET_DVR_WORKSTATE_V30, *LPNET_DVR_WORKSTATE_V30; - -//DVR״̬ -typedef struct -{ - DWORD dwDeviceStatic; //豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM]; - NET_DVR_CHANNELSTATE struChanStatic[MAX_CHANNUM];//ͨ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN]; //˿ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay;//ʾ״̬,0-,1- -}NET_DVR_WORKSTATE, *LPNET_DVR_WORKSTATE; - - - -//־Ϣ(9000չ) -typedef struct -{ - NET_DVR_TIME strLogTime; - DWORD dwMajorType; // 1-; 2-쳣; 3-; 0xff-ȫ - DWORD dwMinorType;// 0-ȫ; - BYTE sPanelUser[MAX_NAMELEN]; //û - BYTE sNetUser[MAX_NAMELEN];//û - NET_DVR_IPADDR struRemoteHostAddr;//Զַ - DWORD dwParaType;//,9000豸MINOR_START_VT/MINOR_STOP_VTʱʾԽĶӺ - DWORD dwChannel;//ͨ - DWORD dwDiskNumber;//Ӳ̺ - DWORD dwAlarmInPort;//˿ - DWORD dwAlarmOutPort;//˿ - DWORD dwInfoLen; - char sInfo[LOG_INFO_LEN]; -}NET_DVR_LOG_V30, *LPNET_DVR_LOG_V30; - -//־Ϣ -typedef struct -{ - NET_DVR_TIME strLogTime; - DWORD dwMajorType; // 1-; 2-쳣; 3-; 0xff-ȫ - DWORD dwMinorType;// 0-ȫ; - BYTE sPanelUser[MAX_NAMELEN]; //û - BYTE sNetUser[MAX_NAMELEN];//û - char sRemoteHostAddr[16];//Զַ - DWORD dwParaType;// - DWORD dwChannel;//ͨ - DWORD dwDiskNumber;//Ӳ̺ - DWORD dwAlarmInPort;//˿ - DWORD dwAlarmOutPort;//˿ -}NET_DVR_LOG, *LPNET_DVR_LOG; - - -typedef struct tagNET_DVR_FIND_LOG_COND -{ - DWORD dwSelectMode; // 0ȫ1ͣ2ʱ䣻3ʱ - DWORD dwMainType; //־ - DWORD dwSubType; //־ - NET_DVR_TIME_V50 struStartTime; //ʼʱ - NET_DVR_TIME_V50 struEndTime; //ʱ - BOOL bOnlySmart; //ǷֻS.M.A.R.TϢ־ - BYTE byRes[128]; -}NET_DVR_FIND_LOG_COND, *LPNET_DVR_FIND_LOG_COND; - - -typedef struct -{ - NET_DVR_TIME_V50 struLogTime; //־ʱ - DWORD dwMajorType; // 1-; 2-쳣; 3-; 0xff-ȫ - DWORD dwMinorType; // 0-ȫ; - BYTE sPanelUser[MAX_NAMELEN];//û - BYTE sNetUser[MAX_NAMELEN]; //û - NET_DVR_IPADDR struRemoteHostAddr; //Զַ - DWORD dwParaType; //,9000豸MINOR_START_VT/MINOR_STOP_VTʱʾԽĶӺ - DWORD dwChannel; //ͨ - DWORD dwDiskNumber; //Ӳ̺ - DWORD dwAlarmInPort; //˿ - DWORD dwAlarmOutPort; //˿ - DWORD dwInfoLen; - char sInfo[LOG_INFO_LEN]; - BYTE byRes[128]; -}NET_DVR_LOG_V50, *LPNET_DVR_LOG_V50; - - -/************************DVR־ end***************************/ - -/************************־ begin************************************************/ -typedef struct tagNET_DVR_ALARMHOST_SEARCH_LOG_PARAM -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME struStartTime; // ʼʱ - NET_DVR_TIME struEndTime; // ʱ - BYTE byRes[8]; // ֽ -}NET_DVR_ALARMHOST_SEARCH_LOG_PARAM, LPNET_DVR_ALARMHOST_SEARCH_LOG_PARAM; - -typedef struct tagNET_DVR_ALARMHOST_LOG_RET -{ - NET_DVR_TIME struLogTime; // ־ʱ - BYTE sUserName[NAME_LEN]; // û - NET_DVR_IPADDR struIPAddr; // IPַ - WORD wMajorType; // - WORD wMinorType; // - WORD wParam; // - BYTE byRes[10]; - DWORD dwInfoLen; // Ϣ - char sInfo[LOG_INFO_LEN]; // Ϣ -}NET_DVR_ALARMHOST_LOG_RET, *LPNET_DVR_ALARMHOST_LOG_RET; - -/*************************־ end***********************************************/ - -//״̬(9000չ) -typedef struct -{ - BYTE Output[MAX_ALARMOUT_V30]; -}NET_DVR_ALARMOUTSTATUS_V30, *LPNET_DVR_ALARMOUTSTATUS_V30; - -//״̬ -typedef struct -{ - BYTE Output[MAX_ALARMOUT]; -}NET_DVR_ALARMOUTSTATUS, *LPNET_DVR_ALARMOUTSTATUS; - -//Ϣ -typedef struct -{ - USHORT m_Year; - USHORT m_Month; - USHORT m_Day; - USHORT m_Hour; - USHORT m_Minute; - USHORT m_Second; - BYTE DeviceName[24]; //豸 - DWORD dwChannelNumer; //ͨ - BYTE CardNumber[32]; // - char cTradeType[12]; // - DWORD dwCash; //׽ -}NET_DVR_TRADEINFO, *LPNET_DVR_TRADEINFO; - - -//ATMר -/****************************ATM(begin)***************************/ -#define NCR 0 -#define DIEBOLD 1 -#define WINCOR_NIXDORF 2 -#define SIEMENS 3 -#define OLIVETTI 4 -#define FUJITSU 5 -#define HITACHI 6 -#define SMI 7 -#define IBM 8 -#define BULL 9 -#define YiHua 10 -#define LiDe 11 -#define GDYT 12 -#define Mini_Banl 13 -#define GuangLi 14 -#define DongXin 15 -#define ChenTong 16 -#define NanTian 17 -#define XiaoXing 18 -#define GZYY 19 -#define QHTLT 20 -#define DRS918 21 -#define KALATEL 22 -#define NCR_2 23 -#define NXS 24 - - -/*֡ʽ*/ -typedef struct -{ - BYTE code[12]; /* */ -}NET_DVR_FRAMETYPECODE; - - -//ATM -typedef struct -{ - DWORD dwSize; - char sATMIP[16]; /* ATM IPַ */ - DWORD dwATMType; /* ATM */ - DWORD dwInputMode; /* 뷽ʽ 0- 1- 2-ֱ 3-ATM*/ - DWORD dwFrameSignBeginPos; /* ı־λʼλ*/ - DWORD dwFrameSignLength; /* ı־λij */ - BYTE byFrameSignContent[12]; /* ı־λ */ - DWORD dwCardLengthInfoBeginPos; /* ųϢʼλ */ - DWORD dwCardLengthInfoLength; /* ųϢij */ - DWORD dwCardNumberInfoBeginPos; /* Ϣʼλ */ - DWORD dwCardNumberInfoLength; /* Ϣij */ - DWORD dwBusinessTypeBeginPos; /* ͵ʼλ */ - DWORD dwBusinessTypeLength; /* ͵ij */ - NET_DVR_FRAMETYPECODE frameTypeCode[10];/* */ -}NET_DVR_FRAMEFORMAT, *LPNET_DVR_FRAMEFORMAT; - -//ATM(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_IPADDR struATMIP; /* ATM IPַ */ - DWORD dwATMType; /* ATM */ - DWORD dwInputMode; /* 뷽ʽ 0- 1- 2-ֱ 3-ATM*/ - DWORD dwFrameSignBeginPos; /* ı־λʼλ*/ - DWORD dwFrameSignLength; /* ı־λij */ - BYTE byFrameSignContent[12]; /* ı־λ */ - DWORD dwCardLengthInfoBeginPos; /* ųϢʼλ */ - DWORD dwCardLengthInfoLength; /* ųϢij */ - DWORD dwCardNumberInfoBeginPos; /* Ϣʼλ */ - DWORD dwCardNumberInfoLength; /* Ϣij */ - DWORD dwBusinessTypeBeginPos; /* ͵ʼλ */ - DWORD dwBusinessTypeLength; /* ͵ij */ - NET_DVR_FRAMETYPECODE frameTypeCode[10]; /* */ - WORD wATMPort; /* Ų׽˿ں(Э鷽ʽ) ()0xffffʾֵЧ*/ - WORD wProtocolType; /* Э() 0xffffʾֵЧ*/ - BYTE byRes[24]; -}NET_DVR_FRAMEFORMAT_V30, *LPNET_DVR_FRAMEFORMAT_V30; - -//SDK_V31 ATM - -/**/ -typedef struct tagNET_DVR_FILTER -{ - BYTE byEnable; //0,;1, - BYTE byMode; //0,ASCII;1,HEX - BYTE byFrameBeginPos; // ҪĿַʼλ - BYTE byRes; // ֽ - BYTE byFilterText[16]; //ַ - BYTE byRes2[12]; // ֽ -}NET_DVR_FILTER, *LPNET_DVR_FILTER; - -//ݰ ݰʶ -typedef struct tagNET_DVR_IDENTIFICAT -{ - BYTE byStartMode; //ʼַģʽ:0,ASCII;1,HEX - BYTE byEndMode; //ַģʽ0,ASCII;1,HEX - BYTE byRes[2]; //ֽ - NET_DVR_FRAMETYPECODE struStartCode; //ݰʼʶַ - NET_DVR_FRAMETYPECODE struEndCode; //ݰʶַ - BYTE byRes1[12]; //ֽ -}NET_DVR_IDENTIFICAT, *LPNET_DVR_IDENTIFICAT; - -typedef struct tagNET_DVR_PACKAGE_LOCATION/*Ϣλ*/ -{ - BYTE byOffsetMode; /*λϢģʽ 0,token(ַ־ģʽ);1,fix̶ģʽ*/ - BYTE byRes1[3]; // ֽ - DWORD dwOffsetPos; /*modeΪ1ʱʹ,̶ƫƴС*/ - NET_DVR_FRAMETYPECODE struTokenCode; /*־λ*/ - BYTE byMultiplierValue; /*־λٴγ*/ - BYTE byEternOffset; /*ַƫ*/ - BYTE byCodeMode; /*0,ASCII;1,HEX*/ - BYTE byRes2[9]; //ֽ -}NET_DVR_PACKAGE_LOCATION, *LPNET_DVR_PACKAGE_LOCATION; - - -typedef struct tagNET_DVR_PACKAGE_LENGTH//Ϣ -{ - BYTE byLengthMode; //ͣ0,ɱ䳤;1,̶;2,(ӿлȡ) - BYTE byRes1[3]; // ֽ - DWORD dwFixLength; //modeΪ1ʱʹ,̶ȴС - DWORD dwMaxLength; //Ϣ󳤶 byLengthModeΪ0ʱʹ - DWORD dwMinLength; //ϢС byLengthModeΪ0ʱʹ - BYTE byEndMode; //ɱ䳤 սģʽ 0,ASCII;1,HEX - BYTE byRes2[3]; //ֽ - NET_DVR_FRAMETYPECODE struEndCode; //ɱ䳤ս - DWORD dwLengthPos; //lengthModeΪ2ʱʹãųڱеλ - DWORD dwLengthLen; //lengthModeΪ2ʱʹãųȵij - BYTE byRes3[8]; // ֽ -}NET_DVR_PACKAGE_LENGTH,* LPNET_DVR_PACKAGE_LENGTH; - -typedef struct tagNET_DVR_OSD_POSITION//OSD ӵλ -{ - BYTE byPositionMode; //ӷ񣬹2֣0ʾ1Զ - BYTE byRes1[3]; // ֽ - DWORD dwPosX; //x꣬ӷΪԶʱʹ - DWORD dwPosY; //y꣬ӷΪԶʱʹ - BYTE byRes2[8]; //ֽ -}NET_DVR_OSD_POSITION, *LPNET_DVR_OSD_POSITION; - -typedef struct tagNET_DVR_DATE_FORMAT//ʾʽ -{ - BYTE byMonth; //Month,0.mm;1.mmm;2.mmmm - BYTE byDay; //Day,0.dd; - BYTE byYear; //Year,0.yy;1.yyyy - BYTE byDateForm; //0~5յ - BYTE byRes[20]; // ֽ - char chSeprator[4]; //ָ - char chDisplaySeprator[4]; //ʾָ - BYTE byDisplayForm; //0~53item - BYTE res[27]; // ֽ -}NET_DVR_DATE_FORMAT, *LPNET_DVR_DATE_FORMAT; -typedef struct tagNET_DVRT_TIME_FORMAT//ʱʾʽ -{ - BYTE byTimeForm; //1. HH MM SS;0. HH MM - BYTE byRes1[23]; // ֽ - BYTE byHourMode; //0,12;1,24 - BYTE byRes2[3]; // ֽ - char chSeprator[4]; //ķָʱû - char chDisplaySeprator[4]; //ʾָ - BYTE byDisplayForm; //0~53item - BYTE byRes3[3]; // ֽ - BYTE byDisplayHourMode; //0,12;1,24 - BYTE byRes4[19]; // ֽ -}NET_DVR_TIME_FORMAT, *LPNET_DVR_TIME_FORMAT; - -typedef struct tagNET_DVR_OVERLAY_CHANNEL -{ - BYTE byChannel[64];//ӵͨ ÿֽڱʶһͨ byChannel[0]ֵΪ1Ӧͨ10ʾͨ1 - DWORD dwDelayTime; //ʱʱ - BYTE byEnableDelayTime; //Ƿõʱ - BYTE byRes[11]; // ֽ -}NET_DVR_OVERLAY_CHANNEL, *LPNET_DVR_OVERLAY_CHANNEL; - -// ATM ΪϢ -typedef struct tagNET_DVR_ATM_PACKAGE_ACTION -{ - NET_DVR_PACKAGE_LOCATION struPackageLocation;// λϢ - NET_DVR_OSD_POSITION struOsdPosition; // OSD λ - NET_DVR_FRAMETYPECODE struActionCode; //Ϊ - NET_DVR_FRAMETYPECODE struPreCode; //ַǰַ - BYTE byActionCodeMode; //Ϊģʽ0,ASCII;1,HEX - BYTE byRes[7]; // ֽ -}NET_DVR_ATM_PACKAGE_ACTION, *LPNET_DVR_ATM_PACKAGE_ACTION; - -// ATM DATAϢ -typedef struct tagNET_DVR_ATM_PACKAGE_DATE -{ - NET_DVR_PACKAGE_LOCATION struPackageLocation;// ڱеλϢ - NET_DVR_DATE_FORMAT struDateForm; //ʾʽ - NET_DVR_OSD_POSITION struOsdPosition; // OSDλϢ - BYTE res[8]; // ֽ -}NET_DVR_ATM_PACKAGE_DATE, *LPNET_DVR_ATM_PACKAGE_DATE; - - -//ATMʱϢ -typedef struct tagNET_DVR_ATM_PACKAGE_TIME -{ - NET_DVR_PACKAGE_LOCATION location; // ʱڱеλϢ - NET_DVR_TIME_FORMAT struTimeForm; // ʱʾʽ - NET_DVR_OSD_POSITION struOsdPosition;// OSD λϢ - BYTE byRes[8]; // ֽ -}NET_DVR_ATM_PACKAGE_TIME, *LPNET_DVR_ATM_PACKAGE_TIME; - - -// ATM Ϣţ׽ţ -typedef struct tagNET_DVR_ATM_PACKAGE_OTHERS -{ - NET_DVR_PACKAGE_LOCATION struPackageLocation; //λϢ - NET_DVR_PACKAGE_LENGTH struPackageLength; //Ϣ - NET_DVR_OSD_POSITION struOsdPosition; // OSDλϢ - NET_DVR_FRAMETYPECODE struPreCode; //ַǰַ - BYTE res[8]; //ֽ -}NET_DVR_ATM_PACKAGE_OTHERS, *LPNET_DVR_ATM_PACKAGE_OTHERS; - - -//ûԶЭ -typedef struct tagNET_DVR_ATM_USER_DEFINE_PROTOCOL -{ - NET_DVR_IDENTIFICAT struIdentification; //ı־ - NET_DVR_FILTER struFilter; //ݰ - NET_DVR_ATM_PACKAGE_OTHERS struCardNoPara; //ӿ - NET_DVR_ATM_PACKAGE_ACTION struTradeActionPara[MAX_ACTION_TYPE]; //ӽΪ 0-9 ζӦInCard OutCard OverLay SetTime GetStatus Query WithDraw Deposit ChanPass Transfer - NET_DVR_ATM_PACKAGE_OTHERS struAmountPara; //ӽ׽ - NET_DVR_ATM_PACKAGE_OTHERS struSerialNoPara; //ӽ - NET_DVR_OVERLAY_CHANNEL struOverlayChan; //ͨ - NET_DVR_ATM_PACKAGE_DATE struRes1; //ڣ - NET_DVR_ATM_PACKAGE_TIME struRes2; //ʱ䣬 - BYTE byRes3[124]; // -}NET_DVR_ATM_USER_DEFINE_PROTOCOL, *LPNET_DVR_ATM_USER_DEFINE_PROTOCOL; - -typedef struct tagNET_DVR_ATM_FRAMEFORMAT_V30 -{ - DWORD dwSize; //ṹС - BYTE byEnable; /*Ƿ0,;1,*/ - BYTE byInputMode; /**뷽ʽ:0-1Э顢2-ڼ3-Э*/ - BYTE byRes1[34]; //ֽ - NET_DVR_IPADDR struAtmIp; /*ATM IP ʱʹ */ - WORD wAtmPort; /* Э鷽ʽʱʹ*/ - BYTE byRes2[2]; // ֽ - DWORD dwAtmType; /*ATMЭͣNET_DVR_ATM_PROTOCOLṹлȡΪԶʱʹûԶЭ*/ - NET_DVR_ATM_USER_DEFINE_PROTOCOL struAtmUserDefineProtocol; //ûԶЭ飬ATMΪԶʱҪʹøö - BYTE byRes3[8]; -}NET_DVR_ATM_FRAMEFORMAT_V30, *LPNET_DVR_ATM_FRAMEFORMAT_V30; - -//ATMЭ -typedef enum _ATM_PROTO_TYPE_ -{ - ATM_PROTO_NCR = 0,//NCR - ATM_PROTO_DIEBOLD = 1,//DIEBOLD - ATM_PROTO_WINCOR_NIXDORF = 2,//WINCOR-NIXDORF - ATM_PROTO_SIEMENS = 4,//SIEMENS - ATM_PROTO_OLIVETTI = 5,//OLIVETTI - ATM_PROTO_FUJITSU = 6,//FUJITSU - ATM_PROTO_HITACHI = 7,//HITACHI - ATM_PROTO_SMI = 8,//SMI - ATM_PROTO_BULL = 9,//BULL - ATM_PROTO_YIHUA = 10,// - ATM_PROTO_LIDE = 11,// - ATM_PROTO_GDYT = 12,//ͨ - ATM_PROTO_MINI_BANL = 13,//Mini-Banl - ATM_PROTO_GUANGLI = 14,// - ATM_PROTO_DONGXIN = 15,// - ATM_PROTO_CHENTONG = 16,//ͨ - ATM_PROTO_NANTIAN = 17,// - ATM_PROTO_XIAOXING = 18,// - ATM_PROTO_GZYY = 19,// - ATM_PROTO_QHTLT = 20,//̩ - ATM_PROTO_DRS918 = 21,//DRS918 - ATM_PROTO_KALATEL = 22,//KALATEL - ATM_PROTO_NCR_2 = 23,//NCR_2 - ATM_PROTO_NXS = 24,//NXS - ATM_PROTO_ICBC = 25,// - ATM_PROTO_PSBC = 26,//й - ATM_PROTO_CUSTOM = 1025//Զ -}ATM_PROTO_TYPE; - -typedef struct tagNET_DVR_ATM_PROTO_TYPE -{ - DWORD dwAtmType; //ATMЭͣͬʱΪ ATM еdwAtmType ԶʱΪ1025 - char chDesc[ATM_DESC_LEN]; //ATMЭ -}NET_DVR_ATM_PROTO_TYPE, *LPNET_DVR_ATM_PROTO_TYPE; //ЭϢݽṹ - -typedef struct tagNET_DVR_ATM_PROTO_LIST //ATM Эб -{ - DWORD dwAtmProtoNum; // Эбĸ - NET_DVR_ATM_PROTO_TYPE struAtmProtoType[MAX_ATM_PROTOCOL_NUM]; //ЭбϢ -}NET_DVR_ATM_PROTO_LIST, *LPNET_DVR_ATM_PROTO_LIST; - -typedef struct tagNET_DVR_ATM_PROTOCOL -{ - DWORD dwSize; - NET_DVR_ATM_PROTO_LIST struNetListenList; // Э - NET_DVR_ATM_PROTO_LIST struSerialListenList; //ڼЭ - NET_DVR_ATM_PROTO_LIST struNetProtoList; //Э - NET_DVR_ATM_PROTO_LIST struSerialProtoList; //Э - NET_DVR_ATM_PROTO_TYPE struCustomProto; //ԶЭ -}NET_DVR_ATM_PROTOCOL, *LPNET_DVR_ATM_PROTOCOL; -// SDK_V31 - -/*****************************DS-6001D/F(begin)***************************/ -//DS-6001D Decoder -typedef struct -{ - BYTE byEncoderIP[16]; //豸ӵķIP - BYTE byEncoderUser[16]; //豸ӵķû - BYTE byEncoderPasswd[16]; //豸ӵķ - BYTE bySendMode; //豸ӷģʽ - BYTE byEncoderChannel; //豸ӵķͨ - WORD wEncoderPort; //豸ӵķĶ˿ں - BYTE reservedData[4]; // -}NET_DVR_DECODERINFO, *LPNET_DVR_DECODERINFO; - -typedef struct -{ - BYTE byEncoderIP[16]; //豸ӵķIP - BYTE byEncoderUser[16]; //豸ӵķû - BYTE byEncoderPasswd[16]; //豸ӵķ - BYTE byEncoderChannel; //豸ӵķͨ - BYTE bySendMode; //豸ӵķģʽ - WORD wEncoderPort; //豸ӵķĶ˿ں - DWORD dwConnectState; //豸ӷ״̬ - BYTE reservedData[4]; // -}NET_DVR_DECODERSTATE, *LPNET_DVR_DECODERSTATE; - -/*豸붨*/ -#define NET_DEC_STARTDEC 1 -#define NET_DEC_STOPDEC 2 -#define NET_DEC_STOPCYCLE 3 -#define NET_DEC_CONTINUECYCLE 4 -/*ӵͨ*/ -typedef struct -{ - char sDVRIP[16]; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byChannel; /* ͨ */ - BYTE byLinkMode; /* ģʽ */ - BYTE byLinkType; /* 0 1 */ -}NET_DVR_DECCHANINFO, *LPNET_DVR_DECCHANINFO; - -/*ÿͨ*/ -typedef struct -{ - BYTE byPoolChans; /*ÿ·ͨϵѭͨ, 4ͨ 0ʾûн*/ - NET_DVR_DECCHANINFO struchanConInfo[MAX_DECPOOLNUM]; - BYTE byEnablePoll; /*ǷѲ 0- 1-*/ - BYTE byPoolTime; /*Ѳʱ 0- 1-10 2-15 3-20 4-30 5-45 6-1 7-2 8-5 */ -}NET_DVR_DECINFO, *LPNET_DVR_DECINFO; - -/*豸*/ -typedef struct -{ - DWORD dwSize; - DWORD dwDecChanNum; /*ͨ*/ - NET_DVR_DECINFO struDecInfo[MAX_DECNUM]; -}NET_DVR_DECCFG, *LPNET_DVR_DECCFG; - -//2005-08-01 -/* 豸͸ͨ */ -typedef struct -{ - DWORD dwEnableTransPort; /* Ƿ͸ͨ 0 1*/ - char sDecoderIP[16]; /* DVR IPַ */ - WORD wDecoderPort; /* ˿ں */ - WORD wDVRTransPort; /* ǰDVRǴ485/2321ʾ232,2ʾ485 */ - char cReserve[4]; -}NET_DVR_PORTINFO, *LPNET_DVR_PORTINFO; - -typedef struct -{ - DWORD dwSize; - NET_DVR_PORTINFO struTransPortInfo[MAX_TRANSPARENTNUM]; /* 0ʾ232 1ʾ485 */ -}NET_DVR_PORTCFG, *LPNET_DVR_PORTCFG; - -/* ļط */ -typedef struct -{ - DWORD dwSize; - char sDecoderIP[16]; /* DVR IPַ */ - WORD wDecoderPort; /* ˿ں */ - WORD wLoadMode; /* طģʽ 1 2ʱ */ - union - { - BYTE byFile[100]; /* طŵļ */ - struct - { - DWORD dwChannel; - BYTE sUserName[NAME_LEN]; /*Ƶû*/ - BYTE sPassword[PASSWD_LEN]; /* */ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - }bytime; - }mode_size; -}NET_DVR_PLAYREMOTEFILE, *LPNET_DVR_PLAYREMOTEFILE; - -/*ǰ豸״̬*/ -typedef struct -{ - DWORD dwWorkType; /*ʽ1Ѳ2̬ӽ롢3ļط 4ʱط*/ - char sDVRIP[16]; /*ӵ豸ip*/ - WORD wDVRPort; /*Ӷ˿ں*/ - BYTE byChannel; /* ͨ */ - BYTE byLinkMode; /* ģʽ */ - DWORD dwLinkType; /* 0 1*/ - union - { - struct - { - BYTE sUserName[NAME_LEN]; /*Ƶû*/ - BYTE sPassword[PASSWD_LEN]; /* */ - char cReserve[52]; - }userInfo; - struct - { - BYTE fileName[100]; - }fileInfo; - struct - { - DWORD dwChannel; - BYTE sUserName[NAME_LEN]; /*Ƶû*/ - BYTE sPassword[PASSWD_LEN]; /* */ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - }timeInfo; - }objectInfo; -}NET_DVR_DECCHANSTATUS, *LPNET_DVR_DECCHANSTATUS; - -typedef struct -{ - DWORD dwSize; - NET_DVR_DECCHANSTATUS struDecState[MAX_DECNUM]; -}NET_DVR_DECSTATUS, *LPNET_DVR_DECSTATUS; -/*****************************DS-6001D/F(end)***************************/ - -//ַ(ӽṹ) -typedef struct -{ - WORD wShowString; // ԤͼǷʾַ,0-ʾ,1-ʾ ԤС704*576,ַĴСΪ32*32 - WORD wStringSize; /* ַijȣܴ44ַ */ - WORD wShowStringTopLeftX; /* ַʾλõx */ - WORD wShowStringTopLeftY; /* ַʾλõy */ - char sString[44]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRINGINFO, *LPNET_DVR_SHOWSTRINGINFO; - -//ַ(9000չ) -typedef struct -{ - DWORD dwSize; - NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM_V30]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRING_V30, *LPNET_DVR_SHOWSTRING_V30; - -//ַչ(8ַ) -typedef struct -{ - DWORD dwSize; - NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM_EX]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRING_EX, *LPNET_DVR_SHOWSTRING_EX; - -//ַ -typedef struct -{ - DWORD dwSize; - NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM]; /* Ҫʾַ */ -}NET_DVR_SHOWSTRING, *LPNET_DVR_SHOWSTRING; - -/****************************DS9000ṹ(begin)******************************/ -/* -EMAILṹ -*/ -typedef struct -{ - DWORD dwSize; - BYTE sAccount[NAME_LEN]; /* ˺*/ - BYTE sPassword[MAX_EMAIL_PWD_LEN]; /* */ - struct - { - BYTE sName[NAME_LEN]; /* */ - BYTE sAddress[MAX_EMAIL_ADDR_LEN]; /* ˵ַ */ - }struSender; - BYTE sSmtpServer[MAX_EMAIL_ADDR_LEN]; /* smtp */ - BYTE sPop3Server[MAX_EMAIL_ADDR_LEN]; /* pop3 */ - struct - { - BYTE sName[NAME_LEN]; /* ռ */ - BYTE sAddress[MAX_EMAIL_ADDR_LEN]; /* ռ˵ַ */ - }struReceiver[3]; /* 3ռ */ - BYTE byAttachment; /* Ƿ */ - BYTE bySmtpServerVerify; /* ͷҪ֤ */ - BYTE byMailInterval; /* mail interval */ - BYTE byEnableSSL; //sslǷ9000_1.1 - WORD wSmtpPort; //gmail465ͨΪ25 - BYTE byEnableTLS; /*TLSǷ*/ - BYTE byStartTLS; /*ǷStartTLS*/ - BYTE byRes[72]; /**/ -} NET_DVR_EMAILCFG_V30, *LPNET_DVR_EMAILCFG_V30; - -/* -DVRʵѲݽṹ -*/ -typedef struct -{ - DWORD dwSize; - BYTE byPresetNo[CRUISE_MAX_PRESET_NUMS]; /* Ԥõ */ - BYTE byCruiseSpeed[CRUISE_MAX_PRESET_NUMS]; /* Ѳٶ */ - WORD wDwellTime[CRUISE_MAX_PRESET_NUMS]; /* ͣʱ */ - BYTE byEnableThisCruise; /* Ƿ */ - BYTE res[15]; -}NET_DVR_CRUISE_PARA, *LPNET_DVR_CRUISE_PARA; -/****************************DS9000ṹ(end)******************************/ - -//ʱ -typedef struct -{ - DWORD dwMonth; // 0-11ʾ1-12 - DWORD dwWeekNo; //ڼ 01 12 23 34 4һ - DWORD dwWeekDate; //ڼ 0 1һ 2ڶ 3 4 5 6 - DWORD dwHour; //Сʱ ʼʱ023 ʱ123 - DWORD dwMin; // 059 -}NET_DVR_TIMEPOINT; - -//ʱ -typedef struct -{ - DWORD dwSize; - DWORD dwZoneIndex; //ӦòʹNET_DVR_NTPPARA еcTimeDifferenceH cTimeDifferenceM ʱ˴ûȡֵ䣬ûṩ༭ - BYTE byRes1[12]; // - DWORD dwEnableDST; //Ƿʱ 0 1 - BYTE byDSTBias; //ʱƫֵ30min, 60min, 90min, 120min, ԷӼƣԭʼֵ - BYTE byRes2[3]; - NET_DVR_TIMEPOINT struBeginPoint; //ʱƿʼʱ - NET_DVR_TIMEPOINT struEndPoint; //ʱֹͣʱ -}NET_DVR_ZONEANDDST, *LPNET_DVR_ZONEANDDST; - -//ͼƬ -typedef struct -{ -/*ע⣺ͼѹֱΪVGAʱ֧0=CIF, 1=QCIF, 2=D1ץͼ -ֱΪ3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA,7=XVGA, 8=HD900p - ֵ֧ǰֱʵץͼ*/ - - /* ͨȡ - 0-CIF 1-QCIF 2-D1 3-UXGA(1600x1200), 4-SVGA(800x600),5-HD720p(1280x720) - 6-VGA 7-XVGA 8-HD900p 9-HD1080 10-2560*1920 - 11-1600*304 12-2048*1536 13-2448*2048, 14-2448*1200 15-2448*800 - 16-XGA(1024*768), 17-SXGA(1280*1024),18-WD1(960*576/960*480), 19-1080i, 20-576*576 - 21-1536*1536, 22-1920*1920, 23-320*240, 24-720*720, 25-1024*768, - 26-1280*1280, 27-1600*600, 28-2048*768, 29-160*120, 55-3072*2048, - 64-3840*2160, 70-2560*1440, 75-336*256, - 78-384*256, 79-384*216, 80-320*256, 82-320*192, 83-512*384, - 127-480*272, 128-512*272, 161-288*320, 162-144*176, 163-480*640, - 164-240*320, 165-120*160, 166-576*720, 167-720*1280, 168-576*960, - 180-180*240, 181-360*480, 182-540*720, 183-720*960, 184-960*1280, - 185-1080*1440, 215-1080*720(ռλδ), 216-360x640(ռλδ),245-576*704(ռλδ) - 500-384*288, - 0xff-Auto(ʹõǰֱ) - */ - WORD wPicSize; - WORD wPicQuality; /* ͼƬϵ 0- 1-Ϻ 2-һ */ -}NET_DVR_JPEGPARA, *LPNET_DVR_JPEGPARA; - -//ṹ -typedef struct tagNET_VCA_RECT -{ - float fX; //߽ϽǵX, 0.000~1 - float fY; //߽ϽǵY, 0.000~1 - float fWidth; //߽Ŀ, 0.000~1 - float fHeight; //߽ĸ߶, 0.000~1 -}NET_VCA_RECT, *LPNET_VCA_RECT; - -typedef struct tagNET_DVR_JPEGPICTURE_WITH_APPENDDATA -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - DWORD dwJpegPicLen;//JpegͼƬ - char *pJpegPicBuff;//JpegͼƬָ - DWORD dwJpegPicWidth; // ͼ - DWORD dwJpegPicHeight; //ͼ߶ - DWORD dwP2PDataLen;//ȫݳ - char *pP2PDataBuff; //ȫָ - BYTE byIsFreezedata;//Ƿݶ 0- 1- - BYTE byRes1[3]; - DWORD dwVisiblePicLen;//ɼͼƬ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char *pVisiblePicBuff;//ɼͼƬָ -#else - char *pVisiblePicBuff;//ɼͼƬָ - BYTE byRes2[4]; -#endif - NET_VCA_RECT struThermalValidRect;//ȳЧ - NET_VCA_RECT struVisibleValidRect;//ɼЧ - BYTE byRes[208]; -}NET_DVR_JPEGPICTURE_WITH_APPENDDATA, *LPNET_DVR_JPEGPICTURE_WITH_APPENDDATA; - -//ץͼ -typedef struct -{ - NET_DVR_JPEGPARA struParam; - BYTE byPicFormat; // 豸ץͼͼƬʽ 0-Jpeg - /* - 豸ץͼ: - 0-豸ͨץͼ1-ӥ۱궨ͼƬFPJAˢ»ȡͼƬ ʱ3min,2-FlashлȡѴӥ۱궨ͼƬ, - 3-ȡԲͼƬ,4-רøץͼ,5-ȡװȫչͼͼ - */ - BYTE byCapturePicType; - BYTE bySceneID; //0-֧֣1-12-2 - BYTE byRes[253]; -}NET_DVR_PICPARAM_V50, *LPNET_DVR_PICPARAM_V50; -/* aux video out parameter */ -// -typedef struct -{ - DWORD dwSize; - DWORD dwAlarmOutChan; /* ѡ񱨾󱨾ͨлʱ䣺1ͨ: 0:/1:1/2:2/3:3/4:4 */ - DWORD dwAlarmChanSwitchTime; /* :1 - 10:10 */ - DWORD dwAuxSwitchTime[MAX_AUXOUT]; /* лʱ: 0-л,1-5s,2-10s,3-20s,4-30s,5-60s,6-120s,7-300s */ - BYTE byAuxOrder[MAX_AUXOUT][MAX_WINDOW]; /* Ԥ˳, 0xffʾӦĴڲԤ */ -}NET_DVR_AUXOUTCFG, *LPNET_DVR_AUXOUTCFG; - - -//ntp -typedef struct -{ - BYTE sNTPServer[64]; /* Domain Name or IP addr of NTP server */ - WORD wInterval; /* adjust time interval(hours) */ - BYTE byEnableNTP; /* enable NPT client 0-no1-yes*/ - signed char cTimeDifferenceH; /* ʱ׼ʱ Сʱƫ-12 ... +13 */ - signed char cTimeDifferenceM;/* ʱ׼ʱ ƫ0, 30, 45*/ - BYTE res1; - WORD wNtpPort; /* ntp server port 9000 豸ĬΪ123*/ - BYTE res2[8]; -}NET_DVR_NTPPARA, *LPNET_DVR_NTPPARA; - -//ddns -typedef struct -{ - BYTE sUsername[NAME_LEN]; /* DDNS˺û/ */ - BYTE sPassword[PASSWD_LEN]; - BYTE sDomainName[64]; /* */ - BYTE byEnableDDNS; /*ǷӦ 0-1-*/ - BYTE res[15]; -}NET_DVR_DDNSPARA, *LPNET_DVR_DDNSPARA; - - -typedef struct -{ - BYTE byHostIndex; /* 0-˽DDNS 1Dyndns 2PeanutHull()*/ - BYTE byEnableDDNS; /*ǷӦDDNS 0-1-*/ - WORD wDDNSPort; /* DDNS˿ں */ - BYTE sUsername[NAME_LEN]; /* DDNSû*/ - BYTE sPassword[PASSWD_LEN]; /* DDNS */ - BYTE sDomainName[MAX_DOMAIN_NAME]; /* 豸䱸ַ */ - BYTE sServerName[MAX_DOMAIN_NAME]; /* DDNS ӦķַIPַ */ - BYTE byRes[16]; -}NET_DVR_DDNSPARA_EX, *LPNET_DVR_DDNSPARA_EX; - -//9000չ -typedef struct -{ - BYTE byEnableDDNS; - BYTE byHostIndex;/*0-IPServer 1Dyndns 2PeanutHull()3- NO-IP, 4- hiDDNS*/ - BYTE byRes1[2]; - struct - { - BYTE sUsername[NAME_LEN]; /* DDNS˺û*/ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE sDomainName[MAX_DOMAIN_NAME]; /* 豸䱸ַ */ - BYTE sServerName[MAX_DOMAIN_NAME]; /* DDNSЭӦķַIPַ */ - WORD wDDNSPort; /* ˿ں */ - WORD wCountryID; //ұţbyHostIndex = 4ʱЧ0ʾĬ - BYTE byStatus; /* DDNS״ֻ̬ - 0- - 1-ӷʧ(connServerfail) - 2-Ϣʧ(solveServerMesFail) - 3-ʧ(connHeartSrvfail) - 4-Ϣʧ(solveHeartSrvMesFail) - 5-ʧ(connHostSrvfail) - 6-Ϣʧ(solveHostSrvMesFail) - 7-DDNS״̬(updateSuccess) - 8-δ(disable) - 9-עɹ(registHostSuccess) - 10-DNSô(DNSSrvError) - 11-ռ(DomainConflict) - 12-()Ϸ(invalidAlias) - 13-Ȩʧ(authenticationFail) - 14-ע(registServerError) - 15-עʧ(registFail) - */ - BYTE byRes[7]; - } struDDNS[MAX_DDNS_NUMS]; - BYTE byRes2[16]; -}NET_DVR_DDNSPARA_V30, *LPNET_DVR_DDNSPARA_V30; - -//email -typedef struct -{ - BYTE sUsername[64]; /* ʼ˺/ */ - BYTE sPassword[64]; - BYTE sSmtpServer[64]; - BYTE sPop3Server[64]; - BYTE sMailAddr[64]; /* email */ - BYTE sEventMailAddr1[64]; /* ϴ/쳣ȵemail */ - BYTE sEventMailAddr2[64]; - BYTE res[16]; -}NET_DVR_EMAILPARA, *LPNET_DVR_EMAILPARA; - -// -typedef struct -{ - DWORD dwSize; - char sDNSIp[16]; /* DNSַ */ - NET_DVR_NTPPARA struNtpClientParam; /* NTP */ - NET_DVR_DDNSPARA struDDNSClientParam; /* DDNS */ - BYTE res[464]; /* */ -}NET_DVR_NETAPPCFG, *LPNET_DVR_NETAPPCFG; - -//nfsṹ -typedef struct -{ - char sNfsHostIPAddr[16]; - BYTE sNfsDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128 -}NET_DVR_SINGLE_NFS, *LPNET_DVR_SINGLE_NFS; - -typedef struct -{ - DWORD dwSize; - NET_DVR_SINGLE_NFS struNfsDiskParam[MAX_NFS_DISK]; -}NET_DVR_NFSCFG, *LPNET_DVR_NFSCFG; - -typedef struct tagNET_DVR_ISCSI_CFG -{ - DWORD dwSize; // ṹС - WORD wVrmPort; // VRM ˿ - BYTE byEnable; // Ƿ ISCSI洢 - BYTE byRes[69]; // ֽ - NET_DVR_IPADDR struVrmAddr; // VRM ipַ 16λ - char chNvtIndexCode[64]; //nvt index Code -}NET_DVR_ISCSI_CFG, *LPNET_DVR_ISCSI_CFG; - -//Ѳ(˽IPר) -typedef struct -{ - BYTE PresetNum; //Ԥõ - BYTE Dwell; //ͣʱ - BYTE Speed; //ٶ - BYTE Reserve; // -}NET_DVR_CRUISE_POINT, *LPNET_DVR_CRUISE_POINT; - -typedef struct -{ - NET_DVR_CRUISE_POINT struCruisePoint[32]; //֧32Ѳ -}NET_DVR_CRUISE_RET, *LPNET_DVR_CRUISE_RET; - -/************************************·(begin)***************************************/ -typedef struct -{ - DWORD dwSize; - char sFirstDNSIP[16]; - char sSecondDNSIP[16]; - char sRes[32]; -}NET_DVR_NETCFG_OTHER, *LPNET_DVR_NETCFG_OTHER; - -typedef struct -{ - char sDVRIP[16]; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨ */ - BYTE byTransProtocol; /* Э 0-TCP, 1-UDP */ - BYTE byTransMode; /* ģʽ 0 1*/ - BYTE byRes[3]; - BYTE sUserName[NAME_LEN]; /* ½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ -}NET_DVR_MATRIX_DECINFO, *LPNET_DVR_MATRIX_DECINFO; - -///ֹ̬ͣ -typedef struct -{ - DWORD dwSize; - NET_DVR_MATRIX_DECINFO struDecChanInfo; /* ̬ͨϢ */ -}NET_DVR_MATRIX_DYNAMIC_DEC, *LPNET_DVR_MATRIX_DYNAMIC_DEC; - -typedef struct -{ - DWORD dwSize; - DWORD dwIsLinked; /* ͨ״̬ 0 1 2 3-ڽ */ - DWORD dwStreamCpRate; /* Stream copy rate, X kbits/second */ - char cRes[64]; /* */ -}NET_DVR_MATRIX_DEC_CHAN_STATUS, *LPNET_DVR_MATRIX_DEC_CHAN_STATUS; - -typedef struct -{ - DWORD dwSize; - NET_DVR_MATRIX_DECINFO struDecChanInfo; /* ͨϢ */ - DWORD dwDecState; /* 0-̬ 1ѭ 2ʱط 3ļط */ - NET_DVR_TIME StartTime; /* ʱطſʼʱ */ - NET_DVR_TIME StopTime; /* ʱطֹͣʱ */ - char sFileName[128]; /* ļطļ */ -}NET_DVR_MATRIX_DEC_CHAN_INFO, *LPNET_DVR_MATRIX_DEC_CHAN_INFO; - -//ӵͨ 2007-11-05 -typedef struct -{ - DWORD dwEnable; /* Ƿ 0 1*/ - NET_DVR_MATRIX_DECINFO struDecChanInfo; /* ѲͨϢ */ -}NET_DVR_MATRIX_DECCHANINFO, *LPNET_DVR_MATRIX_DECCHANINFO; - -//2007-11-05 ÿͨ -typedef struct -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳʱ */ - NET_DVR_MATRIX_DECCHANINFO struchanConInfo[MAX_CYCLE_CHAN]; -}NET_DVR_MATRIX_LOOP_DECINFO, *LPNET_DVR_MATRIX_LOOP_DECINFO; - -//2007-12-22 -typedef struct -{ - BYTE baudrate; /* */ - BYTE databits; /* λ */ - BYTE stopbits; /* ֹͣλ */ - BYTE parity; /* żУλ */ - BYTE flowcontrol; /* */ - BYTE res[3]; -}TTY_CONFIG, *LPTTY_CONFIG; - -typedef struct -{ - BYTE byTranChanEnable; /* ǰ͸ͨǷ 0ر 1 */ - /* - * ·1485ڣ1232ڶΪ͸ͨ,豸ŷ£ - * 0 RS485 - * 1 RS232 Console - */ - BYTE byLocalSerialDevice; /* Local serial device */ - /* - * Զ̴,һRS232һRS485 - * 1ʾ232 - * 2ʾ485 - */ - BYTE byRemoteSerialDevice; /* Remote output serial device */ - BYTE res1; /* */ - char sRemoteDevIP[16]; /* Remote Device IP */ - WORD wRemoteDevPort; /* Remote Net Communication Port */ - BYTE res2[2]; /* */ - TTY_CONFIG RemoteSerialDevCfg; -}NET_DVR_MATRIX_TRAN_CHAN_INFO, *LPNET_DVR_MATRIX_TRAN_CHAN_INFO; - -typedef struct -{ - DWORD dwSize; - BYTE by232IsDualChan; /* ·232͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE by485IsDualChan; /* ·485͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE res[2]; /* */ - NET_DVR_MATRIX_TRAN_CHAN_INFO struTranInfo[MAX_SERIAL_NUM];/*ͬʱֽ֧MAX_SERIAL_NUM͸ͨ*/ -}NET_DVR_MATRIX_TRAN_CHAN_CONFIG, *LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG; - -//2007-12-24 Merry Christmas Eve... -typedef struct -{ - DWORD dwSize; - char sDVRIP[16]; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨ */ - BYTE byReserve; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - NET_DVR_TIME StartTime; - NET_DVR_TIME StopTime; - char sFileName[128]; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY; - -/* ļ */ -#define NET_DVR_PLAYSTART 1//ʼ -#define NET_DVR_PLAYSTOP 2//ֹͣ -#define NET_DVR_PLAYPAUSE 3//ͣ -#define NET_DVR_PLAYRESTART 4//ָ -#define NET_DVR_PLAYFAST 5// -#define NET_DVR_PLAYSLOW 6// -#define NET_DVR_PLAYNORMAL 7//ٶ -#define NET_DVR_PLAYSTARTAUDIO 9// -#define NET_DVR_PLAYSTOPAUDIO 10//ر -#define NET_DVR_PLAYSETPOS 12//ıļطŵĽ -#define NET_DVR_RESETBUFFER 37 //վ뻺Զ̻طļ - -typedef struct -{ - DWORD dwSize; - DWORD dwPlayCmd; /* ļ*/ - DWORD dwCmdParam; /* */ -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_CONTROL; - -typedef struct -{ - DWORD dwSize; - DWORD dwCurMediaFileLen; /* ǰŵýļ */ - DWORD dwCurMediaFilePosition; /* ǰļIJλ */ - DWORD dwCurMediaFileDuration; /* ǰļʱ */ - DWORD dwCurPlayTime; /* ǰѾŵʱ */ - DWORD dwCurMediaFIleFrames; /* ǰļ֡ */ - DWORD dwCurDataType; /* ǰͣ19-ļͷ20-ݣ 21-Ž־ */ - BYTE res[72]; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS; - -//2009-4-11 added by likui ·new -typedef struct tagNET_MATRIX_PASSIVEMODE -{ - WORD wTransProtol; //Э飬0-TCP, 1-UDP, 2-MCAST - WORD wPassivePort; //UDP˿, TCPʱĬ - NET_DVR_IPADDR struMcastIP; //TCP,UDPʱЧ, MCASTʱΪಥַ - BYTE byStreamType;/* ݲģʽ:REAL_TIME_STREAM(1)ʵʱ,RECORD_STREAM(2)ļ */ - BYTE byRes[7]; -}NET_DVR_MATRIX_PASSIVEMODE, *LPNET_DVR_MATRIX_PASSIVEMODE; - -typedef struct tagNET_DVR_MATRIX_TRAN_CHAN_INFO_V30 -{ - BYTE byTranChanEnable; /* ǰ͸ͨǷ 0ر 1 */ - BYTE byLocalSerialDevice; /* Local serial device */ - /* - * ·1485ڣ1232ڶΪ͸ͨ,豸ŷ£ - * 0 RS485 - * 1 RS232 Console - * 2 Dual Scom - */ - BYTE byRemoteSerialDevice; /* Remote output serial device */ - /* - * Զ̴,һRS232һRS485 - * 1 ʾ232 - * 2 ʾ485 - */ - BYTE byRes1; /* */ - NET_DVR_IPADDR struRemoteDevIP; /* Remote Device IP */ - WORD wRemoteDevPort; /* Remote Net Communication Port */ - BYTE byIsEstablished; /* ͸ͨɹ־0-ûгɹ1-ɹ */ - BYTE byRes2; /* */ - TTY_CONFIG RemoteSerialDevCfg; - BYTE byUsername[NAME_LEN]; - BYTE byPassword[PASSWD_LEN]; - DWORD dwLocalSerialNo; /* ش */ - DWORD dwRemoteSerialNo; /* Զ̴ */ - BYTE byRes3[8]; -} NET_DVR_MATRIX_TRAN_CHAN_INFO_V30,*LPNET_DVR_MATRIX_TRAN_CHAN_INFO_V30; - -typedef struct tagMATRIX_TRAN_CHAN_CONFIG -{ - DWORD dwSize; - BYTE by232IsDualChan; /* ·232͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE by485IsDualChan; /* ·485͸ͨȫ˫ ȡֵ1MAX_SERIAL_NUM */ - BYTE byRes[2]; /* */ - NET_DVR_MATRIX_TRAN_CHAN_INFO_V30 struTranInfo[MAX_SERIAL_NUM]; /*ͬʱֽ֧MAX_SERIAL_NUM͸ͨ*/ -}NET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30,*LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30; - -typedef struct -{ - DWORD dwEnable; /* Ƿ 0 1*/ - NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; /* ѲͨϢ */ -}NET_DVR_MATRIX_CHAN_INFO_V30,*LPNET_DVR_CYC_SUR_CHAN_ELE_V30; - -typedef struct tagMATRIX_LOOP_DECINFO_V30 -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳ*/ - NET_DVR_MATRIX_CHAN_INFO_V30 struchanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byRes[16]; -} NET_DVR_MATRIX_LOOP_DECINFO_V30,*LPNET_DVR_MATRIX_LOOP_DECINFO_V30; - - -typedef struct tagDEC_MATRIX_CHAN_INFO_V30 -{ - DWORD dwSize; - NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg; /*ý*/ - NET_DVR_DEV_CHAN_INFO struDevChanInfo; /* ͨϢ */ - DWORD dwDecState; /* 0-̬ 1ѭ 2ʱط 3ļط */ - NET_DVR_TIME StartTime; /* ʱطſʼʱ */ - NET_DVR_TIME StopTime; /* ʱطֹͣʱ */ - char sFileName[128]; /* ļطļ */ - DWORD dwGetStreamMode; /*ȡģʽ:1-2-*/ - NET_DVR_MATRIX_PASSIVEMODE struPassiveMode; - BYTE byRes[32]; -}NET_DVR_MATRIX_DEC_CHAN_INFO_V30,*LPNET_DVR_MATRIX_DEC_CHAN_INFO_V30; - -#define MAX_RESOLUTIONNUM 64 //ֱֵ֧Ŀ -typedef struct tagNET_DVR_MATRIX_ABILITY -{ - DWORD dwSize; - BYTE byDecNums; - BYTE byStartChan; - BYTE byVGANums; - BYTE byBNCNums; - BYTE byVGAWindowMode[8][12]; /*VGAֵ֧ĴģʽVGA1ɻ*/ - BYTE byBNCWindowMode[4]; /*BNCֵ֧Ĵģʽ*/ - BYTE byDspNums; - BYTE byHDMINums;//HDMIʾͨ25ʼ - BYTE byDVINums;//DVIʾͨ29ʼ - BYTE byRes1[13]; - BYTE bySupportResolution[MAX_RESOLUTIONNUM];//öٶ,һֽڴһֱ//֧֣1֧֣0֧ - BYTE byHDMIWindowMode[4][8];//HDMIֵ֧Ĵģʽ - BYTE byDVIWindowMode[4][8];//DVIֵ֧Ĵģʽ - BYTE byRes2[24]; -}NET_DVR_MATRIX_ABILITY, *LPNET_DVR_MATRIX_ABILITY; -//ϴlogoṹ -typedef struct tagNET_DVR_DISP_LOGOCFG -{ - DWORD dwCorordinateX; //ͼƬʾX - DWORD dwCorordinateY; //ͼƬʾY - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - BYTE byRes1[4]; - BYTE byFlash; //Ƿ˸1-˸0-˸ - BYTE byTranslucent; //Ƿ͸1-͸0-͸ - BYTE byRes2[6]; // - DWORD dwLogoSize;//LOGOСBMPļͷ -}NET_DVR_DISP_LOGOCFG,*LPNET_DVR_DISP_LOGOCFG; - -/**/ -#define NET_DVR_ENCODER_UNKOWN 0 /*δ֪ʽ*/ -#define NET_DVR_ENCODER_H264 1 /*˽ 264*/ -#define NET_DVR_ENCODER_S264 2 /*Standard H264*/ -#define NET_DVR_ENCODER_MPEG4 3 /*MPEG4*/ -#define NET_DVR_ORIGINALSTREAM 4 /*Original Stream*/ -#define NET_DVR_PICTURE 5/*Picture*/ -#define NET_DVR_ENCODER_MJPEG 6 -#define NET_DVR_ENCODER_MPEG2 7 -#define NET_DVR_ENCODER_H265 8 -#define NET_DVR_ENCODER_SVAC 9 -#define NET_DVR_ENCODER_SMART264 10/*Smart 264*/ -#define NET_DVR_ENCODER_SMART265 11/*Smart 265*/ - -/* ʽ */ -#define NET_DVR_STREAM_TYPE_UNKOWN 0 /*δ֪ʽ*/ -#define NET_DVR_STREAM_TYPE_PRIVT 1 /*˽иʽ*/ -#define NET_DVR_STREAM_TYPE_TS 7 /* TS */ -#define NET_DVR_STREAM_TYPE_PS 8 /* PS */ -#define NET_DVR_STREAM_TYPE_RTP 9 /* RTP */ -#define NET_DVR_STREAM_TYPE_ORIGIN 10 //δ(Ƶۺƽ̨ϵͳ) - -/*ͨ״̬*/ -typedef struct -{ - BYTE byDecodeStatus; /*ǰ״̬:0:δ1*/ - BYTE byStreamType; /**/ - BYTE byPacketType; /*ʽ*/ - BYTE byRecvBufUsage; /*ջʹ*/ - BYTE byDecBufUsage; /*뻺ʹ*/ - BYTE byFpsDecV; /*Ƶ֡*/ - BYTE byFpsDecA; /*Ƶ֡*/ - BYTE byCpuLoad; /*DSP CPUʹ*/ - BYTE byRes1[4]; - DWORD dwDecodedV; /*Ƶ֡*/ - DWORD dwDecodedA; /*Ƶ֡*/ - WORD wImgW; /*ǰͼС,*/ - WORD wImgH; // - BYTE byVideoFormat; /*Ƶʽ:0-NON,NTSC--1,PAL--2*/ - BYTE byRes2[3]; - DWORD dwDecChan; /*ȡȫͨ״̬ʱЧʱ0*/ - BYTE byRes3[20]; -}NET_DVR_MATRIX_CHAN_STATUS, *LPNET_DVR_MATRIX_CHAN_STATUS; - -/*ʾͨ״̬*/ -#define NET_DVR_MAX_DISPREGION 16 /*ÿʾͨʾĴ*/ -//ֱ -// -typedef enum -{ - /*VGA*/ - VGA_NOT_AVALIABLE, - VGA_THS8200_MODE_SVGA_60HZ, //(800*600) - VGA_THS8200_MODE_SVGA_75HZ, //(800*600) - VGA_THS8200_MODE_XGA_60HZ, //(1024*768) - VGA_THS8200_MODE_XGA_75HZ, //(1024*768) - VGA_THS8200_MODE_SXGA_60HZ, //(1280*1024) - VGA_THS8200_MODE_720P_60HZ, //(1280*720) - VGA_THS8200_MODE_1080I_60HZ, //(1920*1080) - VGA_THS8200_MODE_1080P_30HZ, //(1920*1080) - VGA_THS8200_MODE_UXGA_30HZ, //(1600*1200) - /*HDMI*/ - HDMI_SII9134_MODE_XGA_60HZ, //(1024*768) - HDMI_SII9134_MODE_SXGA_60HZ, //(1280*1024) - HDMI_SII9134_MODE_SXGA2_60HZ, //(1280*960) - HDMI_SII9134_MODE_720P_60HZ, //(1280*720) - HDMI_SII9134_MODE_720P_50HZ, //(1280*720) - HDMI_SII9134_MODE_1080I_60HZ, //(1920*1080) - HDMI_SII9134_MODE_1080I_50HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_25HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_30HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_50HZ, //(1920*1080) - HDMI_SII9134_MODE_1080P_60HZ, //(1920*1080) - HDMI_SII9134_MODE_UXGA_60HZ, //(1600*1200) - /*DVI*/ - DVI_SII9134_MODE_XGA_60HZ, //(1024*768) - DVI_SII9134_MODE_SXGA_60HZ, //(1280*1024) - DVI_SII9134_MODE_SXGA2_60HZ, //(1280*960) - DVI_SII9134_MODE_720P_60HZ, //(1280*720) - DVI_SII9134_MODE_720P_50HZ, //(1280*720) - DVI_SII9134_MODE_1080I_60HZ, //(1920*1080) - DVI_SII9134_MODE_1080I_50HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_25HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_30HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_50HZ, //(1920*1080) - DVI_SII9134_MODE_1080P_60HZ, //(1920*1080) - DVI_SII9134_MODE_UXGA_60HZ, //(1600*1200) - VGA_DECSVR_MODE_SXGA2_60HZ, - HDMI_DECSVR_MODE_1080P_24HZ, - DVI_DECSVR_MODE_1080P_24HZ, - YPbPr_DECSVR_MODE_720P_60HZ, - YPbPr_DECSVR_MODE_1080I_60HZ -}VGA_MODE; - -//֡ʶ -#define LOW_DEC_FPS_1_2 51 -#define LOW_DEC_FPS_1_4 52 -#define LOW_DEC_FPS_1_8 53 -#define LOW_DEC_FPS_1_16 54 - -/*Ƶʽ׼*/ -typedef enum -{ - VS_NON = 0, - VS_NTSC = 1, - VS_PAL = 2 -}VIDEO_STANDARD; - -typedef struct tagNET_DVR_VGA_DISP_CHAN_CFG -{ - DWORD dwSize; - BYTE byAudio; /*ƵǷ,0-1-*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byVgaResolution; /*VGAķֱ*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL,0-NULL*/ - DWORD dwWindowMode; /*ģʽ,ȡ,Ŀǰ֧1,2,4,9,16*/ - BYTE byJoinDecChan[MAX_WINDOWS];/*ӴڹĽͨ*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - union - { - BYTE byRes[16]; - struct - { - /*ӴڶӦͨӦĽϵͳIJλ(Ƶۺƽ̨нϵͳЧ)*/ - BYTE byJoinDecoderId[MAX_WINDOWS]; - }struVideoPlatform; - struct - { - BYTE byRes[16]; - }struNotVideoPlatform; - }struDiff; - /*ֹ壬0-Ƶۺƽ̨ڲʾͨã1-ʾͨ*/ - BYTE byUnionType; - BYTE byScale; /*ʾģʽ0---ʵʾ1---ʾ( BNC )*/ -}NET_DVR_VGA_DISP_CHAN_CFG,*LPNET_DVR_VGA_DISP_CHAN_CFG; - - -/*ʾͨ״̬*/ -#define NET_DVR_MAX_DISPREGION 16 /*ÿʾͨʾĴ*/ -typedef struct -{ - BYTE byDispStatus; /*ʾ״̬0δʾ1ʾ*/ - BYTE byBVGA; /*0-BNC1-VGA 2-HDMI3-DVI*/ - BYTE byVideoFormat; /*Ƶʽ:1:NTSC,2:PAL,0-NON*/ - BYTE byWindowMode; /*ǰģʽ*/ - BYTE byJoinDecChan[MAX_WINDOWS]; /*ӴڹĽͨ*/ - BYTE byFpsDisp[NET_DVR_MAX_DISPREGION]; /*ÿӻʾ֡*/ - BYTE byScreenMode; //Ļģʽ0-ͨ 1- - BYTE byRes2[31]; -}NET_DVR_DISP_CHAN_STATUS, *LPNET_DVR_DISP_CHAN_STATUS; - -#define MAX_DECODECHANNUM 32//·ͨ -#define MAX_DISPCHANNUM 24//·ʾͨ - -/*豸״̬*/ -typedef struct tagNET_DVR_DECODER_WORK_STATUS -{ - DWORD dwSize; - NET_DVR_MATRIX_CHAN_STATUS struDecChanStatus[MAX_DECODECHANNUM]; /*ͨ״̬*/ - NET_DVR_DISP_CHAN_STATUS struDispChanStatus[MAX_DISPCHANNUM]; /*ʾͨ״̬*/ - BYTE byAlarmInStatus[MAX_ANALOG_ALARMIN]; /*״̬*/ - BYTE byAlarmOutStatus[MAX_ANALOG_ALARMOUT]; /*״̬*/ - BYTE byAudioInChanStatus; /*Խ״̬*/ - BYTE byRes[127]; -}NET_DVR_DECODER_WORK_STATUS,*LPNET_DVR_DECODER_WORK_STATUS; - -//2009-12-1 ӱ벥ſ -typedef struct tagNET_DVR_PASSIVEDECODE_CONTROL -{ - DWORD dwSize; - DWORD dwPlayCmd; /* ļ*/ - DWORD dwCmdParam; /* */ - BYTE byRes[16];//Reverse -}NET_DVR_PASSIVEDECODE_CONTROL,*LPNET_DVR_PASSIVEDECODE_CONTROL; - -#define PASSIVE_DEC_PAUSE 1 /*ͣ(ļЧ)*/ -#define PASSIVE_DEC_RESUME 2 /*ָ(ļЧ)*/ -#define PASSIVE_DEC_FAST 3 /*ٱ(ļЧ)*/ -#define PASSIVE_DEC_SLOW 4 /*ٱ(ļЧ)*/ -#define PASSIVE_DEC_NORMAL 5 /*(ļЧ)*/ -#define PASSIVE_DEC_ONEBYONE 6 /*뵥֡()*/ -#define PASSIVE_DEC_AUDIO_ON 7 /*Ƶ*/ -#define PASSIVE_DEC_AUDIO_OFF 8 /*Ƶر*/ -#define PASSIVE_DEC_RESETBUFFER 9 /*ջ*/ -//2009-12-16 ӿƽͨ -typedef struct tagNET_DVR_MATRIX_DECCHAN_CONTROL -{ - DWORD dwSize; - BYTE byDecChanScaleStatus;/*ͨʾſ,1ʾʾ0ʾʵʾ*/ - BYTE byDecodeDelay;//ʱ0-Ĭϣ1-ʵʱԺã2-ʵʱԽϺã3-ʵʱУУ4-ԽϺã5-Ժã0xff-Զ - BYTE byEnableSpartan;//ʹܣ0-أ1- - BYTE byLowLight; //նȡ0-أ1-8նȵȼȼԽǿԽ - BYTE byNoiseReduction; //3D룬0-أ1-2-Զ - BYTE byDefog; //͸0-أ1-7͸ȼȼԽǿԽ - BYTE byEnableVcaDec; //Ƿܽ룬0-ã0- - BYTE byEnableAudio; //ǷƵ0-Ч1-2-ر - DWORD dwAllCtrlType; //ӴһͣʱЧλʾ - //dwAllCtrlType & 0x01,رܽ - BYTE byVolume; //volume,[0-100] - BYTE byRes[55]; -}NET_DVR_MATRIX_DECCHAN_CONTROL,*LPNET_DVR_MATRIX_DECCHAN_CONTROL; - -/************************************·(end)***************************************/ -//2009-8-19 Ƶۺƽ̨ӿں -/************************************Ƶۺƽ̨(begin)***************************************/ -#define MAX_SUBSYSTEM_NUM 80 //һϵͳϵͳ -#define MAX_SERIALLEN 36 //кų -#define MAX_LOOPPLANNUM 16//ƻл -#define DECODE_TIMESEGMENT 4//ƻÿʱ -typedef struct tagNET_DVR_SUBSYSTEMINFO -{ - BYTE bySubSystemType;//ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ0-NULL˲ֻܻȡ - BYTE byChan;//ϵͳͨϵͳ485˲ֻܻȡ - BYTE byLoginType;//עͣ1-ֱ2-DNS3- - BYTE byRes1[5]; - NET_DVR_IPADDR struSubSystemIP; /*IPַ޸ģ*/ - WORD wSubSystemPort; //ϵͳ˿ںţ޸ģ - BYTE byRes2[6]; - NET_DVR_IPADDR struSubSystemIPMask;// - NET_DVR_IPADDR struGatewayIpAddr; /* صַ*/ - BYTE sUserName[NAME_LEN]; /* û ˲ֻܻȡ*/ - BYTE sPassword[PASSWD_LEN]; /*루˲ֻܻȡ*/ - char sDomainName[MAX_DOMAIN_NAME];//(޸) - char sDnsAddress[MAX_DOMAIN_NAME];/*DNSIPַ*/ - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ -}NET_DVR_SUBSYSTEMINFO, *LPNET_DVR_SUBSYSTEMINFO; - -typedef struct tagNET_DVR_ALLSUBSYSTEMINFO -{ - DWORD dwSize; - NET_DVR_SUBSYSTEMINFO struSubSystemInfo[MAX_SUBSYSTEM_NUM]; - BYTE byRes[8]; -}NET_DVR_ALLSUBSYSTEMINFO, *LPNET_DVR_ALLSUBSYSTEMINFO; - -typedef struct tagNET_DVR_LOOPPLAN_SUBCFG -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳλ*/ - NET_DVR_MATRIX_CHAN_INFO_V30 struChanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byRes[16]; -}NET_DVR_LOOPPLAN_SUBCFG,*LPNET_DVR_LOOPPLAN_SUBCFG; - -typedef struct tagNET_DVR_ALARMMODECFG -{ - DWORD dwSize; - BYTE byAlarmMode;//ͣ1-Ѳ2- - WORD wLoopTime;//Ѳʱ, λ - BYTE byRes[9]; -}NET_DVR_ALARMMODECFG,*LPNET_DVR_ALARMMODECFG; - -typedef struct tagNET_DVR_CODESPLITTERINFO -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; /*IPַ*/ - WORD wPort; //˿ں - BYTE byRes1[6]; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byChan;//485 - BYTE by485Port;//485ڵַ - BYTE byRes2[14]; -} NET_DVR_CODESPLITTERINFO, *LPNET_DVR_CODESPLITTERINFO; - -typedef struct tagNET_DVR_ASSOCIATECFG -{ - BYTE byAssociateType;//ͣ1- - WORD wAlarmDelay;//ʱ05룻110룻230룻31ӣ42ӣ55ӣ610ӣ - BYTE byAlarmNum;//ţֵӦøͬıֵͬ - BYTE byRes[8]; -} NET_DVR_ASSOCIATECFG,*LPNET_DVR_ASSOCIATECFG; - -typedef struct tagNET_DVR_DYNAMICDECODE -{ - DWORD dwSize; - NET_DVR_ASSOCIATECFG struAssociateCfg;//̬ṹ - NET_DVR_PU_STREAM_CFG struPuStreamCfg;//̬ṹ - BYTE byRes[8]; -}NET_DVR_DYNAMICDECODE,*LPNET_DVR_DYNAMICDECODE; - -typedef struct tagNET_DVR_DECODESCHED -{ - NET_DVR_SCHEDTIME struSchedTime;// - BYTE byDecodeType;/*0-ޣ1-Ѳ룬2-̬*/ - BYTE byLoopGroup;//Ѳ - BYTE byRes[6]; - NET_DVR_PU_STREAM_CFG struDynamicDec;//̬ -} NET_DVR_DECODESCHED, *LPNET_DVR_DECODESCHED; - -typedef struct tagNET_DVR_PLANDECODE -{ - DWORD dwSize; - NET_DVR_DECODESCHED struDecodeSched[MAX_DAYS][DECODE_TIMESEGMENT];//һΪʼ9000һ - BYTE byRes[8]; -} NET_DVR_PLANDECODE,*LPNET_DVR_PLANDECODE; - -//end -/************************************Ƶۺƽ̨(end)***************************************/ -typedef struct -{ /* 12 bytes */ - DWORD dwSize; - char sUserName[32]; - char sPassWord[32]; - char sFromName[32]; /* Sender *///ַеĵһַһַ"@",ַҪ"@"ַ - char sFromAddr[48]; /* Sender address */ - char sToName1[32]; /* Receiver1 */ - char sToName2[32]; /* Receiver2 */ - char sToAddr1[48]; /* Receiver address1 */ - char sToAddr2[48]; /* Receiver address2 */ - char sEmailServer[32]; /* Email server address */ - BYTE byServerType; /* Email server type: 0-SMTP, 1-POP, 2-IMTP*/ - BYTE byUseAuthen; /* Email server authentication method: 1-enable, 0-disable */ - BYTE byAttachment; /* enable attachment */ - BYTE byMailinterval; /* mail interval 0-2s, 1-3s, 2-4s. 3-5s*/ -} NET_DVR_EMAILCFG, *LPNET_DVR_EMAILCFG; - -typedef struct -{ - DWORD dwSize; - NET_DVR_COMPRESSION_INFO_EX struLowCompression; //ʱ¼ - NET_DVR_COMPRESSION_INFO_EX struEventCompression; //¼¼ -}NET_DVR_COMPRESSIONCFG_NEW, *LPNET_DVR_COMPRESSIONCFG_NEW; - -//λϢ -typedef struct -{ - WORD wAction;//ȡʱֶЧ - WORD wPanPos;//ˮƽ - WORD wTiltPos;//ֱ - WORD wZoomPos;//䱶 -}NET_DVR_PTZPOS, *LPNET_DVR_PTZPOS; - -//ΧϢ -typedef struct -{ - WORD wPanPosMin;//ˮƽmin - WORD wPanPosMax;//ˮƽmax - WORD wTiltPosMin;//ֱmin - WORD wTiltPosMax;//ֱmax - WORD wZoomPosMin;//䱶min - WORD wZoomPosMax;//䱶max -}NET_DVR_PTZSCOPE, *LPNET_DVR_PTZSCOPE; - -//rtsp ipcameraר -typedef struct -{ - DWORD dwSize; // - WORD wPort; //rtsp˿ - BYTE byReserve1[40]; //Ԥ - WORD wRtspsPort; //rtsps˿ - BYTE byReserve[12]; -}NET_DVR_RTSPCFG, *LPNET_DVR_RTSPCFG; - -/********************************ӿڲṹ(begin)*********************************/ - -//NET_DVR_Login()ṹ -typedef struct -{ - BYTE sSerialNumber[SERIALNO_LEN]; //к - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byDiskNum; //DVRӲ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 -}NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO; - -//NET_DVR_Login_V30()ṹ -typedef struct -{ - BYTE sSerialNumber[SERIALNO_LEN]; //к - BYTE byAlarmInPortNum; // - BYTE byAlarmOutPortNum; // - BYTE byDiskNum; //Ӳ̸ - BYTE byDVRType; //豸, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //ģͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byAudioChanNum; //ͨ - BYTE byIPChanNum; //ͨλ - BYTE byZeroChanNum; //ͨ //2010-01-16 - BYTE byMainProto; //Э 0-private, 1-rtsp,2-ͬʱ֧privatertsp - BYTE bySubProto; //Э0-private, 1-rtsp,2-ͬʱ֧privatertsp - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧֣ - //bySupport & 0x1, ʾǷ֧ - //bySupport & 0x2, ʾǷֱ֧ - //bySupport & 0x4, ʾǷ֧ѹȡ - //bySupport & 0x8, ʾǷֶ֧ - //bySupport & 0x10, ʾ֧ԶSADP - //bySupport & 0x20, ʾ֧Raid - //bySupport & 0x40, ʾ֧IPSAN Ŀ¼ - //bySupport & 0x80, ʾ֧rtp over rtsp - BYTE bySupport1; // 䣬λΪ0ʾ֧֣1ʾ֧ - //bySupport1 & 0x1, ʾǷ֧snmp v30 - //bySupport1 & 0x2, ֻ֧طź - //bySupport1 & 0x4, Ƿֲ֧ȼ - //bySupport1 & 0x8, 豸Ƿֲ֧ʱչ - //bySupport1 & 0x10, ʾǷֶ֧33 - //bySupport1 & 0x20, ʾǷ֧rtsp over http - //bySupport1 & 0x80, ʾǷֳ֧±Ϣ2012-9-28, һʾǷ֧NET_DVR_IPPARACFG_V40ṹ - BYTE bySupport2; /*λΪ0ʾ֧֣0ʾ֧ - bySupport2 & 0x1, ʾǷ֧ͨURLȡ - bySupport2 & 0x2, ʾ֧FTPV40 - bySupport2 & 0x4, ʾ֧ANR - bySupport2 & 0x8, ʾ֧CCDͨ - bySupport2 & 0x10, ʾֲ֧شϢ֧ץĻ ϱṹ - bySupport2 & 0x20, ʾǷֵ֧ȡ豸״̬ - bySupport2 & 0x40, ʾǷ豸*/ - WORD wDevType; //豸ͺ - BYTE bySupport3; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport3 & 0x1, ʾǷ֧ö - // bySupport3 & 0x4 ʾְ֧ã ͨͼIP롢 - // û豸״̬JPEGץͼʱʱץͼӲ - //bySupport3 & 0x8Ϊ1 ʾ֧ʹTCPԤUDPԤಥԤе"ʱԤ"ֶʱԤʹַʽʱԤbySupport3 & 0x8Ϊ0ʱʹ "˽ʱԤ"Э顣 - //bySupport3 & 0x10 ʾ֧"ȡҪ״̬V40" - //bySupport3 & 0x20 ʾǷ֧ͨDDNSȡ - - BYTE byMultiStreamProto;//Ƿֶ֧,λʾ,0-֧,1-֧,bit1-3,bit2-4,bit7-bit-8 - BYTE byStartDChan; //ʼͨ,0ʾЧ - BYTE byStartDTalkChan; //ʼֶԽͨţģԽͨţ0ʾЧ - BYTE byHighDChanNum; //ͨλ - BYTE bySupport4; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport4 & 0x02 ʾǷ֧NetSDK͸ӿڣNET_DVR_STDXMLConfig͸ʽ - //bySupport4 & 0x4ʾǷ֧ƴͳһӿ - //bySupport4 & 0x80 ֧豸ϴıʹܡʾжϵýӿ NET_DVR_PDC_RULE_CFG_V42 NET_DVR_PDC_RULE_CFG_V41 - BYTE byLanguageType;// ֧,λʾ,ÿһλ0-֧,1-֧ - // byLanguageType 0 ʾ 豸 - // byLanguageType & 0x1ʾ֧ - // byLanguageType & 0x2ʾ֧Ӣ - BYTE byVoiceInChanNum; //Ƶͨ - BYTE byStartVoiceInChanNo; //Ƶʼͨ 0ʾЧ - BYTE bySupport5; //λʾ,0-֧,1-֧,bit0-ֶ֧ - //bySupport5 &0x01ʾ֧wEventTypeEx ,dwEventType ¼֧ͣΪ¼չ--ռסֹͻ - //bySupport5 &0x04ʾǷ֧ʹչijģʽӿ - /* - bySupport5 &0x08 豸ظֵʾǷּ֧ƻ¼V40ӿЭ(DVR_SET_RECORDCFG_V40/ DVR_GET_RECORDCFG_V40)(ڸЭ豸֧13) - ֮ǰIJַ豸֧¼13¼13֧֣ͳһת¼3ݴSDKͨ̽⴦) - bySupport5 &0x10 豸ظֵʾֳ֧255Ԥõ - */ - BYTE bySupport6; //λʾ0-֧,1-֧ - //bySupport6 0x1 ʾ豸Ƿ֧ѹ - //bySupport6 0x2 ʾǷ֧IDʽԴչDVR_SET_STREAM_SRC_INFO_V40 - //bySupport6 0x4 ʾǷ֧¼V40ӿ - //bySupport6 0x8 ʾǷ֧չ - //bySupport6 0x40ʾͼƬѯV40չ - BYTE byMirrorChanNum; //ͨ<¼ڱʾͨ> - WORD wStartMirrorChanNo; //ʼͨ - BYTE bySupport7; //,λʾ,0-֧,1-֧ - // bySupport7 & 0x1 ʾ豸Ƿ֧ INTER_VCA_RULECFG_V42 չ - // bySupport7 & 0x2 ʾ豸Ƿ֧ IPC HVT ģʽչ - // bySupport7 & 0x04 ʾ豸Ƿ֧ ʱ - // bySupport7 & 0x08 ʾ̨PTZλʱǷִ֧ͨ - // bySupport7 & 0x10 ʾ豸Ƿ֧˫ϵͳ - // bySupport7 & 0x20 ʾ豸Ƿ֧ OSDַ V50 - // bySupport7 & 0x40 ʾ豸Ƿ֧ Ӹ٣ - // bySupport7 & 0x80 ʾ豸Ƿ֧ ļ - BYTE byRes2; // -}NET_DVR_DEVICEINFO_V30, *LPNET_DVR_DEVICEINFO_V30; - -typedef struct tagNET_DVR_DEVICEINFO_V40 -{ - NET_DVR_DEVICEINFO_V30 struDeviceV30; - BYTE bySupportLock; //豸֧ܣֶSDK豸ֵֵġbySupportLockΪ1ʱdwSurplusLockTimebyRetryLoginTimeЧ - BYTE byRetryLoginTime; //ʣɳԵ½Ĵûʱ˲Ч - BYTE byPasswordLevel; //admin밲ȫȼ - //0-Ч1-Ĭ룬2-Ч룬3-սϸߵ롣ûΪĬ루12345߷սϸߵʱϲͻҪʾû롣 - //4-ԱһͨûΪ룬ͨûȷ¼豸Ҫʾ޸ijʼ¼롱δ޸ĵ£ûÿε붼ѣ - //5-ͨû뱻Ա޸ģͨûٴȷ¼豸Ҫʾõ¼롱δ޸ĵ£ûÿε붼; - //6-Աһװ/ԱûΪ룬ûȷ¼豸Ҫʾ޸ijʼ¼롱δ޸ĵ£޷г޸ı; - BYTE byProxyType; //ͣ0-ʹô, 1-ʹsocks5, 2-ʹEHome - DWORD dwSurplusLockTime; //ʣʱ䣬λ룬ûʱ˲Ч - BYTE byCharEncodeType; //ַ0-ַϢ(豸),1-GB2312()2-GBK,3-BIG5(),4-Shift_JIS(),5-EUC-KR(),6-UTF-8,7-21:ISO8859-1---15(ŷ),22-Hebrew(ϣ) - BYTE bySupportDev5;//֧v50汾豸ȡ豸ƺ豸ƳչΪ64ֽ - BYTE bySupport; //չλ0- ֧֣1- ֧ - // bySupport & 0x1: - // bySupport & 0x2: 0-ֱ֧仯ϱ 1-ֱ֧仯ϱ - BYTE byLoginMode; //¼ģʽ 0-Private¼ 1-ISAPI¼ - DWORD dwOEMCode; - int iResidualValidity; //ûʣЧλ죬ظֵʾѾʹã硰-3ʾѾʹ3족 - BYTE byResidualValidity; // iResidualValidityֶǷЧ0-Ч1-Ч - BYTE bySingleStartDTalkChan; //豸ʼͨţ0-Ϊֽڣʵʺ壬ͨŲܴ0ʼ - BYTE bySingleDTalkChanNums; //豸ͨ0-ʾ֧ - BYTE byPassWordResetLevel; //0-Ч1-ԱһǹԱûΪ룬÷ǹԱûȷ¼豸Ҫʾ޸ijʼ¼롱δ޸ĵ£ûÿε붼ѣ2-ǹԱû뱻Ա޸ģ÷ǹԱûٴȷ¼豸Ҫʾõ¼롱δ޸ĵ£ûÿε붼ѡ - BYTE bySupportStreamEncrypt; //չλ0- ֧֣1- ֧ bySupportStreamEncrypt & 0x1:ʾǷ֧RTP/TLSȡ bySupportStreamEncrypt & 0x2: ʾǷ֧SRTP/UDPȡ bySupportStreamEncrypt & 0x4: ʾǷ֧SRTP/MULTICASTȡ - BYTE byMarketType;//0-Чδ֪ͣ,1-ͣ2-ҵ - BYTE byTLSCap; //0-Ч;byTLSCap & 0x1: ʾǷ֧TLS·Ԥ;byTLSCap & 0x2: ʾǷ֧TLS·ط;byTLSCap & 0x4: ʾǷ֧TLS·; - BYTE byRes2[237]; -}NET_DVR_DEVICEINFO_V40, *LPNET_DVR_DEVICEINFO_V40; - -typedef void (CALLBACK *fLoginResultCallBack) (LONG lUserID, DWORD dwResult, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo , void* pUser); - -#define NET_DVR_DEV_ADDRESS_MAX_LEN 129 -#define NET_DVR_LOGIN_USERNAME_MAX_LEN 64 -#define NET_DVR_LOGIN_PASSWD_MAX_LEN 64 - -typedef struct -{ - char sDeviceAddress[NET_DVR_DEV_ADDRESS_MAX_LEN]; - BYTE byUseTransport; //Ƿ͸0--͸Ĭϣ1--͸ - WORD wPort; - char sUserName[NET_DVR_LOGIN_USERNAME_MAX_LEN]; - char sPassword[NET_DVR_LOGIN_PASSWD_MAX_LEN]; - fLoginResultCallBack cbLoginResult; - void *pUser; - BOOL bUseAsynLogin; - BYTE byProxyType; //0:ʹô1ʹñ׼2ʹEHome - BYTE byUseUTCTime; //0-תĬ,1-ӿȫʹUTCʱ,SDKUTCʱ豸ʱת,2-ӿȫʹƽ̨ʱ䣬SDKƽ̨ʱ豸ʱת - BYTE byLoginMode; //0-Private 1-ISAPI 2-Ӧ - BYTE byHttps; //0-tls1-ʹtls 2-Ӧ - LONG iProxyID; //ţӴϢʱӦķ±ֵ - BYTE byVerifyMode; //֤ʽ0-֤1-˫֤2-֤֤ʹTLSʱЧ; - BYTE byRes3[119]; -}NET_DVR_USER_LOGIN_INFO,*LPNET_DVR_USER_LOGIN_INFO; - -//sdk绷öٱԶ -typedef enum _SDK_NET_ENV -{ - LOCAL_AREA_NETWORK = 0, - WIDE_AREA_NETWORK -}SDK_NETWORK_ENVIRONMENT; - -//ʾģʽ -typedef enum -{ - NORMALMODE = 0, - OVERLAYMODE -}DISPLAY_MODE; - -//ģʽ -typedef enum -{ - PTOPTCPMODE = 0, - PTOPUDPMODE, - MULTIMODE, - RTPMODE, - RESERVEDMODE -}SEND_MODE; - -//ץͼģʽ -typedef enum -{ - BMP_MODE = 0, //BMPģʽ - JPEG_MODE = 1 //JPEGģʽ -}CAPTURE_MODE; - -//ʵʱģʽ -typedef enum -{ - MONOPOLIZE_MODE = 1,//ռģʽ - SHARE_MODE = 2 //ģʽ -}REALSOUND_MODE; - -//Ԥ -typedef struct -{ - LONG lChannel;//ͨ - LONG lLinkMode;//λ(31)Ϊ0ʾΪ1ʾӣ030λʾӷʽ: 0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-RTP/RTSP,5-RSTP/HTTP - HWND hPlayWnd;//Ŵڵľ,ΪNULLʾͼ - char* sMultiCastIP;//ಥַ - BYTE byProtoType; //ӦòȡЭ飬0-˽Э飬1-RTSPЭ - BYTE byRes[3]; -}NET_DVR_CLIENTINFO, *LPNET_DVR_CLIENTINFO; - -//SDK״̬Ϣ(9000) -typedef struct -{ - DWORD dwTotalLoginNum; //ǰloginû - DWORD dwTotalRealPlayNum; //ǰrealplay· - DWORD dwTotalPlayBackNum; //ǰطŻ· - DWORD dwTotalAlarmChanNum; //ǰͨ· - DWORD dwTotalFormatNum; //ǰӲ̸ʽ· - DWORD dwTotalFileSearchNum; //ǰ־ļ· - DWORD dwTotalLogSearchNum; //ǰ־ļ· - DWORD dwTotalSerialNum; //ǰ͸ͨ· - DWORD dwTotalUpgradeNum; //ǰ· - DWORD dwTotalVoiceComNum; //ǰת· - DWORD dwTotalBroadCastNum; //ǰ㲥· - DWORD dwTotalListenNum; //ǰ· - DWORD dwEmailTestNum; //ǰʼ· - DWORD dwBackupNum; // ǰļ· - DWORD dwTotalInquestUploadNum; //ǰѶϴ· - DWORD dwRes[6]; -}NET_DVR_SDKSTATE, *LPNET_DVR_SDKSTATE; - -//SDK֧Ϣ(9000) -typedef struct -{ - DWORD dwMaxLoginNum; //loginû MAX_LOGIN_USERS - DWORD dwMaxRealPlayNum; //realplay· WATCH_NUM - DWORD dwMaxPlayBackNum; //طŻ· WATCH_NUM - DWORD dwMaxAlarmChanNum; //ͨ· ALARM_NUM - DWORD dwMaxFormatNum; //Ӳ̸ʽ· SERVER_NUM - DWORD dwMaxFileSearchNum; //ļ· SERVER_NUM - DWORD dwMaxLogSearchNum; //־· SERVER_NUM - DWORD dwMaxSerialNum; //͸ͨ· SERVER_NUM - DWORD dwMaxUpgradeNum; //· SERVER_NUM - DWORD dwMaxVoiceComNum; //ת· SERVER_NUM - DWORD dwMaxBroadCastNum; //㲥· MAX_CASTNUM - DWORD dwRes[10]; -}NET_DVR_SDKABL, *LPNET_DVR_SDKABL; - -//豸Ϣ -typedef struct -{ - BYTE byUserIDValid; /* useridǷЧ 0-Ч1-Ч */ - BYTE bySerialValid; /* кǷЧ 0-Ч1-Ч */ - BYTE byVersionValid; /* 汾ǷЧ 0-Ч1-Ч */ - BYTE byDeviceNameValid; /* 豸ǷЧ 0-Ч1-Ч */ - BYTE byMacAddrValid; /* MACַǷЧ 0-Ч1-Ч */ - BYTE byLinkPortValid; /* login˿ǷЧ 0-Ч1-Ч */ - BYTE byDeviceIPValid; /* 豸IPǷЧ 0-Ч1-Ч */ - BYTE bySocketIPValid; /* socket ipǷЧ 0-Ч1-Ч */ - LONG lUserID; /* NET_DVR_Login()ֵ, ʱЧ */ - BYTE sSerialNumber[SERIALNO_LEN]; /* к */ - DWORD dwDeviceVersion; /* 汾Ϣ 16λʾ汾16λʾΰ汾*/ - char sDeviceName[NAME_LEN]; /* 豸 */ - BYTE byMacAddr[MACADDR_LEN]; /* MACַ */ - WORD wLinkPort; /* link port */ - char sDeviceIP[128]; /* IPַ */ - char sSocketIP[128]; /* ϴʱsocket IPַ */ - BYTE byIpProtocol; /* IpЭ 0-IPV4, 1-IPV6 */ - BYTE byRes1[2]; - BYTE bJSONBroken; //JSON־01 - WORD wSocketPort; - BYTE byRes2[6]; -}NET_DVR_ALARMER, *LPNET_DVR_ALARMER; - -//Ӳʾ(ӽṹ) -typedef struct -{ - long bToScreen; - long bToVideoOut; - long nLeft; - long nTop; - long nWidth; - long nHeight; - long nReserved; -}NET_DVR_DISPLAY_PARA, *LPNET_DVR_DISPLAY_PARA; - -//ӲԤ -typedef struct -{ - LONG lChannel;//ͨ - LONG lLinkMode; //λ(31)Ϊ0ʾΪ1ʾӣ030λʾӷʽ:0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-绰ߣ5128k6256k7384k8512k - char* sMultiCastIP; - NET_DVR_DISPLAY_PARA struDisplayPara; -}NET_DVR_CARDINFO, *LPNET_DVR_CARDINFO; - -//¼ļ -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС -}NET_DVR_FIND_DATA, *LPNET_DVR_FIND_DATA; - -//¼ļ(9000) -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[32]; - BYTE byLocked;//9000豸֧,1ʾļѾ,0ʾļ - BYTE byFileType; //ļ:0ʱ¼,1-ƶ 2 - //3-|ƶ 4-&ƶ 5- 6-ֶ¼,7𶯱8-9-ܱ10-PIR11-߱12-ȱ,14-ܽͨ¼ - BYTE byRes[2]; -}NET_DVR_FINDDATA_V30, *LPNET_DVR_FINDDATA_V30; - -//¼ļ(cvr) -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[32]; - BYTE byLocked;//9000豸֧,1ʾļѾ,0ʾļ - BYTE byFileType; //ļ:0ʱ¼,1-ƶ 2 - //3-|ƶ 4-&ƶ 5- 6-ֶ¼,7𶯱8-9-ܱ10-PIR11-߱12-ȱ,14-ܽͨ¼ - BYTE byQuickSearch; //0:ͨѯ1٣ѯ - BYTE byRes; - DWORD dwFileIndex; //ļ - BYTE byStreamType; - BYTE byRes1[127]; -}NET_DVR_FINDDATA_V40, *LPNET_DVR_FINDDATA_V40; - -typedef struct tagNET_DVR_FINDDATA_V50 -{ - char sFileName[100]; - NET_DVR_TIME_SEARCH struStartTime; - NET_DVR_TIME_SEARCH struStopTime; - NET_DVR_ADDRESS struAddr; //ƬڵĵַϢȺطʱõ - DWORD dwFileSize; //ļС //ڴļʱbyBigFileTypeΪ1ֵ - BYTE byLocked; //ļǷ1ļ0ļδ - BYTE byFileType; //ļͣV40ͬ - BYTE byQuickSearch; //0- ͨѯ1- ٣ѯ - BYTE byStreamType; //ͣ0- 1- 2- - DWORD dwFileIndex; //ļ - char sCardNum[32]; // - DWORD dwTotalLenH; // ڴļʱܳȣ32ֽ - DWORD dwTotalLenL; // ڴļʱܳȣ32ֽ - BYTE byBigFileType; // 0ΪͨƬ1Ϊļ - BYTE byRes[247]; -}NET_DVR_FINDDATA_V50, *LPNET_DVR_FINDDATA_V50; - -//¼ļ() -typedef struct -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[32]; -}NET_DVR_FINDDATA_CARD, *LPNET_DVR_FINDDATA_CARD; - - -//¼ļṹ -typedef struct -{ - LONG lChannel;//ͨ - DWORD dwFileType;//¼ļ - //ţ0xffȫ0ʱ¼,1-ƶ 23-|ƶ 4-&ƶ 5- 6-ֶ¼,7-¼10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - //ţ0xffȫ0ʱ¼1-ƶ⣬2ӽ345-6ֶ¼7𶯱8-9-ܱ10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - DWORD dwIsLocked;//Ƿ 0-ļ,1-ļ, 0xffʾļ - DWORD dwUseCardNo;//Ƿʹÿ - BYTE sCardNumber[32];// - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ -}NET_DVR_FILECOND, *LPNET_DVR_FILECOND; - -//̨ѡŴС(˽ ר) -typedef struct -{ - int xTop; //ʼx - int yTop; //y - int xBottom; //x - int yBottom; //y - int bCounter; // -}NET_DVR_POINT_FRAME, *LPNET_DVR_POINT_FRAME; - -//Խ -typedef struct tagNET_DVR_COMPRESSION_AUDIO -{ - BYTE byAudioEncType; //Ƶ 0-OggVorbis(G722.1);1-G711_U;2-G711_A;5-MP2L2;6-G726;7-AAC,8-PCM;9-G722.1.C;12-AAC_LC;13-AAC_LD;14-Opus;15-MP3;16-ADPCM - BYTE byAudioSamplingRate;//Ƶ 0-Ĭϣ1-16kHZ2-32kHZ3-48kHZ, 4- 44.1kHZ,5-8kHZ - BYTE byAudioBitRate;// Ƶ ο BITRATE_ENCODE_INDEX - BYTE byres[4];//ﱣƵѹ - BYTE bySupport;//bySupport Bit0ʾ Mp2l2ǰ4ֽڵĺʾƵݳ -}NET_DVR_COMPRESSION_AUDIO, *LPNET_DVR_COMPRESSION_AUDIO; - -//2009-7-22 - - -#define IW_ESSID_MAX_SIZE 32 -#define WIFI_WEP_MAX_KEY_COUNT 4 -#define WIFI_WEP_MAX_KEY_LENGTH 33 -#define WIFI_WPA_PSK_MAX_KEY_LENGTH 63 -#define WIFI_WPA_PSK_MIN_KEY_LENGTH 8 -#define WIFI_MAX_AP_COUNT 20 -#define WIFI_WPA_PSK_MAX_HEXKEY_LENGTH 68 //WPA16Կ󳤶 - -typedef struct tagNET_DVR_AP_INFO -{ - char sSsid[IW_ESSID_MAX_SIZE]; - DWORD dwMode; /* 0 mange ģʽ;1 ad-hocģʽμNICMODE */ - DWORD dwSecurity; /*0 ܣ1 wepܣ2 wpa-psk;3 wpa-Enterprise;4-WPA2_PSKμWIFISECURITY*/ - DWORD dwChannel; /*1-11ʾ11ͨ*/ - DWORD dwSignalStrength; /*0-100źΪǿ*/ - DWORD dwSpeed; /*,λ0.01mbps*/ -}NET_DVR_AP_INFO,*LPNET_DVR_AP_INFO; - -typedef struct tagNET_DVR_AP_INFO_LIST -{ - DWORD dwSize; - DWORD dwCount; /*AP20*/ - NET_DVR_AP_INFO struApInfo[WIFI_MAX_AP_COUNT]; -}NET_DVR_AP_INFO_LIST,*LPNET_DVR_AP_INFO_LIST; - -typedef struct tagNET_DVR_WIFIETHERNET -{ - char sIpAddress[16]; /*IPַ*/ - char sIpMask[16]; /**/ - BYTE byMACAddr[MACADDR_LEN]; /*ַֻʾ*/ - BYTE byCloseWifi; //Ƿرwifiӣ0-رգ1-ر - BYTE bRes; - DWORD dwEnableDhcp; /*Ƿdhcp 0 1*/ - DWORD dwAutoDns; /*dhcpǷԶȡdns,0Զȡ 1ԶȡdhcpĿǰԶȡdns*/ - char sFirstDns[16]; /*һdns*/ - char sSecondDns[16]; /*ڶdns*/ - char sGatewayIpAddr[16]; /* صַ*/ - BYTE bRes2[8]; -}NET_DVR_WIFIETHERNET,*LPNET_DVR_WIFIETHERNET; - -typedef struct tagNET_DVR_WIFI_CFG_EX -{ - NET_DVR_WIFIETHERNET struEtherNet; /*wifi*/ - char sEssid[IW_ESSID_MAX_SIZE]; /*SSID*/ - DWORD dwMode; /* 0 mange ģʽ;1 ad-hocģʽμ*/ - DWORD dwSecurity; /*0-;1-WEP;2-WPA-personal; 3-WPA-enterprise;4-WPA2-personal;5-WPA2-enterprise */ - union - { - struct - { - DWORD dwAuthentication;/*0 -ʽ 1-ʽ*/ - DWORD dwKeyLength;/* 0 -64λ1- 128λ2-152λ*/ - DWORD dwKeyType;/*0 16;1 ASCI */ - DWORD dwActive;/*0 0---3ʾһԿ*/ - char sKeyInfo[WIFI_WEP_MAX_KEY_COUNT][WIFI_WEP_MAX_KEY_LENGTH]; - }wep; - struct - { - DWORD dwKeyLength;/*8-63ASCIIַ*/ - char sKeyInfo[WIFI_WPA_PSK_MAX_KEY_LENGTH]; - BYTE byEncryptType; /*WPA/WPA2ģʽ¼,0-AES, 1-TKIP*/ - char sNewKeyInfo[WIFI_WPA_PSK_MAX_HEXKEY_LENGTH/*68*/];//Կ֧8-63ASCIIַԼ64ʮַԿ - //byKeyTypeΪ0ʱsKeyInfobyKeyTypeΪ1ʱsNewKeyInfo - //Կͣ0 ~ Կֻ֧ͣ8-63ASCIIַ1 ~Կ֧ͣ8-63ASCIIַԼ64ʮַԿ - BYTE byKeyType; - BYTE byRes[7]; - }wpa_psk; - struct - { - BYTE byEncryptType; /*,0-AES, 1-TKIP*/ - BYTE byAuthType; //֤ͣ0-EAP_TTLS,1-EAP_PEAP,2-EAP_TLS - BYTE byRes[2]; - union - { - struct - { - BYTE byEapolVersion; //EAPOL汾0-汾11-汾2 - BYTE byAuthType; //ڲ֤ʽ0-PAP1-MSCHAPV2 - BYTE byRes1[2]; - BYTE byAnonyIdentity [NAME_LEN]; // - BYTE byUserName[NAME_LEN]; //û - BYTE byPassword[NAME_LEN]; // - BYTE byRes[44]; - }EAP_TTLS; //WPA-enterprise/WPA2-enterprisģʽ - struct - { - BYTE byEapolVersion; //EAPOL汾0-汾11-汾2 - BYTE byAuthType; //ڲ֤ʽ0-GTC1-MD52-MSCHAPV2 - BYTE byPeapVersion; //PEAP汾0-汾01-汾1 - BYTE byPeapLabel; //PEAPǩ0-ϱǩ1-±ǩ - BYTE byAnonyIdentity[NAME_LEN]; // - BYTE byUserName[NAME_LEN]; //û - BYTE byPassword[NAME_LEN]; // - BYTE byRes[44]; - }EAP_PEAP; //WPA-enterprise/WPA2-enterprisģʽ - struct - { - BYTE byEapolVersion; //EAPOL汾0-汾11-汾2 - BYTE byRes1[3]; - BYTE byIdentity[NAME_LEN]; // - BYTE byPrivateKeyPswd[NAME_LEN]; //˽Կ - BYTE byRes[76]; - }EAP_TLS; - }auth_param; - }wpa_wpa2; //WPA-enterprise/WPA2-enterprisģʽ - }key; -}NET_DVR_WIFI_CFG_EX,*LPNET_DVR_WIFI_CFG_EX; - -//wifiýṹ -typedef struct tagNET_DVR_WIFI_CFG -{ - DWORD dwSize; - NET_DVR_WIFI_CFG_EX struWifiCfg; -}NET_DVR_WIFI_CFG,*LPNET_DVR_WIFI_CFG; - -//wifi״̬ -typedef struct tagNET_DVR_WIFI_CONNECT_STATUS -{ - DWORD dwSize; - BYTE byCurStatus; //1-ӣ2-δӣ3- - BYTE byRes1[3]; // - DWORD dwErrorCode; // byCurStatus = 2ʱЧ,1-û,2-޴·,3-δ֪ - BYTE byRes[244]; -}NET_DVR_WIFI_CONNECT_STATUS,*LPNET_DVR_WIFI_CONNECT_STATUS; - -//wifiģʽ -typedef struct tagNET_DVR_WIFI_WORKMODE -{ - DWORD dwSize; - DWORD dwNetworkInterfaceMode; /*0 Զлģʽ1 ģʽ*/ -}NET_DVR_WIFI_WORKMODE,*LPNET_DVR_WIFI_WORKMODE; - -//ṹ궨 -#define VCA_MAX_POLYGON_POINT_NUM 10 //֧10Ķ -#define MAX_RULE_NUM 8 // -#define MAX_RULE_NUM_V42 16 //չ -#define MAX_TARGET_NUM 30 //Ŀ -#define MAX_CALIB_PT 6 //궨 -#define MIN_CALIB_PT 4 //С궨 -#define MAX_TIMESEGMENT_2 2 //ʱ -#define DATA_INDEX_LEN 64 //ˮ -#define MAX_DEV_DATAINDEX_LEN 64 //豸ˮ -#define MAX_TRAFFIC_PICTURE_NUM 8 //ͨͼƬ -#define MAX_LICENSE_LEN 16 //ƺ󳤶 -#define MAX_LICENSE_LEN_EX 32 //ƺ󳤶 -#define MAX_CARDNO_LEN 48 //󳤶 2013-11-04 -#define MAX_OPERATE_INDEX_LEN 32 //󳤶2014-03-03 -#define MAX_PLATE_NUM 3 //Ƹ -#define MAX_MASK_REGION_NUM 4 //ĸ -#define MAX_SEGMENT_NUM 6 //궨Ŀ -#define MIN_SEGMENT_NUM 3 //궨СĿ -#define MAX_REL_SNAPCHAN_NUM 3 //ץͼͨ -#define MAX_PIC_SWITCH_STORAGE_SERVER 64 //ƴ洢洢ͼƬ -#define MAX_INFO_SWITCH_STORAGE_SERVER 64 //ƴ洢洢󸽼Ϣ -#define RTMP_URL_LEN 128 //RTMP URL -#define MAX_ID_LEN_128 128 //ļID -#define MAX_DEBUGCMD_LEN 1024 //豸󳤶 -#define MAX_DEBUGINFO_LEN 1400 //豸Ϣ󳤶 -#define MAX_VEHICLE_ID_LEN 32 //ʶ -#define LEN_PROPERTY 128 -typedef struct -{ - DWORD dwSize; //αij, - NET_DVR_TIME_EX strStartTime; //ʼʱ - NET_DVR_TIME_EX strStopTime; //ʱ - char sLicense[MAX_LICENSE_LEN_EX/*32*/]; //ƺ - DWORD dwChannel; - BYTE byRegion; - BYTE byRes[127]; // ֵ 0-1-ŷ(Europe Region)2-(Russian Region)3-ŷ&˹(EU&CIS) , 4-жMiddle East0xff- -}NET_DVR_VEHICLE_INFO_COND, *LPNET_DVR_VEHICLE_INFO_COND; - -typedef struct -{ - DWORD dwSize; - DWORD dwIndex;// - BYTE byDeviceID[DEVICE_ID_LEN/*48*/]; //豸 - BYTE byBelieve;//Ŷȣ0-100 - BYTE byDir;//0-壬1-2-3-δ֪ - BYTE byLineID;// - BYTE byRes1; - NET_DVR_TIME_EX struSnapTime;//ץʱ - char sLicense[MAX_LICENSE_LEN_EX/*32*/]; //ƺ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN /*48*/]; // - BYTE byCountry; // ֵöCOUNTRY_INDEX֧֡COUNTRY_ALL = 0xff, //ALL ȫ - BYTE byMatchingResult;//ƥ0-1-2-ֹ3- - BYTE byArea; //ʡݣڲö٣ EMI_AREA - BYTE byPlateType; // ο VCA_PLATE_TYPE - char sDeviceName[NAME_LEN/*32*/]; //豸 - BYTE byPlateColor; //ɫ ο VCA_PLATE_COLOR - BYTE byPlateSize; //Ƴߴ磬0~δ֪1~long, 2~short(жʹ) - BYTE byRes2[2]; - char sPlateCategory[MAX_CATEGORY_LEN/*8*/]; //ƸϢ, СϢ(Ŀǰֻж֧) - char sPlateImageURL[URL_LEN_V40/*256*/]; //СͼURL - char sEffectiveTime[ISO_8601_LEN/*32*/]; //ϢЧʱ䣬ʹISO8601 timeʽ磺2009-11-14T15:27Z - BYTE byRes[176]; -}NET_DVR_VEHICLE_INFO_CFG, *LPNET_DVR_VEHICLE_INFO_CFG; - -//ܿϢ -#define MAX_VCA_CHAN 16//ͨ -typedef struct tagNET_VCA_CTRLINFO -{ - BYTE byVCAEnable; //Ƿ - BYTE byVCAType; //ͣVCA_CHAN_ABILITY_TYPE - BYTE byStreamWithVCA; //ǷϢ - BYTE byMode; //ģʽATMʱVCA_CHAN_MODE_TYPE ,TFSʱTFS_CHAN_MODE_TYPE - BYTE byControlType; //ͣλʾ0-1- - // byControlType &1 ǷץĹ - BYTE byPicWithVCA ;// ץͼĿϢ(Ŀ)0-ӣĬϣ1-ӣ - BYTE byRes[2]; //Ϊ0 -}NET_VCA_CTRLINFO, * LPNET_VCA_CTRLINFO; - -//ܿϢṹ -typedef struct tagNET_VCA_CTRLCFG -{ - DWORD dwSize; - NET_VCA_CTRLINFO struCtrlInfo[MAX_VCA_CHAN]; //Ϣ,0Ӧ豸ʼͨ - BYTE byRes[16]; -}NET_VCA_CTRLCFG, * LPNET_VCA_CTRLCFG; - -//豸 -typedef struct tagNET_VCA_DEV_ABILITY -{ - DWORD dwSize; //ṹ - BYTE byVCAChanNum; //ͨ - BYTE byPlateChanNum; //ͨ - BYTE byBBaseChanNum; //Ϊ - BYTE byBAdvanceChanNum; //Ϊ߼ - BYTE byBFullChanNum; //Ϊ - BYTE byATMChanNum; //ATM - BYTE byPDCChanNum; //ͳͨ - BYTE byITSChanNum; //ͨ¼ͨ - BYTE byBPrisonChanNum; //Ϊ()ͨ - BYTE byFSnapChanNum; //ץͨ - BYTE byFSnapRecogChanNum; //ץĺʶͨ - BYTE byFRetrievalChanNum; // - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧ - //bySupport & 0x1ʾǷ֧ܸ 2012-3-22 - //bySupport & 0x2ʾǷ֧128·ȡչ2012-12-27 - BYTE byFRecogChanNum; //ʶͨ - BYTE byBPPerimeterChanNum; //Ϊ(ܽ)ͨ - BYTE byTPSChanNum; //ͨյͨ - BYTE byTFSChanNum; //·Υȡ֤ͨ - BYTE byFSnapBFullChanNum; //ץĺΪͨ - BYTE byHeatMapChanNum; //ȶͼͨ - BYTE bySmartVehicleNum; //SMART¼+ͨ - BYTE bySmartHVTNum; //SMART¼+мͨ - BYTE bySmartNum; //SMART¼ - BYTE byVehicleNum; //ͨ - BYTE bySmartRoadDetectionNum ; // SMART¼+·ͨ - BYTE bySmartFaceDetectionNum ; // SMART¼+ͨ - BYTE bySmartHeatMapNum ; // SMART¼+ȶͼͨ - BYTE byHumanRecognitionNum; //ʶͨ - BYTE byEdcationStudentNum; //¼ѧ&&ѧͳƣֵ֧ͨ - BYTE byRoadDetectionNum;//·ͨ - BYTE byPersonDensityDetection; //Աܶȼͨ - BYTE bySafetyHelmetDetection; //ȫñͨ - BYTE byPerimeterCapture;//ܽץͨ - BYTE byHeelPDC;//бͨ - BYTE by12MPLiveView;// 1200W@20fpsԤ4000*3000 - BYTE byTeacherBehaviorDetectNum; //¼ʦΪ⣩ֵ֧ͨ - BYTE byMixedTargetDetection;//Ŀͨ - BYTE byFaceContrast;//ȶԼͨ - BYTE byCityManagement;//ǻ۳ǹܼͨ - BYTE byMixedTargetDetectionSmart;//Ŀ+Smart¼ - BYTE byRes; -}NET_VCA_DEV_ABILITY, *LPNET_VCA_DEV_ABILITY; - - -//Ϊ -typedef enum _VCA_ABILITY_TYPE_ -{ - TRAVERSE_PLANE_ABILITY = 0x01, //Խ - ENTER_AREA_ABILITY = 0x02, // - EXIT_AREA_ABILITY = 0x04, //뿪 - INTRUSION_ABILITY = 0x08, // - LOITER_ABILITY = 0x10, //ǻ - LEFT_TAKE_ABILITY = 0x20, //Ʒȡ - PARKING_ABILITY = 0x40, //ͣ - RUN_ABILITY = 0x80, //ƶ - HIGH_DENSITY_ABILITY = 0x100, //Աۼ - LF_TRACK_ABILITY = 0x200, // - VIOLENT_MOTION_ABILITY = 0x400, //˶ - REACH_HIGHT_ABILITY = 0x800, //ʸ߼ - GET_UP_ABILITY = 0x1000, // - LEFT_ABILITY = 0x2000, //Ʒ - TAKE_ABILITY = 0x4000, //Ʒȡ - LEAVE_POSITION = 0x8000, // - TRAIL_ABILITY = 0x10000, //β - KEY_PERSON_GET_UP_ABILITY = 0x20000, //صԱ - STANDUP_ABILITY = 0x40000, // - FALL_DOWN_ABILITY = 0x80000, // - AUDIO_ABNORMAL_ABILITY = 0x100000, //ǿͻ - ADV_REACH_HEIGHT_ABILITY = 0x200000, //ʸ - TOILET_TARRY_ABILITY = 0x400000, //޳ʱ - YARD_TARRY_ABILITY = 0x800000, //ŷ糡 - ADV_TRAVERSE_PLANE_ABILITY = 0x1000000, //߾ - LECTURE_ABILITY = 0x2000000, //ڿ - ANSWER_ABILITY = 0x4000000, //ش - HUMAN_ENTER_ABILITY = 0x10000000, //˿ATM ,ֻATM_PANELģʽ֧ - OVER_TIME_ABILITY = 0x20000000, //ʱ,ֻATM_PANELģʽ֧ - STICK_UP_ABILITY = 0x40000000, //ֽ - INSTALL_SCANNER_ABILITY = 0x80000000 //װ -}VCA_ABILITY_TYPE; - -typedef enum _VCA_ABILITY_TYPE_EX_ -{ - PEOPLENUM_CHANGE_ABILITY = 0x00000002, //仯 - SPACING_CHANGE_ABILITY = 0x00000004, //仯 - EVENT_COMBINED_ABILITY = 0x00000008, //¼ - EVENT_SIT_QUIETLY = 0x00000010, // - EVENT_HIGH_DENSITY_STATUS_ABILITY = 0x00000020, //Աۼ״̬ - EVENT_RUNNING = 0x00000040, // - EVENT_RETENTION = 0x00000080, // - EVENT_TEACHER_WRITING = 0x00000100, // - EVENT_FAKECARD = 0x00000200 //α쿨 -}VCA_ABILITY_TYPE_EX; - -//ͨ -typedef enum _VCA_CHAN_ABILITY_TYPE_ -{ - VCA_BEHAVIOR_BASE = 1, //Ϊ - VCA_BEHAVIOR_ADVANCE = 2, //Ϊ߼ - VCA_BEHAVIOR_FULL = 3, //Ϊ - VCA_PLATE = 4, // - VCA_ATM = 5, //ATM - VCA_PDC = 6, //ͳ - VCA_ITS = 7, // ͨ¼ - VCA_BEHAVIOR_PRISON = 8, //Ϊ() - VCA_FACE_SNAP = 9, //ץ - VCA_FACE_SNAPRECOG = 10, //ץĺʶ - VCA_FACE_RETRIEVAL = 11, // - VCA_FACE_RECOG = 12, //ʶ - VCA_BEHAVIOR_PRISON_PERIMETER = 13, // Ϊ (ܽ) - VCA_TPS = 14, //ͨյ - VCA_TFS = 15, //·Υȡ֤ - VCA_BEHAVIOR_FACESNAP = 16, //ץĺΪ - VCA_HEATMAP = 17, //ȶͼ - VCA_SMART_VEHICLE_DETECTION = 18, // SMART¼+ - VCA_SMART_HVT_DETECTION = 19, // SMART¼+м - VCA_SMART_EVENT = 20, // SMART¼ - VCA_VEHICLE_DETECTION = 21, // - VCA_SMART_ROAD_DETECTION = 22, // SMART¼+· - VCA_SMART_FACE_DETECTION = 23, // SMART¼+ - VCA_SMART_HEATMAP = 24, // SMART¼+ȶͼ - VCA_HUMAN_RECOGNITION = 25 , // ʶ - VCA_EDUCATION_STUDENT_DETECTION = 26, //¼ѧ&&ѧͳƣ - VCA_ROAD_DETECTION = 27, //· - VCA_PERSON_DENSITY_DETECTION = 28, //Աܶȼ - VCA_PERIMETER_CAPTURE = 29, //ܽץ - VCA_SAFETY_HELMET_DETECTION = 30, //ȫñ - VCA_HEEL_PDC = 31, //б - VCA_12MPLIVE_VIEW = 32, // 1200W@20fpsԤ4000*3000 - VCA_TEACHER_BEHAVIOR_DETECTION = 33, //ʦΪ - VCA_MIXED_TARGET_DETECTION = 34, //Ŀ - VCA_FACE_CONTRAST = 35, //Աȼ(ͬʱ֧ץļԱȹܣ㷨IJͬ㷨ȶΪģȷÿαȶԳɹĿ겻ʺ϶ԱԸĿץġ) - VCA_CITY_MANAGEMENT = 36, //ǻ۳ǹ - VCA_MIXED_TARGET_DETECTION_SMART = 37 //ĿSmart -}VCA_CHAN_ABILITY_TYPE; - -//ATMģʽ(ATM) -typedef enum _VCA_CHAN_MODE_TYPE_ -{ - VCA_ATM_PANEL = 0, //ATM - VCA_ATM_SURROUND = 1, //ATM - VCA_ATM_FACE = 2, //ATM - VCA_ATM_SAFETYCABIN = 3 //ATM -}VCA_CHAN_MODE_TYPE; - -//ͨȡ֤TFSͨģʽ(TFS) -typedef enum _TFS_CHAN_MODE_TYPE_ -{ - TFS_CITYROAD = 0, //TFS е· - TFS_FREEWAY = 1 //TFS ٵ· -}TFS_CHAN_MODE_TYPE; - -//Ϊģʽ -typedef enum _BEHAVIOR_SCENE_MODE_TYPE_ -{ - BEHAVIOR_SCENE_DEFAULT = 0, //ϵͳĬ - BEHAVIOR_SCENE_WALL = 1, //Χǽ - BEHAVIOR_SCENE_INDOOR = 2 // -}BEHAVIOR_SCENE_MODE_TYPE; - -//ģʽ -typedef enum _BEHAVIOR_PRISON_MODE_TYPE_ -{ - BEHAVIOR_PRISON = 0, // - BEHAVIOR_HEARING = 1, //Ѷ - BEHAVIOR_RECFIELD = 2 //ŷ糡 -}BEHAVIOR_PRISON_MODE_TYPE,LPBEHAVIOR_PRISON_MODE_TYPE; - - -//ͨ -typedef struct tagNET_VCA_CHAN_IN_PARAM -{ - BYTE byVCAType; //VCA_CHAN_ABILITY_TYPEöֵ - BYTE byMode; //ģʽATM ʱVCA_CHAN_MODE_TYPE,TFSʱTFS_CHAN_MODE_TYPE,VCA_TYPE Ϊͨ¼ʱTRAFFIC_SCENE_MODE - BYTE byRes[2]; //Ϊ0 -}NET_VCA_CHAN_IN_PARAM, *LPNET_VCA_CHAN_IN_PARAM; - - -//Ϊṹ -typedef struct tagNET_VCA_BEHAVIOR_ABILITY -{ - DWORD dwSize; //ṹ - DWORD dwAbilityType; //ֵ֧ͣλʾVCA_ABILITY_TYPE - BYTE byMaxRuleNum; // - BYTE byMaxTargetNum; //Ŀ - BYTE bySupport; // ֵ֧Ĺ λʾ - // bySupport & 0x01 ֱ֧궨 - BYTE byRes[5]; //Ϊ0 - DWORD dwAbilityTypeEx; //ֵ֧ͣλʾVCA_ABILITY_TYPE_EX -}NET_VCA_BEHAVIOR_ABILITY, *LPNET_VCA_BEHAVIOR_ABILITY; - -//ݸ² -typedef struct tagNET_DVR_SCENE_CHANGE_UPDATE_PARAM -{ - DWORD dwSize; - BYTE byIDCount; //ʵID - BYTE byRes1[3]; - BYTE byStreamID[MAX_STREAM_ID_NUM][STREAM_ID_LEN]; - BYTE byRes[256]; -}NET_DVR_SCENE_CHANGE_UPDATE_PARAM, *LPNET_DVR_SCENE_CHANGE_UPDATE_PARAM; - -// ͨṹ -typedef struct tagNET_DVR_ITS_ABILITY -{ - DWORD dwSize; // ṹС - DWORD dwAbilityType; // ֵ֧б ITS_ABILITY_TYPE - BYTE byMaxRuleNum; // - BYTE byMaxTargetNum; //Ŀ - BYTE byRes[10]; // -}NET_DVR_ITS_ABILITY, *LPNET_DVR_ITS_ABILITY; - -/***********************************end*******************************************/ - -/************************************ܲṹ*********************************/ -//ܹýṹ -//ֵһ,ֵΪǰİٷֱȴС, ΪСλ - -//Ϊ¼ -typedef enum _VCA_EVENT_TYPE_ -{ - VCA_TRAVERSE_PLANE = 0x1, //Խ - VCA_ENTER_AREA = 0x2, //Ŀ,֧ - VCA_EXIT_AREA = 0x4, //Ŀ뿪,֧ - VCA_INTRUSION = 0x8, //ܽ,֧ - VCA_LOITER = 0x10, //ǻ,֧ - VCA_LEFT_TAKE = 0x20, //Ʒȡ,֧ - VCA_PARKING = 0x40, //ͣ,֧ - VCA_RUN = 0x80, //ƶ,֧ - VCA_HIGH_DENSITY = 0x100, //Աۼ,֧ - VCA_VIOLENT_MOTION = 0x200, //˶ - VCA_REACH_HIGHT = 0x400, //ʸ߼ - VCA_GET_UP = 0x800, // - VCA_LEFT = 0x1000, //Ʒ - VCA_TAKE = 0x2000, //Ʒȡ - VCA_LEAVE_POSITION = 0x4000, // - VCA_TRAIL = 0x8000, //β - VCA_KEY_PERSON_GET_UP = 0x10000, //صԱ - VCA_STANDUP = 0x20000, // - VCA_FALL_DOWN = 0x80000, //ؼ - VCA_AUDIO_ABNORMAL = 0x100000, //ǿͻ - VCA_ADV_REACH_HEIGHT = 0x200000, //ʸ - VCA_TOILET_TARRY = 0x400000, //޳ʱ - VCA_YARD_TARRY = 0x800000, //ŷ糡 - VCA_ADV_TRAVERSE_PLANE = 0x1000000, //߾ - VCA_LECTURE = 0x2000000, //ڿ - VCA_ANSWER = 0x4000000, //ش - VCA_HUMAN_ENTER = 0x10000000, //˿ATM ֻATM_PANELģʽ֧ - VCA_OVER_TIME = 0x20000000, //ʱ ֻATM_PANELģʽ֧ - VCA_STICK_UP = 0x40000000, //ֽ,֧ - VCA_INSTALL_SCANNER = 0x80000000 //װ,֧ -}VCA_EVENT_TYPE; - -//Ϊ¼չ -typedef enum _VCA_RULE_EVENT_TYPE_EX_ -{ - ENUM_VCA_EVENT_TRAVERSE_PLANE = 1, //Խ - ENUM_VCA_EVENT_ENTER_AREA = 2, //Ŀ,֧ - ENUM_VCA_EVENT_EXIT_AREA = 3, //Ŀ뿪,֧ - ENUM_VCA_EVENT_INTRUSION = 4, //ܽ,֧ - ENUM_VCA_EVENT_LOITER = 5, //ǻ,֧ - ENUM_VCA_EVENT_LEFT_TAKE = 6, //Ʒȡ,֧ - ENUM_VCA_EVENT_PARKING = 7, //ͣ,֧ - ENUM_VCA_EVENT_RUN = 8, //ƶ,֧ - ENUM_VCA_EVENT_HIGH_DENSITY = 9, //Աۼ,֧ - ENUM_VCA_EVENT_VIOLENT_MOTION = 10, //˶ - ENUM_VCA_EVENT_REACH_HIGHT = 11, //ʸ߼ - ENUM_VCA_EVENT_GET_UP = 12, // - ENUM_VCA_EVENT_LEFT = 13, //Ʒ - ENUM_VCA_EVENT_TAKE = 14, //Ʒȡ - ENUM_VCA_EVENT_LEAVE_POSITION = 15, // - ENUM_VCA_EVENT_TRAIL = 16, //β - ENUM_VCA_EVENT_KEY_PERSON_GET_UP = 17, //صԱ - ENUM_VCA_EVENT_STANDUP = 18, // - ENUM_VCA_EVENT_FALL_DOWN = 20, //ؼ - ENUM_VCA_EVENT_AUDIO_ABNORMAL = 21, //ǿͻ - ENUM_VCA_EVENT_ADV_REACH_HEIGHT = 22, //ʸ - ENUM_VCA_EVENT_TOILET_TARRY = 23, //޳ʱ - ENUM_VCA_EVENT_YARD_TARRY = 24, //ŷ糡 - ENUM_VCA_EVENT_ADV_TRAVERSE_PLANE = 25, //߾ - ENUM_VCA_EVENT_LECTURE = 26, //ڿΣḶ̌ - ENUM_VCA_EVENT_ANSWER = 27, //ش⣨Ḷ̌ - ENUM_VCA_EVENT_HUMAN_ENTER = 29, //˿ATM,ֻATM_PANELģʽ֧ - ENUM_VCA_EVENT_OVER_TIME = 30, //ʱ,ֻATM_PANELģʽ֧ - ENUM_VCA_EVENT_STICK_UP = 31, //ֽ,֧ - ENUM_VCA_EVENT_INSTALL_SCANNER = 32, //װ,֧ - ENUM_VCA_EVENT_PEOPLENUM_CHANGE = 35, //仯¼ - ENUM_VCA_EVENT_SPACING_CHANGE = 36, //仯¼ - ENUM_VCA_EVENT_COMBINED_RULE = 37, //Ϲ¼ - ENUM_VCA_EVENT_SIT_QUIETLY = 38, //һ ¼ - ENUM_VCA_EVENT_HIGH_DENSITY_STATUS= 39, //Աۼ״̬ - ENUM_VCA_EVENT_RUNNING = 40, //ܼ - ENUM_VCA_EVENT_RETENTION = 41, // - ENUM_VCA_EVENT_BLACKBOARD_WRITE = 42, // - ENUM_VCA_EVENT_SITUATION_ANALYSIS = 43, //̬Ʒ - ENUM_VCA_EVENT_PLAY_CELLPHONE = 44, //ֻ - ENUM_VCA_EVENT_DURATION = 45, // - ENUM_VCA_EVENT_FAKECARD = 46 //α쿨 -} VCA_RULE_EVENT_TYPE_EX; - -//洩Խ -typedef enum _VCA_CROSS_DIRECTION_ -{ - VCA_BOTH_DIRECTION, // ˫ - VCA_LEFT_GO_RIGHT, // - VCA_RIGHT_GO_LEFT // -}VCA_CROSS_DIRECTION; - -//߽ṹ -typedef struct tagNET_VCA_LINE -{ - NET_VCA_POINT struStart; // - NET_VCA_POINT struEnd; //յ -}NET_VCA_LINE, *LPNET_VCA_LINE; - -//ͽṹ -typedef struct tagNET_VCA_POLYGON -{ - DWORD dwPointNum; //Ч ڵ33һΪЧ߽ΪЧ - NET_VCA_POINT struPos[VCA_MAX_POLYGON_POINT_NUM]; //α߽,ʮ -}NET_VCA_POLYGON, *LPNET_VCA_POLYGON; - -// -typedef struct tagNET_VCA_TRAVERSE_PLANE -{ - NET_VCA_LINE struPlaneBottom; //ױ - VCA_CROSS_DIRECTION dwCrossDirection; //Խ: 0-˫1-ң2-ҵ - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byPlaneHeight; //߶ - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byPriority;//ȼ,0~,1~,2~ - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes2[34]; // -}NET_VCA_TRAVERSE_PLANE, *LPNET_VCA_TRAVERSE_PLANE; - -typedef struct tagNET_VCA_SIT_QUIETLY -{ - NET_VCA_POLYGON struRegion;//Χ - //򴥷˳0-˳򴥷1-˳򴥷 - DWORD dwDuration; //ʱ λs Χ1-3600 - BYTE byRes[4]; -} NET_VCA_SIT_QUIETLY, *LPNET_VCA_SIT_QUIETLY; - -///뿪 -typedef struct tagNET_VCA_AREA -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1,5] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byPriority;//ȼ,0~,1~,2~ - BYTE byRes[5]; -}NET_VCA_AREA, *LPNET_VCA_AREA; - -//ݱӳʱʶдͼƬIOһ£1뷢һ -//ֲ -typedef struct tagNET_VCA_INTRUSION -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //Ϊ¼ʱֵ: 1-120룬5룬жЧʱ ATMϵͳдļֵΪ 1-1000 - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byRate; //ռȣδĿߴĿռıأһΪ - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byPriority;//ȼ,0~,1~,2~ - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- -}NET_VCA_INTRUSION, *LPNET_VCA_INTRUSION; - -//ǻ -typedef struct tagNET_VCA_LOITER -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱֵ1-120룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[1]; - DWORD dwLoiterDistance; //гֵܾ100-5000Ĭ1000cm -}NET_VCA_LOITER, *LPNET_VCA_LOITER; - -//Ʒ/Ʒȡ -typedef struct tagNET_VCA_TAKE_LEFT -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱֵ1-120룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_TAKE_LEFT, *LPNET_VCA_TAKE_LEFT; - -//ͣ -typedef struct tagNET_VCA_PARKING -{ - NET_VCA_POLYGON struRegion; //Χ - WORD wDuration; //ʱֵ1-100룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_PARKING, *LPNET_VCA_PARKING; - -//ƶ -typedef struct tagNET_VCA_RUN -{ - NET_VCA_POLYGON struRegion; //Χ - float fRunDistance; //˿ƶ, Χ: [0.1, 1.00] ģʽ ʵģʽ(1,20)m/s - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byMode; // 0 ģʽ 1 ʵģʽ - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byRes; -}NET_VCA_RUN, *LPNET_VCA_RUN; - -//Աۼ -typedef struct tagNET_VCA_HIGH_DENSITY -{ - NET_VCA_POLYGON struRegion; //Χ - float fDensity; //ۼ, Χ: [0.1, 1.0] - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes; // ֽ - WORD wDuration; // Աۼֵ 20-360s -}NET_VCA_HIGH_DENSITY, *LPNET_VCA_HIGH_DENSITY; - -//˶ -typedef struct tagNET_VCA_VIOLENT_MOTION -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //˶ֵ1-50 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byMode; //0-Ƶģʽ1-Ƶģʽ2-Ƶģʽ - BYTE byRes[4]; // -}NET_VCA_VIOLENT_MOTION, *LPNET_VCA_VIOLENT_MOTION; - -// ʸ߲ -typedef struct tagNET_VCA_REACH_HIGHT -{ - NET_VCA_LINE struVcaLine; //ʸ߾ - WORD wDuration; //ʸֵ߱1-120 - BYTE byRes[6]; // ֽ -}NET_VCA_REACH_HIGHT, *LPNET_VCA_REACH_HIGHT; - -// 𴲲 -typedef struct tagNET_VCA_GET_UP -{ - NET_VCA_POLYGON struRegion; //Χ - WORD wDuration; //𴲱ֵ1-100 - BYTE byMode; //ģʽ,0-ͨģʽ,1-ߵģʽ,2-ͨģʽ - BYTE bySensitivity; //ȲΧ[1,10] - BYTE byRes[4]; //ֽ -}NET_VCA_GET_UP, * LPNET_VCA_GET_UP; - -// Ʒ -typedef struct tagNET_VCA_LEFT -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; // Ʒֵ 10-100 - BYTE bySensitivity; // ȲΧ[1,5] - BYTE byRes[5]; // ֽ -}NET_VCA_LEFT, *LPNET_VCA_LEFT; - -// Ʒȡ -typedef struct tagNET_VCA_TAKE -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; // Ʒȡֵ10-100 - BYTE bySensitivity; // ȲΧ[1,5] - BYTE byRes[5]; // ֽ -}NET_VCA_TAKE, *LPNET_VCA_TAKE; - -typedef struct tagNET_VCA_OVER_TIME -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; // ʱֵ 4s-60000s - BYTE byRes[6]; // ֽ -}NET_VCA_OVER_TIME, *LPNET_VCA_OVER_TIME; - -typedef struct tagNET_VCA_HUMAN_ENTER -{ - DWORD dwRes[23]; //ֽ -}NET_VCA_HUMAN_ENTER, *LPNET_VCA_HUMAN_ENTER; - -//ֽ -typedef struct tagNET_VCA_STICK_UP -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱֵ4-60룬10 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_STICK_UP, *LPNET_VCA_STICK_UP; - -// -typedef struct tagNET_VCA_SCANNER -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ʱ䣺4-60 - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[5]; -}NET_VCA_SCANNER, *LPNET_VCA_SCANNER; - -//¼ -typedef struct tagNET_VCA_LEAVE_POSITION -{ - NET_VCA_POLYGON struRegion; //Χ - WORD wLeaveDelay; //˱ʱ䣬λs - WORD wStaticDelay; //˯ʱ䣬λs - BYTE byMode; //ģʽ0-¼1-˯¼2-˯¼3-ڸڣԱصλ - BYTE byPersonType; //ֵͣ0-ֵڣ1-˫ֵ - BYTE byOnPosition; //ڸ1-10Ĭ1 - BYTE bySensitivity; //ȲΧ[1,5] -}NET_VCA_LEAVE_POSITION, *LPNET_VCA_LEAVE_POSITION; - -//β -typedef struct tagNET_VCA_TRAIL -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wRes; /* */ - BYTE bySensitivity; /* ȲΧ[1,5] */ - BYTE byRes[5]; -}NET_VCA_TRAIL, *LPNET_VCA_TRAIL; - -//ز -typedef struct tagNET_VCA_FALL_DOWN -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; /* ¼ֵ 1-60s*/ - BYTE bySensitivity; /* ȲΧ[1,5] */ - BYTE byHeightThreshold; //߶ֵΧ[0,250]Ĭ90λ - BYTE byRes[4]; -}NET_VCA_FALL_DOWN, *LPNET_VCA_FALL_DOWN; - -// -typedef struct tagNET_VCA_STANDUP -{ - NET_VCA_POLYGON struRegion; //Χ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byHeightThreshold; //߶ֵΧ[0,250]Ĭ130λ - WORD wDuration; //¼ֵ[1,3600]Ĭ2λ - BYTE byRes[4]; // -}NET_VCA_STANDUP, *LPNET_VCA_STANDUP; - - -//仯 -typedef struct tagNET_VCA_PEOPLENUM_CHANGE -{ - NET_VCA_POLYGON struRegion; //Χ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byPeopleNumThreshold; //ֵΧ[0,5]Ĭ1 - BYTE byDetectMode; //ⷽʽֵȽϡ1-ڣ2-Сڣ3-ڣ4- - BYTE byNoneStateEffective; //״̬ǷЧ0-Ч1-Ч - WORD wDuration; //ʱֵ[1,3600]Ĭ2λ - BYTE byPeopleNum; //ֻϱ豸0ʾֱ֧ϱ0xffʾΪ0 - BYTE byRes; // -}NET_VCA_PEOPLENUM_CHANGE, *LPNET_VCA_PEOPLENUM_CHANGE; - -//仯 -typedef struct tagNET_VCA_SPACING_CHANGE -{ - NET_VCA_POLYGON struRegion; //Χ - float fSpacingThreshold; //ֵΧ[0,10.0]Ĭ1.0λ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byDetectMode; //ⷽʽֵȽϡ1-ڣ2-С - WORD wDuration; //ʱֵ[1,3600]Ĭ2λ -}NET_VCA_SPACING_CHANGE, *LPNET_VCA_SPACING_CHANGE; - - -//ǿͻ -typedef struct tagNET_VCA_AUDIO_ABNORMAL -{ - WORD wDecibel; //ǿ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byAudioMode; //ģʽ0-ȼ⣬1-ֱֵ⣬2-ֱֵ - BYTE byEnable; //ʹܣǷ(ǿͻ䣬) - BYTE byThreshold; //ֵ[1,100] - BYTE byRes[54]; // -}NET_VCA_AUDIO_ABNORMAL, *LPNET_VCA_AUDIO_ABNORMAL; - -//ǿ 2014-03-21 -typedef struct tagNET_DVR_AUDIO_STEEP_DROP -{ - BYTE bySensitivity; /* ȲΧ[1,100] */ - BYTE byEnable; //ʹܣǷ(ǿͻ䣬) - BYTE byRes[6]; -}NET_DVR_AUDIO_STEEP_DROP, *LPNET_DVR_AUDIO_STEEP_DROP; - - -typedef struct tagNET_DVR_AUDIO_EXCEPTION -{ - DWORD dwSize; - BYTE byEnableAudioInException;//ʹܣǷ - BYTE byRes1[3]; - NET_VCA_AUDIO_ABNORMAL struAudioAbnormal; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱ - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD byRelRecordChan[MAX_CHANNUM_V30]; - NET_DVR_AUDIO_STEEP_DROP struAudioSteepDrop; //ǿ - BYTE byRes2[24]; -}NET_DVR_AUDIO_EXCEPTION, *LPNET_DVR_AUDIO_EXCEPTION; - -typedef struct tagNET_VCA_TOILET_TARRY -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDelay; //޳ʱʱ[1,3600]λ - BYTE byRes[6]; -}NET_VCA_TOILET_TARRY, *LPNET_VCA_TOILET_TARRY; - -typedef struct tagNET_VCA_YARD_TARRY -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDelay; //ŷ糡ʱ[1,120]λ - BYTE byRes[6]; -}NET_VCA_YARD_TARRY, *LPNET_VCA_YARD_TARRY; - -typedef struct tagNET_VCA_ADV_REACH_HEIGHT -{ - NET_VCA_POLYGON struRegion; //ʸ - DWORD dwCrossDirection; //Խ(VCA_CROSS_DIRECTION): 0-˫1-2-ҵ - BYTE byRes[4]; // ֽ -}NET_VCA_ADV_REACH_HEIGHT, * LPNET_VCA_ADV_REACH_HEIGHT; - -typedef struct tagNET_VCA_ADV_TRAVERSE_PLANE -{ - NET_VCA_POLYGON struRegion; // - DWORD dwCrossDirection; //Խ(VCA_CROSS_DIRECTION): 0-˫1-2-ҵ - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[3]; //ֽ -} NET_VCA_ADV_TRAVERSE_PLANE,*LPNET_VCA_ADV_TRAVERSE_PLANE; - -typedef struct tagNET_VCA_PLAY_CELLPHONE -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //ֻʱʱ[1,600], Ĭ20 - BYTE byRes[6]; //ֽ -}NET_VCA_PLAY_CELLPHONE, *LPNET_VCA_PLAY_CELLPHONE; - -typedef struct tagNET_VCA_LECTURE -{ - NET_VCA_POLYGON struRegion;//Χ - WORD wDuration; //Ϊ¼ʱֵ: 1-10룬1룬жЧʱ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byAlarmState;//ֶֻν治ʾ0-,1-ʼ,2- - BYTE byTrackingMode ;//ģʽ0-Զ(Ĭ) , 1-ˮƽ, 2-ֱ - BYTE byZoomMode;//䱶ģʽ, 0-̶(Ĭ), 1-Զ - BYTE byZoomOver;//0-,1-䱶λ(ϴ¼Ϊлж) - BYTE byTrackStatus;//״̬ 0-1-ʼڿΣAȫ 2-ڸ٣2,д3 -ٶʧ2,ȫ -}NET_VCA_LECTURE, *LPNET_VCA_LECTURE; - -typedef struct tagNET_VCA_ANSWER -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity;//ȲΧ[1-100] - BYTE byAlarmState;//ֶֻν治ʾ0-,1-ʼ,2- - BYTE byZoomOver;//0-,1-䱶λ(ϴ¼Ϊлж) - BYTE byAnswerStudent;//0-1-ѧ2-ѧ3-ѧ,4-ѧ, 5-ѧ߶ - BYTE byRes[4]; // -}NET_VCA_ANSWER, *LPNET_VCA_ANSWER; - -//ṹ -typedef struct tagNET_VCA_RELATE_RULE_PARAM -{ - BYTE byRuleID; // 0-ʾ - BYTE byRes; // - WORD wEventType; //Ϊ¼ͣοVCA_RULE_EVENT_TYPE_EX -}NET_VCA_RELATE_RULE_PARAM,*LPNET_VCA_RELATE_RULE_PARAM; - -typedef struct tagNET_VCA_COMBINED_RULE_ -{ - //򴥷˳0-˳򴥷1-˳򴥷 - BYTE byRuleSequence; - BYTE byRes[7]; - DWORD dwMinInterval; //Сʱλ - DWORD dwMaxInterval; //ʱλ - NET_VCA_RELATE_RULE_PARAM struRule1Raram;//1 - NET_VCA_RELATE_RULE_PARAM struRule2Raram;//2 - BYTE byRes1[36]; -} NET_VCA_COMBINED_RULE, *LPNET_VCA_COMBINED_RULE; - -//¼ -typedef struct tagNET_VCA_BLACKBOARD_WRITE -{ - NET_VCA_POLYGON struRegion;//Χ򣬱ви - BYTE byTeacherState;//ʦ״̬0~ʦд1~ʦȫ2~̨״̬ - BYTE byWritingState;//״̬0~鿪ʼ1~ - BYTE byWritingArea;//0~飬1~ߣ2~ұ - BYTE byRes[5]; -}NET_VCA_BLACKBOARD_WRITE, *LPNET_VCA_BLACKBOARD_WRITE; - -//Աۼ״̬ -typedef struct tagNET_VCA_HIGH_DENSITY_STATUS -{ - NET_VCA_POLYGON struRegion; //Χ - float fDensity; //ۼ, Χ: [0.1, 1.0] - BYTE bySensitivity; //ȲΧ[1,5] - BYTE byRes[3]; // ֽ -}NET_VCA_HIGH_DENSITY_STATUS, *LPNET_VCA_HIGH_DENSITY_STATUS; - -//ܼ -typedef struct _NET_VCA_RUNNING_ -{ - NET_VCA_POLYGON struRegion; //Χ - DWORD dwSpeed; //ٶȣΧ[1,10] - WORD wDuration; // ʱֵ - BYTE byRunMode; //ģʽ0-,1˱,2:˱ - BYTE byRes; -}NET_VCA_RUNNING, *LPNET_VCA_RUNNING; - -// -typedef struct tagNET_VCA_RETENTION -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wDuration; //ֵʱ䣨60-3600룩Ĭ1800 - BYTE byRes[6]; // ֽ -}NET_VCA_RETENTION, *LPNET_VCA_RETENTION; - -// ̬Ʒ -typedef struct tagNET_VCA_SITUATION_ANALYSIS -{ - NET_VCA_POLYGON struRegion; // Χ - WORD wPeopleNum; // - BYTE byRes[6]; // ֽ -}NET_VCA_SITUATION_ANALYSIS, *LPNET_VCA_SITUATION_ANALYSIS; - -// -typedef struct _NET_VCA_DURATION_ -{ - WORD wRelationEventType; //οVCA_RULE_EVENT_TYPE_EX - BYTE byRes[90]; -}NET_VCA_DURATION, *LPNET_VCA_DURATION; - -//α쿨 -typedef struct tagNET_VCA_FAKECARD -{ - NET_VCA_POLYGON struRegion; // Χ - BYTE bySensitivity; // ȲС1,5,Ĭ3 - BYTE byRes[7]; // ֽ -}NET_VCA_FAKECARD, *LPNET_VCA_FAKECARD; - -//¼ -typedef union tagNET_VCA_EVENT_UNION -{ - DWORD uLen[23]; // - NET_VCA_TRAVERSE_PLANE struTraversePlane; //Խ - NET_VCA_AREA struArea; ///뿪 - NET_VCA_INTRUSION struIntrusion; //ֲ - NET_VCA_LOITER struLoiter; //ǻ - NET_VCA_TAKE_LEFT struTakeTeft; //Ʒ/Ʒȡ - NET_VCA_PARKING struParking; //ͣ - NET_VCA_RUN struRun; //ƶ - NET_VCA_HIGH_DENSITY struHighDensity; //Աۼ - NET_VCA_VIOLENT_MOTION struViolentMotion; //˶ - NET_VCA_REACH_HIGHT struReachHight; //ʸ - NET_VCA_GET_UP struGetUp; // - NET_VCA_LEFT struLeft; //Ʒ - NET_VCA_TAKE struTake; // Ʒȡ - NET_VCA_HUMAN_ENTER struHumanEnter; //Ա - NET_VCA_OVER_TIME struOvertime; //ʱ - NET_VCA_STICK_UP struStickUp; //ֽ - NET_VCA_SCANNER struScanner; // - NET_VCA_LEAVE_POSITION struLeavePos; //ڲ - NET_VCA_TRAIL struTrail; //β - NET_VCA_FALL_DOWN struFallDown; //ز - NET_VCA_AUDIO_ABNORMAL struAudioAbnormal; //ǿͻ - NET_VCA_ADV_REACH_HEIGHT struReachHeight; //ʸ߲ - NET_VCA_TOILET_TARRY struToiletTarry; //޳ʱ - NET_VCA_YARD_TARRY struYardTarry; //ŷ糡 - NET_VCA_ADV_TRAVERSE_PLANE struAdvTraversePlane;//߾ - NET_VCA_LECTURE struLecture; //ڿ¼ - NET_VCA_ANSWER struAnswer; //ش¼ - NET_VCA_STANDUP struStandUp; // - NET_VCA_PEOPLENUM_CHANGE struPeopleNumChange; //仯 - NET_VCA_SPACING_CHANGE struSpacingChange; //仯 - NET_VCA_COMBINED_RULE struCombinedRule; //Ϲ - NET_VCA_SIT_QUIETLY struSitQuietly; // - NET_VCA_HIGH_DENSITY_STATUS struHighDensityStatus; //Աۼ״̬ - NET_VCA_RUNNING struRunning; //ܲ - NET_VCA_RETENTION struRetention;// - NET_VCA_BLACKBOARD_WRITE struBlackboardWrite; // - NET_VCA_SITUATION_ANALYSIS struSituationAnalysis; //̬Ʒ - NET_VCA_PLAY_CELLPHONE struPlayCellphone; //ֻ - NET_VCA_DURATION struDruation;// - NET_VCA_FAKECARD struFakeCard; //α쿨 -}NET_VCA_EVENT_UNION, *LPNET_VCA_EVENT_UNION; - -// ߴ -typedef enum _VCA_SIZE_FILTER_MODE_ -{ - IMAGE_PIX_MODE, //شС - REAL_WORLD_MODE, //ʵʴС - DEFAULT_MODE // Ĭģʽ -}SIZE_FILTER_MODE; -//ߴ -typedef struct tagNET_VCA_SIZE_FILTER -{ - BYTE byActive; //Ƿ񼤻ߴ 0- 0- - BYTE byMode; //ģʽSIZE_FILTER_MODE - BYTE byRes[2]; //0 - NET_VCA_RECT struMiniRect; //СĿ,ȫ0ʾ - NET_VCA_RECT struMaxRect; //Ŀ,ȫ0ʾ -}NET_VCA_SIZE_FILTER, *LPNET_VCA_SIZE_FILTER; - -//ṹ -typedef struct tagNET_VCA_ONE_RULE -{ - BYTE byActive; //Ƿ񼤻,0-,0- - BYTE byRes[7]; //Ϊ0ֶ - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //Ϊ¼ - NET_VCA_EVENT_UNION uEventParam; //Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ -}NET_VCA_ONE_RULE, *LPNET_VCA_ONE_RULE; - -//Ϊýṹ -typedef struct tagNET_VCA_RULECFG -{ - DWORD dwSize; //ṹ - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byPicRecordEnable; /*2012-3-1ǷͼƬ洢, 0-, 1-*/ - BYTE byRes; - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_ONE_RULE struRule[MAX_RULE_NUM]; // -}NET_VCA_RULECFG, *LPNET_VCA_RULECFG; - -//ǰ豸ַϢܷDZʾǰ豸ĵַϢ豸ʾĵַ -/* -豸ģͨ(IPC/DVR/DVS/IVMS)ʱֶд豸IPַ˿ڣbyChannelbyIvmsChannel Ϊǰģͨ -eg: -struDevIP = ģͨӦ豸IPַ -wPort = ģͨӦ豸Ķ˿ -byChannel = Ӧģͨͨ -byIvmsChannel = Ӧģͨͨ - - 豸ͨ(DVR/DVS/IVMS)ʱֶдͨ豸IPַ˿ڣbyChannelΪͨ豸ͨţbyIvmsChannelΪͨ - eg: - struDevIP = ͨ豸IPַ - wPort = ͨ豸Ķ˿ - byChannel = ͨ豸ͨ - byIvmsChannel = ͨ -*/ -typedef struct tagNET_VCA_DEV_INFO -{ - NET_DVR_IPADDR struDevIP; //ǰ豸ַ - WORD wPort; //ǰ豸˿ںţ - BYTE byChannel; //ǰ豸ͨ - BYTE byIvmsChannel; // Ivms ͨ -}NET_VCA_DEV_INFO, *LPNET_VCA_DEV_INFO; - -typedef struct tagNET_DVR_TARGET_LEFT_REGION_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - BYTE byTargetType;//Ŀ 0-ЧĿ꣬1-ʦ 2-ѧ - BYTE byLeftDirection;//Ŀ뿪0-,1-,2-,3-,4- - BYTE byTargetStatus;//0-() - BYTE byRes[125]; -}NET_DVR_TARGET_LEFT_REGION_ALARM,*LPNET_DVR_TARGET_LEFT_REGION_ALARM; - -/* ͼƬͼƬϢ */ -typedef struct -{ - /*20-˾ ˾ӳ̿ʼ, 21-˾绰, 22-˾ƣͼʻ, 23-˾ûĿǰڣ,24-˾ⲻͷ, 25-˾ϵȫ, - 26-˾ʰƷ, 27-˾Ƿ, 28-˾Զˮ, 29-˾, 31-˾δ*/ - DWORD dwPicType; /* ͼƬ */ - char *pPicBuf; /*ͼƬָ*/ - DWORD dwPicLen; /* ͼƬȣΪ0ʱʾûͼƬ */ - DWORD dwTime; /* ץͼʱ */ - char *pVideoBuf; /*Ƶָ, xxx.mp4*/ - DWORD dwVideoLen; /* ץͼƵijȣ0ʾûбƵ 20180518 */ - BYTE byRes[12]; /* Ԥ */ -}NET_DVR_DBD_PICTURE_INFO, *LPNET_DVR_DBD_PICTURE_INFO; - -/* λϢ */ -typedef struct -{/* 24 bytes */ - DWORD bValid; /* λϢǷЧ */ - DWORD dwLongitude; /* = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwLatitude; /* γ = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwVehicleSpeed; /* ٶ = ʵٶ*1000*100 */ - DWORD dwVehicleDirection; /* ٶȷ = ʵʷ*100 */ - DWORD dwAltitude; /* θ߶() */ -}NET_DVR_DBD_POSITION_INFO, *LPNET_DVR_DBD_POSITION_INFO; - -/* ״̬Ϣ */ -typedef struct -{/* 24 bytes */ - BYTE bySmoke; /* */ - BYTE byPhone; /* 绰 */ - BYTE byTiredDriving; /* ƣͼʻ */ - BYTE byNoVisualFront; /* ûĿǰ */ - BYTE byNoHead; /* */ - BYTE byWithoutBelt; /* ϵȫ */ - BYTE byPickingUpThing; /* ʰƷ */ - BYTE byYawn; /* Ƿ */ - BYTE byEatOrDrink; /* Ժ */ - BYTE byChatting; /* */ - BYTE byTampering; /* ڵIPC */ - BYTE byWithoutUniform; /* δ */ - BYTE byDriverCmpFail; /* ʶ쳣*/ - BYTE byDriverChange; /* ʻԱ*/ - BYTE byDriveLongTime; /*ʱʻ*/ - BYTE byInfraredBlockingSunglasses; /* ī */ - BYTE byOutOfWheel; /* 0-1-뷽̣2-˫뷽 */ - BYTE byRes[7]; -}NET_DVR_DBD_ALARM_STATE, *LPNET_DVR_DBD_ALARM_STATE; - -/* ʻΪϢ */ -typedef struct -{ - DWORD dwSize; /* ϴṹС 4*/ - BYTE byChannel; /* ͨ 1*/ - BYTE byLevel; /*ȼ,ǰֻ1*/ - BYTE byRes1[2]; /* ֽ 3*/ - NET_VCA_DEV_INFO struIpcInfo; /* IPͨϢ 24*/ - NET_DVR_DBD_POSITION_INFO struPosInfo; /* λϢ 24*/ - NET_DVR_DBD_PICTURE_INFO struPicInfo; /* ͼƬϢ*/ - NET_DVR_DBD_ALARM_STATE struAlarmState; /* ״̬Ϣ 24*/ - BYTE byRes2[20]; /* 20*/ -}NET_DVR_DBD_ALRAM_INFO, *LPNET_DVR_DBD_ALRAM_INFO; - -/* ADASͼƬϢ */ -typedef struct -{ - DWORD dwPicType; /* ͼƬ */ - char *pPicBuf; /*ͼƬָ*/ - DWORD dwPicLen; /* ͼƬȣΪ0ʱʾûͼƬ */ - DWORD dwTime; /* ץͼʱ */ - char *pVideoBuf; /*Ƶָ, xxx.mp4*/ - DWORD dwVideoLen; /* ץͼƵijȣ0ʾûбƵ 20180518 */ - BYTE byRes[12]; /* Ԥ */ -} NET_DVR_ADAS_PICTURE_INFO, *LPNET_DVR_ADAS_PICTURE_INFO; - -/* ADASλϢ */ -typedef struct -{/* 24 bytes */ - DWORD dwValid; /* λϢǷЧ */ - DWORD dwLongitude; /* = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwLatitude; /* γ = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwVehicleSpeed; /* ٶ = ʵٶ*1000*100 */ - DWORD dwVehicleDirection; /* ٶȷ = ʵʷ*100 */ - DWORD dwAltitude; /* θ߶() */ -}NET_DVR_ADAS_POSITION_INFO, *LPNET_DVR_ADAS_POSITION_INFO; - -/* ADAS״̬Ϣ */ -typedef struct -{/* 24 bytes */ - BYTE dwFcw; /* ǰײ0ޣ1¼ */ - BYTE dwLdw; /* ƫ룬0ޣ1ƫ룬2Ҳƫ */ - BYTE dwHmw; /* ⣬0ޣ1¼ */ - BYTE dwPcw; /* ײ0ޣ1¼ */ - BYTE dwBsd; /* ä⣬0ޣ1¼ , 2-Ҳä3-ä, 4-ä*/ - BYTE byAcc; /* ٣0ޣ1¼ */ - BYTE byBrake; /*٣0ޣ1¼ */ - BYTE byTurn; /* ת䣬0ޣ1Ҽת䣬2ת */ - BYTE byRollover; /* ෭0ޣ1¼ */ - BYTE byNoCourtesy; /* δˣ0ޣ1¼ */ - BYTE byTsr; /*ͨʶ棬0ޣ1٣2޸ߣ3޿ */ - BYTE byRes[13]; -}NET_DVR_ADAS_ALARM_STATE, *LPNET_DVR_ADAS_ALARM_STATE; - -/* ADASʻΪϢ */ -typedef struct -{ - DWORD dwSize; /* ϴṹС 4*/ - BYTE byChannel; /* ͨ 1*/ - BYTE byRes1[3]; /* ֽ 3*/ - NET_VCA_DEV_INFO struIpcInfo; /* IPͨϢ 28*/ - NET_DVR_ADAS_POSITION_INFO struPosInfo; /* λϢ 24*/ - NET_DVR_ADAS_PICTURE_INFO struPicInfo; /* ͼƬϢ*/ - NET_DVR_ADAS_ALARM_STATE struAlarmState; /* ״̬Ϣ 24*/ - BYTE byRes2[20]; /* 20*/ -}NET_DVR_ADAS_ALRAM_INFO, *LPNET_DVR_ADAS_ALRAM_INFO; - -/* гʵʱ */ -typedef struct -{ - DWORD dwSize; /* ϴṹС */ - DWORD dwSpeedValue; /* ٶֵ */ - DWORD dwSpeedPulse; /* */ - BYTE byUpgPercent; /* ȣ0-100ʧܷ255ÿοʼʱҪȽ0űʾ׼ʼ 20180508չ*/ - BYTE byRes1[3]; - DWORD dwVideoLostChans; /*λʾ0ʾ1-ʾƵʧһλʾһͨ*/ - BYTE byRes2[44]; -}NET_DVR_VEH_REALTIME_DATA_INFO, *LPNET_DVR_VEH_REALTIME_DATA_INFO; - -#define VCA_ATTEND_MAX_PIC_NUM 3 //¼ͼƬ -#define VCA_ATTEND_DRIVER_NAME_LEN 64 //Ϣ˾ֳ -#define VCA_ATTEND_CARD_ID_LEN 32 //Ϣ˾֤볤 -#define VCA_ATTEND_MAX_ALARM_ID_LEN 32 //¼Ψһŵ󳤶 - -typedef struct -{ - DWORD dwPicLen; //ͼƬȣΪ0ʱʾûͼƬ - char *pPicBuf; //ͼƬָ - BYTE byRes[12]; //Ԥ -}NET_DVR_VCA_ATTEND_PICDATA, *LPNET_DVR_VCA_ATTEND_PICDATA; - -/* ¼ͼƬϢ */ -typedef struct -{ - BYTE byPicNum; //ͼƬ - BYTE byRes1[3]; //Ԥ - NET_DVR_VCA_ATTEND_PICDATA struPicData[VCA_ATTEND_MAX_PIC_NUM]; //ͼƬ - DWORD dwVideoLen; //ץͼƵijȣ0ʾûбƵ - char *pVideoBuf; //Ƶָ - BYTE byRes[64]; //Ԥ -}NET_DVR_VCA_ATTEND_PICTURE_INFO, *LPNET_DVR_VCA_ATTEND_PICTURE_INFO; - -/* ¼ϴϢ*/ -typedef struct -{ - DWORD dwSize; // ϴṹС - BYTE byMethod; //ڷʽ 0-IC,1- - BYTE byStatus; //״̬ 0-1-ϰ,2-°ࣨ򻻰ࣩ - BYTE byCertIDType; //ʻԱ֤ͣ0-Ӫʸ֤1-֤ - BYTE byCertIDLen; //ʻԱҵʸ֤볤 - char sCertId[VCA_ATTEND_CARD_ID_LEN]; //ʻԱҵʸ֤ - DWORD dwTime; //ʱ - char sName[VCA_ATTEND_DRIVER_NAME_LEN]; //ʻԱ - char sAlarmIdNo[VCA_ATTEND_MAX_ALARM_ID_LEN]; //ʶ - NET_DVR_VCA_ATTEND_PICTURE_INFO struPicInfo; //ͼƬϢ - BYTE byRes[128]; // -}NET_DVR_VCA_ATTEND_ALARM_INFO, *LPNET_DVR_VCA_ATTEND_ALARM_INFO; - -//ߴ˲ -typedef struct tagNET_VCA_FILTER_STRATEGY -{ - BYTE byStrategy; //ߴ˲ 0 - 1-߶ȺͿȹ,2- - BYTE byRes[11]; // -}NET_VCA_FILTER_STRATEGY,*LPNET_VCA_FILTER_STRATEGY; - -//򴥷 -typedef struct tagNET_VCA_RULE_TRIGGER_PARAM -{ - BYTE byTriggerMode; //Ĵʽ0- ã1- 켣 2- Ŀ - BYTE byTriggerPoint; //㣬ʽΪ켣ʱЧ 0- ,1-,2- - BYTE byRes1[2]; // - float fTriggerArea; //Ŀٷֱ [0,100]ʽΪĿʱЧ - BYTE byRes2[4]; // -}NET_VCA_RULE_TRIGGER_PARAM,*LPNET_VCA_RULE_TRIGGER_PARAM; - -//ṹ -typedef struct tagNET_VCA_ONE_RULE_V41 -{ - BYTE byActive; //Ƿ񼤻,0-,0- - BYTE byRes1[4]; //Ϊ0ֶ - BYTE byEventTypeFlag; //־Ϊ¼ֶεЧԣ0-dwEventTypeЧ1-wEventTypeExЧ - //עֶbyEventTypeFlagֻòʱЧ豸ȡʱֱӴwEventTypeExȡ¼ͣжϴֶεֵ - WORD wEventTypeEx; //Ϊ¼չڴֶdwEventTypeοVCA_RULE_EVENT_TYPE_EX - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //Ϊ¼ͣΪ˼ݣʹwEventTypeExȡ¼ - NET_VCA_EVENT_UNION uEventParam; //Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - WORD wAlarmDelay; //ܱʱ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s - BYTE byRes2[2]; // - NET_VCA_FILTER_STRATEGY struFilterStrategy; //ߴ˲ - NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //򴥷 - BYTE byRes[32]; -}NET_VCA_ONE_RULE_V41, *LPNET_VCA_ONE_RULE_V41; - -//Ϊýṹ -typedef struct tagNET_VCA_RULECFG_V41 -{ - DWORD dwSize; //ṹ - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byPicRecordEnable; /*2012-3-1ǷͼƬ洢, 0-, 1-*/ - BYTE byRes1; - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_ONE_RULE_V41 struRule[MAX_RULE_NUM]; // - WORD wRelSnapChan[MAX_REL_SNAPCHAN_NUM]; //ץͼͨͨʱͬʱϴͨץͼƬ0ʾֵΪͨ - BYTE byRes[26]; -}NET_VCA_RULECFG_V41, *LPNET_VCA_RULECFG_V41; - -//ṹ -typedef struct NET_VCA_ONE_RULE_V42_ -{ - BYTE byActive; //Ƿ񼤻, 0-񣬷0- - BYTE byEventPriority;//¼ȼ 0-ͣ1-У2- - BYTE byBackgroundSuppression;// 0-ر 1- 2-Ӧ - BYTE byRes1[3]; //Ϊ0ֶ - WORD wEventType; //Ϊ¼ͣοVCA_RULE_EVENT_TYPE_EX - BYTE byRuleName[NAME_LEN/*32*/]; // - NET_VCA_EVENT_UNION uEventParam; //Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*ʽ*/ - //쳣ʽбŰ󶨣Ϊ0ʱʾıŷΧΪ1-64Ϊ1ʱʾıŷΧΪ65-128 ڽУ0xffffffffʾ ǰļںıЧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; /* ¼ֽͨڵͨţʼֵ 0xffffffff*/ - //¼ͨŰ󶨣Ϊ0ʱʾͨŷΧΪ1-64Ϊ1ʱʾͨŷΧΪ65-128 ڽУ0xffffffffʾ ǰļںĹͨЧ - WORD wAlarmDelay; //ܱʱ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s - BYTE byRes2[2]; // - NET_VCA_FILTER_STRATEGY struFilterStrategy; //ߴ˲ - NET_VCA_RULE_TRIGGER_PARAM struTriggerParam; //򴥷 - BYTE byRes[32]; -}NET_VCA_ONE_RULE_V42, *LPNET_VCA_ONE_RULE_V42; - - -typedef struct tagNET_DVR_PTZ_POSITION -{ - // ǷóóΪʱֶЧóλϢʱΪʹλ - BYTE byEnable; - BYTE byRes1[3]; // - BYTE byPtzPositionName[NAME_LEN]; //λ - NET_DVR_PTZPOS struPtzPos; //ptz - BYTE byRes2[40]; -}NET_DVR_PTZ_POSITION, *LPNET_DVR_PTZ_POSITION; - -//Ϊýṹ -typedef struct tagNET_VCA_RULECFG_V42 -{ - DWORD dwSize; //ṹͼС - BYTE byPicProType; //ʱͼƬʽ 0- 1-ϴ - BYTE byUpLastAlarm; //Ƿϴһεı0-1- - BYTE byPicRecordEnable; //ǷͼƬ洢, 0-, 1- - BYTE byRes1; - NET_DVR_JPEGPARA struPicParam; //ͼƬṹ - NET_VCA_ONE_RULE_V42 struRule[MAX_RULE_NUM_V42 /*16*/]; /* */ - WORD wRelSnapChan[MAX_REL_SNAPCHAN_NUM]; //ץͼͨͨʱͬʱϴͨץͼƬ0ʾֵΪͨ - BYTE byTrackEnable; //Ƿø - BYTE byRes2; - NET_DVR_PTZ_POSITION struPTZPosition; //λϢ - WORD wTrackDuration; //ٳʱ䣬λs - WORD wIntervalTime; //αʱ䣨룩[1-7200]ĬΪ600 - WORD wHeightLimit;//Ŀ߶ޣף[0-250]ĬΪ80cmСڴ˸߶ȵĿ꽫ΪĿм - BYTE byRes[58];// -}NET_VCA_RULECFG_V42, *LPNET_VCA_RULECFG_V42; - - -//Ŀṹ -typedef struct tagNET_VCA_TARGET_INFO -{ - DWORD dwID; //ĿID ,Աۼ߱ʱΪ0 - NET_VCA_RECT struRect; //Ŀ߽ - BYTE byRes[4]; // -}NET_VCA_TARGET_INFO, *LPNET_VCA_TARGET_INFO; - -//򻯵ĹϢ, ĻϢ -typedef struct tagNET_VCA_RULE_INFO -{ - BYTE byRuleID; //ID,0-7 - BYTE bySceneID; //ID,0Ч - WORD wEventTypeEx; //Ϊ¼չڴֶdwEventTypeοVCA_RULE_EVENT_TYPE_EX - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //Ϊ¼ͣΪ˼ݣʹwEventTypeExȡ¼ - NET_VCA_EVENT_UNION uEventParam;//¼ -}NET_VCA_RULE_INFO, *LPNET_VCA_RULE_INFO; - -//Ϊϱṹ -typedef struct tagNET_VCA_RULE_ALARM -{ - DWORD dwSize; //ṹ - DWORD dwRelativeTime; //ʱ,ʷԭʵûã汾byRelativeTimeFlagΪ1ʱʾΪUTCʱ - DWORD dwAbsTime; //ʱ,ʷԭʵΪOSDʱ - NET_VCA_RULE_INFO struRuleInfo; //¼Ϣ - NET_VCA_TARGET_INFO struTargetInfo; //ĿϢ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwPicDataLen; //ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - BYTE byPicType; // 0-ץͼƬ 1-ԱͼƬ - BYTE byRelAlarmPicNum; //ͨͼƬ - BYTE bySmart;//IDS豸0(Ĭֵ)Smart Functiom Return 1 - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - DWORD dwAlarmID; //IDԱʶͨϱ0ʾЧ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRelativeTimeFlag; //dwRelativeTimeֶǷЧ 0-Ч 1-ЧdwRelativeTimeʾUTCʱ - BYTE byAppendInfoUploadEnabled; //Ϣϴʹ 0-ϴ 1-ϴ - BYTE *pAppendInfo; //ָ򸽼ϢNET_VCA_APPEND_INFOָ룬byAppendInfoUploadEnabledΪ1ʱbyTimeDiffFlagΪ1ʱЧ - BYTE *pImage; //ָͼƬָ -}NET_VCA_RULE_ALARM, *LPNET_VCA_RULE_ALARM; - -//ΪϢ -typedef struct tagNET_VCA_APPEND_INFO -{ - DWORD dwSize; //ṹ - DWORD dwAppendPicLen;//ͼƬ - BYTE* pAppendPicBuff;//ͼƬָ - BYTE byAppendPicType;//ͼƬͣ0-;1-ɼͼƬ;2-ȳͼƬ; - BYTE byUID[64];//豸UID - BYTE byApplicationScene;// Ӧó 0- 1- - BYTE byRes1[2]; // - DWORD dwTargetSpeed; //״⵽Ŀٶ,λ:km/h - DWORD dwTargetDistance; //״⵽Ŀ,λ:m/ - BYTE byAlarmType;// 0-Ƶ 1-״ - BYTE byRadarChannel; //״ͨ1ʼۼ - BYTE byBrokenNetHttp; // ־λ0-شݣ1-ش - BYTE byAppendChannelType;//ͨͣ0-;1-ɼͨ;2-ȳͨ; - DWORD dwAppendChannel; //ͨͨ - BYTE byRes[44]; // -}NET_VCA_APPEND_INFO, *LPNET_VCA_APPEND_INFO; - - -//ΪDSPϢӽṹ -typedef struct tagNET_VCA_DRAW_MODE -{ - DWORD dwSize; - BYTE byDspAddTarget; //ǷĿ - BYTE byDspAddRule; //Ƿӹ - BYTE byDspPicAddTarget; //ץͼǷĿ - BYTE byDspPicAddRule; //ץͼǷӹ - BYTE byRes[4]; -}NET_VCA_DRAW_MODE, *LPNET_VCA_DRAW_MODE; - -// -typedef enum tagOBJECT_TYPE_ENUM -{ - ENUM_OBJECT_TYPE_COAT = 1 // -}OBJECT_TYPE_ENUM; - -//ɫṹ -typedef struct tagNET_DVR_OBJECT_COLOR_COND -{ - DWORD dwChannel; //ͨ - DWORD dwObjType; //ͣμOBJECT_TYPE_ENUM - BYTE byRes[64]; // -}NET_DVR_OBJECT_COLOR_COND,*LPNET_DVR_OBJECT_COLOR_COND; - -//ͼƬ -typedef struct tagNET_DVR_PIC -{ - BYTE byPicType; //ͼƬͣ1-jpg - BYTE byRes1[3]; // - DWORD dwPicWidth; //ͼƬ - DWORD dwPicHeight; //ͼƬ߶ - DWORD dwPicDataLen; //ͼƬʵʴС - DWORD dwPicDataBuffLen; //ͼƬݻС - BYTE* byPicDataBuff; //ͼƬݻ - BYTE byRes2[40]; // -}NET_DVR_PIC,*LPNET_DVR_PIC; - -//ɫ -typedef union tagNET_DVR_OBJECT_COLOR_UNION -{ - NET_DVR_COLOR struColor; //ɫֵ - NET_DVR_PIC struPicture; //ͼƬ - BYTE byRes[64]; // -}NET_DVR_OBJECT_COLOR_UNION,*LPNET_DVR_OBJECT_COLOR_UNION; - -//ɫṹ -typedef struct tagNET_DVR_OBJECT_COLOR -{ - DWORD dwSize; //ṹС - BYTE byEnable; //0-ã1- - BYTE byColorMode; //ȡɫʽ1-ɫֵ2-ͼƬ - BYTE byRes1[2]; // - NET_DVR_OBJECT_COLOR_UNION uObjColor; //ɫ壬ȡֵȡɫʽ - BYTE byRes2[64]; // -}NET_DVR_OBJECT_COLOR, *LPNET_DVR_OBJECT_COLOR; - -// -typedef enum tagAREA_TYPE_ENUM -{ - ENUM_OVERLAP_REGION = 1,//ͬ - ENUM_BED_LOCATION = 2 //λ -}AREA_TYPE_ENUM; - -// -typedef struct tagNET_DVR_AUXAREA -{ - DWORD dwAreaType; //ͣμAREA_TYPE_ENUM - BYTE byEnable; //0-ã1- - BYTE byRes1[3]; // - NET_VCA_POLYGON struPolygon; // - BYTE byRes2[16]; // -}NET_DVR_AUXAREA,*LPNET_DVR_AUXAREA; - -//б -typedef struct tagNET_DVR_AUXAREA_LIST -{ - DWORD dwSize; // ṹС - NET_DVR_AUXAREA struArea[MAX_AUXAREA_NUM]; // - BYTE byRes2[64]; // -}NET_DVR_AUXAREA_LIST,*LPNET_DVR_AUXAREA_LIST; - -//ͨģʽ -typedef enum tagCHAN_WORKMODE_ENUM -{ - ENUM_CHAN_WORKMODE_INDEPENDENT = 1, //ģʽ - ENUM_CHAN_WORKMODE_MASTER = 2, //ģʽ - ENUM_CHAN_WORKMODE_SLAVE = 3 //ģʽ -}CHAN_WORKMODE_ENUM; - -//ͨģʽṹ -typedef struct tagNET_DVR_CHANNEL_WORKMODE -{ - DWORD dwSize; //ṹС - BYTE byWorkMode; //ģʽμCHAN_WORKMODE_ENUM - BYTE byRes[63]; // -}NET_DVR_CHANNEL_WORKMODE,*LPNET_DVR_CHANNEL_WORKMODE; - -//豸ͨṹ -typedef struct tagNET_DVR_CHANNEL -{ - BYTE byAddress[MAX_DOMAIN_NAME]; //豸IP - WORD wDVRPort; //˿ں - BYTE byRes1[2]; // - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - DWORD dwChannel; //ͨ - BYTE byRes2[32]; // -}NET_DVR_CHANNEL,*LPNET_DVR_CHANNEL; - -//ͨϢ -typedef union tagNET_DVR_SLAVE_CHANNEL_UNION -{ - BYTE byRes[152]; //С - DWORD dwLocalChannel; //ͨ - NET_DVR_CHANNEL struRemoteChannel; //Զͨ -}NET_DVR_SLAVE_CHANNEL_UNION,*LPNET_DVR_SLAVE_CHANNEL_UNION; - -//ͨṹ -typedef struct tagNET_DVR_SLAVE_CHANNEL_PARAM -{ - BYTE byChanType; //ͨͣ1-ͨ2-Զͨ - BYTE byRes1[3]; // - NET_DVR_SLAVE_CHANNEL_UNION uSlaveChannel; //ͨ壬ȡֵbyChanType - BYTE byRes2[64]; // -}NET_DVR_SLAVE_CHANNEL_PARAM,*LPNET_DVR_SLAVE_CHANNEL_PARAM; - - -//ͨýṹ -typedef struct tagNET_DVR_SLAVE_CHANNEL_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_SLAVE_CHANNEL_PARAM struChanParam[MAX_SLAVE_CHANNEL_NUM];//ͨ - BYTE byRes[64]; // -}NET_DVR_SLAVE_CHANNEL_CFG,*LPNET_DVR_SLAVE_CHANNEL_CFG; - -//Ƶϼ¼ -typedef enum tagVQD_EVENT_ENUM -{ - ENUM_VQD_EVENT_BLUR = 1, //ͼģ - ENUM_VQD_EVENT_LUMA = 2, //쳣 - ENUM_VQD_EVENT_CHROMA = 3, //ͼƫɫ - ENUM_VQD_EVENT_SNOW = 4, //ѩ - ENUM_VQD_EVENT_STREAK = 5, //Ƹ - ENUM_VQD_EVENT_FREEZE = 6, //涳 - ENUM_VQD_EVENT_SIGNAL_LOSS = 7, //źŶʧ - ENUM_VQD_EVENT_PTZ = 8, //̨ʧ - ENUM_VQD_EVENT_SCNENE_CHANGE = 9, //ͻ - ENUM_VQD_EVENT_VIDEO_ABNORMAL = 10, //Ƶ쳣 - ENUM_VQD_EVENT_VIDEO_BLOCK = 11, //Ƶڵ - ENUM_VQD_EVENT_CLARTY = 12, //쳣 - ENUM_VQD_EVENT_JITTER = 13, //涶 - ENUM_VQD_EVENT_FLOWERS = 14, // - ENUM_VQD_EVENT_NOISE = 15, // - ENUM_VQD_EVENT_GHOST = 16, //쳣 - ENUM_VQD_EVENT_PURPLE = 17, //ϱ - ENUM_VQD_EVENT_ICR = 18, // ICR쳣 - ENUM_VQD_EVENT_PROTECTFILM = 19 //Ĥδ˺ -}VQD_EVENT_ENUM; - -//Ƶ¼ṹ -typedef struct tagNET_DVR_VQD_EVENT_COND -{ - DWORD dwChannel; //ͨ - DWORD dwEventType; //¼ͣμVQD_EVENT_ENUM - BYTE byRes[64]; // -}NET_DVR_VQD_EVENT_COND,*LPNET_DVR_VQD_EVENT_COND; - -//Ƶ¼ -typedef struct tagNET_DVR_VQD_EVENT_PARAM -{ - BYTE byThreshold; //ֵΧ[0,100] - BYTE byTriggerMode; //1-2-δ - BYTE byUploadPic; //0-ϴͼƬ1-ϴͼƬǷϴͼƬº󶼿Դ豸ȡ¼ӦµһűͼƬμӿNET_DVR_StartDownload - BYTE byRes1; // - DWORD dwTimeInterval; //ʱΧ[0,3600] λ - BYTE byRes2[64]; // -}NET_DVR_VQD_EVENT_PARAM,*LPNET_DVR_VQD_EVENT_PARAM; - -//Ƶ¼ -typedef struct tagNET_DVR_VQD_EVENT_RULE -{ - DWORD dwSize; //ṹС - BYTE byEnable; //0-ã1- - BYTE byRes1[3]; // - NET_DVR_VQD_EVENT_PARAM struEventParam; //Ƶ¼ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_IVMS_IP_CHANNEL]; //¼ͨ1ʾͨ0ʾ - BYTE byRes2[128]; // -}NET_DVR_VQD_EVENT_RULE,*LPNET_DVR_VQD_EVENT_RULE; - -//׼ -typedef struct tagNET_DVR_BASELINE_SCENE -{ - DWORD dwSize; //ṹС - BYTE byEnable; //0-ã1- - BYTE byRes[63]; // -}NET_DVR_BASELINE_SCENE,*LPNET_DVR_BASELINE_SCENE; - -//׼ṹ -typedef struct tagNET_DVR_CONTROL_BASELINE_SCENE_PARAM -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byCommand; //ͣ1-ֶαݲʹã2-»׼ - BYTE byRes[127]; // -}NET_DVR_CONTROL_BASELINE_SCENE_PARAM,*LPNET_DVR_CONTROL_BASELINE_SCENE_PARAM; - -//Ƶϱṹ -typedef struct tagNET_DVR_VQD_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwEventType; //¼ͣοVQD_EVENT_ENUM - float fThreshold; //ֵ[0.000,1.000] - DWORD dwPicDataLen; //ͼƬȣΪ0ʾûͼƬ - BYTE *pImage; //ָͼƬָ - BYTE byRes[128]; // -}NET_DVR_VQD_ALARM,*LPNET_DVR_VQD_ALARM; - -//궨ӽṹ -typedef struct tagNET_DVR_CB_POINT -{ - NET_VCA_POINT struPoint; //궨㣬ǹ - NET_DVR_PTZPOS struPtzPos; //PTZ - BYTE byRes[8]; -}NET_DVR_CB_POINT, LPNET_DVR_CB_POINT; - -//궨ýṹ -typedef struct tagNET_DVR_TRACK_CALIBRATION_PARAM -{ - BYTE byPointNum; //Ч궨 - BYTE byRes[3]; - NET_DVR_CB_POINT struCBPoint[MAX_CALIB_PT]; //궨 -}NET_DVR_TRACK_CALIBRATION_PARAM, *LPNET_DVR_TRACK_CALIBRATION_PARAM; - -//ýṹ -typedef struct tagNET_DVR_TRACK_CFG -{ - DWORD dwSize; //ṹ - BYTE byEnable; //궨ʹ - BYTE byFollowChan; // ƵĴͨ - BYTE byDomeCalibrate; //ܸ궨1 0 - BYTE byRes; // ֽ - NET_DVR_TRACK_CALIBRATION_PARAM struCalParam; //궨 -}NET_DVR_TRACK_CFG, *LPNET_DVR_TRACK_CFG ; - -//ģʽ -typedef enum _TRACK_MODE_ -{ - MANUAL_CTRL = 0, //ֶ - ALARM_TRACK // -}TRACK_MODE; - -//ֶƽṹ -typedef struct tagNET_DVR_MANUAL_CTRL_INFO -{ - NET_VCA_POINT struCtrlPoint; - BYTE byRes[8]; -}NET_DVR_MANUAL_CTRL_INFO, *LPNET_DVR_MANUAL_CTRL_INFO ; - -//ģʽṹ -typedef struct tagNET_DVR_TRACK_MODE -{ - DWORD dwSize; //ṹ - BYTE byTrackMode; //ģʽ - BYTE byRuleConfMode; //øģʽ0-ø٣1-Զø - BYTE byRes[2]; //0 - union - { - DWORD dwULen[4]; - NET_DVR_MANUAL_CTRL_INFO struManualCtrl;//ֶٽṹ - }uModeParam; -}NET_DVR_TRACK_MODE,*LPNET_DVR_TRACK_MODE; - -typedef struct tagNET_DVR_ALARM_JPEG -{ - BYTE byPicProType; /*ʱͼƬʽ 0- 1-ϴ*/ - BYTE byRes[3]; //ֽ - NET_DVR_JPEGPARA struPicParam; /*ͼƬṹ*/ -}NET_DVR_ALARM_JPEG, *LPNET_DVR_ALARM_JPEG; - -/**********************ipc/d5.3.0********************************/ -typedef struct tagNET_DVR_PHY_RATIO -{ - DWORD dwSize; - DWORD dwPhysicsRatio;// - BYTE byRes[60]; -}NET_DVR_PHY_RATIO, *LPNET_DVR_PHY_RATIO; - -typedef struct tagNET_DVR_SLAVECAMERA_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byID;//Ӹ ID[1,4] - BYTE byRes1[3]; - DWORD dwSceneID;// scene Id - BYTE byRes[56]; -}NET_DVR_SLAVECAMERA_COND, *LPNET_DVR_SLAVECAMERA_COND; - -typedef struct tagNET_DVR_SLAVECAMERA_CFG -{ - DWORD dwSize; - BYTE byAddressType; //0-ʵipv4 ipv6ַ 1- - // unionServerʹʵʵַ - WORD wPort; /*˿*/ - BYTE byLoginStatus; /*豸ĵ½״̬ 0-logout,1-login*/ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME/*64*/];//ַ - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp;/*IPַ*/ //IPv4 IPv6ַ, 144ֽ - } struAddrIP; - }unionServer; //ʹṹͨbyAddressTypeֶαʾIPַ 64 - BYTE szUserName[NAME_LEN/*32*/]; /*û*/ - BYTE szPassWord[PASSWD_LEN/*16*/]; /**/ - BYTE byRes1[128]; -}NET_DVR_SLAVECAMERA_CFG, *LPNET_DVR_SLAVECAMERA_CFG; - -typedef struct tagNET_DVR_SLAVECAMERA_PARAM -{ - BYTE byLinkStatus ;//״̬ 0- δӣ1- - BYTE byRes[15]; -}NET_DVR_SLAVECAMERA_PARAM, *LPNET_DVR_SLAVECAMERA_PARAM; - -typedef struct tagNET_DVR_SLAVECAMERA_STATUS -{ - DWORD dwSize; - NET_DVR_SLAVECAMERA_PARAM struSlaveCamera[MAX_SLAVECAMERA_NUM/*8*/];//±0ʾID 1, - BYTE byRes[64]; -}NET_DVR_SLAVECAMERA_STATUS, *LPNET_DVR_SLAVECAMERA_STATUS; - -typedef struct tagNET_PTZ_INFO -{ - float fPan; - float fTilt; - float fZoom; - DWORD dwFocus;// ۽۽Χһ0-100000 - BYTE byRes[4]; -}NET_PTZ_INFO, *LPNET_PTZ_INFO; - -typedef struct tagNET_DVR_BV_CALIB_POSITION -{ - DWORD dwSize; //ṹ - NET_PTZ_INFO struInitialPos; //ʼ - NET_PTZ_INFO struAdjustPos; // - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_POSITION, *LPNET_DVR_BV_CALIB_POSITION; - -typedef struct tagNET_DVR_HUMAN_CALIB_CFG -{ - DWORD dwSize; //ṹ - NET_VCA_POINT struLeftPos; // - NET_VCA_POINT struRightPos; // - BYTE byRes[300]; // -}NET_DVR_HUMAN_CALIB_CFG, *LPNET_DVR_HUMAN_CALIB_CFG; - -typedef struct tagNET_DVR_CALIB_PARAM -{ - NET_PTZ_INFO struPtzInfo; - NET_VCA_POINT struCalibCoordinates;//궨 - int iHorValue;//˫Ŀ궨 ˮƽֵ cmֶģʽЧ ˫Ŀã - int iVerValue;//˫Ŀ궨 ֱֵ cmֶģʽЧ ˫Ŀã - BYTE byRes[8]; -}NET_DVR_CALIB_PARAM, *LPNET_DVR_CALIB_PARAM; - -typedef struct tagNET_DVR_SLAVECAMERA_CALIB_CFG -{ - DWORD dwSize; - BYTE byCalibMode;//궨ģʽ: 0-,1-Զ궨, 2-ֶ궨 - BYTE byRes[3]; - //±0ʾID 1 - //ֶ궨ģʽ֧ã&&ȡԶģʽֻ֧ȡ - NET_DVR_CALIB_PARAM struCalibParam[MAX_CALIB_NUM/*6*/];//ֶֻ궨ģʽЧ - BYTE byRes1[64]; -}NET_DVR_SLAVECAMERA_CALIB_CFG, *LPNET_DVR_SLAVECAMERA_CALIB_CFG; - -typedef struct tagNET_DVR_TRACKING -{ - DWORD dwSize; //ṹ - BYTE byEnable; //ʹ 0-false,1-true - BYTE byMode; //ģʽ 0-رգ1-ֶ2-Զ - WORD wTrackingTime;//ʱ䣺[0,60]s - NET_VCA_POLYGON struRegion;//ֶĿΧ - BYTE byRes[64]; -}NET_DVR_TRACKING,*LPNET_DVR_TRACKING; - -typedef struct tagNET_DVR_SLAVECAMERA_CALIB_V50 -{ - DWORD dwSize; - BYTE byCalibMode;//궨ģʽ: 0-,1-Զ궨, 2-ֶ궨 - BYTE byRes[3]; - //±0ʾID 1 - //ֶ궨ģʽ֧ã&&ȡԶģʽֻ֧ȡ - NET_DVR_CALIB_PARAM struCalibParam[MAX_CALIB_NUM_EX/*20*/]; - BYTE byRes1[64]; -}NET_DVR_SLAVECAMERA_CALIB_V50, *LPNET_DVR_SLAVECAMERA_CALIB_V50; - -typedef struct tagNET_DVR_SLAVECAMERA_CALIB_V51 -{ - DWORD dwSize; - BYTE byCalibMode;//궨ģʽ: 0-,1-Զ궨, 2-ֶ궨 - BYTE byRes[3]; - //±0ʾID 1 - //ֶ궨ģʽ֧ã&&ȡԶģʽֻ֧ȡ - NET_DVR_CALIB_PARAM struCalibParam[MAX_CALIB_NUM_EX/*20*/]; - BYTE byRes1[512]; -}NET_DVR_SLAVECAMERA_CALIB_V51, *LPNET_DVR_SLAVECAMERA_CALIB_V51; - -//⹦ץͼṹӥĿ -typedef struct tagNET_DVR_CAPTURE_PICTURE_RESULT -{ - DWORD dwSize;//ṹС - DWORD dwReturnPicSize;//صͼƬС - BYTE byRes[256]; -}NET_DVR_CAPTURE_PICTURE_RESULT, *LPNET_DVR_CAPTURE_PICTURE_RESULT; - -typedef struct tagNET_DVR_GOTOSCENE_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwSceneID;//ID - BYTE byRes[512]; -}NET_DVR_GOTOSCENE_COND, *LPNET_DVR_GOTOSCENE_COND; - -typedef struct tagNET_DVR_TRACK_INITPOSTION -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byID;//Ӹ ID[1,4] - BYTE byRes[127]; -}NET_DVR_TRACK_INITPOSTION, *LPNET_DVR_TRACK_INITPOSTION; - -typedef struct tagNET_DVR_MANUAL_TRACKRATIO -{ - DWORD dwSize; - BYTE byCoefficient;//ϵ[1,60] - BYTE byRes[127]; -}NET_DVR_MANUAL_TRACKRATIO, *LPNET_DVR_MANUAL_TRACKRATIO; - -/**********************ipc/d5.3.0********************************/ - -//Ϊṹ -//ṹ -typedef struct tagNET_IVMS_ONE_RULE_ -{ - BYTE byActive; /* Ƿ񼤻,0-, 0- */ - BYTE byRes1[7]; //Ϊ0ֶ - BYTE byRuleName[NAME_LEN]; // - VCA_EVENT_TYPE dwEventType; //Ϊ¼ - NET_VCA_EVENT_UNION uEventParam;//Ϊ¼ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - BYTE byRes2[68]; /*Ϊ0*/ -}NET_IVMS_ONE_RULE, *LPNET_IVMS_ONE_RULE; - -// ǹṹ -typedef struct tagNET_IVMS_RULECFG -{ - NET_IVMS_ONE_RULE struRule[MAX_RULE_NUM]; // -}NET_IVMS_RULECFG, *LPNET_IVMS_RULECFG; - -// IVMSΪýṹ -typedef struct tagNET_IVMS_BEHAVIORCFG -{ - DWORD dwSize; - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byRes[3]; - NET_DVR_JPEGPARA struPicParam; //ͼƬṹ - NET_IVMS_RULECFG struRuleCfg[MAX_DAYS][MAX_TIMESEGMENT];//ÿʱζӦ -} NET_IVMS_BEHAVIORCFG, *LPNET_IVMS_BEHAVIORCFG; - -//ܷȡƻӽṹ -typedef struct tagNET_IVMS_DEVSCHED -{ - NET_DVR_SCHEDTIME struTime; //ʱ - NET_DVR_PU_STREAM_CFG struPUStream; //ǰȡ -}NET_IVMS_DEVSCHED, *LPNET_IVMS_DEVSCHED; - -//ܷDzýṹ -typedef struct tagNET_IVMS_STREAMCFG -{ - DWORD dwSize; - NET_IVMS_DEVSCHED struDevSched[MAX_DAYS][MAX_TIMESEGMENT];//ʱǰȡԼϢ -} NET_IVMS_STREAMCFG, *LPNET_IVMS_STREAMCFG; - -// -typedef struct tagNET_VCA_MASK_REGION -{ - BYTE byEnable; //Ƿ񼤻, 0-񣬷0- - BYTE byRes[3]; //0 - NET_VCA_POLYGON struPolygon; //ζ -}NET_VCA_MASK_REGION, * LPNET_VCA_MASK_REGION; - -//ṹ -typedef struct tagNET_VCA_MASK_REGION_LIST -{ - DWORD dwSize; //ṹ - BYTE byRes[4]; //0 - NET_VCA_MASK_REGION struMask[MAX_MASK_REGION_NUM]; // -}NET_VCA_MASK_REGION_LIST, *LPNET_VCA_MASK_REGION_LIST; - - -//ATM -typedef struct tagNET_VCA_ENTER_REGION//ֹATM -{ - DWORD dwSize; - BYTE byEnable; //Ƿ񼤻0-񣬷0- - BYTE byRes1[3]; - NET_VCA_POLYGON struPolygon; // - BYTE byRes2[16]; -}NET_VCA_ENTER_REGION, * LPNET_VCA_ENTER_REGION; - -//IVMS -typedef struct tagNET_IVMS_MASK_REGION_LIST -{ - DWORD dwSize; //ṹ - NET_VCA_MASK_REGION_LIST struList[MAX_DAYS][ MAX_TIMESEGMENT]; -}NET_IVMS_MASK_REGION_LIST, *LPNET_IVMS_MASK_REGION_LIST; - -//IVMSATM -typedef struct tagNET_IVMS_ENTER_REGION -{ - DWORD dwSize; - NET_VCA_ENTER_REGION struEnter[MAX_DAYS][ MAX_TIMESEGMENT]; // -}NET_IVMS_ENTER_REGION, *LPNET_IVMS_ENTER_REGION; - -// ivms ͼƬϴṹ -typedef struct tagNET_IVMS_ALARM_JPEG -{ - BYTE byPicProType; - BYTE byRes[3]; - NET_DVR_JPEGPARA struPicParam; -}NET_IVMS_ALARM_JPEG, *LPNET_IVMS_ALARM_JPEG; - -// IVMS -typedef struct tagNET_IVMS_SEARCHCFG -{ - DWORD dwSize; - NET_DVR_MATRIX_DEC_REMOTE_PLAY struRemotePlay;// Զ̻ط - NET_IVMS_ALARM_JPEG struAlarmJpeg; // ϴͼƬ - NET_IVMS_RULECFG struRuleCfg; //IVMS Ϊ -}NET_IVMS_SEARCHCFG, *LPNET_IVMS_SEARCHCFG; - -//궨ṹ -typedef struct tagNET_DVR_TRACK_CALIBRATION_PARAM_V41 -{ - BYTE byPointNum; //Ч궨 - BYTE byRes[3]; // - NET_DVR_CB_POINT struCBPoint[MAX_CALIB_PT]; //궨 - NET_DVR_PTZPOS struHorizonPtzPos; //ˮƽPTZ - BYTE byRes2[256]; // -}NET_DVR_TRACK_CALIBRATION_PARAM_V41, *LPNET_DVR_TRACK_CALIBRATION_PARAM_V41; - -//豸ò -typedef struct tagNET_DVR_TRACK_DEV_PARAM_ -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ô˸豸, 0-, 1 - - BYTE byTransMode; //ͨѶʽ0-SDK1-485 - BYTE byRes1[2]; // - NET_DVR_CHANNEL struTrackDevChan; //豸 - NET_DVR_TRACK_CALIBRATION_PARAM_V41 struCalParam; //豸궨 - BYTE byRes2[256]; // -}NET_DVR_TRACK_DEV_PARAM, *LPNET_DVR_TRACK_DEV_PARAM; -/************************************end******************************************/ -//NAS֤ -typedef struct tagNET_DVR_IDENTIFICATION_PARAM -{ - BYTE sUserName[NAME_LEN]; /* û 32*/ - BYTE sPassword[PASSWD_LEN]; /* 16*/ - BYTE byRes1[4]; // -}NET_DVR_IDENTIFICATION_PARAM, *LPNET_DVR_IDENTIFICATION_PARAM; - -typedef union tagNET_DVR_MOUNT_PARAM_UNION -{ - BYTE uLen[52]; //ṹС - NET_DVR_IDENTIFICATION_PARAM struIdentificationParam;//(SMB/CIFSʱЧ) -} NET_DVR_MOUNT_PARAM_UNION, *LPNET_DVR_MOUNT_PARAM_UNION; - -typedef struct tagNET_DVR_NAS_MOUNT_PARAM -{ - BYTE byMountType; //0,1~NFS, 2~ SMB/CIFS - BYTE byRes[3]; - NET_DVR_MOUNT_PARAM_UNION uMountParam; -}NET_DVR_NAS_MOUNT_PARAM, *LPNET_DVR_NAS_MOUNT_PARAM; - -typedef union tagNET_DVR_MOUNTMETHOD_PARAM_UNION -{ - BYTE uLen[56]; //ṹС - NET_DVR_NAS_MOUNT_PARAM struNasMountParam;//NASطʽ (byNetDiskTypeΪNFS(NAS)ʱЧ) -}NET_DVR_MOUNTMETHOD_PARAM_UNION, *LPNET_DVR_MOUNTMETHOD_PARAM_UNION; - -//Ӳ̽ṹ -typedef struct tagNET_DVR_SINGLE_NET_DISK_INFO -{ - BYTE byNetDiskType; //Ӳ, 0-NFS(NAS),1-iSCSI - BYTE byRes1[3]; // - NET_DVR_IPADDR struNetDiskAddr; //Ӳ̵ַ - BYTE sDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128 - WORD wPort; //iscsiж˿ڣΪĬ - BYTE byRes2[2]; - NET_DVR_MOUNTMETHOD_PARAM_UNION uMountMethodParam; - BYTE byRes3[8]; // -}NET_DVR_SINGLE_NET_DISK_INFO, *LPNET_DVR_SINGLE_NET_DISK_INFO; - -#define MAX_NET_DISK 16//Ӳ̸ - -typedef struct tagNET_DVR_NET_DISKCFG -{ - DWORD dwSize; - NET_DVR_SINGLE_NET_DISK_INFO struNetDiskParam[MAX_NET_DISK]; -}NET_DVR_NET_DISKCFG, *LPNET_DVR_NET_DISKCFG; - -typedef struct tagNET_DVR_SINGLE_NET_DISK_INFO_V40 -{ - BYTE byNetDiskType; //Ӳ, 0-NFS(NAS),1-iSCSI - BYTE byRes1[3]; // - BYTE sDirectory[PATHNAME_LEN]; // PATHNAME_LEN = 128 - BYTE byDevAddr[MAX_DOMAIN_NAME]; /* 64*/ - WORD wPort; //iscsiж˿ڣΪĬ - BYTE byRes2[2]; - NET_DVR_MOUNTMETHOD_PARAM_UNION uMountMethodParam; - BYTE byRes4[80]; -}NET_DVR_SINGLE_NET_DISK_INFO_V40, *LPNET_DVR_SINGLE_NET_DISK_INFO_V40; - -typedef struct tagNET_DVR_NET_DISKCFG_V40 -{ - DWORD dwSize; - NET_DVR_SINGLE_NET_DISK_INFO_V40 struNetDiskParam[MAX_NET_DISK]; -}NET_DVR_NET_DISKCFG_V40, *LPNET_DVR_NET_DISKCFG_V40; -//¼ -// -typedef enum _MAIN_EVENT_TYPE_ -{ - EVENT_MOT_DET = 0, //ƶ - EVENT_ALARM_IN = 1, // - EVENT_VCA_BEHAVIOR = 2, // Ϊ - EVENT_INQUEST = 3, //Ѷ¼ - EVENT_VCA_DETECTION = 4, // - EVENT_POS = 5, - EVENT_TRIAL_CASE = 6,//ͥ󰸼Ϣ - EVENT_ACS_CASE = 7, //޼ - EVENT_IOT_CASE = 8, //Ƶ¼¼ΪƵ豸Ƶ豸¼Ƶ豸¼ - EVENT_STREAM_INFO = 100 //IDϢ -}MAIN_EVENT_TYPE; - -#define INQUEST_START_INFO 0x1001 /*ѶʿʼϢ*/ -#define INQUEST_STOP_INFO 0x1002 /*ѶֹͣϢ*/ -#define INQUEST_TAG_INFO 0x1003 /*صϢ*/ -#define INQUEST_SEGMENT_INFO 0x1004 /*ѶƬ״̬Ϣ*/ -#define INQUEST_CASE_INFO 0x1005 // Ϣ - -typedef enum _VCA_DETECTION_MINOR_TYPE_ -{ - EVENT_VCA_TRAVERSE_PLANE = 1, //Խ - EVENT_FIELD_DETECTION, // - EVENT_AUDIO_INPUT_ALARM, //Ƶ쳣 - EVENT_SOUND_INTENSITY_ALARM, //ǿͻ - EVENT_FACE_DETECTION, // - EVENT_VIRTUAL_FOCUS_ALARM, //齹 - EVENT_SCENE_CHANGE_ALARM, // - EVENT_PIR_ALARM, //PIR - EVENT_ENTER_REGION, // - EVENT_EXIT_REGION, //Ŀ뿪 - EVENT_LOITERING, //ǻ - EVENT_GROUPDETECTION, //Աۼ,֧ - EVENT_RAPIDMOVE, //ƶ - EVENT_PARK, //ͣ - EVENT_UNATTENDED_BAGGAGE, //Ʒ - EVENT_ATTENDEDBAGGAGE, //Ʒȡ - EVENT_VEHICLE_DETECTION, // - EVENT_ALL = 0xffffffff //ʾȫ -}VCA_DETECTION_MINOR_TYPE; - - - -//ΪͶӦĴͣ 0xffffʾȫ -typedef enum _BEHAVIOR_MINOR_TYPE_ -{ - EVENT_TRAVERSE_PLANE = 0, // Խ - EVENT_ENTER_AREA, //Ŀ,֧ - EVENT_EXIT_AREA, //Ŀ뿪,֧ - EVENT_INTRUSION, // ܽ,֧ - EVENT_LOITER, //ǻ,֧ - EVENT_LEFT_TAKE, //Ʒȡ,֧ - EVENT_PARKING, //ͣ,֧ - EVENT_RUN, //ƶ,֧ - EVENT_HIGH_DENSITY, //Աۼ,֧ - EVENT_STICK_UP, //ֽ,֧ - EVENT_INSTALL_SCANNER, //װ,֧ - EVENT_OPERATE_OVER_TIME, // ʱ - EVENT_FACE_DETECT, // 쳣 - EVENT_LEFT, // Ʒ - EVENT_TAKE, // Ʒȡ - EVENT_LEAVE_POSITION, //¼ - EVENT_TRAIL_INFO = 16, //β - EVENT_HUMAN_ENTER = 18, //Ա - EVENT_FALL_DOWN_INFO = 19, // - EVENT_OBJECT_PASTE =20, // ճ - EVENT_FACE_CAPTURE_INFO = 21, // - EVENT_MULTI_FACES_INFO = 22, // - EVENT_AUDIO_ABNORMAL_INFO = 23, //ǿͻ - EVENT_SUNGLASSES_FACE_INFO = 25, //ī - EVENT_CALLING_FACE_INFO = 26, //绰 - EVENT_VIOLENT_MOTION = 27, //˶ - EVENT_SAFETY_HELMET = 28, //ȫñ - EVENT_PEOPLE_NUM_CHANGE = 29, //仯 - EVENT_GET_UP = 30, // - EVENT_ADV_REACH_HEIGHT = 31, //ʸ - EVENT_STOOD_UP = 32, // - EVENT_PERSON_DENSITY = 33, //ԱܶȣԤ - EVENT_MANUAL_ALARM = 34, //ֶ - EVENT_VIOLATION_HIGH_SPEED = 35, // - EVENT_GSENSOR = 36, // G-Sensor¼١١ת䡢ת䡢ײ - EVENT_SENSOR_IN = 37, // Sensor-InΪɲתת - EVENT_VCA_DBD = 38, //˾ʻΪ - EVENT_VCA_ABS = 39, //߼ʻ - EVENT_TOILET_TARRY = 40 //޳ʱ -}BEHAVIOR_MINOR_TYPE; - -//6ӦĴ -typedef enum _TRIAL_CASE_MINOR_TYPE_ -{ - TRIAL_START_INFO = 0x1001, // ͥʼ¼ - TRIAL_STOP_INFO = 0x1002, //ͥ¼ - TRIAL_TAG_INFO = 0x1003, //ͥصע¼ - TRIAL_SEGMENT_INFO = 0x1004, // ͥƬ״̬Ϣ - TRIAL_JUDGE_CASE_INFO=0x1005 //ͥ󰸼Ϣ -}TRIAL_CASE_MINOR_TYPE; - -// 100ӦС -typedef enum _STREAM_INFO_MINOR_TYPE_ -{ - EVENT_STREAM_ID = 0, // ID - EVENT_TIMING = 1, // ʱ¼ - EVENT_MOTION_DETECT = 2, // ƶ - EVENT_ALARM = 3, // ¼ - EVENT_ALARM_OR_MOTION_DETECT = 4, // ƶ - EVENT_ALARM_AND_MOTION_DETECT = 5, // ƶ - EVENT_COMMAND_TRIGGER = 6, //  - EVENT_MANNUAL = 7, // ֶ¼ - EVENT_BACKUP_VOLUME = 8, // 浵¼ - STREAM_EVENT_SEMAPHORE, //ź - STREAM_EVENT_HIDE, //ڵ - STREAM_EVENT_INVERSE, // - STREAM_EVENT_VIDEO_LOST, //Ƶʧ - STREAM_EVENT_WIRELESS_ALARM, //߱ - STREAM_EVENT_PIR_ALARM, //PIR - STREAM_EVENT_CALLHELP_ALARM, //ȱ - - STREAM_EVENT_FACESNAP, //ץ - STREAM_EVENT_FACE_DETECTION, // - STREAM_EVENT_ITS_PLATE, // - STREAM_EVENT_PDC, //ͳ - STREAM_EVENT_SCENECHANGE_DETECTION, // - STREAM_EVENT_DEFOCUS_DETECTION, //齹 - STREAM_EVENT_AUDIOEXCEPTION, //Ƶ쳣 - - //ΪΪCOMM_ALARM_RULEͣVCA_EVENT_TYPE - VCA_EVENT_TRAVERSE_PLANE, //Խ - VCA_EVENT_INTRUSION, //ܽ - VCA_EVENT_ENTER_AREA, // - VCA_EVENT_EXIT_AREA, //뿪 - VCA_EVENT_LOITER, //ǻ - VCA_EVENT_HIGH_DENSITY, //Աۼ - VCA_EVENT_RUN, //ƶ - VCA_EVENT_PARKING, //Ƿͣ - VCA_EVENT_LEFT, //Ʒ - VCA_EVENT_TAKE, //Ʒȡ -}STREAM_INFO_MINOR_TYPE; - -// typedef enum tagITS_MINOR_TYPE -// { -// ITS_EVENT_CONGESTION = 0, // ӵ -// ITS_EVENT_PARKING, // ͣ -// ITS_EVENT_INVERSE, // -// ITS_EVENT_PEDESTRIAN, // -// ITS_EVENT_DEBRIS // Ƭ -// }ITS_MINOR_TYPE; - - -#define SEARCH_EVENT_INFO_LEN 300 //¼Ϣ -#define CASE_NO_LEN 64 -#define CASE_NAME_LEN 128 -#define LITIGANT_LEN 32 -#define CHIEF_JUDGE_LEN 32 -#define SEARCH_CASE_NO_LEN 56 -#define SEARCH_CASE_NAME_LEN 100 -#define SEARCH_LITIGANT_LEN 32 -#define SEARCH_CHIEF_JUDGE_LEN 32 -#define CASE_NO_RET_LEN 52 -#define CASE_NAME_RET_LEN 64 -#define LITIGANT_RET_LEN 24 -#define CHIEF_JUDGE_RET_LEN 24 -#define NET_SDK_CASETYPE_LEN 32 -//¼ -typedef struct tagNET_DVR_SEARCH_EVENT_PARAM -{ - WORD wMajorType; //0-ƶ⣬1-, 2-¼ - WORD wMinorType; //- ͱ仯0xffffʾȫ - NET_DVR_TIME struStartTime; //Ŀʼʱ䣬ֹͣʱ: ͬʱΪ(0, 0) ʾʱ俪ʼǰ4000¼ - NET_DVR_TIME struEndTime; // - BYTE byLockType; // 0xff-ȫ0-δ1- - BYTE byValue; //0-λʾ1-ֵʾ - BYTE byRes[130]; // - union - { - BYTE byLen[SEARCH_EVENT_INFO_LEN]; - struct// - { - BYTE byAlarmInNo[MAX_ALARMIN_V30]; //ţbyAlarmInNo[0]1ʾɱ1¼ - BYTE byRes[SEARCH_EVENT_INFO_LEN - MAX_ALARMIN_V30]; - }struAlarmParam; - - struct//--ֵ - { - WORD wAlarmInNo[128]; /*ţֵʾ,ý*/ - BYTE byRes[44]; // - }struAlarmParamByValue; - - struct//ƶ - { - BYTE byMotDetChanNo[MAX_CHANNUM_V30];//ƶͨbyMotDetChanNo[0]1ʾͨ1ƶⴥ¼ - BYTE byRes[SEARCH_EVENT_INFO_LEN - MAX_CHANNUM_V30]; - }struMotionParam; - - struct//ƶ--ֵ - { - WORD wMotDetChanNo[64]; /* ƶֵͨʾ ,ý*/ - BYTE byRes[172]; /**/ - }struMotionParamByValue; - - struct//Ϊ - { - BYTE byChanNo[MAX_CHANNUM_V30]; //¼ͨ - BYTE byRuleID; //ID0xffʾȫ - BYTE byRes1[43]; // - }struVcaParam; - - struct //Ϊ--ֵʽ - { - WORD wChanNo[64]; //ΪӦֵͨʾ,ý - BYTE byRuleID; //Ϊͣ0xffʾȫ0ʼ - BYTE byRes[171]; /**/ - }struVcaParamByValue; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,ֵʾ1ʼ - BYTE byRes1[3]; - BYTE sInquestInfo[INQUEST_CASE_LEN]; - BYTE byRes2[232]; // - } struInquestParam; - struct // - { - BYTE byChan [256];//ͨţ±ʾbyChan[0]1ʾͨ1ƶⴥ¼ - }struVCADetectByBit; - - struct// ͨŰֵʾ - { - DWORD dwChanNo[MAX_CHANNUM_V30-1];// ͨ,ֵʾ0xffffffffЧҺҲʾЧֵ - BYTE byAll;//0-ʾȫ1-ʾȫ - BYTE byres[3]; - }struVCADetectByValue; - struct - { - NET_DVR_STREAM_INFO struIDInfo; // idϢ72ֽڳ - DWORD dwCmdType; // ⲿͣNVRƴ洢ʹ - BYTE byBackupVolumeNum; //浵ţCVRʹ - BYTE byRes[223]; - }struStreamIDParam; - struct - { - BYTE byCaseNo[SEARCH_CASE_NO_LEN]; // - BYTE byCaseName[SEARCH_CASE_NAME_LEN]; //ƣ - BYTE byLitigant1[SEARCH_LITIGANT_LEN]; //1 - BYTE byLitigant2[SEARCH_LITIGANT_LEN]; //2 - BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN];//г - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[47]; - }struTrialParam; - }uSeniorParam; -}NET_DVR_SEARCH_EVENT_PARAM, *LPNET_DVR_SEARCH_EVENT_PARAM; - -#define MAX_POS_KEYWORDS_NUM 3 //ֹ֧ؼֲ -#define MAX_POS_KEYWORD_LEN 128 //ÿؼֳ -#define SEARCH_EVENT_INFO_LEN_V40 800 - -//¼ -typedef struct tagNET_DVR_SEARCH_EVENT_PARAM_V40 -{ - WORD wMajorType; //0-ƶ⣬1-, 2-¼ 5-pos¼ 7-޼ - WORD wMinorType; //- ͱ仯0xffffʾȫ - NET_DVR_TIME struStartTime; //Ŀʼʱ䣬ֹͣʱ: ͬʱΪ(0, 0) ʾʱ俪ʼǰ4000¼ - NET_DVR_TIME struEndTime; // - BYTE byLockType; // 0xff-ȫ0-δ1- - BYTE byQuickSearch; // Ƿÿٲѯ0-ã1-ãٲѯ᷵ļС豸ݿвѯƵӲ̣ - BYTE byRes[130]; // - union - { - BYTE byLen[SEARCH_EVENT_INFO_LEN_V40/*800*/]; - struct// - { - /*ţֵʾ,ýУ0xffffʾЧ*/ - WORD wAlarmInNo[128]; - BYTE byRes[544]; // - }struAlarmParam; - - struct//ƶ - { - /* ƶֵͨʾ ,ýУ0xffffʾЧ*/ - WORD wMotDetChanNo[MAX_CHANNUM_V30]; - BYTE byRes[672]; /**/ - }struMotionParam; - - struct //Ϊ - { - //ΪӦֵͨʾ,ýУ0xffffʾЧ - WORD wChanNo[MAX_CHANNUM_V30]; - BYTE byRuleID; //Ϊͣ0xffʾȫ0ʼ - BYTE byDriverBehaviortType; //˾ʻΪͣ0-1-̡2-Ӵ绰3-ƣͼʻ4-ѡ5-ʻԱ쳣6-δϵȫ7-ī - BYTE byADASType; //߼ʻͣ0-1-ǰײ2-ƫ롢3-ä⡢4-⡢5-˷ײ6-١7-١8-ת䡢9-ת䡢10-11-δ - BYTE byGSensorType; // G-Sensor¼0-1-١2-١3-ת䡢4-ת䡢5-6-ײ - BYTE bySensorInType; // Sensor-InΪ0-1-ɲ2-ת3-ת4- - BYTE byRes[667]; /**/ - }struVcaParam; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byRes[799]; // - } struInquestParam; - - struct// ͨŰֵʾ - { - BYTE byAll; //ȫͨ0-񣬴ʱdwChanNoЧ - //1-ȫͨʱdwChanNoЧ - BYTE byRes1[3]; - WORD wChanNo[MAX_CHANNUM_V30];// ͨ,ֵʾ0xffffЧҺҲʾЧֵ - BYTE byRes[668]; - }struVCADetect; - - struct - { - NET_DVR_STREAM_INFO struIDInfo; // idϢ72ֽڳ - DWORD dwCmdType; // ⲿͣNVRƴ洢ʹ - BYTE byBackupVolumeNum; //浵ţCVRʹ - BYTE byRes1[3]; - BYTE byArchiveLabel[64]; //浵ǩCVRʹ - BYTE byRes[656]; - }struStreamIDParam; - - struct //pos¼ - { - WORD wChannel[MAX_CHANNUM_V30]; //ֵͨʾ,У0xffffʱʾֵЧ - BYTE byAllChan; //Ƿȫͨ0-񣬴ʱwChannelЧ1-ȫͨʱwChannelЧ - BYTE byCaseSensitive; //0-ִСд 1-ִСд - BYTE byCombinateMode; //ؼϷʽ0-1- - BYTE byRes1; // - char sKeyWord[MAX_POS_KEYWORDS_NUM][MAX_POS_KEYWORD_LEN]; - //ؼֲʱ - BYTE byRes[284]; // - }struPosAlarm; - - struct - { - BYTE byCaseNo[SEARCH_CASE_NO_LEN]; // - BYTE byCaseName[SEARCH_CASE_NAME_LEN]; // - BYTE byLitigant1[SEARCH_LITIGANT_LEN]; //1 - BYTE byLitigant2[SEARCH_LITIGANT_LEN]; //2 - BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN]; //г - BYTE byCaseType; - BYTE byRes[47]; - }struTrialParam; - - struct //޼ - { - DWORD dwMajor; //ͣ¼ϴһ£0ȫ - DWORD dwMinor; //ͣ¼ϴһ£0ȫ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byName[NAME_LEN/*32*/]; // - BYTE byMACAddr[MACADDR_LEN]; //MACַ - BYTE byRes[722]; - }struACSAlarm; - }uSeniorParam; -}NET_DVR_SEARCH_EVENT_PARAM_V40, *LPNET_DVR_SEARCH_EVENT_PARAM_V40; - -//¼ -typedef struct tagNET_DVR_SEARCH_EVENT_PARAM_V50 -{ - WORD wMajorType; //0-ƶ⣬1-, 2-¼ 5-pos¼ 7-޼, 8-Ƶ¼ - WORD wMinorType; //- ͱ仯0xffffʾȫ - NET_DVR_TIME_SEARCH_COND struStartTime; //Ŀʼʱ䣬ֹͣʱ: ͬʱΪ(0, 0) ʾʱ俪ʼǰ4000¼ - NET_DVR_TIME_SEARCH_COND struEndTime; //Ľʱ - BYTE byLockType; // 0xff-ȫ0-δ1- - BYTE byQuickSearch; // Ƿÿٲѯ0-ã1-ãٲѯ᷵ļС豸ݿвѯƵӲ̣ - BYTE byRes[254]; // - union - { - BYTE byLen[SEARCH_EVENT_INFO_LEN_V40/*800*/]; - struct// - { - /*ţֵʾ,ýУ0xffffʾЧ*/ - WORD wAlarmInNo[128]; - BYTE byRes[544]; // - }struAlarmParam; - - struct//ƶ - { - /* ƶֵͨʾ ,ýУ0xffffʾЧ*/ - WORD wMotDetChanNo[MAX_CHANNUM_V30]; - BYTE byRes[672]; /**/ - }struMotionParam; - - struct //Ϊ - { - //ΪӦֵͨʾ,ýУ0xffffʾЧ - WORD wChanNo[MAX_CHANNUM_V30]; - BYTE byRuleID; //Ϊͣ0xffʾȫ0ʼ - BYTE byDriverBehaviortType; //˾ʻΪͣ0-1-̡2-Ӵ绰3-ƣͼʻ4-ѡ5-ʻԱ쳣6-δϵȫ7-ī - BYTE byADASType; //߼ʻͣ0-1-ǰײ2-ƫ롢3-ä⡢4-⡢5-˷ײ6-١7-١8-ת䡢9-ת䡢10-11-δ - BYTE byGSensorType; // G-Sensor¼0-1-١2-١3-ת䡢4-ת䡢5-6-ײ - BYTE bySensorInType; // Sensor-InΪ0-1-ɲ2-ת3-ת4- - BYTE byRes[667]; /**/ - }struVcaParam; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byRes[799]; // - } struInquestParam; - - struct// ͨŰֵʾ - { - BYTE byAll; //ȫͨ0-񣬴ʱdwChanNoЧ - //1-ȫͨʱdwChanNoЧ - BYTE byRes1[3]; - WORD wChanNo[MAX_CHANNUM_V30];// ͨ,ֵʾ0xffffЧҺҲʾЧֵ - BYTE byRes[668]; - }struVCADetect; - - struct - { - NET_DVR_STREAM_INFO struIDInfo; // idϢ72ֽڳ - DWORD dwCmdType; // ⲿͣNVRƴ洢ʹ - BYTE byBackupVolumeNum; //浵ţCVRʹ - BYTE byRes1[3]; - BYTE byArchiveLabel[64]; //浵ǩCVRʹ - BYTE byRes[656]; - }struStreamIDParam; - - struct //pos¼ - { - WORD wChannel[MAX_CHANNUM_V30]; //ֵͨʾ,У0xffffʱʾֵЧ - BYTE byAllChan; //Ƿȫͨ0-񣬴ʱwChannelЧ1-ȫͨʱwChannelЧ - BYTE byCaseSensitive; //0-ִСд 1-ִСд - BYTE byCombinateMode; //ؼϷʽ0-1- - BYTE byRes1; // - char sKeyWord[MAX_POS_KEYWORDS_NUM][MAX_POS_KEYWORD_LEN]; - //ؼֲʱ - BYTE byRes[284]; // - }struPosAlarm; - - struct - { - BYTE byCaseNo[SEARCH_CASE_NO_LEN]; - BYTE byCaseName[SEARCH_CASE_NAME_LEN]; - BYTE byLitigant1[SEARCH_LITIGANT_LEN]; - BYTE byLitigant2[SEARCH_LITIGANT_LEN]; - BYTE byChiefJudge[SEARCH_CHIEF_JUDGE_LEN]; - BYTE byCaseType; - BYTE byRes[547]; - }struTrialParam; - - struct //޼ - { - DWORD dwMajor; //ͣ¼ϴһ£0ȫ - DWORD dwMinor; //ͣ¼ϴһ£0ȫ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byName[NAME_LEN/*32*/]; // - BYTE byMACAddr[MACADDR_LEN]; //MACַ - BYTE byRes[722]; - }struACSAlarm; - struct //Ƶ¼ - { - WORD wDeviceType; //豸,0-˽Ž1-˽пӶԽ豸, 2-˽бԤ 3-GJD 4-Luminite, 5-OPTEX,6-cameraDetectorģ豸 - WORD wEventType; //- ͱ仯0xffffʾȫ - WORD wChannel[MAX_CHANNUM_V30/*64*/]; //ͨţֵʾ,У0xffffʱʾֵЧ - BYTE byAllChan; //Ƿȫͨ0-񣬴ʱwChannelЧ1-ȫͨʱwChannelЧ - BYTE byCaseSensitive; //0-ִСд 1-ִСд - BYTE byCombinateMode; //ؼϷʽ0-1- - BYTE bySearchType; //ʽ0-ƵԴʱͨΪƵͨţ - char sKeyWord[MAX_POS_KEYWORDS_NUM/*3*/][MAX_POS_KEYWORD_LEN/*128*/];//ؼֲʱ - WORD wZoneNo; //ţ豸Ϊ˽бΪwEventTypeΪ1ʱЧ - BYTE byRes[278]; // - }struIOTAlarm; - }uSeniorParam; -}NET_DVR_SEARCH_EVENT_PARAM_V50, *LPNET_DVR_SEARCH_EVENT_PARAM_V50; - - -//ҷؽ -typedef struct tagNET_DVR_SEARCH_EVENT_RET -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ䣬¼ʱͿʼʱһ - BYTE byChan[MAX_CHANNUM_V30]; - BYTE byChanEx[32]; //ͨλʾʹøֶκbyChanԲʹ - BYTE byRes[4]; - union - { - struct// - { - DWORD dwAlarmInNo; // - BYTE byRes[SEARCH_EVENT_INFO_LEN]; - }struAlarmRet; - struct//ƶ - { - DWORD dwMotDetNo; //ƶͨ - BYTE byRes[SEARCH_EVENT_INFO_LEN]; - }struMotionRet; - struct//Ϊ - { - DWORD dwChanNo; //¼ͨ - BYTE byRuleID; //ID - BYTE byRes1[3]; // - BYTE byRuleName[NAME_LEN]; // - NET_VCA_EVENT_UNION uEvent; //Ϊ¼ - }struVcaRet; - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - BYTE byRes1[6]; // - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - WORD wSegmentState; //Ƭ״̬ 0 ¼1 ¼쳣2 ¼Ѷ - BYTE byRes2[288]; // - }struInquestRet; - struct //id¼ѯ - { - DWORD dwRecordType; /*¼ 0-ʱ¼,1-ƶ,2-,3-|ƶ, 4-&ƶ,5-,6-ֶ¼,7-𶯱,8-, - 9-ܱ,10-PIR,11-߱,12-ȱ,13- PIR|߱|ȱ, 14-ܽͨ¼,15-Խ,16-,17-쳣, - 18-, 19-ȫܣԽ|||뿪|ʶ, 20-ź,21-ش22-Ǩ¼,23-ڵ 24-¼ƴӴ浵*/ - DWORD dwRecordLength; //¼С - BYTE byLockFlag; // ־ 0û 1 - BYTE byDrawFrameType; // 0dz֡¼ 1֡¼ - BYTE byRes1[2]; - BYTE byFileName[NAME_LEN]; //ļ - DWORD dwFileIndex; // 浵ϵļ - BYTE byRes[256]; - }struStreamIDRet; - struct - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE bySegmentState; //Ƭ״̬0-¼1-¼쳣2-¼Ѷ - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[2]; - BYTE byCaseNo[CASE_NO_RET_LEN]; // - BYTE byCaseName[CASE_NAME_RET_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_RET_LEN]; //1 - BYTE byLitigant2[LITIGANT_RET_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN];//г - BYTE byRes1[104]; - }struTrialRet; - }uSeniorRet; -}NET_DVR_SEARCH_EVENT_RET, *LPNET_DVR_SEARCH_EVENT_RET; - -#define NET_SDK_MAX_TAPE_INDEX_LEN 32 //Ŵ󳤶 -#define NET_SDK_MAX_FILE_LEN 256 //ļ󳤶 - -//ҷؽ -typedef struct tagNET_DVR_SEARCH_EVENT_RET_V40 -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ䣬¼ʱͿʼʱһ - WORD wChan[MAX_CHANNUM_V40/*512*/]; //ͨţ0xffffʾЧ - BYTE byRes[36]; - union - { - BYTE byLen[800]; //峤 - struct// - { - DWORD dwAlarmInNo; // - BYTE byRes[796]; - }struAlarmRet; - struct//ƶ - { - DWORD dwMotDetNo; //ƶͨ - BYTE byRes[796]; - }struMotionRet; - struct//Ϊ - { - DWORD dwChanNo; //¼ͨ - BYTE byRuleID; //ID - BYTE byRes1[3]; // - BYTE byRuleName[NAME_LEN]; // - NET_VCA_EVENT_UNION uEvent; //Ϊ¼ - BYTE byRes[668]; // - }struVcaRet; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - BYTE byRes1[6]; // - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - WORD wSegmentState; //Ƭ״̬ 0 ¼1 ¼쳣2 ¼Ѷ - BYTE byRes2[784]; // - }struInquestRet; - - struct //id¼ѯ - { - DWORD dwRecordType; //¼ 0-ʱ¼ 1-ƶ 2-¼ 3-|ƶ 4-&ƶ 5- 6-ֶ¼ 7-𶯱 8- 9-ܱ 10-ش¼ - DWORD dwRecordLength; //¼С - BYTE byLockFlag; // ־ 0û 1 - BYTE byDrawFrameType; // 0dz֡¼ 1֡¼ - BYTE byPosition;// ļڴ洢λã0-ϣ1-λϣֱأ2-ŴڣҪѴлλϣ3-ڴŴУҪѴ̲嵽Ŵ - BYTE byRes1; - BYTE byFileName[NAME_LEN]; //ļ - DWORD dwFileIndex; // 浵ϵļ - BYTE byTapeIndex[NET_SDK_MAX_TAPE_INDEX_LEN]; //ļڴŴ - BYTE byFileNameEx[NET_SDK_MAX_FILE_LEN/*256*/]; //ļչ - BYTE byRes[464]; - }struStreamIDRet; - - struct//POS¼ѯ - { - DWORD dwChanNo; //pos¼ͨ - BYTE byRes[796]; - }struPosRet; - - struct - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE bySegmentState; //Ƭ״̬0-¼1-¼쳣2-¼Ѷ - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[2]; - BYTE byCaseNo[CASE_NO_RET_LEN]; // - BYTE byCaseName[CASE_NAME_RET_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_RET_LEN]; //1 - BYTE byLitigant2[LITIGANT_RET_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN];//г - BYTE byRes1[600]; - }struTrialRet; - }uSeniorRet; -}NET_DVR_SEARCH_EVENT_RET_V40, *LPNET_DVR_SEARCH_EVENT_RET_V40; - -//ҷؽ -typedef struct tagNET_DVR_SEARCH_EVENT_RET_V50 -{ - WORD wMajorType; // - WORD wMinorType; // - NET_DVR_TIME_SEARCH struStartTime; //¼ʼʱ - NET_DVR_TIME_SEARCH struEndTime; //¼ֹͣʱ䣬¼ʱͿʼʱһ - NET_DVR_ADDRESS struAddr; //ƬڵĵַϢȺطʱõ - WORD wChan[MAX_CHANNUM_V40/*512*/]; //ͨţ0xffffʾЧ - BYTE byRes[256]; - union - { - BYTE byLen[800]; //峤 - struct// - { - DWORD dwAlarmInNo; // - BYTE byRes[796]; - }struAlarmRet; - struct//ƶ - { - DWORD dwMotDetNo; //ƶͨ - BYTE byRes[796]; - }struMotionRet; - struct//Ϊ - { - DWORD dwChanNo; //¼ͨ - BYTE byRuleID; //ID - BYTE byRes1[3]; // - BYTE byRuleName[NAME_LEN]; // - NET_VCA_EVENT_UNION uEvent; //Ϊ¼ - BYTE byRes[668]; // - }struVcaRet; - - struct//Ѷ¼ - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - BYTE byRes1[6]; // - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - WORD wSegmentState; //Ƭ״̬ 0 ¼1 ¼쳣2 ¼Ѷ - BYTE byRes2[784]; // - }struInquestRet; - - struct //id¼ѯ - { - DWORD dwRecordType; //¼ 0-ʱ¼ 1-ƶ 2-¼ 3-|ƶ 4-&ƶ 5- 6-ֶ¼ 7-𶯱 8- 9-ܱ 10-ش¼ - DWORD dwRecordLength; //¼С - BYTE byLockFlag; // ־ 0û 1 - BYTE byDrawFrameType; // 0dz֡¼ 1֡¼ - BYTE byPosition;// ļڴ洢λã0-ϣ1-λϣֱأ2-ŴڣҪѴлλϣ3-ڴŴУҪѴ̲嵽Ŵ - BYTE byRes1; - BYTE byFileName[NAME_LEN]; //ļ - DWORD dwFileIndex; // 浵ϵļ - BYTE byTapeIndex[NET_SDK_MAX_TAPE_INDEX_LEN]; //ļڴŴ - BYTE byFileNameEx[NET_SDK_MAX_FILE_LEN/*256*/]; //ļչ - BYTE byRes[464]; - }struStreamIDRet; - - struct//POS¼ѯ - { - DWORD dwChanNo; //pos¼ͨ - BYTE byRes[796]; - }struPosRet; - - struct - { - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE bySegmentState; //Ƭ״̬0-¼1-¼쳣2-¼Ѷ - BYTE byCaseType; //ͣ0-ȫ1-°2-° - BYTE byRes[2]; - BYTE byCaseNo[CASE_NO_RET_LEN]; // - BYTE byCaseName[CASE_NAME_RET_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_RET_LEN]; //1 - BYTE byLitigant2[LITIGANT_RET_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_RET_LEN];//г - BYTE byRes1[600]; - }struTrialRet; - struct//Ƶͨѯ - { - DWORD dwChanNo; //¼ͨţ¼Դͨ - BYTE byRes[796]; - }struIOTRet; - }uSeniorRet; -}NET_DVR_SEARCH_EVENT_RET_V50, *LPNET_DVR_SEARCH_EVENT_RET_V50; - -//SDK_V35 2009-10-26 - -// 궨 -typedef enum tagCALIBRATE_TYPE -{ - PDC_CALIBRATE = 0x01, // PDC 궨 - BEHAVIOR_OUT_CALIBRATE = 0x02, //Ϊⳡ궨 - BEHAVIOR_IN_CALIBRATE = 0x03, // Ϊڳ궨 - ITS_CALBIRETE = 0x04, // ͨ¼궨 - BV_DIRECT_CALIBRATE = 0x05, //˫Ŀֱӱ궨 - PDC_LINE_CALIBRATE = 0x06 //PDC 궨 -}CALIBRATE_TYPE; - -#define MAX_RECT_NUM 6 -typedef struct tagNET_DVR_RECT_LIST -{ - BYTE byRectNum; // οĸ - BYTE byRes1[11]; //ֽ - NET_VCA_RECT struVcaRect[MAX_RECT_NUM]; // Ϊ6Rect -}NET_DVR_RECT_LIST, *LPNET_DVR_RECT_LIST; - -// PDC 궨 -typedef struct tagNET_DVR_PDC_CALIBRATION -{ - NET_DVR_RECT_LIST struRectList; // 궨οб - BYTE byRes[120]; // ֽ -}NET_DVR_PDC_CALIBRATION, *LPNET_DVR_PDC_CALIBRATION; - - -// 궨ߵʾǰ궨ʵʱʾǸ߶߻dzߡ -typedef enum tagLINE_MODE -{ - HEIGHT_LINE, //߶ - LENGTH_LINE // -}LINE_MODE; -/* -ñ궨ϢʱӦλʹܣز -ûʹܣ궨Իȡص -*/ -typedef struct tagNET_DVR_CAMERA_PARAM -{ - BYTE byEnableHeight; // Ƿʹ߶ - BYTE byEnableAngle; // ǷʹǶ - BYTE byEnableHorizon; // Ƿʹƽ - BYTE byRes[5]; // ֽ - float fCameraHeight; // ߶ - float fCameraAngle; // Ƕ - float fHorizon; // еĵƽ -}NET_DVR_CAMERA_PARAM, *LPNET_DVR_CAMERA_PARAM; -/* -fValueʾĿ߶ȵʱstruStartPointstruEndPointֱʾĿͷͽŲ㡣 -fValueʾ߶γȵʱstruStartPointstruEndPointֱʾ߶ʼյ㣬 -modeʾǰ߱ʾ߶߻dzߡ -*/ -typedef struct tagNET_DVR_LINE_SEGMENT -{ - BYTE byLineMode; // LINE_MODE - BYTE byRes[3]; // ֽ - NET_VCA_POINT struStartPoint; - NET_VCA_POINT struEndPoint; - float fValue; -}NET_DVR_LINE_SEGMENT, *LPNET_DVR_LINE_SEGMENT; - -#define MAX_LINE_SEG_NUM 8 - -/* -궨ĿǰҪ4-8ߣԻȡز -*/ -typedef struct tagNET_DVR_BEHAVIOR_OUT_CALIBRATION -{ - DWORD dwLineSegNum; // ߸ - NET_DVR_LINE_SEGMENT struLineSegment[MAX_LINE_SEG_NUM]; // - NET_DVR_CAMERA_PARAM struCameraParam; // - BYTE byRes[20]; -}NET_DVR_BEHAVIOR_OUT_CALIBRATION, *LPNET_DVR_BEHAVIOR_OUT_CALIBRATION; - -/* -ýṹʾIASܿ궨 -аһĿһӦĸ߶ȱ궨ߣ -ĿΪվӾο򣻸߶ʶͷ㵽ŵı궨ߣ -ùһʾ -*/ -typedef struct tagNET_DVR_IN_CAL_SAMPLE -{ - NET_VCA_RECT struVcaRect; // Ŀ - NET_DVR_LINE_SEGMENT struLineSegment; // ߶ȱ궨 -}NET_DVR_IN_CAL_SAMPLE, *LPNET_DVR_IN_CAL_SAMPLE; - -#define MAX_SAMPLE_NUM 5 //ֱӱ궨 -#define MAX_SAMPLE_NUM_EX 7 //궨չ - -typedef struct tagNET_DVR_BEHAVIOR_IN_CALIBRATION -{ - DWORD dwCalSampleNum; // 궨 - NET_DVR_IN_CAL_SAMPLE struCalSample[MAX_SAMPLE_NUM]; // 궨 - NET_DVR_CAMERA_PARAM struCameraParam; // - BYTE byRes[16]; -}NET_DVR_BEHAVIOR_IN_CALIBRATION, *LPNET_DVR_BEHAVIOR_IN_CALIBRATION; - -#define CALIB_PT_NUM 4 -typedef struct tagNET_DVR_ITS_CALIBRATION -{ - DWORD dwPointNum; //궨 - NET_VCA_POINT struPoint[CALIB_PT_NUM]; //ͼ - float fWidth; - float fHeight; - BYTE byRes1[100]; // ֽ -}NET_DVR_ITS_CALIBRATION, *LPNET_DVR_ITS_CALIBRATION; - -typedef struct tagNET_DVR_BV_DIRECT_CALIBRATION -{ - DWORD dwCameraHeight; //߶ȣλcm - float fPitchAngle; //ӽǶ[0, 60], - float fInclineAngle; //бǶ[-20,20] - BYTE byRes1[228]; // -}NET_DVR_BV_DIRECT_CALIBRATION,*LPNET_DVR_BV_DIRECT_CALIBRATION; - -// PDC 궨 -typedef struct tagNET_DVR_PDC_LINE_CALIBRATION -{ - NET_VCA_LINE struCalibrationLine; - BYTE byRes[224];// ֽ -} NET_DVR_PDC_LINE_CALIBRATION, *LPNET_DVR_PDC_LINE_CALIBRATION; - -// 궨 -// ر궨Էڸýṹ -typedef union tagNET_DVR_CALIBRATION_PRARM_UNION -{ - BYTE byRes[240]; //ṹС - NET_DVR_PDC_CALIBRATION struPDCCalibration; //PDC 궨 - NET_DVR_BEHAVIOR_OUT_CALIBRATION struBehaviorOutCalibration; // Ϊⳡ궨 ҪӦIVS - NET_DVR_BEHAVIOR_IN_CALIBRATION struBehaviorInCalibration; // Ϊڳ궨ҪӦIAS - NET_DVR_ITS_CALIBRATION struITSCalibration; - NET_DVR_BV_DIRECT_CALIBRATION struBvDirectCalibration; //˫Ŀֱӱ궨 - NET_DVR_PDC_LINE_CALIBRATION struPDCLineCalibration; //PDC ߱궨 -}NET_DVR_CALIBRATION_PRARM_UNION, *LPNET_DVR_CALIBRATION_PRARM_UNION; - - -// 궨ýṹ -typedef struct tagNET_DVR_CALIBRATION_CFG -{ - DWORD dwSize; //궨ṹС - BYTE byEnable; // Ƿñ궨 - BYTE byCalibrationType; // 궨 ݲͬѡͬı궨 οCALIBRATE_TYPE - BYTE byRes1[2]; - NET_DVR_CALIBRATION_PRARM_UNION uCalibrateParam; // 궨 - BYTE byRes2[12]; -}NET_DVR_CALIBRATION_CFG, *LPNET_DVR_CALIBRATION_CFG; - -//ͳƷṹ -typedef struct tagNET_DVR_PDC_ENTER_DIRECTION -{ - NET_VCA_POINT struStartPoint; //ͳƷʼ - NET_VCA_POINT struEndPoint; // ͳƷ -}NET_DVR_PDC_ENTER_DIRECTION, *LPNET_DVR_PDC_ENTER_DIRECTION; - -typedef struct tagNET_DVR_PDC_RULE_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; // Ƿ񼤻; - BYTE byRes1[23]; // ֽ - NET_VCA_POLYGON struPolygon; // - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 -} NET_DVR_PDC_RULE_CFG, *LPNET_DVR_PDC_RULE_CFG; - -typedef struct tagNET_DVR_PDC_RULE_CFG_V41 -{ - DWORD dwSize; //ṹС - BYTE byEnable; // Ƿ񼤻; - BYTE byRes1[23]; // ֽ - NET_VCA_POLYGON struPolygon; // - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_TIME_EX struDayStartTime; //쿪ʼʱ䣬ʱЧ - NET_DVR_TIME_EX struNightStartTime; //ҹʼʱ䣬ʱЧ - BYTE byRes[100]; // ֽ -}NET_DVR_PDC_RULE_CFG_V41, *LPNET_DVR_PDC_RULE_CFG_V41; - -/********* IPC5.1.7 ͳƹ Begin 2014-03-21***********/ -//ṹ -typedef struct tagNET_DVR_PDC_RULE_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - DWORD dwID; //IDೡϰ汾SDK豸ʱֽΪ0ֽΪ0ʱҲĬΪ1 - BYTE byRes[60]; -}NET_DVR_PDC_RULE_COND, *LPNET_DVR_PDC_RULE_COND; - -//߽ṹ -typedef struct tagNET_VCA_POLYLINE -{ - NET_VCA_POINT struPoint[4]; //ߵ -}NET_VCA_POLYLINE, *LPNET_VCA_POLYLINE; - -//ýṹ -typedef struct tagNET_DVR_PDC_RULE_CFG_V42 -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿ񼤻; - BYTE byOSDEnable;//ͳOSDʾǷ, 0-0-ޣ1-ǣ0-뿪 2-룬 3-뿪 豸IJOSDӶӦޣöӦ/뿪4-5-; - BYTE byCurDetectType;//ǰͣ0-Σ1-, 2-߼ - BYTE byInterferenceSuppression; //ƣλʾ,0-δѡ,1-ѡbit0-Ӱbit1-ǻbit2-Ƴ - NET_VCA_POINT struOSDPoint;//ͳʾOSDʾϽ - //ϴڣ0-151-12-53-104-205-306-60λ - BYTE byDataUploadCycle; - //ÿϴʹܣ0-رգ1- - BYTE bySECUploadEnable; - BYTE byEmailDayReport;//ձʹ 0-رգ1- - BYTE byEmailWeekReport;//ܱʹ 0-رգ1- - BYTE byEmailMonthReport;//±ʹ0-رգ1- - BYTE byEmailYearReport;//걨ʹ0-رգ1- - BYTE byRes2[6];// ֽ - NET_VCA_POLYGON struPolygon; // - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_TIME_EX struDayStartTime; //쿪ʼʱ䣬ʱЧ - NET_DVR_TIME_EX struNightStartTime; //ҹʼʱ䣬ʱЧ - NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*ʽ ֧ϴ*/ - BYTE byDetecteSensitivity;//ĿȣΧ1-100Ĭ50 - BYTE byGenerateSpeedSpace;//Ŀٶȣ򣩣Χ1-100Ĭ50 - BYTE byGenerateSpeedTime;// Ŀٶȣʱ򣩣Χ1-100Ĭ50 - BYTE byCountSpeed;// ٶȣΧ1-100Ĭ50 - BYTE byDetecteType;// Ŀͣ0-Զ1-ͷ2-ͷ磬Ĭ0-ԶԶģʽDSP㷨IJø㷨 - BYTE byTargetSizeCorrect;//ĿߴΧ1-100Ĭ50 - BYTE byStreamOverlayRuleInfos;//Ϣ 0-1- - BYTE byRes3;// ֽ - NET_VCA_LINE struLine;// - BYTE byHeightFilterEnable;//߶ȹǷ0-1-رգ2- - BYTE byDetectThreshold;//ֵ,Χ[0,100],Ĭ 90(ڲʹãݲ)趨㷨бĿŶֵŶȵڸֵĿ꣬ڸټ - BYTE byAidedTrackEnabled;//ٿأ0~1~رգĬϿ(ڲʹ) ڿ͹ر㷨ģеĹ٣ٿԱӾ׼ȡ - BYTE byRes4; - float fHeightFilter;//˸߶ȣλףĬֵ120ףΧ40-200סbyHeightFilterEnableΪ2DzЧ - BYTE byCalibrateType;//궨ͣ0-δб궨1-Զ궨2-ֶ궨 - BYTE byCountingType;//ʽ 0-,1-봥,2-Ƶ - BYTE bySignalType;//ź 0-ƽ1- - BYTE byRS485TransmissionEnabled;//485 0-رգ1- - float fTiltAngle;//,λȣĬֵ0ǷΧ0-180,ֻ - float fHeelAngle;//б,λȣбĬֵ0бǷΧ-90-90,ֻ - float fHeight;//߶ȣ߶ȵλף߶Ĭֵ300ף߶ȷΧ200-500,byCalibrateTypeΪ2ʱЧʱֻ - NET_VCA_POLYGON struCountPolygon;//򣺸òĬΪֻԣͨзڵ㣬ò֧á - NET_VCA_POLYGON struAutoCalibPolygon;//궨򣬵byCalibrateTypeΪ1ʱЧ - NET_DVR_TIME_EX struDailyResetTime; //ʱ - NET_VCA_POLYLINE struPolyLine;//߼ߺstruLineʾ - BYTE byRes[4]; //ֽ -}NET_DVR_PDC_RULE_CFG_V42, *LPNET_DVR_PDC_RULE_CFG_V42; -/********* IPC5.1.7 ͳƹ End 2014-03-21***********/ - -//ðϢṹ -typedef struct tagNET_DVR_TRIAL_VERSION_CFG -{ - DWORD dwSize; - WORD wReserveTime; //ʣʱ䣬0xffffʾЧλ - BYTE byRes[62]; -}NET_DVR_TRIAL_VERSION_CFG, *LPNET_DVR_TRIAL_VERSION_CFG; - -typedef struct tagNET_DVR_SYN_CHANNEL_NAME_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_SYN_CHANNEL_NAME_PARAM, *LPNET_DVR_SYN_CHANNEL_NAME_PARAM; - -typedef struct tagNET_DVR_RESET_COUNTER_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byMode; //Чģʽ0-ʱ1-ֶ - BYTE byRes1[2]; - NET_DVR_TIME_EX struTime[MAX_DAYS];//ʱ䣬ʱЧ - BYTE byRes[64]; -}NET_DVR_RESET_COUNTER_CFG, *LPNET_DVR_RESET_COUNTER_CFG; - -typedef struct tagNET_DVR_VCA_CTRLINFO_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - BYTE byRes[64]; -}NET_DVR_VCA_CTRLINFO_COND, *LPNET_DVR_VCA_CTRLINFO_COND; - -#define NET_SDK_MAX_RELATED_CHAN_NUM 4 //ͨ - -typedef struct tagNET_DVR_VCA_CTRLINFO_CFG -{ - DWORD dwSize; - BYTE byVCAEnable; //Ƿ - BYTE byVCAType; //ͣVCA_CHAN_ABILITY_TYPE - BYTE byStreamWithVCA; //ǷϢ - BYTE byMode; //ģʽATM ʱVCA_CHAN_MODE_TYPE ,TFS ʱ TFS_CHAN_MODE_TYPEΪʱBEHAVIOR_SCENE_MODE_TYPE - BYTE byControlType; //ͣλʾ0-1- - //byControlType &1 ǷץĹ - //byControlType &2 Ƿǰ豸 - BYTE byRes1[3]; - WORD wRelatedChannel[NET_SDK_MAX_RELATED_CHAN_NUM/*4*/];/*ͨţ0-ǰATM豸ʹãͨģʽΪATMʱԹһ·ATMͨ*/ - BYTE byRes[72]; //Ϊ0 -}NET_DVR_VCA_CTRLINFO_CFG, *LPNET_DVR_VCA_CTRLINFO_CFG; - -//ͳƲ Ϊڲؼֲ -// HUMAN_GENERATE_RATE -// ĿٶȲPDCĿٶȡٶԽ죬ĿԽɡƵϲԱȶȽϵʱõĹСʱӦӿĿٶȣ Ŀ©죻ƵжԱȶȽϸʱ߹ϴʱӦýĿٶȣԼ졣ĿٶȲ51ٶ5죬ĬϲΪ3 -// -// DETECT_SENSITIVE -// ĿȿƲPDCһ򱻼ΪĿȡԽߣԽױΪĿ꣬ԽԽѼΪĿꡣƵϲԱȶȽϵʱӦ߼ȣ Ŀ©죻ƵжԱȶȽϸʱӦýͼȣԼ졣Ӧ51ͣ5ߣĬϼΪ3 -// TRAJECTORY_LEN -// 켣ɳȿƲʾɹ켣ʱҪĿλءӦ51ɳ켣5ɳ̣켣죬ĬϼΪ3 -// TRAJECT_CNT_LEN -// 켣ȿƲʾ켣ʱҪĿλءӦ51Ҫ󳤶켣5Ҫ󳤶̣켣죬ĬϼΪ3 -// PREPROCESS -// ͼԤƲ0 - 1 - ĬΪ0 -// CAMERA_ANGLE -// Ƕ 0 - б 1 - ֱĬΪ0 -typedef enum tagPDC_PARAM_KEY -{ - HUMAN_GENERATE_RATE = 50, // Ŀٶ 50ʼ - DETECT_SENSITIVE = 51, // -}PDC_PARAM_KEY; - -typedef struct tagNET_DVR_PDC_TARGET_INFO -{ - DWORD dwTargetID; // Ŀid - NET_VCA_RECT struTargetRect; // Ŀ - BYTE byRes1[8]; // ֽ -}NET_DVR_PDC_TARGET_INFO, *LPNET_DVR_PDC_TARGET_INFO; - -typedef struct tagNET_DVR_PDC_TARGET_IN_FRAME -{ - BYTE byTargetNum; //Ŀ - BYTE byRes1[3]; - NET_DVR_PDC_TARGET_INFO struTargetInfo[MAX_TARGET_NUM]; //ĿϢ - BYTE byRes2[8]; // ֽ -}NET_DVR_PDC_TARGET_IN_FRAME, *LPNET_DVR_PDC_TARGET_IN_FRAME; - -typedef struct tagNET_DVR_PDC_ALRAM_INFO -{ - DWORD dwSize; // PDCϴṹС - BYTE byMode; // 0 ֡ͳƽ 1Сʱͳƽ 2 źڡͳʼʱ䡱&&ͳƽʱ䡱 - BYTE byChannel; // ϴͨ - /********* IPC5.1.7 Begin 2014-03-21***********/ - BYTE bySmart; //רҵܷ0Smart 1 - BYTE byRes1; // ֽ - /********* IPC5.1.7 End 2014-03-21***********/ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - union - { - struct // ֡ͳƽʱʹ - { - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[89]; - }struStatFrame; - struct - { - NET_DVR_TIME tmStart; // ͳʼʱ - NET_DVR_TIME tmEnd; // ͳƽʱ - BYTE byTimeDifferenceFlag; /*0-ĬΪcStartTimeDifferenceH,ʱϢЧ1-ʱϢЧ*/ - char cStartTimeDifferenceH; /*ʼʱUTCʱСʱ-12 ... +14+ʾ*/ - char cStartTimeDifferenceM; /*ʼʱUTCʱӣ-30, 30, 45+ʾ*/ - char cStopTimeDifferenceH; /*ʱUTCʱСʱ-12 ... +14+ʾ*/ - char cStopTimeDifferenceM; /*ʱUTCʱӣ-30, 30, 45+ʾ*/ - BYTE byRes[87]; - }struStatTime; - }uStatModeParam; // Ϊһ ֡ʱ֡ĿϢ СʱͳƽҪͳʱ - DWORD dwLeaveNum; // 뿪 - DWORD dwEnterNum; // - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byRes3; - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - DWORD dwPassingNum; // ǻûд롢뿪 - DWORD dwChildLeaveNum; // С뿪 - DWORD dwChildEnterNum; // С - DWORD dwDuplicatePeople; // ظ - DWORD dwXmlLen;//XML͸ݳ, EventNotificationAlert XML Blockݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block -#else - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byRes4[4]; -#endif - BYTE byRes2[8]; // ֽ -}NET_DVR_PDC_ALRAM_INFO, *LPNET_DVR_PDC_ALRAM_INFO; - - -// Ϣѯ -typedef struct tagNET_DVR_PDC_QUERY -{ - NET_DVR_TIME tmStart; - NET_DVR_TIME tmEnd; - DWORD dwLeaveNum; - DWORD dwEnterNum; - BYTE byRes1[256]; -}NET_DVR_PDC_QUERY, *LPNET_DVR_PDC_QUERY; - -typedef struct tagNET_DVR_POSITION_RULE_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_PTZ_POSITION struPtzPosition; // λϢ - NET_VCA_RULECFG struVcaRuleCfg; //Ϊ - BYTE byRes2[80]; // ֽ -}NET_DVR_POSITION_RULE_CFG, *LPNET_DVR_POSITION_RULE_CFG; - -typedef struct tagNET_DVR_POSITION_RULE_CFG_V41 -{ - DWORD dwSize; // ṹС - NET_DVR_PTZ_POSITION struPtzPosition; // λϢ - NET_VCA_RULECFG_V41 struVcaRuleCfg; //Ϊ - BYTE byTrackEnable; //Ƿø - BYTE byRes1; - WORD wTrackDuration; //ٳʱ䣬λs - BYTE byRes2[76]; // ֽ -}NET_DVR_POSITION_RULE_CFG_V41, *LPNET_DVR_POSITION_RULE_CFG_V41; - - -typedef struct tagNET_DVR_LIMIT_ANGLE -{ - BYTE byEnable; // Ƿóλ - BYTE byRes1[3]; - NET_DVR_PTZPOS struUp; // λ - NET_DVR_PTZPOS struDown; // λ - NET_DVR_PTZPOS struLeft; // λ - NET_DVR_PTZPOS struRight; // λ - BYTE byRes2[20]; -}NET_DVR_LIMIT_ANGLE, *LPNET_DVR_LIMIT_ANGLE; - -typedef struct tagNET_DVR_POSITION_INDEX -{ - BYTE byIndex; // - BYTE byRes1; - WORD wDwell; // ͣʱ - BYTE byRes2[4]; // ֽ -}NET_DVR_POSITION_INDEX, *LPNET_DVR_POSITION_INDEX; - -#define MAX_POSITION_NUM 10 -typedef struct tagNET_DVR_POSITION_TRACK_CFG -{ - DWORD dwSize; - BYTE byNum; // - BYTE byRes1[3]; - NET_DVR_POSITION_INDEX struPositionIndex[MAX_POSITION_NUM]; - BYTE byRes2[8]; -}NET_DVR_POSITION_TRACK_CFG, *LPNET_DVR_POSITION_TRACK_CFG; - -//Ѳ·Ϣ -typedef struct tagNET_DVR_PATROL_SCENE_INFO -{ - WORD wDwell; // ͣʱ 30-300 - BYTE byPositionID; // 1-10Ĭ0ʾѲ㲻ӳ - BYTE byRes[5]; -}NET_DVR_PATROL_SCENE_INFO, *LPNET_DVR_PATROL_SCENE_INFO; - -// ѲϢ -typedef struct tagNET_DVR_PATROL_TRACKCFG -{ - DWORD dwSize; // ṹС - NET_DVR_PATROL_SCENE_INFO struPatrolSceneInfo[10]; // Ѳ· - BYTE byRes[16]; // ֽ -}NET_DVR_PATROL_TRACKCFG, *LPNET_DVR_PATROL_TRACKCFG; - -//ع˵ýṹ -typedef struct tagNET_DVR_TRACK_PARAMCFG -{ - DWORD dwSize; // ṹС - WORD wAlarmDelayTime; // ʱʱ䣬Ŀǰֻ֧ȫ Χ1-120 - WORD wTrackHoldTime; // ٳʱ Χ0-300 - BYTE byTrackMode; // IPDOME_TRACK_MODE - BYTE byPreDirection; // ٷԤ 0- 1- - BYTE byTrackSmooth; // 0- 1- - BYTE byZoomAdjust; // ϵ μ± - BYTE byMaxTrackZoom; //ٱϵ,0-ʾĬϱϵ,ȼ6-궨ֵ*1.0(Ĭ),1-5ΪС궨ֵֵԽССıԽ,7-15ΪŴֵԽ󣬷ŴıԽ - BYTE byStopTrackWhenFindFace; //⵽Ƿֹͣ 0- 1- - BYTE byStopTrackThreshold; //ֵֹ - BYTE byRes[9]; // ֽ -}NET_DVR_TRACK_PARAMCFG, *LPNET_DVR_TRACK_PARAMCFG; - -// о -typedef struct tagNET_DVR_DOME_MOVEMENT_PARAM -{ - WORD wMaxZoom; // ϵ - BYTE byRes[42]; // ֽ -}NET_DVR_DOME_MOVEMENT_PARAM, *LPNET_DVR_DOME_MOVEMENT_PARAM; - -/********************************ܽͨ¼ begin****************************************/ -#define MAX_REGION_NUM 8 // бĿ -#define MAX_TPS_RULE 8 // Ŀ -#define MAX_AID_RULE 8 // ¼Ŀ -#define MAX_LANE_NUM 8 // 󳵵Ŀ - -//ͨ¼ͣ -typedef enum tagTRAFFIC_AID_TYPE -{ - CONGESTION = 0x01, //ӵ - PARKING = 0x02, //ͣ - INVERSE = 0x04, // - PEDESTRIAN = 0x08, // - DEBRIS = 0x10, // Ƭ - SMOKE = 0x20, // - OVERLINE = 0x40, //ѹ - VEHICLE_CONTROL_LIST = 0x80, //ֹ - SPEED = 0x100, // - LANECHANGE = 0x200, // - TURNAROUND = 0x400, //ͷ - VEHICLE_OCCUPANCY_NONVEHICLE = 0x800, //ռ÷ǻλ - GASSER = 0x1000, // - ROADBLOCK = 0x2000, //· - CONSTRUCTION = 0x4000, //ʩ - TRAFFIC_ACCIDENT = 0x8000, //ͨ¹ʼ⣨ͨ¹Ŀǰ¹ʣ׷βв㷨жϳ복֮켣н棬򱨾 - PARALLEL_PARKING = 0x10000, //෽λͣ - FOG_DETECTION = 0x20000, //Ũ - OCCUPY_EMERGENCY_LANE = 0x40000, //ռý - CONFLAGRATION = 0X80000, // - TFS_MANUAL_TRIGGER = 0x100000, //ֶΥȡ֤¼ - LOADING_DOCK_TRIGGER_UPLOAD = 0x200000, //̨ϴ - OCCUPY_OVERTAKING_LANE = 0x400000, //ռó - PROHIBITION_MARK_VIOLATION = 0x800000, //Υ־ - CHECK_POINT = 0x1000000, // - SUDDEN_SPEED_DROP = 0x2000000, //ٶ轵 - SLOW_MOVING = 0x4000000 // -}TRAFFIC_AID_TYPE; - -typedef enum tagTRAFFIC_SCENE_MODE -{ - FREEWAY = 0, // ٻⳡ - TUNNEL, // - BRIDGE // -}TRAFFIC_SCENE_MODE; - -typedef enum tagITS_ABILITY_TYPE -{ - ITS_CONGESTION_ABILITY = 0x01, //ӵ - ITS_PARKING_ABILITY = 0x02, //ͣ - ITS_INVERSE_ABILITY = 0x04, // - ITS_PEDESTRIAN_ABILITY = 0x08, // - ITS_DEBRIS_ABILITY = 0x10, // Ƭ - ITS_SMOKE_ABILITY = 0x20, //- - ITS_OVERLINE_ABILITY = 0x40, //ѹ - ITS_VEHICLE_CONTROL_LIST_ABILITY = 0x80, //ֹ - ITS_SPEED_ABILITY = 0x100, // - ITS_LANECHANGE_ABILITY = 0x200, // - ITS_TURNAROUND_ABILITY = 0x400, //ͷ - ITS_LANE_VOLUME_ABILITY = 0x010000, // - ITS_LANE_VELOCITY_ABILITY = 0x020000, //ƽٶ - ITS_TIME_HEADWAY_ABILITY = 0x040000, //ͷʱ - ITS_SPACE_HEADWAY_ABILITY = 0x080000, //ͷ - ITS_TIME_OCCUPANCY_RATIO_ABILITY = 0x100000, //ռʣʱ) - ITS_SPACE_OCCUPANCY_RATIO_ABILITY = 0x200000, //ռʣٷֱȼ㣨ռ) - ITS_LANE_QUEUE_ABILITY = 0x400000, //Ŷӳ - ITS_VEHICLE_TYPE_ABILITY = 0x800000, // - ITS_TRAFFIC_STATE_ABILITY = 0x1000000 //ͨ״̬ -}ITS_ABILITY_TYPE; - -// ͨͳƲ -typedef enum tagITS_TPS_TYPE -{ - LANE_VOLUME = 0x01, // - LANE_VELOCITY = 0x02, //ٶ - TIME_HEADWAY = 0x04, //ͷʱ - SPACE_HEADWAY = 0x08, //ͷ - TIME_OCCUPANCY_RATIO = 0x10, //ռ (ʱ) - SPACE_OCCUPANCY_RATIO = 0x20, //ռʣٷֱȼ(ռ) - QUEUE = 0x40, //Ŷӳ - VEHICLE_TYPE = 0x80, // - TRAFFIC_STATE = 0x100 //ͨ״̬ -}ITS_TPS_TYPE; - -typedef struct tagNET_DVR_REGION_LIST -{ - DWORD dwSize; // ṹС - BYTE byNum; // - BYTE byRes1[3]; // ֽ - NET_VCA_POLYGON struPolygon[MAX_REGION_NUM]; // - BYTE byRes2[20]; // ֽ -}NET_DVR_REGION_LIST,*LPNET_DVR_REGION_LIST; - - -// ṹ -typedef struct tagNET_DVR_DIRECTION -{ - NET_VCA_POINT struStartPoint; // ʼ - NET_VCA_POINT struEndPoint; // -}NET_DVR_DIRECTION, *LPNET_DVR_DIRECTION; - -// -typedef struct tagNET_DVR_ONE_LANE -{ - BYTE byEnable; // Ƿ - BYTE byRes1[11]; // ֽ - BYTE byLaneName[NAME_LEN]; // - NET_DVR_DIRECTION struFlowDirection;// ڳ - NET_VCA_POLYGON struPolygon; // -}NET_DVR_ONE_LANE, *LPNET_DVR_ONE_LANE; - -// -typedef struct tagNET_DVR_LANE_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_ONE_LANE struLane[MAX_LANE_NUM]; // ±ΪID - BYTE byRes1[40]; // ֽ -}NET_DVR_LANE_CFG, *LPNET_DVR_LANE_CFG; - -// ͨ¼ -typedef struct tagNET_DVR_AID_PARAM -{ - WORD wParkingDuration; // Υͣ 10-120s - WORD wPedestrianDuration; // ˳ʱ 1-120s - WORD wDebrisDuration; // ʱ 10-120s - WORD wCongestionLength; // ӵ³ֵ 5-200ף - WORD wCongestionDuration; // ӵ³ 10-120s - WORD wInverseDuration; // гʱ 1-10s - WORD wInverseDistance; // оֵ λm Χ[2-100] Ĭ 10 - WORD wInverseAngleTolerance; // Ƕƫ 90-180,ļн - WORD wIllegalParkingTime; // Υͣʱ[4,60]λ ,TFS(ͨΥȡ֤) ģʽ - WORD wIllegalParkingPicNum; // ΥͣͼƬ[1,6], TFS(ͨΥȡ֤) ģʽ - BYTE byMergePic; // ͼƬƴ,TFS ģʽ 0- ƴ 1- ƴ - BYTE byRes1[23]; // ֽ -}NET_DVR_AID_PARAM, *LPNET_DVR_AID_PARAM; - -// ͨ¼ṹ -typedef struct tagNET_DVR_ONE_AID_RULE -{ - BYTE byEnable; // Ƿ¼ - BYTE byRes1[3]; // ֽ - BYTE byRuleName[NAME_LEN]; // - DWORD dwEventType; // ͨ¼ TRAFFIC_AID_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; // ߴ - NET_VCA_POLYGON struPolygon; // - NET_DVR_AID_PARAM struAIDParam; // ¼ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes2[20]; -}NET_DVR_ONE_AID_RULE, *LPNET_DVR_ONE_AID_RULE; - -// ͨ¼ -typedef struct tagNET_DVR_AID_RULECFG -{ - DWORD dwSize; // ṹС - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byRes1[3]; // ֽ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_DVR_ONE_AID_RULE struOneAIDRule[MAX_AID_RULE]; - BYTE byRes2[32]; -}NET_DVR_AID_RULECFG, *LPNET_DVR_AID_RULECFG; - -// ͨ¼ṹ(չ) -typedef struct tagNET_DVR_ONE_AID_RULE_V41 -{ - BYTE byEnable; // Ƿ¼ - BYTE byLaneNo; // - BYTE byRes1[2]; // ֽ - BYTE byRuleName[NAME_LEN]; // - DWORD dwEventType; // ͨ¼ TRAFFIC_AID_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; // ߴ - NET_VCA_POLYGON struPolygon; // - NET_DVR_AID_PARAM struAIDParam; // ¼ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];// ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_IVMS_IP_CHANNEL]; //¼ͨ1ʾͨ0ʾ - BYTE byRes2[60]; // -}NET_DVR_ONE_AID_RULE_V41, *LPNET_DVR_ONE_AID_RULE_V41; - -// ͨ¼(չ) -typedef struct tagNET_DVR_AID_RULECFG_V41 -{ - DWORD dwSize; // ṹС - BYTE byPicProType; // ʱͼƬʽ 0- 0-ϴ - BYTE byRes1[3]; // ֽ - NET_DVR_JPEGPARA struPictureParam; // ͼƬṹ - NET_DVR_ONE_AID_RULE_V41 struAIDRule[MAX_AID_RULE]; // - BYTE byRes2[128]; // -} NET_DVR_AID_RULECFG_V41, *LPNET_DVR_AID_RULECFG_V41; - -// ͨͳƲṹ -typedef struct tagNET_DVR_ONE_TPS_RULE -{ - BYTE byEnable; //Ƿʹܳͨ - BYTE byLaneID; //ID - BYTE byRes1[2]; - DWORD dwCalcType; //ͳƲITS_TPS_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struVitrualLoop; //Ȧ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ,һΪǷϴģܲҪ - BYTE byRes2[20]; //ֽ -}NET_DVR_ONE_TPS_RULE, *LPNET_DVR_ONE_TPS_RULE; - -// ͨͳƹýṹ -typedef struct tagNET_DVR_TPS_RULECFG -{ - DWORD dwSize; // ṹС - NET_DVR_ONE_TPS_RULE struOneTpsRule[MAX_TPS_RULE]; // ±ӦͨID - BYTE byRes2[40]; // ֽ -}NET_DVR_TPS_RULECFG, *LPNET_DVR_TPS_RULECFG; - -// ͨͳƲṹ(չ) -typedef struct tagNET_DVR_ONE_TPS_RULE_V41 -{ - BYTE byEnable; //Ƿʹܳͨ - BYTE byLaneID; //ID - BYTE byRes1[2]; // - DWORD dwCalcType; // ͳƲITS_TPS_TYPE - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struVitrualLoop; //Ȧ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRes2[60]; // ֽ -}NET_DVR_ONE_TPS_RULE_V41, *LPNET_DVR_ONE_TPS_RULE_V41; - - -// ͨͳƹýṹ(չ) -typedef struct tagNET_DVR_TPS_RULECFG_V41 -{ - DWORD dwSize; // ṹС - NET_DVR_ONE_TPS_RULE_V41 struOneTpsRule[MAX_TPS_RULE]; // ±ӦͨID - BYTE byRes[128]; // -}NET_DVR_TPS_RULECFG_V41, *LPNET_DVR_TPS_RULECFG_V41; - -//ͨ¼չ -typedef enum tagTRAFFIC_AID_TYPE_EX -{ - ENUM_AID_TYPE_CONGESTION = 1, //ӵ - ENUM_AID_TYPE_PARKING = 2, //ͣ - ENUM_AID_TYPE_INVERSE = 3, // - ENUM_AID_TYPE_PEDESTRIAN = 4, // - ENUM_AID_TYPE_DEBRIS = 5, // Ƭ - ENUM_AID_TYPE_SMOKE = 6, // - ENUM_AID_TYPE_OVERLINE = 7, //ѹ - ENUM_AID_TYPE_VEHICLE_CONTROL_LIST = 8, //ֹ - ENUM_AID_TYPE_SPEED = 9, // - ENUM_AID_TYPE_LANECHANGE = 10, // - ENUM_AID_TYPE_TURNAROUND = 11, //ͷ - ENUM_AID_TYPE_VEHICLE_OCCUPANCY_NONVEHICLE = 12, //ռ÷ǻλ - ENUM_AID_TYPE_GASSER = 13, // - ENUM_AID_TYPE_ROADBLOCK = 14, //· - ENUM_AID_TYPE_CONSTRUCTION = 15, //ʩ - ENUM_AID_TYPE_TRAFFIC_ACCIDENT = 16, //ͨ¹ʼ⣨ͨ¹Ŀǰ¹ʣ׷βв㷨жϳ복֮켣н棬򱨾 - ENUM_AID_TYPE_PARALLEL_PARKING = 17, //෽λͣ - ENUM_AID_TYPE_FOG_DETECTION = 18, //Ũ - ENUM_AID_TYPE_OCCUPY_EMERGENCY_LANE = 19, //ռý - ENUM_AID_TYPE_CONFLAGRATION = 20, // - ENUM_AID_TYPE_TFS_MANUAL_TRIGGER = 21, //ֶΥȡ֤¼ - ENUM_AID_TYPE_LOADING_DOCK_TRIGGER_UPLOAD = 22, //̨ϴ - ENUM_AID_TYPE_OCCUPY_OVERTAKING_LANE = 23, //ռó - ENUM_AID_TYPE_PROHIBITION_MARK_VIOLATION = 24, //Υ־ - ENUM_AID_TYPE_CHECK_POINT = 25, // - ENUM_AID_TYPE_SUDDEN_SPEED_DROP = 26, //ٶ轵 - ENUM_AID_TYPE_SLOW_MOVING = 27, // - ENUM_AID_TYPE_NOT_KEEP_DISTANCE = 28, //δֳ - ENUM_AID_TYPE_NOT_SLOW_ZEBRA_CROSSING = 29, //δ - ENUM_AID_TYPE_OVER_TAKE_RIGHT_SIDE = 30, //Ҳ೬ - ENUM_AID_TYPE_LOW_SPEED = 31, //ʻ - ENUM_AID_TYPE_DRAG_RACING = 32, //쭳 - ENUM_AID_TYPE_CHANGE_LANE_CONTINUOUSLY = 33, // - ENUM_AID_TYPE_S_SHARP_DRIVING = 34, //ʻ - ENUM_AID_TYPE_LARGE_VEHICLE_OCCUPY_LINE = 35, //ռ - ENUM_AID_TYPE_ROAD_GROUP = 36, //·ԱۼΪԱۼ㷨ͬӦóͬ, ͨ¼Ӧڸ١ȽͨΪԱۼӦóǽ档 - ENUM_AID_TYPE_SINGLE_VEHICLE_BREAKDOWN = 37, //ê - ENUM_AID_TYPE_BLACK_SMOKE_VEHICLE = 38, //̳ - ENUM_AID_TYPE_VEHNOYIELDPEDEST = 39, // - ENUM_AID_TYPE_ILLEGALMANNEDVEH = 40, //Υ - ENUM_AID_TYPE_ILLEGALMANNEDNONMOTORVEH = 41, //ǻΥ - ENUM_AID_TYPE_UMBRELLATENTINSTALL = 42, //ǻΥװ - ENUM_AID_TYPE_NONMOTORVEHONVEHLANE = 43, //ǻռû - ENUM_AID_TYPE_WEARINGNOHELMET = 44, //ǻδͷ - ENUM_AID_TYPE_PEDESTREDLIGHTRUNNING = 45, //˴ - ENUM_AID_TYPE_PEDESTONNONMOTORVEHLANE = 46, //˷ǻ - ENUM_AID_TYPE_PEDESTONVEHLANE = 47, //˻ - ENUM_AID_TYPE_OCCUPYDEDICATEDLANE = 48,//ռרó - ENUM_AID_TYPE_NOTDRIVEINDEDICATEDLANE = 49,//δרóʻ -}TRAFFIC_AID_TYPE_EX; - -// ͨ¼Ϣ -typedef struct tagNET_DVR_AID_INFO -{ - BYTE byRuleID; // ţΪýṹ±꣬0-16 - BYTE byVisibilityLevel; // ܼȵȼ0-1-~2-~3-~Ũ4-Ũ - BYTE byRes1[2]; - BYTE byRuleName[NAME_LEN]; // - DWORD dwAIDType; // ¼ - NET_DVR_DIRECTION struDirect; // ָ - BYTE bySpeedLimit; //ֵλkm/h[0,255] - BYTE byCurrentSpeed; //ǰٶֵλkm/h[0,255] - BYTE byVehicleEnterState;//״̬ 0-Ч 1-ʻ 2-ʻ - BYTE byState; //0-仯ϴ1-Ѳϴ2-ǰ豸ʱץĵϴʵƽ̨γͼƬУڷ㷨ûм⵽ֵͣ2ڡdwAIDType;//¼͡Ϊ ͣ¼ʱЧ - BYTE byParkingID[16]; //ͣλ - DWORD dwAIDTypeEx; // ¼չ,οTRAFFIC_AID_TYPE_EX - BYTE byRes2[16]; // ֽ -}NET_DVR_AID_INFO, *LPNET_DVR_AID_INFO; - -// ͨ¼ -typedef struct tagNET_DVR_AID_ALARM -{ - DWORD dwSize; // ṹ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_AID_INFO struAIDInfo; // ͨ¼Ϣ - DWORD dwPicDataLen; // ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ - BYTE *pImage; // ָͼƬָ - BYTE byRes[40]; // ֽ -}NET_DVR_AID_ALARM, *LPNET_DVR_AID_ALARM; - -// нṹ -typedef struct tagNET_DVR_LANE_QUEUE -{ - NET_VCA_POINT struHead; //ͷ - NET_VCA_POINT struTail; //β - DWORD dwLength; //ʵʶг λΪ [0-500] -}NET_DVR_LANE_QUEUE, *LPNET_DVR_LANE_QUEUE; - -typedef enum tagTRAFFIC_DATA_VARY_TYPE -{ - NO_VARY, //ޱ仯 - VEHICLE_ENTER, //Ȧ - VEHICLE_LEAVE, //뿪Ȧ - UEUE_VARY //б仯 -}TRAFFIC_DATA_VARY_TYPE; - -typedef struct tagNET_DVR_LANE_PARAM -{ - BYTE byRuleName[NAME_LEN]; // - BYTE byRuleID; //ţΪýṹ±꣬0-7 - BYTE byVaryType; //ͨ仯 TRAFFIC_DATA_VARY_TYPE - BYTE byLaneType; //л - BYTE byRes1; - DWORD dwLaneVolume; // ͳжٳͨ - DWORD dwLaneVelocity; //ٶȣ - DWORD dwTimeHeadway; //ͷʱ࣬ - DWORD dwSpaceHeadway; //ͷ࣬ - float fSpaceOccupyRation; //ռʣٷֱȼ㣨ռ) - NET_DVR_LANE_QUEUE struLaneQueue; //г - NET_VCA_POINT struRuleLocation; //Ȧĵλ - BYTE byRes2[32]; -}NET_DVR_LANE_PARAM, *LPNET_DVR_LANE_PARAM; - - -typedef struct tagNET_DVR_TPS_INFO -{ - DWORD dwLanNum; // ͨijĿ - NET_DVR_LANE_PARAM struLaneParam[MAX_TPS_RULE]; -}NET_DVR_TPS_INFO, *LPNET_DVR_TPS_INFO; - -typedef struct tagNET_DVR_TPS_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_DVR_TPS_INFO struTPSInfo; //ͨ¼Ϣ - BYTE byRes1[32]; //ֽ -}NET_DVR_TPS_ALARM, *LPNET_DVR_TPS_ALARM; - -typedef enum tagTRAFFIC_DATA_VARY_TYPE_EX_ENUM -{ - ENUM_TRAFFIC_VARY_NO = 0x00, //ޱ仯 - ENUM_TRAFFIC_VARY_VEHICLE_ENTER = 0x01, //Ȧ - ENUM_TRAFFIC_VARY_VEHICLE_LEAVE = 0x02, //뿪Ȧ - ENUM_TRAFFIC_VARY_QUEUE = 0x04, //б仯 - ENUM_TRAFFIC_VARY_STATISTIC = 0x08, //ͳݱ仯ÿӱ仯һΰƽٶȣռ/ʱռʣͨ״̬ -}TRAFFIC_DATA_VARY_TYPE_EX_ENUM; - -typedef struct tagNET_DVR_LANE_PARAM_V41 -{ - BYTE byRuleName[NAME_LEN]; // - BYTE byRuleID; // ţΪýṹ±꣬0-7 - BYTE byLaneType; // л - BYTE byTrafficState; // Ľͨ״̬0-Ч1-ͨ2-ӵ3- - BYTE byLaneNo; // - DWORD dwVaryType; // ͨ仯Ͳ TRAFFIC_DATA_VARY_TYPE_EX_ENUMλ - DWORD dwTpsType; // ݱ仯ͱ־ʾǰϴͳƲУЩЧITS_TPS_TYPE,λ - DWORD dwLaneVolume; // ͳжٳͨ - DWORD dwLaneVelocity; // ٶȣ - DWORD dwTimeHeadway ; // ͷʱ࣬ - DWORD dwSpaceHeadway; // ͷ࣬ - float fSpaceOccupyRation; // ռʣٷֱȼ㣨ռ) - float fTimeOccupyRation; // ʱռʣٷֱȼ - DWORD dwLightVehicle; // Сͳ - DWORD dwMidVehicle; // ͳ - DWORD dwHeavyVehicle; // ͳ - NET_DVR_LANE_QUEUE struLaneQueue; // г - NET_VCA_POINT struRuleLocation; // λȦ - DWORD dwOversizeVehicle; // ͳ - BYTE byRes2[60]; // -}NET_DVR_LANE_PARAM_V41, *LPNET_DVR_LANE_PARAM_V41; - - -typedef struct tagNET_DVR_TPS_INFO_V41 -{ - DWORD dwLanNum; // ͨijĿ - NET_DVR_LANE_PARAM_V41 struLaneParam[MAX_TPS_RULE]; - DWORD dwSceneID;//ID - BYTE byRes[28]; // -}NET_DVR_TPS_INFO_V41, *LPNET_DVR_TPS_INFO_V41; - -// -typedef struct tagNET_DVR_FACEDETECT_RULECFG -{ - DWORD dwSize; // ṹС - BYTE byEnable; // Ƿ - BYTE byEventType; //¼ͣ 0-쳣; 1-;2-쳣&;4-&쳣;5-&; 6-&쳣&; 7- - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byUpFacePic; //Ƿϴͼ0-1- - BYTE byRuleName[NAME_LEN]; - NET_VCA_POLYGON struVcaPolygon; // - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE bySensitivity; // - WORD wDuration; // ʱֵ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_2];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byPicRecordEnable; /*2012-3-1ǷͼƬ洢, 0-, 1-*/ - BYTE byRes1[3]; //ֽ - /* - ¼ͣĿǰ¼Ͱλʾѡ1ֻ߼ֽϣ - 0x00: Ч - 0x01: 쳣 - 0x02: - 0x04: - 0x08: ī - 0x10: 绰 - */ - DWORD dwEventTypeEx; //dwEventTypeExֶΪ0ʱbyEventTypeֶЧdwEventTypeExbyEventTypeֶζֵʱdwEventTypeExֶΪ׼ϲdwEventTypeExֶκ󣬻ὫֵͬbyEventTypeС - BYTE byRes2[32]; //ֽ -}NET_DVR_FACEDETECT_RULECFG, *LPNET_DVR_FACEDETECT_RULECFG; - -typedef struct tagNET_DVR_FACE_PIPCFG -{ - BYTE byEnable; //Ƿл - BYTE byBackChannel; //ͨţͨ - BYTE byPosition; //λã0-,1-,2-,3- - BYTE byPIPDiv; //ϵ(:廭)0-1:4,1-1:9,2-1:16 - BYTE byRes[4]; -}NET_DVR_FACE_PIPCFG, *LPNET_DVR_FACE_PIPCFG; - -typedef struct tagNET_DVR_FACEDETECT_RULECFG_V41 -{ - DWORD dwSize; // ṹС - BYTE byEnable; // Ƿ - BYTE byEventType; //¼ͣ 0-쳣; 1-;2-쳣&;4-&쳣;5-&; 6-&쳣&; 7- - BYTE byUpLastAlarm; //2011-04-06 Ƿϴһεı - BYTE byUpFacePic; //Ƿϴͼ0-1- - BYTE byRuleName[NAME_LEN]; - NET_VCA_POLYGON struVcaPolygon; // - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE bySensitivity; // - WORD wDuration; // ʱֵ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType; //ʽ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byPicRecordEnable; /*2012-10-22ǷͼƬ洢, 0-, 1-*/ - BYTE byRes1; - WORD wAlarmDelay; //2012-10-22ܱʱ0-5s,1-10,2-30s,3-60s,4-120s,5-300s,6-600s - NET_DVR_FACE_PIPCFG struFacePIP; //2012-11-7л - WORD wRelSnapChan[MAX_REL_SNAPCHAN_NUM]; //ץͼͨͨʱͬʱϴͨץͼƬ0ʾֵΪͨ - BYTE byRes2[2]; //ֽ - /* - ¼ͣĿǰ¼Ͱλʾѡ1ֻ߼ֽϣ - 0x00: Ч - 0x01: 쳣 - 0x02: - 0x04: - 0x08: ī - 0x10: 绰 - */ - DWORD dwEventTypeEx; //dwEventTypeExֶΪ0ʱbyEventTypeֶЧdwEventTypeExbyEventTypeֶζֵʱdwEventTypeExֶΪ׼ϲdwEventTypeExֶκ󣬻ὫֵͬbyEventTypeС - BYTE byRes[16]; //ֽ -}NET_DVR_FACEDETECT_RULECFG_V41, *LPNET_DVR_FACEDETECT_RULECFG_V41; - -typedef struct tagNET_DVR_FACEDETECT_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byRuleName[NAME_LEN]; // - NET_VCA_TARGET_INFO struTargetInfo;//ĿϢ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸Ϣ - DWORD dwPicDataLen; //ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - BYTE byAlarmPicType; // 0-쳣ͼƬ 1- ͼƬ,2-, 3-ī, 4-绰 - BYTE byPanelChan; /*2012-3-1ͨͨ*/ - BYTE byRelAlarmPicNum; //ͨͼƬ - BYTE byRes1; - DWORD dwFacePicDataLen;//ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - DWORD dwAlarmID; //IDԱʶͨϱ0ʾЧ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes2[42]; // ֽ - BYTE *pFaceImage; //ָͼָ - BYTE *pImage; //ָͼƬָ -}NET_DVR_FACEDETECT_ALARM, *LPNET_DVR_FACEDETECT_ALARM; - -typedef struct tagNET_DVR_EVENT_PARAM_UNION -{ - DWORD uLen[3]; // СΪ12ֽ - DWORD dwHumanIn; //˽ӽ 0 - 1- - float fCrowdDensity; // Աۼֵ -}NET_DVR_EVENT_PARAM_UNION, *LPNET_DVR_EVENT_PARAM_UNION; - -// Ŀǰֻ¼Աۼ¼ʵʱϴ -typedef struct tagNET_DVR_EVENT_INFO -{ - BYTE byRuleID; // Rule ID - BYTE byRes[3]; // ֽ - BYTE byRuleName[NAME_LEN]; // - DWORD dwEventType; // VCA_EVENT_TYPE - NET_DVR_EVENT_PARAM_UNION uEventParam; // -}NET_DVR_EVENT_INFO, *LPNET_DVR_EVENT_INFO; - -typedef struct tagNET_DVR_EVENT_INFO_LIST -{ - BYTE byNum; // ¼ʵʱϢ - BYTE byRes1[3]; // ֽ - NET_DVR_EVENT_INFO struEventInfo[MAX_RULE_NUM]; // ¼ʵʱϢ -}NET_DVR_EVENT_INFO_LIST,*LPNET_DVR_EVENT_INFO_LIST; - -typedef struct tagNET_DVR_RULE_INFO_ALARM -{ - DWORD dwSize; // ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_EVENT_INFO_LIST struEventInfoList; //¼Ϣб - BYTE byRes2[40]; // ֽ -}NET_DVR_RULE_INFO_ALARM, *LPNET_DVR_RULE_INFO_ALARM; - -//ʱ -typedef struct tagNET_DVR_ONE_SCENE_TIME -{ - BYTE byActive; //0 -Ч,1CЧ - BYTE byRes1[3]; // - DWORD dwSceneID; //ID - NET_DVR_SCHEDTIME struEffectiveTime; //Чʱ - BYTE byRes2[16]; // -}NET_DVR_ONE_SCENE_TIME, *LPNET_DVR_ONE_SCENE_TIME ; - -//Чʱ -typedef struct tagNET_DVR_SCENE_TIME_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_SCENE_TIME struSceneTime[MAX_SCENE_TIMESEG_NUM]; //ʱ - BYTE byRes[64]; // -}NET_DVR_SCENE_TIME_CFG, *LPNET_DVR_SCENE_TIME_CFG; - - -//Ϣ -typedef struct tagNET_DVR_ONE_SCENE_CFG_ -{ - BYTE byEnable; //Ƿøó,0- 1- - BYTE byDirection; //ⷽ 1-У2-У3-˫4-ɶ5-򱱣6-򶫣7-ɱϣ8- - BYTE byRes1[2]; // - DWORD dwSceneID; //ID(ֻ), 0 - ʾóЧ - BYTE bySceneName[NAME_LEN]; // - NET_DVR_PTZPOS struPtzPos; //ptz - DWORD dwTrackTime; //ʱ[5,300] 룬TFS(ͨȡ֤)ģʽЧ - BYTE byRes2[24]; // -}NET_DVR_ONE_SCENE_CFG, *LPNET_DVR_ONE_SCENE_CFG; - -//ýṹ -typedef struct tagNET_DVR_SCENE_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_SCENE_CFG struSceneCfg[MAX_ITS_SCENE_NUM]; //Ϣ - BYTE byRes[40]; // -}NET_DVR_SCENE_CFG,*LPNET_DVR_SCENE_CFG; - -//ೡ -typedef struct tagNET_DVR_SCENE_COND -{ - DWORD dwSize; //ṹС - LONG lChannel; //ͨ - DWORD dwSceneID; //ID, 0-ʾóЧ - BYTE byRes[48]; // -}NET_DVR_SCENE_COND, *LPNET_DVR_SCENE_COND; - -//ȡ֤ʽ -typedef struct tagNET_DVR_FORENSICS_MODE -{ - DWORD dwSize; //ṹС - BYTE byMode; // 0-ֶȡ֤ ,1-Զȡ֤2-Զٺ;̬ȡ֤ - BYTE byRes[23]; // -}NET_DVR_FORENSICS_MODE,*LPNET_DVR_FORENSICS_MODE; - -//Ϣ -typedef struct tagNET_DVR_SCENE_INFO_ -{ - DWORD dwSceneID; //ID, 0 - ʾóЧ - BYTE bySceneName[NAME_LEN]; // - BYTE byDirection; //ⷽ 1-У2-У3-˫4-ɶ5-򱱣6-򶫣7-ɱϣ8- - BYTE byRes1[3]; // - NET_DVR_PTZPOS struPtzPos; //Ptz - BYTE byRes2[64] ; // -}NET_DVR_SCENE_INFO,*LPNET_DVR_SCENE_INFO; - -//ͨ¼(չ) -typedef struct tagNET_DVR_AID_ALARM_V41 -{ - DWORD dwSize; //ṹ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_DVR_AID_INFO struAIDInfo; //ͨ¼Ϣ - NET_DVR_SCENE_INFO struSceneInfo; //Ϣ - DWORD dwPicDataLen; //ͼƬ - BYTE *pImage; //ָͼƬָ - // 0-ֱϴ; 1-ƴ洢URL(3.7Ver)ԭȵͼƬݱURLݣͼƬȱURL - BYTE byDataType; - BYTE byLaneNo; // - WORD wMilliSecond; //ʱ - //ţ·ڱšڲţ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN/*48*/]; - BYTE byDeviceID[DEVICE_ID_LEN/*48*/];//豸 - DWORD dwXmlLen;//XMLϢ - char* pXmlBuf;// XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byTargetType;// Ŀͣ0~δ֪1~ˡ2~ֳ3~ֳ(˼з) - BYTE byRuleID;//ID,1-4,congestion¼˹ʱ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byBrokenNetHttp; // ־λ0-شݣ1-ش - BYTE byRes[3]; // ֽ - DWORD dwPlateSmallPicDataLen; //СͼͼƬ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pPlateSmallImage; // //ָСͼָ -#else - char* pPlateSmallImage; //ָСͼָ - BYTE byRes1[4]; -#endif -}NET_DVR_AID_ALARM_V41, *LPNET_DVR_AID_ALARM_V41; - -//ͨͳϢ(չ) -typedef struct tagNET_DVR_TPS_ALARM_V41 -{ - DWORD dwSize; // ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_TPS_INFO_V41 struTPSInfo; // ͨͳϢ - //ţ·ڱšڲţ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN/*48*/]; - BYTE byDeviceID[DEVICE_ID_LEN/*48*/];//豸 - DWORD dwStartTime; // ʼͳʱ - DWORD dwStopTime; // ͳʱ - BYTE byRes[24]; // -} NET_DVR_TPS_ALARM_V41,*LPNET_DVR_TPS_ALARM_V41; - -/*******************************ܽͨ¼ end*****************************************/ - -#define XXX_MAJOR_VERSION 2 - -/* Ӱ汾ţŻֲṹģڼ汾ʱ31 */ - -#define XXX_SUB_VERSION 3 - -/* 汾ţbug31 */ - -#define XXX_REVISION_VERSION 4 - -typedef struct tagNET_DVR_VCA_VERSION -{ - WORD wMajorVersion; // 汾 - WORD wMinorVersion; // ΰ汾 - WORD wRevisionNumber; // - WORD wBuildNumber; // - WORD wVersionYear; // 汾- - BYTE byVersionMonth; // 汾- - BYTE byVersionDay; // 汾- - BYTE byType;/*㷨ƣ0-1-,2-Ϊ,3-,4-ץ,5ʶ 6-Ա,7-ѧվ, - 8-ͳ,9-ֿ,10-ȫñ,11-ݼ㷨,12-ͳ,13-(˽Ŀṹ㷨)HMS, - 14-ʦΪ, 15-Աܶȣ16-쳣17-ڼ⣬18-Ա19-ģץģ20-HMSģ,21-̬Ʒ, - 22-ǹ㷨,23-ŶӼ*/ - BYTE byRes[7]; // ֽ -}NET_DVR_VCA_VERSION, *LPNET_DVR_VCA_VERSION; - - -/****************************** end***********************************/ - -/******************************ʶ begin******************************************/ -typedef struct tagNET_DVR_PLATE_PARAM -{ - BYTE byPlateRecoMode; //ʶģʽ,ĬΪ1(Ƶģʽ) - BYTE byBelive; //Ŷֵ, ֻƵʶʽ, ݱӳ̶, 󴥷ʸ߾, ©ʸ߾, 80-90Χ - BYTE byRes[22]; //ֽ -}NET_DVR_PALTE_PARAM, *LPNET_DVR_PALTE_PARAM; - -typedef struct tagNET_DVR_PLATECFG -{ - DWORD dwSize; - DWORD dwEnable; /* ǷƵʶ 0 1 */ - BYTE byPicProType; //ʱͼƬʽ 0- 0-ϴ - BYTE byRes1[3]; // ֽ - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_DVR_PALTE_PARAM struPlateParam; // ʶ - NET_DVR_HANDLEEXCEPTION struHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//ʱ - BYTE byRelRecordChan[MAX_CHANNUM]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[20]; // ֽ -}NET_DVR_PLATECFG, *LPNET_DVR_PLATECFG; - -// ʶӽṹ -typedef struct tagNET_DVR_PLATE_INFO -{ - BYTE byPlateType; // - BYTE byColor; //ɫ - BYTE byBright; // - BYTE byLicenseLen; //ַ - BYTE byEntireBelieve; //ƵŶȣ-100 - BYTE byRegion; // ֵ 0-1-ŷ(EU)2-(ER)3-ŷ&˹(EU&CIS) ,4-ж(ME),5-̫(APAC),6-(޺,AfandAM),0xff- - BYTE byCountry; // ֵöCOUNTRY_INDEX֧"COUNTRY_ALL = 0xff, //ALL ȫ" - BYTE byArea; //ʡݣڲö٣ EMI_AREA - BYTE byPlateSize; //Ƴߴ磬0~δ֪1~long, 2~short(жʹ) - /*ϢʶǷNET_DVR_VEHICLE_ADDINFOṹ壩,0-޸Ϣ, 1-иϢ*/ - BYTE byAddInfoFlag; - //ֶbyCountryϣչ֮ʹøֶδbyCountryʹwCRIndexֶ - //Ϊ˼ûֵֶ256򣩣byCountryֵΪ0xfdֶЧ - WORD wCRIndex ;///ֵο_CR_ INDEX_ - BYTE byRes[4]; // -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pAddInfoBuffer; -#else - /*Ϣָ,ָNET_DVR_VEHICLE_ADDINFOṹ*/ - BYTE* pAddInfoBuffer; - BYTE byRes2[4]; -#endif - char sPlateCategory[MAX_CATEGORY_LEN/*8*/];//ƸϢ, жгƺԱߵСϢ(Ŀǰֻж֧) - DWORD dwXmlLen; //XMLϢ - char* pXmlBuf; // XMLϢָ,Ϊ COMM_ITS_PLATE_RESULCOMM_PLATE_RESULT_V50ʱЧXMLӦEventNotificationAlert XML Block - NET_VCA_RECT struPlateRect; //λ - char sLicense[MAX_LICENSE_LEN]; //ƺ,עжСҲ복ƺ룬Сֺͳƺмÿոָ - BYTE byBelieve[MAX_LICENSE_LEN]; //ʶַŶȣ⵽"A12345", ŶΪ,20,30,40,50,60,70ʾ""ȷĿֻ%"A"ֵȷĿ% -}NET_DVR_PLATE_INFO, *LPNET_DVR_PLATE_INFO; - -typedef struct tagNET_DVR_PLATERECO_RESULE -{ - DWORD dwSize; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; // ǰ豸Ϣ - NET_DVR_PLATE_INFO struPlateInfo; - DWORD dwPicDataLen; //ͼƬij Ϊ0ʾûͼƬ0ʾýṹͼƬ*/ - DWORD dwRes[4]; //Ϊ0 - BYTE *pImage; //ָͼƬָ -}NET_DVR_PLATERECO_RESULE, *LPNET_DVR_PLATERECO_RESULE; - -/******************************ʶ end******************************************/ - -/*******************************Ƶۺƽ̨***********************************/ -typedef struct -{ - NET_DVR_TIME strLogTime; - DWORD dwMajorType; //Main type 1-alarm; 2-abnormal; 3-operation; 0xff-all - DWORD dwMinorType; //Hypo-Type 0-all; - BYTE sPanelUser[MAX_NAMELEN]; //user ID for local panel operation - BYTE sNetUser[MAX_NAMELEN];//user ID for network operation - NET_DVR_IPADDR struRemoteHostAddr;//remote host IP - DWORD dwParaType;//parameter type - DWORD dwChannel;//channel number - DWORD dwDiskNumber;//HD number - DWORD dwAlarmInPort;//alarm input port - DWORD dwAlarmOutPort;//alarm output port - DWORD dwInfoLen; - BYTE byDevSequence;//λ - BYTE byMacAddr[MACADDR_LEN];//MACַ,6 - BYTE sSerialNumber[SERIALNO_LEN];//кţ48 - char sInfo[LOG_INFO_LEN - SERIALNO_LEN - MACADDR_LEN - 1 ]; -}NET_DVR_LOG_MATRIX, *LPNET_DVR_LOG_MATRIX; - -//2009-11-21 Ƶۺƽ̨ -typedef struct tagVEDIOPLATLOG -{ - BYTE bySearchCondition;//0-λ1-к2-MACַ - //λţ0-79ӦϵͳIJλţ - //0xffʾе־78K6467 - //0xfeʾ78Kϵ־0xfd־0xfc־ - BYTE byDevSequence; - BYTE sSerialNumber[SERIALNO_LEN];//кţ48 - BYTE byMacAddr[MACADDR_LEN];//MACַ,6 -} NET_DVR_VEDIOPLATLOG, *LPNET_DVR_VEDIOPLATLOG; - -typedef struct tagNET_DVR_CODESYSTEMABILITY -{ - DWORD dwSize; - DWORD dwAbilityVersion;//汾ţ16λʾ汾16λʾΰ汾 - DWORD dwSupportMaxVideoFrameRate;//λ(K) - /*λ: - 0:ʱ¼ - 1:ʱ|¼¼ - 2:ƶ¼ - 3:翪¼ - 4:ƶ|翪¼ - 5:ƶ&翪¼ - 6:ܽ¼ - 7:ⴥ¼ - 8:ʶ𴥷¼ - 9:ֶ¼*/ - DWORD dwSupportRecordType; - BYTE bySupportLinkMode;//λ:0λ:ʾ1λ:ʾ - BYTE bySupportStringRow;//ַ֧ - BYTE bySupportHideNum;//֧Ƶڵ - BYTE byRes1; - /*0-DCIF1-CIF2-QCIF3-4CIF4-2CIF6-QVGA(320*240), 16-VGA17-UXGA18-SVGA19-HD720p20-XVGA21-HD900p22-SXGAp27-HD1080i28-2560*192029-1600*30430-2048*153631-2448*204832-2448*120033-2448*800 34-XGA1024x76835-SXGA1280x1024*/ - BYTE byMainStreamSupportResolution[8];//ֵ֧ķֱʣλ - BYTE bySubStreamSupportResolution[8];//ֵ֧ķֱʣλ - BYTE byEventStreamSupportResolution[8];//¼ֵ֧ķֱʣλ - BYTE byNotSupportPreview;//Ƿ֧Ԥ,1-֧֣0-֧ - BYTE byNotSupportStorage;//Ƿִ֧洢,1-֧֣0-֧ - BYTE byRes2[98];// -}NET_DVR_CODESYSTEMABILITY, *LPNET_DVR_CODESYSTEMABILITY; - -/********************************end*******************************************/ - -/******************************ץĻ*******************************************/ -//IO -typedef struct tagNET_DVR_IO_INCFG -{ - DWORD dwSize; - BYTE byIoInStatus;//IO״̬0-½أ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byRes[3];//ֽ -}NET_DVR_IO_INCFG, *LPNET_DVR_IO_INCFG; - -//IO -typedef struct tagNET_DVR_IO_OUTCFG -{ - DWORD dwSize; - BYTE byDefaultStatus;//IOĬ״̬0-͵ƽ1-ߵƽ - BYTE byIoOutStatus;//IOЧʱ״̬0-͵ƽ1-ߵƽ2- - WORD wAheadTime;//IOǰʱ䣬λus - DWORD dwTimePluse;//ʱ䣬λus - DWORD dwTimeDelay;//IOЧʱ䣬λus - BYTE byFreqMulti; //ƵֵΧ[1,15] - BYTE byDutyRate; //ռձȣ[0,40%] - BYTE byRes[2]; -}NET_DVR_IO_OUTCFG, *LPNET_DVR_IO_OUTCFG; - -// -typedef struct tagNET_DVR_FLASH_OUTCFG -{ - DWORD dwSize; - BYTE byMode;//˸ģʽ0-1-2-3- - BYTE byRelatedIoIn;//ƹIOţʱ˲Ч - BYTE byRecognizedLane; /*IOţλʾbit0ʾIO1Ƿ0-1-*/ - BYTE byDetectBrightness;/*Զʹ0-⣻1-*/ - BYTE byBrightnessThreld;/*ʹֵΧ[0,100],ֵ*/ - BYTE byStartHour; //ʼʱ-Сʱ,ȡֵΧ0-23 - BYTE byStartMinute; //ʼʱ-,ȡֵΧ0-59 - BYTE byEndHour; //ʱ-Сʱ,ȡֵΧ0-23 - BYTE byEndMinute; //ʱ-,ȡֵΧ0-59 - BYTE byFlashLightEnable; //ʱʹ:0-;1- - BYTE byRes[2]; -}NET_DVR_FLASH_OUTCFG, *LPNET_DVR_FLASH_OUTCFG; - -//̵ƹܣ2IOһ飩 -typedef struct tagNET_DVR_LIGHTSNAPCFG -{ - DWORD dwSize; - BYTE byLightIoIn;//̵ƵIO - BYTE byTrigIoIn;//IO - BYTE byRelatedDriveWay;//IOij - BYTE byTrafficLight; //0-ߵƽƣ͵ƽ̵ƣ1-ߵƽ̵ƣ͵ƽ - BYTE bySnapTimes1; //ץĴ10-ץģ0-Ĵ5 - BYTE bySnapTimes2; //̵ץĴ20-ץģ0-Ĵ5 - BYTE byRes1[2]; - WORD wIntervalTime1[MAX_INTERVAL_NUM];//ļʱ䣬ms - WORD wIntervalTime2[MAX_INTERVAL_NUM];//̵ļʱ䣬ms - BYTE byRecord;//¼־0-¼1-¼ - BYTE bySessionTimeout;//¼ʱʱ䣨룩 - BYTE byPreRecordTime;//¼ƬԤ¼ʱ() - BYTE byVideoDelay;//¼Ƭʱʱ䣨룩 - BYTE byRes2[32];//ֽ -}NET_DVR_LIGHTSNAPCFG, *LPNET_DVR_LIGHTSNAPCFG; - -//ٹ(2IOһ飩 -typedef struct tagNET_DVR_MEASURESPEEDCFG -{ - DWORD dwSize; - BYTE byTrigIo1; //ٵ1Ȧ - BYTE byTrigIo2; //ٵ2Ȧ - BYTE byRelatedDriveWay;//IOij - BYTE byTestSpeedTimeOut;//ģʽʱʱ䣬λs - DWORD dwDistance;//Ȧ,cm - BYTE byCapSpeed;//ģʽٶȣλkm/h - BYTE bySpeedLimit;//ֵλkm/h - BYTE bySnapTimes1; //Ȧ1ץĴ0-ץģ0-Ĵ5 - BYTE bySnapTimes2; //Ȧ2ץĴ0-ץģ0-Ĵ5 - WORD wIntervalTime1[MAX_INTERVAL_NUM];//Ȧ1ļʱ䣬ms - WORD wIntervalTime2[MAX_INTERVAL_NUM];//Ȧ2ļʱ䣬ms - BYTE byRes[32];//ֽ -}NET_DVR_MEASURESPEEDCFG, *LPNET_DVR_MEASURESPEEDCFG; - - -// -typedef struct tagNET_DVR_CLOUDSTORAGE_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes1[64]; -}NET_DVR_CLOUDSTORAGE_COND,*LPNET_DVR_CLOUDSTORAGE_COND; - -//ýṹ -typedef struct tagNET_DVR_POOLPARAM -{ - DWORD dwPoolID;// ƴ洢ڵ - BYTE byRes[4]; -}NET_DVR_POOLPARAM,*LPNET_DVR_POOLPARAM; - -typedef struct tagNET_DVR_CLOUDSTORAGE_CFG -{ - DWORD dwSize; - BYTE byEnable;//0-1- - BYTE byRes[3]; - NET_DVR_IPADDR struIP; - WORD wPort;//ݶ˿ - BYTE byRes1[2]; - char szUser[CLOUD_NAME_LEN/*48*/]; //û - char szPassword[CLOUD_PASSWD_LEN/*48*/]; // - NET_DVR_POOLPARAM struPoolInfo[16];//0ʾ¼أ1ʾΥ¼أ2ʾݳأIPC/D - BYTE byRes2[128]; -}NET_DVR_CLOUDSTORAGE_CFG,*LPNET_DVR_CLOUDSTORAGE_CFG; - -typedef struct tagNET_DVR_PARKLAMP_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byParkingIndex; //Գλţ14 - BYTE byRes[15]; // -}NET_DVR_PARKLAMP_COND, *LPNET_DVR_PARKLAMP_COND; - -typedef struct tagNET_DVR_PARKLAMP_INFOCFG -{ - DWORD dwSize; - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - char sParkingNo[MAX_LICENSE_LEN/*16*/];//λ(ʵʵijλ) - BYTE byLampFlicker;//0~˸ 1 ˸ (λָʾ˸) - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (λָʾɫ) - BYTE byStatus; //λ״̬ 0-޳1-г - BYTE byColorDepth; //ɫdz0-ɫ1-dzɫ,0xff-δ֪ - BYTE byColor;//ɫ0-ɫ1-ɫ2-ɫ3-ɫ4-ɫ5-ɫ6-7-ɫ8-ɫ9-ɫ10-ɫ11-ɫ12-ɫ0xff-δгɫʶ - //Ʒʶ οö VLR_VEHICLE_CLASS - BYTE byVehicleLogoRecog; - BYTE byRes[250];// -}NET_DVR_PARKLAMP_INFOCFG, *LPNET_DVR_PARKLAMP_INFOCFG; - -//Ƶ -typedef struct tagNET_DVR_VIDEOEFFECT -{ - BYTE byBrightnessLevel; /*0-100*/ - BYTE byContrastLevel; /*0-100*/ - BYTE bySharpnessLevel; /*0-100*/ - BYTE bySaturationLevel; /*0-100*/ - BYTE byHueLevel; /*0-100,*/ - BYTE byEnableFunc; //ʹܣλʾbit0-SMART IR()bit1-ն,bit2-ǿʹܣ0-1- - BYTE byLightInhibitLevel; //ǿƵȼ[1-3]ʾȼ - BYTE byGrayLevel; //Ҷֵ0-[0-255]1-[16-235] -}NET_DVR_VIDEOEFFECT, *LPNET_DVR_VIDEOEFFECT; - -// -typedef struct tagNET_DVR_GAIN -{ - BYTE byGainLevel; /*棺0-100*/ - BYTE byGainUserSet; /*ûԶ棻0-100ץĻCCDģʽµץ*/ - BYTE byRes[2]; - DWORD dwMaxGainValue;/*ֵλdB*/ -}NET_DVR_GAIN, *LPNET_DVR_GAIN; - -//ƽ -typedef struct tagNET_DVR_WHITEBALANCE -{ -BYTE byWhiteBalanceMode; /*0-ֶƽ⣨MWB,1-Զƽ1AWB1,2-Զƽ2 (AWB2),3-ԶƸΪƽ(Locked WB) - 4-(Indoor)5-(Outdoor)6-չ(Fluorescent Lamp)7-Ƶ(Sodium Lamp) - 8-Զ(Auto-Track)9-һΰƽ(One Push)10-Զ(Auto-Outdoor) - 11-ƵԶ (Auto-Sodiumlight)12-ˮ(Mercury Lamp)13-Զƽ(Auto) -14-׳ (IncandescentLamp)15-ů(Warm Light Lamp)16-Ȼ(Natural Light) */ -BYTE byWhiteBalanceModeRGain; /*ֶƽʱЧֶƽ R*/ -BYTE byWhiteBalanceModeBGain; /*ֶƽʱЧֶƽ B*/ -BYTE byRes[5]; -}NET_DVR_WHITEBALANCE, *LPNET_DVR_WHITEBALANCE; - -//ع -typedef struct tagNET_DVR_EXPOSURE -{ - BYTE byExposureMode; /*0 ֶع 1Զع*/ - BYTE byAutoApertureLevel; /* ԶȦ, 0-10 */ - BYTE byRes[2]; - DWORD dwVideoExposureSet; /* ԶƵعʱ䣨λus*//*ע:ԶعʱֵΪعֵ 20-1s(1000000us)*/ - DWORD dwExposureUserSet; /* Զعʱ,ץĻӦʱCCDģʽʱץĿٶ*/ - DWORD dwRes; -} NET_DVR_EXPOSURE, *LPNET_DVR_EXPOSURE; - -//̬ -typedef struct tagNET_DVR_WDR -{ - BYTE byWDREnabled; /*̬0 dsibale 1 enable 2 auto*/ - BYTE byWDRLevel1; /*0-F*/ - BYTE byWDRLevel2; /*0-F*/ - BYTE byWDRContrastLevel; /*0-100*/ - BYTE byRes[16]; -} NET_DVR_WDR, *LPNET_DVR_WDR; - -typedef struct tagNET_DVR_WDR_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_WDR struWDR; //Ϣ -}NET_DVR_WDR_CFG, *LPNET_DVR_WDR_CFG; - - -//ҹת -typedef struct tagNET_DVR_DAYNIGHT -{ - BYTE byDayNightFilterType; /*ҹл0-죬1-ҹ2-Զ3-ʱ4-봥, 5-Զģʽ2޹,6-ڹ⣬7-ڹԶ8-ڹⶨʱ*/ - BYTE bySwitchScheduleEnabled; /*0 dsibale 1 enable,()*/ - //ʱģʽ - BYTE byBeginTime; /*ʼʱ䣨Сʱ0-23*/ - BYTE byEndTime; /*ʱ䣨Сʱ0-23*/ - //ģʽ2 - BYTE byDayToNightFilterLevel; //0-7 - BYTE byNightToDayFilterLevel; //0-7 - BYTE byDayNightFilterTime;//(60) - //ʱģʽ - BYTE byBeginTimeMin; //ʼʱ䣨֣0-59 - BYTE byBeginTimeSec; //ʼʱ䣨룩0-59 - BYTE byEndTimeMin; //ʱ䣨֣0-59 - BYTE byEndTimeSec; //ʱ䣨룩0-59 - //봥ģʽ - BYTE byAlarmTrigState; //봥״̬0-죬1-ҹ -} NET_DVR_DAYNIGHT, *LPNET_DVR_DAYNIGHT; - -//GammaУ -typedef struct tagNET_DVR_GAMMACORRECT -{ - BYTE byGammaCorrectionEnabled; /*0 dsibale 1 enable*/ - BYTE byGammaCorrectionLevel; /*0-100*/ - BYTE byRes[6]; -} NET_DVR_GAMMACORRECT, *LPNET_DVR_GAMMACORRECT; - -//ⲹ -typedef struct tagNET_DVR_BACKLIGHT -{ - BYTE byBacklightMode; /*ⲹ:0 off 1 UP2 DOWN3 LEFT4 RIGHT5MIDDLE6Զ壬10-11-Զ12-򱳹ⲹ*/ - BYTE byBacklightLevel; /*0x0-0xF*/ - BYTE byRes1[2]; - DWORD dwPositionX1; //X1 - DWORD dwPositionY1; //Y1 - DWORD dwPositionX2; //X2 - DWORD dwPositionY2; //Y2 - BYTE byRes2[4]; -} NET_DVR_BACKLIGHT, *LPNET_DVR_BACKLIGHT; - -//ֽ빦 -typedef struct tagNET_DVR_NOISEREMOVE -{ - BYTE byDigitalNoiseRemoveEnable; /*0-ã1-ͨģʽֽ룬2-רģʽֽ*/ - BYTE byDigitalNoiseRemoveLevel; /*ͨģʽֽ뼶0x0-0xF*/ - BYTE bySpectralLevel; /*רģʽ¿ǿȣ0-100*/ - BYTE byTemporalLevel; /*רģʽʱǿȣ0-100*/ - BYTE byDigitalNoiseRemove2DEnable; /* ץ֡2D룬0-ã1- */ - BYTE byDigitalNoiseRemove2DLevel; /* ץ֡2D뼶0-100 */ - BYTE byRes[2]; -} NET_DVR_NOISEREMOVE, *LPNET_DVR_NOISEREMOVE; - -//CMOSģʽǰ˾ͷ -typedef struct tagNET_DVR_CMOSMODCFG -{ - BYTE byCaptureMod; //ץģʽ0-ץģʽ11-ץģʽ2 - BYTE byBrightnessGate;//ֵ - BYTE byCaptureGain1; //ץ1,0-100 - BYTE byCaptureGain2; //ץ2,0-100 - DWORD dwCaptureShutterSpeed1;//ץĿٶ1 - DWORD dwCaptureShutterSpeed2;//ץĿٶ2 - BYTE byRes[4]; -}NET_DVR_CMOSMODECFG, *LPNET_DVR_CMOSMODECFG; - -//ǰ˲ -typedef struct tagNET_DVR_CAMERAPARAMCFG -{ - DWORD dwSize; - NET_DVR_VIDEOEFFECT struVideoEffect;/*ȡԱȶȡͶȡȡɫ*/ - NET_DVR_GAIN struGain;/*Զ*/ - NET_DVR_WHITEBALANCE struWhiteBalance;/*ƽ*/ - NET_DVR_EXPOSURE struExposure; /*ع*/ - NET_DVR_GAMMACORRECT struGammaCorrect;/*GammaУ*/ - NET_DVR_WDR struWdr;/*̬*/ - NET_DVR_DAYNIGHT struDayNight;/*ҹת*/ - NET_DVR_BACKLIGHT struBackLight;/*ⲹ*/ - NET_DVR_NOISEREMOVE struNoiseRemove;/*ֽ*/ - BYTE byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/ - /* - 0-ԶȦ, - 1-ֶȦ, - 2-P-Iris1, - 3-Union 3-9mm F1.6-2.7 (T5280-PQ1) [IPC5.1.7] - 4-Union 2.8-12mm F1.6-2.7 (T5289-PQ1) [IPC5.1.7] - 5-private 3.8-16mm F1.5HV3816P-8MPIR) - 6-private 11-40mm F1.7 (HV1140P-8MPIR) - 7-private 2.7-12mm F1.2TV2712P-MPIR - 8- MZ5721D-12MPIR - 9- MZ1555D-12MPIR - 10- MZ5721D-12MPIR(RS485) - 11- MZ1555D-12MPIR(RS485) - */ - BYTE byIrisMode; - BYTE byMirror ; /* 0 off1- leftright2- updown3-center */ - BYTE byDigitalZoom; /*:0 dsibale 1 enable*/ - BYTE byDeadPixelDetect; /*,0 dsibale 1 enable*/ - BYTE byBlackPwl;/*ڵƽ , 0-255*/ - BYTE byEptzGate;// EPTZر:0-ǫ̃1-ǫ̃ - BYTE byLocalOutputGate;//ر0-ر1-BNC 2-HDMIر 11-12-ü13-ü - //20-HDMI_720P50 - //21-HDMI_720P60 - //22-HDMI_1080I60 - //23-HDMI_1080I50 - //24-HDMI_1080P24 - //25-HDMI_1080P25 - //26-HDMI_1080P30 - //27-HDMI_1080P50 - //28-HDMI_1080P60 - //40-SDI_720P50, - //41-SDI_720P60, - //42-SDI_1080I50, - //43-SDI_1080I60, - //44-SDI_1080P24, - //45-SDI_1080P25, - //46-SDI_1080P30, - //47-SDI_1080P50, - //48-SDI_1080P60, - //49-SDI_720P25 - //50-SDI_720P30 - //51-SDI_1080I25 - //52-SDI_1080I30 - //60- YPBPR_720P50 - //61-YPBPR_720P60 - //62-YPBPR_1080I50 - //63-YPBPR_1080I60 - //64-YPBPR_1080P24 - //65-YPBPR_1080P25 - //66-YPBPR_1080P30 - //67-YPBPR_1080P50 - //68-YPBPR_1080P60 - //69-YPBPR_720P25 - //70-YPBPR_720P30 - //71- HDMI_1080Pûо֡ʣ֡豸captureModeһ£ - //72- HDMI_720Pûо֡ʣ֡豸captureModeһ£ - //73- HDMI_2160Pûо֡ʣ֡豸captureModeһ£ - BYTE byCoderOutputMode;//fpgaģʽ0ֱͨ3ذ - BYTE byLineCoding; //Ƿб룺0-1- - BYTE byDimmerMode; //ģʽ0-Զ1-Զ - BYTE byPaletteMode; //ɫ壺0-ȣ1-ȣ2-ɫ28-ɫ8 - BYTE byEnhancedMode; //ǿʽܱ̽ߣ0-ǿ1-12-23-34-4 - BYTE byDynamicContrastEN; //̬Աȶǿ 0-1 - BYTE byDynamicContrast; //̬Աȶ 0-100 - BYTE byJPEGQuality; //JPEGͼ 0-100 - NET_DVR_CMOSMODECFG struCmosModeCfg;//CMOSģʽǰ˲ãͷģʽȡ - BYTE byFilterSwitch; //˲أ0-ã1- - BYTE byFocusSpeed; //ͷٶȣ0-10 - BYTE byAutoCompensationInterval; //ʱԶŲ1-120λ - BYTE bySceneMode; //ģʽ0-⣬1-ڣ2-Ĭϣ3- -}NET_DVR_CAMERAPARAMCFG, *LPNET_DVR_CAMERAPARAMCFG; - -//͸ -typedef struct tagNET_DVR_DEFOGCFG -{ - BYTE byMode; //ģʽ0-ã1-Զģʽ2-ģʽ - BYTE byLevel; //ȼ0-100 - BYTE byRes[6]; -}NET_DVR_DEFOGCFG, *LPNET_DVR_DEFOGCFG; - -//ӷ -typedef struct tagNET_DVR_ELECTRONICSTABILIZATION -{ - BYTE byEnable;//ʹ 0- ã1- - BYTE byLevel; //ȼ0-100 - BYTE byRes[6]; -}NET_DVR_ELECTRONICSTABILIZATION, *LPNET_DVR_ELECTRONICSTABILIZATION; - -//ģʽ -typedef struct tagNET_DVR_CORRIDOR_MODE_CCD -{ - BYTE byEnableCorridorMode; //Ƿģʽ 0ã 1 - BYTE byRes[11]; -}NET_DVR_CORRIDOR_MODE_CCD, *LPNET_DVR_CORRIDOR_MODE_CCD; - -// SMART IR()ò -typedef struct tagNET_DVR_SMARTIR_PARAM -{ - BYTE byMode;//0ֶ1Զ - BYTE byIRDistance;//ȼ(ȼ)level:1~100 Ĭ:50ֶģʽӣ - BYTE byShortIRDistance;// ƾȼ(1~100) - BYTE byLongIRDistance;// Զƾȼ(1~100) -}NET_DVR_SMARTIR_PARAM,*LPNET_DVR_SMARTIR_PARAM; - -//byIrisMode ΪP-Iris1ʱЧúȦСȼģʽ -typedef struct tagNET_DVR_PIRIS_PARAM -{ - BYTE byMode;//0-Զ1-ֶ - BYTE byPIrisAperture;//ȦСȼ(ȼ,ȦС)level:1~100 Ĭ:50ֶģʽӣ - BYTE byRes[6]; -}NET_DVR_PIRIS_PARAM,*LPNET_DVR_PIRIS_PARAM; - - -// 2014-02-25 -typedef struct tagNET_DVR_LASER_PARAM_CFG -{ - //Length = 16 - BYTE byControlMode; //ģʽ 0-Ч1-Զ2-ֶ ĬԶ - BYTE bySensitivity; // 0-100 Ĭ50 - BYTE byTriggerMode; //ƴģʽ 0-Ч1-о2- Ĭϻо - BYTE byBrightness; //ģʽΪֶģʽЧ 0-255 Ĭ100 - BYTE byAngle; //ƽǶ 0-ЧΧ1-36 Ĭ12䷶ΧΪһԲȦڼǶǵԲİ뾶ĴС - BYTE byLimitBrightness; //ģʽΪԶģʽЧ 0~100 2014-01-26 - BYTE byEnabled ; //ֶƼʹ 0-رգ1- - BYTE byIllumination; //ǿ0~100 - BYTE byLightAngle; //Ƕ 0~100 - BYTE byRes[7]; // -} NET_DVR_LASER_PARAM_CFG, *LPNET_DVR_LASER_PARAM_CFG; - -typedef struct tagNET_DVR_FFC_PARAM -{ - //1-Schedule Mode,2-Temperature Mode, 3-Off - BYTE byMode; - //ʱ:ʾλӣѡ10,20,30,40,50,60,120,180,240 - BYTE byRes1; - WORD wCompensateTime; //ʱģʽЧ - BYTE byRes2[4]; -}NET_DVR_FFC_PARAM,*LPNET_DVR_FFC_PARAM; - -typedef struct tagNET_DVR_DDE_PARAM //sensor -{ - BYTE byMode;//1-Off,2-Normal Mode,3-Expert Mode - BYTE byNormalLevel;//ͨģʽȼΧ[1,100]ͨģʽЧ - BYTE byExpertLevel;//רģʽȼΧ[1,100]רģʽЧ - BYTE byRes[5]; -}NET_DVR_DDE_PARAM,*LPNET_DVR_DDE_PARAM; - -typedef struct tagNET_DVR_AGC_PARAM -{ - BYTE bySceneType;//1-Normal Sence,2-Highlight Sence,3-Manual Sence - BYTE byLightLevel;//ȵȼ[1,100]ֶģʽЧ - BYTE byGainLevel; //ȼ[1,100]ֶģʽЧ - BYTE byRes[5]; -}NET_DVR_AGC_PARAM,*LPNET_DVR_AGC_PARAM; - -//ץĻCCD 64ֽ -typedef struct tagNET_DVR_SNAP_CAMERAPARAMCFG -{ - BYTE byWDRMode; // ̬ģʽ;0~رգ1~ֿ̬ 2~̬ - BYTE byWDRType; // ̬лģʽ; 0~ǿã1~ʱã2~ - BYTE byWDRLevel; // ̬ȼ0~6Ӧ1-7Ĭ23 - BYTE byRes1; - NET_DVR_TIME_EX struStartTime; //ʼ̬ʱ - NET_DVR_TIME_EX struEndTime; //̬ʱ - BYTE byDayNightBrightness; //ҹתֵ0-100Ĭ50 - //ɫǿ - BYTE byMCEEnabled;//ɫǿʹܣtruefalseر - BYTE byMCELevel;//ɫǿǿȣ0~100Ĭֵ50 - //ԶԱȶ - BYTE byAutoContrastEnabled;//ԶԱȶʹܣtruefalseر - BYTE byAutoContrastLevel;//ԶԱȵȼ0-100,Ĭ50 - //ϸǿ - BYTE byLSEDetailEnabled;//ϸǿʹܣtruefalseر - BYTE byLSEDetailLevel;//ϸǿȼ0-100,Ĭ50 - // License Plate Definition Enhancementǿ - BYTE byLPDEEnabled;//ǿʹܣtruefalseر - BYTE byLPDELevel;//ǿȼ0-100,Ĭ50 - //Աȶǿ - BYTE byLseEnabled; //Աȶǿʹܣtruefalseر - BYTE byLseLevel; //Աȶǿȼ0-100,Ĭ0 - BYTE byLSEHaloLevel;//ƵȼΧ 0-100,Ĭ0 - BYTE byLseType; //Աȶǿлģʽ; 0~ǿã1~ʱã2~ãֶοͬʱbyLseLevelbyLSEHaloLevel - BYTE byRes2[3]; - NET_DVR_TIME_EX struLSEStartTime; //ʼԱȶǿʱ䣨byLseTypeΪ1ʱЧ - NET_DVR_TIME_EX struLSEEndTime; //Աȶǿʱ䣨byLseTypeΪ1ʱЧ - BYTE byLightLevel;//Ϊȵȼ0-100,Ĭ0byLseTypeΪ2ʱЧ - //ƶԱȶ - BYTE byPlateContrastLevel;//ƶԱȶȵȼ0~100Ĭ0 - //ƱͶ - BYTE byPlateSaturationLevel;//ƱͶȵȼ0~100Ĭ0 - BYTE byRes[9]; -} NET_DVR_SNAP_CAMERAPARAMCFG,*LPNET_DVR_SNAP_CAMERAPARAMCFG; - -//ѧ͸ -typedef struct tagNET_DVR_OPTICAL_DEHAZE -{ - BYTE byEnable; //0~ùѧ͸1~ùѧ͸ - BYTE byRes[7]; -} NET_DVR_OPTICAL_DEHAZE, *LPNET_DVR_OPTICAL_DEHAZE; - -//AGCãAGCģʽΪЧʱNET_DVR_AGC_PARAMòΪ׼AGCģʽΪԶֶʱNET_DVR_AGC_PARAMòЧ -typedef struct tagNET_DVR_THERMOMETRY_AGC -{ - BYTE byMode;//AGCģʽ0~Ч1~Զ2~ֶ - BYTE byRes1[3]; - int iHighTemperature;//¶ȣΧΪ-273~9999϶ȣ1~ֶģʽЧ - int iLowTemperature;//¶ȣΧΪ-273~9999϶ȣ1~ֶģʽЧ - BYTE byRes[8]; -}NET_DVR_THERMOMETRY_AGC, *LPNET_DVR_THERMOMETRY_AGC; - -//ǰ˲ -typedef struct tagNET_DVR_CAMERAPARAMCFG_EX -{ - DWORD dwSize; - NET_DVR_VIDEOEFFECT struVideoEffect;/*ȡԱȶȡͶȡȡɫ*/ - NET_DVR_GAIN struGain;/*Զ*/ - NET_DVR_WHITEBALANCE struWhiteBalance;/*ƽ*/ - NET_DVR_EXPOSURE struExposure; /*ع*/ - NET_DVR_GAMMACORRECT struGammaCorrect;/*GammaУ*/ - NET_DVR_WDR struWdr;/*̬*/ - NET_DVR_DAYNIGHT struDayNight;/*ҹת*/ - NET_DVR_BACKLIGHT struBackLight;/*ⲹ*/ - NET_DVR_NOISEREMOVE struNoiseRemove;/*ֽ*/ - BYTE byPowerLineFrequencyMode; /*0-50HZ; 1-60HZ*/ - /* - 0-ԶȦ, - 1-ֶȦ, - 2-P-Iris1, - 3-Union 3-9mm F1.6-2.7 (T5280-PQ1) [IPC5.1.7] - 4-Union 2.8-12mm F1.6-2.7 (T5289-PQ1) [IPC5.1.7] - 5-private 3.8-16mm F1.5HV3816P-8MPIR) - 6-private 11-40mm F1.7 (HV1140P-8MPIR) - 7-private 2.7-12mm F1.2TV2712P-MPIR - 8- MZ5721D-12MPIR - 9- MZ1555D-12MPIR - 10- MZ5721D-12MPIR(RS485) - 11- MZ1555D-12MPIR(RS485) - */ - BYTE byIrisMode; - BYTE byMirror ; /* 0 off1- leftright2- updown3-center 4-Auto*/ - BYTE byDigitalZoom; /*:0 dsibale 1 enable*/ - BYTE byDeadPixelDetect; /*,0 dsibale 1 enable*/ - BYTE byBlackPwl;/*ڵƽ , 0-255*/ - BYTE byEptzGate;// EPTZر:0-ǫ̃1-ǫ̃ - BYTE byLocalOutputGate;//ر0-ر1-BNC 2-HDMIر - //20-HDMI_720P50 - //21-HDMI_720P60 - //22-HDMI_1080I60 - //23-HDMI_1080I50 - //24-HDMI_1080P24 - //25-HDMI_1080P25 - //26-HDMI_1080P30 - //27-HDMI_1080P50 - //28-HDMI_1080P60 - BYTE byCoderOutputMode;//fpgaģʽ0ֱͨ3ذ - BYTE byLineCoding; //Ƿб룺0-1- - BYTE byDimmerMode; //ģʽ0-Զ1-Զ - BYTE byPaletteMode; //ɫ壺0-ȣ1-ȣ2-ɫ28-ɫ8, 9-ں1,10-ʺ,11-ں2,12-1,13-2,14-ɫ,15-ɫ1,16-ɫ2,17-,18-,19-,20-,21-22-ɫ3 - BYTE byEnhancedMode; //ǿʽܱ̽ߣ0-ǿ1-12-23-34-4 - BYTE byDynamicContrastEN; //̬Աȶǿ 0-1 - BYTE byDynamicContrast; //̬Աȶ 0-100 - BYTE byJPEGQuality; //JPEGͼ 0-100 - NET_DVR_CMOSMODECFG struCmosModeCfg;//CMOSģʽǰ˲ãͷģʽȡ - BYTE byFilterSwitch; //˲أ0-ã1- - BYTE byFocusSpeed; //ͷٶȣ0-10 - BYTE byAutoCompensationInterval; //ʱԶŲ1-120λ - BYTE bySceneMode; //ģʽ0-⣬1-ڣ2-Ĭϣ3- - NET_DVR_DEFOGCFG struDefogCfg;//͸ - NET_DVR_ELECTRONICSTABILIZATION struElectronicStabilization;//ӷ - NET_DVR_CORRIDOR_MODE_CCD struCorridorMode;//ģʽ - BYTE byExposureSegmentEnable; //0~,1~ عʱʽ״عϵʱعʱ䵽мֵȻ浽мֵع⵽ֵ浽ֵ - BYTE byBrightCompensate;//ǿ [0~100] - /* - 0-رա1-640*480@25fps2-640*480@30ps3-704*576@25fps4-704*480@30fps5-1280*720@25fps6-1280*720@30fps - 7-1280*720@50fps8-1280*720@60fps9-1280*960@15fps10-1280*960@25fps11-1280*960@30fps - 12-1280*1024@25fps13--1280*1024@30fps14-1600*900@15fps15-1600*1200@15fps16-1920*1080@15fps - 17-1920*1080@25fps18-1920*1080@30fps19-1920*1080@50fps20-1920*1080@60fps21-2048*1536@15fps22-2048*1536@20fps - 23-2048*1536@24fps24-2048*1536@25fps25-2048*1536@30fps26-2560*2048@25fps27-2560*2048@30fps - 28-2560*1920@7.5fps29-3072*2048@25fps30-3072*2048@30fps31-2048*1536@12.532-2560*1920@6.25 - 33-1600*1200@2534-1600*1200@3035-1600*1200@12.536-1600*900@12.537-1280*960@12.5fps38-800*600@25fps39-800*600@30fps40 - 4000*3000@12.5fps41-4000*3000@15fps42-4096*2160@20fps43-3840*2160@20fps 44-960*576@25fps45-960*480@30fps46-752*582@25fps - 47-768*494@30fps48-2560*1440@25fps49-2560*1440@30fps 50-720P@100fps51-720P@120fps52-2048*1536@50fps53-2048*1536@60fps - 54-3840*2160@25fps55-3840*2160@30fps56-4096*2160@25fps57-4096*2160@30fps 58-1280*1024@50fps59-1280*1024@60fps - 60-3072*2048@50fps61-3072*2048@60fps62-3072*1728@25fps63-3072*1728@30fps64-3072*1728@50fps65-3072*1728@60fps66-336*256@50fps67-336*256@60fps - 68-384*288@50fps69-384*288@60fps 70- 640 * 512@50fps 71- 640 * 512@60fps72-2592*1944@25fps73-2592*1944@30fps74-2688*1536@25fps75-2688*1536@30fps - 76-2592*1944@20fps77-2592*1944@15fps78-2688*1520@20fps79-2688*1520@15fps80-2688*1520@25fps81-2688*1520@30fps82- 2720*2048@25fps 83- 2720*2048@30fps - 84-336*256@25fps85- 384*288@25fps86-640*512@25fps87-1280*960@50fps88-1280*960@60fps89-1280*960@100fps90-1280*960@120fps91-4000*3000@20fps - 92-1920*1200@25fps93-1920*1200@30fps94-2560*1920@25fps95-2560*1920@20fps96-2560*1920@30fps97-1280*1920@25fps98-1280*1920@30fps - 99-4000*3000@24fps100-4000*3000@25fps101-4000*3000@10fps102- 384*288@30fps103-2560*1920@15fps104-2400*3840@25fps105-1200*1920@25fps - 106-4096*1800@30fps107-3840*1680@30fps108-2560*1120@30fps109-704*320@30fps110-1280*560@30fps111-4096*1800@25fps112-3840*1680@25fps - 113-2560*1120@25fps114-704*320@25fps115-1280*560@25fps116-2400*3840@24fps117-3840*2400@24fps118-3840*2400@25fps119-2560*1920@12.5fps - 120-2560*2048@12fps121-2560*2048@15fps122-2560*1536@25fps123-2560*1536@30fps124-2256*2048@25fps125-2256*2048@30fps126-2592*2592@12.5fps127-2592*2592@15fps - 128 - 640*512@30fps129-2048*1520@30fps130-2048*1520@25fps131-3840*2160@24fps132-2592*1520@25fps133-2592*1520@30fps134-2592*1536@25fps135-2592*1536@30fps - 136-640*960@25fps137-640*960@24fps139-3840*1080@25fps140-3840*1080@30fps142-2992*2192@25fps143-2992*2192@30fps144-3008*2160@25fps145-3008*2160@30fps - 146-3072*1728@20fps147-2560*1440@20fps148-2160*3840@25fps149-2160*3840@30fps150-7008*1080@25fps151-7008*1080@30fps152-3072*2048@20fps153-1536*864@25fps - 154-2560*1920@24fps155-2400*3840@30fps156-3840*2400@30fps157-3840*2160@15fps - 158-384*288@8.3fps159-640*512@8.3fps160-160*120@8.3fps161-1024*768@8.3fps162-640*480@8.3fps163-3840*2160@12.5fps164-2304*1296@30fps165-2304*1296@25fps - 166-2560*1440@24fps167-2688*1512@25fps168-2688*1512@30fps169-2688*1512@50fps170-2688*1512@60fps171-1536*864@30fps172-2560*1440@50fps173-2560*1440@60fps - 174-2048*2048@25fps175-2048*2048@30fps176-4000*3060@20fps177-3060*3060@25fps178-3060*3060@30fps179-3000*3000@25fps180-3000*3000@30fps181-8160*3616@30fps - 182-8160*3616@25fps183-3000*3000@20fps184-3000*3000@15fps185-3000*3000@12.5fps186-5472*3648@25fps187-5472*3648@30fps188-7680*4320@25fps189-7680*4320@30fps - 190-8160*2400@25fps191-8160*2400@30fps192-5520*2400@25fps193-5520*2400@30fps194-2560*1440@15fps195-1944*1212@24fps196-1944*1212@25fps197-3456*1920@30fps - 198-4800*2688@25fps199-4800*2688@30fps200-6480*1080@25fps201-6480*1080@30fps202-8640*1440@25fps203-8640*1440@30fps204-3456*1920@25fps205-2688*1520@50fps - 206-2688*1520@60fps207-4976*1452@25fps208-4976*1452@30fps 209-3200*1800@25fps210-3200*1800@30fps211-5472*3648@24fps212-1920*1080@12.5fps213-2944*1656@20fps - 214-1920*1080@24fps215-4800*1600@25fps216-4800*1600@30fps217-2560*1440@12.5fps218-6560*3690@1fps219-5120*1400@20fps220-7680*4320@1fps221-1920*1080@20fps - 222-5120*1440@20fps223-4080*1808@25fps224-4080*1808@30fps225-4080*1152@25fps226-4080*1152@30fps227-2688*1944@20fps228-2592*1944@24fps229-3200*1800@15fps - 230-4416*1696@20fps231-3456*1080@25fps232-3200*1800@12.5fps233-2688*1532@25fps234-2688*1532@30fps235-4416*1696@12.5fps236-3840*2048P12.5fps237-3840*4096P12.5fps - 238-5120*1440@12.5fps239-3840*1080@24fps240-320*256@30fps241-3264*2448@25fps242-3264*2448@30fps243-5430*3054@1fps244-2688*1520@24@24fps245-4000*3000@30fps - 246-1632*1224@25fps247-1632*1224@30fps248-160*120@25fps249-1920*1440@25fps250-1920*1440@30fps-3632*1632@20fps252-3040*1368@25fps253-3040*1368@24fps - 254-5120*1440@25fps255-ֶαʾΧ - 豸ģʽ255ʱ - 1ȡʱֵֶΪ255޾庬壬ڱʾʵģʽֵ255ʵwCaptureModeNwCaptureModePʾ - 2ʱֵҪΪ255ʵwCaptureModeNwCaptureModePʾ - 豸ģʽС255ʱ - 1ȡʱֵֶΪʵģʽֵwCaptureModeNwCaptureModePֵ账 - 2ʱֶΪʵģʽֵwCaptureModeNwCaptureModePֲֵ - */ - BYTE byCaptureModeN; //ƵģʽNƣ - BYTE byCaptureModeP; //ƵģʽPƣ - NET_DVR_SMARTIR_PARAM struSmartIRParam; //ŹϢ - NET_DVR_PIRIS_PARAM struPIrisParam;//PIrisϢӦbyIrisModeֶδ2-PIris1ʼЧ - //2014-02-25 - NET_DVR_LASER_PARAM_CFG struLaserParam; // - NET_DVR_FFC_PARAM struFFCParam; - NET_DVR_DDE_PARAM struDDEParam; - NET_DVR_AGC_PARAM struAGCParam; - BYTE byLensDistortionCorrection;//ͷУ 0-ر,1- - BYTE byDistortionCorrectionLevel;//Уȼ0-1-ȼһ2-ȼ3-ȼ;255-Զ - BYTE byCalibrationAccurateLevel;// Уǿ[0-100] - BYTE byZoomedInDistantViewLevel;//Զ˷Ŵȼ[0-100] - NET_DVR_SNAP_CAMERAPARAMCFG struSnapCCD ; //ץĻCCDֻץĻ - NET_DVR_OPTICAL_DEHAZE struOpticalDehaze;//ѧ͸ - NET_DVR_THERMOMETRY_AGC struThermAGC;//AGC - BYTE byFusionMode;//˫Ƶںģʽ0~ȳģʽ1~ںģʽ2~лģʽ,3~ɼģʽ, 4~ںϺڰģʽ, 5~ںϲɫģʽ-ݵأ6~ںϲɫģʽ-ĵأ7~ںϲɫģʽ-ѩأ8~ںϲɫģʽ-9~ںϲɫģʽ- - BYTE byHorizontalFOV;//ˮƽӳ[0-100] - BYTE byVerticalFOV;//ֱӳ[0-100] - BYTE byBrightnessSuddenChangeSuppression;//ͻ0-ر,1- - BYTE byGPSEnabled;//GPSʹܣ0-أ1- - BYTE byRes; - /* - 256-160*120@50fps257-3200*1800@20fps258-800*480@25fps259-2688*1944@25fps260-640*384@50fps261-8000*6000@1fps262-1440*1080@50fps263-1440*1080@60fps, - 264-8160*3616@24fps265-3632*1632@25fps266-3632*1632@30fps267-3632*1632@20fps268-1760*1320@25fps269-4000*3000@4fps270-192*256@25fps - */ - WORD wCaptureModeN; //ƵģʽNƣģʽС255ʱbyCaptureModeNһ£255ʱԸֶηֵжϡ - WORD wCaptureModeP; //ƵģʽPƣģʽС255ʱbyCaptureModeNһ£255ʱԸֶηֵж - BYTE byRes2[150]; -}NET_DVR_CAMERAPARAMCFG_EX, *LPNET_DVR_CAMERAPARAMCFG_EX; - -typedef struct tagNET_DVR_FOCUSING_POSITION_STATE -{ - DWORD dwSize; - BYTE byState;//۽λ״̬ 0-λ1-λ - BYTE byRes[31]; -}NET_DVR_FOCUSING_POSITION_STATE, *LPNET_DVR_FOCUSING_POSITION_STATE; - -typedef enum _VCA_PLATE_COLOR_ -{ - VCA_BLUE_PLATE = 0, //ɫ - VCA_YELLOW_PLATE, //ɫ - VCA_WHITE_PLATE, //ɫ - VCA_BLACK_PLATE, //ɫ - VCA_GREEN_PLATE, //ɫ - VCA_BKAIR_PLATE, //񺽺ɫ - VCA_RED_PLATE, //ɫ - VCA_ORANGE_PLATE, //ɫ - VCA_BROWN_PLATE = 8, //ɫ - VCA_OTHER = 0xff // -}VCA_PLATE_COLOR; - -// -typedef enum _VCA_PLATE_TYPE_ -{ - VCA_STANDARD92_PLATE = 0, //׼ó - VCA_STANDARD02_PLATE, //02ʽó - VCA_WJPOLICE_PLATE, //侯 - VCA_JINGCHE_PLATE, // - STANDARD92_BACK_PLATE, //ó˫β - VCA_SHIGUAN_PLATE, //ʹݳ - VCA_NONGYONG_PLATE, //ũó - VCA_MOTO_PLATE, //Ħг - NEW_ENERGY_PLATE, //Դ - VCA_CONSULATE_PLATE = 9, //¹ݳ - VCA_EMERGENCY_PLATE = 10, //Ӧ - //2017-05-18 ж - TRANSPORT_PLATE = 0x20, //䳵 - COMMERCIAL_PLATE, //ó - PRIVATE_PLATE, //˽ҳ - LEARNING_PLATE, // - CD_PLATE, //ʹݳ - CC_PLATE, //ʹݳ - ARMY_PLATE, // - PROTOCOL_PLATE, //PROTOCOL - GOVERNMENT_PLATE, // - EXPORT_PLATE, //EXPORT - TAXI_PLATE, //⳵ - TESTING_PLATE, //TESTING - TRANSFER_PLATE, //TRANSFER - TRUCK_PLATE, // - BUS_PLATE, // - PUBLIC_PLATE, //PUBLIC - PUB_TRANS_PLATE, //PUBLIC TRANSFER - PRI_TRANS_PLATE, //PRIVATE TRANSPORT - TUMBREL_PLATE, //ֳ - HONG_KONG_MACAO_PLATE, //۰ - UNKNOWN_PLATE = 0xff, //δ֪δʶ -}VCA_PLATE_TYPE; - -//ʶ -typedef enum _VTR_RESULT -{ - VTR_RESULT_OTHER = 0, //δ֪ - VTR_RESULT_BUS = 1, //ͳ - VTR_RESULT_TRUCK = 2, // - VTR_RESULT_CAR = 3, //γ - VTR_RESULT_MINIBUS = 4, // - VTR_RESULT_SMALLTRUCK = 5, //С - VTR_RESULT_HUMAN = 6, // - VTR_RESULT_TUMBREL = 7, //ֳ - VTR_RESULT_TRIKE = 8, //ֳ - VTR_RESULT_SUV_MPV = 9, //SUV/MPV - VTR_RESULT_MEDIUM_BUS = 10, //Ϳͳ - VTR_RESULT_MOTOR_VEHICLE = 11, // - VTR_RESULT_NON_MOTOR_VEHICLE = 12, //ǻ - VTR_RESULT_SMALLCAR = 13, //Сͽγ - VTR_RESULT_MICROCAR = 14, //΢ͽγ - VTR_RESULT_PICKUP = 15, //Ƥ - VTR_RESULT_CONTAINER_TRUCK = 16, // װ俨 - VTR_RESULT_MINI_TRUCK = 17, // ΢忨 - VTR_RESULT_SLAG_CAR = 18, // - VTR_RESULT_CRANE = 19, // ̳ - VTR_RESULT_OIL_TANK_TRUCK = 20, // ͹޳ - VTR_RESULT_CONCRETE_MIXER = 21, // 賵 - VTR_RESULT_PLATFORM_TRAILER = 22, // ƽϳ - VTR_RESULT_HATCHBACK = 23, // γ - VTR_RESULT_SALOON = 24, // γ - VTR_RESULT_SPORT_SEDAN = 25, // - VTR_RESULT_SMALL_BUS = 26 //СͿͳ -}VTR_RESULT; - - -//ɫ -typedef enum _VCR_CLR_CLASS -{ - VCR_CLR_UNSUPPORT = 0, //֧ - VCR_CLR_WHITE = 1, // - VCR_CLR_SILVER = 2, // - VCR_CLR_GRAY = 3, // - VCR_CLR_BLACK = 4, // - VCR_CLR_RED = 5, // - VCR_CLR_DARKBLUE = 6, // - VCR_CLR_BLUE = 7, // - VCR_CLR_YELLOW = 8, // - VCR_CLR_GREEN = 9, // - VCR_CLR_BROWN = 10, // - VCR_CLR_PINK = 11, // - VCR_CLR_PURPLE = 12, // - VCR_CLR_DARKGRAY = 13, // - VCR_CLR_CYAN = 14 //ɫ -}VCR_CLR_CLASS; - -// 2013-11-04 -typedef enum _VCA_OPERATE_TYPE_ -{ - VCA_LICENSE_TYPE = 0x1, //ƺ - VCA_PLATECOLOR_TYPE = 0x2, //ɫ - VCA_CARDNO_TYPE = 0x4, // - VCA_PLATETYPE_TYPE = 0x8, // - VCA_LISTTYPE_TYPE = 0x10, // - VCA_INDEX_TYPE = 0x20, //ˮ 2014-02-25 - VCA_OPERATE_INDEX_TYPE = 0x40 // 2014-03-03 -}VCA_OPERATE_TYPE; - -typedef enum _VCA_ILLEGAL_TYPE_ -{ - VCA_POSTPIC_TYPE = 0x1, //ͼƬ - VCA_LOWSPEED_TYPE = 0x2, // - VCA_HIGHSPEED_TYPE = 0x4, // - VCA_RETROGRADE_TYPE = 0x8, // - VCA_RUSH_REDLIGHT_TYPE = 0x10, // - VCA_PRESS_LANE_TYPE = 0x20, //ѹ - VCA_VIOLATE_GUIDE_TYPE = 0x40,// - VCA_ROAD_STRAND_TYPE = 0x80,//·(豸֧) - VCA_VEHICLE_ILLEGAL_LANE_TYPE = 0x100,//ռ - VCA_ILLEGAL_LANE_CHANGE_TYPE = 0x200,//Υ - VCA_ILLEGAL_LANE_DRIVE_TYPE = 0x400,// - VCA_VIOLATE_BAN_TYPE = 0x800,//Υ - VCA_CROSS_PARKING_TYPE = 0x1000,//·ͣ - VCA_GREEN_PARKING_TYPE = 0x2000//̵ͣ -}VCA_ILLEGAL_TYPE; - -typedef enum _VCA_VEHICLE_TYPE_ -{ - VCA_OTHER_TYPE = 0x1, // - VCA_SMALLCAR_TYPE = 0x2, //Сͳ - VCA_BIGCAR_TYPE = 0x4, //ͳ - VCA_BUS_TYPE = 0x8, //ͳ - VCA_TRUCK_TYPE = 0x10, // - VCA_CAR_TYPE = 0x20, //γ - VCA_MINIBUS_TYPE = 0x40, // - VCA_SMALL_TRUCK_TYPE = 0x80 //С -}VCA_VEHICLE_TYPE; - -//Ʒ -typedef enum _VLR_VEHICLE_CLASS -{ - VLR_OTHER = 0, // - VLR_VOLKSWAGEN = 1, // - VLR_BUICK = 2, // - VLR_BMW = 3, // - VLR_HONDA = 4, // - VLR_PEUGEOT = 5, // - VLR_TOYOTA = 6, // - VLR_FORD = 7, // - VLR_NISSAN = 8, //ղ - VLR_AUDI = 9, //µ - VLR_MAZDA = 10, //Դ - VLR_CHEVROLET = 11, //ѩ - VLR_CITROEN = 12, //ѩ - VLR_HYUNDAI = 13, //ִ - VLR_CHERY = 14, // - VLR_KIA = 15, // - VLR_ROEWE = 16, // - VLR_MITSUBISHI = 17, // - VLR_SKODA = 18, //˹´ - VLR_GEELY = 19, // - VLR_ZHONGHUA = 20, //л - VLR_VOLVO = 21, //ֶ - VLR_LEXUS = 22, //׿˹ - VLR_FIAT = 23, // - VLR_EMGRAND = 24, //ۺ() - VLR_DONGFENG = 25, // - VLR_BYD = 26, //ǵ - VLR_SUZUKI = 27, //ľ - VLR_JINBEI = 28, // - VLR_HAIMA = 29, // - VLR_SGMW = 30, // - VLR_JAC = 31, // - VLR_SUBARU = 32, //˹³ - VLR_ENGLON = 33, //Ӣ() - VLR_GREATWALL = 34, // - VLR_HAFEI = 35, // - VLR_ISUZU = 36, //ʮ() - VLR_SOUEAST = 37, // - VLR_CHANA = 38, // - VLR_FOTON = 39, // - VLR_XIALI = 40, //(һ) - VLR_BENZ = 41, // - VLR_FAW = 42, //һ - VLR_NAVECO = 43, //ά - VLR_LIFAN = 44, // - VLR_BESTURN = 45, //һ(һ) - VLR_CROWN = 46, //ʹ() - VLR_RENAULT = 47, //ŵ - VLR_JMC = 48, //JMC() - VLR_MG = 49, //MG - VLR_KAMA = 50, // - VLR_ZOTYE = 51, //̩ - VLR_CHANGHE = 52, // - VLR_XMKINGLONG = 53, //Ž() - VLR_HUIZHONG = 54, //Ϻ() - VLR_SZKINGLONG = 55, //ݽ - VLR_HIGER = 56, // - VLR_YUTONG = 57, //ͨ - VLR_CNHTC = 58, //й - VLR_BEIBEN = 59, //ؿ - VLR_XINGMA = 60, // - VLR_YUEJIN = 61, //Ծ - VLR_HUANGHAI = 62, //ƺ - VLR_OLDWALL = 63, //Ͽ - VLR_CHANACOMMERCIAL = 64, // - VLR_PORSCHE = 65, // ʱ - VLR_CADILLAC = 66, // - VLR_INFINITI = 67, // Ӣ - VLR_GLEAGLE = 68, // ȫӥ() - VLR_JEEP = 69, // JEEP() - VLR_LANDROVER = 70, // · - VLR_CHANGFENG = 71, // - VLR_BENNI = 72, // () - VLR_ERA = 73, // ʱ(ʱ) - VLR_TAURUS = 74, // ţ() - VLR_EADO = 75, // ݶ - VLR_SHANQI = 76, // - VLR_HONGYAN = 77, // (άº) - VLR_DRAGON = 78, // () - VLR_JACTEXT = 79, // JAC () - VLR_JACBUS = 80, // ִͳ () - VLR_ANKAI = 81, // ͳ - VLR_SHENLONG = 82, // ͳ - VLR_DAEWOO = 83, // ͳ - VLR_WUZHENG = 84, // - VLR_MAN = 85, // MAN - VLR_ZHONGTONG = 86, // ͨͳ - VLR_BAOJUN = 87, // - VLR_BQWEIWANG = 88, // - VLR_TRUMPCHE = 89, // - VLR_LUFENG = 90, // ½ - VLR_HMZHENGZHOU = 91, // ֣ - VLR_BEIJING = 92, // - VLR_ZHONGSHUN = 93, // ˳ - VLR_WEILIN = 94, // - VLR_OPEL = 95, // ŷ - VLR_KARRY = 96, // - VLR_SMA = 97, // - VLR_SMATEXT = 98, // SMA - VLR_YUWIN = 99, // Ԧʤ - VLR_MINI = 100, // MINI - VLR_MARK = 101, // MARKX - VLR_HAVAL = 102, // HAVAL - VLR_OGA = 103, // ک - VLR_VENUCIA = 104, // - VLR_BYD2 = 105, // ǵʽ2 (ǵ) - VLR_SMART = 106, // SMART - VLR_BAW = 107, // 쳧BAW - VLR_LUXGEN = 108, // ǽ - VLR_YEMA = 109, // Ұ - VLR_ZTE = 110, // - VLR_EVERUS = 111, // - VLR_CHRYSLER = 112, // ˹ - VLR_GONOW = 113, // - VLR_SHJIANG = 114, // ɻ - VLR_RUILIN = 115, // - VLR_FORTA = 116, // - VLR_GAGUAR = 117, // ݱ - VLR_HEIBAO = 118, // ڱ - VLR_TKING = 119, // ƿ - VLR_TKINGTEXT = 120, // ƿ - VLR_FODAY = 121, // - VLR_LOTUS = 122, // - VLR_NANJUN = 123, // Ͽ - VLR_SHUANGHUAN = 124, // ˫ - VLR_SAIBAO = 125, // - VLR_HAWTAI = 126, // ̩ - VLR_LIFO = 127, // Դɵ - VLR_JONWAY = 128, // Դ - VLR_FULONGMA = 129, // - VLR_WEILI = 130, // Ϋ - VLR_ANCHI = 131, // - VLR_PAIXI = 132, // ϲ - VLR_HIGERTEXT = 133, // HIGER - VLR_RIYECAR = 134, // ҰῨ - VLR_RIYETRUCK = 135, // Ұؿ - VLR_JIANGNAN = 136, // - VLR_OLDZOTYE = 137, // Ͽ̩ - VLR_OLDXIALI = 138, // Ͽ - VLR_NEWAOCHI = 139, // °³ - VLR_CDW = 140, // - VLR_CDWTEXT = 141, // - VLR_CIIMO = 142, // ˼ - VLR_CHANADS = 143, // а - VLR_DS = 144, // - VLR_ROHENS = 145, // ִͶ˹ - VLR_YANTAI = 146, // ̨ - VLR_SHUANGLONG = 147, // ˫ - VLR_FENGLING = 148, // ʱ - VLR_XINKAI = 149, // ¿ - VLR_GMC = 150, // GMC - VLR_DATONG = 151, // ͨ - VLR_BQYINXIANG = 152, // - VLR_NEWCHERY = 153, // - VLR_MUDAN = 154, // ĵ - VLR_DAYUN = 155, // - VLR_DONGWO = 156, // - VLR_UNION = 157, // - VLR_CHUNZHOU = 158, // ޿ͳ - VLR_SANY = 159, // һع - VLR_YAXING = 160, // ǿͳ - VLR_HENGTONG = 161, // ͨͳ - VLR_SHAOLIN = 162, // ֿͳ - VLR_YOUNG = 163, // ͳ - VLR_STOM = 164, // ʮͨ - VLR_SANHUAN = 165, // - VLR_XUGONG = 166, // 칤 - VLR_BEIFANG = 167, // - VLR_JIANGHUAN = 168, // - VLR_BJFARM = 169, // ũ - VLR_NEWDADI = 170, // ´ - VLR_SUNWIN = 171, // ֿͳ - VLR_YINGTIAN = 172, // Ӣ - VLR_QINGQI = 173, // - VLR_CHUFENG = 174, // - VLR_SCANIA = 175, // ˹ - VLR_JIULONG = 176, // ͳ - VLR_YOUYI = 177, // ͳ - VLR_SHANGRAO = 178, // Ŀͳ - VLR_JIJIANG = 179, // - VLR_YANGZI = 180, // ӿͳ - VLR_XIWO = 181, // ֿͳ - VLR_CHANGJIANG = 182, // ͳ - VLR_WUYI = 183, // - VLR_CHENGDU = 184, // ɶͳ - VLR_TIANMA = 185, // - VLR_BAOLONG = 186, // - VLR_NEWYATU = 187, // ; - VLR_BARUI = 188, // ǰ - VLR_GUANZHI = 189, // - VLR_XIYATE = 190, // - VLR_BINLI = 191, // - VLR_DADI = 192, // - VLR_FUQI = 193, // - VLR_HANGTIAN = 194, // - VLR_HENGTIAN = 195, // - VLR_JMCCAR = 196, // - VLR_KAERSEN = 197, // ɭ - VLR_KAWEI = 198, // - VLR_LANBOJINI = 199, // - VLR_MASHALADI = 200, // ɯ - VLR_SHUCHI = 201, // ۿͳ - VLR_SHILI = 202, // ʵͳ - VLR_HUABEI = 203, // пͻ - VLR_YIZHENG = 204, // - VLR_CHUNLAN = 205, // - VLR_DAFA = 206, // - VLR_SHENYE = 207, // Ұ - VLR_FALALI = 208, // - VLR_FUXING = 209, // - VLR_ANYUAN = 210, // Դͳ - VLR_JINGHUA = 211, // ͳ - VLR_TAIHU = 212, // ̫ͳ - VLR_WUZHOULONG = 213, // - VLR_CHANGLONG = 214, // ¡ͳ - VLR_YUEXI = 215, // ͳ - VLR_SHENMA = 216, // ͳ - VLR_LUSHAN = 217, // ®ɽ - VLR_WANFENG = 218, // - VLR_GZYUNBAO = 219, // Ʊ - VLR_ZHONGDA = 220, // д - VLR_THREEWHEEL = 221, // ֳ - VLR_TWOWHEEL = 222, // ֳ - VLR_JBC = 223, // JBC - VLR_YZJIANG = 224, // ӽͳ - VLR_CNJ = 225, // ϿCNJ - VLR_FORLAND = 226, // ʱ - VLR_FARMCAR = 227, // ũó - VLR_DONGFANGHONG = 228, // - VLR_STEYR = 229, // ˹̫ - VLR_HONGQI = 230, // - VLR_USER1 = 231, //û1 - VLR_USER2 = 232, //û2 - VLR_USER3 = 233, //û3 - VLR_USER4 = 234, //û4 - VLR_USER5 = 235, //û5 - VLR_USER6 = 236, //û6 - VLR_USER7 = 237, //û7 - VLR_USER8 = 238 //û8 -}VLR_VEHICLE_CLASS; - -/********************ƷBegin*************************/ -//Ʒ -typedef enum _VSB_VOLKSWAGEN_CLASS -{ - VSB_VOLKSWAGEN_OTHER = 0, // - VSB_VOLKSWAGEN_LAVIDA = 1, // - VSB_VOLKSWAGEN_CROSSLAVIDA = 2, // ʾ - VSB_VOLKSWAGEN_TIGUAN = 3, // ; - VSB_VOLKSWAGEN_TOURAN = 4, // ; - VSB_VOLKSWAGEN_SANTANA = 5, // ɣ - VSB_VOLKSWAGEN_SANTANA2000 = 6, // ɣ2000 - VSB_VOLKSWAGEN_SANTANA3000 = 7, // ɣ3000 - VSB_VOLKSWAGEN_VISTA = 8, // ɣ-־ - VSB_VOLKSWAGEN_PASSAT = 9, // - VSB_VOLKSWAGEN_PASSATLINGYU = 10, // -Ԧ - VSB_VOLKSWAGEN_POLO = 11, // - VSB_VOLKSWAGEN_POLOCROSS = 12, // -˶ - VSB_VOLKSWAGEN_POLOGTI = 13, // -GTI - VSB_VOLKSWAGEN_SAGITAR = 14, // - VSB_VOLKSWAGEN_MAGOTAN = 15, // - VSB_VOLKSWAGEN_JETTA = 16, // ݴ - VSB_VOLKSWAGEN_BORA = 17, // - VSB_VOLKSWAGEN_NEWGOLF = 18, // ¸߶ - VSB_VOLKSWAGEN_GOLFGTI = 19, // ߶-GTI - VSB_VOLKSWAGEN_GOL = 20, // ߶ - VSB_VOLKSWAGEN_CADDY = 21, // - VSB_VOLKSWAGEN_PHAETON = 22, // - VSB_VOLKSWAGEN_TOUREG = 23, // ; - VSB_VOLKSWAGEN_SCIROCCO = 24, // п - VSB_VOLKSWAGEN_BEETLE = 25, // ׿dz - VSB_VOLKSWAGEN_SHARAN = 26, // - VSB_VOLKSWAGEN_MULTIVAN = 27, // - VSB_VOLKSWAGEN_CARBONCOPY = 28, // һ-CC - VSB_VOLKSWAGEN_VISTACHANGDA = 29, // ɣ־- - VSB_VOLKSWAGEN_BORASPORTLINE = 30, // -SPORTLINE - VSR_VOLKSWAGEN_CC_1 =31, //-CC-2012,2011,2010 - VSR_VOLKSWAGEN_Cross_POLO_1 = 32, //-Cross-POLO-2010,2007 - VSR_VOLKSWAGEN_Cross_POLO_2 = 33, //-Cross-POLO-2014,2012 - VSR_VOLKSWAGEN_MULTIVAN_1 = 34, //-Multivan-2014,2012,2011 - VSR_VOLKSWAGEN_POLO_1 = 35, //-POLO-2006,2005,2004,2003,2002 - VSR_VOLKSWAGEN_POLO_2 = 36, //-POLO-2013,2012,2011 - VSR_VOLKSWAGEN_POLO_JINQU_1 = 37, //-POLOȡ-2009,2008,2007,2006 - VSR_VOLKSWAGEN_POLO_JINQU_2 = 38, //-POLOȡ-2011 - VSR_VOLKSWAGEN_Tiguan_1 = 39, //-Tiguan-2011,2009 - VSR_VOLKSWAGEN_Tiguan_2 = 40, //-Tiguan-2014,2013,2012 - VSR_VOLKSWAGEN_XIALANG_1 = 41, //--2013,2012 - VSR_VOLKSWAGEN_BAOLAI_1 = 42, //--2005,2004 - VSR_VOLKSWAGEN_BAOLAI_2 = 43, //--2006 - VSR_VOLKSWAGEN_BAOLAI_3 = 44, //--2012,2011,2010,2009,2008 - VSR_VOLKSWAGEN_BAOLAI_4 = 45, //--2014,2013 - VSR_VOLKSWAGEN_SHANGKU_1 = 46, //-п-2014,2013 - VSR_VOLKSWAGEN_PASATE_1 = 47, //--2003,2001Ԧ - VSR_VOLKSWAGEN_PASATE_2 = 48, //--2007,2006,2005Ԧ - VSR_VOLKSWAGEN_PASATE_3 = 49, //--2009,2008,2007,2005,2004,2003,2001,2000 - VSR_VOLKSWAGEN_PASATE_4 = 50, //--2011,2009Ԧ - VSR_VOLKSWAGEN_PASATE_5 = 51, //--2014,2013,2012,2011 - VSR_VOLKSWAGEN_JIEDA_1 = 52, //-ݴ-2005CIF,2002 - VSR_VOLKSWAGEN_JIEDA_2 = 53, //-ݴ-2009,2008,2006,2005,2004 - VSR_VOLKSWAGEN_JIEDA_3 = 54, //-ݴ-2012,2010 - VSR_VOLKSWAGEN_JIEDA_4 = 55, //-ݴ-2013 - VSR_VOLKSWAGEN_LANGYI_1 = 56, //--2012,2011,2010,2009,2008 - VSR_VOLKSWAGEN_LANGYI_2 = 57, //--2013 - VSR_VOLKSWAGEN_SANGTANA_1 = 58, //-ɣ-2007,2002,2000,1999,1995 - VSR_VOLKSWAGEN_SANGTANA_2 = 59, //-ɣ-2014,2013 - VSR_VOLKSWAGEN_SANGTANA_3 = 60, //-ɣ2000-2003,2001,2000,1999,1998,1996 - VSR_VOLKSWAGEN_SANGTANA_4 = 61, //-ɣ3000-2007,2006,2005,2004,2003 - VSR_VOLKSWAGEN_SANGTANAZHIJUN_1 = 62, //-ɣ־(vista)-2011,2010,2009,2008 - VSR_VOLKSWAGEN_SANGTANAZHIJUN_2 = 63, //-ɣ־(vista)-2006 - VSR_VOLKSWAGEN_JIAKECHONG_1 = 64, //-׿dz-2010,2009,2008,2007,2006,2005 - VSR_VOLKSWAGEN_JIAKECHONG_2 = 65, //-׿dz-2014,2013 - VSR_VOLKSWAGEN_HUITENG_2 = 66, //--2010,2009,2007,2006 - VSR_VOLKSWAGEN_MAITENG_1 = 67, //--2011,2010,2009,2008,2007 - VSR_VOLKSWAGEN_MAITENG_2 = 68, //--2013,2012 - VSR_VOLKSWAGEN_TUAN_3 = 69, //-;-2006,2005,2004 - VSR_VOLKSWAGEN_TUAN_1 = 70, //-;-2010,2009,2008 - VSR_VOLKSWAGEN_TUAN_2 = 71, //-;-2013,2012,2011 - VSR_VOLKSWAGEN_TUGUAN_1 = 72, //-;-2012,2011,2010 - VSR_VOLKSWAGEN_TURUI_1 = 73, //-;-2006,2005,2003 - VSR_VOLKSWAGEN_TURUI_2 = 74, //-;-2014,2013,2012,2011 - VSR_VOLKSWAGEN_SUTENG_1 = 75, //--2010,2009,2007,2006 - VSR_VOLKSWAGEN_SUTENG_2 = 76, //--2011 - VSR_VOLKSWAGEN_SUTENG_3 = 77, //--2014,2013,2012 - VSR_VOLKSWAGEN_GAOERFU_1 = 78, //-߶-2008,2007,2006,2005,2004,2003 - VSR_VOLKSWAGEN_GAOERFU_2 = 79, //-߶-2012,2011,2012,2011,2010 - VSR_VOLKSWAGEN_GAOERFU_3 = 80, //-߶GTI-2013,2012,2011,2010 - VSR_VOLKSWAGEN_LANGYI_3 = 81, //--2014 - VSR_VOLKSWAGEN_HUITENG_1 = 82 //--2004 -} VSB_VOLKSWAGEN_CLASS; - -//Ʒ -typedef enum _VBR_BUICK_CLASS -{ - VBR_BUICK_OTHER = 0, // - VBR_BUICK_ENCORE = 1, // - VBR_BUICK_GL8 = 2, // GL8 - VBR_BUICK_LEGAL = 3, // - VBR_BUICK_LACROSS = 4, // Խ - VBR_BUICK_EXCELLE = 5, // Խ - VBR_BUICK_EXCELLEGT = 6, // ӢGT - VBR_BUICK_WXCELLEXT = 7, // ӢXT - VBR_BUICK_ENCLAVE = 8, // - VBR_BUICK_ROYAUM = 9, // - VBR_BUICK_SAIL = 10, // ŷ - VBR_BUICK_EXCELLEHRV = 11, // ԽHRV - VBR_BUICK_PARKAVENUE = 12, // - VBR_BUICK_CENTURY = 13, // - VBR_BUICK_GL8_1 = 14, // -GL8-2004,2003 - VBR_BUICK_GL8_2 = 15, // -GL8-2007,2006,2005 - VBR_BUICK_GL8_3 = 16, // -GL8-2010_2008_2006_2005½ - VBR_BUICK_GL8_4 = 17, // -GL8-2014,2013,2012,2011 - VBR_BUICK_GL8_5 = 18, // -GL8-2014_2013_2011 - VBR_BUICK_ENCORE_1 = 19, // --2014,2013 - VBR_BUICK_ENCLAVE_1 = 20, // --2013,2010,2009 - VBR_BUICK_LEGAL_1 = 21, // --2001,2000,1999 - VBR_BUICK_LEGAL_2 = 22, // --2008,2006,2005,2004,2002 - VBR_BUICK_LEGAL_3 = 23, // --2013,2012,2011,2010,2009 - VBR_BUICK_LEGAL_4 = 24, // --2013_2012_2011˶ - VBR_BUICK_LEGAL_5 = 25, // --2014 - VBR_BUICK_LEGAL_6 = 26, // --2014˶ - VBR_BUICK_LACROSS_1 = 27, // -Խ-2008,2007,2006 - VBR_BUICK_LACROSS_2 = 28, // -Խ-2012,2011,2010,2009 - VBR_BUICK_LACROSS_3 = 29, // -Խ-2013 - VBR_BUICK_EXCELLE_1 = 30, // -Խ-2006,2005,2004 - VBR_BUICK_EXCELLE_2 = 31, // -Խ-2008_2006_2005_2004HRV - VBR_BUICK_EXCELLE_3 = 32, // -Խ-2011,2009,2008 - VBR_BUICK_EXCELLE_4 = 33, // -Խ-2013 - VBR_BUICK_PARKAVENUE_1 = 34, // --2011,2010,2009,2008,2007 - VBR_BUICK_SAIL_1 = 35, // -ŷ-2004,2003 - VBR_BUICK_EXCELLEGT_1 = 36, // -ӢGT-2013,2012,2011,2010 - VBR_BUICK_WXCELLEXT_1 = 37, // -ӢXT-2014,2013,2012,2010 - VBR_BUICK_CENTURY_1 = 38, // --2000 - VBR_BUICK_RONGYU_1 = 39 // --2005,2004 -}VBR_BUICK_CLASS; - -//Ʒ -typedef enum _VSB_BMW_CLASS -{ - VSB_BMW_OTHER = 0, // - VSB_BMW_3SERIES = 1, // 3ϵ - VSB_BMW_5SERIES = 2, // 5ϵ - VSB_BMW_X1 = 3, // X1 - VSB_BMW_1SERIES = 4, // 1ϵ - VSB_BMW_7SERIES = 5, // 7ϵ - VSB_BMW_X3 = 6, // X3 - VSB_BMW_X5 = 7, // X5 - VSB_BMW_X6 = 8, // X6 - VSB_BMW_Z4 = 9, // Z4 - VSB_BMW_MINI = 10, // - VSB_BMW_6SERIES = 11, //6ϵ - VSB_BMW_YIXI_1 = 12, // -1ϵ-2011,2010,2008,2007 - VSB_BMW_YIXI_2 = 13, // -1ϵ-2013,2012 - VSB_BMW_SANXI_1 = 14, // -3ϵ-2004 - VSB_BMW_SANXI_2 = 15, // -3ϵ-2007,2005 - VSB_BMW_SANXI_3 = 16, // -3ϵ-2012,2011,2010,2009 - VSB_BMW_SANXI_4 = 17, // -3ϵ-2014,2013 - VSB_BMW_WUXI_1 = 18, // -5ϵ-2010,2009,2008 - VSB_BMW_WUXI_2 = 19, // -5ϵ-2013,2012,2011 - VSB_BMW_LIUXI_1 = 20, // -6ϵ-δ֪ - VSB_BMW_QIXI_1 = 21, // -7ϵ-2011,2010,2009 - VSB_BMW_QIXI_2 = 22, // -7ϵ-2013 - VSB_BMW_X1_1 = 23, // -X1-2012,2010 - VSB_BMW_X1_2 = 24, // -X1-2014,2013 - VSB_BMW_X3_1 = 25, // -X3-2009,2008,2006 - VSB_BMW_X3_2 = 26, // -X3-2013,2012,2011 - VSB_BMW_X5_1 = 27, // -X5-2010,2009,2008 - VSB_BMW_X5_2 = 28, // -X5-2013,2012,2011 - VSB_BMW_X5_3 = 29, // -X5-2013˶ - VSB_BMW_X6_1 = 30, // -X6-2013,2012,2011,2009,2008 - VSB_BMW_Z4_1 = 31 // -Z4-2004 -}VSB_BMW_CLASS; - -//Ʒ -typedef enum _VSB_HONDA_CLASS -{ - VSB_HONDA_OTHER = 0, // - VSB_HONDA_CRV = 1, // CR-V(˼) - VSB_HONDA_JADE = 2, // ܵ - VSB_HONDA_CIVIC = 3, // ˼ - VSB_HONDA_SPIRIOR = 4, // ˼ - VSB_HONDA_CIIMO = 5, // ˼ - VSB_HONDA_ELYSION = 6, // - VSB_HONDA_OBYSSEY = 7, // - VSB_HONDA_FIT = 8, // ɶ - VSB_HONDA_NEWCITY = 9, // 淶 - VSB_HONDA_CROSSTOUR = 10, // ʫͼ - VSB_HONDA_CRIDER = 11, // - VSB_HONDA_ACCORD = 12, // Ÿ - VSB_HONDA_CITY = 13, // ˼ - VSB_HONDA_ANTILOCK = 14, // µ - VSB_HONDA_CRZ = 15, // CR-Z - VSB_HONDA_CRV_1 = 16, // -CR-V-2004 - VSB_HONDA_CRV_2 = 17, // -CR-V-2005 - VSB_HONDA_CRV_3 = 18, // -CR-V-2008,2007 - VSB_HONDA_CRV_4 = 19, // -CR-V-2010 - VSB_HONDA_CRV_5 = 20, // -CR-V-2013,2012 - VSB_HONDA_CRIDER_1 = 21, // --2014,2013 - VSB_HONDA_OBYSSEY_1 = 22, // -µ-2002 - VSB_HONDA_OBYSSEY_2 = 23, // -µ-2006,2005,2004 - VSB_HONDA_OBYSSEY_3 = 24, // -µ-2008,2007 - VSB_HONDA_OBYSSEY_4 = 25, // -µ-2011 - VSB_HONDA_CIVIC_1 = 26, // -˼-2007 - VSB_HONDA_CIVIC_5 = 27, // -˼-1996 - VSB_HONDA_CIVIC_2 = 28, // -˼-2008,2006 - VSB_HONDA_CIVIC_3 = 29, // -˼-2009 - VSB_HONDA_CIVIC_4 = 30, // -˼-2013,2012,2011 - VSB_HONDA_CITY_1 = 31, // -˼-2008,2007,2006 - VSB_HONDA_SPIRIOR_1 = 32, // -˼-2009 - VSB_HONDA_SIMING_1 = 33, // -˼-2012 - VSB_HONDA_JIEDE_1 = 34, // -ܵ-2013 - VSB_HONDA_CROSSTOUR_1 = 35, // -ʫͼ-2013,2012,2010 - VSB_HONDA_AILISHEN_1 = 36, // --2012 - VSB_HONDA_NEWCITY_1 = 37, // -淶-2009 - VSB_HONDA_NEWCITY_2 = 38, // -淶-2011 - VSB_HONDA_NEWCITY_3 = 39, // -淶-2014,2012 - VSB_HONDA_ACCORD_1 = 40, // -Ÿ-1996 - VSB_HONDA_ACCORD_2 = 41, // -Ÿ-1999 - VSB_HONDA_ACCORD_3 = 42, // -Ÿ-2001 - VSB_HONDA_ACCORD_4 = 43, // -Ÿ-2003 - VSB_HONDA_ACCORD_5 = 44, // -Ÿ-2008 - VSB_HONDA_ACCORD_6 = 45, // -Ÿ-2010 - VSB_HONDA_ACCORD_7 = 46, // -Ÿ-2011 - VSB_HONDA_ACCORD_8 = 47, // -Ÿ-2012 - VSB_HONDA_ACCORD_9 = 48, // -Ÿ-2013 - VSB_HONDA_ACCORD_10 = 49, // -Ÿ-2014 - VSB_HONDA_FIT_1 = 50, // -ɶ-2004 - VSB_HONDA_FIT_2 = 51, // -ɶ-2004 - VSB_HONDA_FIT_3 = 52, // -ɶ-2005 - VSB_HONDA_FIT_4 = 53, // -ɶ-2007 - VSB_HONDA_FIT_5 = 54, // -ɶ-2008 - VSB_HONDA_FIT_6 = 55 // -ɶ-2013,2011 -}VSB_HONDA_CLASS; - -//Ʒ -typedef enum _VSB_PEUGEOT_CLASS -{ - VSB_PEUGEOT_OTHER = 0, // - VSB_PEUGEOT_2008 = 1, // 2008 - VSB_PEUGEOT_207 = 2, // 207 - VSB_PEUGEOT_SENNA = 3, // - VSB_PEUGEOT_3008 = 4, // 3008 - VSB_PEUGEOT_301 = 5, // 301 - VSB_PEUGEOT_307 = 6, // 307 - VSB_PEUGEOT_308 = 7, // 308 - VSB_PEUGEOT_408 = 8, // 408 - VSB_PEUGEOT_508 = 9, // 508 - VSB_PEUGEOT_206 = 10, // 206 - VSB_PEUGEOT_407 = 11, // 407 - VSB_PEUGEOT_206_1 = 12, // -206-δ֪ - VSB_PEUGEOT_207_1 = 13, // -207-2011,2010,2009 - VSB_PEUGEOT_207_2 = 14, // -207-2013 - VSB_PEUGEOT_3008_1 = 15, // -3008-2014,2013 - VSB_PEUGEOT_301_1 = 16, // -301-δ֪ - VSB_PEUGEOT_307_1 = 17, // -307-2007,2006,2005,2004 - VSB_PEUGEOT_307_2 = 18, // -307-2010,2009,2008 - VSB_PEUGEOT_307_3 = 19, // -307-2013_2012_2011CROSS - VSB_PEUGEOT_308_1 = 20, // -308-2014,2013,2012 - VSB_PEUGEOT_407_1 = 21, // -407-δ֪ - VSB_PEUGEOT_408_1 = 22, // -408-2012,2011,2010 - VSB_PEUGEOT_408_2 = 23, // -408-2013 - VSB_PEUGEOT_508_1 = 24, // -508-2014,2013,2012,2011 - VSB_PEUGEOT_207_3 = 25, // -207-2011,2010,2009 - VSB_PEUGEOT_307_4 = 26 // -307-2013,2012,2010,2009,2008 - -}VSB_PEUGEOT_CLASS; - -//Ʒ -typedef enum _VSB_TOYOTA_CLASS -{ - VSB_TOYOTA_OTHER = 0, // - VSB_TOYOTA_HIGHLANDER = 1, // - VSB_TOYOTA_CAMRY = 2, // - VSB_TOYOTA_YARIS = 3, // ʿ - VSB_TOYOTA_YARISL = 4, // YARIS L - VSB_TOYOTA_VERSO = 5, // - VSB_TOYOTA_HUAGUAN = 6, // - VSB_TOYOTA_CROWN = 7, // ʹ - VSB_TOYOTA_COROLLA = 8, // - VSB_TOYOTA_COSTER = 9, // ˹ - VSB_TOYOTA_PRADO = 10, // - VSB_TOYOTA_PRIUS = 11, // ˹ - VSB_TOYOTA_RAV4 = 12, // RAV4 - VSB_TOYOTA_REZI = 13, // ־ - VSB_TOYOTA_VIOS = 14, // - VSB_TOYOTA_PREVIA = 15, // ά - VSB_TOYOTA_HIACE = 16, // ʨ - VSB_TOYOTA_86 = 17, // 86 - VSB_TOYOTA_SPEQUOIA = 18, // ɼ - VSB_TOYOTA_LANDCRUISER = 19, // ½Ѳ(¿·) - VSB_TOYOTA_SIENNA = 20, // - VSB_TOYOTA_CAMRYHYBRID = 21, // -HYBRID - VSB_TOYOTA_GRACE = 22, // ˹ - VSB_TOYOTA_ALPHARD = 23, // - VSB_TOYOTA_RAV4_1 = 24, // -RAV4-2012ֶ,2011,2010,2009 - VSB_TOYOTA_RAV4_2 = 25, // -RAV4-2013 - VSB_TOYOTA_86_1 = 26, // -86-δ֪ - VSB_TOYOTA_JIAMEI_2 = 27, // --2001,2000,1999,1998 - VSB_TOYOTA_JIAMEI_3 = 28, // --2004,2003,2002 - VSB_TOYOTA_LANDEKLZ_1 = 29, // -¿·-2011ж,2010,2007 - VSB_TOYOTA_KAIMEIRUI_1 = 30, // --2008,2007,2006 - VSB_TOYOTA_KAIMEIRUI_2 = 31, // --2012 - VSB_TOYOTA_KAIMEIRUI_3 = 32, // --2012,2011,2010,2009 - VSB_TOYOTA_KAIMEIRUI_4 = 33, // --2013,2012 - VSB_TOYOTA_KAIMEIRUI_5 = 34, // --2013 - VSB_TOYOTA_KAIMEIRUI_6 = 35, // --2014,2012 - VSB_TOYOTA_KALUOLA_1 = 36, // --2010,2009,2008,2007,2006 - VSB_TOYOTA_KALUOLA_2 = 37, // --2013,2012,2011 - VSB_TOYOTA_AIERFA_1 = 38, // --2011,2010 - VSB_TOYOTA_AIERFA_2 = 39, // --2013,2012 - VSB_TOYOTA_WEICHI_1 = 40, // --2004,2003 - VSB_TOYOTA_WEICHI_2 = 41, // --2007,2006,2005 - VSB_TOYOTA_WEICHI_3 = 42, // --2009,2008 - VSB_TOYOTA_WEICHI_4 = 43, // --2013,2012,2011,2010 - VSB_TOYOTA_WEICHI_5 = 44, // --2014 - VSB_TOYOTA_PULADUO_1 = 45, // --2007,2006,2005,2004 - VSB_TOYOTA_PULADUO_2 = 46, // --2010 - VSB_TOYOTA_PULADUO_3 = 47, // --2014 - VSB_TOYOTA_PURUIWEIYA_1 = 48, // -ά-2004 - VSB_TOYOTA_PURUIWEIYA_4 = 49, // -ά-2005 - VSB_TOYOTA_PURUIWEIYA_2 = 50, // -ά-2006 - VSB_TOYOTA_PURUIWEIYA_3 = 51, // -ά-2012,2010,2008,2007 - VSB_TOYOTA_KESIDA_1 = 52, // -˹-2007 - VSB_TOYOTA_KESIDA_2 = 53, // -˹-2011 - VSB_TOYOTA_HANLANDA_1 = 54, // --2011,2009 - VSB_TOYOTA_HANLANDA_2 = 55, // --2012 - VSB_TOYOTA_HANLANDA_3 = 56, // --2013 - VSB_TOYOTA_HAISHI_1 = 57, // -ʨ-2001 - VSB_TOYOTA_HUANGGUAN_1 = 58, // -ʹ-1999 - VSB_TOYOTA_HUANGGUAN_2 = 59, // -ʹ-2009,2008,2007,2006,2005 - VSB_TOYOTA_HUANGGUAN_3 = 60, // -ʹ-2010 - VSB_TOYOTA_HUANGGUAN_4 = 61, // -ʹ-2012,2011 - VSB_TOYOTA_HONGSHAN_1 = 62, // -ɼ-δ֪ - VSB_TOYOTA_HUAGUAN_1 = 63, // --2006,2005,2004 - VSB_TOYOTA_HUAGUAN_2 = 64, // --2009,2008,2007 - VSB_TOYOTA_HUAGUAN_3 = 65, // --2011,2010 - VSB_TOYOTA_YIZHI_1 = 66, // --2014,2012,2011 - VSB_TOYOTA_RUIZHI_1 = 67, // -־-2006,2005 - VSB_TOYOTA_RUIZHI_2 = 68, // -־-2009,2008,2007 - VSB_TOYOTA_RUIZHI_3 = 69, // -־-2010Ȱ - VSB_TOYOTA_RUIZHI_4 = 70, // -־-2012,2010 - VSB_TOYOTA_LUDIXUNYANG_1 = 71, // -½Ѳ-δ֪ - VSB_TOYOTA_YALISHI_1 = 72, // -ʿ-2009,2008,2007 - VSB_TOYOTA_YALISHI_2 = 73, // -ʿ-2012,2011,2010 - VSB_TOYOTA_RAV4_3 = 74, // -RAV4-2013,Ӣ,,2012 - VSB_TOYOTA_YARiSL_1 = 75, // -YARiS-L - VSB_TOYOTA_JIAMEI_1 = 76, // --1996 - VSB_TOYOTA_PLATZ_1 = 77, // -PLATZ-1999 - VSB_TOYOTA_LANDEKLZ_2 = 78 // -¿·-2014,2012ж,2012 -}VSB_TOYOTA_CLASS; - -//Ʒ -typedef enum _VSB_FORD_CLASS -{ - VSB_FORD_OTHER = 0, // - VSB_FORD_FOCUS = 1, // ˹ - VSB_FORD_FIESTA = 2, // 껪 - VSB_FORD_SMAX = 3, // ˹ - VSB_FORD_MONDEO = 4, // ɵŷ - VSB_FORD_ECOSPORT = 5, // - VSB_FORD_ESCAPE = 6, // - VSB_FORD_ZHISHENG = 7, // ʤ - VSB_FORD_ESCORT = 8, // ˹ - VSB_FORD_EXPLORER = 9, // ̽ - VSB_FORD_EDGE = 10, // - VSB_FORD_TRANSIT = 11, // ȫ˳ - VSB_FORD_QUANSHUN_1 = 12, // -ȫ˳-δ֪ - VSB_FORD_JIANIANHUA_1 = 13, // -껪-2006,2005,2004 - VSB_FORD_JIANIANHUA_2 = 14, // -껪-2011,2010,2009 - VSB_FORD_JIANIANHUA_3 = 15, // -껪-2013 - VSB_FORD_JIANIANHUA_4 = 16, // -껪-2012 - VSB_FORD_TANXIANZHE_1 = 17, // -̽-2013,2011 - VSB_FORD_FOCUS_1 = 18, // -˹-2005 - VSB_FORD_FOCUS_2 = 19, // -˹-2005 - VSB_FORD_FOCUS_3 = 20, // -˹-2008,2007,2006 - VSB_FORD_FOCUS_4 = 21, // -˹-2013,2012,2011,2009 - VSB_FORD_FOCUS_5 = 22, // -˹-2012 - VSB_FORD_FOCUS_6 = 23, // -˹-2012,ʱ,2011,2010,2009,2008 - VSB_FORD_YIBO_1 = 24, // --2013 - VSB_FORD_YIHU_1 = 25, // --2013 - VSB_FORD_MENGDIOU_1 = 26, // -ɵŷ-2003 - VSB_FORD_MENGDIOU_2 = 27, // -ɵŷ-2005,2004 - VSB_FORD_MENGDIOU_3 = 28, // -ɵŷ-2006 - VSB_FORD_MENGDIOU_4 = 29, // -ɵŷ-2013 - VSB_FORD_MENGDIOU_5 = 30, // -ɵŷ-ʤ-2010,2008,2007 - VSB_FORD_MENGDIOU_6 = 31, // -ɵŷ-ʤ-2011 - VSB_FORD_RUIJIE_1 = 32, // --2012,2011 - VSB_FORD_MAIKESI_1 = 33 // -˹-2008,2007 -}VSB_FORD_CLASS; - -//ղƷ -typedef enum _VSB_NISSAN_CLASS -{ - VSB_NISSAN_OTHER = 0, // - VSB_NISSAN_XTRAIL = 1, // 濥 - VSB_NISSAN_MURANO = 2, // ¥ - VSB_NISSAN_LIVINA = 3, // - VSB_NISSAN_MARCH = 4, // - VSB_NISSAN_TIIDA = 5, // - VSB_NISSAN_TEANA = 6, // - VSB_NISSAN_QASHQAI = 7, // п - VSB_NISSAN_SYLPHY = 8, // - VSB_NISSAN_SUNNY = 9, // - VSB_NISSAN_D22PICKUP = 10, // D22Ƥ - VSB_NISSAN_D22VAN = 11, // D22ʽ - VSB_NISSAN_CABSTAR = 12, // ˹ - VSB_NISSAN_HV200 = 13, // NV200 - VSB_NISSAN_PALADIN = 14, // - VSB_NISSAN_YIDA = 15, // ô - VSB_NISSAN_DUCK = 16, // - VSB_NISSAN_CEFIRO = 17, // - VSB_NISSAN_FENGSHENBLUEBIRD = 18, // - VSB_NISSAN_FENGSHENSUNNY = 19, // - VSB_NISSAN_SUCCE = 20, // ˧ - VSB_NISSAN_FUGA = 21, // - VSB_NISSAN_BLUEBIRD4 = 22, // 4 - VSB_NISSAN_VENUCIA = 23, // - VSB_NISSAN_QUEST = 24, // ʿ - VSB_NISSAN_GENISS = 25, // - VSB_NISSAN_NV200_1 = 26, // ղ-NV200-2013,2012,2011,2010 - VSB_NISSAN_TIANLAI_1 = 27, // ղ--2005,2004 - VSB_NISSAN_TIANLAI_2 = 28, // ղ--2007,2006 - VSB_NISSAN_TIANLAI_3 = 29, // ղ--2010,2008 - VSB_NISSAN_TIANLAI_4 = 30, // ղ--2012,2011 - VSB_NISSAN_TIANLAI_5 = 31, // ղ--2012ưȫ,2011 - VSB_NISSAN_TIANLAI_6 = 32, // ղ--2014,2013 - VSB_NISSAN_QIJUN_1 = 33, // ղ-濥-2010,2008 - VSB_NISSAN_QIJUN_2 = 34, // ղ-濥-2012,2011 - VSB_NISSAN_PALADING_1 = 35, // ղ--2013,2011,2006,2004 - VSB_NISSAN_LOULAN_1 = 36, // ղ-¥-2013,2011 - VSB_NISSAN_LOULAN_2 = 37, // ղ--2010 - VSB_NISSAN_LANNIAO_1 = 38, // ղ--2002 - VSB_NISSAN_LANNIAO_2 = 39, // ղ--2003 - VSB_NISSAN_LANNIAO_3 = 40, // ղ--2004 - VSB_NISSAN_GUISHI_1 = 41, // ղ-ʿ-2005 - VSB_NISSAN_XUANYI_1 = 42, // ղ--2006 - VSB_NISSAN_XUANYI_2 = 43, // ղ--2012,2009,2007 - VSB_NISSAN_XUANYI_3 = 44, // ղ--2014,2012 - VSB_NISSAN_XIAOKE_1 = 45, // ղ-п-2009,2008 - VSB_NISSAN_XIAOKE_2 = 46, // ղ-п-2013,2012,2011 - VSB_NISSAN_SUNNY_3 = 47, // ղ--2004 - VSB_NISSAN_SUNNY_1 = 48, // ղ--2006,2005 - VSB_NISSAN_SUNNY_2 = 49, // ղ--2012,2011 - VSB_NISSAN_YIDA_1 = 50, // ղ-ô-2008,2006,2005 - VSB_NISSAN_YIDA_2 = 51, // ղ-ô-δ֪ - VSB_NISSAN_FENGDU_1 = 52, // ղ--δ֪ - VSB_NISSAN_FENGYA_1 = 53, // ղ--δ֪ - VSB_NISSAN_LIWEI_1 = 54, // ղ--2008,2007 - VSB_NISSAN_LIWEI_2 = 55, // ղ--2009 - VSB_NISSAN_LIWEI_3 = 56, // ղ--2010 - VSB_NISSAN_LIWEI_4 = 57, // ղ--2011,2010,2008 - VSB_NISSAN_JUNYI_1 = 58, // ղ--2006 - VSB_NISSAN_QIDA_1 = 59, // ղ--2006,2005 - VSB_NISSAN_QIDA_2 = 60, // ղ--2009,2008 - VSB_NISSAN_QIDA_3 = 61, // ղ--2013,2012,2011 - VSB_NISSAN_RUIQI_1 = 62 // ղ-Ƥ-2009 -}VSB_NISSAN_CLASS; - -//µƷ -typedef enum _VSB_AUDI_CLASS -{ - VSB_AUDI_OTHER = 0, // - VSB_AUDI_A3 = 1, // µA3 - VSB_AUDI_A4L = 2, // µA4L - VSB_AUDI_A6L = 3, // µA6L - VSB_AUDI_Q3 = 4, // µQ3 - VSB_AUDI_Q5 = 5, // µQ5 - VSB_AUDI_A1 = 6, // µA1 - VSB_AUDI_A4 = 7, // µA4 - VSB_AUDI_A5 = 8, // µA5 - VSB_AUDI_A6 = 9, // µA6 - VSB_AUDI_A7 = 10, // µA7 - VSB_AUDI_A8L = 11, // µA8L - VSB_AUDI_Q7 = 12, // µQ7 - VSB_AUDI_S5 = 13, // µS5 - VSB_AUDI_TT = 14, // µTT - VSB_AUDI_100 = 15, // µ100 - VSB_AUDI_200 = 16, // µ200 - VSB_AUDI_S7 = 17, // µS7 - VSB_AUDI_S8 = 18, // µS8 - VSB_AUDI_100_1 = 19, // µ-100-δ֪ - VSB_AUDI_200_1 = 20, // µ-200-δ֪ - VSB_AUDI_A1_1 = 21, // µ-A1-2014,2013,2012 - VSB_AUDI_A3_1 = 22, // µ-A3-2013,2010ʰ - VSB_AUDI_A3_2 = 23, // µ-A3-2013,2011,2010 - VSB_AUDI_A4_1 = 24, // µ-A4-2005,2000ڰ - VSB_AUDI_A4_2 = 25, // µ-A4-2007,2006,2004 - VSB_AUDI_A4L_1 = 26, // µ-A4L-2013 - VSB_AUDI_A5_1 = 27, // µ-A5-2011,2010 - VSB_AUDI_A6_1 = 28, // µ-A6-1996,1995,1991 - VSB_AUDI_A6L_1 = 29, // µ-A6L-2008,2007,2006,2005 - VSB_AUDI_A6L_2 = 30, // µ-A6L-2011,2010,2009 - VSB_AUDI_A6L_3 = 31, // µ-A6L-2014,2013,2012 - VSB_AUDI_A7_1 = 32, // µ-A7-2014,2013ȡ,2012,2011 - VSB_AUDI_A8L_1 = 33, // µ-A8L-2006 - VSB_AUDI_A8L_2 = 34, // µ-A8L-2009,2008 - VSB_AUDI_A8L_3 = 35, // µ-A8L-2011 - VSB_AUDI_A8L_4 = 36, // µ-A8L-2013,2012 - VSB_AUDI_Q3_1 = 37, // µ-Q3-2014,2013,2012 - VSB_AUDI_Q5_1 = 38, // µ-Q5-2012,2010˶ - VSB_AUDI_Q5_2 = 39, // µ-Q5-2012,2010ԽҰ - VSB_AUDI_Q5_3 = 40, // µ-Q5-2012ȡ,2011,2010,2009 - VSB_AUDI_Q5_4 = 41, // µ-Q5-2013 - VSB_AUDI_Q7_1 = 42, // µ-Q7-2007 - VSB_AUDI_Q7_2 = 43, // µ-Q7-2014,2013 - VSB_AUDI_S7_1 = 44, // µ-S7-2013 - VSB_AUDI_S8_1 = 45, // µ-S8-2013 - VSB_AUDI_TT_2 = 46, // µ-TT-2010,2008,2007 - VSB_AUDI_TT_3 = 47, // µ-TT-2012,2011 - VSB_AUDI_TT_4 = 48, // µ-TT-2013,2013,2011TTS - VSB_AUDI_TT_1 = 49 // µ-TT-2008TTS -}VSB_AUDI_CLASS; - -//ԴƷ -typedef enum _VSB_MAZDA_CLASS -{ - VSB_MAZDA_OTHER = 0, // - VSB_MAZDA_CX5 = 1, // ԴCX5 - VSB_MAZDA_2 = 2, // Դ2 - VSB_MAZDA_3 = 3, // Դ3 - VSB_MAZDA_6 = 4, // Դ6 - VSB_MAZDA_8 = 5, // Դ8 - VSB_MAZDA_COREWING = 6, // - VSB_MAZDA_CX7 = 7, // ԴCX7 - VSB_MAZDA_X5 = 8, // ԴX5 - VSB_MAZDA_5 = 9, // Դ5 - VSB_MAZDA_PREMACY = 10, // Ͽ - VSB_MAZDA_MPV = 11, // ԴMPV - VSB_MAZDA_CX5_1 = 12, // Դ-CX-5-2014,2013,2012 - VSB_MAZDA_CX7_1 = 13, // Դ-CX-7-2014,2013,2011,2010 - VSB_MAZDA_2_1 = 14, // Դ-Mazda2-2011,2009,2008,2007A - VSB_MAZDA_3_1 = 15, // Դ-Mazda3-2004,2002 - VSB_MAZDA_3_2 = 16, // Դ-Mazda3-2009,2007 - VSB_MAZDA_3_3 = 17, // Դ-Mazda3-2012,2010 - VSB_MAZDA_3_4 = 18, // Դ-Mazda3dz-2013,2012 - VSB_MAZDA_5_1 = 19, // Դ-Mazda5-2010,2008,2007 - VSB_MAZDA_5_2 = 20, // Դ-Mazda5-2013,2012,2011 - VSB_MAZDA_6_2 = 21, // Դ-Mazda6-2006 - VSB_MAZDA_6_3 = 22, // Դ-Mazda6-2007 - VSB_MAZDA_8_1 = 23, // Դ-Mazda8-2013,2011,2010 - VSB_MAZDA_PREMACY_1 = 24, // Դ--2003 - VSB_MAZDA_PREMACY_2 = 25, // Դ--2006,2005,2004 - VSB_MAZDA_COREWING_1 = 26, // Դ--2012,2011,2010,2009 - VSB_MAZDA_COREWING_2 = 27, // Դ--2011,2010 - VSB_MAZDA_COREWING_3 = 28, // Դ--2012 - VSB_MAZDA_2_2 = 29, // Դ-Mazda2()-2011,2010,2008 - VSB_MAZDA_6_1 = 30, // Դ-Mazda6-2004 - VSB_MAZDA_6_4 = 31 // Դ-Mazda6-2014,2013,2012,2011,2010 -}VSB_MAZDA_CLASS; - -//ѩƷ -typedef enum _VSB_CHEVROLET_CLASS -{ - VSB_CHEVROLET_OTHER = 0, // - VSB_CHEVROLET_NEWAVEO = 1, // Ψŷ - VSB_CHEVROLET_EPICA = 2, // - VSB_CHEVROLET_CRUZE = 3, // ³ - VSB_CHEVROLET_CAPTIVA = 4, // - VSB_CHEVROLET_MALIBU = 5, // - VSB_CHEVROLET_SAIL = 6, // ŷ - VSB_CHEVROLET_CAMARO = 7, // - VSB_CHEVROLET_LECHENG = 8, // ֳ - VSB_CHEVROLET_LOVA = 9, // ַ - VSB_CHEVROLET_OLDAVEO = 10, // ֳ-ϿΨŷ - VSB_CHEVROLET_SPARK = 11, // ֳ - VSB_CHEVROLET_SAILSRV = 12, // ŷSRV - VSB_CHEVROLET_LOVA_1 = 13, // ѩ-ַ-2009,2008,2007,2006 - VSB_CHEVROLET_LOVA_2 = 14, // ѩ-ַ-2010 - VSB_CHEVROLET_SPARK_1 = 15, // ѩ-ֳ-2010,2009,2006,2005,2004 - VSB_CHEVROLET_SPARK_2 = 16, // ѩ-ֳ-2010˶ - VSB_CHEVROLET_OLDAVEO_1 = 17, // ѩ-ֳ-2005 - VSB_CHEVROLET_OLDAVEO_2 = 18, // ѩ-ֳ-2010,2009,2008 - VSB_CHEVROLET_EPICA_1 = 19, // ѩ--2005 - VSB_CHEVROLET_EPICA_3 = 20, // ѩ--2012,2011,2010 - VSB_CHEVROLET_EPICA_4 = 21, // ѩ--2012,2011,2010 - VSB_CHEVROLET_EPICA_5 = 22, // ѩ--2013 - VSB_CHEVROLET_NEWAVEO_1 = 23, // ѩ-Ψŷ-2013,2012,2011 - VSB_CHEVROLET_CAPTIVA_1 = 24, // ѩ--2010,2008 - VSB_CHEVROLET_CAPTIVA_2 = 25, // ѩ--2014,2013,2012,2011 - VSB_CHEVROLET_KEMAILUO_1 = 26, // ѩ--2012,2011 - VSB_CHEVROLET_CRUZE_1 = 27, // ѩ-³-2014,2013,2012,2011,2010,2009 - VSB_CHEVROLET_SAIL_1 = 28, // ѩ-ŷ-2005 - VSB_CHEVROLET_SAIL_2 = 29, // ѩ-ŷ-2013,2011,2010 - VSB_CHEVROLET_MALIBU_1 = 30, // ѩ--2014,2013,2012 - VSB_CHEVROLET_EPICA_2 = 31 // ѩ--2009,2008,2007 -}VSB_CHEVROLET_CLASS; - -//ѩƷ -typedef enum _VSB_CITROEN_CLASS -{ - VSB_CITROEN_OTHER = 0, // - VSB_CITROEN_C2 = 1, // ѩC2 - VSB_CITROEN_C4L = 2, // ѩC4L - VSB_CITROEN_C5 = 3, // ѩC5 - VSB_CITROEN_ELYSEE = 4, // - VSB_CITROEN_CQUATRELIANGXIANG = 5, // - VSB_CITROEN_CQUATRESANXIANG = 6, // - VSB_CITROEN_SAEAPICASSO = 7, // -ϼ - VSB_CITROEN_PICASSO = 8, // ϼ - VSB_CITROEN_CTRIOMPHE = 9, // - VSB_CITROEN_XSARA = 10, // - VSB_CITROEN_SHENLONGFUKANG = 11, // - VSB_CITROEN_CHANGANDS = 12, // DS - VSB_CITROEN_C2_1 = 13, // ѩ-C2-2012,2010,2008,2007,2006 - VSB_CITROEN_C4L_1 = 14, // ѩ-C4L-2014,2013 - VSB_CITROEN_C4PICASSO_1 = 15, // ѩ-C4ϼ-2009ʰ - VSB_CITROEN_C5_1 = 16, // ѩ-C5-2012,2011,2010 - VSB_CITROEN_CQUATRESANXIANG_1 = 17, // ѩ--2013,2012 - VSB_CITROEN_CQUATRELIANGXIANG_1 = 18, // ѩ--2011,2010,2009,2008 - VSB_CITROEN_CTRIOMPHE_1 = 19, // ѩ--2010,2009,2008,2006 - VSB_CITROEN_FUKANG_1 = 20, // ѩ--2006,2005,2004,2003,2002 - VSB_CITROEN_ELYSEE_1 = 21, // ѩ--2006,2005,2004,2003,2002 - VSB_CITROEN_ELYSEE_2 = 22, // ѩ--2013,2012,2011,2010,2009,2008,2007 - VSB_CITROEN_SAEAPICASSO_1 = 23 // ѩ--ϼ-2014 -}VSB_CITROEN_CLASS; - -//ִƷ -typedef enum _VSB_HYUNDAI_CLASS -{ - VSB_HYUNDAI_OTHER = 0, // - VSB_HYUNDAI_IX35 = 1, // ִIX35 - VSB_HYUNDAI_LANGDONG = 2, // ʶ - VSB_HYUNDAI_MOINCA = 3, // Ԧ - VSB_HYUNDAI_SHENGDA = 4, // ʤ - VSB_HYUNDAI_VERNA = 5, // - VSB_HYUNDAI_RUIYI = 6, // - VSB_HYUNDAI_SONATAEIGHT = 7, // - VSB_HYUNDAI_TUCSON = 8, // ;ʤ - VSB_HYUNDAI_YUEDONG = 9, // ö - VSB_HYUNDAI_ELANTRA = 10, // - VSB_HYUNDAI_GRANDSANTAFE = 11, // - VSB_HYUNDAI_COUPE = 12, // - VSB_HYUNDAI_MATRIX = 13, // - VSB_HYUNDAI_ACCENT = 14, // - VSB_HYUNDAI_IX30 = 15, // ִIX30 - VSB_HYUNDAI_SONATA = 16, // - VSB_HYUNDAI_REFINE = 17, // ִ - VSB_HYUNDAI_MISTRA = 18, // ͼ - VSB_HYUNDAI_SONATAYUFENG = 19, // - - VSB_HYUNDAI_SANTAFE = 20, // ִʥ - VSB_HYUNDAI_HUIYI = 21, // ڻ - VSB_HYUNDAI_I30_1 = 22, // ִ-i30-2010,2009 - VSB_HYUNDAI_IX35_1 = 23, // ִ-ix35-2012,2011,2010 - VSB_HYUNDAI_YILANTE_1 = 24, // ִ--2006,2005,2004 - VSB_HYUNDAI_YILANTE_2 = 25, // ִ--2007 - VSB_HYUNDAI_YILANTE_3 = 26, // ִ--2011 - VSB_HYUNDAI_SHENGDA_1 = 27, // ִ-ȫʤ-2013,2012 - VSB_HYUNDAI_MINGTU_1 = 28, // ִ-ͼ-2014,2013 - VSB_HYUNDAI_MINGYU_1 = 29, // ִ-Ԧ-2013,2011,2009 - VSB_HYUNDAI_SHENGDAFEI_1 = 30, // ִ-ʥ-δ֪ - VSB_HYUNDAI_YUXIANG_1 = 31, // ִ--2005ʰ - VSB_HYUNDAI_YUXIANG_2 = 32, // ִ--2006,2005 - VSB_HYUNDAI_YUEDONG_1 = 33, // ִ-ö-2010,2009,2008 - VSB_HYUNDAI_YUEDONG_2 = 34, // ִ-ö-2012,2011 - VSB_HYUNDAI_SHENGDA_2 = 35, // ִ-ʤ-2009,2006 - VSB_HYUNDAI_SHENGDA_3 = 36, // ִ-ʤ-2012,2011,2010 - VSB_HYUNDAI_LANGDONG_1 = 37, // ִ-ʶ-2013,2012 - VSB_HYUNDAI_GERUI_1 = 38, // ִ--δ֪ - VSB_HYUNDAI_RUIYI_1 = 39, // ִ--2014 - VSB_HYUNDAI_RUINA_1 = 40, // ִ--2013,2010 - VSB_HYUNDAI_RUINA_2 = 41, // ִ--2014,2013,2011 - VSB_HYUNDAI_RUIFENG_1 = 42, // ִ--δ֪ - VSB_HYUNDAI_SUONATA_1 = 43, // ִ--2008,2007,2006,2004,2003׼ - VSB_HYUNDAI_SUONATA_2 = 44, // ִ--2010,2009,2008,2006,2004 - VSB_HYUNDAI_SOUNATA_3 = 45, // ִ--2011,2010 - VSB_HYUNDAI_WEILAKESI_1 = 46, // ִ-ά˹-2012,2010,2008,2007 - VSB_HYUNDAI_MEIJIA_1 = 47, // ִ--δ֪ - VSB_HYUNDAI_JINKOUHUIYI_1 = 48, // ִ-ڻ-δ֪ - VSB_HYUNDAI_TUSHENG_1 = 49, // ִ-;ʤ-2005 - VSB_HYUNDAI_TUSHENG_2 = 50, // ִ-;ʤ-2011,2009,2008,2006 - VSB_HYUNDAI_TUSHENG_3 = 51, // ִ-;ʤ-2013 - VSB_HYUNDAI_KUPAI_1 = 52, // ִ--δ֪ - VSB_HYUNDAI_YASHENTE_1 = 53, // ִ--2008,2006 - VSB_HYUNDAI_YASHENTE_2 = 54, // ִ--2011 - VSB_HYUNDAI_LINGXIANG_1 = 55, // ִ--2009,2008 - VSB_HYUNDAI_FEISI_1 = 56 // ִ-˼-2011 -}VSB_HYUNDAI_CLASS; - -//Ʒ -typedef enum _VSB_CHERY_CLASS -{ - VSB_CHERY_OTHER = 0, // - VSB_CHERY_A1 = 1, // A1 - VSB_CHERY_A3 = 2, // A3 - VSB_CHERY_EASTAR = 3, // ֮ - VSB_CHERY_FULWIN = 4, // - VSB_CHERY_QQ = 5, // QQ - VSB_CHERY_E5 = 6, // E5 - VSB_CHERY_COWIN = 7, // - VSB_CHERY_TIGGO = 8, // - VSB_CHERY_A5 = 9, // A5 - VSB_CHERY_S16 = 10, // S16 - VSB_CHERY_YOUYA = 11, // - VSB_CHERY_V5 = 12, // V5 - VSB_CHERY_E3 = 13, // E3 - VSB_CHERY_A1_1 = 14, // -A1-2011,2008,2007 - VSB_CHERY_A3LIANGXIANG_1 = 15, // -A3-2012,2010,2009 - VSB_CHERY_A5_1 = 16, // -A5-2009,2007,2006 - VSB_CHERY_QQ_1 = 17, // -QQ-2006,2005,2004 - VSB_CHERY_QQ_2 = 18, // -QQ-2010,2007,2006 - VSB_CHERY_QQ_3 = 19, // -QQ-2012,2011,2010,2009,2007 - VSB_CHERY_QQ_4 = 20, // -QQ-2012˶ - VSB_CHERY_QQ_5 = 21, // -QQ-2013 - VSB_CHERY_DONGFANGZHIZI_1 = 22, // -֮-2005,2004,2003 - VSB_CHERY_DONGFANGZHIZI_2 = 23, // -֮-2007,2006 - VSB_CHERY_DONGFANGZHIZI_3 = 24, // -֮CROSS-2009,2008,2007 - VSB_CHERY_YOUYA_1 = 25, // --δ֪ - VSB_CHERY_E3_1 = 26, // -E3-2013 - VSB_CHERY_E5_1 = 27, // -E5-2014,2012,2011 - VSB_CHERY_QIYUN1_1 = 28, // -1-2010 - VSB_CHERY_QIYUN1_2 = 29, // -1-2012 - VSB_CHERY_QIYUN_1 = 30, // --2004 - VSB_CHERY_QIYUN_2 = 31, // --2009,2008,2007,2006 - VSB_CHERY_QIYUN2_1 = 32, // -2-2012 - VSB_CHERY_QIYUN2_2 = 33, // -2-2012,2010 - VSB_CHERY_QIYUN3_1 = 34, // -3-2010 - VSB_CHERY_RUIHU_1 = 35, // --2007,2006,2005 - VSB_CHERY_RUIHU_2 = 36, // --2009,2007 - VSB_CHERY_RUIHU_3 = 37, // --2012,2011 - VSB_CHERY_RUIHU_4 = 38, // --2013,2012ԶDVVT - VSB_CHERY_RUIHU_5 = 39, // --2013Ӣ,2012Ӣ - VSB_CHERY_FENGYUN2SANXIANG_1 = 40, // -2-2010 - VSB_CHERY_AIRUIZE7_1 = 41 // -7-2014,2013 -}VSB_CHERY_CLASS; - -//Ʒ -typedef enum _VSB_KIA_CLASS -{ - VSB_KIA_OTHER = 0, // - VSB_KIA_K2 = 1, // K2 - VSB_KIA_K3 = 2, // K3 - VSB_KIA_K5 = 3, // K5 - VSB_KIA_RIO = 4, // ŷ - VSB_KIA_CERATO = 5, // ͼ - VSB_KIA_SPORTAGER = 6, // ʨ - VSB_KIA_SOUL = 7, // - VSB_KIA_ZHIPAO = 8, // - VSB_KIA_CARENS = 9, // - VSB_KIA_CARNIVAL = 10, // λ - VSB_KIA_OPTIMA = 11, // Զ - VSB_KIA_OPIRUS = 12, // ŷ˹ - VSB_KIA_MAXIMA = 13, // ǧ - VSB_KIA_FORTE = 14, // - VSB_KIA_SORENTO = 15, // - VSB_KIA_K2_1 = 16, // -K2-2013,2012,2011 - VSB_KIA_K3_1 = 17, // -K3-2012 - VSB_KIA_K5_1 = 18, // -K5-2012,2011 - VSB_KIA_RUIOU_1 = 19, // -RIOŷ-2009,2007 - VSB_KIA_QIANLIMA_1 = 20, // -ǧ-2004 - VSB_KIA_QIANLIMA_2 = 21, // -ǧ-2006,2005 - VSB_KIA_JIAHUA_1 = 22, // -λ-δ֪ - VSB_KIA_XINJIALE_1 = 23, // -¼-2011 - VSB_KIA_ZHIPAO_1 = 24, // --2014,2012,2011,2010 - VSB_KIA_SHIPAO_1 = 25, // -ʨ-2008,2007,2005 - VSB_KIA_SHIPAO_2 = 26, // -ʨ-2011,2009 - VSB_KIA_SHIPAO_3 = 27, // -ʨ-2012 - VSB_KIA_SHIPAO_4 = 28, // -ʨ-2013 - VSB_KIA_FURUIDI_1 = 29, // --2012,2011,2009 - VSB_KIA_FURUIDI_2 = 30, // --2014 - VSB_KIA_XIUER_1 = 31, // --2012,2010 - VSB_KIA_SUOLANTUO_1 = 32, // --2006 - VSB_KIA_SUOLANTUO_2 = 33, // --2012,2010,2009 - VSB_KIA_SAILATU_1 = 34, // -ͼ-2006,2005 - VSB_KIA_SAILATU_2 = 35, // -ͼ-2007 - VSB_KIA_SAILATU_3 = 36, // -ͼ-2012,2010GLS - VSB_KIA_YUANJIAN_1 = 37 // -Զ-δ֪ -}VSB_KIA_CLASS; - -//Ʒ -typedef enum _VSB_BENZ_CLASS -{ - VSB_BENZ_OTHER = 0, // - VSB_BENZ_C = 1, // C - VSB_BENZ_E = 2, // E - VSB_BENZ_GLK = 3, // GLK - VSB_BENZ_WEITING = 4, // -PINYIN - VSB_BENZ_SPRINTER = 5, // - VSB_BENZ_VIANO = 6, // Ψŵ - VSB_BENZ_M = 7, // Mϵ - VSB_BENZ_CLK = 8, // CLKϵ - VSB_BENZ_G = 9, // Gϵ - VSB_BENZ_GL = 10, // GLϵ - VSB_BENZ_R = 11, // Rϵ - VSB_BENZ_S = 12, // Sϵ - VSB_BENZ_A = 13, // Aϵ - VSB_BENZ_SMART = 14, // ˹() - VSB_BENZ_B = 15, // Bϵ - VSB_BENZ_SLK = 16, // SLKϵ - VSB_BENZ_MB100 = 17, // MB100 - VSB_BENZ_VITO = 18, // - VSB_BENZ_CLS = 19, // CLSϵ - VSB_BENZ_SL = 20, // SLϵ - VSB_BENZ_AJI_1 = 21, // -A-2011,2009 - VSB_BENZ_AJI_2 = 22, // -A-2013 - VSB_BENZ_BJI_1 = 23, // -B-2010,2009 - VSB_BENZ_CJI_1 = 24, // -C-2010,2008,2007ʱ - VSB_BENZ_CJI_2 = 25, // -C-2013,2011,CGI - VSB_BENZ_CJI_3 = 26, // -C-2013,2011ʱ - VSB_BENZ_EJI_1 = 27, // -E-2002 - VSB_BENZ_EJI_2 = 28, // -E-2007,2006 - VSB_BENZ_EJI_3 = 29, // -E-2013,2012,2011,2010,2009 - VSB_BENZ_EJI_4 = 30, // -E-2013,2012,2011,2010,2009ʱ - VSB_BENZ_GLKJI_1 = 31, // -GLK-2012,2011 - VSB_BENZ_GLKJI_2 = 32, // -GLK-2012,2011,2008 - VSB_BENZ_GLKJI_3 = 33, // -GLK-2014,2013 - VSB_BENZ_GLJI_1 = 34, // -GL-2011 - VSB_BENZ_GLJI_2 = 35, // -GL-2011,2010 - VSB_BENZ_GLJI_3 = 36, // -GL-2012,2010 - VSB_BENZ_GJI_1 = 37, // -G-2013,2010,2009 - VSB_BENZ_MB100_1 = 38, // -MB100-2000 - VSB_BENZ_MLJI_1 = 39, // -ML-2006,2005 - VSB_BENZ_MLJI_2 = 40, // -ML-2010,2008 - VSB_BENZ_MLJI_3 = 41, // -ML-2014,2012 - VSB_BENZ_RJI_1 = 42, // -R-2006 - VSB_BENZ_RJI_2 = 43, // -R-2007 - VSB_BENZ_RJI_3 = 44, // -R-2014,2011,2010,2009 - VSB_BENZ_SLKJI_2 = 45, // -SLK-2006,2004 - VSB_BENZ_SLKJI_3 = 46, // -SLK-2010,2009 - VSB_BENZ_SLKJI_1 = 47, // -SLK-2011 - VSB_BENZ_SJI_1 = 48, // -S-2004 - VSB_BENZ_SJI_2 = 49, // -S-2009_Hybrid,2008,2006 - VSB_BENZ_SJI_3 = 50, // -S-2009,2008 - VSB_BENZ_SJI_4 = 51, // -S-2012,2011,2010 - VSB_BENZ_LINGTE_1 = 52, // --2013,2012,2011 - VSB_BENZ_WEIYANUO_1 = 53, // -Ψŵ-2010,2006,2004 - VSB_BENZ_WEIYANUO_2 = 54, // -Ψŵ-2014,2013,2012,2011 - VSB_BENZ_WEITING_1 = 55, // --2013,2011,2010 - VSB_BENZ_KECHE_1 = 56 // -ͳ1-A -}VSB_BENZ_CLASS; - -//˹´Ʒ -typedef enum _VSB_SKODA_CLASS -{ - VSB_SKODA_OTHER = 0, // - VSB_SKODA_HAORUI = 1, // - VSB_SKODA_FABIA = 2, // - VSB_SKODA_OCTAVIA = 3, // - VSB_SKODA_SUPERB = 4, // - VSB_SKODA_SPACEBACK = 5, // 꿶 - VSB_SKODA_RAPID = 6, // - VSB_SKODA_YETI = 7, // Ұ - VSB_SKODA_HAORUI_1 = 8, // ˹´--2013,2012,2010,2009 - VSB_SKODA_MINGRUI_1 = 9, // ˹´--2009,2008,2007 - VSB_SKODA_MINGRUI_2 = 10, // ˹´--2014,2013,2012,2011,2010 - VSB_SKODA_MINGRUI_3 = 11, // ˹´-RS-2010 - VSB_SKODA_XINRUI_1 = 12, // ˹´--2013ѡ - VSB_SKODA_JINGRUI_1 = 13, // ˹´--2011,2009,2008 - VSB_SKODA_JINGRUI_2 = 14, // ˹´--2014,2013,2012 - VSB_SKODA_JINGRUI_3 = 15, // ˹´--2014,2013,2012Sport - VSB_SKODA_SUPAI_1 = 16, // ˹´--2013 - VSB_SKODA_YEDI_1 = 17 // ˹´-Ұ-2014,2013 -}VSB_SKODA_CLASS; - -//Ʒ -typedef enum _VSB_DONGFENG_CLASS -{ - VSB_DONGFENG_OTHER = 0, // - VSB_DONGFENG_JOYEARX5 = 1, // X5 - VSB_DONGFENG_LINGZHI = 2, // - VSB_DONGFENG_JOYEARX3 = 3, // X3 - VSB_DONGFENG_JOYEAR = 4, // - VSB_DONGFENG_FENGXINGCM7 = 5, // CM7 - VSB_DONGFENG_YUFENG = 6, // - VSB_DONGFENG_FENGSHENA60 = 7, // A60 - VSB_DONGFENG_FENGSHENS30 = 8, // S30 - VSB_DONGFENG_FENGSHENH30CROSS = 9, // H30-CROSS - VSB_DONGFENG_PICKUP = 10, // Ƥ - VSB_DONGFENG_ZHONGXINGMIANBAOCHE = 11, // - VSB_DONGFENG_XIAOXINGMIANBAOCHE = 12, // С - VSB_DONGFENG_ZHONGXINGVAN = 13, // ͻ - VSB_DONGFENG_QINGXINGXIANGSHIVAN = 14, // ʽ - VSB_DONGFENG_QINGZHONGXINGVAN = 15, // ͨ - VSB_DONGFENG_FENGSHENMERCURY = 16, // ˮ - VSB_DONGFENG_SUCCE = 17, // ˧ - VSB_DONGFENG_ODIN = 18, // ¶ - VSB_DONGFENG_YUMSUN = 19, // - VSB_DONGFENG_RUIQI = 20, // - VSB_DONGFENG_FENGGUANG = 21, // - VBR_DONGFENG_C35_1 = 22, // -C35-2013 - VBR_DONGFENG_K07_1 = 23, // -K07-2008 - VBR_DONGFENG_K07_2 = 24, // -K07-2010,2006 - VBR_DONGFENG_V21_1 = 25, // -V21-2011 - VBR_DONGFENG_JIALONG_1 = 26, // --ػ - VBR_DONGFENG_XKFG_1 = 27, // -С-2013 - VBR_DONGFENG_CV03_1 = 28, // -CV03-2012 - VBR_DONGFENG_KAIPUTE_1 = 29, // --C390 - VBR_DONGFENG_DUOLIKA_1 = 30, // --S2800 - VBR_DONGFENG_DUOLIKA_2 = 31, // --XLп - VBR_DONGFENG_DUOLIKA_3 = 32, // --п - VBR_DONGFENG_TIANJIN_1 = 33, // --4X2ػ - VBR_DONGFENG_TIANJIN_2 = 34, // --A - VBR_DONGFENG_XBW_1 = 35, // -С-Ῠ1 - VBR_DONGFENG_XBW_2 = 36, // -С-Ῠ2 - VBR_DONGFENG_MENGKA_1 = 37, // -ο-Ῠ - VBR_DONGFENG_FURUIKA_1 = 38, // --Ῠ1 - VBR_DONGFENG_RUIQI_1 = 39, // -Ƥ-2013,2010,2009 - VBR_DONGFENG_A60_1 = 40, // -A60-2014,2012 - VBR_DONGFENG_H30_1 = 41, // -H30-Cross-2012,2011 - VBR_DONGFENG_H30_2 = 42, // -H30-Cross-2014,2013 - VBR_DONGFENG_H30_3 = 43, // -H30-2012 - VBR_DONGFENG_JINGYI_1 = 44, // --2014_2012LV,2011 - VBR_DONGFENG_JINGYI_2 = 45, // --2014_2012XL,2011,2010,2009,2008,2007 - VBR_DONGFENG_JINGYI_3 = 46, // -X5-2014,2013 - VBR_DONGFENG_LINGZHI_1 = 47, // --2004 - VBR_DONGFENG_LINGZHI_2 = 48, // --2011,2008,2007 - VBR_DONGFENG_LINGZHI_3 = 49, // --2011Q3׼,2010Q7 - VBR_DONGFENG_LINGZHI_4 = 50, // --2014_2013M3 - VBR_DONGFENG_LINGZHI_5 = 51 // --2014_2013V3,2011M3_ð_ -}VSB_DONGFENG_CLASS; - -//ǵƷ -typedef enum _VSB_BYD_CLASS -{ - VSB_BYD_OTHER = 0, // - VSB_BYD_F0 = 1, // ǵF0 - VSB_BYD_F3 = 2, // ǵF3 - VSB_BYD_F3R = 3, // ǵF3R - VSB_BYD_F6 = 4, // ǵF6 - VSB_BYD_G3 = 5, // ǵG3 - VSB_BYD_G3R = 6, // ǵG3R - VSB_BYD_G6 = 7, // ǵG6 - VSB_BYD_L3 = 8, // ǵL3 - VSB_BYD_M6 = 9, // ǵM6 - VSB_BYD_S6 = 10, // ǵS6 - VSB_BYD_SURUI = 11, // - VSB_BYD_FOLEL = 12, // ش - VSB_BYD_SIRUI = 13, // ˼ - VSB_BYD_MT5 = 14, // ǵMT5() - VSB_BYD_F0_1 = 15, // ǵ-F0-2013,2012,2011,2010,2009,2008 - VSB_BYD_F3R_1 = 16, // ǵ-F3R-2011,2009,2008,2007 - VSB_BYD_F6_1 = 17, // ǵ-F6-2011,2009,2008 - VSB_BYD_G3R_1 = 18, // ǵ-G3R-2011 - VSB_BYD_G6_1 = 19, // ǵ-G6-2013,2012,2011 - VSB_BYD_L3_1 = 20, // ǵ-L3-2013,2012,2011,2010 - VSB_BYD_M6_1 = 21, // ǵ-M6-2013,2011,2010 - VSB_BYD_S6_1 = 22, // ǵ-S6-2014,2013,2012,2011 - VSB_BYD_FULAIER_1 = 23, // ǵ--2005 - VSB_BYD_SURUI_1 = 24 // ǵ--2014,2013,2012 -}VSB_BYD_CLASS; - -//ľƷ -typedef enum _VSB_SUZUKI_CLASS -{ - VSB_SUZUKI_OTHER = 0, // - VSB_SUZUKI_ALTO = 1, // - VSB_SUZUKI_SCROSS = 2, // Ԧ - VSB_SUZUKI_SWIFT = 3, // - VSB_SUZUKI_SX4 = 4, // - VSB_SUZUKI_LINGYANG = 5, // - VSB_SUZUKI_BEIDOUXING = 6, // - VSB_SUZUKI_LIANAA6 = 7, // -A6 - VSB_SUZUKI_LANDY = 8, // ˵ - VSB_SUZUKI_SPLASH = 9, // ϲ - VSB_SUZUKI_GRANDVITARA = 10, // ά - VSB_SUZUKI_JIMNY = 11, // ķ - VSB_SUZUKI_KAZASHI = 12, // - VSB_SUZUKI_LIANA = 13, // - VSB_SUZUKI_LIANA_1 = 14, // ľ--2012,2011,2010,2008,2007,2005 - VSB_SUZUKI_LIANA_2 = 15, // ľ--2013,2012,2011 - VSB_SUZUKI_BEIDOUXING_1 = 16, // ľ--2012,2011,2010,2009,2008,2007,2005,2004׼ - VSB_SUZUKI_BEIDOUXING_2 = 17, // ľ--2013,2012,2011,2010,2009,2008,2007,2005,2004,2003 - VSB_SUZUKI_BEIDOUXING_3 = 18, // ľ--2013,2012,2011,2010,2009,2008,2007,2005,2004,2003 - VSB_SUZUKI_BEIDOUXING_4 = 19, // ľ--2013X5 - VSB_SUZUKI_JIMUNI_1 = 20, // ľ-ķ-2011,2010,2009,2007 - VSB_SUZUKI_JIMUNI_2 = 21, // ľ-ķ-2012 - VSB_SUZUKI_SX4_1 = 22, // ľ-SX4-2008,2006 - VSB_SUZUKI_SX4_2 = 23, // ľ-SX4-2010,2009 - VSB_SUZUKI_SX4_3 = 24, // ľ-SX4-2011A,2009,2008,2007 - VSB_SUZUKI_SX4_4 = 25, // ľ-SX4-2011B - VSB_SUZUKI_SX4_5 = 26, // ľ-SX4-2013,2012,2011 - VSB_SUZUKI_ALTO_1 = 27, // ľ--2006,2001,2000,1999,1993׼ - VSB_SUZUKI_ALTO_2 = 28, // ľ--2006,2004,2001,2000,1999,1993 - VSB_SUZUKI_ALTO_3 = 29, // ľ--2013 - VSB_SUZUKI_ALTO_4 = 30, // ľ--2014,2012,2011,2010,2009 - VSB_SUZUKI_SPLASH_1 = 31, // ľ-ϲ-2013,2012,2011 - VSB_SUZUKI_LANDY_1 = 32, // ľ-˵-2011,2010,2007 - VSB_SUZUKI_LINGYANG_2 = 33, // ľ--2006,2004,2003 - VSB_SUZUKI_LINGYANG_3 = 34, // ľ--2009,2008,2007 - VSB_SUZUKI_LINGYANG_4 = 35, // ľ--2011 - VSB_SUZUKI_LINGYANG_5 = 36, // ľ--2012 - VSB_SUZUKI_GRANDVITARA_1 = 37, // ľ-ά-2011,2008,2007,2006 - VSB_SUZUKI_FENGYU_1 = 38, // ľ-Ԧ-2014 - VSB_SUZUKI_SWIFT_1 = 39, // ľ--2011_1.3L,2009,2008,2007,2005 - VSB_SUZUKI_SWIFT_2 = 40, // ľ--2012,2011 - VSB_SUZUKI_KINGCHANG_1 = 41, // ľ--2004 - VSB_SUZUKI_LINGYANG_1 = 42 // ľ--2002 -}VSB_SUZUKI_CLASS; - -//Ʒ -typedef enum _VSB_SGMW_CLASS -{ - VSB_SGMW_OTHER = 0, // - VSB_SGMW_HONGGUANG = 1, // - VSB_SGMW_HONGGUANGS = 2, // S - VSB_SGMW_ZHIGUANG = 3, // ֮ - VSB_SGMW_RONGGUANGS = 4, // ٹS - VSB_SGMW_RONGGUANG = 5, // ٹ - VSB_SGMW_HONGTU = 6, // ; - VSB_SGMW_XINGWANG = 7, // - VSB_SGMW_YANGGUANG = 8, // - VSB_SGMW_XIAOXUANFENG = 9, // С - VSB_SGMW_WULINGZHIGUANG_1 = 10, // -֮-2010,2009ҵ - VSB_SGMW_WULINGZHIGUANG_2 = 11, // -֮-2010̳, - VSB_SGMW_WULINGZHIGUANG_3 = 12, // -֮-2010,2008ʽ,2007 - VSB_SGMW_XINGWANG_1 = 13, // --2003 - VSB_SGMW_XINGWANG_2 = 14, // --2009׼ - VSB_SGMW_XINGWANG_3 = 15, // --2010,2009,2007,2006,2005,2004 - VSB_SGMW_HONNGUANG_1 = 16, // --2013,2010 - VSB_SGMW_HONNGUANG_2 = 17, // --2014,2013S - VSB_SGMW_XIAOXUANFENG_1 = 18, // -С-2006 - VSB_SGMW_YANGGUANG_1 = 19, // --2006,2005,2004 - VSB_SGMW_YANGGUANG_2 = 20, // --2008,2007 - VSB_SGMW_YANGGUANG_3 = 21, // --2009,2006,2005ֶ׼ - VSB_SGMW_RONGGUANG_1 = 22, // -ٹ-2012,2011,2008 - VSB_SGMW_RONGGUANG_2 = 23, // -ٹ-2012,2011,2008׼ - VSB_SGMW_HONGTU_1 = 24 // -;-2010,2009,2008,2007 -}VSB_SGMW_CLASS; - -//Ʒ -typedef enum _VSB_CHANA_CLASS -{ - VSB_CHANA_OTHER = 0, // - VSB_CHANA_HONOR = 1, // ŷŵ - VSB_CHANA_XINGKA = 2, // ǿ - VSB_CHANA_ZHIXING = 3, // ֮ - VSB_CHANA_PICKUP = 4, // С(Ƥ) - VSB_CHANA_ZHIXING2 = 5, // ֮2 - VSB_CHANA_TAURUS = 6, // ţ - VSB_CHANA_XINGGUANG = 7, // ǹ - VSB_CHANA_BENNI = 8, // - VSB_CHANA_ALSVIN = 9, // - VSB_CHANA_CX20 = 10, // CX20 - VSB_CHANA_CX30 = 11, // CX30 - VSB_CHANA_EADO = 12, // ݶ - VSB_CHANA_ZHIXINGS460 = 13, // ֮S460 - VSB_CHANA_CM8 = 14, // CM8 - VSB_CHANA_XINBAO = 15, // ± - VSB_CHANA_XUNLONG = 16, // ѫ - VSB_CHANA_YUNTONG = 17, // ͨ - VSB_CHANA_LEIMENG = 18, // - VSB_CHANA_XINGYUN = 19, // - VSB_CHANA_OULIWEI = 20, // ŷ - VSB_CHANA_EADOXT = 21, // XT - VSB_CHANA_XINGYUN_1 = 22, // --2004,2003,2000 - VSB_CHANA_OULIWEI_1 = 23, // -ŷ-2013 - VSB_CHANA_YUNTONG_1 = 24, // -ͨ-2004 - VSB_CHANA_TAURUS_1 = 25, // -ţ-2013,2012,2011,2010 - VSB_CHANA_LEIMENG_1 = 26, // --2005,2003 - VSB_CHANA_ZHIXING_1 = 27, // -֮-2010,2009 - VSB_CHANA_ZHIXING_2 = 28, // -֮-2013 - VSB_CHANA_ZHIXING_3 = 29, // -֮2-2009,2008 - VSB_CHANA_ZHIXING_4 = 30, // -֮2-2012 - VSB_CHANA_ZHIXING_5 = 31, // -֮S460-2010,2009 - VSB_CHANA_ZHIXING_6 = 32, // -֮SC6350-2003 - VSB_CHANA_PICKUP_1 = 33, // -΢-2013,2012 - VSB_CHANA_XINGGUANG_1 = 34, // -ǹ4500-2009,2007 - VSB_CHANA_XINGGUANG_2 = 35, // -ǹ4500-2012 - VSB_CHANA_HONOR_1 = 36 // -ŷŵ-2014,2012 -}VSB_CHANA_CLASS; - -//γƷ -typedef enum _VSB_EADO_CLASS -{ - VSB_EADO_OTHER = 0, // - VSB_EADO_CS_1 = 1, // γ-CS35-2014,2013,2012 - VSB_EADO_CX_1 = 2, // γ-CX20-2011 - VSB_EADO_CX_2 = 3, // γ-CX30-2010 - VSB_EADO_BENBEN_1 = 4, // γ--2008,2007,2006 - VSB_EADO_BENBEN_2 = 5, // γ--2008,2007˶ - VSB_EADO_BENBEN_3 = 6, // γ--2010 - VSB_EADO_BENBEN_4 = 7, // γ-MINI-2011,2010 - VSB_EADO_BENBEN_5 = 8, // γ-MINI-2012 - VSB_EADO_YUEXIANG_1 = 9, // γ--2011,2010,2009 - VSB_EADO_YUEXIANG_2 = 10, // γ--2012 - VSB_EADO_YUEXIANG_3 = 11, // γ-V3-2013,2012 - VSB_EADO_YUEXIANG_4 = 12, // γ-V5-2012 - VSB_EADO_YIDONG_1 = 13 // γ-ݶ-2014,2013,2012 -}VSB_EADO_CLASS; - -//Ʒ -typedef enum _VSB_JINBEI_CLASS -{ - VSB_JINBEI_OTHER = 0, // - VSB_JINBEI_GRACE = 1, // 𱭸˹ - VSB_JINBEI_HIACE = 2, // 𱭺ʨ - VSB_JINBEI_HAIXING = 3, // - VSB_JINBEI_BADAO = 4, // 𱭰Ե - VSB_JINBEI_LINGQI = 5, // - VSB_JINBEI_JINQI = 6, // - VSB_JINBEI_LINGCHI = 7, // - VSB_JINBEI_QIYUN = 8, // - VSB_JINBEI_ZHISHANG_1 = 9, // -S30-2014,2013,2012 - VSB_JINBEI_HAIXING_1 = 10, // --2012 - VSB_JINBEI_HAIXING_2 = 11, // --2012A7ػ,2011 - VSB_JINBEI_HIACE_1 = 12, // -ʨ-2008 - VSB_JINBEI_HIACE_2 = 13, // -ʨ-2013,2011,2010 - VSB_JINBEI_HIACE_3 = 14, // -ʨ-2013,2011,2008׼ - VSB_JINBEI_JINDIAN_1 = 15, // --2009 - VSB_JINBEI_GRACE_1 = 16, // -˹MPV-2011,2008,2007 - VSB_JINBEI_GRACE_2 = 17, // -˹MPV-2011,2010,2009,2007׼9 - VSB_JINBEI_BADAO_1 = 18 // -ԵSUV-2011,2008 - -}VSB_JINBEI_CLASS; - -//Ʒ -typedef enum _VSB_GEELY_CLASS -{ - VSB_GEELY_OTHER = 0, // - VSB_GEELY_EC7 = 1, // ۺEC7 - VSB_GEELY_EC8 = 2, // ۺEC8 - VSB_GEELY_SC3 = 3, // SC3 - VSB_GEELY_SC5RV = 4, // SC5-RV - VSB_GEELY_SC6 = 5, // SC6 - VSB_GEELY_JINGYING = 6, // ӥ - VSB_GEELY_JINGGANG = 7, // - VSB_GEELY_SX7 = 8, // SX7 - VSB_GEELY_HAOQING = 9, // - VSB_GEELY_MEIRI = 10, // - VSB_GEELY_YINGLUNSC7 = 11, // ӢSC7 - VSB_GEELY_PANDA = 12, // è - VSB_GEELY_YUANJING = 13, // Զ - VSB_GEELY_ZIYOUJIAN = 14 // ɽ -}VSB_GEELY_CLASS; - -//Ʒ -typedef enum _VSB_MITSUBISHI_CLASS -{ - VSB_MITSUBISHI_OTHER = 0, // - VSB_MITSUBISHI_GALANT = 1, // - VSB_MITSUBISHI_ZINGER = 2, // - VSB_MITSUBISHI_LANCER = 3, // ɪ - VSB_MITSUBISHI_LANCEREX = 4, // - VSB_MITSUBISHI_PAJERO = 5, // - VSB_MITSUBISHI_PAJEROSPORT = 6, // - - VSB_MITSUBISHI_JINGXUANASX = 7, // ASX - VSB_MITSUBISHI_GRANDIS = 8, // - VSB_MITSUBISHI_OUTLANDER = 9, // ŷ - VSB_MITSUBISHI_QINXINGYUEYE = 10, // ԽҰ - VSB_MITSUBISHI_GTO = 11, // GTO - VSB_MITSUBISHI_SOVERAN = 12, // - VSB_MITSUBISHI_LIONVEL = 13, // - VSB_MITSUBISHI_HAFEISIMBO = 14, // - VSB_MITSUBISHI_LANCEREX_1 = 15, // --2012,2011,2010 - VSB_MITSUBISHI_JINGXUAN_1 = 16, // --2012,2011 - VSB_MITSUBISHI_ZINGER_1 = 17, // --2011,2009 - VSB_MITSUBISHI_PAJERO_1 = 18, // --2004 - VSB_MITSUBISHI_PAJERO_2 = 19, // --2004 - VSB_MITSUBISHI_PAJERO_3 = 20, // --2010 - VSB_MITSUBISHI_PAJEROSPORT_1 = 21, // -޾-2011 - VSB_MITSUBISHI_GALANT_1 = 22, // --2009 - VSB_MITSUBISHI_GALANDI_1 = 23, // --2007 - VSB_MITSUBISHI_GALANDI_2 = 24, // --2010 - VSB_MITSUBISHI_OUTLANDER_1 = 25, // -ŷ-2012,2011,2010 - VSB_MITSUBISHI_OUTLANDER_2 = 26, // -ŷ-2013 - VSB_MITSUBISHI_LINGYUE_1 = 27, // --δ֪ - VSB_MITSUBISHI_LANCER_1 = 28 // -ɪ-2010 -}VSB_MITSUBISHI_CLASS; - -//׿˹Ʒ -typedef enum _VSB_LEXUS_CLASS -{ - VSB_LEXUS_OTHER = 0, // - VSB_LEXUS_ES = 1, // ׿˹ES - VSB_LEXUS_CT = 2, // ׿˹CT - VSB_LEXUS_RX = 3, // ׿˹RX - VSB_LEXUS_IS = 4, // ׿˹IS - VSB_LEXUS_LX = 5, // ׿˹LX - VSB_LEXUS_GS = 6, // ׿˹GS - VSB_LEXUS_GX = 7, // ׿˹GX - VSB_LEXUS_LS = 8, // ׿˹LS - VSB_LEXUS_CT_1 = 9, // ׿˹-CT-2013,2012,2011 - VSB_LEXUS_ES_1 = 10, // ׿˹-ES-1994 - VSB_LEXUS_ES_2 = 11, // ׿˹-ES-2010,2009,2006 - VSB_LEXUS_ES_3 = 12, // ׿˹-ES-2013,2012 - VSB_LEXUS_GS_1 = 13, // ׿˹-GS-2011,2010,2009,2008,2005 - VSB_LEXUS_GX_1 = 14, // ׿˹-GX-2012,2010 - VSB_LEXUS_IS_1 = 15, // ׿˹-IS-2011 - VSB_LEXUS_LS_1 = 16, // ׿˹-LS-1994 - VSB_LEXUS_LS_2 = 17, // ׿˹-LS-2005,2004 - VSB_LEXUS_LS_3 = 18, // ׿˹-LS-2009,2007,2006 - VSB_LEXUS_LX_1 = 19, // ׿˹-LX-2013,2012 - VSB_LEXUS_RX_1 = 20, // ׿˹-RX-2011,2010,2009 - VSB_LEXUS_RX_2 = 21, // ׿˹-RX-2013,2012 - VSB_LEXUS_RX_3 = 22 // ׿˹-RX-2007 -}VSB_LEXUS_CLASS; - -//Ʒ -typedef enum _VSB_ROEWE_CLASS -{ - VSB_ROEWE_OTHER = 0, // - VSB_ROEWE_350 = 1, // 350 - VSB_ROEWE_550 = 2, // 550 - VSB_ROEWE_W5 = 3, // W5 - VSB_ROEWE_950 = 4, // 950 - VSB_ROEWE_750 = 5, // 750 - VSB_ROEWE_350_1 = 6, // -350-2011Ѹǰ,2010 - VSB_ROEWE_350_2 = 7, // -350-2014,2013,2012,2011 - VSB_ROEWE_550_1 = 8, // -550-2012,2010,2009,2008 - VSB_ROEWE_750_1 = 9, // -750-2009,2008,2007,2006 - VSB_ROEWE_750_2 = 10, // -750-2012,2011 - VSB_ROEWE_950_1 = 11 // -950-2012 -}VSB_ROEWE_CLASS; - - -//Ʒ -typedef enum _VSB_HAIMA_CLASS -{ - VSB_HAIMA_OTHER = 0, // - VSB_HAIMA_PREMARIN = 1, // - VSB_HAIMA_S7 = 2, // S7 - VSB_HAIMA_PRINCE = 3, // - VSB_HAIMA_CUPID = 4, // 2- - VSB_HAIMA_HATCHBACK = 5, // 3- - VSB_HAIMA_KNIGHT = 6, // ʿ - VSB_HAIMA_HAPPIN = 7, // - VSB_HAIMA_FAMILY = 8, // - VSB_HAIMA_M3 = 9, // M3 - VSB_HAIMA_CUPID_1 = 10, // --2012,2011,2010 - VSB_HAIMA_PREMARIN_1 = 11, // --2007 - VSB_HAIMA_PREMARIN_2 = 12, // --2012,2010 - VSB_HAIMA_HATCHBACK_1 = 13, // --2010,2009 - VSB_HAIMA_HAPPIN_1 = 14, // --2010,2009,2008,2007,2004 - VSB_HAIMA_HAPPIN_2 = 15, // --2012,2011 - VSB_HAIMA_M3_1 = 16, // -3-2010,2008,2007 - VSB_HAIMA_FAMILY_1 = 17, // --2007,2006 - VSB_HAIMA_FAMILY_2 = 18, // --2010,2009,2008 - VSB_HAIMA_FAMILY_3 = 19, // --2011 - VSB_HAIMA_FAMILY_4 = 20, // --2014,2013,2012 - VSB_HAIMA_KNIGHT_1 = 21, // -ʿ-2013_2012A,2011,2010 - VSB_HAIMA_KNIGHT_2 = 22, // -ʿ-2013_2012B - VSB_HAIMA_NEWHONGDA_1 = 23, // ó-º-2009 - VSB_HAIMA_NEWHONDGA_2 = 24, // ó-º-2012 - VSB_HAIMA_PRINCE_1 = 25, // ó--2010 - VSB_HAIMA_RONGDA_1 = 26 // ó-ٴ-2012 - -}VSB_HAIMA_CLASS; - -//Ʒ -typedef enum _VSB_GREATWALL_CLASS -{ - VSB_GREATWALL_OTHER = 0, // - VSB_GREATWALL_SING = 1, // Ӱ - VSB_GREATWALL_SAIJUN = 2, // - VSB_GREATWALL_HAVAL = 3, // - VSB_GREATWALL_SAFE = 4, // - VSB_GREATWALL_SAIKU = 5, // - VSB_GREATWALL_SAILING = 6, // - VSB_GREATWALL_KINGDEER = 7, // ϶ - VSB_GREATWALL_DEER = 8, // ϶ - VSB_GREATWALL_WINGLE = 9, // 翥 - VSB_GREATWALL_COOLBEAR = 10, // - VSB_GREATWALL_LINGAO = 11, // - VSB_GREATWALL_CROSS = 12, // - VSB_GREATWALL_GWPERI = 13, // - VSB_GREATWALL_COWRY = 14, // - VSB_GREATWALL_M4 = 15, // M4 - VSB_GREATWALL_LINGAO_1 = 16, // --2010 - VSB_GREATWALL_HAVAL_1 = 17, // -H3-2010,2009 - VSB_GREATWALL_HAVAL_2 = 18, // -H3-2012,2010,2009 - VSB_GREATWALL_HAVAL_3 = 19, // -H5-2012,2011,2010 - VSB_GREATWALL_HAVAL_4 = 20, // -H5-2012,2011,2010̾ - VSB_GREATWALL_HAVAL_5 = 21, // -H5-2012 - VSB_GREATWALL_HAVAL_6 = 22, // -H5-2014,2013 - VSB_GREATWALL_HAVAL_8 = 23, // -H6-2014,2013 - VSB_GREATWALL_HAVAL_9 = 24, // -M2-2010 - VSB_GREATWALL_HAVAL_10 = 25, // -M2-2013,2012 - VSB_GREATWALL_HAVAL_11 = 26, // -M4-2012 - VSB_GREATWALL_HAVAL_12 = 27, // --2011 - VSB_GREATWALL_CROSS_1 = 28, // --2009,2008 - VSB_GREATWALL_CROSS_2 = 29, // -CROSS-2011,2009 - VSB_GREATWALL_JINGLING_1 = 30, // --δ֪ - VSB_GREATWALL_SING_1 = 31, // -Ӱ-2003 - VSB_GREATWALL_SAIKU_1 = 32, // --2004 - VSB_GREATWALL_SAILING_1 = 33, // --δ֪ - VSB_GREATWALL_DIER_1 = 34, // -϶-δ֪ - VSB_GREATWALL_COOLBEAR_1 = 35, // --2010,2009 - VSB_GREATWALL_KINGDEER_1 = 36, // -϶-2008,2007,2004,2003 - VSB_GREATWALL_GREATWALL_1 = 37, // -C20R-2013,2011 - VSB_GREATWALL_GREATWALL_2 = 38, // -C30-2010 - VSB_GREATWALL_GREATWALL_3 = 39, // -C30-2012 - VSB_GREATWALL_GREATWALL_4 = 40, // -C30-2013 - VSB_GREATWALL_GREATWALL_5 = 41, // -C50-2013,2012 - VSB_GREATWALL_GREATWALL_6 = 42, // -V80-2013,2012,2010,2009,2008 - VSB_GREATWALL_WINGLE_1 = 43, // -翥3-2011,2010,2007,2006 - VSB_GREATWALL_WINGLE_2 = 44, // -翥5-2014,2012,2011,2009 - VSB_GREATWALL_HAVAL_7 = 45 // -H6-2013,2012,2011 -}VSB_GREATWALL_CLASS; - -//Ʒ -typedef enum _VSB_DS_CLASS -{ - VSB_DS_OTHER = 0, // - VSB_DS_KUBO_1 = 1, // -Ძ-2011,2010,2009,2008 - VSB_DS_KUWEI_1 = 2, // --2011,2010,2009 - VSB_DS_KUWEI_2 = 3 // --2013 -}VSB_DS_CLASS; - -//·Ʒ -typedef enum _VSB_LANDROVER_CLASS -{ - VSB_LANDROVER_OTHER = 0, // - VSB_LANDROVER_FAXIAN_1 = 1, // ·--2005,2004 - VSB_LANDROVER_FAXIAN_2 = 2, // ·--2013,2011,2010 - VSB_LANDROVER_LANSHENG_1 = 3, // ·-ʤ-2012,2011,2010 - VSB_LANDROVER_LANSHENG_2 = 4, // ·-ʤ-2014,2013,2012,2011 - VSB_LANDROVER_LANSHENG_3 = 5, // ·-ʤ˶-2013,2012,2011,2010 - VSB_LANDROVER_LANSHENG_4 = 6, // ·-ʤ˶-2013Ԧ - VSB_LANDROVER_SXZ_1 = 7 // ·-2-2014,2013,2011 -}VSB_LANDROVER_CLASS; - -//Ʒ -typedef enum _VSB_MG_CLASS -{ - VSB_MG_OTHER = 0, // - VSB_MG_3SW_1 = 1, // MG-MG-3SW-2009,2008 - VSB_MG_MG3_1 = 2, // MG-MG3-2013,2012,2011 - VSB_MG_MG5_1 = 3, // MG-MG5-2014,2013,2012 - VSB_MG_MG6_1 = 4, // MG-MG6-2012,2011 - VSB_MG_MG7_1 = 5, // MG-MG7-2010,2009,2008,2007 -}VSB_MG_CLASS; - -//һƷ -typedef enum _VSB_FAW_CLASS -{ - VSB_FAW_OTHER = 0, // - VSB_FAW_501_1 = 1, //һ-501-Ῠ - VSB_FAW_N3_1 = 2, //һ-N3+-2006 - VSB_FAW_N3_2 = 3, //һ-N3+-2008 - VSB_FAW_JIABAO_1 = 4, //һ-ѱ-2011T50,T57 - VSB_FAW_JIABAO_2 = 5, //һ-ѱ-2000 - VSB_FAW_JIABAO_3 = 6, //һ-ѱ-2006 - VSB_FAW_JIABAO_4 = 7, //һ-ѱ-2012,2011V50ʰ - VSB_FAW_JIABAO_5 = 8, //һ-ѱ-2012,2011V70 - VSB_FAW_JIABAO_6 = 9, //һ-ѱ-2013,2012,2011V52ʵ - VSB_FAW_JIABAO_7 = 10, //һ-ѱ-2014,2013V80 - VSB_FAW_XIALI_1 = 11, //һ--1999,1997 - VSB_FAW_XIALI_2 = 12, //һ-2000-2003,2002 - VSB_FAW_XIALI_3 = 13, //һ-A+-2011,2010,2006,2005 - VSB_FAW_XIALI_4 = 14, //һ-N3-2012 - VSB_FAW_XIALI_5 = 15, //һ-N5-2014,2013,2011,2010,2009 - VSB_FAW_XIALI_6 = 16, //һ-N7-2013 - VSB_FAW_AOWEI_1 = 17, //һ-J5P-2005,2004,2003 - VSB_FAW_AOWEI_2 = 18, //һ-J5P-4X2ǣ,ж - VSB_FAW_AOWEI_3 = 19, //һ-J5P-4X2ǣ,ж - VSB_FAW_AOWEI_4 = 20, //һ-J5P-6X6ԽҰж - VSB_FAW_AOXING_1 = 21, //һ--2004 - VSB_FAW_WEILE_1 = 22, //һ--2004 - VSB_FAW_WEILE_2 = 23, //һ--2008,2007 - VSB_FAW_WEIZI_1 = 24, //һ--2004 - VSB_FAW_WEIZHI_1 = 25, //һ-־V2-2012ֶCROSS - VSB_FAW_WEIZHI_2 = 26, //һ-־V2-2012ԶCROSS,2010 - VSB_FAW_WEIZHI_3 = 27, //һ-־V5-2013,2012 - VSB_FAW_WEIZHI_4 = 28, //һ-־-2009,2008,2007 - VSB_FAW_WEIZHI_5 = 29, //һ-־-2011 - VSB_FAW_XIAOJIEFANG_1 = 30, //һ-С-90,109Ῠ - VSB_FAW_HANWEI_1 = 31, //һ-J5M-4X4ػ - VSB_FAW_HANWEI_2 = 32, //һ-J5M-6X6ǣ,6X4ж - VSB_FAW_HANWEI_3 = 33, //һ-J5M-8X8ж - VSB_FAW_XINDAWEI_1 = 34, //һ-´-2010 - VSB_FAW_XINHANWEI_1 = 35, //һ-º-2011 - VSB_FAW_SENYA_1 = 36, //һ-ɭM80-2012,2011,2009 - VSB_FAW_TENGWEI_1 = 37, //һ-L5M-ؿ - VSB_FAW_JIEFANG_1 = 38, //һ-J4R-A - VSB_FAW_JIEFANG_2 = 39, //һ-J4R-ж,ǣ - VSB_FAW_JIEFANG_3 = 40, //һ-J6-2004 - VSB_FAW_JIEFANG_4 = 41, //һ-J6-ؿ - VSB_FAW_JIEFANG_5 = 42, //һ-J6L-п - VSB_FAW_JIEFANG_6 = 43, //һ-L5-A - VSB_FAW_SAILONG_1 = 44, //һ--п - VSB_FAW_JUNWEI_1 = 45, //һ-J5K-п - VSB_FAW_B50_1 = 46, //һ-B50-2012,2011,2009 - VSB_FAW_B50_2 = 47 //һ-B50-2013 -}VSB_FAW_CLASS; - - -//Ʒ -typedef enum _VSB_SAICMOTOR_CLASS -{ - VSB_SAICMOTOR_OTHER = 0, // - VSB_HONGYAN_JIESHI_1 = 1, // άº-ʨ-2012 - VSB_DATONG_V80_1 = 2 // ͨ-V80-2014,2013,2012,2011 -}VSB_SAICMOTOR_CLASS; - -//Ʒ -typedef enum _VSB_SOUEAST_CLASS -{ - VSB_SOUEAST_OTHER = 0, // - VSB_SOUEAST_V3_1 = 1, // -V3-2011ֵҸ,2010,2009,2008 - VSB_SOUEAST_V3_2 = 2, // -V3-2012 - VSB_SOUEAST_V3_3 = 3, // -V3-2012콢,2011,2010·ɰ - VSB_SOUEAST_V3_4 = 4, // -V3-2012ɰ - VSB_SOUEAST_V5_1 = 5, // -V5-2014,2013,2012 - VSB_SOUEAST_XIWANG_1 = 6, // -ϣ-2011,2010 - VSB_SOUEAST_DELIKA_1 = 7, // --2003,2002 - VSB_SOUEAST_DELIKA_2 = 8, // --2005 - VSB_SOUEAST_DELIKA_3 = 9, // --2008 - VSB_SOUEAST_DELIKA_4 = 10, // --2009 - VSB_SOUEAST_LINGSHUAI_1 = 11, // -˧-2005,2004GLXi - VSB_SOUEAST_FULIKA_1 = 12, // --2005 - VSB_SOUEAST_FULIKA_2 = 13 // --2007 -}VSB_SOUEAST_CLASS; - - -//Ʒ -typedef enum _VSB_ZTE_CLASS -{ - VSB_ZTE_OTHER = 0, // - VSB_ZTE_WEIHU_1 = 1, // --2012,2010 - VSB_ZTE_WEIHU_2 = 2, // -TUV-2010,2006 - VSB_ZTE_WUXIAN_1 = 3, // --2008 - VSB_ZTE_WUXIAN_2 = 4 // --2012,2011,2010,2009 -}VSB_ZTE_CLASS; - - -//лƷ -typedef enum _VSB_ZHONGHUA_CLASS -{ - VSB_ZHONGHUA_OTHER = 0, // - VSB_ZHONGHUA_H230_1 = 1, // л-H230-2012 - VSB_ZHONGHUA_H320_1 = 2, // л-H320-2012 - VSB_ZHONGHUA_H330_1 = 3, // л-H330-2013 - VSB_ZHONGHUA_H530_1 = 4, // л-H530-2012,2011 - VSB_ZHONGHUA_V5_1 = 5, // л-V5-2012,2011 - VSB_ZHONGHUA_ZUNCHI_1 = 6, // л--2004 - VSB_ZHONGHUA_ZUNCHI_2 = 7, // л--2005,2003 - VSB_ZHONGHUA_KUBAO_1 = 8, // л-ᱦ-2007 - VSB_ZHONGHUA_JUNJIE_1 = 9, // л--2010,2009,2008,2007,2006 - VSB_ZHONGHUA_JUNJIE_2 = 10, // л--2012,2011 - VSB_ZHONGHUA_JUNJIECROSS_1 = 11, // л-cross-2010,2009 - VSB_ZHONGHUA_JUNJIEFRV_1 = 12, // л-FRV-2009,2008 - VSB_ZHONGHUA_JUNJIEFRV_2 = 13, // л-FRV-2010 - VSB_ZHONGHUA_JUNJIEFSV_1 = 14, // л-FSV-2009 - VSB_ZHONGHUA_JUNJIEFSV_2 = 15, // л-FSV-2010 - VSB_ZHONGHUA_JUNJIEFSV_3 = 16 // л-FSV-2011 -}VSB_ZHONGHUA_CLASS; - - -//йƷ -typedef enum _VSB_CNHTC_CLASS -{ - VSB_CNHTC_OTHER = 0, // - VSB_CNHTC_HOKA_2 = 1, // й-HOKA-ǣ,ж - VSB_CNHTC_HOWO_1 = 2, // й-HOWO-A7 - VSB_CNHTC_HOWO_2 = 3, // й-HOWO-T7H - VSB_CNHTC_HOWO_3 = 4, // й-HOWO-Ῠ - VSB_CNHTC_HOWO_4 = 5, // й-HOWOؿ-ǣ - VSB_CNHTC_HOWO_5 = 6, // й-HOWOؿ-жA - VSB_CNHTC_HOWO_6 = 7, // й-HOWOؿ-жB - VSB_CNHTC_HOWO_7 = 8, // й-HOWOؿ-ػA - VSB_CNHTC_HOWO_8 = 9, // й-HOWOؿ-ػC - VSB_CNHTC_SITAIERWANG_1 = 10, // й-˹̫-ǣA,ػ,賵 - VSB_CNHTC_HAOHAN_1 = 11, // й--A - VSB_CNHTC_HAOYUN_1 = 12, // й--ǣB,ػ,ж - VSB_CNHTC_JINWANGZI_1 = 13, // й-ؿ-ǣB - VSB_CNHTC_HOKA_1 = 14 // й-HOKA-H7 -}VSB_CNHTC_CLASS; - -//ͨƷ -typedef enum _VSB_ZHONGTONG_CLASS -{ - VSB_ZHONGTONG_OTHER = 0, // - VSB_ZHONGTONG_KAICHI_1 = 1, // ͨͳ-A-A - VSB_ZHONGTONG_LINGYU_1 = 2, // ͨͳ--A - VSB_ZHONGTONG_LINGXIU_1 = 3, // ͨͳ--A - VSB_ZHONGTONG_LINGHANG_1 = 4, // ͨͳ-캽-A - VSB_ZHONGTONG_SHIJI_1 = 5, // ͨͳ--A - VSB_ZHONGTONG_KAIXUAN_1 = 6, // ͨͳ--A - VSB_ZHONGTONG_LINGYUN_1 = 7, // ͨͳ-A-A - VSB_ZHONGTONG_YANGGUANG_1 = 8 // ͨͳ--A -}VSB_ZHONGTONG_CLASS; - - -//Ʒ -typedef enum _VSB_JIULONG_CLASS -{ - VSB_JIULONG_OTHER = 0, // - VSB_JIULONG_JIULONGA5_1 = 1, // -A5-2011 -}VSB_JIULONG_CLASS; - -//̩Ʒ -typedef enum _VSB_ZOTYE_CLASS -{ - VSB_ZOTYE_OTHER = 0, // - VSB_ZOTYE_2008_2 = 1, // ̩-2008-2011,2010,2008 - VSB_ZOTYE_5008_1 = 2, // ̩-5008-2013,2011,2010,2008 - VSB_ZOTYE_Z300_1 = 3, // ̩-Z300-2013,2012 - VSB_ZOTYE_2008_1 = 4 // ̩-2008-2007 -}VSB_ZOTYE_CLASS; - -//άƷ -typedef enum _VSB_NAVECO_CLASS -{ - VSB_NAVECO_OTHER = 0, // - VSB_NAVECO_Daily_1 = 1, // ά-Daily-2006,2004,2003 - VSB_NAVECO_Power_1 = 2, // ά-Power-Daily - VSB_NAVECO_Turbo_1 = 3, // ά-Turbo-Daily-2014,2012,2011 - VSB_NAVECO_Venice_1 = 4, // ά-Venice-2011,2008 - VSB_NAVECO_BAODI_1 = 5, // ά--2012,2009 - VSB_NAVECO_DEYIHUOCHE_1 = 6, // ά--2011 - VSB_NAVECO_DULING_1 = 7 // ά--2010,2009,2007 -}VSB_NAVECO_CLASS; - -//ʱƷ -typedef enum _VSB_PORSCHE_CLASS -{ - VSB_PORSCHE_OTHER = 0, // - VBR_PORSCHE_PANAMERA_1 = 1, // ʱ-panamera-2013,2012,2010 - VBR_PORSCHE_CAYENNE_1 = 2, // ʱ-Cayenne-2014,2013,2011,2010 -}VSB_PORSCHE_CLASS; - - -//˹Ʒ -typedef enum _VSB_CHRYSLER_CLASS -{ - VSB_CHRYSLER_OTHER = 0, // - VSB_CHRYSLER_300C_1 = 1, // ˹-300C-2007,2006,2004 - VSB_CHRYSLER_PTMANBUZHE_1 = 2, // ˹-PT-2007 -}VSB_CHRYSLER_CLASS; - -//Ʒ -typedef enum _VSB_CADILLAC_CLASS -{ - VSB_CADILLAC_OTHER = 0, // - VSB_CADILLAC_ATS_1 = 1, // -ATS-2014 - VSB_CADILLAC_CTS_1 = 2, // -CTS-2012 - VSB_CADILLAC_CTS_3 = 3, // -CTS-2012Ӣ˶,2011,2010,2009,2008 - VSB_CADILLAC_SLS_1 = 4, // -SLS-2007,2006 - VSB_CADILLAC_SLS_2 = 5, // -SLS-2012,2011,2010 - VSB_CADILLAC_SRX_1 = 6, // -SRX-2012,2011,2010,2009 - VSB_CADILLAC_CTS_2 = 7, // -CTS-2012,2009CTS - VSB_CADILLAC_KAILEIDE_1 = 8 // -׵-2011,2010,2008,2007,2006 -}VSB_CADILLAC_CLASS; - - -//KAMAƷ -typedef enum _VSB_KAMA_CLASS -{ - VSB_KAMA_OTHER = 0, // - VSB_KAMA_QINGKA_2 = 1, // KAMA--ῨD - VSB_KAMA_FULAIKA_1 = 2, // KAMA--ῨA - VSB_KAMA_JINYUNKA_1 = 3, // KAMA-˿-Ῠ - VSB_KAMA_JUNWEIKA_1 = 4, // KAMA--2014,2011 - VSB_KAMA_QINGKA_1 = 5 // KAMA--ῨC -}VSB_KAMA_CLASS; - -//Ʒ -typedef enum _VSB_LIFAN_CLASS -{ - VSB_LIFAN_OTHER = 0, // - VSB_LIFAN_320_1 = 1, // -320-2012,2011,2009 - VSB_LIFAN_520_1 = 2, // -520-2007,2006 - VSB_LIFAN_520_2 = 3, // -520-2013,2011,2010,2008 - VSB_LIFAN_620_1 = 4, // -620-2012,2010,2009,2008 - VSB_LIFAN_X60_1 = 5, // -X60-2013,2012,2011 - VSB_LIFAN_FENGSHUN_1 = 6 // -˳-2011 -}VSB_LIFAN_CLASS; - - -//Ʒ -typedef enum _VSB_BEIJING_CLASS -{ - VSB_BEIJING_OTHER = 0, // - VSB_BEIJING_E_1 = 1, // -Eϵ-2014,2013,2012 -}VSB_BEIJING_CLASS; - -//Ʒ -typedef enum _VSB_BEIBEN_CLASS -{ - VSB_BEIBEN_OTHER = 0, // - VSB_BEIBEN_NG80_1 = 1, // -NG80-ؿA - VSB_BEIBEN_NG80_2 = 2, // -NG80-ؿB - VSB_BEIBEN_NG80_3 = 3, // -NG80-ؿC - VSB_BEIBEN_V3_1 = 4, // -V3-V3H1 - VSB_BEIBEN_V3_2 = 5 // -V3-ؿA -}VSB_BEIBEN_CLASS; - -//ͳƷ -typedef enum _VSB_BEIFANG_CLASS -{ - VSB_BEIFANG_OTHER = 0, // - VSB_BEIFANG_A_1 = 1 // ͳ-ͳ1-A -}VSB_BEIFANG_CLASS; - - -//Ʒ -typedef enum _VSB_BAW_CLASS -{ - VSB_BAW_OTHER = 0, // - VSB_BAW_YUSHENG007_1 = 1, // -ʤ007-2013,2011 - VSB_BAW_QILING_1 = 2, // --A - VSB_BAW_LUBA_1 = 3, // -½-2004 - VSB_BAW_QISHI_1 = 4 // -ʿ-2009,2007 -}VSB_BAW_CLASS; - -//Ʒ -typedef enum _VSB_BQWEIWANG_CLASS -{ - VSB_BQWEIWANG_OTHER = 0, // - VSB_BQWEIWANG_205_1 = 1, // -205-2013 - VSB_BQWEIWANG_306_1 = 2 // -306-2014,2013,2011 -}VSB_BQWEIWANG_CLASS; - - -//Ʒ -typedef enum _VSB_SMA_CLASS -{ - VSB_SMA_OTHER = 0, // - VSB_SMA_HAIYU_1 = 1, // --2007,2005,2004 - VSB_SMA_HAIYU_2 = 2, // --2007MB - VSB_SMA_HAISHANG_1 = 3, // --2008,2005 - VSB_SMA_HAIJING_1 = 5, // --2010,2009 - VSB_SMA_HAIXUN_1 = 4, // -Ѹ-2005,2004쭷 - VSB_SMA_HAIXUN_2 = 6, // -Ѹ-2007,2006 -}VSB_SMA_CLASS; - -//Ʒ -typedef enum _VSB_XINGMA_CLASS -{ - VSB_XINGMA_OTHER = 0, // - VSB_XINGMA_XINGKAIMA_1 = 1 // -ǿ-ǣ1,ػ1 -}VSB_XINGMA_CLASS; - -//˫Ʒ -typedef enum _VSB_SHUANGHUAN_CLASS -{ - VSB_SHUANGHUAN_OTHER = 0, // - VSB_SHUANGHUAN_SCEO_1 = 1, // ˫-SCEO-2011,2009,2006,2005 -}VSB_SHUANGHUAN_CLASS; - -//Ʒ -typedef enum _VSB_JEEP_CLASS -{ - VSB_JEEP_OTHER = 0, // - VSB_JEEP_DAQIENUOJI_1 = 1, // -ŵ()-2014,2013,2012,2011 - VSB_JEEP_DAQIENUOJI_2 = 2, // -ŵ()-2014 - VSB_JEEP_ZHINANZHE_1 = 3, // -ָ-2010,2007 - VSB_JEEP_ZHINANZHE_2 = 4, // -ָ-2014,2013,2012,2011 - VSB_JEEP_MUMAREN_1 = 5, // --2012ʹٻ,2011 - VSB_JEEP_MUMAREN_2 = 6, // --2014,2013,2012,2011,2010,2009,2008 - VSB_JEEP_ZIYOUKE = 7, // -ɿ-2014,2013,2012,2011 -}VSB_JEEP_CLASS; - -//Ʒ -typedef enum _VSB_VENUCIA_CLASS -{ - VSB_VENUCIA_OTHER = 0, // - VSB_VENUCIA_D50_1 = 1 // -D50-2014,2013,2012 -}VSB_VENUCIA_CLASS; - -//Ʒ -typedef enum _VSB_HAFEI_CLASS -{ - VSB_HAFEI_OTHER = 0, // - VSB_HAFEI_XINMINYI_1 = 1, // --2010 - VSB_HAFEI_XINMINYI_2 = 2, // --2012 - VSB_HAFEI_MINYI_1 = 3, // --2006 - VSB_HAFEI_MINYI_2 = 4, // --2008 - VSB_HAFEI_SAIBAO_1 = 5, // --2012 - VSB_HAFEI_SAIMA_1 = 6, // --2002 - VSB_HAFEI_SAIMA_2 = 7, // --2004,2003 - VSB_HAFEI_SAIMA_3 = 8, // --2009 - VSB_HAFEI_LUBAO_1 = 9, // -·-2004 - VSB_HAFEI_LUBAO_2 = 10, // -·-2008,2007 - VSB_HAFEI_LUBAO_3 = 11, // -·-2012 - VSB_HAFEI_LUZUNXIAOBAWANG_1 = 12, // -·С-2011,2010 - VSB_HAFEI_RUIYI_1 = 13, // --2009 - VSB_HAFEI_JUNYI_1 = 14 // --2012,2010 -}VSB_HAFEI_CLASS; - -//ƿŷƷ -typedef enum _VSB_TKING_CLASS -{ - VSB_TKING_OTHER = 0, // - VSB_TKING_OUGUAN_1 = 1, // ƿŷ-ŷ-2011 - VSB_TKING_OUGUAN_2 = 2, // ƿŷ-ŷ-ῨB - VSB_TKING_OUTENG_1 = 3, // ƿŷ-ŷ-ῨA - VSB_TKING_FUXING_1 = 4, // ƿŷ--2006 - VSB_TKING_QINGKAWANG_1 = 5, // ƿŷ-Ῠ-Ῠ - VSB_TKING_AFANDA_1 = 6, // ƿŷ--ؿ - VSB_TKING_JUNQI_1 = 7 // ƿŷ--ؿA -}VSB_TKING_CLASS; - -//Ʒ -typedef enum _VSB_DAEWOO_CLASS -{ - VSB_DAEWOO_OTHER = 0, // - VBR_DAEWOO_6960H3_1 = 1 // -6960H3-A -}VSB_DAEWOO_CLASS; - -//Ʒ -typedef enum _VSB_DAYUN_CLASS -{ - VSB_DAYUN_OTHER = 0, // - VBR_DAYUN_ZHONGKA_1 = 1 // -ؿ-A -}VSB_DAYUN_CLASS; - -//Ʒ -typedef enum _VSB_BESTURN_CLASS -{ - VSB_BESTURN_OTHER = 0, // - VSB_BESTURN_B70_1 = 1, // -B70-2009,2007,2006 - VSB_BESTURN_B70_2 = 2, // -B70-2011 - VSB_BESTURN_B70_3 = 3, // -B70-2011Ӣ,2010 - VSB_BESTURN_B70_4 = 4, // -B70-2012 - VSB_BESTURN_B90_1 = 5, // -B90-2012 - VSB_BESTURN_AOXING_1 = 6 // һ--2004 -}VSB_BESTURN_CLASS; - -//Ʒ -typedef enum _VSB_WEILIN_CLASS -{ - VSB_WEILIN_OTHER = 0, // - VSB_WEILIN_H3_1 = 1, // -H3-2011 - VSB_WEILIN_V5_1 = 2, // -V5-2012,2009 - VSB_WEILIN_X5_1 = 3 // -X5-2012,2011,2010 -}VSB_WEILIN_CLASS; - -//ͨƷ -typedef enum _VSB_YUTONG_CLASS -{ - VSB_YUTONG_OTHER = 0, // - VSB_YUTONG_8XI_1 = 1, // ͨ-8ϵ-2012,2005 - VSB_YUTONG_KECHE_1 = 2, // ͨ-ͳ10-2013,2010 - VSB_YUTONG_KECHE_3 = 3, // ͨ-ͳ2-A - VSB_YUTONG_KECHE_4 = 4, // ͨ-ͳ8-2004 - VSB_YUTONG_KECHE_5 = 5, // ͨ-ͳ9-2014 - VSB_YUTONG_KECHE_2 = 6 // ͨ-ͳ12-A -}VSB_YUTONG_CLASS; - -//Ʒ -typedef enum _VSB_ANKAI_CLASS -{ - VSB_ANKAI_OTHER = 0, // - VSB_ANKAI_KECHE_1 = 1, // -ͳ1-A - VSB_ANKAI_KECHE_2 = 2 // -ͳ3-A -}VSB_ANKAI_CLASS; - -//Ʒ -typedef enum _VSB_BAOJUN_CLASS -{ - VSB_BAOJUN_OTHER = 0, // - VSB_BAOJUN_630_1 = 1 // -630-2014,2013,2012,2011 -}VSB_BAOJUN_CLASS; - -//Ʒ -typedef enum _VSB_BINLI_CLASS -{ - VSB_BINLI_OTHER = 0, // - VSB_BINLI_OULU_1 = 1 // -ŷ½-2009,2008 -}VSB_BINLI_CLASS; - -//Ʒ -typedef enum _VSB_TRUMPCHE_CLASS -{ - VSB_TRUMPCHE_OTHER = 0, // - VSB_TRUMPCHE_GA5_1 = 1, // -GA5-2012,2011 - VSB_TRUMPCHE_GA5_2 = 3, // -GA5-2013,2012ԶӢ - VSB_TRUMPCHE_GS5_1 = 2 // -GS5-2014,2013,2012 -}VSB_TRUMPCHE_CLASS; - -// Ʒ -typedef enum _VSB_GONOW_CLASS -{ - VSB_GONOW_OTHER = 0, // - VSB_GONOW_G3_1 = 1, // -G3-2011 - VSB_GONOW_G5_1 = 2, // -G5-2012,2011 - VSB_GONOW_SHUAIJIAN_1 = 4, // -˧-2012,2009 - VSB_GONOW_XINGWANGM1_1 = 3, // -M1-2012 - VSB_GONOW_CAIYUN500_1 = 5 // -500-2010 -}VSB_GONOW_CLASS; - -//Ʒ -typedef enum _VSB_ISUZU_CLASS -{ - VSB_ISUZU_OTHER = 0, // - VSB_ISUZU_ZHONGXINGSHANGYONG_1 = 1, // -ó-2011 - VSB_ISUZU_WUSHILINGPIKA_1 = 2, // -ʮƤ-2009 - VSB_ISUZU_WUSHILINGPIKA_2 = 3, // -ʮƤ-2014,2009 - VSB_ISUZU_JINGJIZHE_1 = 4 // --2004,2002 -}VSB_ISUZU_CLASS; - - -//Ʒ -typedef enum _VSB_KARRY_CLASS -{ - VSB_KARRY_OTHER = 0, // - VSB_KARRY_YOU_2 = 1, // --2013,2012 - VSB_KARRY_YOUJIN_1 = 2, // -ž-2012,2011,2010 - VSB_KARRY_YOUSHENG_1 = 3, // -ʤ-2010 - VSB_KARRY_YOUSHENG_2 = 4, // -ʤ-2012,2011 - VSB_KARRY_YOUYA = 5, // --2012,2011,2007 - VSB_KARRY_YOU_1 = 6 // --2011,2010,2009 -}VSB_KARRY_CLASS; - -//ݱƷ -typedef enum _VSB_GAGUAR_CLASS -{ - VSB_GAGUAR_OTHER = 0, // - VSB_GAGUAR_XF_1 = 1, // ݱ-XF-2014,2013 - VSB_GAGUAR_XJ_1 = 2 // ݱ-XJ-2014,2013,2012,2011,2010 -}VSB_GAGUAR_CLASS; - -//˹³Ʒ -typedef enum _VSB_SUBARU_CLASS -{ - VSB_SUBARU_OTHER = 0, // - VSB_SUBARU_AOHU_1 = 1, // ˹³--2012,2011,2010 - VSB_SUBARU_LISHI_1 = 2, // ˹³-ʨγ-2008,2006 - VSB_SUBARU_LISHI_2 = 3, // ˹³-ʨγ-2011,2010 - VSB_SUBARU_XV_1 = 4, // ˹³-˹³XV-2014,2012 - VSB_SUBARU_SENLINREN_1 = 5, // ˹³-ɭ-2007,2006 - VSB_SUBARU_SENLINREN_2 = 6 // ˹³-ɭ-2012,2011,2010,2009,2008 -}VSB_SUBARU_CLASS; - -//ʱƷ -typedef enum _VSB_ERA_CLASS -{ - VSB_ERA_OTHER = 0, // - VSB_ERA_XIAOKA_1 = 1, // ʱ-С֮-С֮1,2,Q2 - VSB_ERA_XIAOKA_3 = 2, // ʱ-С֮-С֮5 - VSB_ERA_XIAOKA_4 = 3, // ʱ-С֮- - VSB_ERA_KANGRUI_1 = 4, // ʱ--H1 - VSB_ERA_KANGRUI_2 = 5, // ʱ--H3 - VSB_ERA_KANGRUI_3 = 6, // ʱ--K1,KQ1 - VSB_ERA_RUIWO_1 = 7, // ʱ--RC1 - VSB_ERA_RUIWO_2 = 8, // ʱ--RC2 - VSB_ERA_RUIWO_3 = 9, // ʱ--IIῨA - VSB_ERA_JINGANG = 10, // ʱ--568 - VSB_ERA_LINGHANG_1 = 11, // ʱ-캽-캽2 - VSB_ERA_LINGHANG_2 = 12, // ʱ-캽-캽3 - VSB_ERA_YULING_1 = 13, // ʱ-Ԧ-ԦV1 - VSB_ERA_YULING_2 = 14, // ʱ-Ԧ-ԦV5,VQ5 - VSB_ERA_YULING_3 = 15, // ʱ-Ԧ-ԦVQ1,VQ2 - VSB_ERA_YULING_4 = 17, // ʱ-Ԧ- - VSB_ERA_XIAOKA_2 = 17, // ʱ-С֮-С֮3 -}VSB_ERA_CLASS; - -//Ʒ -typedef enum _VSB_CHANGHE_CLASS -{ - VSB_CHANGHE_OTHER = 0, // - VSB_CHANGHE_CH6321_1 = 1, // -CH6321-2000 - VSB_CHANGHE_DANSHUANGPAI_1 = 2, // -µ˫-1999 - VSB_CHANGHE_AIDIER_1 = 3, // -϶-2004 - VSB_CHANGHE_AIDIER_2 = 4, // -϶-2007,2006 - VSB_CHANGHE_FURUIDA_1 = 5 // --2014,2013,2011,2009 -}VSB_CHANGHE_CLASS; - -//ŷƷ -typedef enum _VSB_OPEL_CLASS -{ - VSB_OPEL_OTHER = 0, // - VSB_OPEL_YATE_1 = 1 // ŷ--2010GTCȫ絲,2007,2006 -}VSB_OPEL_CLASS; - -//ԴƷ -typedef enum _VSB_JONWAY_CLASS -{ - VSB_JONWAY_OTHER = 0, // - VSB_JONWAY_A380_1 = 1 // Դ-A380-2010,2009,2008 -}VSB_JONWAY_CLASS; - -//Ʒ -typedef enum _VSB_JIANGNAN_CLASS -{ - VSB_JIANGNAN_OTHER = 0, // - VSB_JIANGNAN_TT_1 = 1 // -TT-2011,2010,2004 -}VSB_JIANGNAN_CLASS; - -//ȫӥƷ -typedef enum _VSB_GLEAGLE_CLASS -{ - VSB_GLEAGLE_OTHER = 0, // - VSB_GLEAGLE_EAGLE_GC7_1 = 1, // ȫӥ-GC7-2013,2012 - VSB_GLEAGLE_EAGLE_GX2_1 = 2, // ȫӥ-GX2-2012,2011 - VSB_GLEAGLE_EAGLE_GX7_1 = 3, // ȫӥ-GX7-2013,2012 - VSB_GLEAGLE_EAGLE_PANDA_1 = 4, // ȫӥ-è-2013,2011,2010,2009 - VSB_GLEAGLE_EAGLE_ZIYOUJIAN_1 = 5, // ȫӥ-ɽ-2009±׼,2007 - VSB_GLEAGLE_EAGLE_ZIYOUJIAN_2 = 6, // ȫӥ-ɽ-2010,2009,2008,2006,2005 - VSB_GLEAGLE_EAGLE_ZIYOUJIAN_3 = 7, // ȫӥ-ɽ-2012,2011 - VSB_GLEAGLE_EAGLE_YUANJING_1 = 8, // ȫӥ-Զ-2011,2010,2009,2008,2006 - VSB_GLEAGLE_EAGLE_YUANJING_2 = 9, // ȫӥ-Զ-2013,2012 -}VSB_GLEAGLE_CLASS; - -//ۺƷ -typedef enum _VSB_EMGRAND_CLASS -{ - VSB_EMGRAND_OTHER = 0, // - VSB_EMGRAND_EC7_2 = 1, // ۺ-EC7-2013 - VSB_EMGRAND_EC7_3 = 2, // ۺ-EC7-RV - VSB_EMGRAND_EC8_1 = 3, // ۺ-EC8-2013,2011,2010 - VSB_EMGRAND_EC7_1 = 4 // ۺ-EC7-2012,2010,2009 -}VSB_EMGRAND_CLASS; - - -//ӢƷ -typedef enum _VSB_ENGLON_CLASS -{ - VSB_ENGLON_OTHER = 0, // - VSB_ENGLON_SC3_1 = 1, // Ӣ-SC3-2012 - VSB_ENGLON_SC5_1 = 2, // Ӣ-SC5-RV-2012 - VSB_ENGLON_SC6_1 = 3, // Ӣ-SC6-2012 - VSB_ENGLON_SC7_1 = 4, // Ӣ-SC7-2013,2012,2011,2010 - VSB_ENGLON_SX7_1 = 5, // Ӣ-SX7-2014,2013 - VSB_ENGLON_JINGANG_1 = 6, // Ӣ--2010,2007,2006 - VSB_ENGLON_JINYING_1 = 7 // Ӣ-ӥ-2011,2010,2008 -}VSB_ENGLON_CLASS; - - -//-Ʒ -typedef enum _VSB_JAC_CLASS -{ - VSB_JAC_OTHER = 0, // - VSB_JAC_TONGYUE_1 = 1, // -ͬ-2012,2010,2008 - VSB_JAC_HEYUE_1 = 2, // --2012,2011,2010 - VSB_JAC_HEYUEA30_2 = 3, // -A30-2013 - VSB_JAC_HEYUERS_3 = 4, // -RS-2012,2011 - VSB_JAC_HAOYUN_1 = 5, // --Ῠ1 - VSB_JAC_WEILING_2 = 6, // --ŰῨ - VSB_JAC_WEILING_3 = 7, // --ػ - VSB_JAC_WEILING_4 = 8, // --Ῠ - VSB_JAC_KECHE_1 = 9, // -ͳ-A - VSB_JAC_BINYUE_1 = 10, // --2010,2008 - VSB_JAC_SHUAILING_2 = 11, // -˧-Ῠ - VSB_JAC_KANGLING_1 = 12, // --Ῠ1 - VSB_JAC_KANGLING_2 = 13, // --Ῠ2 - VSB_JAC_YUEYUE_1 = 14, // --2013,2012,2011,2010 - VSB_JAC_XINGRUI_1 = 15, // --2012,2011 - VSB_JAC_GEERFA_H_1 = 16, // -H-ػ - VSB_JAC_GEERFA_K_2 = 17, // -K-ؿ1 - VSB_JAC_GEERFA_K_3 = 18, // -K-ؿ2 - VSB_JAC_GEERFA_M_4 = 19, // -M-ػ - VSB_JAC_RUIFENG_1 = 20, // --2011,2009,2007ֶ - VSB_JAC_RUIFENG_2 = 21, // --2013,2012,2011,2010,2007,2005 - VSB_JAC_RUIFENG_3 = 22, // -M5-2012,2011 - VSB_JAC_RUIFENG_4 = 23, // -S5-2013 - VSB_JAC_RUIYING_1 = 24, // -ӥ-2009,2007 - VSB_JAC_RUIYING_2 = 25, // -ӥ-2013,2012,2011 - VSB_JAC_JUNLING_2 = 26, // --խ, - VSB_JAC_WEILING_1 = 27, // --ʽῨ - VSB_JAC_SHUAILING_1 = 28, // -˧-ʮ - VSB_JAC_RUILING_1 = 29, // --2012 - VSB_JAC_JUNLING_1 = 30 // --콢 -}VSB_JAC_CLASS; - - -//Ʒ -typedef enum _VSB_JMC_CLASS -{ - VSB_JMC_OTHER = 0, // - VSB_JMC_KAIYUN_1 = 1, // --102,109Ῠ - VSB_JMC_KAIYUN_2 = 2, // --95Ῠ - VSB_JMC_YUHU_1 = 3, // --2012 - VSB_JMC_BAODIAN_1 = 4, // --2007 - VSB_JMC_BAODIAN_2 = 5, // --2009׼,2008 - VSB_JMC_BAODIAN_3 = 6, // --2014,2012,2009 - VSB_JMC_BAOWEI_1 = 7, // --2005 - VSB_JMC_BAOWEI_2 = 8, // --2009 - VSB_JMC_QUANSHUN_1 = 9, // -ȫ˳-2010,2008 - VSB_JMC_QUANSHUN_2 = 10, // -ȫ˳-2006 - VSB_JMC_QUANSHUN_3 = 11, // -ȫ˳-2013,2011,2010 - VSB_JMC_SHUNDA_1 = 12, // -˳-2004,2003 - VSB_JMC_SHUNDA_2 = 13, // -˳-2011,2010,2008 - VSB_JMC_YUSHENG_1 = 14, // -Ԧʤ-2013 - VSB_JMC_YUSHENG_2 = 15 // -Ԧʤ-2013ֶװ,2012,2011 -}VSB_JMC_CLASS; - -// ֶƷ -typedef enum _VSB_VOLVO_CLASS -{ - VSB_VOLVO_OTHER = 0, // - VSB_VOLVO_C30_1 = 1, // ֶ-C30-2013,2012,2011,2010 - VSB_VOLVO_S40_1 = 2, // ֶ-S40-2012,2011,2010,2009,2008,2007 - VSB_VOLVO_S60_1 = 3, // ֶ-S60-2003 - VSB_VOLVO_S60_2 = 4, // ֶ-S60-2013,2012,2011 - VSB_VOLVO_S80L_1 = 5, // ֶ-S80L-2012,2011,2010,2009 - VSB_VOLVO_XC60_1 = 6, // ֶ-XC60-2013,2012,2011,2010,2009 - VSB_VOLVO_XC90_1 = 7 // ֶ-XC90-2013,2012,2011,2008 -}VSB_VOLVO_CLASS; - -// Ʒ -typedef enum _VSB_HIGER_CLASS -{ - VSB_HIGER_OTHER = 0, // - VSB_HIGER_H8_1 = 1, // -H8-A - VSB_HIGER_H92_1 = 2, // -H92-A - VSB_HIGER_V7_1 = 3, // -V7,V8-2006 - VSB_HIGER_KECHE_1 = 4, // -ͳ5-A - VSB_HIGER_LONGWEI_1 = 5, // --2012,2011 - VSB_HIGER_H7V_1 = 6 // -H7V-2010 -}VSB_HIGER_CLASS; - -// Ʒ -typedef enum _VSB_RUILIN_CLASS -{ - VSB_RUILIN_OTHER = 0, // - VSB_RUILIN_G3_1 = 1, // -G3-2012,2010 - VSB_RUILIN_G5_1 = 2, // -G5-2012,2011,2010 - VSB_RUILIN_M1_1 = 3, // -M1-2013,2011,2010,2009 - VSB_RUILIN_X1_1 = 4, // -X1-2012A,2011,2010 - VSB_RUILIN_X1_2 = 5 // -X1-2012B -}VSB_RUILIN_CLASS; - -// Ʒ -typedef enum _VSB_SHENLONG_CLASS -{ - VSB_SHENLON_OTHER = 0, // - VSB_SHENLONG_KECHE_1 = 1 //ͳ-ͳ4-A -}VSB_SHENLONG_CLASS; - -// Ʒ -typedef enum _VSB_FOTON_CLASS -{ - VSB_FOTON_OTHER = 0, // - VSB_FOTON_AOLING_1 = 1, // --п - VSB_FOTON_AOLING_2 = 2, // --ʽ - VSB_FOTON_AOLING_3 = 3, // --TX,CTX - VSB_FOTON_OUMAN_1 = 4, // -ŷ-GTL6ϵB - VSB_FOTON_OUMAN_2 = 5, // -ŷ-TX6ϵ,9ϵ - VSB_FOTON_OUMAN_3 = 6, // -ŷ-ŷؿ1 - VSB_FOTON_OUMAN_4 = 7, // -ŷ-ʨ6ϵ,9ϵ - VSB_FOTON_OUHUI_1 = 8, // -ŷԿͳ-D - VSB_FOTON_OUMAKE_1 = 9, // -ŷ-3ϵ - VSB_FOTON_OUMAKE_2 = 10, // -ŷ-5ϵ - VSB_FOTON_SAPU_1 = 11, // --2011 - VSB_FOTON_SAPU_3 = 12, // --2011͹ - VSB_FOTON_MENGPAIKE_1 = 13, // -ɿ-2013 - VSB_FOTON_MIDI_1 = 14, // -Ե-2011,2009 - VSB_FOTON_FENGJING_1 = 15, // -羰ϵ-2012,2011,2009 - VSB_FOTON_SAPU_2 = 16 // --2011Z7 -}VSB_FOTON_CLASS; - -//Ʒ -typedef enum _VSB_FODAY_CLASS -{ - VSB_FODAY_OTHER = 0, // - VSB_FODAY_CHAOREN_1 = 1, // -СƤ-2009,2006 - VSB_FODAY_CHAOREN_2 = 2, // -СƤ-2011 - VSB_FODAY_TANSUOZHE_1 = 3, // -̽6-2013,2011,2010 - VSB_FODAY_TANSUOZHE_2 = 4, // -̽ߢ-2011,2010,2009 - VSB_FODAY_TANSUOZHE_3 = 5, // -̽ߢ-2011,2004 - VSB_FODAY_XIONGSHI_1 = 6 // -ʨF16Ƥ-2012 -}VSB_FODAY_CLASS; - -// Ʒ -typedef enum _VSB_HONGQI_CLASS -{ - VSB_HONGQI_OTHER = 0, // - VSB_HONGQI_MINGSHI_1 = 1 // --2007,2003,2001,2000,1999 -}VSB_HONGQI_CLASS; - - -// ǽ Ʒ -typedef enum _VSB_LUXGEN_CLASS -{ - VSB_LUXGEN_OTHER = 0, // - VSB_LUXGEN_DASEVEN_1 = 1 // ǽ-7-SUV -}VSB_LUXGEN_CLASS; - -// Ʒ -typedef enum _VSB_XIALI_CLASS -{ - VSB_XIALI_OTHER = 0, // - VSB_XIALI_QIBING_1 = 1, // ()--2010 -}VSB_XIALI_CLASS; - -// ۿͳƷ -typedef enum _VSB_SHUCHI_CLASS -{ - VSB_SHUCHI_OTHER = 0, // - VSB_SHUCHI_A_1 = 1 // ۿͳ-ͳ-A -}VSB_SHUCHI_CLASS; - -//ӢƷ -typedef enum _VSB_INFINITI_CLASS -{ - VSB_INFINITI_OTHER = 0, // - VSB_INFINITI_EX_1 = 1, // Ӣ-EX-2013,2011,2010,2009,2008 - VSB_INFINITI_FX_1 = 2, // Ӣ-FX-2007 - VSB_INFINITI_FX_2 = 3, // Ӣ-FX-2011,2010,2009 - VSB_INFINITI_FX_3 = 4, // Ӣ-FX-2013,2012FX35 - VSB_INFINITI_G_1 = 5, // Ӣ-G-2013,2010 - VSB_INFINITI_JX_1 = 6 // Ӣ-JX-2013,2011 -}VSB_INFINITI_CLASS; - - -// Ʒ -typedef enum _VSB_LOTUS_CLASS -{ - VSB_LOTUS_OTHER = 0, // - VSB_LOTUS_L3_1 = 1, // -L3-2010,2009 - VSB_LOTUS_L3_2 = 2 // -L5-2012,2011 -}VSB_LOTUS_CLASS; - -//Ʒ -typedef enum _VSB_FIAT_CLASS -{ - VSB_FIAT_OTHER = 0, // - VSB_FIAT_FEIYUE_1 = 1 // -Ծ-2014,2013,2012 -}VSB_FIAT_CLASS; - -//کƷ -typedef enum _VSB_OGA_CLASS -{ - VSB_OGA_OTHER = 0, // - VSB_OGA_MDX_1 = 1, // ک-MDX-2010 - VSB_OGA_MDX_2 = 2 // ک-MDX-2011 -}VSB_OGA_CLASS; - - - -// ԾƷ -typedef enum _VSB_YUEJIN_CLASS -{ - VSB_YUEJIN_OTHER = 0, // - VSB_YUEJIN_SHUAIHU_1 = 1, // Ծ-˧-H100,H300 - VSB_YUEJIN_CAISHEN_1 = 2, // Ծ--S100 - VSB_YUEJIN_CAISHEN_2 = 3, // Ծ--S300 - VSB_YUEJIN_CAISHEN_3 = 4 // Ծ--S500 -}VSB_YUEJIN_CLASS; - -//ҰƷ -typedef enum _VSB_YEMA_CLASS -{ - VSB_YEMA_OTHER = 0, // - VSB_YEMA_F99_1 = 1 // Ұ-F99-2012,2011,2010,2009 -}VSB_YEMA_CLASS; - -//Ʒ -typedef enum _VSB_SZKINGLONG_CLASS -{ - VSB_SZKINGLONG_OTHER = 0, // - VSB_SZKINGLONG_BUS11_1 = 1, // -ͳ11-A - VSB_SZKINGLONG_BUS12_1 = 2, // -ͳ12-A - VSB_SZKINGLONG_BUS13_1 = 3, // -ͳ13-A - VSB_SZKINGLONG_BUS14_1 = 4, // -ͳ14-A - VSB_SZKINGLONG_BUS16_1 = 5, // -ͳ16-A - VSB_SZKINGLONG_BUS18_1 = 6, // -ͳ18-A - VSB_SZKINGLONG_BUS1_1 = 7, // -ͳ1-A - VSB_SZKINGLONG_BUS20_1 = 8, // -ͳ20-A - VSB_SZKINGLONG_BUS2_1 = 9, // -ͳ2-A - VSB_SZKINGLONG_BUS5_1 = 10, // -ͳ5-A - VSB_SZKINGLONG_BUS6_1 = 11, // -ͳ6-A - VSB_SZKINGLONG_BUS9_1 = 12, // -ͳ9-A - VSB_SZKINGLONG_BUS10_1 = 13, // -ͳ10-A - VSB_SZKINGLONG_BUS15_1 = 14 // -ͳ15-A -}VSB_SZKINGLONG_CLASS; - -//ԱƷ -typedef enum _VSB_CHANGFENG_CLASS -{ - VSB_CHANGFENG_OTHER = 0, // - VSB_CHANGFENG_CS7_1 = 1, // Ա-CS7-2009 - VSB_CHANGFENG_QIBING_1 = 2, // Ա--2010,2009 - VSB_CHANGFENG_LIEBAO_1 = 3, // Ա-ԱCS6-2010,2008 - VSB_CHANGFENG_FULING_1 = 4, // Ա-Ƥ-A - VSB_CHANGFENG_FEIYANG_1 = 5, // Ա-Ƥ-2010,2009,2005 - VSB_CHANGFENG_FEITENG_1 = 6, // Ա--2010,2009,2006 - VSB_CHANGFENG_BLACKJINGANG_1 = 7, // Ա-ڽ-2013,2010,2009,2008,2006 -}VSB_CHANGFENG_CLASS; - -//½Ʒ -typedef enum _VSB_LUFENG_CLASS -{ - VSB_LUFENG_OTHER = 0, // - VSB_LUFENG_X6_1 = 1, // ½-X6-2005 - VSB_LUFENG_X6_2 = 2, // ½-X6-2006 - VSB_LUFENG_X6_3 = 3, // ½-X6-2011,2010,2008,2007 - VSB_LUFENG_LUFENGX5_1 = 4, // ½-½X5-2013 - VSB_LUFENG_LUFENGX8_1 = 5, // ½-½X8-2013,2012,2011,2009 - VSB_LUFENG_LUFENGX8_2 = 6, // ½-½X8-2014,2012̽ - VSB_LUFENG_FENGHUA_1 = 7, // ½-绪-2008,2007 - VSB_LUFENG_X6_4 = 8, // ½-X6-2011 - VSB_LUFENG_FENGSHANG_1 = 9 // ½--2011,2006 -}VSB_LUFENG_CLASS; - -//ؿƷ -typedef enum _VSB_SHANQI_CLASS -{ - VSB_SHANQI_OTHER = 0, // - VSB_SHANQI_AOLONG_1 = 1, // ؿ--ؿA - VSB_SHANQI_AOLONG_2 = 2, // ؿ--ؿB - VSB_SHANQI_DELONG_1 = 3, // ؿ-F2000-4X2ǣ - VSB_SHANQI_DELONG_2 = 4, // ؿ-F3000-B - VSB_SHANQI_DELONG_3 = 5, // ؿ-M3000-ؿ -}VSB_SHANQI_CLASS; - - -//ҰƷ -typedef enum _VSB_RENAULT_CLASS -{ - VSB_RENAULT_OTHER = 0, // - VSB_RENAULT_MEIGANNA_1 = 1, // ŵ-÷-2006 - VSB_RENAULT_KELEIAO_1 = 2, // ŵ-װ-2010,2009 - VSB_RENAULT_KELEIAO_2 = 3, // ŵ-װ-2013,2012 - VSB_RENAULT_SCENE_1 = 4, // ŵ-羰-2007 - VSB_RENAULT_FENGLANG_1 = 5, // ŵ--2011 - VSB_RENAULT_TAFEIKE_1 = 6 // ŵ-ƿ-2004 -}VSB_RENAULT_CLASS; - -//ƺƷ -typedef enum _VSB_HUANGHAI_CLASS -{ - VSB_HUANGHAI_OTHER = 0, // - VSB_HUANGHAI_DACAISHEN_1 = 1, // ƺ--2013,2012 - VSB_HUANGHAI_DACAISHEN_2 = 2, // ƺ--2013,2012,2011,2010,2009Ͱ - VSB_HUANGHAI_BUS4_1 = 3, // ƺ-ͳ4-2012,2011 - VSB_HUANGHAI_CHALLENGER_1 = 4, // ƺ-ս-2011,2010,2009,2008 - VSB_HUANGHAI_AOLONGCUV_1 = 5, // ƺ-CUV-2010,2009 - VSB_HUANGHAI_AOJUN_1 = 6, // ƺ--2009 - VSB_HUANGHAI_AOJUN_2 = 7, // ƺ--2010,2009 - VSB_HUANGHAI_QISHENGV3_1 = 8, // ƺ-ʤV3-2011 - VSB_HUANGHAI_LINGHANGZHE_1 = 9, // ƺ-캽-2007,2005 - VSB_HUANGHAI_FENGCHI_1 = 10 // ƺ--A -}VSB_HUANGHAI_CLASS; - -/********************ƷEnd*************************/ - -//Ϣ -typedef struct tagNET_DVR_VEHICLE_INFO_ -{ - DWORD dwIndex; // - BYTE byVehicleType; // 0 ʾͣ1 ʾСͳ2 ʾͳ ,3ʾ˴ ,4ʾֳ 5ʾֳ(3.5Ver) 6ʾ - BYTE byColorDepth; //ɫdz - BYTE byColor; //ɫ,οVCR_CLR_CLASS - /*״쳣״̬ - 0~״ - 1~״ - 2~״һֱijһͬٶֵ - 3~״ͳΪ0 - 4~״ͳݹ߹С - */ - BYTE byRadarState; - WORD wSpeed; //λkm/h - WORD wLength; //ǰһij - /*Υͣ0-1-٣2-٣3-У4-,5-ѹ,6-7-· - 8-ռǣ9-Υ10- 11-Υ12-·ͣ13-̵ͣ, 14-δ(Υ1357), - 15-Υͣ16-Υµͷ,17-ռӦ,18-,19-,20-ѹ,21-δϵȫ,22-˴,23-,24-ΥʹԶƣ - 25-ʻʱֳֵ绰26-תֱУ27-תת28-ͷֱУ29-Сת, 30-̵ƣ31-δͷ - 32-ǻˣ33-ǻռû34-ǻɡ, 35-̳, 36-,37-ѹͣ,38-λͣ,39-ѹҿλͣ, - 40-ҷ·,41-뻷·δ·ڵĻ,42-ѵ·δ,43-ռ,44-ը,45- - */ - BYTE byIllegalType; - BYTE byVehicleLogoRecog; //οö VLR_VEHICLE_CLASS - BYTE byVehicleSubLogoRecog; //Ʒʶ𣻲οVSB_VOLKSWAGEN_CLASSö١ - BYTE byVehicleModel; //Ʒ0-δ֪ο"Ʒ.xlsx" - BYTE byCustomInfo[16]; //ԶϢ - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" (ֶμbyVehicleLogoRecog); - BYTE byIsParking;//Ƿͣ 0-Ч1-ͣ2-δͣ - BYTE byRes;//ֽ - DWORD dwParkingTime; //ͣʱ䣬λs - BYTE byBelieve; //byIllegalTypeŶȣ1-100 - BYTE byCurrentWorkerNumber;//ǰҵ - BYTE byCurrentGoodsLoadingRate;//ǰװ 0- 1- 2- 3- 4- - BYTE byDoorsStatus;//״̬ 0-Źر 1-ſ - BYTE byRes3[4]; -}NET_DVR_VEHICLE_INFO, *LPNET_DVR_VEHICLE_INFO; - -//Ƽ -typedef struct tagNET_DVR_PLATE_RESULT -{ - DWORD dwSize; //ṹ - BYTE byResultType; //0-Ƶʶ1ͼʶ 2 10Mʱ· - BYTE byChanIndex; //ͨ - WORD wAlarmRecordID; //¼ID(ڲѯ¼񣬽byResultTypeΪ2ʱЧ) - DWORD dwRelativeTime; //ʱ - BYTE byAbsTime[32]; //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999룩 - DWORD dwPicLen; //ͼƬ(ͼ) - DWORD dwPicPlateLen; //СͼƬ - DWORD dwVideoLen; //¼ݳ - BYTE byTrafficLight; //0-Ǻ̵ץģ1-̵ʱץģ2-ʱץ - BYTE byPicNum; //ĵͼƬ - BYTE byDriveChan; // - BYTE byVehicleType; //ͣοVTR_RESULT - DWORD dwBinPicLen; //ƶֵͼ - DWORD dwCarPicLen; //ԭͼ - DWORD dwFarCarPicLen; //Զͼ - BYTE *pBuffer3; //ƶֵͼ - BYTE *pBuffer4; //ԭͼ - BYTE *pBuffer5; //Զͼ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byCarDirectionType; //ʻķ0ʾ£1ʾϣʵʳʻ֣,2ʾδ֪ - BYTE byRes3[6]; - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE *pBuffer1; // ϴͼƬ(ͼ)ָָͼƬϢϴƵָָƵϢͼƬƵϢNULL(DVSͼ) - BYTE *pBuffer2; // ϴͼƬ(ͼ)ʱָͼƬָ루DVSƲͼ -}NET_DVR_PLATE_RESULT, *LPNET_DVR_PLATE_RESULT; -//ͼƬݺ¼ݣֻһ֣ͼƬΪͼƬ+СͼƬ - -typedef struct tagNET_VPD_SHUTTER -{ - DWORD dwCommmand; //:0, 1, 2, 3, 4,ֱֵ - DWORD dwCode; //ֵ, dwCommmandΪ4, òΪ - BYTE byRes[60]; // -}NET_VPD_SHUTTER, *LPNET_VPD_SHUTTER; - -//ͼϢ -typedef struct tagNET_DVR_IMAGEOVERLAYCFG -{ - DWORD dwSize; - BYTE byOverlayInfo;//ʹܿأ0-ӣ1- - BYTE byOverlayMonitorInfo;//ǷӼϢ0-ӣ1- - BYTE byOverlayTime;//Ƿʱ䣬0-ӣ1- - BYTE byOverlaySpeed;//Ƿٶȣ0-ӣ1- - BYTE byOverlaySpeeding;//Ƿӳٱ0-ӣ1- - BYTE byOverlayLimitFlag;//Ƿٱ־0-ӣ1- - BYTE byOverlayPlate;//Ƿӳƺţ0-ӣ1- - BYTE byOverlayColor;//Ƿӳɫ0-ӣ1- - BYTE byOverlayLength;//Ƿӳ0-ӣ1- - BYTE byOverlayType;//Ƿӳͣ0-ӣ1- - BYTE byOverlayColorDepth;//Ƿӳɫdz0-ӣ1- - BYTE byOverlayDriveChan;//Ƿӳ0-ӣ1- - BYTE byOverlayMilliSec; //ӺϢ 0-ӣ1- - BYTE byOverlayIllegalInfo; //ΥϢ 0-ӣ1- - BYTE byOverlayRedOnTime; //Ӻʱ 0-ӣ1- - BYTE byFarAddPlateJpeg; //ԶͼǷӳƽͼ,0-,1- - BYTE byNearAddPlateJpeg; //ͼǷӳƽͼ,0-,1- - BYTE byRes1[3]; // - BYTE byMonitorInfo1[32]; //Ϣ1 - BYTE byMonitorInfo2[44]; //Ϣ2 - BYTE byRes2[52]; // -}NET_DVR_IMAGEOVERLAYCFG, *LPNET_DVR_IMAGEOVERLAYCFG; - -//IOץĹ -typedef struct tagNET_DVR_SNAPCFG -{ - DWORD dwSize; - BYTE byRelatedDriveWay;//IOij - BYTE bySnapTimes; //ȦץĴ0-ץģ0-ĴĿǰ5 - WORD wSnapWaitTime; //ץĵȴʱ䣬λmsȡֵΧ[0,60000] - WORD wIntervalTime[MAX_INTERVAL_NUM];//ļʱ䣬ms - DWORD dwSnapVehicleNum; //ץijš - NET_DVR_JPEGPARA struJpegPara;//ץͼƬ - BYTE byRes2[16];//ֽ -}NET_DVR_SNAPCFG, *LPNET_DVR_SNAPCFG; - -typedef enum _ITC_MAINMODE_ABILITY_ -{ - ITC_MODE_UNKNOW = 0x0, // - ITC_POST_MODE = 0x1, //ģʽ - ITC_EPOLICE_MODE = 0x2, //羯ģʽ - ITC_POSTEPOLICE_MODE = 0x4 //ʽ羯ģʽ -}ITC_MAINMODE_ABILITY; - -typedef enum _ITC_RECOG_REGION_TYPE_ -{ - ITC_REGION_RECT = 0x0, // - ITC_REGION_POLYGON = 0x1, // -}ITC_RECOG_REGION_TYPE; - -typedef struct tagNET_DVR_SNAP_ABILITY -{ - DWORD dwSize; - BYTE byIoInNum;//IO - BYTE byIoOutNum;//IO - BYTE bySingleSnapNum;//IO - BYTE byLightModeArrayNum;//̵ģʽ - BYTE byMeasureModeArrayNum;//ģʽ - BYTE byPlateEnable; //ʶ - BYTE byLensMode;//ͷģʽ0-CCD,1-CMOS - BYTE byPreTriggerSupport; //Ƿ֧ԭģʽ0-֧֣1-֧ - DWORD dwAbilityType; //ֵ֧ĴģʽλʾITC_MAINMODE_ABILITY - BYTE byIoSpeedGroup; //ֵ֧IO - BYTE byIoLightGroup; //ֵ֧IO̵ - BYTE byRecogRegionType; //ʶֵ֧ͣITC_RECOG_REGION_TYPE - BYTE bySupport; //豸λʾ0-֧֣1-֧ - // bySupport&0x1ʾǷ֧չַ - // bySupport&0x2ʾǷ֧չУʱýṹ - // bySupport&0x4, ʾǷֶ֧() - // bySupport&0x8, ʾǷ֧bonding(ݴ) - // bySupport&0x10, ʾǷ֧Խ - //2013-07-09 - WORD wSupportMultiRadar;// 豸λʾ0-֧֣1-֧ - // wSupportMultiRadar&0x1ʾ RS485״ ֳ֧״ﴦ - // wSupportMultiRadar&0x2ʾ Ȧ ֳ֧״ﴦ - // wSupportMultiRadar&0x4ʾ п ֳ֧״ﴦ - // wSupportMultiRadar&0x8ʾ Ƶ ֳ֧״ﴦ - BYTE byICRPresetNum; - // ʾֵ֧ICRԤõ㣨˹ƬƫƵ㣩 - BYTE byICRTimeSlot;//ʾֵ֧ICRʱ18 - BYTE bySupportRS485Num;//ʾֵ֧RS485ڵ - BYTE byExpandRs485SupportSensor;// 豸λʾ0-֧֣1-֧ - // byExpandRs485SupportSensor &0x1ʾ羯ֳ֧ - // byExpandRs485SupportSensor &0x2ʾʽ羯ֳ֧ - BYTE byExpandRs485SupportSignalLampDet;// 豸λʾ0-֧֣1-֧ - // byExpandRs485SupportSignalLampDet &0x1ʾ羯֧źŵƼ - // byExpandRs485SupportSignalLampDet &0x2ʾʽ羯֧źŵƼ - BYTE byRelayNum;// ʾ̵ּ֧ĸ 2013-11-04 - BYTE bySupport1; //豸λʾ0-֧֣1-֧ - // bySupport1&0x1ʾǷ֧ԶУʱϢ - // bySupport1&0x2, ʾǷ֧ƵŻ - // bySupport1&0x4, ʾǷ֧DDNS÷ - // bySupport1&0x8, ʾǷֻ֧ȡ豸ǰģʽӿ - // bySupport1&0x10, ʾǷֳ֧ 2014-03-03 - // bySupport1&0x20, ʾǷ֧GPSģ - // bySupport1&0x40, ʾǷ֧NTPУʱַ֧ - // bySupport1&0x80, ʾǷ֧tpsϴ - BYTE bySupport2; //豸λʾ0-֧֣1-֧ - // bySupport2&0x01, ʾǷ֧Ϣ - // bySupport2&0x02, ʾͨͼINTER_PICCFG_V30Ƿ֧ƵʱòbyOSDMilliSecondEnable - // bySupport2&0x04, ʾբƣNET_DVR_BARRIERGATE_CFGbyBarrierGateCtrlֶ֧4~բ֧byUnlockʹܡ֮ʶ֧ - BYTE bySupportWhiteBalance; //ƽĬ϶ֶ֧ƽ⡢Զƽ⡢Զƽ23ģʽ - // bySupportWhiteBalance &0x01, ʾǷ֧չģʽ - // bySupportWhiteBalance &0x02, ʾǷ֧Ȼģʽ - // bySupportWhiteBalance &0x04, ʾǷ֧ůģʽ - // bySupportWhiteBalance &0x08, ʾǷְ֧׳ģʽ - BYTE byRes[9]; -} NET_DVR_SNAP_ABILITY, *LPNET_DVR_SNAP_ABILITY; - -typedef struct tagNET_DVR_TRANSFER_CAP -{ - BYTE byAbility; - BYTE byRes[63]; -}NET_DVR_TRANSFER_CAP, *LPNET_DVR_TRANSFER_CAP; - -typedef struct tagNET_ITC_ICRTIMECFG -{ - NET_DVR_SCHEDTIME struTime; - BYTE byAssociateRresetNo;//Ԥõ18 , 0 - BYTE bySubSwitchMode;//1~죬2~ (Ԥõ0 ʱЧ) - BYTE byRes[10]; -}NET_ITC_ICRTIMECFG, *LPNET_ITC_ICRTIMECFG; - -typedef struct tagNET_ITC_ICR_TIMESWITCH_PARAM //156 -{ - NET_ITC_ICRTIMECFG struAutoCtrlTime[MAX_TIMESEGMENT_V30];//Զлʱ (Զл ʱЧ ֧4飬Ԥ4) - BYTE byICRPreset[MAX_ICR_NUM]; //ʵЧ̬ʾ [0~100] ±ʾԤõ18 07 Ӧ - BYTE byRes[20]; -}NET_ITC_ICR_TIMESWITCH_PARAM, *LPNET_ITC_ICR_TIMESWITCH_PARAM; - -typedef struct tagNET_ITC_ICR_MANUALSWITCH_PARAM -{ - BYTE byICRPreset[MAX_ICR_NUM]; //ʵЧ̬ʾ [0~100] - BYTE bySubSwitchMode;//1~죬2~ - BYTE byRes[147]; -}NET_ITC_ICR_MANUALSWITCH_PARAM, *LPNET_ITC_ICR_MANUALSWITCH_PARAM; - -typedef struct tagNET_ITC_ICR_AOTOSWITCH_PARAM -{ - BYTE byICRPreset[MAX_ICR_NUM]; //ʵЧ̬ʾ [0~100] ±ʾԤõ18 07 Ӧ - BYTE byICRAutoSwitch; // ICRԶлֵѡ, ȡֵΧ[0 100] - BYTE byRes[147]; -}NET_ITC_ICR_AOTOSWITCH_PARAM, *LPNET_ITC_ICR_AOTOSWITCH_PARAM; - -//㷨Զ -typedef struct tagNET_ITC_ICR_ALGAOTOSWITCH_PARAM -{ - BYTE byDetectThreshold;//ֵ,Χ[0,100],Ĭ 58 - BYTE byAbBrightnessThreshold; //쳣ֵΧ[0,100]Ĭ12 - BYTE byRes[154]; -}NET_ITC_ICR_ALGAOTOSWITCH_PARAM, *LPNET_ITC_ICR_ALGAOTOSWITCH_PARAM; - -typedef union tagNET_ITC_ICR_PARAM_UNION -{ - BYTE uLen[156]; - NET_ITC_ICR_AOTOSWITCH_PARAM struICRAutoSwitch; - NET_ITC_ICR_MANUALSWITCH_PARAM struICRManualSwitch; - NET_ITC_ICR_TIMESWITCH_PARAM struICRTimeSwitch; - NET_ITC_ICR_ALGAOTOSWITCH_PARAM strICRAlgorithmAutoSwitch; -}NET_ITC_ICR_PARAM_UNION,*LPNET_ITC_ICR_PARAM_UNION; - -typedef struct tagNET_ITC_ICRCFG -{ - DWORD dwSize; - BYTE bySwitchType;//1~Զл2~ֶл ,3~ʱл,4~㷨Զ - BYTE byRes[3]; - NET_ITC_ICR_PARAM_UNION uICRParam; -}NET_ITC_ICRCFG, *LPNET_ITC_ICRCFG; - -//2013-07-09 쳣 -typedef struct -{ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: ̵*/ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - BYTE byEnable; //0ã1 - BYTE byRes; - WORD wDuration;//ʱ(λ/s) - BYTE byAlarmOutTriggered[MAX_ITC_EXCEPTIONOUT];//ͨ - BYTE byRes1[8]; -} NET_ITC_HANDLEEXCEPTION, *LPNET_ITC_HANDLEEXCEPTION; - -typedef struct -{ - DWORD dwSize; - NET_ITC_HANDLEEXCEPTION struSnapExceptionType[MAX_EXCEPTIONNUM_V30]; //ÿԪضʾһ쳣0- Ӳ̳,1-߶,2-IP ַͻ, 3-쳣, 4-źŵƼ쳣 -}NET_ITC_EXCEPTION,*LPNET_ITC_EXCEPTION; - -typedef struct tagNET_DVR_TRIGCOORDINATE -{ - WORD wTopLeftX; /*ȦϽǺ꣨2ֽڣ*/ - WORD wTopLeftY; /*ȦϽ꣨2ֽڣ*/ - WORD wWdith; /*Ȧȣ2ֽڣ*/ - WORD wHeight; /*Ȧ߶ȣ2ֽڣ*/ -} NET_DVR_TRIGCOORDINATE, *LPNET_DVR_TRIGCOORDINATE; - -typedef enum _PROVINCE_CITY_IDX_ -{ - ANHUI_PROVINCE = 0, // - AOMEN_PROVINCE = 1, // - BEIJING_PROVINCE = 2, // - CHONGQING_PROVINCE = 3, // - FUJIAN_PROVINCE = 4, // - GANSU_PROVINCE = 5, // - GUANGDONG_PROVINCE = 6, //㶫 - GUANGXI_PROVINCE = 7, // - GUIZHOU_PROVINCE = 8, // - HAINAN_PROVINCE = 9, // - HEBEI_PROVINCE = 10, //ӱ - HENAN_PROVINCE = 11, // - HEILONGJIANG_PROVINCE = 12, // - HUBEI_PROVINCE = 13, // - HUNAN_PROVINCE = 14, // - JILIN_PROVINCE = 15, // - JIANGSU_PROVINCE = 16, // - JIANGXI_PROVINCE = 17, // - LIAONING_PROVINCE = 18, // - NEIMENGGU_PROVINCE = 19, //ɹ - NINGXIA_PROVINCE = 20, // - QINGHAI_PROVINCE = 21, //ຣ - SHANDONG_PROVINCE = 22, //ɽ - SHANXI_JIN_PROVINCE = 23, //ɽ - SHANXI_SHAN_PROVINCE = 24, // - SHANGHAI_PROVINCE = 25, //Ϻ - SICHUAN_PROVINCE = 26, //Ĵ - TAIWAN_PROVINCE = 27, //̨ - TIANJIN_PROVINCE = 28, // - XIZANG_PROVINCE = 29, // - XIANGGANG_PROVINCE = 30, // - XINJIANG_PROVINCE = 31, //½ - YUNNAN_PROVINCE = 32, // - ZHEJIANG_PROVINCE = 33 //㽭 -}PROVINCE_CITY_IDX; - -typedef struct tagNET_DVR_GEOGLOCATION -{ - int iRes[2]; /**/ - DWORD dwCity; /*УPROVINCE_CITY_IDX */ -}NET_DVR_GEOGLOCATION, *LPNET_DVR_GEOGLOCATION; - -//ģʽ -typedef enum _SCENE_MODE_ -{ - UNKOWN_SCENE_MODE = 0, //δ֪ģʽ - HIGHWAY_SCENE_MODE = 1, //ٳģʽ - SUBURBAN_SCENE_MODE = 2, //ģʽ() - URBAN_SCENE_MODE = 3, //ģʽ - TUNNEL_SCENE_MODE = 4 //ģʽ() -}SCENE_MODE; -// ˽Ϣģ -typedef enum _PRIDATA_RENDER -{ - RENDER_ANA_INTEL_DATA = 0x00000001, //ܷ - RENDER_MD = 0x00000002, //ƶ - RENDER_ADD_POS = 0x00000004, //POSϢ - RENDER_ADD_PIC = 0x00000008, //ͼƬ - RENDER_FIRE_DETCET = 0x00000010, //ȳϢ - RENDER_TEM = 0x00000020, //¶Ϣ - RENDER_TRACK_TEM = 0x00000040, //켣Ϣ - RENDER_THERMAL = 0x00000080 //̻Ϣ -}PRIDATA_RENDER; - -typedef enum _THERMAL_FLAG -{ - THERMAL_FIREMASK = 0x00000001, //̻ - THERMAL_RULEGAS = 0x00000002, // - THERMAL_TARGETGAS = 0x00000004 //Ŀ -}THERMAL_FLAG; - -typedef enum _FIRE_ALARM{ - FIRE_FRAME_DIS = 0x00000001, //ʾ - FIRE_MAX_TEMP = 0x00000002, //¶ - FIRE_MAX_TEMP_POSITION = 0x00000004, //¶λʾ - FIRE_DISTANCE = 0x00000008, //¶Ⱦ}FIRE_ALARM -}FIRE_ALARM; - -typedef enum _TEM_FLAG{ - TEM_REGION_BOX = 0x00000001, // - TEM_REGION_LINE = 0x00000002, //߲ - TEM_REGION_POINT = 0x00000004, //}TEM_FLAG -}TEM_FLAG; - -typedef enum _TRACK_FLAG -{ - TRACK_PEOPLE = 0x00000001, //˹켣 - TRACK_VEHICLE = 0x00000002 //켣 -}TRACK_FLAG; - -typedef struct tagNET_DVR_VTPARAM -{ - DWORD dwSize; - BYTE byEnable; /* ǷʹȦ0-ʹã1-ʹ*/ - BYTE byIsDisplay; /* ǷʾȦ0-ʾ1-ʾ*/ - BYTE byLoopPos; //䴥Ȧƫ0-ϣ1- - BYTE bySnapGain; /*ץ*/ - DWORD dwSnapShutter; /*ץĿٶ*/ - NET_DVR_TRIGCOORDINATE struTrigCoordinate; // - NET_DVR_TRIGCOORDINATE struRes[MAX_VL_NUM]; - BYTE byTotalLaneNum;/*Ƶij1*/ - BYTE byPolarLenType; /*ƫͣ0ƫ񾵣1ʩ͵ƫ񾵡*/ - BYTE byDayAuxLightMode; /*츨ģʽ0޸1LED2*/ - BYTE byLoopToCalRoadBright; /*Լ·ȵij(Ȧ)*/ - BYTE byRoadGrayLowTh; /*·ȵֵʼֵ1*/ - BYTE byRoadGrayHighTh; /*·ȸֵʼֵ140*/ - WORD wLoopPosBias; /*䴥Ȧλ30*/ - DWORD dwHfrShtterInitValue; /*ͼعʱijʼֵ2000*/ - DWORD dwSnapShtterInitValue; /*ץͼعʱijʼֵ500*/ - DWORD dwHfrShtterMaxValue; /*ͼعʱֵ20000*/ - DWORD dwSnapShtterMaxValue; /*ץͼعʱֵ1500*/ - DWORD dwHfrShtterNightValue; /*ͼعʱֵ3000*/ - DWORD dwSnapShtterNightMinValue; /*ץͼعʱСֵ3000*/ - DWORD dwSnapShtterNightMaxValue; /*ץͼعʱֵ5000*/ - DWORD dwInitAfe; /*ijʼֵ200*/ - DWORD dwMaxAfe; /*ֵ400*/ - WORD wResolutionX;/* 豸ǰֱʿ*/ - WORD wResolutionY;/* 豸ǰֱʸ*/ - DWORD dwGainNightValue; /*棬Ĭֵ70*/ - DWORD dwSceneMode; /*ģʽ SCENE_MODE */ - DWORD dwRecordMode; /*¼־0-¼1-¼*/ - NET_DVR_GEOGLOCATION struGeogLocation; /*ַλ*/ - BYTE byTrigFlag[MAX_VL_NUM]; /*־0-ͷ1-β2-ͷ/β*/ - BYTE byTrigSensitive[MAX_VL_NUM]; /*ȣ1-100*/ - BYTE byRes2[62]; -}NET_DVR_VTPARAM, *LPNET_DVR_VTPARAM; - -typedef struct tagNET_DVR_SNAPENABLECFG -{ - DWORD dwSize; - BYTE byPlateEnable;//Ƿֳ֧ʶ0-֧֣1-֧ - BYTE byRes1[2]; // - BYTE byFrameFlip; //ͼǷת 0-ת1-ת - WORD wFlipAngle; //ͼתǶ 0,90,180,270 - WORD wLightPhase; //λȡֵΧ[0, 360] - BYTE byLightSyncPower; //ǷźŵƵԴͬ0-ͬ1-ͬ - BYTE byFrequency; //źƵ - BYTE byUploadSDEnable; //ǷԶϴSDͼƬ0-1- - BYTE byPlateMode; //ʶģʽ:0-Ƶ,1-ⲿ - BYTE byUploadInfoFTP; //ǷϴץĸϢFTP0-1- - BYTE byAutoFormatSD; //ǷԶʽSD0-1- - WORD wJpegPicSize; //JpegͼƬС[64-8196] - BYTE bySnapPicResolution; //ץͼƬֱ(NET_DVR_COMPRESSION_INFO_V30зֱʱһ) - BYTE byRes[55]; // -}NET_DVR_SNAPENABLECFG, *LPNET_DVR_SNAPENABLECFG; - -/*ftpϴ*/ -typedef struct -{ - DWORD dwSize; - DWORD dwEnableFTP; /*Ƿftpϴ*/ - char sFTPIP[16]; /*ftp */ - DWORD dwFTPPort; /*ftp˿*/ - BYTE sUserName[NAME_LEN]; /*û*/ - BYTE sPassword[PASSWD_LEN]; /**/ - DWORD dwDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼,1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - WORD wTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ0x4=ʹü,0x5=ʹʱ(),0x=6Զ,0x7=Υ,0x8=,0x9=ص*/ - WORD wSubDirMode; /* Ŀ¼0x1 = ʹͨ,0x2 = ʹͨţ,0x3=ʹʱ(),0x4=ʹó,0x=5Զ,0x6=Υ,0x7=,0x8=ص*/ - BYTE byEnableAnony; //0-1- - BYTE byPicArchivingInterval;//ͼƬ鵵[1~30],0ʾر - BYTE byRes[22]; -}NET_DVR_FTPCFG, *LPNET_DVR_FTPCFG; - -/*ͼƬԪ */ -#define PICNAME_ITEM_DEV_NAME 1 /*豸*/ -#define PICNAME_ITEM_DEV_NO 2 /*豸*/ -#define PICNAME_ITEM_DEV_IP 3 /*豸IP*/ -#define PICNAME_ITEM_CHAN_NAME 4 /*ͨ*/ -#define PICNAME_ITEM_CHAN_NO 5 /*ͨ*/ -#define PICNAME_ITEM_TIME 6 /*ʱ*/ -#define PICNAME_ITEM_CARDNO 7 /**/ -#define PICNAME_ITEM_PLATE_NO 8 /*ƺ*/ -#define PICNAME_ITEM_PLATE_COLOR 9 /*ɫ*/ -#define PICNAME_ITEM_CAR_CHAN 10 /**/ -#define PICNAME_ITEM_CAR_SPEED 11 /*ٶ*/ -#define PICNAME_ITEM_CARCHAN 12 /**/ -#define PICNAME_ITEM_PIC_NUMBER 13 //ͼƬ -#define PICNAME_ITEM_CAR_NUMBER 14 // -#define PICNAME_MAXITEM 15 - -#define PICNAME_ITEM_SPEED_LIMIT_VALUES 15 //ֵ -#define PICNAME_ITEM_ILLEGAL_CODE 16 //Υ -#define PICNAME_ITEM_CROSS_NUMBER 17 //·ڱ -#define PICNAME_ITEM_DIRECTION_NUMBER 18 // - -//(3.7Ver) -#define PICNAME_ITEM_CAR_COLOR 19 //ɫ -#define PICNAME_ITEM_PLATE_COORDINATE 20 // -#define PICNAME_ITEM_CAR_TYPE 21 // -#define PICNAME_ITEM_VIOLATION_TYPE 22 //Υ -#define PICNAME_ITEM_CUSTOM 255//Զ - - - -//ͼƬ -typedef struct -{ - BYTE byItemOrder[PICNAME_MAXITEM]; /* 鶨ļĹ */ - BYTE byDelimiter; /*ָһΪ'_'*/ -}NET_DVR_PICTURE_NAME, *LPNET_DVR_PICTURE_NAME; - -//2013-09-27 -#define PICNAME_ITEM_PARK_DEV_IP 1 /*豸IP*/ -#define PICNAME_ITEM_PARK_PLATE_NO 2 /*ƺ*/ -#define PICNAME_ITEM_PARK_TIME 3 /*ʱ*/ -#define PICNAME_ITEM_PARK_INDEX 4 /*λ*/ -#define PICNAME_ITEM_PARK_STATUS 5 /*λ״̬*/ -#define PICNAME_ITEM_BUILDING_NUMBER 6 /*ŵԪ*/ -#define PICNAME_ITEM_OUTDOOR_UNIT_ID 7 /*ſڻ*/ -#define PICNAME_ITEM_UNLOCK_TYPE 8 /*ʽ*/ -#define PICNAME_ITEM_DEVICE_NAME 9 //豸 -#define PICNAME_ITEM_PERIOD_NO 10 /*ں*/ -#define PICNAME_ITEM_DEV_INDEX 11 /*豸*/ -#define PICNAME_PREFIX 32 /*ͼƬԶǰ׺*/ -//ͼƬչ 2013-09-27 -typedef struct -{ - BYTE byItemOrder[PICNAME_MAXITEM]; /* 鶨ļĹ */ - BYTE byDelimiter; /*ָһΪ'_'*/ - BYTE byPicNamePrefix[PICNAME_PREFIX/*32*/]; //ͼƬԶǰ׺ -}NET_DVR_PICTURE_NAME_EX, *LPNET_DVR_PICTURE_NAME_EX; - -/* ץͼ*/ -typedef struct -{ - BYTE byStrFlag; /*ݿʼ*/ - BYTE byEndFlag; /**/ - WORD wCardIdx; /*ʼλ*/ - DWORD dwCardLen; /*ų*/ - DWORD dwTriggerPicChans; /*ͨţλӵ1λʼƣ0x2ʾһͨ*/ -}NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA; - -//DVRץͼãߣ -typedef struct -{ - DWORD dwSize; - NET_DVR_JPEGPARA struJpegPara[MAX_CHANNUM_V30]; /*ÿͨͼ*/ - WORD wBurstMode; /*ץͼʽ,λ.0x1=봥0x2=ƶⴥ 0x4=2320x8=4850x10=紥*/ - WORD wUploadInterval; /*ͼƬϴ()[0,65535]*/ - NET_DVR_PICTURE_NAME struPicNameRule; /* ͼƬ */ - BYTE bySaveToHD; /*Ƿ񱣴浽Ӳ*/ - BYTE byRes1; - WORD wCatchInterval; /*ץͼ()[0,65535]*/ - BYTE byRes2[12]; - NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg; - NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg; - DWORD dwTriggerPicTimes[MAX_CHANNUM_V30]; /* ÿͨһδմ */ - DWORD dwAlarmInPicChanTriggered[MAX_ALARMIN_V30]; /*ץͨ,λãӵ1λʼ*/ -}NET_DVR_JPEGCFG_V30, *LPNET_DVR_JPEGCFG_V30; - -//ץĴṹ() -typedef struct tagNET_DVR_MANUALSNAP -{ - BYTE byOSDEnable;//0-ر(Ĭ)1-ر - BYTE byLaneNo;//, ΧΪ1-6ĬΪ1(ץĻڲʹ) - BYTE byChannel;//ͨ - BYTE byRes[21]; // -}NET_DVR_MANUALSNAP, *LPNET_DVR_MANUALSNAP; - -typedef struct tagNET_DVR_SPRCFG -{ - DWORD dwSize; - BYTE byDefaultCHN[MAX_CHJC_NUM]; /*豸ʡݵĺּд*/ - BYTE byPlateOSD; /*0:ͳƲɫͼ,1:ͳƲɫͼ*/ - BYTE bySendJPEG1; /*0-ͽJPEGͼ,1-ͽJPEGͼ*/ - BYTE bySendJPEG2; /*0-ԶJPEGͼ,1-ԶJPEGͼ*/ - WORD wDesignedPlateWidth; /*ƿ*/ - BYTE byTotalLaneNum; /*ʶij*/ - BYTE byRes1; /**/ - WORD wRecognizedLane; /*ʶijţλʾbit0ʾ1Ƿʶ0-ʶ1-ʶ*/ - NET_VCA_RECT struLaneRect[MAX_LANERECT_NUM]; /*ʶ*/ - DWORD dwRecogMode; /*ʶͣ - bit0-ʶ0-ʶ1-ʶ(βʶ) - bit1-ʶСʶ0-Сʶ1-ʶ - bit2-ɫʶ0-óɫʶڱʶСʶʱֹã1-ɫʶ - bit3-ũóʶ0-ũóʶ1-ũóʶ - bit4-ģʶ0-ģʶ1-ģʶ - bit5-֡λ򳡶λ0-֡λ1-λ - bit6-֡ʶʶ0-֡ʶ1-ʶ - bit7-ϻ죺0-죬1- */ - BYTE bySendPRRaw; //Ƿԭͼ0-ͣ1- - BYTE bySendBinImage; //Ƿͳƶֵͼ0-ͣ1- - BYTE byDelayCapture; //ʱץĿ,λ֡ - BYTE byUseLED; //ʹLEDƣ0-1- - BYTE byRes2[68]; // -}NET_DVR_SPRCFG, *LPNET_DVR_SPRCFG; - -typedef struct tagNET_DVR_PLCCFG -{ - DWORD dwSize; - BYTE byPlcEnable; //ǷóȲĬã0-رգ1- - BYTE byPlateExpectedBright; //ƵԤȣĬֵ50, Χ[0, 100] - BYTE byRes1[2]; // - BYTE byTradeoffFlash; //ǷƵӰ: 0 - ; 1 - (Ĭ); - //ʹƲʱ, ǼƵǿЧӦ, ҪΪ1;Ϊ0 - BYTE byCorrectFactor; //ϵ, Χ[0, 100], Ĭֵ50 (tradeoff_flashлʱ,ָĬֵ - WORD wLoopStatsEn; //ǷȦȣλʾ0-ͳƣ1-ͳ - BYTE byPlcBrightOffset;// Ȳ(ȦģʽЧ)ȡֵΧ1~100 - BYTE byRes[19]; -}NET_DVR_PLCCFG, *LPNET_DVR_PLCCFG; - -typedef struct tagNET_DVR_DEVICESTATECFG -{ - DWORD dwSize; - WORD wPreviewNum; //ԤӸ - WORD wFortifyLinkNum; //Ӹ - NET_DVR_IPADDR struPreviewIP[MAX_LINK]; //ԤûIPַ - NET_DVR_IPADDR struFortifyIP[MAX_FORTIFY_NUM]; //ӵûIPַ - DWORD dwVideoFrameRate; //֡ʣ0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22; - BYTE byResolution; //ֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5,16-VGA640*480, 17-UXGA1600*1200, 18-SVGA 800*600,19-HD720p1280*720,20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048 - BYTE bySnapResolution; //ץķֱ0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF 5,16-VGA640*480, 17-UXGA1600*1200, 18-SVGA 800*600,19-HD720p1280*720,20-XVGA, 21-HD900p, 27-HD1080i, 28-2560*1920, 29-1600*304, 30-2048*1536, 31-2448*2048 - BYTE byStreamType; //ͣ0-1- - BYTE byTriggerType; //ģʽ0-Ƶ1-ͨ - DWORD dwSDVolume; //SD - DWORD dwSDFreeSpace; //SDʣռ - BYTE byDetectorState[MAX_DRIVECHAN_NUM][MAX_COIL_NUM]; //״̬0-δʹã1-2-쳣 - BYTE byDetectorLinkState; //״̬0-δӣ1- - BYTE bySDStatus; //SD״̬ 01ߣ2쳣3-sd - BYTE byFortifyLevel[MAX_FORTIFY_NUM]; //ȼ0-ޣ1-һȼߣ2-ȼУ3-ȼͣ - BYTE byRes2[116]; // -}NET_DVR_DEVICESTATECFG, *LPNET_DVR_DEVICESTATECFG; - -typedef struct tagNET_DVR_POSTEPOLICECFG -{ - DWORD dwSize; - DWORD dwDistance;//Ȧ,λcmȡֵΧ[0,20000] - DWORD dwLightChan[MAX_SIGNALLIGHT_NUM]; //źŵͨ - BYTE byCapSpeed;//־٣λkm/hȡֵΧ[0,255] - BYTE bySpeedLimit;//ֵλkm/hȡֵΧ[0,255] - BYTE byTrafficDirection;//0-ɶ1-򶫣2-򱱣3-ɱ - BYTE byRes1; // - WORD wLoopPreDist; /*ӳپ λ*/ - WORD wTrigDelay; /*Ӳʱʱ λ*/ - BYTE byRes[124];//ֽ -}NET_DVR_POSTEPOLICECFG, *LPNET_DVR_POSTEPOLICECFG; - - -//źŵ쳣 -typedef struct tagNET_DVR_SIGNALLAMP_DETCFG -{ - DWORD dwSize; //ṹ - //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999 λΪ - BYTE byAbsTime[32]; - NET_DVR_IPADDR struAlarmCamIP;//IP - DWORD dwPic1Len; //쳣ͼƬ1 - DWORD dwPic2Len; //쳣ͼƬ2 - char *pPic1Buffer; //ָ ӳͼƬ - char *pPic2Buffer; //ָ źŵ״̬ͼƬ - BYTE byRes[128]; -}NET_DVR_SIGNALLAMP_DETCFG, *LPNET_DVR_SIGNALLAMP_DETCFG; - -typedef struct tagNET_DVR_EXDEVDET_COND -{ - DWORD dwSize; // ṹС - DWORD dwChannel; //ͨ - BYTE byExternalDevType;// 0-Чֵ1-źŵ,2- - BYTE byRes[63]; // ֽ -}NET_DVR_EXDEVDET_COND,*LPNET_DVR_EXDEVDET_COND; - -typedef struct tagNET_DVR_EXDEVDET_CFG -{ - DWORD dwSize; // ṹС - BYTE byExternalDevStatus;// 0-1-쳣 - BYTE byRes[63];// ֽ -} NET_DVR_EXDEVDET_CFG,*LPNET_DVR_EXDEVDET_CFG; - -/***************************** end *********************************************/ - -#define IPC_PROTOCOL_NUM 50 //ipc Э - -//Э -typedef struct tagNET_DVR_PROTO_TYPE -{ - DWORD dwType; /*ipcЭֵ*/ - BYTE byDescribe[DESC_LEN]; /*Эֶ*/ -}NET_DVR_PROTO_TYPE, *LPNET_DVR_PROTO_TYPE; - -//Эб -typedef struct tagNET_DVR_IPC_PROTO_LIST -{ - DWORD dwSize; - DWORD dwProtoNum; /*ЧipcЭĿ*/ - NET_DVR_PROTO_TYPE struProto[IPC_PROTOCOL_NUM]; /*ЧipcЭ*/ - BYTE byRes[8]; -}NET_DVR_IPC_PROTO_LIST, *LPNET_DVR_IPC_PROTO_LIST; - -//ЭбV41 -typedef struct tagNET_DVR_IPC_PROTO_LIST_V41 -{ - DWORD dwSize; - DWORD dwProtoNum; //ЧipcЭĿ - BYTE *pBuffer; //Эб, dwProtoNum NET_DVR_PROTO_TYPEṹ - DWORD dwBufferLen; // - BYTE byRes[32]; -}NET_DVR_IPC_PROTO_LIST_V41, *LPNET_DVR_IPC_PROTO_LIST_V41; - -typedef struct tagNET_DVR_PTZPOS_INFO -{ - DWORD dwPanPos; // Pˮƽ - DWORD dwTiltPos; // Tֱ - DWORD dwZoomPos; // Z䱶 -}NET_DVR_PTZPOS_INFO, *LPNET_DVR_PTZPOS_INFO; - -//ʶṹ -typedef struct tagNET_VCA_HUMAN_FEATURE -{ - BYTE byAgeGroup; //,μ HUMAN_AGE_GROUP_ENUM - BYTE bySex; //Ա, 0-ʾδ֪㷨֧֣,1 C , 2 C Ů, 0xff-㷨֧֣ûʶ - BYTE byEyeGlass; //Ƿ۾ 0-ʾδ֪㷨֧֣,1 C, 2 C۾, 3 Cī,0xff-㷨֧֣ûʶ - //ץͼƬʹ÷ʽbyAgeΪ15,byAgeDeviationΪ1,ʾʵͼƬΪ14-16֮ - BYTE byAge;// 0-ʾδ֪㷨֧֣,0xff-㷨֧֣ûʶ - BYTE byAgeDeviation;//ֵ - BYTE byRes0; - BYTE byMask; //Ƿ 0-ʾδ֪㷨֧֣,1 C , 2 C , 0xff-㷨֧֣ûʶ - BYTE bySmile; //Ƿ΢Ц 0-ʾδ֪㷨֧֣,1 C ΢Ц, 2 C ΢Ц, 0xff-㷨֧֣ûʶ - BYTE byFaceExpression; /* ,μFACE_EXPRESSION_GROUP_ENUM*/ - BYTE byRes1; - BYTE byRes2; - BYTE byHat; // ñ, 0-֧,1-ñ,2-ñ, 3-ͷ 0xff-unknowʾδ֪,㷨֧δ - BYTE byRes[4]; // -}NET_VCA_HUMAN_FEATURE ,*LPNET_VCA_HUMAN_FEATURE; - -//ɫ -typedef struct tagNET_DVR_OBJECT_FEATURE -{ - BYTE byColorRatel; //ɫƶеռֵ - BYTE byRed; // RGBɫеĺɫ - BYTE byGreen; // RGBɫеɫ - BYTE byBlue; // RGBɫеɫ - BYTE byRes[32]; -}NET_DVR_OBJECT_FEATURE ,*LPNET_DVR_OBJECT_FEATURE; - -// -typedef union tagNET_DVR_ADVANCE_COND_UNION -{ - BYTE byLen[36]; //峤 - NET_VCA_HUMAN_FEATURE struHumanFeature; // - NET_DVR_OBJECT_FEATURE struObjectFeature; // -}NET_DVR_ADVANCE_COND_UNION,*LPNET_DVR_ADVANCE_COND_UNION; - - -#define MAX_ALERTLINE_NUM 8 //󾯽 - - -typedef struct tagNET_DVR_TRAVERSE_PLANE_SEARCHCOND -{ - NET_VCA_TRAVERSE_PLANE struVcaTraversePlane[MAX_ALERTLINE_NUM/*8*/]; //Խ - DWORD dwPreTime; /*ܱǰʱ λ:*/ - DWORD dwDelayTime; /*ܱӳʱ λ:*/ - NET_DVR_PTZPOS_INFO struPTZPosInfo; //PTZϢ - BYTE byAdvanceType; //Ϸʽ0-ʹţ1-ϣ2-ɫռ - BYTE byRes1[3]; // - NET_DVR_ADVANCE_COND_UNION uAdvanceCond; // - BYTE byRes[5604]; // -}NET_DVR_TRAVERSE_PLANE_SEARCHCOND, *LPNET_DVR_TRAVERSE_PLANE_SEARCHCOND; //Խѯ - -#define MAX_INTRUSIONREGION_NUM 8 // -typedef struct tagNET_DVR_INTRUSION_SEARCHCOND -{ - NET_VCA_INTRUSION struVcaIntrusion[MAX_INTRUSIONREGION_NUM/*8*/]; // - DWORD dwPreTime; /*ܱǰʱ λ:*/ - DWORD dwDelayTime; /*ܱӳʱ λ:*/ - NET_DVR_PTZPOS_INFO struPTZPosInfo; //PTZϢ - BYTE byAdvanceType;//Ϸʽ0-ʹţ1-ϣ2-ɫռ - BYTE byRes1[3]; // - NET_DVR_ADVANCE_COND_UNION uAdvanceCond; // - BYTE byRes[5348]; // -} NET_DVR_INTRUSION_SEARCHCOND, *LPNET_DVR_INTRUSION_SEARCHCOND; // - - -typedef struct tagNET_DVR_FACEDETECTION_SEARCHCOND -{ - NET_VCA_POLYGON struFacePolygon; //ʶ - DWORD dwPreTime; /*¼ǰʱ λ:*/ - DWORD dwDelayTime; /*¼ӳʱ λ:*/ - BYTE byRes[5972]; // -}NET_DVR_FACEDETECTION_SEARCHCOND, *LPNET_DVR_FACEDETECTION_SEARCHCOND; // - - -typedef union tagNET_DVR_AREA_SMARTSEARCH_COND_UNION -{ - BYTE byLen[6144]; //ṹ峤 - BYTE byMotionScope[64][96]; // 0-96λʾ64У96*64С飬1-ƶ0-ƶ - NET_DVR_TRAVERSE_PLANE_SEARCHCOND struTraversPlaneCond; //Խ - NET_DVR_INTRUSION_SEARCHCOND struIntrusionCond; // - NET_DVR_FACEDETECTION_SEARCHCOND struFaceSnapCond; // -}NET_DVR_AREA_SMARTSEARCH_COND_UNION, -*LPNET_DVR_AREA_SMARTSEARCH_COND_UNION; - - -// -typedef struct tagNET_DVR_SMART_SEARCH_PARAM -{ - BYTE byChan; //ͨ - BYTE bySearchCondType; //ܲNET_DVR_AREA_SMARTSEARCH_COND_UNION - /*0-ƶ 1-Խ⣬ 2-, 3- */ - WORD wChan; //ͨţ ֶǶbyChanչʹøֶκbyChanԲʹ - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ - NET_DVR_AREA_SMARTSEARCH_COND_UNION uSmartSearchCond; //ܲ - BYTE bySensitivity; //ƶ,1 >80% 2 40%~80% 3 1%~40% - BYTE byRes2[11]; -}NET_DVR_SMART_SEARCH_PARAM, *LPNET_DVR_SMART_SEARCH_PARAM; - -typedef struct tagNET_DVR_SMART_SEARCH_PARAM_V40 -{ - DWORD dwSize; //ṹС - NET_DVR_STREAM_INFO struIDInfo; //ͨϢ - BYTE bySearchCondType; //ܲ 0-, 1-Խ, 2-,3-, 4-Ƽ - BYTE bySensitivity; //̬,1-100 - BYTE byRes1[2]; - NET_DVR_TIME_EX struStartTime; - NET_DVR_TIME_EX struEndTime; - NET_DVR_AREA_SMARTSEARCH_COND_UNION uSmartSearchCond; //ܲ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱbyISO8601Ϊ1ʱЧ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱbyISO8601Ϊ1ʱЧ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱbyISO8601Ϊ1ʱЧ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱbyISO8601Ϊ1ʱЧ - BYTE byRes2[251]; -}NET_DVR_SMART_SEARCH_PARAM_V40,*LPNET_DVR_SMART_SEARCH_PARAM_V40; - - - -typedef struct tagNET_DVR_SMART_SEARCH_RET -{ - NET_DVR_TIME struStartTime; //ƶⱨʼʱ - NET_DVR_TIME struEndTime; //¼ֹͣʱ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[59]; -}NET_DVR_SMART_SEARCH_RET, *LPNET_DVR_SMART_SEARCH_RET; - -// IPSAN ļĿ¼ -typedef struct tagNET_DVR_IPSAN_SERACH_PARAM -{ - NET_DVR_IPADDR struIP; // IPSAN IPַ - WORD wPort; // IPSAN ˿ - BYTE byRes[10]; // ֽ -}NET_DVR_IPSAN_SERACH_PARAM, *LPNET_DVR_IPSAN_SERACH_PARAM; - -typedef struct tagNET_DVR_IPSAN_SERACH_RET -{ - BYTE byDirectory[128]; // صļĿ¼ - BYTE byRes[20]; -}NET_DVR_IPSAN_SERACH_RET, *LPNET_DVR_IPSAN_SERACH_RET; - -//DVR豸 -typedef struct -{ - DWORD dwSize; - BYTE sDVRName[NAME_LEN]; //DVR - DWORD dwDVRID; //DVR ID,ң //V1.4(0-99), V1.5(0-255) - DWORD dwRecycleRecord; //Ƿѭ¼,0:; 1: - //²ɸ - BYTE sSerialNumber[SERIALNO_LEN]; //к - DWORD dwSoftwareVersion; //汾,16λ汾,16λǴΰ汾 - DWORD dwSoftwareBuildDate; //,0xYYYYMMDD - DWORD dwDSPSoftwareVersion; //DSP汾,16λ汾,16λǴΰ汾 - DWORD dwDSPSoftwareBuildDate; // DSP,0xYYYYMMDD - DWORD dwPanelVersion; // ǰ汾,16λ汾,16λǴΰ汾 - DWORD dwHardwareVersion; // Ӳ汾,16λ汾,16λǴΰ汾 - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byRS232Num; //DVR 232ڸ - BYTE byRS485Num; //DVR 485ڸ - BYTE byNetworkPortNum; //ڸ - BYTE byDiskCtrlNum; //DVR Ӳ̿ - BYTE byDiskNum; //DVR Ӳ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ...... - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byDecordChans; //DVR · - BYTE byVGANum; //VGAڵĸ - BYTE byUSBNum; //USBڵĸ - BYTE byAuxoutNum; //ڵĸ - BYTE byAudioNum; //ڵĸ - BYTE byIPChanNum; //ͨ 8λ8λbyHighIPChanNum - BYTE byZeroChanNum; //ͨ - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧֣ - //bySupport & 0x1, ʾǷ֧ - //bySupport & 0x2, ʾǷֱ֧ - //bySupport & 0x4, ʾǷ֧ѹȡ - //bySupport & 0x8, ʾǷֶ֧ - //bySupport & 0x10, ʾ֧ԶSADP - //bySupport & 0x20, ʾ֧Raid - //bySupport & 0x40, ʾ֧IPSAN - //bySupport & 0x80, ʾ֧rtp over rtsp - BYTE byEsataUseage; //EsataĬ;0-Ĭϱݣ1-Ĭ¼ - BYTE byIPCPlug; //0-رռ弴ã1-򿪼弴 - BYTE byStorageMode; //0-ģʽ,1-, 2֡ģʽ, 3-Զ - BYTE bySupport1; //λΪ0ʾ֧֣1ʾ֧ - //bySupport1 & 0x1, ʾǷ֧snmp v30 - //bySupport1 & 0x2, ֻ֧طź - //bySupport1 & 0x4, Ƿֲ֧ȼ - //bySupport1 & 0x8, 豸Ƿֲ֧ʱչ - //bySupport1 & 0x10, ʾǷֶ֧33 - //bySupport1 & 0x20, ʾǷ֧rtsp over http - WORD wDevType;//豸ͺ - BYTE byDevTypeName[DEV_TYPE_NAME_LEN];//豸ͺ - BYTE bySupport2; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport2 & 0x1, ʾǷ֧չOSDַ(ն˺ץĻչ) - BYTE byAnalogAlarmInPortNum; //ģⱨ - BYTE byStartAlarmInNo; //ģⱨʼ - BYTE byStartAlarmOutNo; //ģⱨʼ - BYTE byStartIPAlarmInNo; //IPʼ - BYTE byStartIPAlarmOutNo; //IPʼ - BYTE byHighIPChanNum; //ͨ8λ - BYTE byEnableRemotePowerOn;//Ƿ豸ߵ״̬Զ̿ܣ0-ã1- - WORD wDevClass; //豸౸ĸƷߣ0 1-50 DVR51-100 DVS101-150 NVR151-200 IPC65534 ෽豸ͶӦкźֵ.docx - BYTE byRes2[6]; // -}NET_DVR_DEVICECFG_V40, *LPNET_DVR_DEVICECFG_V40; - -typedef struct -{ - DWORD dwSize; - BYTE sDVRName[NET_DEV_NAME_LEN]; //DVR - DWORD dwDVRID; //DVR ID,ң //V1.4(0-99), V1.5(0-255) - DWORD dwRecycleRecord; //Ƿѭ¼,0:; 1: - //²ɸ - BYTE sSerialNumber[SERIALNO_LEN]; //к - DWORD dwSoftwareVersion; //汾,16λ汾,16λǴΰ汾 - DWORD dwSoftwareBuildDate; //,0xYYYYMMDD - DWORD dwDSPSoftwareVersion; //DSP汾,16λ汾,16λǴΰ汾 - DWORD dwDSPSoftwareBuildDate; // DSP,0xYYYYMMDD - DWORD dwPanelVersion; // ǰ汾,16λ汾,16λǴΰ汾 - DWORD dwHardwareVersion; // Ӳ汾,16λ汾,16λǴΰ汾 - BYTE byAlarmInPortNum; //DVR - BYTE byAlarmOutPortNum; //DVR - BYTE byRS232Num; //DVR 232ڸ - BYTE byRS485Num; //DVR 485ڸ -- - BYTE byNetworkPortNum; //ڸ - BYTE byDiskCtrlNum; //DVR Ӳ̿ - BYTE byDiskNum; //DVR Ӳ̸ - BYTE byDVRType; //DVR, 1:DVR 2:ATM DVR 3:DVS ......-- - BYTE byChanNum; //DVR ͨ - BYTE byStartChan; //ʼͨ,DVS-1,DVR - 1 - BYTE byDecordChans; //DVR · - BYTE byVGANum; //VGAڵĸ -- - BYTE byUSBNum; //USBڵĸ - BYTE byAuxoutNum; //ڵĸ - BYTE byAudioNum; //ڵĸ - BYTE byIPChanNum; //ͨ -- - BYTE byZeroChanNum; //ͨ - BYTE bySupport; //λΪ0ʾ֧֣1ʾ֧֣ - //bySupport & 0x1, ʾǷ֧ - //bySupport & 0x2, ʾǷֱ֧ - //bySupport & 0x4, ʾǷ֧ѹȡ - //bySupport & 0x8, ʾǷֶ֧ - //bySupport & 0x10, ʾ֧ԶSADP - //bySupport & 0x20, ʾ֧Raid - //bySupport & 0x40, ʾ֧IPSAN - //bySupport & 0x80, ʾ֧rtp over rtsp - BYTE byEsataUseage; //EsataĬ;0-Ĭϱݣ1-Ĭ¼ - BYTE byIPCPlug; //0-رռ弴ã1-򿪼弴 - BYTE byStorageMode; //0-ģʽ,1-,2֡ģʽ - BYTE bySupport1; //λΪ0ʾ֧֣1ʾ֧ - //bySupport1 & 0x1, ʾǷ֧snmp v30 - //bySupport1 & 0x2, ֻ֧طź - //bySupport1 & 0x4, Ƿֲ֧ȼ - //bySupport1 & 0x8, 豸Ƿֲ֧ʱչ - //bySupport1 & 0x10, ʾǷֶ֧33 - //bySupport1 & 0x20, ʾǷ֧rtsp over http - WORD wDevType;//豸ͺչ - BYTE byDevTypeName[NET_DEV_TYPE_NAME_LEN];//豸ͺ - BYTE bySupport2; //չλΪ0ʾ֧֣1ʾ֧ - //bySupport2 & 0x1, ʾǷ֧չOSDַ(ն˺ץĻչ) - BYTE byAnalogAlarmInPortNum; //ģⱨĿ - BYTE byStartAlarmInNo; //ģⱨʼ - BYTE byStartAlarmOutNo; //ģⱨʼ - BYTE byStartIPAlarmInNo; //IPʼ - BYTE byStartIPAlarmOutNo; //IPʼ - BYTE byHighIPChanNum; //ͨ8λ - BYTE byEnableRemotePowerOn;//Ƿ豸ߵ״̬Զ̿ܣ0-ã1- - BYTE byRes[256]; // -}NET_DVR_DEVICECFG_V50, *LPNET_DVR_DEVICECFG_V50; -#define MAX_ZEROCHAN_NUM 16 -//ͨѹò -typedef struct tagNET_DVR_ZEROCHANCFG -{ - DWORD dwSize; //ṹ - BYTE byEnable; //0-ֹͣͨ룬1-ʾͨ - BYTE byRes1[3]; // - DWORD dwVideoBitrate; //Ƶ 0- 1-16K() 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K - // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K - //λ(31λ)ó1ʾԶ, 0-30λʾֵ(MIN-32K MAX-8192K) - DWORD dwVideoFrameRate; //֡ 0-ȫ; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20, //V2.014-15, 15-18, 16-22; - BYTE byRes2[32]; // -}NET_DVR_ZEROCHANCFG, *LPNET_DVR_ZEROCHANCFG; - -//ͨŲ -typedef struct tagNET_DVR_ZERO_ZOOMCFG -{ - DWORD dwSize; //ṹ - NET_VCA_POINT struPoint; //е - BYTE byState; //ڵ״̬0-С1-Ŵ - BYTE byPreviewNumber; //ԤĿ,0-1,1-4,2-9,3-16 òֻ - BYTE byPreviewSeq[MAX_WINDOW_V30];//ͨϢ òֻ - BYTE byRes[30]; // -}NET_DVR_ZERO_ZOOMCFG, *LPNET_DVR_ZERO_ZOOMCFG; - -#define DESC_LEN_64 64 -typedef struct tagNET_DVR_SNMPCFG -{ - DWORD dwSize; //ṹ - BYTE byEnable; //0-SNMP1-ʾSNMP - BYTE byRes1[3]; // - WORD wVersion; //snmp 汾 v1 = 1, v2 =2, v3 =3豸Ŀǰ֧ v3 - WORD wServerPort; //snmpϢն˿ڣĬ 161 - BYTE byReadCommunity[NAME_LEN]; //ͬ壬31,Ĭ"public" - BYTE byWriteCommunity[NAME_LEN];//дͬ,31 ֽ,Ĭ "private" - BYTE byTrapHostIP [DESC_LEN_64]; //ipַ֧IPV4 IPV6 - WORD wTrapHostPort; // trap˿ - BYTE byTrapName[NAME_LEN]; - BYTE byRes2[70]; // -}NET_DVR_SNMPCFG, *LPNET_DVR_SNMPCFG; - -typedef struct tagNET_DVR_SNMPv3_USER -{ - BYTE byUserName[NAME_LEN]; // û - BYTE bySecLevel; // ȫ 0- 1-У 2-ȨУ 3-ȨУ - BYTE byAuthtype; // ֤ 0-MD5֤ 1-SHA֤ 2: none - BYTE byPrivtype; // 0: DES; 1: AES; 2: none; - BYTE byRes[5]; - BYTE byAuthpass[PASSWD_LEN]; // ֤ - BYTE byPrivpass[PASSWD_LEN]; // -}NET_DVR_SNMPv3_USER, *LPNET_DVR_SNMPv3_USER; - -// snmpv30 -typedef struct tagNET_DVR_SNMPCFG_V30 -{ - DWORD dwSize; //ṹ - BYTE byEnableV1; //0-SNMP V11-ʾSNMP V1 - BYTE byEnableV2; //0-SNMP V21-ʾSNMP V2 - BYTE byEnableV3; //0-SNMP V31-ʾSNMP V3 - BYTE byRes1[3]; - WORD wServerPort; //snmpϢն˿ڣĬ 161 - BYTE byReadCommunity[NAME_LEN]; //ͬ壬31,Ĭ"public" - BYTE byWriteCommunity[NAME_LEN]; //дͬ,31 ֽ,Ĭ "private" - BYTE byTrapHostIP [DESC_LEN_64]; //ipַ֧IPV4 IPV6 - WORD wTrapHostPort; // trap˿ - BYTE byRes2[2]; - NET_DVR_SNMPv3_USER struRWUser; // дû - NET_DVR_SNMPv3_USER struROUser; // ֻû - BYTE byTrapName[NAME_LEN]; -}NET_DVR_SNMPCFG_V30, *LPNET_DVR_SNMPCFG_V30; - -#define PROCESSING 0 //ڴ -#define PROCESS_SUCCESS 100 // -#define PROCESS_EXCEPTION 400 //쳣 -#define PROCESS_FAILED 500 //ʧ -#define PROCESS_QUICK_SETUP_PD_COUNT 501 //һ3Ӳ - -#define SOFTWARE_VERSION_LEN 48 -#define NET_SDK_DEVICE_MODEL_LEN 24 //豸ͺų -typedef struct tagNET_DVR_SADPINFO -{ - NET_DVR_IPADDR struIP; // 豸IPַ - WORD wPort; // 豸˿ں - WORD wFactoryType; // 豸 - char chSoftwareVersion[SOFTWARE_VERSION_LEN]; - char chSerialNo[16]; // к - WORD wEncCnt; // ͨ - BYTE byMACAddr[MACADDR_LEN]; // MAC ַ - NET_DVR_IPADDR struSubDVRIPMask; // DVR IPַ - NET_DVR_IPADDR struGatewayIpAddr; // - NET_DVR_IPADDR struDnsServer1IpAddr; /* 1IPַ */ - NET_DVR_IPADDR struDnsServer2IpAddr; /* 2IPַ */ - BYTE byDns; - BYTE byDhcp; - BYTE szGB28181DevID[DEV_ID_LEN]; //GB28181Эʱ豸IDIPCGB28181Э - BYTE byActivated;//0-Ч1-Ѽ2-δ - BYTE byDeviceModel[NET_SDK_DEVICE_MODEL_LEN/*24*/];//豸ͺ - BYTE byRes[101]; // ֽ -}NET_DVR_SADPINFO, *LPNET_DVR_SADPINFO; - -#define MAX_SADP_NUM 256 // 豸Ŀ -typedef struct tagNET_DVR_SADPINFO_LIST -{ - DWORD dwSize; // ṹС - WORD wSadpNum; // 豸Ŀ - BYTE byRes[6]; // ֽ - NET_DVR_SADPINFO struSadpInfo[MAX_SADP_NUM]; // -}NET_DVR_SADPINFO_LIST, *LPNET_DVR_SADPINFO_LIST; - -typedef struct tagNET_DVR_SADP_VERIFY -{ - char chPassword[PASSWD_LEN]; - NET_DVR_IPADDR struOldIP; - WORD wOldPort; - BYTE byRes[62]; -}NET_DVR_SADP_VERIFY, *LPNET_DVR_SADP_VERIFY; - -/*******************************ݽӿ begin********************************/ -//ȡ豸Ϣӿڶ -#define DESC_LEN_32 32 //ֳ -#define MAX_NODE_NUM 256 //ڵ - -typedef struct tagNET_DVR_DESC_NODE -{ - int iValue; - BYTE byDescribe[DESC_LEN_32]; //ֶ - DWORD dwFreeSpace; //ȡбר,λΪM - BYTE byRes[12]; // -}NET_DVR_DESC_NODE, *LPNET_DVR_DESC_NODE; - -typedef struct tagNET_DVR_DISKABILITY_LIST -{ - DWORD dwSize; //ṹ - DWORD dwNodeNum; // - NET_DVR_DESC_NODE struDescNode[MAX_NODE_NUM]; // -}NET_DVR_DISKABILITY_LIST, *LPNET_DVR_DISKABILITY_LIST; - -//ݽб -#define BACKUP_SUCCESS 100 // -#define BACKUP_CHANGE_DEVICE 101 //豸豸 - -#define BACKUP_SEARCH_DEVICE 300 //豸 -#define BACKUP_SEARCH_FILE 301 //¼ļ -#define BACKUP_SEARCH_LOG_FILE 302 //־ļ -#define BACKUP_CHANGE_DISK 303 //ڸ - -#define BACKUP_EXCEPTION 400 //쳣 -#define BACKUP_FAIL 500 //ʧ - -#define BACKUP_TIME_SEG_NO_FILE 501 //ʱ¼ļ -#define BACKUP_NO_RESOURCE 502 //벻Դ -#define BACKUP_DEVICE_LOW_SPACE 503 //豸 -#define BACKUP_DISK_FINALIZED 504 //¼̷ -#define BACKUP_DISK_EXCEPTION 505 //¼쳣 -#define BACKUP_DEVICE_NOT_EXIST 506 //豸 -#define BACKUP_OTHER_BACKUP_WORK 507 //ݲڽ -#define BACKUP_USER_NO_RIGHT 508 //ûûвȨ -#define BACKUP_OPERATE_FAIL 509 //ʧ -#define BACKUP_NO_LOG_FILE 510 //Ӳ־ - -//ݹ̽ӿڶ -typedef struct tagNET_DVR_BACKUP_NAME_PARAM -{ - DWORD dwFileNum; //ļ - NET_DVR_FINDDATA_V30 struFileList[MAX_RECORD_FILE_NUM]; //ļб - BYTE byDiskDes[DESC_LEN_32]; //ݴ - BYTE byWithPlayer; //Ƿ񱸷ݲ - BYTE byContinue; /*Ƿ 0 1*/ - BYTE byRes[34]; // -}NET_DVR_BACKUP_NAME_PARAM, *LPNET_DVR_BACKUP_NAME_PARAM; - -typedef struct tagNET_DVR_BACKUP_TIME_PARAM -{ - LONG lChannel; //ʱ䱸ݵͨ - NET_DVR_TIME struStartTime; //ݵʼʱ - NET_DVR_TIME struStopTime; //ݵֹʱ - BYTE byDiskDes[DESC_LEN_32]; //ݴ - BYTE byWithPlayer; //Ƿ񱸷ݲ - BYTE byContinue; //Ƿ 0 1 - BYTE byDrawFrame; //0 ֡ 1 ֡ - BYTE byUseBackCfgParam; //ʹñеIJ0-Ч1-(úͨЧ)2- - DWORD dwStreamType; //ͣλʾ - //&0x1-ʾ - //&0x2-ʾ - //&0x4-ʾ - BYTE byRes[28]; // ֽ -}NET_DVR_BACKUP_TIME_PARAM, *LPNET_DVR_BACKUP_TIME_PARAM; -/********************************* end *******************************************/ - -typedef enum _COMPRESSION_ABILITY_TYPE_ -{ - COMPRESSION_STREAM_ABILITY = 0, //ѹ - MAIN_RESOLUTION_ABILITY = 1, //ѹֱ - SUB_RESOLUTION_ABILITY = 2, //ѹֱ - EVENT_RESOLUTION_ABILITY = 3, //¼ѹֱ - FRAME_ABILITY = 4, //֡ - BITRATE_TYPE_ABILITY = 5, //λ - BITRATE_ABILITY = 6, //λ - THIRD_RESOLUTION_ABILITY = 7, //ѹֱ - STREAM_TYPE_ABILITY = 8, // - PIC_QUALITY_ABILITY = 9, //ͼ - INTERVAL_BPFRAME_ABILITY = 10, //BP֡ - VIDEO_ENC_ABILITY = 11, //Ƶ - AUDIO_ENC_ABILITY = 12, //Ƶ - VIDEO_ENC_COMPLEXITY_ABILITY = 13, //Ƶ븴Ӷ - FORMAT_ABILITY = 14, //װʽ -}COMPRESSION_ABILITY_TYPE; - -//б -typedef struct tagNET_DVR_ABILITY_LIST -{ - DWORD dwAbilityType; // COMPRESSION_ABILITY_TYPE - BYTE byRes[32]; //ֽ - DWORD dwNodeNum; // - NET_DVR_DESC_NODE struDescNode[MAX_NODE_NUM]; // -}NET_DVR_ABILITY_LIST, *LPNET_DVR_ABILITY_LIST; - -#define MAX_ABILITYTYPE_NUM 12 // -// ѹб -typedef struct tagNET_DVR_COMPRESSIONCFG_ABILITY -{ - DWORD dwSize; //ṹ - DWORD dwAbilityNum; //͸ - NET_DVR_ABILITY_LIST struAbilityNode[MAX_ABILITYTYPE_NUM]; // -}NET_DVR_COMPRESSIONCFG_ABILITY, *LPNET_DVR_COMPRESSIONCFG_ABILITY; -/********************************9000RH begin****************************************/ -#define SUPPORT_PD_NUM 16 -#define SUPPORT_ARRAY_NUM 8 -#define SUPPORT_VD_NUM 128 -#define SUPPORT_PD_NUM_ 16 -#define SUPPORT_PD_NUM_PARTTWO 8 - -typedef enum tagRAID_MODE -{ - RAID0 = 1, - RAID1, - RAID10, - RAID1E, - RAID5, - RAID6, - RAID50, - JBOD, - RAID60 -}RAID_MODE; - -typedef enum tagHD_SUPPORT_TYPE -{ - HD_TYPE_SATA = 0x01, - HD_TYPE_PATA = 0x02, - HD_TYPE_SAS = 0x04, - HD_TYPE_ATAPI = 0x08, - HD_TYPE_TAPE = 0x10, - HD_TYPE_SES = 0x20 -}HD_SUPPORT_TYPE; - -// λʾ λΪ0ʾ֧ 1ʾ֧ -typedef enum tagSUPPORT_RAID_TYPE -{ - RAID0_ABILITY = 0x0001, - RAID1_ABILITY = 0x0002, - RAID10_ABILITY = 0x0004, - RAID1E_ABILITY = 0x0008, - RAID5_ABILITY = 0x0010, - RAID6_ABILITY = 0x0020, - RAID50_ABILITY = 0x0040, - JBOD_ABILITY = 0x0080, - RAID60_ABILITY = 0x0100 -}SUPPORT_RAID_TYPE; - -// -typedef struct tagNET_DVR_PHY_DISK_INFO -{ - WORD wPhySlot; // Ӳ̲λ - BYTE byType; // ӲϢ0 ͨ1ȫȱ2-ȱ 3- - BYTE byStatus; // Ӳ״̬ 0- 1- 2-ɾ 3-̶ʧ 4- 5- 6- 7-쳣 8-SMART״̬쳣 9- 10-л,11-SMRӲ̲֧й,0xff- - BYTE byMode[40]; // Ӳ ַ - DWORD dwHCapacity; // 32λ λkb - DWORD dwLCapacity; // 32λ - BYTE byArrrayName[MAX_NAMELEN]; - WORD wArrayID; // ID - BYTE byArrayInformation; // ǷϢ0 1 - BYTE byRes[101]; // ֽ -}NET_DVR_PHY_DISK_INFO, *LPNET_DVR_PHY_DISK_INFO; - -typedef struct tagNET_DVR_PHY_DISK_LIST -{ - DWORD dwSize; - DWORD dwCount; - NET_DVR_PHY_DISK_INFO struPhyDiskInfo[SUPPORT_PD_NUM]; -}NET_DVR_PHY_DISK_LIST, *LPNET_DVR_PHY_DISK_LIST; - -typedef enum tagBGA_TYPE -{ - BGA_REBUILD = 0x01, // ؽ - BGA_CONSISTENCY_FIX = 0x02, // һԼ鲢޸ - BGA_CONSISTENCY_CHECK = 0x04, // һԼ - BGA_INIT_QUICK = 0x08, // ʼ() - BGA_INIT_BACK = 0x10, // ʼ(ȫ) - BGA_MIGRATION = 0x20, // Ǩ - BGA_INIT_FORE = 0x40, // ʼ - BGA_COPYBACK = 0x80 // Ǩ -}BGA_TYPE; - -typedef enum tagBGA_STATE -{ - BGA_STATE_NONE = 0, // ޺̨ - BGA_STATE_RUNNING, // ̨ - BGA_STATE_ABORTED, // ̨ȡ - BGA_STATE_PAUSED // ̨ͣ -}BGA_STATE; -typedef struct tagNET_DVR_BGA_INFO -{ - BYTE byBga; // ̨ - BYTE byBgaState; /*ֵ--̨״̬*/ - WORD wBgaPercentage; /*ֵ--ִ̨аٷֱ*/ - BYTE byRes[4]; // ֽ -}NET_DVR_BGA_INFO, *LPNET_DVR_BGA_INFO; - -// Ϣ -typedef struct tagNET_DVR_ARRAY_INFO -{ - WORD wArrayID; // ID - BYTE byRaidMode; // raidģʽ RAID_MODE - BYTE byStatus; // 0- 1-̶ʧ 2- 3- 4-쳣 5- 6- 7-ɾ 8-SMART״̬쳣 0xff- - DWORD dwHCapacity; // 32λ - DWORD dwLCapacity; // 32λ - DWORD dwHFreeSpace; // ʣռ32λ - DWORD dwLFreeSpace; // ʣռ32λ - BYTE byArrayName[MAX_NAMELEN]; // - BYTE byPDCount; // Ŀ - BYTE bySpareCount; // ȱĿ - BYTE byRes1[2]; - WORD wPDSlots[SUPPORT_PD_NUM]; // - WORD wSparePDSlots[SUPPORT_PD_NUM]; // ȱ - NET_DVR_BGA_INFO struBgaInfo; // ̨״̬ - WORD wPDSlotsPartTwo[SUPPORT_PD_NUM_PARTTWO]; //չ0ʾЧ - WORD wSparePDSlotsPartTwo[SUPPORT_PD_NUM_PARTTWO]; // ȱչ0ʾЧ - BYTE byRes2[48]; // ֽ -}NET_DVR_ARRAY_INFO, *LPNET_DVR_ARRAY_INFO; - - -typedef struct tagNET_DVR_ARRAY_LIST -{ - DWORD dwSize; // ṹС - DWORD dwCount; // и - NET_DVR_ARRAY_INFO struArrayInfo[SUPPORT_ARRAY_NUM]; -}NET_DVR_ARRAY_LIST, *LPNET_DVR_ARRAY_LIST; - -//Ϣ -typedef struct tagNET_DVR_VD_INFO -{ - WORD wSlot; //̲λ - BYTE byStatus; // ״̬0- 1- 2-ɾ 3-̶ʧ 4- 5- 6- 7-쳣 8-SMART״̬쳣 0xff- - BYTE byRaidMode; // Raid ģʽ RAID_MODE - WORD wArrayID; // ID - BYTE byRepair; // ǷҪ޸ 0 Ҫ 1Ҫ - BYTE byUsage; //LUNʹ÷ʽ 0-IPSAN 1-FCSAN 2-DVR 3-NAS 4-¼ - BYTE byArrayName[MAX_NAMELEN]; - BYTE byName[MAX_NAMELEN]; // - DWORD dwHCapacity; // 32λ - DWORD dwLCapacity; // 32λ - DWORD dwHFreeSpace; // ʣռ32λ - DWORD dwLFreeSpace; // ʣռ32λ - NET_DVR_BGA_INFO struBgaInfo; // ̨״̬ - DWORD dwBlockSize; //С洢ԪС - NET_DVR_IPADDR struWarrantIP; // ȨDVRIP - char szArrayGroup[NAME_LEN]; //ʹõ飬ԶŸΪʹĬ - BYTE byRes[20]; -}NET_DVR_VD_INFO, *LPNET_DVR_VD_INFO; - -typedef struct tagNET_DVR_VD_LIST -{ - DWORD dwSize; // ṹС - DWORD dwCount; // ̸ - NET_DVR_VD_INFO struVDInfo[SUPPORT_VD_NUM]; // -}NET_DVR_VD_LIST, *LPNET_DVR_VD_LIST; - -typedef struct tagNET_DVR_ADAPTER_VERSION -{ - WORD wMajorVersion; - WORD wMinorVersion; - WORD wRevisionNumber; - WORD wBuildNumber; -}NET_DVR_ADAPTER_VERSION, *LPNET_DVR_ADAPTER_VERSION; - -typedef struct tagNET_DVR_VD_SLOT -{ - WORD wVDSlot; - BYTE byAlloc; // ǷѾ - BYTE byRes[5]; - DWORD dwHVDSlotSize; // ̿ռС32λ - DWORD dwLVDSlotSize; // ̿ռС32λ -}NET_DVR_VD_SLOT, *LPNET_DVR_VD_SLOT; - -typedef struct tagNET_DVR_ARRAY_SPACE_ALLOC_INFO -{ - BYTE byVDSlotCount; /*current number of slots in DG*/ - BYTE byRes1[3]; // ֽ - NET_DVR_VD_SLOT struVDSlots[SUPPORT_VD_NUM]; -}NET_DVR_ARRAY_SPACE_ALLOC_INFO, *LPNET_DVR_ARRAY_SPACE_ALLOC_INFO; - -typedef struct tagNET_DVR_RAID_ADAPTER_INFO -{ - DWORD dwSize; // ṹС - NET_DVR_ADAPTER_VERSION struVersion; // 汾 - BYTE bySlotCount; //λ - BYTE bySupportMigrate; // Ǩ(1-֧ 0-֧) - BYTE bySupportExpand; // (1-֧ 0-֧) - BYTE bySupportRebuild; // Ƿ֧ؽ (1֧ 0-֧) - WORD wSlotSupportType; // λʾ HD_SUPPORT_TYPE - WORD wSupportRaidType; // ֧Raid λʾ - BYTE byAutoRebuild; // 0 Զؽ 1Զؽ - BYTE byRes[27]; // ֽ -}NET_DVR_RAID_ADAPTER_INFO, *LPNET_DVR_RAID_ADAPTER_INFO; - -typedef struct tagNET_DVR_OPERATE_ARRAY_PARAM -{ - //Ƿһ Ϊһ򴴽ʱʱ֮ҪarrayƣҪ - // 豸д - BYTE byRaidMode; // /ǨʱRaid - BYTE byPDCount; // Ŀ - WORD wArrayID; // ǨƻؽʱҪָID - WORD wPDSlots[SUPPORT_PD_NUM];// - BYTE byName[MAX_NAMELEN]; // array - BYTE byInitMode; //ʼʽ - BYTE byRes1; - WORD wPDSlotsPartTwo[SUPPORT_PD_NUM_PARTTWO]; //Ϣ - BYTE byRes2[2]; -}NET_DVR_OPERATE_ARRAY_PARAM, *LPNET_DVR_OPERATE_ARRAY_PARAM; - - -#define INIT_QUICK 0 /*ٳʼ*/ -#define INIT_FULLFOREGROUND 1 /*ȫʼ(ǰ̨)*/ -#define INIT_FULLBACKGROUND 2 /*ȫʼ(̨)*/ - -typedef struct tagNET_DVR_OPERATE_VD_PARAM -{ - WORD wArrayID; // ID - BYTE bySlot; // ָλ - BYTE byInitType; // ʱʼ 0 - ٳʼ 1 - ǰ̨ȫʼ 2 - ̨ȫʼ - DWORD dwHCapacity; // ̴С32λ - DWORD dwLCapacity; // ̴С32λ - BYTE byName[MAX_NAMELEN]; // - BYTE byRes2[16]; // ֽ -}NET_DVR_OPERATE_VD_PARAM, *LPNET_DVR_OPERATE_VD_PARAM; - - -typedef struct tagNET_DVR_SPARE_DISK_PARAM -{ - WORD wPDSlot; // ̲λ - WORD wArrayID; // - BYTE bySpareType; // ȱ 1-ȫȱ 2 ָ ΪָеʱҪָеID - BYTE byRes[7]; // ֽ -}NET_DVR_SPARE_DISK_PARAM, *LPNET_DVR_SPARE_DISK_PARAM; - -/********************************9000RH End****************************************/ - - -#define MATRIX_MAXDECSUBSYSTEMCHAN 4//Ƶۺƽ̨ϵͳͨ - -//ȡϵͳϢ -typedef struct tagNET_DVR_DECSUBSYSTEMJIONSTATUS -{ - BYTE byJoinStatus;//״̬0-ûй1-Ѿ - BYTE byJoinSubSystem;//ϵͳλ - BYTE byJoinDispNum;//ʾͨ - BYTE byJoinSubWindowNum;//Ӵں - BYTE byRes[4]; -}NET_DVR_DECSUBSYSTEMJIONSTATUS,LPNET_DVR_DECSUBSYSTEMJIONSTATUS; - -typedef struct tagNET_DVR_SINGLESUBSYSTEMJOININFO -{ - BYTE bySubSystemType;//ϵͳͣ0-ޣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ,5-ϵͳ6-ϵͳ - BYTE byConnectStatus;//ϵͳ״̬1-2-ӶϿ - BYTE byMatrixNum;//Ƶۺƽ̨ţϵͳ34ʱ - BYTE bySubSystemNum;//ϵͳλţ0~79ϵͳ34ʱ - NET_DVR_DECSUBSYSTEMJIONSTATUS struDecSub [MATRIX_MAXDECSUBSYSTEMCHAN]; - BYTE byBindStatus;//״̬0-ûа󶨣1-Ѿ󶨣ƴʱõ - BYTE byRes[7]; -}NET_DVR_SINGLESUBSYSTEMJOININFO,LPNET_DVR_SINGLESUBSYSTEMJOININFO; - -typedef struct tagNET_DVR_ALLDECSUBSYSTEMJOININFO -{ - DWORD dwSize; - NET_DVR_SINGLESUBSYSTEMJOININFO struSingleSubSystemJoinInfo[MAX_SUBSYSTEM_NUM];//80 - BYTE byRes[8]; -}NET_DVR_ALLDECSUBSYSTEMJOININFO, *LPNET_DVR_ALLDECSUBSYSTEMJOININFO; - -//2010-04-13 NAT -typedef struct tagNET_DVR_NATASSOCIATECFG -{ - DWORD dwSize; - NET_DVR_NETCFG_V30 struNatIpAddress[2];//NAT IPַ - BYTE byNATEnable;//ǷNATܣ0-ã0- - BYTE byNATCfgMode; //NATģʽ0-ֶ䣬1-Զ - BYTE byRes[62]; -}NET_DVR_NATASSOCIATECFG, *LPNET_DVR_NATASSOCIATECFG; - -//2010-06-01 Ƶۺƽ̨ -typedef struct tagNET_DVR_TEMPERATUREALARMCFG -{ - BYTE byEnableTemperatureAlarm;//ʹ¶ȳޱ0-1- - BYTE byRes1[3]; - int iTemperatureUpLimited; //ȷСλ1234ʾ¶12.34 - int iTemperatureDownLimited; - NET_DVR_HANDLEEXCEPTION_V30 struTempHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRes2[32]; -}NET_DVR_TEMPERATUREALARMCFG, *LPNET_DVR_TEMPERATUREALARMCFG; - -typedef struct tagNET_DVR_BOARDALARMCFG -{ - BYTE byEnablePullAlarm;//Ȳαʹܣ1-0- - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struBoardHandleType; /* ʽ */ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRes2[32]; -}NET_DVR_BOARDALARMCFG, *LPNET_DVR_BOARDALARMCFG; - - -typedef struct tagNET_DVR_VIDEOPLATFORMALARMCFG -{ - DWORD dwSize; - NET_DVR_TEMPERATUREALARMCFG struTempAlarmCfg; - NET_DVR_BOARDALARMCFG struBoardAlarmCfg; - NET_DVR_HANDLEEXCEPTION_V30 struHandleException[MAX_EXCEPTIONNUM];//0-쳣1-ϵͳ쳣2-IPַͻ3-߶ϣ4-Ƿʣ5-쳣6-ǰ쳣 - BYTE byRes[32]; -}NET_DVR_VIDEOPLATFORMALARMCFG,*LPNET_DVR_VIDEOPLATFORMALARMCFG; -//2010-05-17 -typedef struct tagNET_DVR_CODESPLITTERASSOCIATE -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; /*IPַ*/ - WORD wPort; //˿ں - BYTE byRes1[6]; - BYTE sUserName[NAME_LEN]; /* û32 */ - BYTE sPassword[PASSWD_LEN]; /* 16*/ - BYTE byChan;//ͨ - BYTE byRes2[15]; -} NET_DVR_CODESPLITTERASSOCIATE, *LPNET_DVR_CODESPLITTERASSOCIATE; - -//2010-06-01 Ƶۺƽ̨ϴṹ -typedef struct tagNET_DVR_MATRIXSUBSYSTEMINFO -{ - BYTE byMatrixNum;//Ƶۺƽ̨ - BYTE bySubSystemNum;//ϵͳλ - BYTE byRes [14]; -} NET_DVR_MATRIXSUBSYSTEMINFO, *LPNET_DVR_MATRIXSUBSYSTEMINFO; - -typedef struct tagNET_DVR_VIDEOPLATFORM_ALRAMINFO -{ - DWORD dwSize; //ṹС - BYTE byAlarmType; // 0-γӰ壬1-Ӱ,2-¶ȳޱ3-¶ȳޱ4-״̬쳣5-ϵͳ쳣,6-Ƿʣ7-쳣,8-ǰ쳣 - BYTE byBoardNum; //Ӱţ1B10ֶָ֧ΣЧΪ0xff - BYTE byRes1[2]; - BYTE bySubSystemChan[8]; //Ӱλ,һӰ8ϵͳֱӦIJλţϵͳ쳣ʱbySubSystemChan[0]ʾӦϵͳ - int iTemperature; //¶ȳޱʱã¶ֵ - BYTE byMainboardSeq;//¶ȳޱʱã0-壬1- - BYTE byRes2[3]; - BYTE byFanSequence[32];//쳣ȣbyFanSequence[i] = 1ʾi+1쳣byFanSequence[i] = 0ʾi+1 - NET_DVR_MATRIXSUBSYSTEMINFO struInputNote;// 쳣ʱʹã - NET_DVR_MATRIXSUBSYSTEMINFO struOutputNote;//쳣ʱʹã - BYTE byRes3[68]; -}NET_DVR_VIDEOPLATFORM_ALRAMINFO,*LPNET_DVR_VIDEOPLATFORM_ALRAMINFO; - -/***************************ѶDVR begin *****************************/ -#define MAX_INQUEST_PIP_NUM 3 //ͨʾĻлĿ -#define MAX_INQUEST_CDRW_NUM 4 //¼Ŀ -#define MAX_INQUEST_PIP_NUM_EX 16 //Ѷл - -typedef struct -{ - DWORD dwSize; - DWORD dwNum; //¼ - DWORD dwRwSelectPara[MAX_CHANNUM_V30];// Ƿѡиù - DWORD dwModeSelect; //0ʾѭ¼ģʽ 1ʾп¼ģʽ(Ĭģʽ) - BYTE byRes[24]; // - DWORD dwStartCDRW; //DVR Ѿʼ¼ - DWORD dwHdExcp; //Ӳ - DWORD dwInterval; //ʱ10(0)20(1)30(2) - char sLable[64]; // -}NET_DVR_INQUEST_CDRW_CFG, *LPNET_DVR_INQUEST_CDRW_CFG; - -typedef struct -{ - char sFileName[36]; //ļ - DWORD dwFileLen; //ļ -}NET_DVR_INQUEST_FILEINFO, *LPNET_DVR_INQUEST_FILEINFO; - -typedef struct -{ - DWORD dwFileNum; // Ҫ¼ɾļһ20 - NET_DVR_INQUEST_FILEINFO struFileInfo[MAX_RECORD_FILE_NUM]; - //ڱʾ¼ļʱʹ - DWORD dwCDIndex; //¼1:ѡ1ſ¼2:ѡ2ſ¼ 3:3ſ¼,4:4ſ¼,5:п¼ - DWORD bFinalizeDisc; // 0=¼֮󲻷̣1=¼֮ -}NET_DVR_INQUEST_FILES, *LPNET_DVR_INQUEST_FILES; - -typedef struct -{ - DWORD dwEnable; //¼״̬ǷЧ,0-Ч,1-Ч - DWORD dwStatus; /* dwType=0ʱ - 0-1-޹̻쳣, - dwType=12ʱ - 0-¼1-޹̻쳣 - 2-ѷ(81֧)3-̿ռ䲻㣬 - 4-쳣Ѷֹ(81֧) - dwType=3ʱ - 0-¼1-޹̻쳣 - 2-ѷ(81֧)3-̿ռ䲻 - dwType=4ʱ - 0-¼1-޹̻쳣 - 2-ѷ(81֧)3-̿ռ䲻 - dwType=5ʱ, - 0- 1-޹̻쳣, - 2-ѷ(81֧) - dwType=67ʱ, - 0-¼, 1-޹̻쳣, - 2-ѷ(81֧), 3-̿ռ䲻*/ - DWORD dwVolumn; //,λM - DWORD dwFreeSpace; //ʣ,λM - DWORD dwTimeLeft; // ʣʱ䣬λ - BYTE byCDType; // - BYTE byRes[3]; //ֽ -}NET_DVR_INQUEST_CDRW, *LPNET_DVR_INQUEST_CDRW; - -typedef struct -{ -/*״̬0-Ѷʼ -1-Ѷп¼2-Ѷֹͣ -3-¼Ѷļ, -4-(º󱸷ݺͱر) -5- -6-ʼӲ - 7-ָѶ*/ - DWORD dwType; - NET_DVR_INQUEST_CDRW strCDRWNum[MAX_INQUEST_CDRW_NUM]; //0ʾ¼1 - NET_DVR_TIME_EX struInquestStartTime; //Ѷʼʱ - BYTE byRes[16]; // -}NET_DVR_INQUEST_CDRW_STATUS, *LPNET_DVR_INQUEST_CDRW_STATUS; - -typedef struct -{ - BYTE byPipChan; //лʾͨ 0xFFر - BYTE byRes[3]; //ֽ - WORD wTopLeftX; //лx - WORD wTopLeftY; //лY -}NET_DVR_INQUEST_PIP_PARAM, *LPNET_DVR_INQUEST_PIP_PARAM; - -typedef struct -{ - BYTE byBaseChan; //ʾлڵͨ - BYTE byBackChan; //ʾлͨ - BYTE byPIPMode; /*Ƿ, - 0 ǰС - 1 ǰ1С - 2 ǰ2С - 3 ǰ3С - */ - BYTE byRes; //ֽ - NET_DVR_INQUEST_PIP_PARAM strPipPara[MAX_INQUEST_PIP_NUM]; //λõIJ -}NET_DVR_INQUEST_PIP_STATUS, *LPNET_DVR_INQUEST_PIP_STATUS; - -//V40չлչΪ32 -typedef struct tagNET_DVR_INQUEST_PIP_PARAM_V40 -{ - BYTE byPipChan; /*лʾͨ 0xFFر*/ - BYTE byRes1[3]; - WORD wTopLeftX; /*лx*/ - WORD wTopLeftY; /*лY*/ - WORD wHeight; /*лĸ */ - WORD wWidth; /*лĿ */ - BYTE byRes2[32]; -}NET_DVR_INQUEST_PIP_PARAM_V40, *LPNET_DVR_INQUEST_PIP_PARAM_V40; - -typedef struct tagNET_DVR_INQUEST_PIP_STATUS_V40 -{ - NET_DVR_STRUCTHEAD struStructHead; - BYTE byBaseChan; /*ʾлڵͨ*/ - BYTE byBackChan; /*ʾлͨ*/ - BYTE byPIPMode; /*Ƿ, 0 ǰС - 1 ǰ1С - 2 ǰ2С - 3 ǰ3С - 4 ǰ4С - 5 ǰ5С - 6 ǰ6С - 7 ǰ7С - 8 ǰ8С - 9 ǰ9С - 255 ǰڹرԤ*/ - BYTE byPipCount; /*Сĸ*/ - BYTE byPicShowMode; /*ʾģʽ0-л1-2-ƴ*/ - BYTE byRes[31]; /**/ - NET_DVR_INQUEST_PIP_PARAM_V40 strPipPara[MAX_INQUEST_PIP_NUM_EX]; /*λõIJ*/ -}NET_DVR_INQUEST_PIP_STATUS_V40, *LPNET_DVR_INQUEST_PIP_STATUS_V40; - -typedef struct -{ - BYTE sSecretKey[16]; /*Կ*/ - BYTE byRes[64]; /*ֽ*/ -}NET_DVR_INQUEST_SECRET_INFO, *LPNET_DVR_INQUEST_SECRET_INFO; - - -/***************************ѶDVR end *****************************/ - - -/********************************ӿڲṹ(end)*********************************/ -#define MAX_BIGSCREENNUM 100//ƴ - -typedef struct tagNET_DVR_SINGLESCREENCFG -{ - BYTE byScreenSeq;//Ļţ0xffʾô,64-Tһʾ - BYTE bySubSystemNum;//ϵͳλ,ֵû - BYTE byDispNum;//ϵͳ϶Ӧʾͨţ64-Tиֵʾʾͨ - BYTE byRes[9]; -}NET_DVR_SINGLESCREENCFG, *LPNET_DVR_SINGLESCREENCFG; - -typedef struct tagNET_DVR_BIGSCREENCFG -{ - DWORD dwSize; - BYTE byEnable;//ƴʹܣ0-ʹܣ1-ʹ - BYTE byModeX;/*ƴģʽ*/ - BYTE byModeY; - BYTE byMainDecodeSystem;//ۺƽ̨Ľиֵʾλţ64-Tиֵʾͨ - BYTE byMainDecoderDispChan;//ʾͨţ1.1netra汾netraʾܹͨΪ64-TиֵЧ - BYTE byVideoStandard; //ÿʽͬ 1:NTSC,2:PAL - BYTE byRes1[2]; - DWORD dwResolution; //ÿֱͬ - //ƴӴĻϢ - NET_DVR_SINGLESCREENCFG struFollowSingleScreen[MAX_BIGSCREENNUM]; - //ʼΪ׼ - WORD wBigScreenX; //ڵǽʼX - WORD wBigScreenY; //ڵǽʼY - BYTE byRes2[12]; -}NET_DVR_BIGSCREENCFG, *LPNET_DVR_BIGSCREENCFG; - - -#define DECODEPIC_LEFTADJUST 1 /*ͼ*/ -#define DECODEPIC_RIGHTADJUST 2 /*ͼ*/ -#define DECODEPIC_UPADJUST 3 /*ͼ*/ -#define DECODEPIC_DOWNADJUST 4 /*ͼ*/ -#define DECODEPIC_REDUCEADJUST 5 /*ͼС*/ -#define DECODEPIC_FULL_SCREEN_ADJUST 6 /*ͼȫ*/ -#define DECODEPIC_CANCEL_FULL_SCREEN_ADJUST 7 /*ͼȡȫʾ*/ -#define DECODEPIC_AUTOADJUST 8 /* ͼԶ */ -#define DECODEPIC_HEIGHTADJUST 9 /* ͼ߶ȵ */ -#define DECODEPIC_WIDTHADJUST 10 /* ͼȵ */ - -#define MAX_UNITEDMATRIX_NUM 8//Ƶۺƽ̨ -#define MAX_SUBDOMAIN_NUM 4// -typedef struct tagNET_DVR_SUBSERVERINFO -{ - BYTE bySequence;//ţţƵۺƽ̨ƽ̨ţ0ʾ޴ƽ̨\ - BYTE byBelongSubDomain;//ƽ̨Чʾĸ - BYTE byRes1[6]; - DWORD dwMaxIpcNums;//ӵIPC - NET_DVR_IPADDR struSubMatrixIP; /*IPַ*/ - WORD wSubMatrixPort; /*ϵͳ˿ں*/ - BYTE byRes2[6]; -}NET_DVR_SUBSERVERINFO, *LPNET_DVR_SUBSERVERINFO; - -typedef struct tagNET_DVR_UNITEDMATRIXINFO -{ - DWORD dwSize; - NET_DVR_SUBSERVERINFO struDomainInfo; - NET_DVR_SUBSERVERINFO struSubDomainInfo[MAX_SUBDOMAIN_NUM];//Ϣ - NET_DVR_SUBSERVERINFO struMatrixInfo[MAX_UNITEDMATRIX_NUM];//Ƶۺƽ̨Ϣ - BYTE byRes[32]; -}NET_DVR_UNITEDMATRIXINFO, *LPNET_DVR_UNITEDMATRIXINFO; - -typedef struct tagNET_DVR_REGCALLBACKPARAM -{ - char sDeviceID[NAME_LEN];//豸ID - char sPassword[PASSWD_LEN]; - BYTE sSerialNumber[SERIALNO_LEN]; /* 豸к */ - DWORD dwDeviceType;//豸 - BYTE nStatus;// ״̬0ߣ1ߣ - /* net type, 0: unknow; 1: 2G wireless networks; 2: 3G wireless networks; 3: line networks */ - BYTE byNetType; - BYTE byRes[14]; -}NET_DVR_REGCALLBACKPARAM, *LPNET_DVR_REGCALLBACKPARAM; - -typedef struct tagNET_DVR_LOGONREPONSEPARAM -{ - //ʱλ, 5ı180ڡĬ15롣 - WORD wHeartbeatTime; - BYTE byOvertimes;// 豸ʱĬ3 - BYTE byRes[13]; -}NET_DVR_LOGONREPONSEPARAM, *LPNET_DVR_LOGONREPONSEPARAM; - - -typedef struct tagNET_DVR_PREVIEWPARAM -{ - BYTE byTransProtol; //Э飬0-TCP, 1-UDP - BYTE byTransMode; ///* ģʽ 0 1*/ - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - WORD wUdpPort; - BYTE bySupportQos;//ǷQOS,1-ã0- - //ǷNATԤ0-1-(ֻbyTransModeֶ) - BYTE byNatRequest; - BYTE byPreviewType;// 0-ͨԤ 1-ʱԤ - BYTE byRes[7]; -}NET_DVR_PREVIEWPARAM, *LPNET_DVR_PREVIEWPARAM; -typedef struct tagNET_DVR_DEVICENATINFO -{ - NET_DVR_IPADDR struPuIp; //PUIPַ - WORD wOuterPort;/*PU˿*/ - WORD wInterPort;//PUƵıض˿ - DWORD nSessionID;//CMSsessionID - BYTE byRes[4]; -}NET_DVR_DEVICENATINFO, *LPNET_DVR_DEVICENATINFO; - - -typedef struct tagNET_DVR_PREVIEWCALLBACKPARAM -{ - LONG lChannel; - BYTE nLinkProtocol; - BYTE nTransMode; - BYTE byPreviewType; //0-ͨԤ 1-ʱԤ - BYTE byRes[5]; - DWORD nSessionID;//CMSsessionID -}NET_DVR_PREVIEWCALLBACKPARAM, *LPNET_DVR_PREVIEWCALLBACKPARAM; - -//ط -typedef struct tagNET_DVR_PLAYBACKREQUESTPARAM -{ - BYTE byPlayBackMode; /* طģʽ 1 2ʱ */ - BYTE byRes1[3]; - union - { - char sFileName [100]; /* طŵļ */ - struct - { - LONG lChannel; /*طŵͨ*/ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - BYTE byRes[48]; - }struPlayBackbyTime; - }playbackmode; - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE byRes2[2]; - DWORD dwSessionID;//CMSsessionID, - BYTE byRes3[16]; -}NET_DVR_PLAYBACKREQUESTPARAM, *LPNET_DVR_PLAYBACKREQUESTPARAM; - -//2010-10-06 -typedef struct tagNET_DVR_PLAYBACKCALLBACKPARAM -{ - BYTE byPlayBackMode; /* طģʽ 1 2ʱ */ - BYTE byRes1[3]; - union - { - char sFileName [100]; /* طŵļ */ - struct - { - LONG lChannel; /*طŵͨ*/ - NET_DVR_TIME struStartTime; /* ʱطŵĿʼʱ */ - NET_DVR_TIME struStopTime; /* ʱطŵĽʱ */ - BYTE byRes[48]; - }struPlayBackbyTime; - }playbackmode; - DWORD nSessionID;//CMSsessionID - BYTE byRes2[44]; -}NET_DVR_PLAYBACKCALLBACKPARAM, *LPNET_DVR_PLAYBACKCALLBACKPARAM; - -typedef struct tagNET_DVR_VOICEREQUESETPARAM -{ - BYTE nVoiceChannel; //Խͨ - BYTE byRes1[3]; - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE byRes2[10]; -}NET_DVR_VOICEREQUESTPARAM, *LPNET_DVR_VOICEREQUESTPARAM; - -typedef struct tagNET_DVR_ALARMSETUPREQUESETPARAM -{ - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE byRes[2]; -}NET_DVR_ALARMSETUPREQUESTPARAM, *LPNET_DVR_ALARMSETUPREQUESTPARAM; - -typedef struct tagNET_DVR_GPSALARMINFO -{ - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - NET_DVR_TIME_EX struGpsTime; /*GPSϴʱ*/ - DWORD dwLongitude; /* */ - DWORD dwLatitude; /* γ*/ - int iTimeZone; /*ʱ÷ʾ+601+4808-60-4808ֶκGPSTimeһʱ*/ - DWORD dwDirection; /*=ʵʷԶΪλΪ˳ʱ뷽㣩*100*/ - WORD wSatellites; /**/ - WORD wPrecision; /**/ - DWORD dwHeight; /*߶:ףԤ*/ - DWORD dwGPSSeq; /*GPSţGPSʱҪõ*/ - WORD wSpeed;//ٶȣλkm/h - /* direction[0]:'E'or'W'(/), direction[1]:'N'or'S'(γ/γ)*/ - char sDirection[2]; - BYTE byLocateMode;/*λģʽ(ֵ0)1,λ,2,3,,4,Ч65,Чλ78Чλ*/ - BYTE byRes[3]; -}NET_DVR_GPSALARMINFO, *LPNET_DVR_GPSALARMINFO; - -//ͼƬϢϴ -typedef struct tagNET_DVR_PICINFO -{ - DWORD dwSize; //ṹ - BYTE byChanIndex; //ͨ - BYTE byRes1[3]; // - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byAbsTime[32]; //ʱ, yyyymmddhhmmssxxx, - DWORD dwPicLen; //ͼƬ - BYTE byRes2[32]; - BYTE *pPicBuffer; -}NET_DVR_PICTUREINFO, *LPNET_DVR_PICTUREINFO; - -//ƽ̨ -typedef struct tagNET_DVR_CMSPARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struCmsAddr; - WORD wCmsPort; - BYTE byRes1[2]; - BYTE sDeviceID[NAME_LEN]; - BYTE byPassword[PASSWD_LEN]; - NET_DVR_IPADDR struPicServerAddr; - WORD wPicServerPort; - WORD wCmsUdpPort;//CMSUDPѯĶ˿ - BYTE byRes2[12]; -}NET_DVR_CMSPARAM, *LPNET_DVR_CMSPARAM; - -///Ź -#define DIALPASSWD_LEN 32 //볤 - -typedef struct tagNET_DVR_QOSPARAM -{ - WORD wMaxBitUL; /* the maximum number of kbits/s in up-link traffic */ - WORD wMaxBitDL; /* the maximum number of kbits/s in down-link traffic */ - BYTE byTrafficClass; /* 0: conversationnal; 1: streaming; 2: interactive;3: background; 4: subscribed value(default) */ - BYTE byRes[7]; -}NET_DVR_QOSPARAM, *LPNET_DVR_QOSPARAM; - - -typedef struct tagNET_DVR_PPPDPARAM -{ - BYTE byDialNum[NAME_LEN]; /* dial number, eg. "#777" */ - BYTE byUserName[NAME_LEN]; /* user name, eg. "card" */ - BYTE byPassword[DIALPASSWD_LEN]; /* password, eg. "card" */ - BYTE byApn[NAME_LEN]; /* access point name, eg. "cmnet" */ - NET_DVR_IPADDR struLocalIp;/* local IP address */ - NET_DVR_IPADDR struRemoteIp;/* remote IP address */ - WORD wMtuSize; /* max transfer unit of ppp interface */ - BYTE byVerifyProtocal; /* IPCP verify protocal: 0: auto; 1: CHAP; 2: PAP */ - BYTE byRes[25]; -}NET_DVR_PPPDPARAM, *LPNET_DVR_PPPDPARAM; - -#define MAX_PHONE_NUM 32//볤 - -typedef struct tagNET_DVR_DIALPARAM -{ - DWORD dwSize; - BYTE bEnable3G; /* 0: disable; 1: enable 3g */ - BYTE byDialMethod; /* dial methold: 0: auto dial; 1: manual dial; */ - BYTE bySwitchMethod; /* switch methold: 0: auto switch;13Gȣ2: manual switch to 2G; 3: manual switch to 3G; */ - BYTE byEnaAlarmInDial; /* ʹܱ봥; 0: disable; 1: enable */ - BYTE byRes1[10]; - WORD wOffLineTime; /* auto off line when no connection exist,λӣΧ5~65535 */ - NET_DVR_PPPDPARAM struPppdParam; - NET_DVR_QOSPARAM struQosParam; - BYTE byUimNumber[MAX_PHONE_NUM]; - BYTE byRes2[24]; -}NET_DVR_DIALPARAM, *LPNET_DVR_DIALPARAM; - -typedef struct tagNET_DVR_DIALREQUEST -{ - BYTE byConnNum; /**/ - BYTE byNetType; /* ָijĬϲŲʱ˲ûá0Զ1CDMA2EVDO3WCDMA4TD-SCDMA */ - BYTE byRes[6]; -} NET_DVR_DIALREQUEST, *LPNET_DVR_DIALREQUEST; - - -/* UIM card information */ -typedef enum -{ - UIM_UNKNOWN = 0, - UIM_VALID = 1, - UIM_NOVALID = 4, - UIM_ROAM = 11, - UIM_NOEXIST = 255 -}UIM_INFO; - -/* real 3g mode */ -typedef enum -{ - /* evdo */ - RMODE_CDMA1X = 12, - RMODE_EVDO = 14, - RMODE_CDMAHYBRID = 18, - /* wcdma */ - RMODE_GSM = 21, - RMODE_GPRS = 22, - RMODE_EDGE = 23, - RMODE_WCDMA = 24, - RMODE_HSDPA = 25, - RMODE_HSUPA = 26, - RMODE_HSPA = 27, - /* tdscdma */ - RMODE_TGSM = 31, - RMODE_TGPRS = 32, - RMODE_TEDGE = 33, - RMODE_TDSCDMA = 34, - RMODE_TDHSDPA = 35, - RMODE_TDHSUPA = 36, - RMODE_TDHSPA = 37 -}REAL_MODE; - -typedef struct tagNET_DVR_DIALSTATUS -{ - BYTE byRealMode; /* REAL_MODE ,real 3g mode networks */ - BYTE byUimCard; /* UIM_INFO ,UIM card information */ - BYTE byRes1[6]; - DWORD dwSignal; /* signal RSSI */ - DWORD dwDialStatus; /* dial status */ - NET_DVR_IPADDR struLocalIp; /* wireless networks IP address */ - NET_DVR_IPADDR struRemoteIp; /* wireless networks gateway */ - NET_DVR_IPADDR struNetMask; /* wireless networks netmask */ - NET_DVR_IPADDR struDns; /* wireless networks DNS */ - BYTE byRes2[16]; -}NET_DVR_DIALSTATUS, *LPNET_DVR_DIALSTATUS; - -//Ź -#define MAX_ALLOWLIST_NUM 8 // -#define NET_SDK_MAX_ALLOWLIST_NUM_32 32 // - -#define HARDDISKFULL_EXCEPTION 0x0 /*Ӳ*/ -#define HARDDISKERROR_EXCEPTION 0x1 /*Ӳ̴*/ -#define ETHERNETBROKEN_EXCEPTION 0x2 /*߶*/ -#define IPADDRCONFLICT_EXCEPTION 0x3 /*IPַͻ*/ -#define ILLEGALACCESS_EXCEPTION 0x4 /*Ƿ*/ -#define VI_EXCEPTION 0x5 /*Ƶź쳣*/ -#define VS_MISMATCH_EXCEPTION 0x6 /*/Ƶʽƥ */ -#define VIDEOCABLELOSE_EXCEPTION 0x7 /*Ƶź*/ -#define AUDIOCABLELOSE_EXCEPTION 0x8 /*Ƶź*/ -#define ALARMIN_EXCEPTION 0x9 /**/ -#define MASKALARM_EXCEPTION 0xa /*ڵ*/ -#define MOTDET_EXCEPTION 0xb /*ƶ*/ -#define RECORDING_EXCEPTION 0xc /*¼쳣*/ -#define WIRELESS_EXCEPTION 0xd /*PIR*/ -#define PIR_EXCEPTION 0xe /*߱*/ -#define CALLHELP_EXCEPTION 0xf /*ȱ*/ - -#define AUDIO_DETECTION_EXCEPTION 0x10 /*Ƶ쳣ⱨ*/ -#define SCENECHANGE_DETECTION_EXCEPTION 0x11 /*ⱨ*/ -#define DEFOCUS_DETECTION_EXCEPTION 0x12 /*齹ⱨ*/ -#define FACE_DETECTION_ENTRANCE_EXCEPTION 0x13 /*ⱨ*/ -#define LINE_DETECTION_ENTRANCE_EXCEPTION 0x14 /*Խⱨ*/ -#define FIELD_DETECTION_ENTRANCE_EXCEPTION 0x15 /*ⱨ*/ -#define REGION_EXITING_EXCEPTION 0x16 /*뿪ⱨ*/ -#define REGION_ENTRANCE_EXCEPTION 0x17 /*򱨾*/ -#define LOITERING_EXCEPTION 0x18 /*Աǻⱨ*/ -#define GROUP_EXCEPTION 0x19 /*Աۼⱨ*/ -#define RAPIDMOVE_EXCEPTION 0x1a /*ƶⱨ*/ -#define PARKING_EXCEPTION 0x1b /*ͣⱨ*/ -#define UNATTENDEDBAGGAGE_EXCEPTION 0x1c /*Ʒⱨ*/ -#define ATTENDEDBAGGAGE_EXCEPTION 0x1d /*Ʒȡⱨ*/ -#define DATATRAFFIC_EXCESS 0x1e /**/ -#define VOLTAGEINSTABLE_EXCEPTION 0x1f /*Դѹ쳣*/ -#define ALL_EXCEPTION 0xff /*¼¼ʽжǷ*/ - - -#define PHONECFG_RECEIVE_SMS 0x0 /* ֽ֧ձ */ -#define PHONECFG_SMS_CONTROL 0x1 /* ֶ֧ſ */ -#define PHONECFG_CALL_CONTROL 0x2 /* ֺ֧п */ -#define PHONECFG_SMS_REBOOT 0x3 /*ֶ֧*/ -#define PHONECFG_DOOR_CONTROL 0x4 /* ֧Ų*/ -#define PHONECFG_SMS_GET_DAIL_STATUS 0x5 /* ֶ֧Żȡ״̬*/ - - -typedef struct tagNET_DVR_PHONECFG -{ - BYTE byAllowList[MAX_PHONE_NUM]; - BYTE byPhonePerssion[32]; /*ֽڱʾǷʹܸúijܣλĺ - PHONECFG_RECEIVE_SMSȶ */ - BYTE byAlarmHandler[32]; /*ֽڱʾǷʹܶij͵Ķŷ*/ - BYTE byRes[128]; -} NET_DVR_PHONECFG, *LPNET_DVR_PHONECFG; - -typedef struct tagNET_DVR_SMSRELATIVEPARAM -{ - DWORD dwSize; - BYTE bEnableSmsAlarm; /* 0: disable; 1: enable 3g */ - BYTE byRes1[7]; - NET_DVR_PHONECFG struAllowList[MAX_ALLOWLIST_NUM]; - BYTE byRes2[32]; -}NET_DVR_SMSRELATIVEPARAM, *LPNET_DVR_SMSRELATIVEPARAM; - -typedef struct tagNET_DVR_PHONECFG_V50 -{ - BYTE byAllowList[MAX_PHONE_NUM]; - BYTE byPhonePerssion[32]; /*ֽڱʾǷʹܸúijܣλĺ - PHONECFG_RECEIVE_SMSȶ */ - BYTE byAlarmHandler[32]; /*ֽڱʾǷʹܶij͵Ķŷ(Žʱò)*/ - BYTE byAcsPassword[16]; /**/ - BYTE byName[NAME_LEN/*32*/]; /**/ - BYTE byRes[80]; -} NET_DVR_PHONECFG_V50, *LPNET_DVR_PHONECFG_V50; - -typedef struct tagNET_DVR_SMSRELATIVEPARAM_V50 -{ - DWORD dwSize; - BYTE bEnableSmsAlarm; /* 0: disable; 1: enable 3g */ - BYTE byRes1[7]; - NET_DVR_PHONECFG_V50 struAllowList[NET_SDK_MAX_ALLOWLIST_NUM_32]; - BYTE byRes2[32]; -}NET_DVR_SMSRELATIVEPARAM_V50, *LPNET_DVR_SMSRELATIVEPARAM_V50; - -#define NET_SDK_MONITOR_ID_LEN 64 //صID - -typedef struct tagNET_DVR_ACS_EVENT_COND -{ - DWORD dwSize; - DWORD dwMajor; //ͣο¼ϴ궨壬0-ȫ - DWORD dwMinor; //ͣο¼ϴ궨壬0-ȫ - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byName[NAME_LEN]; //ֿ - BYTE byPicEnable; //ǷͼƬ0-ͼƬ1-ͼƬ - BYTE byTimeType; //ʱͣ0-豸ʱ䣨Ĭϣ1-UTCʱ䣨struStartTimestruEndTimeʱ䣩 - BYTE byRes2[2]; // - DWORD dwBeginSerialNo; //ʼˮţΪ0ʱĬȫ - DWORD dwEndSerialNo; //ˮţΪ0ʱĬȫ - DWORD dwIOTChannelNo; //IOTͨţ0-Ч - WORD wInductiveEventType; //¼ͣ0-Чֵμ2.2½ڣͻжϸֵΪ0ֵ󣬱ͨ¼֣ͨԭбͣdwMajordwMinor - BYTE bySearchType; //ʽ0-1-¼ԴʱͨΪƵͨţ2-صID - BYTE byEventAttribute; //¼ԣ0-δ壬1-Ϸ¼2- - char szMonitorID[NET_SDK_MONITOR_ID_LEN/*64*/]; //صID豸кšͨ͡ɣŽ㣺豸к+DOOR+űţ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes[140]; // -}NET_DVR_ACS_EVENT_COND, *LPNET_DVR_ACS_EVENT_COND; - -typedef struct tagNET_DVR_ACS_EVENT_DETAIL -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ţmacַΪ0Ч - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byAllowListNo; //,1-8Ϊ0Ч - BYTE byReportChannel; //ϴͨ1-ϴ2-1ϴ3-2ϴΪ0Ч - BYTE byCardReaderKind; //һ࣬0-Ч1-IC2-֤3-ά,4-ָͷ - DWORD dwCardReaderNo; //ţΪ0Ч - DWORD dwDoorNo; //űţ¥ţΪ0Ч - DWORD dwVerifyNo; //ؿ֤ţΪ0Ч - DWORD dwAlarmInNo; //ţΪ0Ч - DWORD dwAlarmOutNo; //ţΪ0Ч - DWORD dwCaseSensorNo; //¼ - DWORD dwRs485No; //RS485ͨţΪ0Ч - DWORD dwMultiCardGroupNo; //Ⱥ - WORD wAccessChannel; //Աͨ - BYTE byDeviceNo; //豸ţΪ0ЧЧΧ1-255 - BYTE byDistractControlNo;//ֿţΪ0Ч - DWORD dwEmployeeNo; //ţΪ0Ч - WORD wLocalControllerID; //͵ؿţ0-Ž1-64͵ؿ - BYTE byInternetAccess; //ID1-1,2-2,3-1 - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ 0xff- - BYTE byMACAddr[MACADDR_LEN]; //ַΪ0Ч - BYTE bySwipeCardType;//ˢͣ0-Ч1-ά - BYTE byEventAttribute; //¼ԣ0-δ壬1-Ϸ֤2- - DWORD dwSerialNo; //¼ˮţΪ0Ч - BYTE byChannelControllerID; //ͨIDΪ0Ч1-ͨ2-ͨ - BYTE byChannelControllerLampID; //ͨưIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIRAdaptorID; //ͨתӰIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIREmitterID; //ͨIDΪ0ЧЧΧ1-255 - DWORD dwRecordChannelNum; //¼ͨĿ - char *pRecordChannelData;//¼ͨСΪsizeof(DWORD)* dwRecordChannelNum - BYTE byUserType; //Աͣ0-Ч1-ͨˣˣ2-ÿͣ3-ֹˣ4-Ա - BYTE byCurrentVerifyMode; //ǰ֤ʽ0-Ч1-ߣ2-ˢ+룬3-ˢ4-ˢ룬5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+룬10-ָƻˢ룬11-+ָƣ12-+룬 - //13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ23-ָƻ24-ˢ룬25-ˢ26-ˢָƣ27-ˢָƻ룬28-룬29-++룬30-ˢ+ˢ31-ָƻ룬32-Ĥ33-ָƻˢĤ34-ˢĤ - BYTE byAttendanceStatus; //״̬0-δ,1-ϰ࣬2-°࣬3-ʼϢ4-Ϣ5-ʼӰ࣬6-Ӱ - BYTE byStatusValue; //״ֵ̬ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID豸˵ʹ˹ţԱIDֶΣbyEmployeeNoһҪݣbyEmployeeNoתΪdwEmployeeNoôֶҲҪݣϲƽ̨ͻ˵ȽbyEmployeeNoֶΣֶΪգٿǽdwEmployeeNoֶΣ - BYTE byRes1; // - BYTE byMask; //Ƿ֣0-1-δ֪2-֣3- - BYTE byThermometryUnit; //µλ0-϶ȣĬϣ1-϶ȣ2-ģ - BYTE byIsAbnomalTemperature; //ץIJǷ¶쳣1-ǣ0- - float fCurrTemperature; //¶ȣȷСһλ - NET_VCA_POINT struRegionCoordinates; //¶ - WORD wXCoordinate; //x꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wYCoordinate; //y꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wWidth; //ȣΧ0-1000 - WORD wHeight; //߶ȣΧ0-1000 - BYTE byHealthCode; //״̬, 0-, 1-δ, 2-δ, 3-, 4-, 5-, 6-޴Ա, 7-Ϣӿ쳣²ѯʧܣ, 8-ѯ볬ʱ - BYTE byNADCode; //, 0-, 1-δѯ, 2-ԣ, 3-ԣȷ, 4-Чѹ - BYTE byTravelCode; //г̱, 0-, 1-14һֱڵ, 2-14뿪, 3-14ڵ, 4- - BYTE byVaccineStatus; //״̬, 0-, 1-δ, 2-ע, 3- - BYTE byRes[36]; -}NET_DVR_ACS_EVENT_DETAIL, *LPNET_DVR_ACS_EVENT_DETAIL; - -typedef struct tagNET_DVR_ACS_EVENT_CFG -{ - DWORD dwSize; - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME struTime; //ʱ - BYTE sNetUser[MAX_NAMELEN];//û - NET_DVR_IPADDR struRemoteHostAddr;//Զַ - NET_DVR_ACS_EVENT_DETAIL struAcsEventInfo; //ϸ - DWORD dwPicDataLen; //ͼƬݴСΪ0DZʾ - char *pPicData; - WORD wInductiveEventType; //¼ͣ0-Чֵμ2.2½ڣͻжϸֵΪ0ֵ󣬱ͨ¼֣ͨԭбͣdwMajordwMinor - BYTE byTimeType; //ʱͣ0-豸ʱ䣨Ĭϣ1-UTCʱ䣨struTimeʱ䣩 - BYTE byRes1; - DWORD dwQRCodeInfoLen; //άϢȣΪ0DZʾ - DWORD dwVisibleLightDataLen; //ȳɼͼƬȣΪ0DZʾ - DWORD dwThermalDataLen; //ȳͼƬȣΪ0DZʾ - char *pQRCodeInfo; //άϢָ - char *pVisibleLightData; //ȳɼͼƬָ - char *pThermalData; //ȳͼƬָ - BYTE byRes[36]; -}NET_DVR_ACS_EVENT_CFG, *LPNET_DVR_ACS_EVENT_CFG; - -typedef struct tagNET_DVR_SMSLISTINFO -{ - DWORD dwSize; - DWORD dwTotalSmsNum;// - BYTE byRes[8]; - BYTE *pSmsParam; - DWORD dwBufLen;//ָ볤ȣ -}NET_DVR_SMSLISTINFO, *LPNET_DVR_SMSLISTINFO; - -typedef struct tagNET_DVR_SMSPARAM -{ - DWORD dwIndex; /* the index of sms */ - BYTE byStatus; /* read yet or not */ - BYTE byRes[7]; - NET_DVR_TIME_EX struRecvTime; /* sms receive time */ -}NET_DVR_SMSPARAM, *LPNET_DVR_SMSPARAM; - -#define MAX_SMSCONTENT_LEN 140//ݳ -typedef struct tagNET_DVR_SMSCONTENT -{ - BYTE byPhoneNum[MAX_PHONE_NUM]; - BYTE byMsg[MAX_SMSCONTENT_LEN]; -}NET_DVR_SMSCONTENT, *LPNET_DVR_SMSCONTENT; - -//pin -typedef enum -{ - CPIN_READY = 1, - CPIN_PIN = 2, - CPIN_PUK = 3, - CPIN_PIN2 = 4, - CPIN_PUK2 = 5 -}PIN_READY; - -typedef struct tagNET_DVR_PINSTATUS -{ - DWORD dwSize; - BYTE byStatus; /* PIN status, defination see enum: PIN_READY */ - BYTE byPinTimes; /* remain input PIN times */ - BYTE byPukTimes; /* remain input PUK times */ - BYTE bEnableLock; /* now the PIN locking function is enabled or not: 0, not enabled lock; 1, lock enabled */ - BYTE byRes[4]; -}NET_DVR_PINSTATUS, *LPNET_DVR_PINSTATUS; - -typedef enum -{ - PIN_ENABLE = 1, - PIN_DISABLE = 2, - PIN_VERIFY = 3, - PUK_VERIFY = 4, - PIN_CHANGE = 5 -}PIN_CMD; -#define MAX_PIN_LEN 12 //PIN󳤶 -typedef struct tagNET_DVR_PINCODEPARAM -{ - DWORD dwSize; - BYTE byPinCmd; /* PIN command, defination see enum: PIN_CMD */ - BYTE byRes1[3]; - BYTE byPinCode[MAX_PIN_LEN]; /* pin/puk code */ - BYTE byNewPinCode[MAX_PIN_LEN]; /* new pin code */ - BYTE byRes2[16]; -}NET_DVR_PINCODEPARAM, *LPNET_DVR_PINCODEPARAM; - - -//ͼƬ -typedef struct -{ - /* 0=CIF, 1=QCIF, 2=D1 3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6=VGA*/ - WORD wPicSize; - WORD wPicQuality; /* ͼƬϵ 0- 1-Ϻ 2-һ */ - //ץͼͼƬʽ1-ϴģ2-豸ر棬3-ϴͬʱ豸ر - BYTE byPicTackleMode; - BYTE byRes[11]; -}NET_DVR_PUSHJPEGPARA, *LPNET_DVR_PUSHJPEGPARA; - - -#define COM_PUSHALARM 0x1200 //豸Ϣϴģʽ豸ʹ -#define COM_PUSHALARM_V30 0x1201 //豸Ϣϴv30ģʽ豸ʹ -typedef struct tagNET_DVR_PUSHALARMINFO -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ*/ - DWORD dwAlarmInputNumber;/*˿*/ - DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*˿ڣһλΪ1ʾӦһ*/ - DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*¼ͨһλΪ1ʾӦһ·¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - DWORD dwChannel[MAX_CHANNUM];/*dwAlarmTypeΪ23,6ʱʾĸͨdwChannel[0]Ӧ1ͨ*/ - DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]λӦ1Ӳ*/ - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byRes[4]; -}NET_DVR_PUSHALARMINFO, *LPNET_DVR_PUSHALARMINFO; - -typedef struct -{ - DWORD dwAlarmType;/*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣10-¼쳣 11- ܳ仯 12-쳣 */ - DWORD dwAlarmInputNumber;/*˿*/ - BYTE byAlarmOutputNumber[MAX_ALARMOUT_V30];/*˿ڣΪ1ʾӦ*/ - BYTE byAlarmRelateChannel[MAX_CHANNUM_V30];/*¼ͨΪ1ʾӦ¼, dwAlarmRelateChannel[0]Ӧ1ͨ*/ - BYTE byChannel[MAX_CHANNUM_V30];/*dwAlarmTypeΪ23,6910ʱʾĸͨdwChannel[0]Ӧ1ͨ*/ - BYTE byDiskNumber[MAX_DISKNUM_V30];/*dwAlarmTypeΪ1,4,5ʱ,ʾĸӲ, dwDiskNumber[0]Ӧ1Ӳ*/ - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byRes[7]; -}NET_DVR_PUSHALARMINFO_V30, *LPNET_DVR_PUSHALARMINFO_V30; - -//2011-04-20 -// -typedef struct tagNET_DVR_MB_AUTOWORKPARA -{ - /*ǰƷʽ 0: Ԥ, 1: ʱػ, 2: Զػ*/ - BYTE byCurPowerCtrlType; - BYTE byRes[3]; - NET_DVR_SCHEDTIME struWorkTime[MAX_DAYS][2]; -}NET_DVR_MB_AUTOWORKPARA, *LPNET_DVR_MB_AUTOWORKPARA; - -typedef struct tagNET_DVR_MB_POWERCTRLPARA -{ - DWORD dwSize; - DWORD dwHaltDelay; /* ػӳʱ,λmin */ - NET_DVR_MB_AUTOWORKPARA struAutoWorkPara;/*ز*/ - BYTE byEnableUnderVoltProtect; /*ǷǷѹ*/ - BYTE byUnderVoltPercent; /*Ƿѹٷֱȣ859095Чֵ*/ - BYTE byRes[34]; -}NET_DVR_MB_POWERCTRLPARA, *LPNET_DVR_MB_POWERCTRLPARA; -/*ע1ػӳʱ, ѡʱΪ 05ӣ10 20 25 30 35 40 45 50 60 60*2 60*3 60 *4 60*5 60*6 */ - -//Զ -typedef struct tagNET_DVR_MB_AUTOBACKUPPARA -{ - DWORD dwSize; - BYTE byEnableAutoBackup; /* ǷԶ 0 ر 1 */ - BYTE byRes1[3]; - BYTE byBackupChannel[MAX_CHANNUM_V30]; /*Ҫݵͨ*/ - BYTE byBackupDays[MAX_CHANNUM_V30];/**/ - /* ļ - {0,ALL_RECORD_TYPE,ȫ}, - {1,TIMING_REC,ʱ}, - {2,MOTION_DETECT_REC,ƶ }, - {3,ALARM_REC, }, - {4,MANUAL_REC,ֶ¼}*/ - BYTE byBackupFileType[MAX_CHANNUM_V30]; - NET_DVR_SCHEDTIME struBackupTime[MAX_CHANNUM_V30][2]; /* Զʱ*/ - BYTE byRes2[36]; /* ֽ*/ -}NET_DVR_MB_AUTOBACKUPPARA, *LPNET_DVR_MB_AUTOBACKUPPARA; - - -typedef struct tagNET_DVR_MB_GPSPARA -{ - DWORD dwSize; - BYTE byEnableGPS; /*ǷGPS */ - BYTE byGpsInterface;/*gpsսӿ0-rs232, 1-rs485, 2-frontpanel, 3-lcd */ - BYTE bySpeedUnit; /*ٶȵλ0/Сʱ1 Ӣ/Сʱ*/ - BYTE byEnableRetrieve; /* ä(1ã0) */ - int iAdjustTime;/*ʱ*/ - BYTE byEnableAdjustTime;/*ǷGPSУʱ 1-, 0-*/ - BYTE byRes1[5]; - WORD wGpsUploadInterval; /* GPSϴ, */ - BYTE byGpsOsdChannel[MAX_CHANNUM_V30];/*OSD ʾÿֽڴһ· */ - DWORD dwSpeedLimit; /* ٱ*/ - NET_DVR_HANDLEEXCEPTION_V30 struGpsAlarm; - BYTE byRes2[36]; -}NET_DVR_MB_GPSPARA, *LPNET_DVR_MB_GPSPARA; -/*ע1λΪ/Сʱ ʱΧΪ0 ,965Ӣ/Сʱλʱ ٶȷΧΪ0-600*/ - -#define SENSOR_IN_NUMBER 8 -typedef struct tagNET_DVR_MB_SENSORINPARA -{ - DWORD dwSize; - BYTE byTriggerType[SENSOR_IN_NUMBER];/*г״̬شֻú4ֱɲתת0-ߵƽ1-͵ƽ*/ - BYTE byTriggerChannel [SENSOR_IN_NUMBER]; - BYTE byOsdDisplay [MAX_CHANNUM_V30];/*OSDʾ,ÿλһ·*/ - BYTE byRes[32]; -}NET_DVR_MB_SENSORINPARA, *LPNET_DVR_MB_SENSORINPARA; - - -typedef struct tagNET_DVR_ACCELERATIONCFG -{ - DWORD dwMaxXAcc; /* Xٶȱֵ ȡֵΪʵֵ10,СΪ0*/ - DWORD dwMaxYAcc; /* Yٶȱֵ ȡֵΪʵֵ10.СΪ0*/ - DWORD dwMaxZAcc; /* Zٶȱֵ ȡֵΪʵֵ10,СΪ0*/ - BYTE byRes[4]; -}NET_DVR_ACCELERATIONCFG,*LPNET_DVR_ACCERATIONCFG; - -typedef struct tagNET_DVR_GSENSORPARA -{ - DWORD dwSize; - NET_DVR_ACCELERATIONCFG struAccelerationCfg; - BYTE byModuleSelect;/*ģѡ0/1*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struHandleException; - BYTE byRes2[24]; /*չֽ*/ -}NET_DVR_GSENSORPARA, *LPNET_DVR_GSENSORPARA; - -typedef struct tagNET_DVR_MB_DOWNLOADSVRPARA -{ - DWORD dwSize; - NET_DVR_IPADDR struDownloadSvrIp; /* Զطַ */ - BYTE byRes[64]; -}NET_DVR_MB_DOWNLOADSVRPARA,*LPNET_DVR_MB_DOWNLOADSVRPARA; - -/* ʶز*/ -typedef struct tagNET_DVR_PLATERECOG_PARA -{ - DWORD dwSize; - BYTE byPrMode; /* ʶģʽ, ̬ͼ0/̬Ƶ1 */ - BYTE byPrScene; /* ʶij, ٳ0/ٳ1 */ - BYTE byPrDetRect; /* 0:ȫĻ;1: */ - BYTE byPrPicQuality; /* ʶ𷵻صͼƬ, 0:/3: */ - BYTE byPrPicMode;/*ʶ𷵻صͼƬֱ: JPEG_MODE_D1, JPEG_MODE_CIF, JPEG_MODE_QCIF */ - BYTE byPlateOsdDisplay; /* OSDǷʾ 0:ʾ/1:ʾ */ - BYTE byPrProvCharIndex; /* ʶʡ׺ֶӦ */ - BYTE byPrProvCharIndex1; /* ʶ𳣼׺1Ӧ */ - BYTE byPrProvCharIndex2; /* ʶ𳣼׺2Ӧ */ - BYTE byRes[7]; -}NET_DVR_PLATERECOG_PARA, *LPNET_DVR_PLATERECOG_PARA; - - -/* ̬ȡ֤ϵͳ,òĽṹ*/ -typedef struct tagNET_DVR_SPEEDLMT_PARA -{ - BYTE bStartMaxSpeedLimit; /* */ - BYTE bStartMinSpeedLimit; /* */ - BYTE byRes[6]; - DWORD dwMaxSpeedLimit; /* */ - DWORD dwMinSpeedLimit; /* */ -}NET_DVR_SPEEDLMT_PARA, *LPNET_DVR_SPEEDLMT_PARA; - -/* ̬ȡ֤ϵͳ,ƱȶԲĽṹ*/ -typedef struct tagNET_DVR_PLATECHECK_PARA -{ - BYTE bAlarmWhenChecked; /* ɹǷ񱨾 */ - BYTE bInformWhenChecked; /* ɹǷԻʾ */ - BYTE byRes[6]; - NET_DVR_IPADDR struBlockFtpServer; /* ֹFTPַ */ -}NET_DVR_PLATECHECK_PARA, *LPNET_DVR_PLATECHECK_PARA; - -typedef struct tagNET_DVR_ENFORCESYS_PARA -{ - DWORD dwSize; - NET_DVR_SPEEDLMT_PARA struSpeedLmtPara; /**/ - NET_DVR_PLATECHECK_PARA struPlateCheckPara; /*Ʊȶ*/ - BYTE bySelPeccType; /*ǷѡΥ*/ - BYTE byEnfOptHabit; /*ȡ֤ϰ, 0:ȡ֤;1:̰ȡ֤*/ - /*Ԥ֡ʵģʽ֣ - A ر adjPrevFpsMode=0 - Թ̶֡(25FPS)Ԥ - B ׼ adjPrevFpsMode=1 - Թ̶֡(6FPS)Ԥ - C Ӧ adjPrevFpsMode=2 - GPSٶϢ̬Ԥ֡ʣ - 3ЧGPS£Թ̶֡Ԥ*/ - BYTE byAdjPrevFpsMode; - BYTE byRes1; - NET_DVR_IPADDR struUploadServerIp; //ϴַ - WORD wUploadServerPort; - BYTE byRes2[18]; -}NET_DVR_ENFORCESYS_PARA, *LPNET_DVR_ENFORCESYS_PARA; - -typedef struct tagNET_DVR_PUSHMODEPARAM -{ - //ֱģʽUDPԤģʽ1-ͬ˿ڶ·2-һ˿һ· - BYTE byUdpPreviewMode; - //Խģʽ0-Խ1-תSDKIJɼͲţ - BYTE byVoiceWorkMode; - BYTE byRes[18]; -}NET_DVR_PUSHMODEPARAM, *LPNET_DVR_PUSHMODEPARAM; - -#define MAX_ALARMHOST_ALARMIN_NUM 512//籨󱨾 -#define MAX_ALARMHOST_ALARMOUT_NUM 512//籨󱨾 - -#define ALARMHOST_MAX_AUDIOOUT_NUM 32//籨 -#define ALARMHOST_MAX_ELECTROLOCK_NUM 32//籨 -#define ALARMHOST_MAX_MOBILEGATE_NUM 32//籨ƶ -#define ALARMHOST_MAX_SIREN_NUM 8 // 󾯺Ŀ -#define MAX_ALARMHOST_SUBSYSTEM 32//ϵͳ -#define ALARMHOST_DETECTOR_SERIAL_LEN 9//̽кų -#define ALARMHOST_DETECTOR_SERIAL_LEN_V50 16 //̽кV50 -#define MAX_DETECTOR_NUM 128//̽ -#define MAX_DETECTOR_NUM_V51 256 //̽ -#define MAX_REPEATER_NUM 16 //м -#define MAX_OUTPUT_MODULE_NUM 64 //ģ -#define MAX_ELECTRIC_LOCK_NUM 64 // - -// -typedef enum tagSENSOR_TYPE -{ - SENSOR_TYPE_NONE = 0, // - SENSOR_TYPE_TEMPERATURE = 1, // ¶ - SENSOR_TYPE_HUMIDITY , // ʪ - SENSOR_TYPE_WINDSPEED, // - SENSOR_TYPE_GAS, // - SENSOR_AC_VOLTAGE, // ѹ - SENSOR_AC_CURRENT, // - SENSOR_DC_VOLTAGE, // ֱѹ - SENSOR_DC_CURRENT, // ֱ - SENSOR_WATER_PRESSURE, // ˮѹ - SENSOR_PRESSURE_TRANSMITTER, // ѹ - SENSOR_FLOW_TRANSMITTER, // - SENSOR_WATER_LEAKAGE, // ©ˮ - SENSOR_INTERGRATED_TEMPERATURE_DETECTOR,//һ廯± - SENSOR_ISOLATION_TEMPERATURE_DETECTOR, //ʽ± - SENSOR_RESIDUAL_CHLORINE, // - SENSOR_TYPE_AC_TERMINAL = 16, // AC - SENSOR_TYPE_AC_SOCKET = 17, // AC - SENSOR_TYPE_HUMITURE, // ʪ - SENSOR_TYPE_FLOW, // - SENSOR_LIQUID_LEVEL, // Һλ - SENSOR_TYPE_ARC, // 绡 - SENSOR_TYPE_UNKNOW = 255 // δ -}SENSOR_TYPE; - -typedef struct tagNET_DVR_SENSOR_INFO -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // - BYTE byEnable; // Ƿ - BYTE byValid; // ǷЧ (òֻܻȡܸ) - BYTE byType; // ģ SENSOR_TYPE - BYTE byAlarmMode;//ģʽ֣15-HHHH14-HHHL12-HHLL8HLLL0-LLLL1111ϣ1110£1100£1000()0000() - float fMeasureHigh; // - float fMeasureLow; // - float fAlarm1; //1,1-4 - float fAlarm2; //2 - float fAlarm3; //3 - float fAlarm4; //4 - DWORD dwOsdCfg; //ģַӣλʾ0-15ӦƵͨ1-16 - float fSensitive; // ȱʾʵʱֵı仯ȵķΧʱʾʵʱֵ˱仯Ϊûз仯磺Ϊ0.1ʾǰֵ֮0.1ʱΪݷ仯0.1ҪϴΪ1ʾ仯1ʱϱ - BYTE bySensorStandard; //0- 0~20mA1- 0~5V2- 0~2.5Mpa3- 0~1.6Mpa4- 0~5m - BYTE byChan; //ģͨ - BYTE byRes3[114]; // ֽ -}NET_DVR_SENSOR_INFO, *LPNET_DVR_SENSOR_INFO; - -typedef struct tagNET_DVR_SIREN_PARAM -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // - WORD wDelay; // ӳ λΪ, Χ 0~5599s 0ʾһֱ - BYTE byRes1[2]; - DWORD dwOverallEventJointSirenOn; //ȫ¼¼Ͱλʾbit0-, bit1-ȫּ̽,bit2-ϵ磬bit3-صѹ,bit4-绰ߵ,bit5-쳣,bit6-쳣, bit7-485ߣbit8- WIFIͨŹϣbit9-RFźŸŹ - DWORD dwSubsystemEventJointSirenOn[MAX_ALARMHOST_SUBSYSTEM/*32*/];//ϵͳ¼±ʾϵͳţÿһԪذλʾ¼ͣbit0- - BYTE byRes2[448]; // ֽڡ -}NET_DVR_SIREN_PARAM, *LPNET_DVR_SIREN_PARAM; - -typedef struct tagNET_DVR_AIR_CONDITION_PARAM -{ - DWORD dwSize; // ṹС - BYTE byEnable; // 0--ػ 1-- - BYTE byMode; // յģʽ - BYTE byTemperature; // ¶ȣֵʾ ͨΪ16-30 - BYTE byAirConditionNo; // յ - BYTE byRes[8]; // ֽ -}NET_DVR_AIR_CONDITION_PARAM, *LPNET_DVR_AIR_CONDITION_PARAM; - -typedef enum tagDETECTOR_TYPE -{ - PANIC_BUTTON = 0, // ť - MAGNETIC_CONTACT, // Ŵ - SMOKE_DETECTOR, // ̸̽ - ACTIVE_INFRARED_DETECTOR, // ̽ - PASSIVE_INFRARED_DETECTOR, // ̽ - GLASS_BREAK_DETECTOR, // ̽ - VIBRATION_DETECTOR, // ̽ - DUAL_TECHNOLOGY_PIR_DETECTOR, // ˫̽ - TRIPLE_TECHNOLOGY_PIR_DETECTOR, // ̽ - HUMIDITY_DETECTOR, // ʪ̽ - TEMPERATURE_DETECTOR, // ¸̽ - COMBUSTIBLE_GAS_DETECTOR, // ȼ̽ - DYNAMIC_SWITCH, //涯 - CONTROL_SWITCH, //ƿ - SMART_LOCK, // - WATER_DETECTOR, //ˮ̽ - DISPLACEMENT_DETECTOR, //λ̽ - SINGLE_INFRARED_DETECTOR, //Ŵ̽ - SINGLE_ZONE_MODULE, //ߵģ - CURTAIN_INFRARED_DETECTOR, //Ļ̽19 - UNKNOWN,//δ֪20 - DOORBELL_SWITCH=21, //忪21 - MEDICAL_HELP_BUTTON, //ҽť - OUTDOOR_DUAL_TECH, //˫ - - OTHER_DETECTOR = 0xffff // ̽ -}DETECTOR_TYPE; - -typedef struct tagNET_DVR_ALARMIN_PARAM -{ - DWORD dwSize; - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ 12-ʱ13-0xff- - BYTE byUploadAlarmRecoveryReport; //Ƿϴָ棬0-ϴ1-ϴ - DWORD dwParam; // ʱʱ೤ʱ, бʱʱͨ , ÷ʽͨеbySupportAlarmInDelayֶ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];/*ʱʱ*/ - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // - BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE bySensitivityParam;//Ȳ, 0-10ms1-250ms2-500ms3-750ms - BYTE byArrayBypass;//Ƿ·,0-֧·,1-֧· - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byModuleStatus; //ģ״̬ 1- 2- - WORD wModuleAddress; //ģַչģ0~2550xFFFFʾЧ - BYTE byModuleChan; //ģͨţ1ʼֵģ0xFFʾЧ - BYTE byModuleType; //ģͣ1-ط2-3-˫4-85-8·ģ, 6-, 7-1ž͵ؿ8-2ž͵ؿ9-4ž͵ؿ10-8ߡ11-̡12-8ߡ13-չ - WORD wZoneIndex; //ţòֻܻȡ - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч1-2- - BYTE byZoneResistor; //裬λǧŷ 0-Ч 1--2.2 2--3.33--4.74--5.6 5--8.2 0xff-Զ - float fZoneResistorManual;/*ֶ裬1.0-10.0ȷСһλλǧŷbyZoneResistorΪ0xffʱЧ*/ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN]; //̽кţֻ - BYTE byZoneSignalType; //źŴ(ֻ)0-߷1-߷ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byAssociateLampOut[8];// 0 ʾ1 ֵΪ1ʾ 0 ʾ - WORD wTimeOut; //ʱʱ䣬 - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byRes3[8]; // ֽ -}NET_DVR_ALARMIN_PARAM, *LPNET_DVR_ALARMIN_PARAM; - -typedef struct tagNET_DVR_ALARMIN_PARAM_V50 -{ - DWORD dwSize; - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷 12-ʱ13-14-ȼ0xff- - BYTE byUploadAlarmRecoveryReport; //Ƿϴָ棬0-ϴ1-ϴ - DWORD dwParam; // ʱʱ೤ʱ, бʱʱͨ , ÷ʽͨеbySupportAlarmInDelayֶ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];/*ʱʱ*/ - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // - BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE bySensitivityParam;//Ȳ, 0-10ms1-250ms2-500ms3-750ms - BYTE byArrayBypass;//Ƿ·,0-֧·,1-֧· - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byModuleStatus; //ģ״̬ 1- 2- - WORD wModuleAddress; //ģַչģ0~2550xFFFFʾЧ - BYTE byModuleChan; //ģͨţ1ʼֵģ0xFFʾЧ - BYTE byModuleType; //ģͣ1-ط2-3-˫4-85-8·ģ, 6-, 7-1ž͵ؿ8-2ž͵ؿ9-4ž͵ؿ10-8ߡ11-̡12-8ߡ13-չ - WORD wZoneIndex; //ţòֻܻȡ - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч1-2- - BYTE byZoneResistor; //裬λǧŷ 0-Ч 1--2.2 2--3.33--4.74--5.6 5--8.2 0xff-Զ - float fZoneResistorManual;/*ֶ裬1.0-10.0ȷСһλλǧŷbyZoneResistorΪ0xffʱЧ*/ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN_V50]; //̽кţֻ - BYTE byZoneSignalType; //źŴ(ֻ)0-߷1-߷ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - WORD wTimeOut; //ʱʱ䣬 - BYTE byAssociateLampOut[8];// 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE byVoiceFileName[32]; //ļ - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byAssociateFlashLamp;// 0-Ч1-2- - BYTE byStayAwayEnabled;// ʱڼ·ʹ 0-Ч1-ʹܣ2-ʹ - BYTE bySilentModeEnabled;// ģʽʹ 0-Ч1-ʹܣ2-ʹ - BYTE byRelativeChannel[RELATIVE_CHANNEL_LEN];// ͨţ0ʾЧһbyteֽڱʾһͨ - BYTE byDetectorVersion[VERSION_INFO_LEN]; //̽汾ֻ - BYTE byDetectorMAC[MACADDR_LEN]; //̽MACַֻ - BYTE byLinkageAlarmType; //ͣ1-𾯣2-ܣ3-4-Σ5- - BYTE byRes3[465]; // ֽ -}NET_DVR_ALARMIN_PARAM_V50, *LPNET_DVR_ALARMIN_PARAM_V50; - -#define MAX_MAX_ALARMIN_NUM 64 /* ȡ*/ -typedef struct tagNET_DVR_MULTI_ALARMIN_COND -{ - DWORD dwSize; - int iZoneNo[MAX_MAX_ALARMIN_NUM]; //,0ʼС0ʾЧ - BYTE byRes[256]; -}NET_DVR_MULTI_ALARMIN_COND, *LPNET_DVR_MULTI_ALARMIN_COND; - -typedef struct tagNET_DVR_SINGLE_ALARMIN_PARAM -{ - DWORD dwSize; - WORD wZoneNo; //ţòֻܻȡ - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,12-ʱ,13-14-ȼ0xff- - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч 1- 1- - BYTE byZoneSignalType; //źŴͣ0-߷1-߷ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN]; //̽кţֻ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - WORD wTimeOut; //ʱʱ䣬 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byAssociateFlashLamp;// 0-Ч1-2- - BYTE byStayAwayEnabled;// ʱڼ·ʹ 0-Ч1-ʹܣ2-ʹ - BYTE bySilentModeEnabled;// ģʽʹ 0-Ч1-ʹܣ2-ʹ - BYTE byRes2[110]; // ֽ -}NET_DVR_SINGLE_ALARMIN_PARAM, *LPNET_DVR_SINGLE_ALARMIN_PARAM; - -typedef struct tagNET_DVR_SINGLE_ALARMIN_PARAM_V50 -{ - DWORD dwSize; - WORD wZoneNo; //ţòֻܻȡ - BYTE byJointSubSystem; //ϵͳţòֻܻȡ - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,12-ʱ,13-14-ȼ0xff- - BYTE byName[NAME_LEN]; - WORD wDetectorType; // DETECTOR_TYPE - WORD wInDelay; //ʱ0-255 - WORD wOutDelay; //˳ʱ0-255 - BYTE byAlarmType; // 0-Ч 1- 1- - BYTE byZoneSignalType; //źŴͣ0-߷1-߷ - BYTE byDetectorSerialNo[ALARMHOST_DETECTOR_SERIAL_LEN]; //̽кţֻ - BYTE byDisableDetectorTypeCfg; //̽Ƿ񲻿䣬0-䣬1- - BYTE byTimeOutRange; // ʱʱ䷶Χ0:1~599s,1:1~65535s - BYTE byDetectorSignalIntensity; // ̽źǿȣֻ0~100 - WORD wTimeOut; //ʱʱ䣬 - BYTE byTimeOutMethod; //ʱʱʽ0-ʱ1-ָʱ - BYTE byAssociateFlashLamp;// 0-Ч1-2- - BYTE byStayAwayEnabled;// ʱڼ·ʹ 0-Ч1-ʹܣ2-ʹ - BYTE bySilentModeEnabled;// ģʽʹ 0-Ч1-ʹܣ2-ʹ - BYTE byRes3[2]; - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // - BYTE byRes2[128]; // ֽ -}NET_DVR_SINGLE_ALARMIN_PARAM_V50, *LPNET_DVR_SINGLE_ALARMIN_PARAM_V50; - -typedef struct tagNET_DVR_ALARMIN_PARAM_LIST -{ - DWORD dwSize; - NET_DVR_SINGLE_ALARMIN_PARAM struSingleAlarmInParam[MAX_MAX_ALARMIN_NUM]; - BYTE byRes[128]; -}NET_DVR_ALARMIN_PARAM_LIST, *LPNET_DVR_ALARMIN_PARAM_LIST; - -typedef struct tagNET_DVR_ALARMIN_PARAM_LIST_V50 -{ - DWORD dwSize; - NET_DVR_SINGLE_ALARMIN_PARAM_V50 struSingleAlarmInParam[MAX_MAX_ALARMIN_NUM]; - BYTE byRes[128]; -}NET_DVR_ALARMIN_PARAM_LIST_V50, *LPNET_DVR_ALARMIN_PARAM_LIST_V50; - -typedef struct tagNET_DVR_ALARMOUT_PARAM -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // - WORD wDelay; // ӳ λs, Χ0~3599s 0 ʾһֱ - WORD wTriggerIndex; //ţòֻܻȡ - BYTE byAssociateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM]; //ʾŸıͨ ͬʱһ±0ʾ1 0- 1- - BYTE byModuleType; //Ӵͣ1-ش 2-4·3-8· 4-5-32·6-1ž͵ؿ7-2ž͵ؿ8-4ž͵ؿ,9-2·10-̣11-չ - BYTE byModuleStatus; //Ӵ״̬ 1- 2- - WORD wModuleAddress; //Ӵַչģ0~2550xFFFFʾЧ - BYTE byModuleChan; //Ӵͨţ1ʼֵģ0xFFʾЧ - BYTE byWorkMode; //ģʽ1-2-涯 - BYTE byAlarmOutMode; //ģʽ1-ģʽ2-ģʽ - BYTE byTimeOn; //ʱ 1~60s - BYTE byTimeOff; //ʱ 1~60s - BYTE byDurationConstOutputEnable; //̵ʹ - BYTE byRes2[50]; //ֽ -}NET_DVR_ALARMOUT_PARAM, *LPNET_DVR_ALARMOUT_PARAM; - -typedef struct tagNET_DVR_ALARMIN_SETUP -{ - BYTE byAssiciateAlarmIn[MAX_ALARMHOST_ALARMIN_NUM];//ͨ ±0Ӧ1 - BYTE byRes[100];//ֽ -}NET_DVR_ALARMIN_SETUP, *LPNET_DVR_ALARMIN_SETUP; - -typedef struct tagNET_DVR_ALARMHOST_MAIN_STATUS -{ - DWORD dwSize; - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڲ״̬(֧512ڲѯ)0-Ӧڴڳ״̬1-Ӧڴڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڱ״̬(֧512ڲѯ)0-Ӧڵǰޱ1-Ӧڵǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM];//״̬(֧512ڲѯ)0-Ӧޱ1-Ӧб - BYTE byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM]; // ·״̬ ±ʾ0Ӧ1 0-ʾû· 1-ʾ· - BYTE bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳ״̬,0-Ӧϵͳڳ״̬1-Ӧϵͳڲ״̬ - BYTE byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڹ״̬0-Ӧڴ״̬1-Ӧڴڹ״̬ - BYTE byRes[56]; // ֽ -}NET_DVR_ALARMHOST_MAIN_STATUS, *LPNET_DVR_ALARMHOST_MAIN_STATUS; - -typedef struct tagNET_DVR_ALARMHOST_MAIN_STATUS_V40 -{ - DWORD dwSize; - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬(֧512ѯ)0-Ӧڳ״̬1-Ӧڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬(֧512ѯ)0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0-Ӧޱ1-Ӧб - BYTE byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM]; //·״̬ ±ʾ0Ӧ1 0-ʾû· 1-ʾ· - BYTE bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬,0-Ӧϵͳڳ״̬1-Ӧϵͳڲ״̬ - BYTE byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0-Ӧ״̬1-Ӧڹ״̬ - BYTE byAlarmInMemoryStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬ 0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmInTamperStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0-Ӧޱ1-Ӧб - BYTE byEnableSubSystem[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬0-Ч1-Ӧϵͳδã2-Ӧϵͳ - BYTE bySubSystemGuardType[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳ״̬0-Ч1-2-ʱ3-ڼҲ - BYTE byRes[448]; //ֽ -}NET_DVR_ALARMHOST_MAIN_STATUS_V40, *LPNET_DVR_ALARMHOST_MAIN_STATUS_V40; - -typedef struct tagNET_DVR_ALARMHOST_MAIN_STATUS_V51 -{ - DWORD dwSize; - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬(֧512ѯ)0xff-Ч0-Ӧڳ״̬1-Ӧڲ״̬2-Ӧڲ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬״̬(֧512ѯ)0xff-Ч0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0xff-Ч0-Ӧޱ1-Ӧб2-δ3-ߣ4-쳣 - BYTE byBypassStatus[MAX_ALARMHOST_ALARMIN_NUM]; //·״̬±ʾ0Ӧ10xff-Ч0-ʾû· 1-ʾ· - BYTE bySubSystemGuardStatus[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬0xff-Ч0-Ӧϵͳڳ״̬1-Ӧϵͳڲ״̬2-Ӧϵͳڲ - BYTE byAlarmInFaultStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0xff-Ч0-Ӧ״̬1-Ӧڹ״̬ - BYTE byAlarmInMemoryStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬״̬ 0xff-Ч0-Ӧǰޱ1-Ӧǰб - BYTE byAlarmInTamperStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0xff-Ч0-Ӧޱ1-Ӧб - BYTE byEnableSubSystem[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ״̬0-Ч1-Ӧϵͳδã2-Ӧϵͳ - BYTE bySubSystemGuardType[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳͣ0-Ч1-2-ʱ3-ڼҲ - BYTE bySubSystemAlarm[MAX_ALARMHOST_SUBSYSTEM]; //ϵͳ״̬0-Ч1-2- - BYTE byAlarmOutCharge[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0-Ч1-2- - BYTE byAlarmOutTamperStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬(֧512ѯ)0-Ч1-2-޷ - BYTE byAlarmInShieldedStatus[MAX_ALARMHOST_ALARMIN_NUM]; //״̬0-Ч1-Σ2- - BYTE byAlarmOutLinkage[MAX_ALARMHOST_ALARMOUT_NUM]; //¼ͣ(֧512ѯ)0-Ч1-2-3-4-ֶ - BYTE byRes[512]; //ֽ -}NET_DVR_ALARMHOST_MAIN_STATUS_V51, *LPNET_DVR_ALARMHOST_MAIN_STATUS_V51; - -typedef struct tagNET_DVR_ALARMHOST_OTHER_STATUS -{ - DWORD dwSize; - BYTE bySirenStatus[ALARMHOST_MAX_SIREN_NUM]; // ״̬ 0-Ŵޱ״̬1-Ŵб״̬ - BYTE byRes[92]; // ֽ -}NET_DVR_ALARMHOST_OTHER_STATUS, *LPNET_DVR_ALARMHOST_OTHER_STATUS; - -typedef struct tagNET_DVR_ALARMHOST_OTHER_STATUS_V50 -{ - DWORD dwSize; - //DS-PEAϵһʽƷ±0Ӧ״̬±1Ӧ״̬,±2ʼӦ״̬ - BYTE bySirenStatus[ALARMHOST_MAX_SIREN_NUM]; //״̬0xff-Ч0-Ŵޱ״̬1-Ŵб״̬2-δ3-ߣ4-쳣 - BYTE byDetetorPower[MAX_DETECTOR_NUM]; //̽״̬0xff-ЧֵΪ0-100ĬϵС20ΪǷѹ״̬ - BYTE byDetetorConnection[MAX_DETECTOR_NUM]; //̽״̬0xff-Ч0-ʾδעᣬ1-ʾߣ 2-ʾߣ3-쳣 - BYTE bySirenPower[ALARMHOST_MAX_SIREN_NUM]; //ŵ״̬0-Ч1-2-Ƿѹ - BYTE bySirenTamperStatus[ALARMHOST_MAX_SIREN_NUM]; //ŷ״̬0-Ч1-2-޷ - BYTE byPowerStausEnabled[MAX_DETECTOR_NUM / 8]; //̽״̬ǷЧλʾ0-Ч1-Ч - BYTE byDetetorPowerStatus[MAX_DETECTOR_NUM / 8]; //̽״̬λʾ0-1- - BYTE byDetetorPowerType; //̽ıʾͣ0-յֵʾʹbyDetetorPower ֶΣ1-յ״̬ʾʹbyPowerStausEnabledbyDetetorPowerStatusֶ - BYTE byRes[975]; //ֽ -}NET_DVR_ALARMHOST_OTHER_STATUS_V50, *LPNET_DVR_ALARMHOST_OTHER_STATUS_V50; - -typedef struct tagNET_DVR_ALARMHOST_OTHER_STATUS_V51 -{ - DWORD dwSize; - //DS-PEAϵһʽƷ±0Ӧ״̬±1Ӧ״̬,±2ʼӦ״̬ - BYTE bySirenStatus[ALARMHOST_MAX_SIREN_NUM]; //״̬0xff-Ч0-Ŵޱ״̬1-Ŵб״̬2-δ3- - BYTE byDetetorPower[MAX_DETECTOR_NUM_V51]; //̽0xff-ЧֵΪ0-100ĬϵС20ΪǷѹ״̬byDetetorPowerTypeΪ0ʱЧ - BYTE byDetetorConnection[MAX_DETECTOR_NUM_V51]; //̽״̬0xff-Ч0-ʾδעᣬ1-ʾߣ 2-ʾ - BYTE bySirenPower[ALARMHOST_MAX_SIREN_NUM]; //ŵ״̬0-Ч1-2-Ƿѹ - BYTE bySirenTamperStatus[ALARMHOST_MAX_SIREN_NUM]; //ŷ״̬0-Ч1-2-޷ - BYTE byPowerStausEnabled[MAX_DETECTOR_NUM_V51 / 8]; //̽״̬ǷЧλʾ0-Ч1-Ч - BYTE byDetetorPowerStatus[MAX_DETECTOR_NUM_V51 / 8]; //̽״̬λʾ0-1- - BYTE byDetetorPowerType; //̽ıʾͣ0-յֵʾʹbyDetetorPower ֶΣ1-յ״̬ʾʹbyPowerStausEnabledbyDetetorPowerStatusֶ - BYTE byRes2[3]; - BYTE byRepeaterStatus[MAX_REPEATER_NUM]; //м״̬0-Ч1-ߣ2-ߣ3-δ - BYTE byRepeaterTamperStatus[MAX_REPEATER_NUM / 8]; //м״̬λʾ0-Ӧмޱ1-Ӧмб - BYTE byAlarmOutTamperStatus[MAX_ALARMHOST_ALARMOUT_NUM / 8]; //̵״̬λʾ0-Ӧޱ1-Ӧб - BYTE byOutputModuleTamperStatus[MAX_OUTPUT_MODULE_NUM / 8]; //ģ״̬λʾ0-Ӧģޱ1-Ӧģб - BYTE byElectricLockStatus[MAX_ELECTRIC_LOCK_NUM]; //״̬ 0-رգ1 C򿪣Ϊȷԣһ״̬bySirenStatus0λҲҪд - BYTE byRes[274]; //ֽ -}NET_DVR_ALARMHOST_OTHER_STATUS_V51, *LPNET_DVR_ALARMHOST_OTHER_STATUS_V51; - - -//ʹ״̬ -typedef struct tagNET_DVR_ALARMHOST_ENABLECFG -{ - DWORD dwSize; - BYTE byAudioOutEnable[ALARMHOST_MAX_AUDIOOUT_NUM];//ʹܣ0-ܣ1-ʹ - BYTE byElectroLockEnable[ALARMHOST_MAX_ELECTROLOCK_NUM];//ʹܣ0-ܣ1-ʹ - BYTE byMobileGateEnable[ALARMHOST_MAX_MOBILEGATE_NUM];//ƶʹܣ0-ܣ1-ʹ - BYTE bySirenEnable[ALARMHOST_MAX_SIREN_NUM];//ʹܣ 0-ܣ1-ʹ - BYTE bySerialPurpose;//;0-ڼ1-PTZ - BYTE byRes[63]; -}NET_DVR_ALARMHOST_ENABLECFG, *LPNET_DVR_ALARMHOST_ENABLECFG; - -typedef struct tagNET_DVR_ALARMHOST_ABILITY -{ - DWORD dwSize; // ṹС - WORD wTotalAlarmInNum; // (), - WORD wLocalAlarmInNum; // ر - WORD wExpandAlarmInNum; // չı - WORD wTotalAlarmOutNum; // 豸ֵ֧ - WORD wLocalAlarmOutNum; // رڸ - WORD wExpandAlarmOutNum; // չı - WORD wTotalRs485Num; // 豸ֵ֧ - WORD wLocalRs485Num; // 485 - WORD wExpandRs485Num; // չ485 - WORD wFullDuplexRs485Num; // ȫ˫485 - WORD wTotalSensorNum; // ģ (豸ֵ֧) - WORD wLocalSensorNum; // ģ - WORD wExpandSensorNum; // չģ - WORD wAudioOutNum; // - WORD wGatewayNum; //Ž - WORD wElectroLockNum; // - WORD wSirenNum; // Ŀ - WORD wSubSystemNum; // ɻϵͳĿ - WORD wNetUserNum; // û - WORD wKeyboardNum; // - WORD wOperatorUserNum; // û - BYTE bySupportDetector;//Ƿֳ֧̽1-֧֣0-֧ - BYTE bySupportSensitivity;//Ƿַ֧ȣ1-֧֣0-֧ - BYTE bySupportArrayBypass;//Ƿ֧·1-֧֣0-֧ - BYTE bySupportAlarmInDelay;//Ƿַ֧ӳ,1-֧֣0-֧ - //bySupportAlarmInDelayΪ1ʱʾͻӦʹNET_DVR_ALARMIN_PARAM еdwParamʱʱ䣬бʹʱʽ; - //bySupportAlarmInDelayΪ0ʱʾͨNET_DVR_ALARMSUBSYSTEMPARAM еwEnterDelay wExitDelay - BYTE bySupportAlarmInType[16];//ֵ֧ķ,0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ15- - BYTE byTelNum; //ֵ֧绰 - BYTE byCenterGroupNum; // - BYTE byGPRSNum; //GPRS4 - BYTE byNetNum; //4 - BYTE byAudioNum; //Ƶ - BYTE by3GNum; //3Gģ - BYTE byAnalogVideoChanNum; //ģƵͨ - BYTE byDigitalVideoChanNum; //Ƶͨ - BYTE bySubSystemArmType; //ϵͳͣ0-ʾ֧֣1-ʾ֧֡bit0-ͨעСֻ֧ͨмֶεʱСѾСиֶΪ00ʾ֧֣1ʾ֧֡ӿSDKڲݣbit1-ʱbit2-ز - BYTE byPublicSubSystemNum; //ϵͳ - DWORD dwSupport1; //λʾ0ʾ֧֣0ʾ֧ - // bit0: Ƿ֧ϵͳþʱ䣬֧򾯺ʱÿϵͳã֧֣ʱھŲ - // bit1: Ƿ֧¼ - // bit2: Ƿ֧¼ر - // bit3: Ƿ֧ϵͳʹ - // bit4; Ƿַ֧ - // bit5; Ƿ֧ϵͳԶ - // bit6: Ƿ֧־Ϲ - // bit7: Ƿֹ֧״̬ѯ - // bit8: Ƿ֧ϵͳչ - // bit9: Ƿ֧Կ׷ϵͳ - // bit10: Ƿ֧"ʾɹͱ" - // bit11: Ƿֵ֧뵼 - // bit12: Ƿ֧LEDĻ - // bit13: Ƿֹ֧Ϲعϵ - DWORD dwSubSystemEvent; //ϵͳ¼λʾ0ʾ֧֣0ʾ֧,bit0-ʱbit1-˳ʱbit2-bit3-bit4-bit5- - DWORD dwOverallEvent; //ȫ¼λʾ0ʾ֧֣0ʾ֧֣bit0-磬bit1-صѹͣbit2-绰ߵߣbit3-쳣bit4-쳣bit5-Ӳ̹,bit6-3G/4Gź쳣, bit7-ģӣ,bit8-WIFIͨŹϣbit9-RFźŸŹ - DWORD dwFaultType; //豸ֵ֧Ĺͣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-̵ߣbit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣 - BYTE byPublicSubsystemAssociateSubsystemNum; //ϵͳɹϵͳ - BYTE byOverallKeyboard; //ȫ̸ּ - WORD wSafetyCabinSupport; //տλʾ0ʾ֧֣0ʾ֧ - //bit0: Ƿַ֧տģʽ - //bit1: Ƿ֧źŴ - //bit2: Ƿ֧Ļã̽ӳʱ䡢״̬仯Ӧʱ䣩 - //bit3: Ƿֺ֧䴫ã˲ - //bit4: Ƿַ֧ʹóʱʱ - BYTE by485SlotNum; //485λ - BYTE bySubSystemAttributeAbility; // ֵΪ1ֹ1ϵͳرʹ - WORD wKeyboardAddrNum; // ̵ַ - BYTE byAlarmLampNum; //Ŀ - BYTE byRes[117]; // ֽ -}NET_DVR_ALARMHOST_ABILITY, *LPNET_DVR_ALARMHOST_ABILITY; - -#define MAX_485CHAN 256 //485ͨ -#define MAX_485SLOT 256 //485λ -typedef struct tagNET_DVR_485_SLOT_LIST_INFO -{ - DWORD dwSize; - BYTE byAll; //0-ȫȡ1-ȫȡ - BYTE byres[3]; - BYTE byIndex[MAX_485SLOT]; //485λ - BYTE byRes[64]; // -}NET_DVR_485_SLOT_LIST_INFO,* LPNET_DVR_485_SLOT_LIST_INFO; - -typedef struct tagNET_DVR_485LIST_INFO -{ - DWORD dwSize; - BYTE byAll; //0-ȫȡ1-ȫȡ - BYTE byres[3]; - BYTE byIndex[MAX_485CHAN]; //485ͨ ±ʾͨţֵ0-ʾʹã1ʾʹ - BYTE byRes[64]; // -}NET_DVR_485LIST_INFO,*LPNET_DVR_485LIST_INFO; - -typedef struct tagNET_DVR_ALARM_RS485CFG -{ - DWORD dwSize; // ṹС - BYTE sDeviceName[NAME_LEN]; // ǰ豸 - WORD wDeviceType; // ǰ豸,ͨNET_DVR_GetDeviceTypeListȡ - WORD wDeviceProtocol; // ǰ豸Э ͨȡЭбȡ - DWORD dwBaudRate; //(bps)0-501-752-1103-1504-3005-6006-12007-24008-48009-960010-1920011-3840012-5760013-7680014-115.2k - BYTE byDataBit; // мλ0-5λ1-6λ2-7λ3-8λ - BYTE byStopBit; // ֹͣλ0-1λ1-2λ - BYTE byParity; //ǷУ飺0-У飬1-У飬2-żУ - BYTE byFlowcontrol; // Ƿأ0-ޣ1-,2-Ӳ - BYTE byDuplex; // 0 - ˫1- ȫ˫ ֻͨ1ȫ˫ֻǰ˫ - BYTE byWorkMode; // ģʽ 0-̨ 1-͸ͨ,2-ݿأ3-,4-Žȫģ,0xfe-Զ壬0xff- - BYTE byChannel; //485ͨ - BYTE bySerialType; //: 0--485, 1--232 - BYTE byMode; //ģʽ 0-Ӷ 1-ӿͻ 2-չģ 3-Ž 4-ݿ 0xff- - BYTE byOutputDataType; //0-Ч1-ţ2- - BYTE byAddress; //ڵַ - BYTE byStairsOutputDataType; //0-Ч1-¥ţ2-ţbyModeΪݿʱЧ - BYTE byRes[32]; // ֽ -}NET_DVR_ALARM_RS485CFG, *LPNET_DVR_ALARM_RS485CFG; - -#define MAX_DEVICE_PROTO_NUM 256 -#define MAX_DEVICE_TYPE_NUM 256 - -// 485ǰ豸֧Эб -typedef struct tagNET_DVR_DEVICE_PROTO_LIST -{ - DWORD dwSize; // ṹС - DWORD dwProtoNum; // Э - NET_DVR_PROTO_TYPE struProtoType[MAX_DEVICE_PROTO_NUM]; // Э - BYTE byRes[12]; // ֽ -}NET_DVR_DEVICE_PROTO_LIST, *LPNET_DVR_DEVICE_PROTO_LIST; - -typedef struct tagNET_DVR_DEVICE_TYPE -{ - DWORD dwType; - BYTE byDescribe[DESC_LEN]; -}NET_DVR_DEVICE_TYPE, *LPNET_DVR_DEVICE_TYPE; - -typedef struct tagNET_DVR_DEVICE_TYPE_LIST -{ - DWORD dwSize; // ṹС - DWORD dwTypeNum; // ͸ - NET_DVR_DEVICE_TYPE struDeviceType[MAX_DEVICE_TYPE_NUM]; - BYTE byRes[12]; -}NET_DVR_DEVICE_TYPE_LIST, *LPNET_DVR_DEVICE_TYPE_LIST; - -#define MAX_ALARMHOST_VIDEO_CHAN 64 -typedef struct tagNET_DVR_ALARM_DEVICE_USER -{ - DWORD dwSize; // ṹС - BYTE sUserName[NAME_LEN]; // û - BYTE sPassword[PASSWD_LEN]; // - NET_DVR_IPADDR struUserIP; /* ûIPַ(Ϊ0ʱʾκεַ) */ - BYTE byMACAddr[MACADDR_LEN]; /* ַ */ - BYTE byUserType; // 0-ͨûԱ 1-Աû 2-װԱû 3-û - BYTE byAlarmOnRight; // Ȩ - BYTE byAlarmOffRight; // Ȩ - BYTE byBypassRight; // ·Ȩ - BYTE byOtherRight[MAX_RIGHT]; // Ȩ - // 0 -- ־Ȩ - // 1 -- ػ - // 2 -- Ȩ - // 3 -- ȡȨ - // 4 -- ָĬϲȨ - // 5 -- Ȩ - // 6 -- PTZ Ȩ - // 7 -- ԶȨ - // 8 -- ԶԤ - // 9 -- Զֶ¼ - // 10 -- Զ̻ط - // 11 -- - // 12 -- ǿƲ - // 13 -- · - // 14 -- ӸĸȨ - // 15 -- ģʽ - BYTE byNetPreviewRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿Ԥͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - BYTE byNetRecordRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿¼ͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - BYTE byNetPlaybackRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿Իطŵͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - BYTE byNetPTZRight[MAX_ALARMHOST_VIDEO_CHAN/8]; // Զ̿PTZͨλʾͨbit0-channel 11-Ȩޣ0-Ȩ - //BYTE byPriority; // ȼ0xff-ޣ0--ͣ1--У2-- - //ޣʾ֧ȼã - //ͣĬȨޣԶ̻طţԶ̲鿴־״̬Զ̹ػ/ - //УԶ̨̿Զֶ¼Զ̻طţԽԶԤرݣ/Զ̹ػ/ - //ߣԱ - BYTE sOriginalPassword[PASSWD_LEN]; // ԭʼ - BYTE sKeypadPassword[PASSWD_LEN]; // - BYTE byUserEnabled; // ûǷʹã0-Ч1-2- - BYTE byRes2[135]; // ֽ -}NET_DVR_ALARM_DEVICE_USER, *LPNET_DVR_ALARM_DEVICE_USER; - -typedef struct tagNET_DVR_KEYBOARD_USER -{ - DWORD dwSize; // ṹС - DWORD dwID; // ûID - BYTE byDefanceArea[MAX_ALARMHOST_ALARMIN_NUM]; //Ȩ ±ʾ ֧512 0 - Ȩ 1- Ȩ - BYTE byRes[560]; // ֽ -}NET_DVR_KEYBOARD_USER, *LPNET_DVR_KEYBOARD_USER; - -typedef struct tagNET_DVR_OPERATE_USER -{ - DWORD dwSize; // ṹС - BYTE sUserName[NAME_LEN]; // û - BYTE sPassword[PASSWD_LEN]; // - BYTE bySubSystemPermission;/*0-װԱȨ ԱȨޣϵͳ£ 1-޲棬· 2-޳棬· 3-޲棬· - 4-в//棬· 5-г棬· 6-в棬· 7-޲棬· - 8-޲棬· 9-޲棬· 10-в棬· 11-г棬· 1 - 2-в棬·*/ - BYTE byRes[63]; // ֽ -}NET_DVR_OPERATE_USER, *LPNET_DVR_OPERATE_USER; - -typedef struct tagNET_DVR_GATEWAY_CFG -{ - DWORD dwSize; // ṹС - BYTE byName[NAME_LEN]; // Ž - BYTE byEnable; // Ƿ - BYTE byLocalEnable; // Ƿ - WORD wDelayTime; // ʱʱ λΪ0-65535 0Ϊһֱ - BYTE byLockWorkMode;//ģʽ0-ͨ1-ϵ - BYTE byRes[31]; // ֽ -}NET_DVR_GATEWAY_CFG, *LPNET_DVR_GATEWAY_CFG; - -typedef struct tagNET_DVR_SENSOR_ALARM -{ - DWORD dwSize; // ṹС - DWORD dwAbsTime; // ʱϢ OSDʾϢ - BYTE byName[NAME_LEN]; // sensor - BYTE bySensorChannel; // ģͨ - BYTE byType; // ģ - BYTE byAlarmType; // 1-42-33-24-15-16-27-38-4 ͵ǰģʽй - // 統Ϊ1000ʱ,1123ֱ - BYTE byAlarmMode; //ģʽ֣-HHHH-HHHL-HHLLHLLL-LLLL Ϊƽ̶̨жϹ,1111ϣ1110£1100£1000()0000() - float fValue; // ǰģֵ - float fOriginalValue; //ԭʼѹֵСλֵʾǵѹNET_DVR_SENSOR_INFObySensorStandard - BYTE byRes2[28]; // ֽ -}NET_DVR_SENSOR_ALARM, *LPNET_DVR_SENSOR_ALARM; - -#define PROTOCOL_VERTION_LEN 32 - -typedef struct tagNET_DVR_RS485_PROTOCOL_VERSION -{ - DWORD dwSize; - BYTE byProtocleVersion[PROTOCOL_VERTION_LEN];//RS485Э汾Ϣ - BYTE byRes[128]; -}NET_DVR_RS485_PROTOCOL_VERSION, *LPNET_DVR_RS485_PROTOCOL_VESRION; - - -typedef struct -{ - /*ԤĿǰıû(򣬼)*/ - DWORD dwAlarmType; - /*0Ӧ1˿*/ - BYTE byAlarmInputNumber[MAX_ALARMHOST_ALARMIN_NUM]; - BYTE byRes[160]; -}NET_DVR_ALARMHOST_ALARMINFO,*LPNET_DVR_ALARMHOST_ALARMINFO; -// ϴ -typedef struct tagNET_DVR_SWITCH_ALARM -{ - DWORD dwSize; - BYTE byName[NAME_LEN]; // switch - WORD wSwitchChannel; // ͨ, 0-255 - BYTE byAlarmType; // 0--1--·2--·,3-쳣 - BYTE byRes[41]; // ֽ -}NET_DVR_SWITCH_ALARM, *LPNET_DVR_SWITCH_ALARM; - -typedef union tagNET_DVR_ALARMHOST_EXCEPTION_PARAM -{ - DWORD dwUnionSize[20]; // С -}NET_DVR_ALARMHOST_EXCEPTION_PARAM, *LPNET_DVR_ALARMHOST_EXCEPTION_PARAM; - -typedef struct tagNET_DVR_ALARMHOST_EXCEPTION_ALARM -{ - DWORD dwSize; // ṹС - // 쳣 1-豸𱨾 2-豸ָ 3-Դ籨 4-Դָ 5-ڲͨŹϱ - // 6-ڲͨŹϺָ 7-绰߶ 8-绰߶߻ָ 9-Լʧܱ 10-Լʧָܺ - // 11Ƿѹ 12صѹָ13-عϣ14-MBUSģߣ15-MBUSģ߻ָ16-̵ߣ - //17-̵߻ָ18-豸ƶ19-豸ƶλ 20-485·ϱ 21-485·Ϻָ - //25-Ӱ1,26-Ӱ1γ, 27-Ӱ2,28-Ӱ2γ - DWORD dwExceptionType; - BYTE byRes[36]; // -}NET_DVR_ALARMHOST_EXCEPTION_ALARM, *LPNET_DVR_ALARMHOST_EXCEPTION_ALARM; - -//вŲü÷ʽ -#define MAX_CENTERNUM 4 //G1,G2 G3 G4N1N2N3N4T1T2T3T4 -typedef struct tagNET_DVR_PHONECENTERDIALCFG -{ - BYTE sCenterName[NAME_LEN]; - BYTE byPhoneNum[MAX_PHONE_NUM/*32*/]; //ĺ - BYTE byRepeatCall; //ظŴ1~15 - BYTE byPstnProtocol; //ͨЭ飬0-CID - BYTE byDialDelay; //ʱ150s, 0-150 - BYTE byPstnTransMode; //䷽ʽ0-DTMF 5/S1-DTMF 10/S - BYTE byEnable; //ʹܣ0-رգ1- - BYTE byRes1[5]; - BYTE byReceiverId[6]; //ջʶ˺ţ - BYTE byRes2[32]; -}NET_DVR_PHONECENTERDIALCFG, *LPNET_DVR_PHONECENTERDIALCFG; - -typedef struct tagNET_DVR_ALARMHOSTDIALCFG -{ - DWORD dwSize; - NET_DVR_PHONECENTERDIALCFG struPhoneCenterParam[MAX_CENTERNUM];//IJ - WORD wReportPeriod; //ԱϴڣСʱֵ֧7죬168Сʱ), Χ1-168 - WORD wFirstReportTime; //豸һԱϴ1~3600 - BYTE byReportValid; //0-òԱϴ 1-òԱϴ - BYTE byRes[19]; -}NET_DVR_ALARMHOSTDIALCFG, *LPNET_DVR_ALARMHOSTDIALCFG; - -typedef struct tagNET_DVR_ALARMHOSTDIALSETUPMODE -{ - DWORD dwSize; - BYTE byEnableMode;//÷ʽ0ã1һֱã2:߶ãʱرգ - BYTE byCallType; //ϴķʽ1-ģ2-˫ģ3һһ - BYTE byRes1[14]; -}NET_DVR_ALARMHOSTDIALSETUPMODE, *LPNET_DVR_ALARMHOSTDIALSETUPMODE; - -#define MAX_PU_CHAN_NUM 512 - -typedef struct tagNET_DVR_PU_CHAN_INFO -{ - NET_DVR_IPADDR struIpAddr; // ipַ - WORD wPort; // ˿ - WORD wChannel; // ͨ - BYTE byRes[24]; // -}NET_DVR_PU_CHAN_INFO, *LPNET_DVR_PU_CHAN_INFO; - -typedef struct tagNET_DVR_PU_CHAN_LIST -{ - DWORD dwSize; // ṹ - DWORD dwNum; // ǰͨ - NET_DVR_PU_CHAN_INFO struPuChanInfo[MAX_PU_CHAN_NUM]; -}NET_DVR_PU_CHAN_LIST, *LPNET_DVR_PU_CHAN_LIST; - -#define MAX_ALARM_CAM_NUM 32 // CAM - -typedef struct tagNET_DVR_PTZ_CTRL -{ - BYTE byEnable; // ǷPTZ - BYTE byType; // PTZ Ƶ 1- Ԥõ 2 -Ѳ 3-켣 - BYTE byPtzNo; // ptz ƵԤõ Ѳ 켣 - BYTE byRes[5]; // ֽ -}NET_DVR_PTZ_CTRL, *LPNET_DVR_PTZ_CTRL; - -typedef struct tagNET_DVR_ALARM_CAM_INFO -{ - DWORD dwCamID; // CAMͨ - DWORD dwRecordTime; // ¼ʱ λΪs -1ʾһֱ¼ 0 ʾ¼ - DWORD dwMonID; // CamMonʾ - DWORD dwResidentTime; // Ѳͣʱ䵥λΪs -1ʾһֱͣ 0 ʾͣ - NET_DVR_PTZ_CTRL struPtzCtrl; // PTZϢ - BYTE byAlarmOffMode; // лǽȡģʽ 0-ȡ1-Զȡ2-ֶȡ ȡȡʱȡǽ ԶȡȡʱȴһʱȡǽԼ20 ֶȡûֶͨķʽȡ - BYTE byDevType; // 豸Ϊ豸ʱЧʾܱ豸ȡԴ 1-뿨 2-뿨 - BYTE byDecChan; // ΪͨΪͨ - BYTE byRes[17]; // ֽ -}NET_DVR_ALARM_CAM_INFO, *LPNET_DVR_ALARM_CAM_INFO; - -typedef struct tagNET_DVR_ALARM_CAM_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnable; // ǷñCAM 豸Ĭϲ - BYTE byRes[7]; // ֽ - DWORD dwNum; // CAMĸ ȡǰЧ - NET_DVR_ALARM_CAM_INFO struAlarmCam[MAX_ALARM_CAM_NUM]; -}NET_DVR_ALARM_CAM_CFG, *LPNET_DVR_ALARM_CAM_CFG; - -#define MAX_GATEWAY_NUM 8 // Ž -typedef struct tagNET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM -{ - DWORD dwSize; - BYTE byEnterDoor[8]; // ±ʾŽţԪֵʾϢ0ʾ 1-8ʾƵ - BYTE byExitDoor[8]; // ±ʾŽţԪֵʾϢ0ʾ 1-8ʾƵ - BYTE byAlarmIn[MAX_ALARMHOST_ALARMIN_NUM/*512*/]; //룬±ʾţԪֵʾϢ0ʾ 1-8ʾƵ - BYTE byRes[128]; -}NET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM, *LPNET_DVR_ALARMHOST_AUDIO_ASSOCIATE_ALARM; - -//ϴأϴصչ -typedef struct tagNET_DVR_UPLOAD_PARAM -{ - DWORD dwSize; - BYTE byUploadType; /*ϴʽ1-ļԵַȡļϴ 2-ӻȡϴ*/ - BYTE byDataType; //ͣ1-Ƶ - BYTE byDataNum; //ݱţ磺ϴòʾţţεˡڵ - BYTE byAudioType; //ʽ0-wave - char sFileName[260]; //ļȫ· - char *lpBuffer; //ݻ - DWORD dwBufferSize; //С - BYTE byRes2[128]; -}NET_DVR_UPLOAD_PARAM, *LPNET_DVR_UPLOAD_PARAM; - -typedef void (CALLBACK *DATADOWNLOAD)(LONG nDownloadHandle, DWORD dwDataType, void* pBuffer, DWORD dwBufSize, void *pUser); -typedef struct tagNET_DVR_ALARMHOST_PARAM -{ - DWORD dwSize; - BYTE byDownType; /*صݱ淽ʽ1-ļԵַݣ 2-ͨصȡ*/ - BYTE byDataType; //ͣ1-Ƶ - BYTE byDataNum; //ݱţ磺òʾţţεˡڵ - BYTE byRes1; - char sFileName[260]; //ļȫ· - DATADOWNLOAD lpDataCallBack; //ʱĻص - void* pUserData; //ûݣڻصд - BYTE byRes2[128]; -}NET_DVR_DOWNLOAD_PARAM, *LPNET_DVR_DOWNLOAD_PARAM; - - -typedef struct tagNET_DVR_ALARMHOST_DOWNLOAD_PARAM -{ - DWORD dwSize; - BYTE byDownType; /*صݱ淽ʽ1-ļԵַݣ 2-ͨصȡ*/ - BYTE byDataType; //ͣ1-Ƶ - BYTE byDataNum; //ݱţ磺òʾţţεˡڵ - BYTE byRes1; - char sFileName[260]; //ļȫ· - DATADOWNLOAD lpDataCallBack; //ʱĻص - void* pUserData; //ûݣڻصд - BYTE byRes2[128]; -}NET_DVR_ALARMHOST_DOWNLOAD_PARAM, *LPNET_DVR_ALARMHOST_DOWNLOAD_PARAM; - -//LEDĻ -typedef struct tagNET_DVR_LED_SCREEN_CFG -{ - DWORD dwSize; - BYTE sLEDName[NAME_LEN/*32*/]; // LEDĻ - BYTE byTransMode; // ִֻ֧ͨѶ 1-ͨ - BYTE byProtocolType; // ЭͣӦLEDij - BYTE byLEDColor; // 1-ɫ 2-˫ɫ 3-256Ҷ˫ɫ 4- ȫɫĿǰֻõɫ - BYTE byDataPolarity; // ݼ .0-1- - BYTE byOEPolarity; // 0-Ч 1-Ч - BYTE byScanMode; // 1-1/16, 2-1/8, 3-1/4, 4-1/2, 5-̬ - BYTE byRes1[2]; - //ĻȺ͸߶С16*16㣬8 - WORD wLEDWidth; // 16~2048 - WORD wLEDHeight; // 16~2048 - BYTE byRes2[64]; -}NET_DVR_LED_SCREEN_CFG, *LPNET_DVR_LED_SCREEN_CFG; - -//LED -#define MAX_CONTENT_LEN 512 -typedef struct tagNET_DVR_LED_CONTENT_CFG -{ - DWORD dwSize; - BYTE sLEDContent[MAX_CONTENT_LEN]; // LEDĻʾ - BYTE byContentAct; // 1-̬2-ٴ3-ƶ4-ƶ 5-ƶ 6-ƶ - BYTE byContentSpeed; // 1-241죬24 - BYTE byContentStayTime; // 0-127.5s(0.5s SDKʱ*2ֵ0-255豸ʹõʱ2) - BYTE byRes[33]; -}NET_DVR_LED_CONTENT_CFG, *LPNET_DVR_LED_CONTENT_CFG; - -//LEDʱػ -#define LED_TIMER_NUM 3 // LEDػʱ -#define TIME_SEGMENT_A_DAY 48 // ʱθһ24СʱСʱһ - -typedef struct tagNET_DVR_SWITCH_TIME -{ - BYTE byValid; // 鶨ʱʱǷЧʱdzɶõ - BYTE byRes[3]; - NET_DVR_TIME_EX struTimeOn; // ʱ - NET_DVR_TIME_EX struTimeOff; // ػʱ -}NET_DVR_SWITCH_TIME, *LPNET_DVR_SWITCH_TIME; - - -typedef struct tagNET_DVR_LED_SWITCH_TIME -{ - DWORD dwSize; - NET_DVR_SWITCH_TIME struTimer[LED_TIMER_NUM /*3*/]; //ʱػʱ䣬ṹֻСʱͷЧÿ鿪ʱҪڸĹػʱ䣬ǰһĹػʱҪ磺struTimer[0]Ĺػʱ1000ôstruTimer[0]ĿʱΪ10:00֮ǰ struTimer[1]ĿʱΪ10:00Ժ - BYTE byRes[64]; -}NET_DVR_LED_SWITCH_TIME, *LPNET_DVR_LED_SWITCH_TIME; - -//ʱȵ -typedef struct tagNET_DVR_LED_BRIGHTNESS_STEP -{ - DWORD dwSize; - BYTE byValid; //ʱȵǷЧ - BYTE byRes1[3]; - BYTE byBrightnessStep[TIME_SEGMENT_A_DAY /*48*/]; //ȫ24СʱΪ48ʱΣÿ30һʱΣ48ֽڱʾÿʱεȼȹ160~15ʾ - BYTE byRes2[48]; -}NET_DVR_LED_BRIGHTNESS_STEP, *LPNET_DVR_LED_BRIGHTNESS_STEP; - -typedef struct tagNET_DVR_LED_STATUS -{ - DWORD dwSize; - BYTE bySwitchState; //1-״̬ 2-ػ״̬ - BYTE byBrightness; //ֵΧ0-15 - BYTE byRes[62]; -}NET_DVR_LED_STATUS, *LPNET_DVR_LED_STATUS; - -//2010-12-28 뿨 begin -//µĽ뿨 -#define MAX_DECODE_CARD_NUM 6 //뿨 -/********************뿨ģʽ궨********************/ -typedef enum _HD_DISPLAY_FORMAT -{ - HD_DISPLAY_FORMAT_INVALID = 0x00000000, - HD_DISPLAY_FORMAT_CVBS = 0x00000001, - HD_DISPLAY_FORMAT_DVI = 0x00000002, - HD_DISPLAY_FORMAT_VGA = 0x00000004, - HD_DISPLAY_FORMAT_HDMI = 0x00000008, - HD_DISPLAY_FORMAT_YPbPr = 0x00000010 -}HD_DISPLAY_FORMAT,*LPHD_DISPLAY_FORMAT; - -/********************뿨ģʽ궨********************/ -typedef struct tagNET_DVR_DECCARD_ABILITY /*뿨*/ -{ - BYTE byCardType; //뿨(0:MD,1:MD+,2:HD) - BYTE byDecNums; //ͨ - BYTE byDispNums; //ʾͨ - BYTE byDecStartIdx; //׸ͨнͨе - BYTE byDispStartIdx; //׸ʾͨʾͨе - BYTE byDispResolution[80]; //ģʽֵ֧ķֱ - BYTE byDispFormat[8]; //ֵ֧ģʽ(HD_DISPLAY_FORMAT) - BYTE byWindowMode[4][8]; //ֵ֧Ĵģʽ(1,2,4,9,16)) - BYTE byRes[35]; -} NET_DVR_DECCARD_ABILITY,*LPNET_DVR_DECCARD_ABILITY; - -typedef struct tagNET_DVR_DECODESVR_ABILITY -{ - DWORD dwSize; /* ṹС */ - BYTE byCardNums; /* 뿨 */ - BYTE byStartChan; /* ʼͨ */ - BYTE byRes1[2]; - NET_DVR_DECCARD_ABILITY struDecCardAbility[MAX_DECODE_CARD_NUM]; - BYTE byRes2[64]; -}NET_DVR_DECODESVR_ABILITY, *LPNET_DVR_DECODESVR_ABILITY; - -typedef struct tagNET_MATRIX_DEV_CHAN_INFO -{ - NET_DVR_IPADDR struIP; //DVR IPַ - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byUsedSlotNum; //Ƿʹòλţ0-ʹã1-ʹ - BYTE bySlotNum;//λ - BYTE byRes[68]; - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_MATRIX_DEV_CHAN_INFO,*LPNET_MATRIX_DEV_CHAN_INFO; - -typedef struct tagNET_MATRIX_PU_STREAM_CFG -{ - DWORD dwSize; - NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg; - NET_MATRIX_DEV_CHAN_INFO struDevChanInfo; -} NET_MATRIX_PU_STREAM_CFG,LPNET_MATRIX_PU_STREAM_CFG; - -/*cameraõԪṹ*/ -typedef struct tagNET_DVR_MATRIX_CAMERACFG -{ - DWORD dwGlobalIndex;//ȫֱ - DWORD dwInterIndex;//ֲ - BYTE sCamName[NAME_LEN]; - NET_MATRIX_PU_STREAM_CFG struPuStreamCfg; -} NET_DVR_MATRIX_CAMERACFG,*LPNET_DVR_MATRIX_CAMERACFG; - -typedef struct tagNET_DVR_MATRIX_CAMERALIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwCamNum;//CAM - BYTE *pBuffer; - DWORD dwBufLen;//ָ볤ȣ -} NET_DVR_MATRIX_CAMERALIST,*LPNET_DVR_MATRIX_CAMERALIST; - -typedef struct tagNET_DVR_DISP_CHAN_INFO -{ - NET_DVR_IPADDR struIP; /* IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byDispChannel; /* ʾͨ */ - BYTE byUsedSlotNum; //Ƿʹòλţ0-ʹã1-ʹ - BYTE bySlotNum;//λ - BYTE byRes[7]; - BYTE sUserName[NAME_LEN]; /*½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ -}NET_DVR_DISP_CHAN_INFO,*LPNET_DVR_DISP_CHAN_INFO; - -/*monitorõԪṹ*/ -typedef struct tagNET_DVR_MATRIX_MONITORCFG -{ - DWORD dwGlobalIndex;//ȫֱ - DWORD dwInterIndex; - BYTE sMonName[NAME_LEN]; - NET_DVR_DISP_CHAN_INFO struDispChanCfg; -} NET_DVR_MATRIX_MONITORCFG,*LPNET_DVR_MATRIX_MONITORCFG; - -typedef struct tagNET_DVR_MATRIX_MONITORLIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwMonNum;//MON - BYTE *pBuffer; - DWORD dwBufLen;//ָ볤ȣ -} NET_DVR_MATRIX_MONITORLIST,*LPNET_DVR_MATRIX_MONITORLIST; - -#define MAX_SUBMATRIX_NUM 8//ϵͳ -typedef struct tagNET_DVR_SUBMATRIXINFO -{ - BYTE byMainMatrix;//Ƿϵͳ1-ǣ0- - BYTE bySubMatrixSequence;//Ƶۺƽ̨ϵͳ - BYTE byLoginType;//עͣ1-ֱ2-DNS3- - BYTE byRes1[9]; - NET_DVR_IPADDR struSubMatrixIP; /*IPַ޸ģ*/ - WORD wSubMatrixPort; /*ϵͳ˿ںţ޸ģ*/ - BYTE byRes2[6]; - NET_DVR_IPADDR struSubMatrixIPMask; /*IPַ*/ - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - BYTE sUserName[NAME_LEN]; /* û ˲ֻܻȡ*/ - BYTE sPassword[PASSWD_LEN]; /* ˲ֻܻȡ*/ - char sDomainName[MAX_DOMAIN_NAME];//(޸) - char sDnsAddress[MAX_DOMAIN_NAME];/*DNSIPַ*/ - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ - BYTE byRes3[16]; -}NET_DVR_SUBMATRIXINFO, *LPNET_DVR_SUBMATRIXINFO; - -typedef struct tagNET_DVR_ALLUNITEDMATRIXINFO -{ - DWORD dwSize; - NET_DVR_SUBMATRIXINFO struSubMatrixInfo[MAX_SUBMATRIX_NUM]; - BYTE byRes2[32]; -}NET_DVR_ALLUNITEDMATRIXINFO, *LPNET_DVR_ALLUNITEDMATRIXINFO; - -#define MAX_GATEWAYTRUNKNUM 1024 //Ƶۺƽ̨·ɸ - -typedef struct tagNET_DVR_MATRIXGATEWAYNOTE -{ - WORD wTrunkInToOutAbility;//ߴD1ı׼4ʾ֧4D1 - WORD wTrunkOutToInAbility;//ߴD1ı׼4ʾ֧4D1˫ʱõֵ - BYTE byRes[4]; - NET_DVR_MATRIXSUBSYSTEMINFO struInputNote; - NET_DVR_MATRIXSUBSYSTEMINFO struOutputNote; -}NET_DVR_MATRIXGATEWAYNOTE, *LPNET_DVR_MATRIXGATEWAYNOTE; - -typedef struct tagNET_DVR_MATRIXGATEWAYINFO -{ - DWORD dwSize; - NET_DVR_MATRIXGATEWAYNOTE struGatewayNote[MAX_GATEWAYTRUNKNUM]; - BYTE byRes [32]; -}NET_DVR_MATRIXGATEWAYINFO, *LPNET_DVR_MATRIXGATEWAYINFO; - -typedef struct tagNET_DVR_MATRIXCODESYSTEMINFO -{ - BYTE byMatrixNum;//Ƶۺƽ̨ - BYTE bySubSystemNum;//ϵͳλ - BYTE byChan;//ͨ - BYTE byRes [13]; -}NET_DVR_MATRIXCODESYSTEMINFO,*LPNET_DVR_MATRIXCODESYSTEMINFO; -typedef struct tagNET_DVR_MATRIXDECODESYSTEMINFO -{ - BYTE byMatrixNum;//Ƶۺƽ̨ - BYTE bySubSystemNum;//ϵͳλ - BYTE byDispChan;//ʾͨ - BYTE bySubDispChan;//ʾͨͨ - BYTE byRes [12]; -}NET_DVR_MATRIXDECODESYSTEMINFO,*LPNET_DVR_MATRIXDECODESYSTEMINFO; - -typedef struct tagNET_DVR_MATRIXSWITCH -{ - NET_DVR_MATRIXCODESYSTEMINFO struInputNote; - NET_DVR_MATRIXDECODESYSTEMINFO struOutputNote; - BYTE byRes[32]; -}NET_DVR_MATRIXSWITCH, *LPNET_DVR_MATRIXSWITCH; - -typedef enum { - ENC_CARD = 0, - DEC_CARD, - SD_DEC_CARD, - FPGA_CARD, - CS_CARD, - ALERTOR_CARD, - NAT_0, - NAT_1, - VCA_CARD, - VGA_DEC_CARD, - VGA_ENC_CARD, - ERR_CARD, -} DEV_TYPE; - -typedef struct tagNET_DVR_MATRIXSWITCHCTRL -{ - DWORD dwCamId;//ȫֱ - DWORD dwMonId;//ȫֱ - BYTE bySubWindowNum;//ӦӴں - BYTE bySwitchType;/*лͣ0:л1:л2:ȡ0xff:ʾMONбȫȡ*/ - WORD wAlarmType;//豸ͣ1:2豸 - DWORD dwResidentTime;/* ʾפʱ䣬0xFFFFFFFF ʱ Ϊפʾ*/ - BYTE byVcaDevType;//豸"豸"ʱDEV_TYPE - BYTE byWallNo;//ǽ - BYTE byRes[18]; -}NET_DVR_MATRIXSWITCHCTRL, *LPNET_DVR_MATRIXSWITCHCTRL; - -typedef struct tagNET_DVR_MATRIXDATABASE -{ - //ļͣ1-ݿļ2-ݿļ3-ƽ̨ݿļ4-ļ0xffһʧܵݿ - DWORD dwDevType; - DWORD dwParam; //ššƽ̨ţļʱֵ - BYTE byFileType;//ļͣ1-sql䣬2-db䣬3-ļ - BYTE byRes [3]; -} NET_DVR_MATRIXDATABASE, *LPNET_DVR_MATRIXDATABASE; - -typedef struct tagNET_DVR_SUBSYSTEMINFO_V40 -{ -/*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ - 9-V6ϵͳ10-תϵͳ11-X86ϵͳ12-ϵͳ13-X86ķ壬14- X86ҵ壬15-ƴϵͳ 16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ19-Ƶϵͳ0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - //ϵͳͨϵͳ485˲ֻܻȡ - BYTE byChan; - BYTE byLoginType;//עͣ1-ֱ2-DNS3- - BYTE bySlotNum ;//λţ˲ֻܻȡ - BYTE byRes1[4]; - NET_DVR_IPADDR struSubSystemIP; /*IPַ޸ģ*/ - NET_DVR_IPADDR struSubSystemIPMask;// - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - WORD wSubSystemPort; //ϵͳ˿ںţ޸ģ - BYTE byRes2[6]; - BYTE sUserName[NAME_LEN]; /* û ˲ֻܻȡ*/ - BYTE sPassword[PASSWD_LEN]; /*(޸)*/ - char sDomainName[MAX_DOMAIN_NAME];//(޸) - char sDnsAddress[MAX_DOMAIN_NAME];/*DNSIPַ*/ - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ - BYTE byBelongBoard;//Ӱţ1ʼ0xffʾЧ - BYTE byInterfaceType;//ӿͣ0-ͣ1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVIӦ10-3GSDI, 11-VGA/DVIӦ12-HDTVI13-HDBaseT14-DP15-DVIT16-TVI,17-VSCREEN,18-miniDP,0xff-Ч - BYTE byInterfaceNums;//ӿڸ0xffʾЧ - BYTE byInterfaceStartNum;//ӿʼţ0xffʾЧ - BYTE byDeviceName[20];//ϵͳ - BYTE byAudioChanNums; //Ƶͨ - BYTE byAudioChanStartNum; //Ƶͨʼ - BYTE byAudioChanType;//Ƶͨͣ0-Ч1-Ƶ룬2-Ƶ - BYTE byRes3[33]; -}NET_DVR_SUBSYSTEMINFO_V40, *LPNET_DVR_SUBSYSTEMINFO_V40; - -#define MAX_SUBSYSTEM_NUM_V40 120 -typedef struct tagNET_DVR_ALLSUBSYSTEMINFO_V40 -{ - DWORD dwSize; - NET_DVR_SUBSYSTEMINFO_V40 struSubSystemInfo[MAX_SUBSYSTEM_NUM_V40]; - BYTE byRes[8]; -}NET_DVR_ALLSUBSYSTEMINFO_V40, *LPNET_DVR_ALLSUBSYSTEMINFO_V40; - -typedef struct tagNET_DVR_SUBSYSTEM_BASIC_INFO -{ - DWORD dwSize; - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-Fpgaϵͳ9-Fpgaϵͳ10-תϵͳ11-X86ϵͳ12-ϵͳ13-X86ķ壬 14- X86ҵ壬15-ƴϵͳ 16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ19-źŽϵͳ,0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - //ϵͳͨϵͳ485˲ֻܻȡ - BYTE bySubSystemNo;//ϵͳţ˲ֻܻȡ - BYTE byInterfaceType;//ӿͣ0-ͣ1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, 7-RGB, 8-YprPb, 9-VGA/HDMI/DVIӦ10-3GSDI, 11-VGA/DVIӦ12-HDTVI13-HDBaseT14-DP15-DVIT0xff-Ч - BYTE byRes1; - DWORD dwChan; - NET_DVR_IPADDR struSubSystemIP; /*IPַ޸ģ*/ - NET_DVR_IPADDR struSubSystemIPMask;// - NET_DVR_IPADDR struGatewayIpAddr; /* صַ */ - WORD wSubSystemPort; //ϵͳ˿ںţ޸ģ - BYTE byRes2[6]; - BYTE sSerialNumber[SERIALNO_LEN];//кţ˲ֻܻȡ - BYTE byBelongBoard;//Ӱţ1ʼ0xffʾЧbyBelongBoardHΪ0ʱֶοΪ0xff - BYTE byBelongBoardH; //ӰŸλ - BYTE byRes3[2]; - BYTE byDeviceName[20];//ϵͳ - DWORD dwStartChanNo;//ʼͨ - BYTE byDevNo; //豸 - BYTE byRes4[63]; -}NET_DVR_SUBSYSTEM_BASIC_INFO, *LPNET_DVR_SUBSYSTEM_BASIC_INFO; - -typedef struct NET_DVR_SUBSYSTEM_BASIC_INFO_RESPONSE -{ - DWORD dwSize; - DWORD dwErrorCode; // - BYTE byDevNo; //豸 - BYTE bySubSystemNo;//ϵͳ - BYTE byRes[30]; -} NET_DVR_SUBSYSTEM_BASIC_INFO_RESPONSE,*LPNET_DVR_SUBSYSTEM_BASIC_INFO_RESPONSE; - -typedef struct NET_DVR_CAMERA_INFO_RESPONSE -{ - DWORD dwErrorCode; // - DWORD dwCamId; /*cam ͳһ*/ - BYTE byRes[4]; -} NET_DVR_CAMERA_INFO_RESPONSE,*LPNET_DVR_CAMERA_INFO_RESPONSE; - -typedef struct NET_DVR_MONITOR_INFO_RESPONSE -{ - DWORD dwErrorCode; // - DWORD dwMonId; /*mon ͳһ*/ - BYTE byRes[4]; -} NET_DVR_MONITOR_INFO_RESPONSE, *LPNET_DVR_MONITOR_INFO_RESPONSE; - -typedef struct tagNET_DVR_AUDIO_INFO -{ - DWORD dwSize; - BYTE byAudioChanType;//Ƶͨͣ1-Ƶ룬2-Ƶ - BYTE byRes1[3]; - DWORD dwAudioNo; //Ƶ(1ֽ豸+1ֽӰ+2ֽƵں) - BYTE byRes2[16]; -}NET_DVR_AUDIO_INFO, *LPNET_DVR_AUDIO_INFO; - - -typedef struct tagNET_DVR_SINGLESUBSYSTEMJOININFO_V40 -{ - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ9-V6ϵͳ0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - BYTE byConnectStatus;//ϵͳ״̬1-2-ӶϿ - BYTE byMatrixNum;//Ƶۺƽ̨ţϵͳ34ʱ - BYTE bySubSystemNum;//ϵͳλţ0~79ϵͳ34ʱ - NET_DVR_DECSUBSYSTEMJIONSTATUS struDecSub [MATRIX_MAXDECSUBSYSTEMCHAN]; - BYTE byBindStatus;//״̬0-ûа󶨣1-Ѿ󶨣ƴʱõ - BYTE bySlotNum ;//λţ˲ֻܻȡ - //ϵͳΪ1ʱã0-δ1-D12-7203-1080 - BYTE byDecodeAbility; - BYTE byUsedTrunk; - BYTE byRes[64]; -}NET_DVR_SINGLESUBSYSTEMJOININFO_V40,LPNET_DVR_SINGLESUBSYSTEMJOININFO_V40; - -typedef struct tagNET_DVR_ALLDECSUBSYSTEMJOININFO_V40 -{ - DWORD dwSize; - NET_DVR_SINGLESUBSYSTEMJOININFO_V40 struSingleSubSystemJoinInfo[MAX_SUBSYSTEM_NUM_V40]; - BYTE byRes[48]; -}NET_DVR_ALLDECSUBSYSTEMJOININFO_V40, *LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V40; - -#define MAX_OPTICALFIBER_NUM 16 -typedef struct tagNET_DVR_SUBSYSTEM_ABILITY -{ -/*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ9-V6ϵͳ - 10-תϵͳ11-X86ϵͳ壬 14- X86ҵ壬15-ƴϵͳ 16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ0-NULL˲0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - BYTE byChanNum;//ϵͳͨ - BYTE byStartChan;//ϵͳʼͨ - BYTE bySlotNum ;//λ - BYTE byRes1[4]; - union - { - BYTE byRes[200]; - struct - { - BYTE byDecode; //ǷǴ빦ܵܰ,1-ǣ0- - BYTE byNeedPreAllocDec; //ǷҪԤԴ1-ǣ0- - BYTE byVACType; //ϵͳͣ0-ͨͣ1-ǿ - BYTE byRes[197]; - }struVACSystemAbility; - struct - { - BYTE byVGANums;//VGAʾͨ1ʼ - BYTE byBNCNums;//BNCʾͨ9ʼ - BYTE byHDMINums;//HDMIʾͨ25ʼ - BYTE byDVINums;//DVIʾͨ29ʼ - BYTE byLayerNums ;//ƴУʱ֧ͼ - BYTE bySpartan;//Թܣ0-֧֣1-֧ - BYTE byDecType; //ϵͳͣ0-ͨ,1-ǿ(ͨͷʱǰ4ʹԴǿ޴ƣǿɱϵͳ16·D1Դ - //ǿͱΪԴɱãܱͨ) - //2-ܹϵͳ3-תϵͳܺתϵͳڽǽ - BYTE byOutputSwitch;//Ƿ֧HDMI/DVIл0-֧֣1-֧ - BYTE bySDINums;//SDIʾͨ33ʼ - BYTE byRes1[38]; - BYTE byDecoderType ; //Ƿֶ֧೧룬0-֧֣1-֧ - BYTE byRes2[152]; - }struDecoderSystemAbility; - struct - { - BYTE byCoderType;//ͣ0-壬1-, 2-ģ - BYTE byOptical;//˻룬0-1- - BYTE byOpticalSubChan; //ÿŵ - BYTE bySupportAVSeparate;//Ƿ֧Ƶ룬0-֧֣1-֧ - BYTE byRes[196]; - }struCoderSystemAbility; - struct - { - WORD wTrunkAbility;//ߴD1ı׼4ʾ֧4D1 - BYTE byOpticalFiberNum;// - BYTE byRes[197]; - }struInputSystemAbility; - struct - { - WORD wTrunkAbility;//ߴD1ı׼4ʾ֧4D1 - BYTE byOpticalFiberNum;// - BYTE byRes[197]; - }struOutputSystemAbility; - struct - { - BYTE by485Num;//ϵͳ485 - BYTE bySlotNum;//ÿ485λ - BYTE byRes[198]; - }struCodeSpitterSystemAbility; - struct - { - WORD wAlarmInNums; - WORD wAlarmOutNums; - /* ʶǷӣ 1ʾӣ Ϊ0 ʾδ */ - BYTE byAlarmBoxEnable[4][8]; - BYTE bySupportContact; /* Ƶۺƽ̨ڲ0-֧,1-֧ */ - BYTE byRes[163]; - }struAlarmHostSystemAbility; - struct - { - BYTE byOpticalFiberNum;// - BYTE byRes1[3]; - //˴D1ı׼4ʾ֧4D1 - WORD wTrunkAbility[MAX_OPTICALFIBER_NUM/*16*/]; - BYTE byRes2[164]; - }struInOutputSystemAbility; - struct - { - BYTE bySupportRingProtocol; //Ƿֻ֧Э - BYTE bySupportRingNums; //ֻ֧ - BYTE bySupportPortNums; //ֵ֧Ķ˿ - BYTE byRes[1]; - DWORD dwPortSupportRingProto; //ÿ˿Ƿֻ֧Э飬λ㣬132λֱʾ132˿ڣ0-֧֣1-ʾ֧ - BYTE byRes2[192]; - } struFiberSwitchSystemAbility; - }struAbility; -}NET_DVR_SUBSYSTEM_ABILITY, *LPNET_DVR_SUBSYSTEM_ABILITY; - -typedef struct tagNET_DVR_VIDEOPLATFORM_ABILITY_V40 -{ - DWORD dwSize; - BYTE byCodeSubSystemNums;//ϵͳ - BYTE byDecodeSubSystemNums;//ϵͳ - BYTE bySupportNat;//Ƿ֧NAT0-֧֣1-֧ - BYTE byInputSubSystemNums;//ϵͳ - BYTE byOutputSubSystemNums;//ϵͳ - BYTE byCodeSpitterSubSystemNums;//ϵͳ - BYTE byAlarmHostSubSystemNums;//ϵͳ - BYTE bySupportBigScreenNum;//֧ɴĸ - BYTE byVCASubSystemNums;//ϵͳ - BYTE byV6SubSystemNums;//V6ϵͳ - BYTE byV6DecoderSubSystemNums;//V6ϵͳ - BYTE bySupportBigScreenX;/*ƴӵģʽmn*/ - BYTE bySupportBigScreenY; - BYTE bySupportSceneNums;//ֳ֧ģʽĸ - BYTE byVcaSupportChanMode;//ֵ֧ͨʹģʽ0-ʹýͨ1-ʹʾͨͨ - BYTE bySupportScreenNums;//ֵ֧ĴĻ - BYTE bySupportLayerNums;//ֵ֧ͼ0xff-Ч - BYTE byNotSupportPreview;//Ƿ֧Ԥ,1-֧֣0-֧ - BYTE byNotSupportStorage;//Ƿִ֧洢,1-֧֣0-֧ - BYTE byUploadLogoMode;//ϴlogoģʽ0-ϴͨ1-ϴʾͨ - NET_DVR_SUBSYSTEM_ABILITY struSubSystemAbility[MAX_SUBSYSTEM_NUM_V40]; - BYTE by485Nums;//485ڸ - BYTE by232Nums;//232ڸ - BYTE bySerieStartChan;//ʼͨ - BYTE byScreenMode;//ģʽ0-ɿͻ˷䣬1-豸˷ - BYTE byDevVersion;//豸汾0-B10/B11/B121-B20 - BYTE bySupportBaseMapNums;//ֵ֧ĵͼͼŴ1ʼ - WORD wBaseLengthX;//ÿСĻ׼ֵB20ʹ - WORD wBaseLengthY; - BYTE bySupportPictureTrans; //Ƿ֧ͼƬԣ0-֧֣1-֧ - BYTE bySupportPreAllocDec; //Ƿ֧ܽԴԤ䣬0-֧֣1-֧ - BYTE bySupportDecAutoManage; //Ƿֽ֧Դ - BYTE byTranDevSubSystemNums; //תϵͳ - BYTE byFiberSwitchNums; //ϵͳ - BYTE byRes2[625]; -}NET_DVR_VIDEOPLATFORM_ABILITY_V40, *LPNET_DVR_VIDEOPLATFORM_ABILITY_V40; - -typedef struct tagNET_DVR_VIDEOPLATFORM_ABILITY -{ - DWORD dwSize; - BYTE byCodeSubSystemNums;//ϵͳ - BYTE byDecodeSubSystemNums;//ϵͳ - BYTE bySupportNat;//Ƿ֧NAT0-֧֣1-֧ - BYTE byInputSubSystemNums;//ϵͳ - BYTE byOutputSubSystemNums;//ϵͳ - BYTE byCodeSpitterSubSystemNums;//ϵͳ - BYTE byAlarmHostSubSystemNums;//ϵͳ - BYTE bySupportBigScreenNum;//֧ƴ - BYTE byVCASubSystemNums;//ϵͳ - BYTE byRes1[11]; - NET_DVR_SUBSYSTEM_ABILITY struSubSystemAbility[MAX_SUBSYSTEM_NUM]; - BYTE by485Nums;//485ڸ - BYTE by232Nums;//485ڸ - BYTE bySerieStartChan;//ʼͨ - BYTE byRes2[637]; -}NET_DVR_VIDEOPLATFORM_ABILITY, *LPNET_DVR_VIDEOPLATFORM_ABILITY; -//ȡӿ - -//ģʽA -typedef struct tagNET_DVR_HOLIDATE_MODEA -{ - BYTE byStartMonth; // ʼ 1ʼ - BYTE byStartDay; // ʼ 1ʼ - BYTE byEndMonth; // - BYTE byEndDay; // - BYTE byRes[4]; // ֽ -}NET_DVR_HOLIDATE_MODEA, *LPNET_DVR_HOLIDATE_MODEA; - -typedef struct tagNET_DVR_HOLIDATE_MODEB -{ - BYTE byStartMonth; // 1ʼ - BYTE byStartWeekNum; // ڼ 1ʼ - BYTE byStartWeekday; // ڼ - BYTE byEndMonth; // 1ʼ - BYTE byEndWeekNum; // ڼ 1ʼ - BYTE byEndWeekday; // ڼ - BYTE byRes[2]; // ֽ -}NET_DVR_HOLIDATE_MODEB, *LPNET_DVR_HOLIDATE_MODEB; - -typedef struct tagNET_DVR_HOLIDATE_MODEC -{ - WORD wStartYear; // - BYTE byStartMon; // - BYTE byStartDay; // - WORD wEndYear; // - BYTE byEndMon; // - BYTE byEndDay; // -}NET_DVR_HOLIDATE_MODEC, *LPNET_DVR_HOLIDATE_MODEC; - -typedef union tagNET_DVR_HOLIDATE_UNION -{ - // С 12ֽ - DWORD dwSize[3]; - NET_DVR_HOLIDATE_MODEA struModeA; // ģʽA - NET_DVR_HOLIDATE_MODEB struModeB; // ģʽB - NET_DVR_HOLIDATE_MODEC struModeC; // ģʽC -}NET_DVR_HOLIDATE_UNION, *LPNET_DVR_HOLIDATE_UNION; - -typedef enum tagHOLI_DATE_MODE -{ - HOLIDATE_MODEA = 0, - HOLIDATE_MODEB, - HOLIDATE_MODEC -}HOLI_DATE_MODE; - -typedef struct tagNET_DVR_HOLIDAY_PARAM -{ - BYTE byEnable; // Ƿ - BYTE byDateMode; // ģʽ 0-ģʽA 1-ģʽB 2-ģʽC - BYTE byRes1[2]; // ֽ - NET_DVR_HOLIDATE_UNION uHolidate; // - BYTE byName[NAME_LEN]; // - BYTE byRes2[20]; // ֽ -}NET_DVR_HOLIDAY_PARAM, *LPNET_DVR_HOLIDAY_PARAM; - -#define MAX_HOLIDAY_NUM 32 - -typedef struct tagNET_DVR_HOLIDAY_PARAM_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_HOLIDAY_PARAM struHolidayParam[MAX_HOLIDAY_NUM]; // ղ - DWORD byRes[40]; // -}NET_DVR_HOLIDAY_PARAM_CFG, *LPNET_DVR_HOLIDAY_PARAM_CFG; - -// ձʽ -typedef struct tagNET_DVR_HOLIDAY_HANDLE -{ - DWORD dwSize; // ṹС - NET_DVR_SCHEDTIME struAlarmTime[MAX_TIMESEGMENT_V30]; // ʱ - BYTE byRes2[240]; // ֽ -}NET_DVR_HOLIDAY_HANDLE, *LPNET_DVR_HOLIDAY_HANDLE; - -typedef struct tagNET_DVR_HOLIDAY_HANDLE_COND -{ - DWORD dwSize; // ṹС - DWORD dwChannel; //ͨ - DWORD dwSMDHandleType; //ܼղ 0-Ƶ쳣⣬1-齹⣬2- - BYTE byRes2[32]; // ֽ -}NET_DVR_HOLIDAY_HANDLE_COND, *LPNET_DVR_HOLIDAY_HANDLE_COND; - -typedef struct tagNET_DVR_HOLIDAY_RECORD -{ - DWORD dwSize; - NET_DVR_RECORDDAY struRecDay; // ¼ - NET_DVR_RECORDSCHED struRecordSched[MAX_TIMESEGMENT_V30]; // ¼ʱ - BYTE byRes[20]; // ֽ -}NET_DVR_HOLIDAY_RECORD, *LPNET_DVR_HOLIDAY_RECORD; - -#define MAX_LINK_V30 128 - -typedef struct tagNET_DVR_ONE_LINK -{ - NET_DVR_IPADDR struIP; // ͻIP - LONG lChannel; // ͨ - BYTE byRes[32]; // ֽ -}NET_DVR_ONE_LINK, *LPNET_DVR_ONE_LINK; - -typedef struct tagNET_DVR_LINK_STATUS -{ - DWORD dwSize; // ṹС - WORD wLinkNum; // ӵĿ - BYTE byRes1[2]; // ֽ - NET_DVR_ONE_LINK struOneLink[MAX_LINK_V30]; // ӵĿͻϢ - BYTE byRes[32]; // ֽ -}NET_DVR_LINK_STATUS, *LPNET_DVR_LINK_STATUS; - -#define MAX_BOND_NUM 2 - -typedef struct tagNET_DVR_ONE_BONDING -{ - BYTE byMode; // ģʽ0 - ݴ 1 - ؾ - BYTE byUseDhcp; // Ƿʹdhcp - BYTE byMasterCard; // ָΪ - BYTE byStatus; // BONDING״̬ 0 - 쳣 1- ֻܻȡ - BYTE byBond[MAX_NETWORK_CARD];// byBond[0]== 1 ʾʹeh0 0ʾʹeh0 - NET_DVR_ETHERNET_V30 struEtherNet; // - NET_DVR_IPADDR struGatewayIpAddr; // صַ - BYTE byEnableDNS; //DNSʹ, 0-رգ1- - BYTE byBondMode; //󶨷ʽ, 0-Ч1-ģʽ2-תģʽ3-XORģʽ4-㲥ģʽ5-802.3adģʽ6-T1bģʽ7-⻯ģʽ - BYTE byRes1[2]; - BYTE byBond2[MAX_NETWORK_CARD_EX/*12*/];// byBond2[0]== 1 ʾʹeh4 0ʾʹeh4byBondչ - BYTE byRes[4];// ֽ -}NET_DVR_ONE_BONDING, *LPNET_DVR_ONE_BONDING; - -typedef struct tagNET_DVR_NETWORK_BONDING -{ - DWORD dwSize; // ṹС - BYTE byEnable; // Ƿbonding - BYTE byNum; // Bondingĸ - BYTE byRes1[2]; // ֽ - NET_DVR_ONE_BONDING struOneBond[MAX_BOND_NUM]; - BYTE byRes2[40]; // ֽ -}NET_DVR_NETWORK_BONDING, *LPNET_DVR_NETWORK_BONDING; - - -// -typedef struct tagNET_DVR_DISK_QUOTA -{ - BYTE byQuotaType; // ,1 - 2-3-ʱ - BYTE byRes1[5]; // ֽ - WORD wStoragePeriod; //¼洢ڣλ죬ΪʱʱЧ - DWORD dwHCapacity; // Ĵ32λ λMB - DWORD dwLCapacity; // Ĵ32λ λMB - DWORD dwHUsedSpace; // ʹõĴ̴С32λ λMB - DWORD dwLUsedSpace; // ʹõĴ̴С32λ λMB - BYTE byQuotaRatio; // Ĵ̱,λ:% - BYTE byRes2[21]; // ֽ -}NET_DVR_DISK_QUOTA, *LPNET_DVR_DISK_QUOTA; - -typedef struct tagNET_DVR_DISK_QUOTA_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_DISK_QUOTA struPicQuota; // ͼƬ - NET_DVR_DISK_QUOTA struRecordQuota; // ¼ - NET_DVR_DISK_QUOTA struAddInfoQuota; // Ϣ (ƴ洢Ŀǰֵ֧ĸϢУȶͼ) - BYTE byRes[12]; //ֽ -}NET_DVR_DISK_QUOTA_CFG, *LPNET_DVR_DISK_QUOTA_CFG; - -typedef struct tagNET_DVR_DISK_QUOTA_V60 -{ - BYTE byQuotaType; // ,1 - 2-3-ʱ - BYTE byRes1[5]; // ֽ - WORD wStoragePeriod; //¼洢ڣλ죬ΪʱʱЧ - DWORD dwHCapacity; // Ĵ32λ λMB - DWORD dwLCapacity; // Ĵ32λ λMB - DWORD dwHUsedSpace; // ʹõĴ̴С32λ λMB - DWORD dwLUsedSpace; // ʹõĴ̴С32λ λMB - BYTE byQuotaRatio; // Ĵ̱,λ:% - BYTE byRes2[23]; // ֽ -}NET_DVR_DISK_QUOTA_V60, *LPNET_DVR_DISK_QUOTA_V60; - -typedef struct tagNET_DVR_DISK_QUOTA_CFG_V60 -{ - DWORD dwSize; // ṹС - NET_DVR_DISK_QUOTA_V60 struPicQuota; // ͼƬ - NET_DVR_DISK_QUOTA_V60 struRecordQuota; // ¼ - NET_DVR_DISK_QUOTA_V60 struAddInfoQuota; // Ϣ (ƴ洢Ŀǰֵ֧ĸϢУȶͼ) - NET_DVR_DISK_QUOTA_V60 struPubInfoFile; // Ϣļٷֱ - BYTE byRes[256]; //ֽֽ -}NET_DVR_DISK_QUOTA_CFG_V60, *LPNET_DVR_DISK_QUOTA_CFG_V60; - - -typedef struct tagNET_DVR_TIMING_CAPTURE -{ - NET_DVR_JPEGPARA struJpegPara; // ʱץͼͼƬ - DWORD dwPicInterval; // ʱץͼʱ,λs 1-1s 2-2s 3-3s 4-4s 5-5s - // 6-10m 7-30m 8-1h 9-12h 10-24h - BYTE byRes[12]; // ֽ -}NET_DVR_TIMING_CAPTURE, *LPNET_DVR_TIMING_CAPTURE; - -typedef struct tagNET_DVR_REL_CAPTURE_CHAN -{ - BYTE byChan[16]; // λʾ - BYTE byRes[20]; // ֽ -}NET_DVR_REL_CAPTURE_CHAN, *LPNET_DVR_REL_CAPTURE_CHAN; - -#define MAX_PIC_EVENT_NUM 32 -#define MAX_ALARMIN_CAPTURE 16 - -typedef struct tagNET_DVR_REL_CAPTURE_CHAN_V40 -{ - DWORD dwMaxRelCaptureChanNum; //ɴĹͨ-ֻ - DWORD dwChanNo[MAX_CHANNUM_V40]; //Ĺץͼͨţֵʾý,0xffffffffʾЧ - BYTE byRes[32]; -}NET_DVR_REL_CAPTURE_CHAN_V40, *LPNET_DVR_REL_CAPTURE_CHAN_V40; - -typedef struct tagNET_DVR_EVENT_CAPTURE_V40 -{ - NET_DVR_JPEGPARA struJpegPara; // ¼ץͼͼƬ - DWORD dwPicInterval; // ¼ץͼʱ λΪ - NET_DVR_REL_CAPTURE_CHAN_V40 struRelCaptureChan[MAX_PIC_EVENT_NUM]; // ± 0 ƶⴥץͼ 1 Ƶڵץͼ 2 Ƶʧץͼ,3ʾPIRץͼ4ʾ߱ץͼ5ʾȱץͼ,6ʾץͼ - NET_DVR_REL_CAPTURE_CHAN_V40 struAlarmInCapture[MAX_ALARMIN_CAPTURE]; // 봥ץͼ±0 1 - DWORD dwMaxGroupNum; //豸ֵ֧󱨾ÿ16 - BYTE byCapTimes; //ץͼ - BYTE byRes[59]; -}NET_DVR_EVENT_CAPTURE_V40, *LPNET_DVR_EVENT_CAPTURE_V40; - - -typedef struct tagNET_DVR_EVENT_CAPTURE -{ - NET_DVR_JPEGPARA struJpegPara; // ¼ץͼͼƬ - DWORD dwPicInterval; // ¼ץͼʱ λΪ 1-1s 2-2s 3-3s 4-4s 5-5s - // 6-10m 7-30m 8-1h 9-12h 10-24h - /* - ± 0 ƶⴥץͼ 1 Ƶڵץͼ2 Ƶʧץͼ,3ʾPIRץͼ - 4ʾ߱ץͼ5ʾȱץͼ,6ʾץͼ,7 ʾץͼ - 8 ʾ-Խץͼ9 ʾץͼ,10ʾץͼ, - 11-,12-뿪,13-ǻ,14-Աۼ,15-˶, - 16-ͣ,17-Ʒ,18-Ʒȡ⡣ - */ - NET_DVR_REL_CAPTURE_CHAN struRelCaptureChan[MAX_PIC_EVENT_NUM]; - NET_DVR_REL_CAPTURE_CHAN struAlarmInCapture[MAX_ALARMIN_CAPTURE]; // 봥ץͼ±0 1 - BYTE byCapTimes; //ץͼ - BYTE byRes[59]; -}NET_DVR_EVENT_CAPTURE, *LPNET_DVR_EVENT_CAPTURE; - -typedef struct tagNET_DVR_JPEG_CAPTURE_CFG_V40 -{ - DWORD dwSize; //ṹ峤 - NET_DVR_TIMING_CAPTURE struTimingCapture; - NET_DVR_EVENT_CAPTURE_V40 struEventCapture; - BYTE byStreamType;//ץͼ 0-1- - BYTE byRes3[19]; // ֽ -}NET_DVR_JPEG_CAPTURE_CFG_V40, *LPNET_DVR_JPEG_CAPTURE_CFG_V40; - -typedef struct tagNET_DVR_JPEG_CAPTURE_CFG -{ - DWORD dwSize; // ṹС - NET_DVR_TIMING_CAPTURE struTimingCapture; - NET_DVR_EVENT_CAPTURE struEventCapture; - BYTE byStreamType;//ץͼ 0-1- - BYTE byRes3[19]; // ֽ -}NET_DVR_JPEG_CAPTURE_CFG, *LPNET_DVR_JPEG_CAPTURE_CFG; - -typedef struct tagNET_DVR_CAPTURE_DAY -{ - BYTE byAllDayCapture; // Ƿȫץͼ - BYTE byCaptureType; // ץͼͣ0-ʱץͼ1-ƶץͼ2-ץͼ3-ƶ򱨾ץͼ4-ƶͱץͼ6-ܱץͼ,7-ץͼ8-ȫ¼ ,39-߲ץͼ,40-41-,42ҵѯ 43-ŷż 44-Ҷȱ - BYTE byRes[2]; -}NET_DVR_CAPTURE_DAY, *LPNET_DVR_CAPTURE_DAY; - -typedef struct tagNET_DVR_CAPTURE_SCHED -{ - NET_DVR_SCHEDTIME struCaptureTime; // ץͼʱ - BYTE byCaptureType; // ץͼͣ0-ʱץͼ1-ƶץͼ2-ץͼ3-ƶ򱨾ץͼ4-ƶͱץͼ6-ܱץͼ,7-ץͼ8-ȫ¼ ,39-߲ץͼ ,40-41-,42ҵѯ 43-ŷż 44-Ҷȱ - BYTE byRes[3]; // ֽ -}NET_DVR_CAPTURE_SCHED, *LPNET_DVR_CAPTURE_SCHED; - -// ͨץͼƻ -typedef struct tagNET_DVR_SCHED_CAPTURECFG -{ - DWORD dwSize; // ṹ - BYTE byEnable; // Ƿץͼ - BYTE byRes1[3]; // ֽ - NET_DVR_CAPTURE_DAY struCaptureDay[MAX_DAYS]; // ȫץͼƻ - NET_DVR_CAPTURE_SCHED struCaptureSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; // ʱץͼƻ - NET_DVR_CAPTURE_DAY struCaptureHoliday; // ץͼƻ - NET_DVR_CAPTURE_SCHED struHolidaySched[MAX_TIMESEGMENT_V30]; // ʱμץͼƻ - DWORD dwRecorderDuration; // ץͼʱ 0xffffffffʾֵЧ - DWORD dwDelayTime; /* ץͼʱʱ 0- ʱ 1-3룬 2-4룬 3-5룬 4-10룬 5-30룬 6-60룬 7- 120룬8-300*/ - BYTE byRes[36]; // ֽ -}NET_DVR_SCHED_CAPTURECFG, *LPNET_DVR_SCHED_CAPTURECFG; - - -typedef struct tagNET_DVR_FLOW_TEST_PARAM -{ - DWORD dwSize; //ṹС - LONG lCardIndex; // - DWORD dwInterval; //豸ϴʱ, λ:100ms - BYTE byRes[8]; //ֽ -}NET_DVR_FLOW_TEST_PARAM, *LPNET_DVR_FLOW_TEST_PARAM; - -typedef struct tagNET_DVR_FLOW_INFO -{ - DWORD dwSize; //ṹС - DWORD dwSendFlowSize; //С,λkbps - DWORD dwRecvFlowSize; //С,λkbps - BYTE byRes[20]; // -}NET_DVR_FLOW_INFO, *LPNET_DVR_FLOW_INFO; - -// ¼ǩ -#define LABEL_NAME_LEN 40 -typedef struct tagNET_DVR_RECORD_LABEL -{ - DWORD dwSize; // ṹС - NET_DVR_TIME struTimeLabel; // ǩʱ - BYTE byQuickAdd; // Ƿ ʱǩЧ - BYTE byRes1[3]; // ֽ - BYTE sLabelName[LABEL_NAME_LEN]; // ǩ Ϊ40ֽ - BYTE byRes2[40]; // ֽ -}NET_DVR_RECORD_LABEL, *LPNET_DVR_RECORD_LABEL; - -#define LABEL_IDENTIFY_LEN 64 -typedef struct tagNET_DVR_LABEL_IDENTIFY -{ - BYTE sLabelIdentify[LABEL_IDENTIFY_LEN]; // 64ֽڱʶ - BYTE byRes[8]; // ֽ -}NET_DVR_LABEL_IDENTIFY, *LPNET_DVR_LABEL_IDENTIFY; - -#define MAX_DEL_LABEL_IDENTIFY 20// ɾǩʶ - -typedef struct tagNET_DVR_DEL_LABEL_PARAM -{ - DWORD dwSize; // ṹС - BYTE byMode; // λʾ,0x01ʾʶɾ - BYTE byRes1; - WORD wLabelNum; // ǩĿ - NET_DVR_LABEL_IDENTIFY struIndentify[MAX_DEL_LABEL_IDENTIFY]; // ǩʶ - BYTE byRes2[160]; //ֽ -}NET_DVR_DEL_LABEL_PARAM, *LPNET_DVR_DEL_LABEL_PARAM; - -typedef struct tagNET_DVR_MOD_LABEL_PARAM -{ - NET_DVR_LABEL_IDENTIFY struIndentify; //Ҫ޸ĵıǩʶ - BYTE byRes1[24]; - BYTE sLabelName[LABEL_NAME_LEN]; //޸ĺıǩ - BYTE byRes2[40]; -}NET_DVR_MOD_LABEL_PARAM, *LPNET_DVR_MOD_LABEL_PARAM; - -// ǩṹ -typedef struct tagNET_DVR_FIND_LABEL -{ - DWORD dwSize; // ṹС - LONG lChannel; // ҵͨ - NET_DVR_TIME struStartTime; // ʼʱ - NET_DVR_TIME struStopTime; // ʱ - BYTE sLabelName[LABEL_NAME_LEN]; // ¼ǩ ǩΪգֹʱбǩ - BYTE byDrawFrame; //0:֡1֡ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[34]; // ֽ -}NET_DVR_FIND_LABEL, *LPNET_DVR_FIND_LABEL; - -// ǩϢṹ -typedef struct tagNET_DVR_FINDLABEL_DATA -{ - BYTE sLabelName[LABEL_NAME_LEN]; // ǩ - NET_DVR_TIME struTimeLabel; // ǩʱ - NET_DVR_LABEL_IDENTIFY struLabelIdentify; // ǩʶ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[29]; // ֽ -}NET_DVR_FINDLABEL_DATA, *LPNET_DVR_FINDLABEL_DATA; - -#define CARDNUM_LEN_V30 40 -//ö -typedef enum _COUNTRY_INDEX_ -{ - COUNTRY_NONSUPPORT = 0, //0-㷨ⲻ֧ʶ - /* һ235Һ͵ */ - /*ŷ 48Һ͵ ·˹(Cyprus)ŷ޽*/ - COUNTRY_CZE = 1, //Czech Republic ݿ˹͹ - COUNTRY_FRA = 2, //France - COUNTRY_DEU = 3, //Germany ¹ - COUNTRY_ESP = 4, //Spain - COUNTRY_ITA = 5, //Italy - COUNTRY_NLD = 6, //Netherlands - COUNTRY_POL = 7, //Poland - COUNTRY_SVK = 8, //Slovakia ˹工 - COUNTRY_BLR = 9, //Belarus ׶˹ - COUNTRY_MDA = 10, //Moldova Ħ - COUNTRY_RUS = 11, //Russia ˹ - COUNTRY_UKR = 12, //Ukraine ڿ - COUNTRY_BEL = 13, //Belgium ʱ - COUNTRY_BGR = 14, //Bulgaria - COUNTRY_DNK = 15, //Denmark - COUNTRY_FIN = 16, //Finland - COUNTRY_GBR = 17, //United Kingdom Ӣ - COUNTRY_GRC = 18, //Greece ϣ - COUNTRY_HRV = 19, //Croatia ޵ - COUNTRY_HUN = 20, //Hungary - COUNTRY_ISR = 21, //Israel ɫ() - COUNTRY_LUX = 22, //Luxembourg ¬ɭ - COUNTRY_MKD = 23, //Macedonia ٹ͹ - COUNTRY_NOR = 24, //Norway Ų - COUNTRY_PRT = 25, //Portuga - COUNTRY_ROU = 26, //Romania - COUNTRY_SRB = 27, //Serbia ά - COUNTRY_AZE = 28, //Azerbaijan ͹() - COUNTRY_GEO = 29, //Georgia ³() - COUNTRY_KAZ = 30, //Kazakhstan ˹̹() - COUNTRY_LTU = 31, //Lithuania 𹲺͹ - COUNTRY_TKM = 32, //Turkmenistan ˹̹() - COUNTRY_UZB = 33, //Uzbekistan ȱ˹̹() - COUNTRY_LVA = 34, //Latvia ά - COUNTRY_EST = 35, //Estonia ɳ - COUNTRY_ALB = 36, //Albania - COUNTRY_AUT = 37, //Austria µ - COUNTRY_BIH = 38, //Bosnia and Herzegovina ˹Ǻͺά - COUNTRY_IRL = 39, //Ireland - COUNTRY_ISL = 40, //Iceland - COUNTRY_VAT = 41, //Vatican ٸ - COUNTRY_MLT = 42, //Malta - COUNTRY_SWE = 43, //Sweden - COUNTRY_CHE = 44, //Switzerland ʿ - COUNTRY_CYP = 45, //Cyprus ·˹ - COUNTRY_TUR = 46, //Turkey - COUNTRY_SVN = 47, //Slovenia ˹ - COUNTRY_MTG = 48, //Montenegro ɽ͹ - COUNTRY_KOV = 49, //Kosovo - COUNTRY_ADR = 50, //Andorra - COUNTRY_ARM = 51, //Armenia () - COUNTRY_MON = 52, //Monaco Ħɸ - COUNTRY_LIE = 53, //Liechtenstein ֧ʿ - COUNTRY_SMO = 54, //San Marino ʥŵ - COUNTRY_ORN = 55, //Aland () - COUNTRY_RES2 = 56, //ֶ - COUNTRY_RES3 = 57, //ֶ - COUNTRY_RES4 = 58, //ֶ - /* 48 ·˹(Cyprus)ŷ޽*/ - COUNTRY_CHI = 59, //China й - COUNTRY_IBN = 60, //In bahrain - COUNTRY_SKR = 61, //South Korea - COUNTRY_LEB = 62, //Lebanon - COUNTRY_NEP = 63, //Nepal Ჴ - COUNTRY_THA = 64, //Thailand ̩ - COUNTRY_PAK = 65, //Pakistan ͻ˹̹ - COUNTRY_EMI = 66, //The united Arab emirates - COUNTRY_BHU = 67, //Bhutan - COUNTRY_OMA = 68, //Oman - COUNTRY_KOR = 69, //North Korea - COUNTRY_PHI = 70, //The Philippines ɱ - COUNTRY_CAM = 71, //Cambodia կ - COUNTRY_QAT = 72, //Qatar - COUNTRY_KYR = 73, //Kyrgyzstan ˹˹̹ - COUNTRY_MAL = 74, //The maldives - COUNTRY_MLY = 75, //Malaysia - COUNTRY_MOG = 76, //Mongolia ɹ - COUNTRY_ARA = 77, //Saudi Arabia ɳذ - COUNTRY_BRU = 78, //brunei - COUNTRY_LAO = 79, //Laos - COUNTRY_JAP = 80, //Japan ձ - COUNTRY_RES19 = 81, //ֶ - COUNTRY_PAS = 82, //Palestinian state ˹̹ - COUNTRY_TAJ = 83, //Tajikistan ˹̹ - COUNTRY_KUW = 84, //Kuwait - COUNTRY_SYR = 85, //Syria - COUNTRY_IND = 86, //India ӡ - COUNTRY_ISA = 87, //Indonesia ӡ - COUNTRY_AFG = 88, //Afghanistan - COUNTRY_LAN = 89, //Sri Lanka ˹ - COUNTRY_IRQ = 90, //Iraq - COUNTRY_VIE = 91, //Vietnam Խ - COUNTRY_IRA = 92, //Iran - COUNTRY_YEM = 93, //yemen Ҳ - COUNTRY_JOR = 94, //Jordan Լ - COUNTRY_BUR = 95, //Burma - COUNTRY_SIK = 96, //Sikkim - COUNTRY_BAN = 97, //Bangladesh ϼ - COUNTRY_SGA = 98, //Singapore ¼ - COUNTRY_EAT = 99, //East timor 루Ҳϣ - COUNTRY_RES5 = 100, //ֶ - COUNTRY_RES6 = 101, //ֶ - COUNTRY_RES7 = 102, //ֶ - COUNTRY_RES8 = 103, //ֶ - /* 60Һ͵*/ - COUNTRY_EGT = 104, //Egypt - COUNTRY_LIY = 105, //Libya - COUNTRY_SUA = 106, //Sudan յ - COUNTRY_TUN = 107, //Tunisia ͻ˹ - COUNTRY_ALG = 108, //Algeria - COUNTRY_MCC = 109, //Morocco Ħ - COUNTRY_ETH = 110, //Ethiopia - COUNTRY_ERI = 111, //Eritrea - COUNTRY_SDE = 112, //Somalia Democratic - COUNTRY_DJI = 113, //Djibouti - COUNTRY_KEN = 114, //Kenya - COUNTRY_TAI = 115, //Tanzania ̹ɣ - COUNTRY_UGA = 116, //Uganda ڸɴ - COUNTRY_RWA = 117, //Rwanda ¬ - COUNTRY_BUD = 118, //Burundi ¡ - COUNTRY_SEY = 119, //Seychelles - COUNTRY_CHA = 120, //Chad է - COUNTRY_CEA = 121, //Central African з - COUNTRY_CON = 122, //Cameroon ¡ - COUNTRY_EQG = 123, //Equatorial Guinea - COUNTRY_GAB = 124, //Gabon - COUNTRY_TCO = 125, //the Congo չ͹չ - COUNTRY_DRC = 126, //Democratic Republic of the Congo չ͹չ𣩣 - COUNTRY_STP = 127, //Sao Tome and Principe ʥ - COUNTRY_MAN = 128, //Mauritania ë - COUNTRY_WSA = 129, //Western Sahara - COUNTRY_SEL = 130, //Senegal ڼӶ - COUNTRY_TGA = 131, //the Gambia Ա - COUNTRY_MAI = 132, //Mali - COUNTRY_BUF = 133, //Burkina Faso ɷ - COUNTRY_GUI = 134, //Guinea - COUNTRY_GUB = 135, //Guinea-Bissau DZ - COUNTRY_CAV = 136, //Cape Verde ý - COUNTRY_SLE = 137, //Sierra Leone - COUNTRY_LIR = 138, //Liberia - COUNTRY_IVC = 139, //Ivory Coast ص - COUNTRY_GHA = 140, //Ghana - COUNTRY_TGO = 141, //Togo - COUNTRY_BEN = 142, //Benin - COUNTRY_NIG = 143, //Niger ն - COUNTRY_ZAB = 144, //Zambia ޱ - COUNTRY_ANG = 145, //Angola - COUNTRY_ZBE = 146, //Zimbabwe ͲΤ - COUNTRY_MAW = 147, //Malawi ά - COUNTRY_MOQ = 148, //Mozambique Īɣȿ - COUNTRY_BOT = 149, //Botswana - COUNTRY_NAM = 150, //Namibia ױ - COUNTRY_SAF = 151, //South Africa Ϸ - COUNTRY_SWD = 152, //Swaziland ˹ʿ - COUNTRY_LES = 153, //Lesotho - COUNTRY_MAG = 154, //Madagasca ˹ - COUNTRY_UOC = 155, //Union of Comoros Ħ - COUNTRY_MAT = 156, //Mauritius ë˹ - COUNTRY_NGE = 157, //Nigeria - COUNTRY_SSD = 158, //South Sudan յ - COUNTRY_SAH = 159, //Saint Helena ʥãӢʡ - COUNTRY_MYT = 160, //Mayotte Լأʡ - COUNTRY_REN = 161, //Reunion ʡ - COUNTRY_CAI = 162, //Canary Islands Ⱥ - COUNTRY_AZO = 163, //AZORES ٶȺ - COUNTRY_MAD = 164, //Madeira Ⱥ - COUNTRY_RES9 = 165, //ֶ - COUNTRY_RES10 = 166, //ֶ - COUNTRY_RES11 = 167, //ֶ - COUNTRY_RES12 = 168, //ֶ - /* 55Һ͵*/ - COUNTRY_CAD = 169, //Canada ô - COUNTRY_GRE = 170, //Greenland Nuuk ĺ - COUNTRY_PIE = 171, //Pierre and Miquelon ʥƤܿ¡ - COUNTRY_USA = 172, //United States - COUNTRY_BER = 173, //Bermuda ĽӢ - COUNTRY_MEX = 174, //Mexico ī - COUNTRY_GUA = 175, //Guatemala Σ - COUNTRY_BLI = 176, //Belize - COUNTRY_SAR = 177, //El Salvador ߶ - COUNTRY_HOR = 178, //Honduras 鶼˹ - COUNTRY_NIC = 179, //Nicaragua - COUNTRY_COR = 180, //Costa Rica ˹ - COUNTRY_PAN = 181, //Panama - COUNTRY_TBM = 182, //The Bahamas ͹ - COUNTRY_TCI = 183, //The Turks and Caicos Islands ؿ˹ȺͿ˹ȺӢ - COUNTRY_CUB = 184, //Cuba Ű - COUNTRY_JAM = 185, //Jamaica - COUNTRY_CAY = 186, //Cayman Islands ȺӢ - COUNTRY_HAT = 187, //Haiti - COUNTRY_TDO = 188, //The Dominican - COUNTRY_PUR = 189, //Puerto Rico - COUNTRY_VIL = 190, //The United States Virgin IslandsάȺ - COUNTRY_BVI = 191, //The British Virgin Islands ӢάȺ - COUNTRY_ATV = 192, //Anguilla The Valley Ӣ - COUNTRY_ANB = 193, //Antigua and Barbuda ϺͰͲ - COUNTRY_CSM = 194, //Collectivit de Saint-Martin ʥ - COUNTRY_ACY = 195, //Autonomous country ʥι - COUNTRY_SBY = 196, //Saint-Barthlemy ʥ̩׵ - COUNTRY_SKN = 197, //Saint Kitts and Nevis ʥĺά˹ - COUNTRY_MOT = 198, //Montserrat أӢ - COUNTRY_GLP = 199, //Guadeloupe ϵգ - COUNTRY_DOM = 200, //Dominica - COUNTRY_MTE = 201, //Martinique ˣ - COUNTRY_LUC = 202, //St. Lucia ʥ¬ - COUNTRY_SVG = 203, //Saint Vincent and the Grenadines ʥɭغ͸ɶ˹ - COUNTRY_GRD = 204, //Grenada ɴ - COUNTRY_BAR = 205, //Barbados ͰͶ˹ - COUNTRY_TRT = 206, //Trinidad and Tobago Ͷ͸ - COUNTRY_CUR = 207, //Cura?ao һι - COUNTRY_ARB = 208, //Aruba ³ͣһι - COUNTRY_NEA = 209, //Netherlands Antilles ˹ - COUNTRY_COL = 210, //Colombia ױ - COUNTRY_VEN = 211, //Venezuela ί - COUNTRY_GUY = 212, //Guyana - COUNTRY_SUR = 213, //Suriname - COUNTRY_FRN = 214, //Guyane Francaise - COUNTRY_ECU = 215, //Ecuador ϶ - COUNTRY_PER = 216, //Peru ³ - COUNTRY_BOL = 217, //Bolivia ά - COUNTRY_PAR = 218, //Paraguay - COUNTRY_CLE = 219, //Chile - COUNTRY_BRA = 220, //Brazil - COUNTRY_UGY = 221, //Uruguay - COUNTRY_ARG = 222, //Argentina ͢ - COUNTRY_RES13 = 223, //ֶ - COUNTRY_RES14 = 224, //ֶ - COUNTRY_RES15 = 225, //ֶ - COUNTRY_RES16 = 226, //ֶ - /* 25Һ͵ */ - COUNTRY_ATN = 227, //Australien Ĵ - COUNTRY_NED = 228, //Neuseeland - COUNTRY_PNG = 229, //Papua New Guinea Ͳ¼ - COUNTRY_SAN = 230, //Salomonen Ⱥ - COUNTRY_VAU = 231, //Vanuatu Ŭͼ - COUNTRY_NCN = 232, //New Caledonia ¿ǣĺأ - COUNTRY_PAU = 233, //Palau - COUNTRY_FSM = 234, //Federated States of Micronesia ܿ - COUNTRY_MRI = 235, //Marshall Island ܶȺ - COUNTRY_CNM = 236, //Commonwealth of the Northern Mariana Islands Ⱥĺأ - COUNTRY_TEG = 237, //The Territory of Guahan صĺأ - COUNTRY_NUR = 238, //Nauru ³ - COUNTRY_KIB = 239, //Kiribati ˹ - COUNTRY_FID = 240, //Fidschi 쳼Ⱥ - COUNTRY_TNG = 241, //Tonga - COUNTRY_TUV = 242, //Tuvalu ͼ¬ - COUNTRY_WEF = 243, //Wallis et Futuna ˹͸ͼɣĺأ - COUNTRY_TIS = 244, //The Independent State of Samoa Ħ - COUNTRY_EAS = 245, //Eastern Samoa Ħ - COUNTRY_TOE = 246, //Tokelau пͣ - COUNTRY_NUE = 247, //Niue Ŧ - COUNTRY_TCD = 248, //The Cook Islands Ⱥ - COUNTRY_PFP = 249, //Polynsie fran?aiseFrench Polynesia - COUNTRY_PID = 250, //Pitcairn Islands ƤؿȺӢĺأ - COUNTRY_HAW = 251, //Hawaii State ģĺأ - COUNTRY_RES17 = 252, //ֶ - COUNTRY_INVALID = 0xfd, //ֶЧҪʹչֶCRIndex(_CR_INDEX_) - COUNTRY_UNRECOGNIZED = 0xfe, //Unrecognized ޷ʶ - COUNTRY_ALL = 0xff, //ALL ȫ -}COUNTRY_INDEX; - -// / ö -typedef enum _CR_INDEX_ -{ - CR_NONSUPPORT = 0, //0-㷨ⲻ֧ʶ - /* һ235Һ͵ */ - /*ŷ 48Һ͵ ·˹(Cyprus)ŷ޽*/ - CR_CZE = 1, //Czech Republic ݿ˹͹ - CR_FRA = 2, //France - CR_DEU = 3, //Germany ¹ - CR_ESP = 4, //Spain - CR_ITA = 5, //Italy - CR_NLD = 6, //Netherlands - CR_POL = 7, //Poland - CR_SVK = 8, //Slovakia ˹工 - CR_BLR = 9, //Belarus ׶˹ - CR_MDA = 10, //Moldova Ħ - CR_RUS = 11, //Russia ˹ - CR_UKR = 12, //Ukraine ڿ - CR_BEL = 13, //Belgium ʱ - CR_BGR = 14, //Bulgaria - CR_DNK = 15, //Denmark - CR_FIN = 16, //Finland - CR_GBR = 17, //United Kingdom Ӣ - CR_GRC = 18, //Greece ϣ - CR_HRV = 19, //Croatia ޵ - CR_HUN = 20, //Hungary - CR_ISR = 21, //Israel ɫ() - CR_LUX = 22, //Luxembourg ¬ɭ - CR_MKD = 23, //Macedonia ٹ͹ - CR_NOR = 24, //Norway Ų - CR_PRT = 25, //Portuga - CR_ROU = 26, //Romania - CR_SRB = 27, //Serbia ά - CR_AZE = 28, //Azerbaijan ͹() - CR_GEO = 29, //Georgia ³() - CR_KAZ = 30, //Kazakhstan ˹̹() - CR_LTU = 31, //Lithuania 𹲺͹ - CR_TKM = 32, //Turkmenistan ˹̹() - CR_UZB = 33, //Uzbekistan ȱ˹̹() - CR_LVA = 34, //Latvia ά - CR_EST = 35, //Estonia ɳ - CR_ALB = 36, //Albania - CR_AUT = 37, //Austria µ - CR_BIH = 38, //Bosnia and Herzegovina ˹Ǻͺά - CR_IRL = 39, //Ireland - CR_ISL = 40, //Iceland - CR_VAT = 41, //Vatican ٸ - CR_MLT = 42, //Malta - CR_SWE = 43, //Sweden - CR_CHE = 44, //Switzerland ʿ - CR_CYP = 45, //Cyprus ·˹ - CR_TUR = 46, //Turkey - CR_SVN = 47, //Slovenia ˹ - CR_MTG = 48, //Montenegro ɽ͹ - CR_KOV = 49, //Kosovo - CR_ADR = 50, //Andorra - CR_ARM = 51, //Armenia () - CR_MON = 52, //Monaco Ħɸ - CR_LIE = 53, //Liechtenstein ֧ʿ - CR_SMO = 54, //San Marino ʥŵ - CR_ORN = 55, //Aland () - CR_RES2 = 56, //ֶ - CR_RES3 = 57, //ֶ - CR_RES4 = 58, //ֶ - /* 48 ·˹(Cyprus)ŷ޽*/ - CR_CHI = 59, //China й - CR_IBN = 60, //In bahrain - CR_SKR = 61, //South Korea - CR_LEB = 62, //Lebanon - CR_NEP = 63, //Nepal Ჴ - CR_THA = 64, //Thailand ̩ - CR_PAK = 65, //Pakistan ͻ˹̹ - CR_EMI = 66, //The united Arab emirates - CR_BHU = 67, //Bhutan - CR_OMA = 68, //Oman - CR_KOR = 69, //North Korea - CR_PHI = 70, //The Philippines ɱ - CR_CAM = 71, //Cambodia կ - CR_QAT = 72, //Qatar - CR_KYR = 73, //Kyrgyzstan ˹˹̹ - CR_MAL = 74, //The maldives - CR_MLY = 75, //Malaysia - CR_MOG = 76, //Mongolia ɹ - CR_ARA = 77, //Saudi Arabia ɳذ - CR_BRU = 78, //brunei - CR_LAO = 79, //Laos - CR_JAP = 80, //Japan ձ - CR_RES19 = 81, //ֶ - CR_PAS = 82, //Palestinian state ˹̹ - CR_TAJ = 83, //Tajikistan ˹̹ - CR_KUW = 84, //Kuwait - CR_SYR = 85, //Syria - CR_IND = 86, //India ӡ - CR_ISA = 87, //Indonesia ӡ - CR_AFG = 88, //Afghanistan - CR_LAN = 89, //Sri Lanka ˹ - CR_IRQ = 90, //Iraq - CR_VIE = 91, //Vietnam Խ - CR_IRA = 92, //Iran - CR_YEM = 93, //yemen Ҳ - CR_JOR = 94, //Jordan Լ - CR_BUR = 95, //Burma - CR_SIK = 96, //Sikkim - CR_BAN = 97, //Bangladesh ϼ - CR_SGA = 98, //Singapore ¼ - CR_EAT = 99, //East timor 루Ҳϣ - CR_RES5 = 100, //ֶ - CR_RES6 = 101, //ֶ - CR_RES7 = 102, //ֶ - CR_RES8 = 103, //ֶ - /* 60Һ͵*/ - CR_EGT = 104, //Egypt - CR_LIY = 105, //Libya - CR_SUA = 106, //Sudan յ - CR_TUN = 107, //Tunisia ͻ˹ - CR_ALG = 108, //Algeria - CR_MCC = 109, //Morocco Ħ - CR_ETH = 110, //Ethiopia - CR_ERI = 111, //Eritrea - CR_SDE = 112, //Somalia Democratic - CR_DJI = 113, //Djibouti - CR_KEN = 114, //Kenya - CR_TAI = 115, //Tanzania ̹ɣ - CR_UGA = 116, //Uganda ڸɴ - CR_RWA = 117, //Rwanda ¬ - CR_BUD = 118, //Burundi ¡ - CR_SEY = 119, //Seychelles - CR_CHA = 120, //Chad է - CR_CEA = 121, //Central African з - CR_CON = 122, //Cameroon ¡ - CR_EQG = 123, //Equatorial Guinea - CR_GAB = 124, //Gabon - CR_TCO = 125, //the Congo չ͹չ - CR_DRC = 126, //Democratic Republic of the Congo չ͹չ𣩣 - CR_STP = 127, //Sao Tome and Principe ʥ - CR_MAN = 128, //Mauritania ë - CR_WSA = 129, //Western Sahara - CR_SEL = 130, //Senegal ڼӶ - CR_TGA = 131, //the Gambia Ա - CR_MAI = 132, //Mali - CR_BUF = 133, //Burkina Faso ɷ - CR_GUI = 134, //Guinea - CR_GUB = 135, //Guinea-Bissau DZ - CR_CAV = 136, //Cape Verde ý - CR_SLE = 137, //Sierra Leone - CR_LIR = 138, //Liberia - CR_IVC = 139, //Ivory Coast ص - CR_GHA = 140, //Ghana - CR_TGO = 141, //Togo - CR_BEN = 142, //Benin - CR_NIG = 143, //Niger ն - CR_ZAB = 144, //Zambia ޱ - CR_ANG = 145, //Angola - CR_ZBE = 146, //Zimbabwe ͲΤ - CR_MAW = 147, //Malawi ά - CR_MOQ = 148, //Mozambique Īɣȿ - CR_BOT = 149, //Botswana - CR_NAM = 150, //Namibia ױ - CR_SAF = 151, //South Africa Ϸ - CR_SWD = 152, //Swaziland ˹ʿ - CR_LES = 153, //Lesotho - CR_MAG = 154, //Madagasca ˹ - CR_UOC = 155, //Union of Comoros Ħ - CR_MAT = 156, //Mauritius ë˹ - CR_NGE = 157, //Nigeria - CR_SSD = 158, //South Sudan յ - CR_SAH = 159, //Saint Helena ʥãӢʡ - CR_MYT = 160, //Mayotte Լأʡ - CR_REN = 161, //Reunion ʡ - CR_CAI = 162, //Canary Islands Ⱥ - CR_AZO = 163, //AZORES ٶȺ - CR_MAD = 164, //Madeira Ⱥ - CR_RES9 = 165, //ֶ - CR_RES10 = 166, //ֶ - CR_RES11 = 167, //ֶ - CR_RES12 = 168, //ֶ - /* 55Һ͵*/ - CR_CAD = 169, //Canada ô - CR_GRE = 170, //Greenland Nuuk ĺ - CR_PIE = 171, //Pierre and Miquelon ʥƤܿ¡ - CR_USA = 172, //United States - CR_BER = 173, //Bermuda ĽӢ - CR_MEX = 174, //Mexico ī - CR_GUA = 175, //Guatemala Σ - CR_BLI = 176, //Belize - CR_SAR = 177, //El Salvador ߶ - CR_HOR = 178, //Honduras 鶼˹ - CR_NIC = 179, //Nicaragua - CR_COR = 180, //Costa Rica ˹ - CR_PAN = 181, //Panama - CR_TBM = 182, //The Bahamas ͹ - CR_TCI = 183, //The Turks and Caicos Islands ؿ˹ȺͿ˹ȺӢ - CR_CUB = 184, //Cuba Ű - CR_JAM = 185, //Jamaica - CR_CAY = 186, //Cayman Islands ȺӢ - CR_HAT = 187, //Haiti - CR_TDO = 188, //The Dominican - CR_PUR = 189, //Puerto Rico - CR_VIL = 190, //The United States Virgin IslandsάȺ - CR_BVI = 191, //The British Virgin Islands ӢάȺ - CR_ATV = 192, //Anguilla The Valley Ӣ - CR_ANB = 193, //Antigua and Barbuda ϺͰͲ - CR_CSM = 194, //Collectivit de Saint-Martin ʥ - CR_ACY = 195, //Autonomous country ʥι - CR_SBY = 196, //Saint-Barthlemy ʥ̩׵ - CR_SKN = 197, //Saint Kitts and Nevis ʥĺά˹ - CR_MOT = 198, //Montserrat أӢ - CR_GLP = 199, //Guadeloupe ϵգ - CR_DOM = 200, //Dominica - CR_MTE = 201, //Martinique ˣ - CR_LUC = 202, //St. Lucia ʥ¬ - CR_SVG = 203, //Saint Vincent and the Grenadines ʥɭغ͸ɶ˹ - CR_GRD = 204, //Grenada ɴ - CR_BAR = 205, //Barbados ͰͶ˹ - CR_TRT = 206, //Trinidad and Tobago Ͷ͸ - CR_CUR = 207, //Cura?ao һι - CR_ARB = 208, //Aruba ³ͣһι - CR_NEA = 209, //Netherlands Antilles ˹ - CR_COL = 210, //Colombia ױ - CR_VEN = 211, //Venezuela ί - CR_GUY = 212, //Guyana - CR_SUR = 213, //Suriname - CR_FRN = 214, //Guyane Francaise - CR_ECU = 215, //Ecuador ϶ - CR_PER = 216, //Peru ³ - CR_BOL = 217, //Bolivia ά - CR_PAR = 218, //Paraguay - CR_CLE = 219, //Chile - CR_BRA = 220, //Brazil - CR_UGY = 221, //Uruguay - CR_ARG = 222, //Argentina ͢ - CR_RES13 = 223, //ֶ - CR_RES14 = 224, //ֶ - CR_RES15 = 225, //ֶ - CR_RES16 = 226, //ֶ - /* 25Һ͵ */ - CR_ATN = 227, //Australien Ĵ - CR_NED = 228, //Neuseeland - CR_PNG = 229, //Papua New Guinea Ͳ¼ - CR_SAN = 230, //Salomonen Ⱥ - CR_VAU = 231, //Vanuatu Ŭͼ - CR_NCN = 232, //New Caledonia ¿ǣĺأ - CR_PAU = 233, //Palau - CR_FSM = 234, //Federated States of Micronesia ܿ - CR_MRI = 235, //Marshall Island ܶȺ - CR_CNM = 236, //Commonwealth of the Northern Mariana Islands Ⱥĺأ - CR_TEG = 237, //The Territory of Guahan صĺأ - CR_NUR = 238, //Nauru ³ - CR_KIB = 239, //Kiribati ˹ - CR_FID = 240, //Fidschi 쳼Ⱥ - CR_TNG = 241, //Tonga - CR_TUV = 242, //Tuvalu ͼ¬ - CR_WEF = 243, //Wallis et Futuna ˹͸ͼɣĺأ - CR_TIS = 244, //The Independent State of Samoa Ħ - CR_EAS = 245, //Eastern Samoa Ħ - CR_TOE = 246, //Tokelau пͣ - CR_NUE = 247, //Niue Ŧ - CR_TCD = 248, //The Cook Islands Ⱥ - CR_PFP = 249, //Polynsie fran?aiseFrench Polynesia - CR_PID = 250, //Pitcairn Islands ƤؿȺӢĺأ - CR_HAW = 251, //Hawaii State ģĺأ - CR_RES17 = 252, //ֶ - CR_RES18 = 253, //ֶ - CR_UNRECOGNIZED = 0xfe, //Unrecognized ޷ʶ - CR_ALL = 0xff, //ALL ȫ - - // - CR_TAIWAN = 256, //Taiwan(China) ̨壨й -}CR_INDEX; - -//ö -typedef enum _EMI_AREA_ -{ - EMI_AREA_UNKNOWN = 0, //֧ʶ - EMI_AREA_AD, // - EMI_AREA_FJR, // - EMI_AREA_DB, //ϰ - EMI_AREA_RAK, // - EMI_AREA_AM, // - EMI_AREA_SJ, //ɳ - EMI_AREA_UMW, //ķ - EMI_AREA_OTHER = 0xff, //δʶ𣨵豸ָ֧㷨ڻԭδʶ -} EMI_AREA; - -typedef struct tagNET_DVR_FIND_PICTURE_PARAM -{ - DWORD dwSize; // ṹС - LONG lChannel; // ͨ - /* ҵͼƬ:0ʱץͼ1 ƶץͼ 2 ץͼ - 3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ , - 9-ͼƬ,10- PIR11- ߱12- ȱ, - 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬ - 0x10 , 0x11-豸ػطʱͼ, 0x12-, - 0x13-,0x14-뿪,0x15-ǻ, - 0x16-Աۼ,0x17-˶,0x18-ͣ, - 0x19-Ʒ,0x1a-Ʒȡ, 0x1b-, - 0x1c-м,0x1d-ȡ֤¼,0x1e-,0x1f-ƻ, - 0x20-ֻ⣬0x21-Ԥ0x22-±, 0x23, - 0x24Υͣ,0x25-ץ,0x26-߲±,0x2a-, - 0x2b-ʸ,0x2c-޳ʱ,0x2d-ȫñ,0x2e-ܽץ, - 0x2f-Ŀץ,0x30-ץĽģ, 0x31-Ŀ, - 0x32-, 0x33-, 0x34-ҵѯ,0x35-Ƿ̯, - 0x36-ԱܶȣԤ,0x37-ڼ,0x38-쳣, - 0x39-˶, 0x3a-Υͣ, 0x3b-,0x3c-ѹ,0x3d-ռ,0x3e-,0x3f-ͷ,0x40-˼,0x41-·, - 0x42-,0x43-Ũ,0x44-ʩ,0x45-ӵ,0x46-ͨ¹ʼ, 0x47-෽ͣ0x48-ֶ, - 0x49-ֻ,0x4b-˾ʻΪ,0x4c-߼ʻ,0x4d-ɳⱨ, - 0x52-ŶӼ,0x53-ŶӼʱ,0x54-(ֶأճԼƽ̨), 0x55-ʱץ, 0x56-ŷż, - 0x57-Ҷȱ, 0x58-,0x59-Ա,0x5a-Ա,0x5b-쳣,0x5c-Ա,0x5d-̼,0x5e-,0x5f-, - 0x60-ռӦ,0x61-ռ,0x62-ֹ,0x63-ռרó,0x64-,0x65-ReIDԱ켣,0x66-ͨʱץͼ¼, - 0x67-AIƽ̨¼,0x68-Ũ쳣,0x69-ǿ쳣,0x70-ͨʱץͼ,0x71-¼,0xff- ȫ*/ - BYTE byFileType; - BYTE byNeedCard; // ǷҪ - /* - 0-1-ģ2-3-壬4-5-ʣ6-7- - 8-9-10-11-ԥ12-ڣ13-14-棬 - 15-16-գ17-ӣ18-ɣ19-ɣ20-21-࣬ - 22-³23-24-£25-26-27-̨28- - 29-أ30-ۣ31-£32-ƣ33-㣬34-0xff-ȫ - */ - BYTE byProvince; //ʡֵ - BYTE byEventType; // ¼ͣ01-ͨ¼2-Υȡ֤3-¼ - BYTE sCardNum[CARDNUM_LEN_V30]; // - NET_DVR_TIME struStartTime;//ͼƬĿʼʱ - NET_DVR_TIME struStopTime;// ͼƬĽʱ - //ITC3.7 - DWORD dwTrafficType; //ͼƬЧ ο VCA_OPERATE _TYPE - DWORD dwVehicleType; // ο VCA_VEHICLE_TYPE - //ΥͲο VCA_ILLEGAL_TYPE ǰָ֧ѡ - DWORD dwIllegalType; - BYTE byLaneNo; //(1~99) - BYTE bySubHvtType ;//0-,1-(ֳ֧Ƽʡݼ),2-ǻ,3- - BYTE bySubDriveType; //ʻ - //byFileTypeΪ0x4b-˾ʻΪʱΪ˾ʻΪͣ嶨壺0-1-̡2-Ӵ绰3-ƣͼʻ4-ѡ5-ʻԱ쳣6-δϵȫ7-ī8-˫뷽̡9-뷽̡10-ʻԱ쳣11-ʱʻ12-ʻԱ - //byFileTypeΪ0x4c-߼ʻʱΪ߼ʻͣ嶨壺0-1-ǰײ2-ƫ()3-ƫ()4-5-˷ײ6-ä(Һ)7-ä()8-ä() - BYTE byRes2;//ֽ - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byRegion; // ֵ 0-1-ŷ(Europe Region)2-(Russian Region)3-ŷ&˹(EU&CIS), 4-ж(Middle East),0xff- - BYTE byCountry; // ֵգCOUNTRY_INDEX - BYTE byArea; // - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ -}NET_DVR_FIND_PICTURE_PARAM, *LPNET_DVR_FIND_PICTURE_PARAM; - -//PC NVRļ -typedef struct tagNET_DVR_FIND_FILE_PCNVR -{ - DWORD dwSize; //ṹС - NET_DVR_IPADDR struIpAddr; //IPַ - WORD wIpPort; //˿ں - BYTE byRes[2]; //ֽ - char sDomainName[MAX_DOMAIN_NAME]; //(ʱû) - char sSerial[SERIALNO_LEN]; //к - - DWORD lChannel; //ͨ - DWORD dwFileType; //¼ļ0xffȫ0ʱ¼,1-ƶ 2 - //3-|ƶ 4-&ƶ 5- 6-ֶ¼ - DWORD dwIsLocked; //Ƿ 0-ļ,1-ļ, 0xffʾļ - DWORD dwUseCardNo; //Ƿʹÿ - BYTE sCardNumber[CARDNUM_LEN_V30]; // - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struStopTime; //ʱ -}NET_DVR_FILE_COND_PCNVR, *LPNET_DVR_FILE_COND_PCNVR; - -//PCNVR¼ļ -typedef struct tagNET_DVR_FINDDATA_PCNVR -{ - char sFileName[100];//ļ - NET_DVR_TIME struStartTime;//ļĿʼʱ - NET_DVR_TIME struStopTime;//ļĽʱ - DWORD dwFileSize;//ļĴС - char sCardNum[CARDNUM_LEN_V30]; - BYTE byLocked;//9000豸֧,1ʾļѾ,0ʾļ - BYTE byFileType; //ļ - BYTE byRes[2]; -}NET_DVR_FINDDATA_PCNVR, *LPNET_DVR_FINDDATA_PCNVR; - -#define PICTURE_NAME_LEN 64 -#define PICTURE_INFO_MAX_SIZE 640*960*1.5 - -typedef struct -{ - char sFileName[PICTURE_NAME_LEN];//ͼƬ - NET_DVR_TIME struTime;//ͼƬʱ - DWORD dwFileSize;//ͼƬĴС - char sCardNum[CARDNUM_LEN_V30]; // - BYTE byPlateColor ;//οṹ VCA_PLATE_COLOR - BYTE byVehicleLogo;//οṹ VLR_VEHICLE_CLASS - BYTE byEventSearchStatus; //ͼƬʾͬһҽʱ0-ʾûͼƬϢ1-ʾ滹ͼƬϢܹͼƬϢһ״̬Ϊ0ͼƬ - BYTE byRecogResult ;//ʶοṹVTR_RESULT - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byRes[12]; -}NET_DVR_FIND_PICTURE,*LPNET_DVR_FIND_PICTURE; - -#define MAX_RECORD_PICTURE_NUM 50 // 󱸷ͼƬ - -typedef struct tagNET_DVR_BACKUP_PICTURE_PARAM -{ - DWORD dwSize; // ṹС - DWORD dwPicNum; - NET_DVR_FIND_PICTURE struPicture[MAX_RECORD_PICTURE_NUM]; - BYTE byDiskDes[DESC_LEN_32]; - BYTE byWithPlayer; - BYTE byContinue; /*Ƿ 0 1*/ - BYTE byRes[34]; -}NET_DVR_BACKUP_PICTURE_PARAM, *LPNET_DVR_BACKUP_PICTURE_PARAM; - -typedef struct -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byCompressType; //ȡѹ1,2,3,¼ - BYTE byRes[15]; // - NET_DVR_COMPRESSIONCFG_V30 struCurrentCfg; //ǰѹ -}NET_DVR_COMPRESSION_LIMIT, *LPNET_DVR_COMPRESSION_LIMIT; - -#define STEP_READY 0 //׼ -#define STEP_RECV_DATA 1 // -#define STEP_UPGRADE 2 //ϵͳ -#define STEP_BACKUP 3 //ϵͳ -#define STEP_SEARCH 255 //ļ - -typedef struct tagNET_DVR_VIDEO_EFFECT -{ - DWORD dwBrightValue; //[0,255] - DWORD dwContrastValue; //Աȶ[0,255] - DWORD dwSaturationValue; //Ͷ[0,255] - DWORD dwHueValue; //ɫ[0,255] - DWORD dwSharpness; //[0,255] - DWORD dwDenoising; //ȥ[0,255] - BYTE byRes[12]; -}NET_DVR_VIDEO_EFFECT, *LPNET_DVR_VIDEO_EFFECT; - -typedef struct tagNET_DVR_VIDEO_INPUT_EFFECT -{ - DWORD dwSize; //ṹС - WORD wEffectMode; //ģʽ 0-׼ 1- 2- 3- 255-Զ - BYTE byRes1[146]; // - NET_DVR_VIDEO_EFFECT struVideoEffect; //ƵЧ - BYTE byRes2[60]; // -}NET_DVR_VIDEO_INPUT_EFFECT, *LPNET_DVR_VIDEO_INPUT_EFFECT; - - -typedef struct tagNET_DVR_VIDEOPARA_V40 -{ - DWORD dwChannel; // ͨ - DWORD dwVideoParamType; // Ƶ 0- 1-Աȶ 2-Ͷ 3-ɫ 4- 5-ȥ - DWORD dwVideoParamValue; //ӦƵֵΧ - BYTE byRes[12]; -}NET_DVR_VIDEOPARA_V40, *LPNET_DVR_VIDEOPARA_V40; - -typedef struct tagNET_DVR_DEFAULT_VIDEO_COND -{ - DWORD dwSize; // ṹС - DWORD dwChannel; // ͨ - DWORD dwVideoMode; // ģʽ - BYTE byRes[32]; // -}NET_DVR_DEFAULT_VIDEO_COND, *LPNET_DVR_DEFAULT_VIDEO_COND; - -typedef struct tagNET_DVR_ENCODE_JOINT_PARAM -{ - DWORD dwSize; // ṹС - BYTE byJointed; // 0 ûй 1 Ѿ - BYTE byDevType; // 豸 1 豸 - BYTE byRes1[2]; // ֽ - NET_DVR_IPADDR struIP; // ıȡ豸IPַ - WORD wPort; // ıȡ豸˿ں - WORD wChannel; // ıȡ豸ͨ - BYTE byRes2[20]; // ֽ -}NET_DVR_ENCODE_JOINT_PARAM, *LPNET_DVR_ENCODE_JOINT_PARAM; - -typedef struct tagNET_DVR_VCA_CHAN_WORKSTATUS -{ - BYTE byJointed; // 0-ûй 1-Ѿ - BYTE byRes1[3]; - NET_DVR_IPADDR struIP; // ȡ豸IPַ - WORD wPort; // ȡ豸˿ں - WORD wChannel; // ȡ豸ͨ - BYTE byVcaChanStatus; // 0 - δ 1 - - BYTE byRes2[19]; // ֽ -}NET_DVR_VCA_CHAN_WORKSTATUS, *LPNET_DVR_VCA_CHAN_WORKSTATUS; - -typedef struct tagNET_DVR_VCA_DEV_WORKSTATUS -{ - DWORD dwSize; // ṹС - BYTE byDeviceStatus; // 豸״̬0 - 1- - BYTE byCpuLoad; // CPUʹ0-100 ֱʹðٷ - NET_DVR_VCA_CHAN_WORKSTATUS struVcaChanStatus[MAX_VCA_CHAN]; - DWORD dwRes[40]; // ֽ -}NET_DVR_VCA_DEV_WORKSTATUS, *LPNET_DVR_VCA_DEV_WORKSTATUS; - -typedef struct tagNET_DVR_VGA_DISP_CHAN_CFG_V40 -{ - DWORD dwSize; - BYTE byAudio; /*ƵǷ*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byVgaResolution; /*ֱʣȡ*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - DWORD dwWindowMode; /*ģʽȡ*/ - BYTE byJoinDecChan[MAX_WINDOWS];/*ӴڹĽͨ*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - BYTE byScale; /*ʾģʽ0---ʵʾ1---ʾ( BNC )*/ - /*ֹ壬0-Ƶۺƽ̨ڲʾͨã1-ʾͨ*/ - BYTE byUnionType; - union - { - BYTE byRes[160]; - struct - { - /*ӴڶӦͨӦĽϵͳIJλ(Ƶۺƽ̨нϵͳЧ)*/ - BYTE byJoinDecoderId[MAX_WINDOWS]; - //ʾƵֱʣ1-D1,2-720P,3-1080P豸Ҫݴ//ֱʽнͨķ䣬1ó1080P豸4ͨ - //˽ͨ - BYTE byDecResolution; - BYTE byRes[143]; - }struVideoPlatform; - struct - { - BYTE byRes[160]; - }struNotVideoPlatform; - }struDiff; - BYTE byRes[120]; -}NET_DVR_VGA_DISP_CHAN_CFG_V40,*LPNET_DVR_VGA_DISP_CHAN_CFG_V40; - -typedef struct tagNET_DVR_V6SUBSYSTEMPARAM -{ - BYTE bySerialTrans;//Ƿ͸0-1- - BYTE byRes[35]; -}NET_DVR_V6SUBSYSTEMPARAM, *LPNET_DVR_V6SUBSYSTEMPARAM; - - - - -typedef struct tagNET_DVR_CORRECT_DEADPIXEL_PARAM -{ - DWORD dwSize; - DWORD dwCommand; //0-뻵ģʽ1-ӻ㣬2-滵㣬3-˳ - DWORD dwDeadPixelX; //X - DWORD dwDeadPixelY; //Y - BYTE byRes[12]; // -}NET_DVR_CORRECT_DEADPIXEL_PARAM, *LPNET_DVR_CORRECT_DEADPIXEL_PARAM; - -#define MAX_REDAREA_NUM 6 //̵ - -typedef struct tagNET_DVR_CORRECT_PARAMS -{ - BYTE byYellowIntervalTime;//ƵƵļʱ䣬λ루s - BYTE byDigTrafficLight;//ǷǽֻͨƵƣ0-ǣ1- - BYTE byRes[2]; -}NET_DVR_CORRECT_PARAMS,*LPNET_DVR_CORRECT_PARAMS; - -typedef struct tagNET_DVR_REDAREACFG -{ - DWORD dwSize; - DWORD dwCorrectEnable; //ǷУܣ0-رգ1- - DWORD dwCorrectLevel; //У1(У)-10(У),ĬΪ5 - DWORD dwAreaNum; //У - NET_VCA_RECT struLaneRect[MAX_REDAREA_NUM]; //У - NET_DVR_CORRECT_PARAMS struCorrectParam[MAX_REDAREA_NUM/*6*/]; //УԺУӦ - BYTE byRes2[8]; // -}NET_DVR_REDAREACFG, *LPNET_DVR_REDAREACFG; - -typedef struct tagNET_DVR_HISTORICDATACFG -{ - DWORD dwSize; - DWORD dwTotalNum; //ʷݸ - BYTE byRes[16]; -}NET_DVR_HISTORICDATACFG, *LPNET_DVR_HISTORICDATACFG; - - -#define INQUEST_MESSAGE_LEN 44 //ѶصϢ -#define INQUEST_MAX_ROOM_NUM 2 //ѶҸ -#define MAX_RESUME_SEGMENT 2 //֧ͬʱָƬĿ - -typedef struct tagNET_DVR_INQUEST_ROOM -{ - BYTE byRoomIndex; //Ѷұ - BYTE byFileType; //0-Ѷļ1-ͥϴļ - BYTE byMode; /* 0 ʹг; 0modeֵ 1-Ӱ 2-л1 3-л2 4-˫ 5-1 6-2 7-Ļ1 8-Ļ2 */ - BYTE byQuick; /* ǷΪã 1-ãòflash0-ãòFlash mode 0 Ч*/ - BYTE byRes[20]; // -}NET_DVR_INQUEST_ROOM, *LPNET_DVR_INQUEST_ROOM; - -typedef struct tagNET_DVR_INQUEST_MESSAGE -{ - char sMessage[INQUEST_MESSAGE_LEN]; //صϢ - BYTE byRes[46]; // -}NET_DVR_INQUEST_MESSAGE, *LPNET_DVR_INQUEST_MESSAGE; - -typedef struct tagNET_DVR_INQUEST_SENSOR_DEVICE -{ - WORD wDeviceType; //ݲɼ豸ͺ:0- 1- 2-ز 3- 4- 5-ء6-ϡ7-ά˹ - WORD wDeviceAddr; //ݲɼ豸ַ - BYTE byRes[28]; // -}NET_DVR_INQUEST_SENSOR_DEVICE, *LPNET_DVR_INQUEST_SENSOR_DEVICE; - -typedef struct tagNET_DVR_INQUEST_SENSOR_INFO -{ - NET_DVR_INQUEST_SENSOR_DEVICE struSensorDevice[INQUEST_MAX_ROOM_NUM]; - DWORD dwSupportPro; //֧Э,λʾ, °汾չֶ - //0x1: 0x2:ز 0x4: - BYTE byRes[120]; // -}NET_DVR_INQUEST_SENSOR_INFO, *LPNET_DVR_INQUEST_SENSOR_INFO; - -typedef struct tagNET_DVR_INQUEST_ROOM_INFO -{ - char szCDName[NAME_LEN]; //ƣ˫̹һ - union - { - BYTE byBitRate; // byCalcTypeΪ0ʱЧ(0-321-482-643-804-965-128 - //6-1607-1928-2249-25610-32011-38412-448 - //13-51214-64015-76816-896ǰ16ֵ)17-102418-128019-1536 - //20-179221-204822-307223-409624-8192 - BYTE byInquestTime; // byCalcTypeΪ1ʱЧ0-1Сʱ, 1-2Сʱ,2-3Сʱ,3-4Сʱ, 4-6Сʱ,5-8Сʱ,6-10Сʱ,7-12Сʱ - //8-16Сʱ, 9-20Сʱ,10-22Сʱ,11-24Сʱ - }uCalcMode; - BYTE byCalcType; //¼0- 1-ʱ - BYTE byAutoDelRecord; // ǷԶɾ¼0-ɾʱ¼ 1-ɾ - BYTE byAlarmThreshold; // ֵ - BYTE byInquestChannelResolution; //Ѷֱͨʣ0:720P,1:1080P,2:CIF,3:4CIF,4:WD1,5-VGA - BYTE byAutoOpenTray; //ǷԶ 0-1- - BYTE byCDPrintEnabled; //ָɺǷʹ̷ܹӡ 0- 1- - BYTE byRes[9]; -}NET_DVR_INQUEST_ROOM_INFO, *LPNET_DVR_INQUEST_ROOM_INFO; - -typedef struct tagNET_DVR_INQUEST_SYSTEM_INFO -{ - DWORD dwRecordMode; //¼ģʽ:1 ˫ģʽ 2 ֿģʽ 3 ˫˫ģʽ޸Ҫ豸 - DWORD dwWorkMode; //ģʽ:0 ׼ģʽ 1 ͨģʽ(Ŀǰֻб׼ģʽ) - DWORD dwResolutionMode; //豸ֱʣ0: 1:D1 2:720P 3:1080PѶôֶΣ - NET_DVR_INQUEST_SENSOR_INFO struSensorInfo; //ʪȴ - NET_DVR_INQUEST_ROOM_INFO struInquestRoomInfo[INQUEST_MAX_ROOM_NUM]; - BYTE byEnableHashCheck; //ǷöԹHASHֵУ 0-壬1-ã2- - BYTE byEnableInitCD; //Ƿóʼ 0-壬1-ã2- - BYTE byCDProcessingMode; //1.ģʽ 2-ģʽ ģʽ¼ɵĹ̹鵵Ͱϣ¼ʧܵḶ́е۽ֱͨмijλõģʽ¼õĹ̴мijλọ́¼ʧܵĹ̷ŵͰ - BYTE byRes[21]; // -}NET_DVR_INQUEST_SYSTEM_INFO, *LPNET_DVR_INQUEST_SYSTEM_INFO; - -typedef struct _NET_DVR_INQUEST_ALARM_ -{ - DWORD dwSize; - DWORD dwAlarmType; /* 0- 1-̴ 2-Ѷʱ*/ - BYTE byTrayNo; /**/ - BYTE byRes[3]; - DWORD dwInquestTime; /*Ѷʱ,dwAlarmType=2ʱЧ,λ:*/ - DWORD dwNotifyChannel; /*Ѷʱ䳬ʱͨ*/ - BYTE byRes1[244]; -}NET_DVR_INQUEST_ALARM, *LPNET_DVR_INQUEST_ALARM; - -typedef struct _NET_DVR_VIDEO_PARKING_POLE_ALARM_ -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_V30 struTime; //ʱ - BYTE byParkingNum[32]; //λ - BYTE byAlarmType; //ͣ0-δ֪1-ͷڵ2-ť3-Ƿռñ4-λ״̬仯 - BYTE byVehicleEnterState; //״̬0-δ֪1-룬2-뿪 - BYTE byRes[78]; -}NET_DVR_VIDEO_PARKING_POLE_ALARM, *LPNET_DVR_VIDEO_PARKING_POLE_ALARM; - -typedef struct tagNET_DVR_INQUEST_RESUME_SEGMENT -{ - NET_DVR_TIME struStartTime; //¼ʼʱ - NET_DVR_TIME struStopTime; //¼ֹʱ - BYTE byRoomIndex; //Ѷұ,1ʼ - BYTE byDriveIndex; //¼,1ʼ - WORD wSegmetSize; //ƬϵĴС, λM - DWORD dwSegmentNo; //ƬڱѶе,1ʼ - BYTE byRes[24]; // -}NET_DVR_INQUEST_RESUME_SEGMENT, *LPNET_DVR_INQUEST_RESUME_SEGMENT; - -typedef struct tagNET_DVR_INQUEST_RESUME_EVENT -{ - DWORD dwResumeNum; //ָ¼ - NET_DVR_INQUEST_RESUME_SEGMENT struResumeSegment[MAX_RESUME_SEGMENT]; - BYTE byResumeMode; //ָģʽ0-ָ̻1-˫ָ̻ - BYTE byCDPrintEnbled; //ָɺǷʹ̷ܹӡ 0- 1- - BYTE byRes[198]; // -}NET_DVR_INQUEST_RESUME_EVENT, *LPNET_DVR_INQUEST_RESUME_EVENT; - -typedef struct tagNET_DVR_INQUEST_DEVICE_VERSION -{ -BYTE byMainVersion; /*汾. - 0 : δ֪ - 1 : 8000ѶDVR - ΰ汾: 1 : 8000HD-S - 2 : 8100ѶDVR - ΰ汾: 1 : Ѷ81SNL - 2 : Ѷ81SH - 3 : Ѷ81SFH - 3 : 8608ѶNVR - ΰ汾: 1 : DS-8608SN-SP - 2 : DS-8608SN-ST -*/ -BYTE bySubVersion; //ߴΰ汾 -BYTE byUpgradeVersion; //汾,δΪ0 -BYTE byCustomizeVersion; //ư汾,ǶΪ0 -BYTE byRes[60]; // -}NET_DVR_INQUEST_DEVICE_VERSION, *LPNET_DVR_INQUEST_DEVICE_VERSION; - -typedef struct tagNET_DVR_DISK_RAID_INFO -{ - DWORD dwSize; //ṹС - BYTE byEnable; //RaidǷ - BYTE bySleepStatus; //0-Ч 1-ߣ2- - BYTE byRes[34]; //ֽ -}NET_DVR_DISK_RAID_INFO, *LPNET_DVR_DISK_RAID_INFO; - - -typedef struct tagNET_DVR_SYNCHRONOUS_IPC -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ǷãΪǰIPCͬ豸 - BYTE byRes[7]; // -}NET_DVR_SYNCHRONOUS_IPC, *LPNET_DVR_SYNCHRONOUS_IPC; - -typedef struct tagNET_DVR_IPC_PASSWD -{ - DWORD dwSize; //ṹС - char sOldPasswd[PASSWD_LEN]; //IPCľ룬DVRDVR֤ - char sNewPasswd[PASSWD_LEN]; //IPC - BYTE byRes[32]; -}NET_DVR_IPC_PASSWD, *LPNET_DVR_IPC_PASSWD; - -//ͨȡDVR״̬λbps -typedef struct tagNET_DEVICE_NET_USING_INFO -{ - DWORD dwSize; //ṹС - DWORD dwPreview; //Ԥ - DWORD dwPlayback; //ط - DWORD dwIPCModule; //IPC - DWORD dwNetDiskRW; //̶д - BYTE res[32]; -}NET_DVR_DEVICE_NET_USING_INFO, *LPNET_DVR_DEVICE_NET_USING_INFO; - -//ͨDVRǰIPCIPַ -typedef struct tagNET_DVR_IPC_NETCFG -{ - DWORD dwSize; //ṹС - NET_DVR_IPADDR struIP; //IPCIPַ - WORD wPort; //IPCĶ˿ - char res[126]; -}NET_DVR_IPC_NETCFG, *LPNET_DVR_IPC_NETCFG; - -//ʱ -typedef struct tagNET_DVR_TIME_LOCK -{ - DWORD dwSize; //ṹС - NET_DVR_TIME strBeginTime; - NET_DVR_TIME strEndTime; - DWORD dwChannel; //ͨ, 0xffʾͨ - DWORD dwRecordType; //¼: 0xffffffffȫ0ʱ¼1-ƶ⣬23-ƶ⣬4-ƶ⣬5-6-ֶ¼7-¼(ͬļ) - DWORD dwLockDuration; //ʱ,λ,0xffffffffʾ - NET_DVR_TIME_EX strUnlockTimePoint; //ʱЧdwLockDurationΪʱʱ䵽ʱԶ - BYTE byRes[4]; -}NET_DVR_TIME_LOCK, *LPNET_DVR_TIME_LOCK; - -typedef struct tagNET_DVR_LOCK_RETURN -{ - DWORD dwSize; //ṹС - NET_DVR_TIME strBeginTime; - NET_DVR_TIME strEndTime; - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ,0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾ, byISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 30, 45+ʾ, byISO8601Ϊ1ʱЧ - BYTE byRes[17]; -}NET_DVR_LOCK_RETURN, *LPNET_DVR_LOCK_RETURN; - -//67DVS -//֤ -typedef enum -{ - UPGRADE_CERT_FILE = 0, - UPLOAD_CERT_FILE = 1, - TRIAL_CERT_FILE = 2, - CONFIGURATION_FILE = 3, - UPLOAD_RECORD_FILE = 4 , //ϴ¼ļ - SCENE_CONFIGURATION_FILE = 5, //ļϴ - UPLOAD_PICTURE_FILE = 6, //ϴͼƬļ - UPLOAD_VIOLATION_FILE = 7, //ϴΥֵļ - UPLOAD_TG_FILE = 8, //ϴTGTiming GeneratorļT1ԣ - UPLOAD_DATA_TO_DB = 9, //ϴļͼ - UPLOAD_BACKGROUND_PIC = 10, //ϴͼƬ - UPLOAD_CALIBRATION_FILE = 11, //ϴ궨ļ - UPLOAD_TME_FILE = 12, //ϴڹļ - - //UPLOAD_TME_FILE = 12, //ϴڹļ - UPLOAD_VEHICLE_BLOCKALLOWLIST_FILE = 13, - UPLOAD_PICTURE_TO_CLOUD = 15, //ϴͼƬƴ洢 - UPLOAD_VIDEO_FILE = 16, //ϴƵļ - UPLOAD_SCREEN_FILE = 17, //ϴĻļ - UPLOAD_PUBLISH_MATERIAL = 18, //ϴϢ̬زļ - UPLOAD_PUBLISH_UPGRADE_FILE = 19, //ϴϢļ - UPLOAD_RING_FILE = 20, //ϴļ - UPLOAD_ENCRYPT_CERT = 21, //ϴ֤ - UPLOAD_THERMOMETRIC_FILE = 22, //ϴ±궨ļ - UPLOAD_SUBBRAND_FILE = 23, //ϴƷļ - UPLOAD_LED_CHECK_FILE = 24, //ϴLEDУļ - BATCH_UPLOAD_PICTURE_FILE = 25, //ϴͼƬļ - UPLOAD_EDID_CFG_FILE = 26, //ϴEDIDļ - UPLOAD_PANORAMIC_STITCH = 27,//ϴȫԶƴļ - UPLOAD_BINOCULAR_COUNTING = 28,//ϴֱ - UPLOAD_AUDIO_FILE = 29, //ϴļ - UPLOAD_PUBLISH_THIRD_PARTY_FILE = 30, //ϴļ - UPLOAD_DEEPEYES_BINOCULAR = 31,//ϴTX1˫Ŀ - UPLOAD_CERTIFICATE_BLOCKLIST = 32, //ϴֹ֤ - UPLOAD_HD_CAMERA_CORRECT_TABLE = 33,//ϴ2400W - UPLOAD_FD_DATA = 35,//ݵ - UPLOAD_FACE_DATA = 36,//ͼƬݵ - UPLOAD_FACE_ANALYSIS_DATA = 37,//ͼƬݵ豸ʶͼƬĿ - UPLOAD_FILEVOLUME_DATA = 38,//ϴļļ(ĿǰֻCVRʵ) - IMPORT_DATA_TO_FACELIB = 39,//ݣͼƬ+ͼƬϢ 豸⣩ - UPLOAD_LEFTEYE_4K_CALIBFILE = 40,//ۡ4K궨ڲϴĿ¼ - UPLOAD_SECURITY_CFG_FILE = 41,//ļȫ - UPLOAD_RIGHT_CONTROLLER_AUDIO = 42, //ϴȨ޿Ƶļ - UPLOAD_MODBUS_CFG_FILE = 43, //ModbusЭļ - UPLOAD_NOTICE_VIDEO_DATA = 44, //Ƶ· - UPLOAD_RS485_PROTOCOL_DLL_FILE = 45, //RS485Э鶯̬ļ - UPLOAD_PIC_BY_BUF = 46,//ͼƬ浼ͼƬļ - UPLOAD_CLIENT_CALIBFILE = 47,//ͻ궨ļ(.ptoʽļ) - UPLOAD_HD_CAMERA_CORRECT_TABLE_3200W = 48,//3200W(.calʽļ) - UPLOAD_DOOR_CONTENT = 49, //ϴԪſϵϢ - UPLOAD_ASR_CONTROL_FILE = 50, //ʶļϴ - UPLOAD_APP_FILE = 51,//ϴHEOP APPļ - UPLOAD_AI_ALGORITHM_MODEL = 52, //AIƽ̨ϴ㷨ģ͵豸 - UPLOAD_PUBLISH_PROGRAM_THUMBNAIL = 53, //ϴϢĿͼ - UPLOAD_PUBLISH_TEMPLATE_THUMBNAIL = 54, //ϴϢģͼ - UPLOAD_AI_PICTURE = 55,//AIƽ̨ͼƬ·ͼƬΪƸʽ - UPLOAD_OFFLINE_CAPTURE_INFO = 56, //߲ɼûб - UPLOAD_FONT_TYPE_DLL_FILE = 57, //⵼ - UPLOAD_CLIENT_CALIBFILE_FILE = 58, //ͻ궨ļ(.ptoʽļ,ͨ) - UPLOAD_HD_CAMERA_CORRECT_TABLE_3200W_FILE = 59, //3200W(.calʽļ,ͨ) - IMPORT_DATA_TO_HBDLIB = 60, /*ݵ⣨ͼƬ+ͼƬϢ 豸⣩*/ - UPLOAD_SCENE_FILE = 61, //볡ļ - UPLOAD_RATIOSTITCHING_FILE = 62, // 뱶ƴļ - UPLOAD_LENS_PARAM_FILE = 63, // 뾵ͷļ - UPLOAD_CUSTOMAUDIO_FILE = 64, //ԶƵزļ - UPLOAD_VIDEOWALL_MATERIAL_FILE = 65 //ǽزļ -}NET_SDK_UPLOAD_TYPE; - -typedef enum -{ - NET_SDK_DOWNLOAD_CERT = 0, //֤ - NET_SDK_DOWNLOAD_IPC_CFG_FILE = 1,//IPCļ - NET_SDK_DOWNLOAD_BASELINE_SCENE_PIC = 2, //ػ׼ͼƬ - NET_SDK_DOWNLOAD_VQD_ALARM_PIC = 3, //VQDͼƬ - NET_SDK_DOWNLOAD_CONFIGURATION_FILE = 4, //ļ - NET_SDK_DOWNLOAD_SCENE_CONFIGURATION_FILE = 5, //سļ - NET_SDK_DOWNLOAD_FILE_FORM_DB = 6, //ͼ - // NET_SDK_DOWNLOAD_TME_FILE = 7 //سڹļ - - NET_SDK_DOWNLOAD_TME_FILE = 7, //سڹļ - NET_SDK_DOWNLOAD_VEHICLE_BLOCKALLOWLIST_FILE = 8, //ļ - NET_SDK_DOWNLOAD_GUID_FILE = 9, //GUIDļ - NET_SDK_DOWNLOAD_FILE_FORM_CLOUD = 10, //ƴ洢ͼƬ - NET_SDK_DOWNLOAD_PICTURE = 11, //ͼƬ - NET_SDK_DOWNLOAD_VIDEO = 12, //Ƶ - NET_DVR_DOWNLOAD_SCREEN_FILE = 13, //Ļļ - NET_SDK_DOWNLOAD_PUBLISH_MATERIAL = 14, //Ϣ̬زļ - NET_SDK_DOWNLOAD_THERMOMETRIC_FILE = 15,//ز±궨ļ - NET_SDK_DOWNLOAD_LED_CHECK_FILE = 16,//LEDУļ - NET_SDK_DOWNLOAD_VEHICLE_INFORMATION = 17,//Ϣ - NET_SDK_DOWNLOAD_CERTIFICATE_BLOCKLIST_TEMPLET = 18, //ֹ֤ģ - NET_SDK_DOWNLOAD_LOG_FILE = 19, //־ - NET_SDK_DOWNLOAD_FILEVOLUME_DATA = 20,//ļļĿǰֻCVR豸֧֣ - NET_SDK_DOWNLOAD_FD_DATA = 21,//ָ - NET_SDK_DOWNLOAD_SECURITY_CFG_FILE = 22,//ļȫ - NET_SDK_DOWNLOAD_PUBLISH_SCHEDULE = 23, //ճ̵ - NET_SDK_DOWNLOAD_RIGHT_CONTROLLER_AUDIO = 24, //Ȩ޿Ƶļ - NET_SDK_DOWNLOAD_MODBUS_CFG_FILE = 25, //ModbusЭļ - NET_SDK_DOWNLOAD_RS485_PROTOCOL_DLL_FILE = 26, //RS485Э鶯̬ļ - NET_SDK_DOWNLOAD_CLUSTER_MAINTENANCE_LOG = 27, //Ⱥά־ - NET_SDK_DOWNLOAD_SQL_ARCHIVE_FILE = 28, //鵵ݿ¼ - NET_SDK_DOWNLOAD_SUBWIND_STREAM = 29,//Ӵ - NET_SDK_DOWNLOAD_DEVTYPE_CALIBFILE = 30,//ͺű궨ļ(.calʽļ) - NET_SDK_DOWNLOAD_HD_CAMERA_CORRECT_TABLE = 31,// 2400W/3200W(.calʽļ) - NET_SDK_DOWNLOAD_CLIENT_CALIBFILE = 32,//ͻ궨ļ(.ptoʽļ) - NET_SDK_DOWNLOAD_FOUE_CAMERAS_PICTURES = 33,//ͨͼƬ(.tarʽļ) - NET_SDK_DOWNLOAD_DOOR_CONTENT = 34, //ſϵϢ - NET_SDK_DOWNLOAD_PUBLISH_MATERIAL_THUMBNAIL = 35, //Ϣ̬زͼ - NET_SDK_DOWNLOAD_PUBLISH_PROGRAM_THUMBNAIL = 36, //ϢĿͼ - NET_SDK_DOWNLOAD_PUBLISH_TEMPLATE_THUMBNAIL = 37, //Ϣģͼ - NET_SDK_DOWNLOAD_DARK_FIGHTER_X_CORRECT_TABLE_MAIN = 38,//ڹļ() - NET_SDK_DOWNLOAD_DARK_FIGHTER_X_CORRECT_TABLE_BACKUP = 39,//ڹļݷ - NET_SDK_DOWNLOAD_OFFLINE_CAPTURE_INFO_TEMPLATE = 40, //زɼûбģ - NET_SDK_DOWNLOAD_CAPTURE_DATA = 41, //߲ɼ - NET_SDK_DOWNLOAD_HD_CAMERA_CORRECT_TABLE_FILE = 42, // 2400W/3200W(.calʽļ, ͨ) - NET_SDK_DOWNLOAD_CLIENT_CALIBFILE_FILE = 43, //ͻ궨ļ(.ptoʽļ, ͨ) - NET_SDK_DOWNLOAD_FOUR_CAMERAS_PICTURES_FILE = 44, //ͨͼƬ(.tarʽļ, ͨ) - NET_SDK_DOWNLOAD_SCENE_FILE = 45, //ļ - NET_SDK_DOWNLOAD_OPEN_SOURCE_CERT = 46, //ԴϹ֤ - NET_SDK_DOWNLOAD_RATIOSTITCHING_FILE = 47, //ƴļ - NET_SDK_DOWNLOAD_LENS_PARAM_FILE = 48, // ͷļ - NET_SDK_DOWNLOAD_SELECT_DEVTYPE_CALIBFILE = 49, //ָͺű궨ļ(.calʽļ) - NET_SDK_DOWNLOAD_VIDEOWALL_MATERIAL_FILE = 50, //ǽزļ -}NET_SDK_DOWNLOAD_TYPE; - -//״̬ -typedef enum -{ - NET_SDK_DOWNLOAD_STATUS_SUCCESS = 1, //سɹ - NET_SDK_DOWNLOAD_STATUS_PROCESSING, // - NET_SDK_DOWNLOAD_STATUS_FAILED, //ʧ - NET_SDK_DOWNLOAD_STATUS_UNKOWN_ERROR, //δ֪ - NET_SDK_DOWNLOAD_STATUS_RESOURCE, //ڴ治 - NET_SDK_DOWNLOAD_STATUS_GUIDFILE_EXPORT_FAIL //GUIDļʧ -}NET_SDK_DOWNLOAD_STATUS; - -//ؿ -typedef enum tagNET_SDK_DOWNLOAD_CONTROL_TYPE_ENUM -{ - ENUM_DOWNLOAD_CONTROL_ERR = -1, - ENUM_DOWNLOAD_CONTROL_QOS = 1 // -}NET_SDK_DOWNLOAD_CONTROL_TYPE_ENUM; - -typedef struct tagNET_DVR_PANORAMIC_STITCH_UPLOAD -{ - DWORD dwSize; - DWORD dwChannel;// ͨ - BYTE byRes[128]; -}NET_DVR_PANORAMIC_STITCH_UPLOAD, *LPNET_DVR_PANORAMIC_STITCH_UPLOAD; - -typedef struct NET_DVR_FD_DATA_COND -{ - DWORD dwSize; - char szFDID[NET_SDK_MAX_FDID_LEN/*256*/]; //ID - char szCheckCode[NET_SDK_CHECK_CODE_LEN/*128*/]; //У - BYTE byCover;//Ƿ񸲸ʽ 0-1- - char szLoginPassword[PASSWD_LEN/*16*/]; //¼ - BYTE byRes[111]; -}NET_DVR_FD_DATA_COND, *LPNET_DVR_FD_DATA_COND; - -typedef struct NET_DVR_UPLOAD_FACE_DATA -{ - DWORD dwSize; - char szFDID[NET_SDK_MAX_FDID_LEN/*256*/]; //ID - BYTE byFDLibType; //0-;1-ֹ2- - BYTE byRes1[3]; - char szCustomInfo[NET_SDK_FDPIC_CUSTOM_INFO_LEN/*96*/]; //ͼƬԶϢ - BYTE byRes[512]; -}NET_DVR_UPLOAD_FACE_DATA, *LPNET_DVR_UPLOAD_FACE_DATA; - -typedef struct NET_DVR_UPLOAD_FACE_DATA_OUT -{ - char szPicID[NET_SDK_MAX_PICID_LEN/*256*/]; //ͼƬID - BYTE byRes[128]; -}NET_DVR_UPLOAD_FACE_DATA_OUT, *LPNET_DVR_UPLOAD_FACE_DATA_OUT; - -typedef struct NET_DVR_UPLOAD_FACE_ANALYSIS_DATA_OUT -{ - DWORD dwSize; - DWORD dwPID;//ͼƬID - DWORD dwFaceAnalysisNum;//ʶ - NET_VCA_RECT struVcaRect[NET_DVR_MAX_FACE_ANALYSIS_NUM]; //ʶĿ꣬ - BYTE byRes[128]; -}NET_DVR_UPLOAD_FACE_ANALYSIS_DATA_OUT, *LPNET_DVR_UPLOAD_FACE_ANALYSIS_DATA_OUT; - -typedef struct NET_DVR_SECURITY_CFG_FILE_COND -{ - DWORD dwSize; - char szSecretKey[NET_SDK_SECRETKEY_LEN/*128*/];//УԿ - BYTE byRes[128]; -}NET_DVR_SECURITY_CFG_FILE_COND, *LPNET_DVR_SECURITY_CFG_FILE_COND; - -typedef struct tagNET_DVR_DOWNLOAD_CLUSTER_MAINTENANCE_LOG_PARAM_ -{ - DWORD dwSize; - BYTE byType; //־ͣ0-ȫ1-2-Ĭ - BYTE byRes[255]; -}NET_DVR_DOWNLOAD_CLUSTER_MAINTENANCE_LOG_PARAM, *LPNET_DVR_DOWNLOAD_CLUSTER_MAINTENANCE_LOG_PARAM; - - -typedef struct tagNET_DVR_BONJOUR_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnableBonjour; // Bonjourʹ 0 1ر - BYTE byRes1[3]; - BYTE byFriendlyName[MAX_DOMAIN_NAME]; // - BYTE byRes2[128]; -}NET_DVR_BONJOUR_CFG, *LPNET_DVR_BONJOUR_CFG; - -typedef struct tagNET_DVR_SOCKS_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnableSocks; // ʹ 0ر 1 - BYTE byVersion; // SOCKS汾 4SOCKS4 5SOCKS5 - WORD wProxyPort; // ˿ڣĬ1080 - BYTE byProxyaddr[MAX_DOMAIN_NAME]; // IPַ - BYTE byUserName[MAX_DOMAIN_NAME]; // û SOCKS - BYTE byPassword[NAME_LEN]; // SOCKS5 - BYTE byLocalAddr[MAX_LOCAL_ADDR_LEN]; //ʹsocksΣʽΪ"ip/netmask;ip/netmask;" - BYTE byRes[128]; -}NET_DVR_SOCKS_CFG, *LPNET_DVR_SOCKS_CFG; - - - -typedef struct tagNET_DVR_QOS_CFG -{ - DWORD dwSize; - BYTE byManageDscp; // ݵDSCPֵ [0-63] - BYTE byAlarmDscp; // ݵDSCPֵ [0-63] - BYTE byVideoDscp; // ƵݵDSCPֵ [0-63]byFlagΪ0ʱʾƵ - BYTE byAudioDscp; // ƵݵDSCPֵ [0-63]byFlagΪ1ʱЧ - BYTE byFlag; // 0Ƶһ1Ƶֿ - BYTE byEnable; - BYTE byRes[126]; -}NET_DVR_QOS_CFG, *LPNET_DVR_QOS_CFG; - -typedef struct tagNET_DVR_HTTPS_CFG -{ - DWORD dwSize; - WORD wHttpsPort; // HTTPS˿ - BYTE byEnable; // ʹ 0ر 1 - BYTE byRes[125]; -}NET_DVR_HTTPS_CFG, *LPNET_DVR_HTTPS_CFG; - -//֤ -typedef struct tagNET_DVR_CERT_NAME -{ - BYTE byCountry[MAX_COUNTRY_NAME_LEN]; //Ҵ CN - BYTE byState[MAX_DOMAIN_NAME]; //޻ʡ - BYTE byLocality[MAX_DOMAIN_NAME]; // - BYTE byOrganization[MAX_DOMAIN_NAME]; //֯ - BYTE byUnit[MAX_DOMAIN_NAME]; //λ - BYTE byCommonName[MAX_DOMAIN_NAME]; - BYTE byEmail[MAX_DOMAIN_NAME]; - BYTE byRes[128]; -}NET_DVR_CERT_NAME, *LPNET_DVR_CERT_NAME ; - -typedef struct tagNET_DVR_CERT_ADDITION_PARAM -{ - DWORD dwSize; - char csCustomID[64]; //ûԶID - BYTE byRes1[2]; - BYTE byCertificateMode;//wCertTypeΪ1-CertificateʱЧ0-ǩ֤飬1-֤˽Կʽ - BYTE byPrivateKeyMode;// byCertificateModeΪ1-֤˽ԿʽʱЧ 0-key 1-PKCS#12 - BYTE byPassword[64]; //룬PrivateKeyModeΪ0ʱΪ˽Կ룬Ϊ1ʱΪPKCS#12 - BYTE byRes[128]; -}NET_DVR_CERT_ADDITION_PARAM, *LPNET_DVR_CERT_ADDITION_PARAM; - - -typedef struct tagNET_DVR_CERT_PARAM -{ - DWORD dwSize; - WORD wCertFunc; //֤࣬0-802.1x(ӦWIFI֤),1-HTTPS, 3-ieee802.1x(ӦLAN֤) - WORD wCertType; //֤ͣ0-CA1-Certificate,2-˽Կļ - BYTE byFileType; //֤ļͣ0-PEM,1-PFX - BYTE byRes1[2];//ֽ - BYTE byAddition;//Ƿʹøӽṹ壬0-ʹ;1-ʹ - NET_DVR_CERT_ADDITION_PARAM * pStruAdditionParam;//Ϣṹָ - BYTE byRes[28]; -}NET_DVR_CERT_PARAM, *LPNET_DVR_CERT_PARAM; - -#define UPLOAD_CERTIFICATE 1 //ϴ֤ - - -typedef struct tagNET_DVR_CERT_INFO -{ - DWORD dwSize; - NET_DVR_CERT_PARAM struCertParam; //֤ - DWORD dwValidDays; //ЧΪǩʱЧ - BYTE byPasswd[NAME_LEN]; //˽Կ - NET_DVR_CERT_NAME struCertName; // ֤ - NET_DVR_CERT_NAME struIssuerName; // ֤鷢ƣǩ֤ϢȡʱЧ - NET_DVR_TIME_EX struBeginTime; //֤鴴ʱ䣨ǩ֤ϢȡʱЧ - NET_DVR_TIME_EX struEndTime; //ֹ֤ʱ䣨ǩ֤ϢȡʱЧ - BYTE serialNumber[NAME_LEN]; //֤ʶ루ǩ֤ϢȡʱЧ - BYTE byVersion; - BYTE byKeyAlgorithm; // 0-RSA 1-DSA - BYTE byKeyLen; //ܳ 0-512 1-1024 2-2048 - BYTE bySignatureAlgorithm; //ǩ㷨ͣǩ֤ϢȡʱЧ - BYTE byRes[128]; -}NET_DVR_CERT_INFO, *LPNET_DVR_CERT_INFO; - - -//channel record status -//***ͨ¼״̬*****// -typedef struct tagNET_DVR_CHANS_RECORD_STATUS -{ - BYTE byValid; //ǷЧ - /*(ֻ)¼:0: ¼1¼ 2- - 3- 4-Ƶ 5-δ 6-浵 7-ش - 8-û 9-δ֤,10-浵к¼ 11-¼شк¼ 12-token֤ʧ*/ - BYTE byRecord; - WORD wChannelNO; //ͨ - DWORD dwRelatedHD; // - BYTE byOffLineRecord; //¼ 0-ر 1- - BYTE byRes[7]; //ֽ -}NET_DVR_CHANS_RECORD_STATUS, *LPNET_DVR_CHANS_RECORD_STATUS; - - -typedef struct tagNET_DVR_IP_ALARM_GROUP_NUM -{ - DWORD dwSize; - DWORD dwIPAlarmInGroup; //IPͨ - DWORD dwIPAlarmInNum; //IPͨ - DWORD dwIPAlarmOutGroup; //IPͨ - DWORD dwIPAlarmOutNum; //IPͨ - BYTE byRes[64]; -}NET_DVR_IP_ALARM_GROUP_NUM, *LPNET_DVR_IP_ALARM_GROUP_NUM; -//****NVR end***// - -typedef struct tagNET_DVR_CHAN_GROUP_RECORD_STATUS -{ - DWORD dwSize; //ṹС - NET_DVR_CHANS_RECORD_STATUS struChanStatus[MAX_CHANNUM_V30]; //һ64 -}NET_DVR_CHAN_GROUP_RECORD_STATUS, *LPNET_DVR_CHAN_GROUP_RECORD_STATUS; - - -typedef struct tagNET_DVR_RECTCFG -{ - WORD wXCoordinate; /*ϽʼX*/ - WORD wYCoordinate; /*ϽY*/ - WORD wWidth; /*ο*/ - WORD wHeight; /*θ߶*/ -}NET_DVR_RECTCFG, *LPNET_DVR_RECTCFG; -/*Ϣ*/ -typedef struct tagNET_DVR_WINCFG -{ - DWORD dwSize; - BYTE byVaild; - BYTE byInputIdx; /*Դ*/ - BYTE byLayerIdx; /*ͼ㣬0Ϊײ*/ - BYTE byTransparency; //͸ȣ0100 - NET_DVR_RECTCFG struWin;//ĿĴ(ʾǽ) - WORD wScreenHeight;// - WORD wScreenWidth;// - BYTE byRes[20]; -}NET_DVR_WINCFG, *LPNET_DVR_WINCFG; - -#define MAX_LAYERNUMS 32 - -typedef struct tagNET_DVR_ALLWINCFG -{ - DWORD dwSize; - NET_DVR_WINCFG struWinCfg[MAX_LAYERNUMS]; - BYTE byRes2[24]; -}NET_DVR_ALLWINCFG, *LPNET_DVR_ALLWINCFG; - -typedef struct tagNET_DVR_SCREENZOOM -{ - DWORD dwSize; - DWORD dwScreenNum;// - NET_DVR_POINT_FRAME struPointFrame; - BYTE byLayer;//ͼ - BYTE byRes[11]; -}NET_DVR_SCREENZOOM, *LPNET_DVR_SCREENZOOM; - -//2011-04-18 -/*Ϣ,99991ʼ */ -typedef struct tagNET_MATRIX_CAMERAINFO -{ - DWORD dwGlobalCamId; /* camȫֱ*/ - BYTE sCamName[NAME_LEN]; /*cam*/ - DWORD dwMatrixId; /*camӦı*/ - DWORD dwLocCamId; /*camӦڲ*/ - BYTE byValid; /*ǷЧ0-1-*/ - BYTE byPtzCtrl; /* Ƿɿأ0-1-*/ - BYTE byUseType; //*ʹͣ0-Ϊʹã1-BNC2-SP3,3-V6ˣ4-*/ - BYTE byUsedByTrunk;//ǰʹ״̬0-ûбʹã1-ʹ - BYTE byTrunkReq; /*ֱ,D1Ϊλ1 - 1D12- 2D1ΪʹʱָǸߵĴ*/ - BYTE byRes1[3]; - NET_DVR_TIME struInstallTime;//װʱ - BYTE sPurpose[NAME_LEN];/*;*/ - BYTE byRes2[20]; -}NET_MATRIX_CAMERAINFO, *LPNET_MATRIX_CAMERAINFO; - -/*Ϣ2048*/ -typedef struct tagNET_MATRIX_MONITORINFO -{ - DWORD dwGloalMonId; /*mon ͳһ*/ - BYTE sMonName[NAME_LEN]; - DWORD dwMatrixId; /*monھı*/ - DWORD dwLocalMonId; /*monڲ*/ - BYTE byValid; /*ǷЧ0-1-*/ - BYTE byTrunkType; /*ʹͣ0-Ϊʹã1-BNC2-SP3,3-V6ˣ4-*/ - BYTE byUsedByTrunk;//ǰʹ״̬0-ûбʹã1-ʹ - BYTE byTrunkReq; /*ֱ, D1Ϊλ1- 1D12- 2D1ΪʹʱָǸߵĴ*/ - NET_DVR_TIME struInstallTime;//װʱ - BYTE sPurpose[NAME_LEN];/*;*/ - BYTE byRes[20]; -}NET_MATRIX_MONITORINFO, *LPNET_MATRIX_MONITORINFO; - -typedef struct tagNET_MATRIX_DIGITALMATRIX -{ - NET_DVR_IPADDR struAddress; /*豸Ϊ豸ʱIPϢ*/ - WORD wPort; - BYTE byNicNum; /*0 - eth0, 1 - eth1, ˫ͨż󶨵*/ - BYTE byRes[69]; -}NET_MATRIX_DIGITALMATRIX, *LPNET_MATRIX_DIGITALMATRIX; -typedef struct tagNET_MATRIX_ANALOGMATRIX -{ - BYTE bySerPortNum; /*ӵĴں 0xff-ͨ*/ - BYTE byMatrixSerPortType;/* صĴģļ̿(Э)ӻͨſڣЭ飩 0 --- ЭͨѶ 1 --- ͨѶ*/ - BYTE byRes1[2]; - NET_DVR_SINGLE_RS232 struRS232; //232ڲ ͨʱ˲Ч - BYTE byRes2[200]; -}NET_MATRIX_ANALOGMATRIX, *LPNET_MATRIX_ANALOGMATRIX; - -typedef union tagNET_MATRIX_UNION -{ - NET_MATRIX_DIGITALMATRIX struDigitalMatrix; - NET_MATRIX_ANALOGMATRIX struAnalogMatrix; -}NET_MATRIX_UNION, *LPNET_MATRIX_UNION; -/*Ϣ20*/ -typedef struct tagNET_MATRIX_MATRIXINFO -{ - DWORD dwSize; - DWORD dwMatrixId; /**/ - BYTE sDevName[NAME_LEN]; - BYTE byCtrlType; /*ָͨѶʽǴͨ, ͨ*/ - BYTE byProtocolType;/*ͨſЭ*/ - BYTE byRes1[6]; /*Ԥ*/ - NET_MATRIX_UNION struMatrixUnion; - DWORD dwMaxPortsIn; /**/ - DWORD dwMaxPortsOut;/**/ - BYTE sUserName[NAME_LEN]; /*¼û*/ - BYTE sPassword[PASSWD_LEN]; /*¼*/ - NET_DVR_TIME struInstallTime;//װʱ - BYTE sPurpose[NAME_LEN];/*;*/ - BYTE byRes2[20]; /*Ԥ*/ -}NET_MATRIX_MATRIXINFO, *LPNET_MATRIX_MATRIXINFO; - - -typedef struct tagNET_DVR_MATRIXLIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwMatrixNum;//豸صľ - BYTE *pBuffer;//Ϣ - DWORD dwBufLen;//ָ볤ȣ -}NET_DVR_MATRIXLIST,*LPNET_DVR_MATRIXLIST; - -/*Ϣ*/ -typedef struct tagNET_MATRIX_UARTPARAM -{ - DWORD dwSize; - BYTE byPortName[NAME_LEN]; - WORD wUserId; /*ûţ豸ΪʱһûȨ޹*/ - BYTE byPortType; /*ͣ0-RS232/1-RS485/2-RS422*/ - BYTE byFuncType; /*ӵ豸0-У1-̣2-͸ͨ(485ڲó͸ͨ),3-ģ*/ - BYTE byProtocolType; /*ֵ֧Э, Ӽ豸ʱҪϢ,ȡ֧Эıż*/ - BYTE byBaudRate; - BYTE byDataBits; - BYTE byStopBits; /*ֹͣλ*/ - BYTE byParity; /*У*/ - BYTE byFlowCtrl; /*أأ*/ - BYTE byRes[22]; /*Ԥ*/ -}NET_MATRIX_UARTPARAM, *LPNET_MATRIX_UARTPARAM; - -//256û1256 -typedef struct tagNET_MATRIX_USERPARAM -{ - DWORD dwSize; - BYTE sUserName[NAME_LEN]; - BYTE sPassword[PASSWD_LEN/*16*/]; - BYTE byRole;/*ûɫ:0-Ա,1-ԱֻһϵͳԱ255Ա*/ - BYTE byLevel; /*ͳһڲ,1- 255*/ - BYTE byRes[18]; -}NET_MATRIX_USERPARAM, *LPNET_MATRIX_USERPARAM; - -//255Դ -typedef struct tagNET_MATRIX_RESOURSEGROUPPARAM -{ - DWORD dwSize; - BYTE byGroupName[NAME_LEN]; - BYTE byGroupType;/*0-CAM飬1-MON*/ - BYTE byRes1; - WORD wMemNum; - DWORD dwGlobalId[512]; - BYTE byRes2[20]; -}NET_MATRIX_RESOURCEGROUPPARAM,*LPNET_MATRIX_RESOURSEGROUPPARAM; - -//255û -typedef struct tagNET_MATRIX_USERGROUPPARAM -{ - DWORD dwSize; - BYTE sGroupName[NAME_LEN]; - WORD wUserMember[255]; /*ûԱ*/ - WORD wResorceGroupMember[255]; /*ԴԱ*/ - BYTE byPermission[32];//Ȩޣ0-ptzȨޡлȨޡѯȨ - BYTE byRes[20]; -} NET_MATRIX_USERGROUPPARAM, *LPNET_MATRIX_USERGROUPPARAM; - -typedef struct tagNET_MATRIX_TRUNKPARAM -{ - DWORD dwSize; - DWORD dwTrunkId; - BYTE sTrunkName[NAME_LEN]; - DWORD dwSrcMonId; - DWORD dwDstCamId; - BYTE byTrunkType; /*ʹ 1-BNC2-SP3˸壬3-SP3D1 4-V6ˣ5-*/ - BYTE byAbility; /*ʾ˵ĴԴ伸·*/ - BYTE bySubChan; /*Թ˸߶ԣʾͨ*/ - BYTE byLevel; /* ߼ 1-255*/ - WORD wReserveUserID; //ԤûID 1~256 0ʾͷԤ - BYTE byRes[18]; -} NET_MATRIX_TRUNKPARAM, *LPNET_MATRIX_TRUNKPARAM; - -typedef struct tagNET_DVR_MATRIX_TRUNKLIST -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwTrunkNum;//豸صĸ - BYTE *pBuffer;//Ϣ - DWORD dwBufLen;//ָ볤ȣ -}NET_DVR_MATRIX_TRUNKLIST,*LPNET_DVR_MATRIX_TRUNKLIST; - -#define MATRIX_PROTOCOL_NUM 20 //ֵ֧Э -#define KEYBOARD_PROTOCOL_NUM 20 //ֵ֧Э -typedef struct tagNET_DVR_PROTO_TYPE_EX -{ - WORD wType; /*ipcЭֵ*/ - WORD wCommunitionType; /*0ģ 1 2ģ⡢*/ - BYTE byDescribe[DESC_LEN]; /*Эֶ*/ -}NET_DVR_PROTO_TYPE_EX, LPNET_DVR_PROTO_TYPE_EX; - -typedef struct tagNET_DVR_MATRIXMANAGE_ABIILITY -{ - DWORD dwSize; - DWORD dwMaxCameraNum;//Camera - DWORD dwMaxMonitorNum;// - WORD wMaxMatrixNum;// - WORD wMaxSerialNum;// - WORD wMaxUser;//û - WORD wMaxResourceArrayNum;//Դ - WORD wMaxUserArrayNum;//û - WORD wMaxTrunkNum;// - BYTE nStartUserNum;//ʼû - BYTE nStartUserGroupNum;//ʼû - BYTE nStartResourceGroupNum;//ʼԴ - BYTE nStartSerialNum;//ʼں - DWORD dwMatrixProtoNum; /*ЧľЭĿ0ʼ*/ - NET_DVR_PROTO_TYPE_EX struMatrixProto[MATRIX_PROTOCOL_NUM];/*Эб*/ - DWORD dwKeyBoardProtoNum; /*ЧļЭĿ0ʼ*/ - NET_DVR_PROTO_TYPE_EX struKeyBoardProto[KEYBOARD_PROTOCOL_NUM];/*Эб*/ - BYTE byDelMonitorLongCfg; //Ƿ֧ɾmonitor - BYTE byDelCamonitorLongCfg;//Ƿ֧ɾcamera - BYTE byAudioSwitchContorl;//Ƿ֧Ƶؿ - BYTE byRes[29]; -} NET_DVR_MATRIXMANAGE_ABILITY, *LPNET_DVR_MATRIXMANAGE_ABILITY; - - -//ץĹ() -typedef struct tagNET_VCA_SINGLE_FACESNAPCFG -{ - BYTE byActive; //Ƿ񼤻0-1- - /********* IPC5.1.7 Begin 2014-03-21***********/ - //ԶROIʹ - BYTE byAutoROIEnable;//0-ر,1- - BYTE byRes[2]; // - /********* IPC5.1.7 End 2014-03-21***********/ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struVcaPolygon; //ʶ -}NET_VCA_SINGLE_FACESNAPCFG, *LPNET_VCA_SINGLE_FACESNAPCFG; - -//ץĹ -typedef struct tagNET_VCA_FACESNAPCFG -{ - DWORD dwSize; - BYTE bySnapTime; //ĿץĴ0-10 - BYTE bySnapInterval; //ץļλ֡ - BYTE bySnapThreshold; //ץֵ0-100 - BYTE byGenerateRate; //Ŀٶ,Χ[1, 5] - BYTE bySensitive; //ĿȣΧ[1, 5] - BYTE byReferenceBright; //2012-3-27ο[0,100] - BYTE byMatchType; //2012-5-3ȶԱģʽ0-Ŀʧ󱨾1-ʵʱ - BYTE byMatchThreshold; //2012-5-3ʵʱȶֵ0~100 - NET_DVR_JPEGPARA struPictureParam; //ͼƬṹ - NET_VCA_SINGLE_FACESNAPCFG struRule[MAX_RULE_NUM]; //ץĹ - //ع̳ʱ䣨ֽڣ - WORD wFaceExposureMinDuration;//Χ(1~3600룬Ĭ60)ЧԶģʽ - //عģʽ - BYTE byFaceExposureMode;//1-رգ2-0-Զжϣ - BYTE byBackgroundPic;//ͼϴʹ 0-Ĭֵ1-ֹ - DWORD dwValidFaceTime; //Ч̳ʱ䣬λ - DWORD dwUploadInterval; //ץͳϴʱ䣬λ룬Ĭ900 - DWORD dwFaceFilteringTime;//ͣʱ,Ĭ5룬Χ0-100롣0ʾ - BYTE bySceneID; //,Ŀǰ֧1~40ΪЧ - BYTE byInvalCapFilterEnable;//ЧץĹʹܣ0Ϊرգ1ΪĬΪ0 - BYTE byInvalCapFilterThreshold;//ЧץĹֵ0~100byInvalCapFilterEnableΪ1ʱЧ - BYTE byRes2[81]; -}NET_VCA_FACESNAPCFG, *LPNET_VCA_FACESNAPCFG; - -typedef struct tagNET_DVR_FIRMWARE_VERSION_IFNO -{ - DWORD dwSize;//ṹС - char szFirmwareVersion[LEN_PROPERTY/*128*/]; //ذ汾 ֻ - BYTE byRes2[128]; -}NET_DVR_FIRMWARE_VERSION_IFNO, *LPNET_DVR_FIRMWARE_VERSION_IFNO; - -// -typedef enum tagHUMAN_AGE_GROUP_ENUM -{ - ENUM_AGE_GROUP_INFANT = 1, //Ӥ׶ - ENUM_AGE_GROUP_CHILD = 2, //ͯ - ENUM_AGE_GROUP_YOUNGSTER = 3, // - ENUM_AGE_GROUP_ADOLESCENT = 4, // - ENUM_AGE_GROUP_YOUTH = 5, // - ENUM_AGE_GROUP_PRIME = 6, //׳ - ENUM_AGE_GROUP_MIDLIFE = 7, // - ENUM_AGE_GROUP_MIDAGE = 8, // - ENUM_AGE_GROUP_OLD = 9, // - ENUM_AGE_GROUP_ALL = 0xfe, //ȫ - ENUM_AGE_GROUP_UNKNOW = 0xff //δ֪,㷨֧δ -}HUMAN_AGE_GROUP_ENUM; - -// -typedef enum tagFACE_EXPRESSION_GROUP_ENUM -{ - ENUM_EXPRESSION_GROUP_SURPRISED = 1, // - ENUM_EXPRESSION_GROUP_PANIC = 2, // - ENUM_EXPRESSION_GROUP_DISGUUSTED = 3, // - ENUM_EXPRESSION_GROUP_HAPPY = 4, // - ENUM_EXPRESSION_GROUP_SAD = 5, //ѹ - ENUM_EXPRESSION_GROUP_ANGRY = 6, //ŭ - ENUM_EXPRESSION_GROUP_POKER = 7, // - ENUM_EXPRESSION_GROUP_ALL = 0xfe, //ȫ - ENUM_EXPRESSION_GROUP_UNKNOW = 0xff //δ֪,㷨֧δ -}FACE_EXPRESSION_GROUP_ENUM; - -typedef struct tagNET_DVR_LLI_PARAM -{ - float fSec;//[0.000000,60.000000] - BYTE byDegree;//:γ[0,90] [0,180] - BYTE byMinute;//[0,59] - BYTE byRes[6]; -}NET_DVR_LLI_PARAM, *LPNET_DVR_LLI_PARAM; - -typedef struct tagNET_DVR_LLPOS_PARAM -{ - BYTE byLatitudeType;//γͣ0-γ1-γ - BYTE byLongitudeType;//ͣ0-1- - BYTE byRes1[2]; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - BYTE byRes[16]; -}NET_DVR_LLPOS_PARAM, *LPNET_DVR_LLPOS_PARAM; - -//ץĸϢṹ -typedef struct tagNET_VCA_FACESNAP_ADDINFO -{ - //ο,ΪСͼ(ͷ) - NET_VCA_RECT struFacePicRect; - int iSwingAngle;//ת, -90~90 - int iTiltAngle;//, -90~90 - DWORD dwPupilDistance;//ͫ,ΧΪСֵΪ10,ֵΪǰֱʿ/1.6 - BYTE byBlockingState;//Ŀڵ״̬ 0-ʾδ֪㷨֧֣,1~ڵ,2~˲ʱڵ3~ڵ4~ڵ - BYTE byFaceSnapThermometryEnabled;//ץIJʹ 1- 0-ر - BYTE byIsAbnomalTemperature;//ץIJǷ¶쳣 1- 0- - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - NET_DVR_TIME_EX struEnterTime; // ץ½ʱ - NET_DVR_TIME_EX struExitTime; // ץ뿪ʱ - float fFaceTemperature; // ¶ȣ - 20.0~150.0棬ȷС1λ0xffff65535ʾЧ¶ֵʱأ - float fAlarmTemperature;// ±ֵȷС1λ - DWORD dwThermalPicLen;//ȳͼƬ - BYTE *pThermalPicBuff;// ȳͼƬָ - BYTE szCustomChanID[65];// Զصͨ string max.len = 64 - BYTE byRes1[3];// ֽ - NET_DVR_LLPOS_PARAM struLLPos;//豸γλϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "faceCapture") -#else - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "faceCapture") - BYTE byRes2[4]; -#endif - DWORD dwEventNotificationAlertLen;//ȶӦEventNotificationAlert JSON Block("eventType": "faceCapture")ݳ - BYTE byRes[340];// ֽ -}NET_VCA_FACESNAP_ADDINFO, *LPNET_VCA_FACESNAP_ADDINFO; - -//ץĽ -typedef struct tagNET_VCA_FACESNAP_RESULT -{ - DWORD dwSize; // ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - DWORD dwFacePicID; //ͼID - DWORD dwFaceScore; //,0-100 - NET_VCA_TARGET_INFO struTargetInfo;//ĿϢ - NET_VCA_RECT struRect; //ͼ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwFacePicLen; //ͼijȣΪ0ʾûͼƬ0ʾͼƬ - DWORD dwBackgroundPicLen; //ͼijȣΪ0ʾûͼƬ0ʾͼƬ() - BYTE bySmart; //IDS豸0(Ĭֵ)Smart Functiom Return 1 - BYTE byAlarmEndMark;//0-1-ǣֶνIDֶʹãʾIDӦ±ҪṩNVRʹãжϱȡʶͼƬУߵͼƬ - BYTE byRepeatTimes; //ظ0- - BYTE byUploadEventDataType;//ͼƬݳʽ0-ݣ1-URL - NET_VCA_HUMAN_FEATURE struFeature; // - float fStayDuration; //ͣʱ(λ: ) - char sStorageIP[16]; //洢IPַ - WORD wStoragePort; //洢˿ں - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - /*ͼͼƬȼ0-͵,1-е,2-ߵ, - ץֻԭе - ԭеץʵ֣ĿȷһץлȡõͼЧһͼ֣ץֻѾץɵͼƬʹͼ㷨ͼۣҪϢзͳһı׼ͼƬЧ*/ - BYTE byFacePicQuality; - BYTE byUIDLen; // ϴıʶ - BYTE byLivenessDetectionStatus;// ״̬0-1-δ֪(ʧ)2-3-4-δ - /*ϢʶλǷNET_VCA_FACESNAP_ADDINFOṹ壩,0-޸Ϣ, 1-иϢ*/ - BYTE byAddInfo; - BYTE *pUIDBuffer; //ʶָ - //Ϣָ,ָNET_VCA_FACESNAP_ADDINFOṹ - BYTE *pAddInfoBuffer; - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE* pBuffer1; //ͼͼƬ - BYTE* pBuffer2; //ͼͼƬݣͨұͼӿڿԻȡͼ -}NET_VCA_FACESNAP_RESULT, *LPNET_VCA_FACESNAP_RESULT; - -typedef struct tagNET_VCA_SUB_PROCIMG_V50 -{ - DWORD dwImageLen; //ͼƬݳ - DWORD dwFaceScore; //,0-100 - NET_VCA_RECT struVcaRect; //ͼ - NET_VCA_POINT struLeftEyePoint; //λ - NET_VCA_POINT struRightEyePoint; //λ - BYTE byDistance; //ۼ - BYTE bySex; - BYTE byAgeGroup; - BYTE byEyeGlass; - NET_VCA_RECT struPosRect; //λ - BYTE byRes[20]; // - BYTE *pImage; //ͼƬ -}NET_VCA_SUB_PROCIMG_V50, *LPNET_VCA_SUB_PROCIMG_V50; - -typedef struct tagNET_DVR_FACE_DETECTION -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - DWORD dwBackgroundPicLen; //ͼijȣΪ0ʾûͼƬ0ʾͼƬ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_VCA_RECT struFacePic[MAX_FACE_PIC_NUM/*30*/];//ͼ - BYTE byFacePicNum;//ͼ - BYTE byUploadEventDataType;//ͼƬݳʽ0-ݣ1-URL - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[249]; - BYTE* pBackgroundPicpBuffer; //ͼͼƬ -}NET_DVR_FACE_DETECTION,*LPNET_DVR_FACE_DETECTION; - -typedef struct tagNET_DVR_UPGRADE_PARAM -{ - DWORD dwUpgradeType; - char *sFileName; - void *pInbuffer; - DWORD dwBufferLen; - char *pUnitIdList[64]; -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64)) - char *sCustomURL; -#else - char *sCustomURL; - BYTE byRes2[4]; -#endif - DWORD dwCustomURLLen; - BYTE byRes[100]; -}NET_DVR_UPGRADE_PARAM, *LPNET_DVR_UPGRADE_PARAM; - - -typedef struct tagNET_VCA_FD_PROCIMG_RESULT_V50 -{ - DWORD dwSize; //ṹС - DWORD dwImageId; //ͼID - BYTE byRes[20]; // - DWORD dwSubImageNum; //ͼ - NET_VCA_SUB_PROCIMG_V50 struProcImg[MAX_TARGET_NUM]; //ͼϢ -}NET_VCA_FD_PROCIMG_RESULT_V50, *LPNET_VCA_FD_PROCIMG_RESULT_V50; - -//齹 -typedef struct tagNET_DVR_DEFOCUS_ALARM -{ - DWORD dwSize; /*ṹ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes1[2]; //ֽ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[49]; // ֽ -}NET_DVR_DEFOCUS_ALARM, *LPNET_DVR_DEFOCUS_ALARM; - -// -typedef struct tagNET_DVR_DENSEFOGDETECTION_ALARM -{ - DWORD dwSize; /*ṹ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byFogLevel; //ĵȼ0-~ 1-~ 2-~Ũ 3-Ũ - BYTE byRes[259]; // ֽ -}NET_DVR_DENSEFOGDETECTION_ALARM, *LPNET_DVR_DENSEFOGDETECTION_ALARM; - -typedef struct tagNET_DVR_AUDIOEXCEPTION_ALARM -{ - DWORD dwSize; /*ṹ*/ - BYTE byAlarmType;//ͣ1-Ƶ쳣2-Ƶͻ䣨ǿ3-ǿ4-Ƶʧ - BYTE byRes1; - WORD wAudioDecibel;//ǿȣƵͻʱõ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes[62]; // ֽ -}NET_DVR_AUDIOEXCEPTION_ALARM, *LPNET_DVR_AUDIOEXCEPTION_ALARM; - -typedef struct tagNET_BUTTON_DOWN_EXCEPTION_ALARM -{ - DWORD dwSize; /*ṹ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - BYTE byRes[64]; // ֽ -}NET_BUTTON_DOWN_EXCEPTION_ALARM, *LPNET_BUTTON_DOWN_EXCEPTION_ALARM; - -typedef struct tagNET_VCA_FD_IMAGE_CFG -{ - DWORD dwWidth; //Ҷͼݿ - DWORD dwHeight; //Ҷͼ߶ - DWORD dwImageLen; //Ҷͼݳ - BYTE byRes[20]; // - BYTE *pImage; //Ҷͼ -}NET_VCA_FD_IMAGE_CFG, *LPNET_VCA_FD_IMAGE_CFG; - -typedef struct tagNET_VCA_FD_PROCIMG_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿ񼤻; - BYTE bySensitivity; //ȣ[0,5] - BYTE byRes1[22]; //ֽ - NET_VCA_SIZE_FILTER struSizeFilter; //ߴ - NET_VCA_POLYGON struPolygon; // - NET_VCA_FD_IMAGE_CFG struFDImage; //ͼƬϢ - BYTE byRes2[20]; // -}NET_VCA_FD_PROCIMG_CFG, *LPNET_VCA_FD_PROCIMG_CFG; - -typedef struct tagNET_VCA_SUB_PROCIMG -{ - DWORD dwImageLen; //ͼƬݳ - DWORD dwFaceScore; //,0-100 - NET_VCA_RECT struVcaRect; //ͼ - BYTE byRes[20]; // - BYTE *pImage; //ͼƬ -}NET_VCA_SUB_PROCIMG, *LPNET_VCA_SUB_PROCIMG; - -typedef struct tagNET_VCA_FD_PROCIMG_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwImageId; //ͼID - BYTE byRes[20]; // - DWORD dwSubImageNum; //ͼ - NET_VCA_SUB_PROCIMG struProcImg[MAX_TARGET_NUM]; //ͼϢ -}NET_VCA_FD_PROCIMG_RESULT, *LPNET_VCA_FD_PROCIMG_RESULT; - -typedef struct tagNET_VCA_PICMODEL_RESULT -{ - DWORD dwImageLen; //ͼƬݳ - DWORD dwModelLen; //ģݳ - BYTE byRes[20]; // - BYTE *pImage; //ͼƬָ - BYTE *pModel; //ģָ -}NET_VCA_PICMODEL_RESULT, *LPNET_VCA_PICMODEL_RESULT; - -typedef struct tagNET_VCA_REGISTER_PIC -{ - DWORD dwImageID; //ͼID - DWORD dwFaceScore; //,0-100 - NET_VCA_RECT struVcaRect; //ͼ - BYTE byRes[20]; // -}NET_VCA_REGISTER_PIC, *LPNET_VCA_REGISTER_PIC; - -#define MAX_HUMAN_PICTURE_NUM 10 //Ƭ -#define MAX_HUMAN_BIRTHDATE_LEN 10 //³ - -typedef struct tagNET_DVR_AREAINFOCFG -{ - WORD wNationalityID; // - WORD wProvinceID; //ʡ - WORD wCityID; // - WORD wCountyID; // - /* - if (dwCode != 0) dwCode ֵ ȫʡݳб.txt - else dwCode ֵ PROVINCE_CITY_IDX - */ - DWORD dwCode; -}NET_DVR_AREAINFOCFG, *LPNET_DVR_AREAINFOCFG; - -typedef struct tagNET_VCA_HUMAN_ATTRIBUTE -{ - BYTE bySex; //Ա0-У1-Ů0xff-δ֪ - BYTE byCertificateType; //֤ͣ0-֤1-֤2-֤3-գ4-0xff-δ֪ - BYTE byBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //£磺201106 - BYTE byName[NAME_LEN]; // - NET_DVR_AREAINFOCFG struNativePlace; // - BYTE byCertificateNumber[NAME_LEN]; //֤ - /* - dwPersonInfoExtendLen && pPersonInfoExtend ӦURL(/ISAPI/System/Video/inputs/channels//faceContrast/personInfoExtend)ʾ PersonInfoExtendList XML Block - ڣƽ̨Ĺʱ򣬵pictureݵԶϢ豸ƥ䱨ЯΪƥϢһϴƽ̨Ĺƥ䣻 - */ - DWORD dwPersonInfoExtendLen;// ԱǩϢչ - BYTE *pPersonInfoExtend; //ԱǩϢչϢ - BYTE byAgeGroup;//ΣHUMAN_AGE_GROUP_ENUM紫0xffʾδ֪ - BYTE byRes2[3]; //ֽ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pThermalData;//ȳͼƬָ -#else - BYTE* pThermalData;//ȳͼƬָ - BYTE byRes3[4];//ֽ -#endif -}NET_VCA_HUMAN_ATTRIBUTE, *LPNET_VCA_HUMAN_ATTRIBUTE; - -typedef struct tagNET_VCA_HUMANATTRIBUTE_COND -{ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byCertificateType; //֤ͣ0-ã1-֤2-֤ - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byName[NAME_LEN]; // - NET_DVR_AREAINFOCFG struNativePlace; // - BYTE byCertificateNumber[NAME_LEN]; //֤ - BYTE byRes[20]; -}NET_VCA_HUMANATTRIBUTE_COND, *LPNET_VCA_HUMANATTRIBUTE_COND; - - -typedef struct tagNET_VCA_BLOCKLIST_INFO -{ - DWORD dwSize; //ṹС - DWORD dwRegisterID; //עIDţֻ - DWORD dwGroupNo; // - BYTE byType; //־0-ȫ1-2-ֹ - BYTE byLevel; //ֹȼ0-ȫ1-ͣ2-У3- - BYTE byRes1[2]; // - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark[NAME_LEN]; //עϢ - DWORD dwFDDescriptionLen;//ݳ - BYTE *pFDDescriptionBuffer;//ָ - DWORD dwFCAdditionInfoLen;//ץĿ⸽Ϣ - BYTE *pFCAdditionInfoBuffer;//ץĿ⸽Ϣָ루FCAdditionInfoаPTZꡢGPSϢ - DWORD dwThermalDataLen;//ȳͼƬȣȶ¼ϱ֧ -}NET_VCA_BLOCKLIST_INFO, *LPNET_VCA_BLOCKLIST_INFO; - -typedef struct tagNET_VCA_BLOCKLIST_PARA -{ - DWORD dwSize; //ṹС - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹ - DWORD dwRegisterPicNum; //ֹͼ - NET_VCA_PICMODEL_RESULT struRegisterPic[MAX_HUMAN_PICTURE_NUM]; //ֹͼƬϢ - BYTE byRes[40]; // -}NET_VCA_BLOCKLIST_PARA, *LPNET_VCA_BLOCKLIST_PARA; - -typedef struct tagNET_VCA_BLOCKLIST_COND -{ - LONG lChannel; //ͨ - DWORD dwGroupNo; // - BYTE byType; //־0-ȫ1-2-ֹ - BYTE byLevel; //ֹȼ0-ȫ1-ͣ2-У3- - BYTE byRes1[2]; // - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRes[20]; -}NET_VCA_BLOCKLIST_COND, *LPNET_VCA_BLOCKLIST_COND; - -typedef struct tagNET_VCA_BLOCKLIST_PIC -{ - DWORD dwSize; //ṹС - DWORD dwFacePicNum; //ͼ - BYTE byRes[20]; // - NET_VCA_PICMODEL_RESULT struBlockListPic[MAX_HUMAN_PICTURE_NUM]; //ƬϢ -}NET_VCA_BLOCKLIST_PIC, *LPNET_VCA_BLOCKLIST_PIC; - -typedef struct tagNET_VCA_FIND_PICTURECOND -{ - LONG lChannel;//ͨ - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE byRes[12]; // -}NET_VCA_FIND_PICTURECOND, *LPNET_VCA_FIND_PICTURECOND; - -#define MAX_FACE_PIC_LEN 6144 //ͼƬݳ -typedef struct tagNET_VCA_SUB_SNAPPIC_DATA -{ - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - NET_DVR_TIME struSnapTime; //ץʱ - DWORD dwSimilarity; //ƶ - BYTE byRes[16]; // - char sPicBuf[MAX_FACE_PIC_LEN]; //ͼƬ -}NET_VCA_SUB_SNAPPIC_DATA, *LPNET_VCA_SUB_SNAPPIC_DATA; - -typedef struct tagNET_VCA_ADVANCE_FIND -{ - DWORD dwFacePicID; //ͼƬID - BYTE byRes[36]; -}NET_VCA_ADVANCE_FIND, *LPNET_VCA_ADVANCE_FIND; - -typedef struct tagNET_VCA_NORMAL_FIND -{ - DWORD dwImageID; //ͼID - DWORD dwFaceScore; // - NET_VCA_RECT struVcaRect; //ͼ - BYTE byRes[20]; -}NET_VCA_NORMAL_FIND, *LPNET_VCA_NORMAL_FIND; - -typedef union tagNET_VCA_FIND_SNAPPIC_UNION -{ - NET_VCA_NORMAL_FIND struNormalFind; //ͨ - NET_VCA_ADVANCE_FIND struAdvanceFind; //߼ -}NET_VCA_FIND_SNAPPIC_UNION, *LPNET_VCA_FIND_SNAPPIC_UNION; - -typedef enum _VCA_FIND_SNAPPIC_TYPE_ -{ - VCA_NORMAL_FIND = 0x00000000, //ͨ - VCA_ADVANCE_FIND = 0x00000001 //߼ -}VCA_FIND_SNAPPIC_TYPE; - -typedef struct tagNET_VCA_FIND_PICTURECOND_ADVANCE -{ - LONG lChannel;//ͨ - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE byThreshold; //ֵ0-100 - BYTE byRes[23]; // - VCA_FIND_SNAPPIC_TYPE dwFindType;//ͣVCA_FIND_SNAPPIC_TYPE - NET_VCA_FIND_SNAPPIC_UNION uFindParam; // -}NET_VCA_FIND_PICTURECOND_ADVANCE, *LPNET_VCA_FIND_PICTURECOND_ADVANCE; - -typedef struct tagNET_VCA_FACESNAP_INFO_ALARM -{ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - DWORD dwSnapFacePicID; //ץͼID - DWORD dwSnapFacePicLen; //ץͼijȣΪ0ʾûͼƬ0ʾͼƬ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - BYTE byFaceScore; //ָ֣ͼ,0-100 - BYTE bySex;//Ա0-δ֪1-У2-Ů,0xff-㷨֧֣ûʶ - BYTE byGlasses;//Ƿ۾0-δ֪1-ǣ2-,3-ī, 0xff-㷨֧֣ûʶ - /* - ʶηΧ[byAge-byAgeDeviation,byAge+byAgeDeviation] - */ - BYTE byAge;//,0-ʾδ֪㷨֧֣,0xff-㷨֧֣ûʶ - BYTE byAgeDeviation;//ֵ - BYTE byAgeGroup;//ΣHUMAN_AGE_GROUP_ENUM0xffʾδ֪ - /*ͼͼƬȼ0-͵,1-е,2-ߵ, - 㷨ͼͼƬ,̬ͨȡڵȿӰʶܵۺĽ*/ - BYTE byFacePicQuality; - BYTE byRes; - DWORD dwUIDLen; // ϴıʶ - BYTE *pUIDBuffer; //ʶָ - float fStayDuration; //ͣʱ(λ: ) - BYTE *pBuffer1; //ץͼͼƬ -}NET_VCA_FACESNAP_INFO_ALARM, *LPNET_VCA_FACESNAP_INFO_ALARM; - -typedef struct tagNET_VCA_BLOCKLIST_INFO_ALARM -{ - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹϢ - DWORD dwBlockListPicLen; //ֹͼijȣΪ0ʾûͼƬ0ʾͼƬ - DWORD dwFDIDLen;// ID - BYTE *pFDID; //Idָ - DWORD dwPIDLen;// ͼƬID - BYTE *pPID; //ͼƬIDָ - WORD wThresholdValue; //ֵ[0,100] - BYTE byIsNoSaveFDPicture;//0-ͼƬ,1-ͼƬ, ˵ͼƬ߽ģʱԭͼʱ,ֶη1,ʱͼƬٷ - BYTE byRealTimeContrast;//Ƿʵʱ 0-ʵʱ 1-ʵʱ - BYTE *pBuffer1; //ֹͼͼƬ -}NET_VCA_BLOCKLIST_INFO_ALARM, *LPNET_VCA_BLOCKLIST_INFO_ALARM; - -typedef struct tagNET_VCA_FACESNAP_MATCH_ALARM -{ - DWORD dwSize; // ṹС - float fSimilarity; //ƶȣ[0.001,1] - NET_VCA_FACESNAP_INFO_ALARM struSnapInfo; //ץϢ - NET_VCA_BLOCKLIST_INFO_ALARM struBlockListInfo; //ֹϢ - char sStorageIP[16]; //洢IPַ - WORD wStoragePort; //洢˿ں - BYTE byMatchPicNum; //ƥͼƬ0-豸ֵĬ0豸ֵΪ0ʱʾûƥͼƬϢ - BYTE byPicTransType;//ͼƬݴ䷽ʽ: 0-ƣ1-url - DWORD dwSnapPicLen;//豸ʶץͼƬ - BYTE *pSnapPicBuffer;//豸ʶץͼƬָ - NET_VCA_RECT struRegion;//Ŀ߽豸ʶץͼƬУͼ - DWORD dwModelDataLen;//ģݳ - BYTE *pModelDataBuffer;// ģָ - BYTE byModelingStatus;// ģ״̬ - BYTE byLivenessDetectionStatus;//״̬0-1-δ֪ʧܣ2-3-4-δ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,0xffЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾ0xffЧ*/ - BYTE byMask; //ץͼǷ֣0-1-δ֪2-֣3- - BYTE bySmile; //ץͼǷ΢Ц0-1-δ֪2-΢Ц3-΢Ц - BYTE byContrastStatus; //ȶԽ0-1-ȶԳɹ2-ȶʧ - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش -}NET_VCA_FACESNAP_MATCH_ALARM, *LPNET_VCA_FACESNAP_MATCH_ALARM; - -typedef struct tagNET_VCA_BLOCKLIST_INFO_ALARM_LOG -{ - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹϢ - DWORD dwBlockListPicID; //ֹͼIDڲͼƬ - BYTE byRes[20]; // ֽ -}NET_VCA_BLOCKLIST_INFO_ALARM_LOG, *LPNET_VCA_BLOCKLIST_INFO_ALARM_LOG; - -typedef struct tagNET_VCA_FACESNAP_INFO_ALARM_LOG -{ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - DWORD dwSnapFacePicID; //ץͼID - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - BYTE byRes[20]; // ֽ -}NET_VCA_FACESNAP_INFO_ALARM_LOG, *LPNET_VCA_FACESNAP_INFO_ALARM_LOG; - -typedef struct tagNET_VCA_FACESNAP_MATCH_ALARM_LOG -{ - DWORD dwSize; // ṹС - float fSimilarity; //ƶȣ[0.001,1] - NET_VCA_FACESNAP_INFO_ALARM_LOG struSnapInfoLog; //ץϢ - NET_VCA_BLOCKLIST_INFO_ALARM_LOG struBlockListInfoLog; //ֹϢ - BYTE byRes[60]; // ֽ -}NET_VCA_FACESNAP_MATCH_ALARM_LOG, *LPNET_VCA_FACESNAP_MATCH_ALARM_LOG; - -typedef struct tagNET_VCA_FACEMATCH_PICCOND -{ - DWORD dwSize; // ṹС - DWORD dwSnapFaceID; //ץͼID - DWORD dwBlockListID; //ƥĽֹID - DWORD dwBlockListFaceID; //ȶԵĽֹͼID - BYTE byRes[20]; // ֽ -}NET_VCA_FACEMATCH_PICCOND, *LPNET_VCA_FACEMATCH_PICCOND; - -typedef struct tagNET_VCA_FACEMATCH_PICTURE -{ - DWORD dwSize; // ṹС - DWORD dwSnapFaceLen; //ץͼ - DWORD dwBlockListFaceLen; //ȶԵĽֹͼ - BYTE byRes[20]; //ֽ - BYTE *pSnapFace; //ץͼͼƬ - BYTE *pBlockListFace; //ȶԵĽֹͼ -}NET_VCA_FACEMATCH_PICTURE, *LPNET_VCA_FACEMATCH_PICTURE; - -typedef struct tagNET_VCA_BLOCKLIST_FASTREGISTER_PARA -{ - DWORD dwSize; //ṹС - NET_VCA_BLOCKLIST_INFO struBlockListInfo; //ֹ - DWORD dwImageLen; //ͼݳ - BYTE byRes[124]; // - BYTE *pImage; //ͼ -}NET_VCA_BLOCKLIST_FASTREGISTER_PARA, *LPNET_VCA_BLOCKLIST_FASTREGISTER_PARA; - -/*******PJ01C20170209084¼NVSܿĿר******/ -//֡ͳƽϴ -typedef struct tagNET_DVR_FRAMES_PEOPLE_COUNTING -{ - DWORD dwSize; // ṹС - NET_VCA_DEV_INFO struDevInfo;//ǰ豸Ϣ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; // ʱ - DWORD dwPeopleCountingNum; //еͳ - DWORD dwPicLen; //豸ʶץĵȫͼƬݳ - BYTE *pPicBuffer; //豸ʶץĵȫͼƬָ - BYTE byRes[512]; // ֽ -}NET_DVR_FRAMES_PEOPLE_COUNTING, *LPNET_DVR_FRAMES_PEOPLE_COUNTING; -/*******PJ01C20170209084¼NVSܿĿר******/ - -// -typedef struct tagNET_VCA_SINGLE_PATH -{ - BYTE byActive; // Ƿ,0-,1- - BYTE byType; //0-洢ץģ1-洢ֹȶԱ2-洢ץĺͽֹȶԱ0xff-Ч - BYTE bySaveAlarmPic; //ǷڱıͼƬ0-1- - BYTE byRes1[5]; // - DWORD dwDiskDriver; //̷ţ0ʼ - DWORD dwLeftSpace; //ԤλΪG - BYTE byRes2[8]; // -}NET_VCA_SINGLE_PATH, *LPNET_VCA_SINGLE_PATH; - -//洢· -typedef struct tagNET_VCA_SAVE_PATH_CFG -{ - DWORD dwSize; //ṹС - NET_VCA_SINGLE_PATH struPathInfo[MAX_DISKNUM_V30]; // - BYTE byRes[40]; // -}NET_VCA_SAVE_PATH_CFG, *LPNET_VCA_SAVE_PATH_CFG; - -typedef struct tagNET_DVR_DEV_ACCESS_CFG -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; //豸IPַ - WORD wDevicePort; //˿ں - BYTE byEnable; //Ƿã0-1- - BYTE byRes1; // - BYTE sUserName[NAME_LEN]; //豸ĵ¼ʺ - BYTE sPassword[PASSWD_LEN]; //豸ĵ¼ - BYTE byRes2[60]; -}NET_DVR_DEV_ACCESS_CFG,*LPNET_DVR_DEV_ACCESS_CFG; - -/********************************ʶ end****************************/ -//ֱ -#define MAKE_RESOLUTION(_interlace_, _width_, _height_, _fps_) \ - (((_interlace_)<<28) \ - |((((_width_)>>3)&0x1ff)<<19)| \ - ((((_height_)>>1)&0x7ff)<<8)| \ -((_fps_)&0xff)) -#define GET_RES_INTERLACE(_res_) \ -(((_res_)>>28)&0x1) -#define GET_RES_WIDTH(_res_) \ -((((_res_)>>19)&0x1ff)<<3) -#define GET_RES_HEIGHT(_res_) \ -((((_res_)>>8)&0x7ff)<<1) -#define GET_RES_FPS(_res_) \ -((_res_)&0xff) - -#define NOT_AVALIABLE MAKE_RESOLUTION (0,0,0,0) -#define SVGA_60HZ MAKE_RESOLUTION(0, 800, 600, 60) -#define SVGA_75HZ MAKE_RESOLUTION(0, 800, 600, 75) -#define XGA_60HZ MAKE_RESOLUTION(0, 1024, 768, 60) -#define XGA_75HZ MAKE_RESOLUTION(0, 1024, 768, 75) -#define SXGA_60HZ MAKE_RESOLUTION(0, 1280, 1024, 60) -#define SXGA2_60HZ MAKE_RESOLUTION(0, 1280, 960, 60) -#define _720P_24HZ MAKE_RESOLUTION(0, 1280, 720, 24) -#define _720P_25HZ MAKE_RESOLUTION(0, 1280, 720, 25) -#define _720P_30HZ MAKE_RESOLUTION(0, 1280, 720, 30) -#define _720P_60HZ MAKE_RESOLUTION(0, 1280, 720, 60) -#define _720P_50HZ MAKE_RESOLUTION(0, 1280, 720, 50) -#define _1080I_60HZ MAKE_RESOLUTION(1, 1920, 1080, 60) -#define _1080I_50HZ MAKE_RESOLUTION(1, 1920, 1080, 50) -#define _1080P_60HZ MAKE_RESOLUTION(0, 1920, 1080, 60) -#define _1080P_50HZ MAKE_RESOLUTION(0, 1920, 1080, 50) -#define _1080P_30HZ MAKE_RESOLUTION(0, 1920, 1080, 30) -#define _1080P_25HZ MAKE_RESOLUTION(0, 1920, 1080, 25) -#define _1080P_24HZ MAKE_RESOLUTION(0, 1920, 1080, 24) -#define UXGA_60HZ MAKE_RESOLUTION(0, 1600, 1200, 60) -#define UXGA_30HZ MAKE_RESOLUTION(0, 1600, 1200, 30) -#define WSXGA_60HZ MAKE_RESOLUTION(0, 1680, 1050, 60) -#define WUXGA_60HZ MAKE_RESOLUTION(0, 1920, 1200, 60) -#define WUXGA_30HZ MAKE_RESOLUTION(0, 1920, 1200, 30) -#define WXGA_60HZ MAKE_RESOLUTION(0, 1360, 768, 60) -#define SXGA_PLUS_60HZ MAKE_RESOLUTION(0, 1400, 1050, 60) -#define VGA_MODE_3840x2160_30HZ MAKE_RESOLUTION(0, 3840, 2160, 30) -#define VGA_MODE_3840x2160_60HZ MAKE_RESOLUTION(0, 3840, 2160, 60) - - - -//ʾָͨģʽ -#define MAX_WINDOWS_NUM 12 //ָģʽ -#define MAX_SUPPORT_RES 32 -#define MAX_DISPNUM_V41 32 -#define MAX_SDI_RES 16 //SDIʾֱַ֧ͨ - -typedef struct tagNET_DVR_DISPWINDOWMODE -{ - BYTE byDispChanType;//ʾͨͣ0-BNC, 1-VGA, 2-HDMI, 3-DVI 4-SDI - BYTE byDispChanSeq;//ʾͨ,1ʼVGAʾڼVGA - BYTE byRes[2]; - BYTE byDispMode[MAX_WINDOWS_NUM/*12*/]; -}NET_DVR_DISPWINDOWMODE, *LPNET_DVR_DISPWINDOWMODE; - -typedef struct tagNET_DVR_DISPINFO -{ - BYTE byChanNums;//ͨ - BYTE byStartChan;//ʼͨ - BYTE byRes[2]; - DWORD dwSupportResolution[MAX_SUPPORT_RES/*32*/];//ֱַ֧ -}NET_DVR_DISPINFO, *LPNET_DVR_DISPINFO; - -//ƴϢ -typedef struct tagNET_DVR_SCREENINFO -{ - BYTE bySupportBigScreenNums;//ƴ - BYTE byStartBigScreenNum;//ƴʼ - BYTE byMaxScreenX;//ƴģʽ - BYTE byMaxScreenY; - BYTE byRes[8]; -}NET_DVR_SCREENINFO, *LPNET_DVR_SCREENINFO; - -typedef struct tagNET_DVR_SDI_INFO -{ - BYTE byChanNums;//ͨ - BYTE byStartChan;//ʼͨ - BYTE byRes[2]; - DWORD dwSupportResolution[MAX_SDI_RES/*16*/];//ֱַ֧ -}NET_DVR_SDI_INFO,*LPNET_DVR_SDI_INFO; - -typedef struct tagNET_DVR_MATRIX_ABILITY_V41 -{ - DWORD dwSize; - BYTE byDspNums;//DSP - BYTE byDecChanNums;//ͨ - BYTE byStartChan;//ʼͨ - BYTE byRes1[5]; - NET_DVR_DISPINFO struVgaInfo;//VGAʾͨϢ - NET_DVR_DISPINFO struBncInfo;//BNCʾͨϢ - NET_DVR_DISPINFO struHdmiInfo;//HDMIʾͨϢ - NET_DVR_DISPINFO struDviInfo;//DVIʾͨϢ - NET_DVR_DISPWINDOWMODE struDispMode[MAX_DISPNUM_V41/*32*/]; - NET_DVR_SCREENINFO struBigScreenInfo; - BYTE bySupportAutoReboot; //Ƿ֧Զ0-֧֣1-֧ - BYTE byRes2[3]; - NET_DVR_SDI_INFO struSDIInfo;//SDIʾͨϢ - BYTE byRes3[48]; -} NET_DVR_MATRIX_ABILITY_V41, *LPNET_DVR_MATRIX_ABILITY_V41; - -//ʾͨ -#define MAX_WINDOWS 16 -#define MAX_WINDOWS_V41 36 - -#define STARTDISPCHAN_VGA 1 -#define STARTDISPCHAN_BNC 9 -#define STARTDISPCHAN_HDMI 25 -#define STARTDISPCHAN_DVI 29 - -typedef union tagNET_DVR_VIDEO_PLATFORM -{ - BYTE byRes[160]; - struct - { - /*ӴڶӦͨӦĽϵͳIJλ(Ƶۺƽ̨нϵͳЧ)*/ - //ۺƽ̨֧ԶԴ˲Ҫ - BYTE byJoinDecoderId[MAX_WINDOWS_V41]; - //ʾƵֱʣ1-D1,2-720P,3-1080P豸Ҫݴ˷ֱʽнͨķ䣬1ó1080P豸4ͨ˽ͨ - BYTE byDecResolution[MAX_WINDOWS_V41]; - NET_DVR_RECTCFG struPosition; //ʾͨڵǽλ - BYTE byRes[80]; - }struVideoPlatform; - struct - { - BYTE byRes[160]; - }struNotVideoPlatform; -}NET_DVR_VIDEO_PLATFORM, LPNET_DVR_VIDEO_PLATFORM; - - -typedef struct tagNET_DVR_MATRIX_VOUTCFG -{ - DWORD dwSize; - BYTE byAudio; /*ƵǷ*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byDispChanType; /*ʾͨͣ0-BNC1-VGA2-HDMI3-DVI4-YPbPr(뿨DECODER_SERVERר)*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - DWORD dwResolution;//ֱ - DWORD dwWindowMode; /*ģʽȡ*/ - BYTE byJoinDecChan[MAX_WINDOWS_V41];/*ӴڹĽͨ,豸ֽ֧ԴԶʱ˲*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - BYTE byScale; /*ʾģʽ0---ʵʾ1---ʾ( BNC )*/ - BYTE byUnionType;/*ֹ,0-Ƶۺƽ̨ڲʾͨã1-ʾͨ*/ - NET_DVR_VIDEO_PLATFORM struDiff; - DWORD dwDispChanNum; //ʾţ˲ȫȡʱЧ - WORD wLEDWidth; //LEDֱʿ0ΪЧ - WORD wLEDHeight; //LEDֱʸߣ0ΪЧ - BYTE byEnableVideoEffect; //ʾЧʹܣ 0-ʹܣ !0-ʹ - BYTE byRes[3]; //ֶ - NET_DVR_VIDEOEFFECT struVideoEffect; //ʾЧ - BYTE byRes2[60]; -}NET_DVR_MATRIX_VOUTCFG,*LPNET_DVR_MATRIX_VOUTCFG; - -/*豸״̬*/ -typedef struct tagNET_DVR_DISP_CHAN_STATUS_V41 -{ - BYTE byDispStatus; /*ʾ״̬0δʾ1ʾ*/ - BYTE byBVGA; /*0-BNC1-VGA 2-HDMI3-DVI4-SDI 0xff-Ч*/ - BYTE byVideoFormat; /*Ƶʽ1:NTSC,2:PAL,0-NON*/ - BYTE byWindowMode; /*ģʽ*/ - BYTE byJoinDecChan[MAX_WINDOWS_V41]; /*ӻĽͨ*/ - BYTE byFpsDisp[MAX_WINDOWS_V41]; /*ÿӻʾ֡*/ - BYTE byScreenMode; /*Ļģʽ0-ͨ 1-*/ - BYTE byRes1[3]; - DWORD dwDispChan; /*ȡȫʾͨ״̬ʱЧʱ0*/ - BYTE byRes2[24]; -}NET_DVR_DISP_CHAN_STATUS_V41, *LPNET_DVR_DISP_CHAN_STATUS_V41; - -/*豸״̬*/ -typedef struct tagNET_DVR_DECODER_WORK_STATUS_V41 -{ - DWORD dwSize; - NET_DVR_MATRIX_CHAN_STATUS struDecChanStatus[32]; /*ͨ״̬*/ - /*ʾͨ״̬*/ - NET_DVR_DISP_CHAN_STATUS_V41 struDispChanStatus[MAX_DISPNUM_V41/*32*/]; - BYTE byAlarmInStatus[32]; /*״̬*/ - BYTE byAlarmOutStatus[32]; /*״̬*/ - BYTE byAudioInChanStatus; /*Խ״̬*/ - BYTE byRes[127]; -}NET_DVR_DECODER_WORK_STATUS_V41,*LPNET_DVR_DECODER_WORK_STATUS_V41; -/*******************************ļط-Զ̻ط*******************************/ -typedef struct tagNET_DVR_MATRIX_DEC_REMOTE_PLAY_V41 -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨ */ - BYTE byReserve; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - NET_DVR_TIME StartTime; - NET_DVR_TIME StopTime; - char sFileName[128]; - BYTE byRes[64]; /**/ -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_V41, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_V41; - - -#define MAX_BIGSCREENNUM_SCENE 100 -#define MAX_LAYERNUMS 32 - -//ʾͨýṹ -typedef struct tagNET_DVR_RECTCFG_SCENE -{ - WORD wXCoordinate; /*ϽʼX*/ - WORD wYCoordinate; /*ϽY*/ - WORD wWidth; /*ο*/ - WORD wHeight; /*θ߶*/ -}NET_DVR_RECTCFG_SCENE, *LPNET_DVR_RECTCFGSCENE; - -typedef struct tagNET_DVR_SCENEDISPCFG -{ - BYTE byEnable;//Ƿã0-ã1- - BYTE bySoltNum;//λ - BYTE byRes1[2]; - BYTE byDispChanNum; - BYTE byAudio; /*ƵǷ,0-1-*/ - BYTE byAudioWindowIdx; /*ƵӴ*/ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - BYTE byWindowMode; /*ģʽȡ*/ - BYTE byEnlargeStatus; /*ǷڷŴ״̬0Ŵ1Ŵ*/ - BYTE byEnlargeSubWindowIndex;//ŴӴں - BYTE byScale; /*ʾģʽ0-ʵʾ1-ʾ( BNC )*/ - DWORD dwResolution;//ֱ - BYTE byJoinDecChan[MAX_WINDOWS_V41];/*ӴڹĽͨ*/ - BYTE byJoinDecoderId[MAX_WINDOWS_V41];/*λ*/ - //ʾƵֱʣ1-D1,2-720P,3-1080P豸Ҫݴ//ֱʽнͨķ䣬1ó1080P豸4ͨ˽ͨ - BYTE byDecResolution[MAX_WINDOWS_V41]; - BYTE byRow;//ڵе - BYTE byColumn;//ڵе - BYTE byRes2[5]; - NET_DVR_RECTCFG struDisp; //ǽʾλ -} NET_DVR_SCENEDISPCFG,*LPNET_DVR_SCENEDISPCFG; - -typedef struct tagDEV_CHAN_INFO_SCENE -{ - NET_DVR_IPADDR struIP; /* DVR IPַ */ - WORD wDVRPort; /* ˿ں */ - BYTE byChannel; /* ͨţ9000豸IPC룬ͨŴ33ʼ */ - BYTE byTransProtocol; /* Э0-TCP1-UDP 2-MCAST3-RTP*/ - BYTE byTransMode; /* ģʽ 0 1*/ - BYTE byFactoryType; /*ǰ豸*/ - BYTE byDeviceType; //豸ͣ1-IPC2- ENCODER - BYTE byRes[5]; - BYTE sUserName[NAME_LEN]; /* ½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ -} NET_DVR_DEV_CHAN_INFO_SCENE,*LPNET_DVR_DEV_CHAN_INFO_SCENE; - -/*ý*/ -typedef struct tagSTREAM_MEDIA_SERVER_CFG_SCENE -{ - BYTE byValid; /*Ƿýȡ,0ʾЧ*/ - BYTE byRes1[3]; - NET_DVR_IPADDR struDevIP; /*ýַ*/ - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э0-TCP1-UDP */ - BYTE byRes2[5]; -}NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE; - -typedef struct tagPU_STREAM_CFG_SCENE -{ - NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE streamMediaServerCfg; - NET_DVR_DEV_CHAN_INFO_SCENE struDevChanInfo; -}NET_DVR_PU_STREAM_CFG_SCENE,*LPNET_DVR_PU_STREAM_CFG_SCENE; - -typedef struct tagNET_DVR_CYC_SUR_CHAN_ELE_SCENE -{ - BYTE byEnable; /* Ƿ 0 1*/ - BYTE byRes[3]; - NET_DVR_STREAM_MEDIA_SERVER_CFG_SCENE struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO_SCENE struDecChanInfo; /*ѲͨϢ*/ -}NET_DVR_CYC_SUR_CHAN_ELE_SCENE,*LPNET_DVR_CYC_SUR_CHAN_ELE_SCENE; - -//Ѳṹ -typedef struct tagNET_DVR_MATRIX_LOOP_DECINFO_SCENE -{ - WORD wPoolTime; /*ѯ*/ - BYTE byRes1[2]; - NET_DVR_CYC_SUR_CHAN_ELE_SCENE struChanArray[MAX_CYCLE_CHAN/*16*/]; - BYTE byRes2[4]; -} NET_DVR_MATRIX_LOOP_DECINFO_SCENE,*LPNET_DVR_MATRIX_LOOP_DECINFO_SCENE; - -//ͨýṹ -typedef struct tagNET_DVR_DECODECHANCFG_SCENE/*struct size : 2064*/ -{ - BYTE byDecodeEnable;//ͣ־0-ֹͣ1-ö̬룬2-Ѳ - BYTE bySlotNum;//λ - BYTE byDecChan; - BYTE byJointAllDecodeChan; //Ƿܽͨ 0-1- - BYTE byJointSlotNum; //IJλţܽIJλţ - BYTE byJointChanNum; //ͨţܽͨţ - BYTE byRes[2]; - union - { - NET_DVR_PU_STREAM_CFG_SCENE struSceneDynamicDecCfg; - NET_DVR_MATRIX_LOOP_DECINFO_SCENE struSceneCycDecCfg; - } struDecCfg; -}NET_DVR_DECODECHANCFG_SCENE,*LPNET_DVR_DECODECHANCFG_SCENE; - -typedef struct tagNET_DVR_BIGSCREENCFG_SCENE -{ - BYTE byAllValid; /*ʹܱ־ */ - BYTE byAssociateBaseMap;//ĵͼţ0 - BYTE byEnableSpartan;//ʹܣ1-0- - BYTE byRes; - NET_DVR_WINCFG struWinCfg[MAX_LAYERNUMS]; - NET_DVR_BIGSCREENCFG struBigScreen; -}NET_DVR_BIGSCREENCFG_SCENE, *LPNET_DVR_BIGSCREENCFG_SCENE; - -typedef struct tagNET_DVR_MATRIX_SCENECFG -{ - DWORD dwSize; - BYTE sSceneName[NAME_LEN]; - BYTE byBigScreenNums;//ĸֵͨȡ - BYTE byRes1[3]; - WORD wDecChanNums;//нͨĸ - WORD wDispChanNums;//ʾͨĸ - BYTE byRes2[12]; - BYTE *pBigScreenBuffer;//û, byBigScreenNumssizeof(NET_DVR_BIGSCREENCFG_SCENE) - BYTE *pDecChanBuffer;//ͨû, wDecChanNumssizeof(NET_DVR_DECODECHANCFG_SCENE) - BYTE *pDispChanBuffer;//ʾͨû, wDispChanNumssizeof(NET_DVR_SCENEDISPCFG) -}NET_DVR_MATRIX_SCENECFG, *LPNET_DVR_MATRIX_SCENECFG; - - - -typedef struct tagNET_DVR_BIGSCREENASSOCIATECFG -{ - DWORD dwSize; - BYTE byEnableBaseMap;//ʹܵͼʾ - BYTE byAssociateBaseMap;//ĵͼţ0 - BYTE byEnableSpartan;//ʹܣ1-0- - BYTE byRes[21]; -} NET_DVR_BIGSCREENASSOCIATECFG, *LPNET_DVR_BIGSCREENASSOCIATECFG; -/**************************************************************/ -#define MAX_WIN_COUNT 224 //ֵ֧󿪴 - -typedef struct tagNET_DVR_SCREEN_WINCFG -{ - DWORD dwSize; - BYTE byVaild; - BYTE byInputType; //CAM_MDOE - WORD wInputIdx; /*Դ*/ - DWORD dwLayerIdx; /*ͼ㣬0Ϊײ*/ - NET_DVR_RECTCFG struWin; //ĿĴ(ʾǽ) - BYTE byWndIndex; //ں - BYTE byCBD; //0-ޣ1-2- - BYTE bySubWnd; //0ǣ1 - BYTE byRes1; - DWORD dwDeviceIndex;//豸 - BYTE byRes2[16]; -}NET_DVR_SCREEN_WINCFG, *LPNET_DVR_SCREEN_WINCFG; - -typedef struct tagNET_DVR_WINLIST -{ - DWORD dwSize; - WORD wScreenSeq; //豸 - BYTE byRes[10]; - DWORD dwWinNum; //豸صĴ - BYTE *pBuffer; //ϢΪ224*sizeof(NET_DVR_WINCFG) - DWORD dwBufLen; //ָ볤 -}NET_DVR_WINLIST,*LPNET_DVR_WINLIST; - -#define MAX_LAYOUT_COUNT 16 //󲼾 -typedef struct tagNET_DVR_LAYOUTCFG -{ - DWORD dwSize; - BYTE byValid; //ǷЧ - BYTE byRes1[3]; - BYTE byLayoutName[NAME_LEN/*32*/]; // - NET_DVR_SCREEN_WINCFG struWinCfg[MAX_WIN_COUNT/*224*/]; //ڴڲ - BYTE byRes2[16]; -}NET_DVR_LAYOUTCFG, *LPNET_DVR_LAYOUTCFG; - -typedef struct tagNET_DVR_LAYOUT_LIST -{ - DWORD dwSize; - NET_DVR_LAYOUTCFG struLayoutInfo[MAX_LAYOUT_COUNT/*16*/]; //в - BYTE byRes[4]; -}NET_DVR_LAYOUT_LIST, *LPNET_DVR_LAYOUT_LIST; - -#define MAX_CAM_COUNT 224 -#define MAX_CAM_COUNT_V50 512 - -typedef enum tagNET_DVR_CAM_MODE -{ - NET_DVR_UNKNOW = 0,//Ч - NET_DVR_CAM_BNC, - NET_DVR_CAM_VGA, - NET_DVR_CAM_DVI, - NET_DVR_CAM_HDMI, - NET_DVR_CAM_IP, - NET_DVR_CAM_RGB, - NET_DVR_CAM_DECODER, - NET_DVR_CAM_MATRIX, - NET_DVR_CAM_YPBPR, - NET_DVR_CAM_USB, - NET_DVR_CAM_SDI, - NET_DVR_CAM_HDI, - NET_DVR_CAM_DP, //Ƶۺƽ̨ - NET_DVR_CAM_HDTVI, - NET_DVR_CAM_JOINT, //ƴźԴ - NET_DVR_CAM_HDBASET, - NET_DVR_CAM_DVIT, //DVI˫·Ƶۺƽ̨ - NET_DVR_CAM_FUSION, //IPCƴ - NET_DVR_CAM_VSCREEN, // - NET_DVR_CAM_FIBER, // - NET_DVR_CAM_3GSDI, //3G-SDI - NET_DVR_CAM_DISTRIBUTED_IP, //ֲʽԴ - NET_DVR_CAM_JONIT_X86,// x86ƴϵͳƴͨ - NET_DVR_CAM_TVI, //TVIźԴ -}NET_DVR_CAM_MODE; - -typedef struct tagNET_DVR_INPUTSTREAMCFG -{ - DWORD dwSize ; - BYTE byValid; - BYTE byCamMode; //źԴͣNET_DVR_CAM_MODE - WORD wInputNo; //źԴ0-224 - BYTE sCamName[NAME_LEN] ; //źԴ - NET_DVR_VIDEOEFFECT struVideoEffect; //Ƶ - NET_DVR_PU_STREAM_CFG struPuStream; //ipʱʹ - WORD wBoardNum ; //źԴڵİ忨 - WORD wInputIdxOnBoard; //źԴڰ忨ϵλ - DWORD dwResolution;//ֱ - BYTE byVideoFormat;//ƵʽVIDEO_STANDARD - BYTE byStatus; //źԴ״̬0-ֶЧ 1-ź 2-ź 3-쳣 - BYTE sGroupName[NAME_LEN/*32*/]; //źԴ - BYTE byJointMatrix; // 0- 1- - BYTE byRes; -}NET_DVR_INPUTSTREAMCFG, *LPNET_DVR_INPUTSTREAMCFG; - -typedef struct tagNET_DVR_INPUTSTREAM_LIST -{ - DWORD dwSize; - NET_DVR_INPUTSTREAMCFG struInputStreamInfo[MAX_CAM_COUNT]; //źԴ - BYTE byRes[4]; -}NET_DVR_INPUTSTREAM_LIST, *LPNET_DVR_INPUTSTREAM_LIST; - -/**************************************************************/ -/*ͨ*/ -typedef struct tagNET_DVR_OUTPUTPARAM -{ - DWORD dwSize; - BYTE byMonMode; /*ģʽ,1-BNC,2-VGA,3-DVI,4-HDMI*/ - BYTE byRes1[3]; - DWORD dwResolution; /*ֱʣȡֵ֧Ľ*/ - NET_DVR_VIDEOEFFECT struVideoEffect; /*ͨƵ*/ - BYTE byRes2[32]; -}NET_DVR_OUTPUTPARAM, *LPNET_DVR_OUTPUTPARAM; - -typedef struct tagNET_DVR_OUTPUTCFG -{ - DWORD dwSize; - BYTE byScreenLayX; //- - BYTE byScreenLayY; //- - WORD wOutputChanNum; //ͨ0ʾ豸ֵ֧ͨȡֵʾʵͨ - BYTE byRes1[4]; - NET_DVR_OUTPUTPARAM struOutputParam; /*ͨƵ*/ - BYTE sWallName[16]; //ǽ - BYTE byRes2[8]; -}NET_DVR_OUTPUTCFG, *LPNET_DVR_OUTPUTCFG; - -/**************************************************************/ -#define SCREEN_PROTOCOL_NUM 20 //ֵ֧Э -// -typedef struct tagNET_DVR_SCREENSERVER_ABILITY -{ - DWORD dwSize; /*ṹ*/ - BYTE byIsSupportScreenNum; /*ִ֧Ŀ*/ - BYTE bySerialNums; //ڸ - BYTE byMaxInputNums; - BYTE byMaxLayoutNums; - BYTE byMaxWinNums; - BYTE byRes1[19]; - BYTE byMaxScreenLayX;//- - BYTE byMaxScreenLayY;//- - WORD wMatrixProtoNum; /*ЧĴЭĿ*/ - NET_DVR_PROTO_TYPE struScreenProto[SCREEN_PROTOCOL_NUM];/*Эб*/ - BYTE byRes2[24]; -}NET_DVR_SCREENSERVER_ABILITY, *LPNET_DVR_SCREENSERVER_ABILITY; - -// -typedef struct tagNET_DVR_SCREENCONTROL_ABILITY -{ - DWORD dwSize; /*ṹ*/ - BYTE byLayoutNum; /* ָ*/ - BYTE byWinNum; /*Ļڸ*/ - BYTE byOsdNum; /*OSD*/ - BYTE byLogoNum; /*Logo*/ - BYTE byInputStreamNum; //Դ ---豸֧ͨԴԴ - BYTE byOutputChanNum; //ͨ---豸֧ͨ - BYTE byCamGroupNum; /**/ - BYTE byPlanNum; /*Ԥ*/ - BYTE byRes1[5]; - BYTE byIsSupportPlayBack; /*Ƿֻ֧ط*/ - BYTE byMatrixInputNum; //֧ - BYTE byMatrixOutputNum; //֧ - NET_DVR_DISPINFO struVgaInfo;//VGAϢ - NET_DVR_DISPINFO struBncInfo;//BNCϢ - NET_DVR_DISPINFO struHdmiInfo;//HDMIϢ - NET_DVR_DISPINFO struDviInfo;//DVIϢ - BYTE byMaxUserNums;//֧û - BYTE byPicSpan; //ͼȣһŵͼɸǵĻ - WORD wDVCSDevNum; //ֲʽ豸 - WORD wNetSignalNum; //Դ - WORD wBaseCoordinateX;//׼ - WORD wBaseCoordinateY; - BYTE byExternalMatrixNum; //Ӿ - BYTE byRes2[49]; -}NET_DVR_SCREENCONTROL_ABILITY, *LPNET_DVR_SCREENCONTROL_ABILITY; - -/*******************************ź״̬*******************************/ -typedef struct tagNET_DVR_ANALOGINPUTSTATUS -{ - DWORD dwLostFrame; /*Ƶ붪֡*/ - BYTE byHaveSignal; /*ǷƵź*/ - BYTE byVideoFormat; /*Ƶʽ1NTSC,2PAL,0*/ - BYTE byRes[46]; -} NET_DVR_ANALOGINPUTSTATUS, *LPNET_DVR_ANALOGINPUTSTATUS; - -typedef union tagNET_DVR_INPUTSTATUS_UNION -{ - NET_DVR_MATRIX_CHAN_STATUS struIpInputStatus; - NET_DVR_ANALOGINPUTSTATUS struAnalogInputStatus; -} NET_DVR_INPUTSTATUS_UNION, *LPNET_DVR_INPUTSTATUS_UNION; - -typedef struct tagNET_DVR_INPUTSTATUS -{ - WORD wInputNo; /*źԴ*/ - BYTE byInputType; //NET_DVR_CAM_MODE - BYTE byRes1[9]; - NET_DVR_INPUTSTATUS_UNION struStatusUnion; - BYTE byRes2[16]; -} NET_DVR_INPUTSTATUS, *LPNET_DVR_INPUTSTATUS; - -typedef struct tagNET_DVR_SCREENINPUTSTATUS -{ - DWORD dwSize; - BYTE byRes[12]; - DWORD dwNums; //豸صԴ״̬ - BYTE *pBuffer; // - DWORD dwBufLen; //ָ볤ȣ -}NET_DVR_SCREENINPUTSTATUS,*LPNET_DVR_SCREENINPUTSTATUS; - -typedef struct tagNET_DVR_SCREENALARMCFG -{ - DWORD dwSize; - BYTE byAlarmType; //ͣ1-Ӱγ2-Ӱ룬3-ϵͳ״̬쳣4-ϵͳָָ 5-Դ쳣 6-¶ȱ 7-FPGA汾ƥ 8-Ԥʼ 9-Ԥ 10- 11-IPַͻ12-쳣 - BYTE byBoardType; // 1- 2- 3-壬4-壬Ϊ1236ʱʹ - BYTE bySubException; //쳣ʱ쳣 1- ֱı 2-˿͸ı3-ֱʴ4-ֱʸı䵼½Դ㣬رոԴӦڡ5-ֱʸı䣬ѿű1/88Χ6-ֱʻָ,7-ֱʸı䵼,豸رմ - BYTE byRes1; - WORD wStartInputNum; // 쳣Դ쳣㣩 - WORD wEndInputNum; // 쳣Դ쳣յ㣩 - BYTE byRes2[16]; -}NET_DVR_SCREENALARMCFG, *LPNET_DVR_SCREENALARMCFG; - -typedef struct tagNET_DVR_MATRIX_CFG -{ - BYTE byValid; //жǷģǷЧ - BYTE byCommandProtocol; //ģָ4֣ - BYTE byScreenType; // - BYTE byRes1; - BYTE byScreenToMatrix[32]; //ģĻĶӦϵ - BYTE byRes2[4]; -}NET_DVR_MATRIX_CFG, *LPNET_DVR_MATRIX_CFG; - -typedef struct tagNET_DVR_DIGITALSCREEN -{ - NET_DVR_IPADDR struAddress;/*豸Ϊ豸ʱIPϢ*/ - WORD wPort; //ͨ - BYTE byRes[26]; // -}NET_DVR_DIGITALSCREEN, *LPNET_DVR_DIGITALSCREEN; -typedef struct tagNET_DVR_ANALOGSCREEN -{ - BYTE byDevSerPortNum; /*豸Ĵں*/ - BYTE byScreenSerPort; /*ӴĴں*/ - BYTE byRes[130]; - NET_DVR_MATRIX_CFG struMatrixCfg; -}NET_DVR_ANALOGSCREEN, *LPNET_DVR_ANALOGSCREEN; - -typedef union tagNET_DVR_SCREEN_UNION -{ - NET_DVR_DIGITALSCREEN struDigitalScreen; - NET_DVR_ANALOGSCREEN struAnalogScreen; -}NET_DVR_SCREEN_UNION, *LPNET_DVR_SCREEN_UNION; -typedef struct tagNET_DVR_SCREEN_SCREENINFO -{ - DWORD dwSize; - BYTE byValid; //ǷЧ - BYTE nLinkMode; //ӷʽ0-ڣ1- - BYTE byDeviceType; //豸ͺţȡ - BYTE byScreenLayX; //- - BYTE byScreenLayY; //- - BYTE byRes1[3]; - BYTE sUserName[NAME_LEN]; /*¼û*/ - BYTE sPassword[PASSWD_LEN]; /*¼*/ - BYTE sDevName[NAME_LEN]; /*豸*/ - NET_DVR_SCREEN_UNION struScreenUnion; - BYTE byInputNum; // Դ - BYTE byOutputNum; // Դ - BYTE byCBDNum; //CBD - BYTE byRes2[29]; -} NET_DVR_SCREEN_SCREENINFO, *LPNET_DVR_SCREEN_SCREENINFO; - -/*******************************ͼϴ*******************************/ -typedef struct tagNET_DVR_BASEMAP_CFG -{ - BYTE byScreenIndex; //Ļ - BYTE byMapNum; /*ָ˶ٿ */ - BYTE res[2]; - WORD wSourWidth; /* ԭͼƬĿ */ - WORD wSourHeight; /* ԭͼƬĸ߶ */ -}NET_DVR_BASEMAP_CFG, LPNET_DVR_BASEMAP_CFG; - - -typedef struct tagNET_DVR_PICCFG -{ - DWORD dwSize; //С - BYTE byUseType; //1-ͼ2-GIFͼƬ3-CADͼƬ 4-ͼƬ - BYTE bySequence;// - BYTE byOverlayEnabled; //ͼƬʹܣǷϴͼƬͼƬӲ 1-Ӳ0- - BYTE byRes[1]; - NET_DVR_BASEMAP_CFG struBasemapCfg; //ͼԺ豸Ч - BYTE sPicName[NAME_LEN];//ͼƬ - DWORD dwVideoWall; //ǽţ1ֽǽţں̶ֵΪ1ɣ+1ֽͨͨţ+2ֽڴںţ - BYTE byFlash; //ͼƬ˸ʹܣ1-˸0-˸ - BYTE byTranslucent; //ͼƬ͸ʹܣ1-͸0-͸ - BYTE byShowEnabled; //ͼƬʾʹܣ1-ʾ0- - BYTE byPictureType; //ͼƬͣ1-bmp2-jpg3-png - BYTE byRes2[24]; -}NET_DVR_PICTURECFG, *LPNET_DVR_PICTURECFG; - -/*******************************OSD*******************************/ -#define MAX_OSDCHAR_NUM 256 -typedef struct tagNET_DVR_OSDCFG -{ - DWORD dwSize; - BYTE byValid; /*ǷЧ 0Ч 1Ч*/ - BYTE byDispMode; //ʾģʽ1-͸2-͸3-ģʽ - BYTE byFontColorY; /*ɫY,0-255*/ - BYTE byFontColorU; /*ɫU,0-255*/ - BYTE byFontColorV; /*ɫV,0-255*/ - BYTE byBackColorY; /*ɫY,0-255*/ - BYTE byBackColorU; /*ɫU,0-255*/ - BYTE byBackColorV; /*ɫV,0-255*/ - WORD wXCoordinate; /*OSDĻϽλx*/ - WORD wYCoordinate; /*OSDĻϽλy*/ - WORD wWidth; /*OSD*/ - WORD wHeight; /*OSD߶*/ - DWORD dwCharCnt; /*ַĸ*/ - WORD wOSDChar[MAX_OSDCHAR_NUM]; /*OSDַ*/ - BYTE byRes[32]; -}NET_DVR_OSDCFG, *LPNET_DVR_OSDCFG; - - -/*******************************ȡϢ*******************************/ -typedef struct tagNET_DVR_SERIAL_CONTROL -{ - DWORD dwSize ; - BYTE bySerialNum; // ڸ - BYTE byRes1[3]; - BYTE bySerial[32]; - BYTE byRes2[32]; -}NET_DVR_SERIAL_CONTROL, *LPNET_DVR_SERIAL_CONTROL; - -/*******************************Ļ*******************************/ -//ĻԴ -typedef enum tagINPUT_INTERFACE_TYPE -{ - INTERFACE_VGA = 0, - INTERFACE_SVIDEO, // 2046NL֧֣2046NH֧ - INTERFACE_YPBPR, - INTERFACE_DVI , - INTERFACE_BNC , - INTERFACE_DVI_LOOP,//(ͨ) 2046NH֧֣2046NL֧ - INTERFACE_BNC_LOOP, //(ͨ) 2046NH֧֣2046NL.֧ - INTERFACE_HDMI, - INTERFACE_IP, - INTERFACE_USB, - INTERFACE_SDI, - INTERFACE_DP, - INTERFACE_HDBASET -}INPUT_INTERFACE_TYPE; -typedef struct tagNET_DVR_INPUT_INTERFACE_CTRL -{ - BYTE byInputSourceType; //INPUT_INTERFACE_TYPE - BYTE byRes[15]; -}NET_DVR_INPUT_INTERFACE_CTRL, *LPNET_DVR_INPUT_INTERFACE_CTRL; -//ʾԪɫ -typedef struct tagNET_DVR_DISPLAY_COLOR_CTRL -{ - BYTE byColorType; //1- 2-Աȶ 3-Ͷ 4- - char byScale; //-1 0+1ֵ - BYTE byRes[14]; -}NET_DVR_DISPLAY_COLOR_CTRL, *LPNET_DVR_DISPLAY_COLOR_CTRL; -//ʾԪλÿ -typedef struct tagNET_DVR_DISPLAY_POSITION_CTRL -{ - BYTE byPositionType; //1-ˮƽλ 2-ֱλã - char byScale; //-1 0+1ֵ - BYTE byRes[14]; -}NET_DVR_DISPLAY_POSITION_CTRL, *LPNET_DVR_DISPLAY_POSITION_CTRL; - - -/*******************************ĻV41*******************************/ -typedef struct tagNET_DVR_RECTCFG_EX -{ - DWORD dwXCoordinate; /*ϽʼX*/ - DWORD dwYCoordinate; /*ϽY*/ - DWORD dwWidth; /*ο*/ - DWORD dwHeight; /*θ߶*/ - BYTE byRes[4]; -}NET_DVR_RECTCFG_EX, *LPNET_DVR_RECTCFG_EX; - -/*******************************Ԥ*******************************/ -#define MAX_PLAN_ACTION_NUM 32 //Ԥ -#define DAYS_A_WEEK 7 //һ7 -#define MAX_PLAN_COUNT 16 //Ԥ - - -typedef enum -{ - NET_DVR_SWITCH_LAYOUT = 1, // л Ĭ - NET_DVR_SCREEN_POWER_OFF, // رմĻʾ - NET_DVR_SCREEN_POWER_ON, // 򿪴Ļʾ - NET_DVR_SWITCH_BASEMAP //ͼл -}NET_DVR_PLAN_OPERATE_TYPE; - -/*ԤϢ*/ -typedef struct tagNET_DVR_PLAN_INFO -{ - BYTE byValid; // ǷЧ - BYTE byType; // NET_DVR_PLAN_OPERATE_TYPE - WORD wLayoutNo; // ֺ - BYTE byScreenStyle; //Ļͺţػã1ǵ2Ǹ - BYTE byBaseMapType; //ͼͣ1-ͼƬͼ2-ͼͼлʱЧ - BYTE byRes1[2]; - DWORD dwDelayTime; // һʱ, λ - DWORD dwSerialNo; //ںţĻʱʹ - DWORD dwBaseMapWndNo; //ͼںţͼлʱЧ - DWORD dwBaseMapNo; //ͼţͼлʱЧͼΪ1ʱ˲ΪͼƬţͼΪ2ʱ˲Ϊϵͳţ1ֽ豸+1ֽӰ+2ֽʾţ - BYTE byRes2[20]; -} NET_DVR_PLAN_INFO, *LPNET_DVR_PLAN_INFO; - -typedef struct tagNET_DVR_CYCLE_TIME -{ - BYTE byValid; - BYTE byRes[3]; - NET_DVR_TIME_EX struTime; -}NET_DVR_CYCLE_TIME, *LPNET_DVR_CYCLE_TIME; -/*Ԥ*/ -typedef struct tagNET_DVR_PLAN_CFG -{ - DWORD dwSize; - BYTE byValid; // ԤǷЧ - BYTE byWorkMode; // Ԥģʽ 1ʾֶ2Զ3Ԥѭ - BYTE byWallNo; //ǽţ1ʼ - BYTE byPlanNo; //ԤţȡԤбʱЧ0-Ч֧ - BYTE byPlanName[NAME_LEN/*32*/]; //Ԥ - NET_DVR_TIME_EX struTime; // ģʽΪԶʱʹ - NET_DVR_CYCLE_TIME struTimeCycle[DAYS_A_WEEK/*7*/]; /*ѭʱ䣬Ϊһڣꡢ¡ʹá磺struTimeCycle[0]еbyValidֵ1ʾִиԤȡֵΪ[0,6]0죬1һԴ*/ - DWORD dwWorkCount; // Ԥִд - NET_DVR_PLAN_INFO strPlanEntry[MAX_PLAN_ACTION_NUM/*32*/]; // Ԥִе - DWORD dwPlanNo; //4ֽԤţͻͳһʹ4ֽڵԤţֽڵԤŲʹ - BYTE byRes2[60]; -}NET_DVR_PLAN_CFG, *LPNET_DVR_PLAN_CFG; - - -/*******************************ȡ豸״̬*******************************/ -/*Ԥб*/ -typedef struct tagNET_DVR_PLAN_LIST -{ - DWORD dwSize; - DWORD dwPlanNums; //豸źԴ - BYTE *pBuffer; //ָdwInputSignalNumsNET_DVR_PLAN_CFGṹСĻ - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes1[2]; - DWORD dwBufLen; //仺ȣڵdwInputSignalNumsNET_DVR_PLAN_CFGṹС - BYTE byRes2[64]; -} NET_DVR_PLAN_LIST,*LPNET_DVR_PLAN_LIST; - - -/*******************************Ԥ*******************************/ -//ýṹΪͨÿƽṹ -typedef struct tagNET_DVR_CONTROL_PARAM -{ - DWORD dwSize; - BYTE sDeviceID[NAME_LEN]; //豸豸ID - WORD wChan; //ͨ - BYTE byIndex; //ȷʾʲô - BYTE byRes1; - DWORD dwControlParam; - BYTE byMandatoryAlarm; //1-ʹ 0-ʹ - BYTE byRes2; - WORD wZoneIndex; // - BYTE byOperatorCode[16]; //ؿ - DWORD dwPlanNo; //4ֽԤţͻͳһʹ4ֽڵԤţֽڵԤŲʹ - BYTE byRes3[8]; -}NET_DVR_CONTROL_PARAM, *LPNET_DVR_CONTROL_PARAM; - -/*******************************ȡ豸״̬*******************************/ -typedef struct tagNET_DVR_DEVICE_RUN_STATUS -{ - DWORD dwSize; - DWORD dwMemoryTotal; //ڴλKbyte - DWORD dwMemoryUsage; //ڴʹλKbyte - BYTE byCPUUsage; //CPUʹʣ0-100 - BYTE byMainFrameTemp; //¶ȣλ϶ - BYTE byBackPanelTemp; //¶ȣλ϶ - BYTE byRes1; - BYTE byLeftDecResource[32]; //ʣԴԽD1ֱԴΪλbyLeftDecResource[i],ʾλiʣԴ0xffʾЧǽûӣ - float fNetworkFlow; //λKB/sһСλ - BYTE byRes2[88]; -}NET_DVR_DEVICE_RUN_STATUS, *LPNET_DVR_DEVICE_RUN_STATUS; - -// 91ϵHD-SDIDVR Ϣ -typedef struct tagNET_DVR_ACCESS_CAMERA_INFO -{ - DWORD dwSize; - char sCameraInfo[32]; // ǰϢ - BYTE byInterfaceType; // ǰ˽ӿͣ1:VGA, 2:HDMI, 3:YPbPr 4:SDI 5:FC - BYTE byRes1[3]; - DWORD dwChannel; - BYTE byRes[24]; -}NET_DVR_ACCESS_CAMERA_INFO, *LPNET_DVR_ACCESS_CAMERA_INFO; - -typedef struct tagNET_DVR_AUDIO_INPUT_PARAM -{ - BYTE byAudioInputType; //Ƶͣ0-mic in1-line in - BYTE byVolume; //volume,[0-100] - BYTE byEnableNoiseFilter; //Ƿ-أ- - BYTE byres[5]; -}NET_DVR_AUDIO_INPUT_PARAM, *LPNET_DVR_AUDIO_INPUT_PARAM; - -typedef struct tagNET_DVR_CAMERA_DEHAZE_CFG -{ - DWORD dwSize; - BYTE byDehazeMode; //0-ã1-Զģʽ2- - BYTE byLevel; //ȼ0-100 - BYTE byRes[6]; -}NET_DVR_CAMERA_DEHAZE_CFG, *LPNET_DVR_CAMERA_DEHAZE_CFG; - -typedef struct tagNET_DVR_INPUT_SIGNAL_LIST -{ - DWORD dwSize; - DWORD dwInputSignalNums; //豸źԴ - BYTE *pBuffer; //ָdwInputSignalNumsNET_DVR_INPUTSTREAMCFGṹСĻ - BYTE byRes1[3]; - DWORD dwBufLen; //仺ȣڵdwInputSignalNumsNET_DVR_INPUTSTREAMCFGṹС - BYTE byRes2[64]; -} NET_DVR_INPUT_SIGNAL_LIST,*LPNET_DVR_INPUT_SIGNAL_LIST; - -// ȫ״̬ -#define PULL_DISK_SUCCESS 1 // ȫ̳ɹ -#define PULL_DISK_FAIL 2 // ȫʧ -#define PULL_DISK_PROCESSING 3 // ֹͣ -#define PULL_DISK_NO_ARRAY 4 // в -#define PULL_DISK_NOT_SUPPORT 5 // ְ֧ȫ - -// ɨ״̬ -#define SCAN_RAID_SUC 1 // ɨгɹ -#define SCAN_RAID_FAIL 2 // ɨʧ -#define SCAN_RAID_PROCESSING 3 // ɨ -#define SCAN_RAID_NOT_SUPPORT 4 // ֧ɨ - -// ǰ״̬ -#define SET_CAMERA_TYPE_SUCCESS 1 // ɹ -#define SET_CAMERA_TYPE_FAIL 2 // ʧ -#define SET_CAMERA_TYPE_PROCESSING 3 // ڴ - -//9000 2.2 -typedef struct tagNET_DVR_RECORD_TIME_SPAN_INQUIRY -{ - DWORD dwSize; //ṹС - BYTE byType; //0 Ƶ¼, 1ͼƬͨ¼, 2ANRͨ¼, 3֡ͨ¼ - BYTE byRes[63]; // -}NET_DVR_RECORD_TIME_SPAN_INQUIRY, *LPNET_DVR_RECORD_TIME_SPAN_INQUIRY; - -typedef struct tagNET_DVR_RECORD_TIME_SPAN -{ - DWORD dwSize; //ṹС - NET_DVR_TIME strBeginTime; //ʼʱ - NET_DVR_TIME strEndTime; //ʱ - BYTE byType; //0 Ƶ¼, 1ͼƬͨ¼, 2ANRͨ¼, 3֡ͨ¼ - BYTE byRes[35]; // -}NET_DVR_RECORD_TIME_SPAN, *LPNET_DVR_RECORD_TIME_SPAN; - -typedef struct tagNET_DVR_DRAWFRAME_DISK_QUOTA_CFG -{ - DWORD dwSize; //ṹС - BYTE byPicQuota; //ͼƬٷֱ [0%, 30%] - BYTE byRecordQuota; //ͨ¼ٷֱ [20%, 40%] - BYTE byDrawFrameRecordQuota; //֡¼ٷֱ [30%, 80%] - BYTE byRes[61]; //ֽ -}NET_DVR_DRAWFRAME_DISK_QUOTA_CFG, *LPNET_DVR_DRAWFRAME_DISK_QUOTA_CFG; - -typedef struct tagNET_DVR_NAT_PORT -{ - WORD wEnable; //ö˿Ƿʹӳ - WORD wExtPort; //ӳⲿ˿ں - BYTE byRes[12]; // -}NET_DVR_NAT_PORT, *LPNET_DVR_NAT_PORT; - -typedef struct tagNET_DVR_NAT_CFG -{ - DWORD dwSize; //ṹС - WORD wEnableUpnp; //UPNPǷ - WORD wEnableNat; //UPNP˿ӳ䣨NATǷ(wEnableUpnpһ) - NET_DVR_IPADDR struIpAddr; //NAT·LAN IPַ - NET_DVR_NAT_PORT struHttpPort; //web server http˿ӳ - NET_DVR_NAT_PORT struCmdPort; //˿ӳ(8000) - NET_DVR_NAT_PORT struRtspPort; //rtsp˿ӳ - BYTE byFriendName[64]; // - BYTE byNatType; //UPNP˿ӳͣ0-ֶ1-Զ - BYTE byRes1[3]; // - NET_DVR_NAT_PORT struHttpsPort; //https˿ӳ - NET_DVR_NAT_PORT struSDKOverTLSPort; //SDKOverTLS˿ӳ - NET_DVR_NAT_PORT struRtspsPort; //Rtsps˿ӳ - BYTE byres[44]; // -}NET_DVR_NAT_CFG, *LPNET_DVR_NAT_CFG; - -typedef struct -{ - DWORD dwEnabled; //ö˿Ƿʹӳ - WORD wInternalPort; //ӳǰĶ˿ - WORD wExternalPort; //ӳĶ˿ - DWORD dwStatus; /*˿ӳ״̬ - 0 δЧ - 1 δЧӳԴ˿ĿĶ˿һ - 2 δЧ: ӳ˿ںѱʹ - 3 Ч - */ - NET_DVR_IPADDR struNatExternalIp; //ӳⲿַ - NET_DVR_IPADDR struNatInternalIp; //NAT·LAN IPַ - BYTE byRes[16]; // -}NET_DVR_UPNP_PORT_STATE, *LPNET_DVR_UPNP_PORT_STATE; - - -typedef struct -{ - NET_DVR_UPNP_PORT_STATE strUpnpPort[UPNP_PORT_NUM]; //˿ӳ״̬,0 web server˿ 1 ˿ 2 rtsp˿ - BYTE byRes[200]; // -}NET_DVR_UPNP_NAT_STATE, *LPNET_DVR_UPNP_NAT_STATE; - -typedef struct tagNET_DVR_PLAYCOND -{ - DWORD dwChannel; - NET_DVR_TIME struStartTime; - NET_DVR_TIME struStopTime; - BYTE byDrawFrame; //0:֡1֡ - BYTE byStreamType ; //ͣ0- 1- 2- - BYTE byStreamID[STREAM_ID_LEN]; - BYTE byCourseFile; //γļ0-1- - BYTE byDownload; //Ƿ 0-1- - BYTE byOptimalStreamType; //Ƿͻط 0-1-ǣ˫豸ijһʱڵ¼ļָͲͬ򷵻ʵ͵¼ - BYTE byVODFileType; // ¼ļļʽ 0-PSʽ1-3GPʽ - BYTE byRes[26]; // -}NET_DVR_PLAYCOND, *LPNET_DVR_PLAYCOND; - -typedef struct tagNET_DVR_ATMFINDINFO -{ - BYTE byTransactionType; // 0-ȫ1-ѯ 2-ȡ 3- 4-޸룬5-תˣ 6-޿ѯ 7-޿ 8-̳ 9-̿ 10-Զ - BYTE byRes[3] ; // - DWORD dwTransationAmount ; //׽ ; -} NET_DVR_ATMFINDINFO, *LPNET_DVR_ATMFINDINFO ; - -typedef union tagNET_DVR_SPECIAL_FINDINFO_UNION -{ - BYTE byLenth[8] ; - NET_DVR_ATMFINDINFO struATMFindInfo; //ATMѯ -}NET_DVR_SPECIAL_FINDINFO_UNION, *LPNET_DVR_SPECIAL_FINDINFO_UNION; - - -typedef struct tagNET_DVR_FILECOND_V40 -{ - LONG lChannel; - DWORD dwFileType;/*¼ļ0xff-ȫ0-ʱ¼1-ƶ⣬2-3-ƶ⣬4-ƶ⣬5-6-ֶ¼ - 7-¼10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼15-Խ⣬16-֣17-쳣18-⣬19-⣨Խ|||쳣|⣩ - 20-⣬ 21-ź22-ش23-Ǩ¼24-ڵ25-pos¼26-, 27-뿪,28-ǻ,29-Աۼ,30-˶,31-ͣ,32-Ʒ,33-Ʒȡ, - 34-⣬35-ƻ⣬36-ֻ⣬37-Ԥ,38-±,39-ܶŹ40-⣬41-˯⣬42-²43-߲±,44-45-,46-ҵѯ,47-,48-ʸ,49-޳ʱ50-ܼ⣬51-⣬52-ץ, 53-Ƿ̯, 54-Ŀʶ, - 55-˶56-ڼ⣬57-58-仯59-Υͣ, 60-,61-ѹ,62-ռ,63-,64-ͷ,65-˼,66-·,67-,68-Ũ,69-ʩ,70-ӵ,71-ͨ¹ʼ, 72-෽ͣ73-ֶ,74-ͨΥ£75-ɳⱨ 76-ŷż77-Ҷȱ,78-, - 79-,80-ͨʱ¼¼,81-AIƽ̨¼,82-¼ -*/ - DWORD dwIsLocked; - DWORD dwUseCardNo;//ǷATMϢвѯ0-ATMϢ1-׿Ųѯ2-Ͳѯ3-׽ѯ4-šͼ׽ϲѯ 5-γƲңʱűʾγ - BYTE sCardNumber[CARDNUM_LEN_OUT]; - NET_DVR_TIME struStartTime; - NET_DVR_TIME struStopTime; - BYTE byDrawFrame; //0:֡1֡ - BYTE byFindType; //0:ѯͨ1ѯ浵 - BYTE byQuickSearch; //0:ͨѯ1٣ѯ - BYTE bySpecialFindInfoType ; //רвѯ 0-Ч 1-ATMѯ - DWORD dwVolumeNum; //浵 - BYTE byWorkingDeviceGUID[GUID_LEN]; //GUIDͨȡN+1õ - NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo ; //רвѯ - BYTE byStreamType; //0-ͬһʱֻһ¼ȼ˳Ϊ1-2-3-254-˫(ȷ¼û¼ʱ¼) - BYTE byAudioFile; //Ƶļ 0-Ƶļ1-Ƶļ - BYTE byRes2[30]; // -}NET_DVR_FILECOND_V40, *LPNET_DVR_FILECOND_V40; - -//¼ļṹV50 -typedef struct tagNET_DVR_FILECOND_V50 -{ - NET_DVR_STREAM_INFO struStreamID; //IDͨ - NET_DVR_TIME_SEARCH_COND struStartTime; //ʼʱ - NET_DVR_TIME_SEARCH_COND struStopTime; //ʱ - BYTE byFindType; //0-ѯͨ1-ѯ浵 2-ѯN+1¼ļ - BYTE byDrawFrame; //Ƿ֡ 0-֡ 1-֡ - BYTE byQuickSearch; //0-ͨѯ1-٣ѯ - BYTE byStreamType; //0-1-2-30xff-ȫ - DWORD dwFileType; // ļ - DWORD dwVolumeNum; //浵ţbyFindTypeΪ1ʱЧ - BYTE byIsLocked; //Ƿ 0-ļ,1-ļ, 0xffʾļ - BYTE byNeedCard; //ǷҪѯ0-Ҫ 1-Ҫ - BYTE byOnlyAudioFile; //Ƶļ 0-Ƶļ 1-Ƶļ - BYTE bySpecialFindInfoType; //0-Ч 1-ATMѯ - char szCardNum[32]; //ţbyNeedCardΪ1ʱЧ - char szWorkingDeviceGUID[16]; //GUIDͨȡN+1õbyFindTypeΪ2ʱЧ - NET_DVR_SPECIAL_FINDINFO_UNION uSpecialFindInfo; //רвѯ - DWORD dwTimeout; //ҳʱʱ䣨ָNET_DVR_FindNextFile_V30/NET_DVR_FindNextFile_V40/NET_DVR_FindNextFile_V50ӿڵijʱʱ䷵أλ룬дĬΪ0ʱӿΪǰһ ;Чֵ0, [5000 C 15000] - BYTE byRes[252]; -}NET_DVR_FILECOND_V50, *LPNET_DVR_FILECOND_V50; - -typedef struct -{ - BYTE sAESKey[16]; /*Կ*/ - BYTE byRes[64]; /*ֽ*/ -}NET_DVR_AES_KEY_INFO, *LPNET_DVR_AES_KEY_INFO; - -typedef struct -{ - NET_DVR_IPADDR struIP; //IPַ - BYTE byRes[128]; // -}NET_DVR_POE_CFG, *LPNET_DVR_POE_CFG; - -#define MAX_PRO_PATH 256 //Э· - -typedef struct -{ - DWORD dwSize; //ṹС - DWORD dwEnabled; //ǷøЭ0 1 - char sProtocalName[DESC_LEN]; //ԶЭ, 16λ - BYTE byRes1[64]; //,Эչ - DWORD dwEnableSubStream; //Ƿ0 1 - - BYTE byMainProType; //Э 1 RTSP - BYTE byMainTransType; // 0Auto 1udp 2rtp over rtsp - WORD wMainPort; //˿ - char sMainPath[MAX_PRO_PATH]; //· - - BYTE bySubProType; //Э 1 RTSP - BYTE bySubTransType; // 0Auto 1udp 2rtp over rtsp - WORD wSubPort; //˿ - char sSubPath[MAX_PRO_PATH]; //· - - BYTE byRes2[200]; // -}NET_DVR_CUSTOM_PROTOCAL, *LPNET_DVR_CUSTOM_PROTOCAL; - - -//B10֧PSIA豸 -//ѭǽṹ壨ʵʱ -typedef struct -{ - DWORD dwEnable; /* Ƿ 0 1*/ - BYTE byType; //豸 0: DEV_SDK 1:DEV_DAHUA 2:DEV_EHOME 3:DEV_OTHERES - BYTE byRes[3]; // - NET_DVR_STREAM_MEDIA_SERVER_CFG streamMediaServerCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; /* ѭͨϢ */ - BYTE sRtspUrl[128];//ַ -}NET_DVR_MATRIX_CHAN_INFO_EX,*LPNET_DVR_MATRIX_CHAN_INFO_EX; - -typedef struct -{ - DWORD dwSize; - DWORD dwPoolTime; /*ѯ*/ - NET_DVR_MATRIX_CHAN_INFO_EX struchanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byRes[16]; -}NET_DVR_MATRIX_LOOP_DECINFO_EX,*LPNET_DVR_MATRIX_LOOP_DECINFO_EX; - -//ʵʱԤǽṹ -typedef struct -{ - DWORD dwSize; - BYTE byType; //豸 0: DEV_SDK 1:DEV_DAHUA 2:DEV_EHOME 3:DEV_OTHERES - BYTE byRes[3]; // - NET_DVR_STREAM_MEDIA_SERVER_CFG struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO struDevChanInfo; - BYTE sRtspUrl[128];//ַ -}NET_DVR_PU_STREAM_CFG_EX,*LPNET_DVR_PU_STREAM_CFG_EX; - -typedef struct tagNET_DVR_MATRIX_TRUNKCFG -{ - DWORD dwGlobalIndex; // - DWORD dwInterIndex; //ȫֱ - BYTE sTrunkName[NAME_LEN]; - BYTE byType; //豸1-bnc, 2-SP3, 3-V6 - BYTE byDir; //߷ 1-2- - BYTE byAbility; //D1 - BYTE bySubsys; //ϵͳID - BYTE byChan; //ͨID - BYTE byRes[255]; //Ԥ -} NET_DVR_MATRIX_TRUNKCFG,*LPNET_DVR_MATRIX_TRUNKCFG; - -typedef struct tagNET_DVR_DECSUBSYSTEMJIONSTATUS_V41 -{ - BYTE byJoinStatus;//״̬0-ûй1-ѾֶͨжϱԼϵͳ2-ռãbyDecodeAbility1ʱЧ3-4- - BYTE byJoinSubSystem;// ռõϵͳλ - BYTE byJoinDispNum;// ռõʾͨ - BYTE byJoinSubWindowNum;// ռõӴں - BYTE byDecodeAbility; //ͨĵǰ0-δ1-D12-7203-1080 - BYTE byRes[15]; -}NET_DVR_DECSUBSYSTEMJIONSTATUS_V41,LPNET_DVR_DECSUBSYSTEMJIONSTATUS_V41; - -typedef struct tagNET_DVR_SINGLESUBSYSTEMJOININFO_V41 -{ - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-V6ϵͳ9-V6ϵͳ0-NULL˲ֻܻȡ*/ - BYTE bySubSystemType; - BYTE byConnectStatus;//ϵͳ״̬1-2-ӶϿ - BYTE byMatrixNum;//Ƶۺƽ̨ţϵͳ34ʱ - BYTE bySubSystemNum;//ϵͳλţϵͳ34ʱ - NET_DVR_DECSUBSYSTEMJIONSTATUS_V41 struSubSystem[MAX_DECODECHANNUM]; - BYTE byBindStatus;//״̬0-ûа󶨣1-Ѿ󶨣ƴʱõ - BYTE bySlotNum ;//λţ˲ֻܻȡ - BYTE byUsedTrunk;//Ƿ񱻸ʹã0-δʹã1-ʹ - BYTE byRes[65]; -}NET_DVR_SINGLESUBSYSTEMJOININFO_V41,LPNET_DVR_SINGLESUBSYSTEMJOININFO_V41; - -typedef struct tagNET_DVR_ALLDECSUBSYSTEMJOININFO_V41 -{ - DWORD dwSize; - NET_DVR_SINGLESUBSYSTEMJOININFO_V41 struSingleSubSystemJoinInfo[MAX_SUBSYSTEM_NUM_V40]; - BYTE byRes[48]; -}NET_DVR_ALLDECSUBSYSTEMJOININFO_V41,*LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V41; - -//////////ϵͳ///////////// -#define MAX_ALARMHOSTKEYBOARD 64 //籨 -typedef struct tagNET_DVR_PUBLIC_SUB_SYSTEM -{ - //ϵͳţλʾbit0ʾùϵͳϵͳ1. - DWORD dwJointSubSystem; - BYTE byRes[16]; -}NET_DVR_PUBLIC_SUB_SYSTEM, *LPNET_DVR_PUBLIC_SUB_SYSTEM; - -typedef struct tagNET_DVR_NOAMAL_SUB_SYSTEM -{ - //ʾЩϵͳλʾbit0 ʾϵͳ.ϵͳ1 - DWORD dwBeJoinedSubSystem; - BYTE byRes[16]; -}NET_DVR_NOAMAL_SUB_SYSTEM, *LPNET_DVR_NOAMAL_SUB_SYSTEM; - -typedef union tagNET_DVR_JOINT_SUB_SYSTEM -{ - // byPublicAttributeEnableΪ0ʱʹøñ - NET_DVR_NOAMAL_SUB_SYSTEM struNormalSubSystem; - //byPublicAttributeEnableΪ1ʱʹøñ - NET_DVR_PUBLIC_SUB_SYSTEM struPublicSubSystem; - BYTE byRes[20]; -}NET_DVR_JOINT_SUB_SYSTEM,*LPNET_DVR_JOINT_SUB_SYSTEM; - -#define MAX_SUBSYSTEM_ID_LEN 16 //ϵͳID󳤶 - -//////////GPRS///////////// -#define ACCOUNTNUM_LEN 6 -#define ACCOUNTNUM_LEN_32 32 -#define ACCOUNTNUM_LEN_V40 9 -#define APN_NAME_LEN 32 -#define APN_USERNAME_LEN 24 -#define APN_USERPASSWORD_LEN 16 - -typedef struct tagNET_DVR_ALARMSUBSYSTEMPARAM -{ - DWORD dwSize; - WORD wEnterDelay; //ʱ,λ:, Χ10-150 бʱʱ NET_DVR_ALARMIN_PARAM еdwParamʱʱ - //÷ʽͨеbySupportAlarmInDelayֶ - WORD wExitDelay;//˳ʱ,λ:룬 Χ10-300 - BYTE byHostageReport; //Юֱ棬0 1ʹ - BYTE bySubsystemEnable; //ϵͳʹ - BYTE byKeyToneOfArmOrDisarm; // ɹͲǷʾ0-̲ʾ 1-ʾ - BYTE byKeyToneOfManualTestReport; //ɹͲԱǷʾ0-̲ʾ 1-ʾ - WORD wDelayTime; //ʱdwSupport1еbit0λΪ1ʱʹøòþʱ䡣bit0Ϊ0ʱʹNET_DVR_SIREN_PARAMеwDelayþʱ - BYTE byEnableAlarmInDelay;//0--(ʹϵͳʱ),1--(ʹ÷ʱ)Ĭϲ - BYTE byPublicAttributeEnable; //ǷΪϵͳ - NET_DVR_JOINT_SUB_SYSTEM struJointSubSystem; - BYTE byKeyZoneArm; //Ƿ֧Կ׷ϵͳв - BYTE byKeyZoneArmReport; //Ƿ֧Կ׷ϵͳʱͲ - BYTE byKeyZoneDisarm; //Ƿ֧Կ׷ϵͳг - BYTE byKeyZoneDisarmReport; //Ƿ֧Կ׷ϵͳгʱͳ - BYTE bySubSystemID[MAX_SUBSYSTEM_ID_LEN]; //ϵͳID - BYTE byKeyZoneArmReportEnable; //Կ׷ϴʹ 0- 1-ʹ - BYTE byKeyZoneArmEnable; //Կ׷ʹܣ 0 - 1-ʹ - BYTE byOneKeySetupAlarmEnable; //һʹ - BYTE bySingleZoneSetupAlarmEnable; //ʹ - BYTE byCenterType; //0-Ч, 1-˺(6),2-չ˺(9) - BYTE sCenterAccount[ACCOUNTNUM_LEN/*6*/]; //ʺ - BYTE sCenterAccountV40[ACCOUNTNUM_LEN_32/*32*/]; //˺V40,ʹôֶʱsCenterAccountЧ - BYTE byRes2[565]; // ֽ -}NET_DVR_ALARMSUBSYSTEMPARAM, *LPNET_DVR_ALARMSUBSYSTEMPARAM; - -typedef struct tagNET_DVR_REMIND_TIME//8 -{ - BYTE byEnable;//Ƿñ 0-ã1- - BYTE byHour;//0~24 - BYTE byMinute;//0~60 - BYTE bySecond;//0~60 -}NET_DVR_REMIND_TIME,*LPNET_DVR_REMIND_TIME; - -//ϵͳչ -#define MAX_KEYBOARD_USER_NUM 256 -typedef struct tagNET_DVR_SUBSYSTEM_PARAM_EX -{ - DWORD dwSize; - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/]; //ʱ - BYTE byAlarmInAdvance; // ǰʾʱ0~45 - BYTE byRes1[3]; - BYTE byJointAlarmIn[MAX_ALARMHOST_ALARMIN_NUM / 8];//λʾϵͳıͨţ0-룬1- - BYTE byJointKeyboard[MAX_ALARMHOSTKEYBOARD/*64*/ / 8];//λʾֵ֧ļ̺ţ0-룬1- - BYTE byJointOpetaterUser[MAX_KEYBOARD_USER_NUM/8];//λʾbit0ʾ̲û1 0- 1- - NET_DVR_REMIND_TIME struAlarmRemindTime[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/];//MAX_TIMESEGMENT_V30ʾÿ֧8 - BYTE byJointNetUser[NET_SDK_MAX_NET_USER_NUM / 8];//ûλʾbit0ʾû10- 1- - BYTE byRes2[280]; // ֽ -}NET_DVR_SUBSYSTEM_PARAM_EX, *LPNET_DVR_SUBSYSTEM_PARAM_EX; - - -typedef struct tagNET_DVR_ALARMHOST_PRINTER_CFG -{ - DWORD dwSize; - BYTE byPrinterEnable; //Ƿôӡ - BYTE byPrintTime; //Ƿӡʱ - BYTE byFaultDetect; //Ƿӡ - BYTE byRes1; - DWORD dwAlarmInfo; //Ϣλʾbit0-bit1-ָbit2-bit-3Юֱ - DWORD dwDeviceInfo; //豸Ϣλʾbit0-ϵ硢bit1-ϵָbit2-Ƿѹbit3-Ƿѹָbit4-绰߶ߡbit5-绰߶߻ָbit6-Ա桢bit7-bit8-ָbit9-485豸ߡbit10-485豸߻ָbit11-쳣bit12-ָbit13-쳣bit14-ָbit15-չ쳣bit17-չ߻ָbit17-Ӳ̹ϡbit18-Ӳ̹ϻָbit19- - DWORD dwOperateInfo; //Ϣλʾbit0-bit1-bit2-bit3-·bit4-·ָbit5-̡bit6-˳̡bit7-λ - BYTE byRes2[256]; // ֽ -}NET_DVR_ALARMHOST_PRINTER_CFG, *LPNET_DVR_ALARMHOST_PRINTER_CFG; - -typedef struct tagNET_DVR_ALARMHOST_NETPARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; - WORD wPort; - BYTE byAddressType; //0 - , 1 - ipv4/ipv6ַ2 - - BYTE byRes1[1]; - BYTE byDomainName[MAX_DOMAIN_NAME/*64*/]; //GPRSáʱֶξЧ - BYTE byReportProtocol; //1-private 2-NAL2300, 3-Ehome - BYTE byDevID[ACCOUNTNUM_LEN_32/*32*/]; //ЭΪNAL2300ʱЧ - BYTE byRes2[7]; //GPRSڹ̶ķϽеģԲҪϢԤһЩֶ -}NET_DVR_ALARMHOST_NETPARAM, *LPNET_DVR_ALARMHOST_NETPARAM; - -typedef struct tagNET_DVR_REGISTER_RS485CFG -{ - DWORD dwSize; // ṹС - WORD wDeviceProtocol; // ǰ豸Э ͨȡЭбȡ - BYTE byRes[2]; - DWORD dwBaudRate; //(bps)0-501-752-1103-1504-3005-6006-12007-24008-48009-960010-1920011-3840012-5760013-7680014-115.2k - BYTE byRes1[124]; // ֽ -}NET_DVR_REGISTER_RS485CFG, *LPNET_DVR_REGISTER_RS485CFG; - -typedef struct tagNET_DVR_ALARMHOST_WIRELESS_NETWORK_CFG -{ - DWORD dwSize; - NET_DVR_ALARMHOST_NETPARAM struNetCenter[MAX_CENTERNUM]; // GPRSز - BYTE byAPNName[APN_NAME_LEN/*32*/]; - BYTE byAPNUserName[APN_USERNAME_LEN/*24*/]; - BYTE byAPNPassWord[APN_USERPASSWORD_LEN/*16*/]; - BYTE byReconnTime; //ʱ䣬ʧЧʱ䣬10Ϊλ,ȡֵΧ1-30 - BYTE byOverTime; //ʱʱ䣬OverTimeʱûյЧΧ1-254λ30 - BYTE byDetectLinkTime; // //̽·Ƿ񻹱֣Χ1-30λ10s - BYTE byRes1; - BYTE bySIMNum[NAME_LEN/*32*/]; //SIMţֻţ - NET_DVR_IPADDR struSIMIP; //½IPַֻܻȡ - BYTE byRes2[64]; -}NET_DVR_ALARMHOST_WIRELESS_NETWORK_CFG, *LPNET_DVR_ALARMHOST_WIRELESS_NETWORK_CFG; - - -/////////////////////// -typedef struct tagNET_DVR_ALARMHOST_NETCFG -{ - DWORD dwSize; - NET_DVR_ALARMHOST_NETPARAM struNetCenter[MAX_CENTERNUM]; - BYTE byRes1[32]; -}NET_DVR_ALARMHOST_NETCFG, *LPNET_DVR_ALARMHOST_NETCFG; - -//////////ľϴʽ///////////// -#define MAX_REPORTCHAN_NUM 4 -#define MAX_CENTERGROUP_NUM 16 -typedef struct tagNET_DVR_ALARMHOST_REPORTCENTER_CFG -{ - DWORD dwSize; - BYTE byValid; //Ƿ - BYTE byRes[3]; //1 - BYTE byChanAlarmMode[MAX_REPORTCHAN_NUM/*4*/]; //鱨ͨ 1-T12-T2 3-N1 4-N25-G1 6-G2 - BYTE byDealFailCenter[MAX_CENTERGROUP_NUM/*16*/]; //ָ鷢ʧܱ棬±ʾĸ飬0-ѡ1-ѡ - BYTE byDataType; //1- 2-DZ 3- - BYTE byRes2[15]; //2 -}NET_DVR_ALARMHOST_REPORTCENTER_CFG, *LPNET_DVR_ALARMHOST_REPORTCENTER_CFG; - -#define MAX_EVENT_NUM 32//籨¼ -typedef struct tagNET_DVR_ALARMHOST_REPORT_CENTER_CFG_V40 -{ - DWORD dwSize; - BYTE byValid; //Ƿ - BYTE byDataType; //1-б 2-зDZ 3-ݣ4-棬5-Ƿ - BYTE byRes[2]; //1 - BYTE byChanAlarmMode[MAX_REPORTCHAN_NUM/*4*/]; //鱨ͨ 1-T12-T2 3-N1 4-N25-G1 6-G27-N3 8-N49-CMK-4G10-CMK-NET(豸֧3GG1G2ʾ3Gģ飬֧֣ʾGPRSģ飬һ豸3GģGPRSģֻһ) - BYTE byDealFailCenter[MAX_CENTERGROUP_NUM/*16*/]; //ָ鷢ʧܱ棬±ʾĸ飬0-ѡ1-ѡ - BYTE byZoneReport[MAX_ALARMHOST_ALARMIN_NUM]; //ͣ0-ϴ1-ϴ - BYTE byNonZoneReport[MAX_EVENT_NUM]; //Ƿ, ÿһԪرʾһ¼ͣ0-ϴ1-ϴbyNonZoneReport[0]- byNonZoneReport[1]-ϵͳ״̬ byNonZoneReport[2]-ȡ byNonZoneReport[3]-Ա byNonZoneReport[4]- byNonZoneReport[5]- byNonZoneReport[6]-Юֱ byNonZoneReport[7]-ָ byNonZoneReport[8]-· byNonZoneReport[9]-·ָ档byNonZoneReport[10]-̽״̬棨ߡߣbyNonZoneReport[11]-̽״̬棨ѹǷѹbyNonZoneReport[12]-Ƶ - BYTE byAlarmNetCard[MAX_REPORTCHAN_NUM/*4*/]; //鱨ģ0-11-22-չ1,3-չ2ͨΪN1N2N3N4ʱЧ - BYTE byRes2[252]; //2 -}NET_DVR_ALARMHOST_REPORT_CENTER_CFG_V40, *LPNET_DVR_ALARMHOST_REPORT_CENTER_CFG_V40; - - -//////////״̬ϴ///////////// -typedef struct tagNET_DVR_ALARMHOST_SAFETYCABINSTATE -{ - DWORD dwSize; - BYTE byEnterButton; //Űť״̬ 0- 1-ť - BYTE byExitButton; //Űť״̬ 0- 1-ť - BYTE byDoorState; //״̬ 0-Źر 1-Ŵ - BYTE byLockState; //״̬ 0- 1- - BYTE byUrgencyButton; //ť״̬ 0- 1-ť - BYTE byManState; //״̬ 0-û 1- - BYTE byAbnormal; //쳣״̬ 0- 1-쳣(ʹóʱϴ쳣) - BYTE byLightState; //ƹ״̬ 0- 1- - BYTE byFanState; //״̬ 0-أ1- - BYTE byFollow; //β״̬ 0-β棬1-β - BYTE byFighting; //״̬ 0-޴򶷣1-д - BYTE byFaint; //ε״̬ 0-ε1-ε - BYTE byManyPerson; //״̬ 0-޶˽գ1-˽ - BYTE byRes[59]; // -}NET_DVR_ALARMHOST_SAFETYCABINSTATE,*LPNET_DVR_ALARMHOST_SAFETYCABINSTATE; - -/////////ڣ״̬ϴ///////////// -typedef struct tagNET_DVR_ALARMHOST_ALARMOUTSTATUS -{ - DWORD dwSize; - BYTE byName[32]; //ƻ򾯺 - BYTE byAlarmType; //1-״̬ 2-״̬ - WORD wChan; //DZ״ֵ̬ķΧΪ0-511Ǿ״̬Χ1-8ֻ1 - BYTE byAlarmStatus; //״̬ 0-ޱ 1-б - BYTE byRes[32]; -}NET_DVR_ALARMHOST_ALARMOUTSTATUS,*LPNET_DVR_ALARMHOST_ALARMOUTSTATUS; - -//////////ϴ///////////// -typedef struct tagNET_DVR_AUDIO_PARAM -{ - DWORD dwSize; - BYTE byAudioFormat; //Ƶʽ1-G7112-G722 - BYTE byRes1; - WORD wChannels; // number of channels (i.e. mono, stereo...) - DWORD dwSamplesPerSec; // - BYTE byRes2[20]; // - DWORD dwAudioSize; //ƵȴСѹĴС -}NET_DVR_AUDIO_PARAM,*LPNET_DVR_AUDIO_PARAM; - -//ԤV40ӿ -typedef struct tagNET_DVR_PREVIEWINFO -{ - LONG lChannel;//ͨ - DWORD dwStreamType; // ͣ0-1-2-33-4, 4-5,5-6,7-7,8-8,9-9,10-10 - DWORD dwLinkMode;// 0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-RTP/RTSP,5-RSTP/HTTP ,6- HRUDPɿ䣩 ,7-RTSP/HTTPS - HWND hPlayWnd;//Ŵڵľ,ΪNULLʾͼ - DWORD bBlocked; //0-ȡ, 1-ȡ, SDKڲconnectʧܽ5sijʱܹ,ʺѯȡ. - DWORD bPassbackRecord; //0-¼ش,1¼ش - BYTE byPreviewMode;//Ԥģʽ0-Ԥ1-ӳԤ - BYTE byStreamID[STREAM_ID_LEN/*32*/];//IDlChannelΪ0xffffffffʱô˲ - BYTE byProtoType; //ӦòȡЭ飬0-˽Э飬1-RTSPЭ,2-SRTPܣӦ˽ṹdwLinkMode ֶΣ֧·ʽ, Ϊ1ʾudp䷽ʽTLSܣSRTPܣΪ2ʾಥ䷽ʽTLSܣSRTPܣ - BYTE byRes1; - BYTE byVideoCodingType; //ݱ 0-ͨñ 1-ȳ̽ԭʼݣ¶ݵļϢͨȥ㣬ԭʼʵ¶ֵ - DWORD dwDisplayBufNum; //ſⲥŻ󻺳֡Χ1-500ʱĬΪ1 - BYTE byNPQMode; //NPQֱģʽǹý 0-ֱ 1-ý - BYTE byRecvMetaData; //Ƿmetadataݣ豸Ƿָ֧ùͨGET /ISAPI/System/capabilities DeviceCap.SysCap.isSupportMetadataǷΪtrue - BYTE byDataType; //ͣ0-ݣ1-Ƶ - BYTE byRes[213]; -}NET_DVR_PREVIEWINFO, *LPNET_DVR_PREVIEWINFO; - -//ö -typedef enum _NET_DVR_LINK_KIND_ -{ - ENUM_LINK_PREVIEW = 1, //Ԥ - ENUM_LINK_PLAYBACK, //طţ - ENUM_LINK_VOICEPLAY //Խ/ת -}NET_DVR_LINK_KIND; - -//ӵַṹ壬RTSPȡʱһ˿ͨŵ -typedef struct tagNET_DVR_LINK_ADDR -{ - NET_DVR_IPADDR_UNION uLocalIP; //IPַ - WORD wLocalPort[10]; //ض˿ں - BYTE byLocalPortNum; //ض˿ - BYTE byRes1[3]; - NET_DVR_IPADDR_UNION uDevIP; //豸IPַ - WORD wDevPort[10]; //豸˿ں - BYTE byDevPortNum; //豸˿ - BYTE byRes2[3]; - BYTE byRes[80]; -}NET_DVR_LINK_ADDR, *LPNET_DVR_LINK_ADDR; - -//豸ȡ -typedef struct tagNET_DVR_PREVIEWINFO_SPECIAL -{ - char sURL[1024]; //ȡURLӦ/ISAPI/SDT/Management/Region/IDصȡURL豸صURLϷҪûڵ㣬ûϢdeviceUserdevicePasswordڵ - //ʾrtsp://admin:abcd12345@10.7.37.2:554/Streaming/Channels/101?transportmode=unicast - DWORD dwLinkMode;// 0TCPʽ,1UDPʽ,2ಥʽ,3 - RTPʽ4-RTP/RTSP,5-RSTP/HTTP - HWND hPlayWnd;//Ŵڵľ,ΪNULLʾͼ - DWORD bBlocked; //0-ȡ, 1-ȡ, SDKڲconnectʧܽ5sijʱܹ,ʺѯȡ. - DWORD dwDisplayBufNum; //ſⲥŻ󻺳֡Χ1-500ʱĬΪ1 - BYTE byRes[64]; -}NET_DVR_PREVIEWINFO_SPECIAL, *LPNET_DVR_PREVIEWINFO_SPECIAL; - - -//¼ - -typedef struct tagNET_DVR_TRIGGER_EVENT -{ - DWORD dwSize; - DWORD dwOverallEventTriggerAlarmoutOn; //ȫ¼λbit0-磬bit1-صѹͣbit2-绰ߵߣbit3-쳣bit4-쳣 ,bit5-Ӳ̹, bit6-3G/4Gź쳣, bit7-ģӣ bit8- WIFIͨŹϣbit9-RFźŸŹ - DWORD dwOverallEventTriggerAlarmoutOff; //ȫ¼λbit0-磬bit1-صѹͣbit2-绰ߵߣbit3-쳣bit4-쳣 ,bit5-Ӳ̹, bit6-3G/4Gź쳣, bit7-ģӣ bit8- WIFIͨŹϣbit9-RFźŸŹ - DWORD dwSubSystemEventTriggerAlarmoutOn[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ¼,dwSubSystemEvent[0]ʾϵͳ1dwSubSystemEvent[2]ʾϵͳ2ϵͳȡwSubSystemÿϵͳ¼λʾbit0-ʱbit1-˳ʱbit2-bit3-bit4-bit5-,bit6-ָ,bit7-,bit8-ָ - DWORD dwSubSystemEventTriggerAlarmoutOff[MAX_ALARMHOST_SUBSYSTEM/*32*/]; //ϵͳ¼ر,wSubSystemEvent[0]ʾϵͳ1dwSubSystemEvent[2]ʾϵͳ2ϵͳȡwSubSystemÿϵͳ¼λʾbit0-ʱbit1-˳ʱbit2-bit3-bit4-bit5-,bit6-ָ,bit7-,bit8-ָ - BYTE byRes[128]; -}NET_DVR_TRIGGER_EVENT, *LPNET_DVR_TRIGGER_EVENT; - -//ϴ -typedef struct tagNET_DVR_ALARMHOST_FAULT_CFG -{ - DWORD dwSize; - DWORD dwCheckFault; //Ƿϣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣bit9- FPGAϣbit10- ģ, bit11-չ쳣bit12-WIFIͨŹϣbit13-RFźŸŹϣֵ֧Ĺʹȡ - DWORD dwOverallFaultJointLED; //Ϲȫָּʾ bit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣ֵ֧Ĺʹȡ - DWORD dwOverallFaultJointSound; //Ϲȫּ bit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣ֵ֧Ĺʹȡ - DWORD dwSubSystemFaultJointLED[MAX_ALARMHOST_SUBSYSTEM]; /*ϹϵͳָʾdwSubSystemFaultJointLED[0]ʾϵͳ1ĹϢdwSubSystemFaultJointLED[0]ÿһλʾһйϣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣; dwSubSystemFaultJointLED[1]ʾϵͳ2Դ*/ - DWORD dwSubSystemFaultJointSound[MAX_ALARMHOST_SUBSYSTEM];/*ϹϵͳڼdwSubSystemFaultJointLED[0]ʾϵͳ1ĹϢdwSubSystemFaultJointSound [0]ÿһλʾһйϣbit0-ϵ磬bit1-Ƿѹbit2-𿪣bit3-绰ߵߣbit4-485豸쳣bit5-ϣbit6-쳣bit7-չ쳣bit8-Ӳ쳣; dwSubSystemFaultJointSound [1]ʾϵͳ2Դ*/ - DWORD dwFaultJointFaultLight;//Ϲϵ - BYTE byRes[60]; -}NET_DVR_ALARMHOST_FAULT_CFG, *LPNET_DVR_ALARMHOST_FAULT_CFG; - -typedef struct tagNET_DVR_LIST_INFO -{ - DWORD dwSize; - BYTE byIndex; //ϵͳţ0xffʾϵͳ - BYTE byRes[63]; // -}NET_DVR_LIST_INFO, *LPNET_DVR_LIST_INFO; - -#define CID_CODE_LEN 4 -#define DEV_SERIAL_LEN 9 -typedef enum tagNET_DVR_ALARMHOST_REPORT_TYPE -{ - NET_DVR_DEFENCE_ALARM = 1, // - NET_DVR_VIDEO_ALARM, //Ƶ - NET_DVR_VIRTUAL_DEFENCE_ALARM, // - NET_DVR_HOSTAGE_ALARM, //Юֱ - NET_DVR_KNOCK_DOWN_ALARM, //𱨾 - NET_DVR_OPERATE_ALARM, // - NET_DVR_OHTER_ABNORMAL_ALARM //쳣 -}NET_DVR_ALARMHOST_REPORT_TYPE; - - -typedef enum tagNET_DVR_ALARMHOST_CID_MAIN_TYPE -{ - CID_ENTER = 1000, /*Ļ*/ - CID_EXIT = 3000 /*ָĻ*/ -}NET_DVR_ALARMHOST_CID_MAIN_TYPE; - - -typedef enum tagNET_DVR_ALARMHOST_CID_MINOR_TYPE -{ - CID_MEDICAL_ALARM = 100, /*Ȼ*/ - CID_ALARM = 103, /**/ - CID_FIRE_ALARM = 110, /**/ - CID_ABDUCT_REPORT = 121, /*Юֱ*/ - CID_SILENT_24 = 122, /*24Сʱ*/ - CID_AUDIO_24 = 123, /*24Сʱ*/ - CID_AUXILIARY_24 = 124, /*24Сʱ*/ - CID_SHOCK_24 = 125, /*24Сʱ*/ - CID_OVERTIME_ALARM = 126, /*ʱ*/ - CID_EMERGENCE_CALL_HELP = 129, /**/ - CID_BURGLARY_ALARM = 130, /*Ա*/ - CID_PERIMETER_ALARM = 131, /*ܽ*/ - CID_INNET_ALARM = 132, /*ڲ*/ - CID_ENTER_EXIT = 134, /**/ - CID_DEVICE_OPEN = 137, /*豸*/ - CID_ZONE_BUS_BREAK = 141, /*߿·*/ - CID_ZONE_BUS_SHORT = 142, /*߶·*/ - CID_MOTION_ALARM = 148, /*ƶ*/ - CID_GAS_LEAKAGE = 151, /*ȼй©*/ - CID_ZONE_EARLY_WARNING = 207, /*Ԥ*/ - CID_AC_LOSS = 301, /**/ - CID_LOW_BATT_VOL = 302, /*صѹ*/ - CID_DEV_RESET = 305, /*λ*/ - CID_MBUS_MODEL_FAULT = 333, /*չģ*/ - CID_PRINTER_FAIL = 336, /*ӡ*/ - CID_LOW_EXPANDER_VOL = 338, /*չģѹ*/ - CID_EXPANDER_OPEN = 341, /*չģ鱻*/ - CID_EXPANDER_AC_POWER_DOWN = 342, /*չģ齻*/ - CID_WIRELESS_REPEATER_TAMPERED = 343, /*м𴥷*/ - CID_WIRELESS_SIREN_TAMPERED = 344, /*߾ŷ𴥷*/ - CID_WIRELESS_SIREN_DISCONNECTED = 345, /*߾ŵ*/ - CID_LINE_LOSS = 354, /*绰ͨѶʧ*/ - CID_BUS_LOSS = 382, /*չģ*/ - CID_DETECTOR_OPEN = 383, /*Ӧ*/ - CID_ZONE_OPEN_CIRCUIT = 386, /*·*/ - CID_ZONE_SHORT_CIRCUIT = 387, /*·*/ - CID_GUARD = 401, /**/ - CID_GUARD_AUTO = 403, /*Զ*/ - CID_CANCEL_ARM = 406, /**/ - CID_GUARD_IMME = 408, /*ʱ*/ - CID_KEY_ZONE_GUARD = 409, /*Կ׷*/ - CID_GUARD_STAY = 441, /*ز*/ - CID_FORCED_ARM = 442, /*ǿƲ*/ - CID_AUTOCTRL_TRIG = 443, /*ʱ/ش*/ - CID_ONETOUCH_AWAY_ARMING = 444, /*һ*/ - CID_ONETOUCH_STAY_ARMING = 445, /*һز*/ - CID_CARD_ARMING_OR_DISARMING = 446, /*ˢ*/ - CID_LATE_TO_DISARM = 452, /*ٵ*/ - CID_AUTOGUARD_FAIL = 455, /*Զʧ*/ - CID_AOPEN_TRIG_FAIL = 460, /*ʱʧ*/ - CID_ACLOSE_TRIG_FAIL = 461, /*ʱرմʧ*/ - CID_AUTOUNGUARD_FAIL = 462, /*Զʧ*/ - CID_BYPASS = 570, /*·¼*/ - CID_GROUP_BYPASS = 574, /*·*/ - CID_MANUAL_TEST_RPT = 601, /*ֶԱ*/ - CID_AUTO_TEST_RPT = 602, /*ʱԱ*/ - CID_PHONE_CONNET_TEST = 617, /*绰·*/ - CID_ENTER_PROG = 627, /**/ - CID_EXIT_PROG = 628, /*˳*/ - CID_FIELD_DETECTION = 759, /**/ - CID_LINE_DETECTION = 773, /*籨*/ - CID_PIR_ALARM = 774, /*PIR*/ - CID_SOUND_INTENSITY_RISE = 775, /*ǿ*/ - CID_SOUND_INTENSITY_DROP = 776, /*ǿ*/ - CID_AUDIO_INPUT_EXCEPTION = 777, /*Ƶ쳣*/ - CID_SOFT_INSTAND = 810, /**/ - CID_SOFT_FIRE = 811, /**/ - CID_SOFT_MOBS = 812, /*˾mobster*/ - CID_KEYPAD_LOCKED = 862, /**/ - CID_ABSENCE_ALARM = 863, /*ֵ*/ - CID_KEY_FAIL = 910, /*̵*/ - CID_TRIGGER_FAIL = 911, /*ϴ*/ - CID_GPK_FAIL = 912, /*GP/K*/ - CID_MODULE_FAIL = 913, /*MN/K*/ - CID_WIRELESS_DETECTOR_FAIL = 914, /*̽*/ - CID_WIRELESS_DETECTOR_BATTERY_LOW = 915,/*̽Ƿѹ/ָ*/ - CID_EXPANDER_DISCONNECT = 916, /*չģ*/ - CID_WIRELESS_REPEATER_DISCONNECT = 917, /*м*/ - CID_RADAR_TRANS_FAULT = 918, /*״ź쳣*/ - CID_WIRELESS_SIREN_LOW_BATTERY = 919, /*߾ŵ*/ - CID_WRIE_LESS_NET = 920, /**/ - CID_SIM_FAULT = 921, /*SIM*/ - CID_WIFI_ABNORMAL = 922, /*WIFIͨ쳣/ָ*/ - CID_RF_ABNORMAL = 923, /*RFź쳣/ָ*/ - CID_DATE_TRAFFIC_OVERFLOW = 924, /**/ - CID_IPADDR_CONFLICT = 930, /*IPͻ*/ - CID_ETHERNET_BROKEN = 931, /*߶*/ - CID_GROUP_OUT_RP = 932, /*ͨѶʧ*/ - CID_GROUP_IN_RP = 933, /*ͨͨѶʧ*/ - CID_MOTION_DECTECT = 940, /*ƶⱨʼ/*/ - CID_MASK_ALARM = 941, /*ڵʼ/*/ - CID_VI_LOST = 942, /*Ƶʧʼ/*/ - CID_VS_MISMATCH = 943, /*/Ƶʽƥ*/ - CID_VI_EXCEPTION = 944, /*Ƶ쳣/ָ*/ - CID_HD_FULL = 945, /*Ӳ/ָ*/ - CID_HD_ERROR = 946, /*Ӳ̴/ָ*/ - CID_PIC_SEND_FAILED = 947, /*ͼƬϴʧ*/ - CID_KEY_LOCKED = 948, /**/ - CID_NETWORK_CAMERA_DISCONNECT = 949, /*IPCϿ*/ - CID_DUTY_CHECKING = 960, /*ֵز*/ - CID_POST_RESPONSE = 961, /*ֵӦ*/ - CID_ZONE_BUS_SEARCH = 970, /**/ - CID_ZONE_BUS_REGIST = 971, /*ע*/ - CID_GUARD_DELAY_OP = 972, /*Զʱ*/ - CID_GUARD_SINGLE = 973, /**/ - CID_SINGLE_ZONE_CLEARED = 974, /**/ - CID_ZONE_ASSOCIATED_DETECTOR = 975, /*/ɾ̽*/ - CID_ZONE_CONSULTING = 976, /*ҵѯ*/ - CID_EXPANDER_DELETED = 977, /*ɾչģ*/ - CID_WIRELESS_REPEATER_DELETED = 978, /*ɾм*/ - CID_WIRELESS_SIREN_DELETED = 979, /*ɾ߾*/ -}NET_DVR_ALARMHOST_CID_MINOR_TYPE; - -typedef enum tagNET_DVR_ALARMHOST_CID_ALL_MINOR_TYPE -{ - CID_TYPE_MEDICAL_ALARM = 1100, /*˾Ȼ*/ - CID_TYPE_MEDICAL_ALARM_RESET = 3100, /*˾Ȼָ*/ - CID_TYPE_ALARM = 1103, /*ʱ*/ - CID_TYPE_ALARM_RESET = 3103, /*ʱָ*/ - CID_TYPE_FIRE_ALARM = 1110, /*𾯱*/ - CID_TYPE_FIRE_ALARM_RESET = 3110, /*𾯱ָ*/ - CID_TYPE_ABDUCT_REPORT = 1121, /*Юֱ*/ - CID_TYPE_SILENT_24 = 1122, /*24Сʱ*/ - CID_TYPE_SILENT_24_RESET = 3122, /*24Сʱָ*/ - CID_TYPE_AUDIO_24 = 1123, /*24Сʱ*/ - CID_TYPE_AUDIO_24_RESET = 3123, /*24Сʱָ*/ - CID_TYPE_AUXILIARY_24 = 1124, /*24Сʱ*/ - CID_TYPE_AUXILIARY_24_RESET = 3124, /*24Сʱָ*/ - CID_TYPE_SHOCK_24 = 1125, /*24Сʱ𶯱*/ - CID_TYPE_SHOCK_24_RESET = 3125, /*24Сʱ𶯱ָ*/ - CID_TYPE_TIMEOUT = 1126, /*ʱ*/ - CID_TYPE_TIMEOUT_RESET = 3126, /*ʱָ*/ - CID_TYPE_EMERGENCE_CALL_HELP = 1129, /**/ - CID_TYPE_EMERGENCE_CALL_HELP_RESET = 3129, /*ָ*/ - CID_TYPE_BURGLARY_ALARM = 1130, /*Ա*/ - CID_TYPE_BURGLARY_ALARM_RESET = 3130, /*Աָ*/ - CID_TYPE_PERIMETER_ALARM = 1131, /*ܽ籨*/ - CID_TYPE_PERIMETER_ALARM_RESET = 3131, /*ܽ籨ָ*/ - CID_TYPE_INNET_ALARM = 1132, /*ڲʱ*/ - CID_TYPE_INNET_ALARM_RESET = 3132, /*ڲʱָ*/ - CID_TYPE_ENTER_EXIT = 1134, /*ʱ*/ - CID_TYPE_ENTER_EXIT_RESET = 3134, /*ʱָ*/ - CID_TYPE_DEVICE_OPEN = 1137, /*豸𱨾*/ - CID_TYPE_DEVICE_OPEN_RESET = 3137, /*豸𱨾ָ*/ - CID_TYPE_ZONE_BUS_BREAK = 1141, /*߿·*/ - CID_TYPE_ZONE_BUS_BREAK_RESET = 3141, /*߿·ָ*/ - CID_TYPE_ZONE_BUS_SHORT = 1142, /*߶·*/ - CID_TYPE_ZONE_BUS_SHORT_RESET = 3142, /*߶·ָ*/ - CID_TYPE_MOTION_ALARM = 1148, /*豸ƶ*/ - CID_TYPE_MOTION_ALARM_RESET = 3148, /*豸ƶָ*/ - CID_TYPE_GAS_LEAKAGE_ALARM = 1151, /*ȼй©*/ - CID_TYPE_GAS_LEAKAGE_ALARM_RESET = 3151, /*ȼй©ָ*/ - CID_TYPE_ZONE_EARLY_WARNING = 1207, /*Ԥ*/ - CID_TYPE_ZONE_EARLY_WARNING_RESET = 3207, /*Ԥָ*/ - CID_TYPE_AC_LOSS = 1301, /**/ - CID_TYPE_AC_LOSS_RESET = 3301, /*ָ*/ - CID_TYPE_LOW_BATT_VOL = 1302, /*صѹ*/ - CID_TYPE_LOW_BATT_VOL_NORMAL = 3302, /*صѹ*/ - CID_TYPE_DEV_RESET = 1305, /*λ*/ - CID_TYPE_MBUS_MODEL_FAULT = 1333, /*չģ*/ - CID_TYPE_MBUS_MODEL_RESET = 3333, /*չģָ*/ - CID_TYPE_PRINTER_OFF = 1336, /*ӡ*/ - CID_TYPE_PRINTER_ON = 3336, /*ӡָ*/ - CID_TYPE_EXTEND_MODULE_VOL_LOW = 1338, /*չģѹ*/ - CID_TYPE_EXTEND_MODULE_VOL_NORMAL = 3338, /*չģѹ*/ - CID_TYPE_EXTEND_MODULE_REMOVE = 1341, /*չģ𴥷*/ - CID_TYPE_EXTEND_MODULE_RECOVER = 3341, /*չģָ*/ - CID_TYPE_EXTEND_MODULE_AC_LOSS = 1342, /*չģ齻*/ - CID_TYPE_EXTEND_MODULE_AC_LOSS_RESET = 3342, /*չģ齻ָ*/ - CID_TYPE_WIRELESS_REPEATER_TAMPER = 1343, /*м𴥷*/ - CID_TYPE_WIRELESS_REPEATER_RESTORE = 3343, /*мָ*/ - CID_TYPE_WIRELESS_SIREN_TAMPER = 1344, /*߾ŷ𴥷*/ - CID_TYPE_WIRELESS_SIREN_RESTORE = 3344, /*߾ŷָ*/ - CID_TYPE_WIRELESS_SIREN_DISCONNECT = 1345, /*߾ŵ*/ - CID_TYPE_WIRELESS_SIREN_CONNECT = 3345, /*߾ŵ߻ָ*/ - CID_TYPE_LINE_LOSS = 1354, /*绰߶Ͽ*/ - CID_TYPE_LINE_LOSS_RESET = 3354, /*绰*/ - CID_TYPE_BUS_LOSS = 1382, /*չģ*/ - CID_TYPE_BUS_LOSS_RESET = 3382, /*չģ߻ָ*/ - CID_TYPE_SENSOR_TAMPER = 1383, /*Ӧ*/ - CID_TYPE_SENSOR_TAMPER_RESET = 3383, /*Ӧָ*/ - CID_TYPE_ZONE_OPEN_CIRCUIT_ALARM = 1386, /*·*/ - CID_TYPE_ZONE_SHORT_CIRCUIT_ALARM = 1387, /*·*/ - CID_TYPE_DISARM = 1401, /**/ - CID_TYPE_ARM = 3401, /**/ - CID_TYPE_DISARM_AUTO = 1403, /*Զ*/ - CID_TYPE_ARM_AUTO = 3403, /*Զ*/ - CID_TYPE_CANCEL_ARM = 1406, /**/ - CID_TYPE_ARM_IMME = 3408, /*ʱ*/ - CID_TYPE_KEY_ZONE_ARM = 1409, /*Կ׷*/ - CID_TYPE_KEY_ZONE_DISARM = 3409, /*Կ׷*/ - CID_TYPE_GUARD_STAY = 3441, /*ز*/ - CID_TYPE_FORCED_ARM = 3442, /*ǿƲ*/ - CID_TYPE_AUTOCTRL_TRIG_ON = 1443, /*ʱ*/ - CID_TYPE_AUTOCTRL_TRIG_OFF = 3443, /*ʱش*/ - CID_TYPE_LATE_TO_DISARM = 1452, /*ٵ*/ - CID_TYPE_AUTOGUARD_FAIL = 1455, /*Զʧ*/ - CID_TYPE_AOPEN_TRIG_FAIL = 1460, /*ʱʧ*/ - CID_TYPE_ACLOSE_TRIG_FAIL = 1461, /*ʱرմʧ*/ - CID_TYPE_AUTOUNGUARD_FAIL = 1462, /*Զʧ*/ - CID_TYPE_BYPASS = 1570, /*·*/ - CID_TYPE_BYPASS_RESET = 3570, /*·ָ*/ - CID_TYPE_GROUP_BYPASS = 1574, /*ϵͳ·*/ - CID_TYPE_GROUP_BYPASS_RESET = 3574, /*ϵͳ·ָ*/ - CID_TYPE_MANUAL_TEST_RPT = 1601, /*ֶԱ*/ - CID_TYPE_AUTO_TEST_RPT = 1602, /*ʱԱ*/ - CID_TYPE_LINE_TEST = 1617, /*绰·*/ - CID_TYPE_ENTER_PROG = 1627, /**/ - CID_TYPE_EXIT_PROG = 1628, /*˳*/ - CID_TYPE_FIELD_DETECTION = 1759, /**/ - CID_TYPE_FIELD_DETECTION_RESET = 3759, /*ָֻ*/ - CID_TYPE_LINE_DETECTION = 1773, /*籨*/ - CID_TYPE_LINE_DETECTION_RESET = 3773, /*籨ָ*/ - CID_TYPE_PIR_ALARM = 1774, /*PIR*/ - CID_TYPE_PIR_ALARM_RESET = 3774, /*PIRָ*/ - CID_TYPE_SOUND_INTENSITY_RISE = 1775, /*ǿ*/ - CID_TYPE_SOUND_INTENSITY_RISE_RESET = 3775, /*ǿָ*/ - CID_TYPE_SOUND_INTENSITY_DROP = 1776, /*ǿ*/ - CID_TYPE_SOUND_INTENSITY_DROP_RESET = 3776, /*ǿָ*/ - CID_TYPE_AUDIO_INPUT_EXCEPTION = 1777, /*Ƶ쳣*/ - CID_TYPE_AUDIO_INPUT_EXCEPTION_RESET = 3777, /*Ƶ쳣ָ*/ - CID_TYPE_SOFT_INSTAND = 1810, /**/ - CID_TYPE_SOFT_FIRE = 1811, /**/ - CID_TYPE_SOFT_MOBS = 1812, /*˾*/ - CID_TYPE_KEYPAD_LOCK = 1862, /**/ - CID_TYPE_KEYPAD_UNLOCK = 3862, /*̽*/ - CID_TYPE_ABSENCE_ALARM = 1863, /*ֵ*/ - CID_TYPE_KEY_FAIL = 1910, /*̵*/ - CID_TYPE_KEY_RESET = 3910, /*ָ̻*/ - CID_TYPE_TRIGGER_FAIL = 1911, /*ϴ*/ - CID_TYPE_TRIGGER_RESET = 3911, /*ϴָ*/ - CID_TYPE_GPK_FAIL = 1912, /*GP/K*/ - CID_TYPE_GPK_RESET = 3912, /*GP/Kָ*/ - CID_TYPE_MODULE_FAIL = 1913, /*MN/K*/ - CID_TYPE_MODULE_RESET = 3913, /*MN/Kָ*/ - CID_TYPE_WIRELESS_DETECTOR_FAIL = 1914, /*̽*/ - CID_TYPE_WIRELESS_DETECTOR_RESET = 3914, /*̽߻ָ*/ - CID_TYPE_WIRELESS_DETECTOR_BATTERY_LOW = 1915, /*̽ѹ*/ - CID_TYPE_WIRELESS_DETECTOR_BATTERY_NORMAL = 3915, /*̽ѹ*/ - CID_TYPE_EXTEND_MODULE_LOSS = 1916, /*չģ*/ - CID_TYPE_EXTEND_MODULE_LOSS_RESET = 3916, /*չģ߻ָ*/ - CID_TYPE_WIRELESS_REPEATER_DISCONNECT = 1917, /*м*/ - CID_TYPE_WIRELESS_REPEATER_CONNECT = 3917, /*м߻ָ*/ - CID_TYPE_RADAR_TRANS_FAULT = 1918, /*״ź쳣*/ - CID_TYPE_RADAR_TRANS_RESET = 3918, /*״ź쳣ָ*/ - CID_TYPE_WRIELESS_SIREN_LOW_BATTERY = 1919, /*߾ŵ*/ - CID_TYPE_NORMAL_WRIELESS_SIREN_BATTERY = 3919, /*߾ŵ*/ - CID_TYPE_WRIELESS_NET_FAULT = 1920, /**/ - CID_TYPE_WRIELESS_NET_RESET = 3920, /*ϻָ*/ - CID_TYPE_SIM_FAULT = 1921, /*SIM쳣*/ - CID_TYPE_SIM_RESET = 3921, /*SIM쳣ָ*/ - CID_TYPE_WIFI_ABNORMAL = 1922, /*WIFIͨ쳣*/ - CID_TYPE_WIFI_NORMAL = 3922, /*WIFIͨŻָ*/ - CID_TYPE_RF_ABNORMAL = 1923, /*RFź쳣*/ - CID_TYPE_RF_NORMAL = 3923, /*RFź*/ - CID_TYPE_DATE_TRAFFIC_OVERFLOW = 1924, /**/ - CID_TYPE_IPADDR_CONFLICT = 1930, /*IPͻ*/ - CID_TYPE_IPADDR_NORMAL = 3930, /*IP*/ - CID_TYPE_ETHERNET_BROKEN = 1931, /**/ - CID_TYPE_ETHERNET_NORMAL = 3931, /*ϻָ*/ - CID_TYPE_MOTION_DECTECT_START = 1940, /*ƶⱨʼ*/ - CID_TYPE_MOTION_DECTECT_STOP = 3940, /*ƶⱨ*/ - CID_TYPE_MASK_ALARM_START = 1941, /*ڵʼ*/ - CID_TYPE_MASK_ALARM_STOP = 3941, /*ڵ*/ - CID_TYPE_VI_LOST_START = 1942, /*ƵźŶʧ*/ - CID_TYPE_VI_LOST_STOP = 3942, /*ƵźŻָ*/ - CID_TYPE_VS_MISMATCH = 1943, /*/Ƶʽƥ*/ - CID_TYPE_VS_MATCH = 3943, /*/Ƶʽָ*/ - CID_TYPE_VI_EXCEPTION = 1944, /*Ƶ쳣*/ - CID_TYPE_VI_NORMAL = 3944, /*Ƶָ*/ - CID_TYPE_HD_FULL = 1945, /*Ӳ*/ - CID_TYPE_HD_FREE = 3945, /*Ӳ̿*/ - CID_TYPE_HD_ERROR = 1946, /*Ӳ쳣*/ - CID_TYPE_HD_RESET = 3946, /*Ӳָ̻*/ - CID_TYPE_PIC_SEND_FAILED = 1947, /*ͼƬϴʧ*/ - CID_TYPE_SENDING_EMAIL_FAILED = 1948, /*ʼʧ*/ - CID_TYPE_NETWORK_CAMERA_DISCONNECT = 1949, /*IPCϿ*/ - CID_TYPE_NETWORK_CAMERA_CONNECT = 3949, /*IPCָ*/ - CID_TYPE_DUTY_CHECKING = 1960, /*ֵز*/ - CID_TYPE_POST_RESPONSE = 1961, /*ֵӦ*/ - CID_TYPE_ZONE_BUS_SEARCH = 1970, /**/ - CID_TYPE_ZONE_BUS_REGIST = 1971, /*ע*/ - CID_TYPE_GUARD_SINGLE_ARM = 1973, /**/ - CID_TYPE_GUARD_SINGLE_DISARM = 3973, /**/ - CID_TYPE_SINGLE_ZONE_ALARM_CLEARED = 1974, /**/ - CID_TYPE_ZONE_ASSOCIATED_DETECTOR_DEL = 1975, /*ɾ̽*/ - CID_TYPE_ZONE_ASSOCIATED_DETECTOR_ADD = 3975, /*̽*/ - CID_TYPE_ZONE_CONSULT = 1976, /*ҵѯ*/ - CID_TYPE_ZONE_CONSULT_STOP = 3976, /*ҵѯ*/ - CID_TYPE_EXTEND_MODULE_DEL = 1977, /*ɾչģ*/ - CID_TYPE_EXTEND_MODULE_ADD = 3977, /*չģ*/ - CID_TYPE_WIRELESS_REPEATER_DEL = 1978, /*ɾм*/ - CID_TYPE_WIRELESS_REPEATER_ADD = 3978, /*м*/ - CID_TYPE_WIRELESS_SIREN_DEL = 1979, /*ɾ߾*/ - CID_TYPE_WIRELESS_SIREN_ADD = 3979 /*߾*/ -}NET_DVR_ALARMHOST_CID_ALL_MINOR_TYPE; - - -typedef struct tagNET_DVR_CID_ALARM -{ - DWORD dwSize; - BYTE sCIDCode[CID_CODE_LEN/*4*/]; //CID¼ - BYTE sCIDDescribe[NAME_LEN/*32*/]; //CID¼ - NET_DVR_TIME_EX struTriggerTime; //ʱ - NET_DVR_TIME_EX struUploadTime; //ϴʱ - BYTE sCenterAccount[ACCOUNTNUM_LEN/*6*/]; //ʺ - BYTE byReportType; //NET_DVR_ALARMHOST_REPORT_TYPE - BYTE byUserType; //ûͣ0-û 1-û,2-ֻû,3-ϵͳû - BYTE sUserName[NAME_LEN/*32*/]; //ûû - WORD wKeyUserNo; //û 0xFFFFʾЧ - BYTE byKeypadNo; //̺ 0xFFʾЧ - BYTE bySubSysNo; //ϵͳ 0xFFʾЧ - WORD wDefenceNo; // 0xFFFFʾЧ - BYTE byVideoChanNo; //Ƶͨ 0ʾЧʾ豸ԴĬƵͨ - BYTE byDiskNo; //Ӳ̺ 0xFFʾЧ - WORD wModuleAddr; //ģַ 0xFFFFʾЧ - BYTE byCenterType; //0-Ч, 1-˺(6),2-չ˺(9) - BYTE byRelativeChannel; //ӵƵͨţ0ʾЧֽڱʾͨ - BYTE sCenterAccountV40[ACCOUNTNUM_LEN_32/*32*/]; //˺V40,ʹôֶʱsCenterAccountЧ - BYTE byDevSerialNo[DEV_SERIAL_LEN]; /*Ʒк*/ - BYTE byRepeaterNo; //мţΪ0Ч - WORD wRemoteCtrllerUserNo; //ңûţΪ0Ч - DWORD dwIOTChannelNo; //IOTͨ - BYTE standardCIDcode; //׼CID - BYTE byRes2[11]; -}NET_DVR_CID_ALARM, *LPNET_DVR_CID_ALARM; - -typedef struct tagNET_DVR_ALARMHOST_MODULE_CFG -{ - DWORD dwSize; - BYTE byModuleType; //1-2- 3- - BYTE byZoneType; //ͣ1-ط2-3-˫4-85-8·ģ6-0xffʾòЧ - BYTE byTriggerType; //ͣ1-ش 2-4·3-8·4-0xffʾòЧ - BYTE byRes1[1]; - char sModelInfo[MODULE_INFO_LEN]; //ģϢ - char sDeviceVersionInfo[VERSION_INFO_LEN]; /* 汾Ϣ*/ - BYTE byRes[188]; -} NET_DVR_ALARMHOST_MODULE_CFG, *LPNET_DVR_ALARMHOST_MODULE_CFG; - - -#define MAX_DECODE_CARD_SUPPORTDISPNUMS 8//ÿ뿨ֵ֧ʾͨ -#define MAX_SUPPORT_RES 32 -typedef struct tagNET_DVR_DECCARD_ABILITY_V41 /*뿨*/ -{ - BYTE byCardType; //뿨(0:MD,1:MD+,2:HD) - BYTE byDecNums; //ͨ - BYTE byDispNums; //ʾͨ - BYTE byDecStartIdx; //׸ͨнͨе - BYTE byDispStartIdx; //׸ʾͨʾͨе - BYTE byRes1[3]; - DWORD dwVgaSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwHdmiSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwDviSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwYpbprSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - BYTE byDispFormat[MAX_DECODE_CARD_SUPPORTDISPNUMS]; //ֵ֧ģʽ(HD_DISPLAY_FORMATеö) - BYTE byWindowMode[MAX_DECODE_CARD_SUPPORTDISPNUMS][12]; //ֵ֧Ĵģʽ(1,2,4,9,16)) - BYTE byRes2[36]; -} NET_DVR_DECCARD_ABILITY_V41,*LPNET_DVR_DECCARD_ABILITY_V41; - -#define MAX_DECODE_CARD_NUM 6 //뿨 -typedef struct tagNET_DVR_DECODESVR_ABILITY_V41 -{ - DWORD dwSize; /* ṹС */ - BYTE byCardNums; /* 뿨 */ - BYTE byStartChan; /* ʼͨ */ - BYTE byRes1[2]; - NET_DVR_DECCARD_ABILITY_V41 struDecCardAbility[MAX_DECODE_CARD_NUM]; - BYTE byRes2[64]; -}NET_DVR_DECODESVR_ABILITY_V41, *LPNET_DVR_DECODESVR_ABILITY_V41; - -// ¼״̬ -typedef struct tagNET_DVR_STREAM_RECORD_STATUS -{ - DWORD dwSize; - BYTE byRecord; //(ֻ)¼, 0¼1¼ 2- - //3- 4-Ƶ 5-δ 6-浵 - //7-ش 8-û 9-δ֤ - //10-浵к¼ 11-¼شк¼12-token֤ʧ - //13-ǰ¼ƻ 14-ͨ쳣ͨ״̬ 15-Ӳ - //16-Ӳ̴ 17-Ӳ - BYTE byOffLineRecord; //¼ 0-ر 1- - BYTE byRes1[2]; //ֽ - DWORD dwRelatedHD; // - BYTE byRes2[8]; //ֽ -}NET_DVR_STREAM_RECORD_STATUS, *LPNET_DVR_STREAM_RECORD_STATUS; - -#define CHAN_NO_LEN 24 - -typedef struct tagNET_DVR_DIRECT_CONNECT_CHAN_INFO -{ - BYTE byEnable; //Ƿ - BYTE byProType; //Эͣ0-˽Э(default), (Ҫ豸ȡ) - BYTE byZeroChan; //Ƿͨ,0-ǣ1- - BYTE byPriority; //ȼ - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - BYTE byDomain[MAX_DOMAIN_NAME]; //豸 - NET_DVR_IPADDR struIP; //IPַ - WORD wDVRPort; //˿ں - BYTE byStreamType; //:0; 1 - BYTE byOnline; //ֻ0- 1- - DWORD dwChannel; //ͨ - BYTE byTransProtocol; //Эͣ0-TCP1-UDP2-ಥ - BYTE byLocalBackUp; //ر: 0-CVRرݣ1-CVRر--طʱһ¼һڴ浵رݣ - WORD wDirectLastTime; //ʱ - BYTE byChanNo[CHAN_NO_LEN]; //ͨ--VAGȡ -}NET_DVR_DIRECT_CONNECT_CHAN_INFO, *LPNET_DVR_DIRECT_CONNECT_CHAN_INFO; - -typedef struct tagNET_DVR_DIRECT_CONNECT_CHAN_INFO_V40 -{ - BYTE byEnable; //Ƿ - BYTE byProType; //Эͣ0-˽Э(default), 1-Э飬2-, 3- (Ҫ豸ȡ) - BYTE byZeroChan; //Ƿͨ,0-ǣ1- - BYTE byRes1; //ֶΣ0 - BYTE sUserName[NAME_LEN]; //û - BYTE sPassword[PASSWD_LEN]; // - BYTE byAddress[MAX_DOMAIN_NAME]; //ǰIP,Ҫ豸 ʽΪĸ'.'Ϊ,ΪIPַ - WORD wDVRPort; //˿ں - BYTE byStreamType; //:0; 1 - BYTE byOnline; //ֻ0- 1- - DWORD dwChannel; //ͨ - BYTE byTransProtocol; //Эͣ0-TCP1-UDP 2-ಥ - BYTE byLocalBackUp; //رݣ0-CVRرݣ1-CVRر--¼ʱһ¼һڴ浵رݣ - BYTE byRes2[2]; //ֶΣ0 - BYTE byVAGChanNo[MAX_VAG_CHANNO_LEN]; //ЭΪVAGʱӦVAGͨ - BYTE byRes[340]; -}NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40, *LPNET_DVR_DIRECT_CONNECT_CHAN_INFO_V40; - - -typedef struct tagNET_DVR_PU_STREAM_URL_CFG -{ - BYTE byEnable; - BYTE byRes[3]; - BYTE byStreamMediaIP[64];//ýIP - WORD wStreamMediaPort; //ý˿ - BYTE byTransmitType; //ý崫Э 0- TCP 1- UDP - BYTE byRes1[33]; - BYTE byDevIP[64]; //豸IP - WORD wDevPort; //豸˿ - BYTE byChannel; //ͨ - BYTE byTransMode; //ģʽ 0- 1- - BYTE byProType; - // 0-˽ 1- 2- 3-ɳ 4-ɫǼ NET_DVR_GetIPCProtoListӿڻȡ - //VQDýֻ֧ 01ʽֱ֧ 01234 - BYTE byTransProtocol; //Э0-TCP, 1-UDP, 2-ಥʽ, 3-RTP - BYTE byRes3[2]; - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byRes2[28]; //Ԥ -}NET_DVR_PU_STREAM_URL_CFG, *LPNET_DVR_PU_STREAM_URL_CFG; - -typedef struct tagNET_DVR_PU_STREAM_URL_CFG_V40 -{ - BYTE byEnable; - BYTE byRes[3]; - BYTE byStreamMediaIP[64];//ýIP - WORD wStreamMediaPort; //ý˿ - BYTE byTransmitType; //ý崫Э 0- TCP 1- UDP - BYTE byRes1; - BYTE byDevIP[64]; //豸IP - WORD wDevPort; //豸˿ - BYTE byChannel; //ͨ - BYTE byTransMode; //ģʽ 0- 1- - BYTE byProType; - // 0- 1- 2- 3-ɳ 4-ɫǼ NET_DVR_GetIPCProtoListӿڻȡ - //VQDýֻ֧ 01ʽֱ֧ 01234 - BYTE byTransProtocol; //Э0-TCP, 1-UDP 2-ಥʽ - BYTE byRes3[2]; - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byRes2[308]; //Ԥ -}NET_DVR_PU_STREAM_URL_CFG_V40, *LPNET_DVR_PU_STREAM_URL_CFG_V40; - -typedef struct tagNET_DVR_STREAM_URL_V40 -{ - BYTE byEnable; - BYTE byStreamType; // - BYTE byLocalBackUp; //Ƿ񱾵ر - BYTE byRes; - BYTE strURL[URL_LEN_V40]; //ýURLԼ - DWORD dwProtocalType; //IPCЭֵͨȡIPCЭбõ - BYTE sUserName[NAME_LEN]; //豸½û - BYTE sPassWord[PASSWD_LEN]; // 豸½ - BYTE byAddress[MAX_DOMAIN_NAME]; //ԴIP,Ҫ ʽΪĸ'.'Ϊ,ΪIPַ - WORD wIPPort; //ԴӦĶ˿ں - WORD wChanNo; //Դ豸IPͨ - BYTE byVAGChanNo[MAX_VAG_CHANNO_LEN]; //Դͨ,VAG - BYTE byRes1[88]; -}NET_DVR_STREAM_URL_V40, *LPNET_DVR_STREAM_URL_V40; - -typedef union tagNET_DVR_STREAM_TYPE_UNION -{ - NET_DVR_DIRECT_CONNECT_CHAN_INFO struChanInfo; //IPͨϢ ֵΪ0 - NET_DVR_PU_STREAM_URL struStreamUrl; //ͨý嵽urlȡֵΪ4 - NET_DVR_PU_STREAM_URL_CFG struStreamUrlCfg; //ͨý嵽ָ豸ȡֵΪ6 -}NET_DVR_STREAM_TYPE_UNION, *LPNET_DVR_STREAM_TYPE_UNION; - -typedef union tagNET_DVR_STREAM_TYPE_V40_UNION -{ - NET_DVR_DIRECT_CONNECT_CHAN_INFO_V40 struChanInfo; //IPͨϢֵΪ0 - NET_DVR_PU_STREAM_URL struPuStreamUrl; //ͨý嵽urlȡֵΪ4 - NET_DVR_PU_STREAM_URL_CFG_V40 struStreamUrlCfg; //ͨý嵽urlȡֵΪ6 - NET_DVR_RTSP_PROTOCAL_CFG struRtspCfg; //ɱ׼RTSPȡ ֵ7 - NET_DVR_STREAM_URL_V40 struStreamUrlV40; //ͨý壨ּ֧ʽԴȡֵΪ8 -}NET_DVR_STREAM_TYPE_V40_UNION, *LPNET_DVR_STREAM_TYPE_V40_UNION; - - -typedef struct tagNET_DVR_STREAM_MODE_TYPE -{ - BYTE byGetStreamType; //ȡʽ0-ֱӴ豸ȡ1-ýȡ2-ͨIPServeripַȡ, 3.ͨIPServerҵ豸ͨýȥ豸 4-ͨýURLȥȡ - BYTE byRes[3]; // ֽ - NET_DVR_STREAM_TYPE_UNION uGetStream; // ͬȡʽṹ -}NET_DVR_STREAM_MODE_TYPE, *LPNET_DVR_STREAM_MODE_TYPE; - -// ԴϢ -typedef struct tagNET_DVR_STREAM_SRC_INFO -{ - DWORD dwSize; - NET_DVR_STREAM_MODE_TYPE struStreamSrcInfo; -}NET_DVR_STREAM_SRC_INFO,*LPNET_DVR_STREAM_SRC_INFO; - -typedef struct tagNET_DVR_STREAM_SRC_INFO_V40 -{ - DWORD dwSize; - BYTE byGetStreamType; //ȡʽ0-ֱӴ豸ȡ1-ýȡ2-ͨIPServeripַȡ, 3.ͨIPServerҵ豸ͨýȥ豸 4-ͨýURLȥȡ 6-ͨý嵽ָ豸ȡ - BYTE byRes1[3]; // ֽ - NET_DVR_STREAM_TYPE_V40_UNION uGetStream; // ͬȡʽṹ - BYTE byMonitorName[128];/*صƣ֧ģСдĸ֣»ߵȷַʽݵ¼صbyCharEncodeTypeֶжϣ - ĿǰCVRӢİ汾һвͬѡCVRҪصΪgbkӢİ汾CVRҪصΪiso8859-1硰A¥_ص1*/ - BYTE byRes[384]; // ֽ -}NET_DVR_STREAM_SRC_INFO_V40,*LPNET_DVR_STREAM_SRC_INFO_V40; - - -// ¼Ϣ -typedef struct -{ - DWORD dwSize; - NET_DVR_RECORD_V30 struRecordInfo; -}NET_DVR_STREAM_RECORD_INFO, *LPNET_DVR_STREAM_RECORD_INFO; - -// IDʱμ -typedef struct tagNET_DVR_STREAM_TIME_LOCK -{ - DWORD dwSize; // ṹС - NET_DVR_TIME strBeginTime; // ʼʱ - NET_DVR_TIME strEndTime; // ʱ - NET_DVR_STREAM_INFO struStreamInfo; // Ϣ - DWORD dwRecordType; // ¼: 0xffffffffȫʱ¼-ƶ⣬-ƶ⣬-ƶ⣬--ֶ¼-¼(ͬļ) - DWORD dwLockDuration; // ʱ,λ룬0xffffffffʾ - NET_DVR_TIME_EX strUnlockTimePoint; // ʱЧdwLockDurationΪʱʱ䵽ʱԶ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ,0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14+ʾ, byISO8601Ϊ1ʱЧ - char cTimeDifferenceM; //UTCʱӣ-30, 30, 45+ʾ, byISO8601Ϊ1ʱЧ - BYTE byRes[1]; -}NET_DVR_STREAM_TIME_LOCK, *LPNET_DVR_STREAM_TIME_LOCK; - -//طų֡ӿ ʼ֡ NET_DVR_START_DRAWFRAMEӦĿƽṹ -typedef struct tagNET_DVR_VOD_DRAWFRAME_PARA -{ - NET_DVR_TIME_EX struTime; - /* - dwDrawTypeֻ豸֧ѡԳ֡ʱЧ֡ʽУ - 0ֻI֡ - 11/2 Pֻ֡svc֧֣ - 23/4P֡ ֻsvc֧֣ - 31/2 I֡(ֻI֡ÿ2I֡һ) - 41/4 I(ֻI֡ÿ4I֡һ) - 51/8 I֡(ֻI֡ÿ8I֡һ) - */ - DWORD dwDrawType; - BYTE byRes[128]; -}NET_DVR_VOD_DRAWFRAME_PARA, *LPNET_DVR_VOD_DRAWFRAME_PARA; - -// ID+ʱطŽṹ -typedef struct tagNET_DVR_VOD_PARA -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struIDInfo; - NET_DVR_TIME struBeginTime; - NET_DVR_TIME struEndTime; - HWND hWnd; - BYTE byDrawFrame; //0:֡1֡ - BYTE byVolumeType; //0-ͨ¼ 1-浵 - BYTE byVolumeNum; //ţĿǰָ浵 - BYTE byStreamType; // 0- 1-2- - DWORD dwFileIndex; //浵ϵ¼ļ浵¼ʱصֵ - BYTE byAudioFile; //Ƶļ0-1- - BYTE byCourseFile; //γļ0-1- - BYTE byDownload; //Ƿ 0-1- - BYTE byOptimalStreamType; //Ƿͻط 0-1-ǣ˫豸ijһʱڵ¼ļָͲͬ򷵻ʵ͵¼ - BYTE byUseAsyn; //0-ʹͬIO1-ʹ첽IO - BYTE byRes2[19]; -}NET_DVR_VOD_PARA, *LPNET_DVR_VOD_PARA; - -typedef struct tagNET_DVR_VOD_PARA_V50 -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struIDInfo; - NET_DVR_TIME_V50 struBeginTime; - NET_DVR_TIME_V50 struEndTime; - HWND hWnd; - BYTE byDrawFrame; //0:֡1֡ - BYTE byVolumeType; //0-ͨ¼ 1-浵 - BYTE byVolumeNum; //ţĿǰָ浵 - BYTE byStreamType; // 0- 1-2- - DWORD dwFileIndex; //浵ϵ¼ļ浵¼ʱصֵ - BYTE byAudioFile; //طƵļ0-طƵļ1-طƵļ - BYTE byCourseFile; //طſγļ0-1- - BYTE byPlayMode; //ŷʽ0-ţ1- - BYTE byLinkMode; //ӷʽ0-TCP1-AdaptiveUDP - BYTE byDownload; //Ƿ 0-1- - BYTE byOptimalStreamType; //Ƿͻط 0-1-ǣ˫豸ijһʱڵ¼ļָͲͬ򷵻ʵ͵¼ - BYTE byDisplayBufNum; //òŻ֡Ϊ0ʱĬΪ3֡hWndΪʱЧ - BYTE byNPQMode; //NPQֱģʽǹý 0-ֱ 1-ý - BYTE sUserName[NAME_LEN/*32*/]; //֤û - BYTE sPassword[PASSWD_LEN/*16*/]; //֤ - BYTE byRemoteFile; //طԶļ0-1- - BYTE byUseAsyn; //0-ʹͬIO1-ʹ첽IO - BYTE byRes2[201]; - BYTE byHls; //HLSطţ0-1- - char* pSavedFileName; //ʱ¼ļ·byDownloadΪ1ʱЧȳ256ᱻض -}NET_DVR_VOD_PARA_V50, *LPNET_DVR_VOD_PARA_V50; - -// ֶ¼ -typedef struct tagNET_DVR_MANUAL_RECORD_PARA -{ - NET_DVR_STREAM_INFO struStreamInfo; - DWORD lRecordType; - BYTE byRes[32]; -}NET_DVR_MANUAL_RECORD_PARA, *LPNET_DVR_MANUAL_RECORD_PARA; - - -// CABACѹѡ20%ֻģͨ -typedef struct tagNET_DVR_STREAM_CABAC -{ - DWORD dwSize; //ṹС - BYTE byCabacEnable; //ѹѡֵ0 1 - BYTE byRes1[31]; // -}NET_DVR_STREAM_CABAC, *LPNET_DVR_STREAM_CABAC; - -#define MAX_IOSPEED_GROUP_NUM 4 //IO -#define MAX_IOOUT_NUM 4 //IOڸ -#define MAX_IOIN_NUM 8 //IOڸ -#define MAX_RELAY_NUM 12 //̵豸 2013-11-04 -#define MAX_VEHICLE_TYPE_NUM 8 //Ϣܿ2013-11-04 -#define MAX_IOIN_NUMEX 10 //IOڸ(չ) -#define MAX_ITC_LANE_NUM 6 //󳵵 -#define MAX_LANEAREA_NUM 2 // -#define ITC_MAX_POLYGON_POINT_NUM 20 //֧20Ķ -#define MAX_ITC_SERIALCHECK_NUM 8 //У͸ -#define MAX_LIGHT_NUM 6 //ͨ -#define MAX_VIDEO_INTERVAL_NUM 2 //ץļ -#define MAX_VIDEO_DETECT_LIGHT_NUM 12 //Ƶ -#define MAX_CALIB_RECOG_NUM 2 //궨 -#define MAX_RS485_NUM 12 //485֧ -#define MAX_MOBILE_POLYGON_NUM 3 //ƶ֧ʶ -#define MAX_MOBILE_DETECTLINE_NUM 3 //ƶ֧Υ߸ -#define MAX_IOOUT_K_NUM 8 //KϵIOڸ - -//IOڲ3.1汾֮ -typedef struct tagNET_ITC_IOOUT_PARAM -{ - DWORD dwSize; - BYTE byDefaultStatus;//IOĬ״̬0-͵ƽ1-ߵƽ - BYTE byIOOutStatus;//IOЧʱ״̬0-͵ƽ1-ߵƽ2- - BYTE byMode; //ƹʽ,λʾ0-ʾ1-ʾbit0-Ƶbit1-ڣbit2-Υ - BYTE byIOWorkMode;//IOڹģʽ0-ƣ1-ƫ, 2- - DWORD dwTimeDelay;//IOЧʱ䣬λus - WORD wAheadTime;//IOǰʱ䣬λus - BYTE byFreqMulti; //ƵֵΧ[1,15] - BYTE byDutyRate; //ռձȣ[0,40%] - BYTE byDetectBrightness;/*Զʹ0-⣻1-*/ - BYTE byBrightnessThreld;/*ʹֵΧ[0,100],ֵ*/ - BYTE byFlashLightEnable; //ʱʹ:0-;1- - BYTE byStartHour; //ʼʱ-Сʱ,ȡֵΧ0-23 - BYTE byStartMinute; //ʼʱ-,ȡֵΧ0-59 - BYTE byEndHour; //ʱ-Сʱ,ȡֵΧ0-23 - BYTE byEndMinute; //ʱ-,ȡֵΧ0-59 - BYTE byAutoPlateBrightness;// Զʹ 0- 1- - BYTE byIncrBrightEnable;//Ƿģʽģʽ£ - BYTE byIncrBrightPercent;//ٷֱȣ0~100%ģʽЧ - WORD wIncrBrightTime;//ʱ,λΪ루ģʽЧ - BYTE byBrightness;//ֵ0~100ģʽ£ - BYTE byEnvironBright;//նֵ0~100ģʽЧòֻնֵֵͻøֵΪοȥӦֵ - WORD wDelayCaptureTime;//ʱץʱ1~1000msģʽЧ -}NET_ITC_IOOUT_PARAM, *LPNET_ITC_IOOUT_PARAM; - -typedef enum _ITC_TRIGGERMODE_TYPE_ -{ - ITC_POST_IOSPEED_TYPE = 0x1, //IO٣ڣ - ITC_POST_SINGLEIO_TYPE = 0x2, //IOڣ - ITC_POST_RS485_TYPE = 0x4, //RS485ڣ - ITC_POST_RS485_RADAR_TYPE = 0x8, //RS485״ﴥڣ - ITC_POST_VIRTUALCOIL_TYPE = 0x10, //Ȧڣ - ITC_POST_HVT_TYPE_V50 = 0x20, //пƵV50 - ITC_POST_MPR_TYPE = 0x40, //֡ʶ()(Ver3.7) - ITC_POST_PRS_TYPE = 0x80, //Ƶⴥ - ITC_EPOLICE_IO_TRAFFICLIGHTS_TYPE = 0x100, //IO̵ƣ羯 - ITC_EPOLICE_RS485_TYPE = 0x200, //RS485羯羯 - ITC_POST_HVT_TYPE = 0x400, //пƵڣ - ITC_PE_RS485_TYPE = 0x10000, //RS485ʽ羯ʽ羯 - ITC_VIDEO_EPOLICE_TYPE = 0x20000, //Ƶ羯ʽ羯 - ITC_VIA_VIRTUALCOIL_TYPE = 0x40000, //VIA - ITC_POST_IMT_TYPE = 0x80000, //ǻۼ - IPC_POST_HVT_TYPE = 0x100000, //IPCֵ֧HVT - ITC_POST_MOBILE_TYPE = 0x200000, //ƶͨģʽ - ITC_REDLIGHT_PEDESTRIAN_TYPE = 0x400000, //˴ƴ - ITC_NOCOMITY_PEDESTRIAN_TYPE = 0x800000 //˴ -}ITC_TRIGGERMODE_TYPE; - -//ӿڵӦpOutBuf -typedef struct tagNET_ITC_TRIGGERMODE_ABILITY -{ - DWORD dwSize; - DWORD dwTriggerType; //ͣλʾITC_TRIGGERMODE_ABILITY壬Ͳͬ˴صĴҲͬ - BYTE byRes[16]; -}NET_ITC_TRIGGERMODE_ABILITY, *LPNET_ITC_TRIGGERMODE_ABILITY; - -typedef struct tagNET_ITC_INTERVAL_PARAM -{ - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - BYTE byRes1[3]; - WORD wInterval[MAX_INTERVAL_NUM];//ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byRes[8]; -}NET_ITC_INTERVAL_PARAM, *LPNET_ITC_INTERVAL_PARAM; - -//ʶ -typedef struct tagNET_ITC_PLATE_RECOG_PARAM -{ - BYTE byDefaultCHN[MAX_CHJC_NUM]; /*豸ʡݵĺּд*/ - BYTE byEnable; //Ƿøʶ0-1- - DWORD dwRecogMode; - /*ʶͣ - bit0-ʶ0-ʶ1-ʶ(βʶ) - bit1-ʶСʶ0-Сʶ1-ʶ - bit2-ɫʶ0-óɫʶڱʶСʶʱֹã1-ɫʶ - bit3-ũóʶ0-ũóʶ1-ũóʶ - bit4-ģʶ0-ģʶ1-ģʶ - bit5-֡λ򳡶λ0-֡λ1-λ - bit6-֡ʶʶ0-֡ʶ1-ʶ - bit7-ϻ죺0-죬1- - bit8-Ħгʶ0-Ħгʶ1-Ħгʶ; - bit9-ģʽ0-羯/֡1-ڣ - bit10-΢Сƣ0-ã1-΢Сʶ(6080) - bit11-ȫ⣺0-ã1-ðȫ - bit12-񺽳ʶ: 0-ã1-񺽳ʶ - bit13-ƹб: 0-ã1-бPRS - bit14-ʶ: 0-ã1-ʶPRS - bit15-⣺0-ã1- - bit16-Ʊ공⣺0-ã1-ûƱ공 - bit17-ΣƷ⣺0-ã1-ΣƷ - bit18-ʹݳʶ0-ã1-ʹݳʶ - bit19-Ʒʶ0-ã1-óƷʶ - bit20-绰ʶ0-ã1- - bit21-ʶ0-ã1- - */ - BYTE byVehicleLogoRecog;//ʶ 0-ã1- - /* - 0-1-ģ2-3-壬4-5-ʣ6-7-8-9-10-11-ԥ - 12-ڣ13-14-棬15-16-գ17-ӣ18-ɣ19-ɣ20-21-࣬22-³ - 23-24-£25-26-27-̨28-29-أ30-ۣ31-£32-ƣ33-㣬 - 34-0xff-ȫ - */ - BYTE byProvince;//ʡֵ - BYTE byRegion;// ֵ 0-1-ŷޣ2-, 3-ŷ&˹(EU&CIS),4-ж(Middle East) - BYTE byCountry;//öCOUNTRY_INDEX(֧֡COUNTRY_ALL = 0xff,//ALL ȫ) - WORD wPlatePixelWidthMin;//ʶСֵλأǰƼΧ[130,500] - WORD wPlatePixelWidthMax;//ʶֵλأǰƼΧ[130,500] - BYTE byRes[24]; -}NET_ITC_PLATE_RECOG_PARAM, *LPNET_ITC_PLATE_RECOG_PARAM; - -//ͽṹ -typedef struct tagNET_ITC_POLYGON -{ - DWORD dwPointNum; //Ч ڵ33һΪЧ߽ΪЧ - NET_VCA_POINT struPos[ITC_MAX_POLYGON_POINT_NUM]; //α߽,20 -}NET_ITC_POLYGON, *LPNET_ITC_POLYGON; - -typedef struct tagNET_ITC_PLATE_RECOG_REGION_PARAM -{ - BYTE byMode; //ͣ0-Σ1- - BYTE byRes1[3]; - union - { - NET_VCA_RECT struRect; // - NET_ITC_POLYGON struPolygon; // - }uRegion; - BYTE byRes[16]; // -}NET_ITC_PLATE_RECOG_REGION_PARAM, *LPNET_ITC_PLATE_RECOG_REGION_PARAM; - -//IOٲ -typedef struct tagNET_ITC_SINGLE_IOSPEED_PARAM -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byTrigCoil1; //һȦIO0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byCoil1IOStatus;//һȦIO״̬0-½أĬϣ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byTrigCoil2; //ڶȦIO0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byCoil2IOStatus;//ڶȦIO״̬0-½أĬϣ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byRelatedDriveWay;//ij - BYTE byTimeOut;//ʱʱ䣨Ĭ10λs - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - DWORD dwDistance;//Ȧ루Ĭ1000,λ - BYTE byCapSpeed;//ٶȣĬ30λkm/h - BYTE bySpeedLimit;//ֵĬ60λkm/h - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE bySnapTimes1; //Ȧ1ץĴĬϲץģ0-ץģ0-Ĵ5 - BYTE bySnapTimes2; //Ȧ2ץĴĬ10-ץģ0-Ĵ5 - BYTE byBigCarSpeedLimit; //󳵳ֵ - BYTE byBigCarSignSpeed;//־()λkm/h(3.7Ver) - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - WORD wInterval1[MAX_INTERVAL_NUM];//Ȧ1ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - WORD wInterval2[MAX_INTERVAL_NUM];//Ȧ2ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IO(ͬʱ)0ʾIO11ʾIO2Դƣ0-1- - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - BYTE byCarSignSpeed;//־٣λkm/h(3.7Ver) - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ(ʶ1һ) - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byLowSpeedLimit; //С޵ֵλkm/h - BYTE byBigCarLowSpeedLimit; //޵ֵλkm/h - BYTE byLowSpeedCapEn; //Ƿõץģ0-1- - BYTE byEmergencyCapEn; //ǷӦץģ0-1- - BYTE byRes[27]; -}NET_ITC_SINGLE_IOSPEED_PARAM, *LPNET_ITC_SINGLE_IOSPEED_PARAM; - -//IOٲ -typedef struct tagNET_ITC_POST_IOSPEED_PARAM -{ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_SINGLE_IOSPEED_PARAM struSingleIOSpeed[MAX_IOSPEED_GROUP_NUM]; //IO - BYTE byRes[32]; -}NET_ITC_POST_IOSPEED_PARAM, *LPNET_ITC_POST_IOSPEED_PARAM; - -//IO -typedef struct tagNET_ITC_SINGLEIO_PARAM -{ - BYTE byDefaultStatus;//IOĬ״̬0-͵ƽ1-ߵƽ - BYTE byRelatedDriveWay;//ij - BYTE bySnapTimes; //ץĴĬ10-ץģ0-Ĵ5 - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byEnable;//IOʹܱ־0-ã1- (Remark:֧ bySupport&0x20ʾǷֵ֧IOIOʹ ʱЧ) - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - BYTE byEmergencyCapEn; //ǷӦץģ0-1- - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byRes[24]; -}NET_ITC_SINGLEIO_PARAM, *LPNET_ITC_SINGLEIO_PARAM; - -//IO -typedef struct tagNET_ITC_POST_SINGLEIO_PARAM -{ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_SINGLEIO_PARAM struSingleIO[MAX_IOIN_NUMEX]; //IO -}NET_ITC_POST_SINGLEIO_PARAM, *LPNET_ITC_POST_SINGLEIO_PARAM; - -typedef struct tagNET_ITC_LANE_PARAM -{ - BYTE byEnable; //Ƿøó0-ã1- - BYTE byRelatedDriveWay;//ij - WORD wDistance; //Ȧ룬ٶ - WORD wTrigDelayTime; //ӳʱ䣨Ĭ200λ - BYTE byTrigDelayDistance; //ӳپ루Ĭ0λ - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE bySignSpeed;//־٣λkm/h - BYTE bySpeedLimit;//ֵλkm/h - BYTE bySnapTimes; //ץĴĬ10-ץģ0-Ĵ5 - BYTE byOverlayDriveWay; //OSDӵij - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byCartSignSpeed;//־()λkm/h - BYTE byCartSpeedLimit;//ֵ󳵣λkm/h - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byLowSpeedLimit; //С޵ֵλkm/h - BYTE byBigCarLowSpeedLimit; //޵ֵλkm/h - BYTE byLowSpeedCapEn; //Ƿõץģ0-1- - BYTE byEmergencyCapEn; //ǷӦץģ0-1- - BYTE byRes[9]; -}NET_ITC_LANE_PARAM, *LPNET_ITC_LANE_PARAM; - -//RS485 -typedef struct tagNET_ITC_POST_RS485_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byTriggerSpareMode; //ģʽ0-Ĭϣ1-Ȧģʽ,2-ڻϳģʽ - BYTE byFaultToleranceTime;//ݴʱ(λ:)ڼ⳵Ƿʱ - BYTE byRes1; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_LANE_PARAM struLane[MAX_ITC_LANE_NUM]; //ij - BYTE byRes[32]; -}NET_ITC_POST_RS485_PARAM, *LPNET_ITC_POST_RS485_PARAM; - -typedef struct tagNET_ITC_RADAR_PARAM -{ - BYTE byRadarType; //״ͣ0-״,1-״2-άǣ3-΢4,״IOչ(˲ڿȦпڽʹãRS485״ﲻʹ),0xff- - BYTE byLevelAngle; //ˮƽɽǶ,ĬΪ25(090) - WORD wRadarSensitivity; //״ - WORD wRadarSpeedValidTime;//״ٶЧʱ(0~2000] ,0ʾ֧ - BYTE byRes1[2]; - float fLineCorrectParam;//Խ[0.0~2.0] - int iConstCorrectParam;//[-100~100] - BYTE byRes2[8]; -}NET_ITC_RADAR_PARAM, *LPNET_ITC_RADAR_PARAM; - -typedef struct tagNET_ITC_RS485_ACCESS_INFO_COND //ṹ -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwTriggerModeType; - BYTE byAssociateRS485No;//RS485 15 (Ψһֵ) - // BYTE byModeType; //0Ԥ1״23źŵƼ - BYTE byRes[15]; -}NET_ITC_RS485_ACCESS_INFO_COND,*LPNET_ITC_RS485_ACCESS_INFO_COND; - -typedef struct tagNET_ITC_RADAR_INFO_PARAM -{ - NET_ITC_RADAR_PARAM struRadarParam;//24 - BYTE byAssociateLaneNo;//ij199 (ֵڲͬRS485ظ) - BYTE byRes[103]; -}NET_ITC_RADAR_INFO_PARAM, *LPNET_ITC_RADAR_INFO_PARAM; - -typedef union tagNET_ITC_ACCESS_DEVINFO_PARAM_UNION -{ - BYTE uLen[128]; - NET_ITC_RADAR_INFO_PARAM struRadarInfoParam;//״ -}NET_ITC_ACCESS_DEVINFO_PARAM_UNION, *LPNET_ITC_ACCESS_DEVINFO_PARAM_UNION; - -typedef struct tagNET_ITC_RS485_ACCESS_CFG //144 ýṹ -{ - DWORD dwSize; - BYTE byModeType;//0Ԥbit1״bit2bit3źŵƼ - BYTE byRes[3]; - NET_ITC_ACCESS_DEVINFO_PARAM_UNION uITCAccessDevinfoParam; //64 - BYTE byRes1[12]; -}NET_ITC_RS485_ACCESS_CFG,*LPNET_ITC_RS485_ACCESS_CFG; - -//2013-07-09 ״չ -typedef struct tagNET_ITC_RS485_ACCESS_INFO -{ - DWORD dwSize; - NET_ITC_RADAR_PARAM struRadar[MAX_ITC_LANE_NUM];//೵״Ϣ - //ʾֵ֧ĬΪ0ʾ мּ֧ - BYTE byRes[20]; -}NET_ITC_RS485_ACCESS_INFO, *LPNET_ITC_RS485_ACCESS_INFO; - - -//RS485״ﴥ -typedef struct tagNET_ITC_POST_RS485_RADAR_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byRes1[3]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_LANE_PARAM struLane[MAX_ITC_LANE_NUM]; //ij - NET_ITC_RADAR_PARAM struRadar; //״ - BYTE byRes[32]; -}NET_ITC_POST_RS485_RADAR_PARAM, *LPNET_ITC_POST_RS485_RADAR_PARAM; - -typedef struct tagNET_ITC_VTLANE_PARAM -{ - BYTE byRelatedDriveWay;//ij - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE bySignSpeed;//־٣λkm/h - BYTE bySpeedLimit;//ֵλkm/h - BYTE bySnapTimes; //ץĴĬ10-ץģ0-Ĵ5 - BYTE byBigCarSignSpeed;///*󳵱־٣λkm/h*/ - BYTE byBigCarSpeedLimit;/*ֵλkm/h*/ - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byLowSpeedLimit;/*޵٣λkm/h*/ - BYTE byBigCarLowSpeedLimit; /*޵٣λkm/h*/ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - NET_VCA_LINE struLine; // -}NET_ITC_VTLANE_PARAM, *LPNET_ITC_VTLANE_PARAM; - -typedef struct tagNET_ITC_VTCOIL_INFO -{ - NET_VCA_RECT struLaneRect; /*Ȧ*/ - BYTE byTrigFlag; //־0-ͷ1-β2-ͷ/β - BYTE byTrigSensitive; //ȣ1-100 - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IO(ͬʱ)0ʾIO11ʾIO2Դƣ0-1- - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - BYTE byEnableRadar; //Ƿ״٣0-1- - NET_ITC_VTLANE_PARAM struLane; //ij - //;ͣITC_LANE_USEAGE_TYPEʹ18(3.7Ver) - BYTE byUseageType; - //ʻITC_LANE_CAR_DRIVE_DIRECT(3.7Ver) - BYTE byCarDriveDirect; - BYTE byRes[30]; -}NET_ITC_VTCOIL_INFO, *LPNET_ITC_VTCOIL_INFO; - -//Ȧ -typedef struct tagNET_ITC_POST_VTCOIL_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byIsDisplay; //ƵǷʾȦ0-ʾ1-ʾ - BYTE byLoopPos; //䴥ȦƫĬ10 - BYTE byPolarLenType; /*ƫͣ0ƫ񾵣1ʩ͵ƫ񾵡*/ - BYTE byDayAuxLightMode; /*츨ģʽ0޸1LED2*/ - BYTE byVideoLaneNO; //ƵοȵIJο - BYTE byVideoLowTh; /*ƵοȵֵʼֵĬ40*/ - BYTE byVideoHighTh; /*ƵοȸֵʼֵĬ55*/ - BYTE byRecordMode; //¼־0-¼1-¼ - BYTE bySnapMode;//ץģʽ0-Ƶģʽ1-ģʽ - /*ٷʽ0-٣0x1-״٣0x2-Ƶ*/ - BYTE bySpeedDetector; - BYTE byRes2; - WORD wResolutionX;/* 豸ǰֱʿ*/ - WORD wResolutionY;/* 豸ǰֱʸ*/ - DWORD dwDayInitExp; /*Ƶعʱijʼֵ2000*/ - DWORD dwDayMaxExp; /*Ƶعʱֵ20000*/ - DWORD dwNightExp; /*Ƶعʱֵ3000*/ - DWORD dwSnapExp; /*ץعʱ*/ - BYTE byDayInitGain; /*Ƶijʼֵ200*/ - BYTE byDayMaxGain; /*Ƶֵ400*/ - BYTE byNightGain; /*Ƶ*/ - BYTE bySnapGain; /*ץ*/ - DWORD dwSceneMode; //ģʽ SCENE_MODE - NET_DVR_GEOGLOCATION struGeogLocation; //ַλ(Ĭ㽭) - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_VTCOIL_INFO struVtCoil[MAX_VL_NUM]; //Ȧ - NET_ITC_RADAR_PARAM struRadar; //״ - NET_VCA_LINE struLine; //ҳ - //ΥͣλʾITC_VIOLATION_DETECT_TYPE0-ã1-(3.7Ver) - DWORD dwVioDetectType; - BYTE byDebugMode; /*ģʽ0-ã1-*/ - BYTE byRes[11]; -}NET_ITC_POST_VTCOIL_PARAM, *LPNET_ITC_POST_VTCOIL_PARAM; - -//IO̵Ʋ -typedef struct tagNET_ITC_SINGLE_IOTL_PARAM -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byLightIO; //̵IO0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byTrafficLight; //̵Ч״̬0-ߵƽƣ͵ƽ̵ƣ1-ߵƽ̵ƣ͵ƽ - BYTE byTrigIO;//IOţ0-IO1,1-IO2,2-IO3,3-IO4,4-IO5,5-IO6 - BYTE byTrigIOStatus;//IOڵ״̬Ĭ00-½أ1-أ2-غ½أ3-ߵƽ4-͵ƽ - BYTE byRelatedDriveWay;//ij - BYTE byRecordEnable;//¼־0-¼1-¼ - BYTE byRecordType;//¼ͣ0-Ԥ¼1-ʱ¼ - BYTE byPreRecordTime;//¼ƬԤ¼ʱ䣨Ĭ0λ - BYTE byRecordDelayTime;//¼Ƭʱʱ䣨Ĭ0λ - BYTE byRecordTimeOut;//¼ʱʱ䣨룩 - BYTE byRedSnapTimes; //ץĴ0-ץģ0-Ĵ5 - BYTE byGreenSnapTimes; //̵ץĴ0-ץģ0-Ĵ5 - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - BYTE byRes1; - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - WORD wRedInterval[MAX_INTERVAL_NUM];//ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - WORD wGreenInterval[MAX_INTERVAL_NUM];//̵ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE byRes2[3]; - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byRes[32]; -}NET_ITC_SINGLE_IOTL_PARAM, *LPNET_ITC_SINGLE_IOTL_PARAM; - -//羯IO̵Ʋ -typedef struct tagNET_ITC_EPOLICE_IOTL_PARAM -{ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_SINGLE_IOTL_PARAM struSingleIOTL[MAX_IOSPEED_GROUP_NUM]; //IO̵Ʋ - BYTE byRes[32]; -}NET_ITC_EPOLICE_IOTL_PARAM, *LPNET_ITC_EPOLICE_IOTL_PARAM; - -typedef enum _ITC_SERIAL_PROTOCOL_ -{ - ITC_PROTOCOL_UNKNOW = 0, /*δ֪*/ - ITC_SINGLE_COIL_PROTOCOL_MODE1 = 1, /*ȦЭģʽ1ʾΪ_1_1_1_1뿪뿪ʱץģ뿪ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE1 = 2, /*˫ȦЭģʽ1ʾΪ˫_1_1_2_11뿪1뿪2ץģ뿪1ʶϴ3ųͼƬͳƽĬϣ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE2 = 3, /*˫ȦЭģʽ2ʾΪ˫_1_2_2_1뿪1뿪2뿪2ʱץģ뿪1ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE3 = 4, /*˫ȦЭģʽ3ʾΪ˫_2_1_2_12뿪1뿪2ʱץģ뿪1ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE4 = 5, /*˫ȦЭģʽ4ʾΪ˫/_2_2_2_12뿪2뿪2ʱץģ뿪1ʶϴ3ųͼƬͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE5 = 6, /*˫ȦЭģʽ5ʾΪ˫/_2_2_2_22뿪2뿪2ʱץģ2뿪1ʶϴ3ųͼƬŶȸߵijƽĬϣ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE6 = 7, /*˫ȦЭģʽ6ʾΪ˫/_1_2_2_21뿪2뿪2ʱץģ1뿪1ʶϴ3ųͼƬŶȸߵijƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE7 = 8, /*˫ȦЭģʽ7ʾΪ˫_1_1_2_11뿪1뿪2ʱץģ뿪1ʶϴͼƬ뿪1Ƶ1뿪1뿪2ʱͳƽ*/ - ITC_DOUBLE_COIL_PROTOCOL_MODE8 = 9, /*˫ȦЭģʽ8ʾΪ˫_1_1_2_21뿪1뿪2ʱץģ1뿪1ʶϴͼƬ뿪1Ƶ1뿪1뿪2ʱŶȸߵijƽĬϣ*/ - ITC_SINGLE_COIL_PROTOCOL_MODE2 = 10, /*ȦЭģʽ2ʾΪ_1_1_1_2뿪뿪ʱץģ뿪ʶϴͼƬ뿪Ƶ뿪뿪ʱŶȸߵijƽĬϣ*/ - ITC_OTHER_PROTOCOL = 0xff /*Э(demoã3.3֮汾demoͿؼִֵ֧)*/ -}ITC_SERIAL_PROTOCOL; - -//߼ץ -typedef enum _ITC_NORMAL_PASS_SERIAL_PROTOCOL_ -{ - ITC_NORMAL_PASS_SERIAL_UNKNOW = 0, //δ֪ - ITC_NORMAL_PASS_PROTOCOL_MODE1 = 1, //Ȧ뿪ץģʶϴĬϣ - ITC_NORMAL_PASS_PROTOCOL_MODE2 =2, //Ȧ뿪ץģʶϴ뿪ͼƬŶȸߵijƽ - ITC_NORMAL_PASS_PROTOCOL_MODE3 =3, //˫Ȧ뿪1ץģʶϴĬϣ - ITC_NORMAL_PASS_PROTOCOL_MODE4 =4, //˫Ȧ1뿪1ץģʶϴ뿪1ͼƬŶȸߵijƽ - ITC_NORMAL_PASS_PROTOCOL_MODE5 =5, //˫Ȧ2뿪1ץģʶϴ뿪1ͼƬŶȸߵijƽ -}ITC_NORMAL_PASS_SERIAL_PROTOCOL; - -//Υ߼ץ -typedef enum _ITC_INVERSE_SERIAL_PROTOCOL_ -{ - ITC_INVERSE_SERIAL_UNKNOW = 0, //δ֪ - ITC_INVERSE_PROTOCOL_MODE1 = 1, //ץ - ITC_INVERSE_PROTOCOL_MODE2 =2, //1ץ2š뿪2ץģ1žʶϴ3ųͼƬŶȸߵijƽ - ITC_INVERSE_PROTOCOL_MODE3 =3, //1뿪2ץģ1ʶϴ2ųͼƬͳƽ -}ITC_INVERSE_SERIAL_PROTOCOL; - -//Υ߼ץ -typedef enum _ITC_SPEED_SERIAL_PROTOCOL_ -{ - ITC_SPEED_SERIAL_UNKNOW = 0, //δ֪ - ITC_SPEED_PROTOCOL_MODE1 = 1, //ץ - ITC_SPEED_PROTOCOL_MODE2 =2, //˫/Ȧ뿪1뿪2뿪2ʱץģ뿪1ʶϴͼƬ뿪1뿪1뿪2뿪2ʱͳƽ - ITC_SPEED_PROTOCOL_MODE3 =3, //˫/Ȧ뿪1뿪2뿪2ʱץģ뿪1ʶϴͼƬ뿪1뿪1뿪2ͳƽ -}ITC_SPEED_SERIAL_PROTOCOL; - -// -typedef struct tagNET_ITC_SERIAL_INFO -{ - BYTE bySerialProtocol; //ЭͣITC_SERIAL_PROTOCOL - BYTE byIntervalType; //ͣĬϰʱ䣩0-ʱЧ,1-Ч - WORD wInterval;//ļʱ䣨λmsļ루λףbyIntervalTypeΪ0ʱʾʱ䣬byIntervalTypeΪ1ʱʾ - BYTE byNormalPassProtocol; //ץЭͣITC_NORMAL_PASS_SERIAL_PROTOCOL - BYTE byInverseProtocol; //ץЭͣITC_INVERSE_SERIAL_PROTOCOL - BYTE bySpeedProtocol; //ץЭͣITC_SPEED_SERIAL_PROTOCOL - BYTE byRes[9]; -}NET_ITC_SERIAL_INFO, *LPNET_ITC_SERIAL_INFO; - -typedef struct tagNET_ITC_EPOLICE_LANE_PARAM -{ - BYTE byEnable; //Ƿøó0-ã1- - BYTE byRelatedDriveWay;//ij - WORD wDistance; //Ȧ룬λ - BYTE byRecordEnable;//¼־0-¼1-¼ - BYTE byRecordType;//¼ͣ0-Ԥ¼1-ʱ¼ - BYTE byPreRecordTime;//¼ƬԤ¼ʱ䣨Ĭ0λ - BYTE byRecordDelayTime;//¼Ƭʱʱ䣨Ĭ0λ - BYTE byRecordTimeOut;//¼ʱʱ䣨룩 - BYTE bySignSpeed;//־(ʽ羯ģʽЧ)λkm/h - BYTE bySpeedLimit;//ֵ(ʽ羯ģʽЧ)λkm/h - BYTE byOverlayDriveWay; //OSDӵij - NET_ITC_SERIAL_INFO struSerialInfo; // - BYTE byRelatedIOOut[MAX_IOOUT_NUM]; //IOڣͬʱ - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE bySerialType; //ͣ0-˽г1-˽OEM2- - BYTE byRelatedIOOutEx;//0λʾIO1Դƣ0-1- ֹ֧8(byRelatedIOOutֶ) - BYTE bySnapPicPreRecord; //ץͼƬԤ¼ʱ㣻0-ĬֵڶͼƬ1-һͼƬ2-ڶͼƬ3-ͼƬ - NET_ITC_PLATE_RECOG_REGION_PARAM struPlateRecog[MAX_LANEAREA_NUM]; //ʶ - BYTE byBigCarSignSpeed; ///*󳵱־٣λkm/h*/ - BYTE byBigCarSpeedLimit;/*ֵλkm/h*/ - BYTE byRedTrafficLightChan;//ͨţ116̵Ƽ - BYTE byYellowTrafficLightChan;//Ƶͨţ116̵Ƽ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes3[11]; -}NET_ITC_EPOLICE_LANE_PARAM, *LPNET_ITC_EPOLICE_LANE_PARAM; - -//羯/ʽ羯RS485 -typedef struct tagNET_ITC_EPOLICE_RS485_PARAM -{ - BYTE byRelatedLaneNum;//ij - BYTE byTrafficLightSignalSrc;//ͨźԴ 0 1̵Ƽ - BYTE byRes1[2]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_EPOLICE_LANE_PARAM struLane[MAX_ITC_LANE_NUM]; //ij - BYTE byRes[32]; -}NET_ITC_EPOLICE_RS485_PARAM, *LPNET_ITC_EPOLICE_RS485_PARAM; - -//Բṹ -typedef struct tagNET_ITC_LANE_LOGIC_PARAM -{ - BYTE byUseageType; //;ͣITC_LANE_USEAGE_TYPE - BYTE byDirectionType; //ͣITC_LANE_DIRECTION_TYPE - BYTE byCarDriveDirect; //ʻITC_LANE_CAR_DRIVE_DIRECT - BYTE byRes[33]; // -}NET_ITC_LANE_LOGIC_PARAM, *LPNET_ITC_LANE_LOGIC_PARAM; - -//Ƶ羯߽ṹ -typedef struct tagNET_ITC_LINE -{ - NET_VCA_LINE struLine; //߲ - BYTE byLineType; //ͣITC_LINE_TYPE - BYTE byRes[7]; -}NET_ITC_LINE, *LPNET_ITC_LINE; - -typedef struct tagNET_ITC_SNAPMODE_PARAM -{ - BYTE byVehicleCapMode;//ץģʽ0-Ƶģʽ1-ģʽ - BYTE byNoVehicleCapMode;//ǻץģʽ0-Ƶģʽ1-ģʽ - BYTE byPasserCapMode;//ץģʽ0-Ƶģʽ1-ģʽ - BYTE byRes[29]; -}NET_ITC_SNAPMODE_PARAM, *LPNET_ITC_SNAPMODE_PARAM; - -//size = 128 -typedef struct tagNET_ITC_HVT_EC_PARAM -{ - DWORD dwCapShutter; //ץĿ0~65535 - WORD wCapGain; //ץ0100 - BYTE byRes[2]; - DWORD dwDayTimeVideoShutter; //عʱֵ - WORD wDayTimeVideoGain; //ֵ - WORD wNightVideoGain; //ֵ - DWORD wNightVideoShutter; //عʱֵ - BYTE byRes1[108]; -}NET_ITC_HVT_EC_PARAM, *LPNET_ITC_HVT_EC_PARAM; - -typedef struct tagNET_ITC_LANE_HVT_PARAM -{ - BYTE byLaneNO; //ij 1~255ڵӺϴ - BYTE bySignSpeed; //־٣λkm/h 0255 70 - BYTE bySpeedLimit; //ֵλkm/h 0255 80 ʵЧ - BYTE byBigCarSignSpeed;///*󳵱־٣λkm/h*/ - BYTE byBigCarSpeedLimit;/*ֵλkm/h*/ - BYTE bySpeedCapEn; //Ƿóץģ0-1- - BYTE byCaptureCount;//ץ15() - BYTE byRelatedIOOut; /*IO(ͬʱ)λʾIOڣ0λʾIO1Դƣ0-1-*/ - BYTE byFlashMode; /*˸ģʽ0-ͬʱ1-*/ - BYTE byEnableRadar; //Ƿ״٣0-1- - BYTE byChangeLaneEnable; //Υ±ץʹܣ0-رգ1- - BYTE byChangeLaneCapNo; //Υ±ץ2-3 - DWORD dwCapTarget; //ץ bit0 ʾ bit1 ʾǻ bit2 ʾ 0ʾѡ 1ʾѡ - NET_ITC_INTERVAL_PARAM struInterval; //ץļ - BYTE byRes3[24]; - NET_ITC_LANE_LOGIC_PARAM struLane; //ԣbyUseageTypebyCarDriveDirect - NET_ITC_LINE struLeftLaneLine; //󳵵ߣΪߡʵߡߺ˫ - NET_ITC_LINE struRightLaneLine; //ҳߣΪߡʵߡߺ˫ - NET_ITC_POLYGON struPlateRecog; //ʶ - NET_ITC_POLYGON struTraceArea; //Ƶ - NET_VCA_LINE struForwardTrigLine; //򴥷ߣһ߶ΣĶ˵λãĿǰֻ֧ˮƽãӿڰ߶ε˵㱣档һΪѴλã - NET_VCA_LINE struBackwardTrigLine; //򴥷ߣһ߶ΣĶ˵λãĿǰֻ֧ˮƽãӿڰ߶ε˵㱣棨һΪѴλã - NET_VCA_LINE struLeftTrigLine; //ߴߣһ߶ΣĶ˵λãĿǰֱִֻ֧ãӿڰ߶ε˵㱣棨һΪ߽복Ѵλã - NET_VCA_LINE struRightTrigLine; //ұߴߣһ߶ΣĶ˵λãĿǰֱִֻ֧ãӿڰ߶ε˵㱣棨һΪұ߽복Ѵλã - BYTE byRes4[60]; -}NET_ITC_LANE_HVT_PARAM, *LPNET_ITC_LANE_HVT_PARAM; - -typedef struct tagNET_ITC_POST_HVT_PARAM -{ - BYTE byLaneNum;//ʶij1-6 - BYTE bySceneMode;//0-δ֪1-·2-С - BYTE byRoadExpBright;//·ȣƵع֮һ޻ʱݴֵƵع - BYTE byPlateExpBright;//ȣƵع֮һлͨʶ𵽳ʱݴֵƵع - NET_ITC_POLYGON struDetectArea; //Ƶ - NET_ITC_SNAPMODE_PARAM struCapMode;//ץģʽ - NET_ITC_HVT_EC_PARAM struEcParam; //عƲ - NET_ITC_LANE_HVT_PARAM struLaneParam[MAX_ITC_LANE_NUM]; // - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_DVR_GEOGLOCATION struGeogLocation; //ַλãĬ㽭 - BYTE byRes[324]; -}NET_ITC_POST_HVT_PARAM, *LPNET_ITC_POST_HVT_PARAM; - -/*************************MPRģʽ begin 2013-12-07****************/ -typedef struct tagNET_ITC_LANE_MPR_PARAM -{ - BYTE byLaneNO; - union - { - BYTE uLen[4]; - struct - { - BYTE byIONo;//IO[1, byIoInNum+1] С1ʼֵݽӿNET_DVR_SNAP_ABILITYֶbyIoInNum - BYTE byTriggerType;//0-½أ1- - BYTE byRes1[2]; - }struIO;//IOģʽЧ - struct - { - BYTE byRelateChan;//ͨ[1,16] - BYTE byRes2[3]; - }struRS485; - }uTssParamInfo; - BYTE byCarDriveDirect; //ʻ ITC_LANE_CAR_DRIVE_DIRECT - BYTE byRes[58]; - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - //ͣοITC_RELA_LANE_DIRECTION_TYPEtypedef struct tagNET_ITS_PICTURE_INFO - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes1[255]; -}NET_ITC_LANE_MPR_PARAM,*LPNET_ITC_LANE_MPR_PARAM; - -typedef struct tagNET_ITC_POST_MPR_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE bySourceType;//0-MPRƵ,1-IOظȦ,2-RS485Ĵź - BYTE byPicUploadType;//ͼƬϴͣ0~ȫϴ1-ϴ2-ϴ - BYTE byRoadType;//ģʽѡ 0-ڣ1-е·2-Զ壬3-룬4-, 5-ΰ(ģʽ¿Լ⳵Ƚϻûгߵij) - BYTE byRes2; - WORD wCustomDelayTime;//Զץʱʱ䣨byRoadTypeΪ "Զ"ʱЧΧ[0,15000]ms - BYTE byRes[56]; - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ 40 - NET_ITC_LANE_MPR_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - char szSceneName[NAME_LEN/*32*/]; // - NET_VCA_LINE struSnapLine;//ץߣļ跽ʽΪװЧ4.5NET_DVR_CAMERA_SETUPCFGṹbyErectMethodֶΪ1ʱ - BYTE byRes1[392]; -}NET_ITC_POST_MPR_PARAM,*LPNET_ITC_POST_MPR_PARAM; -/*************************MPRģʽ end 2013-12-07****************/ - -typedef struct tagNET_DVR_VIA_LANE_PARAM -{ - BYTE byLaneNO; // - BYTE byRes[63]; // - NET_ITC_LANE_LOGIC_PARAM struLogicParam; //Բ - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - BYTE byRes1[300]; // -} NET_DVR_VIA_LANE_PARAM,*LPNET_DVR_VIA_LANE_PARAM; - -typedef struct tagNET_DVR_VIA_VTCOIL_PARAM -{ - BYTE byEnable; //ʹ 0- 1- - BYTE byLaneNum; // - BYTE byRes[62]; // - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_DVR_VIA_LANE_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ - BYTE byRes1[624];// -}NET_DVR_VIA_VTCOIL_PARAM,*LPNET_DVR_VIA_VTCOIL_PARAM; - -//ӿ -typedef struct tagNET_DVR_TRIGGER_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - DWORD dwTriggerMode;//ʽο ITC_TRIGGERMODE_TYPE - BYTE byDetSceneID;//ⳡ[1,4], IPCĬ0 - BYTE byRes[63]; // -}NET_DVR_TRIGGER_COND,*LPNET_DVR_TRIGGER_COND; - -typedef struct tagNET_ITC_LANE_IMT_PARAM -{ - BYTE byLaneNO;//ӳ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes[146]; - NET_ITC_LINE struLaneLine;// - BYTE byRes1[256]; -}NET_ITC_LANE_IMT_PARAM,*LPNET_ITC_LANE_IMT_PARAM; - -typedef struct tagNET_ITC_POST_IMT_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE bySnapMode; //ץͣ0~1~ - BYTE byRes[61]; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ - NET_ITC_LINE struLaneBoundaryLine;//߽ߣұ߳ı߽ߣ - NET_ITC_LANE_IMT_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - BYTE byRes1[1584]; -}NET_ITC_POST_IMT_PARAM,*LPNET_ITC_POST_IMT_PARAM; - -typedef struct tagNET_ITC_LANE_PRS_PARAM -{ - BYTE byLaneNO; - union - { - BYTE uLen[4]; - struct - { - BYTE byIONo;//IO[1,4] - BYTE byTriggerType;//0-½أ1- - BYTE byRes1[2]; - }struIO;//IOģʽЧ - struct - { - BYTE byRelateChan;//ͨ[1,16] - BYTE byRes2[3]; - }struRS485; - }uTssParamInfo; - BYTE byRes[59]; - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes2[3]; - NET_ITC_LINE struTrigLine;// - BYTE byRes1[228]; -}NET_ITC_LANE_PRS_PARAM,*LPNET_ITC_LANE_PRS_PARAM; - - -typedef struct tagNET_ITC_POST_PRS_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE bySourceType;//0-Ƶ,1-IOظȦ,2-RS485Ĵź - BYTE bySnapMode;//0-ȫͼ1-ȫͼ+д - BYTE byCapMode;//bySourceTypeΪ0Ƶʱʹã0-Ƶģʽ1-ģʽ - BYTE byNoPlatCarCap;//Ƿ޳ץ 0- 1- - BYTE bySceneMode;//ģʽ:0-ͨڳ1-շվģʽ(ͣʱϳ)2-ͣڳ(ҹϰ) - BYTE byRes[57]; - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ 40 - NET_ITC_LANE_PRS_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - BYTE byRes1[440]; -}NET_ITC_POST_PRS_PARAM,*LPNET_ITC_POST_PRS_PARAM; - -typedef struct tagNET_IPC_LANE_HVT_PARAM -{ - BYTE byLaneNO; - BYTE byCarDriveDirect; //ʻ ITC_LANE_CAR_DRIVE_DIRECT - BYTE byRes[62]; - NET_ITC_LINE struLaneLine;// - NET_ITC_POLYGON struPlateRecog;//ʶ - BYTE byRes1[256]; -} NET_IPC_LANE_HVT_PARAM,*LPNET_IPC_LANE_HVT_PARAM; - -typedef struct _NET_ITC_PARKING_DETECTION_ -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes; //ֽ - WORD wDuration;//ʱλs - WORD wAlarmIntervalTime;//ϴʱλs - BYTE byRes1[58]; //ֽ -}NET_ITC_PARKING_DETECTION, *LPNET_ITC_PARKING_DETECTION; - -typedef struct tagNET_IPC_POST_HVT_PARAM -{ - BYTE byEnable; - BYTE byLaneNum; - BYTE byEnhancedMode; //ǿģʽ0-ã1- - BYTE byPicRecognition; //ͼƬʶ0-ã1- - BYTE byRes[60]; - NET_ITC_LINE struLaneBoundaryLine;//߽ߣ߽߳ߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog;//ʶ 40 - NET_IPC_LANE_HVT_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; - char szSceneName[NAME_LEN/*32*/]; // - NET_VCA_LINE struSnapLine;//ץߣץļ跽ʽΪװЧ4.5NET_DVR_CAMERA_SETUPCFGṹbyErectMethodֶΪ1ʱ - NET_ITC_PARKING_DETECTION struParkingDetection; //ͣ - BYTE byRes1[328]; -} NET_IPC_POST_HVT_PARAM,*LPNET_IPC_POST_HVT_PARAM; - -//ץĻ4.0 -typedef struct tagNET_ITC_LANE_HVT_PARAM_V50 -{ - BYTE byLaneNO; //ij1255(ڵӺϴ) - BYTE byFlashMode; //˸ģʽ0-ͬʱ1- - BYTE bySignSpeed; //С־޸٣λkm/h - BYTE bySpeedLimit; //С޸ֵλkm/h - BYTE bySignLowSpeed; //С־޵٣λkm/h - BYTE byLowSpeedLimit; //С޵ֵλkm/h - BYTE byBigCarSignSpeed; //󳵱־޸٣λkm/h½棩 - BYTE byBigCarSpeedLimit; //޸ֵλkm/h½棩 - BYTE byBigCarSignLowSpeed; //󳵱־޵٣λkm/h - BYTE byBigCarLowSpeedLimit; //޵ֵλkm/h - BYTE bySnapTimes; //ץ1~3 - BYTE byDriveLineSnapTime;// ѹץ 1~3 - BYTE byHighSpeedSnapTime;// ץ1~3 - BYTE byLowSpeedSnapTime;// ץ1~3 - BYTE byBanSnapTime;// Υץ 1~3 - BYTE byReverseSnapTime;//ץ 1~3 - BYTE byRelatedDriveWay; //ţƥ䳵 - BYTE byLaneType; //ͣ0-δá1-ٹ·2-п·0xff-· - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪbyRelatedDriveWayӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byRes1[27]; - BYTE byChangeLaneEnable; //Υ±ץʹܣ0-رգ1- - BYTE byChangeLaneCapNo; //Υ±ץ2-3 - //ĿǰʹõһģԺܻչΪ೵ֱ - //, λʾ,0-,1-òο ITC_VIOLATION_DETECT_TYPE - DWORD dwVioDetectType; - DWORD dwRelatedIOOut; //IO(ͬʱ)λʾIOڣ0λʾIO1Դƣ0-1- - NET_ITC_LINE struTrigLine; //ߣĿǰʹõһģԺܻչΪ೵ֱ - NET_ITC_LINE struLineLeft; //󳵵 - NET_ITC_POLYGON struPlateRecog; //ʶ - NET_ITC_LANE_LOGIC_PARAM struLane; //ԣbyUseageTypebyCarDriveDirect - NET_ITC_INTERVAL_PARAM struInterval;//ץļ20byte - BYTE byRes2[280]; -}NET_ITC_LANE_HVT_PARAM_V50, *LPNET_ITC_LANE_HVT_PARAM_V50; - -typedef struct tagNET_ITC_POST_HVT_PARAM_V50 -{ - BYTE byLaneNum; //ʶij1-6 - BYTE byCapType; //ץͣ0-ǡˣĬϣ1- - BYTE byCapMode; //ץķʽ0-Ƶ֡1-ץģ2-ģʽ - BYTE bySecneMode; //ģʽ0-·Ĭϣ1-Сڣ2-ٹ· - BYTE bySpeedMode; //ģʽ0-޲٣1-״٣2-Ƶ - BYTE byLineRuleEffect; //Ч,ÿһλһ,0-Ч;1-Чbit0-󴥷;bit1-Ҵ;bit2-Ƶ - BYTE byRes1[78]; - NET_ITC_LINE struLeftTrigLine; //󴥷(һֱ) - NET_ITC_LINE struRigtTrigLine; //Ҵ(һֱ) - NET_ITC_LINE struLaneBoundaryLine; //߽ߣұ߳ҳߣ - NET_ITC_POLYGON struDetectArea; //Ƶ - NET_DVR_GEOGLOCATION struGeogLocation; //λãĬ㽭ʡʱ - NET_ITC_LANE_HVT_PARAM_V50 struLaneParam[MAX_ITC_LANE_NUM/*6*/]; // - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - BYTE byRes2[260]; -} NET_ITC_POST_HVT_PARAM_V50, *LPNET_ITC_POST_HVT_PARAM_V50; - - -// -typedef struct tagNET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM -{ - BYTE byRelatedDriveWay;//ij - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byPedestriansNum;//ֵΧ1-100Ĭֵ1 - BYTE byVehicleSpeed;//ٶֵΧ0-100Ĭֵ0 - DWORD dwVehicleInterval; //ֵΧ0-65536Ĭֵ0 - BYTE byPedesDetRule; //˼򣻴˼ʻ 0~ 1~ҡ - BYTE byRes[3]; - NET_ITC_LINE struLaneLine;// - NET_ITC_LINE struStopLine;//ֹͣ - NET_ITC_POLYGON struPlateRecog; //ʶ - BYTE byRes1[280]; -} NET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM, -*LPNET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM; - -//˲ -typedef struct tagNET_ITC_NOCOMITY_PEDESTRIAN_PARAM -{ - BYTE byEnable; //ʹ - BYTE byLaneNum;// Χ1-3Ĭֵ3 - BYTE byRes[74]; - NET_ITC_LINE struLaneBoundaryLine;//ұ߽ - NET_ITC_LINE struTriggerLine;//˴ - NET_ITC_POLYGON struPedesDetRecog;//˼ - NET_ITC_LANE_NOCOMITY_PEDESTRIAN_PARAM struLaneParam[MAX_ITC_LANE_NUM/*6*/]; // - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - BYTE byRes1[400]; -}NET_ITC_NOCOMITY_PEDESTRIAN_PARAM, -*LPNET_ITC_NOCOMITY_PEDESTRIAN_PARAM; - -//IOźŵƲ -typedef struct tagNET_ITC_SINGLE_IO_LIGHT_PARAM -{ - BYTE byLightType; //ͨƵ,0-ת,1-ֱе,2-ת - BYTE byRelatedIO; //IOں - BYTE byRedLightState; //Ƶƽ״̬0-ߵƽƣ1-͵ƽ - BYTE byRes[17]; -}NET_ITC_SINGLE_IO_LIGHT_PARAM, *LPNET_ITC_SINGLE_IO_LIGHT_PARAM; - -//IOźŵƲ -typedef struct tagNET_ITC_IO_LIGHT_PARAM -{ - NET_ITC_SINGLE_IO_LIGHT_PARAM struIOLight[MAX_LIGHT_NUM]; //IOźŵƲ - BYTE byRes[8]; -}NET_ITC_IO_LIGHT_PARAM, *LPNET_ITC_IO_LIGHT_PARAM; - -//485źŵƲ -typedef struct tagNET_ITC_SINGLE_RS485_LIGHT_PARAM -{ - BYTE byLightType; //ͨƵͣ0-תƣ1-ֱеƣ2-ת - BYTE byRelatedLightChan; //ĺ̵Ƽͨ - BYTE byInputLight; //źŵͣ0-Ӻƣ1-̵ - BYTE byRelatedYLightChan; //ĻƵƼͨ - BYTE byRes[16]; -}NET_ITC_SINGLE_RS485_LIGHT_PARAM, *LPNET_ITC_SINGLE_RS485_LIGHT_PARAM; - -//485źŵƲ -typedef struct tagNET_ITC_RS485_LIGHT_PARAM -{ - NET_ITC_SINGLE_RS485_LIGHT_PARAM struRS485Light[MAX_LIGHT_NUM]; //485źŵƲ - BYTE byRes[8]; -}NET_ITC_RS485_LIGHT_PARAM, *LPNET_ITC_RS485_LIGHT_PARAM; - -typedef struct tagNET_POS_PARAM -{ - WORD wLeft; - WORD wTop; - WORD wRight; - WORD wBottom; -}NET_POS_PARAM, *LPNET_POS_PARAM; - -//Ƶ⽻ͨźŵƲṹ -typedef struct tagNET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM -{ - BYTE byLightNum; //ͨƸ - BYTE byStraightLight; //Ƿֱб־ƣ0- 1- - BYTE byLeftLight; //Ƿת־ƣ0-1- - BYTE byRightLight; //Ƿת־ƣ0-1- - BYTE byRedLight;//Ƿкƣ0-1- - BYTE byGreenLight; //Ƿ̵ƣ0-1- - BYTE byYellowLight; //ǷлƵƣ0-1- - BYTE byYellowLightTime;//ȡֵΧ010sITC3.7Ver - NET_POS_PARAM struLightRect; //ͨ - BYTE byRes[24]; -}NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM, *LPNET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM; - - -//Ƶ⽻ͨźŵƲṹ(12⣬488ֽ) -typedef struct tagNET_ITC_VIDEO_DETECT_LIGHT_PARAM -{ - NET_ITC_SINGLE_VIDEO_DETECT_LIGHT_PARAM struTrafficLight[MAX_VIDEO_DETECT_LIGHT_NUM]; //ƵźŵƲ - BYTE byRes[8]; -}NET_ITC_VIDEO_DETECT_LIGHT_PARAM, *LPNET_ITC_VIDEO_DETECT_LIGHT_PARAM; - -//ͨźŵƽ -typedef union tagNET_ITC_LIGHT_ACCESSPARAM_UNION -{ - DWORD uLen[122]; - NET_ITC_IO_LIGHT_PARAM struIOLight; //IOźŵƲ - NET_ITC_RS485_LIGHT_PARAM struRS485Light; //485źŵƲ - NET_ITC_VIDEO_DETECT_LIGHT_PARAM struVideoDelectLight; //ƵźŵƲ -}NET_ITC_LIGHT_ACCESSPARAM_UNION, *LPNET_ITC_LIGHT_ACCESSPARAM_UNION; - -//ͨźŵƲṹ -typedef struct tagNET_ITC_TRAFFIC_LIGHT_PARAM -{ - BYTE bySource; //ͨźŵƽԴ0-IO룬1-RS485 - BYTE byRes1[3]; - NET_ITC_LIGHT_ACCESSPARAM_UNION struLightAccess;//źŵƽ - BYTE byRes[32]; -}NET_ITC_TRAFFIC_LIGHT_PARAM, *LPNET_ITC_TRAFFIC_LIGHT_PARAM; - -//Υ߲ṹ -typedef struct tagNET_ITC_VIOLATION_DETECT_LINE -{ - NET_ITC_LINE struLaneLine; //߲ - NET_ITC_LINE struStopLine; //ֹ߲ͣ - NET_ITC_LINE struRedLightLine; //ƴ߲ - NET_ITC_LINE struCancelLine; //ֱдλȡ - NET_ITC_LINE struWaitLine; //ֹ߲ͣ - NET_ITC_LINE struRes[8]; -}NET_ITC_VIOLATION_DETECT_LINE, *LPNET_ITC_VIOLATION_DETECT_LINE; - -//˴Ʋ -typedef struct tagNET_ITC_REDLIGHT_PEDESTRIAN_PARAM -{ - BYTE byEnable; //ʹ - BYTE bySnapNumTimes; //ץ1-3Ĭ3 - BYTE byPedesDir; //˷0~1~2~˫ - BYTE byDelayTime; //ʱʱ1-5s - BYTE byStackTargetEnble;//Ŀ򣨼ץĵһͼƬϿסƵˣ0~ӣ1~ - BYTE byCalibRecogCtrl;//궨ƣ0~Ƴ궨1~ӱ궨 - BYTE byRes1[2]; - NET_ITC_TRAFFIC_LIGHT_PARAM struTrafficLight; //ͨźŵƲ - NET_ITC_LINE struStopLine;//ֹͣ - NET_ITC_POLYGON struCalibRecog[MAX_CALIB_RECOG_NUM/*2*/];//궨 - BYTE byRes[440]; -}NET_ITC_REDLIGHT_PEDESTRIAN_PARAM, -*LPNET_ITC_REDLIGHT_PEDESTRIAN_PARAM; - -typedef struct tagNET_ITC_POST_MOBILE_PARAM -{ - BYTE byEnable; - BYTE bySceneMode;//ģʽ 0-ٹ· 1-е· - /*ץ - bit0-,bit1-ռ,bit2-ѹӲ· - */ - WORD wExpressWayCapType;//ٹ· - /*ץ - bit0-,bit1-ռ,bit2-ռרó - */ - WORD wUrbanRoadCapType;//е· - BYTE byCapNum;//ץ [2,3] - BYTE byRecordEnable;//Υ¼ʹ 0-رգ1- - DWORD dwPreRecordTime;//¼Ԥ¼ʱ(s) - DWORD dwOverRecordTime;//¼ʱʱ(s) - NET_ITC_LANE_LOGIC_PARAM struLane; // - NET_ITC_POLYGON struPolygon[MAX_MOBILE_POLYGON_NUM/*3*/]; //ʶ - NET_ITC_VIOLATION_DETECT_LINE struLine[MAX_MOBILE_DETECTLINE_NUM/*3*/]; //Υ - NET_ITC_LINE struLaneBoundaryLine; //߽ߣұ߳ҳߣ - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_INTERVAL_PARAM struInterval;//ץļ20byte - BYTE byRes[256]; -}NET_ITC_POST_MOBILE_PARAM,*LPNET_ITC_POST_MOBILE_PARAM; - -typedef union tagNET_ITC_TRIGGER_PARAM_UNION -{ - DWORD uLen[1070]; // - NET_ITC_POST_IOSPEED_PARAM struIOSpeed; //ڣIOٲ - NET_ITC_POST_SINGLEIO_PARAM struSingleIO; //ڣIO - NET_ITC_POST_RS485_PARAM struPostRs485; //ڣRS485 - NET_ITC_POST_RS485_RADAR_PARAM struPostRadar; //ڣRS485״ - NET_ITC_POST_VTCOIL_PARAM struVtCoil; //ڣȦ - NET_ITC_POST_HVT_PARAM struHvt; //ڣпڲ - NET_ITC_EPOLICE_IOTL_PARAM struIOTL; //羯IO̵Ʋ - NET_ITC_EPOLICE_RS485_PARAM struEpoliceRs485; //羯RS485 - NET_ITC_EPOLICE_RS485_PARAM struPERs485; //ʽ羯RS485 - NET_ITC_POST_MPR_PARAM struPostMpr; //֡ⴥMPR - NET_DVR_VIA_VTCOIL_PARAM struViaVtCoil; //(VIA)Ƶ - NET_ITC_POST_IMT_PARAM struPostImt;//ǻۼش - NET_ITC_POST_PRS_PARAM struPostPrs;//Ƶⴥ - NET_IPC_POST_HVT_PARAM struIpcHvt;//(IPC) пڲ - NET_ITC_POST_HVT_PARAM_V50 struHvtV50; /*ڣпڲV50*/ - NET_ITC_POST_MOBILE_PARAM struPostMobile;// ƶͨģʽ - NET_ITC_NOCOMITY_PEDESTRIAN_PARAM struNoComityPed;//˲ - NET_ITC_REDLIGHT_PEDESTRIAN_PARAM struRedLightPed;//˴Ʋ -}NET_ITC_TRIGGER_PARAM_UNION, *LPNET_ITC_TRIGGER_PARAM_UNION; - -//ṹ -typedef struct tagNET_ITC_SINGLE_TRIGGERCFG -{ - BYTE byEnable; //Ƿøôģʽ0-1- - BYTE byRes1[3]; - DWORD dwTriggerType; //ͣITC_TRIGGERMODE_TYPE - NET_ITC_TRIGGER_PARAM_UNION uTriggerParam; // - BYTE byRes[64]; -}NET_ITC_SINGLE_TRIGGERCFG, *LPNET_ITC_SINGLE_TRIGGERCFG; - -//ṹ -typedef struct tagNET_ITC_TRIGGERCFG -{ - DWORD dwSize; //ṹ - NET_ITC_SINGLE_TRIGGERCFG struTriggerParam; // - BYTE byRes[32]; -}NET_ITC_TRIGGERCFG, *LPNET_ITC_TRIGGERCFG; - - -//Υͺ궨 -typedef enum _ITC_VIOLATION_DETECT_TYPE_ -{ - ITC_VIOLATION_POST = 0x01, //ץ - ITC_VIOLATION_DRIVELINE = 0x02,//ѹץ - ITC_VIOLATION_REVERSE = 0x04,//ץ - ITC_VIOLATION_REDLIGHT = 0x08,//ץ - ITC_VIOLATION_DIRECTION = 0x10,//ʻץ - ITC_VIOLATION_INTERSECTION_CONGEST = 0x20,//·ץ - ITC_VIOLATION_NONDRIVEWAY = 0x40, //ռץ - ITC_VIOLATION_CHANGELANE = 0x80, //Υ - ITC_VIOLATION_BAN = 0x100, //Υ - ITC_VIOLATION_INTERSECTION_PARK=0x200,//Խ - ITC_VIOLATION_GREEN_PARK=0x400,//̵ͣ - ITC_VIOLATION_HIGH_SPEED = 0x800, /**/ - ITC_VIOLATION_LOW_SPEED = 0x1000, /**/ - ITC_VIOLATION_EMERGENCY = 0x2000, /*ռӦ*/ - ITC_VIOLATION_TURN_AROUND = 0x8000,/*Υͷ*/ - ITC_VIOLATION_CONGESTION = 0x10000 /*ӵ*/ -}ITC_VIOLATION_DETECT_TYPE; - - -//Υṹ -typedef struct tagNET_ITC_VIOLATION_DETECT_PARAM -{ - DWORD dwVioDetectType; //Υ, λʾ, ITC_VIOLATION_DETECT_TYPE ,0-,1- - BYTE byDriveLineSnapTimes; //ѹץ,2-3 - BYTE byReverseSnapTimes; //ץ,2-3 - WORD wStayTime; //ռͣʱ䣨ʱץģλs - BYTE byNonDriveSnapTimes;//ռץ2-3 - BYTE byChangeLaneTimes;//Υץ 2-3 - BYTE bybanTimes;//Υץ2-3 - BYTE byDriveLineSnapSen;// ѹ(0~100)(3.7Ver) - WORD wSnapPosFixPixel; //2,3ץλСƫ(ΥźŵʱЧ)λأ Ľ - BYTE bySpeedTimes;//Υץ2-3(3.8Ver) - BYTE byTurnAroundEnable;//Υµͷʹ 0~ر 1~ - BYTE byThirdPlateRecogTime;//ʶʱ 0~180s - BYTE byPostSnapTimes;//ץ,1-2 - BYTE byRes1[18]; - WORD wStopLineDis; //羯2ΥͼƬֹͣߵ̾룬[0,300]λ() - BYTE byRes[14]; -}NET_ITC_VIOLATION_DETECT_PARAM, *LPNET_ITC_VIOLATION_DETECT_PARAM; - -//Ͷ -typedef enum _ITC_RELA_LANE_DIRECTION_TYPE_ -{ - ITC_RELA_LANE_DIRECTION_UNKNOW = 0, // - ITC_RELA_LANE_EAST_WEST = 1, //Ӷ - ITC_RELA_LANE_WEST_EAST = 2, // - ITC_RELA_LANE_SOUTH_NORTH = 3, // - ITC_RELA_LANE_NORTH_SOUTH = 4, //ӱ - ITC_RELA_LANE_EASTSOUTH_WESTNORTH = 5, //Ӷ - ITC_RELA_LANE_WESTNORTH_EASTSOUTH = 6, // - ITC_RELA_LANE_EASTNORTH_WESTSOUTH = 7, //Ӷ - ITC_RELA_LANE_WESTSOUTH_EASTNORTH = 8 //򶫱 -} ITC_RELA_LANE_DIRECTION_TYPE; - - -//;Ͷ -typedef enum _ITC_LANE_USEAGE_TYPE_ -{ - ITC_LANE_USEAGE_UNKNOW = 0, //δ֪ - ITC_LANE_CARRIAGEWAY = 1, // - ITC_LANE_BUS = 2, //רõ - ITC_LANE_FAST = 3, //쳵 - ITC_LANE_SLOW = 4, // - ITC_LANE_MOTOR = 5, //Ħг - ITC_LANE_NONMOTOR = 6, //ǻ - ITC_LANE_REVERSE_LANE = 7, //򳵵 - ITC_LANE_BAN_TRUCKS = 8, // ֹ - ITC_LANE_MIX = 9, //ϳ - ITC_LANE_EMERGENCY = 10, //Ӧ - ITC_LANE_BAN_LEFT = 11, // 󳵵 - ITC_LANE_BAN_RIGHT = 12 // ҳ -}ITC_LANE_USEAGE_TYPE; - -//Ͷ -typedef enum _ITC_LANE_DIRECTION_TYPE_ -{ - ITC_LANE_DIRECTION_UNKNOW = 0, //δ֪ - ITC_LANE_LEFT = 1, //ת - ITC_LANE_STRAIGHT = 2, //ֱ - ITC_LANE_LEFT_STRAIGHT = 3, //ת+ֱ - ITC_LANE_RIGHT = 4, //ת - ITC_LANE_LEFT_RIGHT = 5, //ת+ת - ITC_LANE_RIGHT_STRAIGHT = 6, //ת+ֱ - ITC_LANE_LEFT_RIGHT_STRAIGHT = 7, //ת+ת+ֱ - ITC_LANE_LEFT_WAIT = 9, //ת - ITC_LANE_STRAIGHT_WAIT = 10, //ֱд - ITC_LANE_FORWARD = 11, //ʻ - ITC_LANE_BACKWARD = 12, //ʻ - ITC_LANE_BOTHWAY = 13, //˫ʻ - ITC_LANE_STRAIGHT_WAIT_RIGHT = 14 //ֱд + ת -}ITC_LANE_DIRECTION_TYPE; - -//ʻͶ -typedef enum _ITC_LANE_CAR_DRIVE_DIRECT_ -{ - ITC_LANE_DRIVE_UNKNOW = 0, //δ֪ - ITC_LANE_DRIVE_UP_TO_DOWN = 1, //ʻ() - ITC_LANE_DRIVE_DOWN_TO_UP = 2 //ʻ() -}ITC_LANE_CAR_DRIVE_DIRECT; - -//Ͷ -typedef enum _ITC_LINE_TYPE_ -{ - ITC_LINT_UNKNOW = 0, //δ֪ - ITC_LINE_WHITE = 1, //İʵ - ITC_LINE_STOP = 2, //ֹͣ - ITC_LINE_SINGLE_YELLOW = 3, // - ITC_LINE_DOUBLE_YELLOW = 4, //˫ - ITC_LINE_GUARD_RAIL = 5, //л - ITC_LINE_NO_CROSS = 6, //޷Խij - ITC_LINE_DOTTED = 7 // -}ITC_LINE_TYPE; - - -//Ƶ羯ṹ -typedef struct tagNET_ITC_LANE_VIDEO_EPOLICE_PARAM -{ - BYTE byLaneNO; //ij - BYTE bySensitivity; //Ȧȣ[1,100] - BYTE byEnableRadar;//״0-ã1- - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - NET_ITC_LANE_LOGIC_PARAM struLane; // - NET_ITC_VIOLATION_DETECT_PARAM struVioDetect; //Υ - NET_ITC_VIOLATION_DETECT_LINE struLine; //Υ - NET_ITC_POLYGON struPlateRecog; //ʶ - BYTE byRecordEnable;//¼־0-¼1-¼ - BYTE byRecordType;//¼ͣ0-Ԥ¼1-ʱ¼ - BYTE byPreRecordTime;//¼ƬԤ¼ʱ䣨Ĭ0λ - BYTE byRecordDelayTime;//¼Ƭʱʱ䣨Ĭ0λ - BYTE byRecordTimeOut;//¼ʱʱ䣨룩 - BYTE byCarSpeedLimit; //ֵλkm/h - BYTE byCarSignSpeed;//־٣λkm/h - BYTE bySnapPicPreRecord; //ץͼƬԤ¼ʱ㣻0-ĬֵڶͼƬ1-һͼƬ2-ڶͼƬ3-ͼƬ - NET_ITC_INTERVAL_PARAM struInterval;//ץļ20byte - BYTE byRes[36]; -}NET_ITC_LANE_VIDEO_EPOLICE_PARAM, *LPNET_ITC_LANE_VIDEO_EPOLICE_PARAM; - -//Ƶ羯ṹ -typedef struct tagNET_ITC_VIDEO_EPOLICE_PARAM -{ - BYTE byEnable; //Ƿã0-ã1- - BYTE byLaneNum; //ʶij - BYTE byLogicJudge;//Υж߼ֵΪ0-1- - BYTE byRes1; - NET_ITC_PLATE_RECOG_PARAM struPlateRecog; //ʶ - NET_ITC_TRAFFIC_LIGHT_PARAM struTrafficLight; //ͨźŵƲ - NET_ITC_LANE_VIDEO_EPOLICE_PARAM struLaneParam[MAX_ITC_LANE_NUM]; // - NET_ITC_LINE struLaneBoundaryLine; //߽ߣұ߳ı߽ߣ - NET_ITC_LINE struLeftLine; //תֽ - NET_ITC_LINE struRightLine; //תֽ - NET_ITC_LINE struTopZebraLine; //ϲ - NET_ITC_LINE struBotZebraLine; //² - BYTE byRes[32]; -}NET_ITC_VIDEO_EPOLICE_PARAM, *LPNET_ITC_VIDEO_EPOLICE_PARAM; - -typedef union tagNET_ITC_VIDEO_TRIGGER_PARAM_UNION -{ - DWORD uLen[1150]; - NET_ITC_VIDEO_EPOLICE_PARAM struVideoEP; //Ƶ羯 -}NET_ITC_VIDEO_TRIGGER_PARAM_UNION, *LPNET_ITC_VIDEO_TRIGGER_PARAM_UNION; - -typedef struct tagNET_ITC_VIDEO_TRIGGER_PARAM -{ - DWORD dwSize; - DWORD dwMode; //ģʽITC_TRIGGERMODE_TYPE - NET_ITC_VIDEO_TRIGGER_PARAM_UNION uVideoTrigger; //ģʽ - BYTE byRes[32]; -}NET_ITC_VIDEO_TRIGGER_PARAM, *LPNET_ITC_VIDEO_TRIGGER_PARAM; - -typedef struct tagNET_DVR_STATUS_DETECTCFG -{ - DWORD dwSize; //ṹ - BYTE byEnableTrigIODetect; //IO״̬⣬1-ǣ0- - BYTE byEnableFlashOutDetect; //ͬ״̬⣬1-ǣ0- - BYTE byEnableRS485Detect; //RS485״̬⣬1-ǣ0- - BYTE byEnableTrafficLightDetect;//ͨ״̬⣬1-ǣ0- - BYTE byRes[28]; -}NET_DVR_STATUS_DETECTCFG, *LPNET_DVR_STATUS_DETECTCFG; - -typedef enum _ITC_STATUS_DETECT_TYPE_ -{ - ITC_STATUS_DETECT_NULL = 0, //δ֪ - ITC_STATUS_DETECT_TRIGGERIO, //IO - ITC_STATUS_DETECT_FLASHOUT, //ͬ - ITC_STATUS_DETECT_RS485, //RS485 - ITC_STATUS_DETECT_TRIGGERTYPE, //ͣ - ITC_STATUS_DETECT_TRAFFICLIGHT_COLOR, //ͨƣɫ - ITC_STATUS_DETECT_TRAFFICLIGHT_TURN //ͨƣת -}ITC_STATUS_DETECT_TYPE; - -typedef struct tagNET_ITC_TRIGGERIO_INFO -{ - BYTE byTriggerIOIndex[MAX_IOIN_NUM]; //IO - BYTE byRes[40]; -}NET_ITC_TRIGGERIO_INFO, *LPNET_ITC_TRIGGERIO_INFO; - -typedef struct tagNET_ITC_FLASHOUT_INFO -{ - BYTE byFlashOutIndex[MAX_IOOUT_K_NUM]; //ͬ - BYTE byRes[40]; -}NET_ITC_FLASHOUT_INFO, *LPNET_ITC_FLASHOUT_INFO; - -typedef struct tagNET_ITC_SERIAL_CHECKINFO -{ - BYTE bySerialIndex[MAX_ITC_SERIALCHECK_NUM]; //485У0-Ч,1-Ч, bySerialIndex[0]ʾȷͷ, bySerialIndex[1]ʾȷβ - BYTE byRes[40]; -}NET_ITC_SERIAL_CHECKINFO, *LPNET_ITC_SERIAL_CHECKINFO; - -typedef struct tagNET_ITC_TRIGGERTYPE_INFO -{ - BYTE byTrigTypeIndex; //ֵ - BYTE byRes[47]; -}NET_ITC_TRIGGERTYPE_INFO, *LPNET_ITC_TRIGGERTYPE_INFO; - -//Ƶ羯 -typedef struct tagNET_ITC_TRAFFIC_LIGHT_COLOR -{ - BYTE byLeftLight;//תƣ0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byRightLight; //תƣ0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byStraightLight; //ֱеƣ0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byRes[45]; -}NET_ITC_TRAFFIC_LIGHT_COLOR, *LPNET_ITC_TRAFFIC_LIGHT_COLOR; - -//Ƶ羯 -typedef struct tagNET_ITC_TRAFFIC_LIGHT_TURN -{ - BYTE byLightType[MAX_ITC_LANE_NUM];// 0 ʾЧ1Ϊ 2Ϊ̵ 3 Ƶ 4ƶ - BYTE byRes[42]; -} NET_ITC_TRAFFIC_LIGHT_TURN, *LPNET_ITC_TRAFFIC_LIGHT_TURN; - -typedef union tagNET_ITC_STATUS_UNION -{ - BYTE uLen[48]; // - NET_ITC_TRIGGERIO_INFO struTrigIO; //IOں - NET_ITC_FLASHOUT_INFO struFlashOut; //ͬ - NET_ITC_SERIAL_CHECKINFO struSerial; // - NET_ITC_TRIGGERTYPE_INFO struTrigType; //ͣ - NET_ITC_TRAFFIC_LIGHT_COLOR struTrafficLightColor; //ͨƣɫӦITC_STATUS_DETECT_TRAFFICLIGHT_COLOR - NET_ITC_TRAFFIC_LIGHT_TURN struTrafficLightTurn;//ͨƣת򣩶ӦITC_STATUS_DETECT_TRAFFICLIGHT_TURN -}NET_ITC_STATUS_UNION, *LPNET_ITC_STATUS_UNION; - -typedef struct tagNET_ITC_STATUS_DETECT_RESULT -{ - ITC_STATUS_DETECT_TYPE dwStatusType;//״̬ͣITC_STATUS_DETECT_TYPE - NET_ITC_STATUS_UNION uStatusParam; //״̬ - DWORD dwHoldTime; //ʱ䣨λms - BYTE byRes[32]; -}NET_ITC_STATUS_DETECT_RESULT, *LPNET_ITC_STATUS_DETECT_RESULT; - -typedef struct tagNET_DVR_SETUPALARM_PARAM -{ - DWORD dwSize; - BYTE byLevel; //ȼ0-һȼߣ1-ȼУ2-ȼͣ - BYTE byAlarmInfoType; //ϴϢͣץĻ֧֣0-ϱϢNET_DVR_PLATE_RESULT1-±Ϣ(NET_ITS_PLATE_RESULT)2012-9-28 - BYTE byRetAlarmTypeV40; //0--NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO, 1--豸֧NET_DVR_ALARMINFO_V40򷵻NET_DVR_ALARMINFO_V40֧򷵻NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO - BYTE byRetDevInfoVersion; //CVRϴϢصṹ汾 0-COMM_ALARM_DEVICE 1-COMM_ALARM_DEVICE_V40 - BYTE byRetVQDAlarmType; //VQDϴͣ0-ϴNET_DVR_VQD_DIAGNOSE_INFO1-ϴNET_DVR_VQD_ALARM - //1-ʾⱨչ(INTER_FACE_DETECTION),0-ʾԭֽ֧ṹ(INTER_FACESNAP_RESULT) - BYTE byFaceAlarmDetection; - //Bit0- ʾǷϴͼƬ: 0-ϴ1-ϴ - //Bit1- ʾϴȷϻƣ0-1- - //Bit6- ʾ״ⱨ(eventType:radarDetection)Ƿʵʱϴ0-1-webʵʱʾ״Ŀ켣 - BYTE bySupport; - // - //bit0-Ƽ⣨IPC 0-1- - //bit1-ͳƣIPC 0-1- - //bit2-ȶͼͳƣIPC 0-1- - //bit3-ץģIPC 0-1- - //bit4-ԱȣIPC 0-1- - BYTE byBrokenNetHttp; - WORD wTaskNo; // (ϴNET_DVR_VEHICLE_RECOG_RESULTеֶdwTaskNoӦ ͬʱ ·ṹ NET_DVR_VEHICLE_RECOG_CONDеֶdwTaskNoӦ) - BYTE byDeployType; //ͣ0-ͻ˲1-ʵʱ - BYTE bySubScription; //ģλʾδIJϱ //ռλ - //Bit7-ƶ˳Ƿͼ0-ͼ(V30ϱ)1-ͼ(V40ϱ) - BYTE byRes1[2]; - BYTE byAlarmTypeURL;//bit0-ʾץıϴINTER_FACESNAP_RESULT0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨ж,ͬʱ豸Ҫ֧URLط񣬵ǰǡƴ洢 - //bit1-ʾEVENT_JSONͼƬݳͣ0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨жϣ - //bit2 - ȶ(ΪCOMM_SNAP_MATCH_ALARM)ͼƬϴͣ0 - ƴ䣬1 - URL - //bit3 - Ϊ(ΪCOMM_ALARM_RULE)ͼƬϴͣ0 - ƴ䣬1 - URL䣬ֶ豸Ƿ֧֣ӦӲڵǷ񷵻Ϊtrue - BYTE byCustomCtrl;//Bit0- ʾָ֧ʻͼϴ: 0-ϴ,1-ϴ -}NET_DVR_SETUPALARM_PARAM, *LPNET_DVR_SETUPALARM_PARAM; - -typedef struct tagNET_DVR_SETUPALARM_PARAM_V50 -{ - DWORD dwSize; - BYTE byLevel; //ȼ0-һȼߣ1-ȼУ2-ȼͣ - BYTE byAlarmInfoType; //ϴϢͣץĻ֧֣0-ϱϢNET_DVR_PLATE_RESULT1-±Ϣ(NET_ITS_PLATE_RESULT)2012-9-28 - BYTE byRetAlarmTypeV40; //0--NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO, 1--豸֧NET_DVR_ALARMINFO_V40򷵻NET_DVR_ALARMINFO_V40֧򷵻NET_DVR_ALARMINFO_V30NET_DVR_ALARMINFO - BYTE byRetDevInfoVersion; //CVRϴϢصṹ汾 0-COMM_ALARM_DEVICE 1-COMM_ALARM_DEVICE_V40 - BYTE byRetVQDAlarmType; //VQDϴͣ0-ϴNET_DVR_VQD_DIAGNOSE_INFO1-ϴNET_DVR_VQD_ALARM - //1-ʾⱨչ(INTER_FACE_DETECTION),0-ʾԭֽ֧ṹ(INTER_FACESNAP_RESULT) - BYTE byFaceAlarmDetection; - //Bit0- ʾǷϴͼƬ: 0-ϴ1-ϴ - //Bit1- ʾϴȷϻƣ0-1- - //Bit6- ʾ״ⱨ(eventType:radarDetection)Ƿʵʱϴ0-1-webʵʱʾ״Ŀ켣 - BYTE bySupport; - // - //bit0-Ƽ⣨IPC 0-1- - //bit1-ͳƣIPC 0-1- - //bit2-ȶͼͳƣIPC 0-1- - //bit3-ץģIPC 0-1- - //bit4-ԱȣIPC 0-1- - //bit5-JSON͸IPC 0-1- - //bit6-ȶͼԱͣʱͳϴ¼0-1- - //bit7-ȶͼͳϴ¼ȷϻƣ0-1- - BYTE byBrokenNetHttp; - WORD wTaskNo; // (ϴNET_DVR_VEHICLE_RECOG_RESULTеֶdwTaskNoӦ ͬʱ ·ṹ NET_DVR_VEHICLE_RECOG_CONDеֶdwTaskNoӦ) - BYTE byDeployType; //ͣ0-ͻ˲1-ʵʱ - BYTE bySubScription; //ģλʾδIJϱ //ռλBit7-ƶ˳Ƿͼ0-ͼ(V30ϱ)1-ͼ(V40ϱ) - //ӦV60汾 - //bit0-AID¼(COMM_ALARM_AID_V41) 0-1- - //bit1-TFS¼COMM_ALARM_TFS 0-1- - //bit2-TPSͳƹ¼COMM_ALARM_TPS_STATISTICS 0-1- - //bit3-Ϊ(COMM_ALARM_RULE) 0-1- - BYTE byBrokenNetHttpV60; - BYTE byRes1; - BYTE byAlarmTypeURL;//bit0-ʾץıϴINTER_FACESNAP_RESULT0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨ж,ͬʱ豸Ҫ֧URLط񣬵ǰǡƴ洢 - //bit1-ʾEVENT_JSONͼƬݳͣ0-ʾƴ䣬1-ʾURL䣨豸ֵ֧£豸֧ݾ屨жϣ - //bit2 - ȶ(ΪCOMM_SNAP_MATCH_ALARM)ͼƬϴͣ0 - ƴ䣬1 - URL - //bit3 - Ϊ(ΪCOMM_ALARM_RULE)ͼƬϴͣ0 - ƴ䣬1 - URL䣬ֶ豸Ƿ֧֣ӦӲڵǷ񷵻Ϊtrue - BYTE byCustomCtrl;//Bit0- ʾָ֧ʻͼϴ: 0-ϴ,1-ϴ - BYTE byRes4[128]; -}NET_DVR_SETUPALARM_PARAM_V50, *LPNET_DVR_SETUPALARM_PARAM_V50; - -typedef struct tagNET_ITC_VIDEO_TRIGGER_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwTriggerMode; //ƵģʽͣITC_TRIGGERMODE_TYPE - BYTE byRes[16]; -}NET_ITC_VIDEO_TRIGGER_COND, *LPNET_ITC_VIDEO_TRIGGER_COND; - -//ṹ -typedef struct tagNET_ITC_FTP_TYPE_COND -{ - DWORD dwChannel;//ͨ - BYTE byWorkMode; // 0-FTP1(FTP)1-FTP2(FTP) - BYTE byRes[7]; -}NET_ITC_FTP_TYPE_COND, *LPNET_ITC_FTP_TYPE_COND; - -//ýṹ -typedef struct tagNET_ITC_FTP_CFG -{ - DWORD dwSize; - BYTE byEnable; /*Ƿftpϴܣ0-1-*/ - BYTE byAddressType; //0-ʵipv4 ipv6ַ 1- - // unionServerʹʵʵַ - WORD wFTPPort; /*˿*/ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME];//ַ - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp;/*IPַ*/ //IPv4 IPv6ַ, 144ֽ - } struAddrIP; - }unionServer; //ʹṹͨbyAddressTypeֶαʾIPַ 64 - BYTE szUserName[NAME_LEN]; /*û*/ - BYTE szPassWORD[PASSWD_LEN]; /**/ - BYTE byRes4; // 0-FTP1(FTP)1-FTP2(FTP) - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼, - 1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼, - 3 = ʹ3Ŀ¼,4=ʹ4Ŀ¼*/ - BYTE byIsFilterCarPic;/*СͼǷϴ0-ϴ,1-ϴ*/ - BYTE byUploadDataType;//0-ȫ1-ڣ2-Υ (FTPʱĬѡȫ˫FTPʱֿ֧ڣΥµѡ) - NET_DVR_PICTURE_NAME struPicNameRule;/* ͼƬ */ - BYTE byTopDirMode; /*һĿ¼, 0x1 = ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹü,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - BYTE bySubDirMode; /*Ŀ¼, 0x1 =ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹü,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - BYTE byThreeDirMode; /*Ŀ¼, 0x1 = ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹü,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - BYTE byFourDirMode; /*ļĿ¼, 0x1 =ʹ豸, - 0x2 = ʹ豸,0x3 =ʹ豸ipַ - 0x4=ʹü,0x5=ʹʱ(), - 0x6=ʹʱ(),0x7=Υ,0x8=,0x9=ص, - 0xa=ͨ,0xb=ͨ,0xc=0xff=Զ*/ - /*ͼƬԶ PICNAME_ITEM_CUSTOM ʱ Ч*/ - BYTE szPicNameCustom[MAX_CUSTOMDIR_LEN];// (3.7Ver Ч) - BYTE szTopCustomDir[MAX_CUSTOMDIR_LEN]; /*ԶһĿ¼*/ - BYTE szSubCustomDir[MAX_CUSTOMDIR_LEN];/*ԶĿ¼*/ - BYTE szThreeCustomDir[MAX_CUSTOMDIR_LEN]; /*ԶĿ¼*/ - BYTE szFourCustomDir[MAX_CUSTOMDIR_LEN]; /*ԶļĿ¼*/ - BYTE byRes3[900]; //12չԤ ֧͸ -}NET_ITC_FTP_CFG, *LPNET_ITC_FTP_CFG; - -typedef struct tagNET_DVR_LATITUDE_PARAM -{ - BYTE byDegree;//[0,179] - BYTE byMinute;//[0,59] - BYTE bySec;//[0,59] - BYTE byRes; -}NET_DVR_LATITUDE_PARAM, *LPNET_DVR_LATITUDE_PARAM; - -typedef struct tagNET_DVR_LONGITUDE_PARAM -{ - BYTE byDegree;//[0,179] - BYTE byMinute;//[0,59] - BYTE bySec;//[0,59] - BYTE byRes; -}NET_DVR_LONGITUDE_PARAM, *LPNET_DVR_LONGITUDE_PARAM; - -typedef struct tagNET_DVR_GPS_DATACFG -{ - DWORD dwSize; - BYTE byGpsDataMode;//GPSݻȡ 0-Զ1-ֶ - BYTE byLongitudeType;// 0-1- - BYTE byLatitudeType;//γ 0-γ1-γ - BYTE byRes; - NET_DVR_LATITUDE_PARAM struLatitude; /*γ*/ - NET_DVR_LONGITUDE_PARAM struLongitude; /**/ - BYTE byRes1[128]; -}NET_DVR_GPS_DATACFG,*LPNET_DVR_GPS_DATACFG; - -typedef enum _VCA_DATABASE_TYPE_ -{ - DATABASE_NULL = 0, //δ֪ - DATABASE_SNAP, //ץݿ - DATABASE_FACE //ݿ -}VCA_DATABASE_TYPE; - -typedef struct tagNET_VCA_DATABASE_PARAM -{ - DWORD dwSize; - DWORD dwDataBaseID; //ݿID豸ɣʱЧ޸ĺɾʱЧ - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - BYTE byDataBaseName[NAME_LEN]; //ݿ - BYTE byAttribute[64]; //ݿ - BYTE byRes[20]; -}NET_VCA_DATABASE_PARAM, *LPNET_VCA_DATABASE_PARAM; - -typedef struct tagNET_VCA_FIND_DATABASE_COND -{ - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - BYTE byRes[12]; // -}NET_VCA_FIND_DATABASE_COND, *LPNET_VCA_FIND_DATABASE_COND; - -typedef struct tagNET_VCA_DELETE_DATABASE_COND -{ - DWORD dwSize; - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - BYTE byRes[64]; // -}NET_VCA_DELETE_DATABASE_COND, *LPNET_VCA_DELETE_DATABASE_COND; - -typedef struct tagNET_VCA_INQUIRE_SNAPDB_COND -{ - DWORD dwChannel;//ͨ - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - BYTE byRes[12]; // -}NET_VCA_INQUIRE_SNAPDB_COND, *LPNET_VCA_INQUIRE_SNAPDB_COND; - -typedef struct tagNET_VCA_INQUIRE_SNAPRECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_DVR_TIME struSnapTime; //ץʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_INQUIRE_SNAPRECORD_RESULT, *LPNET_VCA_INQUIRE_SNAPRECORD_RESULT; - -typedef union tagNET_VCA_DELETE_SNAPRECORD_COND_UNION -{ - NET_VCA_INQUIRE_SNAPDB_COND struAttribute; //ԱϢɾ - DWORD dwRecordID; //¼IDɾ -}NET_VCA_DELETE_SNAPRECORD_COND_UNION, *LPNET_VCA_DELETE_SNAPRECORD_COND_UNION; - -typedef enum _VCA_DELETE_RECORD_TYPE_ -{ - DELETE_RECORD_SINGLE = 0, //ɾ - DELETE_RECORD_BATCH //ɾ -}VCA_DELETE_RECORD_TYPE; - -typedef struct tagNET_VCA_DELETE_SNAPRECORD_COND -{ - VCA_DELETE_RECORD_TYPE dwDeleteType; //ɾ¼ - NET_VCA_DELETE_SNAPRECORD_COND_UNION uDeleteCond; //ɾ - BYTE byRes[40]; // -}NET_VCA_DELETE_SNAPRECORD_COND, *LPNET_VCA_DELETE_SNAPRECORD_COND; - -typedef enum _VCA_SEARCH_DATABASE_TYPE_ -{ - VCA_NORMAL_SEARCH_DATABASE = 0x00000000, //ͨ - VCA_ADVANCE_SEARCH_DATABASE = 0x00000001 //߼ -}VCA_SEARCH_DATABASE_TYPE; - -typedef struct tagNET_VCA_ADVANCE_SEARCH_DATABASE_COND -{ - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - DWORD dwFacePicID; //ͼƬID - BYTE byRes[36]; -}NET_VCA_ADVANCE_SEARCH_DATABASE_COND, *LPNET_VCA_ADVANCE_SEARCH_DATABASE_COND; - -typedef union tagNET_VCA_SEARCH_DATABASE_COND_UNION -{ - DWORD uLen[25]; - NET_VCA_REGISTER_PIC struNormalFind; //ͨ - NET_VCA_ADVANCE_SEARCH_DATABASE_COND struAdvanceFind; //߼ -}NET_VCA_SEARCH_DATABASE_COND_UNION, *LPNET_VCA_SEARCH_DATABASE_COND_UNION; - -typedef struct tagNET_VCA_SEARCH_DATABASE_PARAM -{ - DWORD dwSearchType; //ͣVCA_SEARCH_DATABASE_TYPE - NET_VCA_SEARCH_DATABASE_COND_UNION uSearchCond; // - BYTE byRes[16]; -}NET_VCA_SEARCH_DATABASE_PARAM, *LPNET_VCA_SEARCH_DATABASE_PARAM; - -typedef struct tagNET_VCA_SEARCH_SNAPDB_COND -{ - DWORD dwChannel; //ͨ - DWORD dwDataBaseID; //ݿID - NET_DVR_TIME struStartTime;//ʼʱ - NET_DVR_TIME struStopTime;//ʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - NET_VCA_SEARCH_DATABASE_PARAM struSearchParam; // - DWORD dwMaxSearchNum; // - WORD wThreshold; //ֵ0-100 - BYTE byRes[78]; // -}NET_VCA_SEARCH_SNAPDB_COND, *LPNET_VCA_SEARCH_SNAPDB_COND; - -typedef struct tagNET_VCA_SEARCH_SNAPRECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_DVR_TIME struSnapTime;//ץʱ - BYTE bySex; //Ա0-ã1-У2-Ů - BYTE byRes1[3]; // - BYTE byStartBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ʼ£磺201106 - BYTE byEndBirthDate[MAX_HUMAN_BIRTHDATE_LEN]; //ֹ£201106 - BYTE byAttribute1[NAME_LEN]; //1 - BYTE byAttribute2[NAME_LEN]; //2 - float fSimilarity; //ƶȣ[0.001,1] - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_SEARCH_SNAPRECORD_RESULT, *LPNET_VCA_SEARCH_SNAPRECORD_RESULT; - -typedef struct tagNET_VCA_DATARECORD_INFO -{ - DWORD dwSize; //ṹС - DWORD dwRecordID; //¼IDʱЧ޸ʱЧ - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - NET_VCA_REGISTER_PIC struRegisterPic; //ԱͼƬϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - BYTE byRes[32]; // -}NET_VCA_DATARECORD_INFO, *LPNET_VCA_DATARECORD_INFO; - -typedef struct tagNET_VCA_FAST_DATARECORD_INFO -{ - DWORD dwSize; //ṹС - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - DWORD dwImageLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pImage; //ͼ -}NET_VCA_FAST_DATARECORD_INFO, *LPNET_VCA_FAST_DATARECORD_INFO; - -typedef struct tagNET_VCA_INQUIRE_DATARECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_INQUIRE_DATARECORD_RESULT, *LPNET_VCA_INQUIRE_DATARECORD_RESULT; - -typedef struct tagNET_VCA_SEARCH_DATARECORD_RESULT -{ - DWORD dwSize; //ṹС - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - NET_VCA_HUMAN_ATTRIBUTE struAttribute; //ԱϢ - BYTE byRemark1[NAME_LEN]; //עϢ1 - BYTE byRemark2[64]; //עϢ2 - float fSimilarity; //ƶȣ[0.001,1] - DWORD dwFacePicID; //ͼID - DWORD dwFacePicLen; //ͼݳ - BYTE byRes[80]; // - BYTE *pFacePic; //ͼ -}NET_VCA_SEARCH_DATARECORD_RESULT, *LPNET_VCA_SEARCH_DATARECORD_RESULT; - -typedef struct tagNET_VCA_DATARECORD_COND -{ - DWORD dwDataBaseID; //ݿID - NET_VCA_HUMANATTRIBUTE_COND struAttribute; //ԱϢ - BYTE byRes[80]; // -}NET_VCA_DATARECORD_COND, *LPNET_VCA_DATARECORD_COND; - -typedef union tagNET_VCA_DELETE_RECORD_COND_UNION -{ - NET_VCA_HUMANATTRIBUTE_COND struAttribute; //ԱϢɾ - DWORD dwRecordID; //¼IDɾ -}NET_VCA_DELETE_RECORD_COND_UNION, *LPNET_VCA_DELETE_RECORD_COND_UNION; - -typedef struct tagNET_VCA_DELETE_RECORD_COND -{ - VCA_DELETE_RECORD_TYPE dwDeleteType; //ɾ¼ - NET_VCA_DELETE_RECORD_COND_UNION uDeleteCond; //ɾ - BYTE byRes[40]; // -}NET_VCA_DELETE_RECORD_COND, *LPNET_VCA_DELETE_RECORD_COND; - -typedef struct tagNET_VCA_SEARCH_FACEDB_COND -{ - DWORD dwDataBaseID; //ݿID - NET_VCA_HUMANATTRIBUTE_COND struAttribute; //ԱϢ - NET_VCA_SEARCH_DATABASE_PARAM struSearchParam; // - DWORD dwMaxSearchNum; // - WORD wThreshold; //ֵ0-100 - BYTE byRes[78]; // -}NET_VCA_SEARCH_FACEDB_COND, *LPNET_VCA_SEARCH_FACEDB_COND; - -typedef struct tagNET_VCA_FIND_MATCHPIC_COND -{ - DWORD dwSize; - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - BYTE byRes[64]; // -}NET_VCA_FIND_MATCHPIC_COND, *LPNET_VCA_FIND_MATCHPIC_COND; - -typedef struct tagNET_VCA_FIND_MATCHPIC_RESULT -{ - DWORD dwSize; - DWORD dwDataBaseType; //ݿͣVCA_DATABASE_TYPE - DWORD dwDataBaseID; //ݿID - DWORD dwRecordID; //¼ID - DWORD dwPicLen; //ͼƬ - BYTE byRes[64]; // - BYTE *pPicBuffer; //ͼƬָ -}NET_VCA_FIND_MATCHPIC_RESULT, *LPNET_VCA_FIND_MATCHPIC_RESULT; - -typedef struct tagNET_DVR_REMOTECONTROL_ALARM_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - WORD wDealyTime; //ӳʱ䣬λs - BYTE byRes[30]; -}NET_DVR_REMOTECONTROL_ALARM_PARAM, *LPNET_DVR_REMOTECONTROL_ALARM_PARAM; - -typedef struct tagNET_DVR_REMOTECONTROL_STUDY_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[16]; -}NET_DVR_REMOTECONTROL_STUDY_PARAM, *LPNET_DVR_REMOTECONTROL_STUDY_PARAM; - -typedef struct tagNET_DVR_WIRELESS_ALARM_STUDY_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byIndex; //߱ţ1-8 - BYTE byRes[15]; -}NET_DVR_WIRELESS_ALARM_STUDY_PARAM, *LPNET_DVR_WIRELESS_ALARM_STUDY_PARAM; - -#define MAX_AUX_ALARM_NUM 8 // -#define MAX_WIRELESS_ALARM_NUM 8 //߱ -typedef enum _IPC_AUX_ALARM_TYPE_ -{ - IPC_AUXALARM_UNKNOW = 0, //δ֪ - IPC_AUXALARM_PIR = 1, //PIR - IPC_AUXALARM_WIRELESS = 2, //߱ - IPC_AUXALARM_CALLHELP = 3 //ȱ -}IPC_AUX_ALARM_TYPE; - -typedef struct tagNET_DVR_AUDIO_LIMIT_ALARM_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - DWORD dwDecibelLimit; //ֱ澯ֵ - NET_DVR_HANDLEEXCEPTION_V30 struHandleException; //쳣ʽ - BYTE byRes2[24]; -}NET_IPC_AUDIO_LIMIT_ALARM_CFG,*LPNET_IPC_AUDIO_LIMIT_ALARM_CFG; - -typedef struct tagNET_DVR_BUTTON_DOWN_ALARM_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struHandleException; //쳣ʽ - BYTE byRes2[24]; -}NET_IPC_BUTTON_DOWN_ALARM_CFG,*LPNET_IPC_BUTTON_DOWN_ALARM_CFG; - -typedef struct tagNET_IPC_PIR_ALARMCFG -{ - BYTE byAlarmName[NAME_LEN]; /* */ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[64]; -}NET_IPC_PIR_ALARMCFG, *LPNET_IPC_PIR_ALARMCFG; - -typedef struct tagNET_IPC_PIR_ALARMCFG_EX -{ - BYTE byAlarmName[NAME_LEN]; /* */ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; - BYTE byRes[1464]; -}NET_IPC_PIR_ALARMCFG_EX, *LPNET_IPC_PIR_ALARMCFG_EX; - -//ȱ -typedef struct tagNET_IPC_CALLHELP_ALARMCFG -{ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byRes1[3]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[64]; -}NET_IPC_CALLHELP_ALARMCFG, *LPNET_IPC_CALLHELP_ALARMCFG; - -typedef struct tagNET_IPC_SINGLE_WIRELESS_ALARMCFG -{ - BYTE byAlarmName[NAME_LEN]; /* */ - BYTE byAlarmHandle; /* Ƿ 0- 1-*/ - BYTE byID; //߱ID1-8 - BYTE byRes1[2]; - NET_DVR_HANDLEEXCEPTION_V30 struAlarmHandleType; /* ʽ */ - BYTE byRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ,Ϊ1ʾͨ - BYTE byRes[32]; -}NET_IPC_SINGLE_WIRELESS_ALARMCFG, *LPNET_IPC_SINGLE_WIRELESS_ALARMCFG; - -typedef struct tagNET_IPC_WIRELESS_ALARMCFG -{ - NET_IPC_SINGLE_WIRELESS_ALARMCFG struWirelessAlarm[MAX_WIRELESS_ALARM_NUM]; //߱ - BYTE byRes[32]; -}NET_IPC_WIRELESS_ALARMCFG, *LPNET_IPC_WIRELESS_ALARMCFG; - -typedef union tagNET_IPC_AUX_ALARMCFG_UNION -{ - DWORD uLen[472]; - NET_IPC_PIR_ALARMCFG_EX struPIRAlarm; //PIR - NET_IPC_WIRELESS_ALARMCFG struWirelessAlarm; //߱ - NET_IPC_CALLHELP_ALARMCFG struCallHelpAlarm; //ȱ -}NET_IPC_AUX_ALARMCFG_UNION, *LPNET_IPC_AUX_ALARMCFG_UNION; - -typedef struct tagNET_IPC_SINGLE_AUX_ALARMCFG -{ - BYTE byAlarmType; //ͣIPC_AUX_ALARM_TYPE - BYTE byRes1[3]; - NET_IPC_AUX_ALARMCFG_UNION uAlarm; // - BYTE byRes[16]; -}NET_IPC_SINGLE_AUX_ALARMCFG, *LPNET_IPC_SINGLE_AUX_ALARMCFG; - -typedef struct tagNET_IPC_AUX_ALARMCFG -{ - DWORD dwSize; - NET_IPC_SINGLE_AUX_ALARMCFG struAlarm[MAX_AUX_ALARM_NUM]; // - BYTE byRes[64]; -}NET_IPC_AUX_ALARMCFG, *LPNET_IPC_AUX_ALARMCFG; - -typedef union tagNET_IPC_AUXALARM_UPLOAD_UNION -{ - DWORD uLen[66]; - NET_IPC_PIR_ALARMCFG struPIRAlarm; //PIR - NET_IPC_SINGLE_WIRELESS_ALARMCFG struWirelessAlarm; //߱ - NET_IPC_CALLHELP_ALARMCFG struCallHelpAlarm; //ȱ -}NET_IPC_AUXALARM_UPLOAD_UNION, *LPNET_IPC_AUXALARM_UPLOAD_UNION; - -typedef struct tagNET_IPC_AUXALARM_RESULT -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byAlarmType; //ͣIPC_AUX_ALARM_TYPE - BYTE byRes1[3]; - NET_IPC_AUXALARM_UPLOAD_UNION struAuxAlarm; // - BYTE byDeviceID[NAME_LEN];/*豸ID*/ - BYTE byRes[32]; -}NET_IPC_AUXALARM_RESULT, *LPNET_IPC_AUXALARM_RESULT; - -typedef struct tagNET_DVR_PREVIEW_DISPLAYCFG -{ - DWORD dwSize; // ṹС - BYTE byCorrectMode; //Уģʽ0-У1-оƬУ - BYTE byMountType; //װͣ0-1-棬2-ǽ - /* - 0-ģʽ1+ȫ+3PTZ (ԭзʵʱģʽһ) - 1-ģʽ2+4PTZ(ԭʵʱģʽһ) - 2-ģʽ3()+()+3PTZ - 3-ģʽ4ȫչ(+) - 4-ģʽ54PTZ - 5-ģʽ6ۣ - 6-ģʽ7: γȫչģʽ - 7-ģʽ8: 4PTZںģʽ - */ - BYTE byRealTimeOutput; //ʵʱ0 -ã1- - BYTE byRes[61]; -}NET_DVR_PREVIEW_DISPLAYCFG, *LPNET_DVR_PREVIEW_DISPLAYCFG; - -typedef struct tagNET_DVR_REMOTECONTROL_PTZ_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPTZCommand; //PTZ - NET_VCA_POINT struVcaPoint; //Ԥ - DWORD dwSpeed; //ƵٶȣȡֵΧ[0,7] - DWORD dwStop; //ֹͣʼ0-ʼ1-ֹͣ - BYTE byRes[32]; -}NET_DVR_REMOTECONTROL_PTZ_PARAM, *LPNET_DVR_REMOTECONTROL_PTZ_PARAM; - -typedef struct tagNET_DVR_PRESET_POINT_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPTZPresetCmd; //Ԥõ - NET_VCA_POINT struVcaPoint; //Ԥ - DWORD dwPresetIndex; //Ԥõţ1ʼ֧255Ԥõ - WORD wZoomCoordinate;///<Ԥõ㴰Zoomֵ - BYTE byRes[30]; -}NET_DVR_PRESET_POINT_PARAM, *LPNET_DVR_PRESET_POINT_PARAM; - -typedef struct tagNET_DVR_PTZ_CRUISE_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPTZCruiseCmd; //Ѳ - NET_VCA_POINT struVcaPoint; //Ԥ - WORD wCruiseRoute; //Ѳ·֧32·Ŵ1ʼ - WORD wCruisePoint; //Ѳ㣬֧32㣨Ŵ1ʼ - WORD wInput; //ͬѲʱֵͬԤõ(255)ʱ(255)ٶ(40) - WORD wZoomCoordinate;///<Ԥõ㴰Zoomֵ - BYTE byRes[32]; -}NET_DVR_PTZ_CRUISE_PARAM, *LPNET_DVR_PTZ_CRUISE_PARAM; - -typedef struct tagNET_DVR_WPS_PARAM -{ - DWORD dwSize; - BYTE byEnableWps; //WPS0-1- - BYTE byRes[31]; -}NET_DVR_WPS_PARAM, *LPNET_DVR_WPS_PARAM; - -typedef struct tagNET_DVR_PIN_PARAM -{ - DWORD dwSize; - BYTE byPIN[8]; //PIN - BYTE byRes[32]; -}NET_DVR_PIN_PARAM, *LPNET_DVR_PIN_PARAM; - -typedef struct tagNET_DVR_WPS_CONNECT_PARAM_ -{ - DWORD dwSize; - BYTE byConnectType; //WPSӷʽ0-PBC,1-AP PIN - BYTE byRes1[3]; - BYTE byPIN[8]; //PIN(WPSӷʽΪAP PINʱЧ) - BYTE byEssid[IW_ESSID_MAX_SIZE]; //essid(WPSӷʽΪAP PINʱЧ) - BYTE byRes[32]; -}NET_DVR_WPS_CONNECT_PARAM, *LPNET_DVR_WPS_CONNECT_PARAM; - -typedef struct tagNET_DVR_DECODER_JOINT_PARAM -{ - DWORD dwSize; // ṹС - BYTE byJointed; // 0 ûй 1 Ѿ - BYTE byRes1[3]; // ֽ - NET_DVR_IPADDR struIP; // IPַ - WORD wPort; // Ķ˿ں - WORD wChannel; // Ľͨ - BYTE sDeviceName[NAME_LEN]; //豸 - BYTE sChanName[NAME_LEN]; //Ľͨ - BYTE byRes2[32]; // ֽ -}NET_DVR_DECODER_JOINT_PARAM, *LPNET_DVR_DECODER_JOINT_PARAM; - -typedef struct tagNET_DVR_PIC_VIEW_PARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struCuIp; //CUIPַ - WORD wPort;/*CU˿*/ - BYTE bySourceIndex; //źԴͨ - BYTE byRes[29]; -}NET_DVR_PIC_VIEW_PARAM, *LPNET_DVR_PIC_VIEW_PARAM; - -#define DVCS_DEVICEID_LEN 16 -//2012-03-13ͼƬעϢص -typedef struct tagNET_DVR_PICVIEW_CALLBACKPARAM -{ - DWORD dwUserID; - BYTE sDeviceID[DVCS_DEVICEID_LEN]; - LONG nPicViewHandle; //Ծ - WORD wSignalIndex; //źԴ - WORD wHeadLen; //ļͷ ˽еļͷ40 - BYTE byHeadBuf[100]; //ļͷ - BYTE byRes2[32]; -}NET_DVR_PICVIEW_CALLBACKPARAM, *LPNET_DVR_PICVIEW_CALLBACKPARAM; - -#define DEVICEID_LEN 32 - -typedef struct tagNET_DVR_DEVICEID_INFO -{ - DWORD dwSize; - DWORD dwDeviceIndex; //豸 - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes1[27]; - DWORD dwChan; //ͨ - DWORD dwInputSignalIndex; //źԴʽʹ - BYTE byRes2[60]; -}NET_DVR_DEVICEID_INFO, *LPNET_DVR_DEVICEID_INFO; - - -typedef struct tagNET_DVR_SINGLE_NETPARAM -{ - DWORD dwSize; - BYTE byUseDhcp; //ǷDHCP 0xff-Ч 0- 1- - BYTE byRes1[3]; - NET_DVR_IPADDR struDevIP; // 豸IPַ - NET_DVR_IPADDR struSubnetMask; // 豸 - NET_DVR_IPADDR struGateway; // 豸 - WORD wDevPort; // 豸˿ں - BYTE byMACAddr[MACADDR_LEN]; // MAC ַ(ֻܻȡ) - BYTE byRes2[16]; -} NET_DVR_SINGLE_NETPARAM, *LPNET_DVR_SINGLE_NETPARAM; - -typedef struct tagNET_DVR_CHAN_INFO -{ - DWORD dwSize; - BYTE byValid; //0-Ч 1-Ч - BYTE byRes1[3]; - BYTE sChanName[NAME_LEN]; //ͨ - NET_DVR_COLOR struVideoColor; //źԴɫ - WORD wResolutionX; //ǰֱ--- - WORD wResolutionY; //ǰֱ--- - BYTE byRes2[40]; -} NET_DVR_CHAN_INFO, *LPNET_DVR_CHAN_INFO; - -//豸Ϣ -typedef struct tagNET_DVR_CODEDEV_INFO -{ - NET_DVR_CHAN_INFO struChanInfo[MAX_CHANNUM/*16*/];/*豸ͨϢ*/ -} NET_DVR_CODEDEV_INFO, *LPNET_DVR_CODEDEV_INFO; - -//豸Ϣ -typedef struct tagNET_DVR_DECODEDEV_INFO -{ - BYTE byRes[1408]; -} NET_DVR_DECODEDEV_INFO, *LPNET_DVR_DECODEDEV_INFO; - -//źԴϢ -typedef struct tagNET_DVR_NETSIGNAL_INFO -{ - DWORD dwSize; - BYTE byDevName[NAME_LEN/*32*/];//źԴ - NET_DVR_PU_STREAM_CFG struPuStream; - BYTE byValid; //ǷЧ0-ЧɾʱΪ0 1-ЧӺ޸ʱΪ1/ - BYTE byRes1[3]; // - BYTE sGroupName[NAME_LEN/*32*/];//źԴźԴ - WORD wResolutionX; //ǰֱ--- - WORD wResolutionY; //ǰֱ--- - BYTE byRes2[24]; -}NET_DVR_NETSIGNAL_INFO, *LPNET_DVR_NETSIGNAL_INFO; - -typedef struct tagNET_DVR_NETSIGNALDEV_INFO -{ - NET_DVR_NETSIGNAL_INFO struDevInfo; - BYTE byRes1[816]; -}NET_DVR_NETSIGNALDEV_INFO, *LPNET_DVR_NETSIGNALDEV_INFO; - -typedef union tagNET_DVR_DIFFDEV_INFO -{ - NET_DVR_CODEDEV_INFO struCodeDevInfo; //豸Ϣ - NET_DVR_DECODEDEV_INFO struDecodeDevInfo; //豸Ϣ - NET_DVR_NETSIGNALDEV_INFO struNetSignalInfo; //źԴϢ -} NET_DVR_DIFFDEV_INFO, *LPNET_DVR_DIFFDEV_INFO; - -/*ע豸Ϣ*/ -typedef enum tagNET_DVCS_DEVICE_TYPE -{ - NET_DVR_BNC_PROC = 1, /* BNC */ - NET_DVR_RGB_PROC, /* RGB */ - NET_DVR_STP_PROC, /* ת봦 */ - NET_DVR_DISP_PROC, /* ʾ */ - NET_DVR_NETSIGNAL, //źԴ - NET_DVR_SDI_PROC, //SDI - NET_DVR_BIW_PROC, //8·BNC - NET_DVR_DON_PROC, //ʾ - NET_DVR_TVI_PROC, //TVI - NET_DVR_DI2_PROC, //2·DVI봦 - NET_DVR_DO2_PROC, //2·DVI豸 - NET_DVR_UHDI_PROC, //DP/HDMI 1·4K豸 - NET_DVR_YI2_PROC, //·YPbPr - NET_DVR_HI2_PROC, // HDMIڵ(2·) - NET_DVR_VI2_PROC, // VGAڵ(2·) - NET_DVR_SI2_PROC, // SDIڵ(2·) - NET_DVR_HO2_PROC, // HDMIڵ(2·) - NET_DVR_S24G_PROC, // C20Nרǧ׽(24·) - NET_DVR_S24X_PROC // C20Nר׽(24·) -}NET_DVCS_DEVICE_TYPE; - -typedef struct tagNET_DVR_SINGLE_DEV_INFO -{ - DWORD dwSize; - DWORD dwSoftVersion; /*豸汾(ֻܻȡ) 8λΪ汾ţθ8λΪΰ汾ţ16λΪ޸汾*/ - DWORD dwSoftwareBuildDate; //汾Build, 0xYYYYMMDD - BYTE byUseInSys; /*Ƿϵͳʹ*/ - BYTE byDevStatus; /*豸ǰ״̬0-ߣ1-(ֻܻȡ)*/ - BYTE byDeviceType; /*豸(ֻܻȡ) DEVICE_TYPE*/ - BYTE byRes1[17]; - BYTE sDevName[NAME_LEN]; /*豸*/ - NET_DVR_SINGLE_NETPARAM struEtherNet[MAX_ETHERNET]; /*豸*/ - BYTE sSerialNumber[SERIALNO_LEN]; /*豸к*/ - NET_DVR_DIFFDEV_INFO struSubDevInfo; /*豸Ϣ*/ - DWORD dwDeviceIndex; //豸ţC20NY10豸ȫֱ - DWORD dwSubBoardNo; //ֲʽ豸ӰţC20NY10豸ȫֱţ1ʼΪ0ʱֶЧӰĬΪ1 - BYTE bySubSysNo; //ֲʽ豸ӰϵϵͳţӰȫ֣1ʼΪ0ʱֶЧϵͳĬΪ1 - BYTE byRes3[3]; - WORD wStartAudioTalkChanNo; //ֲʽ豸Խʼͨ - WORD wAudioTalkChanNum; //ֲʽ豸Խͨŵ - BYTE byRes2[36]; -} NET_DVR_SINGLE_DEV_INFO, *LPNET_DVR_SINGLE_DEV_INFO; - -typedef struct tagNET_DVR_DEVLIST -{ - DWORD dwSize; - DWORD dwDevNums;//豸صķֲʽ豸 - BYTE *pBuffer; - BYTE byRes1[3]; - DWORD dwBufLen;//ָ볤ȣ - BYTE byRes2[64]; -} NET_DVR_DEVLIST,*LPNET_DVR_DEVLIST; - -typedef struct tagNET_DVR_DEV_BASE_INFO -{ - DWORD dwSize; - BYTE byEnable; /*Ƿϵͳʹ*/ - BYTE byDeviceType; /*豸(ֻܻȡ)*/ - BYTE byRes1[2]; - BYTE sDevName[NAME_LEN]; /*豸*/ - BYTE byRes2[24]; -} NET_DVR_DEV_BASE_INFO,*LPNET_DVR_DEV_BASE_INFO; - -/*Ϣ*/ -typedef struct tagNET_DVR_NETPARAM -{ - DWORD dwSize; - NET_DVR_SINGLE_NETPARAM struEtherNet[MAX_ETHERNET];//̫ - BYTE byRes[64]; -} NET_DVR_NETPARAM, *LPNET_DVR_NETPARAM; - -// Ļ豸ϵ(16ֽ) -typedef struct tagNET_DVR_DISP_SCREEN -{ - DWORD dwSize; - WORD wScreenID; // ĻID, IDŴ1ʼ - BYTE byWallNo; // ǽ - BYTE byRes1; // 1 - DWORD dwDeviceIndex; // 豸 - BYTE byRes2[16]; // 2 -}NET_DVR_DISP_SCREEN, *LPNET_DVR_DISP_SCREEN; - -// Ļ -typedef struct tagNET_DVR_TEXTSHOW -{ - DWORD dwSize; - BYTE byShowText;//Ƿʾ֣1-ʾ֣0-ʾ - BYTE byRes[35]; -}NET_DVR_TEXTSHOW, *LPNET_DVR_TEXTSHOW; - -typedef struct tagNET_DVR_SCREENLIST -{ - DWORD dwSize; - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes[11]; - DWORD dwScreenNums;//豸صӳʾ - BYTE *pBuffer; - DWORD dwBufLen;//ָ볤ȣ -} NET_DVR_SCREENLIST,*LPNET_DVR_SCREENLIST; - -typedef struct tagNET_DVR_OPERATE_DEVICE -{ - DWORD dwSize; - DWORD dwSubCommand; //豸1-豸ʼ2-ֹͣ - DWORD dwDeviceIndex;//豸 - BYTE byRes[44]; -}NET_DVR_OPERATE_DEVICE, *LPNET_DVR_OPERATE_DEVICE; - -//豸 -typedef struct tagNET_DVR_UPGRADE_STATE -{ - DWORD dwProgress; // 0-100 - BYTE byState; //ȣ1- 2- 3-ʧ - BYTE byRes2[31]; -}NET_DVR_UPGRADE_STATE, *LPNET_DVR_UPGRADE_STATE; -typedef void (CALLBACK *DVCS_UPGRADESTATE_CB)(LONG nUpgradeHandle, BYTE *pBuffer, DWORD dwBufSize, void* pUser); - -typedef enum -{ - NET_DVR_DATA_BMP = 0, - NET_DVR_START_CALLBACK, - NET_DVR_STREAM_SYSHEAD, - NET_DVR_STREAM_DATA -}PIC_PREVIEW_DATATYPE; - -typedef struct tagNET_DVR_START_PIC_VIEW_INFO -{ - DWORD dwSize; - DWORD dwSignalIndex; //źԴţòڴ豸ֵΪ0 - DWORD dwDeviceIndex;//豸 - BYTE byRes1[12]; - BYTE byChanIndex; //ͨ - BYTE byRes2[3]; - //Ƶۺƽ̨Բ - DWORD dwScreenNum; //ţ㿪ʼ - DWORD dwLayer; //ͼţ㿪ʼ - DWORD dwResolution;//Էֱ,1-QCIF,2-CIF,3-D1 - BYTE byFrame;//֡ʣλ֡/ - BYTE bySupportStreamView; //ͻǷ֧ԣ0-֧֣1-֧ - BYTE byRes3[14]; -}NET_DVR_START_PIC_VIEW_INFO, *LPNET_DVR_START_PIC_VIEW_INFO; - -typedef struct tagNET_DVR_DVCS_STATE_ALARM -{ - DWORD dwSize; - BYTE byAlarmType; // ,1-豸ߣ2-豸 3- 4- 5-Ա½ 6-Ԥʼ,7-Ԥ8-ֱʱ仯9-ͼиʧܣ10-豸Դ㣬11-¶쳣 12-ڴСźԴֱʲ*/ - BYTE byDeviceType; // 豸 NET_DVCS_DEVICE_TYPE */ - BYTE byWallNo; // ǽţ1ʼ 0ʾЧ - BYTE byDeviceChanIndex; // 豸ͨţ0ʾЧֵʾͨ - DWORD dwDeviceIndex; // 豸ţ 0ʾЧ - WORD wResolutionX; // ֱ- 0ʾЧ - WORD wResolutionY; // ֱ- 0ʾЧ - WORD wTemperature; // 豸¶ λ϶, 0ʾЧ - BYTE byRes[86]; -}NET_DVR_DVCS_STATE_ALARM, *LPNET_DVR_DVCS_STATE_ALARM; - -typedef struct tagNET_DVR_PIC_ADJUST -{ - DWORD dwSize; - BYTE bySubCommand; //궨DECODEPIC_LEFTADJUST - BYTE byScale; //ֵ - BYTE byPictureProportion; //ͼű 0-Ч 1-4:3, 2-16:9 - BYTE byRes[29]; -}NET_DVR_PIC_ADJUST, *LPNET_DVR_PIC_ADJUST; - -typedef struct tagNET_DVR_PICTURE_PARAM -{ - DWORD dwSize; - BYTE byControlCommand; //л1-ʾ2-أ3-ȫɾGIFͼƬ - BYTE byUseType; //ͼƬͣ1-OSD 2-ͼ3-GIF - BYTE byWallNo; //ǽǽţ1ʼ - BYTE byPictureNo; //ͼƬ - BYTE byRes[64]; -}NET_DVR_PICTURE_PARAM, *LPNET_DVR_PICTURE_PARAM; - -// 76SP豸POEͨӷʽ -typedef struct tagNET_DVR_POE_CHANNEL_ADD_MODE -{ - DWORD dwSize; //ṹС - BYTE byAddMode; //ӷʽ 0: 弴 1: ֶ - BYTE byRes1[127]; // -}NET_DVR_POE_CHANNEL_ADD_MODE, *LPNET_DVR_POE_CHANNEL_ADD_MODE; - -#define MAX_ESATA_NUM 16 -#define MAX_MINISAS_NUM 96 - -typedef struct tagNET_DVR_ESATA_MINISAS_USAGE -{ - DWORD dwSize; - BYTE byESATAUsage[MAX_ESATA_NUM]; // ʾڼeSATA0Ĭϱ 1Ĭ¼ - BYTE byMiniSASUsage[MAX_MINISAS_NUM]; // ʾڼminiSAS0Ĭϱ 1Ĭ¼ - BYTE byRes[32]; -}NET_DVR_ESATA_MINISAS_USAGE, *LPNET_DVR_ESATA_MINISAS_USAGE; - -#define MAX_DISK_NUM 128 - -typedef struct tagNET_DVR_BACKUP_LOG_PARAM -{ - DWORD dwSize; - BYTE byDiskDesc[DESC_LEN_32]; //ݴ - BYTE byHardDisk[MAX_DISK_NUM]; //豸ݵӲ̺ţݼȡǰ - BYTE byBackupHardDiskNum; //豸ݵӲ̸ - BYTE byContinue; //Ƿݣ0-1- - BYTE byAllLogBackUp ; /*Ƿȫݣ0-̺űݣ1-־Ϊ1ʱ豸ݵĴ̺źӲ̸Ч*/ - BYTE byRes[29]; -}NET_DVR_BACKUP_LOG_PARAM, *LPNET_DVR_BACKUP_LOG_PARAM; - -typedef struct tagNET_DVR_DIGITAL_CHANNEL_STATE -{ - DWORD dwSize; - BYTE byDigitalAudioChanTalkState[MAX_CHANNUM_V30]; //ʾͨĶԽ״̬ 0-δʹã1-ʹ, 0xffЧ - BYTE byDigitalChanState[MAX_CHANNUM_V30]; /*ͨ״̬ byDigitalChanErrState[0] - ʾһֵͨʾ״̬룬NET_SDK_DIGITAL_CHANNEL_STATUSԴƣ0ʾЧ*/ - BYTE byDigitalAudioChanTalkStateEx[MAX_CHANNUM_V30*3]; //ʾͨĶԽ״̬ӵMAX_CHANNUM_V30+1 MAX_CHANNUM_V30*4 0-δʹã1-ʹ, 0xffЧ - BYTE byDigitalChanStateEx[MAX_CHANNUM_V30*3]; /*ͨ״̬ byDigitalChanErrStateEx[0]ʾڴӵMAX_CHANNUM_V30+1ֵͨʾ״̬룬NET_SDK_DIGITAL_CHANNEL_STATUSԴƣ0ʾЧ*/ - BYTE byAnalogChanState[MAX_ANALOG_CHANNUM];//ʾģͨǷ,0-,1- - BYTE byRes[32]; -}NET_DVR_DIGITAL_CHANNEL_STATE, *LPNET_DVR_DIGITAL_CHANNEL_STATE; - -//ͨ״̬ -typedef enum -{ - NET_SDK_DC_STATUS_CONNECTED = 1, // - NET_SDK_DC_STATUS_CONNECTING, // - NET_SDK_DC_STATUS_BAND_WIDTH_EXCEED, //ϵͳ - NET_SDK_DC_STATUS_DOMAIN_ERROR, // - NET_SDK_DC_STATUS_CHANNEL_ERROR, //ͨŴ - NET_SDK_DC_STATUS_ACCOUNT_ERROR, //û - NET_SDK_DC_STATUS_STREAM_TYPE_NOT_SUPPORT, //Ͳ֧ - NET_SDK_DC_STATUS_CONFLICT_WITH_DVR, //豸IPַͻ - NET_SDK_DC_STATUS_CONFLICT_WITH_IPC, //IPC IPַͻ - NET_SDK_DC_STATUS_NETWORK_UNREACHBALE, //粻ɴ - NET_SDK_DC_STATUS_IPC_NOT_EXIST, //IPͨδ - NET_SDK_DC_STATUS_IPC_EXCEPTION, //IPͨ쳣 - NET_SDK_DC_STATUS_OTHER_ERROR, // - NET_SDK_DC_STATUS_RESOLUTION_NOT_SUPPORT, //IPCֱʲ֧ - NET_SDK_DC_STATUS_IPC_LAN_ERR = 15, //IPCNVRԲƥ - NET_SDK_DC_STATUS_USER_LOCKED = 16, //û - NET_SDK_DC_STATUS_NOT_ACTIVATED = 17, //豸δ - NET_SDK_DC_STATUS_USER_NOT_EXIST = 18, //û - NET_SDK_DC_STATUS_IPC_UNREGISTERED = 19, //IPͨӦ豸δע(GB28181Э) - NET_SDK_DC_STATUS_POE_PORT_DETECTING = 20, //POEͨ - NET_SDK_DC_STATUS_RESOURCE_EXCEED = 21, /* IPCֱʣʳ*/ - NET_SDK_DC_STATUS_NEED_TO_REPAIR = 22, /* Ҫ*/ - NET_SDK_DC_STATUS_ACTIVATING = 23, /* IPCڼ */ - NET_SDK_DC_STATUS_TOKEN_AUTHENTCATE_FAILED = 24 /* token֤ʧ */ -}NET_SDK_DIGITAL_CHANNEL_STATUS; - -/*************************************ITS****************************/ -#define VERSION_LEN 32 //汾 -#define MAX_OVERLAP_ITEM_NUM 50 //ַ -#define ITS_MAX_DEVICE_NUM 32 //豸 - -//ն˻Ϣ -typedef struct tagNET_ITS_BASEINFO -{ - DWORD dwSize; - BYTE byMainVer[VERSION_LEN]; // 㷨̰汾 - BYTE byMprVer[VERSION_LEN]; // ֡ʶ汾 - BYTE byBvtVer[VERSION_LEN]; // Ƶ汾 - BYTE byLptVer[VERSION_LEN]; // Ƶٿ汾 - BYTE byTvdVer[VERSION_LEN]; // Υ¼汾 - BYTE byTldVer[VERSION_LEN]; // źŵƼ汾 - BYTE byRes[252]; // Ԥֶ -}NET_ITS_BASEINFO,*LPNET_ITS_BASEINFO; - -//ͼƬϳɲ -typedef struct tagNET_ITS_IMGMERGE_CFG -{ - DWORD dwSize; - BYTE byIsMerge; //ǷҪϳɣ0ϳɣ1ϳɣ - BYTE byCloseupProportion;//дͼ 1-ԭʼֱʴС2-ΪԭʼֱԴ(18) - BYTE byRes1[2]; - DWORD dwOneMergeType; //ץĵͼϳɷʽܻȡдͼ - /************************************************************************/ - /* 201 ͼƬкϳ,ϳɺͼƬΪͼ1,Ϊ2 */ - /* 202 ͼƬкϳ,ϳɺͼƬΪͼ2,Ϊ1 */ - /* 203 ºϳɣдϱ. */ - /* 204 ºϳɣд±. */ - /* 205 Һϳɣдұߡ */ - /* 206 Һϳɣд */ - /* 207 Ʒֺϳɣдͼϱ */ - /* 208 Ʒֺϳɣдͼ± */ - /* 209 Σ1Ϊд */ - /* 210 Σұ1Ϊд */ - /* 301 ͼƬкϳ,ϳɺͼƬΪͼ1,Ϊ3 */ - /* 302 ͼƬкϳ,ϳɺͼƬΪͼ3,Ϊ1 */ - /* 303 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 304 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ1,Ϊ1 */ - /* 305 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 306 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ѹͼƬֱ,ϳɺͼƬΪͼ1,Ϊ1 */ - /* 307 ͼƬ"Ʒ"кϳ */ - /* 308 ͼƬ"Ʒ"кϳ */ - /* 309 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 310 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ1,Ϊ1 */ - /* 311 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ϳɺͼƬΪͼ2,Ϊ2 */ - /* 312 ͼƬȡһд,ͼƬ;ͼƬ""ͺϳ, - д;ѹͼƬֱ,ϳɺͼƬΪͼ1,Ϊ1 */ - - /* 313 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊдͼͼͼͼ */ - /* 314 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊͼдͼͼͼ */ - /* 315 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊͼͼдͼͼ */ - /* 316 ͼƬȡһдͼƬ - ͼƬ"һ"ͺϳɣ - ˳Ϊͼͼͼдͼ */ - /* 317 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊдͼͼͼͼ */ - /* 318 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊͼдͼͼͼ */ - /* 319 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊͼͼдͼͼ */ - /* 320 ͼƬȡһдͼƬ - ͼƬ"1"ͺϳɣ - ˳Ϊͼͼͼдͼ */ - /************************************************************************/ - DWORD dwTwoMergeType; //ץͼϳɷʽ - DWORD dwThreeMergeType; //ץͼϳɷʽ - DWORD dwJpegQuality; //ѹ0~100 - DWORD dwCloseupIndex; //дͼץĵڼ - DWORD dwMerageMaxSize; //ϳͼƬС,300-10240(λKB) - WORD wCloseupDeviation; // дͼƫ(50~ͼƬ߶)λ: - BYTE byRes[30]; -}NET_ITS_IMGMERGE_CFG,*LPNET_ITS_IMGMERGE_CFG; - -//ͨ -typedef struct tagNET_ITS_TRAFFIC_DATA_HOST -{ - NET_DVR_IPADDR struHostAddr; // ԶIP - WORD wHostPort; // ԶPort - BYTE byRes1[2]; - DWORD dwDataType; // ϴԶͣ£λʾ - BYTE bySuspendUpload; // Ƿͣϴ0-ϴ1-ͣϴ - BYTE byUploadStrategy; // ϴԣ0-ϴ1-ͨʱϴ - WORD wUploadInterval; // ϴʱ䣨ms1~2000òֻʷЧ - DWORD dwUploadTimeOut; //ϴʱʱ - BYTE byRes[24]; -}NET_ITS_TRAFFIC_DATA_HOST,*LPNET_ITS_TRAFFIC_DATA_HOST; - -//ϴ -typedef struct tagNET_ITS_UPLOAD_CFG -{ - DWORD dwSize; - NET_ITS_TRAFFIC_DATA_HOST struRemoteDataHost1; //սͨ1 - NET_ITS_TRAFFIC_DATA_HOST struRemoteDataHost2; //սͨ2 -}NET_ITS_UPLOAD_CFG,*LPNET_ITS_UPLOAD_CFG; - -typedef struct tagNET_DVR_SYSTEM_TIME -{ - WORD wYear; // - WORD wMonth; // - WORD wDay; // - WORD wHour; //ʱ - WORD wMinute; // - WORD wSecond; // - WORD wMilliSec; // - BYTE byRes[2]; -}NET_DVR_SYSTEM_TIME, *LPNET_DVR_SYSTEM_TIME; - -//ͨ״̬Ϣ -typedef struct tagNET_ITS_TRAFFIC_DATA_INFO -{ - DWORD dwDataQuantity; // - DWORD dwDataRsendQuantity; //δҪϴͨģ - NET_DVR_SYSTEM_TIME struStartTime; //δݵʱ - NET_DVR_SYSTEM_TIME struEndTime; //δݵʱ - NET_DVR_IPADDR struDataHost; //սͨ -}NET_ITS_TRAFFIC_DATA_INFO, *LPNET_ITS_TRAFFIC_DATA_INFO; - -//ն˹״̬ -typedef struct tagNET_ITS_WORKSTATE -{ - DWORD dwSize ; - BYTE byDevName[NAME_LEN]; // 豸 - DWORD dwRunTime; // ϵͳʱ䣬λs - NET_ITS_TRAFFIC_DATA_INFO struTrafficDataInfo[2]; //̨֧ϴõ - DWORD dwMemoryUsage; // ڴռʣڴռΪ30%˴30 - DWORD dwCpuUsage; // cpuռʣcpuռΪ30%˴30 - DWORD dwDevTemperature; // ¶ - DWORD dwDeviceStatic; // 豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; //Ӳ״̬ - NET_DVR_CHANNELSTATE_V30 struChanStatic[MAX_CHANNUM_V30]; //ͨ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN_V30]; //ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT_V30]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay; //ʾ״̬,0-,1- - BYTE byAudioInChanStatus[8]; //ʾͨ״̬ 0-δʹã1-ʹУ0ʾ1ͨ - BYTE byRes[36]; // -}NET_ITS_WORKSTATE, *LPNET_ITS_WORKSTATE; - -//ڽͨûȡ -typedef struct tagNET_ITS_ECT_WORKSTATE_COMMAND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes[256]; // -}NET_ITS_ECT_WORKSTATE_COMMAND, *LPNET_ITS_ECT_WORKSTATE_COMMAND; - -typedef struct tagNET_ITS_ECTWORKSTATE -{ - DWORD dwSize ; - BYTE byDevName[NAME_LEN]; // 豸 - DWORD dwRunTime; // ϵͳʱ䣬λs - NET_ITS_TRAFFIC_DATA_INFO struTrafficDataInfo[2]; //̨֧ϴõ - DWORD dwMemoryUsage; // ڴռʣڴռΪ30%˴30 - DWORD dwCpuUsage; // cpuռʣcpuռΪ30%˴30 - DWORD dwDevTemperature; // ¶ - DWORD dwDeviceStatic; // 豸״̬,0-,1-CPUռ̫,85%,2-Ӳ,紮 - NET_DVR_DISKSTATE struHardDiskStatic[MAX_DISKNUM_V30]; //Ӳ״̬ - BYTE byAlarmInStatic[MAX_ALARMIN_V30]; //ڵ״̬,0-ûб,1-б - BYTE byAlarmOutStatic[MAX_ALARMOUT_V30]; //˿ڵ״̬,0-û,1-б - DWORD dwLocalDisplay; //ʾ״̬,0-,1- - BYTE byRes[256]; // -}NET_ITS_ECTWORKSTATE, *LPNET_ITS_ECTWORKSTATE; - -// ͼƬϢ -typedef struct tagNET_ITS_PICTURE_INFO -{ - DWORD dwDataLen; //ýݳ - // 0:ͼ;1:ͼ;2:ϳͼ; 3:дͼ;4:ֱͼ;5:;6:ͼ(ʻ);7:ͼ(ʻ)ͼ;8-ǻ;9-;10-ԭʼ;11-Ŀͼ;12-ʻͼ ;13-ʻͼ;14-ͼСͼ - //15 - ԶͼƬ(ûԼϴΥͼƬ) - BYTE byType; - // 0-ֱϴ; 1-ƴ洢URL(3.7Ver)ԭȵͼƬݱURLݣͼƬȱURL - BYTE byDataType; - BYTE byCloseUpType;//дͼͣ0-,1-ǻ,2- - BYTE byPicRecogMode; //ͼƬʶ0-ʶ1-ʶ(βʶ) - DWORD dwRedLightTime; //ĺʱ s - BYTE byAbsTime[32]; //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999 λΪ - NET_VCA_RECT struPlateRect; //λ,byTypeΪ8-ǻ;9-ʱʾ - NET_VCA_RECT struPlateRecgRect; //ʶ꣬ͼƬΪ12-ʻͼ13-ʻͼǣΪʻԱ - BYTE *pBuffer; //ָ - DWORD dwUTCTime;//UTCʱ䶨 - BYTE byCompatibleAblity; //ֶ 0ʾЧ1ʾЧ; bit0-ʾdwUTCTimeֶЧ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes2[4]; // -}NET_ITS_PICTURE_INFO, *LPNET_ITS_PICTURE_INFO; - - -typedef struct tagNET_ITS_ILLEGAL_INFO -{ - BYTE byIllegalInfo[MAX_ILLEGAL_LEN/*64*/];// ΥϢַʽ - BYTE byRes[256]; -}NET_ITS_ILLEGAL_INFO,*LPNET_ITS_ILLEGAL_INFO; - - -// -typedef struct tagNET_ITS_PLATE_RESULT -{ - DWORD dwSize; //ṹ - DWORD dwMatchNo; //ƥ,(,,)ƥ - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣ - BYTE byPicNo; //ĵͼƬţյͼƬ󣬱ʾ;ճʱͼƬʱҪɾ - BYTE bySecondCam; //ǷڶץģԶץĵԶǰץĵĺĿлõ - BYTE byFeaturePicNo; //Ƶ羯ȡڼͼΪдͼ,0xff-ʾȡ - BYTE byDriveChan; // - BYTE byVehicleType; //ͣοVTR_RESULT - BYTE byDetSceneID;//ⳡ[1,4], IPCĬ0 - //ԣλʾ0- ޸(ͨ)bit1- Ʊ공(ı־)bit2- ΣƷֵ0- 1- - //ýڵѲʹ,ʹbyYellowLabelCarbyDangerousVehiclesжǷƱ공ΣƷ - BYTE byVehicleAttribute; - WORD wIllegalType; //ΥͲù궨 - BYTE byIllegalSubType[8]; //Υ - BYTE byPostPicNo; //ΥʱȡڼͼƬΪͼ,0xff-ʾȡ - //ͨ(Чͨź豸ϴͨһ£ں˺ ͨһ) - BYTE byChanIndex; - WORD wSpeedLimit; //ޣʱЧ - BYTE byChanIndexEx; //byChanIndexEx*256+byChanIndexʾʵͨš - /*λر־,0~Ϊͨʶ𱨾, - 1~Ϊλòش(ͨPUT /ISAPI/Traffic/channels//vehiclePositionControl?format=json) - 2~Ϊܲش(Ԥõ㼰GPS)(ͨPUT /ISAPI/Traffic/channels//vehicleMonitor//startTask, - unarmedVehicleDetectionEnableĿ공ʹܣΪtrueʱֻϱⱨ޳ܲر˸ֶȡֵΪ02) - 3~Ϊֶش(/ISAPI/Traffic/channels//manualVehicleMonitor?format=json) - 4~Ϊճ(ó)ͨǷ֧ճ, - (ͨ/ISAPI/Traffic/channels//vehicleDetect/capabilitiesisSupportDailyVehicleMonitorж,ճʱ,豸ϱANPRʵʱϱvehicleMonitorر) - ظֶΪͨ - */ - BYTE byVehiclePositionControl; - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[48]; // - BYTE byDeviceID[48]; //豸 - BYTE byDir; //ⷽ1-У򣩣2-()3-˫4-ɶ5-,6-򶫣7-ɱϣ8- - BYTE byDetectType; //ⷽʽ,1-ظд2-Ƶ3-֡ʶ4-״ﴥ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byCarDirectionType; //ʻķ0ʾ£1ʾϣʵʳʻ֣,2ʾδ֪ - //wIllegalTypeΪʱʹøòwIllegalTypeΪֵʱwIllegalTypeΪ׼òЧ - DWORD dwCustomIllegalType; //ΥͶ(ûԶ) - /*Ϊ0~ָʽʱΪϵΥͣwIllegalTypedwCustomIllegalTypeЧֵΥ롣 - Ϊ1~ַʽʱpIllegalInfoBufЧϵΥͣwIllegalTypedwCustomIllegalTypeȻֵΥ*/ - BYTE* pIllegalInfoBuf; //ΥַϢṹָ룻ָNET_ITS_ILLEGAL_INFO - BYTE byIllegalFromatType; //ΥϢʽͣ 0~ָʽ 1~ַʽ - BYTE byPendant;// 0-ʾδ֪,1-2- - BYTE byDataAnalysis; //0-δ, 1-ѷ - BYTE byYellowLabelCar; //0-ʾδ֪, 1-ǻƱ공,2-Ʊ공 - BYTE byDangerousVehicles; //0-ʾδ֪, 1-ΣƷ,2-ΣƷ - //ֶΰPilotַΪʻCopilotַΪʻ - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byPilotCall;// 0-ʾδ֪, 1-绰,2-绰 - //0-բ1-δբ (רʷƥǷբɹı־)byAlarmDataTypeΪ0-ʵʱʱ 0-δբ 1-բ - BYTE byBarrierGateCtrlType; - BYTE byAlarmDataType;//0-ʵʱݣ1-ʷ - NET_DVR_TIME_V30 struSnapFirstPicTime;//˵ʱ(ms)ץĵһͼƬʱ䣩 - DWORD dwIllegalTime;//Υʱ䣨ms = ץһͼƬʱ - ץĵһͼƬʱ - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[6]; //ͼƬϢ,Żص6ͼ -}NET_ITS_PLATE_RESULT, *LPNET_ITS_PLATE_RESULT; - -//ڳץϴ -typedef struct tagNET_ITS_GATE_VEHICLE -{ - DWORD dwSize; //ṹ - DWORD dwMatchNo; //ƥ,(,,)ƥ Ĭ0 - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣĬ 1 ץͼƬ ƺʱ - BYTE byPicNo; //ĵͼƬϴͼƬţյͼƬ󣬱ʾɡ - //ճʱͼƬʱҪɾ - BYTE bySecondCam; //ǷڶץģԶץĵԶǰץĵĺĿлõʾǰץͼƬ - BYTE byRes; //ΪԤ - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byRes1; // - BYTE byAlarmReason[MAX_ALARMREASON_LEN]; //Զ屨 ĬΪ - WORD wBackList; //ΪǷ񱨾 0 ʾΪ 1 ʾֹ - WORD wSpeedLimit; //ޣʱЧkm/h - DWORD dwChanIndex; //ͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ ٶ - BYTE byMonitoringSiteID[MAX_ID_LEN]; // - BYTE byDeviceID[MAX_ID_LEN]; //豸 - BYTE byDir; //ⷽ0- 1 볡2 - BYTE byDetectType; //ⷽʽ, 0- 1-ظд2-Ƶ3-֡ʶ4-״ﴥ - BYTE byRes2[2]; - BYTE byCardNo[MAX_ID_LEN]; // - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[4]; //ͼƬϢ,Żص4ͼ - //2013-11-19 ڳץϴʽ - BYTE bySwipeTime[MAX_TIME_LEN];//ˢʱ ʱʽΪyyyymmddhh24missfff - BYTE byRes3[224]; -}NET_ITS_GATE_VEHICLE, *LPNET_ITS_GATE_VEHICLE; - -//ʶ -typedef struct tagNET_ITS_GATE_FACE -{ - DWORD dwSize; //ṹ峤 - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣ - BYTE byPicNo; //ĵͼƬţյͼƬ󣬱ʾɡ - //ճʱͼƬʱҪɾ - BYTE byFeaturePicNo; //ץʱȡڼͼΪдͼ,0xff-ʾȡ - BYTE byRes; // - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byDir; //ⷽ0- 1 볡 2 - DWORD dwChanIndex; //ͨ - BYTE byMonitoringSiteID[MAX_ID_LEN]; // - BYTE byDeviceID[MAX_ID_LEN]; //豸 - NET_VCA_FACESNAP_RESULT struFaceInfo; //ץ - BYTE byRes2[256]; //Ԥ -}NET_ITS_GATE_FACE, *LPNET_ITS_GATE_FACE; - -//ͣϴ -typedef struct _tagNET_ITS_PARK_VEHICLE_ -{ - DWORD dwSize; //ṹ - BYTE byGroupNum; //ͼƬѯץĵͼƬ - BYTE byPicNo; //ĵͼƬϴͼƬţյͼƬ󣬱ʾ - //ճʱͼƬʱҪɾ - BYTE byLocationNum; //ͼƬijλ - BYTE byParkError; //ͣ쳣0- 1 쳣 - BYTE byParkingNo[MAX_PARKNO_LEN];//λ - BYTE byLocationStatus; //λ״̬0-޳1г - BYTE bylogicalLaneNum;//߼λţ0-3һܹ4λ 0ߣ3ұߣ - WORD wUpLoadType;//λʾ0~Ѳϴ1~仯ϴ - BYTE byRes1[4]; //ֽ - DWORD dwChanIndex; //ͨͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[MAX_ID_LEN]; // - BYTE byDeviceID[MAX_ID_LEN]; //豸 - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬ - //ͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[2]; //ͼƬϢ,Żص2ͼ - BYTE byRes2[256]; -}NET_ITS_PARK_VEHICLE, *LPNET_ITS_PARK_VEHICLE; - -//ͨȡ֤ -typedef struct tagNET_DVR_TFS_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - DWORD dwIllegalType; //Υͣù궨壬dwIllegalTypeֵΪ0xffffffffʱʹbyIllegalCode - DWORD dwIllegalDuration; //Υʱ䣨λ룩 = ץһͼƬʱ - ץĵһͼƬʱ - BYTE byMonitoringSiteID[MONITORSITE_ID_LEN];//ţ·ڱšڲţ - BYTE byDeviceID[DEVICE_ID_LEN]; //豸 - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - NET_DVR_SCENE_INFO struSceneInfo; //Ϣ - NET_DVR_TIME_EX struBeginRecTime; //¼ʼʱ - NET_DVR_TIME_EX struEndRecTime; //¼ʱ - NET_DVR_AID_INFO struAIDInfo; //ͨ¼Ϣ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - DWORD dwPicNum; //ͼƬ - NET_ITS_PICTURE_INFO struPicInfo[8]; //ͼƬϢ8 - BYTE bySpecificVehicleType; //峵 οʶVTR_RESULT - BYTE byLaneNo; // - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - NET_DVR_TIME_V30 struTime;//ֶٶλǰʱ䡣 - DWORD dwSerialNo;//ţ - BYTE byVehicleAttribute;//ԣλʾ0- ޸(ͨ)bit1- Ʊ공(ı־)bit2- ΣƷֵ0- 1- - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byPilotCall;// 0-ʾδ֪, 1-绰,2-绰 - BYTE byRes2[2]; // - BYTE byIllegalCode[ILLEGAL_LEN/*32*/];//ΥչdwIllegalTypeֵΪ0xffffffffʹֵ - WORD wCountry; // ֵ,öCOUNTRY_INDEX - BYTE byRegion; //ֵ,0-1-ŷ(Europe Region)2-(Russian Region)3-ŷ&˹(EU&CIS) , 4-жMiddle East0xff- - BYTE byCrossLine;//Ƿѹͣ෽ͣ0-ʾδ֪1-ѹߣ2-ѹ - BYTE byParkingSerialNO[SERIAL_NO_LEN/*16*/];//λ - BYTE byCrossSpaces;//Ƿ粴λͣ෽ͣ0-ʾδ֪1-δ粴λͣ2-粴λͣ - BYTE byAngledParking;//Ƿбͣ෽ͣ, 0-ʾδ֪1-δбͣ2-бͣ - BYTE byAlarmValidity;//ŶȣʻʻŶȣΧ0-100ŶԽߣ¼ʵԽ - BYTE byDoorsStatus;//״̬ 0-Źر 1-ſ - DWORD dwXmlLen;//XMLϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block -#else - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byRes3[4]; -#endif - BYTE byVehicleHeadTailStatus;//ͷβ״̬ 0- 1-ͷ 2-β - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byRes[30]; // -}NET_DVR_TFS_ALARM,*LPNET_DVR_TFS_ALARM; - -typedef struct tagNET_DVR_SOFTWARE_SERVICE_CFG -{ - DWORD dwSize;//ṹС - BYTE byThirdStreamEnabled; //Ƿã0-1- - BYTE bySubStreamEnabled; //Ƿã0-1- - BYTE byRes[254]; -}NET_DVR_SOFTWARE_SERVICE_CFG, *LPNET_DVR_SOFTWARE_SERVICE_CFG; - -typedef struct tagNET_ITS_ECT_BLOCKLIST -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE bylogicalLaneNo;//߼ - BYTE byRes1[3]; - BYTE byLaneName[NAME_LEN];// 32 - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - BYTE byRes2[256]; // ֽ -}NET_ITS_ECT_BLOCKLIST, *LPNET_ITS_ECT_BLOCKLIST; - -//IPCͨ -typedef struct tagNET_ITS_IPC_CHAN_CFG -{ - DWORD dwSize; - BYTE byCameraType; //࣬0-1-Ȧ2-Ƶ,3-һ - BYTE byRes1[3]; // - BYTE byMonitoringSiteID[48]; // - BYTE byDeviceID[48]; //豸 - BYTE byDirectionNo; //ⷽ,0-,1-,2-,3-˫,4-ɶ,5-,6-,7-ɱ,8- - BYTE byMonitorInfo[48]; //Ϣ - BYTE byRes2[15]; // -}NET_ITS_IPC_CHAN_CFG, *LPNET_ITS_IPC_CHAN_CFG; - -//豸Ϣ -typedef struct tagNET_ITS_SINGLE_DEVICE_INFO -{ - DWORD dwDeviceType; //豸ͣ0-նˣ1-2-ƣ3-4-Ȧ15-Ȧ26-Ȧ37-̵Ƽ8- - //9-״10-բ11-ڿƻ(Ʊ)12-LEDʾ13-Զ14-15-ɨǹ - //16-Ʊݴӡ17-ڵ(յ) , 18- - DWORD dwDirID; // - DWORD dwLaneID; // - DWORD dwDeviceState; //豸״̬ 0 0 쳣ο豸쳣 - BYTE byDeviceName[32]; //豸 - BYTE byDeviceID[48]; //豸ţһкţõַ - NET_DVR_TIME_V30 struTriggerTime;//ʱ - BYTE byRelateChan; //ͨţ1~8 AC1~4 AC1~2 - BYTE byRes[3]; -}NET_ITS_SINGLE_DEVICE_INFO,*LPNET_ITS_SINGLE_DEVICE_INFO; - -//·Ϣ -typedef struct tagNET_ITS_ROADINFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ,0xffffffffʾնˣʾӦ - BYTE byTriggerMode; // 0:Ȧ; 1:Ƶ - BYTE byRes1[3]; - DWORD dwDeviceNum; //ʵ豸 - BYTE byMonitoringSiteID[48]; // - BYTE byRoadInfo[48]; //Ϣ - NET_ITS_SINGLE_DEVICE_INFO struSingleDevice[ITS_MAX_DEVICE_NUM]; - BYTE byRes[16]; -}NET_ITS_ROADINFO,*LPNET_ITS_ROADINFO; - -//·Ϣ -typedef struct tagNET_ITS_TRAFFIC_DRIVE_CHAN -{ - BYTE byDriveChan; // - BYTE byRes1[3]; // Ԥ - WORD wCarFlux; // - WORD wPasserbyFlux; // - WORD wShayFlux; //ֳ - float fAverOccpancy; //ƽռʰٷֱ - WORD wAverSpeed; //ƽ(km/h) - WORD wAverCarDis; //ƽ(λ) - BYTE byRes2[16]; // Ԥ -}NET_ITS_TRAFFIC_DRIVE_CHAN,*LPNET_ITS_TRAFFIC_DRIVE_CHAN; - -typedef struct tagNET_ITS_TRAFFIC_COLLECT -{ - DWORD dwSize; //ṹС - BYTE byMonitoringSiteID[48]; // - BYTE byDeviceID[48]; //豸 - BYTE byLaneNum; // - BYTE byDir; //ⷽ - BYTE byDetectType; //ⷽʽ1-ظȦ2-Ƶ3֡ʶ4״ﴥ - BYTE byRes1; //Ԥ - DWORD dwChannel; //ͨ - NET_DVR_SYSTEM_TIME struStartTime; //ͳƿʼʱ - DWORD dwSamplePeriod; //ͳʱ,λ - NET_ITS_TRAFFIC_DRIVE_CHAN struDriveChan[6]; //ͨ,ÿ֧6 - BYTE byRes2[24]; //Ԥ -}NET_ITS_TRAFFIC_COLLECT,*LPNET_ITS_TRAFFIC_COLLECT; - -typedef struct tagNET_ITS_OVERLAPCFG_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwConfigMode; //ģʽ0-նˣ1-ǰ(ֱǰ˻ն˽ǰ) - BYTE byPicModeType;//0-ʾСͼ(ͼ)1-ʾͼ(ϳͼ) - /* - 0ʾ ץMPRģʽ֡ץ IPCʹã - 1 ʾ ץ HVT ģʽ쿨IPCʹã - */ - BYTE byRelateType; - BYTE byRes[14]; -}NET_ITS_OVERLAPCFG_COND, *LPNET_ITS_OVERLAPCFG_COND; - -typedef enum ITS_OVERLAP_ITEM_TYPE -{ - OVERLAP_ITEM_NULL = 0, //0-δ֪ - OVERLAP_ITEM_SITE, //1-ص - OVERLAP_ITEM_ROADNUM, //2-·ڱ - OVERLAP_ITEM_INSTRUMENTNUM, //3-豸 - OVERLAP_ITEM_DIRECTION, //4- - OVERLAP_ITEM_DIRECTIONDESC, //5- - OVERLAP_ITEM_LANENUM, //6- - OVERLAP_ITEM_LANEDES, //7- - OVERLAP_ITEM_CAPTIME, //8-ץʱ() - OVERLAP_ITEM_CAPTIME_MILLSECOND, //9-ץʱ() - OVERLAP_ITEM_PLATENUM, //10-ƺ - OVERLAP_ITEM_CARCOLOR, //11-ɫ - OVERLAP_ITEM_CARTYPE, //12- - OVERLAP_ITEM_CARBRAND, //13-Ʒ - OVERLAP_ITEM_CARSPEED, //14-ٶ - OVERLAP_ITEM_SPEEDLIMIT, //15-ٱ־ - OVERLAP_ITEM_CARLENGTH, //16-1~99m - OVERLAP_ITEM_ILLEGALNUM, //17-Υ(ΥӦûõģӦֱӵΥϢ١١Сơռѹߵ) - OVERLAP_ITEM_MONITOR_INFO, //18-Ϣ - OVERLAP_ITEM_ILLEGALDES, //19-ΥΪ - OVERLAP_ITEM_OVERSPEED_PERCENT, //20-ٱ - OVERLAP_ITEM_RED_STARTTIME, //21-ƿʼʱ - OVERLAP_ITEM_RED_STOPTIME, //22-ƽʱ - OVERLAP_ITEM_RED_DURATION, //23-ʱ - OVERLAP_ITEM_SECUNITY_CODE, //24-α - OVERLAP_ITEM_CAP_CODE, //25-ץı - OVERLAP_ITEM_SEATBELT, //26-ȫ - OVERLAP_ITEM_MONITOR_ID, //27- - OVERLAP_ITEM_SUN_VISOR, //28- - OVERLAP_ITEM_LANE_DIRECTION, //29-ʻ - OVERLAP_ITEM_LICENSE_PLATE_COLOR, // 30-ɫ - OVERLAP_ITEM_SCENE_NUMBER, //31- - OVERLAP_ITEM_SCENE_NAME, //32- - OVERLAP_ITEM_YELLOW_SIGN_CAR, //33-Ʊ공 - OVERLAP_ITEM_DANGEROUS_CAR, //34-ΣƷ - OVERLAP_ITEM_CAR_SUBBRAND, //35-Ʒ - OVERLAP_ITEM_CAR_DIRECTION, //36- - OVERLAP_ITEM_PENDANT, //37- - OVERLAP_ITEM_CALL, //38-绰 - OVERLAP_ITEM_CAR_VALIDITY, //39-Ŷ - OVERLAP_ITEM_CAR_COUNTRY, //40- - OVERLAP_ITEM_CAR_PLATE_TYPE, //41-ͣοö - OVERLAP_ITEM_CAR_PLATE_SIZE, //42-Ƴߴ - OVERLAP_ITEM_CAR_PLATE_COLOR, //43-ɫ - OVERLAP_ITEM_CAR_PLATE_CATEGORY, //44-ƸϢ - OVERLAP_ITEM_ACCIDENT, //45-ͨ¹ - OVERLAP_ITEM_SMOKING, //46- - OVERLAP_ITEM_HELMET, //47-ͷ - OVERLAP_ITEM_MANNED, //48- - OVERLAP_ITEM_HUMAN, //49- - OVERLAP_ITEM_PLAYMOBILEPHONE, //50-ֻ - OVERLAP_ITEM_ADR //51- ADRƣ ŷ޹ҳеĻ˫ƣҪʾڶƺţADRƵʾ -}ITS_OVERLAP_ITEM_TYPE; - -//ַÿһϢṹ -typedef struct tagNET_ITS_OVERLAP_SINGLE_ITEM_PARAM -{ - BYTE byRes1[2]; // - BYTE byItemType; //ͣOVERLAP_ITEM_TYPE - BYTE byChangeLineNum; //Ļ[0-10](Ĭ0) - BYTE bySpaceNum; //Ŀո[0-255](Ĭ0) - BYTE byRes2[2]; - BYTE byEnablePos; //Ƿʾ - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - BYTE byRes[8]; -}NET_ITS_OVERLAP_SINGLE_ITEM_PARAM, *LPNET_ITS_OVERLAP_SINGLE_ITEM_PARAM; - -typedef struct tagNET_ITS_OVERLAP_ITEM_PARAM -{ - NET_ITS_OVERLAP_SINGLE_ITEM_PARAM struSingleItem[MAX_OVERLAP_ITEM_NUM]; //ַ - DWORD dwLinePercent; //аٷֱ(0-100),(Ĭ100) - DWORD dwItemsStlye; //ӷʽ0-,1-(ĬϺ) - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wCharStyle; //,0-1-κ(Ĭ) - WORD wCharSize; //ַС,0--16x16,1--32x32,2-48x48,3--64x64 (Ĭ),8x128(Ver3.7) - WORD wCharInterval; //ַ࣬[016]赥λ(Ĭ) - BYTE byRes1[2]; - DWORD dwForeClorRGB; //ǰɫRGBֵbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00FFFFFF-) - DWORD dwBackClorRGB; //ɫRGBֵ,ֻͼƬЧbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00000000-) - BYTE byColorAdapt; //ɫǷӦ0-1- - //(Ver3.7 ) - // ʹ 0-, 1-㣨ϸעͣٶ,ֵ 3λ0 - BYTE byParamFillZeroEnble; - BYTE byPlateLeftCornerEnable;// СͼϽʹ 0-, 1- - BYTE byRes2; - WORD wStartSPicPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartSPicPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - //OSDλ 0-ͼƬ,1-ͼƬϱԵ,2-ͼƬ±ԵϳͼרõϱԵ⣩V3.7 - BYTE byOsdLocate; - BYTE byRes[23]; -}NET_ITS_OVERLAP_ITEM_PARAM, *LPNET_ITS_OVERLAP_ITEM_PARAM; - -//Ϣ -typedef struct tagNET_ITS_OVERLAP_INFO_PARAM -{ - BYTE bySite[128]; //ص - BYTE byRoadNum[32]; //·ڱ - BYTE byInstrumentNum[32]; //豸 - BYTE byDirection[32]; // - BYTE byDirectionDesc[32]; // - BYTE byLaneDes[32]; // - BYTE byRes1[32]; // - BYTE byMonitoringSite1[44]; //1Ϣ - BYTE byMonitoringSite2[32]; //2Ϣ - BYTE byRes[64]; // -}NET_ITS_OVERLAP_INFO_PARAM, *LPNET_ITS_OVERLAP_INFO_PARAM; - -typedef struct tagNET_ITS_OVERLAP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes1[3]; - NET_ITS_OVERLAP_ITEM_PARAM struOverLapItem; //ַ - NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo; //ַϢ - BYTE byRes[32]; -}NET_ITS_OVERLAP_CFG, *LPNET_ITS_OVERLAP_CFG; - -//ַÿһϢṹ -typedef struct tagNET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50 -{ - BYTE byRes1[2]; // - BYTE byItemType; //ͣOVERLAP_ITEM_TYPE - BYTE byChangeLineNum; //Ļ[0-10](Ĭ0) - BYTE bySpaceNum; //Ŀո[0-255](Ĭ0) - BYTE byRes2[2]; - BYTE byEnablePos; //Ƿʾ - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - //ԶͣbyItemTypeӦɽbyItemTypeԶơԶΪգĬbyItemTypeе - BYTE byItemTypeCustom[32]; - BYTE byRes[8]; -}NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50, *LPNET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50; - -typedef struct tagNET_ITS_OVERLAP_ITEM_PARAM_V50 -{ - NET_ITS_OVERLAP_SINGLE_ITEM_PARAM_V50 struSingleItem[MAX_OVERLAP_ITEM_NUM]; //ַ - DWORD dwLinePercent; //аٷֱ(0-100),(Ĭ100) - DWORD dwItemsStlye; //ӷʽ0-,1-(ĬϺ) - WORD wStartPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wCharStyle; //,0-1-κ(Ĭ) - WORD wCharSize; //ַС,0--16x16,1--32x32,2-48x48,3--64x64 (Ĭ),8x128(Ver3.7) - WORD wCharInterval; //ַ࣬[016]赥λ(Ĭ) - BYTE byRes1[2]; - DWORD dwForeClorRGB; //ǰɫRGBֵbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00FFFFFF-) - DWORD dwBackClorRGB; //ɫRGBֵ,ֻͼƬЧbit0-1:(B) bit2-3:(G) bit4-5:(G) (Ĭx00000000-) - BYTE byColorAdapt; //ɫǷӦ0-1- - //(Ver3.7 ) - // ʹ 0-, 1-㣨ϸעͣٶ,ֵ 3λ0 - BYTE byParamFillZeroEnble; - BYTE byPlateLeftCornerEnable;// СͼϽʹ 0-, 1- - BYTE byRes2; - WORD wStartSPicPosTop; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - WORD wStartSPicPosLeft; //ʼ,ֻͼƬڲЧ[0~2448](Ĭ0) - //OSDλ 0-ͼƬ,1-ͼƬϱԵ,2-ͼƬ±ԵϳͼרõϱԵ⣩V3.7 - BYTE byOsdLocate; - BYTE byRes[63]; -}NET_ITS_OVERLAP_ITEM_PARAM_V50, *LPNET_ITS_OVERLAP_ITEM_PARAM_V50; - -typedef struct tagNET_ITS_OVERLAP_CFG_V50 -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes1[3]; - NET_ITS_OVERLAP_ITEM_PARAM_V50 struOverLapItemV50; //ַ - NET_ITS_OVERLAP_INFO_PARAM struOverLapInfo; //ַϢ - BYTE byRes[120]; -}NET_ITS_OVERLAP_CFG_V50, *LPNET_ITS_OVERLAP_CFG_V50; - -#define MAX_PTZCRUISE_POINT_NUM 32 //֧32Ѳ - - -//ԤõϢ -typedef struct tagNET_DVR_PRESET_INFO -{ - DWORD dwSize; - DWORD dwPresetNum; //Ԥõ - DWORD dwGroupNum; // - BYTE byRes[8]; -}NET_DVR_PRESET_INFO, *LPNET_DVR_PRESET_INFO; - -// -typedef struct tagNET_DVR_PRESET_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwGroupNO; // - BYTE byRes[8]; -}NET_DVR_PRESET_COND, *LPNET_DVR_PRESET_COND; - -// -typedef struct tagNET_DVR_PRESETCFG -{ - DWORD dwSize; - DWORD dwPresetIndex; //Ԥõ - NET_VCA_POINT struVcaPoint; //Ԥõ - WORD wZoomCoordinate; ///<Ԥõ㴰Zoomֵ - BYTE byRes[30]; -}NET_DVR_PRESETCFG, *LPNET_DVR_PRESETCFG; - -//ȡѲ·Ŀ -typedef struct tagNET_DVR_PTZCRUISE_INFO -{ - DWORD dwSize; - DWORD dwPtzCruiseNum; //· - DWORD dwGroupNum; // - BYTE byRes[8]; -}NET_DVR_PTZCRUISE_INFO, *LPNET_DVR_PTZCRUISE_INFO; - -// -typedef struct tagNET_DVR_PTZCRUISE_COND -{ - DWORD dwSize; - DWORD dwChannel; - DWORD dwGroupNO; // - BYTE byRes[8]; -}NET_DVR_PTZCRUISE_COND, *LPNET_DVR_PTZCRUISE_COND; - -// -typedef struct tagNET_DVR_PTZCRUISE_POINTCFG -{ - DWORD dwSize; - DWORD dwPresetIndex; //Ԥõ - NET_VCA_POINT struVcaPoint; //Ԥõ - BYTE byDwell; //ͣʱ - BYTE bySpeed; //ٶ - WORD wZoomCoordinate;///<Ԥõ㴰Zoomֵ - BYTE byRes[28]; -}NET_DVR_PTZCRUISE_POINTCFG, *LPNET_DVR_PTZCRUISE_POINTCFG; - -typedef struct tagNET_DVR_PTZCRUISECFG -{ - DWORD dwSize; - DWORD dwCruiseRoute; //Ѳ· - NET_DVR_PTZCRUISE_POINTCFG struCruisePoint[MAX_PTZCRUISE_POINT_NUM]; //֧32Ѳ - BYTE byRes[32]; -}NET_DVR_PTZCRUISECFG, *LPNET_DVR_PTZCRUISECFG; - -//ģʽṹ -typedef struct tagNET_DVR_MOTION_TRACK_CFG -{ - DWORD dwSize; - BYTE byEnableTrack; //ø٣0-1- - BYTE byRes[63]; -}NET_DVR_MOTION_TRACK_CFG, *LPNET_DVR_MOTION_TRACK_CFG; - -//һĶʱƻ -typedef struct tagNET_DVR_DAY_SCHEDULE -{ - BYTE byWorkMode ; //0-ȫ쿪1-ȫأ2-ʱ - BYTE byRes1[3] ; - NET_DVR_SCHEDTIME struTime[MAX_TIMESEGMENT_V30/*8*/]; //ʱ - BYTE byRes2[8]; // -}NET_DVR_DAY_SCHEDULE ,*LPNET_DVR_DAY_SCHEDULE; - -//ʱܸٲṹ -typedef struct tagNET_DVR_SCHEDULE_AUTO_TRACK_CFG -{ - DWORD dwSize; //ṹ - BYTE byEnableTrack; //ø٣0- 1- - BYTE byRes1[3] ; - NET_DVR_DAY_SCHEDULE struSchedule[MAX_DAYS/*7*/]; //ʱܸʱΣ8ʱڵʱ䣬Ĭ϶ʱܸٹر - BYTE byRes2[128]; -}NET_DVR_SCHEDULE_AUTO_TRACK_CFG,*LPNET_DVR_SCHEDULE_AUTO_TRACK_CFG; - -typedef struct tagNET_DVR_I_FRAME -{ - DWORD dwSize; //ṹ - BYTE sStreamID[STREAM_ID_LEN/*32*/] ; //ID - DWORD dwChan; //ͨ - BYTE byStreamType; //0-1-2-33-44-5 - BYTE byRes[63]; -} NET_DVR_I_FRAME, *LPNET_DVR_I_FRAME; - -typedef struct tagNET_DVR_REBOOT_TIME -{ - BYTE byDate; //ڼ1-7һ - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE byRes1; - BYTE byRebootMode; //0-1-˲ֻܻȡã - BYTE byDisabled; // 0- 1- - BYTE byRes[10]; // -}NET_DVR_REBOOT_TIME,*LPNET_DVR_REBOOT_TIME; - -typedef struct tagNET_DVR_AUTO_REBOOT_CFG -{ - DWORD dwSize; - NET_DVR_REBOOT_TIME struRebootTime; -}NET_DVR_AUTO_REBOOT_CFG,*LPNET_DVR_AUTO_REBOOT_CFG; - -#define NET_DVR_GPS_FINDING 0 //ڲ -#define NET_DVR_GPS_RECV 1 // -#define NET_DVR_GPS_OVER 2 //ҽ -#define NET_DVR_GPS_EXCEPTION 3 //쳣 -typedef struct tagNET_DVR_MENU_OUTPUT_MODE -{ - DWORD dwSize; - BYTE byMenuOutputMode; //ͬԴ豸0-Auto 1-CVBS 2-HDMI 3-VGA ͬԴ豸0-Auto 1-CVBS 2-HDMI/VGA - BYTE byRes[63]; -}NET_DVR_MENU_OUTPUT_MODE, *LPNET_DVR_MENU_OUTPUT_MODE; - -typedef struct tagNET_DVR_MB_IPADDR -{ - NET_DVR_IPADDR struIP; //IPַ - WORD wPort; //˿ں - BYTE byRes[2]; -}NET_DVR_MB_IPADDR,*LPNET_DVR_MB_IPADDR; - -typedef struct tagNET_DVR_MB_WVSPARA -{ - NET_DVR_MB_IPADDR struWVSAddr; - BYTE byPuid[NAME_LEN]; //豸id - BYTE byPassword[PASSWD_LEN]; // - BYTE byRes[8]; -}NET_DVR_MB_WVSPARA, *LPNET_DVR_MB_WVSPARA; - -typedef struct tagNET_DVR_MB_EHOMEPARA -{ - NET_DVR_MB_IPADDR struEHomeAddr; - BYTE byPuid[NAME_LEN]; //豸id -}NET_DVR_MB_EHOMEPARA, *LPNET_DVR_MB_EHOMEPARA; - -typedef struct tagNET_DVR_MB_PLATFORMPARA -{ - DWORD dwSize; - BYTE byNetEnvironment;/*绷,0-wireless,1-3G,2-wLan,3-lan*/ - BYTE byCurPlatForm; /*< ǰƽ̨0 - WVS, 1 - E, 2 - ģʽ */ - BYTE byRes1[2]; - NET_DVR_MB_WVSPARA struWVSPara; /*ƽ̨(ƽ̨)*/ - NET_DVR_MB_EHOMEPARA struMbEHpara;/*Eƽ̨ƽ̨豸 */ - BYTE byRes2[64]; -}NET_DVR_MB_PLATFORMPARA, *LPNET_DVR_MB_PLATFORMPARA; - -typedef struct tagNET_DVR_MB_GPS_STATUS -{ - BYTE byGPSModule; /*gpsģ, 0: , 1: */ - BYTE byPositionStatus; /*gpsλ״̬, 0: λʧ, 1: λɹ*/ - BYTE bySignalStrength; /*źǿ, 0: , 1: , 2: ǿ*/ - BYTE byres[5]; -}NET_DVR_MB_GPS_STATUS, *LPNET_DVR_MB_GPS_STATUS; - -typedef struct tagNET_DVR_MB_GSENSOR_STATUS -{ - BYTE byGsensorModule; /*g-sensorģ, 0: not exist, 1: , 2: */ - BYTE byCurAccX[10]; /*ǰXٶ*/ - BYTE byCurAccY[10]; /*ǰYٶ*/ - BYTE byCurAccZ[10]; /*ǰZٶ*/ - BYTE byRefAccX[10]; /* Xٶȱ궨ֵ*/ - BYTE byRefAccY[10]; /* Yٶȱ궨ֵ*/ - BYTE byRefAccZ[10]; /* Zٶȱ궨ֵ*/ - BYTE byres[3]; -}NET_DVR_MB_GSENSOR_STATUS, *LPNET_DVR_MB_GSENSOR_STATUS; - -#define IP_ADDR_LEN 16 -#define IW_ESSID_MAX_SIZE 32 - -typedef struct tagNET_DVR_MB_WIFI_STATUS -{ - BYTE byEnableWiFi; /* , 0 , 1 */ - BYTE byWiFiConnectStatus; /* WIFI״̬, 0: ʧ, 1: ӳɹ 2: ģ*/ - BYTE bySignalStrength; /* źǿ, 0 , 1 , 2 ǿ */ - BYTE byIPaddress[IP_ADDR_LEN]; /*WIFI 豸 ip*/ - BYTE byEssid[IW_ESSID_MAX_SIZE]; /*߽essid*/ - BYTE byres[5]; -}NET_DVR_MB_WIFI_STATUS,*LPNET_DVR_MB_WIFI_STATUS; - -typedef struct tagNET_DVR_MB_PLATFORM_STATUS -{ - BYTE byCurPlat; /*ǰƽ̨, 0: wvs, 1: ivms, 2: ģʽ(net_3g_sdk)*/ - BYTE byLoginStatus; /*login ״̬, 0: login failed, 1: login success*/ - BYTE byExceptionInfo; /*쳣Ϣ*/ - /* - WVS :exception info: - 0: ӷʧ - 1: ע - 2: û - 3: עᳬʱ - 4: ʱ - 5: עɹ - iVMS :exception info: - 0δע - 1ע - 2עӳ - 3עᳬʱ - 4ʱûж - 5ע - 6 CMSע豸Ѿ޶̨ - 7 CMSעͨѾ޶ͨ - 8豸WEBû - 9CMSWEBͨʧ - 10¼δ֪ - 11עɹ - ģʽ :exception info: - 0δע - 1: ע - 2: ظע - 3: עʧ - 4: IP仯 - 5: עɹ - 6: ûע - 7: ʱ - */ - BYTE byres[5]; -}NET_DVR_MB_PLATFORM_STATUS, *LPNET_DVR_MB_PLATFORM_STATUS; - - -typedef struct tagNET_DVR_MB_MOBILEDEV_STATUS -{ - DWORD dwSize; /*ṹС*/ - union - { - NET_DVR_MB_GPS_STATUS struGPSStatus; - NET_DVR_MB_GSENSOR_STATUS struGSensorStatus; - NET_DVR_MB_WIFI_STATUS struWiFiStatus; - NET_DVR_MB_PLATFORM_STATUS struPlatformStatus; - }mobileStatus; -}NET_DVR_MB_MOBILEDEV_STATUS, *LPNET_DVR_MB_MOBILEDEV_STATUS; - -#define NET_DVR_GPS_STATUS 0 -#define NET_DVR_GSENSOR_STATUS 1 -#define NET_DVR_WIFI_STATUS 2 -#define NET_DVR_PLATFORM_STATUS 3 - -//GPSϢṹ -typedef struct tagNET_DVR_GPS_INFO -{ - /* γΪS*100 */ - BYTE byDirection[2]; /*direction[0]0or1(/), direction[1]:0or1(γ/γ) */ - BYTE bySvs; /* satellite vehicles(ֵ0)Чλ */ - BYTE byLocateMode; /* λģʽ(ֵ0)NMEA0183 3.00汾0=λ1=֣2=㣬3=Ч */ - WORD wHDOP; /* ˮƽӣGPSȷȣ0.5-99.96ڶλȸߣ20趪洢dz10Ժ */ - WORD wHeight; /* ߶ */ - DWORD dwLatitude; /*γlatitude = ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwLongitude; /*longitude =ʵʶ*3600*100+ʵʷ*60*100+ʵ*100 */ - DWORD dwVehicleSpeed; /* mobile speed =ʵٶ*100000 ʵʵλkph*/ - DWORD dwVehicleDirection; /* mobile direction= ʵʷ*100ʵֵǷǣΪ0ȣ˳ʱ */ - BYTE byRes[8]; // -}NET_DVR_GPS_INFO,*LPNET_DVR_GPS_INFO; //32ֽ - -//GPS״̬ϴ -typedef struct _NET_DVR_GPS_STATUS_ALARM_ -{ - DWORD dwSize; - NET_DVR_TIME_V30 struGPSTime; //GPS ʱ䣬ñʱ - NET_DVR_GPS_INFO struGPSInfo; //GPS - BYTE byRetransFlag; //0- GPS Ϊʵʱ1- GPS Ϊش - BYTE byNeedsResponse; //Ӧǣ0Ӧ1Ӧ - BYTE byType;//ϱ 0-˻ - BYTE byBatteryRemaining;//ʣ-1--100; -1ʾ - int iRollAngle;//Ƕ,Χ-pi - +pi,ʵֵ*100 - int iPitchAngle;//ͷǶ,Χ-pi - +pi,ʵֵ*100 - WORD wRelativeHeight;//Ը߶ȣλ - WORD wVerticalSpeed;//ֱٶȣλ/Сʱ - BYTE byRes2[160]; // -}NET_DVR_GPS_STATUS_ALARM, *LPNET_DVR_GPS_STATUS_ALARM; - -//GPSʱ -typedef struct tagNTE_DVR_GPS_DATA -{ - NET_DVR_GPS_INFO struGPSInfo; //GPS - NET_DVR_TIME struTime; //GPSӦʱ㣬UTCʱ - BYTE byRes[12]; // -}NET_DVR_GPS_DATA,*LPNET_DVR_GPS_DATA; - -//GPSṹ -typedef struct tagNET_DVR_GET_GPS_DATA_PAPAM -{ - DWORD dwCmdType; //0-ʱβGPS,1-ʱGPS - union - { - struct - { - NET_DVR_TIME struBeginTime; //GPSݲʼʱ - NET_DVR_TIME struEndTime; //GPSݲҽʱ - DWORD dwInterval; //GPSʱλ - BYTE byRes[76]; // - }TimeSeg; - struct - { - NET_DVR_TIME struTimePoint; //GPSݲʼʱ䵥λ - BYTE byRes[104]; // - }TimePoint; - }GpsDataParam; -}NET_DVR_GET_GPS_DATA_PARAM,*LPNET_DVR_GET_GPS_DATA_PARAM; - -#define NET_SDK_MAX_CARD_LEN 32 //󿨺ų - -//ǩϢϴ -typedef struct _NET_DVR_TAG_INFO_ALARM_ -{ - DWORD dwSize; - BYTE byCardNo[NET_SDK_MAX_CARD_LEN/*32*/]; // - int iRssi;//źǿ,Χ-100 - +100 - BYTE byIndexCode[64];//ƽ̨index code,൱豸 - NET_DVR_TIME_V30 struAcquisitionTime;//ȡʱ - BYTE byRFIDInfo[32]; //ƬID - BYTE byRFIDInfoLen; //ƬID - BYTE byVoltageLow; //1ʾ͵ѹ0ʾ - BYTE byAlarmFlag; //(֪ͨƽ̨)ǷҪ1Ҫ0Ҫ - BYTE byDirection; //0ʾ,1ʾ,2ʾ,3-255 - BYTE byRes[48]; // -}NET_DVR_TAG_INFO_ALARM, *LPNET_DVR_TAG_INFO_ALARM; - - -typedef struct tagNET_DVR_SDKLOCAL_CFG -{ - BYTE byEnableAbilityParse; //ʹ,0-ʹ,1-ʹ,Ĭϲʹ - BYTE byVoiceComMode; //Խģʽ0-ʹöԽ⣨Ĭϣ1-ʹwindows apiģʽ - BYTE byLoginWithSimXml; //¼ʱʹģ,0-ʹ,1-ʹ,Ĭϲʹ - BYTE byCompatibleType; - BYTE byRes[380]; - BYTE byProtectKey[128]; //ĬΪ0 -}NET_DVR_SDKLOCAL_CFG, *LPNET_DVR_SDKLOCAL_CFG; - -typedef struct tagNET_DVR_LOCAL_ABILITY_PARSE_CFG -{ - BYTE byEnableAbilityParse; //ʹ,0-ʹ,1-ʹ,Ĭϲʹ - BYTE byRes[127]; -}NET_DVR_LOCAL_ABILITY_PARSE_CFG, *LPNET_DVR_LOCAL_ABILITY_PARSE_CFG; - -typedef struct tagNET_DVR_LOCAL_TALK_MODE_CFG -{ - BYTE byTalkMode; //Խģʽ0-ʹöԽ⣨Ĭϣ1-ʹwindows apiģʽ - BYTE byRes[127]; -}NET_DVR_LOCAL_TALK_MODE_CFG, *LPNET_DVR_LOCAL_TALK_MODE_CFG; - - -typedef struct tagNET_DVR_LOCAL_PROTECT_KEY_CFG -{ - BYTE byProtectKey[128]; //ĬΪ0 - BYTE byRes[128]; -}NET_DVR_LOCAL_PROTECT_KEY_CFG, *LPNET_DVR_LOCAL_PROTECT_KEY_CFG; - -typedef struct tagNET_DVR_SIMXML_LOGIN -{ - BYTE byLoginWithSimXml; //¼ʱʹģУṹֶ,0-ʹ,1-ʹ - BYTE byRes[127]; -}NET_DVR_SIMXML_LOGIN, *LPNET_DVR_SIMXML_LOGIN; - -//صò -typedef struct -{ /*JSON͸COMM_VCA_ALARMJSONʽ - 0~JSONʽο4.1.4; - 1~JSONʽο4.1.5 - */ - BYTE byVcaAlarmJsonType; - BYTE byRes[63]; -}NET_DVR_MESSAGE_CALLBACK_PARAM_V51,*LPNET_DVR_MESSAGE_CALLBACK_PARAM_V51; - -typedef enum tagNET_SDK_LOCAL_CFG_TYPE -{ - NET_SDK_LOCAL_CFG_TYPE_TCP_PORT_BIND = 0, //TCP˿ڰãӦṹNET_DVR_LOCAL_TCP_PORT_BIND_CFG - NET_SDK_LOCAL_CFG_TYPE_UDP_PORT_BIND, //UDP˿ڰãӦṹNET_DVR_LOCAL_UDP_PORT_BIND_CFG - NET_SDK_LOCAL_CFG_TYPE_MEM_POOL, //ڴرãӦṹNET_DVR_LOCAL_MEM_POOL_CFG - NET_SDK_LOCAL_CFG_TYPE_MODULE_RECV_TIMEOUT, //ģóʱʱ䣬ӦṹNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG - NET_SDK_LOCAL_CFG_TYPE_ABILITY_PARSE, //Ƿʹ⣬ӦṹNET_DVR_LOCAL_ABILITY_PARSE_CFG - NET_SDK_LOCAL_CFG_TYPE_TALK_MODE, //ԽģʽӦṹNET_DVR_LOCAL_TALK_MODE_CFG - NET_SDK_LOCAL_CFG_TYPE_PROTECT_KEY, //ԿãӦṹNET_DVR_LOCAL_PROTECT_KEY_CFG - NET_SDK_LOCAL_CFG_TYPE_CFG_VERSION, //ڲ԰汾ͷ豸˼NET_DVR_LOCAL_MEM_POOL_CFG, ֻòʱá - NET_SDK_LOCAL_CFG_TYPE_RTSP_PARAMS, //rtspãڽṹNET_DVR_RTSP_PARAMS_CFG - NET_SDK_LOCAL_CFG_TYPE_SIMXML_LOGIN, //ڵ¼ʱʹģsupportֶ, ӦṹNET_DVR_SIMXML_LOGIN - NET_SDK_LOCAL_CFG_TYPE_CHECK_DEV, //ʱ - NET_SDK_LOCAL_CFG_TYPE_SECURITY, //SDKΰȫã - NET_SDK_LOCAL_CFG_TYPE_EZVIZLIB_PATH, //өʯͨſַ - NET_SDK_LOCAL_CFG_TYPE_CHAR_ENCODE, //13.ַشص - NET_SDK_LOCAL_CFG_TYPE_PROXYS, //ûȡ - NET_DVR_LOCAL_CFG_TYPE_LOG, //־ NET_DVR_LOCAL_LOG_CFG - NET_DVR_LOCAL_CFG_TYPE_STREAM_CALLBACK, //ص NET_DVR_LOCAL_STREAM_CALLBACK_CFG - NET_DVR_LOCAL_CFG_TYPE_GENERAL, //ͨò NET_DVR_LOCAL_GENERAL_CFG - NET_DVR_LOCAL_CFG_TYPE_PTZ, //PTZǷ豸 - NET_DVR_LOCAL_CFG_MESSAGE_CALLBACK_V51, //V51صر,ӦṹΪNET_DVR_MESSAGE_CALLBACK_PARAM_V51 (NET_DVR_SetDVRMessageCallBack_V51ϰ汾Ч) - NET_SDK_LOCAL_CFG_CERTIFICATION, //ú֤صIJӦṹṹNET_DVR_LOCAL_CERTIFICATION - NET_SDK_LOCAL_CFG_PORT_MULTIPLEX, //˿ڸãӦṹNET_DVR_LOCAL_PORT_MULTI_CFG - NET_SDK_LOCAL_CFG_ASYNC, //첽ãӦṹNET_DVR_LOCAL_ASYNC_CFG - NET_SDK_P2P_LOGIN_2C, - NET_SDK_P2P_LOGIN_2B, - NET_SDK_P2P_LOGOUT, - NET_SDK_AUDIOCAST_CFG //ù㲥 ,ӦṹNET_LOCAL_AUDIOCAST_CFG -}NET_SDK_LOCAL_CFG_TYPE; - -typedef enum tagNET_SDK_EXCEPTION_CALLBACK_TYPE -{ - NET_SDK_EXCEPTION_CALLBACK_BY_POOL = 0, //̳ͨ߳쳣ص - NET_SDK_EXCEPTION_CALLBACK_DIRECTLY = 1, //ֱ쳣صϲ -}NET_SDK_EXCEPTION_CALLBACK_TYPE; - -typedef struct tagNET_DVR_LOCAL_GENERAL_CFG -{ - BYTE byExceptionCbDirectly; //0-̳ͨ߳쳣ص1-ֱ쳣صϲ - BYTE byNotSplitRecordFile; //طźԤб浽¼ļƬ 0-ĬƬ1-Ƭ - BYTE byResumeUpgradeEnable; //ʹܣ0-رգĬϣ1- - BYTE byAlarmJsonPictureSeparate; //JSON͸ݺͼƬǷ룬0-룬1-루COMM_ISAPI_ALARMصأ - BYTE byRes[4]; // - UINT64 i64FileSize; //λByte - DWORD dwResumeUpgradeTimeout; //ʱʱ䣬λ - BYTE byAlarmReconnectMode; //0-߳Ĭϣ 1-̳߳ - BYTE byStdXmlBufferSize; //ISAPI͸ջС1-1M -Ĭ - BYTE byMultiplexing; //0-ͨӣTLSӣرն·ã1-ͨӣTLSӣ· - BYTE byFastUpgrade; //0-1- - BYTE byRes1[232]; //Ԥ -}NET_DVR_LOCAL_GENERAL_CFG, *LPNET_DVR_LOCAL_GENERAL_CFG; - -typedef struct tagNET_SDK_P2P_SERVER_2C -{ - BYTE byPlatformType; //0- 1- 2-test2 - BYTE byRes1[3]; - char *pAppID; //APP ID - char *pAuthAddr; //֤IPַ - char *pPlatformAddr; //ƽ̨IPַ - char *pUserName; //˺ - char *pPassword; // - BYTE byRes[40]; -} NET_SDK_P2P_SERVER_2C, *LPNET_DVR_P2P_SERVER_2C; - -typedef struct tagNET_SDK_P2P_SERVER_2B -{ - BYTE byPlatformType; //0- 1- 2-test2 - BYTE byRes1[3]; - char *pAppID; //APP ID - char *pAuthAddr; //֤IPַ - char *pPlatformAddr; //ƽ̨IPַ - char *pToken; //Token - BYTE byRes[44]; -} NET_SDK_P2P_SERVER_2B, *LPNET_DVR_P2P_SERVER_2B; - -typedef struct tagNET_DVR_LOCAL_ASYNC_CFG -{ - BOOL bEnable; //첽ʹܣtrue- - BYTE byRes[60]; -}NET_DVR_LOCAL_ASYNC_CFG, *LPNET_DVR_LOCAL_ASYNC_CFG; - -typedef struct tagNET_DVR_LOCAL_STREAM_CALLBACK_CFG -{ - BYTE byPlayBackEndFlag; //0-صطŽǣ1-صطŽ - BYTE byRes[255]; // -}NET_DVR_LOCAL_STREAM_CALLBACK_CFG, *LPNET_DVR_LOCAL_STREAM_CALLBACK_CFG; - -typedef void(CALLBACK *LOGCALLBACK)(char *pContent, unsigned int dwInputLen, int wLogLevel, void *pData); - -typedef struct tagNET_DVR_LOCAL_LOG_CFG -{ - WORD wSDKLogNum; - LOGCALLBACK fnCB; //־ص - void *pUserData; //ûָ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE byRes[238]; // -#else - BYTE byRes[246]; // -#endif -}NET_DVR_LOCAL_LOG_CFG, *LPNET_DVR_LOCAL_LOG_CFG; - -typedef int(CALLBACK * CHAR_ENCODE_CONVERT)(char * pInput, DWORD dwInputLen, DWORD dwInEncodeType, char *pOutput, DWORD dwOutputLen, DWORD dwOutEncodeType); - -typedef struct tagNET_DVR_LOCAL_BYTE_ENCODE_CONVERT -{ - CHAR_ENCODE_CONVERT fnCharConvertCallBack; - BYTE byRes[256]; -}NET_DVR_LOCAL_BYTE_ENCODE_CONVERT, *LPNET_DVR_LOCAL_BYTE_ENCODE_CONVERT; - -typedef struct tagNET_DVR_LOCAL_SECURITY -{ - BYTE bySecurityLevel;//˽Эͨģʽ //0-ģʽĬϣеSDK¼Эͨ1-ȫģʽMD5, RSAMD5¼У2-ȫģʽRSARSA¼У - BYTE byRes[255]; -}NET_DVR_LOCAL_SECURITY, *LPNET_DVR_LOCAL_SECURITY; - -typedef struct tagNET_DVR_LOCAL_CHECK_DEV -{ - DWORD dwCheckOnlineTimeout; //Ѳʱλms СֵΪ30sֵ120sΪ0ʱʾĬֵ(120s) - DWORD dwCheckOnlineNetFailMax; //ԭʧܵۼӴֵSDKŻصû쳣Ϊ0ʱʾʹĬֵ1 - BYTE byRes[256]; -}NET_DVR_LOCAL_CHECK_DEV,*LPNET_DVR_LOCAL_CHECK_DEV; - -typedef struct tagNET_DVR_LOCAL_PTZ_CFG -{ - BYTE byWithoutRecv; //0-豸أ1-豸 - BYTE byRes[63]; -}NET_DVR_LOCAL_PTZ_CFG, *LPNET_DVR_LOCAL_PTZ_CFG; - -typedef struct tagNET_DVR_LOCAL_CFG_VERSION -{ - BYTE byVersion; //汾Ϣ - BYTE byRes[63]; // -}NET_DVR_LOCAL_CFG_VERSION, *LPNET_DVR_LOCAL_CFG_VERSION; - -typedef struct tagNET_DVR_LOCAL_TCP_PORT_BIND_CFG -{ - WORD wLocalBindTcpMinPort; //ذTcpС˿ - WORD wLocalBindTcpMaxPort; //ذTcp˿ - BYTE byRes[60]; // -}NET_DVR_LOCAL_TCP_PORT_BIND_CFG, *LPNET_DVR_LOCAL_TCP_PORT_BIND_CFG; - - -typedef struct tagNET_DVR_LOCAL_UDP_PORT_BIND_CFG -{ - WORD wLocalBindUdpMinPort; //ذUdpС˿ - WORD wLocalBindUdpMaxPort; //ذUdp˿ - BYTE byRes[60]; // -}NET_DVR_LOCAL_UDP_PORT_BIND_CFG, *LPNET_DVR_LOCAL_UDP_PORT_BIND_CFG; - - -typedef struct tagNET_DVR_LOCAL_MEM_POOL_CFG -{ - DWORD dwAlarmMaxBlockNum; //ģڴϵͳڴ飨blockÿblockΪ64MB, ϵͳ룬0ʾ - DWORD dwAlarmReleaseInterval; //ģڴͷŵļλ룬Ϊ0ʾͷ - DWORD dwObjectReleaseInterval; //ģڴͷŵļλ룬Ϊ0ʾͷ - BYTE byRes[508]; // -}NET_DVR_LOCAL_MEM_POOL_CFG, *LPNET_DVR_LOCAL_MEM_POOL_CFG; - -typedef struct tagNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG -{ - DWORD dwPreviewTime; //Ԥģ鳬ʱʱ - DWORD dwAlarmTime; //ģ鳬ʱʱ - DWORD dwVodTime; //طģ鳬ʱʱ - DWORD dwElse; //ģ - BYTE byRes[512]; // -}NET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG, *LPNET_DVR_LOCAL_MODULE_RECV_TIMEOUT_CFG; - -#define MAX_CERTIFICATE_ISSUER_LEN 64 //֤䷢߳ -#define MAX_CERTIFICATE_VALIDITY_LEN 128 //֤Чʱ䳤 -#define MAX_CERTIFICATE_SUBJECT_LEN 64 //֤߳ -typedef struct tagNET_DVR_CETTIFICATE_INFO -{ - DWORD dwSize; - char szIssuer[MAX_CERTIFICATE_ISSUER_LEN]; //֤䷢ - char szSubject[MAX_CERTIFICATE_SUBJECT_LEN]; //֤ - NET_DVR_TIME struStartTime; - NET_DVR_TIME struEndTime; - BYTE byRes1[1024]; -}NET_DVR_CETTIFICATE_INFO, *LPNET_DVR_CETTIFICATE_INFO; - -typedef BOOL(CALLBACK *fnCertVerifyResultCallBack) (DWORD uiResult, LPNET_DVR_CETTIFICATE_INFO lpCertificateInfo, char *pUserData); - -#define MAX_FILE_PATH_LEN 256 //ļ· -typedef struct tagNET_DVR_LOCAL_CERTIFICATION -{ - char szLoadPath[MAX_FILE_PATH_LEN]; - fnCertVerifyResultCallBack fnCB; - void* pUserData; - BYTE byRes[64]; -}NET_DVR_LOCAL_CERTIFICATION, *LPNET_DVR_LOCAL_CERTIFICATION; - -typedef struct tagNET_DVR_LOCAL_PORT_MULTI_CFG -{ - BOOL bEnable; //˿ڸʹܣtrue- - BYTE byRes[60]; -}NET_DVR_LOCAL_PORT_MULTI_CFG, *LPNET_DVR_LOCAL_PORT_MULTI_CFG; - -typedef struct tagNET_DVR_RTSP_PARAMS_CFG -{ - DWORD dwMaxBuffRoomNum; //rtp over udp򿪱ٵ󻺳0ΪЧʹĬֵ20 - //һڴΪ10Kһ㣬Խ࣬ԽǿԽãʱҲԽ - BYTE byUseSort; //Ƿrtp over udp 0- 1- - BYTE byRes[123]; -}NET_DVR_RTSP_PARAMS_CFG, *LPNET_DVR_RTSP_PARAMS_CFG; - -typedef struct tagNET_DVR_OPTICAL_CHANNEL_BIND -{ - WORD wChannelIndex; //ں(0-7) - WORD wSubChannel; //ͨţȡֵΧȡ - BYTE byBind; //0-󶨻󶨣1- - BYTE byRes[3]; -}NET_DVR_OPTICAL_CHANNEL_BIND,*LPNET_DVR_OPTICAL_CHANNEL_BIND; - -typedef struct tagNET_DVR_OPTICAL_CHANNEL_CFG -{ - DWORD dwSize; - NET_DVR_OPTICAL_CHANNEL_BIND struBindVideo;//Ƶ - NET_DVR_OPTICAL_CHANNEL_BIND struBindAudio;//Ƶ - BYTE byRes[16]; // -}NET_DVR_OPTICAL_CHANNEL_CFG,*LPNET_DVR_OPTICAL_CHANNEL_CFG; - -typedef struct tagNET_DVR_OPTICAL_INFO -{ - DWORD dwSize; - BYTE bySlotNum;//ϵͳλ - BYTE byChannel; //ͨ - BYTE byRes[18]; -}NET_DVR_OPTICAL_INFO,*LPNET_DVR_OPTICAL_INFO; - -//Ƶл -typedef struct tagNET_DVR_AUDIO_SURCHAN_CFG -{ - DWORD dwSize; - BYTE byStatus; //ƵǷ1-0- - BYTE byRes1[3]; - //²byStatus == 1ʱЧ - DWORD dwSubWinNum; //Ӵں - DWORD dwSurChanNum; /*ͨ */ - NET_DVR_IPADDR struIpaddr; /*ַͨ */ - WORD wPort; /*ͨ˿ */ - BYTE byRes2[14]; -}NET_DVR_AUDIO_SURCHAN_CFG, *LPNET_DVR_AUDIO_SURCHAN_CFG; - -//˿ھۺ -#define MAX_ETHERNET_PORT_NUM 8//ÿ·˿ -typedef struct tagNET_DVR_ETHERNET_CHANNEL_INFO -{ - DWORD dwSize; - BYTE byConverge[MAX_ETHERNET_PORT_NUM]; - //byConverge[i] = jʾi˿ڼ뵽j·jȡֵΪ1-8,j=0ʾƳ - BYTE byRes[32]; -}NET_DVR_ETHERNET_CHANNEL_INFO,*LPNET_DVR_ETHERNET_CHANNEL_INFO; - -// -typedef struct tagNET_DVR_SPARTAN_INFO -{ - DWORD dwSize; - BYTE bySpartanStatus; //0-Թأ1-Կ - BYTE byRes[31]; -}NET_DVR_SPARTAN_INFO,*LPNET_DVR_SPARTAN_INFO; - -typedef struct tagNET_DVR_IPADDR_FILTERCFG -{ - DWORD dwSize; - BYTE byEnable; //IPַˣ0-1- - BYTE byFilterType; //ͣ0-ã1- - BYTE byRes[18]; - BYTE byIPAddr[1024]; //IPַϢʽ192.168.1.2;192.168.1.3 -}NET_DVR_IPADDR_FILTERCFG, *LPNET_DVR_IPADDR_FILTERCFG; - -typedef struct tagNET_DVR_LOGO_OVERLAYCFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-1- - BYTE byRes1[3]; - DWORD dwCoordinateX; //ͼƬʾX - DWORD dwCoordinateY; //ͼƬʾY - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - BYTE byLogoName[16];//Logo -}NET_DVR_LOGO_OVERLAYCFG,*LPNET_DVR_LOGO_OVERLAYCFG; - - -typedef struct tagNET_DVR_INVALID_DISK_PARAM -{ - NET_DVR_STRUCTHEAD struStructHead; - DWORD dwDiskNo; // ̺ - BYTE byDelAll; // 0-ɾdwDiskNo 1-ɾȫЧ - BYTE byres[31]; -}NET_DVR_INVALID_DISK_PARAM, *LPNET_DVR_INVALID_DISK_PARAM; - - -typedef struct tagNET_DVR_INVALID_MOUNT_DISK_PARAM -{ - NET_DVR_STRUCTHEAD struStructHead; - DWORD dwDiskNo; // ̺ - BYTE byres[32]; -}NET_DVR_MOUNT_DISK_PARAM, *LPNET_DVR_MOUNT_DISK_PARAM; - -// ӻص -typedef enum -{ - NET_SDK_CALLBACK_TYPE_STATUS = 0, // ص״ֵ̬ - NET_SDK_CALLBACK_TYPE_PROGRESS, // صֵ - NET_SDK_CALLBACK_TYPE_DATA // ص -}NET_SDK_CALLBACK_TYPE; - - -// صΪNET_SDK_CALLBACK_TYPE_STATUSʱ״ֵ̬ -typedef enum -{ - NET_SDK_CALLBACK_STATUS_SUCCESS = 1000, // ɹ - NET_SDK_CALLBACK_STATUS_PROCESSING, // - NET_SDK_CALLBACK_STATUS_FAILED, // ʧ - NET_SDK_CALLBACK_STATUS_EXCEPTION, // 쳣 - NET_SDK_CALLBACK_STATUS_LANGUAGE_MISMATCH, //IPCļ룩Բƥ - NET_SDK_CALLBACK_STATUS_DEV_TYPE_MISMATCH, //IPCļ룩豸Ͳƥ - NET_DVR_CALLBACK_STATUS_SEND_WAIT, // ͵ȴ -}NET_SDK_CALLBACK_STATUS_NORMAL; - - -//һͨ״̬ -#define NET_SDK_OKC_STATUS_SUCCESS 1000 //һóɹ -#define NET_SDK_OKC_STATUS_FAILED 1002 //һʧ - -//һCVR״̬ -#define NET_SDK_OKC_STATUS_START_CONFIG 1003 //ʼ -#define NET_SDK_OKC_CHECK_HD 1004 // -#define NET_SDK_OKC_INIT_HD 1005 //ʼ -#define NET_SDK_OKC_CREATE_RAID_OR_SINGLE_DISK 1006 //лߵģʽ -#define NET_SDK_OKC_INIT_CVR_SERVICE 1007 //ʼCVR -#define NET_SDK_OKC_CREATE_RECORD_VOLUME 1008 //¼ - -//Ϊһʧܵ״̬롪part1 -#define NET_SDK_OKC_ERR_LOAD_CONF_FAILED 1009 //ļʧ -#define NET_SDK_OKC_ERR_NOT_SUPPORT_RAID_LEVLE 1010 //ִ֧͵raid -#define NET_SDK_OKC_ERR_CONFIGURATION_CONFLICT 1011 //ϵͳѾraid洢 -#define NET_SDK_OKC_ERR_GET_DISK_INFO_FAILED 1012 //ȡϢʧ -#define NET_SDK_OKC_ERR_CHECK_DISK_FAILED 1013 //ʧ -#define NET_SDK_OKC_ERR_INIT_DISK_FAILED 1014 //ʼʧ -#define NET_SDK_OKC_ERR_DISK_CAPACITY_SMALL 1015 // -#define NET_SDK_OKC_ERR_BOTH_SV_NS 1016 //ͬʱSV̺NS -#define NET_SDK_OKC_ERR_CREATE_RAID_FAILED 1017 //raidʧ -#define NET_SDK_OKC_ERR_GET_RAID_FAILED 1018 //ȡraidʧ -#define NET_SDK_OKC_ERR_CREATE_SPARE_FAILED 1019 //ȱʧ -#define NET_SDK_OKC_ERR_CREATE_STORAGE_POOL_FAILED 1020 //洢ʧ -#define NET_SDK_OKC_ERR_GET_POOL_INFO_FAILED 1021 //ȡ洢Ϣʧ -#define NET_SDK_OKC_ERR_CREATE_LUN_FAILED 1022 //lunʧ -#define NET_SDK_OKC_ERR_GET_LUN_INFO_FAILED 1023 //ȡlunϢʧ -#define NET_SDK_OKC_ERR_CREATE_BACKUP_FAILED 1024 //Ԥʧ -#define NET_SDK_OKC_ERR_GET_BACKUP_FAILED 1025 //ȡԤʧ -#define NET_SDK_OKC_ERR_CREATE_PRIVATE_LUN_FAILED 1026 //˽оʧ -#define NET_SDK_OKC_ERR_CREATE_RV_FAILED 1027 //¼ʧ -#define NET_SDK_OKC_ERR_CREATE_ARCH_RV_FAILED 1028 //浵ʧ -#define NET_SDK_OKC_ERR_START_CVR_SERVICE_FAILED 1029 //CVRʧ - -//һSAN״̬ -#define NET_SDK_OKC_CREATING_ARRAY 1030 //н׶ -#define NET_SDK_OKC_CREATING_STORAGE_POOL 1031 //洢ؽ׶ -#define NET_SDK_OKC_CREATING_LUN_VOL 1032 //߼׶ -#define NET_SDK_OKC_CREATING_ISCSI 1033 //ISCSI׶ -#define NET_SDK_OKC_ERR_HOT_SPARE_CONFICT 1034 //Ѵȱ -#define NET_SDK_OKC_ERR_STORAGE_POOL_CONFICT 1035 //Ѵڴ洢 -#define NET_SDK_OKC_ERR_RAID_CONFLICT 1036 //ϵͳѾ -#define NET_SDK_OKC_ERR_OPEN_ISCSI_FAILED 1037 //ISCSIʧ -#define NET_SDK_OKC_ERR_DEVICE_NOSUPPORT_SAN 1038 //豸֧san - -//Ϊһʧܵ״̬롪part2 -#define NET_SDK_OKC_ERR_SAPRE_NUM_EXCEED 1101 //ȱ̸ -#define NET_SDK_OKC_ERR_CREATE_PIC_VOLUME_FAILED 1102 //ͼƬʧ - -typedef enum -{ - NET_SDK_GET_NEXT_STATUS_SUCCESS = 1000, // ɹȡݣͻ˴걾ݺҪٴεNET_DVR_RemoteConfigGetNextȡһ - NET_SDK_GET_NETX_STATUS_NEED_WAIT, // ȴ豸ݣNET_DVR_RemoteConfigGetNext - NET_SDK_GET_NEXT_STATUS_FINISH, // ȫȡ꣬ʱͻ˿ɵNET_DVR_StopRemoteConfig - NET_SDK_GET_NEXT_STATUS_FAILED, // 쳣ͻ˿ɵNET_DVR_StopRemoteConfig -}NET_SDK_GET_NEXT_STATUS; - -// ûSendwithRecvӿʱӿڷص״̬ -typedef enum -{ - NET_SDK_CONFIG_STATUS_SUCCESS = 1000, // ɹȡݣͻ˴걾ݺҪٴεNET_DVR_SendWithRecvRemoteConfigȡһ - NET_SDK_CONFIG_STATUS_NEEDWAIT, // õȴͻ˿NET_DVR_SendWithRecvRemoteConfig - NET_SDK_CONFIG_STATUS_FINISH, // ȫȡ꣬ʱͻ˿ɵNET_DVR_StopRemoteConfig - NET_SDK_CONFIG_STATUS_FAILED, // ʧܣͻ˿NET_DVR_SendWithRecvRemoteConfig·һ - NET_SDK_CONFIG_STATUS_EXCEPTION, // 쳣ʱͻ˿ɵNET_DVR_StopRemoteConfig -}NET_SDK_SENDWITHRECV_STATUS; - -//ļ -typedef enum tagNET_SDK_IPC_CFG_FILE_ERR_CODE -{ - NET_SDK_IPC_CFG_FILE_NO_ERR = 0, /* û */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_CHANNEL_INVALID = 1, /* ͨIDǷ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_CHANNEL_DUPLICATE, /* ͨIDظ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_IP_INVALID, /* ͨIPǷ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_IP_DUPLICATE, /* ͨIPظ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_IP_CONFLICT_WITH_LOCAL, /* ͨIP뱾IPͻ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_PROTOCOL_INVALID, /* Э */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_PORT_INVALID, /* ˿ڴ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_DEVICE_CHANNEL_ERR, /* 豸ͨŴ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_USER_NAME_ERR, /* ûǷַ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_PASSWD_ERR, /* 뺬Ƿַ */ - NET_SDK_IPC_CFG_FILE_ERR_CODE_TRANSPORT_PROTOCOL_INVALID /*Э*/ -}NET_SDK_IPC_CFG_FILE_ERR_CODE; - -//IPC -typedef enum -{ - NET_SDK_UPGRADE_IPC_INVALID = 0, //Чͨδѡͨ - NET_SDK_UPGRADE_IPC_SUCCESS, //ɹ - NET_SDK_UPGRADE_IPC_OFFLINE, //IPC - NET_SDK_UPGRADE_IPC_NOT_SUPPORT, //IPC֧ - NET_SDK_UPGRADE_IPC_LANGUAGE_MISMATCH, //Բƥ - NET_SDK_UPGRADE_IPC_WRITE_FLASH_FAILED, //дflshʧ - NET_SDK_UPGRADE_IPC_OTHER_ERROR // -}NET_SDK_UPGRADE_IPC_ERR_CODE; - -typedef enum -{ - NET_SDK_REMOTE_CONFIG_STATUS_SUCCESS = 1001,//¼һɹ - NET_SDK_REMOTE_CONFIG_STATUS_FAILED, //¼һʧ - NET_SDK_REMOTE_CONFIG_STATUS_PROCESSING //¼һڻȡ -}NET_SDK_REMOTE_CONFIG_STATUS; - -#define MAX_CODE_CARD_SUPPORTDISPNUMS 8//ÿ뿨ֵ֧ʾͨ -#define MAX_SUPPORT_RES 32 - -typedef enum _BOARD_TYPE -{ - DS4004HC_BOARD =2, //4004HC - DS4008HC_BOARD =3, //4008HC - DS4016HC_BOARD =4, //4016HC - DS4001HF_BOARD =5, //4001HF - DS4004HF_BOARD =6, //4004HF - DS4002MD_BOARD =7, //4002MD - DS4004MD_BOARD =8, //4004MD - DS4016HCS_BOARD =9, //4016HCS - DS4004HC_PLUS_BOARD =13, //4004HC+ - DS4008HC_PLUS_BOARD =14, //4008HC+ - DS4016HC_PLUS_BOARD =15, //4016HC+ - DS4008HF_BOARD =16, //4008HF - DS4008MD_BOARD =17, //4008MD - DS4008HS_BOARD =18, //4008HS - DS4016HS_BOARD =19, //4016HS - - DS4108HCV_BOARD =20, //4108HCV - DS4116HCV_BOARD =21, //4116HCV - DS5016HC_BOARD =22, //5016HC - - DS4208HFV_BOARD =23, //4208HFV - DS4216HC_BOARD =24, //4216HC - DS4216HFV_BOARD =25, //4216HFV - - DS5008HF_BOARD =26, //5008HF - DS5116HF_BOARD =27, //5116HF - - DS5216HC_BOARD =28, //5216HC - DS5208HF_BOARD =29, //5208HF - DS5216HF_BOARD =30, //5216HF - - DS4101HD_BOARD =31, //4101HD - DS4102HD_BOARD =32, //4102HD - DS4104HD_BOARD =33, //4104HD - - DS4002MD_PLUS_BOARD =34, //4002MD+ - DS4004MD_PLUS_BOARD =35, //4004MD+ - - DS4204HFV_BOARD =36, //4204HFV - DS4308HCV_BOARD =37, //4308HCV - DS4308HFV_BOARD =38, //4308HFV - DS4316HCV_BOARD =39, //4316HCV - DS4316HFV_BOARD =40, //4316HFV - DS4304HD_BOARD =41, //4304HD - DS4304HFH_BOARD =42, //4304HFH - DS4304HFV_BOARD =43, //4304HFV - DS4302HFH_BOARD =44, //4302HFH - DS5316HF_BOARD =45, //5316HF - DS4308HW_BOARD =46, //4308HW - DS4316HW_BOARD =47, //4316HW - DS4308MD_BOARD =48, //4308MD - UNKNOWN_BOARD_TYPE =0xffffffff, -}BOARD_TYPE; - -typedef struct tagNET_DVR_CODECARD_ABILITY /*뿨*/ -{ - BYTE byCardType; //뿨(BOARD_TYPEеö) - BYTE byCodeNums; //ͨ - BYTE byDispNums; //ʾͨ - BYTE byCodeStartIdx; //׸ͨбͨе - BYTE byDispStartIdx; //׸ʾͨʾͨе - BYTE byRes1[3]; - DWORD dwVgaSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwHdmiSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwDviSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - DWORD dwYpbprSupportResolution[MAX_SUPPORT_RES/*32*/];//ֵ֧ķֱ - BYTE byDispFormat[MAX_CODE_CARD_SUPPORTDISPNUMS]; //ֵ֧ģʽ(HD_DISPLAY_FORMATеö) - BYTE byWindowMode[MAX_CODE_CARD_SUPPORTDISPNUMS][12]; //ֵ֧Ĵģʽ(1,2,4,9,16)) - BYTE byRes2[36]; -}NET_DVR_CODECARD_ABILITY,*LPNET_DVR_CODECARD_ABILITY; - -#define MAX_CODE_CARD_NUM 8 //뿨 -typedef struct tagNET_DVR_CODESVR_ABILITY -{ - DWORD dwSize; /* ṹС */ - BYTE byCardNums; /* 뿨 */ - BYTE byStartChan; /* ʼͨ */ - BYTE byRes1[2]; - NET_DVR_CODECARD_ABILITY struCodeCardAbility[MAX_CODE_CARD_NUM]; - BYTE byRes2[64]; -}NET_DVR_CODESVR_ABILITY, *LPNET_DVR_CODESVR_ABILITY; - -typedef struct tagNET_DVR_CODER_SERVER_OUTPUT_CFG -{ - DWORD dwSize; - BYTE byDispChanType; /*ʾͨͣ0-BNC1-VGA2-HDMI3-DVI*/ //˲ֻܻȡ - BYTE byVedioFormat; /*1:NTSC,2:PAL0-NULL*/ - BYTE byRes1[2]; - DWORD dwResolution; //ֱ - DWORD dwWindowMode; /*ģʽ֧ģʽȡ*/ - BYTE byRes2[64]; -}NET_DVR_CODER_SERVER_OUTPUT_CFG,*LPNET_DVR_CODER_SERVER_OUTPUT_CFG; - -typedef struct tagNET_DVR_DISPLAY_START_INFO -{ - DWORD dwSize; - DWORD dwDisplayChan; //ʾͨ - DWORD dwCodeChan; //ͨ - DWORD dwWinNum; //ںţ1 - BYTE byEnableAudio; //Ƶ0-أ1- - BYTE byRes[31]; -}NET_DVR_DISPLAY_START_INFO,*LPNET_DVR_DISPLAY_START_INFO; - -typedef struct tagNET_DVR_CODER_WINDOW_INFO -{ - DWORD dwSize; - DWORD dwDisplayChan;//ʾͨ - DWORD dwWinNum; //ںţ1ʼ - BYTE byRes[16]; -}NET_DVR_CODER_WINDOW_INFO,*LPNET_DVR_CODER_WINDOW_INFO; - -typedef struct tagNET_DVR_WINDOW_STATUS -{ - DWORD dwSize; //ṹС - DWORD dwCodeChan; /*ͨ*/ - BYTE byDisplay; /*Ƿ0-1-*/ - BYTE byAudio; /*ƵǷ,0-1-*/ - BYTE byRes[30]; -}NET_DVR_WINDOW_STATUS,*LPNET_DVR_WINDOW_STATUS; - -typedef struct tagNET_DVR_RECORD_LOCK_PERCENTAGE -{ - DWORD dwSize; //ṹС - BYTE byPercentage; //ٷֱȣȡֵΧ[0,100] - BYTE byRes[31]; // -}NET_DVR_RECORD_LOCK_PERCENTAGE, *LPNET_DVR_RECORD_LOCK_PERCENTAGE; - -typedef struct tagNET_DVR_UPDATE_RECORD_INFO -{ - DWORD dwSize; //ṹС - NET_DVR_STREAM_INFO struStreasmInfo; //ID - DWORD dwBeginTime; //¼ܵĿʼʱ - DWORD dwEndTime; //¼ܵĽʱ - BYTE byRes[32]; // -}NET_DVR_UPDATE_RECORD_INFO, *LPNET_DVR_UPDATE_RECORD_INFO; - -typedef struct tagNET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA -{ - NET_DVR_STREAM_INFO struStreamInfo; - DWORD dwCmdType; //ⲿ - DWORD dwRecordTimeLen; //¼ʱ䣬λ - BYTE byEventID[MAX_EVENTID_LEN]; //¼IDΪϢ - DWORD dwLockDuration; //ʱ䣬λ룬0xffffffff- 0- - BYTE byBackUp; //Ƿ浵0-浵1-浵 - BYTE byPreRecord; //ǷԤ¼0-Ԥ¼1-Ԥ¼ - BYTE byRes[122]; -}NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA, *LPNET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA; - -typedef struct tagNET_DVR_LOCK_FILE_BY_NAME_PARA -{ - BYTE byFileName[NAME_LEN]; // ¼ļЭֻ32ļ - DWORD dwLockDuration; // ʱ,λ룬0xffffffffʾ - BYTE byRes[512]; -}NET_DVR_LOCK_FILE_BY_NAME_PARA, *LPNET_DVR_LOCK_FILE_BY_NAME_PARA; - - -typedef struct tagNET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3ԶͨGET /ISAPI/Streaming/channels//customStreamȡǰͨѾӵԶIDԶΪ6~10ֵ6~10 - BYTE byRes[32]; -}NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND, *LPNET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND; - - -typedef struct tagNET_DVR_MULTI_STREAM_COMPRESSIONCFG -{ - DWORD dwSize; - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3 - NET_DVR_COMPRESSION_INFO_V30 struStreamPara; //ѹ - DWORD dwResolution; //ֱС255ʱbyResolutionһ£255ʱԸֶηֵжϡ - BYTE byRes[76]; -}NET_DVR_MULTI_STREAM_COMPRESSIONCFG, *LPNET_DVR_MULTI_STREAM_COMPRESSIONCFG; - -typedef struct tagNET_DVR_PUSHALARMINFO_V40 -{ - DWORD dwAlarmType; /*0-ź,1-Ӳ,2-źŶʧ,3ƶ,4Ӳδʽ,5-дӲ̳,6-ڵ,7-ʽƥ, 8-Ƿ, 9-Ƶź쳣10-¼쳣 11- ܳ仯 12-쳣 */ - union - { - BYTE byRes[300]; - struct - { - DWORD dwAlarmInputNumber; /*λ,0λӦ0˿,dwAlarmTypeΪ0ʱҪ*/ - BYTE byAlarmOutputNumber[MAX_ALARMOUT_V30]; /*λ,0λӦ0˿, */ - BYTE byAlarmRelateChannel[MAX_CHANNUM_V30]; /*λ,0λӦ0ͨ*/ - BYTE byRes1[97]; - BYTE byDeviceID[NAME_LEN]; /*豸ID*/ - BYTE byRes2[7]; - }struIOAlarm; - struct - { - BYTE byStreamID[STREAM_ID_LEN]; // IDϢ - BYTE byRes1[132]; - BYTE byChannel[MAX_CHANNUM_V30]; /*λ,0x2ʾ1ͨ1λӦ1ͨ(ͨ1ʼ)dwAlarmTypeΪ23, 6910ʱҪ, */ - BYTE byRes2[33]; - BYTE byDeviceID[NAME_LEN]; /*豸ID*/ - BYTE byRes3[7]; - }struStreamIDorChannel; - struct - { - BYTE byRes1[228]; - BYTE byDiskNumber[MAX_DISKNUM_V30]; /*λ,0λӦ0Ӳ,dwAlarmTypeΪ1,4,5ʱҪ*/ - BYTE byDeviceID[NAME_LEN]; /*豸ID*/ - BYTE byRes2[7]; - }struDiskAlarm; - }uAlarmInfo; -}NET_DVR_PUSHALARMINFO_V40, *LPNET_DVR_PUSHALARMINFO_V40; - -typedef struct tagNET_DVR_RECORD_PACK -{ - NET_DVR_STRUCTHEAD struStruceHead; - DWORD dwPackageInterval; // ʱ ʱ䵥λ - BYTE byRes[32]; // -}NET_DVR_RECORD_PACK,*LPNET_DVR_RECORD_PACK; - -#define NET_DVR_FIND_NAS_DIRECTORY 6161 //NASĿ¼ -#define NET_DVR_NAS_FINDING 0 //ڲ -#define NET_DVR_NAS_RECV 1 // -#define NET_DVR_NAS_OVER 2 //ҽ -#define NET_DVR_NAS_EXCEPTION 3 //쳣 -typedef struct tagNET_DVR_NET_DISK_SERACH_PARAM -{ - NET_DVR_IPADDR struIP; // IPַ - WORD wPort; // IP˿ - BYTE byRes[10]; // ֽ -}NET_DVR_NET_DISK_SERACH_PARAM, *LPNET_DVR_NET_DISK_SERACH_PARAM; - - -typedef struct tagNET_DVR_NET_DISK_SERACH_RET -{ - BYTE byDirectory[128]; // صļĿ¼ - BYTE byRes[20]; -}NET_DVR_NET_DISK_SERACH_RET, *LPNET_DVR_NET_DISK_SERACH_RET; - -typedef struct tagNET_DVR_WD1_CFG -{ - NET_DVR_STRUCTHEAD struStruceHead; - BYTE byWD1Enable; //WD1ʹܿ 0 ر 1 - BYTE byRes[31]; // -}NET_DVR_WD1_CFG, *LPNET_DVR_WD1_CFG; - -typedef struct tagNET_DVR_FTPCFG_V40 -{ - NET_DVR_STRUCTHEAD struStruceHead; - BYTE byEnableFTP; /*Ƿftpϴܣ0-1-*/ - BYTE byProtocolType; /*Э 0-FTP1-SFTP*/ - WORD wFTPPort; /*˿*/ - union - { - struct - { - BYTE szDomain[64]; //ַʹIPv4 IPv6 - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp; /*IPַ:IPv4 IPv6ַ, 144ֽ*/ - }struAddrIP; - }unionServer; //ʹṹֹIPַ - BYTE szUserName[32]; /*û*/ - BYTE szPassWORD[16]; /**/ - BYTE szTopCustomDir[64]; /*ԶһĿ¼*/ - BYTE szSubCustomDir[64]; /*ԶĿ¼*/ - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼, 1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - BYTE byTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ - 0x4=ʹü,0x5=ʹʱ(),0x6-ʹԶ ,0x7=Υ,0x8=,0x9=ص*/ - BYTE bySubDirMode; /*Ŀ¼0x1=ʹͨ,0x2=ʹͨ 0x3=ʹʱ(), - 0x4=ʹó,0x5-ʹԶ, 0x6=Υ,0x7=,0x8=ص,0x9 = λ*/ - BYTE byType; /* 0-1-*/ - BYTE byEnableAnony; /* 0- 1*/ - BYTE byAddresType; /*0 ʹIPV4IPV6 1- ʹ*/ - BYTE byFTPPicType; //0-1-ͣץͼƬ - BYTE byPicArchivingInterval; //ͼƬ鵵[1~30],0ʾر - NET_DVR_PICTURE_NAME_EX struPicNameRule; /* ͼƬ: - byFTPPicType ==1ʱ,ڵͣץͼƬ*/ - BYTE byPicNameRuleType; //ͼƬͣ0~Ĭͣ1~ͼƬǰ׺(struPicNameRuleеbyPicNamePrefixֶ) - BYTE byRes[203]; /**/ -}NET_DVR_FTPCFG_V40, *LPNET_DVR_FTPCFG_V40; - -typedef struct tagNET_DVR_FTP_TYPE -{ - BYTE byType; // 0-1- - BYTE byRes[3]; -}NET_DVR_FTP_TYPE, *LPNET_DVR_FTP_TYPE; - -//FTPԲṹ -typedef struct -{ - DWORD dwSize; - BYTE byEnableFTP; /*Ƿftpϴܣ0-1-*/ - BYTE byProtocolType; /*Э 0-FTP1-SFTP*/ - WORD wFTPPort; /*˿*/ - union - { - BYTE byRes[144]; - struct - { - BYTE szDomain[MAX_DOMAIN_NAME]; //ַʹIPv4 IPv6 - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp; /*IPַ:IPv4 IPv6ַ, 144ֽ*/ - }struAddrIP; - }unionServer; //ʹṹֹIPַ - - BYTE szUserName[NAME_LEN]; /*û*/ - BYTE szPassWORD[PASSWD_LEN]; /**/ - BYTE szTopCustomDir[MAX_CUSTOM_DIR]; /*ԶһĿ¼*/ - BYTE szSubCustomDir[MAX_CUSTOM_DIR]; /*ԶĿ¼*/ - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼, 1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - BYTE byTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ - 0x4=ʹü,0x5=ʹʱ(),0x6-ʹԶ ,0x7=Υ, - 0x8=,0x9=ص*/ - BYTE bySubDirMode; /*Ŀ¼0x1=ʹͨ,0x2=ʹͨ 0x3=ʹʱ(), - 0x4=ʹó,0x5-ʹԶ, 0x6=Υ,0x7=,0x8=ص, - 0x9 = λ*/ - BYTE byType; /* 0-1-*/ - BYTE byEnableAnony; /* 0- 1*/ - BYTE byAddresType; /*0 ʹIPV4IPV6 1- ʹ*/ - - BYTE byRes2[198]; -}NET_DVR_FTP_SERVER_TEST_PARA, *LPNET_DVR_FTP_SERVER_TEST_PARA; - -#define NET_SDK_ACCESS_KEY_LEN 64 //볤 -#define NET_SDK_SECRET_KEY_LEN 64 //볤 - -//Խṹ -typedef struct tagNET_DVR_SERVER_TEST_PARA -{ - DWORD dwSize; - union - { - BYTE byRes[740]; - struct - { - NET_DVR_NTPPARA struNtpPara; /*NTPԲ80ֽ*/ - BYTE byRes1[660]; - }struNtpPara; - struct - { - NET_DVR_SINGLE_NET_DISK_INFO_V40 struNasPara; /*NASԲ480ֽ*/ - BYTE byRes1[260]; - }struNasPara; - struct - { - NET_DVR_FTP_SERVER_TEST_PARA struFtpPara; /*FTPԲ528ֽ*/ - BYTE byRes1[212]; - }struFtpPara; - struct - { - NET_DVR_EMAILCFG_V30 struEmailPara; /*EmailԲ660ֽ*/ - BYTE byRes1[80]; - }struEmailPara; - struct - { - NET_DVR_IPADDR struIp; /*IPͻԲ24ֽ*/ - BYTE byRes1[716]; - }struIpPara; - struct - { - NET_DVR_IPADDR struIPAdder; - WORD wPort; //˿ں - BYTE byRes2[2]; - char szUser[CLOUD_NAME_LEN/*48*/]; //û - char szPassword[CLOUD_PASSWD_LEN/*48*/]; // - NET_DVR_POOLPARAM struPoolInfo[16];// 0ʾͼƬݳأ1ʾΥͼƬݳأ2ʾݳأIPC/D - BYTE byProtocolType;//ƴ洢Э汾0- 1.0汾1- 2.0汾 - BYTE byRes3[3]; - char szAccessKey[NET_SDK_ACCESS_KEY_LEN/*64*/]; // - char szSecretKey[NET_SDK_SECRET_KEY_LEN/*64*/]; // - BYTE byRes1[354]; - }struCloudStoragePara; - struct - { - BYTE byPhoneNum[MAX_PHONE_NUM/*32*/]; - BYTE byRes1[708]; - }struPhoneNumPara;//Ų - }unionServerPara; - BYTE byRes2[800]; -}NET_DVR_SERVER_TEST_PARA, *LPNET_DVR_SERVER_TEST_PARA; - -typedef struct tagNET_DVR_GOP_INFO //ȡGOPϢṹ,ʱʹ -{ - DWORD dwSize; //ṹС - LONG lChannel; //ͨ - NET_DVR_TIME_EX struStartTime; //ʼʱ - NET_DVR_TIME_EX struEndTime; //ʱ - BYTE byRes[256]; // ֽ -}NET_DVR_GOP_INFO, *LPNET_DVR_GOP_INFO; - -typedef struct tagNET_DVR_GOP_INFO_RET -{ - NET_DVR_TIME_V30 struGopTime; //GopϢʱ - DWORD dwDuration; //Ϣʱ - DWORD dwDataSize; //ָpBufС - BYTE byRes[128]; - char* pBuf;//GopϢ -}NET_DVR_GOP_INFO_RET, *LPNET_DVR_GOP_INFO_RET; - -typedef struct tagNET_DVR_GOP_INFO_PASSBACK //Ϣ -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_V30 struTime; //ʼʱ,ΪԪʱʾĿʼʱ䣬ΪͼʱʾͼƬʱ - DWORD dwDuration; //Ϣʱ䣬ΪԪʱЧ - DWORD dwMetaDataSize; //ԴĴС - DWORD dwPicDataSize; //ͼƬݴС - char* pMetaDataBuffer; //Ԫݻ - char* pPicDataBuf; //ͼƬ - BYTE byRes[32]; -}NET_DVR_GOP_INFO_PASSBACK, *LPNET_DVR_GOP_INFO_PASSBACK; - -typedef struct tagNET_DVR_SINGLEWALLPARAM -{ - DWORD dwSize; - BYTE byEnable; - BYTE byRes1[3]; - DWORD dwWallNum;//ǽ - //Ϊ׼128128Ⱥ͸߶ֵãΪ׼ֵ - NET_DVR_RECTCFG struRectCfg; - BYTE byRes2[36]; -}NET_DVR_SINGLEWALLPARAM, *LPNET_DVR_SINGLEWALLPARAM; - -/*Ϣ*/ -typedef struct tagNET_DVR_WALLWINCFG -{ - DWORD dwSize; - BYTE byEnable; - BYTE byRes1[7]; - DWORD dwWinNum;//ں - DWORD dwLayerIndex;//Ӧͼ - NET_DVR_RECTCFG struWinPosition;//ĿĴ(ʾǽ) - DWORD dwDeviceIndex;//ֲʽ豸 - WORD wInputIndex;//źԴ - BYTE byRes2[14]; -}NET_DVR_WALLWINCFG, *LPNET_DVR_WALLWINCFG; - -typedef struct tagNET_DVR_WALL_INDEX -{ - DWORD dwSize; - BYTE byWallNo; //ǽţ1ʼ - BYTE bySceneNo; // - BYTE byRes1[2]; - DWORD dwDeviceID; //ֲʽ豸ID - DWORD dwWindowNo; ///źԴ - BYTE byRes2[32]; -}NET_DVR_WALL_INDEX, *LPNET_DVR_WALL_INDEX; - -typedef struct tagNET_DVR_WALLWINPARAM -{ - DWORD dwSize; - BYTE byTransparency; //ʹ͸ȣ0-أ0- - BYTE byWinMode;//ڷģʽȡ - BYTE byEnableSpartan;//ʹܣ0-أ1- - BYTE byDecResource; //ΪڷĽԴ1-D1,2-720P,3-1080P - BYTE byWndShowMode; //ʾģʽ0-ֶβã1-Ӵģʽ2-Ӵȫģʽ - BYTE byEnabledFeature; //Ƿóд0-ã!0- - BYTE byFeatureMode; //дģʽóдʱЧ0-Ч1-1+5ģʽ - BYTE byRes1; - DWORD dwAmplifyingSubWndNo; //ȫӴںţ1ֽǽ+1ֽӴں+2ֽڴںţ - //byWndShowModeΪ2ʱЧʾǰȫʾӴ - BYTE byWndTopKeep; //ö֣0-֣1- - BYTE byWndOpenKeep; //ڴ򿪱֣0-֣1- - BYTE byRes[22]; -}NET_DVR_WALLWINPARAM, *LPNET_DVR_WALLWINPARAM; - -typedef struct tagNET_DVR_WALLSCENECFG -{ - DWORD dwSize; - BYTE sSceneName[NAME_LEN]; // - BYTE byEnable; //ǷЧ0-Ч1-Ч - BYTE bySceneIndex; //ţֻܻȡȡгʱʹøò - BYTE byRes [78]; -}NET_DVR_WALLSCENECFG, *LPNET_DVR_WALLSCENECFG; - -typedef struct tagNET_DVR_WALLWIN_INFO -{ - DWORD dwSize; - DWORD dwWinNum; //ں - DWORD dwSubWinNum;//Ӵں - DWORD dwWallNo; //ǽ - BYTE byRes[12]; -}NET_DVR_WALLWIN_INFO,*LPNET_DVR_WALLWIN_INFO; - -typedef struct tagNET_DVR_WALL_WIN_STATUS -{ - DWORD dwSize ; - BYTE byDecodeStatus; /*ǰ״̬:0:δ,1 :*/ - BYTE byStreamType; /**/ - BYTE byPacketType; /*ʽ*/ - BYTE byFpsDecV; /*Ƶ֡*/ - BYTE byFpsDecA; /*Ƶ֡*/ - BYTE byRes1[7]; - DWORD dwDecodedV; /*Ƶ֡*/ - DWORD dwDecodedA; /*Ƶ֡*/ - WORD wImgW; /*ǰԴͼС*/ - WORD wImgH; - BYTE byStreamMode ; //Դ(˲Ƶۺƽ̨Ч)1-磬2-ۺƽ̨ڲϵͳ3-Ļ0xff-Ч - BYTE byRes2[31]; -}NET_DVR_WALL_WIN_STATUS, *LPNET_DVR_WALL_WIN_STATUS; - -typedef struct tagNET_DVR_WININDEX_INFO -{ - DWORD dwWinIndex; //ں - DWORD dwSubWinIndex;//Ӵں - BYTE byType ;//Դͣ1-룬2- - BYTE byWallNo ; //ǽ - BYTE byRes[6]; -}NET_DVR_WININDEX_INFO, *LPNET_DVR_WININDEX_INFO; - -typedef struct tagNET_DVR_ASSOCIATEDDEV_CHAN_INFO -{ - DWORD dwSize ; - BYTE sAddress[MAX_DOMAIN_NAME];//ipַ - WORD wDVRPort; /* ˿ں */ - WORD wChannel; /* ͨ */ - BYTE sUserName[NAME_LEN]; /* ½ʺ */ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byRes[24]; -}NET_DVR_ASSOCIATEDDEV_CHAN_INFO,*LPNET_DVR_ASSOCIATEDDEV_CHAN_INFO; - -typedef struct tagNET_DVR_WALLOUTPUTPARAM -{ - DWORD dwSize; - DWORD dwResolution; //ֱ - NET_DVR_VIDEOEFFECT struRes; - BYTE byVideoFormat; //ƵʽVIDEO_STANDARD - BYTE byDisplayMode;/*ģʽ,1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVIӦ0xff-Ч*/ - BYTE byBackgroundColor; //ɫ0-Чֱ֧ɫ1-죬2-̣3-4-ƣ5-ϣ6-࣬7-ڣ8-ף0xff-Զ - BYTE byUseEDIDResolution; //ǷʹEDIDֱʣ0-ʹã1-ʹ - WORD wLEDWidth; //LEDֱʿ - WORD wLEDHeight; //LEDֱʸ - NET_DVR_RGB_COLOR struBackColor;//ɫbyBackgroundColorΪ0xffʱЧ - BYTE byLinkStatus;//״̬0-Ч,1-ʾ,2-δʾ - BYTE byRes2[51]; -}NET_DVR_WALLOUTPUTPARAM, *LPNET_DVR_WALLOUTPUTPARAM; - -#define MAX_UNITEDMATRIX_NUM 8 //Ƶۺƽ̨ - -typedef struct NET_DVR_SUBMATRIXSYSTEMINFO -{ - //ƽ̨ţ0ʾ޴ƽ̨ - DWORD dwSequence; - BYTE sAddress[MAX_DOMAIN_NAME];//ipַ - WORD wSubMatrixPort; /*ϵͳ˿ں*/ - BYTE byRes1[6]; - BYTE sUserName[NAME_LEN]; /*û*/ - BYTE sPassword[PASSWD_LEN]; /* */ - BYTE byRes2[36]; -}NET_DVR_SUBMATRIXSYSTEMINFO,*LPNET_DVR_SUBMATRIXSYSTEMINFO; - -typedef struct tagNET_DVR_UNITEDMATRIXSYSTEMINFO -{ - DWORD dwSize; - //Ƶۺƽ̨Ϣ - NET_DVR_SUBMATRIXSYSTEMINFO struMatrixInfo[MAX_UNITEDMATRIX_NUM]; - BYTE byRes[32]; -}NET_DVR_UNITEDMATRIXSYSTEMINFO,*LPNET_DVR_UNITEDMATRIXSYSTEMINFO; - -typedef struct tagNET_DVR_SUBSTREAM_SWITCH_CFG -{ - BYTE byAutoSwitchEnable; //Զл0 - ã1 - - BYTE byRes1[3]; - WORD wSubWndWidth; //Ӵڿ趨ֵbyAutoSwitchEnableΪ1ʱЧ - WORD wSubWndHeight; //Ӵڸ߶趨ֵbyAutoSwitchEnableΪ1ʱЧ -}NET_DVR_SUBSTREAM_SWITCH_CFG, *LPNET_DVR_SUBSTREAM_SWITCH_CFG; - -typedef struct tagNET_DVR_WALL_CFG -{ - DWORD dwSize; - BYTE byTransparency;//͸,0-100,0Ϊ͸ - BYTE byWinStaticMode; //ڽֹͣʾģʽ1-(֮ǰǺɫ)2-ʾһ֡ͼ - BYTE byStreamFailedMode; //ȡʧʾģʽ1-Ƶźš2-ʾһ֡ͼ3-쳣4- - BYTE byEnabledOverlayLogo; //ʱǷLOGOʾû0-ӣ!0- - NET_DVR_SUBSTREAM_SWITCH_CFG struSubStreamSwitch; //л - BYTE byLEDShowMode; //LEDʾģʽ0-ͨģʽ1-ƽģʽ - BYTE byLowLatencyMode; //ʱģʽ0-ͨģʽ1-ʱģʽ - BYTE byRes[50]; -}NET_DVR_WALL_CFG, *LPNET_DVR_WALL_CFG; - -typedef struct tagNET_DVR_LEDDISPLAYINFO -{ - DWORD dwSize; - BYTE byAddressType; //0-ʵipv4 ipv6ַ 1- - BYTE byRes1[3]; - // unionServerʹʵʵַ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME/*64*/];//ַ - BYTE byRes1[80]; - }struDomain; - struct - { - NET_DVR_IPADDR struIp;/*IPַ*/ //IPv4 IPv6ַ, 144ֽ - } struAddrIP; - }unionServer; //ʹṹͨbyAddressTypeֶαʾIPַ 64 - char szDisplayInfo[MAX_LEDDISPLAYINFO_LEN/*1024*/]; - BYTE byRes[128]; -}NET_DVR_LEDDISPLAYINFO,*LPNET_DVR_LEDDISPLAYINFO; - - -typedef struct tagNET_DVR_LOW_LIGHT_CFG -{ - DWORD dwSize; - BYTE byLowLightLimt; /* նȵӿ: 0-أ1- */ - BYTE byLowLightLimtLevel; - /*0-أ1-*22-*33-*44-*65-*86-*127-*16 - 8-*249-*3210-*4811-*6412-*9613-*12814-*256 - 15-*512, 16-*1.25, 17-*1.5 */ - BYTE byRes[66]; -}NET_DVR_LOW_LIGHT_CFG, *LPNET_DVR_LOW_LIGHT_CFG; - -typedef struct tagNET_DVR_FOCUSMODE_CFG -{ - DWORD dwSize; - BYTE byFocusMode; /* ۽ģʽ0-Զ1-ֶ2-Զ */ - BYTE byAutoFocusMode; /* Զ۽ģʽ0-أ1-ģʽA2-ģʽB3-ģʽAB4-ģʽC Զ۽ģʽҪھ۽ģʽΪԶʱʾ*/ - WORD wMinFocusDistance; /* С۽룬λCM, 0-Զ0xffff-Զ */ - BYTE byZoomSpeedLevel; /* 䱶ٶȣΪʵȡֵ1-3 */ - BYTE byFocusSpeedLevel; /* ۽ٶȣΪʵȡֵ1-3 */ - BYTE byOpticalZoom; /* ѧ䱶0-255 */ - BYTE byDigtitalZoom; /* ֱ䱶0-255 */ - float fOpticalZoomLevel; /* ѧ䱶(ֵ) [1,32], С0.5 ڲ豸ʱ*1000 */ - DWORD dwFocusPos;/* dwFocusPos focusֵ۽ֵΧΪ[0x1000,0xC000]ֵsonyֵʹֵΪ˶ͳһ֤ͬľͷfocusֵתΧ (ֶ۽ģʽӦ)*/ - BYTE byFocusDefinitionDisplay;// ۽ʾ0~ʾ1~ʾ, ʾǰͷĿֵڰͻʹץܹﵽЧԽԽȷΧΪ0~100.0000 - BYTE byFocusSensitivity; //۽ȣΧ[0,2]۽ģʽΪԶԶʱЧ - BYTE byRes1[2]; - DWORD dwRelativeFocusPos;//focusֵ16λʾ۽ֵ0~400016λǰ۽ֵȡʱ¶ֵ - BYTE byRes[48]; -}NET_DVR_FOCUSMODE_CFG, *LPNET_DVR_FOCUSMODE_CFG; - -typedef struct tagNET_DVR_INFRARE_CFG -{ - DWORD dwSize; - BYTE byIrControlMode; /* -ģʽ0-Զ1-ֶ */ - BYTE byIrBrightness; /* -ȣ0-100 */ - BYTE byIrSensitivity; /* -ȣ0-100 */ - BYTE byIrTrigMode; /* ģʽ 0-о1- ԶģʽЧ*/ - BYTE byIrBrightnessLimit;/* ֵΪ80ʾǵǰƵΪԭȸԶԼֵ80% ԶģʽЧ*/ - BYTE byRes[63]; -}NET_DVR_INFRARE_CFG, *LPNET_DVR_INFRARE_CFG; - -typedef struct tagNET_DVR_AEMODECFG -{ - DWORD dwSize; - int iIrisSet; /* ȦΪʵȡֵ*100ֵ0- */ - int iGainSet; /* 棬عⲹΪʵȡֵ*100ֵпǸֵ */ - int iGainLimit;/* ƣعⲹΪʵȡֵ*100ֵпǸֵ */ - int iExposureCompensate; /* عⲹΪʵȡֵ*100ֵ105010.5dB, -750-7.5dB */ - BYTE byExposureModeSet; /* عģʽ,0-ֶģʽ1-Զع⣬2-Ȧȣ3-ȣ4- */ - BYTE byShutterSet; /* ţ0-أ1-Զx12-Զx23-Զx44-Զx85-Զx166-Զx327-Զx648-Զx1289-1/110-1/2 - 11-1/312-1/413-1/614-1/815-1/1216-1/1517-1/2518-1/3019-1/5020-1/6021-1/75 - 22-1/9023-1/10024-1/12025-1/12526-1/15027-1/18028-1/20029-1/21530-1/25031-1/300 - 32-1/35033-1/42534-1/50035-1/60036-1/72537-1/100038-1/125039-1500,40-1/175041-1/2000 - 42-1/250043-3000,44-1/350045-1/400046-1/600047-1/1000048-1/3000049-1/100000,50-1/175 - 51-1/19552-1/22553-1/230 */ - BYTE byImageStabilizeLevel; /* ȼ: 0-3 */ - BYTE byCameraIrCorrect; /* У: 0-Զ1-2, */ - BYTE byHighSensitivity; /* : 0-أ1- */ - BYTE byInitializeLens; /* ʼͷ: 0-أ1- */ - BYTE byChromaSuppress; /* ɫ :0-255*/ - BYTE byMaxShutterSet; //ֵ;ֵbyShutterSetͬ(Զع⡢ȦģʽЧ) - BYTE byMinShutterSet; //Сֵ;ֵbyShutterSetͬ(Զع⡢ȦģʽЧ) - BYTE byMaxIrisSet; //Ȧֵ(Զع⡢ģʽ) [0,100] ; - BYTE byMinIrisSet; //СȦֵ(Զع⡢ģʽ) [0,100] ; - BYTE byExposureLevel;//عȼعģʽΪԶȦȡЧȼ1-5 Ĭ4ϰ汾SDK豸ʱֽΪ0ֽΪ0ʱҲĬΪعȼΪ1 - BYTE byRes[60]; -}NET_DVR_AEMODECFG, *LPNET_DVR_AEMODECFG; - -typedef struct tagNET_DVR_FLASH_CFG -{ - DWORD dwSize; - DWORD dwChan;//ͨ - DWORD dwInNumbers;// - DWORD dwOutNumbers;//뿪 - DWORD dwStartTime;//ʼʱ - DWORD dwEndTime;//ʱ - DWORD dwEhomeFlag;// - DWORD dwAlarmFlag;// - BYTE byRes[1024]; -}NET_DVR_FLASH_CFG, *LPNET_DVR_FLASH_CFG; - -typedef struct tagNET_DVR_EXTERNAL_MATRIX_CFG -{ - DWORD dwSize; - BYTE byValid; // ЧʱΪãЧʱΪɾ - BYTE byRes1[3]; - BYTE sMatrixName[NAME_LEN/*32*/]; // - DWORD dwMatrixID; // IDţֻܻȡ - WORD wMatrixInputChanNum; // ͨĿ - WORD wMatrixOutputChanNum; // ͨĿ - WORD wMatrixOutputChanRef[MAX_CAM_COUNT]; //// 豸;İ󶨹ϵ±ʾ豸ͨţԪصֵʾͨţ - //Ԫֵ0 ʾ󶨾ͨԪֵΪ0ʱʾ󶨣ĻΪĻź;İ󶨹ϵ - BYTE byMatrixChanType;// ͨ1-BNC2-VGA3-RGB4-DVI - BYTE byMatrixProtocol; // Э1ZT1.02.ZT2.03.Extron4.Creator - BYTE byMatrixType; //1-ģ2-־ - BYTE byRes2; - NET_MATRIX_UNION struMatrixUnion; - BYTE byRes3[128]; -}NET_DVR_EXTERNAL_MATRIX_CFG, *LPNET_DVR_EXTERNAL_MATRIX_CFG; - -typedef struct tagNET_DVR_EXTERNAL_MATRIX_CFG_V50 -{ - DWORD dwSize; - BYTE byValid; // ЧʱΪãЧʱΪɾ - BYTE byRes1[3]; - BYTE sMatrixName[NAME_LEN/*32*/]; // - DWORD dwMatrixID; // IDţֻܻȡ - WORD wMatrixInputChanNum; // ͨĿ - WORD wMatrixOutputChanNum; // ͨĿ - WORD wMatrixOutputChanRef[MAX_CAM_COUNT_V50]; //// 豸;İ󶨹ϵ±ʾ豸ͨţԪصֵʾͨţ - //Ԫֵ0 ʾ󶨾ͨԪֵΪ0ʱʾ󶨣ĻΪĻź;İ󶨹ϵ - BYTE byMatrixChanType;// ͨ1-BNC2-VGA3-RGB4-DVI - BYTE byMatrixProtocol; // Э1ZT1.02.ZT2.03.Extron4.Creator - BYTE byMatrixType; //1-ģ2-־ - BYTE byRes2; - NET_MATRIX_UNION struMatrixUnion; - BYTE byRes3[128]; -}NET_DVR_EXTERNAL_MATRIX_CFG_V50, *LPNET_DVR_EXTERNAL_MATRIX_CFG_V50; - - -#define MAX_INPUTNUMS 1024 -#define MAX_OUTPUTNUMS 256 -typedef struct tagNET_DVR_ASSOCIATE_INPUT_PARAM -{ - BYTE byEnable; - BYTE byRes1[3]; - DWORD dwDeviceIndex;//ֲʽ豸 - WORD wInputIndex;//źԴ - BYTE byRes2[18]; -}NET_DVR_ASSOCIATE_INPUT_PARAM, *LPNET_DVR_ASSOCIATE_INPUT_PARAM; - -typedef struct tagNET_DVR_ASSOCIATE_OUTPUT_PARAM -{ - BYTE byEnable; - BYTE byWallNo; //ǽţ1ʼ - BYTE byRes1[2]; - DWORD dwOutputIndex; //ʾ - BYTE byRes2[20]; -}NET_DVR_ASSOCIATE_OUTPUT_PARAM,*LPNET_DVR_ASSOCIATE_OUTPUT_PARAM; - -typedef struct tagNET_DVR_VCS_USER_INFO -{ - DWORD dwSize; - BYTE sUserName[NAME_LEN]; // û16ֽ - BYTE sPassWord[PASSWD_LEN]; // - NET_DVR_IPADDR struUserIP; // ûIPַ(Ϊ0ʱʾκεַ) - BYTE byMacAddr[MACADDR_LEN]; // ַ - BYTE byPriority; // ȼ1-Ա2-Ա ԱκȨޣԱû"û"Ȩ - BYTE byRes1; - DWORD dwRight;/*Զ̲Ȩޣλʾ0-֧֣1-֧֣32λȨ*/ - //bit0-ȡû - //bit1-ʾ - //bit2-ڹ - //bit3-źԴ - //bit4-ֹ - //bit5-Ԥ - //bit6-ͼ - //bit7-OSD - //bit8-Ȩ - //bit9- - //bit10-Զ - //bit11-ָĬ - //bit12-뵼ļ - //bit13-־ѯ - //bit14-Զ - //bit15-Ļ - NET_DVR_ASSOCIATE_INPUT_PARAM struInputParam[MAX_INPUTNUMS/*1024*/]; - NET_DVR_ASSOCIATE_OUTPUT_PARAM struOutputParam[MAX_OUTPUTNUMS/*256*/]; - NET_DVR_RECTCFG_EX struManageRegion; //Ļ - BYTE byWallNo; //Ļǽţֵֻ֧ǽ豸ֶЧ - BYTE byRes2[3]; - BYTE sLoginPassword[PASSWD_LEN/*16*/]; /* ½*/ - BYTE byRes[88];} NET_DVR_VCS_USER_INFO, *LPNET_DVR_VCS_USER_INFO; - -typedef struct tagNET_DVR_STREAM_MEDIA_SERVER_CFG_V41 -{ - BYTE byValid; //Ƿã0-1- - BYTE byRes1[3]; - BYTE byAddress[MAX_DOMAIN_NAME]; //IP - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э 0-TCP1-UDP*/ - BYTE byRes2[69]; -}NET_DVR_STREAM_MEDIA_SERVER_CFG_V41,*LPNET_DVR_STREAM_MEDIA_SERVER_CFG_V41; - -//豸ͨϢ -typedef struct tagNET_DVR_DEV_CHAN_INFO_V41 -{ - BYTE byAddress[MAX_DOMAIN_NAME]; //豸 - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byDeviceType; //豸(Ƶۺƽ̨ܰʹ)1-ʱƵۺƽ̨byVcaSupportChanModeֶʹýͨʾͨ2- - BYTE byDispChan;//ʾͨ,ʹ - BYTE bySubDispChan;//ʾͨͨţʱʹ - BYTE byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wʹãݸòԴ - BYTE byUseZeroChan; //Ƿʹͨ0-1- - BYTE byRes; - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_DVR_DEV_CHAN_INFO_V41,*LPNET_DVR_DEV_CHAN_INFO_V41; - -typedef struct tagNET_DVR_DEV_CHAN_INFO_EX -{ - BYTE byChanType; //ͨͣ0-ͨͨ,1-ͨ,2-ID3-Դ4-ͨ5-ƴͨ6-Ļ7-ֲʽԴ8-ںͨ9-Դ - BYTE byStreamId[STREAM_ID_LEN]; //IDbyChanType=29ʱֶָipcID - BYTE byRes1[3]; - DWORD dwChannel; //ͨţͨΪͨͨͨԴͨƴͨĻֲʽԴʱֶ - BYTE byRes2[24]; - BYTE byAddress[MAX_DOMAIN_NAME]; //豸 - WORD wDVRPort; //˿ں - BYTE byChannel; //ͨ,dwChannelΪ0ʱֶЧ - BYTE byTransProtocol; //Э0-TCP1-UDP - BYTE byTransMode; //ģʽ 0 1 - BYTE byFactoryType; /*ǰ豸,ͨӿڻȡ*/ - BYTE byDeviceType; //豸(Ƶۺƽ̨ܰʹ)1-ʱƵۺƽ̨byVcaSupportChanModeֶʹýͨʾͨ2- - BYTE byDispChan;//ʾͨ,ʹ - BYTE bySubDispChan;//ʾͨͨţʱʹ - BYTE byResolution; //; 1-CIF 2-4CIF 3-720P 4-1080P 5-500wʹãݸòԴ - BYTE byRes[2]; - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // -}NET_DVR_DEV_CHAN_INFO_EX,*LPNET_DVR_DEV_CHAN_INFO_EX; - -typedef struct tagNET_DVR_STREAM_MEDIA_SERVER -{ - BYTE byValid; //Ƿã0-1- - BYTE byRes1[3]; - BYTE byAddress[MAX_DOMAIN_NAME]; //IP - WORD wDevPort; /*ý˿*/ - BYTE byTransmitType; /*Э 0-TCP1-UDP*/ - BYTE byRes2[5]; -}NET_DVR_STREAM_MEDIA_SERVER,*LPNET_DVR_STREAM_MEDIA_SERVER; - -typedef struct tagNET_DVR_DEV_DDNS_INFO -{ - BYTE byDevAddress[MAX_DOMAIN_NAME]; //(IPServerhiDDNSʱкŻ߱) - BYTE byTransProtocol; //Э0-TCP1-UDP, 2-MCAST - BYTE byTransMode; //ģʽ 0 1 - BYTE byDdnsType; //ͣ0-IPServer 1Dyndns 2PeanutHull()3- NO-IP, 4- hiDDNS - BYTE byRes1; - BYTE byDdnsAddress[MAX_DOMAIN_NAME]; //DDNSַ - WORD wDdnsPort; //DDNS˿ں - BYTE byChanType; //0-ͨͨ,1-ͨ,2-ID - BYTE byFactoryType; //ǰ豸,ͨӿڻȡ - DWORD dwChannel; //ͨ - BYTE byStreamId[STREAM_ID_LEN]; //ID - BYTE sUserName[NAME_LEN]; //½ʺ - BYTE sPassword[PASSWD_LEN]; // - WORD wDevPort; //ǰ豸ͨŶ˿ - BYTE byRes2[2]; -}NET_DVR_DEV_DDNS_INFO,*LPNET_DVR_DEV_DDNS_INFO; - -typedef struct tagNET_DVR_DEC_STREAM_DEV_EX -{ - NET_DVR_STREAM_MEDIA_SERVER struStreamMediaSvrCfg; - NET_DVR_DEV_CHAN_INFO_EX struDevChanInfo; -}NET_DVR_DEC_STREAM_DEV_EX,*LPNET_DVR_DEC_STREAM_DEV_EX; - - -//DDNSʽȡ -typedef struct tagNET_DVR_DEC_DDNS_DEV -{ - NET_DVR_DEV_DDNS_INFO struDdnsInfo; - NET_DVR_STREAM_MEDIA_SERVER struMediaServer; -}NET_DVR_DEC_DDNS_DEV,*LPNET_DVR_DEC_DDNS_DEV; - -typedef union tagNET_DVR_DEC_STREAM_MODE -{ - NET_DVR_DEC_STREAM_DEV_EX struDecStreamDev; - NET_DVR_PU_STREAM_URL struUrlInfo; - NET_DVR_DEC_DDNS_DEV struDdnsDecInfo; - BYTE byRes[300]; -}NET_DVR_DEC_STREAM_MODE,*LPNET_DVR_DEC_STREAM_MODE; - -typedef struct tagNET_DVR_PU_STREAM_CFG_V41 -{ - DWORD dwSize; - BYTE byStreamMode;/*ȡģʽ0-Ч1-ͨIPȡ2-ͨURLȡ,3-̬ͨ豸ȡ*/ - BYTE byStreamEncrypt; //Ƿܴ,0-֧,1-֧ - BYTE byRes1[2]; - NET_DVR_DEC_STREAM_MODE uDecStreamMode;//ȡϢ - DWORD dwDecDelayTime;//ʱʱ䣬λ - BYTE sStreamPassword[STREAM_PASSWD_LEN]; //,Ϣ - BYTE byRes2[48]; -}NET_DVR_PU_STREAM_CFG_V41,*LPNET_DVR_PU_STREAM_CFG_V41; - -typedef struct tagNET_DVR_MATRIX_CHAN_INFO_V41 -{ - BYTE byEnable; //Ƿã0-1- - BYTE byStreamMode;/*ȡģʽ0-Ч1-ͨIPȡ2-ͨURLȡ,3-̬ͨ豸ȡ*/ - BYTE byRes[2]; - NET_DVR_DEC_STREAM_MODE uDecStreamMode;//ȡϢ -}NET_DVR_MATRIX_CHAN_INFO_V41,*LPNET_DVR_MATRIX_CHAN_INFO_V41; - -typedef struct tagNET_DVR_MATRIX_LOOP_DECINFO_V41 -{ - DWORD dwSize; - DWORD dwPoolTime; /*Ѳ*/ - NET_DVR_MATRIX_CHAN_INFO_V41 struchanConInfo[MAX_CYCLE_CHAN_V30]; - BYTE byStreamEncrypt; //Ƿܴ,0-֧,1-֧ - BYTE byRes[3]; - BYTE sStreamPassword[STREAM_PASSWD_LEN]; //,Ϣ -}NET_DVR_MATRIX_LOOP_DECINFO_V41, *LPNET_DVR_MATRIX_LOOP_DECINFO_V41; - -typedef struct tagNET_DVR_MATRIX_DEC_CHAN_INFO_V41 -{ - DWORD dwSize; - BYTE byStreamMode;/*ȡģʽ0-Ч1-ͨIPȡ2-ͨURLȡ,3-̬ͨ豸ȡ*/ - BYTE byRes1[3]; - NET_DVR_DEC_STREAM_MODE uDecStreamMode;//ȡϢ - DWORD dwPlayMode; /* 0-̬ 1ѭ 2ʱط 3ļط */ - NET_DVR_TIME StartTime; /* ʱطſʼʱ */ - NET_DVR_TIME StopTime; /* ʱطֹͣʱ */ - BYTE sFileName[128]; /* ļطļ */ - DWORD dwGetStreamMode; /*ȡģʽ:1-2-*/ - NET_DVR_MATRIX_PASSIVEMODE struPassiveMode; - BYTE byRes2[32]; -}NET_DVR_MATRIX_DEC_CHAN_INFO_V41,*LPNET_DVR_MATRIX_DEC_CHAN_INFO_V41; - -typedef struct tagNet_DVR_IP_ADDRESS -{ - BYTE byDevAddress[MAX_DOMAIN_NAME]; /*豸IPַ*/ - WORD wDevPort; //豸˿ - BYTE byres[134]; -}NET_DVR_IP_ADDRESS, *LPNET_DVR_IP_ADDRESS; - -typedef struct tagNet_DVR_DDNS_ADDRESS -{ - BYTE byDevAddress[MAX_DOMAIN_NAME]; /*DDNS*/ - BYTE byDevDdns[MAX_DOMAIN_NAME]; /*豸ַ*/ - BYTE byDdnsType; //ͣ0-IPServer 1Dyndns 2PeanutHull()//3- NO-IP, 4- hiDDNS - BYTE byRes1[3]; - WORD wDevPort; //豸˿ - WORD wDdnsPort; //˿ - BYTE byres[64]; -}NET_DVR_DDNS_ADDRESS, *LPNET_DVR_DDNS_ADDRESS; - -typedef struct tagNet_DVR_PLAY_BACK_BY_TIME -{ - NET_DVR_TIME StartTime; - NET_DVR_TIME StopTime; -}NET_DVR_PLAY_BACK_BY_TIME, *LPNET_DVR_PLAY_BACK_BY_TIME; - -typedef struct tagNet_DVR_MATRIX_DEC_REMOTE_PLAY_EX -{ - DWORD dwSize; - DWORD dwDecChannel; //ͨ - BYTE byAddressType; //豸ַͣ0-IP1-DDNS - BYTE byChannelType; //ͨͣ0-ͨͨ1-ͨ2-ID - BYTE byres[2]; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwChannel; /* 豸ͨ */ - BYTE byStreamId[STREAM_ID_LEN]; //ID,˲ͨΪIDʱЧ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - union - { - BYTE byRes[200]; - NET_DVR_IP_ADDRESS struIpAddr; - NET_DVR_DDNS_ADDRESS struDdnsAddr; - }unionAddr; - - union - { - BYTE byRes[128]; - NET_DVR_PLAY_BACK_BY_TIME struPlayBackByTime; //ʱطʱļϢ - char sFileName[128]; //ļطʱļϢ - }unionPlayBackInfo; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_EX, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_EX; - -typedef struct tagNET_DVR_MATRIX_DEC_REMOTE_PLAY_V50 -{ - DWORD dwSize; - DWORD dwDecChannel; //ͨ - BYTE byAddressType; //豸ַͣ0-IP1-DDNS2-URL - BYTE byChannelType; //ͨͣ0-ͨͨ1-ͨ2-ID - BYTE byStreamEncrypt; //Ƿܴ,0-֧,1-֧ - BYTE byRes1[1]; - BYTE sUserName[NAME_LEN]; /* û */ - BYTE sPassword[PASSWD_LEN]; /* */ - DWORD dwChannel; /* 豸ͨ */ - BYTE byStreamId[STREAM_ID_LEN]; //ID,˲ͨΪIDʱЧ - DWORD dwPlayMode; /* 0ļ 1ʱ*/ - union - { - BYTE byRes[200]; - NET_DVR_IP_ADDRESS struIpAddr; //IPַbyAddressTypeΪ0ʱЧ - NET_DVR_DDNS_ADDRESS struDdnsAddr; //DDNSַbyAddressTypeΪ1ʱЧ - }unionAddr; - union - { - BYTE byRes[128]; - NET_DVR_PLAY_BACK_BY_TIME struPlayBackByTime; //ʱطʱļϢ - BYTE sFileName[128]; //ļطʱļϢ - }unionPlayBackInfo; - NET_DVR_PU_STREAM_URL struURL; //ȡURLbyAddressTypeΪ2ʱЧ - BYTE sStreamPassword[STREAM_PASSWD_LEN]; //,Ϣ - BYTE byRes2[116]; -}NET_DVR_MATRIX_DEC_REMOTE_PLAY_V50, *LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_V50; - -typedef struct tagNET_DVR_DISPLAY_EFFECT_CFG -{ - DWORD dwSize; - NET_DVR_COLOR struColor; //ʾز/ - BYTE byRes[32]; -}NET_DVR_DISPLAY_EFFECT_CFG,*LPNET_DVR_DISPLAY_EFFECT_CFG; - -//ȡ״̬ -typedef struct tagNET_DVR_TRUNK_USE_STATE -{ - DWORD dwSize; - DWORD dwTrunkID; //ID - WORD wReserveUserID; //ԤûID 1~256 0ʾͷԤ - BYTE byStatus; //1-У2-ռã3- */ - BYTE byRes1; - BYTE byUserId[256]; //±ʾûIDţԪصֵʾǷʹøߡ磺byUserID[0] ֵΪ1ʾûIDΪ0ûʹãbyUserID[0] ֵΪ0ʾûIDΪ0ûûʹ - BYTE byRes2[64]; -}NET_DVR_TRUNK_USE_STATE, *LPNET_DVR_TRUNK_USE_STATE; - - -//PTZƲ -typedef struct tagNET_DVR_PTZ_CTRL_INFO -{ - DWORD dwSize; - DWORD dwCtrlDelayTime; //PTZƳʱ䣬ָPTZƺdwCtrlDelayTimeʱڣͬͼûЧλ - BYTE byRes[64]; -}NET_DVR_PTZ_CTRL_INFO, *LPNET_DVR_PTZ_CTRL_INFO; - -//ʾ· -#define MAX_MATRIX_CASCADE 32 -typedef struct tagNET_DVR_MATRIX_ROUTE_INFO -{ - DWORD dwSize; - DWORD dwCamNo; - DWORD dwMonNo; - DWORD dwSubWin; - DWORD dwUserId; - DWORD dwTrunkId[MAX_MATRIX_CASCADE/*32*/];//trunkIdԱӦ132CAM˿ʼtrunkId[0]ʾһtrunkId[1]ʾڶ, trunkId[i] = 0 ʾ޸ - BYTE byRes[64]; /* Ԥ */ -}NET_DVR_MATRIX_ROUTE_INFO, *LPNET_DVR_MATRIX_ROUTE_INFO; - - -//ȡPTZ״̬ -typedef struct tagNET_DVR_PTZ_STATUS -{ - DWORD dwSize; - DWORD dwUserID; //1~2560 ʾû - DWORD dwStatus; // PTZ״̬0-ֹͣ1- - DWORD dwRestTime; //ʣʱ - BYTE byRes[64]; -}NET_DVR_PTZ_STATUS, *LPNET_DVR_PTZ_STATUS; - -typedef struct tagNET_DVR_SAFETYCABIN_WORK_MODE -{ - DWORD dwSize; - BYTE byWorkMode; //ģʽ0-ų1-ų - BYTE byFaintToUnlock; //εһʱⲿԿ0-1- - BYTE byOvertimeToUnlock; //ʹóʱⲿťǷԿ0-1- - BYTE byRes[13]; -}NET_DVR_SAFETYCABIN_WORK_MODE,*LPNET_DVR_SAFETYCABIN_WORK_MODE; - -typedef struct tagNET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG -{ - DWORD dwSize; - BYTE bySensorType; //ͣ0-ͣ1-Ļ - BYTE bySensitivity; //жȣΧ0-100% - BYTE byDevUseTimeout; //ʹóʱʱ䣬λ,Χ5-30Ĭϳʱ15min,ʱͨͨϴ - BYTE byRes1; - WORD wCurtainDelayTime; //Ļ̽ʱʱ䣬λ룬Χ0-10 - WORD wCurtainResponseTime; //Ļ״̬仯Ӧʱ䣬λ룬Χ0-300 - WORD wFaintToEmergencyTime; //ε澯Чʱ䣬λ룬Χ10-300 - BYTE byFollowDetectorSensitivity; //βȣΧ0-100% - BYTE byManyPersonSensitivity; //˼ȣΧ0-100% - BYTE byRes2[28]; // -}NET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG,*LPNET_DVR_SAFETYCABIN_PERSON_SIGNAL_CFG; - -typedef struct tagNET_DVR_ETHERNET_IPV6_COND -{ - DWORD dwSize; - BYTE byMACAddr[MACADDR_LEN]; //ַ - BYTE byRes[64]; // -}NET_DVR_ETHERNET_IPV6_COND,*LPNET_DVR_ETHERNET_IPV6_COND; - -typedef struct tagNET_DVR_ETHERNET_IPV6_CFG -{ - DWORD dwSize; - BYTE byState; //IPv6״̬0-·ɷ䣬1-Զ - BYTE byRes1[3]; - BYTE byIPv6[MAX_IPV6_LEN]; //IPv6ַ - BYTE byRes[64]; // -}NET_DVR_ETHERNET_IPV6_CFG,*LPNET_DVR_ETHERNET_IPV6_CFG; - -typedef struct -{ - BYTE byHour;//0~24 - BYTE byMinute;//0~60 - BYTE bySecond;//0~60 - BYTE byRes; - WORD wMilliSecond; //0~1000 - BYTE byRes1[2]; -}NET_DVR_DAYTIME,*LPNET_DVR_DAYTIME; - -typedef struct -{ - NET_DVR_DAYTIME struStartTime; //ʼʱ - NET_DVR_DAYTIME struStopTime; //ʱ -}NET_DVR_SCHEDULE_DAYTIME, *LPNET_DVR_SCHEDULE_DAYTIME; - -typedef struct -{ - BYTE byObjectSize;//ռȲ(0~100) - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffر*/ - BYTE byRes[6]; -}NET_DVR_DNMODE, *LPNET_DVR_DNMODE; - -typedef struct -{ - BYTE byAreaNo;//(IPC- 1~8) - BYTE byRes[3]; - NET_VCA_RECT struRect;//Ϣ() size = 16; - NET_DVR_DNMODE struDayNightDisable;//رģʽ - NET_DVR_DNMODE struDayModeParam;//ģʽ - NET_DVR_DNMODE struNightModeParam;//ҹģʽ - BYTE byRes1[8]; -}NET_DVR_MOTION_MULTI_AREAPARAM, *LPNET_DVR_MOTION_MULTI_AREAPARAM; - -typedef struct -{ - BYTE byDayNightCtrl;//ҹ 0~ر,1~Զл,2~ʱл(ĬϹر) - BYTE byAllMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffرգȫȷΧ*/ - BYTE byRes[2];// - NET_DVR_SCHEDULE_DAYTIME struScheduleTime;//лʱ 16 - NET_DVR_MOTION_MULTI_AREAPARAM struMotionMultiAreaParam[MAX_MULTI_AREA_NUM];//֧24 - BYTE byRes1[60]; -}NET_DVR_MOTION_MULTI_AREA,*LPNET_DVR_MOTION_MULTI_AREA; //1328 - -typedef struct -{ - BYTE byMotionScope[64][96]; /*,0-96λ,ʾ64,96*64С,ĿǰЧ22*18,Ϊ1ʾƶ,0-ʾ*/ - BYTE byMotionSensitive; /*ƶ, 0 - 5,ԽԽ,0xffر*/ - BYTE byRes[3]; -}NET_DVR_MOTION_SINGLE_AREA, *LPNET_DVR_MOTION_SINGLE_AREA; - -typedef struct -{ - NET_DVR_MOTION_SINGLE_AREA struMotionSingleArea; //ͨģʽµĵ - NET_DVR_MOTION_MULTI_AREA struMotionMultiArea; //רģʽµĶ -}NET_DVR_MOTION_MODE_PARAM, *LPNET_DVR_MOTION_MODE_PARAM; - -typedef struct -{ - NET_DVR_MOTION_MODE_PARAM struMotionMode; //(5.1.0) - BYTE byEnableHandleMotion; /* Ƿƶ 0 1*/ - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - BYTE byConfigurationMode; //0~ͨ,1~ר(5.1.0) - BYTE byKeyingEnable; //üƶ 0-ã1- - /* 쳣ʽ */ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000: ץͼϴ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; //ʵʴıţֵʾ,ýУ±0 - dwRelAlarmOut -1Чм0xffffffff,Ч - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - /*¼ͨ*/ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; /* ʵʴ¼ֵͨʾ,ýУ±0 - dwRelRecordChan -1Чм0xffffffff,Ч*/ - BYTE byDiscardFalseAlarm; //ȥ 0-Ч1-ã2- - BYTE byRes[127]; //ֽ -}NET_DVR_MOTION_V40,*LPNET_DVR_MOTION_V40; - -typedef struct -{ - DWORD dwEnableHideAlarm; /* Ƿڵ0-1-ȣ2-ȣ3-*/ - WORD wHideAlarmAreaTopLeftX; /* ڵx */ - WORD wHideAlarmAreaTopLeftY; /* ڵy */ - WORD wHideAlarmAreaWidth; /* ڵĿ */ - WORD wHideAlarmAreaHeight; /*ڵĸ*/ - /* źŶʧ */ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000:ץͼϴ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; /*ţֵʾ,ýУ±0 - dwRelAlarmOut -1Чм0xffffffff,Ч*/ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byRes[64]; // -}NET_DVR_HIDEALARM_V40,*LPNET_DVR_HIDEALARM_V40; //ڵ - -typedef struct -{ - DWORD dwEnableVILostAlarm; /* ǷźŶʧ ,0-,1-*/ - /* źŶʧ */ - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - /*0x1000:ץͼϴ*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40]; /*ţֵʾ,ýУ±0 - dwRelAlarmOut -1Чм0xffffffff,Ч*/ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - BYTE byVILostAlarmThreshold; /*źŶʧֵֵֵΪźŶʧȡֵ0-99*/ - BYTE byRes[63]; // -}NET_DVR_VILOST_V40,*LPNET_DVR_VILOST_V40; //źŶʧ - -typedef struct -{ - NET_DVR_COLOR struColor[MAX_TIMESEGMENT_V30];/*ͼ(һЧ)*/ - NET_DVR_SCHEDTIME struHandleTime[MAX_TIMESEGMENT_V30];/*ʱ()*/ -}NET_DVR_VICOLOR, *LPNET_DVR_VICOLOR; - -typedef struct -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; - DWORD dwVideoFormat; /* ֻ Ƶʽ 1-NTSC 2-PAL */ - NET_DVR_VICOLOR struViColor;// ͼʱ - //ʾͨ - DWORD dwShowChanName; // ԤͼǷʾͨ,0-ʾ,1-ʾ - WORD wShowNameTopLeftX; /* ͨʾλõx */ - WORD wShowNameTopLeftY; /* ͨʾλõy */ - //˽ڵ - DWORD dwEnableHide; /* Ƿڵ ,0-,1-*/ - NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; - //OSD - DWORD dwShowOsd;// ԤͼǷʾOSD,0-ʾ,1-ʾ - WORD wOSDTopLeftX; /* OSDx */ - WORD wOSDTopLeftY; /* OSDy */ - BYTE byOSDType; /* OSD(Ҫոʽ) */ - /* 0: XXXX-XX-XX */ - /* 1: XX-XX-XXXX */ - /* 2: XXXXXXXX */ - /* 3: XXXXXXXX */ - /* 4: XX-XX-XXXX */ - /* 5: XXXXXXXX */ - /*6: xx/xx/xxxx(//) */ - /*7: xxxx/xx/xx(//) */ - /*8: xx/xx/xxxx(//)*/ - BYTE byDispWeek; /* Ƿʾ */ - BYTE byOSDAttrib; /* OSD:͸˸ */ - /* 0: ʾOSD */ - /* 1: ͸˸ */ - /* 2: ͸˸ */ - /* 3: ͸˸ */ - /* 4: ͸˸ */ - BYTE byHourOSDType; /* OSDСʱ:0-24Сʱ,1-12Сʱ */ - BYTE byFontSize; //16*16()/8*16(Ӣ)1-32*32()/16*32(Ӣ)2-64*64()/32*64(Ӣ) 3-48*48()/24*48(Ӣ) 4-24*24()/12*24(Ӣ) 5-96*96()/48*96(Ӣ) 6-128*128()/64*128(Ӣ) 7-80*80()/40*80(Ӣ) 8-112*112()/56*112(Ӣ) 0xff-Ӧ(adaptive) - BYTE byOSDColorType; //0-Ĭϣڰף1-Զ壻2- - /*뷽ʽѡģʽʱԷֱ½ǡ½ַӡ - ½ - ֧6ַӣͨNET_DVR_SET_SHOWSTRING_V30/ NET_DVR_GET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ05±ֵַķʽΪµϵķʽ - ½ - ֧2ַӣͨNET_DVR_SET_SHOWSTRING_V3/ NET_DVR_GET_SHOWSTRING_V30ַӽӿڣӦNET_DVR_SHOWSTRINGINFOṹеĵ6͵7±ֵַķʽΪµϵķʽ - */ - BYTE byAlignment;//뷽ʽ 0-Ӧ1-Ҷ, 2-룬3-ģʽ4-ȫҶ(ַʱԼOSDַ)5-ȫ(ַʱԼOSDַ) - BYTE byOSDMilliSecondEnable;//Ƶʱֺ֧룻0~, 1- - NET_DVR_VILOST_V40 struVILost; //ƵźŶʧ֧飩 - NET_DVR_VILOST_V40 struAULost; /*ƵźŶʧ֧飩*/ - NET_DVR_MOTION_V40 struMotion; //ƶⱨ֧飩 - NET_DVR_HIDEALARM_V40 struHideAlarm; //ڵ֧飩 - NET_DVR_RGB_COLOR struOsdColor;//OSDɫ - DWORD dwBoundary; //ֵ߽룬ҶԼģʽıֵ߽0-ʾĬֵλ;ڹģʽ£λ޸ΪַΧǣ0,1,2 - NET_DVR_RGB_COLOR struOsdBkColor; //ԶOSDɫ - BYTE byOSDBkColorMode; //OSDɫģʽ0-Ĭϣ1-ԶOSDɫ - BYTE byUpDownBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2,ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byLeftRightBoundary; //Сֵ߽ѡλΪַΧǣ0,1,2, ģʽЧbyAlignment=3ֶЧͨdwBoundaryб߽ã.byAlignment3£ byUpDownBoundary/byLeftRightBoundaryóɹdwBoundaryֵЧ - BYTE byAngleEnabled;//OSDǷӸϢ,0~, 1- - WORD wTiltAngleTopLeftX; /* Ϣʾλõx */ - WORD wTiltAngleTopLeftY; /* Ϣʾλõy */ - BYTE byRes[108]; -}NET_DVR_PICCFG_V40,*LPNET_DVR_PICCFG_V40; - -typedef struct // -{ - DWORD dwSize; - BYTE byWorkType;// 0-Ӧ, 1-ʱģʽ - BYTE byRes[3]; - //ʱģʽ - NET_DVR_SCHEDULE_DAYTIME struDayNightScheduleTime;//ҹʱлģʽ(ʱ) - NET_DVR_CAMERAPARAMCFG_EX struSelfAdaptiveParam; //Ӧ - NET_DVR_CAMERAPARAMCFG_EX struDayIspAdvanceParam;// - NET_DVR_CAMERAPARAMCFG_EX struNightIspAdvanceParam;//ҹ - BYTE byRes1[512]; -}NET_DVR_ISP_CAMERAPARAMCFG,*LPNET_DVR_ISP_CAMERAPARAMCFG; - -typedef struct -{ - DWORD dwSize; - BYTE byIrLampServer;// 0ã1 - BYTE bytelnetServer;//telnet 0ã1 - BYTE byABFServer;//ABF 0ã1 - BYTE byEnableLEDStatus;//״ָ̬ʾƿ 0ã1 - BYTE byEnableAutoDefog;//Զ 0ã1 - BYTE byEnableSupplementLight;//ƿ0-ã1- - BYTE byEnableDeicing;// 0-رգ1- - BYTE byEnableVisibleMovementPower;// ɼоԴ 0-رգ1- - BYTE byEnableThermalMovementPower;// ȳоԴ 0-رգ1- - BYTE byEnablePtzPower;// ̨Դ 0-رգ1- - BYTE byPowerSavingControl;// ͹IJ 0- 1-ģʽ 2-͹ģʽ ͹ģʽ ɼоԴȳоԴ̨ԴЧ - BYTE byCaptureWithSupplimentLightEnabled;//ץIJʹ 0-رգ1- - BYTE byRes[244]; -}NET_DVR_DEVSERVER_CFG,*LPNET_DVR_DEVSERVER_CFG; - -typedef struct tagNET_DVR_GBT28181_ACCESS_CFG -{ - DWORD dwSize; - BYTE byEnable;//28181Эʹ 0-ر 1- - BYTE byTransProtocol;//Э:0-UDP1-TCPĬ0-UDP - WORD wLocalSipPort;//1024-65535(IPC豸) - char szServerID[MAX_SERVERID_LEN];//ID64ַֽ - char szServerDomain[MAX_SIPSERVER_ADDRESS_LEN] ;// - char szSipServerAddress[MAX_SIPSERVER_ADDRESS_LEN] ;// SIPַ֧IPַ - WORD wServerSipPort;//SIP˿ڣ1024-65535 - BYTE byProtocolVersion;//Э汾 0-GB/T28181-2011(֧UDP),1-GB/T28181-2015(֧TCP,UDP),2-GB/T28181-2016 - BYTE byTCPConnectMod; //TCPģʽʹTCPЭʱЧ0-Ч1-ģʽ2-ģʽ - char szSipUserName[MAX_SERVERNAME_LEN];//SIPûƣ64ַֽ(SIPնIPCʱʹ) - char szSipAuthenticateID[MAX_AUTHENTICATEID_LEN];//SIPû֤ID64ַֽ - char szSipAuthenticatePasswd[MAX_AUTHENTICATEPASSWD_LEN];//SIPû֤룺32ַֽ(IPC豸עᵽSIPʱʹ) - DWORD dwRegisterValid;//עЧڣλ룬Ĭ3600 - BYTE byHeartbeatInterval;//λ룬Ĭ10룻 - BYTE byMaxHeartbeatTimeOut;//ʱĬ3Σ - BYTE byStreamType;// ȡ0123 - BYTE byDeviceStatus; //豸Ƿ״̬0-1-ߣ2- - DWORD dwRegisterInterval;//ע:עʧܺٴעʱ,Χ60-600sĬ60s - DWORD dwAutoAllocChannelID ; //ǷԶͨID,λʾ0Ϊֶã1ΪԶ䣬bit1-ԶͨID,bit2-Զ䱨ͨ,bit3-ԶͨID - char szDeviceDomain[MAX_SIPSERVER_ADDRESS_LEN] ;// 豸 - BYTE byRes4[116]; -}NET_DVR_GBT28181_ACCESS_CFG,*LPNET_DVR_GBT28181_ACCESS_CFG; - -//GBT28181Э豸ͨ -typedef struct tagNET_DVR_GBT28181_CHANINFO_CFG -{ - DWORD dwSize; - char szVideoChannelNumID[MAX_COMPRESSIONID_LEN];//豸ƵͨID64ַֽ - BYTE byRes[256]; -}NET_DVR_GBT28181_CHANINFO_CFG,*LPNET_DVR_GBT28181_CHANINFO_CFG; - -//GBT28181Эıͨ ṹ -typedef struct tagNET_DVR_ALARMIN_INFO -{ - NET_DVR_STREAM_INFO struStreamInfo; - DWORD dwAlarmInChannel;//ͨ - BYTE byRes[32]; // -}NET_DVR_ALARMIN_INFO, *LPNET_DVR_ALARMIN_INFO; - -//GBT28181Эıͨ ýṹ -typedef struct tagNET_DVR_GBT28181_ALARMINCFG -{ - DWORD dwSize; - char szAlarmInNumID[MAX_COMPRESSIONID_LEN];//豸IDÿһ·벻ͬ20ַֽ - BYTE byRes[256]; -}NET_DVR_GBT28181_ALARMINCFG,*LPNET_DVR_GBT28181_ALARMINCFG; - -typedef struct tagNET_DVR_CAMERA_SETUPCFG -{ - DWORD dwSize; - WORD wSetupHeight; //߶[0,20]λ - BYTE byLensType; //ͷͣ0-δ֪,1-8mm,2-12mm,3-16mm,4-25mm,5-35mm,6-50mm,7-4mm,8-6mm - BYTE bySetupHeightUnit;// ߶ȵλ0M,1~CM - DWORD dwSceneDis; //ͼ±Եλ֮ˮƽ룬λ - float fPitchAngle;//Ƕ[-180, 180], - float fInclineAngle;//бǶ[-180,180] - float fRotateAngle;//תǶ[-180,180] - WORD wVideoDetCoefficient; //Ƶϵ[0,300](3.6) - BYTE byErectMethod; //跽ʽ0-װ1-װ(3.6) - BYTE byCameraViewAngle;//װҰǶ(0-ֱ1-бĬ0-ֱ) - DWORD dwHorizontalDistance;//ˮƽ룺Χ1-1000Ĭ30λcmעǶΪбʱЧ - BYTE byDetailLensType;//Χ1-100Ĭ28λ0.1mm - BYTE byRes[3]; - float fHorFieldAngle; //ˮƽӳǽǶ[0, 360]ץĻ - float fVerFieldAngle; //ֱӳǽǶ[0, 360]ץĻ,ӥ۷Χ-90-90 - float fLableSetupHeight; //ǩĸ߶[0,100]λ - float fMaxViewRadius;//Ӱ뾶,0~10000.00ףĬ5000. - BYTE byRes1[16]; -}NET_DVR_CAMERA_SETUPCFG, *LPNET_DVR_CAMERA_SETUPCFG; - -//ֹڶβṹ -typedef struct tagNET_DVR_SCHEDDATE -{ - BYTE byStartMonth; //ʼ£ - BYTE byStartDay; //ʼգ - BYTE byStopMonth; //£ - BYTE byStopDay; //գ -}NET_DVR_SCHEDDATE,*LPNET_DVR_SCHEDDATE; - -//ʱ -typedef struct tagNET_DVR_OUTPUT_SCHEDULE -{ - NET_DVR_SCHEDTIME struTime; //ʱ - BYTE byState; //0Cر, 1C - BYTE byRes[11]; // -} NET_DVR_OUTPUT_SCHEDULE ,*LPNET_DVR_OUTPUT_SCHEDULE; - -//ʱ -typedef struct tagNET_DVR_ONE_OUTPUT_SCHEDULE_RULE -{ - BYTE byEnable; //Ƿù,0-,1- - BYTE byRes1[3]; // - NET_DVR_SCHEDDATE struDate; // - NET_DVR_OUTPUT_SCHEDULE struOutputSchedule[MAX_TIMESEGMENT_V30]; //֧8ʱεʱ - BYTE byRes2[16]; // -}NET_DVR_ONE_OUTPUT_SCHEDULE_RULE,*LPNET_DVR_ONE_OUTPUT_SCHEDULE_RULE; - -//ʱ -typedef struct tagNET_DVR_OUTPUT_SCHEDULE_RULECFG -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_OUTPUT_SCHEDULE_RULE struOutputRule[MAX_RULE_NUM]; //֧8εĹ - BYTE byRes[64]; // -}NET_DVR_OUTPUT_SCHEDULE_RULECFG,*LPNET_DVR_OUTPUT_SCHEDULE_RULECFG; - -//ͨͳƱ -typedef struct tagNET_DVR_TPS_ALARMCFG -{ - DWORD dwSize; - BYTE byEnable; //ǷýͨͳƱϴ - BYTE byRes1[3]; // - DWORD dwInterval;//ͳƼʱ䣨λӣ - BYTE byRes[248]; -}NET_DVR_TPS_ALARMCFG, *LPNET_DVR_TPS_ALARMCFG; - -typedef struct tagNET_DVR_DOWNLOAD_ALARM_RECORD_COND -{ - DWORD dwSize; - WORD wAlarmRecordID; //¼ID(ڲѯ¼񣬽byResultTypeΪ2ʱЧ) - BYTE byRes[130]; -}NET_DVR_DOWNLOAD_ALARM_RECORD_COND, *LPNET_DVR_DOWNLOAD_ALARM_RECORD_COND; - -typedef struct tagNET_DVR_CABINET_AlARM_PARAMCFG -{ - char sCabinetName[NAME_LEN]; - BYTE byAssociateIO;//1-40xff 1-4ʾIOͨţ0xffʾ - BYTE byCabinetState;//0~͵ƽ,1~ߵƽ - BYTE byAlarmIntervalTime;//ȡֵΧ1-60λ - BYTE byRes1[25]; -}NET_DVR_CABINET_AlARM_PARAMCFG, *LPNET_DVR_CABINET_AlARM_PARAMCFG; - -typedef struct tagNET_DVR_CABINET_CFG -{ - DWORD dwSize; - BYTE byEnable;//0~ã1 - BYTE byRes[3]; - NET_DVR_CABINET_AlARM_PARAMCFG struCabinetCfg[MAX_CABINET_COUNT]; - BYTE byRes1[84]; -} NET_DVR_CABINET_CFG, *LPNET_DVR_CABINET_CFG; - -typedef struct tagNET_ITS_GATE_LANE_CFG -{ - BYTE byGateSiteID[MAX_ID_LEN]; //ڱ - BYTE byGateInfo[MAX_ID_LEN]; //Ϣ - BYTE byLaneName[NAME_LEN]; // - BYTE byValid; //Ƿ 0 ʾδã1ʾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - WORD wLaneid; //132ţԾ ߼ - BYTE byRelativeIoNum; //߼Źڱ - BYTE byDirection; //; 0 - 1 볡 2 3 ˫ - BYTE byLprMode; //ʶ0 ȫ1 ֹ2 - BYTE byCardMode; //Ƭ0 ȫ1 ֹ2 - BYTE byGateLaneMode;//ڷģʽ 0-ȫ 1-ֻʶƥ2 ֻˢƥ// 3-ʶƬһƥ 4-ʶҿƬͬʱƥ 5-ȫ - //2013-11-19 - BYTE byCharge;//Ƿշ 0-շѣ1-շ - BYTE byChargeMode;//շ 0-շѣ1-շ - BYTE byRes1; - BYTE byLedRelativeIndex[MAX_INDEX_LED];//LED (1~255) У0ʾЧ - BYTE byGateRelativeIndex;//ڿƻ - BYTE byFarRrRelativeIndex;// Զ - BYTE byRes[82]; //Ԥ -}NET_ITS_GATE_LANE_CFG, *LPNET_ITS_GATE_LANE_CFG; - -typedef struct tagNET_ITS_IPC_CHAN_LANE_CFG -{ - DWORD dwSize; - BYTE byIpcType; //0-ޣ1-ץģ2-ץģ3- - BYTE byRes[135]; - NET_ITS_GATE_LANE_CFG struGateLane[4]; //ýṹ -}NET_ITS_IPC_CHAN_LANE_CFG, *LPNET_ITS_IPC_CHAN_LANE_CFG; - -//豸Զ̿ -typedef struct tagNET_ITS_REMOTE_COMMAND -{ - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byRes; //Ԥ - DWORD dwCode; // 0x0 բ 0x1 բչ - BYTE byRes1[128]; -}NET_ITS_REMOTE_COMMAND,*LPNET_ITS_REMOTE_COMMAND; - -typedef struct tagNET_ITS_REMOTE_CONTROL_ -{ - DWORD dwSize; - NET_ITS_REMOTE_COMMAND struRemoteCommand; //Զṹ -}NET_ITS_REMOTE_CONTROL,*LPNET_ITS_REMOTE_CONTROL; - -//ӻȡͨ״̬ -typedef struct tagNET_ITS_ECT_CHANNELSTATE -{ - DWORD dwSize; - BYTE byRecordStatic; //ͨǷ¼,0-¼,1-¼ - BYTE bySignalStatic; //ӵź״̬,0-,1-źŶʧ - BYTE byHardwareStatic;//ͨӲ״̬,0-,1-쳣,DSP - BYTE byChannelArmState; //IPCIJ״̬ - DWORD dwChannel; //ͨ - DWORD dwBitRate;//ʵ - DWORD dwLinkNum;//ͻӵĸ - NET_DVR_IPADDR struClientIP[MAX_LINK];//ͻ˵IPַ - DWORD dwIPLinkNum;//ͨΪIP룬ôʾIP뵱ǰ - BYTE byExceedMaxLink; // Ƿ񳬳128· 0 - δ, 1- - BYTE byRes[139]; // ֽ -}NET_ITS_ECT_CHANNELSTATE, *LPNET_ITS_ECT_CHANNELSTATE; - -//ӵ -typedef struct tagNET_DVR_PARK_EXTERNAL_SUBINFO -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0 ˸ 1 ˸ - BYTE byIOState;//0 ͵ƽ 1 ߵƽ (õЧ) - BYTE byLampColor;// 0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (õЧ) - BYTE byRes[4]; -}NET_DVR_PARK_EXTERNAL_SUBINFO, *LPNET_DVR_PARK_EXTERNAL_SUBINFO; - -typedef struct tagNET_DVR_PARK_INLAY_SUBINFO -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0˸ 1 ˸ - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (õЧ) - BYTE byRes[21]; -}NET_DVR_PARK_INLAY_SUBINFO, *LPNET_DVR_PARK_INLAY_SUBINFO; - -typedef struct tagNET_DVR_PARKINFO -{ - NET_DVR_PARK_EXTERNAL_SUBINFO struNormalParkIOState;//гioƽ״̬ - NET_DVR_PARK_EXTERNAL_SUBINFO struNormalNoParkIOState;//޳ioƽ״̬ - NET_DVR_PARK_EXTERNAL_SUBINFO struSpecialParkIOState;//⳵λгioƽ״̬ - NET_DVR_PARK_EXTERNAL_SUBINFO struSpecialNoParkIOState;//⳵λ޳ioƽ״̬ - BYTE byRes[32]; -}NET_DVR_PARKINFO, *LPNET_DVR_PARKINFO; - -typedef struct tagNET_DVR_EXTERNAL_LAMP_CTRL_MODE -{ - NET_DVR_PARKINFO struParkInfo[MAX_PARKING_NUM];/*ӵƵ³λϢһͨ4λ (ҳλ 03)*/ - BYTE byRes[32]; -}NET_DVR_EXTERNAL_LAMP_CTRL_MODE, *LPNET_DVR_EXTERNAL_LAMP_CTRL_MODE; - -typedef struct tagNET_DVR_INLAY_LAMP_CTRL_MODE -{ - NET_DVR_PARK_INLAY_SUBINFO struLampStateCtrl[MAX_PARKING_STATUS]; - BYTE byRes[96]; -}NET_DVR_INLAY_LAMP_CTRL_MODE, *LPNET_DVR_INLAY_LAMP_CTRL_MODE; - -typedef struct tagNET_DVR_LAMP_INFO //8 -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0~˸ 1 ˸(λָʾ˸) - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (λָʾɫ) - BYTE byRes[5]; -}NET_DVR_LAMP_INFO, *LPNET_DVR_LAMP_INFO; - -//õģʽ -typedef struct tagNET_DVR_PARKLAMP_CTRL_MODE//size == 72 -{ - //λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ - NET_DVR_LAMP_INFO struLampInfo[MAX_PARKING_STATUS/*8*/]; - //λƣ0-õ, 1-õ1, 2-õ2, 3-õ3 - BYTE byLampType; - BYTE byRes[7]; -}NET_DVR_PARKLAMP_CTRL_MODE, *LPNET_DVR_PARKLAMP_CTRL_MODE; - -typedef struct tagNET_DVR_LAMP_PARAM //4 -{ - BYTE byEnable; //0 1 - BYTE byFlicker;//0~˸ 1 ˸ - BYTE byLampColor;//0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ - BYTE byRes[3]; -}NET_DVR_LAMP_PARAM, *LPNET_DVR_LAMP_PARAM; - -//õģʽ -typedef struct tagNET_DVR_EXTERNAL_PARKLAMP //size == 56 -{ - //λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ - NET_DVR_LAMP_PARAM struLampParam[MAX_PARKING_STATUS/*8*/]; - //λƣ0-õ, 1-õ1, 2-õ2, 3-õ3 - BYTE byLampType; - BYTE byRes[7]; -}NET_DVR_EXTERNAL_PARKLAMP, *LPNET_DVR_EXTERNAL_PARKLAMP; - -/*õƼõģʽ õƿƽṹϢ */ -typedef struct tagNET_DVR_BUILTIN_PARKLAMP -{ - BYTE byEnable; //0 1 - BYTE byFlicker; //0~˸ 1 ˸ - BYTE byLampColor; //0- 1- 2- 3- 4- 5-Ʒ 6- 7-ɫ (õЧ) - BYTE byRes[5]; -}NET_DVR_BUILTIN_PARKLAMP, *LPNET_DVR_BUILTIN_PARKLAMP; - -/* Ͽģʽṹ */ -typedef struct tagNET_DVR_MIXLAMP_CTRL_MODE -{ - NET_DVR_EXTERNAL_PARKLAMP struExternalParkLamp[MAX_PARKING_NUM/*4*/];//õ ճλŽ֣һͨ4λ (ҳλ 03) - NET_DVR_BUILTIN_PARKLAMP struBuiltInParkLamp[MAX_PARKING_STATUS/*8*/];//õ ճλ״̬֣λ״̬ 0޳1г2ѹ(ȼ), 3⳵λ -}NET_DVR_MIXLAMP_CTRL_MODE, *LPNET_DVR_MIXLAMP_CTRL_MODE; - -/* ӵƿģʽṹ */ -typedef struct tagNET_DVR_SINGLELAMP_CTRL_MODE //õģʽDzֳλϢʾǰλ״̬Уȼõ״̬ѹ>⳵λ>޳״̬ -{ - NET_DVR_PARK_EXTERNAL_SUBINFO struExternLampStateCtrl[MAX_PARKING_STATUS/*4*/];//õ ճλŽ֣һͨ4λ (ҳλ 03) - BYTE byLampType; /* 1-õ12-õ23-õ3*/ - BYTE byRes[23]; -}NET_DVR_SINGLELAMP_CTRL_MODE, *LPNET_DVR_SINGLELAMP_CTRL_MODE; - -typedef union tagNET_DVR_LAMP_CTRL_MODE_UNION -{ - BYTE uLen[288]; - NET_DVR_INLAY_LAMP_CTRL_MODE struInlayLampCtrlMode;/*õƿģʽṹ*/ - NET_DVR_EXTERNAL_LAMP_CTRL_MODE struExternalLampCtrlMode;/*ӵƿģʽṹ*/ - NET_DVR_PARKLAMP_CTRL_MODE struParkLampCtrlMode[MAX_PARKING_NUM/*4*/];/*õģʽһͨ4λ (ҳλ 03) ģʽΪõƵʱЧ*/ - //λõƣϿģʽõģʽģʽõƲΪõʹãõģʽ£õΪõʹã - //Ͽģʽ£õʾǰ⳵λ״̬Уȼߵijλ״̬(ѹ>⳵λ>޳״̬)Ƶ״̬ - NET_DVR_MIXLAMP_CTRL_MODE struMixLampCtrlMode; - //õģʽDzֳλϢʾǰλ״̬Уȼõ״̬ѹ>⳵λ>޳״̬ - NET_DVR_SINGLELAMP_CTRL_MODE struSingleExternalLampCtrlMode; -}NET_DVR_LAMP_CTRL_MODE_UNION, *LPNET_DVR_LAMP_CTRL_MODE_UNION;/*ƿģʽ*/ - -typedef struct tagNET_DVR_LAMP_CTRL_INFO -{ - DWORD dwSize; - BYTE byLampCtrlMode;/*صģʽ1õ,2ӵ,3õ,4ϵģʽõֻȼָʾ),5-õģʽ*/ - BYTE byCtrlChannelIndex;/*ͨ(33~48)*/ - BYTE byRes[2]; - NET_DVR_LAMP_CTRL_MODE_UNION uLampCtrlMode;/*ƿģʽ*/ - BYTE byRes2[32]; -}NET_DVR_LAMP_CTRL_INFO, *LPNET_DVR_LAMP_CTRL_INFO; - -//λãĬ϶normal -typedef struct tagNET_DVR_PARKSPACE_INFO -{ - BYTE byParkSpaceAttribute; //0~ͨλ 1⳵λ - BYTE byRes[23]; -}NET_DVR_PARKSPACE_INFO, *LPNET_DVR_PARKSPACE_INFO; - -typedef struct tagNET_DVR_PARKSPACE_ATTRIBUTE -{ - DWORD dwSize; - NET_DVR_PARKSPACE_INFO struParkSpaceInfo[MAX_PARKING_NUM];//һͨ4λ (ҳλ 03) - BYTE byRes[64]; -}NET_DVR_PARKSPACE_ATTRIBUTE, *LPNET_DVR_PARKSPACE_ATTRIBUTE; - -//ָʾ -typedef struct tagNET_DVR_LAMP_STATE -{ - BYTE byFlicker;//0~˸ 1 ˸ - BYTE byParkingIndex;//λ13 - BYTE byRes1[2]; - DWORD dwIONo;//1~IO1;2~IO2;4~IO3; - BYTE byRes2[8]; -}NET_DVR_LAMP_STATE, *LPNET_DVR_LAMP_STATE; - -typedef struct tagNET_DVR_LAMP_EXTERNAL_CFG -{ - DWORD dwSize; - BYTE byEnable; //ʹ 0 1 - BYTE byRes1[3]; - NET_DVR_LAMP_STATE struLampStateCtrl;//ָʾ - BYTE byRes2[32]; -}NET_DVR_LAMP_EXTERNAL_CFG, *LPNET_DVR_LAMP_EXTERNAL_CFG; - -//λǿץͼ һͨijλ -typedef struct tagNET_DVR_COMPEL_CAPTURE -{ - DWORD dwSize; - BYTE byParkIndex;/*λŴ 0-ʾǰмλϴͼƬ1,2,3,4*/ - BYTE byRes[63]; -}NET_DVR_COMPEL_CAPTURE, *LPNET_DVR_COMPEL_CAPTURE; - -//رṹ -typedef struct tagNET_DVR_EXTERNAL_CONTROL_ALARM -{ - DWORD dwSize; - DWORD dwChannelNo; - NET_DVR_LAMP_STATE struLampStateCtrl;//ָʾ״̬ - NET_DVR_TIME struExternalBeginTime;/*ؿʼʱ*/ - BYTE byRes1[64]; -}NET_DVR_EXTERNAL_CONTROL_ALARM, *LPNET_DVR_EXTERNAL_CONTROL_ALARM; - -/* 豸 */ -typedef enum tagEXTERNAL_DEVICES_TYPE -{ - DEVICES_TYPE_RES1 = 0, //1 - DEVICES_TYPE_FAR_SCR = 1, //Զ - DEVICES_TYPE_ENTRANCE_CONTROL = 2, //ڿƻ - DEVICES_TYPE_WJ_LED_DEV = 3, //LED - DEVICES_TYPE_NJ_LED_DEV = 4, //ڽLED - DEVICES_TYPE_VEH_DETECT_DEV = 5, //豸 - DEVICES_TYPE_DZ_DEV = 6, //բ - DEVICES_TYPE_PX_SCR_DEV = 7, //Ʊ - DEVICES_TYPE_KJ_SCR_DEV = 8, // - DEVICES_TYPE_FKJ_DEV = 9, // - DEVICES_TYPE_SKJ_DEV = 10, //տ - DEVICES_TYPE_HDD_DEV = 11, //Ӳ( 1G) - DEVICES_TYPE_DZ_LOCK = 12, //բբ״̬0ʾδբ1ʾբ - DEVICES_TYPE_PAPER_PRINTER = 13, //ֽƱӡ - DEVICES_TYPE_PAPER_SCANNERS = 14, //ֽƱɨ - DEVICES_TYPE_IPC_ALARM = 15 //IPC״̬ -}EXTERNAL_DEVICES_TYPE; - -/* 豸״̬ */ -typedef enum tagEXTERNAL_DEVICES_STATUS -{ - /* ͨ豸״̬ 0~19*/ - DEVICES_STATUS_NORMAL = 0, //״̬ - DEVICES_STATUS_ABNORMAL = 1, //״̬쳣 - - /* 豸״̬ 20~39*/ - DEVICES_STATUS_TOO_LESS_CARD = 20, //ٿ - DEVICES_STATUS_NO_CARD = 21, //޿ - DEVICES_STATUS_SENDCARD_ERROR = 22, //Ԥ - DEVICES_STATUS_CARD_BLOCKED = 23, //¿ - DEVICES_STATUS_CARD_FULL = 24, //ղֿ - - - /* բ豸״̬ 40~60*/ - DEVICES_STATUS_OPENING = 40, //բڿ - DEVICES_STATUS_CLOSING = 41, //բڹ - DEVICES_STATUS_OPENED = 42, //բλ - DEVICES_STATUS_CLOSED = 43, //բصλ - DEVICES_STATUS_NOSIGNAL = 44, //բź - DEVICES_STATUS_LOCK= 45, //բ - - /* ֽƱӡ״̬ 61~90*/ - PP_STATUS_OFFLINE = 61, //ѻ - PP_STATUS_PRINT_HEADER_UP, // ӡͷ̧ - PP_STATUS_FEED_BUTTON_FEEDING, //ýֽֽ - PP_STATUS_ONLINE_WAITING, //ȴ - PP_STATUS_FEED_BUTTON_ENABLE, //ֽʹΪ - PP_STATUS_JAMR_PAPER_ERROR, //ֽ - PP_STATUS_CUT_PAPER_ERROR, //е - PP_STATUS_AUTO_FEED_ERROR, //Զֽ - PP_STATUS_EXIT_RECOVERY_ERROR, //пɻָ - PP_STATUS_EXIT_AUTO_RECOVERY_ERROR, //пԶָ - PP_STATUS_PULL_PAPER_ERROR, //ֽ - PP_STATUS_LESS_PAPER , //ֽ - PP_STATUS_NO_PAPER, //ֽ - PP_STATUS_PRINT_FAIL, //ӡʧ - PP_STATUS_PRINTING, //ڴӡ -}EXTERNAL_DEVICES_STATUS; - -/* 豸 */ -typedef enum tagEXTERNAL_DEVICESCTRL_TYPE -{ - DEVICES_CTRL_RES = 0, //Ԥ(ȥ־) - DEVICES_CTRL_REMOTE = 1, //ңƣǰΪբʱ֧ͨңբ -}EXTERNAL_DEVICESCTRL_TYPE; - - -typedef struct tagNET_DVR_GATE_ALARMINFO -{ - DWORD dwSize; - //0x1Ƿ뱨 - //0x2բʱδر - //0x3ѹȦʱ - //0x4޿ - //0x5ٿ - //0x6쳣 - BYTE byAlarmType; - BYTE byExternalDevType;//豸(EXTERNAL_DEVICES_TYPE) - BYTE byExternalDevStatus;//豸(EXTERNAL_DEVICES_STATUS) - BYTE byExternalDevCtrlType;//豸(EXTERNAL_DEVICESCTRL_TYPE) - NET_DVR_TIME_V30 struAlarmTime;//ʱ - union - { - BYTE uLen[128]; - struct - { - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - /*0- 1-̶2-ʱ3-Ԥ4-쳵5-Ȩ*/ - BYTE byVehicleType; - BYTE byRes1[111]; - }struVehicleInfo;//struAlarmTypeΪ(0x1Ƿ뱨) - }uAlarmInfo; - BYTE byRes2[64]; //Ԥ -}NET_DVR_GATE_ALARMINFO, *LPNET_DVR_GATE_ALARMINFO; - -typedef struct tagNET_DVR_ALARMWIRELESSINFO -{ - BYTE byDeviceID[NAME_LEN]; //豸ID - float fDataTraffic; /* ,λMB,Сλ*/ - BYTE bySignalIntensity; /* źǿȣ0~100*/ - BYTE byRes[127]; -}NET_DVR_ALARMWIRELESSINFO, *LPNET_DVR_ALARMWIRELESSINFO; - -typedef struct tagNET_DVR_VOLTAGE -{ - int iPhaseAVol; //Aѹ - int iPhaseBVol; //Bѹ - int iPhaseCVol; //Cѹ - int iAveragePhaseVol; //ѹƽֵ -}NET_DVR_VOLTAGE, *LPNET_DVR_VOLTAGE; - -typedef struct _tagNET_DVR_LINE_VOLTAGE -{ - int iLineVolAB; //ABߵѹ - int iLineVolBC; //BCߵѹ - int iLineVolCA; //CAߵѹ - int iAverageLineVol; //ߵѹƽֵ -} NET_DVR_LINE_VOLTAGE,*LPNET_DVR_LINE_VOLTAGE; - - -// -typedef struct tagNET_DVR_CURRENT -{ - int iPhaseACurrent; //A - int iPhaseBCurrent; //B - int iPhaseCCurrent; //C - BYTE byRes[4]; -}NET_DVR_CURRENT, *LPNET_DVR_CURRENT; - -// -typedef struct tagNET_DVR_POWER -{ - int iPhaseAPower; //A๦ - int iPhaseBPower; //B๦ - int iPhaseCPower; //C๦ - int iSysTotalPower; //ϵͳܹ -}NET_DVR_POWER, *LPNET_DVR_POWER; - -// -typedef struct tagNET_DVR_POWER_FACTOR -{ - int iPhaseAPowerFactor; //A๦ - int iPhaseBPowerFactor; //B๦ - int iPhaseCPowerFactor; //C๦ - int iTotalPowerFactor; //ܹ -}NET_DVR_POWER_FACTOR, *LPNET_DVR_POWER_FACTOR; - -//Ƶ -typedef struct tagNET_DVR_FREQUENCY -{ - int iPhaseAFrequency; //AƵ - int iPhaseBFrequency; //BƵ - int iPhaseCFrequency; //CƵ - BYTE byRes[4]; -}NET_DVR_FREQUENCY, *LPNET_DVR_FREQUENCY; - -// -typedef struct tagNET_DVR_LOAD_FACTOR -{ - int iPhaseALoadFactor; //Aฺ - int iPhaseBLoadFactor; //Bฺ - int iPhaseCLoadFactor; //Cฺ - BYTE byRes[4]; -} NET_DVR_LOAD_FACTOR, *LPNET_DVR_LOAD_FACTOR; - -//UPS״̬ -typedef struct tagNET_DVR_ALARMHOST_UPS_STATE -{ - NET_DVR_VOLTAGE struInputVoltage; //ѹ - NET_DVR_VOLTAGE struBypassVoltage; //·ѹ - NET_DVR_VOLTAGE struOutputVoltage; //ѹ - int iRectifierVol; //ѹ - int iInverterVol; //ѹ - - NET_DVR_CURRENT struInputCurrent; // - NET_DVR_CURRENT struBypassCurrent; //· - NET_DVR_CURRENT struOutputCurrent; // - int iInverterCurrent; // - - NET_DVR_FREQUENCY struInputFrequency; //Ƶ - NET_DVR_FREQUENCY struBypassFrequency; //·Ƶ - NET_DVR_FREQUENCY struOutputFrequency; //Ƶ - int iInverterFre; //Ƶ - - NET_DVR_POWER struInputPower; //빦 - NET_DVR_POWER struBypassPower; //· - NET_DVR_POWER struOutputPower; // - NET_DVR_POWER struComplexPower; // - - int iNormalPower; //ƹ - int iPowerFacter; // - - NET_DVR_LOAD_FACTOR struBatteryLoadFactor; //ظ - int iBatteryEstimated; //رʱ(min) - int iBatteryTemperature; //¶ - int iBatteryVoltage; //صѹ - - - BYTE byRectifierState; //״̬/*1 2쳣*/ - BYTE byInverterState; //״̬/*1 2쳣*/ - BYTE byChargeState; //״̬/*1 2쳣*/ - BYTE byBatteryState; //״̬/*1 2쳣*/ - BYTE byAutoBypassState; //Զ·״̬/*1 2쳣*/ - BYTE byRes2[247]; -} NET_DVR_ALARMHOST_UPS_STATE, *LPNET_DVR_ALARMHOST_UPS_STATE; - -//صԴ״̬ -typedef struct tagNET_DVR_ALARMHOST_SWITCH_POWER_STATE -{ - NET_DVR_VOLTAGE struACVoltage; //ѹ - int iDCConvertVoltage; //DCתѹ - NET_DVR_CURRENT struACCurrent; // - int iTotalCurrent; //ܵ - int iBattery1Temperature; //1¶ - int iBattery2Temperature; //2¶ - int iBattery1Current; //1 - int iBattery2Current; //2 - int iBattery3Current; //3 - int iBattery4Current; //4 - int iBatteryTestVoltage; //زԵѹ - int iRectifierOutputVoltage; //ģѹ - int iRectifierOutputCurrent; //ģ - int iDCOutputVoltage; //ֱѹ - BYTE byRes[432]; -} NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_STATE, -*LPNET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_STATE; - -//̽״̬ -typedef struct tagNET_DVR_ALARMHOST_GAS_DETECTOR_STATE -{ - int iSF6; //SF6λppm - int iFlow; //ml/min - int iTemperature; //¶ȣλ϶ - int iO2; //λ% - int iHumidity; //ʪȣλ% - BYTE byRes[492]; -} NET_DVR_ALARMHOST_GAS_DETECTOR_STATE, -*LPNET_DVR_ALARMHOST_GAS_DETECTOR_STATE; - -//ʪȴ״̬ -typedef struct tagNET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE -{ - int iTemperature; //¶ȣλ϶ - int iHumidity; //ʪȣλ% - BYTE byRes[504]; -} NET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE, *LPNET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE; - -//յ״̬ -typedef struct tagNET_DVR_ALARMHOST_AIRCONDITION_STATE -{ - int iTemperature; //¶ȣλ϶ - int iHumidity; //ʪȣλ% - BYTE byRunState; //״̬ 1-2-ͣ - BYTE byRes[503]; -} NET_DVR_ALARMHOST_AIRCONDITION_STATE, *LPNET_DVR_ALARMHOST_AIRCONDITION_STATE; - - -//״̬ -typedef struct tagNET_DVR_ALARMHOST_ELECTRICITY_STATE -{ - int iDCVoltage; //ֱѹ - int iDCCurrent; //ֱ - NET_DVR_VOLTAGE struPhaseVoltage; //ѹ - NET_DVR_LINE_VOLTAGE struLineVoltage; //ߵѹ - NET_DVR_CURRENT struCurrent[4]; //struCurrent[0]ʾ1·, Դ - int iAverageCurrent; //ƽ - int iNeutralCurrent; //ߵ - NET_DVR_POWER struActivePower[4]; //й struActivePower[0]ʾһ·йʣԴ - NET_DVR_POWER struReactivePower[4]; //޹ struReactivePower[0]ʾһ·޹ʣԴ - NET_DVR_POWER struApparentPower[4]; //ڹ struApprentPower[0]ʾһ·ڹʣԴ - NET_DVR_POWER_FACTOR struPowerFactor[4]; //struPowerFactor[0]ʾһ·Դ - NET_DVR_FREQUENCY struFrequency; //Ƶ - BYTE byRes[128]; -}NET_DVR_ALARMHOST_ELECTRICITY_STATE, *LPNET_DVR_ALARMHOST_ELECTRICITY_STATE; - -//Ա״̬ -typedef struct tagNET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE -{ - int iPhaseATemperature; //A¶ - int iPhaseBTemperature; //B¶ - int iPhaseCTemperature; //C¶ - int iPhaseDTemperature; //D¶ - BYTE byRes[496]; -}NET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE, *LPNET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE; - -//ˮλ -typedef struct tagNET_DVR_ALARMHOST_WATERLEVEL_SENSOR -{ - LONG iWaterLevel; //ˮλ - BYTE byRes[508]; -}NET_DVR_ALARMHOST_WATERLEVEL_SENSOR, *LPNET_DVR_ALARMHOST_WATERLEVEL_SENSOR; - -//ﳾ -typedef struct tagNET_DVR_ALARMHOST_DUSTNOISE_SENSOR -{ - LONG iDust; //ﳾ - LONG iNoise; // - LONG iPM25; //PM2.5 - BYTE byRes[500]; -}NET_DVR_ALARMHOST_DUSTNOISE_SENSOR, *LPNET_DVR_ALARMHOST_DUSTNOISE_SENSOR; - -//ɼ -typedef struct tagNET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER -{ - LONG iAmmoniaNitrogen; // - LONG iCOD; //COD - LONG iPH; //PH - LONG iOxygen; // - LONG iSulfurDioxide; // - LONG iSoot; //̳ - LONG iFluoride; // - LONG iPollutedWater; //ˮ - LONG iTotalPhosphorus; // - LONG iExhaust; // - LONG iNitrogenOxides; // - LONG iFlueGasTemperature;//¶ - LONG iFlueGasPressure; //ѹ - LONG iDustThickness; /*۳Ũ*/ - LONG iAirCleanLevel; /*ྻȵȼ*/ - LONG iPm10Thickness; /*PM10Ũ*/ - BYTE byRes[448]; -}NET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER, *LPNET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER; - -//ٴ״̬ -typedef struct -{ - int iWindSpeed; /**/ - BYTE byRes[508]; -}NET_DVR_WIND_SPEED_STATE, *LPNET_DVR_WIND_SPEED_STATE; - -//ͨչģ״̬48·ÿλʾ1·0ʾأ1ʾ -typedef struct -{ - BYTE byOutPutState1; /*output1-8*/ - BYTE byOutPutState2; /*output9-16*/ - BYTE byOutPutState3; /*output17-24*/ - BYTE byOutPutState4; /*output25-32*/ - BYTE byOutPutState5; /*output33-40*/ - BYTE byOutPutState6; /*output41-48*/ - BYTE Res[506]; -}NET_DVR_GENERATE_OUTPUT_STATE, *LPNET_DVR_GENERATE_OUTPUT_STATE; - -//ˮ״̬ -typedef struct -{ - int iWaterLogVal; /* й¶λã100*/ - int iLeakResist1; /*һ·©ˮ*/ - int iTotolResist1; /*һ·ܵ*/ - int iLeakResist2; /*ڶ·©ˮ*/ - int iTotolResist2; /*ڶ·ܵ*/ - BYTE byWaterLogAlarm; /* й©12澯*/ - BYTE byLeakAlarm1; /*һ·©ˮ澯12澯*/ - BYTE byFaultAlarm1; /*һ·ϸ澯12澯*/ - BYTE byLeakAlarm2; /*ڶ·©ˮ澯12澯*/ - BYTE byFaultAlarm2; /*ڶ·ϸ澯12澯*/ - BYTE byRes[487]; -}NET_DVR_SOAK_STATE, *LPNET_DVR_SOAK_STATE; - -//̫ܿ״̬ -typedef struct -{ - int iChangerVolInput; /*豸ѹ*/ - int iChangerCurInput; /*豸*/ - int iChangerPwInput; /*豸빦*/ - int iChangerVolOutput; /*豸ѹ*/ - int iChangerCurOutput; /*豸*/ - int iChangerPwOutput; /*豸*/ - int iDischangerVolOutput; /*ŵ豸ѹ*/ - int iDischangerCurOutput; /*ŵ豸*/ - int iDischangerPwOutput; /*ŵ豸*/ - int iDevTemperatrue; /*豸¶*/ - BYTE byBatteryVolState; /*صѹ״̬12쳣*/ - BYTE byBatteryTmpState; /*¶״̬12쳣*/ - BYTE byChangerVolInputState; /*豸ѹ״̬12쳣*/ - BYTE byChangerRunState; /*豸״̬12*/ - BYTE byChangerChgState; /*豸״̬12쳣*/ - BYTE byBatteryVolFlt; /*صѹ12澯*/ - BYTE byBatteryTmpFlt; /*¶쳣12澯*/ - BYTE byBatteryResistanceFlt; /*쳣12澯*/ - BYTE byVolRcgFlt; /*ѹʶ12澯*/ - BYTE byChangerVolInputFlt; /*豸ѹ쳣12澯*/ - BYTE byChangerMosShort; /*MOSܶ·12澯*/ - BYTE byChangerAntiOrMosShort; /*MOSܶ·12澯*/ - BYTE byChangerAntiShort; /*MOSܶ·12澯*/ - BYTE byInputOverCur; /*12澯*/ - BYTE byLoadOverCur; /*ع12澯*/ - BYTE byLoadShort; /*ض·12澯*/ - BYTE byLoadMosShort; /*MOSܶ·12澯*/ - BYTE byChangerFlt; /*豸12澯*/ - BYTE byRes[454]; -}NET_DVR_SOLAR_POWER_STATE, *LPNET_DVR_SOLAR_POWER_STATE; - -//SF6״̬ -typedef struct -{ - int iSf6Thick1; /*һSF6Ũ*/ - int iO2Thick1; /*һŨ*/ - int iTemprature1; /*һ¶*/ - int iHumidity1; /*һʪ*/ - int iSf6Thick2; /*ڶSF6Ũ*/ - int iO2Thick2; /*ڶŨ*/ - int iTemprature2; /*ڶ¶*/ - int iHumidity2; /*ʪ*/ - int iSf6Thick3; /*SF6Ũ*/ - int iO2Thick3; /*Ũ*/ - int iTemprature3; /*¶*/ - int iHumidity3; /*ʪ*/ - int iSf6Thick4; /*ĵSF6Ũ*/ - int iO2Thick4; /*ĵŨ*/ - int iTemprature4; /*ĵ¶*/ - int iHumidity4; /*ĵʪ*/ - int iSf6Thick5; /*SF6Ũ*/ - int iO2Thick5; /*Ũ*/ - int iTemprature5; /*¶*/ - int iHumidity5; /*ʪ*/ - int iSf6Thick6; /*SF6Ũ*/ - int iO2Thick6; /*Ũ*/ - int iTemprature6; /*¶*/ - int iHumidity6; /*ʪ*/ - int iSf6Thick7; /*ߵSF6Ũ*/ - int iO2Thick7; /*ߵŨ*/ - int iTemprature7; /*ߵ¶*/ - int iHumidity7; /*ߵʪ*/ - int iSf6Thick8; /*ڰ˵SF6Ũ*/ - int iO2Thick8; /*ڰ˵Ũ*/ - int iTemprature8; /*ڰ˵¶*/ - int iHumidity8; /*ڰ˵ʪ*/ - int iSf6Thick9; /*ھŵSF6Ũ*/ - int iO2Thick9; /*ھŵŨ*/ - int iTemprature9; /*ھŵ¶*/ - int iHumidity9; /*ھŵʪ*/ - int iSf6Thick10; /*ʮSF6Ũ*/ - int iO2Thick10; /*ʮŨ*/ - int iTemprature10; /*ʮ¶*/ - int iHumidity10; /*ʮʪ*/ - int iSf6Thick11; /*ʮһSF6Ũ*/ - int iO2Thick11; /*ʮһŨ*/ - int iTemprature11; /*ʮһ¶*/ - int iHumidity11; /*ʮһʪ*/ - int iSf6Thick12; /*ʮSF6Ũ*/ - int iO2Thick12; /*ʮŨ*/ - int iTemprature12; /*ʮ¶*/ - int iHumidity12; /*ʮʪ*/ - BYTE byFanState1; /*״̬1 1У2ֹͣ*/ - BYTE byFanState2; /*״̬2 1У2ֹͣ*/ - BYTE byFanState3; /*״̬3 1У2ֹͣ*/ - BYTE byFanState4; /*״̬4 1У2ֹͣ*/ - BYTE byFanState5; /*״̬5 1У2ֹͣ*/ - BYTE byFanState6; /*״̬6 1У2ֹͣ*/ - BYTE byFanState7; /*״̬7 1У2ֹͣ*/ - BYTE byFanState8; /*״̬8 1У2ֹͣ*/ - BYTE byFanState9; /*״̬9 1У2ֹͣ*/ - BYTE byFanState10; /*״̬10 1У2ֹͣ*/ - BYTE byFanState11; /*״̬11 1У2ֹͣ*/ - BYTE byFanState12; /*״̬12 1У2ֹͣ*/ - BYTE byRes[308]; -}NET_DVR_SF6_ALARMHOST_STATE, *LPNET_DVR_SF6_ALARMHOST_STATE; - -//״̬ -typedef struct -{ - int iWeight; /*ֵ,1000*/ - BYTE byRes[508]; -}NET_DVR_WEIGHT_STATE, *LPNET_DVR_WEIGHT_STATE; - -//ɼϵͳ״̬ -typedef struct -{ - int iAirTemperature; /* ¶*/ - DWORD dwAirHumidity; /* ʪ*/ - DWORD dwWindSpeed; /* */ - DWORD dwWindDirection; /* */ - DWORD dwIlluminationIntensity; /* ǿ*/ - DWORD dwCO2; /* co2Ũ*/ - DWORD dwPM25; /* PM2.5Ũ*/ - DWORD dwAirPressure; /* ѹ*/ - int iSoilTemperature; /* ¶*/ - DWORD dwSoilHumidity; /* ʪ*/ - DWORD dwRainFall; /**/ - BYTE byIsRainSnow; /* ѩ1-ѩ2-ѩ*/ - BYTE byRes[467]; -}NET_DVR_WEATHER_STATION_STATE, *LPNET_DVR_WEATHER_STATION_STATE; - -//ˮʼ״̬ -typedef struct -{ - DWORD dwTurbidity; /* Ƕֵ*/ - DWORD dwChlorine; /* ֵ*/ - DWORD dwPH; /* PH ֵ*/ - BYTE byRes[500]; -}NET_DVR_WATER_QLT_STATE, *LPNET_DVR_WATER_QLT_STATE; - -//ȼϵͳ״̬ -typedef struct -{ - int iNatrualGasThick; /* ȻŨ*/ - BYTE byRes[508]; -}NET_DVR_FUEL_GAS_DETE_STATE, *LPNET_DVR_FUEL_GAS_DETE_STATE; - -//豸 -typedef struct tagNET_DVR_FIRE_ALARM_STATUS -{ - BYTE byFireAlarm[MAX_FIRE_ALARM_ZONE][MAX_FIRE_ALARM_POINT_ZONE]; //״̬λ1-2-澯 - BYTE byRes[128]; //λ -}NET_DVR_FIRE_ALARM_STATUS, *LPNET_DVR_FIRE_ALARM_STATUS; - -typedef union tagNET_DVR_EXTERNAL_DEVICE_STATE_UNION -{ - NET_DVR_ALARMHOST_UPS_STATE struUpsState; //UPS״̬ - NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_STATE struSwitchPowerState;//صԴ״̬ - NET_DVR_ALARMHOST_GAS_DETECTOR_STATE struGasDetectorState;//ϵͳ״̬ - NET_DVR_ALARMHOST_TEMP_HUMI_SENSOR_STATE struTempHumiSensorState;//ʪȴ״̬ - NET_DVR_ALARMHOST_AIRCONDITION_STATE struAirConditionState;//յ״̬ - NET_DVR_ALARMHOST_ELECTRICITY_STATE struElectricityState;//״̬ - NET_DVR_ALARMHOST_TRANSFORMER_TEMP_STATE struTransformerTempState; //״̬ - NET_DVR_ALARMHOST_WATERLEVEL_SENSOR struWaterLevelSensor;//ˮλ - NET_DVR_ALARMHOST_DUSTNOISE_SENSOR struDustNoiseSensor;//ﳾ - NET_DVR_ALARMHOST_ENVIRONMENTAL_LOGGER struEnvironmentLogger;//ɼ - NET_DVR_WIND_SPEED_STATE struWindSpeedState; //ٴ״̬ - NET_DVR_GENERATE_OUTPUT_STATE struGenerateOutputState; //ͨչģ״̬48·ÿλʾ1· - NET_DVR_SOAK_STATE struSoakState; //ˮ״̬ - NET_DVR_SOLAR_POWER_STATE struSolarPowerState; //̫ܿ״̬ - NET_DVR_SF6_ALARMHOST_STATE struSF6AlarmHostState; //SF6״̬ - NET_DVR_WEIGHT_STATE struWeightState; //״̬ - NET_DVR_WEATHER_STATION_STATE struWeatherStationState; //ɼϵͳ״̬ - NET_DVR_WATER_QLT_STATE struWaterQltState; //ˮʼ״̬ - NET_DVR_FUEL_GAS_DETE_STATE struFuelGasDeteState; //ȼϵͳ״̬ - NET_DVR_FIRE_ALARM_STATUS struFireAlarmStatus; //豸״̬ - BYTE byRes[512]; -} NET_DVR_EXTERNAL_DEVICE_STATE_UNION, *LPNET_DVR_EXTERNAL_DEVICE_STATE_UNION; - -typedef struct tagNET_DVR_ALARMHOST_EXTERNAL_DEVICE_STATE -{ - DWORD dwSize; - BYTE byDevType; //1-UPS2-صԴ3-ϵͳ4-ʪȴ5-յ6-7-״̬, 8-ˮλ9-ﳾ10-ɼǡ11-ٴ״̬12-ͨչģ״̬13-ˮ״̬14-̫ܿ״̬15-SF6״̬16-״̬17-ɼϵͳ״̬18-ˮʼ״̬19-ȼϵͳ״̬20-״̬ - BYTE byRes1[3]; - NET_DVR_EXTERNAL_DEVICE_STATE_UNION struDevState; - BYTE byRes2[32]; -} NET_DVR_ALARMHOST_EXTERNAL_DEVICE_STATE, *LPNET_DVR_ALARMHOST_EXTERNAL_DEVICE_STATE; - -//ͨչģƣ48·ÿλʾ1· -typedef struct -{ - DWORD dwSize; - BYTE byOutPutState1; /*output1-8*/ - BYTE byOutPutState2; /*output9-16*/ - BYTE byOutPutState3; /*output17-24*/ - BYTE byOutPutState4; /*output25-32*/ - BYTE byOutPutState5; /*output33-40*/ - BYTE byOutPutState6; /*output41-48*/ - BYTE byOperateType; //ͣ0-Ч1-2- - BYTE Res[65]; -}NET_DVR_GENERATE_OUTPUT_CTRL, *LPNET_DVR_GENERATE_OUTPUT_CTRL; - -//UPSֵ -typedef struct tagNET_DVR_ALARMHOST_UPS_LIMIT_VALUE -{ - int iInputVolHigh; //Խѹֵ(ֵ) - int iInputVolLow; //Խѹֵ(ֵ) - int iInputFreHigh; //ԽƵֵ(ֵ) - int iInputFreLow; //ԽƵֵ(ֵ) - int iOutputVolHigh; //Խѹֵ(ֵ) - int iOutputVolLow; //Խѹֵ(ֵ) - int iBatteryVoltageLow; //ص͵ѹֵ - int iBatterySurplus; //غʱ ֵ - int iBatteryTemperatureHigh;//¶ȸֵ - BYTE byRes[64]; // -}NET_DVR_ALARMHOST_UPS_LIMIT_VALUE, *LPNET_DVR_ALARMHOST_UPS_LIMIT_VALUE; - -//ʪȴֵ -typedef struct tagNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE -{ - int iTemperatureHighLimit; //¶ȸֵλ϶ - int iTemperatureLowLimit; //¶ȵֵλ϶ - int iHumidityHighLimit; //ʪȸֵλ% - int iHumidityLowLimit; //ʪȵֵλ% - BYTE byRes[84]; -} NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE, *LPNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE; - -typedef union tagNET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION -{ - NET_DVR_ALARMHOST_UPS_LIMIT_VALUE struUpsLimitValue; - NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_LIMIT_VALUE struTempHumidityLimitValue; -}NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION,*LPNET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION; - -typedef struct tagNET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE -{ - DWORD dwSize; - BYTE byDevType; //1-UPS2-ʪȴ - BYTE byRes1[3]; - NET_DVR_EXTERNAL_DEVICE_LIMIT_VALUE_UNION struAlarmValue; - BYTE byRes2[32]; -}NET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE, *LPNET_DVR_ALARMHOST_EXTERNAL_DEVICE_LIMIT_VALUE; - -#define ALARMHOST_ALARMOUT_NUM 64 // -#define MAX_OSD_UNIT_LEN 8 //OSDλ -typedef struct tagNET_DVR_ALARMHOST_SENSOR_JOINT_CFG -{ - DWORD dwSize; - BYTE bySensorJointAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM/*512*/];//ģ0-1- - BYTE bySensorJointSiren[ALARMHOST_MAX_SIREN_NUM/*8*/];//ģ - BYTE bySensorAlarmTypeJointAlarmOut[ALARMHOST_ALARMOUT_NUM/*64*/];//ģֶbySensorJointAlarmOutչ±ʾţԪصֵλʾͣͼ""Ĺϵֵ壺1bit0-1bit1-2bit2-3bit3-4bit4- - BYTE bySesorAlarmTypeJointSiren[ALARMHOST_MAX_SIREN_NUM]; //ģţֶbySensorJointSirenչ±ʾţԪصֵλʾͣͼ""Ĺϵֵ壺bit0-1bit1-2bit2-3bit3-4bit4- - BYTE byChan; //ͨ - BYTE byRes[55]; -}NET_DVR_ALARMHOST_SENSOR_JOINT_CFG, *LPNET_DVR_ALARMHOST_SENSOR_JOINT_CFG; - -//UPSϢϴ -typedef struct tagNET_DVR_ALARMHOST_UPS_ALARMINFO -{ - BYTE byAlarmType;/*ͣ1.AѹԽ 2.BѹԽ 3.CѹԽ 4.AѹԽ5.BѹԽ 6.CѹԽ7.AƵԽ 8.BƵԽ9.CƵԽ10.ѹԽޱ 11.ر 12.صѹͱ 13.غʱ䳬ͱ 14.¶ȳ߱ 15.رձ 16.Զ· 17.ϱ 18.ϱ 19.ϱ 20.عϱ 21.Զ·ϱ */ - BYTE byChanNo; //485ͨţ1ʼ - BYTE bySlotNo; //485λ - BYTE byRes1; // - int iAlarmValue;//ֵ - BYTE byRes2[64]; // -}NET_DVR_ALARMHOST_UPS_ALARMINFO, *LPNET_DVR_ALARMHOST_UPS_ALARMINFO; - -//صԴϴ -typedef struct tagNET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO -{ - BYTE byAlarmType; /*ͣ1-زʧ 2-AC-DCתϣ3-/ѹAB/AԽޣ4-/ѹBC/BԽޣ5-/ѹCA/CԽޣ6-AԽޣ7-BԽޣ8-CԽޣ9ģϣ10-ȹϣ11-ֱѹԽ*/ - BYTE byChanNo; //485ͨţ1ʼ - BYTE bySlotNo; //485λ - BYTE byRes1; - int iAlarmValue; //ֵ - BYTE byRes2[64]; -}NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO, -*LPNET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO; - -//ϵͳ -typedef struct tagNET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO -{ - BYTE byAlarmType; /*ͣ1- SF6庬쳣2-쳣3-¶ֵ쳣4-ʪֵ쳣5-*/ - BYTE byChanNo; //485ͨţ1ʼ - BYTE bySlotNo; //485λ - BYTE byRes1; - int iAlarmValue; //ֵ - BYTE byRes2[64]; -}NET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO, -*LPNET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO; - - -//ʪȴ -typedef struct tagNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO -{ - BYTE byAlarmType; //1-¶쳣2-ʪ쳣 - BYTE byChanNo; //485ͨ - BYTE bySlotNo; //485λ - BYTE byRes1; - int iAlarmValue; //ֵ - BYTE byRes2[64]; -} NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO, *LPNET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO; - -typedef union tagNET_DVR_485_DEVICE_ALARM_UNION -{ - NET_DVR_ALARMHOST_UPS_ALARMINFO struUPSAlarm; //UPS - NET_DVR_ALARMHOST_SWITCH_POWER_SUPPLY_ALARMINFO struSwitchPowerAlarm; //صԴ - NET_DVR_ALARMHOST_GAS_DETECT_SYS_ALARMINFO struGasDetectSystemAlarm; //ϵͳ - NET_DVR_ALARMHOST_TEMP_HUMIDITY_SENSOR_ALARMINFO struTempHumiditySensorAlarm; //ʪȴ - BYTE byRes[72]; -} NET_DVR_485_DEVICE_ALARM_UNION, *LPNET_DVR_485_DEVICE_ALARM_UNION; - -//485豸Ϣ -typedef struct tagNET_DVR_485_EXTERNAL_DEVICE_ALARMINFO -{ - DWORD dwSize; - BYTE byAlarmType; //1-UPS2-صԴ3-ϵͳ4-ʪȴ - BYTE byRes1[3]; - NET_DVR_485_DEVICE_ALARM_UNION struAlarmInfo; - BYTE byRes2[16]; -} NET_DVR_485_EXTERNAL_DEVICE_ALARMINFO, *LPNET_DVR_485_EXTERNAL_DEVICE_ALARMINFO; - -typedef struct tagNET_DVR_ALARMHOST_RS485_SLOT_CFG -{ - DWORD dwSize; // ṹС - BYTE sDeviceName[NAME_LEN]; // ǰ豸 - WORD wDeviceType; // ǰ豸ALARM_FRONT_DEVICE _TYPE - WORD wDeviceProtocol; // ǰ豸Э ͨȡЭбȡ - WORD wAddress; //豸ַ - BYTE byChannel; //485ͨ - BYTE bySlotChan; //λ - BYTE byRes[60]; // ֽ -}NET_DVR_ALARMHOST_RS485_SLOT_CFG, *LPNET_DVR_ALARMHOST_RS485_SLOT_CFG; - -//ģʽ -typedef struct tagNET_DVR_CORRIDOR_MODE -{ - DWORD dwSize; - BYTE byEnableCorridorMode; //Ƿģʽ 0ã 1 - BYTE byMirrorMode; //ʽ0 ر;1 ;2 ;3 м - BYTE byRes[126]; -}NET_DVR_CORRIDOR_MODE, *LPNET_DVR_CORRIDOR_MODE; - -// -typedef struct tagNET_DVR_DETECT_FACE -{ - DWORD dwSize; - BYTE byEnableDetectFace; //Ƿ 0ã 1 - BYTE byDetectSensitive; // 10ȼ 110 - BYTE byEnableDisplay; /*ƶʾ0-1-*/ - BYTE byRes; - NET_DVR_HANDLEEXCEPTION_V40 struAlarmHandleType; /*ʽ*/ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ */ - DWORD dwMaxRelRecordChanNum; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum; //¼ͨ ʵ֧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; /* ¼ͨ*/ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - WORD wDuration; //ʱ 5s - BYTE byRes1[30]; -}NET_DVR_DETECT_FACE, *LPNET_DVR_DETECT_FACE; - -typedef struct tagNET_DVR_MUL_STREAM_CHANNEL_GROUP -{ - DWORD dwSize; // ṹС - DWORD dwGroup ; // - NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND struMultiStreamCfg; // - BYTE byRes[64] ; -}NET_DVR_MUL_STREAM_CHANNEL_GROUP,*LPNET_DVR_MUL_STREAM_CHANNEL_GROUP; - -typedef struct tagNET_DVR_CHANNEL_GROUP -{ - DWORD dwSize; // ṹС - DWORD dwChannel; //ͨ - DWORD dwGroup; // - BYTE byID; //豸ID - BYTE byRes1[3]; - DWORD dwPositionNo; //λ,IPC0IPDǴ1ʼ - BYTE byRes[56]; -}NET_DVR_CHANNEL_GROUP, *LPNET_DVR_CHANNEL_GROUP; - - -typedef struct tagNET_DVR_TIME_DETECTION -{ - NET_DVR_SCHEDTIME struSchedTime; //ʱ - BYTE byDetSceneID;//ⳡ[1,4],IPCĬ0 - BYTE byRes[15]; -}NET_DVR_TIME_DETECTION,*LPNET_DVR_TIME_DETECTION; - -//ץĴģʽֹ֧ʱκϴ -typedef struct tagNET_DVR_GUARD_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - /* - 0ʾЧ - 1ʾ ץVIAģʽƵץ IPCʹã; - 2 ʾ ץ HVT ģʽ 쿨IPCʹã - */ - BYTE byRelateType; - BYTE byGroupNo; // - BYTE byRes[62]; -}NET_DVR_GUARD_COND,*LPNET_DVR_GUARD_COND; - -//ץĴģʽֹ֧ʱκϴ -typedef struct tagNET_DVR_GUARD_CFG -{ - DWORD dwSize; - //ʱ - NET_DVR_TIME_DETECTION struAlarmSched[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //ʵʴ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V30]; //¼ͨ(0xffff ffffʾЧ - NET_DVR_TIME_DETECTION struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byDirection;//0-1-ȫ2-3- - BYTE byRes[87]; -}NET_DVR_GUARD_CFG,*LPNET_DVR_GUARD_CFG; - -//ץͼƬչṹ -typedef struct tagNET_DVR_SNAPINFO_COND_ -{ - DWORD dwSize; - DWORD dwChan; - /* - 0 ʾ ץMPRģʽ֡ץ IPCʹã - 1 ʾ ץ HVT ģʽ쿨IPCʹã - */ - BYTE byRelateType; - BYTE byRes[63]; // -}NET_DVR_SNAPINFO_COND, *LPNET_DVR_SNAPINFO_COND; - - -//ץͼƬ -typedef struct tagNET_DVR_SNAPINFOCFG -{ - DWORD dwSize; - BYTE byCurPicType;//0-ʾͼƬ1-ʾͼƬС - BYTE byPicQuality;//ͼƬ[1,100] - BYTE byRes1[2]; - DWORD dwPicSize;//ͼƬС[64k,2048k] - BYTE byRes2[128]; -}NET_DVR_SNAPINFOCFG,*LPNET_DVR_SNAPINFOCFG; - -//ptzٷʽ -typedef enum _PTZ_TRACK_MODE_ -{ - PTZ_TRACK_MODE_ALWAYS = 1, //һֱ - PTZ_TRACK_MODE_BYTIME = 2, //ָʱ - PTZ_TRACK_MODE_NEXT = 3, //һĿ -}PTZ_TRACK_MODE; - -//ptzٲ -typedef struct _NET_DVR_PTZ_TRACK_PARAM_ -{ - DWORD dwSize; //ṹС - BYTE byTrackMode; //ٷʽ,οPTZ_TRACK_MODE - BYTE byLinkageTarget; //Ŀ0-Ĭ,1-1,2-2.. - BYTE byAutoTrackEnable;//ʹ 0-Զٿ1-Զٹرգǹ豸֧Զٹرչܣڴչ - BYTE byRes1; // - DWORD dwTrackTime; //ʱ䣬 - //ģʽΪPTZ_TRACK_MODE_ALWAYSֶЧ - //ģʽΪPTZ_TRACK MODE_BYTIMEʱΧ[1,60]Ĭ10 - //ģʽΪPTZ_TRACK MODE_NEXTʱΧ[1,10]Ĭ2 - BYTE byRes2[256]; // -}NET_DVR_PTZ_TRACK_PARAM,*LPNET_DVR_PTZ_TRACK_PARAM; - -typedef struct tagNET_VCA_TRAVERSE_PLANEPARAM -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byEnableDualVca;// ֧ܺ 0-ã1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - NET_VCA_TRAVERSE_PLANE struAlertParam[MAX_ALERTLINE_NUM]; //߲ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD byRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byRes2[100]; -}NET_VCA_TRAVERSE_PLANE_DETECTION, *LPNET_VCA_TRAVERSE_PLANE_DETECTION; - - -typedef struct tagNET_VCA_FIELDDETECION -{ - DWORD dwSize; - BYTE byEnable; //ʹܣǷ - BYTE byEnableDualVca;// ֧ܺ 0-ã1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - NET_VCA_INTRUSION struIntrusion[MAX_INTRUSIONREGION_NUM];//ÿIJ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱ - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD byRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30/*8*/]; //ղʱ - BYTE byRes2[100]; -}NET_VCA_FIELDDETECION, *LPNET_VCA_FIELDDETECION; - -typedef struct tagNET_DVR_ROI_DETECT_NUM -{ - DWORD dwSize; - DWORD dwGroup; - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3 - DWORD dwRoiFixNum; //̶ȷٴλȡ - DWORD dwRoiFixID[MAX_ROIDETECT_NUM];//IPC֧4֧24 - BYTE szFixRoiName[MAX_ROIDETECT_NUM][NAME_LEN];//̶ROI - DWORD dwRoiTrackNum; //Զȷٴλȡ - DWORD dwRoiTrackID[MAX_ROIDETECT_NUM];//IPC֧4֧24 - BYTE byRes[320]; -}NET_DVR_ROI_DETECT_NUM, *LPNET_DVR_ROI_DETECT_NUM; - -typedef enum _DETECT_ROI_TYPE_ -{ - DETECT_FIX_ROI = 0, //ROI̶ - DETECT_TRACK_ROI = 1 //ROI Զ -}DETECT_ROI_TYPE; -// -typedef struct tagNET_DVR_ROI_DETECT_COND -{ - DWORD dwSize; - DWORD dwRoiID; // һPTZ֧4 - NET_DVR_MULTI_STREAM_COMPRESSIONCFG_COND struMultiStreamCfg; // - BYTE byRoiDetectType; // DECTECT_ROI_TYPE ֵ - BYTE byRoiDetectTrackType;//̶ʱֶЧʱ1⣨IPC,2ƶ,3-Ƹ - BYTE byRes[30]; -}NET_DVR_ROI_DETECT_COND,*LPNET_DVR_ROI_DETECT_COND; - -//ò -//ROI̶ģʽ 빦 -typedef struct tagNET_DVR_ROI_FIX_RECT_CFG -{ - BYTE byEnableFixRoi; // ROI̶ģʽ Ƿ 0ã 1 - BYTE byImageQualityLevel; //ͼȼ 16 - BYTE byRes[2]; - BYTE szFixRoiName[NAME_LEN]; - NET_VCA_RECT struRoiRect; //ROI - BYTE byRes1[468]; -}NET_DVR_ROI_FIX_RECT_CFG, *LPNET_DVR_ROI_FIX_RECT_CFG; - -//ROIԶģʽ 빦 -typedef struct tagNET_DVR_ROI_TRACK_RECT_CFG -{ - BYTE byEnableTrackRoi; // ROIԶģʽ Ƿ 0ã 1 - BYTE byImageQualityLevel; //ͼȼ 16 - BYTE byModeType;// 0 ~ , 1ģʽ(ƶ;ֹ), 2~ƶ(ƶ), 3-Ƹ - BYTE byRes[509]; -}NET_DVR_ROI_TRACK_RECT_CFG, *LPNET_DVR_ROI_TRACK_RECT_CFG; - -typedef union tagNET_DVR_ROI_DETECT_UNION -{ - DWORD uLen[128]; - NET_DVR_ROI_FIX_RECT_CFG strRoiFixRectCfg;//̶ģʽ - NET_DVR_ROI_TRACK_RECT_CFG strRoiTrackRectCfg;//Զģʽ -}NET_DVR_ROI_DETECT_UNION,*LPNET_DVR_ROI_DETECT_UNION; - -typedef struct tagNET_DVR_ROI_DETECT_CFG -{ - DWORD dwSize; //560 - DWORD dwStreamType; //ͣ0-1-2-¼ͣ3-3 - BYTE byRoiDetectType; // DECTECT_ROI_TYPE ֵ - BYTE byRes[3]; - NET_DVR_ROI_DETECT_UNION uRoiDetectInfo; //ROI - BYTE byRes1[36]; -}NET_DVR_ROI_DETECT_CFG, *LPNET_DVR_ROI_DETECT_CFG; - -//齹 -typedef struct tagNET_VCA_DEFOCUSPARAM -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE bySensitiveLevel;// 1-100Ĭ50ԽߣԽױ - BYTE byRes1[2]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - BYTE byRes2[24]; -}NET_VCA_DEFOCUSPARAM,*LPNET_VCA_DEFOCUSPARAM; - -typedef struct tagNET_PTZ_INFO_EX -{ - float fPan;//Pֵ ȷС3λ Χ[0,360.000] - float fTilt; //Zֵ ȷС3λ Χ[-90.000,90.000] - float fVisibleZoom;//ɼzoom ȷС1λ ᳬ[010000.0] - DWORD dwVisibleFocus;//ɼfocus[0,65535] - float fThermalZoom;//ȳzoom ȷС1λ ᳬ[010000.0] - DWORD dwThermalFocus;//ȳfocus[0,65535] -}NET_PTZ_INFO_EX, *LPNET_PTZ_INFO_EX; - -//IPC5.1.0 -typedef struct tagNET_DVR_PRESET_NAME -{ - DWORD dwSize; - WORD wPresetNum; //Ԥõ - BYTE byRes1[2]; //ֽڶ - char byName[NAME_LEN]; - WORD wPanPos;//ˮƽ ȡݴ360Ĭϼȥ360 - WORD wTiltPos;//ֱ ȡݴ360Ĭϼȥ360 - WORD wZoomPos;//䱶ȡݴ360Ĭϼȥ360 - BYTE byRes2; - BYTE byPTZPosExEnable; /*ǷPTZչ0~ãPTZֵwPanPoswTiltPoswZoomPosΪ׼1~ãPTZֵstruPtzPosExΪ׼*/ - NET_PTZ_INFO_EX struPtzPosEx;// ptzչ(ָ֧߾PTZֵ) - BYTE byRes[32]; -}NET_DVR_PRESET_NAME, *LPNET_DVR_PRESET_NAME; - -typedef struct -{ - NET_DVR_SCHEDTIME struSchedTime; //ʱ - WORD wAction; ///< ʱ嶯 - WORD wActionNum; ///< ⶯ӱţԤõ㣬Ѳҹл - BYTE byres[12]; -}NET_DVR_SCHEDTASK,* LPNET_DVR_SCHEDTASK; - -//ʱ -typedef struct tagNET_DVR_TIME_TASK -{ - DWORD dwSize; - BYTE byTaskEnable; ///< ʹ 1-0- - BYTE byRes[3]; ///< ֽڶ - NET_DVR_SCHEDTASK struTask[MAX_DAYS][MAX_SCH_TASKS_NUM]; ///< 7죬ÿ10ʱ - DWORD dwParkTime; ///< ʱ 5s-720s - BYTE byRes1[64]; -}NET_DVR_TIME_TASK,*LPNET_DVR_TIME_TASK; - -//ṹ -typedef struct tagNET_DVR_CHANNEL_INDEX -{ - DWORD dwSize; // ṹС - DWORD dwChannel ; //ͨ - DWORD dwIndex ; // - BYTE byRes[64] ; -}NET_DVR_CHANNEL_INDEX, *LPNET_DVR_CHANNEL_INDEX; - -typedef struct tagNET_DVR_AUDIO_NAME -{ - DWORD dwSize; // ṹС - char cName[NAME_LEN] ; // - BYTE byRes[64]; -}NET_DVR_AUDIO_NAME, *LPNET_DVR_AUDIO_NAME; - -//¼豸 -typedef struct tagNET_DVR_LOGIN_DEVICE_PARAM_ -{ - DWORD dwSize; //ṹС - BYTE byMobileDev; //豸, 0- ƶ豸, 1 - ƶ豸 - BYTE byRes[63]; // -}NET_DVR_LOGIN_DEVICE_PARAM, *LPNET_DVR_LOGIN_DEVICE_PARAM; - -typedef enum RECV_DATA_TYPE -{ - ENUM_RECV_ERRCODE = 0x0, //ش -} RECV_DATA_TYPE; - -//ģʽ -typedef enum tagFISHEYE_STREAM_OUTPUT_MODE_ -{ - FISHEYE_STREAM_MODE_FISHEYE = 1, //ģʽ - FISHEYE_STREAM_MODE_PTZ = 2, //PTZģʽ - FISHEYE_STREAM_MODE_PANORAMA = 3 //ȫģʽ -}FISHEYE_STREAM_OUTPUT_MODE; - -//صö -typedef enum _CALLBACK_TYPE_DATA_ENUM_ -{ - ENUM_FISHEYE_STREAM_STATUS = 1, //״̬ - ENUM_FISHEYE_PTZPOS = 2, //ptzͨǰģʽµ - ENUM_FISHEYE_REALTIME_OUTPUT = 3 //ʵʱģʽ -}CALLBACK_TYPE_DATA_ENUM; - -//״̬ -typedef struct tagNET_DVR_FISHEYE_STREAM_STATUS_ -{ - DWORD dwSize; //ṹС - BYTE byStreamMode; //ģʽμFISHEYE_STREAM_OUTPUT_MODE - BYTE byRes[63]; // -}NET_DVR_FISHEYE_STREAM_STATUS,*LPNET_DVR_FISHEYE_STREAM_STATUS; - -//ӻصݽṹ -typedef struct tagNET_DVR_CALLBACK_TYPE_DATA -{ - DWORD dwChannel; //ͨ - DWORD dwDataType; //μCALLBACK_TYPE_DATA_ENUM - DWORD dwDataLen; //ݳ - BYTE* pData; //ݣdwTypeDataΪ ENUM_FISHEYE_STREAM_STATUSӦΪNET_DVR_FISHEYE_STREAM_STATUS - BYTE byRes[64]; // -}NET_DVR_CALLBACK_TYPE_DATA,*LPNET_DVR_CALLBACK_TYPE_DATA; - -//ptz϶ -typedef struct tagNET_DVR_DRAG_POS_PARAM -{ - DWORD dwChannel; //ͨ - DWORD dwPtzChannel; //dwChannelָͨģʽΪFISHEYE_STREAM_MODE_FISHEYEģʽʱֵΪ϶ptzͨdwChannelͨģʽΪʱΪ0 - NET_VCA_POINT struToPoint; //϶ҪתĿ㣬ĿλԤϽ - NET_VCA_POINT struOriPoint; //϶ʼ,˵Ϊ϶ʼʱָԤϽǵλ - BYTE byRes[56]; // -}NET_DVR_DRAG_POS_PARAM,*LPNET_DVR_DRAG_POS_PARAM; - -//ƽ̨ѯϷ״̬ -typedef struct tagNET_DVR_QUERY_STATUS -{ - DWORD dwSize; - BYTE byCpuLoad; //CPUԴռ, ȡֵΧ0-100 - BYTE byMemLoad; //MemoryԴռȡֵΧ0-100 - WORD wAbility; //Ϸ0 - WORD wRemainAbility;//ϷʣȡֵΧ 0 ʣصĸ - WORD wTotalPlanNum; //64ƻ> - WORD wCurPlanNum; //ǰƻ 64ƻ> - BYTE byRes[62]; // -}NET_DVR_QUERY_STATUS, *LPNET_DVR_QUERY_STATUS; - -typedef struct tagNET_DVR_MONITOR_VQDCFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ - BYTE byDevType; //豸ͣ0-̨豸1-̨豸 - BYTE bySignalPoint; //źŶʧֵ0-100 - BYTE byBlurPoint; //ͼģֵ0-100 - BYTE byLumaPoint; //ͼֵ0-100 - BYTE byChromaPoint; //ͼƫɫֵ0-100 - BYTE bySnowPoint; //ŷֵ0-100 - BYTE byStreakPoint; //Ƹŷֵ0-100 - BYTE byFreezePoint; //涳ֵᷧ0-100 - BYTE byPTZPoint; //̨ʧطֵ0-100 - BYTE byMonitorDel; //صɾ 0-ɾ 1-ɾ - BYTE byContrastThreshold; //Աȶ쳣ֵ0-100 - BYTE byMonoThreshold; //ڰͼֵ0-100 - BYTE byShakeThreshold; //Ƶֵ0-100 - BYTE byFlashThreshold; //Ƶֵ0-100 - BYTE byCoverThreshold; //Ƶڵֵ0-100 - BYTE bySceneThreshold; //ֵ0-100 - BYTE byDarkThreshold; //ͼֵ0-100 - BYTE byRes[46]; -}NET_DVR_MONITOR_VQDCFG, *LPNET_DVR_MONITOR_VQDCFG; - -//Ͻ -typedef struct tagNET_DVR_DIAGNOSIS_UPLOAD -{ - DWORD dwSize; - char sStreamID[STREAM_ID_LEN]; ///< IDС32ֽ - char sMonitorIP[64]; ///< صip - DWORD dwChanIndex; ///< صͨ - DWORD dwWidth; ///< ͼ - DWORD dwHeight; ///< ͼ߶ - NET_DVR_TIME struCheckTime; ///< ʱ(ϲںʱֶ)ʽ2012-08-06 13:00:00 - BYTE byResult; ///0-δ 1- 2-쳣 3-¼ʧ 4-ȡ쳣 - BYTE bySignalResult; ///< Ƶʧ 0-δ 1- 2-쳣 - BYTE byBlurResult; ///< ͼģ0-δ 1- 2-쳣 - BYTE byLumaResult; ///< ͼ0-δ 1- 2-쳣 - BYTE byChromaResult; ///< ƫɫ0-δ 1- 2-쳣 - BYTE bySnowResult; ///< ż0-δ 1- 2-쳣 - BYTE byStreakResult; ///< Ƹż0-δ 1- 2-쳣 - BYTE byFreezeResult; ///< 涳0-δ 1- 2-쳣 - BYTE byPTZResult; ///< ̨0-δ 1- 2-쳣 - BYTE byContrastResult; //Աȶ쳣0-δ⣬1-2-쳣 - BYTE byMonoResult; //ڰͼ0-δ⣬1-2-쳣 - BYTE byShakeResult; //Ƶ0-δ⣬1-2-쳣 - char sSNapShotURL[256]; ///<ͼƬURLַ - BYTE byFlashResult; //Ƶ0-δ⣬1-2-쳣 - BYTE byCoverResult; //Ƶڵ0-δ⣬1-2-쳣 - BYTE bySceneResult; //0-δ⣬1-2-쳣 - BYTE byDarkResult; //ͼ0-δ⣬1-2-쳣 - BYTE byStreamType; //ͣ0-Ч1-δ֪2-ͣ3-ǹ - BYTE byRes2[59]; -}NET_DVR_DIAGNOSIS_UPLOAD, *LPNET_DVR_DIAGNOSIS_UPLOAD; - -typedef struct tagNET_DVR_DOWN_LOAD_REQUEST ///< ݽṹƽ̨͵Ϸ -{ - NET_DVR_STREAM_INFO struStreamInfo; - char sSnapShotURL[256]; ///< ץͼURLС256ֽ - BYTE byRes[32]; -}NET_DVR_DOWN_LOAD_REQUEST, *LPNET_DVR_DOWN_LOAD_REQUEST; - -typedef struct tagNET_DVR_VQD_RESULT_INFO ///< ݽṹϷظƽ̨ -{ - DWORD dwSize; - char sStreamID[32]; ///֣1->*/ - BYTE byRes1[7]; - NET_DVR_GENERIC_START struTransactionStart;/*׿ʼ*/ - NET_DVR_GENERIC_END struTransactionEnd;/*׽*/ - NET_DVR_GENERIC_DATA_CFG struLineDeli;/*м*/ - NET_DVR_IGNORE_STRING struIgnoreString[MAX_IGNORE_STRING_NUM];/*ַĿǰΪ4*/ - BYTE byRes[40]; // -}NET_DVR_POS_GENERIC, *LPNET_DVR_GENERIC; - -typedef struct -{ - DWORD dwPosAddr; //posַ - BYTE byRes[948]; -}NET_DVR_POS_AVE, *LPNET_DVR_AVE; - -#define SERIAL_NUM_LEN 8 -typedef struct tagNET_DVR_POS_NUCLEUS/*size 952byte*/ -{ - char szEmployeeNo[SERIAL_NUM_LEN];//Աţ1עe - char szTerminalNo[SERIAL_NUM_LEN];// Posţ1עt - char szShiftNo[SERIAL_NUM_LEN]; //ְࣨעs - BYTE byRes[928]; -}NET_DVR_POS_NUCLEUS, *LPNET_DVR_POS_NUCLEUS; -typedef union _NET_DVR_POS_PROTOCOL_UNION -{ - BYTE byLenth[952]; //ڱʾ峤ȣʵ - NET_DVR_POS_GENERIC struGeneric; - NET_DVR_POS_AVE struAve; - NET_DVR_POS_NUCLEUS struNUCLEUS; -}NET_DVR_POS_PROTOCOL_UNION,*LPNET_DVR_POS_PROTOCOL_UNION; - -typedef enum tagNET_DVR_CHARSET_ENUM //뷽ʽ -{ - ENUM_UTF8 =0, - ENUM_GB2312, - ENUM_LATIN1, - ENUM_LATIN2, - ENUM_LATIN3, - ENUM_LATIN4, - ENUM_CYRILLIC, - ENUM_ARABIC, - ENUM_GREEK, - ENUM_HEBREW, - ENUM_TURKISH, - ENUM_NORDIC, - ENUM_THAI, - ENUM_LATIN7, - ENUM_LATIN8, - ENUM_LATIN9, - ENUM_LATIN10, - ENUM_CENTRAL_EUROPEAN, - ENUM_CYRILLIC_SCRIPT, - ENUM_HEBREW_DOS862 -}NET_DVR_CHARSET_ENUM, *LPNET_DVR_CHARSET_ENUM; - - -typedef struct -{ - DWORD dwSize; - BYTE byEnable; //ʹ - BYTE byCharSetType; //뷽ʽ0-UTF-8,1-GB2312 - BYTE byRes1; // - BYTE byProtocolType;//Эͣ1->generic textЭ(universal Protocol), 2->AVE VSI-ADD 3->AVE Vnet,4-EPSON(账posЭ), 5-NUCLEUS - //6- GilbarcoöӦṹNET_DVR_POS_GENERIC,7- NCRöӦṹNET_DVR_POS_GENERIC - NET_DVR_POS_PROTOCOL_UNION uPosProtocol; //POSЭ - BYTE byRes[32]; // -}NET_DVR_POS_FILTER_CFG, *LPNET_DVR_POS_FILTER_CFG; - -typedef struct tagNET_DVR_NET_SNIFF /*ṹ 312byte*/ -{ - BYTE byEnableSourcePort; //ǷöԴ˿ڹ 0-ã1- - BYTE byEnableDestAddr; //ǷöĿIPַй 0-ã1- - BYTE byEnableDestPort; //ǷöĿַĶ˿ںŽй - BYTE byRes1; // - BYTE bySourceIpAddr[MAX_DOMAIN_NAME]; //Դַ - BYTE byDestinationIpAddr[MAX_DOMAIN_NAME]; //ݷĿַ - WORD wSourcePort; //Դ˿ں - WORD wDestinationPort; //ݷĿ˿ں - BYTE byRes[16]; // -}NET_DVR_NET_SNIFF, *LPNET_DVR_NET_SNIFF; - -typedef struct -{ - WORD wNetPort; /*device net port*/ - BYTE byRes[2]; -}NET_DVR_NET_RECEIVE, *LPNET_DVR_NET_RECEIVE; - -typedef struct tagNET_DVR_MONITOR_INFO /**/ -{ - WORD wPort; //˿ں - BYTE byRes1[2]; - NET_DVR_IPADDR struRestrictRemoteIP;//Զ̷IP - BYTE byRes[164]; -}NET_DVR_MONITOR_INFO, *LPNET_DVR_MONITOR_INFO; - -typedef union tagNET_DVR_POS_CONNECTMODE_UNION -{ - BYTE byLen[312]; //峤ȣʵ - NET_DVR_NET_RECEIVE struNetRecv; //ģʽ - NET_DVR_MONITOR_INFO struTcpMonitor; //ģʽ - NET_DVR_SINGLE_RS232 struRS232; //ڷʽ - NET_DVR_MONITOR_INFO struUdpMonitor; //-UDPģʽ - NET_DVR_NET_SNIFF struSniff; //ģʽ - NET_DVR_ADDRESS struMcast; //ಥģʽ - NET_DVR_USB_RS232 struUSBRS232; //USBתڷʽ -}NET_DVR_POS_CONNECTMODE_UNION, *LPNET_DVR_POS_CONNECTMODE_UNION; - - -//DVRPOSӷʽýṹ -typedef struct tagNET_DVR_CONNECT_POS_CFG -{ - DWORD dwSize; //ṹС - BYTE byConnectMode; //ģʽ:0->(TCP),1->,2->ڽ3-UDP,4-,5-ಥ - BYTE byRes1[3]; // - NET_DVR_POS_CONNECTMODE_UNION uPosConnMode; //ģʽ - BYTE byRes[64]; -}NET_DVR_CONNECT_POS_CFG, *LPNET_DVR_CONNECT_POS_CFG; - -typedef struct tagNET_DVR_CHAN_FILTER_CFG -{ - DWORD dwSize; //ṹС - BYTE byFilterID; //POS˹ID - BYTE byFontSize; //ֺŴС0-- 8*16 1--16*32 2--32*64 - BYTE byShowPosInfo; //ǷposϢ - BYTE byOverlayMode; //ӷʽ0-1-ҳ - DWORD dwDelayTime; /*delay time(5-3600s)*/ - NET_DVR_POS_OSD_REGION struOsdPosInfo; /*overlay osd rect info*/ - NET_DVR_RGB_COLOR struOsdColor; //OSDɫ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - //쳣ʽбŰ󶨣Ϊ0ʱʾıŷΧΪ1-64Ϊ1ʱʾıŷΧΪ65-128 ڽУ0xffffffffʾ ǰļںıЧ - DWORD dwMaxRelRecordChanNum ; //¼ֻ֧ͨ - DWORD dwRelRecordChanNum ; //ڹ¼ͨ - DWORD dwRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - //¼ͨŰ󶨣Ϊ0ʱʾͨŷΧΪ1-64Ϊ1ʱʾͨŷΧΪ65-128 ڽУ0xffffffffʾںĹͨЧ - DWORD dwTimeOut; /*time Out(5-3600s)*/ //ݳʱָڶ೤ʱղPOSݼжһݰĽ - BYTE byRes[60]; // -}NET_DVR_CHAN_FILTER_CFG, *LPNET_DVR_CHAN_FILTER_CFG; - -#define MAX_LAN_ENCODE_LEN 32 //Աʽ󳤶 -typedef struct tagNET_DVR_DEVICE_LAN_ENCODE -{ - DWORD dwSize; - BYTE byLanEncode[MAX_LAN_ENCODE_LEN]; //豸Աʽ - BYTE byRes[28]; -}NET_DVR_DEVICE_LAN_ENCODE, *LPNET_DVR_DEVICE_LAN_ENCODE; - -typedef struct tagNET_DVR_SCENECHANGE_DETECTION -{ - DWORD dwSize; - BYTE byEnable; //ʹܣǷ 0~,1~ - BYTE bySensitiveLevel;// 1-100Ĭ50ԽߣԽױ - BYTE byRes1[2]; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30];//¼ͨ - //¼ֽͨڵͨţʼֵ 0xffffffff - BYTE byRes2[128]; -}NET_DVR_SCENECHANGE_DETECTION,*LPNET_DVR_SCENECHANGE_DETECTION; - -typedef struct tagNET_DVR_SCENECHANGE_DETECTION_RESULT -{ - DWORD dwSize; // ṹС - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes[126]; // ֽ -}NET_DVR_SCENECHANGE_DETECTION_RESULT,*LPNET_DVR_SCENECHANGE_DETECTION_RESULT; - -typedef enum -{ - PREVIEW_MOD = 0, - ALARM_MOD, - PLAYBACK_MOD, - MAX_TYPE -}MODULE_TYPE; - -//λϢ -typedef struct tagNET_DVR_PARK_INFO -{ - char sPlateNo[MAX_PlATE_NO_LEN]; //ƺ - char sParkIndex[MAX_PlATE_NO_LEN]; //λ - BYTE byRes[64]; -}NET_DVR_PARK_INFO, *LPNET_DVR_PARK_INFO; - - -typedef struct tagNET_DVR_CROSSLINE_ALARM -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; - NET_DVR_TIME_EX struTriggerTime;/*ʱ*/ - NET_DVR_PARK_INFO struParkInfo; //λϢ - BYTE byRes1[128]; -}NET_DVR_CROSSLINE_ALARM, *LPNET_DVR_CROSSLINE_ALARM; - -typedef struct tagNET_DVR_STREAM_SRC_CFG -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamID; //Ϣ - NET_DVR_STREAM_SRC_INFO struStreamSrcInfo; //ԴϢ -}NET_DVR_STREAM_SRC_CFG,*LPNET_DVR_STREAM_SRC_CFG; - -typedef struct tagNET_DVR_ENCODEINFO -{ - BYTE byFormatType; //װͣ1-2-RTPװ3-PSװ4-TSװ5-˽У6-FLV7-ASF8-3GP, 9-RTP+PS꣺GB281810xff-Ч - BYTE byVideoEncType;//Ƶͣ0-˽2641-׼h2642-׼mpeg47-M-JPEG0xff-Ч - WORD wWidth; //ͼ - WORD wHeight; //ͼ߶ - BYTE byRes1[2]; - DWORD dwVideoBitrate; //Ƶ,λKbps - DWORD dwVideoFrameRate; //֡ʣ200ʾС1֡/״ֵ̬ʾʵֵ֡,200-1/2,201-1/4,202-1/8,203-1/16 - BYTE byAudioEncType;//Ƶͣ0-G7221-G711_U2-G711_A5-MPEG2,6-G7267-AAC,0xff-Ч - BYTE byRes2[15]; -}NET_DVR_ENCODEINFO, *LPNET_DVR_ENCODEINFO; - - -typedef struct tagNET_DVR_TRANSSTATUS -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo;//IDתͨϢ - BYTE byMode;//תģʽ1-ת룬2-ת - BYTE byLinkNums;// - BYTE byPassiveTransMode; //תģʽ0-Ч1-ʵʱ2-ļ - BYTE byRes; - NET_DVR_ADDRESS struDstIPInfo[MAX_LINK];//Ŀתipַ - BYTE byTransResource;//ʹõתԴD1 - BYTE byRes1[15]; - NET_DVR_ENCODEINFO struSrcEncodeInfo;//ԴϢ - NET_DVR_ENCODEINFO struDstEncodeInfo[MAX_LINK /*6*/];//ĿϢ - BYTE byRes2[36]; -}NET_DVR_TRANSSTATUS, *LPNET_DVR_TRANSSTATUS; - -typedef struct tagNET_DVR_TRANSDEVICE_STATUS -{ - DWORD dwSize; - DWORD dwTotalResource;//ȫתԴD1Ϊλ - DWORD dwIdleResource;//ʣתԴD1Ϊλ - BYTE byCpuLoad;//CPU - BYTE byRes[67]; -}NET_DVR_TRANSDEVICE_STATUS, *LPNET_DVR_TRANSDEVICE_STATUS; - -typedef struct tagNET_DVR_DEV_WORK_MODE -{ - DWORD dwSize; - BYTE byWorkMode; //1-ͨģʽ2-IDģʽ - BYTE byDisplayMode; //0-ͨ1- - BYTE byEnableVcaDec; //Ƿܽ룬0-ã0- - BYTE byRes[61]; -}NET_DVR_DEV_WORK_MODE,*LPNET_DVR_DEV_WORK_MODE; - - -typedef struct tagNET_DVR_PASSIVETRANSINFO -{ - DWORD dwSize; - BYTE byStreamType;// ͣ0-1- - BYTE byLinkMode;// 0TCPʽ,1UDPʽ - BYTE byPassiveTransMode; //תģʽ1-ʵʱ2-ļ - BYTE byRes1[5]; - BYTE byDataType;//ͣ1-SDP2-ͷ - BYTE byRes2; - WORD wDataLength;//ݳ - char *pBuffer;// - BYTE byRes3[32]; // -}NET_DVR_PASSIVETRANSINFO, *LPNET_DVR_PASSIVETRANSINFO; - -typedef struct tagNET_DVR_BASEMAP_CONTROL_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʾ1-ʾ0- - BYTE byBaseMapType; //ͼͣ1-ͼƬͼ2-ͼ3-ͼѵ - BYTE byBaseMapCircleNo; //ͼѵţbyBaseMapTypeΪ3ʱЧ - BYTE byRes1; - DWORD dwBaseMapNo; //ͼţͼΪ1ʱ˲ΪͼƬţͼΪ2ʱ˲Ϊϵͳںţ1ֽھ+1ֽӰ+1ֽں+1ֽڱ - BYTE byRes2[64]; -}NET_DVR_BASEMAP_CONTROL_CFG,*LPNET_DVR_BASEMAP_CONTROL_CFG; - -typedef struct tagNET_DVR_VIRTUAL_SCREEN_CFG -{ - DWORD dwSize; - DWORD dwResolution; //ֱʣMAKE_RESOLUTION궨ֵӵǽȡֵ֧ķֱֵ - BYTE byRes[64]; -}NET_DVR_VIRTUAL_SCREEN_CFG, *LPNET_DVR_VIRTUAL_SCREEN_CFG; - -typedef struct tagNET_DVR_BASEMAP_WINCFG -{ - DWORD dwSize; - BYTE byEnable; - BYTE byWndOperateMode; //ڲģʽ0-ͳһ꣬1-ֱ - BYTE byRes1[6]; - NET_DVR_RECTCFG_EX struWinPosition;//ĿĴ(ʾǽ),ͼڵʼʹСǻ׼ - NET_DVR_RECTCFG_EX struResolution; //ĿĴڷֱ꣬ȡ򰴷ֱЧ - DWORD dwXCoordinate; //LEDϽX꣨ͳһ꣩ȡ򰴷ֱЧ - DWORD dwYCoordinate; //LEDϽY꣨ͳһ꣩ȡ򰴷ֱЧ - BYTE byRes2[36]; -}NET_DVR_BASEMAP_WINCFG, *LPNET_DVR_BASEMAP_WINCFG; - -typedef struct tagNET_DVR_BASEMAP_PIC_INFO -{ - DWORD dwSize; - BYTE sPicName[NAME_LEN];//ͼƬ - BYTE byUsed; //ǷѴڣ0-ڣ1- - BYTE byRes[31]; -}NET_DVR_BASEMAP_PIC_INFO,*LPNET_DVR_BASEMAP_PIC_INFO; - -typedef struct tagNET_DVR_MATRIX_LOGO_INFO -{ - DWORD dwSize; - DWORD dwLogoSize;//LOGOСBMPļͷͼƬСޣ100KߺͿ32ı - BYTE byRes[32]; -}NET_DVR_MATRIX_LOGO_INFO,*LPNET_DVR_MATRIX_LOGO_INFO; - -typedef struct tagNET_DVR_MATRIX_LOGO_CFG -{ - DWORD dwSize; - BYTE byExist; //logoǷڣ0-ڣ1-ڣ˲ֻܻȡ - BYTE byRes1[3]; - DWORD dwLogoSize;//LOGOСBMPļͷ(˲ֻܻȡ) - BYTE byLogoName[NAME_LEN]; //logo - DWORD dwLogoNo; //logoţȡlogoϢʱЧ - BYTE byRes2[28]; -}NET_DVR_MATRIX_LOGO_CFG,*LPNET_DVR_MATRIX_LOGO_CFG; - -typedef struct tagNET_DVR_WIN_LOGO_CFG -{ - DWORD dwSize; - DWORD dwLogoNo; //logo - BYTE byEnable; //logoǷʾ1-ʾ0- - BYTE byRes1[3]; - DWORD dwCoordinateX; //ͼƬʾX - DWORD dwCoordinateY; //ͼƬʾY - BYTE byFlash; //Ƿ˸1-˸0-˸ - BYTE byTranslucent; //Ƿ͸1-͸0-͸ - BYTE byRes2[34]; // -}NET_DVR_WIN_LOGO_CFG,*LPNET_DVR_WIN_LOGO_CFG; - - -typedef struct tagNET_DVR_BIG_SCREEN_AUDIO_CFG -{ - DWORD dwSize; - DWORD dwWinIndex; //ںţ1ʼ0ʾͼ - BYTE byEnable; //ǷƵ1-Ƶ0-رƵ - BYTE byRes[31]; -}NET_DVR_BIG_SCREEN_AUDIO_CFG, *LPNET_DVR_BIG_SCREEN_AUDIO_CFG; - -typedef struct tagNET_DVR_WIN_ZOOM_STATUS -{ - DWORD dwSize; - BYTE byZoomStatus; //0-״̬1-Ŵ״̬ - BYTE byRes1[3]; - NET_DVR_POINT_FRAME struPointFrame; //Ŵ򣬵byZoomStatusΪ1ʱЧ - BYTE byRes2[32]; -}NET_DVR_WIN_ZOOM_STATUS,NET_DVR_WIN_ZOOM_STATUS; - -typedef struct tagNET_DVR_RESUME_INITRACKPOS_CFG -{ - DWORD dwSize; // ṹС - DWORD dwChannel;; // ͨ - BYTE byRes[16]; // ֽ -}NET_DVR_RESUME_INITRACKPOS_CFG,*LPNET_DVR_RESUME_INITRACKPOS_CFG; - -typedef struct tagNet_DVR_TEST_SELFCHECK_RESULT -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE bySelfCheckStatus; //Լ״ֵ̬ 0-δʼ1-ɹ2-ʧܣ3-Լ - BYTE byRes[23]; //ֽ -}NET_DVR_TEST_SELFCHECK_RESULT, *LPNET_DVR_TEST_SELECHECK_RESULT; - - -typedef struct tagNET_DVR_TEST_COMMAND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byTestCommand[MAX_TEST_COMMAND_NUM]; - //0-ʾԣ 1-ʾ - //±0 ϻԳ - //±1 ƽģʽ - //±2 ICRϻԣ0ʾرգ1ʾbit0 ϣ0000_0001(ֻѲϻ)0000_0101ͬʱѲICRϻ0000_0100ֻICRϻ - //±3 -ptԽ״̬0ʾԽδ1ʾԽ - //±4 ɨԳ0ʾرգ1ʾ - //±5 У0ʾرգ1ʾ - WORD wICRIntervalTime;//icrʱ䣨byTestCommand ±2ڵֵΪ1ʱICRؼʱ䣬λ룩 - BYTE byElectronicCompassState;//״̬أ 0- 1- - BYTE byRes1[1]; - float fDeviceTem; //豸о¶ȣȷ0.001 - BYTE byTemp[9]; //ڶ豸 ±0-ȫ 1-4ȫ14sensor 5-8ȫ24sensor,Ŀǰӥȫ - BYTE byRes[3]; //ֽ -}NET_DVR_TEST_COMMAND, *LPNET_DVR_TEST_COMMAND; - -typedef struct tagNET_DVR_AGING_TRICK_SCAN -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byAging; // ʾõIJ Ϊϻǰ߻ϻ󹤾ߣ 0-ϻǰ1-ϻ - BYTE byWriteReadEnalbe; //дָʹܣ0-öָ 1-дָ - BYTE byRes[126]; //ֽ -}NET_DVR_AGING_TRICK_SCAN, *LPNET_DVR_AGING_TRICK_SCAN; - -#define IPC_PARAM_AGING_TRICK_SCAN 0x00000001 //ɨ -typedef struct tagNET_DVR_IPC_PARAM_TYPE -{ - DWORD dwSize; - DWORD dwParamType; //ͣλʾ - // #define IPC_PARAM_AGING_TRICK_SCAN 0x00000001 //ɨ - BYTE byRes[32]; -}NET_DVR_IPC_PARAM_TYPE, *LPNET_DVR_IPC_PARAM_TYPE; - -typedef struct tagNET_DVR_ECCENTRIC_CORRECT_STATE -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byEccentricCorrectState; // ƫĽ״̬0-Уʧܡ1-Уɹ2-У - BYTE byRes[127]; //ֽ -}NET_DVR_ECCENTRIC_CORRECT_STATE, *LPNET_DVR_ECCENTRIC_CORRECT_STATE; - - - -#define MAX_DEVMODULE_NUM 8 -typedef struct tagNET_DVR_TEST_DEVMODULE_CFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byDevFanModuleType[MAX_DEVMODULE_NUM]; //Ե豸 - // 0-,1- - // bit0-Է1 - // bit1-Է2 - BYTE byDevHeaterModuleType[MAX_DEVMODULE_NUM]; //Ե豸 - // 0-,1- - // bit0-Լ1 - // bit1-Լ2 - BYTE byRes[22]; //ֽ -}NET_DVR_TEST_DEVMODULE_CFG, *LPNET_DVR_TEST_DEVMODULE_CFG; - -// -typedef struct tagNET_DVR_BARRIERGATE_COND -{ - BYTE byLaneNo;//ţ0-ʾЧֵ(豸ҪЧֵж),1-1 - BYTE byRes[3]; -}NET_DVR_BARRIERGATE_COND,*LPNET_DVR_BARRIERGATE_COND; - -typedef struct tagNET_DVR_VEHICLE_CONTROL -{ - BYTE byGateOperateType;//0-޲,1-բ - BYTE byRes1 ; - WORD wAlarmOperateType;//0-޲,bit0-̵ bit1-ϴ bit3-澯ϴɸѡ(0-ʾأ1-ʾ) - BYTE byRes2[8]; -}NET_DVR_VEHICLE_CONTROL,*LPNET_DVR_VEHICLE_CONTROL; - -typedef struct tagNET_DVR_RELAY_PARAM -{ - BYTE byAccessDevInfo;//0-豸1-բ2-صբ3-ͣբ4-źš5- - BYTE byRes[3]; -}NET_DVR_RELAY_PARAM,*LPNET_DVR_RELAY_PARAM; - -// -typedef struct tagNET_DVR_ENTRANCE_CFG -{ - DWORD dwSize; - BYTE byEnable ;// ʹ0-ʾرգ1-ʾ - BYTE byBarrierGateCtrlMode;//0-Զƣ1-ƽ̨ⲿ - BYTE byRes1[2]; - DWORD dwRelateTriggerMode;//ģʽ οITC_TRIGGERMODE_TYPE - /*0x00: ƥ*/ - /*0x01: ƥ䣨ɫ*/ - /*0x02: ƥ䣨ɫ*/ - /*0x04: ƥ*/ - DWORD dwMatchContent; //쳣,쳣ʽ"" - NET_DVR_RELAY_PARAM struRelayRelateInfo[MAX_RELAY_NUM/*12*/];//̵Ϣ(һ̵ֻܿһ豸) 0ʾ̵1 1ʾ̵2 12 - BYTE byGateSingleIO[MAX_IOIN_NUM/*8*/]; //IOIO0ʾIO11ʾIO2 ; ֵĺ壨0-ޣ1-բλ2-բصλ3- - //Ϣܿ - //0ʾʱõģʽ - //1-ֹģʽ, - //2-ģʽ - NET_DVR_VEHICLE_CONTROL struVehicleCtrl[MAX_VEHICLE_TYPE_NUM/*8*/];//Ϣܿ - BYTE byNotCloseCarFollow;//øբʹܣ0~Ϊã1~ - BYTE byParkingDetectEnabled;//פʹܣ0~Ϊã1~ - BYTE byParkingDetectJudgeTime;//פжʱ䣬λ - BYTE byRes2[61]; -}NET_DVR_ENTRANCE_CFG,*LPNET_DVR_ENTRANCE_CFG; -////////////////////////////ڲ end/////////////////////////////// - -// բ -typedef struct tagNET_DVR_BARRIERGATE_CFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byLaneNo; //բţ0-ʾЧֵ(豸ҪЧֵж),1-բ1 - /* - ϵƽ̨֧byUnlockֶΣֶνֵΪ0ͨ0-رյբ,1-բ,2-ֹͣբеκһֲԿɽн - ƽ̨֧byUnlockֶΣbyUnlockֶθֵΪ14~բнbyUnlockֶθֵΪ1󣬡0-رյբ,1-բ,2-ֹͣբڽ - */ - BYTE byBarrierGateCtrl;//0-رյբ,1-բ,2-ֹͣբ 3-բ,4~բ - BYTE byEntranceNo;//ڱ [1,8] - BYTE byUnlock;//ýʹܣ0~Ϊã1~ - BYTE byRes[12]; -}NET_DVR_BARRIERGATE_CFG, *LPNET_DVR_BARRIERGATE_CFG; - -//ͬ -typedef struct tagNET_DVR_VEHICLE_CONTROL_LIST_INFO -{ - DWORD dwSize; - DWORD dwChannel;//ͨ0xff - ȫͨITC Ĭ1 - DWORD dwDataIndex;//ˮţƽ̨άΨһֵͻ˲ʱ򣬸ֵЧֵҪͬ - char sLicense[MAX_LICENSE_LEN]; //ƺ - BYTE byListType;//ԣ0-1-ֹ - BYTE byPlateType; // - BYTE byPlateColor; //ɫ - BYTE byRes[21]; - char sCardNo[MAX_CARDNO_LEN]; // - NET_DVR_TIME_V30 struStartTime;//Чʼʱ - NET_DVR_TIME_V30 struStopTime;//Чʱ - //ƽ̨ͬˮŲظ£ͬͬijһ¼ˣڴ棬02014-03-03 - char sOperateIndex[MAX_OPERATE_INDEX_LEN]; - BYTE byRes1[224]; // ֽ -} NET_DVR_VEHICLE_CONTROL_LIST_INFO,*LPNET_DVR_VEHICLE_CONTROL_LIST_INFO; - -//ȫȡӿ ӻȡ -typedef struct tagNET_DVR_VEHICLE_CONTROL_COND -{ - DWORD dwChannel;//ͨ0xffffffff - ȫͨITC Ĭ1 - DWORD dwOperateType;//ͣVCA_OPERATE _TYPEɸѡ - char sLicense[MAX_LICENSE_LEN];//ƺ - char sCardNo[MAX_CARDNO_LEN]; // - BYTE byListType;//0-1-ֹ0xff-ȫ - //2014-02-25 - BYTE byRes1[3]; - DWORD dwDataIndex;//ˮ - BYTE byRes[116]; -}NET_DVR_VEHICLE_CONTROL_COND,*LPNET_DVR_VEHICLE_CONTROL_COND; - -//Ҫͬ -typedef struct -{ - DWORD dwSize; - DWORD dwDataIndex;//ˮţֵ豸ǰյݵһˮ,ƽ̨ͬʱһˮſʼͬ - char sOperateIndex[MAX_OPERATE_INDEX_LEN]; //ƽ̨ͬˮŲظ£ͬͬijһ¼ˣڴ棬0 2014-03-03 - BYTE byRes[32]; -}NET_DVR_VEHICLE_CONTROL_LIST_DSALARM, *LPNET_DVR_VEHICLE_CONTROL_LIST_DSALARM; - -// -typedef struct tagNET_DVR_VEHICLE_CONTROL_ALARM -{ - DWORD dwSize; - BYTE byListType; //0-1-ֹ2-ʱ - BYTE byPlateType; // - BYTE byPlateColor; //ɫ - BYTE byRes1; - char sLicense[MAX_LICENSE_LEN];//ƺ - char sCardNo[MAX_CARDNO_LEN]; // - NET_DVR_TIME_V30 struAlarmTime; //ʱ - DWORD dwChannel; //豸ͨţֱIPCΪipcͨţDVR\nvr,ΪDVR\NVRͨ - DWORD dwPicDataLen; //ͼƬݴС0ʾͼƬΪ0DZʾͼƬ - BYTE byPicType; //ͼƬͣ0-JPEG - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes3[2]; - char *pPicData; - BYTE byRes2[48]; -}NET_DVR_VEHICLE_CONTROL_ALARM,*LPNET_DVR_VEHICLE_CONTROL_ALARM; - -// -typedef struct tagNET_DVR_FIRE_ALARM -{ - DWORD dwSize; - NET_DVR_TIME_V30 struAlarmTime;//ʱ - BYTE byRes[128]; -}NET_DVR_FIRE_ALARM,*LPNET_DVR_FIRE_ALARM; - -//豸ƽֹݿϢ -typedef struct -{ - DWORD dwSize; - DWORD dwDelType;//ɾͣɾͣVCA_OPERATE _TYPEɸѡ - char sLicense[16]; //ƺ - char sCardNo[48]; // - BYTE byPlateType; // - BYTE byPlateColor; //ɫ - BYTE byOperateType; //ɾ(0-ɾ,0xff-ɾȫ) - //2014-02-25 - BYTE byListType;//0-1-ֹ 2014-03-03 - DWORD dwDataIndex;//ˮ - //ƽ̨ͬˮŲظ£ͬͬijһ¼ˣڴ棬02014-03-03 - char sOperateIndex[MAX_OPERATE_INDEX_LEN]; - BYTE byRes[24]; -} NET_DVR_VEHICLE_CONTROL_DELINFO, *LPNET_DVR_VEHICLE_CONTROL_DELINFO; - -//ƹ -typedef struct tagNET_DVR_GATELAMP_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byLaneNo; //բţ0-ʾЧֵ(豸ҪЧֵж),1-բ1 - BYTE byBrightlampCtrl;//0-رճƣ1- - BYTE byRes[14]; -}NET_DVR_GATELAMP_INFO,*LPNET_DVR_GATELAMP_INFO; - - -//SDI1.0 -#define MATRIX_MAX_OUTPUT_NUM 256 //ͨ -typedef struct tagNET_DVR_MATRIX_BASE_CFG -{ - DWORD dwSize; - DWORD dwValidInputNum; //Чͨ - DWORD dwValidOutputNum; //Чͨ - BYTE byRes[64]; -}NET_DVR_MATRIX_BASE_CFG, *LPNET_DVR_MATRIX_BASE_CFG; - -typedef struct tagNET_DVR_MATRIX_SWITCH_INFO -{ - DWORD dwSize; - DWORD dwInputChan; //ͨţΪ0ʾȡָĹϵ - DWORD dwOutputChan; //Ҫлͨ, (ĻΪĻ(1ֽ豸+1ֽڱ+2ֽĻ)), 0xffffffffʾл - DWORD dwMatrixID; //ID - BYTE byRes[28]; -}NET_DVR_MATRIX_SWITCH_INFO, *LPNET_DVR_MATRIX_SWITCH_INFO; - -typedef struct tagNET_DVR_IO_RELATION_INFO -{ - DWORD dwSize; - DWORD dwIORelation[MATRIX_MAX_OUTPUT_NUM]; //ͨͨ, dwIORelation[i] = jʾͨ(i + 1)ͨj, - //dwIORelation[i] = 0ʾͨi + 1δͨ - BYTE byRes[256]; -}NET_DVR_IO_RELATION_INFO, *LPNET_DVR_IO_RELATION_INFO; - - -//ӿ -typedef struct tagNET_DVR_EXTERNAL_DEVCOND -{ - DWORD dwSize; - BYTE byExternalDevTpye;//0-()1-Զͷ豸2-ڿƻ3-led 0xff-ȫϢӻȡʱʹã - BYTE byRelativeIndex;//0-()(ڽ) Χ 1~8 LedΧǣ1255 0xff-ȫϢӻȡʱʹã - // BYTE byLaneID;// ߼ - BYTE byRes[30]; -}NET_DVR_EXTERNAL_DEVCOND,*LPNET_DVR_EXTERNAL_DEVCOND; - -typedef struct tagNET_DVR_EXTERNAL_DEVCFG -{ - DWORD dwSize; - BYTE byExternalDevTpye;//0-1-Զͷ豸2-ڿƻ3-led - BYTE byRes2[3]; - char sDevName[MAX_DEVNAME_LEN]; - union - { - BYTE byUnionLen[656]; - struct - { - NET_DVR_IPADDR struDevIP;//DEV IPַ 144 - WORD wDevPort;//豸˿ - BYTE byRes[510]; - }struRrReader;//Զͷ豸 - struct - { - BYTE byRs485No; //RS485(豸һñſظͲһñŻ) - BYTE byDevCtrlCode;//ַ豸(1-255) - BYTE byAutoIssuedData;//ǷԶ·Ƭ 0-Զ·1-Զ· - BYTE byOfflineDetEnable;//߼ 0-رգ1- - BYTE byDetCycle;//ڣ060 λ s - BYTE byRes[651]; - }struGateway;//ڿƻ - struct - { - BYTE byExternalMode;//0-RS485,1- - BYTE byRes[3]; - NET_DVR_IPADDR struDevIP;//DEV IPַ 144 (byExternalMode == 1 ʱЧ) - WORD wDevPort;//豸˿(byExternalMode == 1 ʱЧ) - BYTE byRs485No; //RS485(豸һñſظͲһñŻ) - BYTE byDevCtrlCode;//ַ豸(1-255) - //ledͨƿʾģͬĿƿֵ֧ʾʽͬ - BYTE byCtrlCardType;//ƿ 0-(Чֵ) 1- EQ2013 - BYTE byLedScreenType;// 0-ɫ 1-˫ɫ - BYTE byLedScreenUse;//;0- 1-λ 2-ʾ 3-շ - BYTE byLedDisplayMode;//Ļʾʽ: 1 "ʾ", 2 "" ,3 "" ,4 "", 5 "" - char sLedCustomInfo[MAX_LED_INFO];//ĻʾϢ - //ledɿƿƵģledԸĿʵʹøСʱҪն֪ͨƿĿǰʹõ - DWORD dwLedScreenH;//ʾɸ߶ҪLED - DWORD dwLedScreenW;//ʾɿҪLED - BYTE byRes1[236]; - }struLed;//led - }uExternalDevInfo; //byExternalMode ֵĸЧ - BYTE byRes[128]; -}NET_DVR_EXTERNAL_DEVCFG, *LPNET_DVR_EXTERNAL_DEVCFG; - -//ӻȡ -typedef struct tagNET_DVR_EXTERNAL_DEVSTATUS//Զͷ豸 -{ - DWORD dwSize; - char sDevName[MAX_DEVNAME_LEN];//豸 - BYTE byExternalDevTpye;//0-()1-Զͷ豸2-ڿƻ3-led 0xff-ȫϢӻȡʱʹã - BYTE byRelativeIndex;//0-()(ڽ) Χ 1~8 0xff-ȫϢӻȡʱʹã - BYTE byOnline;//0-ߣ1- - BYTE byRes[125]; -}NET_DVR_EXTERNAL_DEVSTATUS,*LPNET_DVR_EXTERNAL_DEVSTATUS; - -//ն˳ڼ -typedef struct tagNET_DVR_ENTRANCEDET_CFG -{ - DWORD dwSize; //ṹ - //߼⿪ʱ⵽豸ߣնƥ俨ƬϢ͵բָڿƻɳڿƻƥƵբ - BYTE byOfflineDetEnable;//߼ 0-رգ1- - BYTE byDetCycle;//ڣ060 λ s - BYTE byDevCtrlCode;//ڿƻַ豸(1-255) - BYTE byRes[61]; -}NET_DVR_ENTRANCEDET_CFG,*LPNET_DVR_ENTRANCEDET_CFG; - -//ն˳ڿ(ƽӿ ·ƬϢ) -typedef struct tagNET_DVR_ENTRANCEDEV_COMMAND -{ - DWORD dwSize; //ṹ - BYTE byDevCtrlCode;//ڿƻַ豸(1-255) - BYTE byManualIssuedData;//ֶ· 0-رգ1- - BYTE byRes[62]; -}NET_DVR_ENTRANCEDEV_COMMAND,*LPNET_DVR_ENTRANCEDEV_COMMAND; - -//ն˳ڿ(ƽӿ ·ƬϢ) -typedef struct tagNET_DVR_ENISSUED_DATADEL -{ - DWORD dwSize; //ṹ - BYTE byDevCtrlCode;//ڿƻַ豸(1-255) - BYTE byRes[27]; -}NET_DVR_ENISSUED_DATADEL,*LPNET_DVR_ENISSUED_DATADEL; - -//ڹշϸʽ -typedef struct _tagNET_ITS_PASSVEHICLE_COST_ITEM -{ - DWORD dwSize; //ṹ - DWORD dwPassVehicleID; //ݵĹ - BYTE byIntime[MAX_TIME_LEN]; //볡ʱʽΪyyyymmddhh24missfff - BYTE byOuttime[MAX_TIME_LEN]; //ʱʽΪyyyymmddhh24missfff - BYTE byCardNo[MAX_CARD_LEN]; // - BYTE byPlateInfo[MAX_LICENSE_LEN]; //ƺ - float fPayCost; //շѽ(λԪ) - BYTE byOperatorName[MAX_OPERATORNAME_LEN]; //Ա - BYTE byVehicleType; // 0-Сͳ 2 ͳ - BYTE byRes1[3]; //Ԥֶ1 - DWORD dwPayRuleID; // շѹˮ - DWORD dwFreeRuleID; // ˮ - BYTE byRes2[256]; // Ԥֶ2 -}NET_ITS_PASSVEHICLE_COST_ITEM, *LPNET_ITS_PASSVEHICLE_COST_ITEM; - -//ڽӰݣʽ -typedef struct _tagNET_ITS_HANDOVER_INFO -{ - DWORD dwSize; //ṹ - BYTE byOperatorName[MAX_OPERATORNAME_LEN]; //Ա - BYTE byOperatorCard[MAX_CARD_LEN]; //Ա - BYTE byStartTime[MAX_TIME_LEN];//ϰʱʽyyyymmddhh24miss - BYTE byEndTime[MAX_TIME_LEN]; //°ʱʽyyyymmddhh24miss - float fTotal_Pay; //ϰڼܵշѽ(λԪ) - DWORD dwTotal_Records; //ϰڼܵĹշѵļ¼ - BYTE byRes[64]; //Ԥ -}NET_ITS_HANDOVER_INFO, *LPNET_ITS_HANDOVER_INFO; - - -typedef struct tagNET_DVR_CURTRIGGERMODE //(3.7Ver) -{ - DWORD dwSize; - DWORD dwTriggerType; //ͣITC_TRIGGERMODE_TYPE - BYTE byRes[24]; -}NET_DVR_CURTRIGGERMODE, *LPNET_DVR_CURTRIGGERMODE; - - - -typedef struct tagNET_DVR_TEMP_HUMI -{ - DWORD dwSize; // ݳ && 汾ںչ - DWORD dwChannel; // ͨţĬ1 - int iHumidity; // ʪȣ֣val/1000С֣val%1000 - int iTemp; // ¶ȣ֣val/1000С֣val%100 - BYTE byRes[8]; // ֽ -}NET_DVR_TEMP_HUMI, *LPNET_DVR_TEMP_HUMI; - - -typedef struct tagNET_DVR_ALARMSOUNDMODE_CFG -{ - DWORD dwSize; // ݳ && 汾ںչ - DWORD dwChannel; // ͨţĬ1 - DWORD dwSoundMode; // ģʽ: 0ģʽ1ģʽ2ģʽ - BYTE byRes[12]; // ֽ -}NET_DVR_ALARMSOUNDMODE_CFG, *LPNET_DVR_ALARMSOUNDMODE_CFG; - -typedef struct tagNET_DVR_SECURITYMODE -{ - DWORD dwSize;// ݳ && 汾ںչ - DWORD dwChannel; // ͨţĬ1 - DWORD dwMode; // ȫģʽ: 1ãܣ2ã - char szRandCode[6]; //豸"֤" - BYTE byRes[6]; // ֽ -}NET_DVR_SECURITYMODE, *LPNET_DVR_SECURITYMODE; - -typedef struct tagNET_DVR_MOBILE_CAPTUREPIC_CFG -{ - DWORD dwSize; - BYTE byPreviewFpsAdjMode; /* Ԥ֡ʵģʽ:0-ڣ׼֡Ԥ,1-׼֡Ԥ,2-GPSٶȽ֡ʵ */ - BYTE bySelPeccType; /* ǷѡΥ */ - BYTE byOptHabit; /* ȡ֤ϰ, 0:ȡ֤;1:̰ȡ֤ */ - BYTE byEnablePeccRec; /* 1: ʹΥ¼ץȡ, 0: ֹΥ¼ץȡ */ - BYTE byPicSize; /*0=CIF,1=QCIF,2=D1,3=UXGA(1600x1200), 4=SVGA(800x600), 5=HD720p(1280x720),6-VGA7-XVGA8-HD900p9-HD108010-2560*192011-1600*30412-2048*153613-2448*2048,14-2448*120015-2448*80016-XGA(1024*768)17-SXGA(1280*1024),18-WD1(960*576/960*480),19-1080i */ - BYTE byPicQuality; /* ͼƬϵ 0- 1-Ϻ 2-һ */ - BYTE byRes[62]; -}NET_DVR_MOBILE_CAPTUREPIC_CFG,*LPNET_DVR_MOBILE_CAPTUREPIC_CFG; - -typedef struct tagNET_DVR_CMS_PARAM -{ - DWORD dwSize; - NET_DVR_IPADDR struAddr; // ƽ̨IP - WORD wServerPort; // ƽ̨˿ڣ - BYTE bySeverProtocolType; //ƽ̨Э 1-˽У2-Ehome - BYTE byStatus; //豸עᵽƽ̨״̬1-δעᣬ2-ע - BYTE sDeviceId[NAME_LEN/*32*/]; //豸IDƽ̨ṩ - char sPassWord[PASSWD_LEN]; // - /********* IPC5.1.7 Begin 2014-03-21***********/ - BYTE sPlatformEhomeVersion[NAME_LEN];//ƽ̨EHOMEЭ汾 - /********* IPC5.1.7 end 2014-03-21***********/ - BYTE byNetWork; //ͣ0- 壬1-Զ2-ȣ3-磬4-3G磨磩5-16-2 - BYTE byAddressType; //0 - , 1 - ipv4/ipv6ַ2 - - BYTE byProtocolVersion; //Э汾 0 - , 1 C v2.02 C v4.0,3-v2.6 - BYTE byRes1; - BYTE sDomainName[MAX_DOMAIN_NAME/*64*/]; //ƽ̨byAddressTypeΪ2ʱЧ - BYTE byEnable; //0-رգ1- - BYTE byRes[139]; // ֽ -}NET_DVR_CMS_PARAM, *LPNET_DVR_CMS_PARAM; - -//ṹ -typedef struct tagNET_DVR_HEATMAP_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byDetSceneID;//ⳡ[1],ǰ֧1, IPCĬ0 - BYTE byRes[63]; -}NET_DVR_HEATMAP_COND, *LPNET_DVR_HEATMAP_COND; - -typedef struct tagNET_DVR_HEATMAP_PARAM -{ - BYTE byTargetTrackEnable;//Ŀ٣0-رգ1-Ĭ0-ر - BYTE bySensitivity; //ȲΧ1-100Ĭ50 - BYTE byBackgroundUpdateRate;//ٶȣΧ1-100Ĭ50 - BYTE bySceneChangeLevel;//仯ȼΧ1-100Ĭ50 - BYTE byMinTargetSize;//СĿߴ磺Χ1-100Ĭ50 - /* - 0- ĬϴͣCOMM_UPLOAD_HEATMAP_RESULT - 1- ϴͣCOMM_UPLOAD_HEATMAP_RESULT_PDC COMM_UPLOAD_HEATMAP_RESULT_DURATION - */ - BYTE byUploadHeatMapResultType; - BYTE byDayReport; - BYTE byWeekReport; - float fConfidence;//Ŷ[0.00,100.00] - BYTE byMonthReport; - BYTE byYearReport; - BYTE byRes[6]; -}NET_DVR_HEATMAP_PARAM, *LPNET_DVR_HEATMAP_PARAM; - -#define MAX_HEATMAPREGION_NUM 8 - -//ȶͼýṹ -typedef struct tagNET_DVR_HEATMAP_CFG -{ - DWORD dwSize; - BYTE byEnable; //ʹܣǷ - BYTE byRes[3]; - NET_VCA_POLYGON struRegion[MAX_HEATMAPREGION_NUM/*8*/];//Χ - NET_DVR_HEATMAP_PARAM struHeatMap ; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - //ʱ - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS/*7*/][MAX_TIMESEGMENT_V30/*8*/]; - BYTE byRes1[512]; -}NET_DVR_HEATMAP_CFG, *LPNET_DVR_HEATMAP_CFG; - -//ȶͼϴ -typedef struct tagNET_DVR_HEATMAP_RESULT -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - DWORD dwMaxHeatMapValue;//ȶֵ - DWORD dwMinHeatMapValue;//Сȶֵ - DWORD dwTimeHeatMapValue;// (ʱȶֵ)ƽȶֵ - WORD wArrayLine;//ͼƬصֵ - WORD wArrayColumn;//ͼƬصֵ ֵΪ0ʱصֵڴϢڣ - BYTE* pBuffer; //ȶͼƬصϢ - BYTE byDetSceneID;//ⳡ[1],ǰ֧1, IPCĬ0 - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cStartTimeDifferenceH; /*ʼʱUTCʱСʱ-12 ... +14+ʾ*/ - char cStartTimeDifferenceM; /*ʼʱUTCʱӣ-30, 30, 45+ʾ*/ - char cStopTimeDifferenceH; /*ʱUTCʱСʱ-12 ... +14 +ʾ*/ - char cStopTimeDifferenceM; /*ʱUTCʱӣ-30, 30, 45+ʾ*/ - BYTE byArrayUnitType; //ԪͣϢÿصݵͣ1-byte2-short,4-int - BYTE byRes1[2]; - DWORD dwTotalTime;//ͣʱܺͣλ룬Աͣʱ䱨ʱϴ - BYTE byRes[112]; -}NET_DVR_HEATMAP_RESULT,*LPNET_DVR_HEATMAP_RESULT; - -//ȶͼ ṹ -typedef struct tagNET_DVR_HEATMAP_QUERY_COND -{ - DWORD dwSize; - DWORD dwChannel ;//ͨ - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - BYTE byReportType;//0-Чֵ1-ձ2-ܱ3-±4-걨 - BYTE byDetSceneID;//ⳡ[1],ǰ֧1, IPCĬ0 - BYTE byHeatMapInfoType;//0~ȡռȶͼƬʽ1~ȡռȶȾϢʽ2~ȡռȶͼƬͿռȶȾϢ - BYTE byStatisticalModel;//ͳģʽ 0s-Ĭϣ1-ͣʱ䣬2-ͳƣ - BYTE byRes[124]; -}NET_DVR_HEATMAP_QUERY_COND,*LPNET_DVR_HEATMAP_QUERY_COND; - -//ȶͼ -typedef struct tagNET_DVR_HEATMAP_INFO -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime; /*ʱ*/ - DWORD dwHeatMapPicLen; /*ռȶͼƬ(ͼƬʱ򣬸ֶΪ0ûͼƬʱ򣬸ֶΪ0)*/ - BYTE* pBuffer; //ȶͼƬϢ - DWORD dwTimeHeatMapValue ; //ʱȶֵ(пȶͼʱ,ֶβҪֵ) - DWORD dwHeatMapMaxValue;//ȶȵԱʱ(s)(ռȶͼʱЧ) - DWORD dwHeatMapMinValue;//ȶȵԱʱ(s) (ռȶͼʱЧ) - WORD wArrayLine;//ͼƬصֵ ϴȶȾϢʱЧ - WORD wArrayColumn;//ͼƬصֵ ֵΪ0ʱصֵڴϢڣϴȶȾϢʱЧ - BYTE* pArrayBuffer;//ȶȾϢݵ͸ϢΪwArrayLine* wArrayColumn*ԪͳȣbyArrayUnitTypeΪ1ʾΪintͣҪ4ֽڣ - BYTE byArrayUnitType;//ԪͣϢÿصݵͣ0~byte1~int(豸зؾϢʱЧ) - BYTE byRes[107]; -}NET_DVR_HEATMAP_INFO,*LPNET_DVR_HEATMAP_INFO; - - -typedef struct tagNET_DVR_PDC_QUERY_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - NET_DVR_TIME_EX struStartTime; //ʼʱ - NET_DVR_TIME_EX struEndTime; //ʱ - BYTE byReportType; //0-Чֵ1-ձ2-ܱ3-±4-걨 - BYTE byEnableProgramStatistics; //Ƿ񰴽Ŀͳƣ0-1- - BYTE byTriggerPeopleCountingData;//ͳݵʹ, 0-1- - BYTE byMultiChannelSearch;//ͨѯʹ, 0-1-ǣpSearchChannel dwSearchChannelNumЧ - DWORD dwPlayScheduleNo; //Ŀͳʱճ̺ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes1[3]; - DWORD dwSearchChannelNum; //ѯͨĿ - char* pSearchChannel; //ѯͨţСΪsizeof(DWORD)* dwSearchChannelNum - BYTE byChild;//ֻͯ, 0-1- - BYTE byMinTimeInterva;// Сʱ,0-Ч1-15, 2-30, 3һСʱ, 4-, 5-, 6- - BYTE byStatisticType;//ͳͣ0-Чֵ1-2-뿪3-ȫ,4-뿪ظ,5-(Ҫ·ֵ֧),0-Чֵʾͳ͵ѯ൱ڱֽڡȫʾͳΪ뿪 - BYTE byFaceExpression;//μFACE_EXPRESSION_GROUP_ENUM - BYTE byGender;//Ա1-У2-Ů3-ȫ0xff-㷨֧֣ûʶ - BYTE byMask;//Ƿ 0-ʾδ֪㷨֧֣1-2-3-ȫ0xff-㷨ֵ֧ģûʶ - BYTE byAgeGroup;//ΣμHUMAN_AGE_GROUP_ENUM - BYTE byGlasses; /*Ƿ۾0-δ֪1-ǣ2-3-ī, 4 - ȫ, 0xff-㷨֧֣ûʶ*/ - BYTE byRes[96]; -}NET_DVR_PDC_QUERY_COND,*LPNET_DVR_PDC_QUERY_COND; - -typedef struct tagNET_DVR_PROGRAM_INFO -{ - DWORD dwProgramNo; //Ŀ - BYTE sProgramName[NAME_LEN]; //Ŀ - BYTE byRes[16]; -}NET_DVR_PROGRAM_INFO, *LPNET_DVR_PROGRAM_INFO; -typedef struct tagNET_DVR_POSINFO_OVERLAY -{ - DWORD dwSize; - BYTE byEnable;// PosϢӣ0-ӣ1- - BYTE byBackpackEnanble;//ǷӱϢǷӣ0-ӣ1- - BYTE bySexEnanble;//ǷԱϢǷӣ0-ӣ1- - BYTE byCarryEnanble;//ǷණϢǷӣ0-ӣ1- - BYTE byRideEnanble;//ǷﳵϢǷӣ0-ӣ1- - BYTE byMaskEnanble;//ǷӴϢǷӣ0-ӣ1- - BYTE byHatEnanble;//ǷӴñϢǷӣ0-ӣ1- - BYTE bySleeveEnanble;//Ƿӳ0-ӣ1- - BYTE byPantsTypeEnanble;//ǷӿϢǷӣ0-ӣ1- - BYTE byHairEnanble;//Ƿӳ̷ϢǷӣ0-ӣ1- - BYTE byGlassesEnanble;//ǷӴ۾ϢǷӣ0-ӣ1- - BYTE byAgeEnanble;//ǷϢǷӣ0-ӣ1- - BYTE byHeightEnanble;//ǷϢǷӣ0-ӣ1- - BYTE byRes[511]; -}NET_DVR_POSINFO_OVERLAY, *LPNET_DVR_POSINFO_OVERLAY; - -typedef struct tagNET_DVR_PDC_RESULT -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - DWORD dwEnterNum; // - DWORD dwLeaveNum; //뿪 - NET_DVR_PROGRAM_INFO struProgramInfo; //ĿϢ - DWORD dwPeoplePassing; // - BYTE byRes1[8]; //ֽ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes3[3]; //ֽ - DWORD dwDuplicatePeople; // ظ - DWORD dwExpressionUnknown; //δ֪ - DWORD dwPokerFace; // - DWORD dwHappy; // - DWORD dwSurprised; //龪 - DWORD dwDisgusted; // - DWORD dwSad; //ѹ - DWORD dwAngry; //ŭ - DWORD dwContemptuous; // - DWORD dwPanic; //麦 - DWORD dwGenderUnknown; //Աδ֪ - DWORD dwFemale; //ԱŮ - DWORD dwMale; //Ա - DWORD dwMaskUnknown; //δ֪ - DWORD dwMaskYes; // - DWORD dwMaskNo; // - DWORD dwGlassUnknown; //۾δ֪ - DWORD dwGlassYes; //۾ - DWORD dwGlassNo; //۾ - DWORD dwSunglasses; //ī - DWORD dwAgeGroupUnknown; //δ֪ - DWORD dwChild; // - DWORD dwYoung; // - DWORD dwMiddle; // - DWORD dwOld; // - DWORD dwInfant; //Ӥ׶ - DWORD dwKid; //ζͯ - DWORD dwTeenager; // - DWORD dwPrime; //׳ - DWORD dwMiddleAged; // - BYTE byRes[64]; -}NET_DVR_PDC_RESULT, *LPNET_DVR_PDC_RESULT; - - -typedef struct tagNET_DVR_MOBILE_PLATE_RECOGCFG -{ - DWORD dwSize; - BYTE byDefaultCHN[MAX_CHJC_NUM]; /*豸ʡݵĺּд 3 */ - BYTE byTimeOsd;// ʱϢ 0 - ӣ 1- - BYTE byRecogResultOsd;//ʶ 0 - ӣ 1- - BYTE byRecogHint;//ʶɹʾ 0 - ʾ 1- ʾ - BYTE byRecogDir;//ʶ 0: , 1: - BYTE byRecogEnv;//ʶ𻷾 0: , 1: - BYTE byRecogPlateType;//0-Сʶ1-ʶ - BYTE byUploadPlate;//Ƿϴ 0 -ϴ 1-ϴ - BYTE byRes[62]; -}NET_DVR_MOBILE_PLATE_RECOGCFG,*LPNET_DVR_MOBILE_PLATE_RECOGCFG; - -typedef struct tagNET_DVR_MOBILE_RADAR_CFG -{ - DWORD dwSize; - BYTE byEnableRadar; /* 0:״ 1:״ */ - BYTE byEnableAlarm; /* 0: 1: */ - WORD wOverSpeed; /* ΧΪ20~250 */ - BYTE bySpeedUnits; /* 0:/Сʱ 1:Ӣ/Сʱ */ - BYTE bydirection; /* 0:״복 1:״복 */ - BYTE byMeasureMode; /* 0:̬ (״״̬) 1:̬ (״״̬)*/ - BYTE byTargetType; /* 0:(״ٳ) 1:(״ٳ)*/ - BYTE bySensitivity; /* [0,100] */ - BYTE byCaptureNum; /* ץ[0,255] */ - BYTE byUploadPlate; /*ǷϴץͼƬ 0-ϴ1-ϴ*/ - BYTE byRes[61]; -}NET_DVR_MOBILE_RADAR_CFG,*LPNET_DVR_MOBILE_RADAR_CFG; - -typedef struct tagNET_DVR_MOBILE_LOCALPLATECHK_CFG -{ - DWORD dwSize; - BYTE byCheck; /* Ƿнֹ 0-飬1-*/ - BYTE byCheckAlarm;/* ɹ 0-1-*/ - BYTE byCheckHint; /* ɹʾ (ʾ) 0-ʾ1-ʾ*/ - BYTE byUploadUnlicensedCar; /*ǷϴǷϢ 0-ϴ1-ϴ*/ - BYTE byRes[64]; -}NET_DVR_MOBILE_LOCALPLATECHK_CFG,*LPNET_DVR_MOBILE_LOCALPLATECHK_CFG; - -typedef struct tagNET_DVR_VEHICLE_CHECK -{ - DWORD dwSize; - DWORD dwChannel;//ͨ0xff - ȫͨĬ1,һͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣ - WORD wIllegalType; //ΥͲù궨 ο - BYTE byRes[2]; - char sIllegalTypeInfo[128];// ΥϢ128 - NET_DVR_TIME_V30 struIllegalTime;//Υʱ - BYTE byIllegalVehicleNum;//Υ - BYTE byRes1[3]; - char sCustomInfo[64];//ԶϢ - BYTE byRes2[128]; // ֽ -}NET_DVR_VEHICLE_CHECK,*LPNET_DVR_VEHICLE_CHECK; - -typedef enum _LONG_CFG_SEND_DATA_TYPE_ENUM_ -{ - ENUM_DVR_VEHICLE_CHECK = 1, //ֹݻ - ENUM_MSC_SEND_DATA = 2, //Ļ - ENUM_ACS_SEND_DATA = 3, //Ž - ENUM_TME_CARD_SEND_DATA = 4, //ͣ(ڿƻ)Ƭ - ENUM_TME_VEHICLE_SEND_DATA = 5, //ͣ(ڿƻ) - ENUM_DVR_DEBUG_CMD = 6, //Ϣ - ENUM_DVR_SCREEN_CTRL_CMD =7, //Ļ - ENUM_CVR_PASSBACK_SEND_DATA = 8, //CVRȡصشִ - ENUM_ACS_INTELLIGENT_IDENTITY_DATA = 9, //ʶն - ENUM_VIDEO_INTERCOM_SEND_DATA = 10, //ӶԽ - ENUM_SEND_JSON_DATA = 11 //͸JSON -}LONG_CFG_SEND_DATA_TYPE_ENUM; - -typedef enum _LONG_CFG_RECV_DATA_TYPE_ENUM_ -{ - ENUM_DVR_ERROR_CODE = 1, // - ENUM_MSC_RECV_DATA=2, //Ļ - ENUM_ACS_RECV_DATA=3 //Ž -}LONG_CFG_RECV_DATA_TYPE_ENUM; - -typedef struct tagNET_DVR_WIPER_CONTINUEWORK_PARAM -{ - BYTE byWorkTimeInterval;//ʱλ룩[2s~60s] - BYTE byRes[3]; - DWORD dwContinueWorkTime;//ʱ䣨λ룩[2min~24h]ʾӵλ - BYTE byRes1[8]; -}NET_DVR_WIPER_CONTINUEWORK_PARAM,*LPNET_DVR_WIPER_CONTINUEWORK_PARAM; - -typedef union tagNET_DVR_WIPERMODE_PARAM_UNION -{ - BYTE uLen[16]; - //byWiperWorkMode = 1ʱЧ - NET_DVR_WIPER_CONTINUEWORK_PARAM struWiperContinueWorkParam; -}NET_DVR_WIPERMODE_PARAM_UNION,*LPNET_DVR_WIPERMODE_PARAM_UNION; - -typedef struct tagNET_DVR_WIPERINFO_CFG -{ - DWORD dwSize; - //ˢģʽ - //0-ģʽ1-ģʽýṹNET_DVR_ROTATE_OPERATE_PARAM2-ģʽ0xff-ر - BYTE byWiperWorkMode; - BYTE byRes1; - WORD wSensitivity;// - BYTE byRes[20]; - NET_DVR_WIPERMODE_PARAM_UNION ustruWiperModeParam; -}NET_DVR_WIPERINFO_CFG,*LPNET_DVR_WIPERINFO_CFG; - -//ԶԽ -typedef struct tagNET_DVR_AUTOFOCUS_TESTCFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[24]; // ֽ -}NET_DVR_AUTOFOCUS_TESTCFG,*LPNET_DVR_AUTOFOCUS_TESTCFG; - - -typedef struct tagNET_DVR_VIDEO_OUT_CFG -{ - BYTE byDisplayMode; //ʾģʽ1-׼2-ɫ3-ůɫ0xff-Զ - BYTE byBrightnessLevel; // ֵ0-100 - BYTE byContrastLevel; // Աȶ0-100 - BYTE bySharpnessLevel; // 0-100 - BYTE bySaturationLevel; // Ͷ0-100 - BYTE byHueLevel; // ɫ0-100 - BYTE byImageMode; // ͼģʽ0-ģʽ1-ҹģʽ12-ҹģʽ23-ҹģʽ34-ģʽ15-ģʽ26-ģʽ3 - BYTE byRes[5]; // -}NET_DVR_VIDEO_OUT_CFG, *LPNET_DVR_VIDEO_OUT_CFG; -//ɫ -typedef struct tagNET_DVR_COLOR_TEMPERATURE_CFG -{ - BYTE byRed; //ɫ 0-100 - BYTE byGreen; //ɫ 0-100 - BYTE byBlue; //ɫ0-100 - BYTE byRedOffset; //ɫƫƣ0-100 - BYTE byGreenOffset; //ɫƫƣ0-100 - BYTE byBlueOffset; //ɫƫƣ0-100 - BYTE byRes[6]; -}NET_DVR_COLOR_TEMPERATURE_CFG, *LPNET_DVR_COLOR_TEMPERATURE_CFG; - -typedef struct tagNET_DVR_ADC_CFG -{ - BYTE byGainR; //R 0-100 - BYTE byGainG; //G0-100 - BYTE byGainB; //B0-100 - BYTE byOffsetR; //ƫR0-100 - BYTE byOffsetG; //ƫG0-100 - BYTE byOffsetB; //ƫB0-100 - BYTE byRes[6]; -}NET_DVR_ADC_CFG, *LPNET_DVR_ADC_CFG; - -typedef struct tagNET_DVR_SCREEN_EDGE_CFG -{ - BYTE byEnable; //ǷĻԵ 0- 1- - BYTE byLeftEdge; //Ե0-100 - BYTE byRightEdge; //ұԵ0-100 - BYTE byTopEdge; //ϱԵ0-100 - BYTE byLowerEdge; //±Ե0-100 - BYTE byRes[7]; -}NET_DVR_SCREEN_EDGE_CFG, *LPNET_DVR_SCREEN_EDGE_CFG; - -typedef struct tagNET_DVR_SCREEN_DISPLAY_CFG -{ - DWORD dwSize; - BYTE byCfgType; /*õIJͣȡʱ˲Ч0-Ч1-2-Ƶ3-ɫ²4-ADC5-ĻԵ*/ - BYTE byBackLight; // 0~100 - BYTE byRes1[2]; - NET_DVR_VIDEO_OUT_CFG struVideoOutCfg; //Ƶģʽ - NET_DVR_COLOR_TEMPERATURE_CFG struColorTempCfg; //ɫ² - NET_DVR_ADC_CFG struAdcCfg; //ADC - NET_DVR_SCREEN_EDGE_CFG struScreenEdgeCfg; //ĻԵ - BYTE byRes[32]; -}NET_DVR_SCREEN_DISPLAY_CFG, *LPNET_DVR_SCREEN_DISPLAY_CFG; -//ģң -typedef enum tagNET_DVR_SCREEN_REMOTE_CTRL_TYPE -{ - REMOTE_CTRL_POWERSUPPLY_OPEN = 1,//1-Դ - REMOTE_CTRL_POWERSUPPLY_CLOSE = 2,//2-Դ - REMOTE_CTRL_SIGNALSOURCE,//3-źԴ - REMOTE_CTRL_MENU,//4-˵ - REMOTE_CTRL_DETERMINATION,//5-ȷ - REMOTE_CTRL_ON,//6- - REMOTE_CTRL_UNDER,//7- - REMOTE_CTRL_LEFT,//8- - REMOTE_CTRL_RIGHT,//9- - REMOTE_CTRL_INFO,//10-INFO - REMOTE_CTRL_RETURN,// 11-һ - REMOTE_CTRL_NUM, //12-ּ -}SCREEN_REMOTE_CTRL_TYPE; - -//ģңذ -typedef struct tagNET_DVR_SIMULATE_SCREEN_REMOTE_CTRL -{ - DWORD dwSize; - BYTE byControlType; //1-Դ2-Դأ3-źԴ4-˵5-ȷ6-ϣ7-£8-9-, 10-INFO, 11-һ,12-ְ,13-һ尴 - BYTE byControlParam; //Ϊ12ʱʾֵ0-9ʱ˲Ч - BYTE byRes[14]; -}NET_DVR_SIMULATE_SCREEN_REMOTE_CTRL,*LPNET_DVR_SIMULATE_SCREEN_REMOTE_CTRL; - -//ĻźԴ -typedef struct tagNET_DVR_SCREEN_SIGNAL_CFG -{ - DWORD dwSize; - BYTE bySignalSourceType; //Դö NET_DVR_CAM_MODE - BYTE byNoSignalPic; //źŻģʽ1-2-3-LOGO - BYTE byRes[14]; -}NET_DVR_SCREEN_SIGNAL_CFG, *LPNET_DVR_SCREEN_SIGNAL_CFG; - -//Ļƴ -typedef struct tagNET_DVRSCREEN_SPLICE_CFG -{ - DWORD dwSize; - BYTE bySpliceIndex; //ƴţ0ûƴӣֵʾƴšƴ0101~020244bySpliceIndexͬҷ0. - BYTE bySpliceX; //Ļƴеλ - BYTE bySpliceY; //Ļƴеλ - BYTE byWidth; //ƴӹģĻΪλ - BYTE byHeight; //ƴӹģߣĻΪλ - BYTE byRes[11]; -}NET_DVR_SCREEN_SPLICE_CFG, *LPNET_DVR_SCREEN_SPLICE_CFG; - -//ȹʽ -typedef struct tagNET_DVR_SCREEN_FAN_WORK_MODE_CFG -{ - DWORD dwSize; - BYTE byWorkMode; //1-2-Զ - BYTE byTemperatureLimitValue; //ȿ¶ȷֵģʽΪԶʱòЧ - BYTE byRes[14]; -}NET_DVR_SCREEN_FAN_WORK_MODE_CFG, *LPNET_DVR_SCREEN_FAN_WORK_MODE_CFG; - -//VGAź -typedef struct tagNET_DVR_SCREEN_VGA_CFG -{ - DWORD dwSize; - BYTE byEnableAutoAdjust; //ǷԶ0-1-ǣԶʱ²Ч - BYTE byHorizontalPosition; //ˮƽλ 0-100 - BYTE byVerticalPosition; //ֱλ 0-100 - BYTE byClock; //ʱ 0-100 - BYTE byPhase; //λ0-100 - BYTE byRes[11]; -}NET_DVR_SCREEN_VGA_CFG, *LPNET_DVR_SCREEN_VGA_CFG; - -//Ļ˵ -typedef struct tagNET_DVR_SCREEN_MENU_CFG -{ - DWORD dwSize; - BYTE byMenuLanguage; //ԣ1-ģ2-Ӣ - BYTE byTransparency; //͸ 0-͸1-ͣ2-У3- - BYTE byDuration; //ʱ䣬0-1-5룬2-15룬3-30 - BYTE byRes[13]; -}NET_DVR_SCREEN_MENU_CFG, *LPNET_DVR_SCREEN_MENU_CFG; - -//л -typedef struct tagNET_DVR_PIP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿûл 0- 1- - BYTE bySubWindowSource; //ӻźԴοöNET_DVR_CAM_MODE - BYTE bySubWindowBorderColor; //ӻ߿ɫ 1-ɫ2-ɫ - BYTE byRes1; - NET_DVR_RECTCFG struPosition; //ӻλãĻܴСΪ100*100 - BYTE byRes2[12]; -}NET_DVR_PIP_CFG, *LPNET_DVR_PIP_CFG; - -//͸ -typedef struct tagNET_DVR_DEFOG_LCD -{ - DWORD dwSize; - BYTE byDefogEnable; //͸أ0~رգ1~ - BYTE byDefogModel; //͸ģʽ0~Զȥ1~ֶȥ - BYTE byDefogLevel; //͸ǿȵȼ1-7ȼĬϵȼΪ4ȼ1Ϊ0.5ȼ2Ϊ0.55ȼ3Ϊ0.60ȼ4Ϊ0.65ȼ5Ϊ0.70ȼ6Ϊ0.75ȼ7Ϊ0.80ȥģʽΪֶȥʱȥǿȵȼ - BYTE byRes[33]; -}NET_DVR_DEFOG_LCD,*LPNET_DVR_DEFOG_LCD; - -//Ļάǽ -typedef struct tagNET_DVR_SCREEN_WALL_CFG -{ - DWORD dwSize; - BYTE byEnable; //״̬ء0-Ϊرգ1-Ϊ - BYTE byRes[35]; -}NET_DVR_SCREEN_WALL_CFG, *LPNET_DVR_SCREEN_WALL_CFG; - -//Ļλ -typedef struct tagNET_DVR_SCREEN_POS_CFG -{ - DWORD dwSize; - BYTE byScreenRowNum;//Ļкš - BYTE byScreenColNum;//Ļкš - BYTE byRes[34]; -}NET_DVR_SCREEN_POS_CFG, *LPNET_DVR_SCREEN_POS_CFG; - -typedef struct tagNET_DVR_VIDEO_AUDIOIN_CFG -{ - DWORD dwSize; //ṹij - DWORD dwChanNo; //Ƶͨţ ú󣬱󶨵ԽͨΪͨƵԴ - BYTE byEnable; //ǷԽΪƵԴ 0- 1- - BYTE byRes[31]; // -}NET_DVR_VIDEO_AUDIOIN_CFG, *LPNET_DVR_VIDEO_AUDIOIN_CFG; - -typedef struct _NET_DVR_VCA_DETION_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - NET_DVR_HANDLEEXCEPTION_V40 struHandleException; //쳣ʽ - DWORD dwMaxRelRecordChanNum ; //¼ͨ ֻ֧ - DWORD dwRelRecordChanNum ; //¼ͨ ʵֵ֧ - DWORD dwRelRecordChan[MAX_CHANNUM_V30/*64*/];//¼ͨ - BYTE byEnablePreset[MAX_CHANNUM_V30]; - BYTE byPresetNo[MAX_CHANNUM_V30]; - BYTE byEnableCruise[MAX_CHANNUM_V30]; - BYTE byCruiseNo[MAX_CHANNUM_V30]; - BYTE byEnablePtzTrack[MAX_CHANNUM_V30]; - BYTE byPTZTrack[MAX_CHANNUM_V30]; - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30/*8*/]; //ղʱ - BYTE byRes[224];; -}NET_DVR_VCA_DETION_CFG, *LPNET_DVR_VCA_DETION_CFG; - -typedef struct tagNET_DVR_VCA_DETECTION_CFG_V40 -{ - DWORD dwSize; //ṹС - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_SCHEDTIME struAlarmSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwHandleType; //쳣,쳣ʽ"" - /*0x00: Ӧ*/ - /*0x01: Ͼ*/ - /*0x02: */ - /*0x04: ϴ*/ - /*0x08: */ - /*0x10: JPRGץͼϴEmail*/ - /*0x20: ⱨ*/ - /*0x40: ӵͼ(ĿǰֻPCNVR֧)*/ - /*0x200: ץͼϴFTP*/ - DWORD dwMaxRelAlarmOutChanNum ; //ıֻ֧ͨ - DWORD dwRelAlarmOut[MAX_ALARMOUT_V40/*4128*/]; //* ʵʴıţֵʾ,ýУ±0ʼ˳ȡ0xffffffffЧ*/ - /*¼ͨ*/ - DWORD dwMaxRecordChanNum; //豸ֵ֧¼ͨ-ֻ - DWORD dwRelRecordChan[MAX_CHANNUM_V40/*512*/]; /* ʵʴ¼ֵͨʾ,ýУ±0ʼ˳ȡ0xffffffff,Ч*/ - DWORD dwEnablePresetChanNum; //ǰԤõĿ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40/*512*/]; //õԤõϢdwEnablePresetChanNumΪ0ʱ±0-(dwEnablePresetChanNum -1)ЧΪ0ʱʾδԤõ - BYTE byRes2[516]; /**/ - DWORD dwEnableCruiseChanNum; //ǰѲͨĿ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40/*512*/]; //ѲͨϢdwEnableCruiseChanNumΪ0ʱ±0-( dwEnableCruiseChanNum -1)ЧΪ0ʱʾδѲ - DWORD dwEnablePtzTrackChanNum; //ǰ̨켣ͨĿ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40/*512*/]; //̨켣ͨϢdwEnablePtzTrackChanNumΪ0ʱ±0-(dwEnablePresetChanNum -1)ЧΪ0ʱʾδ̨켣 - NET_DVR_SCHEDTIME struHolidayTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byRes[224]; -}NET_DVR_VCA_DETECTION_CFG_V40, *LPNET_DVR_VCA_DETECTION_CFG_V40; - -typedef struct tagNET_DVR_CLOUD_STORAGE_CFG -{ - DWORD dwSize; //ṹС; - BYTE byEnableCS; //ƴ洢 0-ر 1- - BYTE byRes[511]; // -} NET_DVR_CLOUD_STORAGE_CFG, *LPNET_DVR_CLOUD_STORAGE_CFG; - - -typedef struct tagNET_DVR_CHANS_RECORD_STATUS_CFG -{ - DWORD dwSize ; //ṹС - BYTE byValid; //ǷЧ - /*(ֻ)¼ͣ0: ¼1¼ 2- - 3- 4-Ƶ 5-δ 6-浵 7-ش - 8-û 9-δ֤,10-浵к¼ 11-¼شк¼*/ - BYTE byRecord; - DWORD dwRelatedHD; // - BYTE byOffLineRecord; //¼ 0-ر 1- - BYTE byRes[63]; //ֽ -}NET_DVR_CHAN_RECORD_STATUS_CFG, *LPNET_DVR_CHAN_RECORD_STATUS_CFG; - -#define MAX_CAMERAID_LEN 64 -typedef struct tagNET_DVR_UPLOAD_RECORD_INFO -{ - DWORD dwSize; - DWORD dwRecordType; //¼ 0- ʱ¼1- ƶ¼2- ¼3- ƶ¼4- ƶ¼ 5- 6- ֶ¼7- 𶯱8- 9- ܱ10- ش¼ - BYTE sCameraID[MAX_CAMERAID_LEN]; //camera id; - NET_DVR_TIME_EX struStartTime; //¼ʼʱ - NET_DVR_TIME_EX struStopTime; //¼ʱ - DWORD dwStoragePoolID; //洢ID - BYTE byFormatType ; //װͣ1-2-RTPװ3-PSװ4-TSװ5-˽У6-FLV7-ASF8-3GP9-RTP+PS꣺GB281810xff-Ч - BYTE byVideoEncType ; //Ƶͣ0-˽2641-׼h2642-׼mpeg47-M-JPEG8-MPEG20xfe- ԶԴһ£0xff-Ч - BYTE byAudioEncType; //Ƶͣ0-G7221-G711_U2-G711_A5-MP2L26-G7267-AAC0xfe- ԶԴһ£0xff-Ч - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[120]; -}NET_DVR_UPLOAD_RECORD_INFO,*LPNET_DVR_UPLOAD_RECORD_INFO; - -//Ʋ ṹ -typedef struct tagNET_DVR_IOOUT_COND -{ - DWORD dwSize; - BYTE bySyncOutputNo;//ͬ(0-F1,1-F2,2-F3) - BYTE byRes[63]; -}NET_DVR_IOOUT_COND,*LPNET_DVR_IOOUT_COND; - -//Ʋ -typedef struct tagNET_DVR_IOOUT_CFG -{ - DWORD dwSize; - BYTE byWorkMode;// 0-,1-Ƶ(Ĭ) - BYTE byRes1[3]; - union - { - BYTE byUnionLen[128]; - struct - { - BYTE byDefaultState;//Ĭ״̬ 0-͵ƽ(Ĭ)1-ߵƽ - BYTE byWorkState;//Ч״̬ 0-͵ƽ(Ĭ),1-ߵƽ,2- - BYTE byFreqMulti;//ƵֵΧ[1,15] - BYTE byDutyRatio;//ռձȣ[0,40%] - BYTE byRes[3]; - BYTE byFlashLightEnable; //ʱʹ:0-;1- - NET_DVR_SCHEDTIME struFlashLightTime;//ʱ - BYTE byRes1[116]; - }struStrobeLamp; // Ƶ ʱЧ - }uWorkModeInfo; - BYTE byRes2[128]; -}NET_DVR_IOOUT_CFG,*LPNET_DVR_IOOUT_CFG; - -//źŵͬ -typedef struct tagNET_DVR_SIGNAL_SYNCCFG -{ - DWORD dwSize; - WORD wPhase;//λ(0~360) - BYTE byLineLock;//Դͬ 0-1- - BYTE byRes[125]; -}NET_DVR_SIGNAL_SYNCCFG,*LPNET_DVR_SIGNAL_SYNCCFG; - -// өʯEZVIZṹ -typedef struct -{ - DWORD dwSize; - BYTE byEnable;// EZVIZ 0ã1 - /********* IPC5.1.7 Begin 2014-03-21***********/ - BYTE byDeviceStatus; //豸Ƿ״̬0-1-ߣ2- - BYTE byAllowRedirect; //Ƿض,0-,1-,2-,0ʾֲ,SDK豸 - BYTE byDomainName[MAX_DOMAIN_NAME]; //ַ - BYTE byRes1; - BYTE byVerificationCode[NET_SDK_MAX_VERIFICATION_CODE_LEN/*32*/];//өʯ֤ - BYTE byNetMode; //ģʽ0-壬1-Զ2-ȣ3-(Ĭ)4- - BYTE byOfflineStatus; //豸߾״̬: 0-1-өʯע֤ЧֶΪֻҵDeviceStatusΪ2ʱЧ - BYTE byEnableTiming;// EZVIZУʱ 0ã1 - BYTE byRes2; - BYTE byOperateCode[NET_SDK_MAX_OPERATE_CODE_LEN]; //룬û豸ʱʹ - BYTE byRes[344]; -}NET_DVR_EZVIZ_ACCESS_CFG,*LPNET_DVR_EZVIZ_ACCESS_CFG; - -typedef struct tagNET_DVR_ALARM_RELATE_COND -{ - DWORD dwSize; - /* - 0ʾƶ⣬ - 1ʾƵڵ - 2ʾƵʧ - 3ʾPIR - 4ʾ߱ - 5ʾȱ - 6ʾץͼ - 7ʾ⣬ - 8ʾԽ⣬ - 9ʾ⣬ - 10ʾ⣬ - 11 ʾ쳣⣬ - 0xff ʾ - */ - BYTE byAlarmType; - // 0-Ч,1-ץͼϴFTP,2-JpegץͼϴEmail - BYTE byRelateActType; - BYTE byRes[2]; - //ŻͨŻ߱ - //(byAlarmType ==0xffʱ,dwChannelʾDZ) - //(byAlarmType ==4ʱ,dwChannelʾ߱) - DWORD dwChannel; - BYTE byRes1[64]; -}NET_DVR_ALARM_RELATE_COND,*LPNET_DVR_ALARM_RELATE_COND; - -typedef struct tagNET_DVR_ALARM_RELATE_CFG -{ - DWORD dwSize; - DWORD dwMaxRelateChanNum ; //ıֻ֧ͨ - //dwRelateChanijʼֵ0xffffffff;дʵʵͨ; - DWORD dwRelateChan[MAX_CHANNUM_V40/*512*/]; - BYTE byRes1[256]; -}NET_DVR_ALARM_RELATE_CFG,*LPNET_DVR_ALARM_RELATE_CFG; - -typedef struct tagNET_DVR_PTZ_BASICPARAMCFG -{ - DWORD dwSize; - BYTE byProportionalPan; //ñ䱶 0-1- - BYTE byPresetFreezing; //ԤõƵ 0-1- - BYTE byPresetSpeed;//Ԥõٶȵȼ 1--8Ĭ4 - BYTE byKeyboardCtrlSpeed;//ֿٶȵȼ0-,1-,2- - BYTE byAutoScanSpeed;//ɨٶȵȼ1--40Ĭ28 - BYTE byZoomingSpeed;//䱶ٶȣ1--3Ĭ3 - BYTE byManualControlSpeed;//ֿٶģʽ0-ݣ1-ˣ2-ǻ3-4-Ӧ - BYTE byPTZMotionTrack;//˶٣̨ 0-Ĭϣ1-ر - BYTE byRes[124]; -}NET_DVR_PTZ_BASICPARAMCFG,*LPNET_DVR_PTZ_BASICPARAMCFG; - -typedef struct tagNET_DVR_PTZ_OSDCFG -{ - DWORD dwSize; - BYTE byZoomStatus; //ͷʾ1-2롢2-5롢3-10롢0xff-ء0-Ĭ2 - BYTE byPtStatus; //λʾ1-2롢2-5롢3-10롢0xff-ء0-Ĭ2 - BYTE byPresetStatus;//Ԥõʾ1-2롢2-5롢3-10롢0xff-ء0-Ĭ2 - BYTE byPositionDisplayFormat;//λʾʽ 0-PTʾ( P179|T-02)1-շλʾ(SE123|T-02) - BYTE byRes[124]; -}NET_DVR_PTZ_OSDCFG,*LPNET_DVR_PTZ_OSDCFG; - -typedef struct tagNET_DVR_PTZ_POWEROFFMEMCFG -{ - DWORD dwSize; - BYTE byResumeTimePoint; //ģʽOxff-á1-30롢2-60롢3-300롢4-600룬Ĭ30 - BYTE byRes[127]; -}NET_DVR_PTZ_POWEROFFMEMCFG,*LPNET_DVR_PTZ_POWEROFFMEMCFG; - -typedef struct tagNET_DVR_PTZ_LIMITCOND -{ - DWORD dwSize; - DWORD dwChan; //ͨ - BYTE byLimitMode; //λģʽ 0-1-λ2-ɨλ - BYTE byRes[63]; -}NET_DVR_PTZ_LIMITCOND, *LPNET_DVR_PTZ_LIMITCOND; - -typedef struct tagNET_DVR_PTZ_LIMITCFG -{ - DWORD dwSize; - BYTE byEnable;//ʹܣ0-1- - BYTE byLimitStatus; //λ״̬ 0-δλ1-λɱ༭ - BYTE byRes[122]; -}NET_DVR_PTZ_LIMITCFG,*LPNET_DVR_PTZ_LIMITCFG; - -typedef struct tagNET_DVR_PTZ_LIMITCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byLimitMode; //λģʽ 0-1-λ2-ɨλ - BYTE byWorkMode ;//0-ã1- - BYTE byRes[122]; -}NET_DVR_PTZ_LIMITCTRL,*LPNET_DVR_PTZ_LIMITCTRL; - -typedef struct tagNET_DVR_PTZ_LOCKCFG -{ - DWORD dwSize; - BYTE byWorkMode ;//̨ 0-1- - BYTE byRes[123]; -}NET_DVR_PTZ_LOCKCFG,*LPNET_DVR_PTZ_LOCKCFG; - -typedef struct tagNET_DVR_PTZLOCKINFO_COND -{ - DWORD dwSize; - DWORD dwChannel ;//ͨ - BYTE byRes[64]; -}NET_DVR_PTZLOCKINFO_COND,*LPNET_DVR_PTZLOCKINFO_COND; - -typedef struct tagNET_DVR_PTZLOCKINFO -{ - DWORD dwSize; - DWORD dwRemainingSec ;//ʣ - BYTE byRes[128]; //ֽ -}NET_DVR_PTZLOCKINFO, *LPNET_DVR_PTZLOCKINFO; - -typedef struct tagNET_DVR_CRUISEPOINT_COND -{ - DWORD dwSize; - DWORD dwChan;//ͨ - WORD wRouteNo;//Ѳ· - BYTE byRes[30]; -}NET_DVR_CRUISEPOINT_COND,*LPNET_DVR_CRUISEPOINT_COND; - -typedef struct -{ - WORD wPresetNo; //Ԥõ - WORD wDwell; //ͣʱ - BYTE bySpeed; //ٶ - BYTE bySupport256PresetNo;//֮ǰ 256ԤõǷЧ - BYTE byRes[6]; -}NET_DVR_CRUISEPOINT_PARAM,*LPNET_DVR_CRUISEPOINT_PARAM; - -typedef struct -{ - DWORD dwSize; - // ֧128Ѳ - NET_DVR_CRUISEPOINT_PARAM struCruisePoint[MAX_CRUISE_POINT_NUM]; - BYTE Res[64]; // -}NET_DVR_CRUISEPOINT_V40, *LPNET_DVR_CRUISEPOINT_V40; - -typedef struct -{ - DWORD dwSize; - // ֧256Ѳ - NET_DVR_CRUISEPOINT_PARAM struCruisePoint[MAX_CRUISEPOINT_NUM_V50]; - BYTE Res[64]; // -}NET_DVR_CRUISEPOINT_V50, *LPNET_DVR_CRUISEPOINT_V50; - - -typedef struct tagNET_DVR_TEST_VERSION_HEAD -{ - DWORD dwSize; - DWORD dwParam1; - BYTE byParam2; - BYTE byRes[31]; -}NET_DVR_TEST_VERSION_HEAD, *LPNET_DVR_TEST_VERSION_HEAD; - -typedef struct tagNET_DVR_TEST_VERSION_HEAD_V1 -{ - DWORD dwSize; - DWORD dwParam1; - BYTE byParam2; - BYTE byRes[31]; - DWORD dwParam1_1; - BYTE byParam1_2; - BYTE byRes1[31]; -}NET_DVR_TEST_VERSION_HEAD_V1, *LPNET_DVR_TEST_VERSION_HEAD_V1; - -typedef struct tagNET_DVR_TEST_VERSION_HEAD_V2 -{ - DWORD dwSize; - DWORD dwParam1; - BYTE byParam2; - BYTE byRes[31]; - DWORD dwParam1_1; - BYTE byParam1_2; - BYTE byRes1[31]; - DWORD dwParam2_1; - BYTE byParam2_2; - BYTE byRes2[31]; -}NET_DVR_TEST_VERSION_HEAD_V2, *LPNET_DVR_TEST_VERSION_HEAD_V2; - -#define MAX_DISPLAY_NUM 512 //ʾ -#define MAX_LEDCONTENT_NUM 512 //LEDַ󳤶 -#define MAX_PPT_CHAN 128 //PPT - -typedef struct tagNET_DVR_VIDEOWALLDISPLAYMODE -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRect;//귶Χݻ׼ֵ֧ƴģʽ - BYTE sName[NAME_LEN]; //ǽ - BYTE byRes2[100]; -}NET_DVR_VIDEOWALLDISPLAYMODE, *LPNET_DVR_VIDEOWALLDISPLAYMODE; - -typedef struct tagNET_DVR_DISPLAYPARAM -{ - DWORD dwDisplayNo;//ʾ - BYTE byDispChanType;/*ģʽ,1-BNC2-VGA3-HDMI4-DVI5-SDI, 6-FIBER, \ - 7-RGB, 8-YPrPb, 9-VGA/HDMI/DVIӦ10-3GSDI,11-VGA/DVIӦ12-HDBaseT,13-HDTVI, 14-TVI0xff-Ч*/ - - BYTE byRes[11]; -}NET_DVR_DISPLAYPARAM,*LPNET_DVR_DISPLAYPARAM; - -typedef struct tagNET_DVR_DISPLAYCFG -{ - DWORD dwSize; - NET_DVR_DISPLAYPARAM struDisplayParam[MAX_DISPLAY_NUM/*512*/] ; - BYTE byRes[128]; -}NET_DVR_DISPLAYCFG,*LPNET_DVR_DISPLAYCFG; - -typedef struct tagNET_DVR_VIDEOWALLDISPLAYPOSITION -{ - DWORD dwSize; - BYTE byEnable; - BYTE byCoordinateType;//͡0-׼꣬1-ʵ - BYTE byRes1[2]; - //ǽ,1ֽǽţֽڣں豸Ϊͨţ+3ֽڱ - DWORD dwVideoWallNo; - DWORD dwDisplayNo;//ʾ - //Ϊ׼1920*1920Ⱥ͸߶ֵãΪ׼ֵ - NET_DVR_RECTCFG_EX struRectCfg; - BYTE byRes2[64]; -}NET_DVR_VIDEOWALLDISPLAYPOSITION,*LPNET_DVR_VIDEOWALLDISPLAYPOSITION; - -/*Ϣ*/ -typedef struct tagNET_DVR_VIDEOWALLWINDOWPOSITION -{ - DWORD dwSize; - BYTE byEnable; //ʹ,0-ʹܣ1-ʹ - BYTE byWndOperateMode; //ڲģʽ0-ͳһ꣬1-ֱ - BYTE byRes1[6]; - DWORD dwWindowNo;//ں - DWORD dwLayerIndex;//Ӧͼţͼŵöö - NET_DVR_RECTCFG_EX struRect; //ĿĴͳһ(ʾǽ)ȡͳһʱЧ - NET_DVR_RECTCFG_EX struResolution; //ĿĴڷֱ꣬ȡ򰴷ֱЧ - DWORD dwXCoordinate; //LEDϽX꣨ͳһ꣩ȡ򰴷ֱЧ - DWORD dwYCoordinate; //LEDϽY꣨ͳһ꣩ȡ򰴷ֱЧ - BYTE byRes2[36]; -}NET_DVR_VIDEOWALLWINDOWPOSITION,*LPNET_DVR_VIDEOWALLWINDOWPOSITION; - -typedef struct tagNET_DVR_VIDEO_WALL_INFO -{ - DWORD dwSize; - //ںţ1ֽǽţں豸Ϊͨţ+1ֽڱ+2ֽڴں - DWORD dwWindowNo; - DWORD dwSceneNo;// - DWORD dwDestWallNo; //Ŀǽ - DWORD dwDestSceneNo;//Ŀij - BYTE byRes[12]; -}NET_DVR_VIDEO_WALL_INFO,*LPNET_DVR_VIDEO_WALL_INFO; - -typedef struct tagNET_DVR_VIRTUALLED_PARAM -{ - DWORD dwSize; - BYTE byEnable; //ʹ - BYTE byDispMode; //ʾģʽ1-͸2-͸3- - BYTE byWndOperateMode; //ڲģʽ0-ͳһ꣬1-ֱ - BYTE byType; //LEDͣ0-ı1-ʱ - BYTE byDirection; //LED0-ˮƽ1-ֱ - BYTE byTimeType; //ʱͣbyTypeΪ1ʱЧ0-Ч1-ֻʾʱ䣬2-ʾںʱ - BYTE byDateFormat; //ʾʽbyTimeTypeΪ2ʱЧ - //0-Ч1-XXXX-XX-XX()2-XX-XX-XXXX()3-XX-XX-XXXX()4-XXXXXXXXգ5-XXXXXXXX꣬6-XXXXXXXX - BYTE byTimeFormat; //ʱʾʽbyTimeTypeΪʱЧ - //0-Ч1-H:MM:SS2-HH:MM:SS - NET_DVR_RGB_COLOR struContentColor; //ɫ - NET_DVR_RGB_COLOR struBackColor; //ɫ - NET_DVR_RECTCFG_EX struRect; - DWORD dwContentNum; //ıݳȣbyTypeΪ0ʱЧ - BYTE byLedContent[MAX_LEDCONTENT_NUM/*512*/]; //ıݣbyTypeΪ0ʱЧ - BYTE byMoveMode; //ƶģʽ1-ͨ2-ƽ3-ֹ - BYTE byFontSize; //С1-12-23-4 - BYTE byMoveDirection; //ƶ0-Ĭϣң1-ң2-ҵ3-ϵ£4-µϣ̬LEDʱЧ - BYTE byMoveSpeed; //ƶٶȣ1-ٶ12-ٶ2̬LEDʱЧ - NET_DVR_RECTCFG_EX struResolution; //ĿĴڷֱ꣬ȡ򰴷ֱЧ - DWORD dwXCoordinate; //LEDϽX꣨ͳһ꣩ȡ򰴷ֱЧ - DWORD dwYCoordinate; //LEDϽY꣨ͳһ꣩ȡ򰴷ֱЧ - BYTE byHourFormat; //ʱʽbyTimeTypeΪʱЧ0-Ч1-12Сʱƣ2-24Сʱ - BYTE byAMFormat; //AMʽbyHourFormatΪ1ʱЧ0-Ч1-AM2- - BYTE byPMFormat; //PMʽbyHourFormatΪ1ʱЧ0-Ч1-PM2- - BYTE byAlignmentX; //ˮƽ뷽ʽbyDirectionΪ0ʱЧ0-Ч1-룬2-ж룬3-Ҷ - BYTE byAlignmentY; //ֱ뷽ʽbyDirectionΪ1ʱЧ0-Ч1-˶룬2-ж룬3-׶˶ - BYTE byFontType; //ͣ0-Ĭϣ1-壬2-壬3-壬255-Զ - BYTE byRes2[90]; -}NET_DVR_VIRTUALLED_PARAM,*LPNET_DVR_VIRTUALLED_PARAM; - -typedef struct tagNET_DVR_IMAGE_CUT_MODE -{ - DWORD dwSize; - BYTE byCutMode; //ͼиģʽ1-4:3,2-16:9 - BYTE byRes[31]; -}NET_DVR_IMAGE_CUT_MODE,*LPNET_DVR_IMAGE_CUT_MODE; - -typedef struct tagNET_DVR_USING_SERIALPORT -{ - DWORD dwSize ; - DWORD dwSerialPort; //ǰʹôں - BYTE byProtocolType; //Эͣ1-LCD-S1 , 2-LCD-S2 , 3-LCD-L1 4-LCD-DLP 5-LCD-S3 , 6-LCD-D207-LCD-L2,8-LCD-Z19-LCD-D20/D,10-LCD-D20/S,11-LCD-D20/P,12-LCD-D20/T,13-LCD-D20/F,14-LCD-D20/DF,15-LCD-D20/FS,16-LCD-D20/FP,17-LCD-D20/FT,18-LCD-D5022,19-LCD-D5032,20-LCD-D5042+ - BYTE byRes[31]; -}NET_DVR_USING_SERIALPORT,*LPNET_DVR_USING_SERIALPORT; - -typedef struct tagNET_DVR_VIDEOWALLSCENECFG -{ - DWORD dwSize; - BYTE sSceneName[NAME_LEN];// - BYTE byEnable;//ǷЧ 1-Ч0-Ч - BYTE bySceneIndex; //ţֻܻȡȡгʱʹøò - BYTE byRes [78]; -}NET_DVR_VIDEOWALLSCENECFG, *LPNET_DVR_VIDEOWALLSCENECFG; - -typedef struct tagNET_DVR_SCENE_CONTROL_INFO -{ - DWORD dwSize; - NET_DVR_VIDEO_WALL_INFO struVideoWallInfo; //ǽϢ - DWORD dwCmd; //1-ģʽлҪлǵǰ򲻽л2-ʼ˳գǵǰͬʱԵǰ3-ǿлǷǵǰǿл4-浱ǰģʽij 5-ɾ ,6- - BYTE byRes[4]; -}NET_DVR_SCENE_CONTROL_INFO, *LPNET_DVR_SCENE_CONTROL_INFO; - -typedef struct tagNET_DVR_SHOW_CONTROL_INFO -{ - DWORD dwSize; - DWORD dwDisplayNo; //ʾںţ0xffffffffʾڽв - BYTE byEnable; //ʹʾ0-ʾ1-ʾ - BYTE byChanType; //ʾͨͣ1-ʾͨţ2- - BYTE byRes1[2]; - DWORD dwWallNo; //ǽţ1ֽǽţλ+3ֽڱʾĻʱЧ - BYTE byRes2[56]; -}NET_DVR_SHOW_CONTROL_INFO,*LPNET_DVR_SHOW_CONTROL_INFO; - -typedef struct tagNET_DVR_BUF_INFO -{ - void* pBuf; //ָ - DWORD nLen; // -}NET_DVR_BUF_INFO, *LPNET_DVR_BUF_INFO; - -typedef struct tagNET_DVR_IN_PARAM -{ - NET_DVR_BUF_INFO struCondBuf; // - NET_DVR_BUF_INFO struInParamBuf; // - DWORD dwRecvTimeout; //ݳʱʱ䣬λms,0ýӿĬϳʱ - BYTE byRes[32]; -}NET_DVR_IN_PARAM,LPNET_DVR_IN_PARAM; - -typedef struct tagNET_DVR_OUT_PARAM -{ - NET_DVR_BUF_INFO struOutBuf; // - void* lpStatusList; //״̬ - BYTE byRes[32]; -}NET_DVR_OUT_PARAM,LPNET_DVR_OUT_PARAM; - -typedef struct tagNET_DVR_AUDIO_CHAN_INFO -{ - DWORD dwSize; - DWORD dwChannel; //Ƶͨϣ1ֽ豸+1ֽӰ+2ֽƵͨţ - BYTE byRes[48]; -}NET_DVR_AUDIO_CHAN_INFO, *LPNET_DVR_AUDIO_CHAN_INFO; - -typedef struct tagNET_DVR_AUDIO_CHAN_CFG -{ - DWORD dwSize; - BYTE sChanName[NAME_LEN]; //Ƶͨ - BYTE byEnable; //ƵǷ 0-أ 1- - BYTE byAudioSwitchType; //Ƶлʽ1-ǰԴʽ2-ڽԴʽ - BYTE byRes[2]; - NET_DVR_PU_STREAM_CFG_V41 struAudioSrcInfo; //ƵԴϢ byAudioSwitchTypeΪ1ʱЧ - DWORD dwWindowNo; //Ӵںţ1ֽǽ+1ֽӴں+2ֽڴںţbyAudioSwitchTypeΪ2ʱЧ - BYTE byRes2[28]; -}NET_DVR_AUDIO_CHAN_CFG, *LPNET_DVR_AUDIO_CHAN_CFG; - -#define MAX_SUBBOARD_NUM 42 //ʽ豸Ŀ -#define MAX_SINGLE_BOARD_EXCEPTION_NUM 16 //󲢷쳣 -typedef struct tagNET_DVR_MAINBOARD_SERIAL_CFG -{ - DWORD dwSize; - BYTE bySerialWorkMode; //ڹģʽ1-RS484,2-RS232 - BYTE byFunType; //ڹܣ1-̿ƣ2-Ļƣ3-͸ͨģʽ 4-PTZ 5- 6-̨ - BYTE byDataBit;// мλ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - DWORD dwBaudRate;//0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - WORD wProtocol;//Э飬ͬڹܶӦЭ鲻һ - BYTE byVariable ; //Ƿɱ䣬1-ɱ 2-ɱ ֻȡ - BYTE byGateWayEnable; //Ƿأ0-أ!0 - BYTE byRes[30]; -}NET_DVR_MAINBOARD_SERIAL_CFG, *LPNET_DVR_MAINBOARD_SERIAL_CFG; - -typedef struct tagNET_DVR_SUBBOARD_INFO -{ - DWORD dwSize; - BYTE byBoardType; //ͣ0-壬1-DVI-I룬2-YPbPr룬3-BNC룬4-SDI룬 5-DVI˫·룬 6-ͨ룬 7-DVI-I 8-SDI, 9-ǿͽ룬10-DP룬11-HDTVI룬12-HDBaseT13-HDMI룬14-HDBaseT15-DVI-T룬16-HDMI17-HDMI-HD ,18-HDMI-UHD , 19-DP_UHD,0xff-δ֪ //ͣ0-壬1-DVI-I룬2-YPbPr룬3-BNC룬4-SDI룬 5-DVI˫·룬 6-ͨ룬 7-DVI-I 8-SDI, 9-ǿͽ룬10-DP룬11-HDTVI룬12-HDBaseT13-HDMI룬14-HDBaseT15-DVI-T룬16-HDMI17-HDMI-HD ,18-HDMI-UHD , 19-DP_UHD,0xff-δ֪ - BYTE byInterfaceNum; //ӿ - BYTE byStatus; //״̬0-쳣 1- - BYTE bySyncStatus; // ͬ״̬0-δͬ 1-ͬ - DWORD dwSlotNo; //ڲλ - BYTE byRes2[32]; -}NET_DVR_SUBBOARD_INFO, *LPNET_DVR_SUBBOARD_INFO; - -typedef struct tagNET_DVR_DEVICE_SUBBOARD_INFO -{ - DWORD dwSize; - BYTE byBackBoardType; //ͣ 1-4U 2-8U 3-13U, 0xff-δ֪ - BYTE bySoltNum; //λĿ - BYTE byBoardNum; //ЧĿ - BYTE byRes1[1]; - NET_DVR_SUBBOARD_INFO struSubBoadInfo[MAX_SUBBOARD_NUM]; //ǰbyBoardNumЧ - BYTE byRes2[32]; -}NET_DVR_DEVICE_SUBBOARD_INFO, *LPNET_DVR_DEVICE_SUBBOARD_INFO; - -typedef struct tagNET_DVR_DEVICE_BOARD_EXCEPINFO -{ - DWORD dwSize; - BYTE byExceptNum; //쳣 - BYTE byRes1[3]; - BYTE byMajor[MAX_SINGLE_BOARD_EXCEPTION_NUM]; // - WORD wMinor[MAX_SINGLE_BOARD_EXCEPTION_NUM]; // - BYTE byRes2[32]; -}NET_DVR_DEVICE_BOARD_EXCEPINFO, *LPNET_DVR_DEVICE_BOARD_EXCEPINFO; - - -typedef struct tagNET_DVR_LINEARSCAN -{ - DWORD dwSize; - DWORD dwChan; //ͨ - BYTE byLinearScanType; //λͣ0-,1-߽,2-ұ߽ - BYTE byRes[63]; -}NET_DVR_LINEARSCAN, *LPNET_DVR_LINEARSCAN; - -//Ϣ -typedef struct tagNET_DVR_STREAM_ATTACHINFO_CFG -{ - DWORD dwSize; //ṹС - BYTE byStreamWithVca; //еϢɹк0-,1- - BYTE byRes[127]; // -}NET_DVR_STREAM_ATTACHINFO_CFG,*LPNET_DVR_STREAM_ATTACHINFO_CFG; - -typedef struct tagNET_DVR_SUBSYSTEM_NETCFG -{ - DWORD dwSize; - BYTE byDefaultRoute; //Ĭ·ɣ0ʾstruEtherNet[0]1ʾstruEtherNet[1] - BYTE byNetworkCardNum; //豸ʵʿõĿ - BYTE byRes1[2]; // - NET_DVR_ETHERNET_MULTI struEtherNet [MAX_NETWORK_CARD]; //̫ - BYTE byRes2[128]; -}NET_DVR_SUBSYSTEM_NETCFG, *LPNET_DVR_SUBSYSTEM_NETCFG; - -// -typedef struct tagNET_DVR_CLEARCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byAllPreset; //еԤõ㣺0-,1- - BYTE byAllPatrols; //еѲ·0-,1- - BYTE byAllPatterms; //еĻɨ裺0-,1- - BYTE byAllPrivacyMasks; //е˽飺0-,1- - BYTE byAllPTZLimited; //еλã0-,1- - BYTE byAllScheduledTasks; //еĶʱ0-,1- - BYTE byAllParkAction; //е0-,1- - BYTE byRes[125]; -}NET_DVR_CLEARCTRL, *LPNET_DVR_CLEARCTRL; - -//̨Ϣ -typedef struct tagNET_DVR_PTZ_PRIORITIZECFG -{ - DWORD dwSize; - BYTE byPTZPrioritize; //̨ȣ0-Rs4851-磬Ĭ - BYTE byRes[3]; - DWORD dwDelay; //ʱ2---200 - BYTE byRes1[124]; -}NET_DVR_PTZ_PRIORITIZECFG, *LPNET_DVR_PTZ_PRIORITIZECFG; - -//㷽λǿ -typedef struct tagNET_DVR_INITIALPOSITIONCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byWorkMode ;//0-ã1- - BYTE byRes[127]; -}NET_DVR_INITIALPOSITIONCTRL,*LPNET_DVR_INITIALPOSITIONCTRL; - -//˽ڱβ -typedef struct tagNET_DVR_PRIVACY_MASKS_COND -{ - DWORD dwSize; - DWORD dwChan; //ͨ - BYTE byRegionalID; //ID 124 - //ɾǰIDӦ˽ڱϢ 0-1-ɾ WriteOnly - BYTE byDelPrivacyMaskCfg; - BYTE byRes[62]; -}NET_DVR_PRIVACY_MASKS_COND, *LPNET_DVR_PRIVACY_MASKS_COND; - -typedef struct tagNET_DVR_PRIVACY_MASKS_CFG -{ - DWORD dwSize; - BYTE byEnable;//Ƿ 0-1- - //˽ڱòǷʾ 0-1- ReadOnly - BYTE byPrivacyMaskCfgEnable; - BYTE byColorType; //0-,1-ҡ2-졢3-̡4-5-ȡ6-ơ0xff- - BYTE byActiveZoomRatio;//αʣ1--100 - char sPrivacyMaskName[NAME_LEN/*32*/];//ڵƣֻʹ16ֽ - NET_VCA_POLYGON struRegion;//Χ - //ǰǷЧ 0-1- ԵϢ͵µĶϢ - BYTE byCurrentRegionEnable; - //ǰʹֶ 0- byActiveZoomRatio ;1- fActiveZoomRatio(֧ڵcurActiveZoomRatioType) - BYTE byCurZoomRatio ; - BYTE byRes[2]; - float fActiveZoomRatio; //α(ȷС1λ)[1.0-100.0] - BYTE byRes1[120]; -}NET_DVR_PRIVACY_MASKS_CFG, *LPNET_DVR_PRIVACY_MASKS_CFG; - -//ȫʹ -typedef struct tagNET_DVR_PRIVACY_MASKS_ENABLECFG -{ - DWORD dwSize; - BYTE byEnable;//ʹܣ0-1- - BYTE byRes[127]; -}NET_DVR_PRIVACY_MASKS_ENABLECFG,*LPNET_DVR_PRIVACY_MASKS_ENABLECFG; - -//˶Ϣ -typedef struct tagNET_DVR_SMARTTRACKCFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ 0-1- - BYTE byRes[3]; - DWORD dwDuration;//ʱ䣺0--300룬Ĭ300 - BYTE byRes1[124]; -}NET_DVR_SMARTTRACKCFG,*LPNET_DVR_SMARTTRACKCFG; - -//ٱ -typedef struct tagNET_DVR_ZOOMRATIOCTRL -{ - DWORD dwSize; - DWORD dwChan;//ͨ - BYTE byRes[128]; -}NET_DVR_ZOOMRATIOCTRL,*LPNET_DVR_ZOOMRATIOCTRL; - - -//뿪Ϣ -typedef struct tagNET_DVR_DIAL_SWITCH_CFG -{ - DWORD dwSize; - DWORD dwSwitchState;//ſ״̬ - BYTE byRes[28]; -}NET_DVR_DIAL_SWITCH_CFG,*LPNET_DVR_DIAL_SWITCH_CFG; - -typedef struct tagNET_ALARM_RECORDFILE_LOSS //¼ʧӽṹ -{ - NET_DVR_TIME_EX struInspectStart; //Ѳ쿪ʼʱ - NET_DVR_TIME_EX struInspectEnd; //Ѳʱ - NET_DVR_IPADDR struIP; //¼ʧӦͨIPַ - DWORD dwChanNo; //ͨ - DWORD dwIDIndex; //ID - BYTE sName[STREAM_ID_LEN]; // - NET_DVR_TIME_EX struLossStartTime; //¼ʧʼʱ - NET_DVR_TIME_EX struLossEndTime; //¼ʧʱ - DWORD dwLostNum; //¼ʧ 0xffffffffʾȫʧ - BYTE byRes[240]; -} NET_ALARM_RECORDFILE_LOSS, *LPNET_ALARM_RECORDFILE_LOSS; - -typedef struct tagNET_ALARM_STREAM_EXCEPTION //ȡ쳣 ӽṹ -{ - NET_DVR_IPADDR struIP; //Ƶ쳣ͨIPַ - DWORD dwChanNo; //ͨ - DWORD dwIDIndex; //ID - BYTE sName[STREAM_ID_LEN]; // - BYTE byExceptionCase; //쳣ԭ0-д쳣 1-쳣 - BYTE byRes[307]; // -} NET_ALARM_STREAM_EXCEPTION, *LPNET_ALARM_STREAM_EXCEPTION; - - -typedef struct tagNET_ALARM_RESOURCE_USAGE //Դʹñ ӽṹ -{ - BYTE byLevel; //ʹس̶ȵ 0-1-һ澯 2-澯 3-澯 - BYTE byRes[491]; // -}NET_ALARM_RESOURCE_USAGE, *LPNET_ALARM_RESOURCE_USAGE; - -typedef struct tagNET_ALARM_RECORD_EXCEPTION //¼쳣 ӽṹ -{ - BYTE byReason; //쳣ԭ 0-¼ 1-¼쳣 2-޿lun - BYTE byRes1[3]; // - BYTE sVolumeName[MAX_VOLUMENAME_LEN]; - DWORD dwVolumeID; //¼IDӲ̺ţ - BYTE byRes[452]; // -}NET_ALARM_RECORD_EXCEPTION, *LPNET_ALARM_RECORD_EXCEPTION; - -typedef union tagNET_ALARM_CVR_SUBINFO_UNION //CVRӽṹ -{ - BYTE byLen[492]; //峤 - NET_ALARM_RECORDFILE_LOSS struRecordLost; //¼ʧ - NET_ALARM_STREAM_EXCEPTION struStreamException; //ȡ쳣 - NET_ALARM_RESOURCE_USAGE struResourceUsage; //Դʹ - NET_ALARM_RECORD_EXCEPTION struRecordException; //¼쳣 -}NET_ALARM_CVR_SUBINFO_UNION, *LPNET_ALARM_CVR_SUBINFO_UNION; - -#define MAX_VARIABLE_DATA_NUM 65535 //ɱݸ - -typedef struct tagNET_DVR_ALARMINFO_DEV_V40 -{ - DWORD dwAlarmType; // 0-(ͨ)ź1-˽о𻵣2- NVR˳3-״̬쳣4-ϵͳʱ쳣5-¼ʣͣ6-(ͨ)ƶⱨ - //7-(ͨ)ڵ; 8-¼ʧ; 9-Ƶʵʱⱨ; 10-Դʹʸ澯; 11- CVRԶ޸쳣 12-¼쳣 - NET_DVR_TIME struTime; - NET_ALARM_CVR_SUBINFO_UNION uSubAlarmInfo; //Ϣӽṹ Ϊ8,9,10,11,12ʱЧ - BYTE byRes[256]; - DWORD dwNumber; //ɱݸ - WORD *pNO; //Ϊ0367ʱܻͨţΪ5ʱܻд̺šɱʾֵΧΪ0~65535 -}NET_DVR_ALARMINFO_DEV_V40, *LPNET_DVR_ALARMINFO_DEV_V40; - -typedef struct tagNET_DVR_CONTROL_START_CFG //һʼϢ -{ - BYTE byUseDefine; //ʹԶ壬 0-ʹĬϣ1-ʹԶ - BYTE byRes1; - WORD wCourseIndex; //γ - BYTE byRes[128]; -}NET_DVR_CONTROL_START_CFG, *LPNET_DVR_CONTROL_START_CFG; - -typedef struct tagNET_DVR_CONTROL_DELAY_CFG//һӳ¼Ϣ -{ - BYTE byUseDefine; //ʹԶ壬 0-ʹĬϣ1-ʹԶ - BYTE byRes1; - WORD wDelayTime; //¼ӳʱ<¼ʱԴΪ׼>λs - BYTE byRes[128]; -}NET_DVR_CONTROL_DELAY_CFG, *LPNET_DVR_CONTROL_DELAY_CFG; - -typedef union tagNET_DVR_CONTROL_INFO_UNION //Ϣ -{ - BYTE byLen[132]; //峤 - NET_DVR_CONTROL_START_CFG struStartCfg; //һʼ - NET_DVR_CONTROL_DELAY_CFG struDelayCfg; //һӳ -}NET_DVR_CONTROL_INFO_UNION, *LPNET_DVR_CONTROL_INFO_UNION; - -typedef struct tagNET_DVR_RECORDING_CONTROL_CFG_ -{ - DWORD dwSize; //ṹС - WORD wCmdType; //ͣ0-һʼ1-һ2-һͣ3-һָ4-һӳ,5-һʼ 6-һֹͣ - BYTE byRes1 [2]; // - NET_DVR_CONTROL_INFO_UNION struControlInfo; //ϢʹýϿ - BYTE byRes[256]; // -}NET_DVR_RECORDING_CONTROL_CFG, *LPNET_DVR_RECORDING_CONTROL_CFG; - -typedef struct tagNET_DVR_RECORDING_HOST_CFG -{ - DWORD dwSize; //ṹС - DWORD dwOneKeyDelayTime; //һӳʱ ¼¼ʱ λ S - BYTE byDirectedMode; //ģʽ0-Զ1ֶ2-Զ - BYTE byClassroomType; //ͣ0-Ч1-ң2-ӽ - BYTE byCourseDataStorageEnabled;//ͳǷ洢Ӳ, 0-洢1-洢 - BYTE byElectronicEnlargeMode;//ǷʹõӷŴ󵼲, 0-ʹã1-ʹ - BYTE byRes[124]; // -}NET_DVR_RECORDING_HOST_CFG, *LPNET_DVR_RECORDING_HOST_CFG; - -typedef struct tagNET_DVR_STATISTIC_DATA_COND -{ - DWORD dwSize; - DWORD dwTypeTarget; //ͳƶͣTARGET_TYPE - NET_DVR_TIME struStartTime;//ʼͳʱ - NET_DVR_TIME struStopTime;//ͳʱ - BYTE byRes[280]; -}NET_DVR_STATISTIC_DATA_COND, *LPNET_DVR_STATISTIC_DATA_COND; - -typedef struct tagNET_DVR_STATISTIC_DATA_CFG -{ - DWORD dwSize; - DWORD dwTypeTarget; //ͳƶͣTARGET_TYPE - NET_DVR_TIME struStartTime;//¼ʼʱ - NET_DVR_TIME struStopTime;//¼ʱ - BYTE byRes[300]; -}NET_DVR_STATISTIC_DATA_CFG, *LPNET_DVR_STATISTIC_DATA_CFG; - -//typedef enum -//{ -// NET_SDK_ALL_TARGET = 0, //ͳж -// NET_SDK_PPT_TARGET_ALARM, //PPT -// NET_SDK_PPT_TARGET_VIEW, //PPTͼ -// NET_SDK_STU_SINGLE_ALARM, //ѧ -// NET_SDK_STU_SINGLE_VIEW, //ѧͼ -// NET_SDK_SUT_MULT_ALARM, //ѧ -// NET_SDK_STU_MULT_VIEW, //ѧͼ -// NET_SDK_STU_TEACHER_VIEW, //ʦͼ -// NET_SDK_TEA_UP_DOWN_ALARM, //ʦ½̨ -// NET_SDK_TEA_START_VIEW, //ʦڿͼ -// NET_SDK_BLA_WRITE_ALARM, //д鱨 -// NET_SDK_BLA_WRITE_VIEW, //дͼ -// NET_SDK_TEA_FULL_VIEW, //ʦȫͼ -// NET_SDK_TEA_START_ALARM, //ʦʼڿα -// NET_SDK_TEA_WALK_ALARM, //ʦ߶ -// NET_SDK_TEA_LEFT_ALARM, //ʦ뿪 -// NET_SDK_TEA_RUN_ALARM, //ʦܱ -// NET_SDK_TEA_MULT_ALARM //ʦ˱ -//}TARGET_TYPE; - -typedef struct tagNET_DVR_AUTO_TRACK_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_DIRECT_CONNECT_CHAN_INFO struSDIInfo[MAX_CHANNUM_V30] ; - //SDIͨ豸ʵʵʽģͨǰʹIPͨ - BYTE byCameraType[MAX_CHANNUM_V30]; //ֵͨͣΪ 0-壬1-ʦ٣2-ѧ٣3-ʦȫ4-ѧȫ5-ý壬6-ʦλ,7-ѧλ,8-鶨λ,9-, 0xff-δ - BYTE byRes[64]; // -}NET_DVR_AUTO_TRACK_CFG, *LPNET_DVR_AUTO_TRACK_CFG; - -typedef struct tagNET_DVR_PUBLISH_FTP_CFG -{ - BYTE byProtocolType; //Э 0-FTP1-SFTP - BYTE byRes1; // - WORD wFTPPort; //˿ - BYTE byAddress[MAX_DOMAIN_NAME]; //IP,Ҫ豸 - //ʽΪĸ'.'Ϊ,ΪIPַ - BYTE szUserName[NAME_LEN/*32*/]; //û<> - BYTE szPassWord[PASSWD_LEN/*16*/]; //<> - BYTE szCustomDir[128]; //Ŀ¼,֧Ŀ¼ṹ - BYTE byRes[12]; // -} NET_DVR_PUBLISH_FTP_CFG, *LPNET_DVR_PUBLISH_FTP_CFG; - -typedef struct tagNET_DVR_PUBLISH_HTTP_CFG -{ - BYTE strUrl[256]; //URLַϢ -}NET_DVR_PUBLISH_HTTP_CFG, *LPNET_DVR_PUBLISH_HTTP_CFG; - -typedef struct tagNET_DVR_PUBLISH_FTP_CFG_DIR -{ - BYTE byProtocolType; //Э 0-FTP1-SFTP - BYTE byRes1; // - WORD wFTPPort; //˿ - BYTE byAddress[MAX_DOMAIN_NAME]; //IP,Ҫ豸 - //ʽΪĸ'.'Ϊ,ΪIPַ - BYTE szUserName[NAME_LEN/*32*/]; //û<> - BYTE szPassWord[PASSWD_LEN/*16*/]; //<> - BYTE byDirLevel; /*0 = ʹĿ¼ṹֱӱڸĿ¼,1 = ʹ1Ŀ¼,2=ʹ2Ŀ¼*/ - BYTE byTopDirMode; /* һĿ¼0x1 = ʹ豸,0x2 = ʹ豸,0x3 = ʹ豸ipַ 0xff=ʹԶ*/ - BYTE bySubDirMode; /*Ŀ¼0x1=ʹͨ,0x2=ʹͨţ0x3=ʹÿγƣ0x4-ʹڿڣ0xff-ʹԶ*/ - BYTE byRes2; - BYTE byTopCustomDir[MAX_CUSTOMDIR_LEN/*32*/];/*ԶһĿ¼*/ - BYTE bySubCustomDir[MAX_CUSTOMDIR_LEN/*32*/];/*ԶĿ¼*/ - BYTE byRes[72]; // -}NET_DVR_PUBLISH_FTP_CFG_DIR, *LPNET_DVR_PUBLISH_FTP_CFG_DIR; - - -typedef union tagNET_DVR_PUBLISH_ADD_UNION -{ - BYTE byLen[256]; //峤 - NET_DVR_PUBLISH_HTTP_CFG struHttpCfg; //httpַϢ - NET_DVR_PUBLISH_FTP_CFG struFtpCfg; //ftpַϢ - NET_DVR_PUBLISH_FTP_CFG_DIR struDirFtpCfg; //Ŀ¼ʽFTP -}NET_DVR_PUBLISH_ADD_UNION, *LPNET_DVR_PUBLISH_ADD_UNION; - -typedef struct tagNET_DVR_CHAN_RECORD_PUBLISH_INFO //ͨ¼񷢲Ϣ -{ - BYTE byPublish; //Ƿ񷢲0- 1- - BYTE byRes1[3]; - DWORD dwStreamType; //һͣλʾ - //&0x1-ʾ - //&0x2-ʾ - //&0x4-ʾ - BYTE byRes[12]; // -}NET_DVR_RECORD_PUBLISH_INFO,*LPNET_DVR_RECORD_PUBLISH_INFO; - - -typedef struct tagNET_DVR_PUBLISH_CFG -{ - DWORD dwSize; //ṹС - BYTE byPublishType; //ʽ0-http,1-ftp,2-Dir FTP - BYTE byRes1[3]; // - NET_DVR_PUBLISH_ADD_UNION struPublishAddr; //һַϢ - NET_DVR_RECORD_PUBLISH_INFO struChanPublish[MAX_CHANNUM_V30]; //ͨ¼񷢲Ϣ struChanPublis[0]ʾͨ1Ӧ¼񷢲Ϣ - NET_DVR_RECORD_PUBLISH_INFO struDirectChanPublish; //ͨ¼񷢲Ϣ - BYTE byUploadTime; //Ƿʱftpϴ 0-壬1-2- - BYTE byTimerMode; //0-壬1-αʱϴһڿε¼2-ʱ㷽ʽϴǰ24Сʱ¼ - BYTE byUploadStartHour; //ʱ䶨ʱϴʼʱ ʱ - BYTE byUoploadStartMin; //ʱ䶨ʱϴ ʼʱ - BYTE byRes[1020]; // -}NET_DVR_PUBLISH_CFG, *LPNET_DVR_PUBLISH_CFG; - -typedef struct tagNET_DVR_ONEKEY_PUBLISH_CFG -{ - DWORD dwSize; //ṹС - BYTE byUseDefine; //ʹԶ 0-ʹĬϷϢ1-ʹԶ巢Ϣ - BYTE byRes1[3]; - NET_DVR_RECORD_PUBLISH_INFO struChanPublish[MAX_CHANNUM_V30]; //ͨ¼񷢲Ϣ struChanPublis[0]ʾͨ1Ӧ¼񷢲Ϣ - NET_DVR_RECORD_PUBLISH_INFO struDirectChanPublish; //ͨ¼񷢲Ϣ - NET_DVR_TIME_EX struStartTime; //γ̿ʼʱ - NET_DVR_TIME_EX struEndTime; //γ̽ʱ - BYTE bySchedulePublish; //Ƿ񰴿α0α1α - BYTE sFileName[COURSE_NAME_LEN/*32*/]; //ļ - BYTE byRes[31]; -}NET_DVR_ONEKEY_PUBLISH_CFG,*LPNET_DVR_ONEKEY_PUBLISH_CFG; - -typedef struct tagNET_DVR_COURSE_RECORDING_INFO -{ - DWORD dwSize; - char sCourseName[COURSE_NAME_LEN/*32*/]; - char sInstructorName[INSTRUCTOR_NAME_LEN/*16*/]; - char sCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byIndex; //γ - BYTE byRes[15]; -}NET_DVR_COURSE_RECORDING_INFO, *LPNET_DVR_COURSE_RECORDING_INFO; - -typedef struct tagNET_DVR_EACH_LESSON_INFO_ -{ - NET_DVR_SCHEDTIME struSchedTime ; //γֹʱ - WORD wCourseIndex ; //γ - WORD wSessionIndex ; //ڴ - BYTE byRes[4] ; // -}NET_DVR_EACH_LESSON_INFO,*LPNET_DVR_EACH_LESSON_INFO ; -// ¼״̬ -typedef struct tagNET_DVR_CURRICULUM_CFG //αƻ -{ - DWORD dwSize ; //ṹС - NET_DVR_EACH_LESSON_INFO struLessonInfo[MAX_TIMESEGMENT_V40/*16*/] ; //ÿڿϢ - BYTE byRes[256] ; // -}NET_DVR_CURRICULUM_CFG, *LPNET_DVR_CURRICULUM_CFG; - -typedef struct tagNET_DVR_DATE_ -{ - WORD wYear; // - BYTE byMonth; // - BYTE byDay; // -}NET_DVR_DATE,*LPNET_DVR_DATE; - -typedef struct _NET_DVR_PPT_DETECT_CFG_ -{ - DWORD dwSize ; - BYTE byEnablePPTDetect; //ǷPPT - BYTE byPptDetLevel; // - BYTE byEnablePartScreen; //Ƿò - BYTE byRes1; - WORD wX; // - WORD wY; - WORD wWidth; - WORD wHeight; - DWORD dwChangePixelNum;//صֵ[0,1000](ps : һͼжڱ仯) - BYTE byRes[28]; -}NET_DVR_PPT_DETECT_CFG,*LPNET_DVR_PPT_DETECT_CFG; - -typedef struct _NET_DVR_SCREEN_SWITCH_ -{ - DWORD dwSize; - BYTE byRes[64]; // -}NET_DVR_SCREEN_SWITCH, *LPNET_DVR_SCREEN_SWITCH; - -typedef struct _NET_DVR_PPT_CHANNEL_CFG_ -{ - DWORD dwSize ; - BYTE byChan[MAX_PPT_CHAN]; - BYTE byRes[32]; -}NET_DVR_PPT_CHANNEL_CFG,*LPNET_DVR_PPT_CHANNEL_CFG; - -typedef struct tagNET_DVR_BACKUP_RECORD_INFO -{ - BYTE byEnable; //Ƿ - BYTE byRes[11]; - //ͣλʾ - //&0x1-ʾ - //&0x2-ʾ - //&0x4-ʾ - DWORD dwStreamType; -}NET_DVR_BACKUP_RECORD_INFO, *LPNET_DVR_BACKUP_RECORD_INFO; - -typedef struct tagNET_DVR_BACKUP_RECORD_PARAM -{ - DWORD dwSize ; - NET_DVR_BACKUP_RECORD_INFO struChanBackUp[MAX_CHANNUM_V30/*64*/]; //Ҫݵͨ,±ӦӦͨ - NET_DVR_BACKUP_RECORD_INFO struDirectedChanBackUp; //ͨϢ - BYTE byRes[256]; // ֽ -}NET_DVR_BACKUP_RECORD_PARAM, *LPNET_DVR_BACKUP_RECORD_PARAM; - -//ڻ -typedef struct tagNET_DVR_INDOOR_UNIT_DEVICEID -{ - SHORT wFloorNumber; // - WORD wRoomNumber; // - WORD wDevIndex; //ڻţ0-10 - BYTE byRes[122]; // -}NET_DVR_INDOOR_UNIT_DEVICEID,*LPNET_DVR_INDOOR_UNIT_DEVICEID; - -//ſڻ -typedef struct tagNET_DVR_OUTDOOR_UNIT_DEVICEID -{ - WORD wPeriod; //ں, Χ[0,9] - WORD wBuildingNumber; //¥ - WORD wUnitNumber; //Ԫ - SHORT wFloorNumber; // - WORD wDevIndex; //ſڻţÿһſڻΨһ0ʼ - BYTE byRes[118]; // -}NET_DVR_OUTDOOR_UNIT_DEVICEID,*LPNET_DVR_OUTDOOR_UNIT_DEVICEID; - -//Χǽ -typedef struct tagNET_DVR_OUTDOOR_FENCE_DEVICEID -{ - WORD wPeriod; //ں, Χ[0,9] - WORD wDevIndex; //ΧǽţÿһſڻΨһ0ʼ - BYTE byRes[124]; // -}NET_DVR_OUTDOOR_FENCE_DEVICEID,*LPNET_DVR_OUTDOOR_FENCE_DEVICEID; - -// -typedef struct tagNET_DVR_MANAGE_UNIT_DEVICEID -{ - WORD wPeriod; //ںţΧ[0,9] - WORD wDevIndex; //ţÿһйΨһ,0ʼ - BYTE byRes[124]; // -}NET_DVR_MANAGE_UNIT_DEVICEID,*LPNET_DVR_MANAGE_UNIT_DEVICEID; - -//ӶԽ豸 -typedef union tagNET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION -{ - BYTE byLen[128] ; //С - NET_DVR_INDOOR_UNIT_DEVICEID struIndoorUnit; //ڻ - NET_DVR_OUTDOOR_UNIT_DEVICEID struOutdoorUnit; //ſڻ/Ž豸 - NET_DVR_MANAGE_UNIT_DEVICEID struManageUnit; // - NET_DVR_OUTDOOR_FENCE_DEVICEID struFenceUnit; //Χǽ - NET_DVR_OUTDOOR_UNIT_DEVICEID struVillaOutdoorUnit; //ſڻ - NET_DVR_OUTDOOR_UNIT_DEVICEID struAgainConfirmUnit; //ȷϻ -}NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION,*LPNET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION; - -//豸Ųṹ -typedef struct tagNET_DVR_VIDEO_INTERCOM_DEVICEID_CFG -{ - DWORD dwSize; //ṹС - BYTE byUnitType; //豸ͣ1-ſڻ2- 4-Χǽ,5-ſڻ6-ȷϻ7-Ž豸,8-4200ͻ, 9-APP,10-նˣ11-IPC豸12-豸,13-ģڻ - BYTE byIsAutoReg; //ǷԶעᣬ0-1- - BYTE byRes1[2]; // - NET_DVR_VIDEO_INTERCOM_UNIT_DEVICEID_UNION uVideoIntercomUnit; //ȡֵοbyUnitType - BYTE byRes2[128]; // -}NET_DVR_VIDEO_INTERCOM_DEVICEID_CFG,*LPNET_DVR_VIDEO_INTERCOM_DEVICEID_CFG; - -//Ȩ -typedef enum tagPRIVILEGE_PASSWORD_TYPE_ENUM -{ - ENUM_PRIVILEGE_PASSWORD_ENGINEERING = 1, // - ENUM_PRIVILEGE_PASSWORD_SETUPALARM = 2, /// - ENUM_PRIVILEGE_PASSWORD_HOUSEHOLDER_UNLOCK = 3, // - ENUM_PRIVILEGE_PASSWORD_ANTI_HIJACKING = 4, //ٳ - ENUM_PRIVILEGE_PASSWORD_PUBLIC1 = 5, //1 - ENUM_PRIVILEGE_PASSWORD_PUBLIC2 = 6, //2 - ENUM_PRIVILEGE_PASSWORD_PUBLIC3 = 7, //3 - ENUM_PRIVILEGE_PASSWORD_SENDCARD = 8// -}PRIVILEGE_PASSWORD_TYPE_ENUM; - -//ȨϢ -typedef struct tagNET_DVR_PRIVILEGE_PASSWORD_CFG -{ - DWORD dwSize; //ṹС - BYTE byPwdType; //ͣοPRIVILEGE_PASSWORD_TYPE_ENUM - BYTE byRes1[3]; // - BYTE byOldPassword[PASSWD_LEN]; // - BYTE byNewPassword[PASSWD_LEN]; // - BYTE byRes2[128]; // -}NET_DVR_PRIVILEGE_PASSWORD_CFG,*LPNET_DVR_PRIVILEGE_PASSWORD_CFG; - - -//ڻʱ -typedef struct tagNET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG -{ - DWORD dwMaxMonitoringTime; //ʱ䣬Χ[10,60] - DWORD dwMaxRingTime; //ʱ䣬Χ[15,60] - DWORD dwCallForwardingTime; //תƳʱʱ䣬Χ[0,20] - DWORD dwRingDurationTime; //峬ʱʱ䣬Χ[30,60]룬Ĭ30 - BYTE byRes[112];// -}NET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG; - -//ʱ -typedef struct tagNET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG -{ - DWORD dwMaxMessageTime; //ʱ䣬Χ[30,60] - DWORD dwMaxTalkTime; //ͨʱ䣬Χ[90,120] - BYTE byRes[120]; // -}NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG; - -//ʱ -typedef struct tagNET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG -{ - DWORD dwMaxMonitoringTime; //ʱ䣬Χ[10,60] - DWORD dwMaxRingTime; //ʱ䣬Χ[15,60] - DWORD dwMaxTalkTime; //ͨʱ䣬λs - BYTE byRes[116]; // -}NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG,*LPNET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG; - -//ӶԽʱ -typedef union tagNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION -{ - BYTE byLen[128]; //С - NET_DVR_INDOOR_UNIT_OPERATION_TIME_CFG struIndoorUnit; //ڻ - NET_DVR_OUTDOOR_UNIT_OPERATION_TIME_CFG struOutdoorUnit; //ſڻ/Χǽ/ſڻ/ȷϻ - NET_DVR_MANAGE_UNIT_OPERATION_TIME_CFG struManageUnit; // -}NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION,*LPNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION; - -//ӶԽʱ -typedef struct tagNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG -{ - DWORD dwSize; //ṹС - BYTE byUnitType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ - BYTE byRes1[3]; // - NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_UNION uVideoIntercomUnit; //ȡֵοbyUnitType - BYTE byRes2[128]; // -}NET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG,*LPNET_DVR_VIDEO_INTERCOM_OPERATION_TIME_CFG; - -//ڻ豸 -typedef struct tagNET_DVR_INDOOR_UNIT_RELATEDEV -{ - NET_DVR_IPADDR struOutdoorUnit; //ſڻIP - NET_DVR_IPADDR struManageUnit; //IP - NET_DVR_IPADDR struSIPServer; //SIPIP - NET_DVR_IPADDR struAgainUnit; //ȷϻIP - BYTE byOutDoorType; //ſڻͣ01-Ԫſڻ2-ſڻ - BYTE byOutInConnectMode; //ſڻڷֻģʽ1-ſڻڷֻͬһ,2-ſڻڷֻͬ - BYTE byIndoorConnectMode; //ڷֻģʽ1-ͨ2-ͨ - BYTE byRes1; - NET_DVR_IPADDR struIndoorUnit; //IP - BYTE byManageCenterID[32]; //׼sipģʽʹãID֧֣ĸ@. - BYTE byRes[268]; // -}NET_DVR_INDOOR_UNIT_RELATEDEV,*LPNET_DVR_INDOOR_UNIT_RELATEDEV; - -//ſڻ豸 -typedef struct tagNET_DVR_OUTDOOR_UNIT_RELATEDEV -{ - NET_DVR_IPADDR struMainOutdoorUnit; //ſڻIPſڻʱЧ - NET_DVR_IPADDR struManageUnit; //IP - NET_DVR_IPADDR struSIPServer; //SIPIPſڻʱЧ - BYTE byManageCenterID[32]; //׼sipģʽʹãID֧֣ĸ@. - BYTE byRes[560]; // -}NET_DVR_OUTDOOR_UNIT_RELATEDEV,*LPNET_DVR_OUTDOOR_UNIT_RELATEDEV; - -//ȷϻ豸 -typedef struct tagNET_DVR_AGAIN_RELATEDEV -{ - NET_DVR_IPADDR struSIPServer; //SIPIP - NET_DVR_IPADDR struCenterAddr; //ƽ̨IP - WORD wCenterPort; //ƽ̨˿ - BYTE byRes1[2]; - NET_DVR_IPADDR struIndoorUnit; //IP - NET_DVR_IPADDR struAgainAddr; //ȷϻIPȷϻøֶΣ - BYTE byRes[444];// -}NET_DVR_AGAIN_RELATEDEV,*LPNET_DVR_AGAIN_RELATEDEV; - - -//豸 -typedef struct tagNET_DVR_MANAGE_UNIT_RELATEDEV -{ - NET_DVR_IPADDR struSIPServer; //SIPIP - BYTE byRes[880]; // -}NET_DVR_MANAGE_UNIT_RELATEDEV,*LPNET_DVR_MANAGE_UNIT_RELATEDEV; - - -//ӶԽ豸ṹ -typedef union tagNET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION -{ - DWORD dwRes[256] ; //С - NET_DVR_INDOOR_UNIT_RELATEDEV struIndoorUnit; //ڻ - NET_DVR_OUTDOOR_UNIT_RELATEDEV struMainOutdoorUnit; //ſڻ/Χǽ/Ž豸 - NET_DVR_MANAGE_UNIT_RELATEDEV struManageUnit; // - NET_DVR_OUTDOOR_UNIT_RELATEDEV struVillaUnit; //ſڻ - NET_DVR_AGAIN_RELATEDEV struAgainUnit; //ȷϻ -}NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION,*LPNET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION; - -//豸ṹ -typedef struct tagNET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG -{ - DWORD dwSize; //ṹС - BYTE byUnitType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-Ž豸 - BYTE byRes1[3]; // - NET_DVR_VIDEO_INTERCOM_UNIT_RELATEDEV_UNION uVideoIntercomUnit; //ȡֵοbyUnitType - BYTE byRes2[128]; // -}NET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG,*LPNET_DVR_VIDEO_INTERCOM_RELATEDEV_CFG; - -typedef struct tagNET_DVR_CONTROL_GATEWAY -{ - DWORD dwSize; //ṹС - DWORD dwGatewayIndex; //Žţ1ʼ - BYTE byCommand; //0-رգ1-򿪣2-ͨ״̬3-ָͨ״̬ - BYTE byLockType; //ͣ0-ͨǰĬ϶Ϊ0,1- - WORD wLockID; //ID1ʼԶ̿ſڻʱ0ʾſڻϽӵ1ʾӿϽӵ - BYTE byControlSrc[NAME_LEN]; //ԴϢ - BYTE byControlType; //ͣ1-ӣ2-ͨ - BYTE byRes3[3]; - BYTE byPassword[PASSWD_LEN]; //룬byLockTypeΪʱЧ - BYTE byRes2[108]; // -}NET_DVR_CONTROL_GATEWAY,*LPNET_DVR_CONTROL_GATEWAY; - - -//ͼƬϢṹ -typedef struct tagNET_DVR_NOTICE_PIC -{ - BYTE* pPicData; //ͼƬָ - DWORD dwPicDataLen; //ͼƬݳ - BYTE byRes[32]; // -}NET_DVR_NOTICE_PIC,*LPNET_DVR_NOTICE_PIC; - -// -typedef struct tagNET_DVR_NOTICE_DATA -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_EX struTime; //ʱ - BYTE byNoticeNumber[MAX_NOTICE_NUMBER_LEN]; // - BYTE byNoticeTheme[MAX_NOTICE_THEME_LEN];// - BYTE byNoticeDetail[MAX_NOTICE_DETAIL_LEN]; // - BYTE byLevel; //ȼ1-Ϣ2-ҵϢ3-Ϣ;4-֪ͨϢ - BYTE byPicNum; //ͼƬ - BYTE byRes1[2]; // - NET_DVR_NOTICE_PIC struNoticePic[MAX_NOTICE_PIC_NUM]; //ͼƬ - BYTE byRes2[128]; // -}NET_DVR_NOTICE_DATA,*LPNET_DVR_NOTICE_DATA; - -//Ȩ֤ -typedef struct tagNET_DVR_OPERATION_AUTH -{ - DWORD dwSize; //ṹС - BYTE byPassword[PASSWD_LEN]; //֤ - BYTE byRes[128]; // -}NET_DVR_OPERATION_AUTH,*LPNET_DVR_OPERATION_AUTH; - -// -typedef enum tagUNLOCK_TYPE_ENUM -{ - ENUM_UNLOCK_PASSWORD = 1, //뿪 - ENUM_UNLOCK_HIJACKING = 2, //ٳֿ - ENUM_UNLOCK_CARD = 3, //ˢ - ENUM_UNLOCK_HOUSEHOLDER = 4, // - ENUM_UNLOCK_CENTER_PLATFORM = 5, //ƽ̨ - ENUM_UNLOCK_BLUETOOTH = 6, // - ENUM_UNLOCK_QR_CODE = 7, //ά뿪 - ENUM_UNLOCK_FACE = 8, // - ENUM_UNLOCK_FINGERPRINT = 9, //ָƿ - ENUM_UNLOCK_DYNAMIC_CODE = 10 //̬Ȩ뿪 -}UNLOCK_TYPE_ENUM; - - -//ͣͲƷȷϣ˶ûʹãʹõDETECTOR_TYPE -// typedef enum tagALARM_ZONE_TYPE_ENUM -// { -// ENUM_ALARM_ZONE_SMOKE = 1, //̸ -// ENUM_ALARM_ZONE_GAS = 2, //ú -// ENUM_ALARM_ZONE_INFRARED = 3, // -// ENUM_ALARM_ZONE_MAGNETIC = 4, //Ŵ -// ENUM_ALARM_ZONE_MANUAL = 5 //ֶ -// }ALARM_ZONE_TYPE_ENUM; - -//¼ -typedef struct tagNET_DVR_UNLOCK_RECORD_INFO -{ - BYTE byUnlockType; //ʽοUNLOCK_TYPE_ENUM - BYTE byRes1[3]; // - BYTE byControlSrc[NAME_LEN]; //ԴϢˢʱΪţʱΪөʯAPP˺ţά뿪ʱΪÿ͵ֻţΪ豸 - DWORD dwPicDataLen; //ͼƬݳ - BYTE* pImage; //ͼƬָ - DWORD dwCardUserID; //ֿID - SHORT nFloorNumber;//ˢʱЧΪ¥ - WORD wRoomNumber; //ԴϢˢʱЧΪţ - WORD wLockID; //ſڻ0-ʾϽӵ1-ʾӿϽӵ - BYTE byRes2[2]; - BYTE byLockName[LOCK_NAME_LEN]; //ˢʱЧƣӦŲ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byMask; //Ƿ֣0-1-δ֪2-δ֣3- - BYTE byRes[135]; // -}NET_DVR_UNLOCK_RECORD_INFO,*LPNET_DVR_UNLOCK_RECORD_INFO; - -//ϢĶִ -typedef struct tagNET_DVR_NOTICEDATA_RECEIPT_INFO -{ - BYTE byNoticeNumber[MAX_NOTICE_NUMBER_LEN]; // - BYTE byRes[224]; // -}NET_DVR_NOTICEDATA_RECEIPT_INFO,*LPNET_DVR_NOTICEDATA_RECEIPT_INFO; - -//֤¼豸δʵ֣ -typedef struct tagNET_DVR_AUTH_INFO -{ - BYTE byAuthResult; //֤0-Ч1-֤ɹ2-֤ʧ - BYTE byAuthType; //֤ʽ0-Ч1-ָƣ2- - BYTE byRes1[2]; // - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - DWORD dwPicDataLen; //ͼƬݳȣ֤ʽbyAuthTypeΪʱЧ - BYTE* pImage; //ͼƬָ루֤ʽbyAuthTypeΪʱЧ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN/*32*/]; //ţԱID - BYTE byRes[180]; // -}NET_DVR_AUTH_INFO, *LPNET_DVR_AUTH_INFO; - -//Ϣϴ -typedef struct tagNET_DVR_UPLOAD_PLATE_INFO -{ - char sLicense[MAX_LICENSE_LEN]; //ƺ - BYTE byColor; //ɫοṹVCA_PLATE_COLOR - BYTE byRes[239]; // -}NET_DVR_UPLOAD_PLATE_INFO, *LPNET_DVR_UPLOAD_PLATE_INFO; - -typedef struct tagNET_DVR_SEND_CARD_INFO -{ - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - BYTE byRes[224]; // -}NET_DVR_SEND_CARD_INFO, *LPNET_DVR_SEND_CARD_INFO; - -//Ŵ״̬ϱ -typedef struct tagNET_DVR_MAGNETIC_DOOR_STATUS -{ - BYTE byMagneticDoorStatus; //Ŵ״̬ 1- 2-ر - BYTE byRes[255]; // -} NET_DVR_MAGNETIC_DOOR_STATUS, *LPNET_DVR_MAGNETIC_DOOR_STATUS; - -//ӶԽ¼¼Ϣ -typedef union tagNET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON -{ - BYTE byLen[256]; //С - NET_DVR_UNLOCK_RECORD_INFO struUnlockRecord; //¼ - NET_DVR_NOTICEDATA_RECEIPT_INFO struNoticedataReceipt; //ϢĶִ - NET_DVR_AUTH_INFO struAuthInfo; //֤¼豸δʵ֣ - NET_DVR_UPLOAD_PLATE_INFO struUploadPlateInfo; //Ϣϴ - NET_DVR_SEND_CARD_INFO struSendCardInfo; //ſڻ,Ӧ豸ڷ״̬ˢʱϴ¼ - NET_DVR_MAGNETIC_DOOR_STATUS struMagneticDoorStatus; //Ŵ״̬ -}NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON,*LPNET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON; - -//ӶԽ¼¼ -typedef struct tagNET_DVR_VIDEO_INTERCOM_EVENT -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_EX struTime; //ʱ - BYTE byDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byEventType; //¼Ϣͣ1-¼2-ϢĶִ3-֤¼4-Ϣϴ5Ƿˢ¼6-ſڻ¼(ҪſڻܣˢʱŻϴ¼)7-ּ¼8-Ŵ״̬¼ - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1[2]; // - NET_DVR_VIDEO_INTERCOM_EVENT_INFO_UINON uEventInfo; //¼ϢݲοbyEventTypeȡֵ - DWORD dwIOTChannelNo; //IOTͨ - BYTE byRes2[252]; // -}NET_DVR_VIDEO_INTERCOM_EVENT,*LPNET_DVR_VIDEO_INTERCOM_EVENT; - - -//Ϣ -typedef struct tagNET_DVR_ZONE_ALARM_INFO -{ - BYTE byZoneName[NAME_LEN]; // - DWORD dwZonendex; // - BYTE byZoneType; //ͣοDETECTOR_TYPE - BYTE byRes[219]; // -}NET_DVR_ZONE_ALARM_INFO,*LPNET_DVR_ZONE_ALARM_INFO; - -//Ϣ -typedef struct tagNET_DVR_LOCK_ALARM_INFO -{ - DWORD dwLockID; //ID0ʼ - BYTE byRes[252]; //ֽ -}NET_DVR_LOCK_ALARM_INFO, *LPNET_DVR_LOCK_ALARM_INFO; - -typedef union tagNET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION -{ - BYTE byLen[256]; //С - NET_DVR_ZONE_ALARM_INFO struZoneAlarm; // - NET_DVR_LOCK_ALARM_INFO struLockAlarm; //Ϣ -}NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION,*LPNET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION; - - -//ӶԽϢ -typedef struct tagNET_DVR_VIDEO_INTERCOM_ALARM -{ - DWORD dwSize; //ṹС - NET_DVR_TIME_EX struTime; //ʱ - BYTE byDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byAlarmType; //ͣ1-2-𱨾3-ٳֱ4-뿪ʧܱ,5-û6-û 7-SOS 8-ͨԽ9-ٳָƱ 10-ٳ뱨11-ű12-13-㱨 ,14-ֹ,15- - //16-Žȫģ𱨾17-豸ʼԽ18-豸ֹͣԽ, 19-ȡSOS ,20-δֱ 21-뱨 22-ָ 23-Ŵű򿪣24-䱨25-ȡ䱨26-ҩѣ27-±28-ȡҩ - BYTE byRes1[3]; // - NET_DVR_VIDEO_INTERCOM_ALARM_INFO_UNION uAlarmInfo; //ϢݲοֶbyAlarmTypeȡֵ - WORD wLockID; //0-ʾſڻϽӵ1-ʾӿϽӵΪ56ʱЧ - BYTE byRes3[2]; // - DWORD dwIOTChannelNo; //IOTͨ - BYTE byRes2[248]; // -}NET_DVR_VIDEO_INTERCOM_ALARM,*LPNET_DVR_VIDEO_INTERCOM_ALARM; - -typedef struct tagNET_DVR_PEOPLE_REGION -{ - BYTE byID;//ID - BYTE byNumber;//еԱ 0-ʾûԱ - BYTE byDressType;//װ 0-δ֪1-ۡ2-¡3-Ʒ - BYTE byRes; - NET_VCA_RECT struRegion; - DWORD dwPicLen;//ͼƬ (0ʾûг) - char* pPicBuffer;//ͼƬ - BYTE byRes1[24];//(Ԥչ) -}NET_DVR_PEOPLE_REGION,*LPNET_DVR_PEOPLE_REGION; - -typedef struct tagNET_DVR_PEOPLE_DETECTION_RESULT -{ - DWORD dwSize; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸Ϣ - NET_DVR_PEOPLE_REGION struPeopleRegion[MAX_PEOPLE_DETECTION_NUM/*8*/]; - /*Աⱨ - 0- δ֪ - 1- ѶڴܶŹ - 2- ѶԱ˯ⱨ - 3- ѶԱⱨ - 4- Ա⣩ - */ - BYTE byPeopleAlarmType; - BYTE byRes[255]; -}NET_DVR_PEOPLE_DETECTION_RESULT,*LPNET_DVR_PEOPLE_DETECTION_RESULT; - -typedef struct tagNET_DVR_SUPPLEMENTLIGHT -{ - BYTE byEnable;//ʹ 0-أ1- - BYTE byMode;//ģʽ 0-Զ1-ʱ - BYTE byHighBeamBrightness;//Զ[0,10] - BYTE byLowBeamBrightness;//[0,10] - NET_DVR_SCHEDULE_DAYTIME struSchedTime;//ʱʱ - WORD wFilteringTime;//ʱ(s)[0,120] - BYTE byBrightness;//[0,10]ָ֧òʱ byHighBeamBrightnessbyLowBeamBrightnessЧ - BYTE bySensitivity;//[0,7],Ĭ4byModeΪԶʱЧ - BYTE byBrightnessRegulatMode;// ȵģʽ0-ֶ1-ԶΪԶʱbyBrightnessЧ - BYTE byMaxBrightness;//ȣȵģʽΪԶʱЧ[0,100]Ĭ50 - BYTE byRes[58]; -}NET_DVR_SUPPLEMENTLIGHT,*LPNET_DVR_SUPPLEMENTLIGHT; - -typedef struct tagNET_DVR_EXTERNALDEVICE -{ - DWORD dwSize;//ṹС - NET_DVR_SUPPLEMENTLIGHT struSupplementLight;//ƽṹϢ - BYTE byRes[512]; -}NET_DVR_EXTERNALDEVICE,*LPNET_DVR_EXTERNALDEVICE; -typedef struct tagNET_DVR_TEMPERATURE_TRIGGER_COND -{ - DWORD dwSize;//ṹС - DWORD dwChan;//ͨ - DWORD dwPreset;//Ԥõ - BYTE byRes[256]; -}NET_DVR_TEMPERATURE_TRIGGER_COND, *LPNET_DVR_TEMPERATURE_TRIGGER_COND; -//(֧֣ʵ֣豸ڲ) -typedef struct tagNET_DVR_BUILTIN_SUPPLEMENTLIGHT -{ - DWORD dwSize;//ṹС - BYTE byMode;//ģʽ 0-ʱ1-2-رգ3-Զǹ㷨ʶ - BYTE byBrightnessLimit;//[0,100] - BYTE bySupplementLightMode;//,0~׹ģʽ,1~ģʽ - BYTE byMixedLightRegulatMode;//ϲȵģʽ,0~Զ,1~ֶ,bySupplementLightMode = 1ʱЧ - BYTE byLrLightBrightness;//ȿ[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byHighLrLightBrightness;// Զ[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byHighBrightnessLimit;// Զ׹[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byLowLrLightBrightness;// [0,100],byMixedLightRegulatMode = 1ʱЧ - NET_DVR_SCHEDULE_DAYTIME struSchedTime;//ʱʱ - BYTE byLowBrightnessLimit;//׹[0,100],byMixedLightRegulatMode = 1ʱЧ - BYTE byWhiteLightBrightness;// ׹ - BYTE byIrLightbrightnessLimit;//, - BYTE byWhiteLightbrightnessLimit;//,׹ - BYTE byRes1[252]; -}NET_DVR_BUILTIN_SUPPLEMENTLIGHT,*LPNET_DVR_BUILTIN_SUPPLEMENTLIGHT; -typedef struct tagNET_DVR_OIS_CFG -{ - DWORD dwSize;//ṹС - BYTE byMode; //Ƿѧ0-رգ1-ͨ2-ר - BYTE byOISLevel; //ѧȼ0-ͣ1-У2- - BYTE byOISSensitivity;//ѧȣ0-ͣ1-У2- - BYTE byRes[125]; -}NET_DVR_OIS_CFG, *LPNET_DVR_OIS_CFG; - -typedef struct tagNET_DVR_MACFILTER_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //ǷMACַˣ0-1- - BYTE byPermissionType; //MACַͣ0-ֹ1- - BYTE byRes1[2]; - BYTE szMacAddress[MAC_ADDRESS_NUM][MACADDR_LEN]; - BYTE byRes[128]; -}NET_DVR_MACFILTER_CFG, *LPNET_DVR_MACFILTER_CFG; - -typedef struct tagNET_DVR_EAGLEFOCUSING_SENCE -{ - BYTE byRuleType;//ͣ0- - BYTE bySceneID;//ID0- 1DZʾ1,2ʾ2 - WORD wRate;//ʣ50-100 - NET_VCA_POLYGON struRegion;// Χ - BYTE bySpotNum;//ڱ궨ȡٸб궨3-5Ĭ3 - BYTE byRes[127]; -}NET_DVR_EAGLEFOCUSING_SENCE, *LPNET_DVR_EAGLEFOCUSING_SENCE; - -typedef struct tagNET_DVR_EAGLEFOCUSING_CALCFG -{ - DWORD dwSize; - BYTE byEnabled;//Ƿ궨0-ֹ궨1-ʼ궨ýڵʱЧȡʱЧ - BYTE byRes1[3]; - NET_DVR_EAGLEFOCUSING_SENCE struEagleFoucsing[MAX_SENCE_NUM/*16*/]; - BYTE byRes[512]; -}NET_DVR_EAGLEFOCUSING_CALCFG, *LPNET_DVR_EAGLEFOCUSING_CALCFG; - -typedef struct tagNET_DVR_EAGLEFOCUSING_CTRL -{ - DWORD dwSize; - BYTE byEnable;//ʹܣ0-رӥӾ۽1-ӥӾ۽ - BYTE byHeightCompensationEnable;//߶Ȳʹ - BYTE byHeightCompensationValue;//߶Ȳֵ, Χ1-5,Ĭ3,һֵ0.5 - BYTE byRes[509]; -}NET_DVR_EAGLEFOCUSING_CTRL, *LPNET_DVR_EAGLEFOCUSING_CTRL; - -typedef struct tagNET_DVR_SMARTCALIBRATION_REGION -{ - BYTE byRuleID;// - BYTE byMode;//0-default Mode,1-pix Mode,2-actual Mode - BYTE byStrategy;//˲ 0-area(),1-widthHeight() () - BYTE byPriority;//ȼ 0-Ĭֵ, 1-ͣ2-У3- - NET_VCA_POLYGON struMaxTargetSize;//Ŀߴ - NET_VCA_POLYGON struMinTargetSize;//СĿߴ -}NET_DVR_SMARTCALIBRATION_REGION, *LPNET_DVR_SMARTCALIBRATION_REGION; - -#define RULE_REGION_MAX 128 -typedef struct tagNET_DVR_SMARTCALIBRATION_CFG -{ - DWORD dwSize;//ṹС - /* SmartType: - 0-linedetection, - 1-fielddetection, - 2-regionEntrance, - 3-regionExiting, - 4-loitering, - 5-rapidMove, - 6-parking, - 7-unattendedBaggage, - 8-attendedBaggage - */ - BYTE bySmartType;// - BYTE byRes[3]; - NET_DVR_SMARTCALIBRATION_REGION strRegion[RULE_REGION_MAX/*128*/]; - BYTE byRes1[128]; -}NET_DVR_SMARTCALIBRATION_CFG, *LPNET_DVR_SMARTCALIBRATION_CFG; - -typedef struct tagNET_DVR_SMARTCALIBRATION_COND -{ - DWORD dwSize;//ṹС - /* SmartType: - 0-linedetection, - 1-fielddetection, - 2-regionEntrance, - 3-regionExiting, - 4-loitering, - 5-rapidMove, - 6-parking, - 7-unattendedBaggage, - 8-attendedBaggage - */ - BYTE bySmartType;// - BYTE byRes[3]; - DWORD dwChannel;//ͨ - BYTE byRes1[128]; -}NET_DVR_SMARTCALIBRATION_COND, *LPNET_DVR_SMARTCALIBRATION_COND; - -typedef struct tagNET_DVR_SMARTCALIBRATION_REGION_CFG -{ - DWORD dwSize;//ṹС - NET_DVR_SMARTCALIBRATION_REGION strRegion[RULE_REGION_MAX/*128*/]; - BYTE byRes1[128]; -}NET_DVR_SMARTCALIBRATION_REGION_CFG, *LPNET_DVR_SMARTCALIBRATION_REGION_CFG; - - -typedef struct tagNET_DVR_OSD_BATTERY_POWER_CFG -{ - DWORD dwSize; - NET_VCA_POINT struOSDBatteryPower;//ͳʾOSDʾϽ - BYTE byOSDBatteryPower;//صOSDʾʹ, 0-1- - BYTE byRes[63]; -}NET_DVR_OSD_BATTERY_POWER_CFG, *LPNET_DVR_OSD_BATTERY_POWER_CFG; - -#define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ -#define CARD_PARAM_VALID 0x00000002 //Чڲ -#define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ -#define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ -#define CARD_PARAM_LEADER_CARD 0x00000010 //׿ -#define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ -#define CARD_PARAM_GROUP 0x00000040 //Ⱥ -#define CARD_PARAM_PASSWORD 0x00000080 // -#define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ -#define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ - -typedef struct tagNET_DVR_VALID_PERIOD_CFG -{ - BYTE byEnable; //ʹЧڣ0-ʹܣ1ʹ - BYTE byBeginTimeFlag; //Ƿʼʱı־0-ƣ1- - BYTE byEnableTimeFlag; //Ƿֹʱı־0-ƣ1- - BYTE byTimeDurationNo; //Ч,0ʼʱͨSDKøƿʱֻҪЧɣԼ - NET_DVR_TIME_EX struBeginTime; //Чʼʱ - NET_DVR_TIME_EX struEndTime; //Чڽʱ - BYTE byTimeType; //ʱͣ0-豸ʱ䣨Ĭϣ1-UTCʱ䣨struBeginTimestruEndTimeֶЧ - BYTE byRes2[31]; -}NET_DVR_VALID_PERIOD_CFG, *LPNET_DVR_VALID_PERIOD_CFG; - -typedef struct tagNET_DVR_CARD_CFG -{ - DWORD dwSize; - DWORD dwModifyParamType; - // Ҫ޸ĵĿÿʱЧλʾÿλһֲ1ΪҪ޸ģ0Ϊ޸ - // #define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ - // #define CARD_PARAM_VALID 0x00000002 //Чڲ - // #define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ - // #define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ - // #define CARD_PARAM_LEADER_CARD 0x00000010 //׿ - // #define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ - // #define CARD_PARAM_GROUP 0x00000040 //Ⱥ - // #define CARD_PARAM_PASSWORD 0x00000080 // - // #define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ - // #define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byCardValid; //ǷЧ0-Ч1-ЧɾʱΪ0ɾȡʱֶʼΪ1 - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ĭͨ - BYTE byLeaderCard; //ǷΪ׿1-ǣ0- - BYTE byRes1; - DWORD dwDoorRight; //Ȩޣλʾ1ΪȨޣ0ΪȨޣӵλλʾ1-NǷȨ - NET_DVR_VALID_PERIOD_CFG struValid; //Чڲ - DWORD dwBelongGroup; //Ⱥ飬λʾ1-ڣ0-ڣӵλλʾǷȺ1-N - BYTE byCardPassword[CARD_PASSWORD_LEN]; // - BYTE byCardRightPlan[MAX_DOOR_NUM][MAX_CARD_RIGHT_PLAN_NUM]; //Ȩ޼ƻȡֵΪƻģţͬŲͬƻģȨ޻ķʽ - DWORD dwMaxSwipeTime; //ˢ0Ϊ޴ - DWORD dwSwipeTime; //ˢ - WORD wRoomNumber; // - SHORT wFloorNumber; // - BYTE byRes2[20]; -}NET_DVR_CARD_CFG, *LPNET_DVR_CARD_CFG; - -typedef struct _NET_DVR_CARD_CFG_COND -{ - DWORD dwSize; - DWORD dwCardNum; //ûȡȡʱΪ0xffffffffʾȡпϢ - BYTE byCheckCardNo; //豸ǷпУ飬0-У飬1-У - BYTE byRes1[3]; - WORD wLocalControllerID; //͵ؿţʾ͵ؿ·߿0Ž - BYTE byRes2[2]; - DWORD dwLockID; //ID - BYTE byRes3[20]; -}NET_DVR_CARD_CFG_COND, *LPNET_DVR_CARD_CFG_COND; - -typedef struct _NET_DVR_CARD_CFG_SEND_DATA -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - DWORD dwCardUserId; //ֿID - BYTE byRes[12]; -}NET_DVR_CARD_CFG_SEND_DATA, *LPNET_DVR_CARD_CFG_SEND_DATA; - -typedef struct tagNET_DVR_CARD_USER_INFO_CFG /*Ӧýṹ*/ -{ - DWORD dwSize; - BYTE sUsername[NAME_LEN]; /* û*/ - BYTE byAssociateNetUser; //û - BYTE byRes2[255]; //byRes2[0]--籨û -}NET_DVR_CARD_USER_INFO_CFG, *LPNET_DVR_CARD_USER_INFO_CFG; - -#define ACS_PARAM_DOOR_STATUS_WEEK_PLAN 0x00000001 //״̬ܼƻ -#define ACS_PARAM_VERIFY_WEEK_PALN 0x00000002 //ܼƻ -#define ACS_PARAM_CARD_RIGHT_WEEK_PLAN 0x00000004 //Ȩܼƻ -#define ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN 0x00000008 //״̬ռƻ -#define ACS_PARAM_VERIFY_HOLIDAY_PALN 0x00000010 //ռƻ -#define ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN 0x00000020 //Ȩ޼ռƻ -#define ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP 0x00000040 //״̬ -#define ACS_PARAM_VERIFY_HOLIDAY_GROUP 0x00000080 //֤ʽ -#define ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP 0x00000100 //Ȩ޼ -#define ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE 0x00000200 //״̬ƻģ -#define ACS_PARAM_VERIFY_PALN_TEMPLATE 0x00000400 //֤ʽƻģ -#define ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE 0x00000800 //Ȩ޼ƻģ -#define ACS_PARAM_CARD 0x00001000 // -#define ACS_PARAM_GROUP 0x00002000 //Ⱥ -#define ACS_PARAM_ANTI_SNEAK_CFG 0x00004000 //DZز -#define ACS_PAPAM_EVENT_CARD_LINKAGE 0x00008000 //¼ -#define ACS_PAPAM_CARD_PASSWD_CFG 0x00010000 //뿪ʹܲ -#define ACS_PARAM_PERSON_STATISTICS_CFG 0x00020000 //ͳƲ -#define ACS_PARAM_BLOCKLIST_PICTURE 0x00040000 //ֹͼƬ -#define ACS_PARAM_ID_BLOCKLIST 0x00080000 //ֹ֤ -#define ACS_PARAM_EXAM_INFO 0x00100000 //Ϣ -#define ACS_PARAM_EXAMINEE_INFO 0x00200000 //Ϣ -#define ACS_PARAM_FAILED_FACE_INFO 0x00400000 //豸ģʧܼ¼ - -typedef struct tagNET_DVR_ACS_PARAM_TYPE -{ - DWORD dwSize; - DWORD dwParamType; //ͣλʾ - //#define ACS_PARAM_DOOR_STATUS_WEEK_PLAN 0x00000001 //״̬ܼƻ - //#define ACS_PARAM_VERIFY_WEEK_PALN 0x00000002 //ܼƻ - //#define ACS_PARAM_CARD_RIGHT_WEEK_PLAN 0x00000004 //Ȩܼƻ - //#define ACS_PARAM_DOOR_STATUS_HOLIDAY_PLAN 0x00000008 //״̬ռƻ - //#define ACS_PARAM_VERIFY_HOLIDAY_PALN 0x00000010 //ռƻ - //#define ACS_PARAM_CARD_RIGHT_HOLIDAY_PLAN 0x00000020 //Ȩ޼ռƻ - //#define ACS_PARAM_DOOR_STATUS_HOLIDAY_GROUP 0x00000040 //״̬ - //#define ACS_PARAM_VERIFY_HOLIDAY_GROUP 0x00000080 //֤ʽ - //#define ACS_PARAM_CARD_RIGHT_HOLIDAY_GROUP 0x00000100 //Ȩ޼ - //#define ACS_PARAM_DOOR_STATUS_PLAN_TEMPLATE 0x00000200 //״̬ƻģ - //#define ACS_PARAM_VERIFY_PALN_TEMPLATE 0x00000400 //֤ʽƻģ - //#define ACS_PARAM_CARD_RIGHT_PALN_TEMPLATE 0x00000800 //Ȩ޼ƻģ - //#define ACS_PARAM_CARD 0x00001000 // - //#define ACS_PARAM_GROUP 0x00002000 //Ⱥ - //#define ACS_PARAM_ANTI_SNEAK_CFG 0x00004000 //DZز - //#define ACS_PAPAM_EVENT_CARD_LINKAGE 0x00008000 //¼ - //#define ACS_PAPAM_CARD_PASSWD_CFG 0x00010000 //뿪ʹܲ - //#define ACS_PARAM_PERSON_STATISTICS_CFG 0x00020000 //ͳƲ - //#define ACS_PARAM_BLOCKLIST_PICTURE 0x00040000 //ֹͼƬ - //#define ACS_PARAM_ID_BLOCKLIST 0x00080000 //ֹ֤ - //#define ACS_PARAM_EXAM_INFO 0x00100000 //Ϣ - //#define ACS_PARAM_EXAMINEE_INFO 0x00200000 //Ϣ - //#define ACS_PARAM_FAILED_FACE_INFO 0x00400000 //豸ģʧܼ¼ - WORD wLocalControllerID; //͵ؿ[1,64],0Ž - BYTE byRes[30]; -}NET_DVR_ACS_PARAM_TYPE, *LPNET_DVR_ACS_PARAM_TYPE; - -typedef struct tagNET_DVR_VIDEO_INTERCOM_IOIN_CFG -{ - DWORD dwSize; // ṹС - BYTE byIOUseType; //;0-ã1-Űť2-״̬0xff-Զ - BYTE byRes[63]; // ֽ -}NET_DVR_VIDEO_INTERCOM_IOIN_CFG, *LPNET_DVR_VIDEO_INTERCOM_IOIN_CFG; - -typedef struct tagNET_DVR_VIDEO_INTERCOM_IOOUT_CFG -{ - DWORD dwSize; // ṹС - BYTE byIOUseType; //;0-ã1-0xff-Զ - BYTE byRes[63]; // ֽ -}NET_DVR_VIDEO_INTERCOM_IOOUT_CFG, *LPNET_DVR_VIDEO_INTERCOM_IOOUT_CFG; - -typedef struct tagNET_DVR_ELEVATORCONTROL_CFG -{ - DWORD dwSize; // ṹС - BYTE byEnable; //Ƿݿأ0-1- - BYTE byRes1; // - BYTE byInterfaceType; //ӿͣ0-ޣ1-RS485,2- - BYTE byRS485Protocol; //RS485Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ1ʱЧ - BYTE byNetworkType; //Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ2ʱЧ - BYTE byRes[63]; // ֽ -}NET_DVR_ELEVATORCONTROL_CFG, *LPNET_DVR_ELEVATORCONTROL_CFG; - -typedef struct tagNET_DVR_ELEVATORCONTROL_CFG_V40 -{ - DWORD dwSize; // ṹС - BYTE byEnable; //Ƿݿأ0-1- - BYTE byRes1; // - BYTE byInterfaceType; //ӿͣ0-ޣ1-RS485,2- - BYTE byRS485Protocol; //RS485Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ1ʱЧ - BYTE byNetworkType; //Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ2ʱЧ - BYTE byRes2; // - WORD wServerPort; //ݿط˿ںţЭΪ1-˽ ʱЧ - NET_DVR_IPADDR struServerIP; //ݿطIPЭΪ1-˽ ʱЧ - BYTE byRes[256]; // ֽ -}NET_DVR_ELEVATORCONTROL_CFG_V40, *LPNET_DVR_ELEVATORCONTROL_CFG_V40; - -typedef struct tagNET_DVR_ELEVATORCONTROL_CFG_V50 -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿݿأ0-1- - BYTE byNegativeFloor; //¥ - BYTE byInterfaceType; //ӿͣ0-ޣ1-RS485,2- - BYTE byRS485Protocol; //RS485Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ1ʱЧ - BYTE byNetworkType; //Эͣ0-δ֪1-˽У0xff-Զ壬byInterfaceTypeȡֵΪ2ʱЧ - BYTE byElevatorControlType; //ݿͣ0-Ч1-DS-K22012-DS-K22100xff-Զ - WORD wServerPort; //ݿط˿ںţЭΪ1-˽ ʱЧ - NET_DVR_IPADDR struServerIP; //ݿطIPЭΪ1-˽ ʱЧ - BYTE sUserName[NET_DVR_LOGIN_USERNAME_MAX_LEN]; //ûЭΪ1-˽ ʱЧֻãܻȡ - BYTE sPassword[NET_DVR_LOGIN_PASSWD_MAX_LEN]; //룬ЭΪ1-˽ ʱЧֻãܻȡ - BYTE byRes[256]; //ֽ -}NET_DVR_ELEVATORCONTROL_CFG_V50, *LPNET_DVR_ELEVATORCONTROL_CFG_V50; - -typedef struct tagNET_DVR_ROOM_CUSTOM_COND -{ - DWORD dwSize; - DWORD dwRoomNumber; //ĿʱЧ - BYTE byRes[128]; -}NET_DVR_ROOM_CUSTOM_COND, *LPNET_DVR_ROOM_CUSTOM_COND; - -typedef struct tagNET_DVR_ROOM_CUSTOM_CFG -{ - DWORD dwSize; - DWORD dwFormerRoomNo; //ԭ - DWORD dwCustomRoomNo; //Զ - BYTE byRes[128]; -}NET_DVR_ROOM_CUSTOM_CFG, *LPNET_DVR_ROOM_CUSTOM_CFG; - -typedef struct tagNET_DVR_ROOM_CUSTOM_STATUS -{ - DWORD dwSize; - DWORD dwFormerRoomNo; //ԭ - BYTE byStatus; //·״̬0-Ч1-ʧܣ2-У3-ɹ - BYTE byRes[127]; -}NET_DVR_ROOM_CUSTOM_STATUS, *LPNET_DVR_ROOM_CUSTOM_STATUS; - -typedef struct tagNET_DVR_VIDEOINTERCOM_STREAM -{ - DWORD dwSize; - BYTE byVisDevID[MAX_NAMELEN]; // ӶԽ豸ţţ豸ΪIPCʱȫΪ0 - BYTE byDeviceName[NAME_LEN]; //豸 - BYTE bySourceType; //ƵԴͣ0壬1-IPC2-DVR/DVS/NVR3-ſڻ4-Χǽ5-ȷϻ - BYTE byRes[255]; // -}NET_DVR_VIDEOINTERCOM_STREAM, LPNET_DVR_VIDEOINTERCOM_STREAM; - -#define UNLOCK_PASSWORD_LEN 8 //볤 -#define LOCAL_CONTROLLER_NAME_LEN 32//͵ؿƳ -typedef struct tagNET_DVR_DOOR_CFG -{ - DWORD dwSize; - BYTE byDoorName[DOOR_NAME_LEN]; // - BYTE byMagneticType; //Ŵͣ0-գ1- - BYTE byOpenButtonType; //Űťͣ0-գ1- - BYTE byOpenDuration; //ųʱ䣬1-255s¥̵ʱ䣩 - BYTE byAccessibleOpenDuration; //Ⱥ忨ųʱ䣬1-255s - BYTE byMagneticAlarmTimeout; //Ŵżⳬʱʱ䣬0-255s0ʾ - BYTE byEnableDoorLock; //ǷñŻ0-1- - BYTE byEnableLeaderCard; //Ƿ׿ܣ0-1- - BYTE byLeaderCardMode; //׿ģʽ0-׿ܣ1-׿ģʽ2-׿Ȩģʽʹ˴ֶΣbyEnableLeaderCardЧ - DWORD dwLeaderCardOpenDuration; //׿ʱ䣬1-1440min - BYTE byStressPassword[STRESS_PASSWORD_LEN]; //в - BYTE bySuperPassword[SUPER_PASSWORD_LEN]; // - BYTE byUnlockPassword[UNLOCK_PASSWORD_LEN]; //NET_DVR_LOCAL_CONTROLLER_STATUS - BYTE byUseLocalController; //ֻǷھ͵ؿϣ0-1- - BYTE byRes1; - WORD wLocalControllerID; //ֻ͵ؿţ1-64,0δע - WORD wLocalControllerDoorNumber; //ֻ͵ؿűţ1-4,0δע - WORD wLocalControllerStatus; //ֻ͵ؿ״̬0-ߣ1-ߣ2-·1ϵRS48513-·1ϵRS48524-·2ϵRS48515-·2ϵRS48526-·3ϵRS48517-·3ϵRS48528-·4ϵRS48519-·4ϵRS4852ֻ - BYTE byLockInputCheck; //Ƿ(1ֽڣ0ã1ãĬϲ) - BYTE byLockInputType; //(1ֽڣ0գ1Ĭϳ) - BYTE byDoorTerminalMode; //ضӹģʽ(1ֽڣ0̣1ͨĬϷ) - BYTE byOpenButton; //ǷÿŰť(1ֽڣ0ǣ1Ĭ) - BYTE byLadderControlDelayTime; //ݿطÿӳʱ䣬1-255min - BYTE byRes2[43]; -}NET_DVR_DOOR_CFG, *LPNET_DVR_DOOR_CFG; - -typedef struct tagNET_DVR_VIS_DEV_INFO -{ - DWORD dwSize; - BYTE szDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byRes[64]; // -}NET_DVR_VIS_DEV_INFO,*LPNET_DVR_VIS_DEV_INFO; - -typedef struct tagNET_DVR_VIS_REGISTER_INFO -{ - DWORD dwSize; - DWORD dwID; //ID - BYTE szDevNumber[MAX_DEV_NUMBER_LEN]; //豸 - BYTE byMACAddr[MACADDR_LEN]; //macַ - BYTE byRes1[2]; // - BYTE sSerialNumber[SERIALNO_LEN]; //豸к - NET_DVR_IPADDR struDevIP; //豸IPַ - NET_DVR_TIME_EX struRegisterTime; //עʱ - BYTE byRegisterType; //עͣ0-1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-8700ͻˡ8-4200ͻ - BYTE byRes[127]; // -}NET_DVR_VIS_REGISTER_INFO,*LPNET_DVR_VIS_REGISTER_INFO; - -typedef struct tagNET_DVR_CALLER_INFO -{ - DWORD dwSize; //ṹС - WORD wBuildingNo; //¥ - SHORT wFloorNo; // - BYTE byZoneNo; //ں - BYTE byUnitNo; //Ԫ - BYTE byDevNo; //豸 - BYTE byDevType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-8700ͻˣ8-4200ͻˣ9-APP, 10- 11-VOIPͻˣ12-صIPC豸 - BYTE byLockNum;//0-ϵ߼ߣֵ-ʵ - BYTE byHighDevNo; // 豸Ÿ8λ,֧1-9999ķΧ - BYTE byRes1[2]; // - BYTE byVoipNo[16]; // VOIPͻ˺ byDevTypeΪ11ʱЧ - BYTE byRes[80]; // -}NET_DVR_CALLER_INFO,*LPNET_DVR_CALLER_INFO; - -typedef struct tagNET_DVR_CALL_STATUS -{ - DWORD dwSize; //ṹС - BYTE byCallStatus; //ȡͨ״̬1-޺С2-塢3-ͨ - BYTE byRes[127]; -}NET_DVR_CALL_STATUS, *LPNET_DVR_CALL_STATUS; - -#define MAX_SERVER_DEVICE_NUMBER 16 //豸 - -typedef struct tagNET_DVR_SERVER_DEVICE_CFG -{ - BYTE byDeviceName[NAME_LEN]; //豸 - BYTE byDeviceType; ////豸ͣ1-ſڻ2-3-ڻ - BYTE byDeviceID; //ſڻ - BYTE byLockNum; //0-ϵ߼ߣֵ-ʵ - BYTE byRes[5]; // -}NET_DVR_SERVER_DEVICE_CFG,*LPNET_DVR_SERVER_DEVICE_CFG; - -typedef struct tagNET_DVR_SERVER_DEVICE_INFO -{ - DWORD dwSize; //ṹС - DWORD dwDeviceNum; //豸 - NET_DVR_SERVER_DEVICE_CFG struDeviceCfg[MAX_SERVER_DEVICE_NUMBER]; //豸Ϣ - BYTE byRes[200]; // -}NET_DVR_SERVER_DEVICE_INFO,*LPNET_DVR_SERVER_DEVICE_INFO; - -typedef struct tagNET_DVR_VIDEO_CALL_PARAM -{ - DWORD dwSize; - DWORD dwCmdType; // 0-У1-ȡκУ2-κ 3-ܾ 4-峬ʱ 5-ͨ6-豸ͨУ7-ͻͨУ8ڻ - WORD wPeriod; //ں, Χ[0,9] - WORD wBuildingNumber; //¥ - WORD wUnitNumber; //Ԫ - SHORT wFloorNumber; // - WORD wRoomNumber; // - WORD wDevIndex; //豸 - BYTE byUnitType; //豸ͣ1-ſڻ2-3-ڻ4-Χǽ5-ſڻ6-ȷϻ7-8700ͻˣ8-4200ͻˣ9-APP - BYTE byRes[115]; // -}NET_DVR_VIDEO_CALL_PARAM,*LPNET_DVR_VIDEO_CALL_PARAM; - -#define MAX_SCREEN_ADDRESS_LEN 16 //󳤶 -#define MAX_DAY_TIME_POINT 8 //ÿʱ -#define MAX_TIME_POINT 16 //ÿʱ - -typedef struct tagNET_DVR_DEV_IP_INFO -{ - BYTE byUserName[NAME_LEN]; //û - BYTE byPassWord[PASSWD_LEN]; // - NET_DVR_IPADDR struIPAddr; //IPַ - WORD wPort; //˿ں - BYTE byRes[24]; -}NET_DVR_DEV_IP_INFO, *LPNET_DVR_DEV_IP_INFO; - -typedef union tagNET_DVR_SCREEN_BASE_INFO -{ - BYTE byScreenAddress[MAX_SCREEN_ADDRESS_LEN]; //Ļ룬豸ӷʽΪ0ʱЧ - NET_DVR_DEV_IP_INFO struIPInfo; //ĻipַϢ - BYTE byRes[100]; -}NET_DVR_SCREEN_BASE_INFO,*LPNET_DVR_SCREEN_BASE_INFO; - -typedef struct tagNET_DVR_SCREEN_INDEX_CFG -{ - DWORD dwSize; - BYTE byEnbale; //ʹܣ0-ʹܣ1-ʹ - BYTE byDevAddType; //豸ӷʽ0-(Ļʹôͨ)1-IPַ(Ļʹͨ) - BYTE byRes1[2]; - NET_DVR_SCREEN_BASE_INFO struScreenBaseInfo; //Ļ豸Ϣ - BYTE byRes[32]; -}NET_DVR_SCREEN_INDEX_CFG,*LPNET_DVR_SCREEN_INDEX_CFG; - -//ģң -typedef struct tagNET_DVR_SIMULATE_REMOTE_CTRL -{ - BYTE byControlType; //1-Դ2-Դأ3-źԴ4-˵5-ȷ6-ϣ7-£8-9-, 10-INFO, 11-һ,12-ְ - BYTE byControlParam; //Ϊ12ʱʾֵ(0-9)ʱ˲Ч - BYTE byRes[14]; -}NET_DVR_SIMULATE_REMOTE_CTRL, *LPNET_DVR_SIMULATE_REMOTE_CTRL; - -//Ļάǽ -typedef struct tagNET_DVR_SCREEN_WALL_CTRL -{ - BYTE byEnable; //״̬ء0-Ϊرգ1-Ϊ - BYTE byRes[15]; -}NET_DVR_SCREEN_WALL_CTRL, *LPNET_DVR_SCREEN_WALL_CTRL; - -//Ŵԭ -typedef struct tagNET_DVR_AREA_ZOOM_CFG -{ - BYTE byCmd; //Ŵԭָ1-Ŵ2-ԭ - BYTE byRes[3]; - NET_DVR_RECTCFG struArea; //ҪŴ1920*1920ΪĻܴСԭʱ˲Ч -}NET_DVR_AREA_ZOOM_CFG, *LPNET_DVR_AREA_ZOOM_CFG; - -typedef union tagNET_DVR_SCREEN_CONTROL_PARAM -{ - NET_DVR_INPUT_INTERFACE_CTRL struInputCtrl; - NET_DVR_DISPLAY_COLOR_CTRL struDisplayCtrl; - NET_DVR_DISPLAY_POSITION_CTRL struPositionCtrl; - NET_DVR_SIMULATE_REMOTE_CTRL struSimulateRemoteCrtl; //ģңذ - NET_DVR_SCREEN_WALL_CTRL struScreenWallCtrl; //Ļάǽ - NET_DVR_AREA_ZOOM_CFG struZoomArea; //Ŵԭ - BYTE byRes[16]; -}NET_DVR_SCREEN_CONTROL_PARAM, *LPNET_DVR_SCREEN_CONTROL_PARAM; - -typedef struct tagNET_DVR_SCREEN_CONTROL -{ - DWORD dwSize; - DWORD dwCommand ; /* Ʒ 1- 2- 3-ĻԴѡ 4-ʾԪɫ 5-ʾԪλÿ*/ - BYTE byProtocol; //Э,1:LCD-S1,2:LCD-S2 - BYTE byRes1[3]; - NET_DVR_SCREEN_CONTROL_PARAM struControlParam; - BYTE byRes2[52]; -}NET_DVR_SCREEN_CONTROL, *LPNET_DVR_SCREEN_CONTROL; - -typedef struct tagNET_DVR_SCREEN_CONTROL_V41 -{ - DWORD dwSize; - BYTE bySerialNo; //ں - BYTE byRes[2]; - BYTE byProtocol; // Э 1-LCD-S1,2-LCD-S2,3-LCD-L1,4-LCD-DLP,5-LCD-S3,6-LCD-D207-LCD-L2,8-LCD-Z1 - //9-LCD-D20/D,10-LCD-D20/S,11-LCD-D20/P,12-LCD-D20/T,13-LCD-D20/F,14-LCD-D20/DF,15-LCD-D20/FS, - //16-LCD-D20/FP,17-LCD-D20/FT,18-LCD-D5022,19-LCD-D5032,20-LCD-D5042+,21-LCD-D20/Z 0xff-ЧʹԤȰ󶨵Э - DWORD dwCommand ; /* Ʒ 1- 2- 3-ĻԴѡ 4-ʾԪɫ 5-ʾԪλÿƣ6-ģңذ,7-ʾĻ״̬, - 8-ʾĻ루ʼΪ0,0߾Ϊ0xffffffff, 9-Ļάǽ,10-ָĻĬϲ11-ʾIPʼΪ0,0߾Ϊ0xffffffff,12-ĻUSB 13-Ŵԭ*/ - NET_DVR_SCREEN_CONTROL_PARAM struControlParam; - BYTE byWallNo; // ǽ - BYTE byDevNo; //豸 - BYTE bySubboardNo; //Ӱ - BYTE byRes1; - NET_DVR_RECTCFG_EX struRect;//м㣬׼ - BYTE byRes2[28]; -}NET_DVR_SCREEN_CONTROL_V41, *LPNET_DVR_SCREEN_CONTROL_V41; - -typedef struct tagNET_DVR_MSC_SPLICE_CFG -{ - DWORD dwSize; - BYTE bySpliceNo; //ƴ - BYTE byWallNo; //ǽ - BYTE byEnable; //Ƿʹܣ0-1- - BYTE byRes1[1]; - NET_DVR_RECTCFG_EX struRectCfg; //Ҫƴӵ򣬻ȡʱ˲0 - BYTE byRes2[32]; -}NET_DVR_MSC_SPLICE_CFG,*LPNET_DVR_MSC_SPLICE_CFG; - -typedef struct tagNET_DVR_MSC_SCREEN_INTERFACE_CFG -{ - DWORD dwSize; - BYTE byInterfaceType; //Դö INPUT_INTERFACE_TYPE - BYTE byNoSignalPic; //źŻģʽ1-2-3-LOGO - BYTE byRes[30]; -}NET_DVR_MSC_SCREEN_INTERFACE_CFG,*LPNET_DVR_MSC_SCREEN_INTERFACE_CFG; - -// -typedef struct tagNET_DVR_MSC_SCREEN_BACKLIGHT_CFG -{ - DWORD dwSize; - BYTE byBacklight; //⣬0-100 - BYTE byRes[15]; -}NET_DVR_MSC_SCREEN_BACKLIGHT_CFG,*LPNET_DVR_MSC_SCREEN_BACKLIGHT_CFG; - -//л -typedef struct tagNET_DVR_MSC_SCREEN_PIP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿûл 0- 1- - BYTE bySubWindowSource; //ӻźԴοöINPUT_INTERFACE_TYPE - BYTE bySubWindowBorderColor; //ӻ߿ɫ 1-ɫ2-ɫ - BYTE byRes1; - NET_DVR_RECTCFG_EX struPosition; //ӻλãĻܴСΪ1920*1920 - BYTE byRes2[16]; -}NET_DVR_MSC_SCREEN_PIP_CFG,*LPNET_DVR_MSC_SCREEN_PIP_CFG; - -typedef struct tagNET_DVR_SCREEN_WORK_STATE -{ - DWORD dwSize; - BYTE byFanStatus;//״̬0-أ1- - BYTE byFanExceptionStatus; //쳣״̬0-֧֣1-2-쳣 - BYTE byRes1[2]; - DWORD dwWorkingHours; //ۻʱλСʱ - BYTE byVersion[VERSION_LEN];//汾 - int iTemperature; //忨¶ȣȷλλ϶ - BYTE byTempState; //忨¶״̬0-֧֣1-2-쳣 - BYTE byRes[31]; -}NET_DVR_SCREEN_WORK_STATE,*LPNET_DVR_SCREEN_WORK_STATE; - -//logo -typedef struct tagNET_DVR_BOOT_LOGO_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʾlogo,0-ʾ1-ʾ - BYTE byRes[31]; -}NET_DVR_BOOT_LOGO_CFG,*LPNET_DVR_BOOT_LOGO_CFG; -//Ƶ -typedef struct tagNET_DVR_LCD_AUDIO_CFG -{ - DWORD dwSize; - BYTE byMute; //Ƿ0-1- - BYTE byVolume; //С0-100 - char byBalance; //ƽ⣬-50-+50 - BYTE byRes[33]; -}NET_DVR_LCD_AUDIO_CFG, *LPNET_DVR_LCD_AUDIO_CFG; - -//Ļ -typedef union tagNET_DVR_MSC_SCREEN_PARAM -{ - NET_DVR_MSC_SCREEN_INTERFACE_CFG struInterfaceCfg; //Դ - NET_DVR_SCREEN_FAN_WORK_MODE_CFG struFanWorkMode; //ȹģʽ - NET_DVR_SCREEN_VGA_CFG struVgaCfg; //VGAźŲ - NET_DVR_SCREEN_MENU_CFG struMenuCfg; //Ļ˵ - NET_DVR_VIDEO_OUT_CFG struOutEffectCfg; //ʾЧ - NET_DVR_COLOR_TEMPERATURE_CFG struColorTemperatureCfg; //ɫ² - NET_DVR_ADC_CFG struAdcCfg; //ADC - NET_DVR_SCREEN_EDGE_CFG struScreenEdgeCfg; //ĻԵ - NET_DVR_MSC_SCREEN_BACKLIGHT_CFG struBacklight; // - NET_DVR_MSC_SCREEN_PIP_CFG struPicInPicCfg; //л - NET_DVR_DEFOG_LCD struDefog; //ȥ - NET_DVR_SCREEN_WORK_STATE struWorkState; //Ļ״̬ - NET_DVR_BOOT_LOGO_CFG struBootLogoCfg; //ʼʾlogo - NET_DVR_LCD_AUDIO_CFG struAudioCfg; //Ƶ - BYTE byRes[256]; -}NET_DVR_MSC_SCREEN_PARAM,*LPNET_DVR_MSC_SCREEN_PARAM; - -typedef struct tagNET_DVR_MSC_SCREEN_PARAM_CFG -{ - DWORD dwSize; - BYTE byParamType; //ͣ1-Դ2-ȹģʽ3-VGAźŲ4-Ļ˵5-ʾЧ6-ɫ²7-ADC8-ĻԵ9-10-л11-͸12-Ļ״ֻ̬ܻȡ13-LOGOǷʾ 14-Ƶ - BYTE byRes1[3]; - NET_DVR_MSC_SCREEN_PARAM struParam; //Ļ - BYTE byRes2[32]; -}NET_DVR_MSC_SCREEN_PARAM_CFG,*LPNET_DVR_MSC_SCREEN_PARAM_CFG; - -typedef struct tagNET_DVR_MSC_SCREEN_REMOTE_CFG -{ - DWORD dwSize; - BYTE byWallNo; //ǽ - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRectCfg; //Ļ - NET_DVR_MSC_SCREEN_PARAM_CFG struScreenParam; //õĻ - BYTE byRes2[32]; -}NET_DVR_MSC_SCREEN_REMOTE_CFG,*LPNET_DVR_MSC_SCREEN_REMOTE_CFG; - -typedef struct tagNET_DVR_MSC_SCREEN_PARAM_COND -{ - DWORD dwSize; - BYTE byWallNo; //ǽ - BYTE byParamType; //ͣ1-Դ2-ȹģʽ3-VGAźŲ4-Ļ˵5-ʾЧ6-ɫ²7-ADC8-ĻԵ9-10-л11-͸12-Ļ״ֻ̬ܻȡ13-LOGOǷʾ 14-Ƶ - BYTE byRes1[2]; - NET_DVR_RECTCFG_EX struRectCfg; //Ļ - BYTE byRes2[32]; -}NET_DVR_MSC_SCREEN_PARAM_COND,*LPNET_DVR_MSC_SCREEN_PARAM_COND; - -typedef struct tagNET_DVR_SWITCH_DAY_TIME -{ - BYTE byEnable; //Ƿøʱ,0-ã1- - BYTE bySwitchType; //ػͣ0-ػ1- - BYTE byRes1[2]; - NET_DVR_DAYTIME struTimePoint; //ػʱ - BYTE byRes2[8]; -}NET_DVR_SWITCH_DAY_TIME,*LPNET_DVR_SWITCH_DAY_TIME; - -typedef struct tagNET_DVR_SWITCH_TIME_POINT -{ - BYTE byEnable; //Ƿøʱ,0-ã1- - BYTE bySwitchType; //ػͣ0-ػ1- - BYTE byRes1[2]; - NET_DVR_SYSTEM_TIME struTimePoint; //ػʱ - BYTE byRes2[16]; -}NET_DVR_SWITCH_TIME_POINT,*LPNET_DVR_SWITCH_TIME_POINT; - -typedef struct tagNET_DVR_TIME_SWITCH_CFG -{ - DWORD dwSize; - NET_DVR_SWITCH_DAY_TIME struSwitchDayTime[MAX_DAYS][MAX_DAY_TIME_POINT]; //ܿػƻ - NET_DVR_SWITCH_TIME_POINT struSwitchTimePoint[MAX_TIME_POINT]; //ʱ㿪ػ - BYTE byRes1[3]; - BYTE byEnable;//Ƿöʱػ,0-ã1- - BYTE byRes[60]; -}NET_DVR_TIME_SWITCH_CFG,*LPNET_DVR_TIME_SWITCH_CFG; - -typedef struct tagNET_DVR_VIDEO_WALL_AREA -{ - DWORD dwSize; - BYTE byWallNo; //ǽ - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRect; //ĻΧ - BYTE byRes2[32]; -}NET_DVR_VIDEO_WALL_AREA, *LPNET_DVR_VIDEO_WALL_AREA; - -typedef struct tagNET_DVR_DELAY_TIME -{ - DWORD dwSize; - DWORD dwDelayTime; //ʱʱ䣬0-3000λms - BYTE byRes[32]; -}NET_DVR_DELAY_TIME,*LPNET_DVR_DELAY_TIME; - -//˫Ŀ궨 -typedef enum _BV_CALIBRATION_TYPE_ENUM_ -{ - ENUM_BV_CALIBRATION_NONE = 0, //δ궨 - ENUM_BV_CALIBRATION_DIRECT = 1, //˫Ŀֱӱ궨 - ENUM_BV_CALIBRATION_SAMPLE = 2, //˫Ŀ궨 -} BV_CALIBRATION_TYPE_ENUM; - - -//궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_POINT -{ - BYTE byCalibPtID; //궨IDΧ[1,5]ʾ˵˫Ŀ궨е - BYTE byRes1[3]; // - NET_VCA_POINT struPoint; //궨 - BYTE byRes2[16]; // -}NET_DVR_BV_SAMPLE_CALIB_POINT,*LPET_DVR_BV_SAMPLE_CALIB_POINT; - -//ʼ궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM -{ - DWORD dwCameraHeight; //߶ȣλcm - DWORD dwHumanHeight; //ߣλcm - BYTE byRes[248]; // -}NET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM,*LPNET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM; - -//궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_SET_PARAM -{ - NET_DVR_BV_SAMPLE_CALIB_POINT struCalibPoint; //궨㡣Աֱߣضʱ˵ʾߵе㡣 - BYTE byRes[228]; // -}NET_DVR_BV_SAMPLE_CALIB_SET_PARAM,*LPNET_DVR_BV_SAMPLE_CALIB_SET_PARAM; - -//궨 -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_END_PARAM -{ - BYTE byRes[256]; // -}NET_DVR_BV_SAMPLE_CALIB_END_PARAM,*LPNET_DVR_BV_SAMPLE_CALIB_END_PARAM; - -//궨 -typedef union tagNET_DVR_BV_SAMPLE_CALIB_PARAM_UNION -{ - BYTE byRes[256]; // - NET_DVR_BV_SAMPLE_CALIB_BEGIN_PARAM struCalibBegin; //ʼ궨 - NET_DVR_BV_SAMPLE_CALIB_SET_PARAM struCalibSet; //ñ궨 - NET_DVR_BV_SAMPLE_CALIB_END_PARAM struCalibEnd; //궨 -}NET_DVR_BV_SAMPLE_CALIB_PARAM_UNION,*LPNET_DVR_BV_SAMPLE_CALIB_PARAM_UNION; - -//궨ö -typedef enum _BV_SAMPLE_CALIB_CMD_ENUM -{ - ENUM_BV_SAMPLE_CALIB_BEGIN = 1, //ʼ궨 - ENUM_BV_SAMPLE_CALIB_SETTING = 2, //ò - ENUM_BV_SAMPLE_CALIB_END = 3 //궨 -}BV_SAMPLE_CALIB_CMD_ENUM; - -//궨ṹ -typedef struct tagNET_DVR_BV_SAMPLE_CALIBRATION -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byCommand; //궨μBV_SAMPLE_CALIB_CMD _ENUM - BYTE byRes1[3]; // - NET_DVR_BV_SAMPLE_CALIB_PARAM_UNION uCalibParam; //궨ȡֵֶbyCommand - BYTE byRes2[256] ; // -}NET_DVR_BV_SAMPLE_CALIBRATION,*LPNET_DVR_BV_SAMPLE_CALIBRATION; - - -//˫Ŀ궨Ϣ -typedef struct tagNET_DVR_BV_SAMPLE_CALIB_CFG -{ - DWORD dwSize; //ṹС - DWORD dwCameraHeight; //߶ȣλcm - float fPitchAngle; //ӽǶ[0, 60], - float fInclineAngle; //бǶ[-20,20] - NET_DVR_BV_SAMPLE_CALIB_POINT struCalibPoint[MAX_SAMPLE_NUM]; //궨 - NET_DVR_BV_SAMPLE_CALIB_POINT struCalibPointEx[MAX_SAMPLE_NUM_EX/*7*/]; //궨չ - BYTE byRes[60]; // -}NET_DVR_BV_SAMPLE_CALIB_CFG,*LPNET_DVR_BV_SAMPLE_CALIB_CFG; - -//˫ĿͼУṹ -typedef struct tagNET_DVR_BINOC_RECTIFY_PARAM -{ - float fCamInternalMatrix[3][3]; //ڲξ󣬰༰ - float fDistCoeffs[8]; //ͷϵ - float fRotateMatrix[3][3]; //Уת - float fProjectMatrix[3][4]; //УͶӰ - BYTE byRes[64]; // -}NET_DVR_BINOC_RECTIFY_PARAM, *LPNET_DVR_BINOC_RECTIFY_PARAM; - -//У -typedef struct _tagNET_DVR_BV_CORRECT_PARAM -{ - DWORD dwSize; //ṹС - float fReprojectMatrix[4][4]; //ͶӰ - NET_DVR_BINOC_RECTIFY_PARAM struLCamParam; //У - NET_DVR_BINOC_RECTIFY_PARAM struRCamParam; //У - BYTE byLensType; //ͷͣ0-δ֪,1-8mm,2-12mm,3-16mm,4-25mm,5-35mm,6-50mm,7-4mm,8-6mm,9-2.0mm,10-2.8mm,11-4.3mm - BYTE byRes1[3]; // - /*RotateMatrix ˫Ŀ궨ת, - TransMatrixƽƾ, - RotateMatrixTransMatrixλùϵ*/ - float fRotateMatrix[3][3]; //ת - float fTransMatrix[3]; //ƽƾ - DWORD dwOriImgWidth; //ԭʼ궨ͼĿ1920*1080ֱʵͼΪ1920 - DWORD dwOriImgHeight; //ԭʼ궨ͼĸߣ1920*1080ֱʵͼΪ1080 - BYTE byRes[196]; // -} NET_DVR_BV_CORRECT_PARAM,*LPNET_DVR_BV_CORRECT_PARAM; - -//Ƶ -typedef struct tagNET_DVR_OUTPUT_VIDEO_TYPE -{ - DWORD dwSize; //ṹС - BYTE byType; //Ƶͣ1-ƴͼ2-ͼ - BYTE byRes[63]; // -}NET_DVR_OUTPUT_VIDEO_TYPE,*LPNET_DVR_OUTPUT_VIDEO_TYPE; - -#define MAX_CHECK_485CHAN 64 //485Լ豸ͨŸ - -typedef struct tagNET_DVR_DEVICE_SELF_CHECK_STATE -{ - DWORD dwSize; - DWORD dwRS485Chan[MAX_CHECK_485CHAN];//RS485ͨͨţֵʾͨţλʾλ - DWORD dwSensorChan[4];//ģЧͨţλʾ - BYTE byRes[32]; // ֽ -}NET_DVR_DEVICE_SELF_CHECK_STATE, *LPNET_DVR_DEVICE_SELF_CHECK_STATE; - -//ȫȡֵ -typedef struct tagNET_DVR_COMPLETE_RESTORE_INFO_ -{ - DWORD dwSize ; //ṹ峤 - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_COMPLETE_RESTORE_INFO, *LPNET_DVR_COMPLETE_RESTORE_INFO; - -typedef struct tagNET_DVR_UPLOAD_PICTURE_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͼƬӦͨ - BYTE byPictureType;//ͼƬʽ,0-bmp1-jpeg2-PNG 3-SWF 4-GIF - BYTE byRes1[3]; - NET_DVR_TIME_V30 struTime; //ͼƬʱ - char* sPictureBuffer;//ͼƬ - DWORD dwPictureLength;//ͼƬ - DWORD dwPicMangeNo; //ͼƬ - BYTE sPicName[NAME_LEN]; //ͼƬ - BYTE byUseType; //ͼƬʹͣ0-ͼƬ 1-logoͼƬ - BYTE byRes[91]; -}NET_DVR_UPLOAD_PICTURE_INFO,*LPNET_DVR_UPLOAD_PICTURE_INFO; - -#define MAX_UPLOADFILE_URL_LEN 240 - -typedef struct tagNET_DVR_UPLOAD_FILE_RET -{ - BYTE sUrl[MAX_UPLOADFILE_URL_LEN] ; //url - BYTE byRes[260]; -} NET_DVR_UPLOAD_FILE_RET,*LPNET_DVR_UPLOAD_FILE_RET; - -typedef struct tagNET_DVR_FACE_EXTRA_INFO -{ - NET_VCA_RECT struVcaRect[MAX_FACE_PIC_NUM]; //ͼϢ - BYTE byRes[64]; -}NET_DVR_FACE_EXTRA_INFO, *LPNET_DVR_FACE_EXTRA_INFO; -typedef union tagNET_DVR_PIC_EXTRA_INFO_UNION -{ - BYTE byUnionLen[544]; //峤ȣʵ - NET_DVR_FACE_EXTRA_INFO struFaceExtraInfo; //Ϣ -}NET_DVR_PIC_EXTRA_INFO_UNION, *LPNET_DVR_PIC_EXTRA_INFO_UNION; - -typedef struct tagNET_DVR_FIND_PICTURE_V40 //ҽṹ -{ - char sFileName[PICTURE_NAME_LEN];//ͼƬ - NET_DVR_TIME struTime;//ͼƬʱ - DWORD dwFileSize;//ͼƬĴС - char sCardNum[CARDNUM_LEN_V30]; // - BYTE byPlateColor ;//οṹ VCA_PLATE_COLOR - BYTE byVehicleLogo;//οṹ VLR_VEHICLE_CLASS - BYTE byFileType ; //ļͣ :0ʱץͼ1 ƶץͼ 2 ץͼ3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ ,9-ͼƬ,10- PIR11- ߱12- ȱ, 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬0x10 , 0x11-豸ػطʱͼ, 0x12-, 0x32-, 0x33-, 0x34-ҵѯ - BYTE byRecogResult ;//ʶοṹVTR_RESULT - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byEventSearchStatus; //ͼƬʾͬһҽʱ0-ʾûͼƬϢ1-ʾ滹ͼƬϢܹͼƬϢһ״̬Ϊ0ͼƬ - BYTE byRes1[2]; // ֽ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - float fFaceSnapTemperature; // ץ¶ϢȷС1λ ( + 100 * 10 ȡ䣩λ̶Ϊ϶ȣ棩byFileTypeΪ0x25-ץʱЧ¸ֶΪ0ֵ - BYTE byRes[68]; // ֽ - NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //ͼƬϢ -}NET_DVR_FIND_PICTURE_V40,*LPNET_DVR_FIND_PICTURE_V40; - -typedef struct tagNET_DVR_FIND_PICTURE_V50 //ҽṹ -{ - char sFileName[PICTURE_NAME_LEN];//ͼƬ - NET_DVR_TIME struTime;//ͼƬʱ - DWORD dwFileSize;//ͼƬĴС - char sCardNum[CARDNUM_LEN_V30]; // - BYTE byPlateColor;//οṹ VCA_PLATE_COLOR - BYTE byVehicleLogo;//οṹ VLR_VEHICLE_CLASS - BYTE byFileType; //ļͣ :0ʱץͼ1 ƶץͼ 2 ץͼ3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ ,9-ͼƬ,10- PIR11- ߱12- ȱ,\ - 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬0x10 , 0x11-豸ػطʱͼ, 0x12-, 0x70-ͨʱץͼ - BYTE byRecogResult;//ʶοṹVTR_RESULT - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ - BYTE byEventSearchStatus; //ͼƬʾͬһҽʱ0-ʾûͼƬϢ1-ʾ滹ͼƬϢܹͼƬϢһ״̬Ϊ0ͼƬ - NET_DVR_ADDRESS struAddr; //ͼƬڵĵַϢͼƬʱõ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14 - char cTimeDifferenceM; //UTCʱӣ-30,0, 30, 45 - BYTE byRes[253]; // ֽ - NET_DVR_PIC_EXTRA_INFO_UNION uPicExtraInfo; //ͼƬϢ -}NET_DVR_FIND_PICTURE_V50, *LPNET_DVR_FIND_PICTURE_V50; - - -typedef struct tagNET_DVR_THUMBNAILS_COND -{ - DWORD dwSize; // ṹС - NET_DVR_STREAM_INFO struStreamInfo; //Ϣ - BYTE bySearchDataType; // 0-I֡ݣCVR һ·£1s28I֡1-ͼƬ - BYTE byRes[3]; // ֽ - NET_DVR_TIME_V30 struStartTime; //ҿʼʱ - NET_DVR_TIME_V30 struStopTime; // ҽʱ - DWORD dwIntervalTime; //ʱ䣬λ룬Χ0~24*60*60ҽʱڲҿʼʱ䣬0ֵЧ - BYTE byRes1[512]; // ֽ -}NET_DVR_THUMBNAILS_COND, *LPNET_DVR_THUMBNAILS_COND; - -typedef struct tagNET_DVR_THUMBNAILS_RESULT //ҽṹ -{ - BYTE byResultDataType; // ҽ0-I֡ݣCVR һ·£1s28I֡1-ϵͳͷݣ 2-ͼƬ - BYTE byIFrameType; // I֡ͣ0-֡1-οֻ֡벥ſ⣬DzҪתΪͼƬʾ - BYTE byRes1[2]; // ֽ - NET_DVR_TIME_SEARCH struTime; //ʱ - BYTE byRes[252]; // ֽ - DWORD dwFileSize; //ݴС - char* pBuffer; //Ϣ(ͺṹNET_DVR_THUMBNAILS_RESULT ֶ byResultDataType ֵ) -}NET_DVR_THUMBNAILS_RESULT, *LPNET_DVR_THUMBNAILS_RESULT; - -typedef struct tagNET_DVR_REGIONENTRANCE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byAlarmConfidence; // Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; // ¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes[60]; // -}NET_DVR_REGIONENTRANCE_REGION, *LPNET_DVR_REGIONENTRANCE_REGION; - -typedef struct tagNET_DVR_REGION_ENTRANCE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - BYTE byRes1[1]; - NET_DVR_REGIONENTRANCE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_REGION_ENTRANCE_DETECTION,*LPNET_DVR_REGION_ENTRANCE_DETECTION; - -typedef struct tagNET_DVR_SMART_REGION_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwRegion; //ID -}NET_DVR_SMART_REGION_COND, *LPNET_DVR_SMART_REGION_COND; - -typedef struct tagNET_DVR_ENTRANCE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byDetectionTarget; - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes[60]; // -}NET_DVR_ENTRANCE_REGION, *LPNET_DVR_ENTRANCE_REGION; - -typedef struct tagNET_DVR_DENSEFOGDETECTION_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE bySensitivity; //ȲΧ[0,100] - BYTE byRes[258]; -}NET_DVR_DENSEFOGDETECTION_CFG, *LPNET_DVR_DENSEFOGDETECTION_CFG; - -typedef struct tagNET_DVR_EVENT_TRIGGER -{ - DWORD dwSize;//ṹС - NET_DVR_HANDLEEXCEPTION_V41 struHandleException; //쳣ʽ - DWORD dwRelRecordChan[MAX_CHANNUM_V40]; //ʵʴ¼ֵͨʾýУ±0ʼ˳ȡм0xffffffffЧ - NET_DVR_PRESETCHAN_INFO struPresetChanInfo[MAX_CHANNUM_V40]; //õԤõϢ - NET_DVR_CRUISECHAN_INFO struCruiseChanInfo[MAX_CHANNUM_V40]; //ѲͨϢ - NET_DVR_PTZTRACKCHAN_INFO struPtzTrackInfo[MAX_CHANNUM_V40]; //̨켣ͨϢ - BYTE byDirection;//0-1-ȫ2-3- - BYTE byRes2[255]; -}NET_DVR_EVENT_TRIGGER,*LPNET_DVR_EVENT_TRIGGER; - -typedef struct tagNET_DVR_EVENT_SCHEDULE -{ - DWORD dwSize;//ṹС - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - NET_DVR_SCHEDTIME struHolidayAlarmTime[MAX_TIMESEGMENT_V30]; /*ղʱ*/ - BYTE bySceneID[MAX_DAYS][MAX_TIMESEGMENT_V30];//,Ŀǰ֧1~40ΪЧó벼ʱÿʱһһӦ - BYTE byRes[72]; -}NET_DVR_EVENT_SCHEDULE,*LPNET_DVR_EVENT_SCHEDULE; - -typedef struct tagNET_DVR_ANR_ARMING_HOST -{ - DWORD dwSize;//sizeof(NET_DVR_ANR_ ARMING_HOST) - NET_DVR_IPADDR struANRArmingHostIpAddr; //IPַ - WORD wANRAlarmHostPort; //˿ں - BYTE byANRAlarmType;//ͣ 0-SDK˽жӣ1-ehome - BYTE byConfirmMechanismEnabled;// ǷȷϻƷʽӣ0-1-ûп 2- - BYTE byRes[512]; //ֽ -}NET_DVR_ANR_ARMING_HOST, *LPNET_DVR_ANR_ARMING_HOST; - -typedef struct tagNET_DVR_REGIONEXITING_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byAlarmConfidence; //Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRecordConfidence; //¼Ŷ, 0-,1-ϵ,2-ϸ,3- - BYTE byRes[60]; // -}NET_DVR_REGIONEXITING_REGION, *LPNET_DVR_REGIONEXITING_REGION; - -typedef struct tagNET_DVR_REGION_EXITING_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byEnableHumanMisinfoFilter;// ȥ 0-ã1- - BYTE byEnableVehicleMisinfoFilter;// óȥ 0-ã1- - BYTE byRes1[1]; - NET_DVR_REGIONEXITING_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_REGION_EXITING_DETECTION,*LPNET_DVR_REGION_EXITING_DETECTION; - -typedef struct tagNET_DVR_LOITERING_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - BYTE byRes[62]; // -}NET_DVR_LOITERING_REGION, *LPNET_DVR_LOITERING_REGION; - -typedef struct tagNET_DVR_LOITERING_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_LOITERING_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_LOITERING_DETECTION,*LPNET_DVR_LOITERING_DETECTION; - -typedef struct tagNET_DVR_GROUPDETECTION_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE byObjectOccup; //ռȣΧ[1-100] - BYTE bySensitivityLevel; //ȣΧ1-100Ĭ65 - BYTE byDurationTime; //ʱ䣬Χ1-600룬Ĭ3 - BYTE byFilterTime; //ʱ䣬Χ1-10ӣʾڴʱڲٴ - BYTE byMinTriggerNumber; //ʹΧ2-50ˣĬ5 - BYTE byLinkageTime; //ʱ䣬Χ5-30룬Ĭ5루ǹתλúͣʱ䣬òǹǷͬһ˻¼Բͬ - BYTE byRes[58]; // -}NET_DVR_GROUPDETECTION_REGION, *LPNET_DVR_GROUPDETECTION_REGION; -typedef struct tagNET_DVR_POS_HIDDEN_INFORMATION -{ - char szKeyWord[KEY_WORD_NUM/*3*/][KEY_WORD_LEN/*128*/]; - BYTE byRes[128]; -}NET_DVR_POS_HIDDEN_INFORMATION, *LPNET_DVR_POS_HIDDEN_INFORMATION; - -typedef struct tagNET_DVR_HIDDEN_INFORMATION_CFG -{ - DWORD dwSize; - BYTE byFuncType;//0-Pos - BYTE Res1[3]; - NET_DVR_POS_HIDDEN_INFORMATION struPosInfo; - BYTE byRes[1024]; -}NET_DVR_HIDDEN_INFORMATION_CFG, *LPNET_DVR_HIDDEN_INFORMATION_CFG; - -typedef struct tagNET_DVR_GROUP_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_GROUPDETECTION_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_GROUP_DETECTION,*LPNET_DVR_GROUP_DETECTION; - -typedef struct tagNET_DVR_RAPIDMOVE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - /* - Ŀֶ֧꣬ѡ嶨Ϊ - 0~Ŀ꣨ʾĿ꣬Ŀ궼м⣩ - 0x01 ~ ˣ - 0x02 ~ - 0x04 ~ - ֶֶ֧ѡλȡֵ3ʾ1+2. - */ - BYTE byDetectionTarget; - BYTE byRes[62]; // -}NET_DVR_RAPIDMOVE_REGION, *LPNET_DVR_RAPIDMOVE_REGION; - -typedef struct tagNET_DVR_RAPIDMOVE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_RAPIDMOVE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_RAPIDMOVE_DETECTION,*LPNET_DVR_RAPIDMOVE_DETECTION; - -typedef struct tagNET_DVR_PARKING_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - BYTE byRes[62]; // -}NET_DVR_PARKING_REGION, *LPNET_DVR_PARKING_REGION; - -typedef struct tagNET_DVR_PARKING_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_PARKING_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_PARKING_DETECTION,*LPNET_DVR_PARKING_DETECTION; - -typedef struct tagNET_DVR_UNATTENDED_BAGGAGE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - WORD wTimeThreshold;//ʱֵΧ[5-3600], λs - BYTE byTimeThresholdMode;//(ֻдֶΣڼ)0-ֶbyTimeThresholdЧ1-ֶwTimeThresholdЧ - BYTE byRes[59]; // -}NET_DVR_UNATTENDED_BAGGAGE_REGION, *LPNET_DVR_UNATTENDED_BAGGAGE_REGION; - -typedef struct tagNET_DVR_UNATTENDED_BAGGAGE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_UNATTENDED_BAGGAGE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_UNATTENDED_BAGGAGE_DETECTION,*LPNET_DVR_UNATTENDED_BAGGAGE_DETECTION; - -typedef struct tagNET_DVR_ATTENDED_BAGGAGE_REGION -{ - NET_VCA_POLYGON struRegion;//Χ - BYTE bySensitivity; //ȲΧ[1-100] - BYTE byTimeThreshold; //ʱֵΧ[0-10]λs - WORD wTimeThreshold;//ʱֵΧ[5-3600], λs - BYTE byTimeThresholdMode;//(ֻдֶΣڼ)0-ֶbyTimeThresholdЧ1-ֶwTimeThresholdЧ - BYTE byRes[59]; // -}NET_DVR_ATTENDED_BAGGAGE_REGION, *LPNET_DVR_ATTENDED_BAGGAGE_REGION; - -typedef struct tagNET_DVR_ATTENDED_BAGGAGE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - NET_DVR_ATTENDED_BAGGAGE_REGION struRegion[MAX_REGION_NUM]; - BYTE byRes2[128]; -}NET_DVR_ATTENDED_BAGGAGE_DETECTION,*LPNET_DVR_ATTENDED_BAGGAGE_DETECTION; - -typedef struct tagNET_DVR_REGION_CLIP_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwStreamType; //ͣ0- 1- 2- - BYTE byRes[8]; -}NET_DVR_REGION_CLIP_COND, *LPNET_DVR_REGION_CLIP_COND; - -typedef struct tagNET_DVR_REGION_CLIP_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRes1[3]; - WORD wResolutionWidth; //ֱʵij - WORD wResolutionHeight; //ֱʵĿ - NET_VCA_POLYGON struRegion[MAX_REGION_NUM]; - BYTE byRes2[64]; -}NET_DVR_REGION_CLIP_CFG, *LPNET_DVR_REGION_CLIP_CFG; - -#define MAX_DIALNUM_LENGTH 32 -typedef struct tagNET_DVR_WIRELESSDIAL_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿ߲ţ0-1- - BYTE byDialMode; // 0-ԶAuto1-ֶManualĬԶֶģʽ¿òżƻʱ䡢ֶ - BYTE byNetworkMode; //0-Զ1-4Gȣ2-3Gȣ3-ֶл2G4-ֶл3G5-ֶл4G6- - BYTE byRes1; - BYTE byDialNum[MAX_DIALNUM_LENGTH]; //ź - BYTE byUserName[NAME_LEN]; //û - BYTE byPassword[NAME_LEN]; // - BYTE byAPNName[NAME_LEN]; //APN - BYTE byUIMCardNum[NAME_LEN]; //ֻ - BYTE byVerifProtocol; // 0-ԶAuto1-CHAP2-PAP - BYTE byRes2; - WORD wMTU; //MTU - DWORD dwOffineTime; //ʱ䣬30-65535λ룬ֶģʽЧ - BYTE byNetAPN[NAME_LEN]; //˽רAPNֶ - BYTE byEnabled4G; //Ƿ4Gܣ0-1- - BYTE byEnabledDNS; //ǷDNSܣ0-1- - BYTE byRes3[30]; -}NET_DVR_WIRELESSDIAL_CFG, *LPNET_DVR_WIRELESSDIAL_CFG; - -typedef struct tagNET_DVR_WIRELESSDIAL_SCHEDULE -{ - DWORD dwSize;//ṹС - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30]; /*ʱ*/ - NET_DVR_SCHEDTIME struHolidayAlarmTime[MAX_TIMESEGMENT_V30]; //ղʱ - BYTE byRes[128]; -}NET_DVR_WIRELESSDIAL_SCHEDULE,*LPNET_DVR_WIRELESSDIAL_SCHEDULE; - -#define MAX_LENGTH_32 32 -typedef struct tagNET_DVR_WIRELESSDIAL_STATUS -{ - DWORD dwSize;//ṹС - BYTE byRealtimeMode[MAX_LENGTH_32]; //ʵʱģʽ(CDMA 1xEVDOHYBRIDGSMGPRSEDGEWCDMAHSDPAHSUPAHSPATDSCDMATD-LTEFDD-LTE) - BYTE byUIMStatus[MAX_LENGTH_32]; /*UIM״̬(UNKNOWN-δ֪,VALID-Ч,NOVALID-Ч,ROAM-,NOEXIST-, - WRONGPINCODE-PIN,NONETWORKSERVICE-, - ONLYSUPPORTEMERGENCYCALL-ֽ֧УPINCODELOCKEDPIN*/ - DWORD dwSignalQuality; //ź1-5 - BYTE byDialStatus[MAX_LENGTH_32]; /*״̬(disconnect-ŶϿ,dialing-ڲ,success-ųɹ,shmError-쳣, - certificationFailure-֤ʧ,invalidDialingCharacters-ַЧ, - networkTimeout C糬ʱ,wirelessModemErrorģ,SIMError---SIM,,networkError-unknown Cδ֪)*/ - NET_DVR_IPADDR struIpAddr; //IPַ - NET_DVR_IPADDR struIPMask; //ַ - NET_DVR_IPADDR struGatewayIPMask; //صַ - NET_DVR_IPADDR struDnsServerIpAddr; //DNSַ - BYTE byRes[256]; -}NET_DVR_WIRELESSDIAL_STATUS,*LPNET_DVR_WIRELESSDIAL_STATUS; - -typedef struct tagNET_DVR_WIRELESSDIAL_CONNECT -{ - DWORD dwSize;//ṹС - DWORD dwInterface; //ţ1,2 - BYTE byEnableConnect; //Ƿ0-1- - BYTE byRes[255]; -}NET_DVR_WIRELESSDIAL_CONNECT_PARAM,*LPNET_DVR_WIRELESSDIAL_CONNECT_PARAM; - - -typedef struct tagNET_DVR_LITESTORAGE -{ - DWORD dwSize;//ṹС - BYTE byEnable; /*ʹ 0-,1-*/ - BYTE byStorageTime;/*洢ʱ 1-30 Ĭ7*/ - BYTE byLevel; //ȼ0-Чֵ1-ͣ2-(Ĭ)3-ߣ - BYTE byRes; - float fCapacity;//SD¼ռ䣬ֻ - BYTE byDefLowStorageTime;// ģʽƼ ֻ - BYTE byDefMediumStorageTime; // ģʽƼ ֻ - BYTE byDefHighStorageTime; // ģʽƼ ֻ - BYTE byRes1[61]; -}NET_DVR_LITESTORAGE,*LPNET_DVR_LITESTORAGE; - -typedef struct tagNET_DVR_CALIBRATION -{ - DWORD dwSize;//ṹС - NET_VCA_POLYGON struRegion;//궨 - BYTE byRes[64]; -}NET_DVR_CALIBRATION,*LPNET_DVR_CALIBRATION; - -typedef struct tagNET_DVR_STD_CONFIG -{ - void* lpCondBuffer; //[in](ṹʽ),ͨŵ.ΪNULL - DWORD dwCondSize; //[in] lpCondBufferָڴС - void* lpInBuffer; //[in](ṹʽ),ʱΪNULLȡʱΪNULL - DWORD dwInSize; //[in] lpInBufferָڴС - void* lpOutBuffer; //[out](ṹʽ),ȡʱΪNULL,ʱΪNULL - DWORD dwOutSize; //[in] lpOutBufferָڴС - void* lpStatusBuffer; //[out]ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //[in] lpStatusBufferָڴС - void* lpXmlBuffer; //[in/out]byDataType = 1ʱЧ,xmlʽ - DWORD dwXmlSize; //[in/out]lpXmlBufferָڴС,ȡʱͬʱΪȡɹ޸ĻʵʳȣʱʾʵʳȣڴС - BYTE byDataType; //[in]/,0-ʹýṹlpInBuffer/lpOutBufferЧ,1-ʹXMLlpXmlBufferЧ - BYTE byRes[23]; -}NET_DVR_STD_CONFIG,*LPNET_DVR_STD_CONFIG; - -typedef struct DWORDtagNET_DVR_STD_ABILITY -{ - void* lpCondBuffer; //[in](ָʽ),ͨŵ.ΪNULL - DWORD dwCondSize; //[in] dwCondSizeָڴС - void* lpOutBuffer; //[out](XMLʽ),ΪNULL - DWORD dwOutSize; //[in] lpOutBufferָڴС - void* lpStatusBuffer; //[out]ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //[in] lpStatusBufferָڴС - DWORD dwRetSize; //[out]ȡݳ(lpOutBufferlpStatusBufferָʵݳ) - BYTE byRes[32]; //ֽ -}NET_DVR_STD_ABILITY,*LPNET_DVR_STD_ABILITY; - -typedef struct tagNET_DVR_STD_CONTROL -{ - void* lpCondBuffer; //[in](ָʽ),ͨŵ.ΪNULL - DWORD dwCondSize; //[in] dwCondSizeָڴС - void* lpStatusBuffer; //[out]ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //[in] lpStatusBufferָڴС - void* lpXmlBuffer; //[in/out]byDataType = 1ʱЧ,xmlʽ - DWORD dwXmlSize; //[in/out]lpXmlBufferָڴС,ȡʱͬʱΪȡɹ޸ĻʵʳȣʱʾʵʳȣڴС - BYTE byDataType; //[in]/,0-ʹýṹlpCondBufferЧ,1-ʹXMLlpXmlBufferЧ - BYTE byRes[55]; -}NET_DVR_STD_CONTROL, *LPNET_DVR_STD_CONTROL; - -#define MAX_FILE_PATH_LEN 256 //ļ· -typedef struct tagNET_DVR_MIME_UNIT -{ - //ʽ - //Content-Disposition: form-data; name="upload"; filename="C:\Users\test\Desktop\11.txt" - //Content-Type: text/plain - char szContentType[32]; //ӦContent-Type - char szName[MAX_FILE_PATH_LEN]; //Ӧnameֶ - char szFilename[MAX_FILE_PATH_LEN]; //Ӧfilenameֶ - DWORD dwContentLen; //ContentijȣС512K - char* pContent; //ָ - BYTE bySelfRead; // 0-紫ļ 1-ڲȡݣͨszFilename··ʱֶЧȡʱЧ - BYTE byRes[15]; -}NET_DVR_MIME_UNIT, *LPNET_DVR_MIME_UNIT; - -typedef struct tagNET_DVR_MIME_DATA -{ - BYTE byContentType; //ļ 0-Ч, 1-json, 2-bmp - BYTE byRes1[3]; // - void *lpContent; //ļݣָΪգʾļ - DWORD dwContentSize; //ļݴССΪ512k - char sContentID[32]; //ʽContent-IDͷֵISAPIضڵֵһһӦ - BYTE byRes[512]; // -}NET_DVR_MIME_DATA, *LPNET_DVR_MIME_DATA; - -typedef struct tagNET_DVR_XML_CONFIG_INPUT -{ - DWORD dwSize; //ṹС - void* lpRequestUrl; //ַʽ - DWORD dwRequestUrlLen; //ȣַ - void* lpInBuffer; //XMLʽ - DWORD dwInBufferSize; //С - DWORD dwRecvTimeOut; //ճʱʱ䣬λms0ʹĬϳʱ5s - BYTE byForceEncrpt; //ǷǿƼܣ0-1- - BYTE byNumOfMultiPart; //0-ЧֵʾķֶθʱlpInBufferNET_DVR_MIME_UNITṹָ룬ֵṹ - BYTE byMIMEType; //0-Ч1-ʾʹNET_DVR_MIME_UNITṹ壬2-ʾʹNET_DVR_MIME_DATAṹ壬ֶνbyNumOfMultiPartЧʱЧ - BYTE byRes1; - DWORD dwSendTimeOut; //ͳʱʱ䣬λms0ʹĬϳʱ5s - BYTE byRes[24]; -}NET_DVR_XML_CONFIG_INPUT, *LPNET_DVR_XML_CONFIG_INPUT; - -typedef struct tagNET_DVR_XML_CONFIG_OUTPUT -{ - DWORD dwSize; //ṹС - void* lpOutBuffer; //XMLʽ - DWORD dwOutBufferSize; //С(ڴС) - DWORD dwReturnedXMLSize; //ʵXMLݴС - void* lpStatusBuffer; //ص״̬(XMLʽ),ȡɹʱḳֵ,Ҫ,NULL - DWORD dwStatusSize; //״̬С(ڴС) -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - void* lpDataBuffer; //byNumOfMultiPart>0ʱϱĽṹʹã͸ݣͨNET_DVR_MIME_UNITdwContentLenƫƷ -#else - void* lpDataBuffer; //byNumOfMultiPart>0ʱϱĽṹʹã͸ݣͨNET_DVR_MIME_UNITdwContentLenƫƷ - BYTE byRes2[4]; -#endif - BYTE byNumOfMultiPart; //0-Ч ֵʾķֶθʱlpInBufferNET_DVR_MIME_UNITṹָ룬ֵṹ - BYTE byRes[23]; -}NET_DVR_XML_CONFIG_OUTPUT, *LPNET_DVR_XML_CONFIG_OUTPUT; - -typedef struct tagNET_DVR_FORM_DATA_CFG -{ - DWORD dwSize; //ṹС - void *lpBuffer; //ݻָNET_DVR_MIME_DATAṹ - DWORD dwBufferSize; //ݻС - BYTE byNumOfMultiPart; // 0-ЧֵʾķֶθʱlpBufferNET_DVR_MIME_DATAṹָ룬ֵṹΪ3 - BYTE byRes[67]; // -}NET_DVR_FORM_DATA_CFG, *LPNET_DVR_FORM_DATA_CFG; - -typedef struct tagNET_DVR_JSON_DATA_CFG -{ - DWORD dwSize; //ṹС - void *lpJsonData; //JSON - DWORD dwJsonDataSize; //JSONĴС - void *lpPicData; //ͼƬ - DWORD dwPicDataSize; //ͼƬݴС - DWORD dwInfraredFacePicSize; //ͼƬݴС0ʱͼƬ(JSONΪResponseStatusJSONʱֶ壻Inbound DataJSONûinfraredFaceURLʱֶҪ϶ͼƬݣ - void* lpInfraredFacePicBuffer; //ͼƬݻ - BYTE byRes[248]; // -}NET_DVR_JSON_DATA_CFG, *LPNET_DVR_JSON_DATA_CFG; - -typedef struct tagNET_DVR_SIMPLE_DAYTIME -{ - BYTE byHour; //ʱ - BYTE byMinute; // - BYTE bySecond; // - BYTE byRes; -}NET_DVR_SIMPLE_DAYTIME, *LPNET_DVR_SIMPLE_DAYTIME; - -typedef struct tagNET_DVR_TIME_SEGMENT -{ - NET_DVR_SIMPLE_DAYTIME struBeginTime; //ʼʱ - NET_DVR_SIMPLE_DAYTIME struEndTime; //ʱ -}NET_DVR_TIME_SEGMENT, *LPNET_DVR_TIME_SEGMENT; - -typedef struct tagNET_DVR_SINGLE_PLAN_SEGMENT -{ - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byDoorStatus; //״̬ģʽݿģʽ0-Ч1-ߣ2-״̬ɣ3-״̬ã4-ͨ״̬״̬ƻʹã - BYTE byVerifyMode; //֤ʽ0-Ч1-ˢ2-ˢ+(֤ʽƻʹ)3-ˢ,4-ˢ(֤ʽƻʹ), 5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+루Ⱥ˳򣩣10-ָƻˢ룬11-+ָƣ - //12-+룬13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ,23-ָƻ24-ˢ룬25-ˢ,26-ˢָ, - //27-ˢָƻ,28-,29-++,30-ˢ+ˢ31-ָƻ룬32-Ĥ33-ָƻˢĤ34-ˢĤ - BYTE byRes[5]; - NET_DVR_TIME_SEGMENT struTimeSegment; //ʱβ -}NET_DVR_SINGLE_PLAN_SEGMENT, *LPNET_DVR_SINGLE_PLAN_SEGMENT; - -typedef struct tagNET_DVR_WEEK_PLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byRes1[3]; - NET_DVR_SINGLE_PLAN_SEGMENT struPlanCfg[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ܼƻ - BYTE byRes2[16]; -}NET_DVR_WEEK_PLAN_CFG, *LPNET_DVR_WEEK_PLAN_CFG; - -typedef struct tagNET_DVR_HOLIDAY_PLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byRes1[3]; - NET_DVR_DATE struBeginDate; //տʼ - NET_DVR_DATE struEndDate; //ս - NET_DVR_SINGLE_PLAN_SEGMENT struPlanCfg[MAX_TIMESEGMENT_V30]; //ʱβ - BYTE byRes2[16]; -}NET_DVR_HOLIDAY_PLAN_CFG, *LPNET_DVR_HOLIDAY_PLAN_CFG; - -typedef struct tagNET_DVR_HOLIDAY_PLAN_COND -{ - DWORD dwSize; - DWORD dwHolidayPlanNumber; //ռƻ - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_HOLIDAY_PLAN_COND, *LPNET_DVR_HOLIDAY_PLAN_COND; - -typedef struct tagNET_DVR_WEEK_PLAN_COND -{ - DWORD dwSize; - DWORD dwWeekPlanNumber; //ܼƻ - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_WEEK_PLAN_COND, *LPNET_DVR_WEEK_PLAN_COND; - -typedef struct tagNET_DVR_HOLIDAY_GROUP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã1-ã0- - BYTE byRes1[3]; - BYTE byGroupName[HOLIDAY_GROUP_NAME_LEN]; // - DWORD dwHolidayPlanNo[MAX_HOLIDAY_PLAN_NUM]; //ռƻţǰ䣬0Ч - BYTE byRes2[32]; -}NET_DVR_HOLIDAY_GROUP_CFG, *LPNET_DVR_HOLIDAY_GROUP_CFG; - -typedef struct tagNET_DVR_HOLIDAY_GROUP_COND -{ - DWORD dwSize; - DWORD dwHolidayGroupNumber; // - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_HOLIDAY_GROUP_COND, *LPNET_DVR_HOLIDAY_GROUP_COND; - -typedef struct tagNET_DVR_PLAN_TEMPLATE -{ - DWORD dwSize; - BYTE byEnable; //Ƿã1-ã0- - BYTE byRes1[3]; - BYTE byTemplateName[TEMPLATE_NAME_LEN]; //ģ - DWORD dwWeekPlanNo; //ܼƻţ0ΪЧ - DWORD dwHolidayGroupNo[MAX_HOLIDAY_GROUP_NUM]; //ţǰ䣬0Ч - BYTE byRes2[32]; -}NET_DVR_PLAN_TEMPLATE, *LPNET_DVR_PLAN_TEMPLATE; - -typedef struct tagNET_DVR_PLAN_TEMPLATE_COND -{ - DWORD dwSize; - DWORD dwPlanTemplateNumber; //ƻģţ1ʼֵŽȡ - WORD wLocalControllerID; //͵ؿ[1,64]0Ч - BYTE byRes[106]; -}NET_DVR_PLAN_TEMPLATE_COND, *LPNET_DVR_PLAN_TEMPLATE_COND; - -typedef struct tagNET_DVR_DOOR_STATUS_PLAN -{ - DWORD dwSize; - DWORD dwTemplateNo; //ƻģţΪ0ʾȡָĬ״̬ͨ״̬ - BYTE byRes[64]; -}NET_DVR_DOOR_STATUS_PLAN, *LPNET_DVR_DOOR_STATUS_PLAN; - -typedef struct tagNET_DVR_CARD_READER_PLAN -{ - DWORD dwSize; - DWORD dwTemplateNo; //ƻģţΪ0ʾȡָĬ״̬ˢţ - BYTE byRes[64]; -}NET_DVR_CARD_READER_PLAN, *LPNET_DVR_CARD_READER_PLAN; - -typedef struct _tagNET_DVR_GROUP_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0-ã1- - BYTE byRes1[3]; - NET_DVR_VALID_PERIOD_CFG struValidPeriodCfg; //ȺЧڲ - BYTE byGroupName[GROUP_NAME_LEN]; //Ⱥ - BYTE byRes2[32]; -}NET_DVR_GROUP_CFG, *LPNET_DVR_GROUP_CFG; - -typedef struct tagNET_DVR_GROUP_COMBINATION_INFO -{ - BYTE byEnable; //ǷøȺ - BYTE byMemberNum; //ˢԱ - BYTE bySequenceNo; //Ⱥˢ - BYTE byRes; - DWORD dwGroupNo; //Ⱥ,0xffffffffʾԶ̿ţ0xfffffffeʾ -}NET_DVR_GROUP_COMBINATION_INFO, *LPNET_DVR_GROUP_COMBINATION_INFO; - -typedef struct tagNET_DVR_MULTI_CARD_GROUP_CFG -{ - BYTE byEnable; //Ƿøöؿ0-ã1- - BYTE byEnableOfflineVerifyMode; //Ƿʱ֤ʽԶ̿ţ - BYTE byRes1[2]; - DWORD dwTemplateNo; //öؿܵļƻģ - NET_DVR_GROUP_COMBINATION_INFO struGroupCombination[GROUP_COMBINATION_NUM]; //Ⱥϲ -}NET_DVR_MULTI_CARD_GROUP_CFG, *LPNET_DVR_MULTI_CARD_GROUP_CFG; - -typedef struct tagNET_DVR_MULTI_CARD_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿöؿܣ0-ã1- - BYTE bySwipeIntervalTimeout; //ˢʱʱ䣬1-255sĬ10s - BYTE byRes1[2]; - NET_DVR_MULTI_CARD_GROUP_CFG struGroupCfg[MULTI_CARD_GROUP_NUM]; //Ⱥˢ - BYTE byRes2[32]; -}NET_DVR_MULTI_CARD_CFG, *LPNET_DVR_MULTI_CARD_CFG; - -typedef struct tagNET_DVR_GROUP_COMBINATION_INFO_V50 -{ - BYTE byEnable; //ǷøȺ - BYTE byMemberNum; //ˢԱ - BYTE bySequenceNo; //Ⱥˢ - BYTE byRes; - DWORD dwGroupNo; //Ⱥ,0xffffffffʾԶ̿ţ0xfffffffeʾ -}NET_DVR_GROUP_COMBINATION_INFO_V50, *LPNET_DVR_GROUP_COMBINATION_INFO_V50; - -typedef struct tagNET_DVR_MULTI_CARD_GROUP_CFG_V50 -{ - BYTE byEnable; //Ƿøöؿ0-ã1- - BYTE byEnableOfflineVerifyMode; //Ƿʱ֤ʽԶ̿ţ1-ã0- - BYTE byRes1[2]; - DWORD dwTemplateNo; //öؿܵļƻģ - NET_DVR_GROUP_COMBINATION_INFO_V50 struGroupCombination[GROUP_COMBINATION_NUM]; //Ⱥϲ -}NET_DVR_MULTI_CARD_GROUP_CFG_V50, *LPNET_DVR_MULTI_CARD_GROUP_CFG_V50; - -typedef struct tagNET_DVR_MULTI_CARD_CFG_V50 -{ - DWORD dwSize; - BYTE byEnable; //Ƿöؿܣ0-ã1- - BYTE bySwipeIntervalTimeout; //ˢʱʱ䣬1-255sĬ10s - BYTE byRes1[2]; - NET_DVR_MULTI_CARD_GROUP_CFG_V50 struGroupCfg[NET_SDK_MULTI_CARD_GROUP_NUM_20]; //Ⱥˢ - BYTE byRes2[32]; -}NET_DVR_MULTI_CARD_CFG_V50, *LPNET_DVR_MULTI_CARD_CFG_V50; - -//2014-12-03 T1״̬ṹ -typedef struct -{ - DWORD dwSize;//ṹС - WORD wPort; //˿ں - //(豸ͨ˿ڿƣ˿ں豸˹̶ϲ㲻ãʼsocketӣT1ݣXMLʽ) - //0- ر(ر豸̣߳ͷŶ˿)1- (豸ڲ߳) - BYTE byPortState; - BYTE byRes[61]; // -}NET_DVR_T1TEST_PARAMCFG,*LPNET_DVR_T1TEST_PARAMCFG; - -#define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ -#define CARD_PARAM_VALID 0x00000002 //Чڲ -#define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ -#define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ -#define CARD_PARAM_LEADER_CARD 0x00000010 //׿ -#define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ -#define CARD_PARAM_GROUP 0x00000040 //Ⱥ -#define CARD_PARAM_PASSWORD 0x00000080 // -#define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ -#define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ -#define CARD_PARAM_EMPLOYEE_NO 0x00000400 // -#define CARD_PARAM_NAME 0x00000800 // -#define CARD_PARAM_DEPARTMENT_NO 0x00001000 //ű -#define CARD_SCHEDULE_PLAN_NO 0x00002000 //Űƻ -#define CARD_SCHEDULE_PLAN_TYPE 0x00004000 //Űƻ -#define CARD_ROOM_NUMBER 0x00008000 // -#define CARD_SIM_NO 0x00010000 //SIMţֻţ -#define CARD_FLOOR_NUMBER 0x00020000 //¥ -#define CARD_USER_TYPE 0x00040000 //û - -typedef struct tagNET_DVR_ANTI_SNEAK_CFG -{ - DWORD dwSize; - BYTE byEnable; //ʹܷDZعܣ1-ʹܣ0-ʹ - BYTE byRes1[3]; - DWORD dwStartCardReaderNo; //DZʼ - BYTE byRes2[64]; -}NET_DVR_ANTI_SNEAK_CFG, *LPNET_DVR_ANTI_SNEAK_CFG; - -typedef struct tagNET_DVR_CARD_READER_ANTI_SNEAK_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ뷴DZ·1-룬0- - BYTE byRes1[3]; - DWORD dwFollowUpCardReader[MAX_SNEAK_PATH_NODE]; //ţΪ0ʾעʼ - BYTE byRes2[32]; -}NET_DVR_CARD_READER_ANTI_SNEAK_CFG, *LPNET_DVR_CARD_READER_ANTI_SNEAK_CFG; - -typedef struct tagNET_DVR_PHONE_DOOR_RIGHT_CFG -{ - DWORD dwSize; - BYTE byOpenRight[MAX_DOOR_NUM_256]; //ʾ,ǷпȨޣ-Ȩޣ-Ȩ - BYTE byCloseRight[MAX_DOOR_NUM_256]; //ʾ,ǷйȨޣ-Ȩޣ-Ȩ - BYTE byNormalOpenRight[MAX_DOOR_NUM_256]; //ʾ,ǷгȨޣ-Ȩޣ-Ȩ - BYTE byNormalCloseRight[MAX_DOOR_NUM_256]; //ʾ,ǷгȨޣ-Ȩޣ-Ȩ - BYTE byArmRight[MAX_ALARMHOST_ALARMIN_NUM]; //ʾ,ǷвȨޣ-Ȩޣ-Ȩ - BYTE byDisarmRight[MAX_ALARMHOST_ALARMIN_NUM]; //ʾ,ǷгȨޣ-Ȩޣ-Ȩ - BYTE byRes[256]; // -}NET_DVR_PHONE_DOOR_RIGHT_CFG,*LPNET_DVR_PHONE_DOOR_RIGHT_CFG; - -typedef struct tagNET_DVR_MULTI_DOOR_INTERLOCK_CFG -{ - DWORD dwSize; - BYTE byEnable; //ǷöŻܣ1-ã0- - BYTE byRes1[3]; - DWORD dwMultiDoorGroup[MAX_MULTI_DOOR_INTERLOCK_GROUP][MAX_INTER_LOCK_DOOR_NUM]; //ŻȡֵΪű - BYTE byRes2[64]; -}NET_DVR_MULTI_DOOR_INTERLOCK_CFG, *LPNET_DVR_MULTI_DOOR_INTERLOCK_CFG; - -typedef struct tagNET_DVR_CARD_READER_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byCardReaderType; //ͣ1-DS-K110XM/MK/C/CK2-DS-K192AM/AMP3-DS-K192BM/BMP4-DS-K182AM/AMP5-DS-K182BM/BMP6-DS-K182AMF/ACF7-Τ485,8- DS-K1101M/MK9- DS-K1101C/CK10- DS-K1102M/MK/M-A - //11- DS-K1102C/CK12- DS-K1103M/MK13- DS-K1103C/CK14- DS-K1104M/MK15- DS-K1104C/CK16- DS-K1102S/SK/S-A17- DS-K1102G/GK18- DS-K1100S-B19- DS-K1102EM/EMK20- DS-K1102E/EK - //21- DS-K1200EF22- DS-K1200MF23- DS-K1200CF24- DS-K1300EF25- DS-K1300MF26- DS-K1300CF27- DS-K1105E28- DS-K1105M29- DS-K1105C30- DS-K182AMF31- DS-K196AMF32-DS-K194AMP - //33-DS-K1T200EF/EF-C/MF/MF-C/CF/CF-C,34-DS-K1T300EF/EF-C/MF/MF-C/CF/CF-C35-DS-K1T105E/E-C/M/M-C/C/C-C36-DS-K1T803F/MF/SF/EF37-DS-K1A801F/MF/SF/EF,38-DS-K1107M/MK,39-DS-K1107E/EK, - //40-DS-K1107S/SK,41-DS-K1108M/MK,42-DS-K1108E/EK,43-DS-K1108S/SK,44-DS-K1200F,45-DS-K1S110-I,46-DS-K1T200M-PG/PGC,47-DS-K1T200M-PZ/PZC,48-DS-K1109H - BYTE byOkLedPolarity; //OK LEDԣ0-1- - BYTE byErrorLedPolarity; //Error LEDԣ0-1- - BYTE byBuzzerPolarity; //ԣ0-1- - BYTE bySwipeInterval; //ظˢʱ䣬λ - BYTE byPressTimeout; //ʱʱ䣬λ - BYTE byEnableFailAlarm; //Ƿöʧܳα0-ã1- - BYTE byMaxReadCardFailNum; //ʧܴ - BYTE byEnableTamperCheck; //Ƿַ֧⣬0-disable 1-enable - BYTE byOfflineCheckTime; //߼ʱ λ - BYTE byFingerPrintCheckLevel; //ָʶȼ1-1/10ʣ2-1/100ʣ3-1/1000ʣ4-1/10000ʣ5-1/100000ʣ6-1/1000000ʣ7-1/10000000ʣ8-1/100000000ʣ9-3/100ʣ10-3/1000ʣ11-3/10000ʣ12-3/100000ʣ13-3/1000000ʣ14-3/10000000ʣ15-3/100000000ʣ16-Automatic Normal,17-Automatic Secure,18-Automatic More Secure - BYTE byUseLocalController; //ֻǷھ͵ؿϣ0-1- - BYTE byRes1; - WORD wLocalControllerID; //ֻ͵ؿţ1-64,0δע - WORD wLocalControllerReaderID; //ֻ͵ؿĶID0δע - WORD wCardReaderChannel; //ֻͨͨţ0Τߣ1-RS485A,2-RS485B - BYTE byRes[16]; -}NET_DVR_CARD_READER_CFG, *LPNET_DVR_CARD_READER_CFG; - -typedef struct tagNET_DVR_CARD_READER_CFG_V50 -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹܣ1-ʹܣ0-ʹ - BYTE byCardReaderType; //ͣ1-DS-K110XM/MK/C/CK2-DS-K192AM/AMP3-DS-K192BM/BMP4-DS-K182AM/AMP5-DS-K182BM/BMP6-DS-K182AMF/ACF7-Τ485ߣ8- DS-K1101M/MK9- DS-K1101C/CK10- DS-K1102M/MK/M-A11- DS-K1102C/CK12- DS-K1103M/MK13- DS-K1103C/CK14- DS-K1104M/MK15- DS-K1104C/CK16- DS-K1102S/SK/S-A17- DS-K1102G/GK18- DS-K1100S-B19- DS-K1102EM/EMK20- DS-K1102E/EK21- DS-K1200EF22- DS-K1200MF23- DS-K1200CF24- DS-K1300EF25- DS-K1300MF26- DS-K1300CF27- DS-K1105E28- DS-K1105M29- DS-K1105C30- DS-K182AMF31- DS-K196AMF32-DS-K194AMP33-DS-K1T200EF/EF-C/MF/MF-C/CF/CF-C,34-DS-K1T300EF/EF-C/MF/MF-C/CF/CF-C35-DS-K1T105E/E-C/M/M-C/C/C-C,36-DS-K1T803F/F-M/F-S/F-E,37-DS-K1A801F/F-M/F-S/F-E,38-DS-K1107M/MK,39-DS-K1107E/EK,40-DS-K1107S/SK,41-DS-K1108M/MK,42-DS-K1108E/EK,43-DS-K1108S/SK,44-DS-K1200F,45-DS-K1S110-I,46-DS-K1T200M-PG/PGC,47-DS-K1T200M-PZ/PZC,48-DS-K1109H - BYTE byOkLedPolarity; //OK LEDԣ0-1- - BYTE byErrorLedPolarity; //Error LEDԣ0-1- - BYTE byBuzzerPolarity; //ԣ0-1- - BYTE bySwipeInterval; //ظˢʱ䣬λ - BYTE byPressTimeout; //ʱʱ䣬λ - BYTE byEnableFailAlarm; //Ƿöʧܳα0-ã1- - BYTE byMaxReadCardFailNum; //ʧܴ - BYTE byEnableTamperCheck; //Ƿַ֧⣬0-disable 1-enable - BYTE byOfflineCheckTime; //߼ʱ λ - BYTE byFingerPrintCheckLevel; //ָʶȼ1-1/10ʣ2-1/100ʣ3-1/1000ʣ4-1/10000ʣ5-1/100000ʣ6-1/1000000ʣ7-1/10000000ʣ8-1/100000000ʣ9-3/100ʣ10-3/1000ʣ11-3/10000ʣ12-3/100000ʣ13-3/1000000ʣ14-3/10000000ʣ15-3/100000000ʣ16-Automatic Normal,17-Automatic Secure,18-Automatic More SecureĿǰŽ֧֣ - BYTE byUseLocalController; //ֻǷھ͵ؿϣ0-1- - BYTE byRes1; - WORD wLocalControllerID; //ֻ͵ؿ, byUseLocalController=1ʱЧ1-64,0δע - WORD wLocalControllerReaderID; //ֻ͵ؿĶIDbyUseLocalController=1ʱЧ0δע - WORD wCardReaderChannel; //ֻͨͨţbyUseLocalController=1ʱЧ0Τߣ1-RS485A,2-RS485B - BYTE byFingerPrintImageQuality; //ָͼ0-Ч1-(V1)2-е(V1)3-(V1)4-(V1)5-(V2)6-е(V2)7-(V2)8-(V2) - BYTE byFingerPrintContrastTimeOut; //ָƶԱȳʱʱ䣬0-ЧΧ1-20:1s-20s0xff-޴ - BYTE byFingerPrintRecogizeInterval; //ָʶ0-ЧΧ1-10:1s-10s0xff-ӳ - BYTE byFingerPrintMatchFastMode; //ָƥģʽ0-ЧΧ1-5:ģʽ1-ģʽ50xff-Զ - BYTE byFingerPrintModuleSensitive; //ָģȣ0-ЧΧ1-8ȼ1-ȼ8 - BYTE byFingerPrintModuleLightCondition; //ָģ0-Ч1-⣬2- - BYTE byFaceMatchThresholdN; //ȶԷֵΧ0-100 - BYTE byFaceQuality; //Χ0-100 - BYTE byFaceRecogizeTimeOut; //ʶʱʱ䣬Χ1-201s-20s0xff-޴ - BYTE byFaceRecogizeInterval; //ʶ0-ЧΧ1-101s-10s0xff-ӳ - WORD wCardReaderFunction; //ֻ࣬λʾ1λ-ָƣڶλ-λ-ָλ-Ĥ - BYTE byCardReaderDescription[CARD_READER_DESCRIPTION]; // - WORD wFaceImageSensitometry; //ֻͼعȣΧ0-65535 - BYTE byLivingBodyDetect; //˼⣬0-Ч1-ã2- - BYTE byFaceMatchThreshold1; //1:1ƥ䷧ֵΧ0-100 - WORD wBuzzerTime; //ʱ䣬Χ0s-5999s0- - BYTE byFaceMatch1SecurityLevel; //1:1ʶȫȼ0-Ч1-һ㣬2-ǿ3-ǿ - BYTE byFaceMatchNSecurityLevel; //1:Nʶȫȼ0-Ч1-һ㣬2-ǿ3-ǿ - BYTE byEnvirMode;//ʶ𻷾ģʽ0-Ч1-ڣ2- - BYTE byLiveDetLevelSet;//ֵȼã0-Ч1-ͣ2-У3-ߣ - BYTE byLiveDetAntiAttackCntLimit;// 0-Ч1-255Σͻˡ豸ͳһƣƣ - BYTE byEnableLiveDetAntiAttack;//ʹܣ0-Ч1-ã2- - BYTE bySupportDelFPByID;//ֻǷְָ֧IDɾָƣ0-Ч1-֧֣2-֧ - BYTE byFaceContrastMotionDetLevel;//ȶʱƶ⼶0-Ч1-ͣ2-У3-ߣ0xff- - BYTE byDayFaceMatchThresholdN; //1:Nƥ䷧ֵΧ0-100 - BYTE byNightFaceMatchThresholdN; //ҹ1:Nƥ䷧ֵΧ0-100 - BYTE byFaceRecogizeEnable; //ʶʹܣ0-Ч1-2-ر - BYTE byBlockListMatchThreshold; //ֹƥ䷧ֵΧ0-100 - BYTE byRes3; - BYTE byDefaultVerifyMode; //ֻĬ֤ʽĬϣ1-ߣ2-ˢ+룬3-ˢ4-ˢ룬5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+룬10-ָƻˢ룬11-+ָƣ12-+룬13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ23-ָƻ24-ˢ룬25-ˢ26-ˢָƣ27-ˢָƻ - DWORD dwFingerPrintCapacity;//ָֻ - DWORD dwFingerPrintNum;//ֻѴָ - BYTE byEnableFingerPrintNum;//ָֻʹܣ0-ʹܣ1-ʹܣֻеֶΪ1-ʹʱdwFingerPrintCapacitydwFingerPrintNumЧ - BYTE byEnableReverseCardNo; //ŷתʹ 0-ʹ1-ʹ - BYTE byRes2[2]; - DWORD dwIndependSwipeIntervals;//Ա֤ÿ˵ظ֤ - BYTE byRes[224]; -}NET_DVR_CARD_READER_CFG_V50, *LPNET_DVR_CARD_READER_CFG_V50; - -typedef struct tagNET_DVR_FAILED_FACE_COND -{ - DWORD dwSize; - BYTE byRes[128]; // -}NET_DVR_FAILED_FACE_COND, *LPNET_DVR_FAILED_FACE_COND; - -typedef struct tagNET_DVR_FAILED_FACE_INFO -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byErrorCode; //ģʧϸ,0-Ч1-ȡļʧܣ2-ļʧܣ3-ڴ治㣬4-עʧܣ5-ۼ̫С6-Ȩ޲ - BYTE byRes1[3]; - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes[92]; -}NET_DVR_FAILED_FACE_INFO, *LPNET_DVR_FAILED_FACE_INFO; - -typedef struct tagNET_DVR_FACE_PARAM_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀţʱòɲã - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ĶǷЧ0-Ч1-Чʱòɲã - DWORD dwFaceNum; //ûȡȡʱΪ0xffffffffʾȡϢ - BYTE byFaceID; //ţЧֵΧΪ1-2 0xffʾÿʱòɲã - BYTE byRes[127]; // -}NET_DVR_FACE_PARAM_COND, *LPNET_DVR_FACE_PARAM_COND; - -typedef struct tagNET_DVR_FACE_PARAM_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwFaceLen; //ݳ豸˷صļܺ - char* pFaceBuffer; //ָ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //Ҫ·Ķʾӵλλʾ0-·ö1-·ö - BYTE byFaceID; //ţЧֵΧΪ1-2 - BYTE byFaceDataType; //ͣ0-ģ壨Ĭϣ1-ͼƬ - BYTE byRes[126]; -}NET_DVR_FACE_PARAM_CFG, *LPNET_DVR_FACE_PARAM_CFG; - -typedef struct tagNET_DVR_FACE_PARAM_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byCardReaderRecvStatus[MAX_CARD_READER_NUM_512]; //״ֽ̬ڱʾ0-ʧܣ1-ɹ2-Ի3-ڴ()4-Ѵڸ5-ǷID - //,6-㷨ģʧܣ7-δ·Ȩޣ8-δ壨9-ۼСС10-ͼƬݳС1KB11-ͼƬʽpng/jpg/bmp,12-ͼƬޣ13-ͼƬޣ14-ͼƬϢУʧܣ15-ͼƬʧܣ16-ʧܣ17-ʧ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ4ʱʾѴӦĿ - DWORD dwCardReaderNo; //ƶţ·󷵻 - BYTE byTotalStatus; //·ܵ״̬0-ǰδж1-ж(ָŽеĶ·ˣܳɹ) - BYTE byFaceID; //ţЧֵΧΪ1-2 - BYTE byRes[130]; -}NET_DVR_FACE_PARAM_STATUS, *LPNET_DVR_FACE_PARAM_STATUS; - -typedef struct tagNET_DVR_FACE_PARAM_BYCARD -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ĶϢʾ - BYTE byFaceID[MAX_FACE_NUM]; //Ҫɾţ±ֵ꣬ʾ0-ɾ1-ɾ - BYTE byRes1[42]; // -}NET_DVR_FACE_PARAM_BYCARD, *LPNET_DVR_FACE_PARAM_BYCARD; - -typedef struct tagNET_DVR_FACE_PARAM_BYREADER -{ - DWORD dwCardReaderNo; //ֵʾ - BYTE byClearAllCard; //ǷɾпϢ0-ɾϢ1-ɾпϢ - BYTE byRes1[3]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byRes[548]; // -}NET_DVR_FACE_PARAM_BYREADER, *LPNET_DVR_FACE_PARAM_BYREADER; - -typedef union tagNET_DVR_DEL_FACE_PARAM_MODE -{ - BYTE uLen[588]; //峤 - NET_DVR_FACE_PARAM_BYCARD struByCard; //ŵķʽɾ - NET_DVR_FACE_PARAM_BYREADER struByReader; //ķʽɾ -}NET_DVR_DEL_FACE_PARAM_MODE, *LPNET_DVR_DEL_FACE_PARAM_MODE; - -typedef struct tagNET_DVR_FACE_PARAM_CTRL -{ - DWORD dwSize; - BYTE byMode; //ɾʽ0-ŷʽɾ1-ɾ - BYTE byRes1[3]; // - NET_DVR_DEL_FACE_PARAM_MODE struProcessMode; //ʽ - BYTE byRes[64]; // -}NET_DVR_FACE_PARAM_CTRL, *LPNET_DVR_FACE_PARAM_CTRL; - -typedef struct tagNET_DVR_LOCAL_CONTROLLER_STATUS_COND -{ - DWORD dwSize; - WORD wLocalControllerID; //͵ؿ(ֿ),Ϊ0ʾ - BYTE byRes[306]; -}NET_DVR_LOCAL_CONTROLLER_STATUS_COND, *LPNET_DVR_LOCAL_CONTROLLER_STATUS_COND; - -typedef struct tagNET_DVR_LOCAL_CONTROLLER_STATUS -{ - DWORD dwSize; - WORD wLocalControllerID; //͵ؿ(ֿ) - BYTE byLocalAntiDismantleStatus; //͵ؿ״̬0-رգ1- - BYTE byPowerSupplyStatus; //豸״̬1-繩磬2-ع - WORD wBatteryVoltage; //صѹֵʵֵ10λ - BYTE byBatteryLowVoltage; //Ƿڵѹ״̬0-1- - BYTE byFireAlarm; //0-1-̽ӱ2-Ͽ - BYTE bySerialNumber[SERIALNO_LEN]; //豸к - BYTE byMagneticStatus[MAX_DOOR_NUM];// Ŵ״̬0رգ12ƻ·3ƻ·4쳣 - BYTE byDoorLockStatus[MAX_DOOR_NUM]; //״̬0رգ12ƻ·3ƻ·4쳣 - BYTE byCardReaderOnlineStatus[MAX_CARD_READER_NUM]; //״̬0-ߣ1- - WORD wLocalControllerStatus; //ֻ͵ؿ״̬(ֿ״̬)0-ߣ1-ߣ2-·1ϵRS48513-·1ϵRS48524-·2ϵRS48515-·2ϵRS48526-·3ϵRS48517-·3ϵRS48528-·4ϵRS48519-·4ϵRS4852ֻ - BYTE byRes2[122]; -}NET_DVR_LOCAL_CONTROLLER_STATUS, *LPNET_DVR_LOCAL_CONTROLLER_STATUS; - -typedef struct tagNET_DVR_ONLINE_LOCAL_CONTROLLER_CFG -{ - DWORD dwSize; - BYTE byLocalControllerName[LOCAL_CONTROLLER_NAME_LEN]; //͵ؿ - WORD wLocalControllerID; //͵ؿ - WORD wDevPort; // 豸˿ں - NET_DVR_IPADDR struDevIP; // 豸IPַ - NET_DVR_IPADDR struSubnetMask; // 豸 - NET_DVR_IPADDR struGateway; // 豸 - BYTE bySearchProgress; //ȣ0ʾδʼ100ʾͬ - BYTE byEffectData;//ǷΪЧ,0ʾЧ1ʾ豸ֻȣΪ - BYTE byRes[302]; -}NET_DVR_ONLINE_LOCAL_CONTROLLER_CFG, *LPNET_DVR_ONLINE_LOCAL_CONTROLLER_CFG; - -typedef struct tagNET_DVR_ACS_WORK_STATUS -{ - DWORD dwSize; - BYTE byDoorLockStatus[MAX_DOOR_NUM]; //״̬0-أ1- - BYTE byDoorStatus[MAX_DOOR_NUM]; //״̬1-ߣ2-״̬3-״̬4-ͨ״̬ - BYTE byMagneticStatus[MAX_DOOR_NUM]; //Ŵ״̬0-պϣ1- - BYTE byCaseStatus[MAX_CASE_SENSOR_NUM]; ////¼״̬0-룬1- - WORD wBatteryVoltage; //صѹֵʵֵ10λ - BYTE byBatteryLowVoltage; //Ƿڵѹ״̬0-1- - BYTE byPowerSupplyStatus; //豸״̬1-繩磬2-ع - BYTE byMultiDoorInterlockStatus; //Ż״̬0-رգ1- - BYTE byAntiSneakStatus; //DZ״̬0-رգ1- - BYTE byHostAntiDismantleStatus; //״̬0-رգ1- - BYTE byIndicatorLightStatus; //ָʾ״̬0-ߣ1- - BYTE byCardReaderOnlineStatus[MAX_CARD_READER_NUM]; //״̬0-ߣ1- - BYTE byCardReaderAntiDismantleStatus[MAX_CARD_READER_NUM]; //״̬0-رգ1- - BYTE byCardReaderVerifyMode[MAX_CARD_READER_NUM]; //ǰ֤ʽ1-ˢ2-ˢ+룬3-ˢ4-ˢ - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڲ״̬0-Ӧڴڳ״̬1-Ӧڴڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //ڱ״̬0-Ӧڵǰޱ1-Ӧڵǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //״̬0-Ӧޱ1-Ӧб - DWORD dwCardNum; //ӵĿ - BYTE byRes2[32]; -}NET_DVR_ACS_WORK_STATUS, *LPNET_DVR_ACS_WORK_STATUS; - -typedef struct tagNET_DVR_ACS_WORK_STATUS_V50 -{ - DWORD dwSize; - BYTE byDoorLockStatus[MAX_DOOR_NUM_256]; //״̬(̵״̬)0-أ1-2-·3-·4-쳣 - BYTE byDoorStatus[MAX_DOOR_NUM_256]; //״̬(¥״̬)1-ߣ2-״̬()3-״̬()4-ͨ״̬(ܿ) - BYTE byMagneticStatus[MAX_DOOR_NUM_256]; //Ŵ״̬0-أ1-2-·3-·4-쳣 - BYTE byCaseStatus[MAX_CASE_SENSOR_NUM]; //¼״̬0-룬1- - WORD wBatteryVoltage; //صѹֵʵֵ10λ - BYTE byBatteryLowVoltage; //Ƿڵѹ״̬0-1- - BYTE byPowerSupplyStatus; //豸״̬1-繩磬2-ع - BYTE byMultiDoorInterlockStatus; //Ż״̬0-رգ1- - BYTE byAntiSneakStatus; //DZ״̬0-رգ1- - BYTE byHostAntiDismantleStatus; //״̬0-رգ1- - BYTE byIndicatorLightStatus; //ָʾ״̬0-ߣ1- - BYTE byCardReaderOnlineStatus[MAX_CARD_READER_NUM_512]; //״̬0-ߣ1- - BYTE byCardReaderAntiDismantleStatus[MAX_CARD_READER_NUM_512]; //״̬0-رգ1- - BYTE byCardReaderVerifyMode[MAX_CARD_READER_NUM_512]; //ǰ֤ʽ1-ߣ2-ˢ+룬3-ˢ4-ˢ - BYTE bySetupAlarmStatus[MAX_ALARMHOST_ALARMIN_NUM];//ڲ״̬0-Ӧڴڳ״̬1-Ӧڴڲ״̬ - BYTE byAlarmInStatus[MAX_ALARMHOST_ALARMIN_NUM]; //λʾڱ״̬0-Ӧڵǰޱ1-Ӧڵǰб - BYTE byAlarmOutStatus[MAX_ALARMHOST_ALARMOUT_NUM]; //λʾ״̬0-Ӧޱ1-Ӧб - DWORD dwCardNum; //ӵĿ - BYTE byFireAlarmStatus; //״̬ʾ0-1-·2-Ͽ - BYTE byBatteryChargeStatus; //س״̬0-Ч1-У2-δ - BYTE byMasterChannelControllerStatus; //ͨ״̬0-Ч1-ߣ2- - BYTE bySlaveChannelControllerStatus; //ͨ״̬0-Ч1-ߣ2- - BYTE byAntiSneakServerStatus; //DZط״̬0-Ч1-δã2-3-Ͽ - BYTE byRes3[3]; - DWORD dwAllowFaceNum; //ӵͨжϣ - DWORD dwBlockFaceNum; //ӵĽֹͨжϣ - BYTE byRes2[108]; -}NET_DVR_ACS_WORK_STATUS_V50, *LPNET_DVR_ACS_WORK_STATUS_V50; - -typedef struct tagNET_DVR_CASE_SENSOR_CFG -{ - DWORD dwSize; - BYTE byHostBuzzer; //0-1- - BYTE byRes1[3]; - BYTE byCardReaderBuzzer[MAX_CARD_READER_NUM]; //1-0- - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; //ı1-0- - BYTE byDoorOpen[MAX_DOOR_NUM]; //1-NŴ򿪣0-1-򿪣 - BYTE byDoorClose[MAX_DOOR_NUM]; //1-NŹرգ0-1-رգ - BYTE byRes2[64]; -}NET_DVR_CASE_SENSOR_CFG, *LPNET_DVR_CASE_SENSOR_CFG; - -typedef enum _ENUM_UPGRADE_TYPE -{ - ENUM_UPGRADE_DVR = 0, //ͨ豸 - ENUM_UPGRADE_ADAPTER = 1, //DVR - ENUM_UPGRADE_VCALIB = 2, //ܿ - ENUM_UPGRADE_OPTICAL = 3, //˻ - ENUM_UPGRADE_ACS = 4, //Žϵͳ - ENUM_UPGRADE_AUXILIARY_DEV = 5,//豸 - ENUM_UPGRADE_LED = 6, //LEDͿͽտ - ENUM_UPGRADE_INTELLIGENT = 7, //豸 - ENUM_UPGRADE_CUSTOM = 8 //ԶURL ISAPI½Ч -}ENUM_UPGRADE_TYPE; - -typedef struct tagNET_DVR_ACS_EVENT_INFO -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ţΪ0Ч - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byAllowListNo; //,1-8Ϊ0Ч - BYTE byReportChannel; //ϴͨ1-ϴ2-1ϴ3-2ϴΪ0Ч - BYTE byCardReaderKind; //һ࣬0-Ч1-IC2-֤3-ά,4-ָͷ - DWORD dwCardReaderNo; //ţΪ0Ч - DWORD dwDoorNo; //ű(¥)Ϊ0Чӵ豸ΪԱͨ豸ʱ1Ϊ2Ϊ - DWORD dwVerifyNo; //ؿ֤ţΪ0Ч - DWORD dwAlarmInNo; //ţΪ0Ч - DWORD dwAlarmOutNo; //ţΪ0Ч - DWORD dwCaseSensorNo; //¼ - DWORD dwRs485No; //RS485ͨţΪ0Ч - DWORD dwMultiCardGroupNo; //Ⱥ - WORD wAccessChannel; //Աͨ - BYTE byDeviceNo; //豸ţΪ0Ч - BYTE byDistractControlNo;//ֿţΪ0Ч - DWORD dwEmployeeNo; //ţΪ0Ч - WORD wLocalControllerID; //͵ؿţ0-Ž1-64͵ؿ - BYTE byInternetAccess; //ID1-1,2-2,3-1 - BYTE byType; //ͣ0:ʱ,1-24Сʱ,2-ʱ ,3-ڲ4-Կ׷ 5-𾯷 6-ܽ 7-24Сʱ 8-24Сʱ9-24Сʱ𶯷,10-Žŷ11-Žŷ 0xff- - BYTE byMACAddr[MACADDR_LEN]; //ַΪ0Ч - BYTE bySwipeCardType;//ˢͣ0-Ч1-ά - BYTE byMask; //Ƿ֣0-1-δ֪2-֣3- - DWORD dwSerialNo; //¼ˮţΪ0Ч - BYTE byChannelControllerID; //ͨIDΪ0Ч1-ͨ2-ͨ - BYTE byChannelControllerLampID; //ͨưIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIRAdaptorID; //ͨתӰIDΪ0ЧЧΧ1-255 - BYTE byChannelControllerIREmitterID; //ͨIDΪ0ЧЧΧ1-255 - BYTE byHelmet;//ѡǷȫñ0-1-δ֪2-ȫ, 3-ȫñ - BYTE byRes[3]; -}NET_DVR_ACS_EVENT_INFO, *LPNET_DVR_ACS_EVENT_INFO; - -typedef struct tagNET_DVR_ACS_EVENT_INFO_EXTEND -{ - DWORD dwFrontSerialNo; //¼ˮţΪ0ЧֶΪ0ƽ̨dwSerialNoжǷʧ¼ֶβΪ0ƽ̨ݸֶκdwSerialNoֶιͬжǷʧ¼ҪڽĺdwSerialNo - BYTE byUserType; //Աͣ0-Ч1-ͨˣˣ2-ÿͣ3-ֹˣ4-Ա - BYTE byCurrentVerifyMode; //ǰ֤ʽ0-Ч1-ߣ2-ˢ+룬3-ˢ4-ˢ룬5-ָƣ6-ָ+룬7-ָƻˢ8-ָ+ˢ9-ָ+ˢ+룬10-ָƻˢ룬11-+ָƣ12-+룬13-+ˢ14-15-+룬16-ָƻ룬17-+ָƣ18-+ָ+룬19-+ָ+ˢ20-++ָƣ21-+22-+ˢ23-ָƻ24-ˢ룬25-ˢ26-ˢָƣ27-ˢָƻ룬28-룬29-++룬30-ˢ+ˢ31-ָƻ룬32-Ĥ33-ָƻˢĤ34-ˢĤ - BYTE byCurrentEvent; //ǷΪʵʱ¼0-Ч1-ǣʵʱ¼2-¼ - BYTE byPurePwdVerifyEnable; //豸Ƿִ֧֤ 0-֧֣1-֧ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID豸˵ʹ˹ţԱIDֶΣbyEmployeeNoһҪݣbyEmployeeNoתΪdwEmployeeNoôֶҲҪݣϲƽ̨ͻ˵ȽbyEmployeeNoֶΣֶΪգٿǽdwEmployeeNoֶΣ - BYTE byAttendanceStatus; //״̬0-δ,1-ϰ࣬2-°࣬3-ʼϢ4-Ϣ5-ʼӰ࣬6-Ӱ - BYTE byStatusValue; //״ֵ̬ - BYTE byRes2[2]; - BYTE byUUID[NET_SDK_UUID_LEN/*36*/]; //UUIDֶνڶԽөʯƽ̨вŻʹã - BYTE byDeviceName[NET_DEV_NAME_LEN]; //豸к - BYTE byRes[24]; -}NET_DVR_ACS_EVENT_INFO_EXTEND, *LPNET_DVR_ACS_EVENT_INFO_EXTEND; - -//չṹϢV20 -typedef struct tagNET_DVR_ACS_EVENT_INFO_EXTEND_V20 -{ - BYTE byRemoteCheck; //ǷҪԶ̺飨0-Ч1-ҪĬϣ2-Ҫ - BYTE byThermometryUnit; //µλ0-϶ȣĬϣ1-϶ȣ2-ģ - BYTE byIsAbnomalTemperature; //ץIJǷ¶쳣1-ǣ0- - BYTE byRes2; - float fCurrTemperature; //¶ȣȷСһλ - NET_VCA_POINT struRegionCoordinates; //¶ - DWORD dwQRCodeInfoLen; //άϢȣΪ0DZʾ - DWORD dwVisibleLightDataLen; //ȳɼͼƬȣΪ0DZʾ - DWORD dwThermalDataLen; //ȳͼƬȣΪ0DZʾ - char *pQRCodeInfo; //άϢָ - char *pVisibleLightData; //ȳɼͼƬָ - char *pThermalData; //ȳͼƬָ - BYTE byAttendanceLabel[64]; //Զ - WORD wXCoordinate; //x꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wYCoordinate; //y꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wWidth; //ȣΧ0-1000 - WORD wHeight; //߶ȣΧ0-1000 - BYTE byHealthCode; //״̬, 0-, 1-δ, 2-δ, 3-, 4-, 5-, 6-޴Ա, 7-Ϣӿ쳣²ѯʧܣ, 8-ѯ볬ʱ - BYTE byNADCode; //, 0-, 1-δѯ, 2-ԣ, 3-ԣȷ, 4-Чѹ - BYTE byTravelCode; //г̱, 0-, 1-14һֱڵ, 2-14뿪, 3-14ڵ, 4- - BYTE byVaccineStatus; //״̬, 0-, 1-δ, 2-ע, 3- - BYTE byRes[948]; -}NET_DVR_ACS_EVENT_INFO_EXTEND_V20, *LPNET_DVR_ACS_EVENT_INFO_EXTEND_V20; - -typedef struct tagNET_DVR_ACS_ALARM_INFO -{ - DWORD dwSize; - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME struTime; //ʱ - BYTE sNetUser[MAX_NAMELEN] ;//û - NET_DVR_IPADDR struRemoteHostAddr ;//Զַ - NET_DVR_ACS_EVENT_INFO struAcsEventInfo; //ϸ - DWORD dwPicDataLen; //ͼƬݴСΪ0DZʾ - char *pPicData; - WORD wInductiveEventType; //¼ͣ0-ЧͻжϸֵΪ0ֵ󣬱ͨ¼֣ͨԭбͣdwMajordwMinor - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1; //ֽ - DWORD dwIOTChannelNo; //IOTͨ - char *pAcsEventInfoExtend; //byAcsEventInfoExtendΪ1ʱʾָһNET_DVR_ACS_EVENT_INFO_EXTENDṹ - BYTE byAcsEventInfoExtend; //pAcsEventInfoExtendǷЧ0-Ч1-Ч - BYTE byTimeType; //ʱͣ0-豸ʱ䣬1-UTCʱ䣨struTimeʱ䣩 - BYTE byRes2; //ֽ - BYTE byAcsEventInfoExtendV20; //pAcsEventInfoExtendV20ǷЧ0-Ч1-Ч - char *pAcsEventInfoExtendV20; //byAcsEventInfoExtendV20Ϊ1ʱʾָһNET_DVR_ACS_EVENT_INFO_EXTEND_V20ṹ - BYTE byRes[4]; -}NET_DVR_ACS_ALARM_INFO, *LPNET_DVR_ACS_ALARM_INFO; - -#define JUDGE_MAX_VIDEOOUT_NUM 9 - -typedef struct tagNET_DVR_AUDIO_ACTIVATION_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ - BYTE byRes1[3]; - DWORD dwChanNo; //Ƶͨ - BYTE bySensitivity; // 1-100Խߣʾϵ͵ʹܸƵ뼤ܣԽͣʾҪϸߵʹܸƵļ - BYTE byPriority; //ȼ 0-ȼ01-ȼ1 ֵԽ󼶱Խ - WORD wDelayTime; //лӳʱ䣬λs, ʱԶصԤõ1ӦĻ - BYTE byRes2; // - BYTE byEnablePreset; //ǷԤõ - WORD wPreset; //Ԥõ - WORD wBase; /*׼*/ - BYTE byRes3[2]; - BYTE byVoChanNo[JUDGE_MAX_VIDEOOUT_NUM]; //ǷƵڡֵ0ʾ1-ʾ±ʾͨ˳£0-VGA1,1-VGA2, 2-VGA3,3-VGA4,4-VGA5~10,5-HDMI1,6-HDMI2 - BYTE byRes[255]; // -}NET_DVR_AUDIO_ACTIVATION_CFG,*LPNET_DVR_AUDIO_ACTIVATION_CFG; - -typedef struct tagNET_DVR_INFRARED_OUTPUT_CTRL_CFG -{ - DWORD dwSize; //ṹС - BYTE byIROutPort; //1-12-2 - BYTE byIRCmdIndex; //ѧӦ - BYTE byRes[254]; // -}NET_DVR_INFRARED_OUTPUT_CTRL_CFG, *LPNET_DVR_INFRARED_OUTPUT_CTRL_CFG; - -#define MAX_IR_CMD_NAME_LEN 32 //Ƴ -#define MAX_IR_CMD_NUM 32 // - -typedef struct tagNET_DVR_INFRARED_CMD_INFO //Ϣ -{ - char sCmdName[MAX_IR_CMD_NAME_LEN]; // - BYTE byRes[8]; // -} NET_DVR_INFRARED_CMD_INFO,*LPNET_DVR_INFRARED_CMD_INFO; - - -typedef struct tagNET_DVR_INFRARED_LEARN_CODE_CFG_ -{ - DWORD dwSize; //ṹС - BYTE sIROutName[MAX_IR_CMD_NAME_LEN]; // - NET_DVR_INFRARED_CMD_INFO struIRCmdInfo[MAX_IR_CMD_NUM]; //Ϣ - BYTE byRes[256]; -} NET_DVR_INFRARED_CMD_NAME_CFG,*LPNET_DVR_INFRARED_CMD_NAME_CFG; - -typedef enum tagIR_LEARN_SEND_DATA_TYPE_ENUM -{ - ENUM_SENDDATA = 0x0, // - ENUM_SEND_LEARN_IR_CMD_START, //ͺѧ - ENUM_SEND_LEARN_IR_CMD_END = 0x2 //ѧ -}IR_LEARN_SEND_DATA_TYPE_ENUM; - - -typedef struct tagNET_DVR_INFRARED_LEARN_INFO -{ - DWORD dwSize; //ṹС - BYTE byIROutPort; //1-12-2 - BYTE byIRCmdIndex; //ѧӦ - BYTE byRes[30]; // -} NET_DVR_INFRARED_LEARN_INFO, *LPNET_DVR_INFRARED_LEARN_INFO; - -typedef struct tagNET_DVR_INFRARED_LEARN_END -{ - DWORD dwSize; //ṹС - BYTE bySaveLearnInfo; //ѧϢ0-棬1- - BYTE byRes[255]; -} NET_DVR_INFRARED_LEARN_END,*LPNET_DVR_INFRARED_LEARN_END; - -#define MAX_VIDEOIN_TYPE_NUM 10 //ֵ֧ƵԴ - -typedef struct tagNET_DVR_VIDEOIN_TYPE_INFO -{ - WORD wInType; //Դ 0-SDI,1-VGA, 2-HDMI,3-IP,4-PIP - WORD wInNum; //ֵ֧ - WORD wStartNo; //Ӧʼ - BYTE byRes[6]; -}NET_DVR_VIDEOIN_TYPE_INFO, *LPNET_DVR_VIDEOIN_TYPE_INFO; - -typedef struct tagNET_DVR_TRIAL_SYSTEM_INFO -{ - DWORD dwSize ; //ṹС - BYTE byVideoInTypeNum ; //ƵԴ͸ - BYTE byRes1[3]; - NET_DVR_VIDEOIN_TYPE_INFO struVideoIn[MAX_VIDEOIN_TYPE_NUM] ; //ƵԴ - BYTE byRes[512 ] ; // -} NET_DVR_TRIAL_SYSTEM_INFO, *LPNET_DVR_TRIAL_SYSTEM_INFO; - -typedef struct tagNET_DVR_CASE_INFO -{ - DWORD dwSize; //ṹС - BYTE byCaseNo[CASE_NO_LEN]; // - BYTE byCaseName[CASE_NAME_LEN]; //ƣ - BYTE byLitigant1[LITIGANT_LEN]; //1 - BYTE byLitigant2[LITIGANT_LEN]; //2 - BYTE byChiefJudge[CHIEF_JUDGE_LEN];//г - BYTE byCaseType; //ͣ1-°2-°3- sCaseTypeCustomЧ - BYTE byShowCaseInfoTime; /* Ϣʾʱ,λ, ȡֵΧ1~30*/ - BYTE byRes1[2]; // - char sCaseTypeCustom[NET_SDK_CASETYPE_LEN/*32*/];//Զ尸 - BYTE byRes[220]; // -}NET_DVR_CASE_INFO, *LPNET_DVR_CASE_INFO; - -#define MICROPHONE_NUM 16 -#define FAN_NUM 8 -#define FPGA_NUM 8 -#define MAIN_BOARD 8 -#define LOCAL_INPUT_NUM 24 -#define LAMP_STATE_NAME 32 -#define LAMP_NAME 32 -#define FILE_NAME_LEN 32 -typedef struct _NET_DVR_REMOTE_PLAY_ -{ - DWORD dwSize; - BYTE byFileName[FILE_NAME_LEN]; //Ҫŵļ - BYTE byVideoOut[7]; // - BYTE byRes1[5]; - BYTE byType; // 0-壬1-ʼţ2-ֹͣ - BYTE byRes[31]; // -}NET_DVR_REMOTE_PLAY, *LPNET_DVR_REMOTE_PLAY; - -typedef struct _NET_DVR_TRIAL_MICROPHONE_STATUS -{ - DWORD dwSize ; - BYTE byMicrophoneStatus [MICROPHONE_NUM];//˷״̬±ʾ˷0-磬1- - BYTE byRes[32] ; // -}NET_DVR_TRIAL_MICROPHONE_STATUS, *LPNET_DVR_TRIAL_MICROPHONE_STATUS; - -typedef struct _NET_DVR_TRIAL_HOST_STATUS -{ - DWORD dwSize ; - DWORD dwFanSpeed [FAN_NUM];//ת - WORD wMainBoardTemp[MAIN_BOARD]; //¶ - BYTE byFpgaTempWarn [FPGA_NUM]; //0-¶ޱ״̬1-FPGA¶ȱ״̬λ1-ڱ״̬ 0-ޱ״̬ - BYTE byRes[32] ; // -}NET_DVR_TRIAL_HOST_STATUS, *LPNET_DVR_TRIAL_HOST_STATUS; - -typedef struct _NET_DVR_LOCAL_INPUT_INFO_ -{ - DWORD dwSize; - BYTE byChannelName[NAME_LEN] ; //ͨ - BYTE byRes[32] ; // -}NET_DVR_LOCAL_INPUT_INFO, *LPNET_DVR_LOCAL_INPUT_INFO; - -typedef struct tagNET_DVR_LAMP_STATUS -{ - BYTE byEnable; //Ƿ - BYTE byRes1[3]; - BYTE byLampName[LAMP_NAME]; //Lamp ƣ34ΪLamp156Ϊlamp2 - BYTE byLampState1[LAMP_STATE_NAME]; //״̬1Ӧƣ - BYTE byLampState2[LAMP_STATE_NAME]; //״̬2Ӧ - BYTE byLampState3[LAMP_STATE_NAME]; //״̬3Ӧ - BYTE byRes[32]; -}NET_DVR_LAMP_STATUS,*LPNET_DVR_LAMP_STATUS; - -typedef struct _NET_DVR_LAMP_OUT -{ - DWORD dwSize; - NET_DVR_LAMP_STATUS struLampInfo[2]; //0-ʾlamp1,1lamp2 - BYTE byRes[256]; // -}NET_DVR_LAMP_OUT, *LPNET_DVR_LAMP_OUT; - -typedef struct _NET_DVR_LAMP_CONTROL -{ - DWORD dwSize ; - BYTE byLampNo ; //LampţӦLamp± - BYTE byLampStateNo ; //Lamp״̬ 0-壬1-״̬1, 2-״̬2 3-״̬3 ӦLAMP״̬ - BYTE byRes[14] ; // -}NET_DVR_LAMP_CONTROL, *LPNET_DVR_LAMP_CONTROL; - - -//ʵʱϢ -typedef struct tagNET_DVR_TPS_PARAM -{ - BYTE byStart; // ʼ - BYTE byCMD; // ţ01-ָ02-뿪ָ03-ӵ״ָ̬(Ϊ03ʱֻbyLaneStatebyQueueLenЧ)04-Ȧ״̬Ϊ04ʱwLoopStatewStateMaskЧʾbyLane϶ȦĹ״̬ - WORD wSpaceHeadway; //ͷ࣬ - WORD wDeviceID; // 豸ID - WORD wDataLen; // ݳ - BYTE byLane; // Ӧ - BYTE bySpeed; // Ӧ٣KM/H - BYTE byLaneState; // ״̬0-״̬1-ͨ2-ӵ3- - BYTE byQueueLen; // ״̬Ŷӳȣ50ף - WORD wLoopState; //Ȧ״̬ڼλʾȦ״̬״̬1-0-뿪ȦŴӾͷɽԶûڽʱȽţٽȦţȦΨһġ - WORD wStateMask; //Ȧ״̬룬λΪ1ӦwLoopState״̬λЧΪ0ʾЧ - DWORD dwDownwardFlow; //ǰ ϵ³ - DWORD dwUpwardFlow; //ǰ µϳ - BYTE byJamLevel; //ӵµȼbyLaneStateΪ3ʱЧ1-ȣ2-жȣ3-ض - BYTE byVehicleDirection; //0-δ֪1-϶£2-¶ - BYTE byJamFlow; //ӵÿһϱһۼƳϢ - BYTE byChannelizationLane; //ţʾ仯һΪ·ڳĿ - BYTE byVehicleType; //ʶ0- δ֪1- ͳ()2- ()3- γ(С)4- ǻ - BYTE byRes1[5]; // - WORD wTimeHeadway; // ͷʱ࣬ -}NET_DVR_TPS_PARAM, *LPNET_DVR_TPS_PARAM; - -//TPSʵʱϴ -typedef struct tagNET_DVR_TPS_REAL_TIME_INFO -{ - DWORD dwSize; // ṹС - DWORD dwChan;//ͨ - NET_DVR_TIME_V30 struTime; //ʱ - NET_DVR_TPS_PARAM struTPSRealTimeInfo;// ͨͳϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pAddInfoBuffer; -#else - /*Ϣָ,ָNET_DVR_TPS_ADDINFOṹ*/ - BYTE* pAddInfoBuffer; - BYTE byRes2[4]; -#endif - /*ϢʶǷNET_DVR_TPS_ADDINFOṹ壩,0-޸Ϣ, 1-иϢ*/ - BYTE byAddInfoFlag; - BYTE byRes1[3]; // - DWORD dwDeviceIDEx; // 豸IDչ - BYTE byRes[8]; // -}NET_DVR_TPS_REAL_TIME_INFO, *LPNET_DVR_TPS_REAL_TIME_INFO; - -//ͳϢ -typedef struct tagNET_DVR_TPS_LANE_PARAM -{ - BYTE byLane; // Ӧ - BYTE bySpeed; // ƽٶ - WORD wArrivalFlow; // - DWORD dwLightVehicle; // Сͳ - DWORD dwMidVehicle; // ͳ - DWORD dwHeavyVehicle; // ͳ - DWORD dwTimeHeadway; // ͷʱ࣬ - DWORD dwSpaceHeadway; // ͷ࣬ - float fSpaceOccupyRation; // ռռʣٷֱȼ,*1000 - float fTimeOccupyRation; // ʱռʣٷֱȼ,*1000 - BYTE byStoppingTimes; //ƽͣ - BYTE byQueueLen; // ״̬Ŷӳȣ50ף - BYTE byFlag; //ϴʶ0-ʾT1ʱͳƽ,1-ʾT2ʱͳ - BYTE byVehicelNum; // - WORD wDelay; //ƽ - BYTE byRes1[6]; // - DWORD dwNonMotor; // ǻ -}NET_DVR_TPS_LANE_PARAM, *LPNET_DVR_TPS_LANE_PARAM; - -typedef struct tagNET_DVR_PANORAMA_LINKAGE -{ - DWORD dwSize; - BYTE byEnable;//0-رգ1- - BYTE byRes[127]; -}NET_DVR_PANORAMA_LINKAGE, *LPNET_DVR_PANORAMA_LINKAGE; - -// ͨͳϢ -typedef struct tagNET_DVR_TPS_STATISTICS_PARAM -{ - BYTE byStart; // ʼ - BYTE byCMD; // ţ 08-ʱָ - BYTE byRes[2]; // Ԥֽ - WORD wDeviceID; // 豸ID - WORD wDataLen; // ݳ - BYTE byTotalLaneNum; // Ч - BYTE byRes2[3]; - DWORD dwDeviceIDEx; // 豸IDչ - BYTE byRes1[8]; - NET_DVR_TIME_V30 struStartTime; //ͳƿʼʱ - DWORD dwSamplePeriod; //ͳʱ,λ - NET_DVR_TPS_LANE_PARAM struLaneParam[MAX_TPS_RULE/*8*/]; -}NET_DVR_TPS_STATISTICS_PARAM, *LPNET_DVR_TPS_STATISTICS_PARAM; - -//TPSͳƹϴ -typedef struct tagNET_DVR_TPS_STATISTICS_INFO -{ - DWORD dwSize; // ṹС - DWORD dwChan ;//ͨ - NET_DVR_TPS_STATISTICS_PARAM struTPSStatisticsInfo;// ͨͳϢ - DWORD dwJsonLen;//JsonϢ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE* pJsonBuf; -#else - // JsonϢָ,JSONӦEventNotificationAlert Json Block - BYTE* pJsonBuf; - BYTE byRes2[4]; -#endif - BYTE byJsonInfoFlag; //ǷJson͸ݣ0-ޣ1- - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byRes[114]; // -}NET_DVR_TPS_STATISTICS_INFO, *LPNET_DVR_TPS_STATISTICS_INFO; - -#define DPC_CORRECT 1 //У -#define DPC_CORRECT_CANCEL 2 //ȡУ -#define DPC_CROSS_DISPALY_OPEN 3 //ʮֲʾ -#define DPC_CROSS_DISPALY_CLOSE 4 //ʮֲʾر -#define DPC_POINT 5 //У -#define DPC_UP 6 //Уƫ -#define DPC_DOWN 7 //Уƫ -#define DPC_RIGHT 8 //Уƫ -#define DPC_LEFT 9 //Уƫ -#define DPC_ALL_CORRECT 10 //лУ -#define DPC_SAVE 11 //㱣 - -typedef struct tagNET_DVR_DPC_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - WORD wCtrlType ;//ο궨 - /* - ֶУĬΪֶУģʽʹwCtrlTypeͽֶУ - ԶУ豸ԶУٽֶУʱwCtrlTypestruPointЧ - */ - BYTE byDPCMode;//Уģʽ0-ֶУ1-ԶУ - BYTE byRes; - NET_VCA_POINT struPoint; /*ͼƽ꣬һ0-1*/ - BYTE byRes1[64]; -}NET_DVR_DPC_PARAM, *LPNET_DVR_DPC_PARAM; - -//ǾУ(FFC)ֶģʽ -typedef struct tagNET_DVR_FFC_MANUAL_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_FFC_MANUAL_INFO, *LPNET_DVR_FFC_MANUAL_INFO; - -//ǾУ(FFC) -typedef struct tagNET_DVR_FFC_BACKCOMP_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_FFC_BACKCOMP_INFO, *LPNET_DVR_FFC_BACKCOMP_INFO; - -//洢״̬ -typedef struct tagNET_DVR_STORAGE_SERVER_SWITCH_CFG -{ - DWORD dwSize; - /*洢ͼƬأλʾ0-رգ1- - 0-ƶץͼ(ݲ֧) - 1-ץͼ(ݲ֧) - - */ - BYTE byPicEnable[MAX_PIC_SWITCH_STORAGE_SERVER]; - /*洢Ϣأλʾ0-رգ1- - 0-ȶͼ(ݲ֧) - 1-(ݲ֧) - - */ - BYTE byAddInfoEnable[MAX_INFO_SWITCH_STORAGE_SERVER]; - BYTE byRes[324]; -} NET_DVR_STORAGE_SERVER_SWITCH_CFG, -*LPNET_DVR_STORAGE_SERVER_SWITCH_CFG; - -//ǿֹͣȡ֤ -typedef struct tagNET_DVR_FORCESTOP_FORENSICS_CFG -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_FORCESTOP_FORENSICS_CFG, *LPNET_DVR_FORCESTOP_FORENSICS_CFG; - -typedef struct tagNET_DVR_DEC_VCA_ALARM -{ - DWORD dwSize; - DWORD dwDisplayNo; //ܱʾͨ - BYTE bySubWinNo; //ܱӴں - BYTE byRes1[3]; - NET_DVR_TIME_V30 struTime; //ʱ - NET_DVR_PU_STREAM_CFG_V41 struSourceInfo; //ԴϢ - BYTE *byAlarmPic; //ͼƬ - DWORD dwAlarmPicSize; //ͼƬСλֽ - BYTE byRes2[64]; -}NET_DVR_DEC_VCA_ALARM, *LPNET_DVR_DEC_VCA_ALARM; - -typedef struct tagNET_DVR_DEC_VCA_ALARM_LOGO -{ - BYTE byEnableLogo; //Ƿܱlogo0-ӣ0- - BYTE byFlash; //Ƿ˸0-˸0-˸ - WORD wFlashTime; //˸ʱ䣬λ룬ȡֵΧӽȡ - DWORD dwLogoX; //logo X꣬봰ܴС1920*1920 - DWORD dwLogoY; //logo Y - BYTE byRes[32]; -}NET_DVR_DEC_VCA_ALARM_LOGO, *LPNET_DVR_DEC_VCA_ALARM_LOGO; - -typedef struct tagNET_DVR_DEC_VCA_ALARM_PIC -{ - BYTE byUploadPic; //ܱʱǷϴͼƬ0-ϴ0-ϴ - BYTE byOverlayTargetInfo; //ͼƬǷĿϢ0-ӣ0- - BYTE byOverlayRuleInfo; //ͼƬǷܹϢ0-ӣ0- - BYTE byPicQuality; //ͼƬϵ 0- 1-Ϻ 2-һ - /*ͼƬС ͨȡ - 0-CIF 1-QCIF 2-D1 3-UXGA(1600x1200), 4-SVGA(800x600),5-HD720p(1280x720) - 6-VGA 7-XVGA 8-HD900p 9-HD1080 10-2560*1920 - 11-1600*304 12-2048*1536 13-2448*2048, 14-2448*1200 15-2448*800 - 16-XGA(1024*768), 17-SXGA(1280*1024),18-WD1(960*576/960*480), 19-1080i, 20-576*576 - 21-1536*1536, 22-1920*1920, 23-320*240, 24-720*720, 25-1024*768, - 26-1280*1280, 27-1600*600, 28-2048*768, 0xff-Auto(ʹõǰֱ)*/ - BYTE byPicSize; - BYTE byRes[27]; -}NET_DVR_DEC_VCA_ALARM_PIC, *LPNET_DVR_DEC_VCA_ALARM_PIC; - -typedef struct tagNET_DVR_DEC_VCA_ALARM_CFG -{ - DWORD dwSize; - NET_DVR_DEC_VCA_ALARM_LOGO struAlarmLogo; //ܱlogoӲ - NET_DVR_DEC_VCA_ALARM_PIC struAlarmPic; //ܱͼƬ - BYTE byRes[64]; -}NET_DVR_VCA_ALARM_CFG, *LPNET_DVR_DEC_VCA_ALARM_CFG; - -#define MAX_OSD_LEN 64 //OSD -typedef struct tagNET_DVR_OUTPUT_PIC_INFO -{ - DWORD dwSize; - BYTE sPicName[NAME_LEN];//ͼƬ - BYTE byUsed; //ǷѴڣ0-ڣ1- - BYTE byRes[31]; -}NET_DVR_OUTPUT_PIC_INFO,*LPNET_DVR_OUTPUT_PIC_INFO; - -typedef struct tagNET_DVR_OUTPUT_PIC_CFG -{ - DWORD dwSize; - DWORD dwOutputPicNo; //ͼƬ - BYTE byEnable; //logoǷʾ1-ʾ0- - BYTE byRes1[3]; - NET_DVR_RECTCFG_EX struRect;//logoλãڷΧܴСΪ1920*1920 - BYTE byFlash; //Ƿ˸1-˸0-˸ - BYTE byTranslucent; //Ƿ͸1-͸0-͸ - BYTE byRes2[2]; // - DWORD dwOutputPicWinNo; //ͼƬںţ1ֽ豸+1ֽں+2ֽͼƬںţ,ȡȫʱЧ - BYTE byRes3[28]; -}NET_DVR_OUTPUT_PIC_CFG,*LPNET_DVR_OUTPUT_PIC_CFG; - -typedef struct tagNET_DVR_OUTPUT_OSD_CFG -{ - DWORD dwSize; - BYTE byEnable; //OSDǷʾ0-ʾ1-ʾ - BYTE byFontSize; //С1-2-У3-С - BYTE byOSDColor; //OSDɫã0-Ĭϣ 1-ڣ2-ף3-죬4-̣5- - BYTE byRes1[1]; - BYTE byOsdContent[MAX_OSD_LEN]; //OSD - NET_DVR_RECTCFG_EX struRect;//OSDλãڷΧܴСΪ1920*1920 - DWORD dwOsdWinNo; //OSDںţ1ֽ豸+1ֽں+2ֽOSDںţȡʱЧ - BYTE byRes2[32]; // -}NET_DVR_OUTPUT_OSD_CFG,*LPNET_DVR_OUTPUT_OSD_CFG; - -typedef struct tagNET_DVR_CHAN_RELATION_RESOURCE -{ - DWORD dwSize; - DWORD dwDisplayChan; //ʾͨţ1ֽ豸+1ֽڱ+2ֽʾͨţ - BYTE byRelateAudio; //ǷӴƵ - BYTE byRes1[3]; - DWORD dwSubWinNo; //ƵӴںţ1ֽڵǽ+1ֽӴں+2ֽڴںţ - DWORD dwChannel; //ͨţȡȫʱЧ - BYTE byRes2[32]; -}NET_DVR_CHAN_RELATION_RESOURCE, *LPNET_DVR_CHAN_RELATION_RESOURCE; - -typedef struct tagNET_DVR_ALARM_CHAN_ABLITITY -{ - DWORD dwSize; - BYTE bySensorChan[64];//ģͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE byAlarmInChan[64];//ͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE byAlarmOutChan[64];//ͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE by485Chan[64];//485ͨ ±ʾͨ 0-ʾ֧֣1-ʾ֧ - BYTE byRes[128]; -}NET_DVR_ALARM_CHAN_ABLITITY, *LPNET_DVR_ALARM_CHAN_ABLITITY; - -typedef struct -{ - DWORD dwSize; - BYTE byOutScale[8];//±ʾںţ0-ʾ֧֣1-ʾ12V2-ʾ24V - BYTE byRes[16]; -}NET_DVR_OUT_SCALE_CFG, *LPNET_DVR_OUT_SCALE_CFG; - -typedef struct tagNET_DVR_MONITOR_LOCATION_COND -{ - DWORD dwSize; - DWORD dwChan; - /* - 0 ʾ ץMPRģʽ֡ץ IPCʹã - 1 ʾ ץ HVT ģʽ쿨IPCʹã - */ - BYTE byRelateType; - BYTE byRes[63]; // -}NET_DVR_MONITOR_LOCATION_COND, *LPNET_DVR_MONITOR_LOCATION_COND; - -typedef struct tagNET_DVR_MONITOR_LOCATION_CFG -{ - DWORD dwSize; - BYTE byMonitoringSiteID[MAX_ID_LEN/*48*/]; // - BYTE byDeviceID[MAX_ID_LEN/*48*/]; //豸 - BYTE byDirectionNo; //ⷽ,0-,1-,2-,3-˫,4-ɶ,5-,6-,7-ɱ,8- - BYTE byRes1[3]; // - BYTE byMonitorInfo[MONITORSITE_ID_LEN/*48*/]; //Ϣ - BYTE byRes[128]; // -}NET_DVR_MONITOR_LOCATION_CFG, *LPNET_DVR_MONITOR_LOCATION_CFG; - -typedef struct tagNET_DVR_REMOTECONTROL_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_REMOTECONTROL_COND, *LPNET_DVR_REMOTECONTROL_COND; - -typedef struct tagNET_DVR_REMOTECONTROL_STATUS_ -{ - DWORD dwSize; //ṹС - BYTE byAlarmStatus;//״̬0-,1-,2- - BYTE byRes[3]; - WORD wAlarmDealyTime;//ӳʱ䣬λs - WORD wDisAlarmDealyTime;//ӳʱ䣬λs - BYTE byRes1[64]; -} NET_DVR_REMOTECONTROL_STATUS, *LPNET_DVR_REMOTECONTROL_STATUS; - -typedef struct tagNET_DVR_SECURITY_CFG -{ - DWORD dwSize; - BYTE byCommuMode;//˽Эͨģʽ0-ģʽ1-ȫģʽ - BYTE byRes1[2]; - BYTE byWebAuthentication; //web֤ 0-digest1-basic2-digest/basic;Ĭbasic֤ - BYTE byRtspAuthentication; //rtsp֤ 0-disable1-basic2-digest3-digest/basic;Ĭbasic֤ - BYTE byTelnetServer; //telnet 0ã1 - BYTE bySSHServer; //SSH 0(Ĭ)1 - BYTE byIllegalLoginLock; //½, 0-ãĬϣ1- - BYTE byStreamEncryption; // 0-ܣ1- - BYTE byAntiAttack; //Ƿܣ0- ã1-(socketʱ5sر) - BYTE byRes[26]; -}NET_DVR_SECURITY_CFG,*LPNET_DVR_SECURITY_CFG; - -typedef struct tagNET_DVR_PASSWORD_MANAGE_CFG -{ - DWORD dwSize; - BYTE byRes[3]; - BYTE byLockCount; //ӦûIPĴ¼󣬶Ըû0-ֵΪĴ ĬΪ01ʾ¼1Ժû - DWORD dwLockTime; //ʱ䣬ʾʱ䣬λ롣Ϊ0byLockCountΪ0ʱdwLockTimeЧ - BYTE byRes1[128]; //4ֽڶ -} NET_DVR_PASSWORD_MANAGE_CFG,*LPNET_DVR_PASSWORD_MANAGE_CFG; - - -typedef struct tagNET_DVR_UNLOCK_INFO -{ - DWORD dwSize; - BYTE byUnlockType; //0-Ч 1-IP2-IP - BYTE byIPVersion; //1-IPV42-IPV6byUnlockTypeΪ1ʱòЧ - BYTE byRes1[2]; - NET_DVR_IPADDR struIPAddr; //IPַ - BYTE byRes[64]; -} NET_DVR_UNLOCK_INFO,*LPNET_DVR_UNLOCK_INFO; - -typedef struct tagNET_DVR_LOCKED_INFO -{ - DWORD dwSize; - BYTE byIPType; //IP 0-Ч1-IPV42-IPV6 - BYTE byRes1[3]; - NET_DVR_IPADDR struIPAddress; - BYTE byRes[20]; -} NET_DVR_LOCKED_INFO,*LPNET_DVR_LOCKED_INFO; - - -typedef struct tagNET_DVR_VEHICLE_PARA -{ - BYTE sLicense[MAX_LICENSE_LEN]; - /*ֵ - 0-㷨ⲻ֧ʶң1-ݿ˹͹(CZ - Czech Republic)2-(FRA - France) - 3-¹(DE - Germany),4-(E - Spain), 5-(IT - Italy)6-(NL - Netherlands)7-(PL - Poland)8-˹工(SVK - Slovakia), 9-׶˹(BY - Belorussia), 10-Ħ(MDA - Moldova)11-˹(RU - Russia)12-ڿ(UA - Ukraine), - 169-ô(Canada), 172-(US), 227-Ĵ(Australia), 0xfe-޷ʶ - */ - BYTE byCountry; // ֵ - - BYTE byRes[239]; -}NET_DVR_VEHICLE_PARA, *LPNET_DVR_VEHICLE_PARA; - -typedef struct tagNET_DVR_FACE_PIC_DATA_INFO -{ - DWORD dwImageLen; //ͼƬС - NET_VCA_RECT struVcaRect; //ͼڴͼеλãһ - DWORD dwFaceScore; //ƶȣȡֵΧ0-100 - BYTE byVcaRectOnly; //Ƿֻϴ꣺0-1- - BYTE byRes1[3]; - DWORD dwPID; //ͼƬID - DWORD dwFaceSearchNum;// - NET_VCA_RECT struMultiVcaRect[NET_DVR_MAX_FACE_SEARCH_NUM];//ͼڴͼеλãһ, byVcaRectOnly=1ʱã - BYTE byRes[136]; - BYTE *pImage; //ͼƬҪΪjpgʽ -}NET_DVR_FACE_PIC_DATA_INFO, *LPNET_DVR_FACE_PIC_DATA_INFO; - -typedef struct tagNET_DVR_BEHAVIOUR_COND -{ - DWORD dwSearchType; // - //&0x1 - Խ - //&0x2 - - //&0x4 - Ʒ - //&0x8 - Ʒȡ - //&0x10 - - //&0x20 - 뿪 - //&0x40 - Ƿͣ - //&0x80 - ǻ - //&0x100 -Աۼ - //&0x200 - ƶ - //&0x400 - ڼ - //&0x800 - 仯 - //&0x1000 - ˶ - //&0x2000 - Ա - //&0x4000 - Ա - //&0x8000 - Ա - //&0x10000 C̬Ʒ - //&0x20000 C ֻ - BYTE byHumanMisinfo;// ֻȡϢ 0-1- - BYTE byRes[251]; // -}NET_DVR_BEHAVIOUR_COND, *LPNET_DVR_BEHAVIOUR_COND; - - -typedef union tagNET_DVR_SMARTSEARCH_PIC_UNION -{ - BYTE byLen[256]; //峤 - NET_DVR_VEHICLE_PARA struVehiclePara; //Ϣ - NET_VCA_HUMAN_FEATURE struHumaFeature; // - NET_DVR_FACE_PIC_DATA_INFO struHumaPic; //ͼϢѯԶͼƬͼͼܣ - NET_DVR_BEHAVIOUR_COND struBehaviourCond; //Ϊ -}NET_DVR_SMARTSEARCH_PIC_UNION,*LPNET_DVR_SMARTSEARCH_PIC_UNION; - -typedef struct tagNET_DVR_SMART_SEARCH_PIC_PARA //ͼƬṹ size 344 -{ - DWORD dwChanNo; //ͨ - DWORD byStreamID[STREAM_ID_LEN] ; //IDϢdwChanNoȣȼϸߣbyStreamIDΪʱʹIDΪյʹdwChanNoֶ - NET_DVR_TIME_EX struStartTime; //¼ʼʱ - NET_DVR_TIME_EX struEndTime; //¼ֹͣʱ - WORD wSearchType; //ܲ 0- 1-ԣ 2-ͼͼ 3-Ϊ - BYTE byRes1[2]; - NET_DVR_SMARTSEARCH_PIC_UNION uSmartSearchCond; //ܲ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cStartTimeDifferenceH; //ʼʱUTCʱСʱ-12 ... +14 ʾʱ - char cStartTimeDifferenceM; //ʼʱUTCʱӣ-30, 0, 30, 45ʾʱ - char cStopTimeDifferenceH; //ʱUTCʱСʱ-12 ... +14ʾʱ - char cStopTimeDifferenceM; //ʱUTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[59]; -}NET_DVR_SMART_SEARCH_PIC_PARA, *LPNET_DVR_SMART_SEARCH_PIC_PARA; - -//ʶ -typedef struct tagNET_DVR_FACE_SUB_PIC_INFO -{ - DWORD dwSimilarity; //ƶ 0-100 - NET_VCA_RECT struVcaRect; //򣬹һ - BYTE byRes2[236]; // -}NET_DVR_FACE_SUB_PIC_INFO ,*LPNET_DVR_FACE_SUB_PIC_INFO; - - -typedef struct tagNET_DVR_BEHAVIOR_INFO -{ - NET_VCA_RECT struVcaRect; - WORD wPeopleNum; //ͼƬͣNET_DVR_SMART_SEARCH_PIC_RET wPicTypeΪ̬ƷʱЧ - BYTE byRes2[238]; // -}NET_DVR_BEHAVIOR_INFO ,*LPNET_DVR_BEHAVIOR_INFO; - -typedef union tagNET_DVR_PIC_FEATURE_UNION -{ - BYTE byLen[256]; //峤 - NET_DVR_PLATE_INFO struPlateInfo; //Ϣ - NET_DVR_FACE_SUB_PIC_INFO struFaceSubInfo; //ͼϢ - NET_DVR_BEHAVIOR_INFO struBehavior; //ΪӦͼϢ -}NET_DVR_PIC_FEATURE_UNION,*LPNET_DVR_PIC_FEATURE_UNION; - -typedef struct tagNET_DVR_SMART_SEARCH_PIC_RET -{ - char sFileName[PICTURE_NAME_LEN];//ļ - NET_DVR_TIME_EX struTime; //ͼƬץͼʱ - DWORD dwFileSize; //ļĴС - WORD wPicType; //ͼƬ 0- 1-ԣ 2-ͼͼ 3-Խߣ4-֣ 5-Ʒ 6-Ʒȡ 7- 8-뿪 9-Ƿͣ10-ǻ11-Աۼ12-ƶ,13-Աܣ14-˶15-Աأ16-쳣17-ڼ⣬18-Ա19-̬Ʒ 20-ֻ - BYTE byRes1[2]; // - NET_DVR_PIC_FEATURE_UNION uPicFeature; //ͼƬ - BYTE byISO8601; //Ƿ8601ʱʽʱֶǷЧ0-ʱЧʱΪ豸ʱ 1-ʱЧ - char cTimeDifferenceH; //UTCʱСʱ-12 ... +14 ʾʱ - char cTimeDifferenceM; //UTCʱӣ-30, 0, 30, 45ʾʱ - BYTE byRes[29]; -}NET_DVR_SMART_SEARCH_PIC_RET, *LPNET_DVR_SMART_SEARCH_PIC_RET; - -typedef struct tagNET_DVR_T1TEST_SEND_DATA_BUZZER -{ - BYTE byHearSound; //Ƿ 0-δ1- - BYTE byRes[31]; // -}NET_DVR_T1TEST_SEND_DATA_BUZZER,*LPNET_DVR_T1TEST_SEND_DATA_BUZZER; - - -typedef union NET_DVR_T1TEST_DATA_UNION -{ - BYTE byUnionLen[32]; - NET_DVR_T1TEST_SEND_DATA_BUZZER struBuzzer; // - NET_DVR_TIME_V30 struCurTime; //ǰPCʱ -}NET_DVR_T1TEST_DATA_UNION,*LPNET_DVR_T1TEST_DATA_UNION; - - -typedef struct tagNET_DVR_T1TEST_SEND_DATA -{ - DWORD dwSize; //ṹС - BYTE byDataType; // 0-1-pcʱ - BYTE byRes1[3]; - NET_DVR_T1TEST_DATA_UNION uSendData; //͵ - BYTE byRes[64]; -}NET_DVR_T1TEST_SEND_DATA,*LPNET_DVR_T1TEST_SEND_DATA; - -typedef struct tagNET_DVR_PIC_MODEL_CFG //ͼģ -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿ - BYTE byRes[63]; -}NET_DVR_PIC_MODEL_CFG, *LPNET_DVR_PIC_MODEL_CFG; - -typedef struct tagNET_DVR_MOUSE_EVENT_PARAM //Ϣ -{ - DWORD dwSize; //ṹС - BYTE byMouseEvent; //¼ͣ 0-1-˫2-Ҽ3-Ϲ4-¹ - BYTE byRes1[3]; // - NET_VCA_POINT struPoint; //λ꣬һ - BYTE byRes[64]; // -}NET_DVR_MOUSE_EVENT_PARAM, *LPNET_DVR_MOUSE_EVENT_PARAM; - -typedef struct tagNET_DVR_AUTO_LIMIT_WAVE_CFG -{ - BYTE byFBCEnable; //FBC 0-1- - BYTE byMode; //ģʽ, 0-, 1-ͨ,2- - BYTE byFilterQValue; //Ӧ˲QֵλOct, 0-1/40,1-1/10, ĬֵΪ1/40 Oct - BYTE byStaticFilterNum; //̬˲ȡֵΧ0-12 - BYTE byRes[16]; -}NET_DVR_AUTO_LIMIT_WAVE_CFG,*LPNET_DVR_AUTO_LIMIT_WAVE_CFG; - -typedef struct _NET_DVR_DSP_PARAMETER_CFG -{ - BYTE byFBCEnable; //FBC 0-1- - BYTE byVolume; // ȡֵΧ0~255 - BYTE byRes[22]; -}NET_DVR_DSP_PARAMETER_CFG, *LPNET_DVR_DSP_PARAMETER_CFG; - - -typedef struct tagNET_DVR_MIX_AUDIOIN_CFG -{ - DWORD dwSize; //ṹС - DWORD dwHighPassFilter; //ͨ˲ ȡֵΧ 0-127, Ϊ׼ - DWORD dwNoiseMargin; //ޣȡֵΧ 0-127, Ϊ׼ - NET_DVR_AUTO_LIMIT_WAVE_CFG struLimitWave; //Զ޲ƲƵԴΪmacInʱЧ - NET_DVR_DSP_PARAMETER_CFG struDSPParameter; //źŴоƬ - BYTE byRes[40]; -}NET_DVR_MIX_AUDIOIN_CFG,*LPNET_DVR_MIX_AUDIOIN_CFG; - -typedef struct tagNET_DVR_MIX_AUDIOOUT_CFG -{ - DWORD dwSize; //ṹС - BYTE byModulatorEnbale; //Ƿλ - BYTE byPostFilter; //Post Filterأ0-رգ1-ĬϿ - BYTE byLimitPressure; //ѹ޿ 0-رգ1-ĬϿ - BYTE byRes1; // - WORD wModulatorValue; //λ ȡֵΧ 0-127, Ϊ׼Ĭ10 - WORD wTriggerTime; //ѹ޴ʱ䣬ȡֵΧ 0-127, Ϊ׼ - WORD wFreeTime; //ѹͷʱ䣬ȡֵΧ 0-127, Ϊ׼ - BYTE byCompressThreshold; //ѹ 0-1X,1-2X,2-4X,3-8X Xʾ2Xʾ2 - BYTE byCompressMode; //ѹʽ0-Ӳѹ1-ѹĬΪӲѹ - BYTE byCompressRate; //ѹ - BYTE byRecoveryGain; //ظ 0-1X,1-2X,2-4X,3-8X - BYTE byOutputGain; // 0 ~100ֵ - BYTE byOutputMute; //0-رգ1- - int iOutputGainEx; //չֵΪŴ󣬸ֵΪС - BYTE bySoundQualityHanding; //ʴ0-رգ1- - BYTE byRes[55]; -}NET_DVR_MIX_AUDIOOUT_CFG,*LPNET_DVR_MIX_AUDIOOUT_CFG; - -#define MAX_AUDIOOUT_PRO_TYPE 8 //Ƶʽ -typedef struct tagNET_DVR_VOLUME_CFG -{ - DWORD dwSize; //ṹС - WORD wVolume[MAX_AUDIOOUT_PRO_TYPE]; //С ȡֵΧ 0-127, Ϊ׼ - BYTE byPhantomPowerSupply; //ǷʹûԴ(ƵͨΪMICʱЧ)0-壬1-磬2- - BYTE byEnableAEC; //ǷȫֵĻ,0-ã1- - WORD wTalkVolume; //ֶ֧Խ豸ԽʱС - BYTE byEnableFBC[MAX_AUDIOOUT_PRO_TYPE]; //ǷFBC(Х),0-ã1- - WORD wVolumeEx[MAX_AUDIOOUT_PRO_TYPE]; //Сչ ȡֵΧ 0-127, Ϊ׼ - BYTE byRes[4]; // -}NET_DVR_VOLUME_CFG,*LPNET_DVR_VOLUME_CFG; - -typedef struct tagNET_DVR_VIDEOOUT_RESOLUTION_CFG //Ƶڷֱ -{ - DWORD dwSize; //ṹС - BYTE byResolution; //ֱ 0-1024x768, 1-1280x720, 2-1280x1024, 3-1680x1050, 4-1920x1080, 5-3840*2160 - BYTE byRes[63]; -}NET_DVR_VIDEOOUT_RESOLUTION_CFG, *LPNET_DVR_VIDEOOUT_RESOLUTION_CFG; - -typedef struct tagNET_DVR_ADDR_DOMAIN_INFO -{ - BYTE szDomainAddr[MAX_DOMAIN_NAME]; /* IPַ,Ҫ豸,ʽΪĸ'.'Ϊ,ΪIPַ */ - WORD wPort; - BYTE byRes[2]; -}NET_DVR_ADDR_DOMAIN_INFO,*LPNET_DVR_ADDR_DOMAIN_INFO; - -#define MAX_CENTERNUM_V40 6 //ĵַ - -// -typedef struct tagNET_DVR_ALARMCENTER_NETCFG -{ - DWORD dwSize; - BYTE byAuxiliaryAlarmAddr[MAX_DOMAIN_NAME]; /* IPַ,Ҫ豸,ʽΪĸС.Ϊ,ΪIPַ */ - WORD wAuxiliaryAlarmPort; /* ˿ں */ - NET_DVR_ADDR_DOMAIN_INFO struHostAddr[MAX_CENTERNUM_V40]; //ĵַϢ - BYTE byRes[172]; -}NET_DVR_ALARMCENTER_NETCFG, *LPNET_DVR_ALARMCENTER_NETCFG; - -//ṹ -typedef struct tagNET_DVR_ALARM_LINKAGE_PARAM -{ - DWORD dwSize; - WORD wChanRec; //¼NVRͨλʾλʾͨ1λʾͨ16λֵ0-¼1-¼ - BYTE byRes1[2]; - WORD wRecTime[MAX_LINKAGE_CHAN_NUM]; //¼ʱ䣬ֽڱʾbyRecTime[0]ʾͨ1¼ʱ䣬byRecTime[15]ʾͨ16¼ʱ - WORD wChanPic; //ץͼNVRͨλʾλʾͨ1λʾͨ16λֵ0-ץͼ1-ץͼ - BYTE byRes2[2]; - BYTE byPicNum[MAX_LINKAGE_CHAN_NUM]; //ץͼĸֽڱʾbyPicNum[0]ʾͨ1ץͼbyPicNum[15]ʾͨ16ץͼ - BYTE byTriggerEnabled[ALARMHOST_ALARMOUT_NUM];//0-1- - BYTE bySensorJointAlarmOut[ALARMHOST_ALARMOUT_NUM];//ңֵֵΪbyTriggerEnabled䡣±ʾţԪصֵλʾͣͼ""Ĺϵֵ壺1bit0-1bit1-2bit2-3bit3-4bit4- - BYTE byRes3[128]; // -}NET_DVR_ALARM_LINKAGE_PARAM, *LPNET_DVR_ALARM_LINKAGE_PARAM; - - -//״Աϴ ץĻ4.0 -typedef struct tagNET_DVR_ALARM_RADARINFO -{ - DWORD dwSize; - DWORD dwRadarTriggerTimeSecond;//״ﴥʱ䣬 - DWORD dwRadarTriggerTimeMSecond;//״ﴥʱ䣬 - DWORD dwVedioTriggerTimeSecond;//Ƶʱ䣬 - DWORD dwVedioTriggerTimeMSecond;//Ƶʱ䣬 - DWORD dwVedioRadarDiffTimeMSecond;//״Ƶʱ - DWORD dwRadarSpeed;//״ٶ - BYTE byRes[16]; -} NET_DVR_ALARM_RADARINFO, *LPNET_DVR_ALARM_RADARINFO; - -#define MAX_FINGER_PRINT_LEN 768 //ָƳ -typedef struct tagNET_DVR_FINGER_PRINT_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - DWORD dwFingerPrintLen; //ָݳ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //Ҫ·ָƵĶʾ0-·ö1-·ö - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byRes1[30]; - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - BYTE byRes[64]; -}NET_DVR_FINGER_PRINT_CFG,*LPNET_DVR_FINGER_PRINT_CFG; - -typedef struct tagNET_DVR_FINGER_PRINT_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byCardReaderRecvStatus[MAX_CARD_READER_NUM_512]; //ָƶ״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ָģ鲻ߣ3-Իָ4-ڴ5-Ѵڸָƣ6-ѴڸָID7-ǷָID8-ָģ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byTotalStatus; //·ܵ״̬0-ǰָδж1-ж(ָŽеĶ·ˣܳɹ) - BYTE byRes1; - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĿ - DWORD dwCardReaderNo; //0ʾϢbyErrMsgЧֵbyErrMsgӦĶţʲô鿴byCardReaderRecvStatusӦŵֵ0ʱʾ޴Ϣ - BYTE byRes[24]; -}NET_DVR_FINGER_PRINT_STATUS,*LPNET_DVR_FINGER_PRINT_STATUS; - - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶϢʾ - DWORD dwFingerPrintNum; //ûȡȡʱΪ0xffffffffʾȡпϢ - BYTE byFingerPrintID; //ָţЧֵΧΪ-10 0xffʾÿָ - BYTE byCallbackMode; //豸صʽ0-豸ж˷Χ1-ʱ˲Ҳ - BYTE byRes1[26]; // -}NET_DVR_FINGER_PRINT_INFO_COND,*LPNET_DVR_FINGER_PRINT_INFO_COND; - -typedef struct tagNET_DVR_FINGER_PRINT_CFG_V50 -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - DWORD dwFingerPrintLen; //ָݳ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //Ҫ·ָƵĶʾӵλλʾ0-·ö1-·ö - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָƣ2-Ѳָƣ3-ָƣ4-ָ - BYTE byRes1[30]; - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byLeaderFP[MAX_DOOR_NUM_256]; //Ƿ״֤ܣֽڱʾ0-״֤ܣ1-״֤ - BYTE byRes[128]; -}NET_DVR_FINGER_PRINT_CFG_V50, *LPNET_DVR_FINGER_PRINT_CFG_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_STATUS_V50 -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byCardReaderRecvStatus[MAX_CARD_READER_NUM_512]; //ָƶ״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ָģ鲻ߣ3-Իָ4-ڴ5-Ѵڸָƣ6-ѴڸָID7-ǷָID8-ָģã10-ָƶ汾ͣ޷ֹ֧ţ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָƣ2-Ѳָƣ3-ָƣ4-ָ - BYTE byTotalStatus; //·ܵ״̬0-ǰָδж1-ж(ָŽеĶ·ˣܳɹ) - BYTE byRecvStatus; //״̬0-ɹ1-ָŴ2-ָʹ3-Ŵ󣨿Ź񲻷豸Ҫ󣩣4-ָδŻ򿨺ţŻ򿨺ֶΪգ5-Ųڣ6-ָݳΪ07-Ŵ8-Ŵ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĿ - DWORD dwCardReaderNo; //byCardReaderRecvStatusΪ5ʱʾѴָƶӦָƶţ·󷵻ء0ʱʾ޴Ϣ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byErrorEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĹţԱID - BYTE byRes[128]; -}NET_DVR_FINGER_PRINT_STATUS_V50, *LPNET_DVR_FINGER_PRINT_STATUS_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_COND_V50 -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿţֶλȡʱЧʱЧ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶǷЧ0-Ч1-Ч - DWORD dwFingerPrintNum; //ûָȡʱΪ0xffffffffʾȡָϢ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 0xffʾÿָ - BYTE byCallbackMode; //豸صʽ0-豸ж˷أ1-ʱ˲Ҳ - BYTE byRes2[2]; // - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes1[128]; // -}NET_DVR_FINGER_PRINT_INFO_COND_V50, *LPNET_DVR_FINGER_PRINT_INFO_COND_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_BYCARD -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶϢʾ - BYTE byFingerPrintID[MAX_FINGER_PRINT_NUM/*10*/]; //ҪȡָϢ±ֵ꣬ʾ0-ɾ1-ɾָ - BYTE byRes1[34]; // -}NET_DVR_FINGER_PRINT_BYCARD,*LPNET_DVR_FINGER_PRINT_BYCARD; - -typedef struct tagNET_DVR_FINGER_PRINT_BYREADER -{ - DWORD dwCardReaderNo; //ֵʾָƶ - BYTE byClearAllCard; //ǷɾпָϢ0-ɾָϢ1-ɾпָϢ - BYTE byRes1[3]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byRes[548]; // -}NET_DVR_FINGER_PRINT_BYREADER,*LPNET_DVR_FINGER_PRINT_BYREADER; - -typedef union tagNET_DVR_DEL_FINGER_PRINT_MODE -{ - BYTE uLen[588]; //峤 - NET_DVR_FINGER_PRINT_BYCARD struByCard; //ŵķʽɾ - NET_DVR_FINGER_PRINT_BYREADER struByReader; //ķʽɾ -}NET_DVR_DEL_FINGER_PRINT_MODE,*LPNET_DVR_DEL_FINGER_PRINT_MODE; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_CTRL -{ - DWORD dwSize; - BYTE byMode; //ɾʽ0-ŷʽɾ1-ɾ - BYTE byRes1[3]; // - NET_DVR_DEL_FINGER_PRINT_MODE struProcessMode; //ʽ - BYTE byRes[64]; // -}NET_DVR_FINGER_PRINT_INFO_CTRL,*LPNET_DVR_FINGER_PRINT_INFO_CTRL; - -typedef struct tagNET_DVR_FINGER_PRINT_BYCARD_V50 -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEnableCardReader[MAX_CARD_READER_NUM_512]; //ָƵĶϢλʾ - BYTE byFingerPrintID[MAX_FINGER_PRINT_NUM/*10*/]; //Ҫɾָţ±ֵ꣬ʾ0-ɾ1-ɾָ - BYTE byRes1[2]; - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID -}NET_DVR_FINGER_PRINT_BYCARD_V50, *LPNET_DVR_FINGER_PRINT_BYCARD_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_BYREADER_V50 -{ - DWORD dwCardReaderNo; //ֵʾָƶ - BYTE byClearAllCard; //ǷɾпָϢ0-ţԱIDɾָϢ1-ɾпԱIDָϢ - BYTE byRes1[3]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID - BYTE byRes[516]; // -}NET_DVR_FINGER_PRINT_BYREADER_V50, *LPNET_DVR_FINGER_PRINT_BYREADER_V50; - -typedef union tagNET_DVR_DEL_FINGER_PRINT_MODE_V50 -{ - BYTE uLen[588]; //峤 - NET_DVR_FINGER_PRINT_BYCARD_V50 struByCard; //ţԱIDķʽɾ - NET_DVR_FINGER_PRINT_BYREADER_V50 struByReader; //ķʽɾ -}NET_DVR_DEL_FINGER_PRINT_MODE_V50, *LPNET_DVR_DEL_FINGER_PRINT_MODE_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_CTRL_V50 -{ - DWORD dwSize; - BYTE byMode; //ɾʽ0-ţԱIDʽɾ1-ɾ - BYTE byRes1[3]; // - NET_DVR_DEL_FINGER_PRINT_MODE_V50 struProcessMode; //ʽ - BYTE byRes[64]; // -}NET_DVR_FINGER_PRINT_INFO_CTRL_V50, *LPNET_DVR_FINGER_PRINT_INFO_CTRL_V50; - -typedef struct tagNET_DVR_FINGER_PRINT_INFO_STATUS_V50 -{ - DWORD dwSize; - DWORD dwCardReaderNo; //ֵʾָƶ - BYTE byStatus; //״̬0-Ч1-У2-ɾʧܣ3-ɹ - BYTE byRes[63]; // -}NET_DVR_FINGER_PRINT_INFO_STATUS_V50, *LPNET_DVR_FINGER_PRINT_INFO_STATUS_V50; - -typedef enum _ACS_DEV_SUBEVENT_ENUM_ -{ - EVENT_ACS_HOST_ANTI_DISMANTLE = 0, //𱨾 - EVENT_ACS_OFFLINE_ECENT_NEARLY_FULL, //¼90% - EVENT_ACS_NET_BROKEN, //Ͽ - EVENT_ACS_NET_RESUME , //ָ - EVENT_ACS_LOW_BATTERY, //صѹ - EVENT_ACS_BATTERY_RESUME, //صѹָ - EVENT_ACS_AC_OFF, //ϵ - EVENT_ACS_AC_RESUME, //ָ - EVENT_ACS_SD_CARD_FULL, //SD洢 - EVENT_ACS_LINKAGE_CAPTURE_PIC, //ץ¼ - EVENT_ACS_IMAGE_QUALITY_LOW, //ͼʵ - EVENT_ACS_FINGER_PRINT_QUALITY_LOW, //ָͼʵ - EVENT_ACS_BATTERY_ELECTRIC_LOW, //صѹ(豸ʹ) - EVENT_ACS_BATTERY_ELECTRIC_RESUME, //صѹָ(豸ʹ) - EVENT_ACS_FIRE_IMPORT_SHORT_CIRCUIT, //· - EVENT_ACS_FIRE_IMPORT_BROKEN_CIRCUIT, //· - EVENT_ACS_FIRE_IMPORT_RESUME, //ָ - EVENT_ACS_MASTER_RS485_LOOPNODE_BROKEN, //RS485·ڵϿ - EVENT_ACS_MASTER_RS485_LOOPNODE_RESUME, //RS485·ڵָ - EVENT_ACS_LOCAL_CONTROL_OFFLINE, //͵ؿ - EVENT_ACS_LOCAL_CONTROL_RESUME, //͵ؿ߻ָ - EVENT_ACS_LOCAL_DOWNSIDE_RS485_LOOPNODE_BROKEN, //͵RS485·Ͽ - EVENT_ACS_LOCAL_DOWNSIDE_RS485_LOOPNODE_RESUME, //͵RS485·ָ - EVENT_ACS_DISTRACT_CONTROLLER_ONLINE, //ֿ - EVENT_ACS_DISTRACT_CONTROLLER_OFFLINE, //ֿ - EVENT_ACS_FIRE_BUTTON_TRIGGER, //ť - EVENT_ACS_FIRE_BUTTON_RESUME, //ťָ - EVENT_ACS_MAINTENANCE_BUTTON_TRIGGER, //άť - EVENT_ACS_MAINTENANCE_BUTTON_RESUME, //άťָ - EVENT_ACS_EMERGENCY_BUTTON_TRIGGER, //ť - EVENT_ACS_EMERGENCY_BUTTON_RESUME, //ťָ - EVENT_ACS_RES, - EVENT_ACS_SUBMARINEBACK_COMM_BREAK, //뷴DZطͨŶϿ - EVENT_ACS_SUBMARINEBACK_COMM_RESUME, //뷴DZطͨŻָ - EVENT_ACS_REMOTE_ACTUAL_GUARD, //Զʵʱ - EVENT_ACS_REMOTE_ACTUAL_UNGUARD, //Զʵʱ - EVENT_ACS_MOTOR_SENSOR_EXCEPTION, //򴫸쳣 - EVENT_ACS_CAN_BUS_EXCEPTION, //CAN쳣 - EVENT_ACS_CAN_BUS_RESUME, //CAN߻ָ - EVENT_ACS_GATE_TEMPERATURE_OVERRUN, //բǻ¶ȳ - EVENT_ACS_IR_EMITTER_EXCEPTION, //쳣 - EVENT_ACS_IR_EMITTER_RESUME, //ָ - EVENT_ACS_LAMP_BOARD_COMM_EXCEPTION, //ưͨ쳣 - EVENT_ACS_LAMP_BOARD_COMM_RESUME, //ưͨŻָ - EVENT_ACS_IR_ADAPTOR_BOARD_COMM_EXCEPTION, //תӰͨ쳣 - EVENT_ACS_IR_ADAPTOR_BOARD_COMM_RESUME, //תӰͨŻָ - EVENT_ACS_CHANNEL_CONTROLLER_DESMANTLE_ALARM, //ͨ𱨾 - EVENT_ACS_CHANNEL_CONTROLLER_DESMANTLE_RESUME, //ͨ𱨾ָ - EVENT_ACS_CHANNEL_CONTROLLER_FIRE_IMPORT_ALARM, //ͨ뱨 - EVENT_ACS_CHANNEL_CONTROLLER_FIRE_IMPORT_RESUME, //ͨ뱨ָ - EVENT_ACS_STAY_EVENT, //¼ - EVENT_ACS_LEGAL_EVENT_NEARLY_FULL, //ߺϷ¼90% - EVENT_ACS_FIRE_IMPORT_ALARM = 52, //뱨 - EVENT_ACS_NOMASK_ALARM, //δֱ - EVENT_ACS_FIREMATRIX_EVENT, //¼ϴ - EVENT_ACS_HEALTH_INFO_ABNORMAL_LOCK, //Ϣ쳣 - EVENT_ACS_HEALTH_INFO_ABNORMAL_UNLOCK, //Ϣ쳣 - EVENT_ACS_IPC_EVENT //IPC¼ϴ -}ACS_DEV_SUBEVENT_ENUM; - -typedef enum _ACS_ALARM_SUBEVENT_ENUM_ -{ - EVENT_ACS_ALARMIN_SHORT_CIRCUIT = 0, //· - EVENT_ACS_ALARMIN_BROKEN_CIRCUIT, //· - EVENT_ACS_ALARMIN_EXCEPTION, //쳣 - EVENT_ACS_ALARMIN_RESUME, //ָ - EVENT_ACS_CASE_SENSOR_ALARM, //¼뱨 - EVENT_ACS_CASE_SENSOR_RESUME //¼ָ -}ACS_ALARM_SUBEVENT_ENUM; - -typedef enum _ACS_DOOR_SUBEVENT_ENUM_ -{ - EVENT_ACS_LEADER_CARD_OPEN_BEGIN = 0, //׿ſʼ - EVENT_ACS_LEADER_CARD_OPEN_END, //׿Ž - EVENT_ACS_ALWAYS_OPEN_BEGIN , //״̬ʼ - EVENT_ACS_ALWAYS_OPEN_END, //״̬ - EVENT_ACS_ALWAYS_CLOSE_BEGIN, //״̬ʼ - EVENT_ACS_ALWAYS_CLOSE_END, //״̬ - EVENT_ACS_LOCK_OPEN, // - EVENT_ACS_LOCK_CLOSE, //ر - EVENT_ACS_DOOR_BUTTON_PRESS, //Űť - EVENT_ACS_DOOR_BUTTON_RELEASE, //Űťſ - EVENT_ACS_DOOR_OPEN_NORMAL, //ţŴţ - EVENT_ACS_DOOR_CLOSE_NORMAL , //ţŴţ - EVENT_ACS_DOOR_OPEN_ABNORMAL, //쳣򿪣Ŵţ - EVENT_ACS_DOOR_OPEN_TIMEOUT, //Ŵ򿪳ʱŴţ - EVENT_ACS_REMOTE_OPEN_DOOR, //Զ̿ - EVENT_ACS_REMOTE_CLOSE_DOOR, //Զ̹ - EVENT_ACS_REMOTE_ALWAYS_OPEN, //Զ̳ - EVENT_ACS_REMOTE_ALWAYS_CLOSE, //Զ̳ - EVENT_ACS_NOT_BELONG_MULTI_GROUP, //ڶ֤Ⱥ - EVENT_ACS_INVALID_MULTI_VERIFY_PERIOD, //ڶ֤ʱ - EVENT_ACS_MULTI_VERIFY_SUPER_RIGHT_FAIL, //֤ģʽ֤ʧ - EVENT_ACS_MULTI_VERIFY_REMOTE_RIGHT_FAIL, //֤ģʽԶ֤ʧ - EVENT_ACS_MULTI_VERIFY_SUCCESS, //֤ɹ - EVENT_ACS_MULTI_VERIFY_NEED_REMOTE_OPEN, //ض֤ҪԶ̿ - EVENT_ACS_MULTI_VERIFY_SUPERPASSWD_VERIFY_SUCCESS, //֤֤ɹ¼ - EVENT_ACS_MULTI_VERIFY_REPEAT_VERIFY_FAIL, //֤ظ֤ʧ - EVENT_ACS_MULTI_VERIFY_TIMEOUT, //֤ʱʧ - EVENT_ACS_REMOTE_CAPTURE_PIC, //Զץ - EVENT_ACS_DOORBELL_RINGING, // - EVENT_ACS_SECURITY_MODULE_DESMANTLE_ALARM, //ſذȫģ𱨾 - EVENT_ACS_CALL_CENTER, //¼ - EVENT_ACS_FIRSTCARD_AUTHORIZE_BEGIN, //׿Ȩʼ - EVENT_ACS_FIRSTCARD_AUTHORIZE_END, //׿Ȩ - EVENT_ACS_DOORLOCK_INPUT_SHORT_CIRCUIT, //· - EVENT_ACS_DOORLOCK_INPUT_BROKEN_CIRCUIT, //· - EVENT_ACS_DOORLOCK_INPUT_EXCEPTION, //쳣 - EVENT_ACS_DOORCONTACT_INPUT_SHORT_CIRCUIT, //Ŵ· - EVENT_ACS_DOORCONTACT_INPUT_BROKEN_CIRCUIT, //Ŵ· - EVENT_ACS_DOORCONTACT_INPUT_EXCEPTION, //Ŵ쳣 - EVENT_ACS_OPENBUTTON_INPUT_SHORT_CIRCUIT, //Űť· - EVENT_ACS_OPENBUTTON_INPUT_BROKEN_CIRCUIT, //Űť· - EVENT_ACS_OPENBUTTON_INPUT_EXCEPTION, //Űť쳣 - EVENT_ACS_DOORLOCK_OPEN_EXCEPTION, //쳣 - EVENT_ACS_DOORLOCK_OPEN_TIMEOUT, //򿪳ʱ - EVENT_ACS_FIRSTCARD_OPEN_WITHOUT_AUTHORIZE, //׿δȨʧ - EVENT_ACS_CALL_LADDER_RELAY_BREAK, //ݼ̵Ͽ - EVENT_ACS_CALL_LADDER_RELAY_CLOSE, //ݼ̵պ - EVENT_ACS_AUTO_KEY_RELAY_BREAK, //Զ̵Ͽ - EVENT_ACS_AUTO_KEY_RELAY_CLOSE, //Զ̵պ - EVENT_ACS_KEY_CONTROL_RELAY_BREAK, //ݿؼ̵Ͽ - EVENT_ACS_KEY_CONTROL_RELAY_CLOSE, //ݿؼ̵պ - EVENT_ACS_REMOTE_VISITOR_CALL_LADDER, //ÿͺ - EVENT_ACS_REMOTE_HOUSEHOLD_CALL_LADDER, //ס - EVENT_ACS_LEGAL_MESSAGE, //Ϸ - EVENT_ACS_ILLEGAL_MESSAGE, //Ƿ - EVENT_ACS_TRAILING, //βͨ - EVENT_ACS_REVERSE_ACCESS, // - EVENT_ACS_FORCE_ACCESS, //ײ - EVENT_ACS_CLIMBING_OVER_GATE, //Խ - EVENT_ACS_PASSING_TIMEOUT, //ͨгʱ - EVENT_ACS_INTRUSION_ALARM, //󴳱 - EVENT_ACS_FREE_GATE_PASS_NOT_AUTH, //բͨʱδ֤ͨ - EVENT_ACS_DROP_ARM_BLOCK, //ڱ۱赲 - EVENT_ACS_DROP_ARM_BLOCK_RESUME, //ڱ赲 - EVENT_ACS_REMOTE_CONTROL_CLOSE_DOOR, //ң - EVENT_ACS_REMOTE_CONTROL_OPEN_DOOR, //ң - EVENT_ACS_REMOTE_CONTROL_ALWAYS_OPEN_DOOR //ң -}ACS_DOOR_SUBEVENT_ENUM; - -typedef enum _ACS_CARD_READER_SUBEVENT_ENUM_ -{ - EVENT_ACS_STRESS_ALARM = 0, //вȱ - EVENT_ACS_CARD_READER_DESMANTLE_ALARM, //𱨾 - EVENT_ACS_LEGAL_CARD_PASS, //Ϸ֤ͨ - EVENT_ACS_CARD_AND_PSW_PASS, //ˢ֤ͨ - EVENT_ACS_CARD_AND_PSW_FAIL, //ˢ֤ʧ - EVENT_ACS_CARD_AND_PSW_TIMEOUT, //ˢ֤ʱ - EVENT_ACS_CARD_MAX_AUTHENTICATE_FAIL, //֤ʧܳ - EVENT_ACS_CARD_NO_RIGHT, //δȨ - EVENT_ACS_CARD_INVALID_PERIOD, //ǰʱЧ - EVENT_ACS_CARD_OUT_OF_DATE, //Ź - EVENT_ACS_INVALID_CARD, //޴˿ - EVENT_ACS_ANTI_SNEAK_FAIL, //DZ֤ʧ - EVENT_ACS_INTERLOCK_DOOR_NOT_CLOSE, //δر - EVENT_ACS_FINGERPRINT_COMPARE_PASS, //ָƱȶͨ - EVENT_ACS_FINGERPRINT_COMPARE_FAIL, //ָƱȶʧ - EVENT_ACS_CARD_FINGERPRINT_VERIFY_PASS, //ˢָ֤ͨ - EVENT_ACS_CARD_FINGERPRINT_VERIFY_FAIL, //ˢָ֤ʧ - EVENT_ACS_CARD_FINGERPRINT_VERIFY_TIMEOUT, //ˢָ֤ʱ - EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_PASS, //ˢָƼ֤ͨ - EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_FAIL, //ˢָƼ֤ʧ - EVENT_ACS_CARD_FINGERPRINT_PASSWD_VERIFY_TIMEOUT, //ˢָƼ֤ʱ - EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_PASS, //ָƼ֤ͨ - EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_FAIL, //ָƼ֤ʧ - EVENT_ACS_FINGERPRINT_PASSWD_VERIFY_TIMEOUT, //ָƼ֤ʱ - EVENT_ACS_FINGERPRINT_INEXISTENCE, //ָƲ - EVENT_ACS_FACE_VERIFY_PASS, //֤ͨ - EVENT_ACS_FACE_VERIFY_FAIL, //֤ʧ - EVENT_ACS_FACE_AND_FP_VERIFY_PASS, //ָ֤ͨ - EVENT_ACS_FACE_AND_FP_VERIFY_FAIL, //ָ֤ʧ - EVENT_ACS_FACE_AND_FP_VERIFY_TIMEOUT, //ָ֤ʱ - EVENT_ACS_FACE_AND_PW_VERIFY_PASS, //֤ͨ - EVENT_ACS_FACE_AND_PW_VERIFY_FAIL, //֤ʧ - EVENT_ACS_FACE_AND_PW_VERIFY_TIMEOUT, //֤ʱ - EVENT_ACS_FACE_AND_CARD_VERIFY_PASS, //ˢ֤ͨ - EVENT_ACS_FACE_AND_CARD_VERIFY_FAIL, //ˢ֤ʧ - EVENT_ACS_FACE_AND_CARD_VERIFY_TIMEOUT, //ˢ֤ʱ - EVENT_ACS_FACE_AND_PW_AND_FP_VERIFY_PASS, //ָ֤ͨ - EVENT_ACS_FACE_AND_PW_AND_FP_VERIFY_FAIL, //ָ֤ʧ - EVENT_ACS_FACE_AND_PW_AND_FP_VERIFY_TIMEOUT, //ָ֤ʱ - EVENT_ACS_FACE_AND_CARD_AND_FP_VERIFY_PASS, //ˢָ֤ͨ - EVENT_ACS_FACE_AND_CARD_AND_FP_VERIFY_FAIL, //ˢָ֤ʧ - EVENT_ACS_FACE_AND_CARD_AND_FP_VERIFY_TIMEOUT, //ˢָ֤ʱ - EVENT_ACS_EMPLOYEENO_AND_FP_VERIFY_PASS, //żָ֤ͨ - EVENT_ACS_EMPLOYEENO_AND_FP_VERIFY_FAIL, //żָ֤ʧ - EVENT_ACS_EMPLOYEENO_AND_FP_VERIFY_TIMEOUT, //żָ֤ʱ - EVENT_ACS_EMPLOYEENO_AND_FP_AND_PW_VERIFY_PASS, //żָƼ֤ͨ - EVENT_ACS_EMPLOYEENO_AND_FP_AND_PW_VERIFY_FAIL, //żָƼ֤ʧ - EVENT_ACS_EMPLOYEENO_AND_FP_AND_PW_VERIFY_TIMEOUT, //żָƼ֤ʱ - EVENT_ACS_EMPLOYEENO_AND_FACE_VERIFY_PASS, //ż֤ͨ - EVENT_ACS_EMPLOYEENO_AND_FACE_VERIFY_FAIL, //ż֤ʧ - EVENT_ACS_EMPLOYEENO_AND_FACE_VERIFY_TIMEOUT, //ż֤ʱ - EVENT_ACS_FACE_RECOGNIZE_FAIL, //ʶʧ - EVENT_ACS_EMPLOYEENO_AND_PW_PASS, //ż֤ͨ - EVENT_ACS_EMPLOYEENO_AND_PW_FAIL, //ż֤ʧ - EVENT_ACS_EMPLOYEENO_AND_PW_TIMEOUT, //ż֤ʱ - EVENT_ACS_HUMAN_DETECT_FAIL, //˼ʧ - EVENT_ACS_PEOPLE_AND_ID_CARD_COMPARE_PASS, //֤ȶͨ - EVENT_ACS_PEOPLE_AND_ID_CARD_COMPARE_FAIL, //֤ȶʧ - EVENT_ACS_DOOR_OPEN_OR_DORMANT_FAIL, //״̬ջ״̬֤ʧ - EVENT_ACS_AUTH_PLAN_DORMANT_FAIL, //֤ƻģʽ֤ʧ - EVENT_ACS_CARD_ENCRYPT_VERIFY_FAIL, //Уʧ - EVENT_ACS_SUBMARINEBACK_REPLY_FAIL, //DZطӦʧ - EVENT_ACS_PASSWORD_MISMATCH, //벻ƥ - EVENT_ACS_EMPLOYEE_NO_NOT_EXIST, //Ų - EVENT_ACS_COMBINED_VERIFY_PASS, //֤ͨ - EVENT_ACS_COMBINED_VERIFY_TIMEOUT, //֤ʱ - EVENT_ACS_VERIFY_MODE_MISMATCH, //֤ʽƥ - EVENT_ACS_PSW_ERROR_OVER_TIMES, //֤ 67 - EVENT_ACS_PSW_VERIFY_PASS, //֤ͨ - EVENT_ACS_PSW_VERIFY_FAIL, //֤ʧ - EVENT_ACS_ORCODE_VERIFY_PASS, //ά֤ͨ - EVENT_ACS_ORCODE_VERIFY_FAIL, //ά֤ʧ - EVENT_ACS_HOUSEHOLDER_AUTHORIZE_PASS, //Ȩ֤ͨ - EVENT_ACS_BLUETOOTH_VERIFY_PASS, //֤ͨ - EVENT_ACS_BLUETOOTH_VERIFY_FAIL, //֤ʧ 74 - EVENT_ACS_INFORMAL_MIFARE_CARD_VERIFY_FAIL, //Mifare֤ʧ - EVENT_ACS_CPU_CARD_ENCRYPT_VERIFY_FAIL, //CPUУʧ - EVENT_ACS_NFC_DISABLE_VERIFY_FAIL, //NFCܹر֤ʧ - EVENT_ACS_EM_CARD_RECOGNIZE_NOT_ENABLED, //EMʶδ - EVENT_ACS_M1_CARD_RECOGNIZE_NOT_ENABLED, //M1ʶδ - EVENT_ACS_CPU_CARD_RECOGNIZE_NOT_ENABLED, //CPUʶδ - EVENT_ACS_ID_CARD_RECOGNIZE_NOT_ENABLED, //֤ʶδ - EVENT_ACS_CARD_SET_SECRET_KEY_FAIL, //װԿʧ - EVENT_ACS_DESFIRE_CARD_ENCRYPT_VERIFY_FAIL, //DesfireУʧ - EVENT_ACS_DESFIRE_CARD_RECOGNIZE_NOT_ENABLED, //Desfireʶδ - EVENT_ACS_IRIS_VERIFY_PASS, //Ĥ֤ͨ - EVENT_ACS_IRIS_VERIFY_FAIL, //Ĥ֤ʧ - EVENT_ACS_IRIS_BIOASSAY_FAIL, //Ĥʧ - EVENT_ACS_FELICA_CARD_RECOGNIZE_NOT_ENABLED, //Felicaʶδ - EVENT_ACS_ORCODE_RECOGNIZE_PASS //άʶɹά¼κ֤ -}ACS_CARD_READER_SUBEVENT_ENUM; - -typedef struct tagNET_DVR_EVENT_LINKAGE_INFO -{ - WORD wMainEventType; //¼ͣ0-豸¼1-¼2-¼3-¼ - WORD wSubEventType; //¼ - BYTE byRes[28]; -}NET_DVR_EVENT_LINKAGE_INFO,*LPNET_DVR_EVENT_LINKAGE_INFO; - -typedef union tagNET_DVR_EVETN_CARD_LINKAGE_UNION -{ - BYTE byCardNo[ACS_CARD_NO_LEN]; // - NET_DVR_EVENT_LINKAGE_INFO struEventLinkage; //¼ʱ - BYTE byMACAddr[MACADDR_LEN]; //MACַ - BYTE byEmployeeNo[NET_SDK_EMPLOYEE_NO_LEN]; //ţԱID -}NET_DVR_EVETN_CARD_LINKAGE_UNION,*LPNET_DVR_EVETN_CARD_LINKAGE_UNION; - -typedef struct tagNET_DVR_EVENT_CARD_LINKAGE_CFG -{ - DWORD dwSize; //ṹС - BYTE byProMode; //ʽ0-¼1- - BYTE byRes1[3]; - DWORD dwEventSourceID; //¼ԴIDΪ豸¼ʱЧ ¼ʱΪű;Ϊ¼ʱΪID;Ϊ¼ʱΪID¼ID - NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //ʽ - BYTE byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM]; //ıţʾΪ0ʾΪ1ʾ - BYTE byRes2[32]; // - BYTE byOpenDoor[MAX_DOOR_NUM_256]; //ʾ,Ƿţ0-1- - BYTE byCloseDoor[MAX_DOOR_NUM_256]; //ʾ,Ƿţ0-1- - BYTE byNormalOpen[MAX_DOOR_NUM_256]; //ʾ,Ƿ0-1- - BYTE byNormalClose[MAX_DOOR_NUM_256]; //ʾ,Ƿأ0-1- - BYTE byMainDevBuzzer; // 0-1- - BYTE byCapturePic; //Ƿץģ0-ץģ1-ץ - BYTE byRecordVideo; //Ƿ¼0-¼1-¼ - BYTE byRes3[29]; // - BYTE byReaderBuzzer[MAX_CARD_READER_NUM_512]; //ʾ0-1- - BYTE byRes[128]; // -}NET_DVR_EVENT_CARD_LINKAGE_CFG,*LPNET_DVR_EVENT_CARD_LINKAGE_CFG; - -typedef struct tagNET_DVR_EVENT_LINKAGE_CARD_CFG_V50 -{ - DWORD dwSize; //ṹС - BYTE byProMode; //ʽ0-¼1-, 2-MACַ - BYTE byRes1[3]; - DWORD dwEventSourceID; //¼ԴIDΪ豸¼ʱЧ ¼ʱΪű;Ϊ¼ʱΪID;Ϊ¼ʱΪID¼ID0xffffffffʾȫ - NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //ʽ - BYTE byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM]; //ıţλʾΪ0ʾΪ1ʾ - BYTE byRes2[32]; // - BYTE byOpenDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byCloseDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byNormalOpen[MAX_DOOR_NUM_256]; //λʾ,Ƿ0-1- - BYTE byNormalClose[MAX_DOOR_NUM_256]; //λʾ,Ƿأ0-1- - BYTE byMainDevBuzzer; // 0-1- - BYTE byCapturePic; //Ƿץģ0-ץģ1-ץ - BYTE byRecordVideo; //Ƿ¼0-¼1-¼ - BYTE byRes3[29]; // - BYTE byReaderBuzzer[MAX_CARD_READER_NUM_512]; //λʾ0-1- - BYTE byAlarmOutClose[MAX_ALARMHOST_ALARMOUT_NUM]; //رգֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInSetup[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInClose[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byRes[500]; // -}NET_DVR_EVENT_CARD_LINKAGE_CFG_V50, *LPNET_DVR_EVENT_CARD_LINKAGE_CFG_V50; - -typedef struct tagNET_DVR_EVENT_LINKAGE_CARD_CFG_V51 -{ - DWORD dwSize; //ṹС - BYTE byProMode; //ʽ0-¼1-ţ2-MACַ3-ţԱID - BYTE byRes1[3]; - DWORD dwEventSourceID; //¼ԴIDΪ豸¼ʱЧ ¼ʱΪű;Ϊ¼ʱΪID;Ϊ¼ʱΪID¼ID0xffffffffʾȫ - NET_DVR_EVETN_CARD_LINKAGE_UNION uLinkageInfo; //ʽ - BYTE byAlarmout[MAX_ALARMHOST_ALARMOUT_NUM]; //ıţλʾΪ0ʾΪ1ʾ - BYTE byRes2[32]; // - BYTE byOpenDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byCloseDoor[MAX_DOOR_NUM_256]; //λʾ,Ƿţ0-1- - BYTE byNormalOpen[MAX_DOOR_NUM_256]; //λʾ,Ƿ0-1- - BYTE byNormalClose[MAX_DOOR_NUM_256]; //λʾ,Ƿأ0-1- - BYTE byMainDevBuzzer; // 0-1- - BYTE byCapturePic; //Ƿץģ0-ץģ1-ץ - BYTE byRecordVideo; //Ƿ¼0-¼1-¼ - BYTE byMainDevStopBuzzer; //ֹͣ 0-1- - WORD wAudioDisplayID; //ID0-ĿǰΧ1-32 - BYTE byAudioDisplayMode; //ģʽ0-رգ1-βţ2-ѭ - BYTE byRes3[25]; // - BYTE byReaderBuzzer[MAX_CARD_READER_NUM_512]; //λʾ0-1- - BYTE byAlarmOutClose[MAX_ALARMHOST_ALARMOUT_NUM]; //رգֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInSetup[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byAlarmInClose[MAX_ALARMHOST_ALARMIN_NUM]; //ֽڱʾΪ0ʾΪ1ʾ - BYTE byReaderStopBuzzer[MAX_CARD_READER_NUM_512]; //ֹֽͣڱʾ0-1- - BYTE byRes[512]; // -}NET_DVR_EVENT_CARD_LINKAGE_CFG_V51, *LPNET_DVR_EVENT_CARD_LINKAGE_CFG_V51; - -typedef struct tagNET_DVR_EVENT_CARD_LINKAGE_COND -{ - DWORD dwSize; - DWORD dwEventID; //¼ID - WORD wLocalControllerID; //͵ؿ[1,64] - BYTE byRes[106]; -}NET_DVR_EVENT_CARD_LINKAGE_COND, *LPNET_DVR_EVENT_CARD_LINKAGE_COND; - -typedef struct tagNET_DVR_RIGHT_CONTROLLER_AUDIO_PARAM -{ - DWORD dwSize; - DWORD dwFileSize; //ļСλֽڣϴƵļʱЧƵļʱЧ - DWORD dwAudioID; //ƵID0xffffffffϴ/ȫƵļĿǰ豸֧ȫϴ/أֵ֧ƵIDϴ/أ - BYTE byRes[256]; -}NET_DVR_RIGHT_CONTROLLER_AUDIO_PARAM, *LPNET_DVR_RIGHT_CONTROLLER_AUDIO_PARAM; - -//ͻ궨ļṹ -typedef struct tagNET_DVR_CLIENT_CALIBFILE_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel; //ͨ - BYTE byFileType; //0-3200W궨ļ,1-800W궨ļ - BYTE byRes[22]; -}NET_DVR_CLIENT_CALIBFILE_PARAM, *LPNET_DVR_CLIENT_CALIBFILE_PARAM; - -typedef struct tagNET_DVR_RATIOSTITCHING_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel;// senorƴӺͨ - BYTE byRes[23]; -}NET_DVR_RATIOSTITCHING_PARAM, *LPNET_DVR_RATIOSTITCHING_PARAM; - -//ǽزļ -typedef struct tagNET_DVR_VIDEOWALL_MATERIAL_COND -{ - DWORD dwSize; - BYTE byWallNo; //ǽǽţ1ʼ - BYTE byWindowType; //ͣ0-ͼĴ,1-Ļ - BYTE byFileType; //ļͣ0-ͼƬ - BYTE byRes1; //ֽ - DWORD dwWindowNo; //ڱţ1ʼ - DWORD dwMaterialNo; //زıţ1ʼ - BYTE byRes[32]; -}NET_DVR_VIDEOWALL_MATERIAL_COND, *LPNET_DVR_VIDEOWALL_MATERIAL_COND; - -//3200Wṹ -typedef struct tagNET_DVR_CORRECT_TABLE_3200W_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel; //ͨ - BYTE byFileType; //0-3200W궨ļ,1-800W궨ļ - BYTE byRes[22]; -}NET_DVR_CORRECT_TABLE_3200W_PARAM, *LPNET_DVR_CORRECT_TABLE_3200W_PARAM; - -//ͨץͼļṹ -typedef struct tagNET_DVR_FOUR_CAMERAS_PICTURES -{ - DWORD dwSize; - DWORD dwFileLen; //ļС - BYTE byChannel; //ͨ - BYTE byRes[23]; -}NET_DVR_FOUR_CAMERAS_PICTURES, *LPNET_DVR_FOUR_CAMERAS_PICTURES; - -// ָͺű궨ļṹ -typedef struct tagNET_DVR_DEVTYPE_CALIBFILE_PARAM -{ - DWORD dwSize; - DWORD dwFileLen; //ļ - BYTE byChannel; //ͨ - BYTE byFileType; //0-3200W궨ļ,1-800W궨ļ - BYTE byRes[22]; -}NET_DVR_DEVTYPE_CALIBFILE_PARAM, *LPNET_DVR_DEVTYPE_CALIBFILE_PARAM; - -typedef struct tagNET_DVR_ANTI_SNEAK_HOST_INFO -{ - NET_DVR_ADDRESS struDVRIP; //IPַ - BYTE byIsStartAddr; //ǷΪʼַ0-1- - BYTE byHostNo; //ţ1-8Ҫڶ˳ - BYTE byRes[34]; // -}NET_DVR_ANTI_SNEAK_HOST_INFO,*LPNET_DVR_ANTI_SNEAK_HOST_INFO; - -typedef struct tagNET_DVR_ANTI_SNEAK_HOST_READER_INFO -{ - BYTE byAntiSnealHostNo; //DZ - BYTE byRes[5]; // - WORD wFollowUpCardReader; //÷DZµĶ -}NET_DVR_ANTI_SNEAK_HOST_READER_INFO, *LPNET_DVR_ANTI_SNEAK_HOST_READER_INFO; - -typedef struct tagNET_DVR_ANTI_SNEAK_MULTI_HOST_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ뷴DZ·1-룬0- - BYTE byRes1[3]; - NET_DVR_ANTI_SNEAK_HOST_INFO struSneakHost[MAX_SNEAK_PATH_NODE]; //ַϢ - NET_DVR_ANTI_SNEAK_HOST_READER_INFO struStartReader; //ʼ ȫΪ0ʱʾעĸʼ - BYTE byRes2[128]; -}NET_DVR_ANTI_SNEAK_MULTI_HOST_CFG, *LPNET_DVR_ANTI_SNEAK_MULTI_HOST_CFG; - -typedef struct tagNET_DVR_ANTI_SNEAK_READER_CFG -{ - BYTE byEnable; //Ƿ뷴DZ·1-룬0- - BYTE byAntiSnealHostNo; //DZ - WORD wReaderID; //ID - NET_DVR_ANTI_SNEAK_HOST_READER_INFO struSneakReaderInfo[MAX_SNEAK_PATH_NODE]; // - BYTE byRes2[8]; -}NET_DVR_ANTI_SNEAK_READER_CFG, *LPNET_DVR_ANTI_SNEAK_READER_CFG; - -typedef struct tagNET_DVR_ANTI_SNEAK_MULTI_HOST_READERS_CFG -{ - DWORD dwSize; - NET_DVR_ANTI_SNEAK_READER_CFG struReaderCfg[MAX_READER_ROUTE_NUM]; //Ϣ - BYTE byRes[128]; -}NET_DVR_ANTI_SNEAK_MULTI_HOST_READERS_CFG, *LPNET_DVR_ANTI_SNEAK_MULTI_HOST_READERS_CFG; - -typedef struct tagNET_DVR_ACS_CFG -{ - DWORD dwSize; //ṹС - BYTE byRS485Backup; //ǷRS485ͨűݹܣ0-ã1- - BYTE byShowCapPic; //ǷʾץͼƬ 0-ʾ1-ʾ - BYTE byShowCardNo; //Ƿʾţ0-ʾ1-ʾ - BYTE byShowUserInfo; //ǷʾûϢ0-ʾ1-ʾ - BYTE byOverlayUserInfo;//ǷûϢ0-ӣ1- - BYTE byVoicePrompt; //Ƿʾ0-ã1- - BYTE byUploadCapPic; //ץǷϴͼƬ0-ϴ1-ϴ - BYTE bySaveCapPic; //Ƿ񱣴ץͼƬ0-棬1- - BYTE byInputCardNo; //ǷǷ뿨ţ0-1- - BYTE byEnableWifiDetect; //Ƿwifi̽룬0-1- - BYTE byEnable3G4G; //3G4Gʹܣ0-ʹܣ1-ʹ - BYTE byProtocol;//ͨЭͣ0-˽Э飨Ĭϣ1-OSDPЭ - BYTE byRes[500]; -}NET_DVR_ACS_CFG, *LPNET_DVR_ACS_CFG; - -typedef struct tagNET_DVR_PLATFORM_VERIFY_CFG -{ - DWORD dwSize; - DWORD dwDoorNo; //ű - BYTE byResultType; //֤ͣ0Ƿ1Ϸ - BYTE byRes1[3]; - BYTE byScreenDisplay[MAX_SCREEN_DISPLAY_LEN]; //LEDĻʾʾ֤Ϣ - BYTE byRes[300]; // ֽ -}NET_DVR_PLATFORM_VERIFY_CFG, *LPNET_DVR_PLATFORM_VERIFY_CFG; - -typedef struct tagNET_DVR_PERSON_STATISTICS_CFG -{ - DWORD dwSize; - BYTE byEnableStatistics; //Ƿͳƣ01 - BYTE byEnableOfflineStatistics; //Ƿͳƣ01 - BYTE byCountSignalStatisticalStandard; //źͳƱ׼0Ч1ͨͳƣ2֤ͳ - BYTE byRes[605]; -}NET_DVR_PERSON_STATISTICS_CFG, *LPNET_DVR_PERSON_STATISTICS_CFG; - -typedef struct tagNET_DVR_ACS_SCREEN_DISPLAY_CFG -{ - DWORD dwSize; - DWORD dwFontSize; //С[1,10] - DWORD dwRowSpacing; //м࣬λص㣻 - DWORD dwColumnSpacing; //м࣬λص㣻 - DWORD dwFirstRowPosition; //ʼλĻһֿ飬00 11/8: 22/8 33/8 44/8 55/8 66/8: 77/8 - BYTE byDegree; //ַʾǶȣ0-0ȣ1-90ȣţ - BYTE byScreenType; //Ļͣ0-DC48270RS043_01T1-DC80480B070_03T - BYTE byRes[306]; -}NET_DVR_ACS_SCREEN_DISPLAY_CFG, *LPNET_DVR_ACS_SCREEN_DISPLAY_CFG; - -typedef struct tagNET_DVR_GATE_TIME_CFG -{ - DWORD dwSize; - DWORD dwHoldOnALarmTime; //ʱ䣬λms - DWORD dwHoldOnGateOpenTime; //բյرǰִ״̬ʱ䣬λms - DWORD dwPostponeIntrusionAlarmTime; //ƳٴƭΪʱ䣬λms - DWORD dwNoLaneAccessTimeLimitTime; //ͨյЧ֤ͨźţͨгʱʱ䣬λs - DWORD dwSafetyZoneStayTime; //ͨյЧ֤ͨźţ˿͵ﰲȫͨʱʱ䣬λs - BYTE byIRTriggerTimeoutTime; //ⴥʱʱ䣬λ루0-255 - BYTE byRes[299]; -}NET_DVR_GATE_TIME_CFG, *LPNET_DVR_GATE_TIME_CFG; - - -typedef struct tagNET_DVR_CARD_PASSWD_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byCardPassword[CARD_PASSWORD_LEN]; // - DWORD dwErrorCode; //ȡ뿪ʹ÷صĴ룬ɹΪ0ʧܷش - BYTE byCardValid; //ǷЧ0-Ч1-ЧɾʱΪ0ɾȡʱֶʼΪ1 - BYTE byRes2[23]; -}NET_DVR_CARD_PASSWD_CFG, *LPNET_DVR_CARD_PASSWD_CFG; - -typedef struct tagNET_DVR_CARD_PASSWD_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - DWORD dwErrorCode; //Ϳ뿪ʹ÷صĴ룬ɹΪ0ʧܷش - BYTE byRes2[24]; -}NET_DVR_CARD_PASSWD_STATUS, *LPNET_DVR_CARD_PASSWD_STATUS; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes[64]; -} NET_DVR_VEHICLE_RECOG_COND, *LPNET_DVR_VEHICLE_RECOG_COND; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_CFG -{ - DWORD dwSize; - //ˮ ͣϴNET_DVR_VEHICLE_RECOG_RESULTеֶsDataIndexӦ - char sDataIndex[DATA_INDEX_LEN]; - // (ϴNET_DVR_VEHICLE_RECOG_RESULTеֶdwTaskNoӦ) - WORD wTaskNo; - BYTE byRes1[2]; - NET_VCA_RECT struPlateRect;//λ - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - /* - ͼƬʶ - bit0-ʶ0-ʶ1-ʶ - bit1-ʶ0-ʶ1-ʶ - bit2-ɫʶ0-ʶ1-ʶ - bit3-Ʒʶ0-ʶ1-ʶ - bit4-ڵʶ(ʻ)0-ʶ1-ʶ - bit5-ȫʶ(ʻ)0-ʶ1-ʶ - bit6-ڵʶ(ʻ)0-ʶ1-ʶ - bit7-ȫʶ(ʻ)0-ʶ1-ʶ - bit8-ͼƬʹܣ0-ʶ1-ʶ - bit9-ϴͼƬʹ(ͨSDK)0-ʶ1-ʶ - bit10-ϴͼƬʹ(ͨURL)0-ʶ1-ʶ - bit11-Ʊ공0-ʶ1-ʶ - bit12-ֻ0-ʶ1-ʶ - bit13-Ҽ0-ʶ1-ʶ - bit14-ΣƷ: 0-ʶ1-ʶ - bit15-촰վ˼: 0-ʶ1-ʶ - */ - DWORD dwRecogOperate; - /* - ͼƬϴ - bit0-ͼƬ0-ϴ1-ϴ - bit1-ͼƬ0-ϴ1-ϴ - bit2-ͼ(ʻ)0-ϴ1-ϴ - bit3-ͼ(ʻ)0-ϴ1-ϴ - bit4-ȫͼ(ʻ)0-ϴ1-ϴ - bit5-ȫͼ(ʻ)0-ϴ1-ϴ - */ - DWORD dwDataUploadType; - DWORD dwPostID;//ID - NET_DVR_TIME_V30 struPostTime;//ʱ - DWORD dwJsonLen; //Json͸ݳ - BYTE *pJsonBuffer;//Jsonָ,ο4.2.4Jsonݸʽ - BYTE byRes[107]; - BYTE byPicDataType;//ͼƬͣ0-ͼƬݣ1-URL - //ͼƬ - //byPicDataType == 0ʱ򣬸ֶڵЧͼƬڽṹ - //byPicDataType == 1ʱָͼƬURLϢ - char sPicDataPath[256]; -}NET_DVR_VEHICLE_RECOG_CFG, *LPNET_DVR_VEHICLE_RECOG_CFG; - -typedef struct tagNET_DVR_VEHICLERECOG_TASK_RESULT -{ - DWORD dwSize; - //豸ˮ,ÿύ豸Ψһˮŷظϲ㡣 - char sDevDataIndex[MAX_DEV_DATAINDEX_LEN/*64*/]; - BYTE byRes[256]; -}NET_DVR_VEHICLERECOG_TASK_RESULT, *LPNET_DVR_VEHICLERECOG_TASK_RESULT; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_TASK_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char sDataIndex[DATA_INDEX_LEN];//ˮ ȫ0ʱʾȡȫ - WORD wTaskNo;// ֵΪ0ʱʾȫ - /* - ״̬ - bit0-״̬0-ѯ1-ѯ - bit1-ִе0-ѯ1-ѯ - bit2-ȴе0-ѯ1-ѯ - */ - BYTE byTask; - BYTE byRes1; - //豸ˮŲѯ,ÿύ豸Ψһˮš - char sDevDataIndex[MAX_DEV_DATAINDEX_LEN/*64*/]; - BYTE byRes[60]; -}NET_DVR_VEHICLE_RECOG_TASK_COND, *LPNET_DVR_VEHICLE_RECOG_TASK_COND; - -//ṹ -typedef struct tagNET_DVR_VEHICLE_RECOG_TASK_INFO -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char sDataIndex[DATA_INDEX_LEN];//ˮ - WORD wTaskNo;// - WORD wTaskProgress;//ִнȣʵʽ*1000 - BYTE byTaskState;//״̬0-ȴУ1-ִУ2- - BYTE byRes1[3]; - /* - ͼƬʶ - bit0-ʶ0-ʶ1-ʶ - bit1-ʶ0-ʶ1-ʶ - bit2-ɫʶ0-ʶ1-ʶ - bit3-Ʒʶ0-ʶ1-ʶ - bit4-ڵʶ(ʻ)0-ʶ1-ʶ - bit5-ȫʶ(ʻ)0-ʶ1-ʶ - bit6-ڵʶ(ʻ)0-ʶ1-ʶ - bit7-ȫʶ(ʻ)0-ʶ1-ʶ - bit8-ͼƬʹܣ0-ʶ1-ʶ - bit9-ϴͼƬʹ(ͨSDK)0-ʶ1-ʶ - bit10-ϴͼƬʹ(ͨURL)0-ʶ1-ʶ - bit11-Ʊ공0-ʶ1-ʶ - bit12-ֻ0-ʶ1-ʶ - bit13-Ҽ0-ʶ1-ʶ - bit14-ΣƷ: 0-ʶ1-ʶ - bit15-촰վ˼: 0-ʶ1-ʶ - */ - DWORD dwRecogOperate; - DWORD dwPostID;//ID - NET_DVR_TIME_V30 struPostTime;//ʱ - DWORD dwJsonLen; //Json͸ݳȣԤJSONݲʵ֣ - BYTE *pJsonBuffer;//Jsonָ, ԤJSONݲʵ֣ - BYTE byRes[104]; -}NET_DVR_VEHICLE_RECOG_TASK_INFO, *LPNET_DVR_VEHICLE_RECOG_TASK_INFO; - -typedef struct tagNET_DVR_VEHICLE_RECOG_RESULT -{ - DWORD dwSize; //ṹ - //ˮ ͣύNET_DVR_VEHICLE_RECOG_CFGеֶsDataIndexӦ - char sDataIndex[DATA_INDEX_LEN]; - // (ύNET_DVR_VEHICLE_RECOG_CFGеֶwTaskNoӦ) - WORD wTaskNo; - BYTE byRes[2]; - NET_VCA_RECT struPlateRect;//λ - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - BYTE byVehicleType; //ͣοVTR_RESULT - BYTE byColorDepth; //ɫdzο 0-ɫ1-dzɫ - BYTE byColor; //ɫ, οVCR_CLR_CLASS - BYTE byVehicleLogoRecog; //Ʒ - BYTE byVehicleSubLogoRecog; //Ʒ - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byVehicleModel;// οĵ Ʒ - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" - BYTE byRes1[251]; - // 0-ֱϴ; 1-ƴ洢URLԭȵͼƬݱURLݣͼƬȱURL - BYTE byDataType; - /* - ϴͼƬϢ: - bit0-ͼ0-ϴ1-ϴ - bit1-ͼ0-ϴ1-ϴ - bit2-ͼ(ʻ)0-ϴ1-ϴ - bit3-ͼ(ʻ)0-ϴ1-ϴ - bit4-ȫʶ(ʻ)0-ϴ1-ϴ - bit5-ȫʶ(ʻ)0-ϴ1-ϴ - */ - DWORD dwPicType; //0:ͼƬϢ;: ͼ;:ͼ; - BYTE *pVehicleBuffer; //ͼƬָ - DWORD dwVehicleBufferLen ;// ͼƬݳ - BYTE *pPlateBuffer; //ͼƬָ - DWORD dwPlateBufferLen ;// ͼƬݳ - BYTE *pPilotFaceBuffer; //ͼ(ʻ)ͼƬָ - DWORD dwPilotFaceBufferLen ;// ͼ(ʻ)ͼƬݳ - BYTE *pCopilotFaceBuffer; //ͼ(ʻ)ͼƬָ - DWORD dwCopilotFaceBufferLen ;// ͼ(ʻ)ͼƬݳ - BYTE *pPilotSafebeltBuffer; //ȫʶ(ʻ)ͼƬָ - DWORD dwPilotSafebeltBufferLen ;// ȫʶ(ʻ)ͼƬݳ - BYTE *pCopilotSafebeltBuffer;// ȫʶ(ʻ)ͼƬָ - DWORD dwCopilotSafebeltBufferLen ;// ȫʶ(ʻ)ͼƬݳ - NET_VCA_RECT struVehicleRect ;// - NET_VCA_RECT struPilotRect ;//ʻ - NET_VCA_RECT struCopilotRect ;//ʻ - BYTE *pJsonBuffer;//Jsonָ,οJSONݸʽ - DWORD dwJsonBufferLen;// Jsonݳ - DWORD dwPostID;//ID - NET_DVR_TIME_V30 struPostTime;//ʱ - BYTE Res2[56]; -}NET_DVR_VEHICLE_RECOG_RESULT, *LPNET_DVR_VEHICLE_RECOG_RESULT; - -#define MAX_ZONE_LINKAGE_CHAN_NUM 4 /* ͨ*/ - -typedef struct tagNET_DVR_CENTER_SERVER_CFG_ -{ - DWORD dwSize; - BYTE byAddressType; //0 - ipv4/ipv6ַ1 - - BYTE byRes1; - WORD wServerPort; //˿ - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME]; - BYTE byRes2[80]; - }struDomain; // - struct - { - NET_DVR_IPADDR struIp; - }struAddrIP; //IPַ - }unionServer;//ʹṹͨbyAddressTypeֶαʾIPַ - WORD wInterval; //ʱ,0-30s - BYTE byRes3[514]; -}NET_DVR_CENTER_SERVER_CFG,*LPNET_DVR_CENTER_SERVER_CFG; - -typedef struct tagNET_DVR_SINGLE_CHANNEL_LINKAGE_CFG_ -{ - BYTE byDDNSType; //ͣ0 - Ч1 - IPServer(˽DNS)2 - hiDDNS - BYTE byRes1; - WORD wDDNSPort; //˿ں - BYTE byServerAddr[MAX_DOMAIN_NAME]; //ַ - BYTE byDevName[MAX_DOMAIN_NAME]; //豸 - BYTE byDevSerialNum[SERIALNO_LEN]; //豸к - BYTE byAddressType; //0 - ipv4/ipv6ַ1 - - BYTE byRes2; - WORD wDevPort; //豸˿ں - union - { - struct - { - BYTE szDomain[MAX_DOMAIN_NAME]; - BYTE byRes2[80]; - }struDomain; // - struct - { - NET_DVR_IPADDR struIp; - }struAddrIP; //IPַ - }unionDevAddr;//ʹṹͨbyAddressTypeֶαʾIPַ - BYTE sUserName[NAME_LEN/*32*/]; //û - BYTE sPassword[PASSWD_LEN/*16*/];// - DWORD dwChannel; //ͨ - BYTE byRes3[32]; -}NET_DVR_SINGLE_CHANNEL_LINKAGE_CFG,*LPNET_DVR_SINGLE_CHANNEL_LINKAGE_CFG; - -typedef struct tagNET_DVR_REGION_CHANNEL_LINKAGE_CFG_ -{ - DWORD dwSize; - NET_DVR_SINGLE_CHANNEL_LINKAGE_CFG struLinkChannels[MAX_ZONE_LINKAGE_CHAN_NUM]; // ÿԹĸƵͨ - BYTE byRes[64]; -}NET_DVR_ZONE_CHANNEL_LINKAGE_CFG,*LPNET_DVR_ZONE_CHANNEL_LINKAGE_CFG; - -typedef struct tagNET_DVR_SINGLE_ASSOCIATED_CHAN_CFG -{ - BYTE byDevSerialNo[SERIALNO_LEN]; //豸к - DWORD dwChannel; //ͨ - BYTE byRes[64]; -}NET_DVR_SINGLE_ASSOCIATED_CHAN_CFG, *LPNET_DVR_SINGLE_ASSOCIATED_CHAN_CFG; - -typedef struct tagNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG -{ - WORD wZoneNo; - BYTE byRes1[2]; - NET_DVR_SINGLE_ASSOCIATED_CHAN_CFG struSingleChanCfg[MAX_ZONE_LINKAGE_CHAN_NUM]; - BYTE byRes2[64]; -}NET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG, *LPNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG; - -typedef struct tagNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG_LIST_ -{ - DWORD dwSize; - NET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG struAssociatedChanCfg[MAX_MAX_ALARMIN_NUM]; - BYTE byRes[64]; -}NET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG_LIST, *LPNET_DVR_ALARMIN_ASSOCIATED_CHAN_CFG_LIST; - -typedef struct tagNET_DVR_LCD_ALARM -{ - DWORD dwSize; - DWORD dwScreenID; //Ļ - BYTE byOnOffLine; //ĻǷߣ0-ߣ1-ߣĻʱṹЧ - BYTE byTempState; //忨¶״̬0-1-쳣 - BYTE byFanState; //״̬0-أ1- - BYTE byFanException; //쳣״̬0-֧ 1-2-쳣 - BYTE byTemperature; //Ļ忨¶ȣλ϶ - BYTE byRes[27]; -}NET_DVR_LCD_ALARM, *LPNET_DVR_LCD_ALARM; - -//ϴϢ -typedef struct tagNET_DVR_SENSOR_INFO_UPLOAD -{ - DWORD dwSize; - NET_DVR_TIME_V30 struTime; - char szSensorName[MAX_SENSORNAME_LEN]; // - char szSensorChan[MAX_SENSORCHAN_LEN]; //ͨ - BYTE byReboot; //֮ǰǷһĺĵһݴ־0-ʾû1-й - BYTE byPowerSupply;//Ƿ 0-ڹ磬1-ڹ - BYTE byStatusType;//豸״̬:0:1쳣2 - BYTE bySensorType;//οöSENSOR_TYPE - float fVoltageValue;//ѹֵ ȷ0.001 - float fCurrentValue;//ֵȷ0.001 - float fActualValue;//ģźתֵȷ0.001 - char szDescription[MAX_DESCRIPTION_LEN /* 32*/]; //Ϣ;豸״̬byStatusTypeΪ0ʱЧ - BYTE byRes1[128]; -}NET_DVR_SENSOR_INFO_UPLOAD,*LPNET_DVR_SENSOR_INFO_UPLOAD; - -//ץͼƬϴ -typedef struct tagNET_DVR_CAPTURE_UPLOAD -{ - DWORD dwSize; - NET_DVR_TIME_V30 struTime; - DWORD dwChannel;//ͨ - char szDevName[MAX_DEVNAME_LEN_EX]; - DWORD dwPicLen;//ͼƬ - BYTE *pBuffer; //ͼƬָ - BYTE byRes[124]; -}NET_DVR_CAPTURE_UPLOAD,*LPNET_DVR_CAPTURE_UPLOAD; - -//ȫλϴ -typedef struct tagNET_DVR_PANORAMIC_LINKAGE -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byType;//ͼƬͣ0-壬1-ȫλͼƬ - BYTE byRes1[3]; - BYTE byMACAddr[MACADDR_LEN]; //macַ - BYTE byRes2[2]; - NET_DVR_IPADDR struDevIP; //豸IPַ - DWORD dwPicLen;//ȫλץͼƬ - char *pPicBuff; //ȫλץͼƬָ - BYTE byRes[128]; -}NET_DVR_PANORAMIC_LINKAGE, *LPNET_DVR_PANORAMIC_LINKAGE; - -#define MAX_MASK_AREA_NUM 8 // - -typedef struct tagNET_DVR_AREA_MASK_CFG // -{ - DWORD dwSize; //ṹС - BYTE byEnable;//Ƿ 0-1- - BYTE byMaskThick; //˺ 0-룬1-룬2-룬СΪ8*816*1632*32ĬΪ - BYTE byAutoMask;//ǷԶ 0-1- - BYTE byRes1; - NET_VCA_RECT struRegion[MAX_MASK_AREA_NUM];//Χ - BYTE byRes[64]; -}NET_DVR_AREA_MASK_CFG, *LPNET_DVR_AREA_MASK_CFG; - -typedef struct tagNET_DVR_AUDIO_DIACRITICAL_CFG //Ƶ -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿñ 0-ã1- - char byBassValue; //ߵֵΧΪ-12-12 ֵԽԽϸ֮ԽС0-ʾ - BYTE byRes[62]; -}NET_DVR_AUDIO_DIACRITICAL_CFG, *LPNET_DVR_AUDIO_DIACRITICAL_CFG; - -typedef struct tagNET_DVR_RESOLUTION_SWITCH -{ - DWORD dwSize; - BYTE byResolutionType;//0-all,1-20:9,2-20:6,3-ԭʼģʽ - BYTE byRes[127]; -}NET_DVR_RESOLUTION_SWITCH, *LPNET_DVR_RESOLUTION_SWITCH; - -typedef struct tagNET_DVR_WIFI_DHCP_ADDR_CFG //wifiģʽDHCPΧ -{ - DWORD dwSize; - NET_DVR_IPADDR struStartAddr; //ʼIPַ - NET_DVR_IPADDR struEndAddr; //IPַ - BYTE byRes[256]; -}NET_DVR_WIFI_DHCP_ADDR_CFG, *LPNET_DVR_WIFI_DHCP_ADDR_CFG; - - -typedef struct tagNET_DVR_WIFI_CLIENT_INFO //Ƶ -{ - DWORD dwSize; - NET_DVR_IPADDR struAddress; //IPַ - BYTE byMACAddr [MACADDR_LEN]; - WORD wConnSpeed; //ٶ λKB - BYTE byRSSIValue; //յźǿȣȡֵΪֵʱֵΧΪ0~-110dbm,ֵԽ󣬴źԽǿ - BYTE byRes1; // - WORD wBandwidth; // λKB - BYTE byRes[32]; -}NET_DVR_WIFI_CLIENT_INFO, *LPNET_DVR_WIFI_CLIENT_INFO; - -typedef struct tagNET_DVR_MULTISTREAM_RELATION_CHAN_CFG //ͨ -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ıͨ - BYTE byRes[64]; -}NET_DVR_MULTISTREAM_RELATION_CHAN_CFG, *LPNET_DVR_MULTISTREAM_RELATION_CHAN_CFG; - -typedef struct -{ - BYTE byPort; //˿ - BYTE byMasterSlaveProperty; //˿ 1- 2- - BYTE byPortEthernetType; //˿ͣ1-׶˿ڣ2-ǧ׶˿ - BYTE byRes[9]; -}NET_DVR_RING_PORT_PROPERTY, *LPNET_DVR_RING_PORT_PROPERTY; -typedef struct -{ - DWORD dwSize; - BYTE byEnable; //Ƿã 0-ã !0- - BYTE byProtoType; //Эͣ 1-˻Э(˽)2-ۺƽ̨Э飨˽У3-G8032Э飨У - BYTE byBandWidth; //ͣ1-ף2-ǧ - BYTE byRes1; //ֶ - NET_DVR_RING_PORT_PROPERTY struRingPort[PER_RING_PORT_NUM]; //˿ - BYTE byRes2[60]; //ֶ -}NET_DVR_NS_RING_CFG, *LPNET_DVR_NS_RING_CFG; -typedef struct // -{ - DWORD dwSize; //ṹС - BYTE byStatus; //״̬1- 2-Ͽ - BYTE byMasterSlaveProperty ; //˰ 1- 2- - BYTE byRes[62]; //ֶ -} NET_DVR_NS_RING_STATUS, *LPNET_DVR_NS_RING_STATUS; - -//ⱨ -typedef struct tagNET_DVR_FIREDETECTION_ALARM -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - WORD wPanPos; - WORD wTiltPos; - WORD wZoomPos; - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1; - DWORD dwPicDataLen;//ץͼƬ - BYTE *pBuffer; //ָ - NET_VCA_RECT struRect;// - NET_VCA_POINT struPoint ;//¶ȵ - WORD wFireMaxTemperature ;//¶[300~4000] - WORD wTargetDistance ;//Ŀ[100m ~ 10000m] - BYTE byStrategyType;//ͣ0~ⱨ1~Эͬ2~ϵͳ3~ָ㱨4~ָ - BYTE byAlarmSubType;//͡0~ⱨ1~ⱨ2~̻𱨾 - /*ǷPTZչ - 0~ãPTZֵwPanPoswTiltPoswZoomPosΪ׼ - 1~ãPTZֵstruPtzPosExΪ׼PTZ践ءstruPtzPosExֵתΪwPanPoswTiltPoswZoomPosֵ - */ - BYTE byPTZPosExEnable; - BYTE byRes2; - NET_PTZ_INFO struPtzPosEx;// ptzչ(ָ֧߾PTZֵȷСλ) - DWORD dwVisiblePicLen;//ɼͼƬ - BYTE *pVisiblePicBuf; //ɼͼƬָ - // pSmokeBufbyAlarmSubTypeΪ1ⱨ2̻𱨾ʱЧ - BYTE *pSmokeBuf; //ⱨָ룬ָһNET_DVR_SMOKEDETECTION_ALARMṹ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byRes3; - BYTE byFireScanWaitMode; //ɨȴģʽ 0-Զ 1-ֶ - DWORD dwVisibleChannel; //ɼͨͨ - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE byRes[49]; -} NET_DVR_FIREDETECTION_ALARM,*LPNET_DVR_FIREDETECTION_ALARM; - -// -typedef struct tagNET_DVR_SMOKEDETECTION_CFG -{ - BYTE byEnable;//ʹ - BYTE bySensitivity; //: 1~100Ĭ50 - BYTE byPatrolSensitivity; //Ѳ: 1~100Ĭ50 - BYTE byDoubleCheckSensitivity; //ι: 1~100Ĭ50 - BYTE byRes[56]; -}NET_DVR_SMOKEDETECTION_CFG, *LPNET_DVR_SMOKEDETECTION_CFG; - -typedef struct tagNET_DVR_ALARMSTRATEGY_PARAM -{ - BYTE byStrategyType;//ͣ0~ⱨ1~Эͬ2~ϵͳ, 3~ָ㱨4~ָ - BYTE byRes[15]; -}NET_DVR_ALARMSTRATEGY_PARAM, *LPNET_DVR_ALARMSTRATEGY_PARAM; - -typedef struct tagNET_DVR_FIREDETECTION_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE bySensitivity; //: 1~100Ĭ5s - BYTE byFireComfirmTime;//ֻȴʱ: 0-120 Ĭ5s - BYTE byFireRegionOverlay;//ӻ: 0- 1- - BYTE byDetectionMode;// ģʽ0~б1~֡⡣ - BYTE byFireFocusMode;//۽ģʽ0~Զģʽ,1~ Ѳģʽ - BYTE byFireZoomMode;//ѧ䱶ģʽ0~ΪԶģʽ1~Ϊֶģʽ - BYTE byFirezoomLevel;//ѧ䱶ʣ1~100ѧ䱶ģʽΪֶģʽʱЧ - BYTE bySmokeFireEnabled; //̻ʹܣ0ã1- - /* - ֶȴʹܣΪ1ʱ󣬻ȴʱbyFireComfirmTimeЧ - 󣬵豸ֻʱ̨һֱͣڷֻλãͨɨõȴģʽɨ衣 - ֶȴʹΪ0ʱ豸ΪԶȴģʽģʽ¿ɸbyFireComfirmTimeֶõĵȴʱлȴõȴʱ豸Զлɨ衣 - */ - BYTE byFireManualWaitEnabled;// ֶȴʹܣ0~ΪԶȴģʽ1~ֶȴģʽ - BYTE byCancelRepeatedAlarmEnabled;// ȡظʹ 0-ر 1- - BYTE byApplicationSceneMode;//Ӧóģʽ0-1-ɭַ, 2-ոȼ,3-Ƹߵ, 4-ڻܽ - DWORD dwInstallationHeight;// װ߶ - BYTE byFireSourceDetection;// ģʽ 0-̬ 1-ģʽ - BYTE bySmokeAuxiliaryDetectionEnabled;// жʹ,ģʽǶбʱЧ 0- 1- - BYTE byverificationSensitivity; //ȷȣΧ1~100sĬ50s - BYTE byFireAlgorithmMode; //㷨ģʽ0Ч1ģʽʶ-patternRecognition,:2ѧϰ-machineLearning - BYTE byAgriculturalMachineryFilterEnabled; //ũģʹܣ0ã1 - BYTE byWaterReflectionEnabled; //ˮⷴģʹ, 0ã1 - BYTE byPatrolSensitivity; //Ѳ Ի⣩, Χ1~100sĬ50s - BYTE byRes[33]; - NET_DVR_ALARMSTRATEGY_PARAM struAlarmStrategy;// - NET_DVR_SMOKEDETECTION_CFG struSmokeCfg;// -}NET_DVR_FIREDETECTION_CFG,*LPNET_DVR_FIREDETECTION_CFG; - -typedef struct tagNET_DVR_THERMALPOWER_PARAM -{ - DWORD dwSize;//ṹС - BYTE byPowerSwitch;//ʹܣ1Ϊ0Ϊر - BYTE byRes[123]; -}NET_DVR_THERMALPOWER_PARAM, *LPNET_DVR_THERMALPOWER_PARAM; - -typedef struct tagNET_DVR_PTZABSOLUTEEX_CFG -{ - DWORD dwSize;//ṹС - NET_PTZ_INFO struPTZCtrl;//豸PTZFϢ - DWORD dwFocalLen;//෶Χ0-100000MM - float fHorizontalSpeed;//ˮƽתٶȣ0.01-1000.00/S - float fVerticalSpeed;//ֱתٶȣ0.01-1000.00/S - /*ͷ䱶ͣabsoluteZoom:ͨ䱶ãѡΪʱstruPTZCtrlеfZoomЧfocalLen:ͨãѡΪʱdwFocalLenЧ*/ - BYTE byZoomType;// ͷ䱶0~ absoluteZoom1~ focalLen - BYTE byRes[123]; -}NET_DVR_PTZABSOLUTEEX_CFG, *LPNET_DVR_PTZABSOLUTEEX_CFG; - -#define MAX_PLAYLIST_NUM 50 //󲥷бĿ -#define MAX_PLAYPLAN_NUM 50 //󲥷żƻĿ - -#define MAX_LEN_256 256 -#define MAX_GROUP_RECORD_NUM 10 //¼ -typedef struct tagNET_DVR_AREA_MONITOR_COND -{ - DWORD dwSize; - DWORD dwAreaID; //ID - DWORD dwMonitorID; //ǰʼȡļصţ1ʼ - BYTE byIsNeedGroup; //ǷѯϢ - BYTE byRes [127]; -}NET_DVR_AREA_MONITOR_COND,*LPNET_DVR_AREA_MONITOR_COND; - -typedef struct tagNET_DVR_DEL_MONITOR_COND -{ - DWORD dwSize; - BYTE byDelType; //ɾͣ0-ɾָмص㣬1-ɾָָص - DWORD dwAreaID; //ID - DWORD dwMonitorID; //صIDbyDelTypeΪ0ʱЧbyDelTypeΪ1ʱЧ1ʼ - BYTE byRes[64]; -}NET_DVR_DEL_MONITOR_COND,*LPNET_DVR_DEL_MONITOR_COND; - -typedef struct tagNET_DVR_BLOCKLIST_ALARM_COND -{ - DWORD dwSize; //ṹС - BYTE byType; //־- ȫ- - ֹ - BYTE byRes1[3]; // - DWORD dwFaceID; //ID - DWORD dwMaxSnapNum; //ץ0-ʾ - BYTE byRes[256]; -}NET_DVR_BLOCKLIST_ALARM_COND, *LPNET_DVR_BLOCKLIST_ALARM_COND; - -typedef struct tagNET_DVR_STORAGE_RESOURCE_COND -{ - DWORD dwSize; //ṹС - DWORD dwStorageID; //ӵǰſʼȡʣԴ1ʼ - BYTE byRes[64]; -}NET_DVR_STORAGE_RESOURCE_COND, *LPNET_DVR_STORAGE_RESOURCE_COND; - -typedef struct tagNET_DVR_BLOCKLIST_ALARM_RECORD -{ - DWORD dwSize; //ṹС - DWORD dwSnapFacePicID; //ץID - DWORD dwRegisterID; //עIDţֻ - DWORD dwGroupNo; // - BYTE byRes[128]; -}NET_DVR_BLOCKLIST_ALARM_RECORD, *LPNET_DVR_BLOCKLIST_ALARM_RECORD; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_INFO //Ϣ -{ - DWORD dwSize; //ṹС - DWORD dwGroupID; //ţȡʱЧʱЧ1ʼ - DWORD dwGroupNo; // - BYTE byGroupType; //ͣ0-ֹ飬1- - BYTE byRes1; - WORD wThreshold; //ֵȡֵΧΪ0-1000 - DWORD dwListNum; // - BYTE szGroupName[NAME_LEN]; // - BYTE szRemark[MAX_LEN_256]; - BYTE byStorageAddr[MAX_DOMAIN_NAME]; //洢IPַϢ - WORD wStoragePort; //洢IPӦĶ˿ں - BYTE byRes[126]; -}NET_DVR_BLOCKLIST_GROUP_INFO, *LPNET_DVR_BLOCKLIST_GROUP_INFO; - - -typedef struct tagNET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD -{ - DWORD dwSize; //ṹС - DWORD dwGroupRecordID; //¼ID޸ĺͲѯʱЧʱЧ1ʼ - DWORD dwGroupNo; // - DWORD dwFaceDBID; //ID - DWORD dwFaceRecordID; //¼ID - BYTE byAlarmLevel; //ȼ0-high,1-medium,2-low - BYTE byRes1[3]; // - NET_DVR_ADDR_DOMAIN_INFO struStorageAddr; //洢IPַϢ - BYTE byRes[256]; -}NET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD,*LPNET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_RECORD_COND -{ - DWORD dwSize; //ṹС - DWORD dwRecordID; //ӵǰſʼȡ1ʼ - BYTE byRes[64]; -}NET_DVR_BLOCKLIST_GROUP_RECORD_COND, *LPNET_DVR_BLOCKLIST_GROUP_RECORD_COND; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_RECORD_CFG //¼Ϣ -{ - DWORD dwSize; //ṹС - DWORD dwRecordNum; //¼ܸ - NET_DVR_SINGLE_BLOCKLIST_GROUP_RECORD struRecord[MAX_GROUP_RECORD_NUM]; //¼ - BYTE byRes[256]; -}NET_DVR_BLOCKLIST_GROUP_RECORD_CFG,*LPNET_DVR_BLOCKLIST_GROUP_RECORD_CFG; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_CFG //¼Ϣ -{ - DWORD dwSize; //ṹС - DWORD dwGroupNum; //ܸ - NET_DVR_BLOCKLIST_GROUP_INFO struGroup[MAX_GROUP_RECORD_NUM]; //¼ - BYTE byRes[256]; -}NET_DVR_BLOCKLIST_GROUP_CFG,*LPNET_DVR_BLOCKLIST_GROUP_CFG; - -typedef struct tagNET_DVR_BLOCKLIST_GROUP_COND -{ - DWORD dwSize; //ṹС - DWORD dwGroupID; //ӵǰſʼȡ1ʼ - BYTE byRes[64]; -}NET_DVR_BLOCKLIST_GROUP_COND, *LPNET_DVR_BLOCKLIST_GROUP_COND; - - - -typedef struct tagNET_DVR_SENSOR_VALUE -{ - float fMinValue; //Сֵȷ0.001Ϊ0xfffffffffʾѯ - float fMaxValue; //ֵȷ0.001Ϊ0xfffffffffʾѯ - BYTE byRes[8]; -}NET_DVR_SENSOR_VALUE, *LPNET_DVR_SENSOR_VALUE; - -typedef struct tagNET_DVR_HISTORICAL_QUERY_PARAM //ʷݲѯӽṹ -{ - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - NET_DVR_SENSOR_VALUE struVoltageValue; //ѹ; λ - NET_DVR_SENSOR_VALUE struCurrentValue; //; λ - NET_DVR_SENSOR_VALUE struTemperatureValue;//¶Ȳλ϶ - NET_DVR_SENSOR_VALUE struHumidityValue;//ʪȲ - BYTE bySwitchStatus;//ͨ״̬ 0~δͨ磬1~ͨ磬0xffѯ - BYTE bySensorStatus; //״̬ 0-1-쳣2-0xffѯ - BYTE byRes[66]; -}NET_DVR_HISTORICAL_QUERY_PARAM, *LPNET_DVR_HISTORICAL_QUERY_PARAM; - -typedef struct tagNET_DVR_SENSOR_COND //ṹ -{ - DWORD dwSize; - BYTE byQueryType; //ѯʽ0~ʵʱݲѯ1~ʷݲѯ - BYTE byDeviceType; //豸;0~δ֪,1~ģ, 2~ϵ,3~ϵ0xffʾѯ - BYTE byDeviceID; //豸IDAnalog(ģ)Χ1-8Terminal(ϵ)Χ1-4Socket(ϵ)Χ1-20xffʾѯ - BYTE byRes1; - // INTER_HISTORICAL_QUERY_PARAMӽṹbyQueryTypeΪ1ʱЧ - NET_DVR_HISTORICAL_QUERY_PARAM struHistoricalQueryParam; //ʷݲѯ - BYTE byRes[64]; -}NET_DVR_SENSOR_COND,*LPNET_DVR_SENSOR_COND; - -typedef struct tagNET_DVR_SENSOR_CFG//ýṹ -{ - DWORD dwSize; - BYTE byEnable; //ǰѯĴǷʹܣ0-ʹܣ1-ʹܣ - BYTE byDeviceType; //豸;0~δ֪,1~ģ, 2~ϵ,3~ϵ - BYTE byDeviceID; //豸IDAnalog(ģ)Χ1-8Terminal(ϵ)Χ1-4Socket(ϵ)Χ1-2 - BYTE byRes1; - NET_DVR_TIME_V30 struTime;//ʱ - BYTE byIsFirst; //Ƿһ(Ƿ)0-, 1-ǣ - BYTE byIsSwitchOn; //Ƿͨ磬0-, 1-ǣ - BYTE bySensorStatus; //״̬ 0-1-쳣2- - BYTE bySensorType; //ͣ SENSOR_TYPE - float fVoltage; //ѹλأȷ0.001Ϊ0xffʾЧֵ - float fCurrent; //λȷ0.001Ϊ0xffʾЧֵ - float fTemperatureValue;//¶ֵλ϶ȣȷ0.001Ϊ0xffʾЧֵ - float fHumidityValue;//ʪֵȷ0.001Ϊ0xffʾЧֵ - BYTE bySensorName[SENSORNAME_LEN/*32*/]; // - BYTE byDescription[MAX_SENSORDESCR_LEN/*64*/]; //ݵϢstatusTypeΪʱdescriptionΪ - float fActualValue; //ģźתֵȷ0.0001 - BYTE byUnit[SENSORUNIT_LEN/*32*/]; //λַ - BYTE byRes[220]; -}NET_DVR_SENSOR_CFG,*LPNET_DVR_SENSOR_CFG; - -typedef struct tagNET_DVR_SENSOR_SWITCH_COND -{ - DWORD dwSize;//ṹС - BYTE byDeviceType; //豸;0~δ֪, 1~ϵTerminal,2~ϵSocket - BYTE byDeviceID; //豸IDTerminal(ϵ)Χ1-4Socket(ϵ)Χ1-2 - BYTE bySwitch; //أ0-ϵ, 1-ϵ磬2- - BYTE byRes[125]; -}NET_DVR_SENSOR_SWITCH_COND,*LPNET_DVR_SENSOR_SWITCH_COND; - -typedef struct tagNET_DVR_GB28181_SERVICE_CFG -{ - DWORD dwSize; //ṹС - BYTE byServerID[DEV_ID_LEN]; //SIPID - WORD wPort; //SIP˿ں - BYTE byRes1[2]; // - BYTE byAuthPasswd[PASSWD_LEN]; - DWORD dwRegisterValid; //ڣλ룬Ĭϣ3600 - BYTE byMaxHeartbeatTimeOut; //ʱĬϣ3 - BYTE byAutoAddIpc; //ǷԶipc,0-ã1- - BYTE byAuthPasswdEx[MAX_PASSWD_LEN_EX]; //չΪ64λʱbyAuthPasswdExΪǿգ˲ЧbyAuthPasswdЧȡʱbyAuthPasswdExbyAuthPasswd - BYTE byRes[190]; // -}NET_DVR_GB28181_SERVICE_CFG,*LPNET_DVR_GB28181_SERVICE_CFG; -typedef struct tagNET_DVR_ACTIVATECFG -{ - DWORD dwSize; //ṹС - BYTE sPassword[PASSWD_LEN]; //ʼ - BYTE byLoginMode; //0-Private 1-ISAPI - BYTE byHttps; //0-ʹhttps1-ʹhttps - BYTE byRes[106]; -}NET_DVR_ACTIVATECFG,*LPNET_DVR_ACTIVATECFG; - -typedef struct tagNET_DVR_IPDEVICE_ACTIVATE_CFG -{ - DWORD dwSize; //ṹС - BYTE byMode; //0-ͨ1-ַ - BYTE bySelfDefinePassword;//ǷԶ,0-,1-,2-,ΪIPCԶ - BYTE sPassword[PASSWD_LEN];//Զ - BYTE sUserName[NAME_LEN];//û - BYTE byRes[78]; - union - { - BYTE byLen[512];//unionС - struct - { - DWORD dwChannelNo;//ͨ - BYTE byRes[508]; - }struChannelInfo;//ͨϢ - struct - { - NET_DVR_IPADDR struIp;//IPַ - WORD wPort;//˿ں - BYTE sProtocolDesc[DESC_LEN];//Э - BYTE byMacAddr[MACADDR_LEN];//macַ - BYTE byRes[344]; - }struAddrInfo;//IPַNET_DVR_SADPINFO - }unActivateDeviceInfo;//ʹṹͨbyModeֶαʾǰͨǰַ -}NET_DVR_IPDEVICE_ACTIVATE_CFG,*LPNET_DVR_IPDEVICE_ACTIVATE_CFG; - -typedef struct tagNET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS_ -{ - DWORD dwSize; - BYTE byDigitalChanPasswordStatus[MAX_CHANNUM_V30*4];//0-,1-IPCδ2-룬3-ǿ4-ǿУ5-ǿǿ;byDigitalChanPasswordStatus[0]ʾһͨ - BYTE byRes[1140]; -}NET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS, *LPNET_DVR_DIGITAL_CHANNEL_SECURITY_STATUS; - -typedef struct tagNET_DVR_CAMERACHAN_SERIALCFG -{ - DWORD dwSize; - DWORD dwBaudRate; //(bps)0-501-752-1103-1504-3005-6006-12007-24008-48009-960010-1920011-3840012-5760013-7680014-115.2k - BYTE byDataBit; //мλ0-5λ1-6λ2-7λ3-8λ - BYTE byStopBit; //ֹͣλ0-1λ1-2λ - BYTE byParity; //ǷУ飺0-У飬1-У飬2-żУ - BYTE byFlowcontrol;// Ƿأ0-ޣ1-,2-Ӳ - WORD wPTZProtocol; //Эֵͣ - BYTE byRes1[6]; - DWORD dwSerialPort; //ں,λΪ0ʾǰ崮ڣλΪ1ʾ崮 - BYTE bySerialAddress; //ڵַ0~255 - BYTE byRes[15]; -}NET_DVR_CAMERACHAN_SERIALCFG, *LPNET_DVR_CAMERACHAN_SERIALCFG; - -#define MAX_MATRIX_SUBBOARD_NUM 16 //ۺƽ̨Ӱ -#define MAX_MATRIX_SUBBOARD_NUM_V51 32 //ۺƽ̨Ӱ -#define MAX_BOARD_SUBSYSTEM_NUM 12 //ÿӰϵͳ -typedef struct tagNET_DVR_SUBSYSTEM_STATUS -{ - /*ϵͳͣ1-ϵͳ2-ϵͳ3-ϵͳ4-ϵͳ5-ϵͳ6-ϵͳ7-ϵͳ8-Fpgaϵͳ9-Fpgaϵͳ10-תϵͳ - 11-X86ϵͳ12-ϵͳ13-X86ķ壬 14- X86ҵ 15-ƴϵͳ16-˽ϵͳ17-X86ƴϵͳ18-ͨƴϵͳ19-Ƶϵͳ0-NULL*/ - BYTE bySubSystemType; - BYTE bySubSystemNo; //ϵͳţӰϵı - BYTE byOnlineStatus; //״̬ 1- 2- - BYTE byRes[49]; -}NET_DVR_SUBSYSTEM_STATUS, *LPNET_DVR_SUBSYSTEM_STATUS; - - -typedef struct tagNET_DVR_MATRIX_SUBBOARD -{ - BYTE byBoardNo; //Ӱ - BYTE byPcieConnectStatus; //pcie״̬ 1- 2-Ͽ - BYTE byRes[2]; - DWORD dwHardwareVersion; //ӰӲ汾 - DWORD dwPcieBandwidth; //pcie Link - DWORD dwTemperature; //Ӱ¶ λ϶ - NET_DVR_SUBSYSTEM_STATUS struSubsystemStatus[MAX_BOARD_SUBSYSTEM_NUM]; //ϵͳ״̬ - BYTE byRes2[16]; -}NET_DVR_MATRIX_SUBBOARD, *LPNET_DVR_MATRIX_SUBBOARD; -typedef struct tagNET_DVR_MATRIX_STATUS -{ - DWORD dwSize; - BYTE byMainFrameType; // 1-18U(V1.0) 2-18U 3-14U 4-11U 5-8U 6-7U 7-5U - BYTE bySoltNum; //λ - BYTE byBoardNum; //Ӱ - BYTE byRes; - NET_DVR_MATRIX_SUBBOARD struMatrixSubboard[MAX_MATRIX_SUBBOARD_NUM]; - BYTE byRes2[48]; -}NET_DVR_MATRIX_STATUS, *LPNET_DVR_MATRIX_STATUS; - - -typedef struct tagNET_DVR_MATRIX_SUBBOARD_V50 -{ - BYTE byBoardNo; //Ӱ - BYTE byPcieConnectStatus; //pcie״̬ 1- 2-Ͽ - BYTE byRes; - BYTE byTemperatureAlarm; //¶ȱ0-ֶЧ1-¶2-¶ȳޱ3-¶ȳޱ - DWORD dwHardwareVersion; //ӰӲ汾 - DWORD dwPcieBandwidth; //pcie Link - DWORD dwTemperature; //Ӱ¶ λ϶ - NET_DVR_SUBSYSTEM_STATUS struSubsystemStatus[MAX_BOARD_SUBSYSTEM_NUM]; //ϵͳ״̬ - BYTE bySubboardModel[32]; //Ӱͺ - BYTE byRes1[32]; -}NET_DVR_MATRIX_SUBBOARD_V50, *LPNET_DVR_MATRIX_SUBBOARD_V50; - -typedef struct tagNET_DVR_MATRIX_STATUS_V50 -{ - DWORD dwSize; - BYTE byMainFrameType; // 1-18U(V1.0) 2-18U 3-14U 4-11U 5-8U 6-7U 7-5U - BYTE bySoltNum; //λ - BYTE byBoardNum; //Ӱ - BYTE byLCDPanelStatus; //Һ״̬1-2-쳣 - NET_DVR_MATRIX_SUBBOARD_V50 struMatrixSubboard[MAX_MATRIX_SUBBOARD_NUM]; - DWORD dwFanSequence; //ȱţλʾλʹã0xffffff04ʾΪ1ķȣӦȱλʱdwFanConnectStatusdwFanOperationStatusĶӦλЧΪ޴˱ŵķ - DWORD dwFanConnectStatus; //״̬λʾλʹã0xffffff00ʾΪ1ķ0xffffff04ʾΪ1ķ쳣 - DWORD dwFanOperationStatus; //״̬λʾλʹã0xffffff00ʾΪ1ķ״̬0xffffff04ʾΪ1ķ쳣 - BYTE byDeviceModel[32]; //豸ͺ - BYTE byPowerNums; //Դ - BYTE byMainBoardNums; // - BYTE byHotStandbyMode; // byMainBoardNumsΪ2ʱ0-M1λ1-M2λ - BYTE byRes[29]; -}NET_DVR_MATRIX_STATUS_V50, *LPNET_DVR_MATRIX_STATUS_V50; - -typedef struct tagNET_DVR_MATRIX_SUBBOARD_V51 -{ - BYTE byBoardNo; //Ӱ - BYTE byPcieConnectStatus; //pcie״̬1-ӣ2-Ͽ - BYTE byRes1; - BYTE byTemperatureAlarm; //¶ȱ0-ֶЧ1-¶2-¶ȳޱ3-¶ȳޱ - DWORD dwHardwareVersion; //ӰӲ汾 - DWORD dwPcieBandwidth; //pcie Link - DWORD dwTemperature; //Ӱ¶ȣλ϶ - NET_DVR_SUBSYSTEM_STATUS struSubsystemStatus[MAX_BOARD_SUBSYSTEM_NUM]; //ϵͳ״̬ - BYTE bySubboardModel[32]; //Ӱͺ - BYTE byRes2[128]; -}NET_DVR_MATRIX_SUBBOARD_V51, *LPNET_DVR_MATRIX_SUBBOARD_V51; - -typedef struct tagNET_DVR_MATRIX_STATUS_V51 -{ - DWORD dwSize; - BYTE byMainFrameType; // 1-18U䣨V1.02-18U䣬3-14U䣬4-11U䣬5-8U䣬6-7U - BYTE bySoltNum; //λ - BYTE byBoardNum; //Ӱ - BYTE byLCDPanelStatus; //Һ״̬1-2-쳣 - NET_DVR_MATRIX_SUBBOARD_V51 struMatrixSubboard[MAX_MATRIX_SUBBOARD_NUM_V51]; - DWORD dwFanSequence; //ȱţλʾ0x00000001ʾ豸ֻһȣΪ10x00000101ʾ豸ȣŷֱΪ19ӦȱűλʱdwFanConnectStatusdwFanOperationStatusĶӦλЧΪ޴˱ŵķ - DWORD dwFanConnectStatus; //״̬λʾ0x00000001ʾΪ1ķ״̬쳣0x00000101ʾΪ19ķ״̬쳣 - DWORD dwFanOperationStatus; //״̬λʾ0x00000001ʾΪ1ķ״̬쳣0x00000101ʾΪ19ķ״̬쳣 - BYTE byDeviceModel[32]; //豸ͺ - BYTE byFanSpeed[32]; //ת٣ֽڱʾbyFanSpeed[0]ʾΪ1ķȵת٣תٵȼΧΪ[1,3] - BYTE byMainMemUsed; //ڴʹʣλٷֱ - BYTE byMainCpuUsed; //CPUʹʣλٷֱ - BYTE byNetwordUsed; //ʹʣλٷֱ - BYTE byRes1; - DWORD dwMainSoftwareVer; //汾 - BYTE byPowerNums; //Դ - BYTE byMainBoardNums; // - BYTE byHotStandbyMode; // byMainBoardNumsΪ2ʱ0-M1λ1-M2λ - BYTE byRes2[125]; -}NET_DVR_MATRIX_STATUS_V51, *LPNET_DVR_MATRIX_STATUS_V51; - -typedef struct _NET_DVR_SUBWIND_INFO -{ - DWORD dwSize; - DWORD dwSubWndNo; //Ӵں - BYTE byRes[8]; -} NET_DVR_SUBWIND_INFO, *LPNET_DVR_SUBWIND_INFO; - - -typedef struct tagNET_DVR_FUSION_SCALE -{ - DWORD dwSize; - WORD wWidth; //ͼںϿ(ͼĿ) - WORD wHeight; //ͼںϸ(ͼĿ) - BYTE byRes[32]; -}NET_DVR_FUSION_SCALE, *LPNET_DVR_FUSION_SCALE; - -typedef struct tagNET_DVR_FUSION_CFG -{ - DWORD dwSize; - BYTE byFusion; //Ƿںϣ0-δںϻȡںϣ0-ں - BYTE byUseHistoryMap; //Ƿʹʷںӳ0-ʹã0-ʹ - BYTE byRes[30]; -}NET_DVR_FUSION_CFG, *LPNET_DVR_FUSION_CFG; - -typedef struct tagNET_DVR_MULTIFUNCTION_SERIALCFG -{ - DWORD dwSize ; - BYTE byVariable ; //Ƿɱ䣬1-ɱ 2-ɱ ֻȡ - BYTE bySerialWorkMode; //ģʽ1-RS485, 2-RS232ֻڿɱ£޸Ĺģʽ - BYTE byFunType; //ڹܣ 1-̿ƣ2-Ļƣ3-͸ͨģʽ 4-PTZ 5- 6-̨ - BYTE byDataBit;// λ 05λ16λ27λ38λ; - BYTE byStopBit;// ֹͣλ 01λ12λ; - BYTE byParity;// У 0У飬1У飬2żУ; - BYTE byFlowcontrol;// 0ޣ1,2-Ӳ - BYTE byRes1 ; - DWORD dwBaudRate;//0501752110315043005600612007240084800996001019200 11384001257600137680014115.2k; - WORD wProtocol; //Э ͬڹܶӦЭ鲻һ - BYTE byRes[34]; -}NET_DVR_MULTIFUNCTION_SERIALCFG, *LPNET_DVR_MULTIFUNCTION_SERIALCFG; - -typedef struct tagNET_DVR_PTZ_3D_SPEED_CONTROL -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byPSpeed; // Xٶ ȡֵ164 - BYTE byTSpeed; // Yٶ ȡֵ164 - BYTE byZSpeed; // Zٶ - BYTE byPDirect; // P 1- 2- - BYTE byTDirect; // T 1-ϣ 2- - BYTE byZDirect; //Z 1-ZOOM+, 2-ZOOM- - BYTE byRes[18]; //ֽ -}NET_DVR_PTZ_3D_SPEED_CONTROL, *LPNET_DVR_PTZ_3D_SPEED_CONTROL; - -//SensorϢ -typedef struct tagNET_DVR_SENSOR_PARAM -{ - BYTE bySensorType;//SensorType:0-CCD,1-CMOS - BYTE byRes[31]; - float fHorWidth;//ˮƽ ȷСλ *10000 - float fVerWidth;//ֱ ȷСλ *10000 - float fFold;//zoom=1ûʱĽ ȷСλ *100 -}NET_DVR_SENSOR_PARAM,*LPNET_DVR_SENSOR_PARAM; - -//תϢ -typedef struct tagNET_DVR_TURN_DIRECTION_PARAM -{ - BYTE byLine;//ת߱ - BYTE byStatus;//ת״̬0-δ֪1-룬2-뿪 - BYTE byRes[38]; -}NET_DVR_TURN_DIRECTION_PARAM, *LPNET_DVR_TURN_DIRECTION_PARAM; -//ֹͣϢ -typedef struct tagNET_DVR_STOP_LINE_PARAM -{ - BYTE byStatus;//ֹͣ״̬0-δ֪1-룬2-뿪 - BYTE byRes[39]; -}NET_DVR_STOP_LINE_PARAM, *LPNET_DVR_STOP_LINE_PARAM; - -//TPSϢ -typedef struct tagNET_DVR_TPS_ADDINFO -{ - NET_DVR_LLPOS_PARAM struFirstLLPos;//һľγλϢ(byLaneState=3byQueueLen>0ʱŷ) - NET_DVR_LLPOS_PARAM struLastLLPos;//һľγλϢ(byLaneState=3byQueueLen>0ʱŷ) - char sLicense[MAX_LICENSE_LEN/*16*/];//ƺ - NET_DVR_TURN_DIRECTION_PARAM struTurnDirection;//תϢ - NET_DVR_STOP_LINE_PARAM struStopLine;//ֹͣϢ - BYTE byRes[884]; -}NET_DVR_TPS_ADDINFO, *LPNET_DVR_TPS_ADDINFO; - -//Ϣ -typedef struct tagNET_DVR_VEHICLE_ADDINFO -{ - NET_DVR_LLPOS_PARAM struLLPos;//ǰγλϢ - char sVehicleNo[LEN_64]; /*ϴijΨһʶ,󳤶Ϊ64*/ - BYTE byVehicleMonitorTaskID[64];//ܲID,64λַ,ʱϲ·豸,ϲȷIDΨһ - BYTE byUUID[LEN_64]; //ͨΨһʶ,64λַ,豸ȷΨһԣڿͬһץ,vehicleMonitormanualVehicleMonitordailyVehicleMonitorеlinkageANPRUUIDй - BYTE byRes[832]; -}NET_DVR_VEHICLE_ADDINFO, *LPNET_DVR_VEHICLE_ADDINFO; - -// -typedef struct tagNET_DVR_SMOKEDETECTION_ALARM -{ - NET_PTZ_INFO struPTZPos;//ɼ豸PTZFλ - NET_PTZ_INFO struThermalPTZPos;//ȳ豸PTZFλ - NET_DVR_LLPOS_PARAM struLLPos;//豸γλ - NET_VCA_RECT struSmokePos;//λ - BYTE byRes[256]; -}NET_DVR_SMOKEDETECTION_ALARM, *LPNET_DVR_SMOKEDETECTION_ALARM; - -//λϢ -typedef struct -{ - float fPanPos;//ˮƽȷС1λ - float fTiltPos;//ֱȷС1λ - float fZoomPos;//䱶ȷС1λ - BYTE byRes[16] ; -}NET_DVR_PTZPOS_PARAM, *LPNET_DVR_PTZPOS_PARAM; - -//GISϢϴ -typedef struct tagNET_DVR_GIS_UPLOADINFO -{ - DWORD dwSize;//ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸 - float fAzimuth;//̵ķλϢλ[0.00,360.00) - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-ȣ1- - BYTE byRes1[2] ; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - float fHorizontalValue;//ˮƽӳǣȷСλ - float fVerticalValue;//ֱӳǣȷСλ - float fVisibleRadius;//ǰӰ뾶ȷСλ - float fMaxViewRadius;//Ӱ뾶ȷС0λԤ - NET_DVR_SENSOR_PARAM struSensorParam;//SensorϢ - NET_DVR_PTZPOS_PARAM struPtzPos; //ptz - BYTE byRes[256]; -}NET_DVR_GIS_UPLOADINFO,*LPNET_DVR_GIS_UPLOADINFO; - -//ƻϢϴ -typedef struct tagNET_DVR_VANDALPROOF_ALARM -{ - DWORD dwSize;//ṹС - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo;//ǰ豸 - BYTE byRes[256]; -}NET_DVR_VANDALPROOF_ALARM,*LPNET_DVR_VANDALPROOF_ALARM; - -//вز -typedef struct tagNET_DVR_CENTRALIZEDCTRL_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable;//0-1-ʼ - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-1- - BYTE byRes1; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - DWORD dwTimeOut;//ʱʱ [60s, 6*60*60s] - BYTE byControlType;//вطʽ 0-ǿƲأ1-ǿƲ - BYTE byRes[127]; -}NET_DVR_CENTRALIZEDCTRL_CFG,*LPNET_DVR_CENTRALIZEDCTRL_CFG; - -//GISϢ -typedef struct tagNET_DVR_GIS_INFO -{ - DWORD dwSize;//ṹС - float fAzimuth;//̵ķλϢλ[0.00,360.00) - float fHorizontalValue;//ˮƽӳǣȷСλ - float fVerticalValue;//ֱӳǣȷСλ - float fVisibleRadius;//ǰӰ뾶ȷСλ - float fMaxViewRadius;//Ӱ뾶ȷС0λԤ - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-1- - BYTE byPTZPosExEnable;//ǷPTZչ0~ãPTZֵstruPtzPos Ϊ׼1~ãPTZֵstruPtzPosExΪ׼ - BYTE byRes1; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - NET_DVR_PTZPOS_PARAM struPtzPos; //ptz - NET_DVR_SENSOR_PARAM struSensorParam;//SensorϢ - NET_PTZ_INFO struPtzPosEx;// ptzչ(ָ֧߾PTZֵȷСλ) - float fMinHorizontalValue;//СˮƽӳǣȷСλ0.0-360.00 - float fMaxHorizontalValue;//ˮƽӳǣȷСλ0.0-360.00 - float fMinVerticalValue;//СֱӳǣȷСλ0.0-360.00 - float fMaxVerticalValue;//ֱӳǣȷСλ0.0-360.00 - BYTE byRes[220]; -}NET_DVR_GIS_INFO,*LPNET_DVR_GIS_INFO; - -//豸Ѳģʽ -typedef struct tagNET_DVR_CRUISE_PARAM -{ - DWORD dwSize;//ṹС - BYTE byCruiseMode;// Ѳģʽ0~1~Ԥõ - BYTE byRes[123]; -}NET_DVR_CRUISE_PARAM, *LPNET_DVR_CRUISE_PARAM; - -//ȡ豸ʪϢṹ -typedef struct tagNET_DVR_TEMP_HUMI_INFO -{ - DWORD dwSize; - NET_DVR_TIME_V30 struCurrentTime; // ǰʱ - float fTemperature;//豸¶ȣȷСλ-273 C 1000϶ȣ - float fHumidity;// 豸ʪȣȷСλλΪ% - BYTE byRes[256]; -}NET_DVR_TEMP_HUMI_INFO, *LPNET_DVR_TEMP_HUMI_INFO; - -typedef struct tagNET_SDK_POINT_THERMOMETRY -{ - float fPointTemperature;/*µǰ¶, 궨Ϊ0-ʱЧȷСһλ(-40-1000),+100*10 */ - NET_VCA_POINT struPoint;//꣨궨Ϊ㡱ʱЧ - BYTE byRes[20]; -}NET_SDK_POINT_THERMOMETRY, *LPNET_SDK_POINT_THERMOMETRY; - - -typedef struct tagNET_SDK_REGION_THERMOMETRY -{ - float fMaxTemperature;//¶,ȷСһλ(-40-1000),+100*10 */ - float fMinTemperature;//¶,ȷСһλ(-40-1000),+100*10 */ - float fAverageTemperature;//ƽ¶,ȷСһλ(-40-1000),+100*10 */ - float fTemperatureDiff;//²,ȷСһλ(-40-1000),+100*10 */ - NET_VCA_POLYGON struRegion;//ߣ궨Ϊ򡱻ߡߡʱЧ - BYTE byRes[20]; -}NET_SDK_REGION_THERMOMETRY, *LPNET_SDK_REGION_THERMOMETRY; - -typedef struct tagNET_SDK_MANUALTHERM_RULE -{ - BYTE byRuleID;//ID 0-ʾЧ1ʼ listڲжЧԣ - BYTE byEnable;//Ƿ - BYTE byRes1[2]; - char szRuleName[NAME_LEN/*32*/];// - BYTE byRuleCalibType;//궨 0-㣬1-2- - BYTE byRes2[3]; - NET_SDK_POINT_THERMOMETRY struPointTherm;//£궨Ϊ0-ʱЧ - NET_SDK_REGION_THERMOMETRY struRegionTherm; //£궨Ϊ1-2-ʱЧ - BYTE byRes[512]; -}NET_SDK_MANUALTHERM_RULE, *LPNET_SDK_MANUALTHERM_RULE; - -typedef struct tagNET_SDK_MANUAL_THERMOMETRY -{ - DWORD dwSize;//ṹС - DWORD dwChannel;//ͨ - DWORD dwRelativeTime; // ʱֻ꣨ - DWORD dwAbsTime; // ʱֻ꣨ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byDataType;//״̬:0-У1-ʼ2-ֻ - BYTE byRes1[6]; - NET_SDK_MANUALTHERM_RULE struRuleInfo; - BYTE byRes[512]; -}NET_SDK_MANUAL_THERMOMETRY, *LPNET_SDK_MANUAL_THERMOMETRY; - -typedef struct tagNET_SDK_MANUALTHERM_BASICPARAM -{ - DWORD dwSize; - WORD wDistance;//(m)[0, 10000] - BYTE byDistanceUnit;//뵥λ: 0-ףm1-Ӣߣfeet,2-(centimeter) - BYTE byRes1[1]; // - float fEmissivity;//( ȷСλ)[0.01, 1.00](ı) - BYTE byRes[64]; // -}NET_SDK_MANUALTHERM_BASICPARAM, *LPNET_SDK_MANUALTHERM_BASICPARAM; - -typedef struct tagNET_SDK_FIRESHIELDMASK_REGION -{ - DWORD dwSize; - BYTE byMaskID;//ID1~24 - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldZoom;//αʣ0~32δڵڸֵĹѧ䱶 - BYTE byMaskType;//ɫͣ0-ɫ1-ɫ2-ɫ3-ɫ4-ɫ5-ɫ6-͸7-͸8- - BYTE byRegionType;//ͣԤ0-ı - BYTE byShowEnabled; //ʾʹܣòΪֻʹΪfalseϲ㲻ʾϢTrueΪʾϢ - BYTE byRes1[2]; // - char szMaskName[NAME_LEN/*32*/];//α - NET_VCA_POLYGON struRegion;// - BYTE byRes[32]; // -}NET_SDK_FIRESHIELDMASK_REGION, *LPNET_SDK_FIRESHIELDMASK_REGION; - -#define MAX_FIRESHIELDMASK_REGION 24 -typedef struct tagNET_SDK_FIRESHIELDMASK_CFG -{ - DWORD dwSize; - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldAreaTransparency;//͸ 0-͸ 1-͸ 2-͸ - BYTE byDisplayShieldAreaEnabled;//ʹ - BYTE byRes1[1]; // - NET_SDK_FIRESHIELDMASK_REGION struMaskRegion[MAX_FIRESHIELDMASK_REGION/*24*/];// - BYTE byRes[256]; // -}NET_SDK_FIRESHIELDMASK_CFG, *LPNET_SDK_FIRESHIELDMASK_CFG; - -typedef struct tagNET_SDK_SMOKESHIELDMASK_REGION -{ - DWORD dwSize; - BYTE byMaskID;//ID1~24 - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldZoom;//αʣ0~32δڵڸֵĹѧ䱶 - BYTE byMaskType;//ɫͣ0-ɫ1-ɫ2-ɫ3-ɫ4-ɫ5-ɫ6-͸7-͸8- - BYTE byRegionType;//ͣԤ0-ı - BYTE byShowEnabled;// ʾʹܣòΪֻʹΪfalseϲ㲻ʾϢTrueΪʾϢ - BYTE byRes1[2]; // - char szMaskName[NAME_LEN/*32*/];//α - NET_VCA_POLYGON struRegion;// - BYTE byRes[32]; // -}NET_SDK_SMOKESHIELDMASK_REGION, *LPNET_SDK_SMOKESHIELDMASK_REGION; - -#define MAX_SMOKESHIELDMASK_REGION 24 -typedef struct tagNET_SDK_SMOKESHIELDMASK_CFG -{ - DWORD dwSize; - BYTE byEnabled;// ʹܣ0~ã1~ - BYTE byShieldAreaTransparency;//͸ 0-͸ 1-͸ 2-͸ - BYTE byDisplayShieldAreaEnabled;//ʹ - BYTE byRes1[1]; // - NET_SDK_SMOKESHIELDMASK_REGION struMaskRegion[MAX_SMOKESHIELDMASK_REGION/*24*/];// - BYTE byRes[256]; // -}NET_SDK_SMOKESHIELDMASK_CFG, *LPNET_SDK_SMOKESHIELDMASK_CFG; - -typedef struct tagNET_SDK_AREASCAN_CFG -{ - DWORD dwSize; - BYTE byScanState;//ɨ赱ǰ״̬0Ϊδã1ΪãòΪֻ - BYTE byRes[259]; // -}NET_SDK_AREASCAN_CFG, *LPNET_SDK_AREASCAN_CFG; - -typedef struct tagNET_SDK_FIRESHIELDMASK_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRegionID;//ID1~24. - BYTE byRes[127]; // -}NET_SDK_FIRESHIELDMASK_COND, *LPNET_SDK_FIRESHIELDMASK_COND; - -typedef struct tagNET_SDK_SMOKESHIELDMASK_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRegionID;//ID1~24. - BYTE byRes[127]; // -}NET_SDK_SMOKESHIELDMASK_COND, *LPNET_SDK_SMOKESHIELDMASK_COND; - -//̹ƻ -typedef struct tagNET_DVR_VANDALPROOFALARM_CFG -{ - DWORD dwSize;//ṹС - BYTE bySensitivity;//[1,100] (֧ãֵԽ״ֵԽСԽѴ) - BYTE byUploadEnabled;//÷ƻϴʹ 0-ã1- - BYTE byVoiceWarningEnabled;//÷ƻʾʹ 0-ã1- - BYTE byEnable;// üƻ 0-رգ1-ʼ - BYTE byRes[124]; -}NET_DVR_VANDALPROOFALARM_CFG,*LPNET_DVR_VANDALPROOFALARM_CFG; - -typedef struct tagNET_DVR_AZIMUTHINFO -{ - DWORD dwSize;//ṹС - float fDegree;//λǶ(ȷСλ) - BYTE byAzimuth; //λϢ 0-,1-,2-,3-,4-,5-,6-,7- - BYTE byRes[127]; -}NET_DVR_AZIMUTHINFO,*LPNET_DVR_AZIMUTHINFO; - -//ָ̽ṹ -typedef struct tagNET_DVR_COMPASS_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel;//ͨ - BYTE byRes[128]; -}NET_DVR_COMPASS_COND,*LPNET_DVR_COMPASS_COND; - -typedef struct tagNET_DVR_POSITION_CFG -{ - DWORD dwSize;//ṹС - BYTE bySoftWorkMode;//ģʽ 0-Զ1-ֶ - BYTE byRes[127]; -}NET_DVR_POSITION_CFG,*LPNET_DVR_POSITION_CFG; - -typedef struct tagNET_DVR_STREAMING_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel;//ͨ - BYTE byStreamType;//0-1-2-3 - BYTE byRes[127]; -}NET_DVR_STREAMING_COND,*LPNET_DVR_STREAMING_COND; - -//Ƕλ -typedef struct tagNET_DVR_SATELLITETIME_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable;//ǶλУʱʹ 0-1- - BYTE byRes; - WORD wTimeInterval;//Уʱʱ(s) - BYTE byRes1[124]; -}NET_DVR_SATELLITETIME_CFG,*LPNET_DVR_SATELLITETIME_CFG; - -#define MAX_SIGNAL_JOINT_NUM 64 //ƴӹģ -typedef struct tagNET_DVR_SIGNAL_JOINT_CFG -{ - DWORD dwSize; - BYTE sCamName[NAME_LEN] ; //ƴӺźԴ - BYTE byEnable; //ʹܣ0-ʹ !0-ʹ - BYTE byCamMode ; //ƴӺźԴͣNET_DVR_CAM_JOINT - BYTE byRows ; //ƴ - BYTE byColumns ; //ƴ - DWORD dwSignalNo[MAX_SIGNAL_JOINT_NUM]; //źԴ,ǰbyRows* byColumnsЧ - DWORD dwJointNo; //ƴӱţȡЧ - DWORD dwSignalNoJoint; //ƴӺźԴţȡЧ - BYTE byRes[64]; -} NET_DVR_SIGNAL_JOINT_CFG, *LPNET_DVR_SIGNAL_JOINT_CFG; - -typedef struct tagNET_DVR_SIGNAL_CUTPARAM -{ - DWORD dwSize; - DWORD dwSignalNo; //źԴ - DWORD dwCutTop; //Ϸüֵ,0ԭ - DWORD dwCutBottom; //·üֵ,0ԭ - DWORD dwCutLeft; //߲üֵ,0ԭ - DWORD dwCutRight; //ұ߲üֵ,0ԭ - BYTE byRes2[32]; -} NET_DVR_SIGNAL_CUTPARAM, *LPNET_DVR_SIGNAL_CUTPARAM; - -typedef struct tagNET_DVR_WALL_RELATION_CFG -{ - DWORD dwSize; - BYTE byEnable; // 0- !0- - BYTE byRealWallNo ; //ǽ - BYTE byRes[14] ; -}NET_DVR_WALL_RELATION_CFG, *LPNET_DVR_WALL_RELATION_CFG; - - -typedef struct tagNET_DVR_INPUTSTREAMCFG_V40 -{ - DWORD dwSize ; - BYTE byValid ; // - BYTE byCamMode ;//NET_DVR_CAM_MODE - WORD wInputNo ; //źԴ - BYTE sCamName[NAME_LEN] ; - NET_DVR_VIDEOEFFECT struVideoEffect ;//Ƶ - NET_DVR_PU_STREAM_CFG struPuStream ; //ipʱʹ - WORD wBoardNum ; //źԴڵİ忨ţֻܻȡ - WORD wInputIdxOnBoard ; //źԴڰ忨ϵλãֻܻȡ - DWORD dwResolution ;//ֱ - BYTE byVideoFormat ;//ƵʽVIDEO_STANDARD - BYTE byStatus; //źԴ״̬0-ֶЧ 1-ź 2-ź 3-쳣 - BYTE sGroupName[NAME_LEN/*32*/]; //źԴ - BYTE byJointMatrix ; //0- 1-źԴΪNET_DVR_CAM_BNCNET_DVR_CAM_VGANET_DVR_CAM_DVINET_DVR_CAM_HDMI,еһʱòЧ - BYTE byJointNo ; //ƴźԴƴӱ(ֻܻȡ) - BYTE byColorMode; //ɫģʽ 0-Զ 1- 2-ͨ 3-ͣΪԶʱʹstruVideoEffect - BYTE byScreenServer; //Ļ0-1- - BYTE byDevNo; //豸 - BYTE byRes1; - DWORD dwInputSignalNo; //źԴţ£ - BYTE byVideoEnctype; //Ƶͣ0-Ĭϣ1-Smart264 - BYTE byAudioEnctype; //Ƶ࣬0-Ĭϣ1-AUDIO_G711_A2-AUDIO_G711_U3- AUDIO_G722_1 - BYTE byWallStatus; //źԴǽ״̬0-Ч 1-ǽ 2- ǽ - BYTE byRes[117]; -}NET_DVR_INPUTSTREAMCFG_V40, *LPNET_DVR_INPUTSTREAMCFG_V40 ; - -typedef struct tagNET_DVR_AUDIO_CONTROL_INFO -{ - DWORD dwSize; - DWORD dwMonId;//ȫֱ - BYTE bySubWindowNum;//ӦӴں - BYTE byWallNo; //ǽ - BYTE byEnable; //Ƶأ0-أ1- - BYTE byRes[13]; -}NET_DVR_AUDIO_CONTROL_INFO,*LPNET_DVR_AUDIO_CONTROL_INFO; - - - -typedef struct tagNET_DVR_INPUTSTREAM_PTZCFG_PARAM -{ - DWORD dwSize; - WORD wPTZProtocol; //Эֵͣ - BYTE byRes[34]; -}NET_DVR_INPUTSTREAM_PTZCFG_PARAM, *LPNET_DVR_INPUTSTREAM_PTZCFG_PARAM; - -//·Ͷ ա2016γ1133.xlsx -typedef enum -{ - AXLE_TYPE_UNKNOWN = 0x0000, //δ֪ - //2 - AXLE_TYPE_2AXLE_12 = 0x0200, //2ػ - //3 - AXLE_TYPE_3AXLE_122_1 = 0x0300, //3ҳг - AXLE_TYPE_3AXLE_122_2, //3½г - AXLE_TYPE_3AXLE_15, //3ػ - AXLE_TYPE_3AXLE_112, //3ػ - //4 - AXLE_TYPE_4AXLE_125_1 = 0x0400, //4ҳг - AXLE_TYPE_4AXLE_152, //4ҳг - AXLE_TYPE_4AXLE_125_2, //4½г - AXLE_TYPE_4AXLE_1222, //4ȫг - AXLE_TYPE_4AXLE_115, //4ػ - //5 - AXLE_TYPE_5AXLE_155_1 = 0x0500, //5ҳг - AXLE_TYPE_5AXLE_1125_1, //5ҳг - AXLE_TYPE_5AXLE_155_2, //5г - AXLE_TYPE_5AXLE_1125_2, //5г - AXLE_TYPE_5AXLE_129, //5г - AXLE_TYPE_5AXLE_1522, //5ȫг - AXLE_TYPE_5AXLE_11222, //5ȫг - //6 - AXLE_TYPE_6AXLE_159_1 = 0x0600, //6ҳг - AXLE_TYPE_6AXLE_159_2, //6ҳг - AXLE_TYPE_6AXLE_1155_1, //6ҳг - AXLE_TYPE_6AXLE_1155_2, //6ҳг - AXLE_TYPE_6AXLE_159_3, //6г - AXLE_TYPE_6AXLE_159_4, //6г - AXLE_TYPE_6AXLE_1129, //6г - AXLE_TYPE_6AXLE_11522_1, //6ȫҳ - AXLE_TYPE_6AXLE_11522_2, //6ȫҳ -}TRUCK_AXLE_MODEL; - -//շѹ·ͨзѳͷ -typedef enum _TOOLWAY_VEHICLE_TYPE -{ - TOOLWAY_RESULT_OTHER = 0, //δ֪ - TOOLWAY_PASSENGER_VEHICLE_CLASS_1_MINI = 1, //1ͳ΢ - TOOLWAY_PASSENGER_VEHICLE_CLASS_1_SMALL = 2, //1ͳС - TOOLWAY_PASSENGER_VEHICLE_CLASS_2_MIDDLE = 3, //2ͳ - TOOLWAY_PASSENGER_VEHICLE_CLASS_2_TRAILER = 4, //2ͳóг - TOOLWAY_PASSENGER_VEHICLE_CLASS_3_LARGR = 5, //3ͳ - TOOLWAY_PASSENGER_VEHICLE_CLASS_4_LARGR = 6, //4ͳ - TOOLWAY_GOODS_VEHICLE_CLASS_1 = 7, //12 - TOOLWAY_GOODS_VEHICLE_CLASS_2 = 8, //22 - TOOLWAY_GOODS_VEHICLE_CLASS_3 = 9, //33 - TOOLWAY_GOODS_VEHICLE_CLASS_4 = 10, //44 - TOOLWAY_GOODS_VEHICLE_CLASS_5 = 11, //55 - TOOLWAY_GOODS_VEHICLE_CLASS_6 = 12, //66 - TOOLWAY_MOTOR_VEHICLE_CLASS_1 = 13, //1ҵ2 - TOOLWAY_MOTOR_VEHICLE_CLASS_2 = 14, //2ҵ2 - TOOLWAY_MOTOR_VEHICLE_CLASS_3 = 15, //3ҵ3 - TOOLWAY_MOTOR_VEHICLE_CLASS_4 = 16, //4ҵ4 - TOOLWAY_MOTOR_VEHICLE_CLASS_5 = 17, //5ҵ5 - TOOLWAY_MOTOR_VEHICLE_CLASS_6 = 18 //6ҵڵ6 -}TOOLWAY_VEHICLE_TYPE; - -// -typedef struct tagNET_DVR_VEHICLE_WEIGHT_RESULT_ -{ - BYTE byIsOverWeight; //Ƿ - BYTE byAxleNum; // - WORD wAxleModel; //ο enum TRUCK_AXLE_MODEL,Ըͽĸ - float fOverWeight; //()ʵֵ1000䣨ʵֵȷСλ - float fWeight; //()ʵֵ1000䣨ʵֵȷСλ - float fLimitWeight; //()ʵֵ1000䣨ʵֵȷСλ - float fAxleLen; //()ʵֵ100䣨ʵֵȷСλ - char sDevDescInfo[MAX_DEVDESC_LEN/*64*/]; //豸Ϣ - WORD wAxleWeight[MAX_TRUCK_AXLE_NUM/*10*/]; //λǧˣkgiԪرʾi - WORD wAxleDistance[MAX_TRUCK_AXLE_NUM/*10*/]; //࣬λ(mm).iԪرʾi͵i+1ļ - DWORD dwLength; //λcm - DWORD dwWidth; //λcm - DWORD dwHeight; //ߣλcm - BYTE byTollwayVehicleType; //շѹ·ͣοTOOLWAY_VEHICLE_TYPE - BYTE byRes2[11]; //Ԥ -}NET_DVR_VEHICLE_WEIGHT_RESULT, *LPNET_DVR_VEHICLE_WEIGHT_RESULT; - -// Ƽ -typedef struct tagNET_DVR_PLATE_RESULT_V50 -{ - DWORD dwSize; //ṹ - DWORD dwMatchNo; //ƥ,(,,)ƥ - BYTE byGroupNum; //ͼƬһץĵһͼƬʱƥݣ - BYTE byPicNo; //ĵͼƬţյͼƬ󣬱ʾ;ճʱͼƬʱҪɾ - BYTE bySecondCam; //ǷڶץģԶץĵԶǰץĵĺĿлõ - BYTE byFeaturePicNo; //Ƶ羯ȡڼͼΪдͼ,0xff-ʾȡ - BYTE byDriveChan; // - BYTE byVehicleType; //ͣοVTR_RESULT - BYTE byDetSceneID;//ⳡ[1,4], IPCĬ0 - //ԣλʾ0- ޸(ͨ)bit1- Ʊ공(ı־)bit2- ΣƷֵ0- 1- - //ýڵѲʹ,ʹbyYellowLabelCarbyDangerousVehiclesжǷƱ공ΣƷ - BYTE byVehicleAttribute; - WORD wIllegalType; //ΥͲù궨 - BYTE byIllegalSubType[8]; //Υ - BYTE byPostPicNo; //ΥʱȡڼͼƬΪͼ,0xff-ʾȡ - BYTE byChanIndex; //ͨţ - WORD wSpeedLimit; //ޣʱЧ - BYTE byChanIndexEx; //byChanIndexEx*256+byChanIndexʾʵͨš - BYTE byVehiclePositionControl; /*λòر־,0~Ϊͨʶ𱨾,1~Ϊλòش - (ͨPUT /ISAPI/Traffic/channels//vehiclePositionControl?format=json)*/ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[48]; // - BYTE byDeviceID[48]; //豸 - BYTE byDir; //ⷽ1-У򣩣2-()3-˫4-ɶ5-,6-򶫣7-ɱϣ8- - BYTE byDetectType; //ⷽʽ,1-ظд2-Ƶ3-֡ʶ4-״ﴥ - //ͣοITC_RELA_LANE_DIRECTION_TYPE - //òΪŶӦȷΨһԡ - BYTE byRelaLaneDirectionType; - BYTE byCarDirectionType; //ʻķ0ʾ£1ʾϣʵʳʻ֣,2ʾδ֪ - //wIllegalTypeΪʱʹøòwIllegalTypeΪֵʱwIllegalTypeΪ׼òЧ - DWORD dwCustomIllegalType; //ΥͶ(ûԶ) - /*Ϊ0~ָʽʱΪϵΥͣwIllegalTypedwCustomIllegalTypeЧֵΥ롣 - Ϊ1~ַʽʱpIllegalInfoBufЧϵΥͣwIllegalTypedwCustomIllegalTypeȻֵΥ*/ - BYTE* pIllegalInfoBuf; //ΥַϢṹָ룻ָNET_ITS_ILLEGAL_INFO - BYTE byIllegalFromatType; //ΥϢʽͣ 0~ָʽ 1~ַʽ - BYTE byPendant;// 0-ʾδ֪,1-2- - BYTE byDataAnalysis; //0-δ, 1-ѷ - BYTE byYellowLabelCar; //0-ʾδ֪, 1-ǻƱ공,2-Ʊ공 - BYTE byDangerousVehicles; //0-ʾδ֪, 1-ΣƷ,2-ΣƷ - //ֶΰPilotַΪʻCopilotַΪʻ - BYTE byPilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byCopilotSafebelt;//0-ʾδ֪,1-ϵȫ,2-ϵȫ - BYTE byPilotSunVisor;//0-ʾδ֪,1-,2- - BYTE byCopilotSunVisor;//0-ʾδ֪, 1-,2- - BYTE byPilotCall;// 0-ʾδ֪, 1-绰,2-绰 - //0-բ1-δբ (רʷƥǷբɹı־) - BYTE byBarrierGateCtrlType; - BYTE byAlarmDataType;//0-ʵʱݣ1-ʷ - NET_DVR_TIME_V30 struSnapFirstPicTime;//˵ʱ(ms)ץĵһͼƬʱ䣩 - DWORD dwIllegalTime;//Υʱ䣨ms = ץһͼƬʱ - ץĵһͼƬʱ - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[6]; //ͼƬϢ,Żص6ͼ - NET_DVR_VEHICLE_WEIGHT_RESULT struWeightResult; // - BYTE byRes[256]; //Ԥ -}NET_DVR_PLATE_RESULT_V50, *LPNET_DVR_PLATE_RESULT_V50; - - -typedef struct _NET_DVR_NORMAL_SCHEDTIME_ -{ - NET_DVR_SCHEDTIME struTime; - BYTE byAlarmType;//0-1-ز2-ʱ - BYTE byRes[3]; -}NET_DVR_NORMAL_SCHEDTIME,*LPNET_DVR_NORMAL_SCHEDTIME; - -typedef struct tagNET_DVR_SUBSYSTEM_ALARM -{ - DWORD dwSize; - NET_DVR_NORMAL_SCHEDTIME struNormalSchedtime[MAX_DAYS][MAX_TIMESEGMENT_V30]; - //ճƻʱ - BYTE byNormalSchedTimeOn; //ճƻǷ - BYTE byMandatoryAlarm;//0-ǿƲ1-ǿƲ ָǷΪ· - BYTE byRes[254]; -}NET_DVR_SUBSYSTEM_ALARM,*LPNET_DVR_SUBSYSTEM_ALARM; - - -#define MAX_ALLOWLIST_PHONE_NUM 16 - -typedef struct _NET_DVR_ALARM_PHONECFG -{ - DWORD dwSize; - BYTE byEnable;//Ƿ 0-ã1- - BYTE byRes1[3]; - BYTE byPhoneNumber[MAX_PHONE_NUM/*32*/]; - DWORD dwArmRight; //Ȩޣλbit0Ϊ1ʾϵͳ1вȨޣ - DWORD dwDisArmRight; //Ȩޣλbit0Ϊ1ʾϵͳ1гȨޣ - DWORD dwClearAlarmRight; //Ȩޣλbit0Ϊ1ʾϵͳ1Ȩޣ - BYTE byZoneReport[MAX_ALARMHOST_ALARMIN_NUM/*512*/]; //ͣ0-ϴ1-ϴ - DWORD dwNonZoneReport; //Ƿ bit0- bit1-ϵͳ״̬ bit2-ȡ bit3-Ա,bit4- bit5- bit6-Юֱ bit7-ָ bit8-· bit9-·ָ,bit10-̽״̬棨ߡߣ,bit11-̽״̬棨ѹǷѹ,bit12-Ƶ - BYTE byIntervalTime; //0-0s,1-10s,2-30s,3-1min,4-5min,5-10min,6-Զ壨1~5999s - BYTE byRes2; - WORD wDefineIntervalTime; //byIntervalTimeΪ6ʱЧԶʱ䣨1~5999s - BYTE byRes3[128]; -}NET_DVR_ALARM_PHONECFG, *LPNET_DVR_ALARM_PHONECFG; - -typedef struct tagNET_DVR_MODULE_INFO -{ - DWORD dwSize; - BYTE byModuleType; //Ӵͣ1-̣2-3- 4-ģ - BYTE byKeyBoardType; //1-LCD,2-LED - BYTE byTriggerType; // 1-ش 2-4·3-8·4-5-32· - BYTE byZoneType; //ͣ1-ط2-3-˫4-85-8·ģ, 6- - WORD wModuleAddress; //Ӵַչģ0~2550xFFFFʾЧ - BYTE byRes2[2]; // - char sModelInfo[32]; //ģϢ - char sDeviceVersionInfo[32]; //汾Ϣ - BYTE byRes[128]; // -}NET_DVR_MODULE_INFO,*LPNET_DVR_MODULE_INFO; - -typedef struct tagNET_DVR_ALARMHOST_DETECTOR_INFO -{ - DWORD dwSize; - BYTE byDetectorSerialNo[16]; //̽к - DWORD dwAlarmIn; // - WORD wDetectorType; // ̽ͣDETECTOR_TYPE - BYTE byRes[126]; // -}NET_DVR_ALARMHOST_DETECTOR_INFO, *LPNET_DVR_ALARMHOST_DETECTOR_INFO; - -typedef struct tagNET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40 -{ - BYTE byEnable;// 0- 1- - BYTE byRes1[3]; - NET_DVR_SCHEDDATE struDate; - NET_DVR_OUTPUT_SCHEDULE struOutputSchedule[MAX_TIMESEGMENT_V30/*8*/]; - BYTE byTriggerIndex[MAX_ALARMHOST_ALARMOUT_NUM];//±ʾţֵ0-ã1- - BYTE byRes2[64]; -}NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40,*LPNET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40; -//ʱ -typedef struct tagNET_DVR_OUTPUT_SCHEDULE_RULECFG_V40 -{ - DWORD dwSize; //ṹС - NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40 struOutputRule[MAX_RULE_NUM/*8*/]; //֧8εĹãڶʱ/شֻҪʹһξͿ - BYTE byRes[64]; // -}NET_DVR_OUTPUT_SCHEDULE_RULECFG_V40,*LPNET_DVR_OUTPUT_SCHEDULE_RULECFG_V40; - -//ʱ -typedef struct tagNET_DVR_ONE_OUTPUT_SCH_RULECFG_V40 -{ - DWORD dwSize; - NET_DVR_ONE_OUTPUT_SCHEDULE_RULE_V40 struOutputRule; - BYTE byRes[256]; // -}NET_DVR_ONE_OUTPUT_SCH_RULECFG_V40,*LPNET_DVR_ONE_OUTPUT_SCH_RULECFG_V40; - -typedef struct tagNET_DVR_ALARM_CAPTRUE_CFG -{ - DWORD dwSize; - BYTE byBeforeAlarmPic; //Ӧֱ¿ñǰͼƬ4CIF10ţ2CIF20ţCIF40ţQCIF80ţWD1:10,XVGA:10,720P:10,1080P:10 - BYTE byAfterAlarmPic; //Ӧֱ¿ñͼƬ 4CIF10ţ2CIF20ţCIF40ţQCIF80ţWD1:10,XVGA:10,720P:10,1080P:10 - WORD wInterval; //ʱ λs - BYTE byResolution; //ͼƬֱ1-CIF2-2CIF3-4CIF4-QCIF5-WD16-VGA,7-XVGA8-720P9-1080P - BYTE byRes[63]; // ֽ -}NET_DVR_ALARM_CAPTRUE_CFG, *LPNET_DVR_ALARM_CAPTRUE_CFG; - -#define PRIOR_SCHEDTIME 30 - -typedef struct _NET_DVR_PRIOR_SCHEDTIME_ -{ - DWORD dwSize; - NET_DVR_SCHEDDATE struData; - NET_DVR_NORMAL_SCHEDTIME struOneDayTime[8]; - BYTE byEnable; //Ƿ 0-ã1- - BYTE byRes1[3]; - BYTE bySubSystem[32];//ϵͳ±ʾϵͳ 0-֧֣1-֧ - BYTE byMandatoryAlarm;//0-ǿƲ1-ǿƲ ָǷΪ· - BYTE byRes[63]; -}NET_DVR_PRIOR_SCHEDTIME,*LPNET_DVR_PRIOR_SCHEDTIME; - -typedef struct tagNET_DVR_TAMPER_ALARMIN_PARAM -{ - DWORD dwSize; - BYTE byTamperType; // 0-,1-2- - BYTE byUploadAlarmRecoveryReport; //Ƿϴָ棬0-ϴ1-ϴ - BYTE byRes1[2]; - BYTE byAssociateAlarmOut[MAX_ALARMHOST_ALARMOUT_NUM]; // BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE byAssociateSirenOut[8]; // 0 ʾ1 ֵΪ1ʾ 0 ʾ - BYTE byTamperResistor; //裬λǧŷ 0-Ч 1-2.2 2--3.3, 3-4.7 4-5.6 5-8.2 0xff-Զ - BYTE byRes2[3]; - float fTamperResistorManual;/*ֶ裬1.0-10.0ȷСһλλǧŷbyTamperResistorΪ0xffʱЧ*/ - BYTE byRes3[36]; // ֽ -}NET_DVR_TAMPER_ALARMIN_PARAM, *LPNET_DVR_TAMPER_ALARMIN_PARAM; - - -typedef struct tagNET_DVR_REMOTECONTROLLER_PERMISSION_CFG -{ - DWORD dwSize; - BYTE byEnable; - BYTE byAssociateNetUser;//û - WORD wRemoteCtrllerID;//ң 1ʼ - BYTE sDevSn[16];/*Ʒк*/ - BYTE byArmRight; /*0-޲Ȩޣ1-вȨ*/ - BYTE byDisArmRight; /*0-޳Ȩޣ1-гȨ*/ - BYTE byArmReportRight; /*0-޴Ȩޣ1-дȨ*/ - BYTE byDisArmReportRight;/*0-ϴȨޣ1-ϴȨ*/ - BYTE byClearAlarmRight; /*0-Ȩޣ1-Ȩ*/ - BYTE bySubSystemID; /* 豸(ң)ϵͳ,1~8 */ - BYTE byKeyboardAddr; /* ռ̵ĵַ,ʱ */ - BYTE byEnableDel; //ɾңû0-ɾ1-ɾ - BYTE byAlwaysOpenRight; /*Ƿ0-Ч1-2-*/ - BYTE byOpeningDirection; /*ŷ0-Ч1-ŷ2-ŷ*/ - BYTE byRes3[2]; - BYTE byName[NAME_LEN]; //ң - BYTE byRes2[28]; -}NET_DVR_REMOTECONTROLLER_PERMISSION_CFG, *LPNET_DVR_REMOTECONTROLLER_PERMISSION_CFG; - - -typedef struct tagNET_DVR_KEYBOARD_CFG -{ - DWORD dwSize; - BYTE byEnableLock; //Ƿü,0--, 1-- - BYTE byErrorTimes; //ụ̂ - WORD wLockTime; //ʱ䣬λ - BYTE byRes[128]; -}NET_DVR_KEYBOARD_CFG, *LPNET_DVR_KEYBOARD_CFG; - - -typedef struct tagNET_DVR_ALARMHOST_WIRELESS_BUSINESS_COND -{ - DWORD dwSize; - BYTE byCommOperatorNum[NAME_LEN/*32*/];//ͨӪ̺ - BYTE byQueryCode[16];//ҵѯ - BYTE byBusinessType;//ҵ 0-ѣ1- - BYTE byRes[35]; -}NET_DVR_ALARMHOST_WIRELESS_BUSINESS_COND, *LPNET_DVR_ALARMHOST_WIRELESS_BUSINESS_COND; - -typedef struct tagNET_DVR_ALARMHOST_WIRELESS_BUSINESS_INFO -{ - DWORD dwSize; - BYTE by3GBusiness[1024];//3GҵͨŲѯ - BYTE byRes[32]; -}NET_DVR_ALARMHOST_WIRELESS_BUSINESS_INFO, *LPNET_DVR_ALARMHOST_WIRELESS_BUSINESS_INFO; - -typedef struct tagNET_DVR_PREVIEW_DELAY_CFG -{ - DWORD dwSize; - WORD wdelayTime;//ӳԤʱ䣬λ - BYTE byRes[130]; -}NET_DVR_PREVIEW_DELAY_CFG, *LPNET_DVR_PREVIEW_DELAY_CFG; - -typedef struct tagNET_DVR_AUXILIARY_DEV_UPGRADE_PARAM -{ - DWORD dwSize; - DWORD dwDevNo; //豸 - BYTE byDevType; //豸 0-,1-о,2-ģ,3-· 4-5-RS485չģ飬6-¿ģ飬7-ģ,8-ڹģ - BYTE byRes[131]; -}NET_DVR_AUXILIARY_DEV_UPGRADE_PARAM,*LPNET_DVR_AUXILIARY_DEV_UPGRADE_PARAM; - -typedef struct tagNET_DVR_CALL_ROOM_CFG -{ - DWORD dwSize; - SHORT nFloorNumber; // - WORD wRoomNumber; // - BYTE byManageCenter; //Ƿй - BYTE byRes1[3]; - BYTE byCalledName[64]; //׼sipģʽЧû, ֧֡ĸ@͡. - BYTE byRes[60]; -}NET_DVR_CALL_ROOM_CFG,*LPNET_DVR_CALL_ROOM_CFG; - -typedef struct tagNET_DVR_VIDEO_CALL_COND -{ - DWORD dwSize; - BYTE byRes[128]; -}NET_DVR_VIDEO_CALL_COND,*LPNET_DVR_VIDEO_CALL_COND; - -//ѶϢ -typedef struct tagNET_DVR_INQUEST_CASE_INFO -{ - DWORD dwSize; - BYTE sCaseNo[INQUEST_CASE_NO_LEN]; // - BYTE sCaseName[INQUEST_CASE_NAME_LEN]; //ƣ - BYTE sCustomInfo1[CUSTOM_INFO_LEN]; //ԶϢ1 - BYTE sCustomInfo2[CUSTOM_INFO_LEN]; //ԶϢ2 - BYTE sCustomInfo3[CUSTOM_INFO_LEN]; //ԶϢ3 - BYTE byShowCaseInfoTime; /* Ϣʾʱ,λ, ȡֵΧ1~60*/ - BYTE byShowCaseInfo; //ʼǷʾϢ0-ʾ1-ʾ - BYTE byPosition; //ʾλã0-ϣ1- - BYTE byRes1; // - BYTE byCustomInfo4[CUSTOM_INFO_LEN]; //ԶϢ4ʱֶЧ - BYTE byCustomInfo5[CUSTOM_INFO_LEN]; //ԶϢ5ʱֶЧ - BYTE byRes[128]; // -}NET_DVR_INQUEST_CASE_INFO, *LPNET_DVR_INQUEST_CASE_INFO; - -typedef struct tagNET_DVR_CASE_INFO_CTRL_PARA -{ - DWORD dwSize; - DWORD dwChannel;//Ѷͨ - BYTE byShowCaseInfoTime; //ʾʱ - BYTE byRes[131]; -}NET_DVR_CASE_INFO_CTRL_PARAM, *LPNET_DVR_CASE_INFO_CTRL_PARA; - -typedef struct tagNET_DVR_INQUEST_USER_RIGHT_CFG -{ - DWORD dwSize; - /*0: Ѷ¼ɾȨ*/ - BYTE byLocalRight[MAX_RIGHT]; /* Ȩ */ - /*0: ԶƵԤȨ*/ - BYTE byRemoteRight[MAX_RIGHT];/* ԶȨ */ - BYTE byNetAudioRight[MAX_CHANNUM_V40]; /* ԶƵԤȨޣ±ʾֵͨʾȨޣ0-Ȩޣ1-Ȩ*/ - BYTE byRes[512*9]; //9Ȩ޿չ -}NET_DVR_INQUEST_USER_RIGHT_CFG, *LPNET_DVR_INQUEST_USER_RIGHT_CFG; - -typedef struct tagNET_DVR_INQUEST_MIX_AUDIOIN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿû0-ã1- - BYTE byRes1[3]; // - DWORD dwMixCnt; /*ͨ*/ - BYTE bySrcChan[MAX_MIX_CHAN_NUM]; /*±ʾͨţģͨIPͨ,ֵ0ʾ죬ֵ1ʾ*/ - BYTE byLineIn[MAX_LINE_IN_CHAN_NUM]; /*±ʾLine Inͨ,ֵ0ʾ죬ֵ1ʾ*/ - BYTE byMic[MAX_MIC_CHAN_NUM]; /*±ʾMicͨ,ֵ0ʾ죬ֵ1ʾ*/ - BYTE byMixAudioDelay; //ӳ٣λ֡Χ0-63 - BYTE byRes2[127]; // -}NET_DVR_INQUEST_MIX_AUDIOIN_CFG, *LPNET_DVR_INQUEST_MIX_AUDIOIN_CFG; - -typedef struct tagNET_DVR_FACECAPTURE_STATISTICS_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - NET_DVR_TIME_EX struStartTime; //ʼʱ - BYTE byReportType; //ͳƱͣ1-ձ2-ܱ3-±4-걨 - BYTE byStatType; //ͳƣBit0-ΣBit1-ԱBit2- - BYTE byEnableProgramStatistics; //Ƿ񰴽Ŀͳƣ0-1- - BYTE byRes1; - DWORD dwPlayScheduleNo; //Ŀͳʱճ̺ - BYTE byRes[120]; -}NET_DVR_FACECAPTURE_STATISTICS_COND,*LPNET_DVR_FACECAPTURE_STATISTICS_COND; - -typedef struct tagNET_DVR_AGEGROUP_PARAM_ -{ - DWORD dwTeenage;//꣨ - DWORD dwYouth;//꣨ - DWORD dwMidLife;//꣨ - DWORD dwElderly;//꣨ - DWORD dwChild;//ͯ - DWORD dwAdolescent;//꣨ - DWORD dwPrime;//׳꣨ - DWORD dwMidage;//꣨ - BYTE byRes[48]; -}NET_DVR_AGEGROUP_PARAM, *LPNET_DVR_AGEGROUP_PARAM; - -typedef struct tagNET_DVR_FILECOND_MEDICAL -{ - LONG lChannel;//ͨ - DWORD dwFileType;//¼ļ - //ţ0xffȫ0ʱ¼,1-ƶ 23-|ƶ 4-&ƶ 5- 6-ֶ¼,7-¼10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - //ţ0xffȫ0ʱ¼1-ƶ⣬2ӽ345-6ֶ¼7𶯱8-9-ܱ10-PIR11-߱12-ȱ13-ȫ¼14-ܽͨ¼ - DWORD dwIsLocked;//Ƿ 0-ļ,1-ļ, 0xffʾļ - DWORD dwUseCardNo;//Ƿʹÿ - BYTE sCardNumber[32];// - NET_DVR_TIME_SEARCH_COND struStartTime;//ʼʱ - NET_DVR_TIME_SEARCH_COND struStopTime;//ʱ - char szPatientID[64]; - DWORD dwBigFileType; // 0ΪͨƬ1Ϊļ - BYTE byRes[252]; -}NET_DVR_FILECOND_MEDICAL, *LPNET_DVR_FILECOND_MEDICAL; - -typedef struct tagNET_DVR_FIND_PICTURE_MEDICAL_PARAM -{ - DWORD dwSize; // ṹС - LONG lChannel; // ͨ - /* ҵͼƬ:0ʱץͼ1 ƶץͼ 2 ץͼ - 3 | ƶץͼ 4 & ƶץͼ 6 ֶץͼ , - 9-ͼƬ,10- PIR11- ߱12- ȱ, - 0xa Ԥʱͼ0xd , 0xe Խ⣬0xf ⣬ - 0x10 , 0x11-豸ػطʱͼ, 0x12-, - 0x13-,0x14-뿪,0x15-ǻ, - 0x16-Աۼ,0x17-˶,0x18-ͣ, - 0x19-Ʒ,0x1a-Ʒȡ, 0x1b-, - 0x1c-м,0x1d-ȡ֤¼,0x1e-,0x1f-ƻ, - 0x20-ֻ⣬0x21-Ԥ0x22-±, 0x23, 0x24Υͣ,0x25-ץ,0x26-߲±,0x2a-,0x2b-ʸ,0x2c-޳ʱ,0x2d-ȫñ,0x2e-ܽץ,0x2f-Ŀץ,0x30-ץĽģ, 0x31-Ŀ,0x32-, 0x33-, 0x34-ҵѯ,0x35-Ƿ̯,0xff- ȫ*/ - BYTE byFileType; - BYTE byNeedCard; // ǷҪ - /* - 0-1-ģ2-3-壬4-5-ʣ6-7- - 8-9-10-11-ԥ12-ڣ13-14-棬 - 15-16-գ17-ӣ18-ɣ19-ɣ20-21-࣬ - 22-³23-24-£25-26-27-̨28- - 29-أ30-ۣ31-£32-ƣ33-㣬34-0xff-ȫ - */ - BYTE byProvince; //ʡֵ - BYTE byRes1; //ҽǷҪ󷵻Ϣ0-أ1- - NET_DVR_TIME struStartTime;//ͼƬĿʼʱ - NET_DVR_TIME struStopTime;// ͼƬĽʱ - char szPatientID[64]; - BYTE byRes[256]; -}NET_DVR_FIND_PICTURE_MEDICAL_PARAM, *LPNET_DVR_FIND_PICTURE_MEDICAL_PARAM; - -typedef struct tagNET_DVR_SEXGROUP_PARAM_ -{ - DWORD dwMale;//У - DWORD dwFemale;//Ů - BYTE byRes[64]; -}NET_DVR_SEXGROUP_PARAM,*LPNET_DVR_SEXGROUP_PARAM; - -typedef struct tagNET_DVR_FACECAPTURE_STATISTICS_RESULT_ -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - BYTE byStatType;//ͳƣBit0-ЧBit1-ԱЧBit2-Ч - BYTE byRes[7]; - DWORD dwPeopleNum;//ͳ - NET_DVR_AGEGROUP_PARAM struAgeGroupParam;//ͳ - NET_DVR_SEXGROUP_PARAM struSexGroupParam;//Աͳ - NET_DVR_PROGRAM_INFO struProgramInfo; //ĿϢ - BYTE byRes1[76]; -}NET_DVR_FACECAPTURE_STATISTICS_RESULT,*LPNET_DVR_FACECAPTURE_STATISTICS_RESULT; - -//ȡͨṹ -typedef struct tagNET_DVR_TRAFFIC_DATA_QUERY_COND_ -{ - DWORD dwSize; - /* - Bit0-ͨЧ - Bit1-ʱЧ - Bit2-ƺЧ - Bit3-Ч - Bit4-ɫЧ - Bit5-ɫЧ - Bit6-Ч - Bit7-ƷЧ - Bit8-Ч - Bit9-ⷽЧ - Bit10-ٶЧ - Bit11-ٶЧ - Bit12-Ч - Bit13-طʽЧ - Bit14-Υȡ֤Ч - Bit15-¼Ч - Bit16-ȡ֤Ч - */ - DWORD dwQueryCond;//ѯ 0ʾЧ1ʾЧ - DWORD dwChannel;//Ĭ1[1~32]bit0ʾͨ1bit31ʾͨ32 - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - char sLicense[MAX_LICENSE_LEN/*16*/];//(豸֧ģѯ, GB2312) - /* - Bit0-δ֪ - Bit1-׼ó - Bit2-02ʽó - Bit3-侯 - Bit4- - Bit5-ó˫β - Bit6-ʹݳ - Bit7-ũó - Bit8-Ħг - */ - DWORD dwPlateType;//ְ֧ͣλʾԸѡ - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - */ - DWORD dwPlateColor;//ɫְ֧λʾԸѡ - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - Bit6-ɫ - Bit7-ɫ - Bit8-ɫ - Bit9-ɫ - Bit10-ɫ - Bit11-ɫ - Bit12-ɫ - Bit13-ɫ - */ - DWORD dwVehicleColor;//ɫְ֧λʾԸѡ - /* - Bit0-δ֪ - Bit1-ͳ - Bit2- - Bit3-γ - Bit4- - Bit5-С - Bit6- - Bit7-ֳ - Bit8-ֳ - Bit9-SUV/MPV - Bit10-Ϳͳ - */ - DWORD dwVehicleType;//ְ֧ͣλʾԸѡ - /** - Bit0- - Bit1- - Bit2- - Bit3- - Bit4- - Bit5-ѹ - Bit6- - Bit7-· - Bit8-ռ - Bit9-Υ - Bit10- - Bit11-Υ - Bit12-·ͣ - Bit13-̵ͣ - Bit14-δ - Bit15-Υͣ - Bit16-Υµͷ - Bit17-ռӦ - Bit18-δϵȫ - */ - DWORD dwIllegalType; - /** - Bit0- - Bit1-ӵ - Bit2-ͣ - Bit3- - Bit4- - Bit5- - Bit6- - Bit7-ѹ - Bit8-ֹ - Bit9- - Bit10- - Bit11-ͷ - Bit12-ռ - Bit13- - */ - DWORD dwEventType; - /** - Bit0- - Bit1-й·Υͣ - Bit2-ٹ·Υͣ - Bit3-ѹ - Bit4- - Bit5-Υ - Bit6-ռ - */ - DWORD dwForensiceType; - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" ѡ - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byDirection;//ⷽ1-У2-У3-˫4-ɶ5-,6-򶫣7-ɱ - WORD wMinSpeed;//ٶȣ0~999λkm/h - WORD wMaxSpeed;//ٶȣ0~999λkm/h - BYTE byDataType;// 0-ݣ1-Υݣ2-ͨ¼3-ȡ֤ ѡ - BYTE byExecuteCtrl;// 0-1-ֹ0xff- - BYTE byRes[254]; -}NET_DVR_TRAFFIC_DATA_QUERY_COND,*LPNET_DVR_TRAFFIC_DATA_QUERY_COND; - -//ͨͼƬӽṹ -typedef struct tagNET_DVR_TRAFFIC_PICTURE_PARAM_ -{ - NET_DVR_TIME_V30 struRelativeTime; //ץʱ - NET_DVR_TIME_V30 struAbsTime; //ץľʱ - char szPicName[PICTURE_NAME_LEN/*64*/]; - BYTE byPicType;//ͼƬ 0-ͼ1-ץԭͼ2-ϳͼ3-дͼ - BYTE byRes[63]; -}NET_DVR_TRAFFIC_PICTURE_PARAM,*LPNET_DVR_TRAFFIC_PICTURE_PARAM; - -//ͨݽṹ -typedef struct tagNET_DVR_TRAFFIC_DATA_QUERY_RESULT_ -{ - DWORD dwSize; - DWORD dwChannel;//Ĭ1[1~32] - char sLicense[MAX_LICENSE_LEN/*16*/]; - /* - Bit0-δ֪ - Bit1-׼ó - Bit2-02ʽó - Bit3-侯 - Bit4- - Bit5-ó˫β - Bit6-ʹݳ - Bit7-ũó - Bit8-Ħг - */ - DWORD dwPlateType;// - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - */ - DWORD dwPlateColor;//ɫ - /* - Bit0-δ֪ - Bit1-ɫ - Bit2-ɫ - Bit3-ɫ - Bit4-ɫ - Bit5-ɫ - Bit6-ɫ - Bit7-ɫ - Bit8-ɫ - Bit9-ɫ - Bit10-ɫ - Bit11-ɫ - Bit12-ɫ - Bit13-ɫ - */ - DWORD dwVehicleColor;//ɫ - /* - Bit0-δ֪ - Bit1-ͳ - Bit2- - Bit3-γ - Bit4- - Bit5-С - Bit6- - Bit7-ֳ - Bit8-ֳ - Bit9-SUV/MPV - Bit10-Ϳͳ - Bit11- - Bit12-ǻ - Bit13-Сͽγ - Bit14-΢ͽγ - Bit15-Ƥ - Bit16-װ俨 - Bit17-΢忨 - Bit18- - Bit19-̳ - Bit20-͹޳ - Bit21-賵 - Bit22-ƽϳ - Bit23-γ - Bit24-γ - Bit25- - Bit26-СͿͳ - */ - DWORD dwVehicleType;// - /** - Bit0- - Bit1- - Bit2- - Bit3- - Bit4- - Bit5-ѹ - Bit6- - Bit7-· - Bit8-ռ - Bit9-Υ - Bit10- - Bit11-Υ - Bit12-·ͣ - Bit13-̵ͣ - Bit14-δ - Bit15-Υͣ - Bit16-Υµͷ - Bit17-ռӦ - Bit18-δϵȫ - */ - DWORD dwIllegalType; - /** - Bit0- - Bit1-ӵ - Bit2-ͣ - Bit3- - Bit4- - Bit5- - Bit6- - Bit7-ѹ - Bit8-ֹ - Bit9- - Bit10- - Bit11-ͷ - Bit12-ռ - Bit13- - */ - DWORD dwEventType; - /** - Bit0- - Bit1-й·Υͣ - Bit2-ٹ·Υͣ - Bit3-ѹ - Bit4- - Bit5-Υ - Bit6-ռ - */ - DWORD dwForensiceType; - WORD wVehicleLogoRecog; //Ʒƣο"Ʒ.xlsx" - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byDirection;//ⷽ1-У2-У3-˫4-ɶ5-,6-򶫣7-ɱ - WORD wSpeed;//ٶȣ0~999λkm/h - BYTE byDataType;//: 0- 1-Υ 2-¼ 3-ȡ֤ - BYTE byRes[253]; - NET_DVR_TRAFFIC_PICTURE_PARAM struTrafficPic[MAX_TRAFFIC_PICTURE_NUM/*8*/]; -}NET_DVR_TRAFFIC_DATA_QUERY_RESULT,*LPNET_DVR_TRAFFIC_DATA_QUERY_RESULT; - -//ӻȡͨṹ -typedef struct tagNET_DVR_TRAFFIC_FLOW_QUERY_COND_ -{ - DWORD dwSize; - /** - Bit0-ͨЧ - Bit1-ʱЧ - Bit2-Ч - */ - DWORD dwQueryCond;//ѯ 0- - DWORD dwChannel;//Ĭ1[1~32]bit0ʾͨ1bit31ʾͨ32 - DWORD dwResChan[10];//Ԥչͨ - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byRes[255]; -}NET_DVR_TRAFFIC_FLOW_QUERY_COND,*LPNET_DVR_TRAFFIC_FLOW_QUERY_COND; - -//ӻȡͨṹ -typedef struct tagNET_DVR_TRAFFIC_FLOW_QUERY_RESULT_ -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - DWORD dwChannel;//Ĭ1[1~32] - DWORD dwFlow;// - BYTE byLaneNo;//ţ0~255,0ų ʾ δ֪ - BYTE byRes[511]; -}NET_DVR_TRAFFIC_FLOW_QUERY_RESULT,*LPNET_DVR_TRAFFIC_FLOW_QUERY_RESULT; - -//ͼƬ -typedef struct tagNET_DVR_PIC_INFO -{ - BYTE byPicType; //ͼƬͣ0-jpg - BYTE byRes1[3]; // - DWORD dwPicWidth; //ͼƬ - DWORD dwPicHeight; //ͼƬ߶ - DWORD dwPicDataLen; //ͼƬݴС - char* byPicDataBuff; //ͼƬݻ - BYTE byRes2[32]; // -}NET_DVR_PIC_INFO,*LPNET_DVR_PIC_INFO; - -typedef struct tagNET_DVR_VCA_RULE_COLOR_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable; //Ƿã 0-ã1- - BYTE byRuleID; //ĹID - BYTE byColorBlockNo; //ɫţ1ʼ - BYTE byRes1; // - NET_DVR_PIC_INFO struPicInfo; //ͼƬɫϢ - BYTE byRes[64]; -}NET_DVR_VCA_RULE_COLOR_CFG,*LPNET_DVR_VCA_RULE_COLOR_CFG; - -typedef struct tagNET_DVR_VCA_RULE_COLOR_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel; //ͨ - BYTE byRuleID; //ĹID 0ʾ - BYTE byRes[127]; -}NET_DVR_VCA_RULE_COLOR_COND,*LPNET_DVR_VCA_RULE_COLOR_COND; - -//LLDP -typedef struct tagNET_DVR_LLDP_PORT_CFG -{ - BYTE byCardNo; // - BYTE byPortNo; //˿ں - BYTE byEnabledTx; //ʹܷlldp0-ʹܣ1-ʹ - BYTE byEnabledRx; //ʹܽlldp0-ʹܣ1-ʹ - BYTE byRes[12]; -}NET_DVR_LLDP_PORT_CFG, *LPNET_DVR_LLDP_PORT_CFG; - -typedef struct tagNET_DVR_LLDP_CFG -{ - DWORD dwSize; - BYTE byEnabled; //ʹLLDPܣ0-ʹܣ1-ʹ - BYTE byRes1[3]; - DWORD dwHoldTime; //ʱ䣬λ - DWORD dwReiniTime; //³ʼʱ䣬λ - DWORD dwPacketTime; //ʱ䣬λ - NET_DVR_LLDP_PORT_CFG struLLDPPortCfg[MAX_PORT_NUM]; //˿LLDP - BYTE byRes2[32]; -}NET_DVR_LLDP_CFG, *LPNET_DVR_LLDP_CFG; - -//շϢ -typedef struct tagNET_DVR_CARD_PORT_INFO -{ - DWORD dwPortNo; //˿ںţ0-Ч - BYTE byPortName[NAME_LEN]; //˿ - BYTE byWorkMode; //ģʽ1-ACCESS2-TRUNK3-HYPRID - BYTE byBandWidth; //1-100M2-1G3-10G - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byRes[13]; -}NET_DVR_CARD_PORT_INFO, *LPNET_DVR_CARD_PORT_INFO; - -typedef struct tagNET_DVR_NETMGR_CARD_INFO -{ - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - NET_DVR_IPADDR struIPAddr; //IPַ - DWORD dwSlotNo; //ܿλţλ - BYTE byStructureType; //ṹͣ1-2U2-4U - BYTE byRes1[3]; - NET_DVR_CARD_PORT_INFO struNetPortInfo[MAX_SINGLE_CARD_PORT_NO]; //Ϣ - BYTE byRes2[32]; -}NET_DVR_NETMGR_CARD_INFO, *LPNET_DVR_NETMGR_CARD_INFO; - -typedef struct tagNET_DVR_FUNC_CARD_INFO -{ - DWORD dwCardNo; //ţ1ʼ - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - DWORD dwMainSlot; //λ1ʼ - BYTE byStructureType; //ṹͣ1-2U2-4U - BYTE byRes1[3]; - NET_DVR_CARD_PORT_INFO struFuncPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿ڲ - BYTE byRes2[32]; -}NET_DVR_FUNC_CARD_INFO, *LPNET_DVR_FUNC_CARD_INFO; - -typedef struct tagNET_DVR_FIBER_CONVERT_BASIC -{ - DWORD dwSize; - BYTE byPowerType; //Դͣ1-Դ2-˫Դ - BYTE byRes1[3]; - DWORD dwSlotNum; //ܿλţλ - NET_DVR_NETMGR_CARD_INFO struNetCardInfo; //ܿϢ - NET_DVR_FUNC_CARD_INFO struFuncCardInfo[MAX_FUNC_CARD_NUM]; //ܿϢ - BYTE byRes2[64]; -}NET_DVR_FIBER_CONVERT_BASIC, *LPNET_DVR_FIBER_CONVERT_BASIC; - -//շ״̬Ϣ -typedef struct tagNET_DVR_CARD_PORT_STATE -{ - BYTE byValid; //ǷЧ0-Ч1-Ч - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byLinkState; //״̬0-δӣ1- - BYTE byRes1; - DWORD dwSendBytes; //͵ֽ - DWORD dwRecvBytes; //ݰ - DWORD dwRecvLostPackets; //ն - DWORD dwRecvCrcErrPackets; //CRCУ - DWORD dwRecvFragmentPackets; //ƬͻֽڰȾС64ֽڣ - BYTE byRes2[16]; -}NET_DVR_CARD_PORT_STATE, *LPNET_DVR_CARD_PORT_STATE; - -typedef struct tagNET_DVR_NET_CARD_STATE -{ - NET_DVR_CARD_PORT_STATE struNetPortState[MAX_SINGLE_CARD_PORT_NO]; //˿״̬ - BYTE byRes[64]; -}NET_DVR_NET_CARD_STATE, *LPNET_DVR_NET_CARD_STATE; - -typedef struct tagNET_DVR_FUNC_CARD_STATE -{ - BYTE byEnabled; //˽ṹǷЧ0-Ч1-Ч - BYTE byRes1[3]; - DWORD dwCardNo; // - NET_DVR_CARD_PORT_STATE struFuncCardPortState[MAX_SINGLE_CARD_PORT_NO]; - BYTE byRes[32]; -}NET_DVR_FUNC_CARD_STATE, *LPNET_DVR_FUNC_CARD_STATE; - -typedef struct tagNET_DVR_FIBER_CONVERT_STATE -{ - DWORD dwSize; - NET_DVR_NET_CARD_STATE struNetCardState; //ܿ״̬ - NET_DVR_FUNC_CARD_STATE struFuncCardState[MAX_FUNC_CARD_NUM]; //ܿ״̬ - BYTE byRes[32]; -}NET_DVR_FIBER_CONVERT_STATE, *LPNET_DVR_FIBER_CONVERT_STATE; - -//Զշ1.0 Ϣ -typedef struct tagNET_DVR_NETMGR_CARD_INFO_V50 -{ - BYTE byMainSlotNo; //ܿλţλ - BYTE byRes1[3]; - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - BYTE byHardwareVersion[VERSION_LEN]; //Ӳ汾 - NET_DVR_IPADDR struIPAddr; //IPַ - NET_DVR_IPADDR struMask; // - NET_DVR_IPADDR struGateway; //Ĭ - BYTE byMacAddr[6]; //MACַ - BYTE bySlotNums; //λ - BYTE byStructureType; //ṹͣ1-2U2-4U - NET_DVR_CARD_PORT_INFO struPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes2[64]; -}NET_DVR_NETMGR_CARD_INFO_V50, *LPNET_DVR_NETMGR_CARD_INFO_V50; - -typedef struct tagNET_DVR_FUNC_CARD_INFO_V50 -{ - BYTE byCardNo; //տ - BYTE byMainSlotNo; //տλţλ - BYTE byRes1[2]; - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySerialNo[SERIALNO_LEN]; //к - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - BYTE byIsVerMismatch; //汾ܿбش洢汾Ƿһ£0-ƥ䣬!0-ƥ - BYTE byRes2[3]; - BYTE byNewestSoftwareVersion[VERSION_LEN]; //µ汾汾ƥʱЧ - BYTE byHardwareVersion[VERSION_LEN]; //Ӳ汾 - BYTE bySlotNums; //λ - BYTE byStructureType; //ṹͣ1-2U2-4U - BYTE byRes3[2]; - NET_DVR_CARD_PORT_INFO struPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes4[64]; -}NET_DVR_FUNC_CARD_INFO_V50, *LPNET_DVR_FUNC_CARD_INFO_V50; - -typedef struct tagNET_DVR_REMOTE_SEND_CARD_INFO_V50 -{ - BYTE byCardNo; //ţͻӵĽտĿ - BYTE byMainSlotNo; //λţͻӵĽտλ - BYTE byRes1[2]; - BYTE byTypeName[NAME_LEN]; //ͺ - BYTE bySoftwareVersion[VERSION_LEN]; //汾 - BYTE byIsVerMismatch; //汾ܿбش洢汾Ƿһ£0-ƥ䣬!0-ƥ - BYTE byRes2[3]; - BYTE byNewestSoftwareVersion[VERSION_LEN]; //µ汾汾ƥʱЧ - BYTE byHardwareVersion[VERSION_LEN]; //Ӳ汾 - NET_DVR_CARD_PORT_INFO struPortInfo[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes3[64]; -}NET_DVR_REMOTE_SEND_CARD_INFO_V50, *LPNET_DVR_REMOTE_SEND_CARD_INFO_V50; - -typedef struct tagNET_DVR_FIBER_CONVERT_BASIC_V50 -{ - DWORD dwSize; - BYTE byPowerType; //Դͣ1-Դ2-˫Դ - BYTE byRes1[3]; - DWORD dwSlotNum; //ܲλ - NET_DVR_NETMGR_CARD_INFO_V50 struNetCardInfo; //ܿϢ - NET_DVR_FUNC_CARD_INFO_V50 struFuncCardInfo[MAX_FUNC_CARD_NUM]; //տϢ - NET_DVR_REMOTE_SEND_CARD_INFO_V50 struRemoteSendCardInfo[MAX_FUNC_CARD_NUM]; //ͻϢ - BYTE byRes2[64]; -}NET_DVR_FIBER_CONVERT_BASIC_V50, *LPNET_DVR_FIBER_CONVERT_BASIC_V50; - -//Զշ1.0 ״̬Ϣ -typedef struct tagNET_DVR_CARD_PORT_STATE_V50 -{ - BYTE byPortNo; //˿ںţ1ʼ - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byLinkState; //״̬0-δӣ1- - BYTE byPortSpeed; //0-Ч1-Զ2-100M3-1000M4-10G - BYTE byPortDuplexMode; //˿˫ģʽ0-Ч1-Զ2-ȫ˫3-˫ - BYTE byRes1[3]; - BYTE byPortName[NAME_LEN]; //˿ - DWORD dwSendBytes; //͵ֽ - DWORD dwSendByteSpeed; //ֽʣλbps - DWORD dwSendPackets; //͵ֽ - DWORD dwSendPacketSpeed; //ʣλ/ - DWORD dwRecvBytes; //յֽ - DWORD dwRecvByteSpeed; //ֽʣλbps - DWORD dwRecvPackets; //յİ - DWORD dwRecvPacketSpeed; //հʣλ/ - DWORD dwRecvLostPackets; //ն - DWORD dwRecvCrcErrPackets; //CRCУ - DWORD dwRecvFragmentPackets; //ƬͻֽڰȾС64ֽڣ - BYTE byRes2[48]; -}NET_DVR_CARD_PORT_STATE_V50, *LPNET_DVR_CARD_PORT_STATE_V50; - -typedef struct tagNET_DVR_NET_CARD_STATE_V50 -{ - BYTE byMainSlotNo; //ܿλ - BYTE byRes1[3]; - NET_DVR_CARD_PORT_STATE_V50 struPortState[MAX_SINGLE_CARD_PORT_NO]; //ܿ˿״̬ - BYTE byRes2[344]; -}NET_DVR_NET_CARD_STATE_V50, *LPNET_DVR_NET_CARD_STATE_V50; - -typedef struct tagNET_DVR_FUNC_CARD_STATE_V50 -{ - BYTE byCardNo; //տ - BYTE byMainSlotNo; //տλ - BYTE byRes1[2]; - NET_DVR_CARD_PORT_STATE_V50 struPortState[MAX_SINGLE_CARD_PORT_NO]; //տ˿״̬ - BYTE byRes2[64]; -}NET_DVR_FUNC_CARD_STATE_V50, *LPNET_DVR_FUNC_CARD_STATE_V50; - -typedef struct tagNET_DVR_REMOTE_SEND_CARD_STATE_V50 -{ - BYTE byCardNo; //ͻӵĽտĿ - BYTE byMainSlotNo; //ͻӵĽտλ - BYTE byRes1[2]; - NET_DVR_CARD_PORT_STATE_V50 struPortState[MAX_SINGLE_CARD_PORT_NO]; //տ˿״̬ - BYTE byRes[64]; -}NET_DVR_REMOTE_SEND_CARD_STATE_V50, *LPNET_DVR_REMOTE_SEND_CARD_STATE_V50; - -typedef struct tagNET_DVR_FIBER_CONVERT_STATE_V50 -{ - DWORD dwSize; - NET_DVR_NET_CARD_STATE_V50 struNetCardState; //ܿ״̬ - NET_DVR_FUNC_CARD_STATE_V50 struFuncCardState[MAX_FUNC_CARD_NUM]; //տ״̬ - NET_DVR_REMOTE_SEND_CARD_STATE_V50 struRemoteSendCardState[MAX_FUNC_CARD_NUM]; //ͻ״̬ - BYTE byRes[64]; -}NET_DVR_FIBER_CONVERT_STATE_V50, *LPNET_DVR_FIBER_CONVERT_STATE_V50; - -//շϢ -typedef struct tagNET_DVR_FC_PORT_TOPOLOGY -{ - DWORD dwPortNo; //˿ںţ0-Ч0Ϊܿ˿ں - BYTE byPortType; //˿ͣ1-ڣ2-ڣ3-縴ÿ - BYTE byLocalWorkMode; //عģʽ1-ACCESS2-TRUNK3-HYPRID - BYTE byLocalBandWidth; //ش1-100M2-1G3-10G - BYTE byRes1[1]; - BYTE byPeerTypeName[NAME_LEN]; //Զ豸 - BYTE byPeerMac[MACADDR_LEN]; //ԶMACַ - DWORD dwPeerPortNo; //Զ˶˿ں - BYTE byPeerWorkMode; //Զ˹ģʽ1-ACCESS2-TRUNK3-HYPRID - BYTE byPeerBandWidth; //Զ˴1-100M2-1G3-10G - BYTE byRes2[30]; -}NET_DVR_FC_PORT_TOPOLOGY, *LPNET_DVR_FC_PORT_TOPOLOGY; - -typedef struct tagNET_DVR_FC_CARD_TOPOLOGY -{ - BYTE byEnable; //˽ṹǷЧ0-Ч0-Ч - BYTE byRes1[3]; - DWORD dwCardNo; //ţ0-ܿ0-ܿ - DWORD dwSlotNum; //ռõIJλ - BYTE byTypeName[NAME_LEN]; // - BYTE byLocalMac[MACADDR_LEN]; //MACַ - NET_DVR_FC_PORT_TOPOLOGY struFCPortTopology[MAX_SINGLE_CARD_PORT_NO]; //˿Ϣ - BYTE byRes[32]; -}NET_DVR_FC_CARD_TOPOLOGY, *LPNET_DVR_FC_CARD_TOPOLOGY; - -typedef struct tagNET_DVR_FIBER_CONVERT_TOPOLOGY -{ - DWORD dwSize; - NET_DVR_FC_CARD_TOPOLOGY struFCCardTopology[MAX_FC_CARD_NUM]; //Ϣ - BYTE byRes[64]; -}NET_DVR_FIBER_CONVERT_TOPOLOGY, *LPNET_DVR_FIBER_CONVERT_TOPOLOGY; - -//շ˿עϢ -typedef struct tagNET_DVR_FC_COND -{ - DWORD dwSize; - DWORD dwSlotNo; //λ - DWORD dwPortNo; //˿ں - BYTE byRes[32]; -}NET_DVR_FC_COND, *LPNET_DVR_FC_COND; - -typedef struct tagNET_DVR_FC_PORT_REMARKS -{ - DWORD dwSize; - BYTE byLocalRemarks[MAX_REMARKS_LEN]; //ض˿עϢ - BYTE byPeerRemarks[MAX_REMARKS_LEN]; //Զ˶˿עϢ - BYTE byRes[32]; -}NET_DVR_FC_PORT_REMARKS, *LPNET_DVR_FC_PORT_REMARKS; - -typedef enum _EN_FIBER_CONVERT_ALARM -{ - FC_OPTICAL_PORT_LOST = 1, - FC_ELECTRICAL_PORT_LOST, - FC_FUNC_CARD_LOST, - FC_CARD_DISCONNECTED, //߸澯 - FC_MAX_TEMP_LIMITED, //¶ȳ޸澯 - FC_MIN_TEMP_LIMITED, //¶ȳ޸澯 - FC_MAX_VOLTAGE_LIMITED, //ѹ޸澯 - FC_MIN_VOLTAGE_LIMITED, //ѹ޸澯 -}EN_FIBER_CONVERT_ALARM; - -typedef enum _EN_FIBER_CONVERT_NOTIFICATION -{ - FC_OPTICAL_PORT_CONNECTED = 1, - FC_ELECTRICAL_PORT_CONNECTED, - FC_FUNC_CARD_INSERT, - FC_CARD_CONNECTED, //֪ͨ - FC_TEMP_RECOVERY, //¶Ȼָ֪ͨ - FC_VOLTAGE_RECOVERY, //ѹָ֪ͨ -}EN_FIBER_CONVERT_NOTIFICATION; - -typedef struct tagNET_DVR_FIBER_CONVERT_ALARM -{ - DWORD dwSize; - DWORD dwEventType; //¼ͣ1-澯2-֪ͨ - DWORD dwEvent; //¼澯ʱοöFIBER_CONVERT_ALARM֪ͨʱοöFIBER_CONVERT_NOTIFICATION - BYTE bySlotNum; //λţΪͻʱλΪ÷ͻӵĽտIJλţ澯֪ͨʱЧ - BYTE byCardType; //ͣ0-Ч1-ܿ2-տ3-ͻ4- - BYTE byPortNo; //˿ںţ1ʼ澯֪ͨʱЧ - BYTE byCurTemperature; //¼¶ȣ¶ȸ澯֪ͨʱЧλ϶ - WORD wCurVoltage; //¼ĵѹʵʵѹ*10ѹ澯֪ͨʱЧλ - BYTE byRes1[30]; -}NET_DVR_FIBER_CONVERT_ALARM, *LPNET_DVR_FIBER_CONVERT_ALARM; - -//澯¼ϴ -typedef enum _EN_SWITCH_CONVERT_ALARM -{ - SC_OPTICAL_PORT_LOST = 1, - SC_NETWORK_PORT_LOST, - SC_WIRELESS_SPEED_UP_EXCEPTION,//쳣 - SC_WIRELESS_SHUTDOWN, //ӶϿ¼ - SC_DEVICE_POE_MAX, //POE-MAX澯 - SC_PORT_POE_POWER_OFF, //˿POE澯 -}EN_SWITCH_CONVERT_ALARM; - -typedef enum _EN_SWICH_CONVERT_NOTIFICATION -{ - SC_OPTICAL_PORT_CONNECTED = 1, - SC_NETWORK_PORT_CONNECTED, - SC_DEVICE_POE_MAX_RECOVERY, //POE-MAX澯ָ - SC_PORT_POE_POWER_ON, //˿POEϵ֪ͨ - SC_WIRELESS_CONNECTED, //¼ -}EN_SWITCH_CONVERT_NOTIFICATION; - -typedef struct tagNET_DVR_SWITCH_CONVERT_ALARM -{ - DWORD dwSize; - BYTE byPortNo; //ӿ1ʼʾ8λ - BYTE byPortNoEx; //ӿ255ʱֶαʾĸ8λ - BYTE byRes1[2]; - DWORD dwEventType; //¼ͣ1-澯2-֪ͨ - DWORD dwEvent; //¼澯ʱοöEN_SWITCH_CONVERT_ALARM֪ͨʱοöEN_SWITCH_CONVERT_NOTIFICATION - BYTE byRes2[32]; -}NET_DVR_SWITCH_CONVERT_ALARM, *LPNET_DVR_SWITCH_CONVERT_ALARM; - -typedef struct tagNET_DVR_SWITCH_LAMP_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnable; //Ƿã 0-ã1- - BYTE byTriggerMode; // 1-2-δ - BYTE byUploadPic; //0-ϴͼƬ1-ϴͼƬ - BYTE byRes1; // - DWORD dwTimeInterval; //ʱΧ[0,3600]λ - NET_DVR_HANDLEEXCEPTION_V30 struHandleType;//ʽ - BYTE byRelRecordChan[MAX_IVMS_IP_CHANNEL]; //¼ͨ1ʾͨ0ʾ - NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT_V30];//ʱ - BYTE byRes[256]; -}NET_DVR_SWITCH_LAMP_CFG,*LPNET_DVR_SWITCH_LAMP_CFG; - -typedef struct tagNET_DVR_SWITCH_LAMP_ALARM -{ - DWORD dwSize;//ṹС - NET_VCA_DEV_INFO struDevInfo; //豸Ϣ - NET_DVR_TIME_EX struTime; //ʱ - BYTE byLampStatus; //ص״̬0-ѹر 1-Ѵ - BYTE byRes1[3]; // - DWORD dwPicDataLen; //ͼƬݳȣ0ʾͼƬϴ - char* pPicData; //ͼƬ - BYTE byRes[64]; -}NET_DVR_SWITCH_LAMP_ALARM,*LPNET_DVR_SWITCH_LAMP_ALARM; - -//ռ -typedef struct tagNET_DVR_RS485_CASCADE_CFG -{ - DWORD dwSize; - BYTE byDevAddr; //豸ַ0-1-15Ϊӻ - BYTE byRes[131]; -}NET_DVR_RS485_CASCADE_CFG,*LPNET_DVR_RS485_CASCADE_CFG; - -//˽йؼϢϴ -typedef struct tagNET_DVR_PRIVATE_PROTOCOL_CFG -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; //ϢϴIPַ - WORD wPort;//ϢϴĶ˿ں - BYTE byEnable;//ʹ, 0-1-ã2- - BYTE byRes; - DWORD dwInterval;//Ϣϴ(0-ʱƣ豸Ϊ׼; >=0,Ϊλʱ) - BYTE byServerType;// 0-ޣ1- - BYTE byEcryptedSMSEnable;//0-ܣ1- - BYTE byAlgorithm;//㷨0-ޣ1-RSA - BYTE byAcauisitionMode;//ɼģʽ0-Ϣ1-Ϣ2-Ϣ+Ϣ - DWORD dwDistanceLimit;//ƣλm - BYTE byPKModeEnable;//PKģʽʹ, 0-1-ã2- - BYTE byMACAddrReductionEnable;//MACַԭʹ, 0-1-ã2- - BYTE byRes1[214]; - char szIndexCode[MAX_INDEX_CODE_LEN]; - DWORD dwSecretKeyLen;//Կ - char szSecretKey[MAX_SECRETKEY_LEN/*512*/];//Կ -}NET_DVR_PRIVATE_PROTOCOL_CFG,*LPNET_DVR_PRIVATE_PROTOCOL_CFG; - -// -typedef struct tagNET_DVR_DEBUG_CMD -{ - DWORD dwSize; - char szDebugCMD[MAX_DEBUGCMD_LEN/*1024*/]; - BYTE byRes[400]; -}NET_DVR_DEBUG_CMD,*LPNET_DVR_DEBUG_CMD; - -//Ϣ -typedef struct tagNET_DVR_DEBUG_INFO -{ - DWORD dwSize; - char szDebugInfo[MAX_DEBUGINFO_LEN/*1400*/]; - BYTE byRes[32]; -}NET_DVR_DEBUG_INFO,*LPNET_DVR_DEBUG_INFO; - - - -#define MAX_SSID_LEN 32 //SSIDų -#define MAX_WS_PASSWD_LEN 64 //볤 -typedef struct tagNET_DVR_WIRELESSSERVER -{ - DWORD dwSize;//ṹС - BYTE byWLanShare;//WLanȵʹ 0-رգ1-ʹ - BYTE byBroadcastSSID;//SSID㲥ʹ 0-رգ1-ʹ - BYTE bySecurityMode;//ȫģʽ 0- not-encrypted1-WPA2-WPA2(ʱֻ֧2) - BYTE byAlgorithmType; //ģʽ 1-TKIP2-AES - char szSSID[MAX_SSID_LEN/*32*/];//SSIDϢ - char szPassWord[MAX_WS_PASSWD_LEN/*64*/]; - BYTE byDefaultPassword;//ǷĬ 0-1- - BYTE byWifiApModeType;//WlanAPȵģʽ0-رգ1-2-Զ - BYTE byRes[254]; -}NET_DVR_WIRELESSSERVER,*LPNET_DVR_WIRELESSSERVER; - -typedef struct tagNET_DVR_CONNECTDEV_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byRes[128]; -}NET_DVR_CONNECTDEV_COND,*LPNET_DVR_CONNECTDEV_COND; - -typedef struct tagNET_DVR_CONNECTDEV_CFG -{ - DWORD dwSize; - BYTE byID;//к - BYTE byRes[1]; - BYTE byMACAddr[MACADDR_LEN/*6*/]; // ַ - NET_DVR_IPADDR struDVRIP;//豸IP - NET_DVR_TIME struConnectTime;//ʱ - BYTE byRes1[256]; -}NET_DVR_CONNECTDEV_CFG,*LPNET_DVR_CONNECTDEV_CFG; - -typedef struct tagNET_DVR_GIS_SERVER_INFO -{ - BYTE byUserName[NAME_LEN]; - BYTE byPassword[PASSWD_LEN]; - NET_DVR_IPADDR struServerIP; //GISIPַ - WORD wPort; //GIS˿ - BYTE byRes[30]; -}NET_DVR_GIS_SERVER_INFO, *LPNET_DVR_GIS_SERVER_INFO; - -typedef struct tagNET_DVR_BASEMAP_CONTROL_CFG_V40 -{ - DWORD dwSize; - BYTE byEnable; //Ƿʾ1-ʾ0- - BYTE byBaseMapType; //ͼͣ1-ͼƬͼ2-ͼ3-GISͼ - BYTE byRes1[2]; - DWORD dwBaseMapNo; //ͼţͼΪ1ʱ˲ΪͼƬţͼΪ2ʱ˲Ϊϵͳںţ1ֽھ+1ֽӰ+1ֽں+1ֽڱ - NET_DVR_GIS_SERVER_INFO struGisServer; //GISϢ,ͼΪGISͼʱЧ - BYTE byRes2[64]; -}NET_DVR_BASEMAP_CONTROL_CFG_V40,*LPNET_DVR_BASEMAP_CONTROL_CFG_V40; - -typedef struct tagNET_DVR_VIDEO_IMG_DB_CFG -{ - DWORD dwSize; //NET_DVR_VIDEO_IMG_DB_CFGṹС - INT64 i64Capacity; //ͼλλMB - INT64 i64UsedSpace; //ֻÿռ䣬λλMB - INT64 i64AvailableSpace; //ֻÿռ䣬λλMB - BYTE byRes[256]; // -}NET_DVR_VIDEO_IMG_DB_CFG, *LPNET_DVR_VIDEO_IMG_DB_CFG; - -typedef struct tagNET_DVR_FILE_QUERY_INFO -{ - DWORD dwSize; //NET_DVR_FILE_QUERY_INFOṹС - INT64 i64FileLen; //ļС - BYTE byRes[256]; // -}NET_DVR_FILE_QUERY_INFO, *LPNET_DVR_FILE_QUERY_INFO; - -typedef struct tagNET_DVR_FILE_INFO_IN -{ - char szFileID[MAX_FILE_ID_LEN]; //ϴ֮豸ļID - BYTE byRes[256]; -}NET_DVR_FILE_INFO_IN, *LPNET_DVR_FILE_INFO_IN; - -typedef struct tagNET_DOWNLOAD_CB_INFO -{ - DWORD dwType; //, 0-Ϣ,1-ͼƬϢ(ƴ洢),2-ͼƬϢ(ƴ洢) - BYTE *pData; //ָ - DWORD dwDataLen; //ݳ - void* pFileInfo; //ļϢṹ(ƴ洢ʱЧ) - DWORD dwFileInfoLen; //ļϢṹ峤(ƴ洢ʱЧ) - BYTE byRes[120]; // -}NET_DOWNLOAD_CB_INFO, *LPNET_DOWNLOAD_CB_INFO; - -typedef BOOL (*DOWNLOAD_DATA_CB)( LONG lHandle, NET_DOWNLOAD_CB_INFO *pCBInfo, void *pUserData); - -typedef struct tagNET_DVR_DOWNLOAD_CB_PARAM -{ - DOWNLOAD_DATA_CB fnDownloadDataCB; //ݻص - void *pUserData; //û, fnPreviewDataCBص - INT64 i64Offset; //ļƫڶϵ - BYTE byRes[256]; -}NET_DVR_DOWNLOAD_CB_PARAM, *LPNET_DVR_DOWNLOAD_CB_PARAM; - -typedef struct tagNET_DVR_UPLOAD_DB_IN -{ - INT64 i64FileLen; //ϴļҪļȣļԲ - BYTE byContinueUpload; //0-ļϴ1-ļļ - BYTE byRes[255]; -}NET_DVR_UPLOAD_DB_IN, *LPNET_DVR_UPLOAD_DB_IN; - - -typedef struct tagNET_DVR_UPLOAD_DB_OUT -{ - char szFileID[MAX_FILE_ID_LEN]; //ϴ֮豸ļID - BYTE byRes[256]; -}NET_DVR_UPLOAD_DB_OUT, *LPNET_DVR_UPLOAD_DB_OUT; - -typedef struct tagNET_DVR_SEND_PARAM_IN -{ - BYTE *pSendData; //͵Ļ,PicURL == 1 ʱڴд洢 URL ַ,byUploadModeling == 1 ʱڴд洢 ģbase64 - DWORD dwSendDataLen; //ݳ,PicURL == 1 ʱ򣬱ʾ URL ַij,byUploadModeling == 1 ʱ򣬱ʾΪģbase64ļܳ - NET_DVR_TIME_V30 struTime; //ͼƬʱ - BYTE byPicType; //ͼƬʽ,1-jpg,2-bmp,3-png,4-SWF,5-GIF - BYTE byPicURL; //ͼƬݲURLʽ 0-ͼƬݣ1-ͼƬURLʽ - /*Ƿϴģݣ - 0- ͼƬݷʽ(pSendDataָͼƬ, dwPicDataLenΪͼƬݳ) - 1- ֱϴģ(pSendDataָģbase64, dwPicDataLenΪģbase64ļܳ) - עģݲbase64ܷʽ,ѡΪģϴbyPicURL 衣 - /ISAPI/Intelligent/channels//faceContrast/capabilitiesзisSupportUploadModelingڵʱ֧ϴģ. */ - BYTE byUploadModeling; - BYTE byRes1; - DWORD dwPicMangeNo; //ͼƬ - BYTE sPicName[NAME_LEN]; //ͼƬ - DWORD dwPicDisplayTime; //ͼƬʱλ - BYTE *pSendAppendData; //ͼƬĸϢӦFaceAppendData XML - DWORD dwSendAppendDataLen; //ͼƬĸϢݳ FaceAppendData XMLijȣ - BYTE byRes[192]; -}NET_DVR_SEND_PARAM_IN, *LPNET_DVR_SEND_PARAM_IN; - - -typedef struct tagNET_DVR_DOWNLOAD_QOS -{ - DWORD dwMaxSpeed; //ٶȣλkbps - BYTE byRes[256]; -}NET_DVR_DOWNLOAD_QOS, *LPNET_DVR_DOWNLOAD_QOS; - - -#define NET_SDK_MAX_FILE_NAME 100 //ļ - -typedef struct tagNET_DVR_UPLOAD_FILEVOLUME_PRARAM_ -{ - DWORD dwSize; - BYTE byFileType; //ļ 0-¼1-Ƶ - BYTE byFileVolnumeID; //ļIDͨNET_DVR_GET_HDVOLUME_CFG ȡ - BYTE byArchive; //0-鵵1-鵵 - BYTE byRes1; - DWORD dwFileSize; //ļС - char szFileName[NET_SDK_MAX_FILE_NAME/*100*/]; //ļ - BYTE byRes[300]; -}NET_DVR_UPLOAD_FILEVOLUME_PRARAM, *LPNET_DVR_UPLOAD_FILEVOLUME_PRARAM; - -typedef struct tagNET_DVR_DOWNLOAD_FILEVOLUME_PARAM_ -{ - DWORD dwSize; - BYTE sUrl[MAX_UPLOADFILE_URL_LEN/*240*/]; //url - BYTE byRes[248]; - DOWNLOAD_DATA_CB fnDownloadDataCB; //ݻص - void *pUserData; //û, fnPreviewDataCBص -}NET_DVR_DOWNLOAD_FILEVOLUME_PARAM, *LPNET_DVR_DOWNLOAD_FILEVOLUME_PARAM; - - -//Ӱģʽ -typedef struct tagNET_DVR_FILM_MODE_CFG -{ - DWORD dwSize; //ṹС - BYTE byScreenType; //ͣ0-棬1-棬2-л - BYTE byRes[255]; // -}NET_DVR_FILM_MODE_CFG, *LPNET_DVR_FILM_MODE_CFG; - -// -typedef struct tagNET_DVR_DIRECTED_STRATEGY_CFG -{ - DWORD dwSize; //ṹС - BYTE byDirectedStrategyType; //ͣ0-̬ԣ1-Ʒ,2-Ʒ12,3-Ʒ13 - BYTE byRes[255]; // -}NET_DVR_DIRECTED_STRATEGY_CFG, *LPNET_DVR_DIRECTED_STRATEGY_CFG; - -//߿ӽṹ -typedef struct NET_DVR_FRAME -{ - BYTE byFrameWide; /*߿ȺϷȡֵΧΪ[0,14]ֻȡżֵ*/ - BYTE byRed; /*߿ɫΪRGB ģʽRGBֱӦλ*/ - BYTE byGreen; - BYTE byBlue; - BYTE byRes[256]; -}NET_DVR_FRAME, *LPNET_DVR_FRAME; - -//û߿ -typedef struct tagNET_DVR_FRAME_CFG -{ - DWORD dwSize; //ṹС - NET_DVR_FRAME struTopFrame; //ϱ߿ - NET_DVR_FRAME struBottomFrame;//±߿ - NET_DVR_FRAME struLeftFrame; //߿ - NET_DVR_FRAME struRightFrame; //ұ߿ - BYTE byFrameEnable; //ӱ߿0-1-ӱ߿ - BYTE byRes[256]; // -}NET_DVR_FRAME_CFG, *LPNET_DVR_FRAME_CFG; - -//û߿ -typedef struct tagNET_DVR_FRAME_COND -{ - DWORD dwSize; - DWORD dwPicNo;// - BYTE byRes[256]; -}NET_DVR_FRAME_COND, *LPNET_DVR_FRAME_COND; - -//ƵŻ -typedef struct tagNET_DVR_AUDIO_EFFECTIVE_CFG -{ - DWORD dwSize; //ṹС - DWORD dwCheckDelay; //ʱӣλs0ʾԶŻ - BYTE byThreshold; //ֵ[0,100] - BYTE byVolumePercent;// [0,100] - BYTE byPriority; //ȼ[0100] - BYTE byRes[301]; -}NET_DVR_AUDIO_EFFECTIVE_CFG, *LPNET_DVR_AUDIO_EFFECTIVE_CFG; - -//¼Ƶ -typedef struct tagNET_DVR_RECORD_VIDEO_CFG -{ - DWORD dwSize; //ṹС - BYTE byExportType; //ֵ0-MP4 1-AVI - BYTE byRes[255]; //ֽ -} NET_DVR_RECORD_VIDEO_CFG, *LPNET_DVR_RECORD_VIDEO_CFG; - -//RTMP Cond -typedef struct tagNET_DVR_RTMP_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byStreamType; //ͣ1-2-3- - BYTE byRes[303]; -}NET_DVR_RTMP_COND, *LPNET_DVR_RTMP_COND; - -//RTMP Cfg -typedef struct tagNET_DVR_RTMP_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ǷRTMP0-ã1- - BYTE byRes1[3]; - DWORD dwPacketLen; //RTMP - char szURL[RTMP_URL_LEN]; //RTMP URL - BYTE byRes[256]; //ֽ -}NET_DVR_RTMP_CFG, *LPNET_DVR_RTMP_CFG; - -//ļ -typedef struct tagNET_DVR_RECORDING_PUBLISH_FILE_CFG -{ - DWORD dwSize; //ṹС - BYTE byFileID[MAX_ID_LEN_128/*128*/]; //ļID - NET_DVR_TIME_EX struStartTime; //γ̿ʼʱ - NET_DVR_TIME_EX struEndTime; //γ̽ʱ - BYTE byCmdType; // 1--ʼ 2--ȡ - BYTE byFileType; //ļ 0 1ʱγ 2ֶγ - BYTE byRes[254]; -}NET_DVR_RECORDING_PUBLISH_FILE_CFG, *LPNET_DVR_RECORDING_PUBLISH_FILE_CFG; - -//ļ -typedef struct tagNET_DVR_PUBLISH_PROGRESS_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byFileID[MAX_ID_LEN_128/*128*/]; //ļID - BYTE byRes[256]; -}NET_DVR_PUBLISH_PROGRESS_COND, *LPNET_DVR_PUBLISH_PROGRESS_COND; - -//ļȲ -typedef struct tagNET_DVR_PUBLISH_PROGRESS_CFG -{ - DWORD dwSize; //ṹС - BYTE byPublishPercent; //ٷֱ 0-100 - BYTE byPublishStatus; //״̬ 0-ɹ 1--ڷ 2--ȴ 3-FTP 4--ûҵļ 5--ʧܣ - BYTE byRes[302]; -}NET_DVR_PUBLISH_PROGRESS_CFG, *LPNET_DVR_PUBLISH_PROGRESS_CFG; - -//ɾͼеļ -typedef struct tagNET_DVR_BACKGROUND_PIC_COND -{ - DWORD dwSize; - char szFileID[MAX_ID_LEN_128/*128*/]; //ϴ֮豸ļID, ָͼƬ - BYTE byRes[256]; -}NET_DVR_BACKGROUND_PIC_COND, *LPNET_DVR_BACKGROUND_PIC_COND; - -//ѯͼƬļ -typedef struct tagNET_DVR_BACKGROUND_PIC_CFG -{ - DWORD dwSize; //ṹС - DWORD dwPicSize; //ͼƬС - DWORD dwPicType; //ͼƬͣYUV:0 JPEG:1 - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - BYTE byPicName[MAX_PIC_NAME_LEN/*128*/]; //ͼƬ - BYTE byRes[128]; -}NET_DVR_BACKGROUND_PIC_CFG,*LPNET_DVR_BACKGROUND_PIC_CFG; - -typedef struct tagNET_DVR_BACKGROUND_PIC_INFO -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ǷñͼƬӣ0-1- - BYTE byRes1[3]; - BYTE byPicID[MAX_ID_LEN_128/*128*/]; - BYTE byRes[300]; // -}NET_DVR_BACKGROUND_PIC_INFO,*LPNET_DVR_BACKGROUND_PIC_INFO; - - -//ϴͼƬļ -typedef struct tagNET_DVR_BACKGROUND_PIC_PRARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - DWORD dwPicSize; //ͼƬС - WORD wPicWidth; //ͼƬ - WORD wPicHeight; //ͼƬ - char szPicName[MAX_PIC_NAME_LEN/*128*/]; //ͼƬ - BYTE byPicType; //ͼƬͣYUV:0 JPEG:1 - BYTE byRes[303]; -}NET_DVR_BACKGROUND_PIC_PRARAM,*LPNET_DVR_BACKGROUND_PIC_PRARAM; - -//͹ -typedef struct tagNET_DVR_LOWPOWER -{ - DWORD dwSize;//ṹС - BYTE byMode;//ģʽ 0-ֶ1-ʱ - BYTE byEnabled;//ֶģʽµʹܿ 0-رգ1- - BYTE byRes[6]; - NET_DVR_SCHEDULE_DAYTIME struSchedTime;//ʱʱ - BYTE byRes1[256]; -}NET_DVR_LOWPOWER,*LPNET_DVR_LOWPOWER; - -typedef struct tagNET_DVR_POINT -{ - DWORD dwX; //X - DWORD dwY; //Y -}NET_DVR_POINT, *LPNET_DVR_POINT; - -//䱶 -typedef struct tagNET_DVR_ZOOMLINKAGE -{ - DWORD dwSize;//ṹС - BYTE byEnable;//ʹ 0-أ1- - BYTE byRes[255]; -}NET_DVR_ZOOMLINKAGE,*LPNET_DVR_ZOOMLINKAGE; - -typedef struct tagNET_DVR_ONLINEUPGRADE_STATUS -{ - DWORD dwSize; - BYTE byUpgradeStatus;//0-δʼ,1-,2-ɹ,3-Բƥ,4-дfalshʧ,5-Ͳƥ,6-汾ƥ,7-粻ɴ,8-, - //9-ȡļ,10-ûҵļ,11-ļд,12-豸ڴ治,0xff-δ֪ - BYTE byProgress; //,0~100 - BYTE byRes[250]; -}NET_DVR_ONLINEUPGRADE_STATUS,*LPNET_DVR_ONLINEUPGRADE_STATUS; - -typedef struct tagNET_DVR_FIRMWARECODE_COND -{ - DWORD dwSize; - DWORD dwStartIndex; //ʼ - DWORD dwMaxNum; //32 - BYTE byRes[52]; -}NET_DVR_FIRMWARECODE_COND,*LPNET_DVR_FIRMWARECODE_COND; - -typedef struct tagNET_DVR_FIRMWARECODE -{ - WORD wIndex; - WORD wCodeLen; //ʶ볤ȣϲӦÿʱһжϣֶδ128뱨ʾû¹/ͻ˰汾 - BYTE byCode[MAX_IDCODE_LEN];//ʶ - BYTE byVersion[MAX_VERSIIN_LEN];//汾 - BYTE byRes[12]; -}NET_DVR_FIRMWARECODE,*LPNET_DVR_FIRMWARECODE; - -typedef struct tagNET_DVR_FIRMWARECODE_LIST -{ - DWORD dwSize; - DWORD dwValidCodeNum; //Ч - NET_DVR_FIRMWARECODE struCode[MAX_IDCODE_NUM]; - BYTE byRes[64]; -}NET_DVR_FIRMWARECODE_LIST,*LPNET_DVR_FIRMWARECODE_LIST; - -typedef struct tagNET_DVR_ONLINEUPGRADE_SERVER -{ - DWORD dwSize; - BYTE byConnectStatus; //0-δ,1- - BYTE byRes[1019]; -}NET_DVR_ONLINEUPGRADE_SERVER,*LPNET_DVR_ONLINEUPGRADE_SERVER; - -typedef struct tagNET_DVR_ONLINEUPGRADE_VERSION_COND -{ - DWORD dwSize; - BYTE byCheckFromSvr; //ǷҪӷ⣬0-Ҫ豸ԼĽ;1-Ҫ豸ἴʱӷǷ°汾 - BYTE byRes[59]; -}NET_DVR_ONLINEUPGRADE_VERSION_COND,*LPNET_DVR_ONLINEUPGRADE_VERSION_COND; - -typedef struct tagNET_DVR_ONLINEUPGRADE_VERSION_RET -{ - DWORD dwSize; - BYTE byNewVersionAvailable; //Ƿ°汾,0-,1- - BYTE byNewVersion[MAX_VERSIIN_LEN]; //°汾İ汾 - BYTE byChangeLog[SDK_LEN_2048]; //°汾µ - BYTE byRes[971]; -}NET_DVR_ONLINEUPGRADE_VERSION_RET,*LPNET_DVR_ONLINEUPGRADE_VERSION_RET; - -typedef struct tagNET_DVR_RECOMMEN_VERSION_COND -{ - DWORD dwSize; - BYTE byFirmwareCode[MAX_IDCODE_LEN]; - BYTE byFirmwareVersion[MAX_VERSIIN_LEN]; - BYTE byRes[60]; -}NET_DVR_RECOMMEN_VERSION_COND,*LPNET_DVR_RECOMMEN_VERSION_COND; - -typedef struct tagNET_DVR_RECOMMEN_VERSION_RET -{ - DWORD dwSize; - BYTE byRecommenUpgrade; //Ƽ,0-,1- - BYTE byRes[123]; -}NET_DVR_RECOMMEN_VERSION_RET,*LPNET_DVR_RECOMMEN_VERSION_RET; - -//ʪ -typedef struct tagNET_DVR_THSCREEN -{ - DWORD dwSize;//ṹС - BYTE byEnable;//öʱʹ - BYTE byTHOSDDisplay;//ʪʾOSDʾǷ, 0-1- - BYTE byRes[2]; // ֽ - NET_VCA_POINT struTHOSDPoint;//ʪʾOSDʾϽ - BYTE byTimingMode;//Уʱģʽ 0-ֶ1-Զ - BYTE byRes1; - WORD wInterval;//Уʱʱģʽ£ʱ[1,10080]m - BYTE byRes2[254]; -}NET_DVR_THSCREEN,*LPNET_DVR_THSCREEN; - -typedef struct tagNET_DVR_SENSOR_ADJUSTMENT -{ - DWORD dwSize;//ṹС - BYTE byType;//ģʽ0-£1-ң2-ת3-ͼӳǣ4-RGB, 5-, 6-RGB_Ex - BYTE bySensorNo;//Sensor [1,8] - BYTE byRes[2]; - int iAdjustMentRange;// [-100,100] תʱ[-30,30] ͼӳ[-10,10] - BYTE byR;//RGBRɫΧ0-100 - BYTE byG;//RGBGɫΧ0-100 - BYTE byB;//RGBBɫΧ0-100 - BYTE byRgbType;//RGBͣ0-1-ģʽ2-ֶģʽ - BYTE byBrightness;//ȣΧ0-100,Ĭֵ50 - BYTE byRes1[3]; - WORD wRex;//RGB(չ)RɫΧ0-2048 - WORD wGex;//RGB(չ)GɫΧ0-2048 - WORD wBex;//RGB(չ)BɫΧ0-2048 - BYTE byRes2[114]; -}NET_DVR_SENSOR_ADJUSTMENT,*LPNET_DVR_SENSOR_ADJUSTMENT; - -typedef struct tagNET_DVR_SENSOR_ADJUSTMENT_INFO -{ - DWORD dwSize;//ṹС - int iPan;//ֵ - int iTilt;//ֵ - int iRotation;//תֵ - int iFieldAngle;//ͼӳֵ - BYTE byR;//RGBRɫΧ0-100 - BYTE byG;//RGBGɫΧ0-100 - BYTE byB;//RGBBɫΧ0-100 - BYTE byRgbType;//RGBͣ0-1-ģʽ2-ֶģʽ - BYTE byBrightness;//ȣΧ0-100,Ĭֵ50 - BYTE byRes[3]; - WORD wRex;//RGB(չ)RɫΧ0-2048 - WORD wGex;//RGB(չ)GɫΧ0-2048 - WORD wBex;//RGB(չ)BɫΧ0-2048 - BYTE byRes1[114]; -}NET_DVR_SENSOR_ADJUSTMENT_INFO,*LPNET_DVR_SENSOR_ADJUSTMENT_INFO; - -typedef struct tagNET_DVR_SENSOR_RESET -{ - DWORD dwSize;//ṹС - BYTE bySensorNo;//Sensor[1,8];Sensor NoΪ0ʱ򣬱ʾȫ±ʾ - BYTE byRes[127]; -}NET_DVR_SENSOR_RESET,*LPNET_DVR_SENSOR_RESET; - -typedef struct tagNET_DVR_PANORAMAIMAGE -{ - DWORD dwSize;//ṹС - BYTE byFusionMode;//ģʽ0-ԭʼͼ1-ȫͼ - BYTE byPreviewMode;//ģʽ1-Ŀ٣2-̶ʾ - BYTE byRes[126]; -}NET_DVR_PANORAMAIMAGE,*LPNET_DVR_PANORAMAIMAGE; - -typedef struct tagNET_DVR_RELOCATE_INFO -{ - DWORD dwSize;//ṹС - BYTE byTakeOverAddr[MAX_DOMAIN_NAME/*64*/]; //ӹ豸ĵַ - WORD wPort ; //豸˿ں - BYTE byRes[254] ; // -}NET_DVR_RELOCATE_INFO, *LPNET_DVR_RELOCATE_INFO; - -typedef struct tagNET_DVR_CONFERENCE_REGION -{ - DWORD dwSize; - BYTE byEnabled; //Ƿû0-1- - BYTE byRes1[3]; - NET_DVR_POINT struRegion[RECT_POINT_NUM]; //򣬾ΣʼΪ½ǣ˳ʱ뷽 - DWORD dwOutputWidth; //ڻ׼ֻܻȡ - DWORD dwOutputHeight; //ڻ׼ߣֻܻȡ - BYTE byRes2[32]; -}NET_DVR_CONFERENCE_REGION, *LPNET_DVR_CONFERENCE_REGION; - -typedef struct tagNET_DVR_TERMINAL_CALL_CFG -{ - DWORD dwSize; - BYTE byAnswerType; //Ӧʽ1-Զ2-Զܽӣ3-ֶ - BYTE byProtocolType; //ʹõЭͣ1-SIP2-H232 - BYTE byTransmissionProtocol; //Эͣ0-Ч1-TCP2-UDP - BYTE byRes[29]; -}NET_DVR_TERMINAL_CALL_CFG, *LPNET_DVR_TERMINAL_CALL_CFG; - -typedef struct tagNET_DVR_TERMINAL_CALL_INFO -{ - BYTE byTermianlURL[MAX_URL_LEN]; - DWORD dwCallRate;//ʣΧΪ32~6144λKbps () - BYTE byRes[124]; -}NET_DVR_TERMINAL_CALL_INFO, *LPNET_DVR_TERMINAL_CALL_INFO; - -typedef struct tagNET_DVR_TERMINAL_AUDIO_CTRL -{ - BYTE byMute; //Ƿ0-1- - BYTE byVolume; //ǾʱЧ1-100 - BYTE byAudioInputDisabled; //ֹƵ룬0-Ƶ룬1-ֹƵ - BYTE byAudioInputVolume; //ƵƵʱЧ1-100 - BYTE byRes[636]; -}NET_DVR_TERMINAL_AUDIO_CTRL, *LPNET_DVR_TERMINAL_AUDIO_CTRL; - -typedef struct tagNET_DVR_HOWLING_SUPPRESSION -{ - BYTE byEnabled; //ǷʹХ - BYTE byHsSensibility; //Х - BYTE byHsMode; //Хģʽ0-Ĭϣ1-٣2- - BYTE byRes1; - DWORD dwHsTime; //Хʱ䣬λms - BYTE byRes2[16]; -}NET_DVR_HOWLING_SUPPRESSION, *LPNET_DVR_HOWLING_SUPPRESSION; - -typedef struct tagNET_DVR_TERMINAL_INPUT_AUDIO -{ - DWORD dwChannel; //ͨ - BYTE byGainType; //ͣ1-棬2-ģ,3- - BYTE byEnableSimulate; //Ƿģ棬0-1- - BYTE byVolumeSimulate; //ģʱЧ1-100 - BYTE byEnableDigital; //Ƿ棬0-1- - BYTE byVolumeDigital; //ʱЧ1-100 - BYTE byRes1[3]; - NET_DVR_HOWLING_SUPPRESSION struHsParam; //ХƲ - BYTE byRes[604]; -}NET_DVR_TERMINAL_INPUT_AUDIO, *LPNET_DVR_TERMINAL_INPUT_AUDIO; - - -typedef union tagNET_DVR_TERMINAL_DETAIL_CTRL_PARAM -{ - BYTE byRes[640]; - NET_DVR_TERMINAL_CALL_INFO struCallInfo; - NET_DVR_TERMINAL_AUDIO_CTRL struAudioCtrl; - NET_DVR_TERMINAL_INPUT_AUDIO struInputAudio; -}NET_DVR_TERMINAL_DETAIL_CTRL_PARAM, *LPNET_DVR_TERMINAL_DETAIL_CTRL_PARAM; - -typedef struct tagNET_DVR_TERMINAL_CTRL_PARAM -{ - DWORD dwSize; - BYTE byOperateType; //ͣ1-2-ܽӣ3-У4-Ƶڣ5-Ҷϣ6-˫7-˫ - BYTE byRes1[3]; - NET_DVR_TERMINAL_DETAIL_CTRL_PARAM struCtrlParam; //Ʋ - BYTE byRes2[32]; -}NET_DVR_TERMINAL_CTRL_PARAM, *LPNET_DVR_TERMINAL_CTRL_PARAM; - -typedef struct tagNET_DVR_POS_INFO_OVERLAY -{ - DWORD dwSize; - BYTE byPosInfoOverlayEnable;// PosϢӿƣ0-ӣ1- - BYTE byOverlayType;//0-ӽ뿪1-ӽ롢뿪PASSID߶ - BYTE byRes[126]; -}NET_DVR_POS_INFO_OVERLAY, *LPNET_DVR_POS_INFO_OVERLAY; - - -typedef struct tagNET_DVR_CAMERA_WORK_MODE -{ - DWORD dwSize; - BYTE byWorkMode;//ģʽ0-ģʽ1-궨ģʽ - BYTE byPreviewImageMode;//Ԥͼģʽ0-ͼ1-ͼ2-ҵͼ - BYTE byRes[126]; -}NET_DVR_CAMERA_WORK_MODE, *LPNET_DVR_CAMERA_WORK_MODE; - -typedef struct tagNET_DVR_VCA_VERSION_LIST -{ - DWORD dwSize; //ṹ峤 - NET_DVR_VCA_VERSION struVcaVersion[NET_SDK_VERSION_LIST_LEN/*64*/];//㷨汾Ϣ - BYTE byRes[128]; -}NET_DVR_VCA_VERSION_LIST, *LPNET_DVR_VCA_VERSION_LIST; - -typedef struct tagNET_DVR_SETUP_CALIB_COND -{ - DWORD dwSize; - BYTE byCalibrateType;//궨ͣ0-δб궨1-Զ궨2-ֶ궨,3-ܱ궨 - BYTE byRes1[3]; - float fTiltAngle;//,λȣĬֵ0ǷΧ0-180,byCalibrateTypeΪ2ʱЧ - float fHeelAngle;//б,λȣбĬֵ0бǷΧ-90-90,byCalibrateTypeΪ2ʱЧ - float fHeight;//߶ȣ߶ȵλף߶Ĭֵ300ף߶ȷΧ200-500,byCalibrateTypeΪ2ʱЧ - NET_VCA_POLYGON struAutoCalibPolygon;//Զ궨򣬵byCalibrateTypeΪ1ʱЧ - BYTE byIntelligentType;//궨ͣ0- 1-2-ԣ3-Ϊֻڱ궨ʱNET_DVR_SETUP_CALIB_RESULTصݲЧ - BYTE byRes[127]; -}NET_DVR_SETUP_CALIB_COND, *LPNET_DVR_SETUP_CALIB_COND; - -typedef struct tagNET_DVR_SETUP_CALIB_RESULT -{ - DWORD dwSize; - BYTE byCalibrateType;//궨ͣ0-δб궨1-Զ궨2-ֶ궨,3-ܱ궨 - BYTE byRes1[3]; - float fTiltAngle;//,λȣĬֵ0ǷΧ0-180,byCalibrateTypeΪ2ʱЧ - float fHeelAngle;//б,λȣбĬֵ0бǷΧ-90-90,byCalibrateTypeΪ2ʱЧ - float fHeight;//߶ȣ߶ȵλף߶Ĭֵ300ף߶ȷΧ200-500,byCalibrateTypeΪ2ʱЧ - NET_VCA_POLYGON struCountPolygon;// - NET_DVR_PDC_ENTER_DIRECTION struEnterDirection; // 뷽 - NET_VCA_LINE struLine;// - BYTE byRes[128]; -}NET_DVR_SETUP_CALIB_RESULT, *LPNET_DVR_SETUP_CALIB_RESULT; - -typedef struct tagNET_DVR_CALL_QUERY_COND -{ - DWORD dwSize; - BYTE bySearchID[MAX_SEARCH_ID_LEN]; //ʶ - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byCallType; //ͣ1-ѽӣ2-δӣ3-Ѳ4- - BYTE byRes1[3]; - DWORD dwMaxResults; //β෵ظ - DWORD dwSearchPos; //ʼ - BYTE byRes2[32]; -}NET_DVR_CALL_QUERY_COND, *LPNET_DVR_CALL_QUERY_COND; - -typedef struct tagNET_DVR_CALL_QUERY_SINGLE -{ - DWORD dwSize; - BYTE byCallType; //ͣ1-ѽӣ2-δӣ3-Ѳ - BYTE byRes1[3]; - BYTE byTerminalName[TERMINAL_NAME_LEN]; //ն - BYTE byAddressURL[MAX_URL_LEN]; //ԶURLַ - NET_DVR_TIME struStartTime; //пʼʱ - NET_DVR_TIME struEndTime; //нʱ - BYTE byRes2[32]; -}NET_DVR_CALL_QUERY_SINGLE, *LPNET_DVR_CALL_QUERY_SINGLE; - - -typedef enum tagCALL_QUERY_RESULT_STATUS -{ - CALL_QUERY_RESULT_OK = 0, //ɹѯ - CALL_QUERY_RESULT_FAIL, //ѯʧܣδ֪ - CALL_QUERY_RESULT_MORE, //ɹѯ иûз - CALL_QUERY_RESULT_NOMATCH, //ûвѯƥ - CALL_QUERY_RESULT_PARAMERROR, //ѯ - CALL_QUERY_RESULT_INVALIDTIME, //ѯʱЧ - CALL_QUERY_RESULT_TIMEOUT, //ѯʱ -}CALL_QUERY_RESULT_STATUS; - -typedef struct tagNET_DVR_CALL_QUERY_RESULT -{ - DWORD dwSize; - BYTE bySearchID[MAX_SEARCH_ID_LEN]; //ʶ - BYTE byStatus; //ѯ״̬ οCALL_QUERY_RESULT_STATUSṹ - BYTE byRes[3]; // - DWORD dwCount; //ʵʲѯĽ - BYTE *pResults; //ݣdwCountNET_DVR_CALL_QUERY_SINGLE,ҪԤȷڴ - BYTE byRes2[32]; -}NET_DVR_CALL_QUERY_RESULT, *LPNET_DVR_CALL_QUERY_RESULT; - -typedef struct tagNET_DVR_CONFERENCE_CALL_INFO -{ - BYTE byConferenceID[MAX_ID_LEN]; //ID - BYTE byConferenceName[NAME_LEN]; // - NET_DVR_TIME struStartTime; //鿪ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byRes[512]; -}NET_DVR_CONFERENCE_CALL_INFO, *LPNET_DVR_CONFERENCE_CALL_INFO; - -typedef union tagNET_DVR_CALL_INFO -{ - BYTE byRes[640]; - NET_DVR_TERMINAL_CALL_INFO struTerminalCallInfo; //ն˵ԵϢ - NET_DVR_CONFERENCE_CALL_INFO struConferenceCallInfo; //Ϣ -}NET_DVR_CALL_INFO, *LPNET_DVR_CALL_INFO; - -typedef struct tagNET_DVR_CONFERENCE_CALL_ALARM -{ - DWORD dwSize; - BYTE byAlarmType; //ͣ1-У 2-״̬л3-ն - BYTE byCallType; //ͣΪ1ʱЧ1-ն˵ԵУ2- - BYTE byAutoAnswer; //ǷԶ0-1- - BYTE byCallStatusSwitch; //״̬лͣΪ2ʱЧ1-ʼУ2-гɹ3-н4-Զ˹Ҷ - NET_DVR_CALL_INFO struCallInfo; //Ϣ - BYTE byRes2[32]; -}NET_DVR_CONFERENCE_CALL_ALARM, *LPNET_DVR_CONFERENCE_CALL_ALARM; - -typedef struct tagNET_DVR_TERMINAL_INPUT_CFG -{ - DWORD dwSize; - DWORD dwInputNo; //ΪƵڱ - BYTE byStreamType;//ͣ0-1-2- - BYTE byRes[31]; -}NET_DVR_TERMINAL_INPUT_CFG, *LPNET_DVR_TERMINAL_INPUT_CFG; - -typedef struct tagNET_DVR_AUDIO_STATUS -{ - BYTE byMute; //Ƿ0-1- - BYTE byVolume; //1-100ǾʱЧ - BYTE byAudioInputDisabled; //Ƶ룬0-1- - BYTE byAudioInputVolume; //Ƶ1-100ƵʱЧ - BYTE byRes[32]; -}NET_DVR_AUDIO_STATUS, *LPNET_DVR_AUDIO_STATUS; - -typedef struct tagNET_DVR_TERMINAL_CONFERENCE_STATUS -{ - DWORD dwSize; - BYTE byConferenceState; //״̬0-У1-æµУ2-У3- - BYTE byConferenceType; //ͣ1-Ե㣬2-MCU - BYTE byDualStreamEnabled; //Ƿ˫0-δ1- - BYTE byMicPowerEnabled; //˷ԴǷ0-δ1- - DWORD dwInputNo; //ʹõƵں - NET_DVR_CALL_INFO struCallInfo; //Ϣ - NET_DVR_AUDIO_STATUS struAudioStatus; //Ƶ״̬ - BYTE byRes2[32]; -}NET_DVR_TERMINAL_CONFERENCE_STATUS, *LPNET_DVR_TERMINAL_CONFERENCE_STATUS; - -//նעGKϢ -typedef struct tagNET_DVR_TERMINAL_GK_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ - BYTE byRegisterState; //ע״̬0-δעᣬ1-עᣬֻ - BYTE byRes1[2]; - NET_DVR_IPADDR struGKIP; //GK IP - WORD wGKPort; //GK˿ں - BYTE byRes2[2]; - BYTE byRegisterName[REGISTER_NAME_LEN]; //նעᵽGK - BYTE byPassword[PASSWD_LEN]; //նעᵽGK - BYTE byRes3[16]; -}NET_DVR_TERMINAL_GK_CFG, *LPNET_DVR_TERMINAL_GK_CFG; - -//οز -typedef struct tagNET_DVR_WIN_ROAM_SWITCH_CFG -{ - DWORD dwSize; - BYTE byEnableRoam; //ǷΣ0-񣬷0- - BYTE byRes[31]; -}NET_DVR_WIN_ROAM_SWITCH_CFG,*LPNET_DVR_WIN_ROAM_SWITCH_CFG; - -typedef struct tagNET_DVR_LED_OUTPUT_CFG -{ - DWORD dwSize; - BYTE byEnableZoom; //Ƿţ0-1- - BYTE byAutoCutBlackEdge; //ǷԶüڱߣ0-1- - BYTE byRes1[2]; - WORD wLEDWidth; //ֱʿ - WORD wLEDHeight; //ֱʸ - DWORD dwRefreshRate; //ˢƵ - DWORD dwInputNO; //ͨ - BYTE byRes2[32]; -}NET_DVR_LED_OUTPUT_CFG, *LPNET_DVR_LED_OUTPUT_CFG; - -typedef struct tagNET_DVR_LED_OUTPUT_PORT_CFG -{ - DWORD dwSize; - BYTE byEnabled; //Ƿʹܣ0-1- - BYTE byRes1[3]; - DWORD dwPortNum; //Ķ˿ڸ - DWORD dwPortNo[MAX_OUTPUT_PORT_NUM]; //Ķ˿ں - BYTE byRes2[64]; -}NET_DVR_LED_OUTPUT_PORT_CFG, *LPNET_DVR_LED_OUTPUT_PORT_CFG; - -typedef struct tagNET_DVR_LINE_COLUMN_INFO -{ - WORD wLine; //к - WORD wColumn; //к -}NET_DVR_LINE_COLUMN_INFO, *LPNET_DVR_LINE_COLUMN_INFO; - -typedef struct tagNET_DVR_LED_DISPLAY_AREA -{ - DWORD dwSize; - NET_DVR_LINE_COLUMN_INFO struLCInfo; //ʾʼλ(տк) - WORD wWidth; //տ - WORD wHeight; //տ - WORD wRecvCardWidth; //տȴСΪ0ʹö˿ڲнտС - WORD wRecvCardHeigt; //տ߶ȴСΪ0ʹö˿ڲнտС - BYTE byRes[32]; -}NET_DVR_LED_DISPLAY_AREA, *LPNET_DVR_LED_DISPLAY_AREA; - -typedef struct tagNET_DVR_LED_RECV_CARD_INFO -{ - NET_DVR_LINE_COLUMN_INFO struPos; //տλ - WORD wRecvCardWidth; //տȴС - WORD wRecvCardHeigt; //տ߶ȴС -}NET_DVR_LED_RECV_CARD_INFO, *LPNET_DVR_LED_RECV_CARD_INFO; - -typedef struct tagNET_DVR_LED_PORT_BACKUP -{ - BYTE byEnabled; //Ƿö˿ڱݣ0-1- - BYTE byPortMode; //˿ģʽ1-ڣ2-ݿ - BYTE byRes1[2]; - DWORD dwPairPort; //Զ˿ںţ˿Ϊʱ˲Ϊݿڶ˿ںţ˿Ϊݿʱ˲Ϊڶ˿ں - BYTE byRes2[16]; -}NET_DVR_LED_PORT_BACKUP, *LPNET_DVR_LED_PORT_BACKUP; - -typedef struct tagNET_DVR_LED_PORT_CFG -{ - DWORD dwSize; - BYTE byEnabled; //Ƿøö˿ڣ0-1- - BYTE byRes1[3]; - NET_DVR_LED_PORT_BACKUP struLedPortBackup; //˿ڱݲ - DWORD dwRecvCardNum; //˿ӵĽտ - NET_DVR_LED_RECV_CARD_INFO struRecvCard[MAX_SINGLE_PORT_RECVCARD_NUM]; //տϢ - DWORD dwPortNo; //˿ںţȡж˿ڲʱЧ - BYTE byRes2[64]; -}NET_DVR_LED_PORT_CFG, *LPNET_DVR_LED_PORT_CFG; - -typedef struct tagNET_DVR_LED_DISPLAY_CFG -{ - DWORD dwSize; - NET_DVR_COLOR_TEMPERATURE_CFG struColorTemp; //ɫ² - NET_DVR_VIDEO_OUT_CFG struVoutCfg; //ʾЧ - BYTE byRes[32]; -}NET_DVR_LED_DISPLAY_CFG, *LPNET_DVR_LED_DISPLAY_CFG; - -typedef struct tagNET_DVR_LED_TEST_SIGNAL_CFG -{ - DWORD dwSize; - BYTE byEnabled; //Ƿòźţ0-ã1- - BYTE bySignalType; //źͣ1-2-ƣ3-״4-5-ˮƽʹֱҽ壬6-̣0xff-Զɫ - BYTE byRes1[2]; - NET_DVR_RGB_COLOR struSignalColor; //źɫźΪ0xffʱЧ - BYTE byRes[32]; -}NET_DVR_LED_TEST_SIGNAL_CFG, *LPNET_DVR_LED_TEST_SIGNAL_CFG; - -typedef struct tagNET_DVR_LED_NOSIGNAL_CFG -{ - DWORD dwSize; - BYTE byNoSignalMode; //źʾģʽ1-2-ʾLOGO3-ʾԶͼƬ - BYTE byRes[63]; -}NET_DVR_LED_NOSIGNAL_CFG, *LPNET_DVR_LED_NOSIGNAL_CFG; - -typedef struct tagNET_DVR_LED_INPUT_CFG -{ - DWORD dwSize; - DWORD dwResolutionWidth; //ֱʿֻ - DWORD dwResolutionHeight; //ֱʸߣֻ - DWORD dwRefreshRate; //źˢƵʣֻ - NET_DVR_SCREEN_VGA_CFG struVgaCfg; //VGAźŵVGAʱɵ - BYTE byRes[32]; -}NET_DVR_LED_INPUT_CFG, *LPNET_DVR_LED_INPUT_CFG; - -typedef struct tagNET_DVR_LED_RECV_CARD_CFG_COND -{ - DWORD dwSize; - DWORD dwOutputNo; // - NET_DVR_LINE_COLUMN_INFO struPosStart; //տʼλ - NET_DVR_LINE_COLUMN_INFO struPosEnd; //տλ - BYTE byRes[32]; -}NET_DVR_LED_RECV_CARD_CFG_COND, *LPNET_DVR_LED_RECV_CARD_CFG_COND; - -typedef struct tagNET_DVR_LED_GAMMA_CFG_COND -{ - DWORD dwSize; - DWORD dwOutputNo; //; - NET_DVR_LINE_COLUMN_INFO struPosStart; //տʼλ - NET_DVR_LINE_COLUMN_INFO struPosEnd; //տλ - BYTE byGammaType; //GammaͣGammaʱЧ0-RGBGamma1-ɫGamma2-ɫGamma3-ɫGamma - BYTE byRes[31]; -}NET_DVR_LED_GAMMA_CFG_COND, *LPNET_DVR_LED_GAMMA_CFG_COND; - -typedef struct tagNET_DVR_LED_GAMMA_CFG -{ - DWORD dwSize; - WORD wGammaValue[MAX_GAMMA_X_VALUE]; //GAMMAYȡֵÿԪȡֵ0-65535ԶģʽʱЧ - BYTE byGammaModel; //GAMMAģʽ0-Զģʽ1-ҹģʽ12-ҹģʽ23-ģʽ4-ģʽ15-ģʽ2 - BYTE byRes[127]; -}NET_DVR_LED_GAMMA_CFG, *LPNET_DVR_LED_GAMMA_CFG; - -typedef struct tagNET_DVR_LED_CLOCK_CFG -{ - DWORD dwDclkRate; //ʱdclkƵʣʵֵ10λMHzʵֵΧ1.0-31.3 - DWORD dwGclkRate; //ˢʱgclkƵʣʵֵ10λMHzʵֵΧ1.0-31.3 - DWORD dwGclkCountNum; //300ns gclkֵ - BYTE byDclkDutyRatio; //dclkʱռձȣȡֵ255075 - BYTE byDclkPhase; //dclkλȡֵ0,1,2,3 - BYTE byGclkNum; //ˢ1ҪЧgclk0-255 - BYTE byRes[17]; -}NET_DVR_LED_CLOCK_CFG, *LPNET_DVR_LED_CLOCK_CFG; - -typedef struct tagNET_DVR_LED_RECV_CFG -{ - DWORD dwSize; - NET_DVR_LED_CLOCK_CFG struClockCfg; //ʱز - BYTE byGrayLevel; //Ҷȵȼȡֵ1314 - BYTE byRefreshRate; //ˢ±ʣȡֵ1-6 - BYTE byLineScanNum; //ɨ0-255 - BYTE byRefreshCompleteGrayNum; //ˢҽ0-255 - DWORD dwHBlank; //ʱ䣬λgclkʱӸȡֵ1-65535 - DWORD dwAfterglowCtrl; //Ϳƽʱ䣬λgclkʱӸȡֵ1-65535 - DWORD dwLineFeedTime; //ʱ䣬λgclkʱӸȡֵ1-65535 - BYTE byRes[128]; -}NET_DVR_LED_RECV_CFG, *LPNET_DVR_LED_RECV_CFG; - -typedef struct tagNET_DVR_LED_REGISTOR_VALUE -{ - BYTE byChip1High; //оƬ1ֽ - BYTE byChip1Low; //оƬ1ֽ - BYTE byChip2High; //оƬ2ֽ - BYTE byChip2Low; //оƬ2ֽ - BYTE byChip3High; //оƬ3ֽ - BYTE byChip3Low; //оƬ3ֽ - BYTE byChip4High; //оƬ4ֽ - BYTE byChip4Low; //оƬ4ֽ - BYTE byChip5High; //оƬ5ֽ - BYTE byChip5Low; //оƬ5ֽ - BYTE byChip6High; //оƬ6ֽ - BYTE byChip6Low; //оƬ6ֽ - BYTE byRes[4]; -}NET_DVR_LED_REGISTOR_VALUE, *LPNET_DVR_LED_REGISTOR_VALUE; - -typedef struct tagNET_DVR_LED_RECV_REGISTOR -{ - BYTE byEliminateGhostShadowLevel; //¹Ӱȼ0-5 - BYTE byEliminateShadowy; //һɨƫȼ0-15 - BYTE byGrayEqualize1; //ͻƫɫ10-3 - BYTE byGrayEqualize2; //ͻƫɫ20-15 - BYTE byEnableGrayUniformity; //ͻҾǷ0-أ1- - BYTE byDisableHGrayStripes; //ͻҺǷ0-أ1- - BYTE byGhostShadowEnhancedMode1; //¹Ӱǿģʽ1Ƿ0-أ1- - BYTE byGhostShadowEnhancedMode2; //¹Ӱǿģʽ2Ƿ0-أ1- - BYTE byClearBadPoint; //ȥʹܣ0-ʹܣ1-ʹ - BYTE byEnableSelfDefineRegistor; //ǷԶĴֵ0-1- - BYTE byRes1[2]; - NET_DVR_LED_REGISTOR_VALUE struRegistorValue; //ԶĴ - BYTE byEnabledExGradientOptimition; //Żأ0-رգ!0- - BYTE byDummyGClockCycle; //Dummy GClockڣŻʱЧλgclk - BYTE byDummyGClockHighTime; //Dummy GClockߵƽʱ䣬ŻʱЧλ8ns - BYTE byFirstGClockExtendedTime; //һGClockչʱ䣬ŻʱЧλ8ns - BYTE byRes[28]; -}NET_DVR_LED_RECV_REGISTOR, *LPNET_DVR_LED_RECV_REGISTOR; - -typedef struct tagNET_DVR_LED_RECV_ADVANCED_CFG -{ - DWORD dwSize; - NET_DVR_LED_RECV_REGISTOR struFirstRegistor; //һտ߼ԶĴֵΪоƬĴֵ - NET_DVR_LED_RECV_REGISTOR struSecondRegistor; //ڶտ߼ԶĴֵΪоƬĴֵ - NET_DVR_LED_RECV_REGISTOR struThirdRegistor; //տ߼ԶĴֵΪоƬĴֵ - BYTE byRes2[64]; -}NET_DVR_LED_RECV_ADVANCED_CFG,*LPNET_DVR_LED_RECV_ADVANCED_CFG; - -typedef struct tagNET_DVR_LED_CHECK_COND -{ - DWORD dwSize; - DWORD dwOutputNo; // - NET_DVR_LINE_COLUMN_INFO struPosStart; //տʼλ - BYTE byStartPosType; //ʼλͣ0-ʹýտʼλã1-ʹλ - BYTE byRes1[3]; - DWORD dwXCoordinate; /*ϽʼX*/ - DWORD dwYCoordinate; /*ϽY*/ - DWORD dwWidth; /**/ - DWORD dwHeight; /*߶*/ - BYTE byRes[8]; -}NET_DVR_LED_CHECK_COND, *LPNET_DVR_LED_CHECK_COND; - -//ѯʽ -enum ADDR_QUERY_TYPE -{ - QUERYSVR_BY_COUNTRYID = 0, //ұŲѯַ - QUERYSVR_BY_SERVERTYPE = 1, // - QUERYDEV_BY_NICKNAME_DDNS = 2, //dzƴhiDDNSϲѯ豸Ϣ - QUERYDEV_BY_SERIAL_DDNS = 3, //кŴhiDDNSϲѯ豸Ϣ - CHECKDEV_BY_NICKNAME_DDNS = 4,//dzƴhiDDNS豸Ϣ - CHECKDEV_BY_SERIAL_DDNS = 5, //кŴhiDDNS豸Ϣ - QUERYDEV_BY_NICKNAME_IPSERVER = 6, //dzƴIPServerϲѯ豸Ϣ - QUERYDEV_BY_SERIAL_IPSERVER = 7 //dzƴIPServerϲѯ豸Ϣ -}; -#define CLIENT_VERSION_LEN 64 -//ұŲѯṹ -typedef struct tagNET_DVR_QUERY_COUNTRYID_COND -{ - WORD wCountryID; //ұ,ȡֵһ - char szSvrAddr[MAX_DOMAIN_NAME];//ַ,ʾȥĸϲѯĿϢ - char szClientVersion[CLIENT_VERSION_LEN];//ͻ˰汾Ϣ,:iVMS4500 V4.0.0.0 build20150112 - BYTE byRes[382]; -}NET_DVR_QUERY_COUNTRYID_COND,*LPNET_DVR_QUERY_COUNTRYID_COND; - -//ұŲѯķؽṹ -typedef struct tagNET_DVR_QUERY_COUNTRYID_RET -{ - char szResolveSvrAddr[MAX_DOMAIN_NAME];//ַ(豸ע) - char szAlarmSvrAddr[MAX_DOMAIN_NAME];//ַ - BYTE byRes[1024]; -}NET_DVR_QUERY_COUNTRYID_RET,*LPNET_DVR_QUERY_COUNTRYID_RET; - -//Ͳѯṹ -typedef struct tagNET_DVR_QUERY_SERVERTYPE_COND -{ - WORD wSvrType; //, 6-ֻͷ - char szSvrAddr[MAX_DOMAIN_NAME];//ַ,ʾȥĸϲѯĿϢ - char szClientVersion[CLIENT_VERSION_LEN];//ͻ˰汾Ϣ - BYTE byRes[382]; -}NET_DVR_QUERY_SERVERTYPE_COND, *LPNET_DVR_QUERY_SERVERTYPE_COND; - -//Ͳѯķؽṹ -typedef struct tagNET_DVR_QUERY_SERVERTYPE_RET -{ - char szSvrAddr[MAX_DOMAIN_NAME]; //ַ - WORD wSvrPort; //˿ - BYTE byRes[446]; -}NET_DVR_QUERY_SERVERTYPE_RET, *LPNET_DVR_QUERY_SERVERTYPE_RET; - -//hiDDNSϲѯϵṹ -typedef struct tagNET_DVR_QUERY_DDNS_COND -{ - char szResolveSvrAddr[MAX_DOMAIN_NAME];//ַ - char szDevNickName[MAX_DOMAIN_NAME]; //豸ڽϵı - char szDevSerial[SERIALNO_LEN]; //豸к - char szClientVersion[CLIENT_VERSION_LEN];//ͻ˰汾Ϣ,:iVMS4500 V4.0.0.0 build20150112 - BYTE byRes[272]; // -}NET_DVR_QUERY_DDNS_COND,*LPNET_DVR_QUERY_DDNS_COND; - -//hiDDNSϲѯصĽṹ -typedef struct tagNET_DVR_QUERY_DDNS_RET -{ - char szDevIP[SDK_MAX_IP_LEN]; //豸IPַ - WORD wCmdPort; //ƶ˿ڣSDKӶ˿ڣ - WORD wHttpPort; //http˿ - BYTE byRes[460]; -}NET_DVR_QUERY_DDNS_RET,*LPNET_DVR_QUERY_DDNS_RET; - -//hiDDNSϷصĽṹ -typedef struct tagNET_DVR_CHECK_DDNS_RET -{ - BYTE byDevStatus; //豸״̬,0-,1-Ҳ,2-豸,3-豸ڵǰ - BYTE byRes1; - NET_DVR_QUERY_DDNS_RET struQueryRet; //ַϢ - WORD wRegionID; //ǰ豸ע[1,2,3̫,4й,5ŷ,6] - BYTE byRes2[508]; -}NET_DVR_CHECK_DDNS_RET,*LPNET_DVR_CHECK_DDNS_RET; - -//IPServerϲѯṹ -typedef struct tagNET_DVR_QUERY_IPSERVER_COND -{ - char szResolveSvrAddr[MAX_DOMAIN_NAME];//ַ - WORD wResolveSvrPort; //˿ - char szDevNickName[MAX_DOMAIN_NAME]; //豸ڽϵı - char szDevSerial[SERIALNO_LEN]; //豸к - BYTE byRes[334]; // -}NET_DVR_QUERY_IPSERVER_COND,*LPNET_DVR_QUERY_IPSERVER_COND; - -//IPServerϲѯصĽṹ -typedef struct tagNET_DVR_QUERY_IPSERVER_RET -{ - char szDevIP[SDK_MAX_IP_LEN]; //豸IPַ - WORD wCmdPort; //ƶ˿ڣSDKӶ˿ڣ - BYTE byRes[462]; -}NET_DVR_QUERY_IPSERVER_RET,*LPNET_DVR_QUERY_IPSERVER_RET; - -typedef struct tagNET_DVR_CURRENT_VALID_PORT -{ - DWORD dwSize; - WORD wHTTPPort; - BYTE byRes[122]; -}NET_DVR_CURRENT_VALID_PORT,*LPNET_DVR_CURRENT_VALID_PORT; - -typedef struct tagNET_DVR_AUDIO_CHANNEL -{ - DWORD dwChannelNum; //ͨ - BYTE byres[32]; // -}NET_DVR_AUDIO_CHANNEL, *LPNET_DVR_AUDIO_CHANNEL; - -//ṹ -typedef struct tagNET_DVR_STREAMENCRYPTION_COND -{ - DWORD dwSize; //ṹС - DWORD dwChan; //Ԥͨ - BYTE byRes[128]; -}NET_DVR_STREAMENCRYPTION_COND, *LPNET_DVR_STREAMENCRYPTION_COND; - -//Ϣṹ -typedef struct tagNET_DVR_STREAMENCRYPTION_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //ܣ0~رգ1~ - BYTE byRes[255]; -}NET_DVR_STREAMENCRYPTION_CFG, *LPNET_DVR_STREAMENCRYPTION_CFG; - -//У׼GPSγȲ -typedef struct tagNET_DVR_REVISE_GPS_CFG -{ - DWORD dwSize; //ṹС - BYTE byLatitudeType ;//γͣ0-γ1-γ - BYTE byLongitudeType ;// ͣ0-ȣ1- - BYTE byMode ;//ģʽ 0-Ĭϣ1-Զ2-ֶ - BYTE byRes; - NET_DVR_LLI_PARAM struLatitude; /*γ*/ - NET_DVR_LLI_PARAM struLongitude; /**/ - BYTE byRes1[300]; -}NET_DVR_REVISE_GPS_CFG, *LPNET_DVR_REVISE_GPS_CFG; - -typedef struct tagNET_DVR_PDC_RECOMMEND -{ - DWORD dwSize; - WORD wWidth;//Ƽֵ[0, 1000] - BYTE byRes[126]; -}NET_DVR_PDC_RECOMMEND,*LPNET_DVR_PDC_RECOMMEND; - -typedef struct tagNET_DVR_FLASHSTORAGE_REMOVE -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byPDCRemoveEnable;//ʹ 0-1- - BYTE byRes[127]; -}NET_DVR_FLASHSTORAGE_REMOVE,*LPNET_DVR_FLASHSTORAGE_REMOVE; - -/********************************DS-TME4XXƻ Begin****************************/ -typedef struct tagNET_DVR_PARKING_CARD -{ - DWORD dwSize; - DWORD dwChannel;//Ĭ1ݶͨ豸 - char szCardNo[MAX_CARDNO_LEN/*48*/];// - BYTE byCardType;//Ƭ 0-ʱ1-̶ - BYTE byCardStatus;//Ƭ״̬ 0-1-ʧ2-ע - BYTE byChargeRuleID;//շѹID - BYTE byDelete;//Ƿɾ 0-ɾ1-ɾ - NET_DVR_TIME_V30 struStartTime;//Чʼʱ - NET_DVR_TIME_V30 struEndTime;//Чʱ - BYTE byRes[128]; -}NET_DVR_PARKING_CARD,*LPNET_DVR_PARKING_CARD; - -//ڿƬϢϴ -typedef struct tagNET_DVR_GATE_CARDINFO -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - char szCardNo[MAX_CARDNO_LEN/*48*/];// - char szPassVehicleID[MAX_VEHICLE_ID_LEN];//Ψһʶ - char szInVehicleID[MAX_VEHICLE_ID_LEN];//ʱΨһʶ - NET_DVR_TIME_V30 struSwipeTime;//ˢʱ - NET_DVR_TIME_V30 struCardTime;//Ƭʱ䣬볡ʱдʱ䣬ֻԳƱã0ʾ볡ʱ - BYTE byLetPass;//ڷзʽ 0-(CardType == ֽƱ)Ҫշѣ1-У2-շѷ - BYTE byCardType;// 0-̶1-ʱ2-ֽƱ - BYTE byRes[126]; -}NET_DVR_GATE_CARDINFO, *LPNET_DVR_GATE_CARDINFO; - -//̨ҵϴ -typedef struct _tagNET_LOADING_DOCK_OPERATEINFO_ -{ - DWORD dwSize; //ṹ - BYTE byAbsTime[32]; //ʱ,yyyymmddhhmmssxxx,e.g.20090810235959999 λΪ - BYTE byParkingNo[MAX_PARKNO_LEN/*16*/];//λ - DWORD dwIndex; // - char sLicense[MAX_LICENSE_LEN/*16*/]; //ƺ,עжСҲ복ƺ룬Сֺͳƺмÿոָ - BYTE byCurrentWorkerNumber;//ǰҵ - BYTE byCurrentGoodsLoadingRate;//ǰװ 0- 1- 2- 3- 4- - BYTE byDoorsStatus;//״̬ 0-Źر 1-ſ - BYTE byRes1; //ֽ - DWORD dwBackPicDataLength;//ͼƬ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64)) //win64linux64ָΪ8ֽ - BYTE *pBackPicDataBuffer; //ͼƬָ -#else - BYTE* pBackPicDataBuffer; // ͼƬָ - BYTE byRes2[4]; -#endif - DWORD dwChannel; //ͨţ0-֧֣ϵ豸֧ͨŷأ - BYTE byRes[508]; -}NET_LOADING_DOCK_OPERATEINFO, *LPNET_LOADING_DOCK_OPERATEINFO; - -//ڸϢϴ(COMM_GATE_CHARGEINFO_UPLOAD) -typedef struct tagNET_DVR_GATE_CHARGEINFO -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - char sLicense[MAX_LICENSE_LEN]; // - char szCardNo[48]; - NET_DVR_TIME_V30 struEntranceTime; - NET_DVR_TIME_V30 struDepartureTime; - char szDepartureID[32]; //Ψһʾ - char szEntranceID[32]; //볡Ψһʾ - DWORD dwTotalCost; //ʵշѽ*100 - char szOperateName[32]; //ѻΪ"offline" - BYTE byChargeRuleId; //շѹcenterId - BYTE byVehicleType;//ͣ0-1-Сͳ2-ͳ - BYTE byRes[127];//Ԥ -}NET_DVR_GATE_CHARGEINFO,*LPNET_DVR_GATE_CHARGEINFO; - -//ͣͣƽṹ -typedef struct tagNET_DVR_PARKING_CARD_CTRL_PARAM -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byCardType;//Ƭ 0-ʱ - BYTE byDeleteALL;//Ƿȫɾ 0-ɾ1-ɾ - BYTE byRes[62]; -}NET_DVR_PARKING_CARD_CTRL_PARAM,*LPNET_DVR_PARKING_CARD_CTRL_PARAM; - - -//TMEץͼϴ -typedef struct tagNET_DVR_TME_VEHICLE_RESULT_ -{ - DWORD dwSize; - WORD wLaneid; //132ţԾ - BYTE byCamLaneId; //Ӧ116õijţԾͬ - BYTE byRes1; // - DWORD dwChanIndex; //ͨ - NET_DVR_PLATE_INFO struPlateInfo; //Ϣṹ - NET_DVR_VEHICLE_INFO struVehicleInfo; //Ϣ - BYTE byMonitoringSiteID[48]; // - BYTE byDeviceID[48]; //豸 - BYTE byDir; //ⷽ0- 1 볡2 - BYTE byRes2; - WORD wBackList; //ΪǷ񱨾 0 ʾΪ 1 ʾֹ - DWORD dwPicNum; //ͼƬpicGroupNumͬϢͼƬͼƬϢstruVehicleInfoEx - NET_ITS_PICTURE_INFO struPicInfo[4]; //ͼƬϢ,ݶ4ͼ - BYTE byPassVehicleID[32]; //ΨһID - BYTE byCardNo[48]; // - BYTE bySwipeTime[32];//ˢʱ ʱʽΪyyyymmddhh24missfff - DWORD dwCharge; //շѽ ֣ - BYTE byHistory; //Ƿʷ 0- 1- - BYTE byLetPass; //ǷѷУ0-δУ1- 2-δ֪ - BYTE byRes3[186]; -} NET_DVR_TME_VEHICLE_RESULT, *LPNET_DVR_TME_VEHICLE_RESULT; - -//شŹעϢ -typedef struct tagNET_DVR_MVMRegisterInfo_ -{ - DWORD dwSize; //ṹС - char sDetectorID[16]; //ID - char sManagerID[16]; //ID - char sSim[20]; //Ϣ - DWORD dwLocalIP; //IPv4ַdwLocalIP=0x01020304,IPַΪ1.2.3.4 - DWORD dwLocalIPMask; //룬ʽͬdwLocalIP - DWORD dwLocalGateway; //أʽͬdwLocalIP - DWORD dwDstIP; //ĿIPʽͬdwLocalIP - BYTE byMACAddr[6]; //macַ - WORD wLocalPort; //ض˿ - WORD wFirmwareYear; //汾 - BYTE byFirmwareMonth; //汾· - BYTE byFirmwareDay; //汾 - BYTE byMajorVersion; //汾Сǰ - BYTE byMinorVersion; //汾С - BYTE byRes[170]; -}NET_DVR_MVMRegisterInfo, *LPNET_DVR_MVMRegisterInfo; - -//ش״̬Ϣ -typedef struct tagNET_DVR_SingleMagneticStatus_ -{ - DWORD dwSize; //ṹС - char sDetectorID[16]; //ID - char sManagerID[16]; //ID - char sParkNum[16]; //λ - NET_DVR_TIME_V30 struDetectorTime; //ʱ - DWORD dwRssi; //źǿȣʵֵΧ-137~0dbm˴ûзţΪʵֵľֵ - BYTE byParkinglotState; //λ״̬0-޳1-г - BYTE byBatteryState; //״̬0-100%1-75%2-50%3-25%4-С5% - BYTE byDeviceState; //豸״̬ 0-1- - BYTE byCMD; //0-λ仯1- - BYTE byRes[184]; -}NET_DVR_SingleMagneticStatus, *LPNET_DVR_SingleMagneticStatus; - -//Ϣͬ -typedef struct tagNET_DVR_PARKING_VEHICLE -{ - DWORD dwSize; - DWORD dwChannel;//Ĭ1ݶͨ豸 - char szLicense[MAX_LICENSE_LEN/*16*/];//ƺ - char szRelateCardNo[MAX_CARDNO_LEN/*48*/];// - NET_DVR_TIME_V30 struStartTime;//Чʼʱ - NET_DVR_TIME_V30 struEndTime;//Чʱ - BYTE byVehicleType;//ͣ0-1-Сͳ2-ͳ - BYTE byPlateColor;//ɫο VCA_PLATE_COLOR - BYTE byRes[126]; -}NET_DVR_PARKING_VEHICLE,*LPNET_DVR_PARKING_VEHICLE; - -//ɷѽϢ -typedef struct tagNET_DVR_CHARGEACCOUNT_CFG -{ - DWORD dwSize;//ṹС - float fAccount;//ʵշѽ - BYTE byRes[128]; -}NET_DVR_CHARGEACCOUNT_CFG,*LPNET_DVR_CHARGEACCOUNT_CFG; - -//ͣƱ豸ǶȲ -typedef struct tagNET_DVR_PXMULTICTRL_CFG -{ - DWORD dwSize;//ṹС - DWORD dwMultiChansWaitTime;//Ƕץƥʱ䣨1~300s - BYTE byMultiChansCapEnabled;//ǷöǶץ 0-1- - BYTE byRes[127]; -}NET_DVR_PXMULTICTRL_CFG,*LPNET_DVR_PXMULTICTRL_CFG; - -//ͣƱѻ² -typedef struct tagNET_DVR_PXOFFLINE_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled;//ǷƱѻģʽ0- 1- - BYTE byChargeEnabled;//Ƿѻշ 0-1- - BYTE byAlarmEnabled;//Ƿѻ 0-1- - BYTE byRecordSource;//¼ 0-ʶ 1- - DWORD dwTimeWait;//Ʊѻģʽǰĵȴʱ䣨1-300룩 - /** - realeaseMode&(0x1<<0) ̶ - realeaseMode&(0x1<<1) ̶ - realeaseMode&(0x1<<2) ʱ - realeaseMode&(0x1<<3) ʱ - realeaseMode&(0x1<<4) ޳Ʒ - realeaseMode&(0x1<<5) ̶Զ - realeaseMode&(0x1<<6) ʱԶ - */ - DWORD dwRealeaseMode; //зʽλʾ - BYTE byVehCardmatch;//һ 0-1- - BYTE bySingleInSingleOut;// 0-1- - BYTE byRes[126]; -}NET_DVR_PXOFFLINE_CFG,*LPNET_DVR_PXOFFLINE_CFG; - -typedef struct tagNET_DVR_PARKINGSAPCE_CFG -{ - DWORD dwSize;//ṹС - DWORD dwTotalParkingLot;//ͣλ - DWORD dwCurrParkingLot;//ǰʣͣλ - BYTE byRes[128]; -}NET_DVR_PARKINGSAPCE_CFG,*LPNET_DVR_PARKINGSAPCE_CFG; - -typedef struct tagNET_DVR_PAPERCHARGEINFO_CFG -{ - DWORD dwSize;//ṹС - char szBarCode[LEN_16];//루16λַ - char szLicense[MAX_LICENSE_LEN]; //ƺ - char szVehicleInTime[LEN_32];//볡ʱ䣨32λַ YYYY-MM-DD HH:MM:SS - char szPaymentTime[LEN_32];//ɷʱ䣨32λַ YYYY-MM-DD HH:MM:SS - float fPaymentAmount;//ɷѽ - DWORD dwPaymentOutFailureTime;//ɷѳʧЧʱ䣨DWORD - BYTE byVehicleOutEnabled; //Ƿ: 0- 1- - BYTE byRes[128]; -}NET_DVR_PAPERCHARGEINFO_CFG,*LPNET_DVR_PAPERCHARGEINFO_CFG; - -//ͣƱ -typedef struct tagNET_DVR_ILLEGALCARDFILTERING_CFG -{ - DWORD dwSize;//ṹС - char sLEDDefaultInfo[MAX_LED_INFO_LEN/*512*/]; // LEDĬʾ - BYTE byillegalCardFilteringEnabled;//÷Ƿ,0~ã1~ - BYTE bySendCardSensingCoilEnabled;//ǷظȦ - BYTE byWiegendSensingCoilEnabled;//Զ뿨ǷظȦ - BYTE byGateSwitchEnabled; //ǷеբϢ - BYTE byVerifyKeyWriteCardEnabled;//Ƿ֤Կд - BYTE byNoplateTakeCardEnabled;// Ƿ޳ȡƾݷ - BYTE byRes[126]; -}NET_DVR_ILLEGALCARDFILTERING_CFG,*LPNET_DVR_ILLEGALCARDFILTERING_CFG; - - -//ͣڳշѹṹ -typedef struct tagNET_DVR_TME_CHARGERULE_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char szCardNo[32];// - BYTE byRes[128]; -}NET_DVR_TME_CHARGERULE_COND, *LPNET_DVR_TME_CHARGERULE_COND; - -//LEDĻʾ -typedef struct tagNET_DVR_LEDDISPLAY_CFG -{ - DWORD dwSize;//ṹС - char sDisplayInfo[MAX_LED_INFO_LEN/*512*/]; // LEDʾ - BYTE byDisplayMode;//ʾʽ:0~,1~,2~ʾ - BYTE bySpeedType;//ٶ:0~,1~,2~ - BYTE byShowPlateEnable;//ʾʹܣ0~رգ1~ - BYTE byRes1; - DWORD dwShowTime;//ʾʱ1~60 - BYTE byRes[128]; -}NET_DVR_LEDDISPLAY_CFG,*LPNET_DVR_LEDDISPLAY_CFG; - -//Ʋ -typedef struct tagNET_DVR_VOICEBROADCAST_CFG -{ - DWORD dwSize;//ṹС - char sInfo[MAX_VOICE_INFO_LEN/*128*/]; // - BYTE byBroadcastNum;// 1~10 - BYTE byIntervalTime;// ʱ,1~5s - BYTE byRes[126]; -}NET_DVR_VOICEBROADCAST_CFG,*LPNET_DVR_VOICEBROADCAST_CFG; - -//ֽƱӡʽ -typedef struct tagNET_DVR_PAPERPRINTFORMAT_CFG -{ - DWORD dwSize;//ṹС - char sTitleInfo[MAX_LITLE_INFO_LEN/*64*/]; //ֽƱ - char sCustomInfo[MAX_CUSTOM_INFO_LEN/*64*/]; //ֽƱԶϢ - char sPhoneNum[MAX_PHONE_NUM_LEN/*16*/];//ϵ绰 - BYTE byPrintInTimeEnabled; //Ƿӡ볡ʱ - BYTE byRes[127]; -}NET_DVR_PAPERPRINTFORMAT_CFG,*LPNET_DVR_PAPERPRINTFORMAT_CFG; - - -//բʱ -typedef struct tagNET_DVR_LOCKGATE_TIME_CFG -{ - char sBeginTime[LEN_32];//ʼʱ䣨32λַ HH:MM:SS - char sEndTime[LEN_32];//ʱ䣨32λַ HH:MM:SS - BYTE byRes[64]; -}NET_DVR_LOCKGATE_TIME_CFG,*LPNET_DVR_LOCKGATE_TIME_CFG; - -//բ -typedef struct tagNET_DVR_LOCKGATE_CFG -{ - DWORD dwSize;//ṹС - NET_DVR_LOCKGATE_TIME_CFG struTime[LOCKGATE_TIME_NUM]; //բʱ - BYTE byRes[128]; -}NET_DVR_LOCKGATE_CFG,*LPNET_DVR_LOCKGATE_CFG; - -//ͬ״̬ -typedef struct NET_DVR_PARKING_DATASTATE_INFO -{ - DWORD dwSize; - char szAppSerialNum [MAX_APP_SERIALNUM_LEN/*32*/];//Ӧк, ǰӵӦ - DWORD dwParkingNum; //ǰͣ - DWORD dwUpdataSerialNum; //к; µкš - BYTE byRes[256]; -} NET_DVR_PARKING_DATASTATE_INFO,*LPNET_DVR_PARKING_DATASTATE_INFO; - -//EPTZ -typedef struct tagNET_DVR_EPTZ_CFG -{ - DWORD dwSize; - BYTE byEnableEPTZ; //ǷEPTZ, 0-ã1 - - BYTE byRes[503]; -}NET_DVR_EPTZ_CFG, *LPNET_DVR_EPTZ_CFG; - -//ĵ -typedef struct tagNET_DVR_CENTER_POINT_CFG -{ - DWORD dwSize; - NET_VCA_POLYGON struRegion;//Χ - BYTE byRes[512]; -}NET_DVR_CENTER_POINT_CFG, *LPNET_DVR_CENTER_POINT_CFG; - -/********************************DS-TME4XXƻ End****************************/ - -/********************************IPC FF Start****************************/ -typedef struct tagNET_DVR_FTPUPLOAD_PARAM -{ - char szRuleTypeItem[MAX_SINGLE_FTPPICNAME_LEN/*20*/]; - char szCameraName[MAX_CAMNAME_LEN/*32*/]; - BYTE byRes[64]; -}NET_DVR_FTPUPLOAD_PARAM, *LPNET_DVR_FTPUPLOAD_PARAM; - -//char szRuleTypeItem[MAX_SINGLE_FTPPICNAME_LEN/*20*/]; -//ǹ̶ַ capture_time,plate_No,alarm_type,camera_name -//±ʾȺ˳ - -//char szCameraName[MAX_CAMNAME_LEN/*32*/]; -//szRuleTypeItemֶαʾΪ camera_name - -typedef struct tagNET_DVR_FTPUPLOADCFG -{ - DWORD dwSize; - BYTE byEventType; //¼ͣ0-Ĭϣ1- - BYTE byMode; //ͼƬģʽ0-Ĭϣ1-Զ - BYTE byRes[62]; - NET_DVR_FTPUPLOAD_PARAM struCustomVehicle[MAX_FTPNAME_NUM/*12*/]; - BYTE byRes1[1024] ; -}NET_DVR_FTPUPLOADCFG, *LPNET_DVR_FTPUPLOADCFG; - -/********************************IPC FF End****************************/ - -//Ϣն -typedef struct tagNET_DVR_PUBLISH_UPGRADE_COND -{ - DWORD dwSize; - DWORD dwUpgradeType; //ͣ1-ն2-ն - DWORD dwTerminalNum; //ն˸ʽնʱЧ - DWORD *pTerminalNo; //Ҫն˺ţնʱЧ - DWORD dwGroupNo; //նţնʱЧ - BYTE byRes[32]; -}NET_DVR_PUBLISH_UPGRADE_COND, *LPNET_DVR_PUBLISH_UPGRADE_COND; -//WEPԿ -typedef struct tagNET_DVR_WEP_KEY_CFG -{ - char csWEPKey[WEP_KEY_MAX_SIZE/*32*/];//Կ - BYTE byRes[64]; -}NET_DVR_WEP_KEY_CFG, *LPNET_DVR_WEP_KEY_CFG; - -typedef struct tagNET_DVR_SUB_UPGRADE_PROGRESS -{ - DWORD dwTerminalNo; //ն˺ - DWORD dwProgress; //նȣ0-100101ʾն쳣,,102-ն˽ѹʧܣ103-汾ƥ䣬104-ļ105-Ƿǩ -}NET_DVR_SUB_UPGRADE_PROGRESS, *LPNET_DVR_SUB_UPGRADE_PROGRESS; - -typedef struct tagNET_DVR_UPGRADE_PROGRESS_RESULT -{ - DWORD dwSize; - DWORD dwMainProgress; //ȣ0-100 - DWORD dwSubProgressNum; //ӽȸ - LPNET_DVR_SUB_UPGRADE_PROGRESS lpStruSubProgress; //նӽȣdwSubProgressNumNET_DVR_SUB_UPGRADE_PROGRESS - BYTE byRes[32]; -}NET_DVR_UPGRADE_PROGRESS_RESULT, *LPNET_DVR_UPGRADE_PROGRESS_RESULT; - -//Ϣճ̷ -typedef struct tagNET_DVR_SCHEDULE_PROGRESS_COND -{ - DWORD dwSize; - DWORD dwScheduleNo; //ճ̺ - BYTE byProgressType; //ȡĽͣ1-ȡȣ2-ն˻ȡȣ3-֯ȡ - BYTE byRes1[3]; - DWORD dwGroupNo; //նŻ֯Ϊ13ʱЧ - DWORD dwTerminalNo; //ն˺ţΪ2ʱЧ - BYTE byRes2[32]; -}NET_DVR_SCHEDULE_PROGRESS_COND, *LPNET_DVR_SCHEDULE_PROGRESS_COND; - -typedef struct tagNET_DVR_SUB_SCHEDULE_PROGRESS -{ - DWORD dwTerminalNo; //ն˺ - DWORD dwProgress; //նճ̷ȣ0-100101ʾնճ̷쳣,102ʾն˴洢ռ䲻,103-ն˲ߣ104-ն˾ܾ105-նж -}NET_DVR_SUB_SCHEDULE_PROGRESS, *LPNET_DVR_SUB_SCHEDULE_PROGRESS; - -typedef struct tagNET_DVR_SCHEDULE_PROGRESS_RESULT -{ - DWORD dwSize; - DWORD dwMainProgress; //ȣ0-100ȡʱΪճ̷ȣն˻ȡʱΪնճ̷ - DWORD dwSubProgressNum; //ӽȸȡʱЧʾ¸ն˽ȸ - LPNET_DVR_SUB_SCHEDULE_PROGRESS lpStruSubProgress; //նճ̷ӽȣȡʱЧdwSubProgressNumNET_DVR_SUB_SCHEDULE_PROGRESS - BYTE byRes[32]; -}NET_DVR_SCHEDULE_PROGRESS_RESULT, *LPNET_DVR_SCHEDULE_PROGRESS_RESULT; - -//Ϣ岥 -typedef struct tagNET_DVR_INSERTPLAY_PROGRESS_COND -{ - DWORD dwSize; - BYTE byInsertType; //岥ͣ1-زģ2-Ŀ - BYTE byRes3[3]; - DWORD dwInsertNo; //岥زģΪزıţ岥ǽĿΪĿ - BYTE byProgressType; //ȡĽͣ1-ȡȣ2-ն˻ȡ - BYTE byRes1[3]; - DWORD dwGroupNo; //նţΪ1ʱЧ - DWORD dwTerminalNo; //ն˺ţΪ2ʱЧ - BYTE byRes2[32]; -}NET_DVR_INSERTPLAY_PROGRESS_COND, *LPNET_DVR_INSERTPLAY_PROGRESS_COND; - -typedef struct tagNET_DVR_SUB_INSERTPLAY_PROGRESS -{ - DWORD dwTerminalNo; //ն˺ - DWORD dwProgress; //ն˲岥ȣ0-100101ʾն˲岥쳣,102ʾն˴洢ռ䲻,103ʾȡ岥,104岥زı滻 -}NET_DVR_SUB_INSERTPLAY_PROGRESS, *LPNET_DVR_SUB_INSERTPLAY_PROGRESS; - -typedef struct tagNET_DVR_INSERTPLAY_PROGRESS_RESULT -{ - DWORD dwSize; - DWORD dwMainProgress; //ȣ0-100ȡʱΪ岥ȣն˻ȡʱΪն˲岥 - DWORD dwSubProgressNum; //ӽȸȡʱЧʾ¸ն˽ȸ - LPNET_DVR_SUB_INSERTPLAY_PROGRESS lpStruSubProgress; //ն˲岥ӽȣȡʱЧdwSubProgressNumNET_DVR_SUB_INSERTPLAY_PROGRESS - BYTE byRes[32]; -}NET_DVR_INSERTPLAY_PROGRESS_RESULT, *LPNET_DVR_INSERTPLAY_PROGRESS_RESULT; - - - - -//WEP -typedef struct tagNET_DVR_WEP_CFG -{ - BYTE byAuthenticationType;//֤ͣ0~֤1~Կ2~Զ֤ - BYTE byDefaultTransmitKeyIndex;//ĬϴԿ1~4ӦstruEncryptionKeyCfgԿĸ - /* - Ϊ64λԿʱASCIIԿַΪ5 - Ϊ128λԿʱASCIIԿַΪ13 - */ - BYTE byWepKeyLenType;//Կͣ0~ 64λԿ1~ 128λԿ - BYTE byKeyType;// Կͣ0~ ASCII룬1~ 16ơ - NET_DVR_WEP_KEY_CFG struWEPKeyCfg[WEP_KEY_MAX_NUM/*4*/];// WEPԿ֧4 - BYTE byRes[128]; -}NET_DVR_WEP_CFG, *LPNET_DVR_WEP_CFG; - -//WPA -typedef struct tagNET_DVR_WPA_CFG -{ - BYTE byAlgorithmType; //㷨ͣ0~TKIP, 1~AES, 2~TKIP/AES - BYTE byWPAKeyLen;// WPAԿȣΪ8~63ӦcsSharedKeyַ - BYTE byDefaultPassword;//ǷĬWPAԿ - BYTE byRes1; - char csSharedKey[WPA_KEY_MAX_SIZE/*64*/];//WPAԿ,Ϊ8-63ASCIIַ - BYTE byRes[128]; -}NET_DVR_WPA_CFG, *LPNET_DVR_WPA_CFG; - - -typedef struct tagNET_DVR_WIRELESS_SECURITY_CFG -{ - BYTE bySecurityMode; //ȫģʽ0~,1~WEP,2~WPA-personal, 3~WPA2-personal - NET_DVR_WEP_CFG struWEPCfg; //ȫģʽѡΪWEPʱЧ - NET_DVR_WPA_CFG struWPACfg; //ȫģʽѡΪWPA-personalWPA2-personalʱЧ - BYTE byRes[256]; -} NET_DVR_WIRELESS_SECURITY_CFG,*LPNET_DVR_WIRELESS_SECURITY_CFG; - -//wifiȵ() -typedef struct tagNET_DVR_WIRELESSSERVER_FULLVERSION_CFG -{ - DWORD dwSize;//ṹС - BYTE byWifiAPEnabled; //ǷAP0-1- - BYTE byBroadcastEnabled; // Ƿù㲥0-1- - BYTE byWlanShareEnabled; //Ƿù0-1- - BYTE byDHCPEnabled; //ǷDHCP0-1- - BYTE bySSID[IW_ESSID_MAX_SIZE]; //SSID - BYTE byRes1[11]; - BYTE byIPType; //IPַͣ0-IPv4,1-IPv6 - NET_DVR_IPADDR struIPAddr; //IPַ - NET_DVR_IPADDR struIPMask; //ַ - NET_DVR_IPADDR struGatewayIPMask; //صַ - NET_DVR_IPADDR struStartIPAddrPool; //IPʼַ - NET_DVR_IPADDR struEndIPAddrPool; // IPνַ - NET_DVR_IPADDR struDNSServerIpAddr[MAX_DNS_SERVER_NUM]; //DNSַ - NET_DVR_WIRELESS_SECURITY_CFG struWirelessSecurityCfg;//߰ȫܲ - BYTE byRes[256]; -}NET_DVR_WIRELESSSERVER_FULLVERSION_CFG, *LPNET_DVR_WIRELESSSERVER_FULLVERSION_CFG; - -typedef struct tagNET_DVR_OPTICAL_DEV_CHAN_INFO -{ - DWORD dwChannel; //ͨţ0ΪЧ - BYTE byChannelName[NAME_LEN]; - BYTE bySignal; //Ƿźţ0-ޣ1-Уֻ - BYTE bySignalType; //źԴͣ1-壬2-壬źʱЧֻ - BYTE byRes[10]; -}NET_DVR_OPTICAL_DEV_CHAN_INFO, *LPNET_DVR_OPTICAL_DEV_CHAN_INFO; - -typedef struct tagNET_DVR_OPTICAL_DEV_NODE -{ - BYTE byValid; //ǷЧ0-Ч1-Ч - BYTE byRes1[3]; - DWORD dwDevNo; //˻ - BYTE byDevName[NAME_LEN]; //ڵ˻ - BYTE byDevID[MAX_ID_LEN]; //˻ID豸Ψһʶֻ - NET_DVR_OPTICAL_DEV_CHAN_INFO struChannel[MAX_CHANNUM]; - BYTE byRes2[32]; -}NET_DVR_OPTICAL_DEV_NODE, *LPNET_DVR_OPTICAL_DEV_NODE; - -#define MAX_OPTICAL_DEV_NODE 32 //ڵ˻ - -typedef struct tagNET_DVR_OPTICAL_PORT_INFO -{ - DWORD dwSize; - BYTE byValid; //ǷźŽ룬0-ޣ1-Уֻ - BYTE byLinkType; //·ͣ1-2-ֻ - BYTE byPortWorkMode; //˿ڹģʽ0-Ч1-ڣ2-ڣ·ΪʱЧֻ - BYTE byRes1[1]; - DWORD dwPairPort; //Թںţ·ΪʱЧʱ˲Ϊںţʱ˲Ϊں - NET_DVR_OPTICAL_DEV_NODE struDevInfo[MAX_OPTICAL_DEV_NODE]; //ڵ˻豸Ϣ - BYTE byRes2[32]; -}NET_DVR_OPTICAL_PORT_INFO, *LPNET_DVR_OPTICAL_PORT_INFO; - -typedef struct tagNET_DVR_OPTICAL_CHAN_RELATE_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿ˻룬0-񣬷0- - BYTE byRes1[3]; - DWORD dwDevNo; //˻ - DWORD dwOpticalPort; //ں - BYTE byDevID[MAX_ID_LEN]; //˻ID - DWORD dwInputChanNo; //˻ͨ - BYTE byRes2[64]; -}NET_DVR_OPTICAL_CHAN_RELATE_CFG, *LPNET_DVR_OPTICAL_CHAN_RELATE_CFG; - -typedef struct tagNET_DVR_START_FILE_TO_CLOUD_COND -{ - DWORD dwSize; - BYTE aCameraID[MAX_CAMERAID_LEN]; //ID - DWORD dwPoolID; //洢ID - DWORD dwRepPoolID; //ID - WORD wReplication; // - BYTE byRes [178]; -}NET_DVR_START_FILE_TO_CLOUD_COND,*LPNET_DVR_START_FILE_TO_CLOUD_COND; - -typedef struct tagNET_DVR_START_PICTURE_FROM_CLOUD_COND -{ - DWORD dwSize; - BYTE aCameraID[MAX_CAMERAID_LEN]; //ID - NET_DVR_TIME_V30 struBeginTime; //ʼʱ - NET_DVR_TIME_V30 struEndTime; //ʱ - DWORD dwPicType; //ͼƬͣλʾ - //bit0-JPG - //bit1-BMP - //bit2-PNG - BYTE byRes1[3]; - BYTE byZoomType; //0-,1-,2-С,3-ֱ - union - { - BYTE uLen[32]; - struct - { - BYTE byScale; //1~99 - }struScale; - struct - { - BYTE byQuality; //1~99 - }struQuality; - struct - { - DWORD dwWidth; - DWORD dwHeight; - }struResolution; //Ŀֱ - }uZoomParam; - DOWNLOAD_DATA_CB fnDownloadFileCallBack; //ݻص - void* pUser; //ûָ - BYTE byRes [372]; -}NET_DVR_START_PICTURE_FROM_CLOUD_COND,*LPNET_DVR_START_PICTURE_FROM_CLOUD_COND; - -typedef struct tagNET_DVR_START_PICTURE_FROM_CLOUD_RET -{ - DWORD dwSize; - DWORD dwFileCount; //ļ - BYTE byRes[120]; -}NET_DVR_START_PICTURE_FROM_CLOUD_RET,*LPNET_DVR_START_PICTURE_FROM_CLOUD_RET; - -typedef struct -{ - DWORD dwSize; - NET_DVR_TIME_V30 struTime; //ͼƬʱ - DWORD dwPicLen; //ͼƬ - BYTE byPicType; //ͼƬʽ,1-jpg,2-bmp,3-png - BYTE byRes[107]; -}NET_DVR_PICTURE_FROM_CLOUD_RET,*LPNET_DVR_PICTURE_FROM_CLOUD_RET; - -typedef struct tagNET_DVR_ACS_EXTERNAL_DEV_CFG -{ - DWORD dwSize; - BYTE byIDCardUpMode; //֤Ϣϱ0ϴ18λ֤ţ1ϴȫϢ - BYTE byRes1; - BYTE byCardVerifyMode; //ˢ֤ģʽ0Զ֤1ͻƽ̨֤2ˢ - BYTE byACSDevType; //豸ͺţ1֤2IC3ά4ָƶ5ַ+ά6տ7ַ8ָͷ9ģ飻10֤豸 - BYTE byDoorMode; //ųͣ0ţ1ţ - BYTE byRes2; - WORD wDevDetailType; //ľ豸ͺţ0-iDR2101-IDM102-˽֤Ķ - BYTE byRes[300]; -}NET_DVR_ACS_EXTERNAL_DEV_CFG, *LPNET_DVR_ACS_EXTERNAL_DEV_CFG; - -typedef struct tagNET_DVR_PERSONNEL_CHANNEL_CFG -{ - DWORD dwSize; - BYTE byInMode; //ģʽ0ܿأ1ֹ2ɣ - BYTE byOutMode; //ģʽ0ܿأ1ֹ2ɣ - BYTE byWorkMode; //ģʽ01ά2գ3 - BYTE byRes[301]; -}NET_DVR_PERSONNEL_CHANNEL_CFG, *LPNET_DVR_PERSONNEL_CHANNEL_CFG; - -#define MAX_ID_NUM_LEN 32 //֤ų -#define MAX_ID_NAME_LEN 128 // -#define MAX_ID_ADDR_LEN 280 //סַ -#define MAX_ID_ISSUING_AUTHORITY_LEN 128 //ǩس - -//֤Ϣ -typedef struct tagNET_DVR_ID_CARD_INFO -{ - DWORD dwSize; //ṹ - BYTE byName[MAX_ID_NAME_LEN]; // - NET_DVR_DATE struBirth; // - BYTE byAddr[MAX_ID_ADDR_LEN]; //סַ - BYTE byIDNum[MAX_ID_NUM_LEN]; //֤ - BYTE byIssuingAuthority[MAX_ID_ISSUING_AUTHORITY_LEN]; //ǩ - NET_DVR_DATE struStartDate; //Чʼ - NET_DVR_DATE struEndDate; //Чֹ - BYTE byTermOfValidity; //ǷЧ 0-1-ǣЧֹЧ - BYTE bySex; //Ա1-У2-Ů - BYTE byNation; - BYTE byRes[101]; -}NET_DVR_ID_CARD_INFO, *LPNET_DVR_ID_CARD_INFO; - -//֤Ϣ -typedef struct tagNET_DVR_ID_CARD_INFO_ALARM -{ - DWORD dwSize; //ṹ - NET_DVR_ID_CARD_INFO struIDCardCfg ;//֤Ϣ - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME_V30 struSwipeTime; //ʱ - BYTE byNetUser[MAX_NAMELEN] ;//û - NET_DVR_IPADDR struRemoteHostAddr ;//Զַ - DWORD dwCardReaderNo; //ţΪ0Ч - DWORD dwDoorNo; //űţΪ0Ч - DWORD dwPicDataLen; //ͼƬݴСΪ0DZʾ - char *pPicData; - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byDeviceNo; // 豸ţΪ0ʱЧЧΧ1-255 - BYTE byMask; //Ƿ֣0-1-δ֪2-֣3- - BYTE byCurrentEvent; //ǷΪʵʱ¼0-Ч1-ǣʵʱ¼2-¼ - DWORD dwFingerPrintDataLen; // ָݴСΪ0DZʾ - char *pFingerPrintData; - DWORD dwCapturePicDataLen; // ץͼƬݴСΪ0DZʾ - char *pCapturePicData; - DWORD dwCertificatePicDataLen; //֤ץͼƬݴСΪ0DZʾ - char *pCertificatePicData; - BYTE byCardReaderKind; //һ࣬0-Ч1-IC2-֤3-ά,4-ָͷ - BYTE byHelmet;//ѡǷȫñ0-1-δ֪2-ȫ, 3-ȫñ - BYTE byRes3; - BYTE byIDCardInfoExtend; //pIDCardInfoExtendǷЧ0-Ч1-Ч - char *pIDCardInfoExtend; //byIDCardInfoExtendΪ1ʱʾָһNET_DVR_ID_CARD_INFO_EXTENDṹ - DWORD dwSerialNo; //¼ˮţΪ0Ч - BYTE byRes[168]; -}NET_DVR_ID_CARD_INFO_ALARM, *LPNET_DVR_ID_CARD_INFO_ALARM; - -//չṹϢ -typedef struct tagNET_DVR_ID_CARD_INFO_EXTEND -{ - BYTE byRemoteCheck; //ǷҪԶ̺飨0-Ч1-ҪĬϣ2-Ҫ - BYTE byThermometryUnit; //µλ0-϶ȣĬϣ1-϶ȣ2-ģ - BYTE byIsAbnomalTemperature; //ץIJǷ¶쳣1-ǣ0- - BYTE byRes2; - float fCurrTemperature; //¶ȣȷСһλ - NET_VCA_POINT struRegionCoordinates; //¶ - DWORD dwQRCodeInfoLen; //άϢȣΪ0DZʾ - DWORD dwVisibleLightDataLen; //ȳɼͼƬȣΪ0DZʾ - DWORD dwThermalDataLen; //ȳͼƬȣΪ0DZʾ - char *pQRCodeInfo; //άϢָ - char *pVisibleLightData; //ȳɼͼƬָ - char *pThermalData; //ȳͼƬָ - WORD wXCoordinate; //x꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wYCoordinate; //y꣬ϽͼƬĹһ꣬Χ0-1000 - WORD wWidth; //ȣΧ0-1000 - WORD wHeight; //߶ȣΧ0-1000 - BYTE byHealthCode; //״̬, 0-, 1-δ, 2-δ, 3-, 4-, 5-, 6-޴Ա, 7-Ϣӿ쳣²ѯʧܣ, 8-ѯ볬ʱ - BYTE byNADCode; //, 0-, 1-δѯ, 2-ԣ, 3-ԣȷ, 4-Чѹ - BYTE byTravelCode; //г̱, 0-, 1-14һֱڵ, 2-14뿪, 3-14ڵ, 4- - BYTE byVaccineStatus; //״̬, 0-, 1-δ, 2-ע, 3- - BYTE byRes[1012]; -}NET_DVR_ID_CARD_INFO_EXTEND, *LPNET_DVR_ID_CARD_INFO_EXTEND; - -//֤Ϣֹṹ -typedef struct tagNET_DVR_ID_CARD_BLOCKLIST_COND -{ - DWORD dwSize; - BYTE byRes[256]; // -}NET_DVR_ID_CARD_BLOCKLIST_COND, *LPNET_DVR_ID_CARD_BLOCKLIST_COND; - -//֤Ϣֹ -typedef struct tagNET_DVR_ID_CARD_BLOCKLIST_CFG -{ - DWORD dwSize; - NET_DVR_ID_CARD_INFO struIDCardCfg; // ֤Ϣ - DWORD dwFingerPrintDataLen; // ָ֤ݴСΪ0DZʾ - char *pFingerPrintData; - DWORD dwPicDataLen; // ֤ͼƬݴСΪ0DZʾ - char *pPicData; - BYTE byRes[128]; -}NET_DVR_ID_CARD_BLOCKLIST_CFG, *LPNET_DVR_ID_CARD_BLOCKLIST_CFG; - -//A =ĸַ [a..z, A..Z]N = ַ [0..9]S = ַ [<]B= -typedef struct tagNET_DVR_PASSPORT_INFO -{ - DWORD dwSize; //ṹ - BYTE byOCR; //0-ӻݣ1- OCRʶݣ - BYTE byRes1[3]; // - BYTE byType[MAX_PASSPORT_TYPE_LEN]; //֤ͣAS - BYTE byCountryIssue[MAX_PASSPORT_INFO_LEN]; //ǩǩAS - BYTE byName[MAX_PASSPORT_NAME_LEN]; //AS - BYTE byPassportNo[MAX_PASSPORT_NUM_LEN]; //֤룬ANS - BYTE byNationality[MAX_NATIONALITY_LEN]; // AS - NET_DVR_DATE struBirth; // - NET_DVR_DATE struExpireDate; //Чֹ - BYTE bySex; //Ա1-У2-Ů - BYTE byRes2[35]; // - BYTE byLocalName[MAX_PASSPORT_INFO_LEN]; //B - BYTE byNumber[MAX_PASSPORT_INFO_LEN]; //˺룬ANS - BYTE byPlaceOfBirth[MAX_PASSPORT_INFO_LEN]; //أB - BYTE byAddr[MAX_PASSPORT_INFO_LEN]; //ַANSB - BYTE byPhone[MAX_PASSPORT_INFO_LEN]; //绰NS - BYTE byJob[MAX_PASSPORT_INFO_LEN]; //ְҵB - BYTE byTitle[MAX_PASSPORT_INFO_LEN]; //ְΣB - BYTE byResume[MAX_PASSPORT_INFO_LEN]; //B - BYTE byOtherNumber[MAX_PASSPORT_INFO_LEN]; //֤룬ANSB - BYTE byMonitoring[MAX_PASSPORT_MONITOR_LEN]; //໤ϢB - BYTE byRes[128]; -}NET_DVR_PASSPORT_INFO, *LPNET_DVR_PASSPORT_INFO; - -//Ϣϴ -typedef struct tagNET_DVR_PASSPORT_ALARM -{ - DWORD dwSize; //ṹ - DWORD dwMajor; //ͣο궨 - DWORD dwMinor; //ͣο궨 - NET_DVR_TIME_V30 struSwipeTime; //ʱ - BYTE byNetUser[MAX_NAMELEN];//û - NET_DVR_IPADDR struRemoteHostAddr;//Զַ - DWORD dwCardReaderNo; //ţΪ0Ч - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-Ϊ0Ч - BYTE byRes2[11]; - NET_DVR_PASSPORT_INFO struPassportInfo;//Ϣ - DWORD dwFaceDataLen; //ݴСΪ0DZʾ - char *pFaceData; - DWORD dwPicDataLen; //֤ͼƬݴСΪ0DZʾ - char *pPicData; // [ISO/IEC 10918-1] ʽĹ֤ͼ - DWORD dwCapturePicDataLen; //ץͼƬݴСΪ0DZʾ - char *pCapturePicData; - BYTE byRes[128]; -}NET_DVR_PASSPORT_ALARM, *LPNET_DVR_PASSPORT_ALARM; - -typedef struct tagNET_DVR_PASSNUM_INFO_ALARM -{ - DWORD dwSize; //ṹ - DWORD dwAccessChannel; //Աͨ - NET_DVR_TIME_V30 struSwipeTime; //ʱ - BYTE byNetUser[MAX_NAMELEN] ;//û - NET_DVR_IPADDR struRemoteHostAddr ;//Զַ - DWORD dwEntryTimes; //Ա - DWORD dwExitTimes; //Ա - DWORD dwTotalTimes; //Աܴ - BYTE byRes[300]; -}NET_DVR_PASSNUM_INFO_ALARM, *LPNET_DVR_PASSNUM_INFO_ALARM; -typedef struct tagNET_DVR_UPLOAD_VIDEO_INFO -{ - DWORD dwSize; - DWORD dwVideoMangeNo; //Ƶ - BYTE byVideoType; //Ƶʽ 0-AVI 1-WMV 2-MP4 3-FLV 3-VOD 4-MKV 5-RMVB - BYTE byRes1[3]; // - BYTE sVideoName[NAME_LEN]; //Ƶ - NET_DVR_TIME_V30 struTime; //ͼƬϴʱ - BYTE byRes[132]; -} NET_DVR_UPLOAD_VIDEO_INFO, *LPNET_DVR_UPLOAD_VIDEO_INFO; - -typedef struct tagNET_DVR_DEVICE_FILE_INFO -{ - DWORD dwSize; - BYTE sFileName[NAME_LEN]; //ļ - DWORD dwManageNo; //(ֻܻȡ) - NET_DVR_TIME_EX struTime; //ĵϴʱ - BYTE byUsed; //ǷѴڣ0-ڣ1- ֻܻȡ - BYTE byRes[127]; -} NET_DVR_DEVICE_FILE_INFO, *LPNET_DVR_DEVICE_FILE_INFO; - -typedef struct tagNET_DVR_PLAY_ITEM -{ - DWORD dwSize; - BYTE byItemType; //ͣ1-ͼƬ 2-Ƶ 3-б - BYTE byRes[3]; // - DWORD dwPlayManageNo; //Ź - DWORD dwPlayPicTime; //ͼƬʱ䣬λ, (ΪͼƬЧ) - BYTE byRes2[64]; -} NET_DVR_PLAY_ITEM, *LPNET_DVR_PLAY_ITEM; - -typedef struct tagNET_DVR_DEVICE_PLAYLIST -{ - DWORD dwSize; - BYTE byEnable; //ǷЧ 0-Ч !0-Ч - BYTE byPlayType; //ģʽ1-ѭ - BYTE byVaildItemNum; //Ч - BYTE byRes[1]; - NET_DVR_PLAY_ITEM struPlayItem[PLAYLIST_ITEM_NUM]; //ǰbyVaildItemNumЧ - BYTE byPlaylistName[PLAYLIST_NAME_LEN]; //б - DWORD dwPlaylistNo; //бţȡЧ - BYTE byRes2[128]; -} NET_DVR_DEVICE_PLAYLIST, *LPNET_DVR_DEVICE_PLAYLIST; -typedef struct tagNET_DVR_PLAYLIST_ITEM_CTRL -{ - DWORD dwSize; - BYTE byCtrlType; //ͣ 1-Ӳ 2-ɾ 3-ƶλ - BYTE byPlayIndex; //ţ 1ʼ - NET_DVR_PLAY_ITEM struPlayItem; // - BYTE byNewPlayIndex; //²ţ0Ч - BYTE byRes[63]; -}NET_DVR_PLAYLIST_ITEM_CTRL, *LPNET_DVR_PLAYLIST_ITEM_CTRL; -typedef struct tagNET_DVR_PLAN_ITEM -{ - NET_DVR_PLAY_ITEM struPlanPlayItem; // - NET_DVR_TIME_SEGMENT struTimeSegment; //ʱβ - BYTE byRes[16]; -} NET_DVR_PLAN_ITEM, *LPNET_DVR_PLAN_ITEM; - -typedef struct tagNET_DVR_PLAYPLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿʹ, 0-ʹ !0-ʹ - BYTE byPlanMode; //ƻģʽ1-ܼƻ 2-ռƻ - BYTE byRes[2]; - NET_DVR_PLAN_ITEM struPlanItem[MAX_DAYS][MAX_TIMESEGMENT_V30]; - DWORD dwPlayPlanNo; //żƻţȡʱЧ - BYTE byPlayPlanName[NAME_LEN]; //żƻ - BYTE byRes2[32]; -} NET_DVR_PLAYPLAN_CFG, *LPNET_DVR_PLAYPLAN_CFG; -typedef struct tagNET_DVR_WINDOW_PLAYPLAN_CFG -{ - DWORD dwSize; - BYTE byEnable; //Ƿòżƻ 0- !0- - BYTE byRes[3]; - DWORD dwPlayPlanNo; //żƻ - BYTE byRes2[32]; -} NET_DVR_WINDOW_PLAYPLAN_CFG, *LPNET_DVR_WINDOW_PLAYPLAN_CFG; -typedef struct tagNET_DVR_DEV_PLAYCTRL -{ - DWORD dwSize; - BYTE byControlType; //ͣ1-Ƶ2-Ƶأ3-ֹͣţ4-ͣţָ - BYTE byRes[131]; -} NET_DVR_DEV_PLAYCTRL, *LPNET_DVR_DEV_PLAYCTRL; - -typedef union tagNET_DVR_PLAYITEM_INFO -{ - struct // - { - DWORD dwPlayItem; // - BYTE byPlayItemName[NAME_LEN]; // - BYTE byRes2[8]; - } struPlayItem; - struct //б - { - DWORD dwPlaylistNo; //б - BYTE byPlaylistName[NAME_LEN]; //б - WORD wPlayIndex; //λ - BYTE byPlayType; //бڲ 1-ͼƬ 2-Ƶ - BYTE byRes[3]; - DWORD dwPlayItem; // - BYTE byPlayItemName[NAME_LEN]; // - BYTE byRes2[16]; - } struPlaylistItem; - struct //żƻ - { - DWORD dwPlayPlanNo; //żƻ - NET_DVR_TIME_SEGMENT struTime; //ڲʱ - BYTE byPlayType; //żƻڲ 1-ͼƬ 2-Ƶ 3-б - BYTE byRes[3]; - DWORD dwPlaylistNo; //б - BYTE byPlaylistName[NAME_LEN]; //б - DWORD dwPlayItem; // - BYTE byPlayItemName[NAME_LEN]; // - WORD wPlayIndex; //λ - BYTE byRes2[18]; - } struPlayPlanItem; -}NET_DVR_PLAYITEM_INFO, *LPNET_DVR_PLAYITEM_INFO; -typedef struct tagNET_DVR_PLAYING_INFO -{ - DWORD dwSize; - BYTE byPlayWay; //ŷʽ 1- 2-б 3-żƻ 4-̬ 5-岥 - BYTE byCurPlayType; //ڲزͣ 1-ͼƬ 2-Ƶ̬ͽ岥ʱЧ - BYTE byPlayState; //״̬1-ڲţ2-ֹͣ3-ͣ - BYTE byAudioState; //Ƶ״̬0-أ1- - NET_DVR_PLAYITEM_INFO struPlayItemInfo; //Ϣ - BYTE byRes2[16]; -} NET_DVR_PLAYING_INFO, *LPNET_DVR_PLAYING_INFO; - -typedef struct tagNET_DVR_ONLINEUSER_COND //ṹ -{ - DWORD dwSize; - DWORD dwChannel;//ͨţǰĬ1 - BYTE byRes [128]; -}NET_DVR_ONLINEUSER_COND,*LPNET_DVR_ONLINEUSER_COND; - -typedef struct tagNET_DVR_ONLINEUSER_CFG //ýṹ -{ - DWORD dwSize; - BYTE byID;//ûк - BYTE byUserType;//û 0-ͨû1-Ա2-û - BYTE byDataType;//״̬:0-У1-ʼ2- - BYTE byRes; - NET_DVR_IPADDR struIpAddr;//IPַ - NET_DVR_TIME_V30 struLoginTime;//½ʱ - char szUserName[NAME_LEN/*32*/];//û - BYTE byRes1[128]; -}NET_DVR_ONLINEUSER_CFG,*LPNET_DVR_ONLINEUSER_CFG; - -//洢״̬ -typedef struct tagNET_DVR_STORAGE_DETECTION -{ - DWORD dwSize;//ṹС - BYTE byHealthState;//״̬0-ã1-2-𻵣3-δ֪ - BYTE bySDCardState;//SDcard״̬ 0-ߣ1-,2-δ֪,3- - WORD wAbnormalPowerLoss;//쳣 - WORD wBadBlocks;// - BYTE byRemainingLife; //SDʣ; 0~100% - BYTE byRes[125]; -}NET_DVR_STORAGE_DETECTION,*LPNET_DVR_STORAGE_DETECTION; - -//洢ܼⱨϴ -typedef struct tagNET_DVR_STORAGE_DETECTION_ALARM -{ - DWORD dwSize; - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwCardID; //ID - WORD wAbnormalPowerLoss;//쳣 - WORD wBadBlocks;// - BYTE byHealthState;//״̬0-ã1-2-𻵣3-δ֪ - BYTE byRes1[3]; - float fResidualLife; //SD Ԥʣ - BYTE byRes[118]; -}NET_DVR_STORAGE_DETECTION_ALARM,*LPNET_DVR_STORAGE_DETECTION_ALARM; - - -//洢Ķд -typedef struct tagNET_DVR_STORAGE_RWLOCK -{ - DWORD dwSize;//ṹС - BYTE byEnabled;//ʹ 0-رգ1- - BYTE byRes[3]; - char szPassWD[PASSWD_LEN/*16*/]; //д - char szOriginalPassWD[PASSWD_LEN/*16*/]; //ԭʼ - BYTE byRes1[128]; -}NET_DVR_STORAGE_RWLOCK,*LPNET_DVR_STORAGE_RWLOCK; - -//洢Ľ -typedef struct tagNET_DVR_STORAGE_UNLOCK -{ - DWORD dwSize;//ṹС - char szPassWD[PASSWD_LEN/*16*/]; // - BYTE byRes1[128]; -}NET_DVR_STORAGE_UNLOCK,*LPNET_DVR_STORAGE_UNLOCK; - - -typedef struct tagNET_DVR_PTZTRACKSTATUS -{ - DWORD dwSize;//ṹС - BYTE byID;//豸ID (ֶbyLinkageType0ʱЧ) - BYTE byLinkageType;//0-1-豸 - BYTE byRes[254]; -}NET_DVR_PTZTRACKSTATUS,*LPNET_DVR_PTZTRACKSTATUS; - -#define MAX_PROXY_COUNT 32 - -typedef struct tagNET_DVR_SOCKS_PROXY_PARA -{ - BYTE byIP[129]; //ַ - BYTE byAuthType; //֤ʽʱȲʹøֶ - WORD wPort; //˿ - BYTE byRes2[64]; //Ҫʹ֤ʽȻҪһЩֽڣһЩ -}NET_DVR_SOCKS_PROXY_PARA, *LPNET_DVR_SOCKS_PROXY_PARA; - -typedef struct tagNET_DVR_SOCKS_PROXYS -{ - NET_DVR_SOCKS_PROXY_PARA struProxy[MAX_PROXY_COUNT]; -}NET_DVR_SOCKS_PROXYS, *LPNET_DVR_SOCKS_PROXYS; - -typedef struct tagNET_DVR_GET_FIGURE_COND -{ - DWORD dwLength; //ṹ - DWORD dwChannel; //ͨ - NET_DVR_TIME_V30 struTimePoint; //ʱ - BYTE byID[STREAM_ID_LEN/*32*/]; //ID - BYTE byRes[32]; -}NET_DVR_GET_FIGURE_COND, *LPNET_DVR_GET_FIGURE_COND; - -typedef struct tagNET_DVR_FIGURE_INFO -{ - DWORD dwPicLen; //ͼƬ - char *pPicBuf; //ͼƬ -}NET_DVR_FIGURE_INFO, *LPNET_DVR_FIGURE_INFO; - -//ֶ -typedef struct tagNET_DVR_MANUALRANGING_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿֶࣺ0- 1- - BYTE byRes[127]; -}NET_DVR_MANUALRANGING_CFG,*LPNET_DVR_MANUALRANGING_CFG; - -typedef struct tagNET_DVR_VIDEO_INTERCOM_ALARM_CFG -{ - DWORD dwSize; //ṹС - BYTE byDoorNotCloseAlarm; //Ƿϴδر0-ϴ1-ϴ - BYTE byRes[603]; // -}NET_DVR_VIDEO_INTERCOM_ALARM_CFG, *LPNET_DVR_VIDEO_INTERCOM_ALARM_CFG; - -typedef struct tagNET_DVR_PACKET_INFO_EX -{ - WORD wWidth; //width - WORD wHeight; //height - DWORD dwTimeStamp; //lower time stamp - DWORD dwTimeStampHigh;//higher time stamp - DWORD dwYear; //year - DWORD dwMonth; //month - DWORD dwDay; //day - DWORD dwHour; //hour - DWORD dwMinute; //minute - DWORD dwSecond; //second - DWORD dwMillisecond; //millisecond - DWORD dwFrameNum; //frame num - DWORD dwFrameRate; //frame rate,֡С0ʱ0x80000002:ʾ1/2֡ʣͬ0x80000010Ϊ1/16֡ - DWORD dwFlag; //flag E֡ - DWORD dwFilePos; //file pos - DWORD dwPacketType; //Packet type:0 -file head1 -video I frame2- video B frame 3- video P frame 10- audio packet 11- private packet - DWORD dwPacketSize; //packet size - unsigned char* pPacketBuffer; //packet buffer - BYTE byRes1[4]; - DWORD dwPacketMode; //ʽ:0-1-FU_Aʽ - BYTE byRes2[16]; - DWORD dwReserved[6]; //reserved[0] ʾ˽ - //reserved[1] ʾ˽ݵַλ - //reserved[2] ʾ˽ݵַλ - //reserved[3] ʾ˽ݳ - //reserved[4] ˽֡/ʱ\ʱ - //reserved[5].һbitλǷΪP֡P1ΪP0; lizhonghu 20150203 -}NET_DVR_PACKET_INFO_EX, *LPNET_DVR_PACKET_INFO_EX; - -typedef BOOL(CALLBACK * DEV_WORK_STATE_CB)(void* pUserdata, int iUserID, LPNET_DVR_WORKSTATE_V40 lpWorkState); - -typedef struct tagNetDVRCheckDevState -{ - DWORD dwTimeout; //ʱ豸״̬λmsΪ0ʱʾʹĬֵ(30000)СֵΪ1000 - DEV_WORK_STATE_CB fnStateCB; - void* pUserData; - BYTE byRes[60]; -}NET_DVR_CHECK_DEV_STATE,*LPNET_DVR_CHECK_DEV_STATE; - -#define COURSE_NAME_LEN_128 128 //γ -#define INSTRUCTOR_NAME_LEN_64 64 //ڿνʦ -#define MAX_UUID_LEN 64 //ֶγUUID - -//ȡṹ -typedef struct tagNET_DVR_COURSE_LIST_COND -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime; //γ̿ʼʱ - NET_DVR_TIME_V30 struEndTime; //γ̽ʱ - BYTE byCourseName[COURSE_NAME_LEN_128]; //γ - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; //ڿʦ - BYTE byCourseType; //αͣ0-ȫ1-ֶ - BYTE byRes[603]; -}NET_DVR_COURSE_LIST_COND,*LPNET_DVR_COURSE_LIST_COND; - -typedef struct tagNET_DVR_COURSE_CFG -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime; //γ̿ʼʱ - NET_DVR_TIME_V30 struEndTime; //γ̿ʼʱ - BYTE byCourseName[COURSE_NAME_LEN_128]; - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; - BYTE byCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byRecUUID[MAX_UUID_LEN/*64*/]; //ֶαUUID - BYTE byCourseType;//αͣ0-ȫ1-ֶα - BYTE byRes[303]; -}NET_DVR_COURSE_CFG, *LPNET_DVR_COURSE_CFG; - -typedef struct tagNET_DVR_RECORD_STATUS -{ - DWORD dwSize; //ṹС - BYTE byRecUUID[MAX_UUID_LEN/*64*/]; //ֶαUUID - BYTE byRecordStatus; //¼״̬0-ͣ1-,2-¼3- - BYTE byRes1[3]; //ֽ - DWORD dwRecordingTime; //¼ʱλ룬Ϊ12*60*60 - BYTE byRes[596]; //ֽ -}NET_DVR_RECORD_STATUS, *LPNET_DVR_RECORD_STATUS; - -typedef struct tagNET_DVR_MANUAL_CURRICULUM_CFG -{ - DWORD dwSize; //ṹС - BYTE byRecUUID[MAX_UUID_LEN/*64*/]; //ֶαUUID - BYTE byCourseName[COURSE_NAME_LEN_128]; //γ - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; //ڿʦ - BYTE byCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byCmdType; //0-ʼ¼ 1- 2-ͣ 3-,4-ʼΣ5- - BYTE byRes[303]; //ֽ -}NET_DVR_MANUAL_CURRICULUM_CFG, *LPNET_DVR_MANUAL_CURRICULUM_CFG; - -typedef struct tagNET_DVR_IMAGE_DIFF_DETECTION_CFG -{ - DWORD dwSize; //ṹС - NET_VCA_POLYGON struRegion; //Χ - BYTE byEnabled; //Ƿã0-ã1- - BYTE byThreshold; //ֵ[0,100] - BYTE bySensitivity; // [0,100] - BYTE byVideoInputType; //Ƶͣ0-Զ1-HDMI2-VGA - BYTE byRes[300]; //ֽ -}NET_DVR_IMAGE_DIFF_DETECTION_CFG, *LPNET_DVR_IMAGE_DIFF_DETECTION_CFG; - -typedef struct tagNET_DVR_RECORDING_PUBLISH_FILE_COND -{ - DWORD dwSize; - DWORD dwChannel; - BYTE byFileID[MAX_ID_LEN_128/*128*/]; //ļID - BYTE byRes[300]; -}NET_DVR_RECORDING_PUBLISH_FILE_COND, *LPNET_DVR_RECORDING_PUBLISH_FILE_COND; - -typedef struct tagNET_DVR_RECORDING_PUBLISH_FILE_INFO -{ - DWORD dwSize; - NET_DVR_TIME_V30 struStartTime; //γ̿ʼʱ - NET_DVR_TIME_V30 struEndTime; //γ̿ʼʱ - BYTE byCourseName[COURSE_NAME_LEN_128]; - BYTE byInstructorName[INSTRUCTOR_NAME_LEN_64]; - BYTE byCourseDescription[COURSE_DESCRIPTION_LEN /*256*/]; - BYTE byRes[300]; //ֽ -}NET_DVR_RECORDING_PUBLISH_FILE_INFO, *LPNET_DVR_RECORDING_PUBLISH_FILE_INFO; - -//Ļ -typedef struct tagNET_DVR_SCREEN_POINT -{ - WORD wX; //X - WORD wY; //Y -}NET_DVR_SCREEN_POINT,*LPNET_DVR_SCREEN_POINT; - -typedef struct tagNET_DVR_MOUSE_PARAM -{ - BYTE byMouseEvent; //¼1-£2-ɿ3-Ҽ£4-Ҽɿ - //5-ƶ6-7-˫8-Ҽ9-ְ£ - //10-ɿ11-£12- - BYTE byRes1[3]; - NET_DVR_SCREEN_POINT struMousePoint; //Ϣ - BYTE byRes2[8]; -}NET_DVR_MOUSE_PARAM, *LPNET_DVR_MOUSE_PARAM; - -typedef struct tagNET_DVR_MARK_PARAM -{ - BYTE byMarkEvent; //ע¼1-ע2-ע3-±ע״̬ - BYTE byMarkTool; //עߣ0-Ч1-ʣ2-Ƥע¼Ϊ1ʱЧ - BYTE byLineWidth; //ϸ0-Ч1-ϸ2-У3-֣ע¼Ϊ1ʱЧ - BYTE byMouseEvent; //¼ע¼Ϊ1ʱЧ0-Ч1-£2-ɿ3-ƶ - NET_DVR_RGB_COLOR struColor; //עɫעΪʱЧ - NET_DVR_SCREEN_POINT struPoint; //עϢ - BYTE byRes[4]; -}NET_DVR_MARK_PARAM, *LPNET_DVR_MARK_PARAM; - -typedef struct tagNET_DVR_KEYBOARD_PARM -{ - DWORD dwKeyValue; //ʹASCIIеֵⰴȷ - BYTE byRes[12]; -}NET_DVR_KEYBOARD_PARAM, *LPNET_DVR_KEYBOARD_PARAM; - -typedef struct tagNET_DVR_PPT_PARAM -{ - BYTE byPPTAction; //PPT1-򿪷ӳ2-ֹͣӳ3-һ4-һ - //5-һҳ6-һҳ7-Xҳ8-ʿ9-ʹأ10-ƶ - BYTE byRes1[3]; - NET_DVR_SCREEN_POINT struPoint; //ϢPPTΪ10ʱЧ - DWORD dwPPTNo; //PPTҳPPTΪ7ʱЧ - BYTE byRes2[4]; -}NET_DVR_PPT_PARAM, *LPNET_DVR_PPT_PARAM; - -typedef struct tagNET_DVR_REMOTE_CTRL_PARAM -{ - BYTE byRemoteCtrlCmd; //Զ̿1-лöڣ2-رĻǰڣ3-ļ4-رļ5-ɾļ6-ػ7-ʾ棬8- - BYTE byRes1[3]; - DWORD dwCtrlParam; //byRemoteCtrlCmdΪ345ʱʾļbyRemoteCtrlCmdΪ8ʱʾͣ0-Ч1- - BYTE byRes2[8]; -}NET_DVR_REMOTE_CTRL_PARAM, *LPNET_DVR_REMOTE_CTRL_PARAM; - -typedef struct tagNET_DVR_SPOTLIGHT_PARAM -{ - BYTE byCmd; //۹0-رվ۹ƣ1-۹ƣ2-۹λƶ - BYTE byRes1[3]; - NET_DVR_SCREEN_POINT struPoint; //۹ĵ꣬۹λƶʱЧ - DWORD dwRadius; //۹ư뾶 - BYTE byRes2[4]; -} NET_DVR_SPOTLIGHT_PARAM, *LPNET_DVR_SPOTLIGHT_PARAM; - -typedef struct tagNET_DVR_TOUCHPAD_PARAM -{ - BYTE byMouseEvent; //¼1-£2-ɿ3-Ҽ£4-Ҽɿ - //5-ƶ6-7-˫8-Ҽ9-ְ£ - //10-ɿ11-£12- - BYTE byRes1[3]; - int iXDisplacement; //XλƣʾƶʾƶƶʱЧ - int iYDisplacement; //YλƣʾƶʾƶƶʱЧ - BYTE byRes2[4]; -}NET_DVR_TOUCHPAD_PARAM, *LPNET_DVR_TOUCHPAD_PARAM; - -typedef struct tagNET_DVR_MEDIA_LIST_PARAM -{ - BYTE byOperateCmd; //1-ʾͼƬزģ2-ʾƵزģ3-ʾpptزģ4-رնýļ - BYTE byRes[15]; -}NET_DVR_MEDIA_LIST_PARAM, *LPNET_DVR_MEDIA_LIST_PARAM; - -typedef union tagNET_DVR_SCREEN_CTRL_PARAM -{ - NET_DVR_MOUSE_PARAM struMouseParam; //Ϊ1ʱЧ - NET_DVR_MARK_PARAM struMarkParam; //עΪ2ʱЧ - NET_DVR_KEYBOARD_PARAM struKeyboardInfo; //̲Ϊ3ʱЧ - NET_DVR_PPT_PARAM struPPTParam; //PPTΪ4ʱЧ - NET_DVR_REMOTE_CTRL_PARAM struRemoteCtrlParam; //Զ̲Ϊ5ʱЧ - NET_DVR_SPOTLIGHT_PARAM struSpotLight; //۹ƲΪ6ʱЧ - NET_DVR_TOUCHPAD_PARAM struTouchPadParam; //Ϊ7ʱЧ - NET_DVR_MEDIA_LIST_PARAM struMediaListParam; //ýΪ8ʱЧ - BYTE byRes[16]; -}NET_DVR_SCREEN_CTRL_PARAM, *LPNET_DVR_SCREEN_CTRL_PARAM; - -typedef struct tagNET_DVR_SCREEN_CTRL_CMD -{ - DWORD dwSize; - BYTE byCmdType; //ͣ1-꣬2-ע3-̣4-PPT5-Զ̲6-۹ƣ7-ذ壬8-ʾý - BYTE byRes1[3]; - NET_DVR_SCREEN_CTRL_PARAM struScreenCtrlParam; //ĻƲ -}NET_DVR_SCREEN_CTRL_CMD, *LPNET_DVR_SCREEN_CTRL_CMD; - -typedef struct tagNET_DVR_FILE_RESPONSE_PARAM -{ - BYTE byFileState; //ļ״̬1-ļڣ2-ļʧܣ3-ļɹ - BYTE byRes1[3]; - DWORD dwErrorFileIndex; //ļļֵ - BYTE byRes2[24]; -} NET_DVR_FILE_RESPONSE_PARAM, *LPNET_DVR_FILE_RESPONSE_PARAM; - -typedef struct tagNET_DVR_PPT_RESPONSE_PARAM -{ - BYTE byCurrentState; //ǰPPT״̬1 - ڷӳ2 - ӳֹͣ3 - PPTѹرգ4 - pptܱԤͼʧܣ5 - 򿪷ӳɹ6 - 򿪷ӳʧܣ7 - pptΪգ8 - ͼʧܣ9 - ͼɳɹ - BYTE byRes1[3]; - DWORD dwCurrentPage; //PPTҳPPT״̬Ϊ1,7,8ʱЧ - DWORD dwFileIndex; //PPTļֵ - DWORD dwTotalPageNum; //PPTҳPPT״̬Ϊ5ʱЧ - BYTE byRes2[16]; -}NET_DVR_PPT_RESPONSE_PARAM, *LPNET_DVR_PPT_RESPONSE_PARAM; - -typedef union tagNET_DVR_SCREEN_RESPONSE_PARAM -{ - BYTE byRes[32]; - NET_DVR_PPT_RESPONSE_PARAM struPPTParam; //PPT - NET_DVR_FILE_RESPONSE_PARAM struFileParam; //ļӦ -}NET_DVR_SCREEN_RESPONSE_PARAM,*LPNET_DVR_SCREEN_RESPONSE_PARAM; - -typedef struct tagNET_DVR_SCREEN_RESPONSE_CMD -{ - DWORD dwSize; - BYTE byResponseCmd; //ĻӦͣ1-PPT2-ļ - BYTE byRes1[3]; - NET_DVR_SCREEN_RESPONSE_PARAM struResonseParam; //ĻӦ - BYTE byRes2[16]; -}NET_DVR_SCREEN_RESPONSE_CMD, *LPNET_DVR_SCREEN_RESPONSE_CMD; - -typedef struct tagNET_DVR_SCREEN_FILE_COND -{ - DWORD dwSize; - BYTE byFileType; //ļͣ1-ͼƬ2-Ƶ3-ĵ0xff-ļ - BYTE byRes[127]; -}NET_DVR_SCREEN_FILE_COND, *LPNET_DVR_SCREEN_FILE_COND; - -typedef struct tagNET_DVR_SCREEN_FILE_INFO -{ - DWORD dwSize; - DWORD dwFileIndex; //ļȫΨһ - BYTE byFileType; //ļͣ1-ͼƬ2-Ƶ3-ĵ4- - BYTE byPictureFormat; //ͼƬʽļΪͼƬʱЧ1-bmp,2-jpeg,3-png,4-swf,5-gif - BYTE byVideoFormat; //ƵʽļΪƵʱЧ1-avi,2-wmv,3-mp4,4-flv,5-vod,6-mkv,7-rmvb - BYTE byDocumentFormat; //ĵʽ0-ppt1-txt2-doc3-xlsļΪ3ʱЧ - BYTE byFileName[NET_SDK_MAX_FILE_PATH]; //Ļļ - DWORD dwFileSize; //ļСλֽ - DWORD dwPPTPage; //pptҳֵȡѴ򿪵PPTļϢʱЧ - BYTE byOtherFileFormat[8]; //͵ļĸʽ.dat.dllȣļΪ4ʱЧ - BYTE byRes1[56]; -}NET_DVR_SCREEN_FILE_INFO, *LPNET_DVR_SCREEN_FILE_INFO; - -typedef struct tagNET_DVR_SCREEN_CONFIG -{ - DWORD dwSize; - BYTE byVolume; //0-100 - BYTE byContrast; //Աȶȣ0-100 - BYTE byBrightness; //ȣ0-100 - BYTE byScreenShowEnabled; //Ļʾ0-أ0- - BYTE byScreenLocked; //Ļ0-0- - BYTE byBlackScreenEnabled; //Ļ0-ȡ0- - BYTE byRes[30]; -}NET_DVR_SCREEN_CONFIG, *LPNET_DVR_SCREEN_CONFIG; - -typedef struct tagNET_DVR_SCREEM_FILE_UPLOAD_PARAM -{ - DWORD dwSize; - BYTE byFileType; //ļͣ1-ͼƬ2-Ƶ3-ĵ4- - BYTE byPictureFormat; //ͼƬʽ1-BMP2-JPEG3-PNG4-SWF5-GIFļΪ1ʱЧ - BYTE byVideoFormat; //Ƶʽ1-AVI2-WMV3-MP44-FLV5-VOD6-MKV7-RMVBļΪ2ʱЧ - BYTE byDocumentFormat; //ĵʽ0-ppt1-txt2-doc3-xlsļΪ3ʱЧ - BYTE byFileName[NET_SDK_MAX_FILE_PATH]; //ļ - BYTE byOtherFileFormat[8]; //͵ļĸʽ.dat.dllȣļΪ4ʱЧ - BYTE byRes1[56]; -}NET_DVR_SCREEM_FILE_UPLOAD_PARAM, *LPNET_DVR_SCREEM_FILE_UPLOAD_PARAM; - -typedef struct tagNET_DVR_SCREEM_FILE_DOWNLOAD_PARAM -{ - DWORD dwSize; - DWORD dwFileIndex; //ļ - DWORD dwPPTPageNo; //PPTҳͼƬʱЧΪ0ʾPPTֵʾPPTҳֵ - BYTE byRes2[64]; -}NET_DVR_SCREEM_FILE_DOWNLOAD_PARAM, *LPNET_DVR_SCREEM_FILE_DOWNLOAD_PARAM; - -typedef struct tagNET_DVR_TV_SCREEN_COND -{ - DWORD dwSize;//ṹ - DWORD dwChannel;//ͨ - WORD wTVScreenNo;// 0-ȫ - BYTE byRes[62]; // -}NET_DVR_TV_SCREEN_COND, *LPNET_DVR_TV_SCREEN_COND; - -typedef struct tagNET_DVR_TV_SCREEN_CFG -{ - DWORD dwSize;//ṹ - DWORD dwPicStayTime;//ͣʱ 0~255s - BYTE byRes[256]; // -}NET_DVR_TV_SCREEN_CFG, *LPNET_DVR_TV_SCREEN_CFG; - -//ȡ豸ץȡͼƬ͸Ϣṹ -typedef struct tagNET_DVR_BV_CALIB_COND -{ - DWORD dwSize; //ṹ - DWORD dwChannels; //ͨ - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_COND, *LPNET_DVR_BV_CALIB_COND; - -typedef struct tagNET_DVR_BV_CALIB_PIC -{ - DWORD dwSize; //ṹ - DWORD dwPicID; - DWORD dwPicLen1;//ͼƬ1 - DWORD dwPicLen2;//ͼƬ2 - char* pPicBuffer1;//ͼƬ - char* pPicBuffer2;//ͼƬ - BYTE byRes[600]; // -}NET_DVR_BV_CALIB_PIC, *LPNET_DVR_BV_CALIB_PIC; - - -//ȡ˫Ŀα궨 -typedef struct tagNET_DVR_BV_CALIB_PARAM -{ - DWORD dwPicID; - NET_VCA_POINT struPoint;//ü - BYTE byRes[32]; // -}NET_DVR_BV_CALIB_PARAM, *LPNET_DVR_BV_CALIB_PARAM; - -typedef struct tagNET_DVR_BV_CALIB_INFO -{ - DWORD dwSize; //ṹ - DWORD dwBVCalibNumber; // - NET_DVR_BV_CALIB_PARAM struBVCalibParam[12]; - DWORD dwHumanHeight; //ʵߣλcm - DWORD dwChannel; //ͨ - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_INFO, *LPNET_DVR_BV_CALIB_INFO; - -typedef struct tagNET_DVR_BV_CALIB_RESULT -{ - DWORD dwSize; //ṹ - DWORD dwCameraHeight; //߶ȣλcm - float fPitchAngle; //ӽǶ[0, 60], + 360* 1000 - float fInclineAngle; //бǶ[-20,20] + 360 * 1000 - BYTE byRes[300]; // -}NET_DVR_BV_CALIB_RESULT, *LPNET_DVR_BV_CALIB_RESULT; - -//ȡ˫Ŀ߶Ƚ -typedef struct tagNET_DVR_BV_HCORRECTION_COND -{ - DWORD dwSize; //ṹ - DWORD dwChannels; //ͨ - DWORD dwPicID; - BYTE byRes[300]; // -}NET_DVR_BV_HCORRECTION_COND, *LPNET_DVR_BV_HCORRECTION_COND; - -typedef struct tagNET_DVR_BV_HCORRECTION_CFG -{ - DWORD dwSize; //ṹ - DWORD dwHumanHeight; //ʵߣλcm - BYTE byRes[300]; // -}NET_DVR_BV_HCORRECTION_CFG, *LPNET_DVR_BV_HCORRECTION_CFG; - - -// -typedef struct tagNET_DVR_TMEVOICE_CFG -{ - DWORD dwSize;//ṹС - BYTE byVoiceSpeed;// 0~100 - BYTE byVoicePitch; // 0~100 - BYTE byVoiceVolum; //0~100 - BYTE byVoicePlateEnable;//ʹ ,0~رգ1~ - /*ࣻ - 3 = Xiaoyan (female, Chinese) - 51 = Jiu Xu (male, Chinese) - 52 = Duo Xu (male, Chinese) - 53 = Xiaoping (female, Chinese) - 54 = Donald Duck (male, Chinese) - 55 = Baby Xu (child, Chinese) - */ - DWORD dwVoiceRole; // - char sInfo[MAX_TMEVOICE_LEN/*64*/]; //ݣѹȦݣ - char sFileName[MAX_TMEVOICE_LEN/*64*/]; //ļ - BYTE byRes[64]; -}NET_DVR_TMEVOICE_CFG,*LPNET_DVR_TMEVOICE_CFG; - -// -typedef struct tagNET_DVR_INPUT_BOARD_CFG -{ - DWORD dwSize; - DWORD dwSlotNo; //λ - BYTE byFullFrameEnable; //Ƿȫ֡ʳԣ0-1- - BYTE byRes[3]; //ֽڶ - BYTE byRes1[64]; // -}NET_DVR_INPUT_BOARD_CFG, *LPNET_DVR_INPUT_BOARD_CFG; - -typedef struct tagNET_DVR_INPUT_BOARD_CFG_LIST -{ - DWORD dwSize; - NET_DVR_INPUT_BOARD_CFG struBoardList[MAX_NUM_INPUT_BOARD]; //Ϣб -}NET_DVR_INPUT_BOARD_CFG_LIST, *LPNET_DVR_INPUT_BOARD_CFG_LIST; - -/******************************ȫƵϢȫ begin******************************************/ -//ȡ豸Ϣṹ -typedef struct _NET_DVR_ENCRYPT_DEVICE_COND -{ - DWORD dwSize; //ṹС - DWORD dwChannel; //ͨ - BYTE byAlgorithm; //㷨0-1-RSA,2-SM2 - BYTE byModelLen; //ģ0-1-1024λ,2-2048λ,3-256λ - BYTE byCERTSaveLocation; //֤鱣λã豸صѡ0-1-оƬ(ͨUSB豸),2-豸 - BYTE byRes[29]; -}NET_DVR_ENCRYPT_DEVICE_COND, *LPNET_DVR_ENCRYPT_DEVICE_COND; -//ȡ豸Ϣṹ -typedef struct _NET_DVR_ENCRYPT_DEVICE_INFO -{ - DWORD dwSize; //ṹС - BYTE byAlgorithm; //㷨0-1-RSA,2-SM2 - BYTE byModelLen; //ģ0-1-1024λ,2-2048λ,3-256λ - BYTE byRes1[30]; // - DWORD dwPublicKeyLen; //Կ - char szPublicKey[MAX_PUBLIC_KEY_LEN]; //Կ - char szChipSerialNumber[CHIP_SERIALNO_LEN]; //оƬк - char szDeviceID[ENCRYPT_DEV_ID_LEN]; //豸ID - BYTE byRes2[128]; -}NET_DVR_ENCRYPT_DEVICE_INFO, *LPNET_DVR_ENCRYPT_DEVICE_INFO; -//֤ṹ -typedef struct _NET_DVR_ENCRYPT_CERT_PARAM -{ - DWORD dwSize; - WORD wCertType; //֤ͣ0-CA֤飬1-ǩ֤,2-֤飬3- SM2Կ - BYTE byRes1[2]; // - DWORD dwCertLen; //֤鳤 - BYTE byRes2[32]; - char* pCertBuf; //֤黺 -}NET_DVR_ENCRYPT_CERT_PARAM, *LPNET_DVR_ENCRYPT_CERT_PARAM; -/******************************ȫƵϢȫ end******************************************/ -#define MAX_RING_NAME_LEN_128 128 //Ƴ -typedef struct tagNET_DVR_RING_UPLOAD_CFG -{ - DWORD dwSize; - DWORD dwRingID; //ţ[1,8] - BYTE byRingName[MAX_RING_NAME_LEN_128/*128*/]; // - DWORD dwRingSize; //ļС - BYTE byRingType; //ͣ0-wav - BYTE byRes[363]; -}NET_DVR_RING_UPLOAD_CFG,*LPNET_DVR_RING_UPLOAD_CFG; - -typedef struct tagNET_DVR_RING_SEARCH_COND -{ - DWORD dwSize; - DWORD dwRingID; //ţɵʽңô˲Ϊ0ʾŲ - BYTE byRes[300]; -}NET_DVR_RING_SEARCH_COND,*LPNET_DVR_RING_SEARCH_COND; - -typedef struct tagNET_DVR_RING_SEARCH_CFG -{ - DWORD dwSize; - DWORD dwRingID; //ţ[1,8] - BYTE byRingName[MAX_RING_NAME_LEN_128/*128*/]; // - DWORD dwRingSize; //ļС - BYTE byRingType; //ͣ0-wav - BYTE byRes[303]; -}NET_DVR_RING_SEARCH_CFG,*LPNET_DVR_RING_SEARCH_CFG; - -// -typedef struct tagNET_DVR_ALARMCTRL_CFG -{ - DWORD dwSize; - BYTE byListenPicUploadEnabled;//ͼƬϴʹ - BYTE byRes [259]; -}NET_DVR_ALARMCTRL_CFG,*LPNET_DVR_ALARMCTRL_CFG; - -typedef struct tagNET_DVR_VEHICLEFLOW_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byLane;//ţ1~6,0Ϊг - BYTE byRes1[3]; - NET_DVR_TIME_V30 struStartTime;//ʼʱ - NET_DVR_TIME_V30 struEndTime;//ʱ - BYTE byRes[256]; -}NET_DVR_VEHICLEFLOW_COND, *LPNET_DVR_VEHICLEFLOW_COND; - -typedef struct tagNET_DVR_VEHICLEFLOW_INFO -{ - DWORD dwVehicleFlowValue;//Ϊһʱڵ - BYTE byRes[64]; -}NET_DVR_VEHICLEFLOW_INFO, *LPNET_DVR_VEHICLEFLOW_INFO; - -typedef struct tagNET_DVR_VEHICLEFLOW_CFG -{ - DWORD dwSize; - NET_DVR_VEHICLEFLOW_INFO struVehFlow[MAX_VEHICLEFLOW_INFO/*24*/]; - BYTE byRes[512]; -}NET_DVR_VEHICLEFLOW_CFG, *LPNET_DVR_VEHICLEFLOW_CFG; - -//ṹ -typedef struct tagNET_DVR_IPADDR_FILTER_COND -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRes[64]; -}NET_DVR_IPADDR_FILTER_COND, *LPNET_DVR_IPADDR_FILTER_COND; - -typedef struct tagNET_DVR_TEMPHUMSENSOR -{ - DWORD dwSize;//ṹ峤 - BYTE byEnable;//ʹ 0-أ1- - BYTE byCtrlMode;//ģʽ 0-¶ֵƣ1-ʪֵƣ2-ʪֵ - BYTE byTemperatureValue;//¶ֵ0~100϶,ģʽΪ02ʱЧ - BYTE byHumidityValue;//ʪֵ0~100ģʽΪ12ʱЧ - BYTE byFanSwitch;//ȿأ0-أ1- - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byRes[62]; -}NET_DVR_TEMPHUMSENSOR, *LPNET_DVR_TEMPHUMSENSOR; - -//״ -typedef struct tagNET_DVR_POSTRADARSPEED_CFG -{ - DWORD dwSize;//ṹС - BYTE byLaneType; //·ͣ0~δ,1~ٹ·,2~п·,0xff~· - BYTE byRes1[3]; - DWORD dwInterval; //ץļλms - DWORD dwSignSpeed;//־(С)λkm/h - DWORD dwSpeedLimit;//ֵ(С)λkm/h - DWORD dwBigCarSignSpeed;//־()λkm/h - DWORD dwBigCarSpeedLimit;//ֵ󳵣λkm/h - DWORD dwLowSpeedLimit;// С޵٣λkm/h - DWORD dwBigCarLowSpeedLimit;// ޵٣λkm/h - BYTE byCheckPostEnabled; //ÿץ - BYTE byOverSpeedEnabled; //óץ - BYTE byRes[246]; -}NET_DVR_POSTRADARSPEED_CFG, *LPNET_DVR_POSTRADARSPEED_CFG; - -//״ -typedef struct tagNET_DVR_POSTRADARPARAM_CFG -{ - DWORD dwSize;//ṹС - BYTE bySoftWareVersion[32];//汾 ֻ - BYTE byID; //ں - BYTE byWorkMode; //ģʽ0~,1~ͷ,2~β,3~Ѳ߳β,4~˫,0xff~ - BYTE bySpeedType; //ٶȸʽ0~ֽ,1~˫ֽ,2~ֽ,0xff~ - BYTE byDirectionFilter; //ˣ0~,1~,2~ȥ - DWORD dwAngleCorrect;//Ƕ[0,70] - DWORD dwSensitivity;// [11,240] - DWORD dwSpeedLowLimit;// [1,150km/h] - DWORD dwTrigDistance;// [0,40m] - BYTE byRes[256]; -}NET_DVR_POSTRADARPARAM_CFG, *LPNET_DVR_POSTRADARPARAM_CFG; - -typedef struct tagNET_DVR_CLOUD_URL_COND -{ - DWORD dwSize; - BYTE byType; //0-1- OneDrive 2-GoogleDrive 3-DropBox - BYTE byRes[63]; -}NET_DVR_CLOUD_URL_COND, *LPNET_DVR_CLOUD_URL_COND; - -typedef struct tagNET_DVR_CLOUD_URL -{ - DWORD dwSize; - char szURL[256]; //ƴ洢URL - BYTE byRes[256]; -}NET_DVR_CLOUD_URL, *LPNET_DVR_CLOUD_URL; - -typedef struct tagNET_DVR_CLOUD_CFG -{ - DWORD dwSize; - BYTE byEnable; //0-1- - BYTE byType; //0-1- OneDrive 2-GoogleDrive 3-DropBox - BYTE byStatus; //״ֻ̬ 0- 1- 2- - BYTE byRes1; - char szAuthCode[CODE_LEN]; //Ȩ - char szAlias[ALIAS_LEN]; //ֻ - INT64 i64TotalCapability; //ֻλMB - INT64 i64UsedSpace; //ֻλMB - BYTE byRes2[256]; -}NET_DVR_CLOUD_CFG, *LPNET_DVR_CLOUD_CFG; - -typedef struct tagNET_DVR_CLOUD_UPLOADSTRATEGY_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - BYTE byRes[254]; //ΪʹID -}NET_DVR_CLOUD_UPLOADSTRATEGY_COND, *LPNET_DVR_CLOUD_UPLOADSTRATEGY_COND; - -typedef struct tagNET_DVR_CLOUD_UPLOADSTRATEGY -{ - DWORD dwSize; - BYTE byStrategyType; //0-壬1-¼2-ͼƬ - BYTE byRes1[3]; - DWORD dwRecordType; //byStrategyType Ϊ1ʱЧλʾ - /*0x00: */ - /*0x01: ȫ¼*/ - /*0x02: ƶ*/ - /*0x04: ź*/ - /*0x08: */ - BYTE byRes[256]; -}NET_DVR_CLOUD_UPLOADSTRATEGY, *LPNET_DVR_CLOUD_UPLOADSTRATEGY; - -//¼Լ -typedef struct tagNET_DVR_RECORD_CHECK_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - BYTE byCheckType; //ⷽʽ,0--¼Ƿ,1--¼Ƿ&ȱʧ¼ֹʱ - BYTE byRes1[3]; - NET_DVR_TIME_EX struBeginTime; //¼Ŀʼʱ - NET_DVR_TIME_EX struEndTime; //¼Ľʱ - BYTE byRes[128]; -}NET_DVR_RECORD_CHECK_COND, *LPNET_DVR_RECORD_CHECK_COND; - -//¼Լ -typedef struct tagNET_DVR_RECORD_CHECK_RET -{ - DWORD dwSize; - BYTE byRecordNotComplete; //¼Ƿ0--,1-- - BYTE byRes1[3]; - NET_DVR_TIME_EX struBeginTime; //ȱʧ¼Ŀʼʱ䣬byCheckTypebyRecordNotCompleteֵΪ1ʱЧ - NET_DVR_TIME_EX struEndTime; //ȱʧ¼Ľʱ䣬byCheckTypebyRecordNotCompleteֵΪ1ʱЧ - BYTE byRes[128]; -}NET_DVR_RECORD_CHECK_RET, *LPNET_DVR_RECORD_CHECK_RET; - -//ֶش -typedef struct tagNET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; - BYTE byRes[128]; -}NET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_ADD_RECORD_PASSBACK_MANUAL_COND; - -//ֶش -typedef struct tagNET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG -{ - DWORD dwSize; - NET_DVR_TIME_EX struBeginTime; //ش¼ʼʱ - NET_DVR_TIME_EX struEndTime; //ش¼ʱ - BYTE byRes[128]; -}NET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG, *LPNET_DVR_ADD_RECORD_PASSBACK_MANUAL_CFG; - -//ش -typedef struct tagNET_DVR_RECORD_PASSBACK_TASK_CFG -{ - DWORD dwSize; - DWORD dwTaskID; //ID - BYTE byRes[160]; -}NET_DVR_RECORD_PASSBACK_TASK_CFG, *LPNET_DVR_RECORD_PASSBACK_TASK_CFG; - -//ȡֶش -typedef struct tagNET_DVR_RECORD_PASSBACK_MANUAL_COND -{ - DWORD dwSize; - BYTE byType; //ȡʽ,0--ȡȫʣ1--IDȡʣ, 2--ȡȫ3--IDȡ4IDȡ - BYTE byTimeSegmentQuety; //Ƿʱ䷶Χѯ0-ã1- - BYTE byRes1[2]; // - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣIDȡʣʱЧ - NET_DVR_TIME_EX struBeginTime; //ѯʼʱ䣬byTimeSegmentQuetyʱЧ - NET_DVR_TIME_EX struEndTime; //ѯʱ䣬byTimeSegmentQuetyʱЧ - DWORD dwTaskID; //ID, byType4ʱЧ - BYTE byRes[108]; // -}NET_DVR_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_RECORD_PASSBACK_MANUAL_COND; - -//ȡֶش -typedef struct tagNET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣIDȡʣʱЧ - DWORD dwTaskID; //ID - NET_DVR_TIME_EX struStartTime; //ش¼ʼʱ - NET_DVR_TIME_EX struStopTime; //ش¼ʱ - BYTE byTaskStatus; //״̬0--δִУ1--ͣУ2--ִ, 3--ش, 4--شʧ, 5--ִгɹֻش˲¼, 6--ִгɹǰ¼ - BYTE byRes1[3]; - NET_DVR_TIME_EX struExecuteStartTime;//ʵִпʼʱ䣬byTaskStatusΪ12Ч - NET_DVR_TIME_EX struExecuteStopTime;//ʵִнʱ䣬byTaskStatusΪ2Ч - BYTE byRes[128]; // -}NET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET, *LPNET_DVR_RECORD_PASSBACK_MANUAL_TASK_RET; - -//ֶش -typedef struct tagNET_DVR_RECORD_PASSBACK_MANUAL_CTRL -{ - DWORD dwSize; - BYTE byControlType; //Ʒʽ,0--ֶͣ1--ֶָ - BYTE byRes[131]; // -}NET_DVR_RECORD_PASSBACK_MANUAL_CTRL, *LPNET_DVR_RECORD_PASSBACK_MANUAL_CTRL; - -//ɾֶش -typedef struct tagNET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND -{ - DWORD dwSize; - BYTE byDelType; //ɾʽ,0--IDɾ1--IDɾ2--ɾȫ - BYTE byRes[131]; // -}NET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND, *LPNET_DVR_DEL_RECORD_PASSBACK_MANUAL_COND; - -//ɾֶش -typedef struct tagNET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG -{ - DWORD dwSize; - DWORD dwTaskID; //ֶشIDIDɾʱЧ - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣIDɾʱЧ - BYTE byRes[128]; // -}NET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG, *LPNET_DVR_DEL_RECORD_PASSBACK_MANUAL_CFG; - -typedef struct tagNET_DVR_PASSBACK_DAY -{ - BYTE byAllDay; //Ƿȫش - BYTE byRes[3]; // -}NET_DVR_PASSBACK_DAY, *LPNET_DVR_PASSBACK_DAY; - -typedef struct tagNET_DVR_PASSBACK_SCHED -{ - NET_DVR_SCHEDTIME struPassBackTime; //شʱΣʼʱ-ʱ - BYTE byRes[4]; // -}NET_DVR_PASSBACK_SCHED, *LPNET_DVR_PASSBACK_SCHED; - -//¼شƻ -typedef struct tagNET_DVR_RECORD_PASSBACK_SCH_CFG_ -{ - DWORD dwSize; - BYTE byEnable; //Ƿã0--ã1-- - BYTE byPassBackWeek; //Ƿܻش0--1--ǣֵΪ1ʱstruPassBackDaystruPassBackSchedЧ - BYTE byRes1[2]; // - NET_DVR_PASSBACK_DAY struPassBackDay[MAX_DAYS]; //ȫشƻ - NET_DVR_PASSBACK_SCHED struPassBackSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱλشƻ - BYTE byRes[128]; // -}NET_DVR_RECORD_PASSBACK_SCH_CFG, *LPNET_DVR_RECORD_PASSBACK_SCH_CFG; - -//شʷ¼ƻ -typedef struct tagNET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG_ -{ - DWORD dwSize; //汾ͷ - BYTE byEnable; //Ƿã0--ã1-- - BYTE byRes1[3]; // - NET_DVR_PASSBACK_DAY struPassBackDay[MAX_DAYS]; //ȫشƻ - NET_DVR_PASSBACK_SCHED struPassBackSched[MAX_DAYS][MAX_TIMESEGMENT_V30]; //ʱλشƻ - BYTE byRes[256]; // -}NET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG, *LPNET_DVR_RECORD_PASSBACK_HISTORY_PLAN_CFG; - -//¼ -typedef struct tagNET_DVR_DEV_STORAGE_CFG -{ - DWORD dwSize; - DWORD dwCapacityTotal; //豸洢(CVRʾ¼)(ֻ)λMB - DWORD dwFreeSpaceTotal; //豸洢(CVRʾ¼)ʣܿռ(ֻ)λMB - DWORD dwLockedRecordSpace; //豸Ѽ¼洢(CVRʾ¼)(ֻ)λMB - DWORD dwUnLockedSpace; //豸δ洢(CVRʾ¼)(ֻ),δ¼ʣ洢ռ䣬λMB - BYTE byRes[512]; // -}NET_DVR_DEV_STORAGE_CFG, *LPNET_DVR_DEV_STORAGE_CFG; - -//һCVRV50 -typedef struct tagNET_DVR_ONE_KEY_CFG_V50 -{ - DWORD dwSize;//ṹС - BYTE byRaidType; //RAIDͣ0-raid5,1-raid6,2-raid95Vraid,3-ģʽraid - BYTE bySpareRaidProportion; //ọ̇̄raidУı,0--0:1,1--1:1,2--1:2,3--1:3,4--1:4,5--1:5,6--1:6,7--6:1,8--5:1,9--4:1,10--3:1,11--2:1 - BYTE byPicQuota; //ͼƬΧ0~100 - BYTE byRes[257]; -}NET_DVR_ONE_KEY_CFG_V50, *LPNET_DVR_ONE_KEY_CFG_V50; - -typedef struct tagNET_DVR_ONE_KEY_RESULT_V51 -{ - DWORD dwState; //״ֵ̬ע״ֵ̬ - BYTE byProgress; //ȣ0~100 - BYTE byRes[259]; -}NET_DVR_ONE_KEY_RESULT_V51, *LPNET_DVR_ONE_KEY_RESULT_V51; - -typedef struct tagNET_DVR_ONE_KEY_CFG_SAN_V50 -{ - DWORD dwSize;//ṹС - BYTE byRaidType; //RAIDͣ0-raid5,1-raid6 - BYTE bySpareRaidProportion; //ọ̇̄raidУı,0--0:1,1--1:1,2--1:2,3--1:3,4--1:4,5--1:5,6--1:6,7--6:1,8--5:1,9--4:1,10--3:1,11--2:1 - BYTE byRes[254]; -}NET_DVR_ONE_KEY_CFG_SAN_V50, *LPNET_DVR_ONE_KEY_CFG_SAN_V50; - -typedef struct tagNET_DVR_REC_PASSBACK_BASIC_CFG -{ - DWORD dwSize;//ṹС - DWORD dwStartTime; //ⴰڿʼʱ䣨λӣ - DWORD dwStopTime; //ⴰڽʱ䣨λӣ - WORD wMaxTotalConcurrenceNum; //ش·,ԵDZ·ǻش - WORD wMaxDvrConcurrenceNum; //̨DVRشͨ - DWORD dwSyncSpeed; //شʣλMbpsΪ12Mbps - DWORD dwRecordType; //¼: 0xffffffffȫ0ʱ1-ƶ,20xff- - BYTE byRes[248]; -}NET_DVR_REC_PASSBACK_BASIC_CFG, *LPNET_DVR_REC_PASSBACK_BASIC_CFG; - -//豸ӵû -typedef struct tagNET_DVR_ONLINE_USER_INFO_ -{ - DWORD dwSize; - WORD wOnlineUserCount; //¼豸û - BYTE byRes[514]; // -}NET_DVR_ONLINE_USER_INFO, *LPNET_DVR_ONLINE_USER_INFO; - -//ѯ¼ܴС -typedef struct tagNET_DVR_RECORD_SEGMENT_COND_ -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreanInfo; - NET_DVR_TIME_EX struStartTime; //ʼʱ - NET_DVR_TIME_EX struStopTime; //ʱ - BYTE byRes[256]; // -}NET_DVR_RECORD_SEGMENT_COND, *LPNET_DVR_RECORD_SEGMENT_COND; - -//ѯ¼ܴСز -typedef struct tagNET_DVR_RECORD_SEGMENT_RET_ -{ - DWORD dwSize; - DWORD dwRecordTotalSize; //¼ܴСλMB - BYTE byRes[256]; // -}NET_DVR_RECORD_SEGMENT_RET, *LPNET_DVR_RECORD_SEGMENT_RET; -typedef struct tagNET_DVR_ACCESSORY_CARD_INFO -{ - DWORD dwSize; - BYTE szAccessoryCardInfo[MAX_ACCESSORY_CARD/*256*/];//(ܰƴذ)ͺϢ - BYTE byRes[512]; -}NET_DVR_ACCESSORY_CARD_INFO, *LPNET_DVR_ACCESSORY_CARD_INFO; -//ѯϢṹ -typedef struct tagNET_DVR_SEARCH_INFO_COND -{ - DWORD dwSize; - BYTE byCommand; //ѯ0-ˣ1- - BYTE byRes1[3]; - DWORD dwEmployeeNo; //ţѯΪ0-ʱЧ - BYTE byName[NAME_LEN]; //ѯΪ0-ʱЧ - NET_DVR_TIME_V30 struStartTime; //ʼʱ - NET_DVR_TIME_V30 struEndTime; //ʱ - BYTE byRes[128]; // -}NET_DVR_SEARCH_INFO_COND, *LPNET_DVR_SEARCH_INFO_COND; - -//ȡŰϢ -typedef struct tagNET_DVR_SCHEDULE_CHOICE -{ - BYTE byScheduleType; //ͣ0-Űࡢ1-ͨࡢ2-ʱ - BYTE byScheduleNo; //α - BYTE byRes[14]; // -}NET_DVR_SCHEDULE_CHOICE, *LPNET_DVR_SCHEDULE_CHOICE; -// B20 V1.5 -typedef struct tagNET_DVR_DISPINPUT_CFG -{ - DWORD dwSize; - DWORD dwDispInputNo; //ʾ - DWORD dwEDIDFileNo; //EDIDļ - BYTE byRes[32]; -}NET_DVR_DISPINPUT_CFG, *LPNET_DVR_DISPINPUT_CFG; - -//Űƻṹ -typedef struct tagNET_DVR_SCHEDULE_PLAN -{ - DWORD dwSize; - BYTE bySchedulePlanNo; //Űƻ,ʼΧ - BYTE bySchedulePlanType; //Űƻͣ0-ˡ1- - BYTE byEnable; //ʹ - BYTE byRes1; - NET_DVR_SCHEDULE_CHOICE struScheduleChoice[DAYS_A_WEEK]; //ѡ - NET_DVR_TIME_V30 struStartTime; //ʼʱ - NET_DVR_TIME_V30 struEndTime; //ʱ - BYTE byHolidayNo; // - BYTE byRes[63]; // -}NET_DVR_SCHEDULE_PLAN, *LPNET_DVR_SCHEDULE_PLAN; -typedef struct tagNET_DVR_DISPINPUT_CFG_LIST -{ - DWORD dwSize; - DWORD dwDispInputNum; //صNET_DVR_DISPINPUT_CFGṹĸ - LPNET_DVR_DISPINPUT_CFG lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_DISPINPUT_CFG_LIST, *LPNET_DVR_DISPINPUT_CFG_LIST; - -//ȡŰϢ -typedef struct tagNET_DVR_SCHEDULE_INFO_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - NET_DVR_SCHEDULE_PLAN struSchedulePlan; //Űƻ - BYTE byRes[128]; // -}NET_DVR_SCHEDULE_INFO_CFG, *LPNET_DVR_SCHEDULE_INFO_CFG; - -//ȡڻϢ -typedef struct tagNET_DVR_ATTENDANCE_SUMMARY_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - DWORD dwWorkStandard; //׼ʱ䣨ӣ - DWORD dwWorkActual; //ʵʹʱ䣨ӣ - DWORD dwLateTimes; //ٵ - DWORD dwLateMinutes;//ٵۼʱ䣨ӣ - DWORD dwLeaveEarlyTimes; //˴ - DWORD dwLeaveEarlyMinutes; //ۼʱ䣨ӣ - DWORD dwOvertimeStandard; //׼Ӱʱ䣨ӣ - DWORD dwOvertimeActual; //ʵʼӰʱ䣨ӣ - DWORD dwAttendanceStandard; //׼죩 - DWORD dwAttendanceActual; //ʵʳ죩 - DWORD dwAbsentDays; //죩 - BYTE byRes[128]; // -}NET_DVR_ATTENDANCE_SUMMARY_CFG, *LPNET_DVR_ATTENDANCE_SUMMARY_CFG; - -//ȡڼ¼Ϣ -typedef struct tagNET_DVR_ATTENDANCE_RECORD_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - NET_DVR_TIME_V30 struAttendanceTime; //ʱ - BYTE byRes[128]; // -}NET_DVR_ATTENDANCE_RECORD_CFG, *LPNET_DVR_ATTENDANCE_RECORD_CFG; - -//ʱϢ -typedef struct tagNET_DVR_ATTENDANCE_TIME -{ - NET_DVR_TIME_V30 struOnDutyTime; //ϰʱ - NET_DVR_TIME_V30 struOffDutyTime; //°ʱ -}NET_DVR_ATTENDANCE_TIME, *LPNET_DVR_ATTENDANCE_TIME; - -//ȡ쳣ͳϢ -typedef struct tagNET_DVR_ABNORMAL_CFG -{ - DWORD dwSize; - DWORD dwEmployeeNo; // - BYTE byName[NAME_LEN]; // - BYTE byDepartmentName[NAME_LEN]; // - NET_DVR_ATTENDANCE_TIME struAttendanceTime[ABNORMAL_INFO_NUM]; //쳣ʱ - DWORD dwLateMinutes; //ٵʱ䣨ӣ - DWORD dwLeaveEarlyMinutes; //ʱ䣨ӣ - DWORD dwAbsenceMinutes; //ȱʱ䣨ӣ - DWORD dwTotalMinutes; //ϼʱ䣨ӣ - BYTE byRes[128]; // -}NET_DVR_ABNORMAL_CFG, *LPNET_DVR_ABNORMAL_CFG; - -typedef struct tagNET_DVR_CARD_CFG_V50 -{ - DWORD dwSize; - DWORD dwModifyParamType; - // Ҫ޸ĵĿÿʱЧλʾÿλһֲ1ΪҪ޸ģ0Ϊ޸ - // #define CARD_PARAM_CARD_VALID 0x00000001 //ǷЧ - // #define CARD_PARAM_VALID 0x00000002 //Чڲ - // #define CARD_PARAM_CARD_TYPE 0x00000004 //Ͳ - // #define CARD_PARAM_DOOR_RIGHT 0x00000008 //Ȩ޲ - // #define CARD_PARAM_LEADER_CARD 0x00000010 //׿ - // #define CARD_PARAM_SWIPE_NUM 0x00000020 //ˢ - // #define CARD_PARAM_GROUP 0x00000040 //Ⱥ - // #define CARD_PARAM_PASSWORD 0x00000080 // - // #define CARD_PARAM_RIGHT_PLAN 0x00000100 //Ȩ޼ƻ - // #define CARD_PARAM_SWIPED_NUM 0x00000200 //ˢ - // #define CARD_PARAM_EMPLOYEE_NO 0x00000400 // - // #define CARD_PARAM_NAME 0x00000800 // - // #define CARD_PARAM_DEPARTMENT_NO 0x00001000 //ű - // #define CARD_SCHEDULE_PLAN_NO 0x00002000 //Űƻ - // #define CARD_SCHEDULE_PLAN_TYPE 0x00004000 //Űƻ - // #define CARD_ROOM_NUMBER 0x00008000 // - // #define CARD_SIM_NO 0x00010000 //SIMţֻţ - // #define CARD_FLOOR_NUMBER 0x00020000 //¥ - // #define CARD_USER_TYPE 0x00040000 //û - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byCardValid; //ǷЧ0-Ч1-ЧɾʱΪ0ɾȡʱֶʼΪ1 - BYTE byCardType; //ͣ1-ͨ2-Ⱥ忨3-ֹ4-Ѳ5-вȿ6-7-8-9-Ա10-Ӧ11-ӦȨʱȨޣܿţ12-ESDȫ쿨13-ESD쿨14-ESD쿨15-ESDּ쿨Ĭͨ - BYTE byLeaderCard; //ǷΪ׿1-ǣ0- - BYTE byUserType; // 0 C ͨû1 - Աû; - BYTE byDoorRight[MAX_DOOR_NUM_256]; //Ȩ(¥ȨޡȨ)λʾ1ΪȨޣ0ΪȨޣӵλλʾţ1-NǷȨ - NET_DVR_VALID_PERIOD_CFG struValid; //Чڲ - BYTE byBelongGroup[MAX_GROUP_NUM_128]; //Ⱥ飬ֽڱʾ1-ڣ0- - BYTE byCardPassword[CARD_PASSWORD_LEN]; // - WORD wCardRightPlan[MAX_DOOR_NUM_256][MAX_CARD_RIGHT_PLAN_NUM]; //Ȩ޼ƻȡֵΪƻģţͬţͬƻģȨ޻ķʽ - DWORD dwMaxSwipeTime; //ˢ0Ϊ޴ƣ - DWORD dwSwipeTime; //ˢ - WORD wRoomNumber; // - SHORT wFloorNumber; // - DWORD dwEmployeeNo; //ţûID - BYTE byName[NAME_LEN]; // - WORD wDepartmentNo; //ű - WORD wSchedulePlanNo; //Űƻ - BYTE bySchedulePlanType; //Űƻͣ0-塢1-ˡ2- - BYTE byRightType; //·Ȩͣ0-ͨȨޡ1-άȨޡ2-ȨޣӶԽ豸άȨšţ⿨ţˢЧڲȨޣţөʯAPP˺ţͨȨһ£ - BYTE byRes2[2]; - DWORD dwLockID; //ID - BYTE byLockCode[MAX_LOCK_CODE_LEN]; // - BYTE byRoomCode[MAX_DOOR_CODE_LEN]; // - //λʾ0-Ȩޣ1-Ȩ - //0λʾ籨 - //1λʾʾ - //2λʾƿͿ - //3λʾͨ - //4λʾ - //5λʾѲ - DWORD dwCardRight; //Ȩ - DWORD dwPlanTemplate; //ƻģ(ÿ)ʱǷãλʾ0--ã1- - DWORD dwCardUserId; //ֿID - BYTE byCardModelType; //0-գ1- MIFARE S502- MIFARE S703- FM1208 CPU4- FM1216 CPU5-CPU6-֤7- NFC - BYTE byRes3[51]; - BYTE bySIMNum[NAME_LEN/*32*/]; //SIMţֻţ -}NET_DVR_CARD_CFG_V50, *LPNET_DVR_CARD_CFG_V50; - -typedef struct tagNET_DVR_CAPTURE_FINGERPRINT_COND -{ - DWORD dwSize; - BYTE byFingerPrintPicType; //ͼƬͣ0- - BYTE byFingerNo; //ָţΧ1-10 - BYTE byRes[126]; -}NET_DVR_CAPTURE_FINGERPRINT_COND, *LPNET_DVR_CAPTURE_FINGERPRINT_COND; - -typedef struct tagNET_DVR_CAPTURE_FINGERPRINT_CFG -{ - DWORD dwSize; - DWORD dwFingerPrintDataSize; //ָݴС - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - DWORD dwFingerPrintPicSize; //ָͼƬС0ʱָͼƬ - char* pFingerPrintPicBuffer; //ָͼƬ - BYTE byFingerNo; //ָţΧ1-10 - BYTE byFingerPrintQuality; //ָΧ1-100 - BYTE byRes[62]; -}NET_DVR_CAPTURE_FINGERPRINT_CFG, *LPNET_DVR_CAPTURE_FINGERPRINT_CFG; - -typedef struct tagNET_DVR_CAPTURE_FACE_COND -{ - DWORD dwSize; - BYTE byRes[128]; -}NET_DVR_CAPTURE_FACE_COND, *LPNET_DVR_CAPTURE_FACE_COND; - -typedef struct tagNET_DVR_FACE_FEATURE -{ - NET_VCA_RECT struFace; //ͼ - NET_VCA_POINT struLeftEye; // - NET_VCA_POINT struRightEye; // - NET_VCA_POINT struLeftMouth; // - NET_VCA_POINT struRightMouth; // ұ - NET_VCA_POINT struNoseTip; // -}NET_DVR_FACE_FEATURE, *LPNET_DVR_FACE_FEATURE; - - -typedef struct tagNET_DVR_CAPTURE_FACE_CFG -{ - DWORD dwSize; - DWORD dwFaceTemplate1Size; //ģ1ݴС0ʱģ1 - char* pFaceTemplate1Buffer; //ģ1ݻ棨2.5k - DWORD dwFaceTemplate2Size; //ģ2ݴС0ʱģ2 - char* pFaceTemplate2Buffer; //ģ2ݻ棨2.5K - DWORD dwFacePicSize; //ͼƬݴС0ʱͼƬ - char* pFacePicBuffer; //ͼƬݻ - BYTE byFaceQuality1; //Χ1-100 - BYTE byFaceQuality2; //Χ1-100 - BYTE byCaptureProgress; //ɼȣĿǰֵֻֽ0-δɼ100-ɼֻڽΪ100ʱŽϢ - BYTE byFacePicQuality; //ͼƬ - DWORD dwInfraredFacePicSize; //ͼƬݴС0ʱͼƬ - char* pInfraredFacePicBuffer; //ͼƬݻ - BYTE byInfraredFacePicQuality; //ͼƬ - BYTE byRes1[3]; - NET_DVR_FACE_FEATURE struFeature; //ͼϢ - BYTE byRes[56]; -}NET_DVR_CAPTURE_FACE_CFG, *LPNET_DVR_CAPTURE_FACE_CFG; - -//ѯֶشִ -typedef struct tagNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_SEND -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣ - BYTE byRes[128]; // -}NET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_SEND, *LPNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_SEND; - -//ѯֶشִ -typedef struct tagNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_RET -{ - DWORD dwSize; - NET_DVR_STREAM_INFO struStreamInfo; //idϢ72ֽڣ - BYTE byExecutable; //0-ش1-ִлش - BYTE byUnexecutableReason; //شԭ, 0-ҪŶӣ1-ӣ2-IDڣ3-CVR쳣4-Ƶ, 5-û, 6-ǰ豸, 7-ԭ - BYTE byRes[254]; // -}NET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_RET, *LPNET_DVR_REC_PASSBACK_MANUAL_EXECUTABLE_RET; - -typedef struct tagNET_DVR_STREAM_MEDIA_CFG -{ - DWORD dwSize; - BYTE sUrl[MAX_URL_LEN]; - NET_DVR_IPADDR struDMSIP; /* dms IPַ */ - WORD wDMSPort; /*dms ˿ں */ - BYTE byRes1[2]; - DWORD dwDomainID; /*IDֶ֧ƽ̨*/ - BYTE byRes[360]; // -}NET_DVR_STREAM_MEDIA_CFG, *LPNET_DVR_STREAM_MEDIA_CFG; - -//ֻⵥ -typedef struct tagNET_DVR_SHIPSDETECTION_REGION_CFG -{ - - BYTE byRuleID; - BYTE byEnable; //ʹ - BYTE bySensitivity; //ȲΧ[1,100] - BYTE byFrameOverlayEnabled;//ƵǷӼ - BYTE byRes[36]; - NET_ITC_POLYGON struPolygon; // - NET_VCA_LINE struTriggerLine; // -}NET_DVR_SHIPSDETECTION_REGION_CFG, *LPNET_DVR_SHIPSDETECTION_REGION_CFG; - -typedef struct tagNET_DVR_SHIPSDETECTION_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byRes1[3]; - float fLookDownUpAngle;//豸ǶȣȷСһλ - float fHorizontalHeight;//豸ˮƽ߶ȣȷСһλ - NET_DVR_SHIPSDETECTION_REGION_CFG struShipsDetectionRegion[MAX_SHIPSDETE_REGION_NUM];//ֻⵥ - BYTE byRes[256]; -}NET_DVR_SHIPSDETECTION_CFG, *LPNET_DVR_SHIPSDETECTION_CFG; - -typedef struct tagNET_DVR_TEMPERATURE_COLOR -{ - /* - ѡ0~±ʱֶЧ,ڸ¶ֵʱнɫע - ѡ1~±ʱ, ֶЧ,ڸ¶ֵʱнɫע - ѡ2~䱨ʱֶЧ¶ڸ¶ʱнɫע - ѡ3~±ʱֶЧ¶Ȳڸ¶ʱнɫע - ѡ4~ΪޱֶͣЧرձ*/ - BYTE byType;//±ɫͣ0~ޱͣرգ1~±ͣ2~±ͣ3~䱨ͣ4~± - BYTE byRes1[3]; - int iHighTemperature;//ֵ-273~10000 - int iLowTemperature;//ֵ-273~10000 - BYTE byRes[8]; -}NET_DVR_TEMPERATURE_COLOR, *LPNET_DVR_TEMPERATURE_COLOR; - -typedef struct tagNET_DVR_THERMOMETRY_BASICPARAM -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byStreamOverlay; //¶Ϣ0- 1- - BYTE byPictureOverlay;//ץͼ¶Ϣ0- 1- - BYTE byThermometryRange;//·Χ: 0-Ĭֵ,1-(-20~150),2-(0~550)϶Ϊλ㣩,3-(϶:0-650棻¶:32-1200H),4-϶: -40-150棩,5-(϶: 0~1200)϶Ϊλ㣬ݲµλ趨ͬ·Χʾ6-(϶: -20-120,7-(϶:20~350), 8-(϶:20~45),9-(϶:30~45),0xff-Զ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byThermometryCurve;//ģʽʾʽ0-رգ1-ģʽ1¶ģʽ2-ģʽ2¶ģʽ - BYTE byFireImageModea;//ͼģʽ0-1-ڰģʽ2-̽ģʽ3-ģʽ(ֶ0Ŀǰ֮ǰӿڲ) - BYTE byShowTempStripEnable;//ʾ¶ʹܣ0- 1- - float fEmissivity;//( ȷСλ)[0.01, 1.00](ı) - BYTE byDistanceUnit;//뵥λ: 0-ףm1-Ӣߣfeet,2-(centimeter) - BYTE byEnviroHumidity;//ʪȣȡֵΧ0~100% - BYTE byRes2[2]; - NET_DVR_TEMPERATURE_COLOR struTempColor;//±ɫ - int iEnviroTemperature;//¶ȣȡֵΧ-273~10000϶ - int iCorrectionVolume;//ȡֵΧ-100~100 - /* bit0-ĵ£0-ʾ1-ʾ - bit1-ߵ£0-ʾ1-ʾ - bit2-͵£0-ʾ1-ʾ - */ - BYTE bySpecialPointThermType;// µʾ - BYTE byReflectiveEnabled;//¶ʹܣ0- 1- - WORD wDistance;//(m)[0, 10000] - float fReflectiveTemperature;//¶ ȷСһλ - float fAlert;//Ԥ¶ֵ-100.0-1000.0ȣȷСһλ - float fAlarm;//¶ֵ-100.0-1000.0ȣȷСһλ - float fThermalOpticalTransmittance;// ѧ͸, ȷС3λΧ0.001-1.000Ĭ1.000 - float fExternalOpticsWindowCorrection;//ⲿѧ¶ȣĬֵ20棬ΧΪ-40.0~80.0棬ʵʾλԽʾΪ׼ - BYTE byDisplayMaxTemperatureEnabled;// ʾ 0-ʾ 1-ʾ - BYTE byDisplayMinTemperatureEnabled;// ʾ 0-ʾ 1-ʾ - BYTE byDisplayAverageTemperatureEnabled;// ʾƽ 0-ʾ 1-ʾ - BYTE byThermometryInfoDisplayposition;// Ϣʾλ 0- 1- 2-ĻϽ - DWORD dwAlertFilteringTime;//¶Ԥȴʱ,λ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ,λ - BYTE byemissivityMode; // 1-ֲڣ2-ϴֲڣ3-Ϲ⻬, 4-⻬, 0xff-Զ - BYTE bydisplayTemperatureInOpticalChannelEnabled;//ɼʾ¶Ϣʹܣ0-ã1 - BYTE byDisplayCentreTemperatureEnabled;// ʾĵ¶ 0-ʾ 1-ʾ - BYTE byRes[49]; -}NET_DVR_THERMOMETRY_BASICPARAM, *LPNET_DVR_THERMOMETRY_BASICPARAM; - -typedef struct tagNET_DVR_THERMOMETRY_COND -{ - DWORD dwSize;//ṹС - DWORD dwChannel; - WORD wPresetNo;//0- - BYTE byRes[62]; -}NET_DVR_THERMOMETRY_COND, *LPNET_DVR_THERMOMETRY_COND; - -typedef struct tagNET_DVR_THERMOMETRY_PRESETINFO_PARAM -{ - BYTE byEnabled; //Ƿʹܣ0- 1- - BYTE byRuleID;//ID 0-ʾЧ1ʼ listڲжЧԣ - WORD wDistance;//(m)[0, 10000] - float fEmissivity;//( ȷСλ)[0.01, 1.00](ı) - BYTE byDistanceUnit;//뵥λ: 0-ףm1-Ӣߣfeet,2-(centimeter) - BYTE byRes[2]; - BYTE byReflectiveEnabled;//¶ʹܣ0- 1- - float fReflectiveTemperature;//¶ ȷС2λ - char szRuleName[NAME_LEN/*32*/];// - BYTE byemissivityMode; // 1-ֲڣ2-ϴֲڣ3-Ϲ⻬, 4-⻬, 0xff-Զ - BYTE byRes1[62]; - BYTE byRuleCalibType;//궨 0-㣬1-2- - NET_VCA_POINT struPoint;//꣨궨Ϊ""ʱЧ - NET_VCA_POLYGON struRegion;//ߣ궨Ϊ""""ʱЧ -}NET_DVR_THERMOMETRY_PRESETINFO_PARAM, *LPNET_DVR_THERMOMETRY_PRESETINFO_PARAM; - - -typedef struct tagNET_DVR_THERMOMETRY_PRESETINFO -{ - DWORD dwSize;//ṹС - WORD wPresetNo;//0- - BYTE byRes[2]; - NET_DVR_THERMOMETRY_PRESETINFO_PARAM struPresetInfo[MAX_THERMOMETRY_REGION_NUM/*40*/]; -}NET_DVR_THERMOMETRY_PRESETINFO, *LPNET_DVR_THERMOMETRY_PRESETINFO; - - -typedef struct tagNET_DVR_BASE_STATION_INFO_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - char sNetBarWaCode[16];// - char sCollectionEquipmentID[24];//ɼ豸 - char sMCC[4];//ƶ - char sMNC[4];//ƶ - char sLAC[36];//λ - char sCI[36];//Сʶ - char sBSCI[36];//վʶ - char sBCCH[36];//㲥ŵ - char sLEV[36];//ձƽ - char sCollectionEquipmentLongitude[12];//ɼ豸 - char sCollectionEquipmentLatitude[12];//ɼ豸γ - char sCaptureTime[20];//ɼʱ ʱʽyyyy-MM-dd hh:mm:ss - BYTE byRes[256]; -}NET_DVR_BASE_STATION_INFO_ALARM, *LPNET_DVR_BASE_STATION_INFO_ALARM; - - -typedef struct tagNET_DVR_THERMOMETRY_ALARMRULE_PARAM -{ - BYTE byEnable; - BYTE byRuleID;//ID - BYTE byRule;//¶ȱȽϷʽ 0-´,1-С,2-´,3-С,4-ƽ´,5-ƽС,6-²,7-²С - BYTE byRes; - char szRuleName[NAME_LEN];// - float fAlert;//Ԥ¶ - float fAlarm;//¶ - float fThreshold;//¶ - DWORD dwAlertFilteringTime;//¶Ԥȴʱ,λ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ,λ - BYTE byRes1[56]; -}NET_DVR_THERMOMETRY_ALARMRULE_PARAM, *LPNET_DVR_THERMOMETRY_ALARMRULE_PARAM; - -typedef struct tagNET_DVR_THERMOMETRY_ALARMRULE -{ - DWORD dwSize;//ṹС - NET_DVR_THERMOMETRY_ALARMRULE_PARAM struThermometryAlarmRuleParam[THERMOMETRY_ALARMRULE_NUM]; - BYTE byRes[128]; -}NET_DVR_THERMOMETRY_ALARMRULE, *LPNET_DVR_THERMOMETRY_ALARMRULE; - - -typedef struct tagNET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM -{ - BYTE byEnable; - BYTE byRuleID;//ID,0-ʾЧΧֵ1ʼ - BYTE byAlarmID1; - BYTE byAlarmID2; - BYTE byRule;//¶ȱȽϷʽ0-´,1-С,2-´,3-С,4-ƽ´,5-ƽС,6-²,7-²С - BYTE byRes[3]; - float fTemperatureDiff;//²ֵ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ,λ - BYTE byRes1[28]; -}NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM, *LPNET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM; - -typedef struct tagNET_DVR_THERMOMETRY_DIFFCOMPARISON -{ - DWORD dwSize;//ṹС - NET_DVR_THERMOMETRY_DIFFCOMPARISON_PARAM struDiffComparison[MAX_THERMOMETRY_DIFFCOMPARISON_NUM/*8*/]; - BYTE byRes[64]; -}NET_DVR_THERMOMETRY_DIFFCOMPARISON, *LPNET_DVR_THERMOMETRY_DIFFCOMPARISON; - - -//ʵʱ¶ȼṹ -typedef struct tagNET_DVR_REALTIME_THERMOMETRY_COND -{ - DWORD dwSize; - DWORD dwChan;//ͨţ1ʼ0xffffffffȡȫͨ - BYTE byRuleID; //ID 0-ȡȫ򣬾ID1ʼ - /* - 1-ʱģʽ豸ÿһϴݵ¡ºƽ¶ֵ² - 2-²ģʽһһ»»ƽ»²ֵ²ڵ2϶ȣϴ¡ºƽ¶ֵڵһСʱ²ֵС2϶ȣϴ¡¡ƽº²ֵ - */ - BYTE byMode; //ģʽ 0-Ϊ豸1-ʱģʽ2-²ģʽ - WORD wInterval; //ϴ²ģʽ֧֣1~3600S0Ĭ3600Sϴһ - float fTemperatureDiff;//² - BYTE byRes[56]; // -}NET_DVR_REALTIME_THERMOMETRY_COND, *LPNET_DVR_REALTIME_THERMOMETRY_COND; - -typedef struct tagNET_DVR_POINT_THERM_CFG -{ - float fTemperature;//ǰ¶ - NET_VCA_POINT struPoint;//꣨궨ΪʱЧ - BYTE byRes[120]; -}NET_DVR_POINT_THERM_CFG, *LPNET_DVR_POINT_THERM_CFG; - -typedef struct tagNET_DVR_LINEPOLYGON_THERM_CFG -{ - float fMaxTemperature;// - float fMinTemperature;// - float fAverageTemperature;//ƽ - float fTemperatureDiff;//² - NET_VCA_POLYGON struRegion;//򣨵궨Ϊ/ߵʱЧ - BYTE byRes[32]; -}NET_DVR_LINEPOLYGON_THERM_CFG, *LPNET_DVR_LINEPOLYGON_THERM_CFG; - -typedef struct tagNET_DVR_THERMOMETRY_UPLOAD -{ - DWORD dwSize; - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - char szRuleName[NAME_LEN/*32*/];// - BYTE byRuleID;//ID - BYTE byRuleCalibType;//궨 0-㣬1-2- - WORD wPresetNo; //Ԥõ - NET_DVR_POINT_THERM_CFG struPointThermCfg; - NET_DVR_LINEPOLYGON_THERM_CFG struLinePolygonThermCfg; - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byDataType;//״̬:0-У1-ʼ2- - BYTE byRes1; - /* - bit0-ĵ£0-֧֣1-֧֣ - bit1-ߵ£0-֧֣1-֧֣ - bit2-͵£0-֧֣1-֧֣ - */ - BYTE bySpecialPointThermType;// Ƿ֧ - float fCenterPointTemperature;//ĵ¶,ȷСһλ(-40-1500),+100*10 bySpecialPointThermTypeжǷ֧ĵ㣩 - float fHighestPointTemperature;//ߵ¶,ȷСһλ(-40-1500),+100*10bySpecialPointThermTypeжǷ֧ߵ㣩 - float fLowestPointTemperature;//͵¶,ȷСһλ(-40-1500),+100*10bySpecialPointThermTypeжǷ֧͵㣩 - NET_VCA_POINT struHighestPoint;//ߡ¶λ꣨궨ΪߡʱЧ - NET_VCA_POINT struLowestPoint;//ߡ¶λ꣨궨ΪߡʱЧ - BYTE byIsFreezedata;//Ƿݶ 0- 1- - BYTE byFaceSnapThermometryEnabled;//ץIJʹ 1- 0-ر - BYTE byRes2[2]; - DWORD dwChan; //ͨţѯͨΪ0xffffffffʱֶЧ - NET_VCA_RECT struFaceRect; //ͼ - DWORD dwTimestamp;//DSPʱ - BYTE byRes[68]; -}NET_DVR_THERMOMETRY_UPLOAD, *LPNET_DVR_THERMOMETRY_UPLOAD; - -//¶ȱ¶Ⱥ¶ȱȽϱ -typedef struct tagNET_DVR_THERMOMETRY_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRuleID;//ID - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - WORD wPresetNo; //Ԥõ - NET_PTZ_INFO struPtzInfo;//ptzϢ - BYTE byAlarmLevel;//0-Ԥ 1- - BYTE byAlarmType;/* 0-¶ 1-¶ 2-ƽ¶ 3-² 4-¶ͻ 5-¶ͻ*/ - BYTE byAlarmRule;//0-ڣ1-С - BYTE byRuleCalibType;//궨 0-㣬1-2 - NET_VCA_POINT struPoint;//꣨궨ΪʱЧ - NET_VCA_POLYGON struRegion;//򣨵궨ΪʱЧ - float fRuleTemperature;/*ù¶,ȷСһλ(-40-1000),+100 */ - float fCurrTemperature;/*ǰ¶,ȷСһλ(-40-1000),+100 */ - DWORD dwPicLen;//ɼͼƬ - DWORD dwThermalPicLen;//ȳͼƬ - DWORD dwThermalInfoLen;//ȳ񸽼Ϣ - char* pPicBuff; ///ɼͼƬָ - char* pThermalPicBuff;// ȳͼƬָ - char* pThermalInfoBuff; //ȳ񸽼Ϣָ - NET_VCA_POINT struHighestPoint;//ߡ¶λ꣨궨ΪߡʱЧ - float fToleranceTemperature;/* ݲ¶,ȷСһλ(-40-1000),+100 */ - DWORD dwAlertFilteringTime;//¶Ԥȴʱ λ ΧΪ0-200룬ĬΪ0 - DWORD dwAlarmFilteringTime;//¶ȱȴʱ λ ΧΪ0-200룬ĬΪ0 - DWORD dwTemperatureSuddenChangeCycle;//¶ͻ¼ڣλ - float fTemperatureSuddenChangeValue;//¶ͻֵ,ȷСһλ(0) - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1[3]; - DWORD dwVisibleChannel; //ɼͨͨ - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - float fAlarmRuleTemperature;/* TMAù¶,ȷСһλ(-40-1000),+100 */ - BYTE byRes[20]; -}NET_DVR_THERMOMETRY_ALARM, *LPNET_DVR_THERMOMETRY_ALARM; - - -//² -typedef struct tagNET_DVR_THERMOMETRY_DIFF_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byAlarmID1;//AlarmID1 - BYTE byAlarmID2;//AlarmID2 - WORD wPresetNo; //Ԥõ - BYTE byAlarmLevel;//0-Ԥ 1- - BYTE byAlarmType;/* 0-¶ 1-¶ 2-ƽ¶*/ - BYTE byAlarmRule;//0-ڣ1-С - BYTE byRuleCalibType;//궨 0-㣬1-2 - NET_VCA_POINT struPoint[2];//꣨궨ΪʱЧ±0AlarmID1±1AlarmID2. - NET_VCA_POLYGON struRegion[2];//򣨵궨ΪʱЧ±0AlarmID1±1AlarmID2. - float fRuleTemperatureDiff;/*ù²,ȷСһλ(-40-1000)*/ - float fCurTemperatureDiff;/*ǰ²,ȷСһλ(-40-1000),+100 */ - NET_PTZ_INFO struPtzInfo;//ptzϢ - DWORD dwPicLen;//ɼͼƬ - DWORD dwThermalPicLen;//ȳͼƬ - DWORD dwThermalInfoLen;//ȳ񸽼Ϣ - char* pPicBuff; ///ɼͼƬָ - char* pThermalPicBuff;// ȳͼƬָ - char* pThermalInfoBuff; //ȳ񸽼Ϣָ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - BYTE byRes1[2]; - float fToleranceTemperature;/*ݲ¶,ȷСһλ(-40-1000),+100 */ - DWORD dwAlarmFilteringTime;//¶ȱȴʱ λ ΧΪ0-200룬ĬΪ0 - DWORD dwVisibleChannel; //ɼͨͨ - BYTE byRes[48]; -}NET_DVR_THERMOMETRY_DIFF_ALARM, *LPNET_DVR_THERMOMETRY_DIFF_ALARM; - -typedef struct //ṹ -{ - DWORD dwSize; - DWORD dwChannel;//ͨţǰĬ1 - BYTE byRes[128]; -}NET_DVR_SHIPSCOUNT_COND, *LPNET_DVR_SHIPSCOUNT_COND; - - -//ȡֻϢṹ -typedef struct tagNET_DVR_SHIPSCOUNT_CFG -{ - DWORD dwSize; - DWORD dwUpShipsCount; //дֻ - DWORD dwDownShipsCount; //дֻ - DWORD dwLeftShipsCount; //дֻ - DWORD dwRightShipsCount; //дֻ - DWORD dwTotalCount;//ֻܼ - DWORD dwRelativeTime; //豸ʼʱ - DWORD dwAbsTime; //豸ʼľʱ - BYTE byDataType;//״̬:0-У1-ʼ2- - BYTE byRes[255]; -}NET_DVR_SHIPSCOUNT_CFG, *LPNET_DVR_SHIPSCOUNT_CFG; - -//ֻϢ -typedef struct tagNET_DVR_SHIPSINFO -{ - float fShipsLength; //ֻȣ1~1000.0mȷСһλ - float fShipsHeight; //ֻ߶ȣ1~1000.0mȷСһλ - float fShipsWidth; //ֻȣ1~1000.0mȷСһλ - float fShipsSpeed; //ֻٶȣ1~1000.0m/sȷСһλ - BYTE byShipsDirection;//ֻ0~up,1~down,2~left,3~right - BYTE byShipsDetState;//ֻ״̬0~Խߣ1~ͷ⣬2~β - BYTE byTriggerLineID;//ID - BYTE byRes[61]; - NET_VCA_POLYGON struShipsRect; //ֻ򣬹һֵڴͼɼͼȳͼ)ķֱ -} NET_DVR_SHIPSINFO, *LPNET_DVR_SHIPSINFO; - -//ֻץͼϢ -typedef struct tagNET_DVR_SHIPIMAGE_INFO -{ - DWORD dwShipImageLen;//ֻץͼƬݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; //ֻץͼƬָ -#else - char* pXmlBuf; //ֻץͼƬָ - BYTE byRes[4]; -#endif -}NET_DVR_SHIPIMAGE_INFO, *LPNET_DVR_SHIPIMAGE_INFO; - -//ֻⱨϴ -typedef struct tagNET_DVR_SHIPSDETECTION_ALARM -{ - DWORD dwSize; - NET_VCA_DEV_INFO struDevInfo; //豸Ϣ - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byShipsNum; //ֻ(ԽߵĴֻ) - BYTE byShipsNumHead;//ֻ(ͷ⴬ֻ) - BYTE byShipsNumEnd; //ֻ(β⴬ֻ) - BYTE byPicTransType; //ͼƬݴ䷽ʽ: 0-ƣ1-url - NET_DVR_SHIPSINFO struShipInfo[MAX_SHIPS_NUM/*20*/];//ֻϢ֧20 - DWORD dwPicLen;//ɼͼƬ - DWORD dwThermalPicLen;//ȳͼƬ - BYTE* pPicBuffer; //ɼͼƬָ - BYTE* pThermalPicBuffer; //ȳͼƬָ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byTimeDiffFlag; /*ʱֶǷЧ 0-ʱЧ 1-ʱЧ */ - char cTimeDifferenceH; /*UTCʱСʱ-12 ... +14 +ʾ,byTimeDiffFlagΪ1ʱЧ*/ - char cTimeDifferenceM; /*UTCʱӣ-30, 30, 45 +ʾbyTimeDiffFlagΪ1ʱЧ*/ - BYTE bySID;//ID - BYTE byRes1[2]; - char szSceneName[NAME_LEN];//ƣ32ַ - BYTE byRes[132]; - DWORD dwXmlLen;//XML͸ݳ, EventNotificationAlert XML Blockݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block -#else - char* pXmlBuf; // XMLϢָ,XMLӦEventNotificationAlert XML Block - BYTE byRes2[4]; -#endif - NET_DVR_SHIPIMAGE_INFO struShipImageInfo[MAX_SHIPIMAGE_NUM/*6*/];//ֻץͼƬϢ,±Ϊ0ʱΪһŴֻץͼƬԴƣ֧6ͼƬ -}NET_DVR_SHIPSDETECTION_ALARM, *LPNET_DVR_SHIPSDETECTION_ALARM; - -typedef struct tagNET_DVR_THERMAL_PIP -{ - DWORD dwSize;//ṹС - BYTE byEnable;//Ƿ - BYTE byPipMode;// лģʽ0~ģʽ1~ںģʽ2-ͨģʽ - BYTE byOverlapType;//ͣѡлģʽЧ0~ɼȳͼƬ1~ȳӿɼͼƬ - BYTE byTransparency;//͸ 0~100 - NET_VCA_POLYGON struPipRegion;//лλ - BYTE byImageFusionRatio;//ͼںϱ,ںģʽЧ 0-100 Ĭ75 - BYTE byBorderFusionRatio;//Եںϱ,ںģʽЧ 0-100 Ĭ100 - BYTE byRes1[2]; - float fDistance;//ںϾ,ںģʽЧ,Χ0.1-4.0 - BYTE byRes[632]; -}NET_DVR_THERMAL_PIP, *LPNET_DVR_THERMAL_PIP; - -typedef struct tagNET_DVR_RULESLINE_CFG -{ - NET_DVR_RGB_COLOR struRGB;// RGBRɫGɫBɫ Χ0-255 - BYTE byRes[128]; -}NET_DVR_RULESLINE_CFG, *LPNET_DVR_RULESLINE_CFG; - -typedef struct tagNET_DVR_THERMAL_INTELRULE_DISPLAY -{ - DWORD dwSize;//ṹС - /* - fontSizeType:ΪСſݸñԼԤڵĿȶ̬ıĴСʽΪ屶ֵ/8*(0.01*Ԥڿ) - Ӧ£ - 0~8ʣС - 1~12ʣ׼ - 2~16ʣ - 3~20ʣ - 4~24ʣش - */ - BYTE byFontSizeType; - BYTE byRes1[3]; - NET_DVR_RULESLINE_CFG struNormalRulesLineCfg;//Բ - NET_DVR_RULESLINE_CFG struAlertRulesLineCfg;//ԤԲ - NET_DVR_RULESLINE_CFG struAlarmRulesLineCfg;//Բ - BYTE byRes[640]; -}NET_DVR_THERMAL_INTELRULE_DISPLAY, *LPNET_DVR_THERMAL_INTELRULE_DISPLAY; - -typedef struct tagNET_DVR_BAREDATAOVERLAY_CFG -{ - DWORD dwSize; - BYTE byEnable;//ʹ - BYTE byIntervalTime;// ϴʱã1 2 3 4 5.λΪ룬ĬΪ3 - BYTE byRes[258]; -}NET_DVR_BAREDATAOVERLAY_CFG, *LPNET_DVR_BAREDATAOVERLAY_CFG; - -//ṹ -typedef struct tagNET_DVR_THERMOMETRY_TRIGGER_COND -{ - DWORD dwSize;//ṹС - DWORD dwChan;//ͨ - DWORD dwPreset;//ԤõţĿǰ֧,踳ֵ - BYTE byRes[256]; -}NET_DVR_THERMOMETRY_TRIGGER_COND, *LPNET_DVR_THERMOMETRY_TRIGGER_COND; - -//ֶ -typedef struct tagNET_DVR_MANUALDEICING_CFG -{ - DWORD dwSize;//ṹС - BYTE byEnabled; //Ƿֶ 0~رգ1~ - BYTE byRes[127]; -}NET_DVR_MANUALDEICING_CFG, *LPNET_DVR_MANUALDEICING_CFG; - -//СLED -typedef struct tagNET_DVR_INPUT_SOURCE_TEXT_COND -{ - DWORD dwSize; - DWORD dwInputSourceNo; //Դ - DWORD dwTextNo; //ı - BYTE byRes[32]; -}NET_DVR_INPUT_SOURCE_TEXT_COND, *LPNET_DVR_INPUT_SOURCE_TEXT_COND; - -typedef struct tagNET_DVR_INPUT_SOURCE_TEXT -{ - DWORD dwSize; - DWORD dwTextNo; //ı - BYTE byEnable; //Ƿʹܣ0-ʹܣ1-ʹ - BYTE byFontSize; //С - BYTE byBkGroudMode; //ģʽ1-͸2- - BYTE byRes[1]; - DWORD dwXPosition; //ַʾλõϽX꣬Դ - DWORD dwYPosition; //ַʾλõϽY꣬Դ - NET_DVR_RGB_COLOR struForegroudColor; //ַǰɫ - NET_DVR_RGB_COLOR struBackgroudColor; //ַɫ - BYTE byTextContent[MAX_LEN_TEXT_CONTENT]; //ַ - BYTE byRes1[64]; -}NET_DVR_INPUT_SOURCE_TEXT, *LPNET_DVR_INPUT_SOURCE_TEXT; - -typedef struct tagNET_DVR_INPUT_SOURCE_TEXT_LIST -{ - DWORD dwSize; - NET_DVR_INPUT_SOURCE_TEXT struTextList[MAX_NUM_INPUT_SOURCE_TEXT]; //ıб - BYTE byRes[64]; -}NET_DVR_INPUT_SOURCE_TEXT_LIST, *LPNET_DVR_INPUT_SOURCE_TEXT_LIST; - -typedef struct tagNET_DVR_INPUT_SOURCE_RESOLUTION -{ - DWORD dwSize; - DWORD dwInputSignalNo; //Դ - BYTE byEnabled; //ԶֱǷʹ - BYTE byRes; - WORD wImageWidth; //ͼ - WORD wImageHeight; //ͼ߶ - WORD wRefreshRate; //ˢƵ - BYTE byColorDepth; //ɫȣ32λ16λ8λֿѡ - BYTE byScanType; //ɨͣ1-ɨ裬2-ɨ - BYTE byRes1[62]; -}NET_DVR_INPUT_SOURCE_RESOLUTION, *LPNET_DVR_INPUT_SOURCE_RESOLUTION; - -typedef struct tagNET_DVR_INPUT_SOURCE_RESOLUTION_LIST -{ - DWORD dwSize; - DWORD dwInputSignalCnt; //豸źԴ - LPNET_DVR_INPUT_SOURCE_RESOLUTION lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_INPUT_SOURCE_RESOLUTION_LIST, *LPNET_DVR_INPUT_SOURCE_RESOLUTION_LIST; - -typedef struct tagNET_DVR_LED_AREA_COND -{ - DWORD dwSize; - DWORD dwVideoWallNo; //ǽ - DWORD dwLEDAreaNo; //LED - BYTE byRes[32]; -}NET_DVR_LED_AREA_COND, *LPNET_DVR_LED_AREA_COND; - -typedef struct tagNET_DVR_LED_AREA_INFO -{ - DWORD dwSize; - DWORD dwLEDAreaNo; //LED - NET_DVR_RECTCFG_EX struRect; // - DWORD dwaOutputNo[MAX_NUM_OUTPUT_CHANNEL]; //б - BYTE byAreaType; //ͣ0-LED1-LCD - BYTE byRes[31]; -}NET_DVR_LED_AREA_INFO, *LPNET_DVR_LED_AREA_INFO; - -typedef struct tagNET_DVR_LED_AREA_INFO_LIST -{ - DWORD dwSize; - DWORD dwLEDAreaNum; //LED - LPNET_DVR_LED_AREA_INFO lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_LED_AREA_INFO_LIST, *LPNET_DVR_LED_AREA_INFO_LIST; - -//еȴ -typedef struct tagNET_DVR_CALL_WAITTING_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿúеȴ, 0--ã1-- - BYTE byRes1; - WORD wWaitTime;//еȴʱ䣬λ - WORD wCalledWaitTime;/*λ룬еȴʱ*/ - BYTE byRes[510]; -}NET_DVR_CALL_WAITTING_CFG, *LPNET_DVR_CALL_WAITTING_CFG; - -//Ʋ -typedef struct tagNET_DVR_ALARM_LAMP_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿþƶʱ˸, 0--ã1-- - BYTE byRes1; - WORD wFlashDuration;//ƶʱ˸ʱ䣬λ - WORD wFlashIntervalTime;//˸ʱ䣬λ - BYTE byRes[510]; -}NET_DVR_ALARM_LAMP_CFG, *LPNET_DVR_ALARM_LAMP_CFG; - -//ʾ -typedef struct tagNET_DVR_VOICE_PROMPTION_CFG -{ - DWORD dwSize; //ṹС - BYTE byEnable; //Ƿʾ, 0--ã1-- - BYTE byRes1[3]; - BYTE byCenterBusyFile[NAME_LEN];//ķæʾļ - BYTE byRefusedFile[NAME_LEN];//ܾʾļ - BYTE byHangUpFile[NAME_LEN];//Խʾļ - BYTE byCallWaittingFile[NAME_LEN];//еȺļ - BYTE byConsultWaittingFile[NAME_LEN];//ҵѯȺļ - BYTE byWelcomeFile[NAME_LEN];//ӭʾļ - BYTE byFarewellFile[NAME_LEN];//ļ - BYTE byCalledVoicePromptName[NAME_LEN];//ʾ - BYTE byRes[384]; -}NET_DVR_VOICE_PROMPTION_CFG, *LPNET_DVR_VOICE_PROMPTION_CFG; - -// -typedef struct tagNET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG -{ - DWORD dwSize; //ṹС - BYTE byCommand; //0--centerbusy1--refuse - BYTE byType; //ͣ01ҵѯ - BYTE byRes[510]; -}NET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG, *LPNET_DVR_EMERGENCE_ALARM_RSP_CTRL_CFG; - -///////////*_V50///////////// -typedef struct _tagNET_DVR_ALARMHOST_NETPARAM_V50 -{ - DWORD dwSize; - NET_DVR_IPADDR struIP; - WORD wPort; - BYTE byAddressType; //0 - , 1 - ipv4/ipv6ַ2 - - BYTE byEnable; //ʹܣ0-ã1- - BYTE byDomainName[MAX_DOMAIN_NAME/*64*/]; //GPRSáʱֶξЧ - BYTE byReportProtocol; //1-private 2-NAL2300, 3-Ehome - BYTE byDevID[ACCOUNTNUM_LEN_32/*32*/]; //ЭΪNAL2300ʱЧ - BYTE byProtocolVersion; //EHomeЭ汾0-,1Cv2.02Cv4.03-v5.0 - BYTE byRes1[3]; - BYTE byEHomeKey[NET_SDK_EHOME_KEY_LEN]; //EHome KeyEHome 5.0汾 - BYTE byRes2[28]; //GPRSڹ̶ķϽеģԲҪϢԤһЩֶ -} NET_DVR_ALARMHOST_NETPARAM_V50, *LPNET_DVR_ALARMHOST_NETPARAM_V50; - -typedef struct _tagNET_DVR_ALARMHOST_NETCFG_V50 -{ - DWORD dwSize; - NET_DVR_ALARMHOST_NETPARAM_V50 struNetCenter[MAX_CENTERNUM]; - BYTE byRes1[128]; -} NET_DVR_ALARMHOST_NETCFG_V50, *LPNET_DVR_ALARMHOST_NETCFG_V50; -//Ŀװʽ -typedef enum tagSTREAM_TYPE{ - STREAM_PS = 0x1, //PSļ㣬Ҫڴ洢Ҳڴ - STREAM_3GPP = 0x2, //3GPPļ㣬ڴ洢 -}STREAM_TYPE; -typedef enum tagNET_SDK_INIT_CFG_TYPE -{ - NET_SDK_INIT_CFG_TYPE_CHECK_MODULE_COM = 0, //ӶԱļ - NET_SDK_INIT_CFG_ABILITY = 1, //sdkֵ֧ҵ - NET_SDK_INIT_CFG_SDK_PATH = 2, //HCNetSDKĿ¼ - NET_SDK_INIT_CFG_LIBEAY_PATH = 3, //OpenSSLlibeay32.dll/libcrypto.so/libcrypto.dylib· - NET_SDK_INIT_CFG_SSLEAY_PATH = 4 //OpenSSLssleay32.dll/libssl.so/libssl.dylib· -}NET_SDK_INIT_CFG_TYPE; - -typedef struct tagNET_DVR_INIT_CHECK_MODULE_COM -{ - BYTE byEnable; //ñ 0-ã1- - BYTE byRes[255]; -}NET_DVR_INIT_CHECK_MODULE_COM, *LPNET_DVR_INIT_CHECK_MODULE_COM; -//SDKֵ֧· -typedef enum _INIT_CFG_MAX_NUM -{ - INIT_CFG_NUM_2048 = 2048, // 2048· - INIT_CFG_NUM_5120 = 5120, //5120· - INIT_CFG_NUM_10240 = 10240, // 10240· - INIT_CFG_NUM_15360 = 15360, // 15360· - INIT_CFG_NUM_20480 = 20480, // 20480· -}INIT_CFG_MAX_NUM; - -typedef struct tagNET_DVR_INIT_CFG_ABILITY -{ - INIT_CFG_MAX_NUM enumMaxLoginUsersNum; //עû - INIT_CFG_MAX_NUM enumMaxAlarmNum; //ĸ澯· - BYTE byRes[64]; -}NET_DVR_INIT_CFG_ABILITY, *LPNET_DVR_INIT_CFG_ABILITY; - -typedef struct tagNET_DVR_LOCAL_SDK_PATH -{ - char sPath[NET_SDK_MAX_FILE_PATH];//ַ - BYTE byRes[128]; -}NET_DVR_LOCAL_SDK_PATH, *LPNET_DVR_LOCAL_SDK_PATH; - -typedef struct tagNET_DVR_SDKMEMPOOL_CFG -{ - BYTE byRes[256]; -}NET_DVR_SDKMEMPOOL_CFG, *LPNET_DVR_SDKMEMPOOL_CFG; - - -typedef struct tagNET_DVR_RES_INFO -{ - DWORD dwImageWidth; //ͼ - DWORD dwImageHeight; //ͼ߶ -}NET_DVR_RES_INFO, *LPNET_DVR_RES_INFO; - -typedef struct tagNET_DVR_VS_INPUT_CHAN_INIT -{ - DWORD dwSize; - DWORD dwVSInputChan; //ͨ - DWORD dwResNums; //ֱʵĸ - NET_DVR_RES_INFO struResList[MAX_RES_NUM_ONE_VS_INPUT_CHAN]; //ֱб - BYTE byRes[32]; -}NET_DVR_VS_INPUT_CHAN_INIT, *LPNET_DVR_VS_INPUT_CHAN_INIT; - -typedef struct tagNET_DVR_VS_INPUT_CHAN_INIT_LIST -{ - DWORD dwSize; - NET_DVR_VS_INPUT_CHAN_INIT struChanList[MAX_VS_INPUT_CHAN_NUM]; //ͨб - BYTE byRes[32]; -}NET_DVR_VS_INPUT_CHAN_INIT_LIST, *LPNET_DVR_VS_INPUT_CHAN_INIT_LIST; - -typedef struct tagNET_DVR_VS_INPUT_CHAN_CFG -{ - DWORD dwSize; - DWORD dwVSInputChan; //ͨ - NET_DVR_RES_INFO struResolutin; //ֱ - BYTE byRes[64]; -}NET_DVR_VS_INPUT_CHAN_CFG, *LPNET_DVR_VS_INPUT_CHAN_CFG; - -typedef struct tagNET_DVR_VS_NETSRC_CFG -{ - DWORD dwSize; - DWORD dwVSInputChan; //ͨ - BYTE byDispUrl[MAX_URL_LEN]; //ʾURL - BYTE byEnabled; //ǷURL - BYTE byRes[127]; -}NET_DVR_VS_NETSRC_CFG, *LPNET_DVR_VS_NETSRC_CFG; - -typedef struct tagNET_DVR_EDID_FILE_INFO -{ - DWORD dwSize; - DWORD dwEDIDFileNo; //EDIDļţ1ʼ - BYTE byFileName[FILE_NAME_LEN]; //EDIDļ - BYTE byRes[32]; -}NET_DVR_EDID_FILE_INFO, *LPNET_DVR_EDID_FILE_INFO; - -typedef struct tagNET_DVR_EDID_FILE_INFO_LIST -{ - DWORD dwSize; - DWORD dwEDIDFileNum; //صNET_DVR_EDID_FILE_INFO - LPNET_DVR_EDID_FILE_INFO lpstruBuffer; //ָ - DWORD dwBufferSize; //С - BYTE byRes[32]; -}NET_DVR_EDID_FILE_INFO_LIST, *LPNET_DVR_EDID_FILE_INFO_LIST; - -//ӴڽOSD -typedef struct tagNET_DVR_OSD_INFO -{ - BYTE byEnabled; //Ƿʹܣ-ʹܣ-ʹ - BYTE byEnabledFlash; //Ƿ˸-˸-˸ - BYTE byFontSize; //С1-2-У3-С - BYTE byTransparent; //͸ȣȡֵΧ0-100 - NET_DVR_RGB_COLOR struColor; //ɫ - WORD wCoordinateX; //OSDϽX - WORD wCoordinateY; //OSDϽY - BYTE byContent[MAX_LEN_OSD_CONTENT]; //OSDϢ - BYTE byRes[32]; -}NET_DVR_OSD_INFO, *LPNET_DVR_OSD_INFO; - -typedef struct tagNET_DVR_SUBWND_DECODE_OSD -{ - DWORD dwSize; - DWORD dwSubWndNo; //Ӵںţ4ֽϷʽ - DWORD dwOSDNums; //ӴõOSDϢĸ - NET_DVR_OSD_INFO struOSDList[MAX_NUM_OSD_ONE_SUBWND]; //OSDϢб - BYTE byRes[32]; -}NET_DVR_SUBWND_DECODE_OSD, *LPNET_DVR_SUBWND_DECODE_OSD; - -typedef struct tagNET_DVR_SUBWND_DECODE_OSD_LIST -{ - DWORD dwSize; - NET_DVR_SUBWND_DECODE_OSD struSubWndList[MAX_NUM_SPLIT_WND]; //ӴڵĽOSD - BYTE byRes[32]; -}NET_DVR_SUBWND_DECODE_OSD_LIST, *LPNET_DVR_SUBWND_DECODE_OSD_LIST; - -typedef struct tagNET_DVR_DECODE_CHANNEL_OSD -{ - DWORD dwSize; - NET_DVR_OSD_INFO struOSDInfo[MAX_NUM_OSD]; //OSDϢб - BYTE byRes[32]; -}NET_DVR_DECODE_CHANNEL_OSD, *LPNET_DVR_DECODE_CHANNEL_OSD; - -//ȳܻò -typedef struct tagNET_DVR_THERMINTELL_PARAM -{ - DWORD dwSize;//ṹС - BYTE byIntellType; //ܹԴ,0~+Ϊ(Ĭ)1~ֻ⣬2~,3~л, 4~£5-+̻⣬6-+ 7-Ϊ 8- - BYTE byRes[127]; -}NET_DVR_THERMINTELL_PARAM, *LPNET_DVR_THERMINTELL_PARAM; - -typedef struct tagNET_DVR_FACE_THERMOMETRY_ALARM -{ - DWORD dwSize; - DWORD dwChannel;//ͨ - BYTE byRuleID; //¹ID:1-40 - BYTE byRes1[3]; - BYTE byRuleName[NAME_LEN]; // - DWORD dwRelativeTime; //ʱ - DWORD dwAbsTime; //ʱ - BYTE byFaceDetectionState;//״̬0~δ⵽1~Ѽ⵽ - BYTE byThermometryUnit;//µλ: 0-϶ȣ棩1-϶ȣH2-(K) - BYTE byAlarmRule;//0-´ڣ1-С - BYTE byRes2[1]; - float fAlarmTemperature;//¶ȣ-20.0~120.0棬ȷС1λ - float fRuleTemperature;// ñ¶ȣ-20.0~60.0棬ȷС1λ - DWORD dwVisibleLightImageLen;// ɼͼƬ - BYTE *pVisibleLightImage; //ɼͼƬָ - DWORD dwFaceImageLen;// ͼ - BYTE *pFaceImage; //ͼָ - NET_VCA_RECT struFaceRegion;//Ŀ߽豸ʶץͼƬУͼ - float fMinTemperature;// ¶ȣ-20.0~120.0棬ȷС1λ - float fAverageTemperature;//ƽ£-20.0~120.0棬ȷС1λ - NET_VCA_POINT struMinTemperaturePoint; //¶λ - NET_VCA_POINT struMaxTemperaturePoint;//¶λ - BYTE byRes[720]; -}NET_DVR_FACE_THERMOMETRY_ALARM, *LPNET_DVR_FACE_THERMOMETRY_ALARM; - -//GUIDļ -typedef struct tagNET_DVR_GUID_FILE_EXPORT -{ - DWORD dwSize; - char sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN/*128*/]; //û¼ - BYTE byRes[128]; -}NET_DVR_GUID_FILE_EXPORT, *LPNET_DVR_GUID_FILE_EXPORT; - -//û¼У -typedef struct tagNET_DVR_LOGIN_PASSWORDCFG -{ - DWORD dwSize; - char sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN/*128*/]; //û¼ - BYTE byRes[256]; -}NET_DVR_LOGIN_PASSWORDCFG, *LPNET_DVR_LOGIN_PASSWORDCFG; - -//ȫ -typedef struct tagNET_DVR_SINGLE_SECURITY_QUESTION_CFG -{ - DWORD dwSize; - DWORD dwId;//ţȫţֻ - char sAnswer[NET_SDK_MAX_ANSWER_LEN/*256*/];//𰸣ȡʱֻ - BYTE byMark;// 0-δ 1- - BYTE byRes[127]; -}NET_DVR_SINGLE_SECURITY_QUESTION_CFG, *LPNET_DVR_SINGLE_SECURITY_QUESTION_CFG; - -//ȫ -typedef struct tagNET_DVR_SECURITY_QUESTION_CFG -{ - DWORD dwSize; - NET_DVR_SINGLE_SECURITY_QUESTION_CFG struSecurityQuestion[NET_SDK_MAX_QUESTION_LIST_LEN/*32*/];//ȫб - char sLoginPassWord[NET_SDK_MAX_LOGIN_PASSWORD_LEN/*128*/];//adminû¼ - BYTE byRes[512]; -}NET_DVR_SECURITY_QUESTION_CFG, *LPNET_DVR_SECURITY_QUESTION_CFG; - -typedef struct tagNET_DVR_ALARMIN_TRIGGER_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨţ1ʼ - DWORD dwAlarmInNo;//ţ0ʼ - BYTE byRes[256]; -}NET_DVR_ALARMIN_TRIGGER_COND, *LPNET_DVR_ALARMIN_TRIGGER_COND; - -typedef struct tagNET_DVR_FACELIB_GUARD_COND -{ - DWORD dwSize; - DWORD dwChannel; //ͨ - char szFDID[68];//ID - BYTE byRes[128]; -}NET_DVR_FACELIB_GUARD_COND, *LPNET_DVR_FACELIB_GUARD_COND; - -typedef struct tagNET_DVR_GUID_FILE_STATUS_INFO -{ - DWORD dwSize; - BYTE byLockStatus; //0δ1 - BYTE byPasswd; //0:1ȷע:ֵδʱЧ - BYTE byRetryNum; //ʣೢԴע:ֵδʱЧ - BYTE byRes1; - DWORD dwLockTime; //ʣʱ䣺λ롣ע:ֵʱЧ - BYTE byRes[128]; -}NET_DVR_GUID_FILE_STATUS_INFO, *LPNET_DVR_GUID_FILE_STATUS_INFO; - - -//ģʽ -typedef struct tagNET_DVR_THERMOMETRY_MODE -{ - DWORD dwSize;//ṹС - BYTE byMode;//ģʽ0~ͨģʽ1~רģʽ - BYTE byThermometryROIEnabled; //ROIʹ 0- 1- 2-ڻݿǣ - BYTE byRes[62]; -}NET_DVR_THERMOMETRY_MODE, *LPNET_DVR_THERMOMETRY_MODE; - -//ȳ㷨汾ȡ -typedef struct tagNET_DVR_THERMAL_ALGINFO -{ - DWORD dwSize;//ṹС - char sThermometryAlgName[NET_SDK_MAX_THERMOMETRYALGNAME/*128*/];//㷨汾 - char sShipsAlgName[NET_SDK_MAX_SHIPSALGNAME /*128*/];//ֻ㷨汾 - char sFireAlgName[NET_SDK_MAX_FIRESALGNAME /*128*/];//㷨汾 - BYTE byRes[768]; -}NET_DVR_THERMAL_ALGINFO, *LPNET_DVR_THERMAL_ALGINFO; - -// -typedef struct tagNET_DVR_CURRENT_LOCK -{ - DWORD dwSize;//ṹС - BYTE byCurrentLock;//ֱ̨0~1~ȫ2~3/43~ - BYTE byRes[255]; -}NET_DVR_CURRENT_LOCK, *LPNET_DVR_CURRENT_LOCK; - -//ȶԱ͸ʽ -typedef struct tagNET_VCA_FACESNAP_RAWDATA_ALARM_ -{ - DWORD dwSize; //ṹС - DWORD dwRelativeTime; // ʱ - DWORD dwAbsTime; // ʱ - NET_VCA_DEV_INFO struDevInfo; //ǰ豸Ϣ - DWORD dwJsonDataLen; //jsonݶϢ0-ûݣ0ʾݣṹŵjsonݳȣ - BYTE* pJsonBuff;// jsonָ - BYTE byRes[256]; // ֽ -}NET_VCA_FACESNAP_RAWDATA_ALARM, *LPNET_VCA_FACESNAP_RAWDATA_ALARM; - -//߼У -typedef struct tagNET_DVR_ADVANCE_SCREEN_CHECK_PARAM -{ - BYTE byDelFullScreenGamut; /*Ƿɾɫ,0-,1-ǣbyOperateType Ϊ3-ɾУʱЧ*/ - BYTE byDelLightPanelGamut; /*Ƿɾưɫ,0-,1-ǣbyOperateType Ϊ3-ɾУʱЧ*/ - BYTE byDelLightPanelWhiteBalance; /*Ƿɾưƽ,0-,1-ǣbyOperateType Ϊ3-ɾУʱЧ*/ - BYTE byRes[13]; -}NET_DVR_ADVANCE_SCREEN_CHECK_PARAM, *LPNET_DVR_ADVANCE_SCREEN_CHECK_PARAM; - -//LEDĻУ -typedef struct tagNET_SDK_LED_SCREEN_CHECK_PARAM -{ - DWORD dwSize; - BYTE byOperateType; //ͣ1-дУݣ2-УԤ3-ɾУݣ4-ԭʼݣ5-УԭʼԤ - BYTE byIsRGBSynChk; //RGBǷͬ0-֧֣!0-֧֣byOperateTypeΪ12ʱЧ - BYTE byScreenCheckType; //ĻУ,0-ͨУ,1-߼У - BYTE byRes1; - WORD wRgbPermil; //RGBͬǧֱȣbyOperateTypeΪ12byIsRGBSynChkʱЧ - WORD wRedPermil; //ɫǧֱȣbyOperateTypeΪ12byIsRGBSynChkΪʱЧ - WORD wGreenPermil; //ɫǧֱȣbyOperateTypeΪ12byIsRGBSynChkΪʱЧ - WORD wBluePermil; //ɫǧֱȣbyOperateTypeΪ12byIsRGBSynChkΪʱЧ - DWORD dwRectCount; // - NET_DVR_RECTCFG_EX struRectList[MAX_SCREEN_AREA_NUM]; //б˳ - NET_DVR_ADVANCE_SCREEN_CHECK_PARAM struAdvanceScreenCheckParam;//߼У,byScreenCheckTypeΪ1ʱЧ - BYTE byRes2[48]; -}NET_SDK_LED_SCREEN_CHECK_PARAM, *LPNET_SDK_LED_SCREEN_CHECK_PARAM; - -//LEDĻУӦ -typedef struct tagNET_SDK_SCREEN_CHECK_RESPONSE_DATA -{ - DWORD dwSize; - BYTE byDataType; //ͣ1-ȣȣ2-״̬ - BYTE byOperateType; //ͣ1-дУݣ2-УԤ3-ɾУ - BYTE byProgress; //ȣbyDataTypeΪ1ʱЧ0-100 - BYTE byStatus; //״̬byDataTypeΪ2ʱЧ1-LEDĻУʧܣ2-LEDĻӦĽտڣ3-Уʧܣԭʼ쳣 - //4-ĻͺŲ֧У5-豸æУ6-豸ڴ治 - NET_DVR_RECTCFG_EX struRect; //LEDĻbyDataTypeΪ2ʱЧ - BYTE byRes[64]; -}NET_SDK_SCREEN_CHECK_RESPONSE_DATA, *LPNET_SDK_SCREEN_CHECK_RESPONSE_DATA; - -typedef struct tagNET_DVR_PLAY_BY_NAME_PARA -{ - char szFileName[100]; //طļ - BYTE byDownload; //Ƿ 0-1- - BYTE byRes1[127]; - HWND hWnd; //طŵĴھΪգSDKյݣʾ - NET_DVR_ADDRESS struAddr; //ļڼȺCSַϢϢļʱ᷵ - //Ϊձʾ¼ַ - BYTE byRes2[256]; -}NET_DVR_PLAY_BY_NAME_PARA, *LPNET_DVR_PLAY_BY_NAME_PARA; - -typedef struct tagNET_DVR_PLAYBCK_BYTIME_COND_PCNVR -{ - DWORD dwSize; - NET_DVR_IPADDR struIpAddr; - WORD wIpPort; - BYTE byRes[2]; - char sDomainName[MAX_DOMAIN_NAME]; - char sSerial[SERIALNO_LEN]; - LONG iChannel; - NET_DVR_TIME struStartTime; - NET_DVR_TIME struStopTime; - HWND hWnd; -}NET_DVR_PLAYBCK_BYTIME_COND_PCNVR, *LPNET_DVR_PLAYBCK_BYTIME_COND_PCNVR; - -//ļؼȺ¼ļ -typedef struct tagNET_DVR_DOWNLOAD_BY_NAME_COND -{ - char *pFileName; //طļ\0100ֽ - char *pSavedFileName;//ļλ - NET_DVR_ADDRESS struAddr; //ļڼȺCSַϢϢļʱ᷵ - //Ϊձʾ¼ַ - BYTE byRes[256]; -}NET_DVR_DOWNLOAD_BY_NAME_COND, *LPNET_DVR_DOWNLOAD_BY_NAME_COND; - -typedef struct tagNET_DVR_PIC_PARAM //ҽṹ -{ - char *pDVRFileName; //ͼƬ\064ֽ - char *pSavedFileBuf; //ͼƬĻڴⲿͷ - DWORD dwBufLen; //С - DWORD *lpdwRetLen; //ʵյݳָ룬ΪNULL - NET_DVR_ADDRESS struAddr; //ͼƬڵĵַϢͼƬʱ᷵ - BYTE byRes[256]; //ֽ -}NET_DVR_PIC_PARAM, *LPNET_DVR_PIC_PARAM; - -#define NET_SDK_MAX_INDENTITY_KEY_LEN 64 // - -// -typedef struct tagNET_DVR_FACELIB_COND -{ - DWORD dwSize; - char szFDID[NET_SDK_MAX_FDID_LEN/*256*/];//ID - BYTE byConcurrent;//豸 0-1-ʼ - BYTE byCover;//Ƿ񸲸ʽ 0-1- - BYTE byCustomFaceLibID;//FDIDǷԶ壬0-ǣ1-ǣ - /*/ISAPI/Intelligent/channels//faceContrast/capabilitiesзisSupportNoSaveUploadPictureڵʱ - Dzģʽ£ֲ֧ϴԭͼIJ:ϴɹͼƬ豸ģɹ󣬻Ὣϴԭͼɾ - עò޷벢ͬʱС*/ - BYTE byPictureSaveMode;//ϴԭͼģʽ0-棬1-; - BYTE byIdentityKey[NET_SDK_MAX_INDENTITY_KEY_LEN/*64*/];// - BYTE byRes[60]; -}NET_DVR_FACELIB_COND, *LPNET_DVR_FACELIB_COND; - -// -typedef struct tagNET_DVR_HBDLIB_COND -{ - DWORD dwSize; - char szHBDID[NET_SDK_MAX_HBDID_LEN/*256*/];//ID - BYTE byConcurrent;//豸 0-1-ʼ - BYTE byCover;//Ƿ񸲸ʽ 0-1- - BYTE byCustomHBDID;// HBDIDǷԶ壬0-ǣ1-ǣ - BYTE byRes[125]; -}NET_DVR_HBDLIB_COND, *LPNET_DVR_HBDLIB_COND; - -typedef struct tagNET_DVR_EXPORT_PUBLISH_SCHEDULE -{ - DWORD dwScheduleID;// ճ - DOWNLOAD_DATA_CB fnDownloadFileCallBack; //ݻص - void* pUser; //ûָ - BYTE byRes[32]; -}NET_DVR_EXPORT_PUBLISH_SCHEDULE, *LPNET_DVR_EXPORT_PUBLISH_SCHEDULE; - -typedef struct tagNET_DVR_GBT28181_AUDIO_OUTPUT_COND -{ - DWORD dwSize; - DWORD dwAudioChannel;//Խͨ - BYTE byRes[128]; -}NET_DVR_GBT28181_AUDIO_OUTPUT_COND, *LPNET_DVR_GBT28181_AUDIO_OUTPUT_COND; - -//GBT28181Эͨ ýṹ -typedef struct tagNET_DVR_GBT28181_AUDIO_OUTPUT_CFG -{ - DWORD dwSize; - char szAudioOutNumID[MAX_COMPRESSIONID_LEN];//豸ID - BYTE byRes[256]; -}NET_DVR_GBT28181_AUDIO_OUTPUT_CFG, *LPNET_DVR_GBT28181_AUDIO_OUTPUT_CFG; - -typedef struct tagNET_DVR_NOTICE_VIDEO_DATA -{ - DWORD dwSize; - DWORD dwFileSize; //ļСλֽ - BYTE byNoticeNumber[MAX_NOTICE_NUMBER_LEN]; // - BYTE byRes[2016]; -}NET_DVR_NOTICE_VIDEO_DATA, *LPNET_DVR_NOTICE_VIDEO_DATA; - -typedef struct tagNET_DVR_NOTICE_VIDEO_DATA_COND -{ - DWORD dwSize; - BYTE byRes[256]; // -}NET_DVR_NOTICE_VIDEO_DATA_COND, *LPNET_DVR_NOTICE_VIDEO_DATA_COND; - -typedef struct tagNET_DVR_NOTICE_VIDEO_DATA_CFG -{ - DWORD dwSize; - DWORD dwDataLen; //ݳ - char* pDataBuffer; //ָ - BYTE byDataType; //ͣ0-Ч1-ṹݣNET_DVR_NOTICE_VIDEO_DATA2-Ƶ - BYTE byRes[63]; -}NET_DVR_NOTICE_VIDEO_DATA_CFG, *LPNET_DVR_NOTICE_VIDEO_DATA_CFG; - -typedef struct tagNET_DVR_UPGRADE_FIRMWARE_INFO -{ - DWORD dwMagicNumber; /* ħֶΣ̶ֵ0x484b5753 */ - DWORD dwCheckSum; /* ļͷУ */ - DWORD dwHeadLen; /* ļͷ */ - DWORD dwFileNums; /* ļ */ - DWORD dwLanguage; /* ԣ1-ӢĻԣ2- */ - DWORD dwDeviceClassID; /* 1 C DS9000 DVR */ - DWORD dwOemCode; /* 1 C private */ - BYTE byUpgradeVersion; /* 汾: 0xFE - жflash, ram, DSP ram */ - BYTE byResFeature[15]; /* ֶ */ - BYTE byFlashSize; /* 0 - do not need check; 1 - 16M; 2 - 32M; 3 - 64M */ - BYTE byRamSize; /* 0 - do not need check; 1 - 128M; 2 - 256M; 3 - 512M; 4 - 1024M*/ - BYTE byDspRamSize; /* 0 - do not need check; 1 - 64M; 2 - 128M; 3 - 256M */ - BYTE byRes[17]; /* */ -}NET_DVR_UPGRADE_FIRMWARE_INFO, *LPNET_DVR_UPGRADE_FIRMWARE_INFO; - - -typedef struct tagNET_DVR_SCHEDULE_FILE_RET -{ - DWORD dwSize; - char szFileName[32]; //ļ - DWORD dwFileLen; //ļ - BYTE byRes[64]; -}NET_DVR_SCHEDULE_FILE_RET, *LPNET_DVR_SCHEDULE_FILE_RET; - -#define NET_SDK_MAX_EXAM_ROUND_NO 64 //Գα󳤶 -#define NET_SDK_MAX_EXAM_NO 64 //Ա󳤶 -#define NET_SDK_MAX_EXAM_SUBJECT 64 //ԿĿ󳤶 -#define NET_SDK_MAX_TEACHER_NO 64 //࿼ʦ󳤶 -#define NET_SDK_MAX_TEACHER_NAME 64 //࿼ʦ󳤶 -#define NET_SDK_MAX_EXAMINEE_NO 64 //󳤶 -#define NET_SDK_MAX_ADMISSION_TICKET 64 //׼֤󳤶 - -typedef struct tagNET_DVR_EXAM_INFO_COND -{ - DWORD dwSize; - DWORD dwExamNumber; //ϢĿ - BYTE byRes[128]; -}NET_DVR_EXAM_INFO_COND, *LPNET_DVR_EXAM_INFO_COND; - -typedef struct tagNET_DVR_EXAM_INFO_CFG -{ - DWORD dwSize; - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byExamNo[NET_SDK_MAX_EXAM_NO/*64*/]; //Աţijοԣೡԣ - BYTE byExamSubject[NET_SDK_MAX_EXAM_SUBJECT/*64*/]; //ԿĿ - BYTE byTeacherNo[NET_SDK_MAX_TEACHER_NO/*64*/]; //࿼ʦ - BYTE byTeacherName[NET_SDK_MAX_TEACHER_NAME/*64*/]; //࿼ʦ - NET_DVR_TIME struStartTime; //Կʼʱ - NET_DVR_TIME struEndTime; //Խʱ - BYTE byExamInfoValid; //ϢǷЧ0-Ч1-ЧڿԳαɾϢֶΪ0ʱɾ - BYTE byRes[127]; -}NET_DVR_EXAM_INFO_CFG, *LPNET_DVR_EXAM_INFO_CFG; - -typedef struct tagNET_DVR_EXAM_INFO_STATUS -{ - DWORD dwSize; - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byStatus; //·״̬0-Ч1-ʧܣ2-ɹÿԳ·Ƿɹ - BYTE byRes[127]; -}NET_DVR_EXAM_INFO_STATUS, *LPNET_DVR_EXAM_INFO_STATUS; - -typedef struct tagNET_DVR_EXAMINEE_INFO_COND -{ - DWORD dwSize; - DWORD dwExamineeNumber; //ϢĿ - BYTE byRes[128]; -}NET_DVR_EXAMINEE_INFO_COND, *LPNET_DVR_EXAMINEE_INFO_COND; - -typedef struct tagNET_DVR_EXAMINEE_INFO_CFG -{ - DWORD dwSize; - BYTE byExamineeNo[NET_SDK_MAX_EXAMINEE_NO/*64*/]; // - BYTE byAdmissionTicket[NET_SDK_MAX_ADMISSION_TICKET/*64*/]; //׼֤ - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byName[NAME_LEN/*32*/]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE bySex; //Ա0-Ч1-У2-Ů - BYTE byExamineeInfoValid; //ϢǷЧ0-Ч1-ЧڿźͿԳαɾϢֶΪ0ʱɾ - BYTE byRes[126]; -}NET_DVR_EXAMINEE_INFO_CFG, *LPNET_DVR_EXAMINEE_INFO_CFG; - -typedef struct tagNET_DVR_EXAMINEE_INFO_STATUS -{ - DWORD dwSize; - BYTE byExamineeNo[NET_SDK_MAX_EXAMINEE_NO/*64*/]; // - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byStatus; //·״̬0-Ч1-ʧܣ2-ɹÿϢ·Ƿɹ - BYTE byRes[127]; -}NET_DVR_EXAMINEE_INFO_STATUS, *LPNET_DVR_EXAMINEE_INFO_STATUS; - -typedef struct tagNET_DVR_EXAM_COMPARE_RESULT_COND -{ - DWORD dwSize; - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byExamNo[NET_SDK_MAX_EXAM_NO/*64*/]; //Աţijοԣೡԣ - NET_DVR_TIME struStartTime; //ʼʱ - NET_DVR_TIME struEndTime; //ʱ - BYTE byRes[512]; -}NET_DVR_EXAM_COMPARE_RESULT_COND, *LPNET_DVR_EXAM_COMPARE_RESULT_COND; - -typedef struct tagNET_DVR_EXAM_COMPARE_RESULT_CFG -{ - DWORD dwSize; - NET_DVR_TIME struTime; //ʱ - BYTE byExamineeNo[NET_SDK_MAX_EXAMINEE_NO/*64*/]; // - BYTE byAdmissionTicket[NET_SDK_MAX_ADMISSION_TICKET/*64*/]; //׼֤ - BYTE byExamNo[NET_SDK_MAX_EXAM_NO/*64*/]; //Աţijοԣೡԣ - BYTE byExamRoundNo[NET_SDK_MAX_EXAM_ROUND_NO/*64*/]; //Գαţijþ忼ԣ - BYTE byName[NAME_LEN/*32*/]; // - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwPicDataLen; //ȶץͼƬݴСΪ0DZʾ - char *pPicData; //ȶץͼƬָ - BYTE byRes[256]; -}NET_DVR_EXAM_COMPARE_RESULT_CFG, *LPNET_DVR_EXAM_COMPARE_RESULT_CFG; - -typedef struct tagNET_DVR_BLOCKLIST_PICTURE_COND -{ - DWORD dwSize; - DWORD dwPictureNum; //ͼƬ - BYTE byRes[128]; -}NET_DVR_BLOCKLIST_PICTURE_COND, *LPNET_DVR_BLOCKLIST_PICTURE_COND; - -typedef struct tagNET_DVR_BLOCKLIST_PICTURE_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - BYTE byStatus; //״̬0-Ч1-У2-ϴʧܣ3-ɹ - BYTE byRes[63]; -}NET_DVR_BLOCKLIST_PICTURE_STATUS, *LPNET_DVR_BLOCKLIST_PICTURE_STATUS; - -typedef struct tagNET_DVR_BLOCKLIST_PICTURE_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN/*32*/]; // - BYTE byName[NAME_LEN/*32*/]; // - BYTE bySex; //Ա0-Ч1-У2-Ů - BYTE byPictureValid; //ֹͼƬǷЧ0-Ч1-ЧڰɾֹͼƬֶΪ0ʱɾɾʱݽֹͼƬ - BYTE byRes1[2]; - DWORD dwPictureLen; //ֹͼƬȣͼƬС1M - char* pPictureBuffer; //ֹͼƬָ - BYTE byRes[128]; -}NET_DVR_BLOCKLIST_PICTURE_CFG, *LPNET_DVR_BLOCKLIST_PICTURE_CFG; - -typedef struct tagNET_DVR_UPLOAD_ID_BLOCKLIST_COND -{ - DWORD dwSize; - DWORD dwBlockListNum; //ֹ - BYTE byRes[128]; -}NET_DVR_UPLOAD_ID_BLOCKLIST_COND, *LPNET_DVR_UPLOAD_ID_BLOCKLIST_COND; - -typedef struct tagNET_DVR_UPLOAD_ID_BLOCKLIST_CFG -{ - DWORD dwSize; - NET_DVR_ID_CARD_INFO struIDCardCfg;//֤Ϣýṹ֤ΪֶΪѡ - BYTE byBlockListValid; //ֹ֤ǷЧ0-Ч1-Чڰ֤ɾֶֹ֤Ϊ0ʱɾ - BYTE byRes[127]; -}NET_DVR_UPLOAD_ID_BLOCKLIST_CFG, *LPNET_DVR_UPLOAD_ID_BLOCKLIST_CFG; - -typedef struct tagNET_DVR_UPLOAD_ID_BLOCKLIST_STATUS -{ - DWORD dwSize; - BYTE byIDNum[MAX_ID_NUM_LEN]; //֤ - BYTE byStatus; //״̬0-Ч1-У2-ϴʧܣ3-ɹ - BYTE byRes[63]; -}NET_DVR_UPLOAD_ID_BLOCKLIST_STATUS, *LPNET_DVR_UPLOAD_ID_BLOCKLIST_STATUS; - -typedef struct tagNET_DVR_ALARM_ISAPI_INFO -{ - char * pAlarmData; // - DWORD dwAlarmDataLen; // ݳ - BYTE byDataType; // 0-invalid,1-xml,2-json - BYTE byPicturesNumber; // ͼƬ - BYTE byRes[2]; - void * pPicPackData; // ͼƬ䳤 - BYTE byRes1[32]; -}NET_DVR_ALARM_ISAPI_INFO, *LPNET_DVR_ALARM_ISAPI_INFO; - -typedef struct tagNET_DVR_ALARM_ISAPI_PICDATA -{ - DWORD dwPicLen; - BYTE byPicType; //ͼƬʽ: 1-jpg, 2-wav, 3-mp4 - BYTE byRes[3]; - char szFilename[MAX_FILE_PATH_LEN]; - BYTE *pPicData; -}NET_DVR_ALARM_ISAPI_PICDATA, *LPNET_DVR_ALARM_ISAPI_PICDATA; - -typedef struct tagNET_DVR_FORMAT_HDD -{ - DWORD dwSize;//ṹ峤 - DWORD dwDiskNo;//Ӳ̺ţ0ʼ0xffʾӲЧֻӲ̣ - NET_DVR_IPADDR struLocateIP;//Ӳ豸IPӦӲ̹V50лȡszHDLocateIPϢ - BYTE byRes[16]; -}NET_DVR_FORMAT_HDD, *LPNET_DVR_FORMAT_HDD; - -typedef struct tagNET_DVR_CHECK_FACE_PICTURE_COND -{ - DWORD dwSize; - DWORD dwPictureNum; //ͼƬ - BYTE byCheckTemplate; //0-УͼƬǷϷĬϣ1-УͼƬͽģǷƥ - BYTE byRes[127]; -}NET_DVR_CHECK_FACE_PICTURE_COND, *LPNET_DVR_CHECK_FACE_PICTURE_COND; - -typedef struct tagNET_DVR_CHECK_FACE_PICTURE_CFG -{ - DWORD dwSize; - DWORD dwPictureNo; //ͼƬ - DWORD dwPictureLen; //ͼƬȣͼƬС200k - char* pPictureBuffer; //ͼƬָ - DWORD dwFaceTemplateLen; //ģݳ - char* pFaceTemplateBuffer; //ģָ - BYTE byRes[248]; -}NET_DVR_CHECK_FACE_PICTURE_CFG, *LPNET_DVR_CHECK_FACE_PICTURE_CFG; - -typedef struct tagNET_DVR_CHECK_FACE_PICTURE_STATUS -{ - DWORD dwSize; - DWORD dwPictureNo; //ͼƬ - BYTE byCheckStatus; //У0-Ч1-ģɹ2-ģʧܣ3-ģͨѶ쳣4-ͼ5-ϣ6-£7-ƫ8-ƫң9-˳ʱת - //10 - ʱת11-ۼС12-ģƥ䣬13-ģ岻ƥ,14- - BYTE byRes[127]; -}NET_DVR_CHECK_FACE_PICTURE_STATUS, *LPNET_DVR_CHECK_FACE_PICTURE_STATUS; - -typedef struct tagNET_SDK_NPQ_STATE_SINGLE -{ - DWORD dwRttUs; //rttλus - DWORD dwRealRttUs; //ʵʱrttλus - DWORD dwBitRate; //ʣλbps - BYTE byLossFraction; //ʣλ1/256 - BYTE byLossFraction2; //ָ֮Ķʣֻڽն˻ȡλ1/256 - BYTE byRes[126]; -}NET_SDK_NPQ_STATE_SINGLE, *LPNET_SDK_NPQ_STATE_SINGLE; - - -typedef struct tagNET_SDK_NPQ_STATE -{ - DWORD dwSize; - NET_SDK_NPQ_STATE_SINGLE struAudioState; //Ƶ״̬ - NET_SDK_NPQ_STATE_SINGLE struVideoState; //Ƶ״̬ - BYTE byRes[256]; -}NET_SDK_NPQ_STATE, *LPNET_SDK_NPQ_STATE; - -typedef struct tagNET_SDK_NPQ_NOTIFY_PARAM -{ - LONG iVersion; //ṹ汾Ժ - DWORD dwBitRate; // λbps - BOOL bHaveBitrate; //ֶǷЧ־ - BOOL bHaveForceIframe; //ǿIֶ֡ǷЧ־ - BOOL bForceIframe; //ǿI֡ - BOOL bHaveScale; //scaleֶǷЧ־,طʱֶЧ,ͨSDKŽӿʵ - float fScale; //scaleϢ 1248,طʱֶЧ,ͨSDKŽӿʵ - BYTE res[240]; -}NET_SDK_NPQ_NOTIFY_PARAM, *LPNET_SDK_NPQ_NOTIFY_PARAM; - -//Ϣѯṹ -typedef struct tagNET_DVR_ALARM_SEARCH_COND -{ - DWORD dwSize; - NET_DVR_TIME_SEARCH_COND strStartTime; //ʼʱ,ʱΪͨʱɸѡ - NET_DVR_TIME_SEARCH_COND strStopTime; //ʱ, ʱΪͨʱɸѡ - /* - ֵֶ뱨ͬĿǰ֧֣ - COMM_VCA_ALARM 0x4993 ܼⱨ - COMM_UPLOAD_FACESNAP_RESULT 0x1112 ʶϴ - COMM_SNAP_MATCH_ALAR 0x2902 ȶԽϴ - */ - DWORD dwAlarmComm; //Ϊбˡ - char sAlarmUID[64]; //UIDʶϴʱ豸صUIDʶ64ֽڵijȣʹʱ䣨ȷ룩漴ķʽɣ,ΪUID - WORD wEventType;//¼ͣdwAlarmCommΪCOMM_VCA_ALARM 0x4993 ܼⱨЧ0-ʾ¼,1-Ŀ⣨mixedTargetDetection,2-Ŀ⣨radarVideoDetection - WORD wSubEventType;//¼ͣ0-ʾ¼ֵwEventTypeȡֵ仯仯μ - BYTE bySupport; // - BYTE byNoBoundary; //Ƿ񲻴boundary0-1-ǣdwAlarmCommΪܼⱨʱЧΪ1ʱ¼ΪCOMM_ISAPI_ALARM - BYTE byRes[122]; -}NET_DVR_ALARM_SEARCH_COND, *LPNET_DVR_ALARM_SEARCH_COND; -//Ϣѯṹ -typedef struct tagNET_DVR_ALARM_SEARCH_RESULT -{ - DWORD dwSize; - /* - ֵֶ뱨ͬĿǰ֧֣ - COMM_VCA_ALARM 0x4993 ܼⱨ - COMM_UPLOAD_FACESNAP_RESULT 0x1112 ʶϴ - COMM_SNAP_MATCH_ALARM 0x2902 ȶԽϴ - COMM_ISAPI_ALARM 0x6009 ISAPI - */ - DWORD dwAlarmComm; - /* - Ϣֵֶ뱨ϢͬĿǰ֧֣ - COMM_VCA_ALARMʱñϢΪJSON - COMM_UPLOAD_FACESNAP_RESULTʱñϢΪNET_VCA_FACESNAP_RESULT - COMM_SNAP_MATCH_ALARMʱñϢΪNET_VCA_FACESNAP_MATCH_ALARM - COMM_ISAPI_ALARMʱñϢΪNET_DVR_ALARM_ISAPI_INFO - */ - DWORD dwAlarmLen;//ϢpAlarmInfoָָݳ - char *pAlarmInfo; - NET_DVR_ALARMER struAlarmer; - BYTE byRes[128]; -}NET_DVR_ALARM_SEARCH_RESULT, *LPNET_DVR_ALARM_SEARCH_RESULT; - -typedef struct tagNET_DVR_FACE_AND_TEMPLATE_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀţʱòã - DWORD dwFaceNum; //ûȡȡʱΪ0xffffffffʾȡϢ - BYTE byRes[128]; // -}NET_DVR_FACE_AND_TEMPLATE_COND, *LPNET_DVR_FACE_AND_TEMPLATE_COND; - -typedef struct tagNET_DVR_FACE_AND_TEMPLATE_CFG -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwFaceLen; //ͼƬȣͼƬС200k - char* pFaceBuffer; //ͼƬָ - DWORD dwFaceTemplateLen; //ģݳ - char* pFaceTemplateBuffer; //ģָ - BYTE byRes[116]; -}NET_DVR_FACE_AND_TEMPLATE_CFG, *LPNET_DVR_FACE_AND_TEMPLATE_CFG; - -typedef struct tagNET_DVR_FACE_AND_TEMPLATE_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byRecvStatus;//·״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ڴ - BYTE byRes[131]; -}NET_DVR_FACE_AND_TEMPLATE_STATUS, *LPNET_DVR_FACE_AND_TEMPLATE_STATUS; - -typedef struct tagNET_DVR_SINGLE_HEATMAP_RESULT_PDC -{ - DWORD dwMaxHeatMapValue;//ȶֵ - DWORD dwMinHeatMapValue;//Сȶֵ - DWORD dwTimeHeatMapValue;// (ʱȶֵ)ƽȶֵ - WORD wArrayLine;//ͼƬصֵ - WORD wArrayColumn;//ͼƬصֵ ֵΪ0ʱصֵڴϢڣ - BYTE* pBuffer; //ȶͼƬصϢ - BYTE byRes[32]; -}NET_DVR_SINGLE_HEATMAP_RESULT_PDC, *LPNET_DVR_SINGLE_HEATMAP_RESULT_PDC; - -//ȶͼϴ -typedef struct tagNET_DVR_HEATMAP_RESULT_PDC -{ - DWORD dwSize; - NET_DVR_TIME_EX struStartTime;/*ʼʱ*/ - NET_DVR_TIME_EX struEndTime;/*ʱ*/ - NET_VCA_DEV_INFO struDevInfo;/*豸Ϣ*/ - WORD wDevInfoIvmsChannelEx; //NET_VCA_DEV_INFObyIvmsChannelܱͬʾֵϿͻbyIvmsChannelܼݣ255¿ͻ˰汾ʹwDevInfoIvmsChannelEx - BYTE byBrokenNetHttp; //־λ0-شݣ1-ش - BYTE byArrayUnitType;//ԪͣϢÿصݵͣ,1-byte, 2-short,4- int - /* - struSingleHeatMap[0]:ʾͳеĻͣȶֵ - struSingleHeatMap[1]:ʾͳеĻ뿪ȶֵ - */ - NET_DVR_SINGLE_HEATMAP_RESULT_PDC struSingleHeatMap[2]; - WORD wCurNumber;//ǰ - WORD wLeaveNumber;//뿪 - #if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "heatmap") -#else - char* pEventNotificationAlertBuff; //BuffӦEventNotificationAlert JSON Block("eventType": "heatmap") - BYTE byRes2[4]; -#endif - DWORD dwEventNotificationAlertLen;//ȶӦEventNotificationAlert JSON Block("eventType": "heatmap")ݳ - BYTE byRes1[48]; -}NET_DVR_HEATMAP_RESULT_PDC, *LPNET_DVR_HEATMAP_RESULT_PDC; - -//豸֧AIƽ̨룬ϴƵ -typedef struct _NET_AIOP_VIDEO_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_VIDEO_HEAD) - DWORD dwChannel; //豸ͨͨţ - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ƵIDƵɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽͨURI(GET /ISAPI/Intelligent/AIOpenPlatform/algorithmModel/management?format=json)ȡǰ豸صģͰlabel descriptionϢ - BYTE *pBufferAIOPData; //AIOPDdata - BYTE *pBufferPicture;//ӦͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;//ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes2[2];//ֽ - DWORD dwPresetIndex; //Ԥõ - DWORD dwAddInfoPictureSize; //ӦĸͼƬ - BYTE *pAddInfoPictureBuffer;//ӦĸͼƬ(ȳ˫ͨ豸ýڵʾDZͨͼƬ) -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pFacePicBuff; //СͼͼƬָ -#else - char* pFacePicBuff; //СͼͼƬָ - BYTE byRes3[4]; -#endif - DWORD dwFacePicBuffLen;//ȶӦpFacePicBuffݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pComparisonPicBuff; //׿ȶͼͼƬָ -#else - char* pComparisonPicBuff; //׿ȶͼͼƬָ - BYTE byRes4[4]; -#endif - DWORD dwComparisonPicBuffLen;//ȶӦpComparisonPicBuffݳ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[132]; -}NET_AIOP_VIDEO_HEAD, *LPNET_AIOP_VIDEO_HEAD; - -//豸֧AIƽ̨룬ϴͼƬ -typedef struct _NET_AIOP_PICTURE_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_PICTURE_HEAD) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szPID[64]; //͸·ͼƬIDͼƬɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - BYTE byStatus; //״ֵ̬0-ɹ1-ͼƬС - BYTE byPictureMode;//ͼƬݴģʽ(dwPictureSize>0ʱЧ) 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;// /ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes1[1]; - char szMPID[64]; //ģͰIDƥAIOPļݽ - BYTE *pBufferAIOPData;//AIOPDdata - DWORD dwPresetIndex; //Ԥõ - DWORD dwPictureSize; //ͼƬURL -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - BYTE *pBufferPicture;//ӦͼƬݻURL -#else - BYTE *pBufferPicture;//ӦͼƬݻURL - BYTE byRes2[4]; -#endif - char szTaskID[64]; //ID, ͼƬϱЯֶ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[92]; -}NET_AIOP_PICTURE_HEAD, *LPNET_AIOP_PICTURE_HEAD; - -#define MAX_FILE_NAME_LEN 100 //ļ -typedef struct tagNET_DVR_DOOR_FILE_UPLOAD_PARAM -{ - DWORD dwSize; - DWORD dwFileSize; //ļСλֽ - BYTE byFileName[MAX_FILE_NAME_LEN]; //ļ - BYTE byRes1[256]; -}NET_DVR_DOOR_FILE_UPLOAD_PARAM, *LPNET_DVR_DOOR_FILE_UPLOAD_PARAM; - -#define AUDIO_FILE_NAME_LEN 32 //ƵļƳ -//ϴƵļ -typedef struct tagNET_DVR_TRANS_AUDIO_INFO -{ - DWORD dwSize; //ṹС - char sAudioName[AUDIO_FILE_NAME_LEN]; //Ƶļ - BYTE byAudioFormat; //Ƶݸʽ0-wav - BYTE byRes[127]; -}NET_DVR_TRANS_AUDIO_INFO,*LPNET_DVR_TRANS_AUDIO_INFO; - -typedef struct _NET_AIOP_POLLING_VIDEO_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_POLLING_VIDEO_HEAD) - DWORD dwChannel; //豸ͨͨ(SDKЭ) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ѯץͼIDѯץͼɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽ - BYTE *pBufferAIOPData;//AIOPDdata - BYTE *pBufferPicture;//ӦͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;// /ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes2[2];//ֽ - DWORD dwPresetIndex; //Ԥõ -#if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[164]; -} NET_AIOP_POLLING_VIDEO_HEAD, *LPNET_AIOP_POLLING_VIDEO_HEAD; - -typedef struct _NET_AIOP_HISTORY_VIDEO_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(_NET_AIOP_HISTORY_VIDEO_HEAD_) - DWORD dwChannel; //豸ͨͨ(SDKЭ) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ʷƵIDƵɷ - DWORD dwAIOPDataSize; //AIOP dataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽͨURI(GET /ISAPI/Intelligent/AIOpenPlatform/algorithmModel/management?format=json)ȡǰ豸صģͰlabel descriptionϢ - BYTE *pBufferAIOPData;//AIOPDdata - BYTE *pBufferPicture;//ӦͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byRes[183]; -}NET_AIOP_HISTORY_VIDEO_HEAD, *LPNET_AIOP_HISTORY_VIDEO_HEAD; - - -typedef struct _NET_AIOP_POLLING_SNAP_HEAD_ -{ - DWORD dwSize; //dwSize = sizeof(NET_AIOP_POLLING_SNAP_HEAD) - DWORD dwChannel; //豸ͨͨ(SDKЭ) - NET_DVR_SYSTEM_TIME struTime; //ʱ - char szTaskID[64]; //ѯץͼIDѯץͼɷ - DWORD dwAIOPDataSize; //ӦAIOPDdataݳ - DWORD dwPictureSize; //ӦͼƬ - char szMPID[64]; //ģͰIDƥAIOPļݽ - BYTE *pBufferAIOPData;//AIOPDdata - BYTE *pBufferPicture;//ͼƬ - BYTE byPictureMode;//ͼƬݴģʽ 0-ƣ1-人ƴ洢byPictureModeΪ0ʱpBufferPictureΪݣbyPictureModeΪ1ʱpBufferPictureΪ人URL - BYTE byCompressedDotMatrixMode;// /ѹĵͼģʽ 0-ƣ1-人ƴ洢byCompressedDotMatrixModeΪ0ʱpCompressedDotMatrixBuffΪݣbyCompressedDotMatrixModeΪ1ʱpCompressedDotMatrixBuffΪ人URL - BYTE byRes2[2];//ֽ - DWORD dwPresetIndex; //Ԥõ - DWORD dwAddInfoPictureSize; //ӦĸͼƬ - BYTE *pAddInfoPictureBuffer;//ӦĸͼƬ(ȳ˫ͨ豸ýڵʾDZͨͼƬ) - #if (defined(OS_WINDOWS64) || defined(OS_POSIX64))//win64linux64ָΪ8ֽ - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ -#else - char* pCompressedDotMatrixBuff; //ѹĵͼϢָ - BYTE byRes5[4]; -#endif - DWORD dwCompressedDotMatrixBuffLen; //ȶӦpCompressedDotMatrixBuffݳ - BYTE byRes[156]; -} NET_AIOP_POLLING_SNAP_HEAD, *LPNET_AIOP_POLLING_SNAP_HEAD; - -typedef struct tagNET_DVR_AI_ALGORITHM_MODEL -{ - DWORD dwSize; - DWORD dwDescribeLength; //{AlgorithmModel} ļ - char* pDescribeBuffer; //{AlgorithmModel}ļ - BYTE byRes1[3];//ֽڣʹֽڶ - DWORD dwLicenseKeyLength; //licenseKeyļ - char* pLicenseKeyBuffer; //licenseKeyļ - BYTE byRes[120]; -}NET_DVR_AI_ALGORITHM_MODEL, *LPNET_DVR_AI_ALGORITHM_MODEL; - -typedef struct tagNET_DVR_AI_PICTUR_UPLOAD -{ - DWORD dwSize; - char szTaskID[64]; //idstrlen.max = 64,ҵƽ̨ͳһά - char szPID[64]; //ͼƬidstrlen.max = 64ҵƽ̨ͳһά - BYTE byRes[128]; -}NET_DVR_AI_PICTUR_UPLOAD, *LPNET_DVR_AI_PICTUR_UPLOAD; - - -typedef struct _NET_DVR_CARD_RECORD -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; - BYTE byCardType; - BYTE byLeaderCard; - BYTE byUserType; - BYTE byRes1; - BYTE byDoorRight[MAX_DOOR_NUM_256]; - NET_DVR_VALID_PERIOD_CFG struValid; - BYTE byBelongGroup[MAX_GROUP_NUM_128]; - BYTE byCardPassword[CARD_PASSWORD_LEN]; - WORD wCardRightPlan[MAX_DOOR_NUM_256]; - DWORD dwMaxSwipeTimes; - DWORD dwSwipeTimes; - DWORD dwEmployeeNo; - BYTE byName[NAME_LEN]; - //λʾ0-Ȩޣ1-Ȩ - //0λʾ籨 - //1λʾʾ - //2λʾƿͿ - //3λʾͨ - //4λʾ - //5λʾѲ - DWORD dwCardRight; - BYTE byRes[256]; -}NET_DVR_CARD_RECORD, *LPNET_DVR_CARD_RECORD; - -typedef struct _NET_DVR_CARD_COND -{ - DWORD dwSize; - DWORD dwCardNum; //ûȡȡʱΪ0xffffffffʾȡпϢ - BYTE byRes[64]; -}NET_DVR_CARD_COND, *LPNET_DVR_CARD_COND; - -typedef struct _NET_DVR_CARD_SEND_DATA -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; // - BYTE byRes[16]; -}NET_DVR_CARD_SEND_DATA, *LPNET_DVR_CARD_SEND_DATA; - -typedef struct _NET_DVR_CARD_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; - DWORD dwErrorCode; - BYTE byStatus; // ״̬0-ʧܣ1-ɹ - BYTE byRes[23]; -}NET_DVR_CARD_STATUS, *LPNET_DVR_CARD_STATUS; - -typedef struct _NET_DVR_FACE_RECORD -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - DWORD dwFaceLen; //ݳ - BYTE* pFaceBuffer; //ָ - BYTE byRes[128]; -}NET_DVR_FACE_RECORD, *LPNET_DVR_FACE_RECORD; - -typedef struct _NET_DVR_FACE_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ4ʱʾѴӦĿ - DWORD dwReaderNo; //ţ·󷵻 - BYTE byRecvStatus; //״ֽ̬ڱʾ0-ʧܣ1-ɹ2-Ի3-ڴ()4-Ѵڸ5-ǷID - //,6-㷨ģʧܣ7-δ·Ȩޣ8-δ壨9-ۼСС10-ͼƬݳС1KB11-ͼƬʽpng/jpg/bmp,12-ͼƬޣ13-ͼƬޣ14-ͼƬϢУʧܣ15-ͼƬʧܣ16-ʧܣ17-ʧ - BYTE byRes[131]; -}NET_DVR_FACE_STATUS, *LPNET_DVR_FACE_STATUS; - -typedef struct _NET_DVR_FACE_COND -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //Ŀţʱòɲã - DWORD dwFaceNum; // ûȡȡʱΪ0xffffffffʾȡϢ - DWORD dwEnableReaderNo; // - BYTE byRes[124]; // -}NET_DVR_FACE_COND, *LPNET_DVR_FACE_COND; - -typedef struct _NET_DVR_FINGERPRINT_RECORD -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - DWORD dwFingerPrintLen; //ָݳ - DWORD dwEnableReaderNo; //Ҫ·ָƵĶ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byRes1[30]; - BYTE byFingerData[MAX_FINGER_PRINT_LEN]; //ָ - BYTE byRes[96]; -}NET_DVR_FINGERPRINT_RECORD, *LPNET_DVR_FINGERPRINT_RECORD; - -typedef struct _NET_DVR_FINGERPRINT_STATUS -{ - DWORD dwSize; - BYTE byCardNo[ACS_CARD_NO_LEN]; //ָƹĿ - BYTE byCardReaderRecvStatus; //ָƶ״ֽ̬ڱʾ0-ʧܣ1-ɹ2-ָģ鲻ߣ3-Իָ4-ڴ5-Ѵڸָƣ6-ѴڸָID7-ǷָID8-ָģ - BYTE byFingerPrintID; //ָţЧֵΧΪ1-10 - BYTE byFingerType; //ָ 0-ָͨƣ1-вָ - BYTE byRecvStatus; //״̬0-ɹ1-ָŴ2-ָʹ3-Ŵ󣨿Ź񲻷豸Ҫ󣩣4-ָδŻ򿨺ţŻ򿨺ֶΪգ5-Ųڣ6-ָݳΪ07-Ŵ8-Ŵ - BYTE byErrorMsg[ERROR_MSG_LEN]; //·ϢbyCardReaderRecvStatusΪ5ʱʾѴָƶӦĿ - DWORD dwCardReaderNo; //byCardReaderRecvStatusΪ5ʱʾѴָƶӦָƶţ·󷵻ء0ʱʾ޴Ϣ - BYTE byRes[20]; -}NET_DVR_FINGERPRINT_STATUS, *LPNET_DVR_FINGERPRINT_STATUS; - -typedef struct tagNET_DVR_FINGERPRINT_COND -{ - DWORD dwSize; - DWORD dwFingerprintNum; - BYTE byCardNo[ACS_CARD_NO_LEN]; - DWORD dwEnableReaderNo; - BYTE byFingerPrintID; - BYTE byRes[131]; -}NET_DVR_FINGERPRINT_COND, *LPNET_DVR_FINGERPRINT_COND; - -typedef struct tagNET_DVR_CAPTURE_DATA_COND -{ - DWORD dwSize; - char szPassword[128]; //Կַ - BYTE byRes[128]; -}NET_DVR_CAPTURE_DATA_COND, *LPNET_DVR_CAPTURE_DATA_COND; - -#define EZVIZ_CLASSSESSION_LEN 64 -#define EZVIZ_DEVICEID_LEN 32 -typedef struct tagNET_DVR_EZVIZ_USER_LOGIN_INFO -{ - char sEzvizServerAddress[NET_DVR_DEV_ADDRESS_MAX_LEN]; //Ʒַ - WORD wPort; //Ʒ˿ - BYTE byLogin; - BYTE byRes1[1]; - char sClassSession[EZVIZ_CLASSSESSION_LEN]; //ClassSession, һַÿͨʱҪ͸ - char sDeviceID[EZVIZ_DEVICEID_LEN]; //豸ID ɷ - BYTE byRes2[128]; -}NET_DVR_EZVIZ_USER_LOGIN_INFO, *LPNET_DVR_EZVIZ_USER_LOGIN_INFO; - -#define EZVIZ_REQURL_LEN 64 -#define EZVIZ_ACCESSTOKEN_LEN 128 -#define EZVIZ_CLIENTTYPE_LEN 32 -#define EZVIZ_FEATURECODE_LEN 64 -#define EZVIZ_OSVERSION_LEN 32 -#define EZVIZ_NETTYPE_LEN 32 -#define EZVIZ_SDKVERSION_LEN 32 -#define EZVIZ_APPID_LEN 64 -typedef struct tagNET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO -{ - char sEzvizServerAddress[NET_DVR_DEV_ADDRESS_MAX_LEN]; //Ʒַ - BYTE byRes1[3]; - WORD wPort; //Ʒ˿ - BYTE byRes2[2]; - char sUrl[EZVIZ_REQURL_LEN]; - char sAccessToken[EZVIZ_ACCESSTOKEN_LEN]; //accessToken, һַÿͨʱҪ͸ - char sDeviceID[EZVIZ_DEVICEID_LEN]; //豸ID ɷ - char sClientType[EZVIZ_CLIENTTYPE_LEN]; //ͻ: 0: PC-ؼ 1: ios 2: android - char sFeatureCode[EZVIZ_FEATURECODE_LEN]; //Ӳ - char sOsVersion[EZVIZ_OSVERSION_LEN]; //նϵͳ汾, : IOS 7.0.4, Android 2.3. - char sNetType[EZVIZ_NETTYPE_LEN]; //, UNKNOWN GPRS EDGE UMTS HSDPA HSUPA HSPA CDMAEVDO_0 EVDO_A EVDO_B 1xRTT IDEN WIFI - char sSdkVersion[EZVIZ_SDKVERSION_LEN]; //Sdk汾, v.1.0.20140720.45xx - char sAppID[EZVIZ_APPID_LEN]; //AppIDiosϱBundleIDAndroidϱ - BYTE byRes3[512]; -}NET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO, *LPNET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO; - - -#define MAX_ERROR_MSG_LEN 256 //󱨾Ϣ -//쳣 -typedef enum tagALARM_EXCEPTION_ERROR_ENUM -{ - ENUM_AEE_PARAM_ERROR = 1, // - ENUM_AEE_LENS_ERROR = 2, //Ȳƥڲṹ - ENUM_AEE_PIC_LENS_ERROR = 3, //ͼƬȲƥ - ENUM_AEE_DEVID_LENS_ERROR = 4, //DeviceIDȲƥ - ENUM_AEE_NEW_ALLOC_ERROR = 5, //ڴʧ - ENUM_AEE_JSON_FORMAT_ERROR = 6, //JOSNʽ - ENUM_AEE_XML_FORMAT_ERROR = 7, //XMLʽ - ENUM_AEE_BINARY_PIC_ERROR = 8, //ͼƬݴ쳣 - ENUM_AEE_PIC_NUM_ERROR = 9, //ͳͼƬ쳣 - ENUM_AEE_GET_BOUNDARY_ERROR = 10, //ȡboundary쳣 - ENUM_AEE_BOUNDARY_NUM_ERROR = 11, //ȡboundaryĿ쳣 -}ALARM_EXCEPTION_ERROR_ENUM; - -//쳣ṹ -typedef struct tagNET_ALARM_EXCEPTION -{ - DWORD dwAlarmType; // - BYTE byExceptionType; //쳣,μ ALARM_EXCEPTION_ERROR_ENUM - BYTE byRes[3]; // - char szErrMsg[MAX_ERROR_MSG_LEN]; //Ϣ - BYTE byRes1[248]; // -}NET_ALARM_EXCEPTION, *LPNET_ALARM_EXCEPTION; - - -enum ADDITIONAL_LIB -{ - PLAYCTRL = 0, - DSSDK, - STREAMCONVERT, - STREAMTRANS, - QOSSDK, - DLL_PATH_AUDIO, - EZVIZ_SSL_SDK, - ANALYZE_DATA_LIB, - DLL_LIBICONV, - SSLEAY32_SDK, - LIBEAY32_SDK, - HCNETUTILS_SDK, - NPQ_LIB, - LOAD_DLL_COUNT, -}; - -typedef struct tagNET_DVR_AUTOTEST_CFG_HEAD -{ - DWORD dwSize; - DWORD dwInfoType; //1ʾƵԣ3ʾԽ - DWORD dwRetResult; - DWORD dwDataBodySize; //ĽṹݴС - void* lpDataBody; //Ľṹ - BYTE byRes[32]; -}NET_DVR_AUTOTEST_CFG_HEAD,*LPNET_DVR_AUTOTEST_CFG_HEAD; - -//ƵԽṹ -typedef struct tagNET_DVR_AUTOTEST_VIDEO_CFG -{ - DWORD dwSplitScreenNums; //֧149 - DWORD dwVoCh; //Ĭд1 - DWORD dwInterface; //1ʾCVBS2ʾHDMI3ʾVGA4ʾHDMI -}NET_DVR_AUTOTEST_VIDEO_CFG,*LPNET_DVR_AUTOTEST_VIDEO_CFG; - -//ƵԽṹ -typedef struct tagNET_DVR_AUTOTEST_AUDIO_CFG -{ - DWORD dwVoCh; //Ĭд2 - DWORD dwOpen; //10 -}NET_DVR_AUTOTEST_AUDIO_CFG, *LPNET_DVR_AUTOTEST_AUDIO_CFG; - -typedef struct tagNET_LOCAL_AUDIOCAST_PARAM -{ - BYTE byAudioBitRate; //Ƶ ο BITRATE_ENCODE_INDEX - BYTE byAudioSamplingRate; //Ƶ 0-Ĭϣ1-16kHZ2-32kHZ3-48kHZ, 4- 44.1kHZ,5-8kHZ - BYTE byRes[30]; -}NET_LOCAL_AUDIOCAST_PARAM, *LPNET_LOCAL_AUDIOCAST_PARAM; - -typedef struct tagNET_LOCAL_AUDIOCAST_CFG -{ - NET_LOCAL_AUDIOCAST_PARAM struAudioCastParam[MAX_AUDIOCAST_CFG_TYPE]; //13Ԫطֱʾ MP3MPEG2AAC㲥ãӦԪزΪĬϲ͹㲥 - BYTE byRes[64]; -}NET_LOCAL_AUDIOCAST_CFG, *LPNET_LOCAL_AUDIOCAST_CFG; - -#if ((defined __linux__) || (defined _WIN64)) -typedef struct _NET_DVR_AUDIOENCInfo /* Ϣ */ -{ - DWORD in_frame_size; /* һ֡ݴС(BYTES)GetInfoParam */ - int reserved[16]; /* */ -} NET_DVR_AUDIOENC_INFO; -/* ģʽ */ -typedef enum _ENUM_AUDIO_ENC_MODE -{ - AMR_MR475_ = 0, /* 4.75 kb/s */ - AMR_MR515_, /* 5.15 kb/s */ - AMR_MR59_, /* 5.90 kb/s */ - AMR_MR67_, /* 6.70 kb/s */ - AMR_MR74_, /* 7.40 kb/s */ - AMR_MR795_, /* 7.95 kb/s */ - AMR_MR102_, /* 10.2 kb/s */ - AMR_MR122_, /* 12.2 kb/s */ - - AMR_MRDTX_, /* ֡ */ - AMR_N_MODES_ -}ENUM_AUDIO_ENC_MODE; -// Ƶ -typedef struct _NET_DVR_AUDIOENC_PROCESS_PARAM_ -{ - unsigned char *in_buf; /* buf */ - unsigned char *out_buf; /* buf */ - DWORD out_frame_size; /* һ֡BYTE */ - - int g726enc_reset; /* ÿ */ - int g711_type; /* g711,0 - U law, 1- A law */ - ENUM_AUDIO_ENC_MODE enc_mode; /* ƵģʽAMR */ - int reserved[16]; /* */ -}NET_DVR_AUDIOENC_PROCESS_PARAM; - -typedef struct _NET_DVR_AUDIODECInfo /* Ϣ */ -{ - int nchans; /* */ - int sample_rate; /* */ - int aacdec_profile; /* õĿ */ - int reserved[16]; /* */ -} NET_DVR_AUDIODEC_INFO; - -// Ƶ -typedef struct _NET_DVR_AUDIODEC_PROCESS_PARAM -{ - unsigned char *in_buf; /* buf */ - unsigned char *out_buf; /* buf */ - DWORD in_data_size; /* in_bufbyte */ - DWORD proc_data_size; /* ⴦in_bufݴСbytes */ - DWORD out_frame_size; /* һ֡BYTE */ - NET_DVR_AUDIODEC_INFO dec_info; /* Ϣ */ - - int g726dec_reset; /* ÿ */ - int g711_type; /* g711,0 - U law, 1- A law */ - int reserved[16]; /* */ -} NET_DVR_AUDIODEC_PROCESS_PARAM; - -const unsigned int G726_EBCIN_DECOUT_SIZE = 640; // G726һ֡һ֡ĴС -#if (defined __x86_64__) -const unsigned int G726_ENC_OUT_SIZE = 160; // G726һ֡С -const unsigned int G726_DEC_IN_SIZE = 200; // G726һ֡볤ȣ -#else // if (defined __i386__) -const unsigned int G726_ENC_OUT_SIZE = 80; // G726һ֡С -const unsigned int G726_DEC_IN_SIZE = 80; // G726һ֡볤ȣ -#endif // (defined __x86_64__) -#endif // (defined __linux__) - -/********************************SDKӿں*********************************/ -NET_DVR_API BOOL __stdcall NET_DVR_Init(); -NET_DVR_API BOOL __stdcall NET_DVR_Cleanup(); - -//NET_DVR_SetDVRMessageչ -#ifdef _WIN32 -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessage(UINT nMessage,HWND hWnd); -NET_DVR_API BOOL __stdcall NET_DVR_SetExceptionCallBack_V30(UINT nMessage, HWND hWnd, void (CALLBACK* fExceptionCallBack)(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser), void *pUser); -#elif defined(__linux__) || defined(__APPLE__) -NET_DVR_API BOOL __stdcall NET_DVR_SetExceptionCallBack_V30(UINT reserved1, void* reserved2, void (CALLBACK* fExceptionCallBack)(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser), void *pUser); -/*Linuxר */ -#if defined(__linux__) -NET_DVR_API BOOL NET_DVR_DrawAreaInit(INITINFO InitInfo, DWORD iUseSDL = 1); -NET_DVR_API BOOL NET_DVR_DrawAreaRelease(); -#endif -#endif - -NET_DVR_API BOOL __stdcall NET_DVR_LoadAllCom(); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack(BOOL (CALLBACK *fMessCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen)); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_EX(BOOL (CALLBACK *fMessCallBack_EX)(LONG lCommand,LONG lUserID,char *pBuf,DWORD dwBufLen)); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessCallBack_NEW(BOOL (CALLBACK *fMessCallBack_NEW)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, WORD dwLinkDVRPort)); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack(BOOL (CALLBACK *fMessageCallBack)(LONG lCommand,char *sDVRIP,char *pBuf,DWORD dwBufLen, DWORD dwUser), DWORD dwUser); -typedef void (CALLBACK *MSGCallBack)(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V30(MSGCallBack fMessageCallBack, void* pUser); -typedef BOOL (CALLBACK *MSGCallBack_V31)(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V31(MSGCallBack_V31 fMessageCallBack, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V50(int iIndex, MSGCallBack fMessageCallBack, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRMessageCallBack_V51(int iIndex, MSGCallBack fMsgCallBack, void* pUser); - -NET_DVR_API BOOL __stdcall NET_DVR_SetConnectTime(DWORD dwWaitTime = 3000, DWORD dwTryTimes = 3); -NET_DVR_API BOOL __stdcall NET_DVR_SetReconnect(DWORD dwInterval = 30000, BOOL bEnableRecon = TRUE); -NET_DVR_API DWORD __stdcall NET_DVR_GetSDKVersion(); -NET_DVR_API DWORD __stdcall NET_DVR_GetSDKBuildVersion(); -NET_DVR_API int __stdcall NET_DVR_IsSupport(); -NET_DVR_API BOOL __stdcall NET_DVR_StartListen(char *sLocalIP,WORD wLocalPort); -NET_DVR_API BOOL __stdcall NET_DVR_StopListen(); - -NET_DVR_API LONG __stdcall NET_DVR_StartListen_V30(char *sLocalIP, WORD wLocalPort, MSGCallBack DataCallback, void* pUserData = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_StopListen_V30(LONG lListenHandle); -NET_DVR_API LONG __stdcall NET_DVR_Login(char *sDVRIP,WORD wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo); -NET_DVR_API LONG __stdcall NET_DVR_Login_V30(char *sDVRIP, WORD wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo); - -NET_DVR_API LONG __stdcall NET_DVR_Login_V40(LPNET_DVR_USER_LOGIN_INFO pLoginInfo,LPNET_DVR_DEVICEINFO_V40 lpDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_Login_Check(char *sDVRIP, WORD wDVRPort, char *sUserName, char *sPassword, LPNET_DVR_DEVICEINFO_V30 lpDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_Logout(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_Logout_V30(LONG lUserID); -NET_DVR_API DWORD __stdcall NET_DVR_GetLastError(); -NET_DVR_API void __stdcall NET_DVR_GetLastErrorModelCode(DWORD *pModelCode, DWORD *pMErrDevSelfEx); -NET_DVR_API char* __stdcall NET_DVR_GetErrorMsg(LONG *pErrorNo = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_SetShowMode(DWORD dwShowType,COLORREF colorKey); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, WORD wServerPort, BYTE *sDVRName,WORD wDVRNameLen,BYTE *sDVRSerialNumber,WORD wDVRSerialLen,char* sGetIP); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRIPByResolveSvr_EX(char *sServerIP, WORD wServerPort, BYTE *sDVRName, WORD wDVRNameLen, BYTE *sDVRSerialNumber, WORD wDVRSerialLen, char* sGetIP, DWORD *dwPort); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRNAMEByResolveSvr(char const *sServerIP, WORD wServerPort, char const *sIP, char *sDVRName); - -//Ԥؽӿ -NET_DVR_API LONG __stdcall NET_DVR_PlayDirect(char *sDVRIP, char *sUserName, char *sPassword, \ - LPNET_DVR_CLIENTINFO lpClientInfo, void(CALLBACK *fRealDataCallBack_V30) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL, BOOL bBlocked = FALSE); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay(LONG lUserID,LPNET_DVR_CLIENTINFO lpClientInfo); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_V30(LONG lUserID, LPNET_DVR_CLIENTINFO lpClientInfo, void(CALLBACK *fRealDataCallBack_V30) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL, BOOL bBlocked = FALSE); -NET_DVR_API BOOL __stdcall NET_DVR_StopRealPlay(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_StopPlayDirect(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_RigisterDrawFun(LONG lRealHandle,void (CALLBACK* fDrawFun)(LONG lRealHandle,HDC hDc,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayerBufNumber(LONG lRealHandle,DWORD dwBufNum); -NET_DVR_API BOOL __stdcall NET_DVR_ThrowBFrame(LONG lRealHandle,DWORD dwNum); -NET_DVR_API BOOL __stdcall NET_DVR_SetAudioMode(DWORD dwMode); -NET_DVR_API BOOL __stdcall NET_DVR_OpenSound(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSound(); -NET_DVR_API BOOL __stdcall NET_DVR_OpenSoundShare(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSoundShare(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_Volume(LONG lRealHandle,WORD wVolume); -NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData(LONG lRealHandle,char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopSaveRealData(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBack(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetRealDataCallBackEx(LONG lRealHandle,void(CALLBACK *fRealDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void *pUser),void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetStandardDataCallBack(LONG lRealHandle,void(CALLBACK *fStdDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetStandardDataCallBackEx(LONG lRealHandle,void(CALLBACK *fStdDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void *pUser),void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetTransparentDataCallBack(LONG lRealHandle, void(CALLBACK *fTpDataCallBack) (LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void *pUser), void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture(LONG lRealHandle,char *sPicFileName);//bmp -NET_DVR_API BOOL __stdcall NET_DVR_SetCapturePictureMode(DWORD dwCaptureMode); - -//̬I֡ -NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrame(LONG lUserID, LONG lChannel);// -NET_DVR_API BOOL __stdcall NET_DVR_MakeKeyFrameSub(LONG lUserID, LONG lChannel);// - -//̨ؽӿ -NET_DVR_API BOOL __stdcall NET_DVR_PTZControl(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCommand,DWORD dwStop); -NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_Other(LONG lUserID,LONG lChannel,char *pPTZCodeBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex); -NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_Other(LONG lUserID,LONG lChannel,DWORD dwPTZPresetCmd,DWORD dwPresetIndex); -NET_DVR_API BOOL __stdcall NET_DVR_TransPTZ_EX(LONG lRealHandle,char *pPTZCodeBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControl_EX(LONG lRealHandle,DWORD dwPTZCommand,DWORD dwStop); -NET_DVR_API BOOL __stdcall NET_DVR_PTZPreset_EX(LONG lRealHandle,DWORD dwPTZPresetCmd,DWORD dwPresetIndex); -NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput); -NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_Other(LONG lUserID,LONG lChannel,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput); -NET_DVR_API BOOL __stdcall NET_DVR_PTZCruise_EX(LONG lRealHandle,DWORD dwPTZCruiseCmd,BYTE byCruiseRoute, BYTE byCruisePoint, WORD wInput); -NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack(LONG lRealHandle, DWORD dwPTZTrackCmd); -NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_Other(LONG lUserID, LONG lChannel, DWORD dwPTZTrackCmd); -NET_DVR_API BOOL __stdcall NET_DVR_PTZTrack_EX(LONG lRealHandle, DWORD dwPTZTrackCmd); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_Other(LONG lUserID, LONG lChannel, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed); -NET_DVR_API BOOL __stdcall NET_DVR_PTZControlWithSpeed_EX(LONG lRealHandle, DWORD dwPTZCommand, DWORD dwStop, DWORD dwSpeed); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCruise(LONG lUserID,LONG lChannel,LONG lCruiseRoute, LPNET_DVR_CRUISE_RET lpCruiseRet); - - -//ļط -NET_DVR_API LONG __stdcall NET_DVR_FindFile(LONG lUserID,LONG lChannel,DWORD dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile(LONG lFindHandle,LPNET_DVR_FIND_DATA lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_Card(LONG lFindHandle, LPNET_DVR_FINDDATA_CARD lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindClose(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V30(LONG lFindHandle, LPNET_DVR_FINDDATA_V30 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V40(LONG lFindHandle, LPNET_DVR_FINDDATA_V40 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_V50(LONG lFindHandle, LPNET_DVR_FINDDATA_V50 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_V30(LONG lUserID, LPNET_DVR_FILECOND pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_V50(LONG lUserID, LPNET_DVR_FILECOND_V50 pFindCond); -NET_DVR_API BOOL __stdcall NET_DVR_FindClose_V30(LONG lFindHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_LockFileByName(LONG lUserID, char *sLockFileName); -NET_DVR_API BOOL __stdcall NET_DVR_UnlockFileByName(LONG lUserID, char *sUnlockFileName); -NET_DVR_API BOOL __stdcall NET_DVR_LockFileByNameV40(LONG lUserID, BOOL bLock, const NET_DVR_LOCK_FILE_BY_NAME_PARA *lpLockFilePara); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName(LONG lUserID,char *sPlayBackFileName, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByName(LONG lUserID, char *sPlayBackFileName, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByName_V50(LONG lUserID, LPNET_DVR_PLAY_BY_NAME_PARA pParam); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByName_V50(LONG lUserID, LPNET_DVR_PLAY_BY_NAME_PARA pParam); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_PCNVR(LONG lUserID, NET_DVR_PLAYBCK_BYTIME_COND_PCNVR const *pPlaybackParams); - -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl(LONG lPlayHandle,DWORD dwControlCode,DWORD dwInValue,DWORD *LPOutValue); -NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBack(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayBackESCallBack(LONG lPlayHandle, void (CALLBACK *fPlayESCallBack)(LONG lPlayHandle, NET_DVR_PACKET_INFO_EX *struPackInfo, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlayDataCallBack_V40(LONG lPlayHandle,void(CALLBACK *fPlayDataCallBack_V40) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void *pUser),void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackSaveData(LONG lPlayHandle,char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopPlayBackSave(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPlayBackOsdTime(LONG lPlayHandle, LPNET_DVR_TIME lpOsdTime); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackCaptureFile(LONG lPlayHandle,char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByName(LONG lUserID,char *sDVRFileName,char *sSavedFileName); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByName_V50(LONG lUserID, LPNET_DVR_DOWNLOAD_BY_NAME_COND pParam); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime(LONG lUserID,LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopGetFile(LONG lFileHandle); -NET_DVR_API int __stdcall NET_DVR_GetDownloadPos(LONG lFileHandle); -NET_DVR_API int __stdcall NET_DVR_GetPlayBackPos(LONG lPlayHandle); - -// -NET_DVR_API LONG __stdcall NET_DVR_AdapterUpgrade(LONG lUserID, char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_Upgrade(LONG lUserID, char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_VcalibUpgrade(LONG lUserID, LONG lChannel, char const *sFileName); -NET_DVR_API int __stdcall NET_DVR_GetUpgradeState(LONG lUpgradeHandle); -NET_DVR_API int __stdcall NET_DVR_GetUpgradeProgress(LONG lUpgradeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseUpgradeHandle(LONG lUpgradeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetNetworkEnvironment(DWORD dwEnvironmentLevel); -//Զ̸ʽӲ -NET_DVR_API LONG __stdcall NET_DVR_FormatDisk(LONG lUserID,LONG lDiskNumber); -NET_DVR_API LONG __stdcall NET_DVR_FormatDisk_V50(LONG lUserID, NET_DVR_FORMAT_HDD *lpStruHddFormatCond); -NET_DVR_API BOOL __stdcall NET_DVR_GetFormatProgress(LONG lFormatHandle, LONG *pCurrentFormatDisk,LONG *pCurrentDiskPos,LONG *pFormatStatic); -NET_DVR_API BOOL __stdcall NET_DVR_CloseFormatHandle(LONG lFormatHandle); -// -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan(LONG lAlarmHandle); -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V30(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_CloseAlarmChan_V30(LONG lAlarmHandle); -//Խ -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser); -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_V30(LONG lUserID, DWORD dwVoiceChan, BOOL bNeedCBNoEncData, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceComClientVolume(LONG lVoiceComHandle, WORD wVolume); -NET_DVR_API BOOL __stdcall NET_DVR_StopVoiceCom(LONG lVoiceComHandle); -//ת -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR(LONG lUserID, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, DWORD dwUser), DWORD dwUser); -NET_DVR_API LONG __stdcall NET_DVR_StartVoiceCom_MR_V30(LONG lUserID, DWORD dwVoiceChan, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_VoiceComSendData(LONG lVoiceComHandle, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetCurrentAudioCompress(LONG lUserID, LPNET_DVR_COMPRESSION_AUDIO lpCompressAudio); -NET_DVR_API BOOL __stdcall NET_DVR_GetCurrentAudioCompress_V50(LONG lUserID, LPNET_DVR_AUDIO_CHANNEL lpAudioChannel, LPNET_DVR_COMPRESSION_AUDIO lpCompressAudio); -//㲥 -NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart(); -NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStart_V30(void(CALLBACK *fVoiceDataCallBack)(char *pRecvDataBuffer, DWORD dwBufSize, void * pUser), void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_ClientAudioStop(); -NET_DVR_API BOOL __stdcall NET_DVR_AddDVR(LONG lUserID); -NET_DVR_API LONG __stdcall NET_DVR_AddDVR_V30(LONG lUserID, DWORD dwVoiceChan); -NET_DVR_API BOOL __stdcall NET_DVR_DelDVR(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_DelDVR_V30(LONG lVoiceHandle); -//͸ͨ -NET_DVR_API LONG __stdcall NET_DVR_SerialStart(LONG lUserID,LONG lSerialPort,void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle,char *pRecvDataBuffer,DWORD dwBufSize,DWORD dwUser),DWORD dwUser); -//485Ϊ͸ͨʱҪָͨţΪͬͨ485ÿԲͬ(粨) -NET_DVR_API LONG __stdcall NET_DVR_SerialStart_V40(LONG lUserID,void* lpInBuffer, LONG dwInBufferSize, void(CALLBACK *fSerialDataCallBack)(LONG lSerialHandle, LONG lCHannel, char *pRecvDataBuffer, DWORD dwBufSize, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SerialSend(LONG lSerialHandle, LONG lChannel, char *pSendBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_SerialStop(LONG lSerialHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SendTo232Port(LONG lUserID, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_SendToSerialPort(LONG lUserID, DWORD dwSerialPort, DWORD dwSerialIndex, char *pSendBuf, DWORD dwBufSize); - -#if (!defined __linux__) && (!defined _WIN64) -//Decoding nBitrate = 16000 -NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(int nBitrate = 16000); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *pDecHandle, BYTE* pInBuffer, BYTE* pOutBuffer); -//Encoding -NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder(); -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *pEncodeHandle, BYTE* pInBuffer, BYTE* pOutBuffer); -#elif ((defined __linux__) || (defined _WIN64)) -NET_DVR_API void* __stdcall NET_DVR_InitG722Decoder(); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG722Frame(void *handle, NET_DVR_AUDIODEC_PROCESS_PARAM * param); -//Encoding -NET_DVR_API void* __stdcall NET_DVR_InitG722Encoder(NET_DVR_AUDIOENC_INFO* enc_info); -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG722Frame(void *handle, NET_DVR_AUDIOENC_PROCESS_PARAM* param); -#endif // _WIN32 -NET_DVR_API void __stdcall NET_DVR_ReleaseG722Decoder(void *pDecHandle); -NET_DVR_API void __stdcall NET_DVR_ReleaseG722Encoder(void *pEncodeHandle); - -// -NET_DVR_API void* __stdcall NET_DVR_InitG726Decoder(void** pDecMoudle); -NET_DVR_API void __stdcall NET_DVR_ReleaseG726Decoder(void *pDecHandle); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG726Frame(void *pDecMoudle, BYTE* pInBuffer, BYTE* pOutBuffer, BYTE byReset); - -// -NET_DVR_API void* __stdcall NET_DVR_InitG726Encoder(void** pEncMoudle); -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG726Frame(void *pEncMoudle, BYTE* pInBuffer, BYTE* pOutBuffer, BYTE byReset); -NET_DVR_API void __stdcall NET_DVR_ReleaseG726Encoder(void *pEncHandle); - -//Զ̿Ʊʾ -NET_DVR_API BOOL __stdcall NET_DVR_ClickKey(LONG lUserID, LONG lKeyIndex); - -NET_DVR_API BOOL __stdcall NET_DVR_DoorBellControl(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_Preview(LONG lUserID, LONG lPicNum); -NET_DVR_API BOOL __stdcall NET_DVR_PreviewOne(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackByNameLocDisplay(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackByTimeLocDisplay(LONG lUserID, LONG lChannel, NET_DVR_TIME const *lpStartTime, NET_DVR_TIME const *lpStopTime); -NET_DVR_API BOOL __stdcall NET_DVR_StopLocDisplayPlay(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_PlayControlLocDisplay(LONG lUserID, DWORD dwControlCode); -//Զ̿豸ֶ¼ -NET_DVR_API BOOL __stdcall NET_DVR_StartDVRRecord(LONG lUserID,LONG lChannel,LONG lRecordType); -NET_DVR_API BOOL __stdcall NET_DVR_StopDVRRecord(LONG lUserID,LONG lChannel); -//뿨 -NET_DVR_API BOOL __stdcall NET_DVR_InitDevice_Card(long *pDeviceTotalChan); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDevice_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_InitDDraw_Card(HWND hParent,COLORREF colorKey); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDraw_Card(); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_Card(LONG lUserID,LPNET_DVR_CARDINFO lpCardInfo,long lChannelNum); -NET_DVR_API BOOL __stdcall NET_DVR_ResetPara_Card(LONG lRealHandle,LPNET_DVR_DISPLAY_PARA lpDisplayPara); -NET_DVR_API BOOL __stdcall NET_DVR_RefreshSurface_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_ClearSurface_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_RestoreSurface_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_OpenSound_Card(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSound_Card(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetVolume_Card(LONG lRealHandle,WORD wVolume); -NET_DVR_API BOOL __stdcall NET_DVR_AudioPreview_Card(LONG lRealHandle,BOOL bEnable); -NET_DVR_API LONG __stdcall NET_DVR_GetCardLastError_Card(); -NET_DVR_API BOOL __stdcall NET_DVR_SetDspErrMsg_Card(DWORD dwMessage, HANDLE hWnd); -NET_DVR_API BOOL __stdcall NET_DVR_ResetDSP_Card(LONG iChannelNum); -NET_DVR_API HANDLE __stdcall NET_DVR_GetChanHandle_Card(LONG lRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture_Card(LONG lRealHandle, char *sPicFileName); -NET_DVR_API BOOL __stdcall NET_DVR_GetSerialNum_Card(long lChannelNum,DWORD *pDeviceSerialNo); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog(LONG lUserID, LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog(LONG lLogHandle, LPNET_DVR_LOG lpLogData); -NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose(LONG lLogHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_V30(LONG lUserID, LONG lSelectMode, DWORD dwMajorType,DWORD dwMinorType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, BOOL bOnlySmart = FALSE); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_V30(LONG lLogHandle, LPNET_DVR_LOG_V30 lpLogData); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_V50(LONG lUserID, LPNET_DVR_FIND_LOG_COND pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_V50(LONG lLogHandle, LPNET_DVR_LOG_V50 lpLogData); -NET_DVR_API BOOL __stdcall NET_DVR_FindLogClose_V30(LONG lLogHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindAlarmHostLog(LONG lUserID, LONG lSelectMode, NET_DVR_ALARMHOST_SEARCH_LOG_PARAM *lpSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextAlarmHostLog(LONG lFindHandle, NET_DVR_ALARMHOST_LOG_RET *lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindAlarmHostLogClose(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_PCNVR(LONG lUserID, LPNET_DVR_FILE_COND_PCNVR const pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFile_PCNVR(LONG lFindHandle, LPNET_DVR_FINDDATA_PCNVR lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindClose_PCNVR(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindFileByCard(LONG lUserID,LONG lChannel,DWORD dwFileType, int nFindType, BYTE *sCardNumber, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sPicFileName); -NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture_NEW(LONG lUserID, LONG lChannel, LPNET_DVR_JPEGPARA lpJpegPara, char *sJpegPicBuffer, DWORD dwPicSize, LPDWORD lpSizeReturned); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePicture_V50(LONG lUserID, LONG lChannel, LPNET_DVR_PICPARAM_V50 lpPicParam, char *sPicBuffer, DWORD dwPicSize, LPDWORD lpSizeReturned); -NET_DVR_API BOOL __stdcall NET_DVR_CaptureJPEGPicture_WithAppendData(LONG lUserID, LONG lChannel, NET_DVR_JPEGPICTURE_WITH_APPENDDATA *lpJpegWithAppend); -NET_DVR_API BOOL __stdcall NET_DVR_GetRealPlayOsdTime(LONG iRealHandle, LPNET_DVR_TIME lpOsdTime); -NET_DVR_API BOOL __stdcall NET_DVR_RealPlayPause(LONG iRealHandle); -NET_DVR_API BOOL __stdcall NET_DVR_RealPlayRestart(LONG iRealHandle, HWND hPlayWnd); -NET_DVR_API int __stdcall NET_DVR_GetRealPlayerIndex(LONG lRealHandle); -NET_DVR_API int __stdcall NET_DVR_GetPlayBackPlayerIndex(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG(LONG lUserID, DWORD dwScale); -NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG(LONG lUserID, DWORD *lpOutScale); -NET_DVR_API BOOL __stdcall NET_DVR_SetScaleCFG_V30(LONG lUserID, LPNET_DVR_SCALECFG pScalecfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetScaleCFG_V30(LONG lUserID, LPNET_DVR_SCALECFG pScalecfg); -NET_DVR_API BOOL __stdcall NET_DVR_SetATMPortCFG(LONG lUserID, WORD wATMPort); -NET_DVR_API BOOL __stdcall NET_DVR_GetATMPortCFG(LONG lUserID, WORD *LPOutATMPort); -NET_DVR_API BOOL __stdcall NET_DVR_InitDDrawDevice(); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseDDrawDevice(); -NET_DVR_API LONG __stdcall NET_DVR_GetDDrawDeviceTotalNums(); -NET_DVR_API BOOL __stdcall NET_DVR_SetDDrawDevice(LONG lPlayPort, DWORD nDeviceNum); - -NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn(LONG lRealHandle, LPNET_DVR_POINT_FRAME pStruPointFrame); -NET_DVR_API BOOL __stdcall NET_DVR_PTZSelZoomIn_EX(LONG lUserID, LONG lChannel, LPNET_DVR_POINT_FRAME pStruPointFrame); -NET_DVR_API BOOL __stdcall NET_DVR_StartDecode(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERINFO lpDecoderinfo); -NET_DVR_API BOOL __stdcall NET_DVR_StopDecode(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecoderState(LONG lUserID, LONG lChannel, LPNET_DVR_DECODERSTATE lpDecoderState); -NET_DVR_API BOOL __stdcall NET_DVR_SetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecInfo(LONG lUserID, LONG lChannel, LPNET_DVR_DECCFG lpDecoderinfo); -NET_DVR_API BOOL __stdcall NET_DVR_SetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecTransPort(LONG lUserID, LPNET_DVR_PORTCFG lpTransPort); -NET_DVR_API BOOL __stdcall NET_DVR_DecPlayBackCtrl(LONG lUserID, LONG lChannel, DWORD dwControlCode, DWORD dwInValue,DWORD *LPOutValue, LPNET_DVR_PLAYREMOTEFILE lpRemoteFileInfo); -NET_DVR_API BOOL __stdcall NET_DVR_StartDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo); -NET_DVR_API BOOL __stdcall NET_DVR_StopDecSpecialCon(LONG lUserID, LONG lChannel, LPNET_DVR_DECCHANINFO lpDecChanInfo); -NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlDec(LONG lUserID, LONG lChannel, DWORD dwControlCode); -NET_DVR_API BOOL __stdcall NET_DVR_DecCtrlScreen(LONG lUserID, LONG lChannel, DWORD dwControl); -NET_DVR_API BOOL __stdcall NET_DVR_GetDecCurLinkStatus(LONG lUserID, LONG lChannel, LPNET_DVR_DECSTATUS lpDecStatus); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DYNAMIC_DEC lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStopDynamic(LONG lUserID, DWORD dwDecChanNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecEnable(LONG lUserID, LPDWORD lpdwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, DWORD dwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanEnable(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwEnable); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_STATUS lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetVideoStandard(LONG lUserID, DWORD dwDecChanNum, LPDWORD lpdwVideoStandard); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetVideoStandard(LONG lUserID, DWORD dwDecChanNum, DWORD dwVideoStandard); - -//2007-12-22 ֽ֧ӿ -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetTranInfo(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTranInfo(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlay(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlayControl(LONG lUserID, DWORD dwDecChanNum, DWORD dwControlCode, DWORD dwInValue, DWORD *LPOutValue); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetRemotePlayStatus(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_STATUS lpOuter); -//2009-4-13 -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PU_STREAM_CFG lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo_V30(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetTranInfo_V30(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTranInfo_V30(LONG lUserID, LPNET_DVR_MATRIX_TRAN_CHAN_CONFIG_V30 lpTranInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDisplayCfg(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDisplayCfg(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG lpDisplayCfg); - -NET_DVR_API LONG __stdcall NET_DVR_MatrixStartPassiveDecode(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_PASSIVEMODE lpPassiveMode /*, void(CALLBACK *fPassiveDataCallBack)(LONG lPassiveHandle, char * pSendBuf, DWORD dwBufSize, DWORD dwStatus, DWORD dwUser), DWORD dwUser*/); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSendData(LONG lPassiveHandle, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStopPassiveDecode(LONG lPassiveHandle); -NET_DVR_API BOOL __stdcall NET_DVR_UploadLogo(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_DISP_LOGOCFG lpDispLogoCfg, char *sLogoBuffer); -#define NET_DVR_SHOWLOGO 1 /*ʾLOGO*/ -#define NET_DVR_HIDELOGO 2 /*LOGO*/ -NET_DVR_API BOOL __stdcall NET_DVR_LogoSwitch(LONG lUserID, DWORD dwDecChan, DWORD dwLogoSwitch); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDeviceStatus(LONG lUserID, LPNET_DVR_DECODER_WORK_STATUS lpDecoderCfg); - -#define DISP_CMD_ENLARGE_WINDOW 1 /*ʾͨŴij*/ -#define DISP_CMD_RENEW_WINDOW 2 /*ʾͨڻԭ*/ -#define DISP_CMD_OPENAUDIO 3 /*ʾͨƵ*/ -#define DISP_CMD_CLOSEAUDIO 4 /*ʾͨرƵ*/ - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDiaplayControl(LONG lUserID, DWORD dwDispChanNum, DWORD dwDispChanCmd, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixPassiveDecodeControl(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PASSIVEDECODE_CONTROL lpInter); -NET_DVR_API LONG __stdcall NET_DVR_MatrixGetPassiveDecodeStatus(LONG lPassiveHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanCfg(LONG lUserID, DWORD dwDecChan, LPNET_DVR_MATRIX_DECCHAN_CONTROL lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDecChanCfg(LONG lUserID, DWORD dwDecChan, LPNET_DVR_MATRIX_DECCHAN_CONTROL lpInter); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_NEW(LONG lUserID, LONG lChannel, NET_DVR_TIME const *lpStartTime, NET_DVR_TIME const *lpStopTime, LONG lLongitude, LONG lLatitude, HWND hWnd); -NET_DVR_API BOOL __stdcall NET_DVR_RefreshPlay(LONG lPlayHandle); - -//ָĬֵ -NET_DVR_API BOOL __stdcall NET_DVR_RestoreConfig(LONG lUserID); -// -NET_DVR_API BOOL __stdcall NET_DVR_SaveConfig(LONG lUserID); -// -NET_DVR_API BOOL __stdcall NET_DVR_RebootDVR(LONG lUserID); -//رDVR -NET_DVR_API BOOL __stdcall NET_DVR_ShutDownDVR(LONG lUserID); - -// begin -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpOutBuffer, DWORD dwOutBufferSize, LPDWORD lpBytesReturned); -NET_DVR_API BOOL __stdcall NET_DVR_SetDVRConfig(LONG lUserID, DWORD dwCommand,LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState_V30(LONG lUserID, LPNET_DVR_WORKSTATE_V30 lpWorkState); -NET_DVR_API BOOL __stdcall NET_DVR_GetDVRWorkState(LONG lUserID, LPNET_DVR_WORKSTATE lpWorkState); -NET_DVR_API BOOL __stdcall NET_DVR_SetVideoEffect(LONG lUserID, LONG lChannel, DWORD dwBrightValue, DWORD dwContrastValue, DWORD dwSaturationValue, DWORD dwHueValue); -NET_DVR_API BOOL __stdcall NET_DVR_GetVideoEffect(LONG lUserID, LONG lChannel, DWORD *pBrightValue, DWORD *pContrastValue, DWORD *pSaturationValue, DWORD *pHueValue); -NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat(LONG lUserID, LPNET_DVR_FRAMEFORMAT lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_ClientGetframeformat_V30(LONG lUserID, LPNET_DVR_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_ClientSetframeformat_V30(LONG lUserID, LPNET_DVR_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_GetAtmFrameFormat_V30(LONG lUserID, LONG lAtmChannel, LPNET_DVR_ATM_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_SetAtmFrameFormat_V30(LONG lUserID, LONG lAtmChannel, LPNET_DVR_ATM_FRAMEFORMAT_V30 lpFrameFormat); -NET_DVR_API BOOL __stdcall NET_DVR_GetAtmProtocol(LONG lUserID, LPNET_DVR_ATM_PROTOCOL lpAtmProtocol); -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut_V30(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS_V30 lpAlarmOutState); -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmOut(LONG lUserID, LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmOut(LONG lUserID, LONG lAlarmOutPort,LONG lAlarmOutStatic); - -//Ƶ -NET_DVR_API BOOL __stdcall NET_DVR_ClientSetVideoEffect(LONG lRealHandle,DWORD dwBrightValue,DWORD dwContrastValue, DWORD dwSaturationValue,DWORD dwHueValue); -NET_DVR_API BOOL __stdcall NET_DVR_ClientGetVideoEffect(LONG lRealHandle,DWORD *pBrightValue,DWORD *pContrastValue, DWORD *pSaturationValue,DWORD *pHueValue); - -//ļ -NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_V30(LONG lUserID, char *sOutBuffer, DWORD dwOutSize, DWORD *pReturnSize); - -NET_DVR_API BOOL __stdcall NET_DVR_GetConfigFile_EX(LONG lUserID, char *sOutBuffer, DWORD dwOutSize); -NET_DVR_API BOOL __stdcall NET_DVR_SetConfigFile_EX(LONG lUserID, char *sInBuffer, DWORD dwInSize); - -//־ļдӿ -NET_DVR_API BOOL __stdcall NET_DVR_SetLogToFile(DWORD nLogLevel = 0, char * strLogDir = NULL, BOOL bAutoDel = TRUE); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKState(LPNET_DVR_SDKSTATE pSDKState); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKAbility(LPNET_DVR_SDKABL pSDKAbl); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZProtocol(LONG lUserID, NET_DVR_PTZCFG *pPtzcfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCtrl_Other(LONG iUserID, LONG iChannel); -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZCtrl(LONG iRealHandle); -//ǰ -NET_DVR_API BOOL __stdcall NET_DVR_LockPanel(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_UnLockPanel(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_StartPanelKey(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_StopPanelKey(LONG lUserID); - -NET_DVR_API BOOL __stdcall NET_DVR_SetRtspConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_RTSPCFG lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetRtspConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_RTSPCFG lpOutBuffer, DWORD dwOutBufferSize); - -//ȡ -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceAbility(LONG lUserID, DWORD dwAbilityType, char* pInBuf, DWORD dwInLength, char* pOutBuf, DWORD dwOutLength); -NET_DVR_API BOOL __stdcall NET_DVR_SetSimAbilityPath(char * szSimAbilityPath, char *szSDCard); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubSystemInfo(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetSubSystemInfo(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetCodeSplitter(LONG lUserID, DWORD dwCodeChan, LPNET_DVR_CODESPLITTERINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetCodeSplitter(LONG lUserID, DWORD dwCodeChan, LPNET_DVR_CODESPLITTERINFO lpInter); - -// -///ȡؼ -NET_DVR_API BOOL __stdcall NET_DVR_SetBehaviorParamKey(LONG lUserID, LONG lChannel, DWORD dwParameterKey,int nValue); -NET_DVR_API BOOL __stdcall NET_DVR_GetBehaviorParamKey(LONG lUserID, LONG lChannel, DWORD dwParameterKey,int *pValue); - -//ȡ/ΪĿӽӿ -NET_DVR_API BOOL __stdcall NET_DVR_GetVCADrawMode(LONG lUserID, LONG lChannel, LPNET_VCA_DRAW_MODE lpDrawMode); - - - -NET_DVR_API BOOL __stdcall NET_DVR_SetVCADrawMode(LONG lUserID, LONG lChannel, LPNET_VCA_DRAW_MODE lpDrawMode); - -//ģʽýӿ -NET_DVR_API BOOL __stdcall NET_DVR_SetTrackMode(LONG lUserID, LONG lChannel, LPNET_DVR_TRACK_MODE lpTrackMode); -NET_DVR_API BOOL __stdcall NET_DVR_GetTrackMode(LONG lUserID, LONG lChannel, LPNET_DVR_TRACK_MODE lpTrackMode); - -//ܿ -NET_DVR_API BOOL __stdcall NET_VCA_RestartLib(LONG lUserID, LONG lChannel); - -NET_DVR_API BOOL __stdcall NET_DVR_SaveRealData_V30(LONG lRealHandle, DWORD dwTransType, char *sFileName); - -#if ((!defined __linux__) && (!defined _WIN64)) -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG711Frame(DWORD iType, BYTE *pInBuffer, BYTE *pOutBuffer); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG711Frame(DWORD iType, BYTE *pInBuffer, BYTE *pOutBuffer); -#elif ((defined __linux__) || (defined _WIN64)) -NET_DVR_API BOOL __stdcall NET_DVR_EncodeG711Frame(LPVOID handle, NET_DVR_AUDIOENC_PROCESS_PARAM *p_enc_proc_param); -NET_DVR_API BOOL __stdcall NET_DVR_DecodeG711Frame(LPVOID handle, NET_DVR_AUDIODEC_PROCESS_PARAM *p_dec_proc_param); -NET_DVR_API LPVOID __stdcall NET_DVR_InitG711Decoder(); -NET_DVR_API LPVOID __stdcall NET_DVR_InitG711Encoder(NET_DVR_AUDIOENC_INFO *enc_info); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseG711Encoder(LPVOID pEncodeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseG711Decoder(LPVOID pDecHandle); -#endif //(defined _WIN32) - -NET_DVR_API LONG __stdcall NET_DVR_FindFileByEvent(LONG lUserID, LPNET_DVR_SEARCH_EVENT_PARAM lpSearchEventParam); -NET_DVR_API LONG __stdcall NET_DVR_FindFileByEvent_V40(LONG lUserID, LPNET_DVR_SEARCH_EVENT_PARAM_V40 lpSearchEventParam); -NET_DVR_API LONG __stdcall NET_DVR_FindFileByEvent_V50(LONG lUserID, LPNET_DVR_SEARCH_EVENT_PARAM_V50 lpSearchEventParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextEvent(LONG lSearchHandle, LPNET_DVR_SEARCH_EVENT_RET lpSearchEventRet); -NET_DVR_API LONG __stdcall NET_DVR_FindNextEvent_V40(LONG lSearchHandle, LPNET_DVR_SEARCH_EVENT_RET_V40 lpSearchEventRet); -NET_DVR_API LONG __stdcall NET_DVR_FindNextEvent_V50(LONG lFindHandle, LPNET_DVR_SEARCH_EVENT_RET_V50 lpSearchEventRet); -//ֹͣ NET_DVR_FindClose - -NET_DVR_API LONG __stdcall NET_DVR_FindPDCInfo(LONG lUserID, LONG lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPDCInfo(LONG lFindHandle,LPNET_DVR_PDC_QUERY lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindPDCClose(LONG lFindHandle); - -// 궨У -#define NET_DVR_PDC_VERIFY_CALIBRATION 1 //ֵΪ1ΪPDC궨У pdcֵΪNET_VCA_POINT ֵΪ NET_VCA_RECTṹ -#define NET_DVR_VERIFY_BEHAVIOR_CALIBRATION 2 // Ϊ궨У -#define NET_DVR_VERIFY_ITS_CALIBRATION 3 // ܽͨ궨У -#define NET_DVR_VERIFY_BV_CALIBRATION 5 //˫Ŀ궨У - -NET_DVR_API BOOL __stdcall NET_DVR_VerifyCalibration(LONG lUserID, DWORD dwCommand, LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpOuterBuffer, DWORD dwOuterBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_ResetCounter(LONG lUserID,LONG lChannel); - -NET_DVR_API BOOL __stdcall NET_DVR_GetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API BOOL __stdcall NET_DVR_GetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLog_MATRIX(LONG lLogHandle, LPNET_DVR_LOG_MATRIX lpLogData); -NET_DVR_API LONG __stdcall NET_DVR_FindDVRLog_Matrix(LONG lUserID, LONG lSelectMode, DWORD dwMajorType, DWORD dwMinorType, LPNET_DVR_VEDIOPLATLOG lpVedioPlatLog, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime); - -NET_DVR_API BOOL __stdcall NET_DVR_ManualSnap(LONG lUserID, NET_DVR_MANUALSNAP const* lpInter, LPNET_DVR_PLATE_RESULT lpOuter); -NET_DVR_API BOOL __stdcall NET_DVR_ContinuousShoot(LONG lUserID, LPNET_DVR_SNAPCFG lpInter); - -NET_DVR_API BOOL __stdcall NET_DVR_GetPTZProtocol_Ex(LONG lUserID, LONG lChannel, NET_DVR_PTZCFG *pPtzcfg); - -NET_DVR_API LONG __stdcall NET_DVR_StartEmailTest(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_StopEmailTest(LONG lEmailTestHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetEmailTestProgress(LONG lEmailTestHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_GetIPCProtoList(LONG lUserID, LPNET_DVR_IPC_PROTO_LIST lpProtoList); -NET_DVR_API BOOL __stdcall NET_DVR_GetIPCProtoList_V41(LONG lUserID, LPNET_DVR_IPC_PROTO_LIST_V41 lpProtoList); -NET_DVR_API LONG __stdcall NET_DVR_SmartSearch(LONG lUserID, LPNET_DVR_SMART_SEARCH_PARAM lpSmartSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_SmartSearch_V40(LONG lUserID, LPNET_DVR_SMART_SEARCH_PARAM_V40 lpSmartSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_SearchNextInfo(LONG lSearchHandle, LPNET_DVR_SMART_SEARCH_RET lpSmartSearchRet); -NET_DVR_API BOOL __stdcall NET_DVR_StopSearch(LONG lSearchHandle); - -// IP San ļĿ¼ -NET_DVR_API LONG __stdcall NET_DVR_FindIpSanDirectory(LONG lUserID, LPNET_DVR_IPSAN_SERACH_PARAM lpIpsanSearchParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextDirectory(LONG lFindHandle, LPNET_DVR_IPSAN_SERACH_RET lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindDirectoryClose(LONG lFindHandle); - -typedef void (CALLBACK *REALDATACALLBACK) (LONG lPlayHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser); - -NET_DVR_API LONG __stdcall NET_DVR_ZeroStartPlay(LONG lUserID, LPNET_DVR_CLIENTINFO lpClientInfo, REALDATACALLBACK fRealDataCallBack_V30 = NULL, void* pUser = NULL, BOOL bBlocked = TRUE); - -NET_DVR_API BOOL __stdcall NET_DVR_ZeroStopPlay(LONG lPlayHandle); -NET_DVR_API BOOL __stdcall NET_DVR_ZeroMakeKeyFrame(LONG lUserID, LONG lZeroChan); -NET_DVR_API BOOL __stdcall NET_DVR_PlayBackControl_V40(LONG lPlayHandle,DWORD dwControlCode, LPVOID lpInBuffer = NULL, DWORD dwInLen = 0, LPVOID lpOutBuffer = NULL, DWORD *lpOutLen = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_ZeroTurnOver(LONG lUserID, LONG lChannel, BOOL bNextPreview); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_Card_V30(LONG lUserID, NET_DVR_CARDINFO const *lpCardInfo, LONG lChannelNum, DWORD dwMode, BOOL bBlock, REALDATACALLBACK fRealDataCallBack_V30, void* pUser); - - -NET_DVR_API BOOL __stdcall NET_DVR_GetDiskList(LONG lUserID, LPNET_DVR_DISKABILITY_LIST lpDiskList); -NET_DVR_API LONG __stdcall NET_DVR_Backup(LONG lUserID, DWORD dwBackupType, LPVOID lpBackupBuff, DWORD dwBackupBuffSize); -NET_DVR_API LONG __stdcall NET_DVR_BackupByName(LONG lUserID, LPNET_DVR_BACKUP_NAME_PARAM lpBackupByName); -NET_DVR_API LONG __stdcall NET_DVR_BackupByTime(LONG lUserID, LPNET_DVR_BACKUP_TIME_PARAM lpBackupBytime); -NET_DVR_API BOOL __stdcall NET_DVR_GetBackupProgress(LONG lHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_StopBackup(LONG lHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_GetSadpInfoList(LONG lUserID, LPNET_DVR_SADPINFO_LIST lpSadpInfoList); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateSadpInfo(LONG lUserID, LPNET_DVR_SADP_VERIFY lpSadpVerify, LPNET_DVR_SADPINFO lpSadpInfo); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubDecSystemJoinInfo(LONG lUserID, LPNET_DVR_ALLDECSUBSYSTEMJOININFO lpInter); - -NET_DVR_API BOOL __stdcall NET_DVR_SetCodeSplitterAssociate(LONG lUserID, DWORD dwDecoderChan, DWORD dwSlotNum, LPNET_DVR_CODESPLITTERASSOCIATE lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_GetCodeSplitterAssociate(LONG lUserID, DWORD dwDecoderChan, DWORD dwSlotNum, LPNET_DVR_CODESPLITTERASSOCIATE lpInter); - -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetCDRWScheme(LONG lUserID, LPNET_DVR_INQUEST_CDRW_CFG lpCDRWCfg); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetCDRWScheme(LONG lUserID, LPNET_DVR_INQUEST_CDRW_CFG lpCDRWCfg); -NET_DVR_API BOOL __stdcall NET_DVR_InquestDeleteFile(LONG lUserID, LPNET_DVR_INQUEST_FILES lpDeleteFile); -NET_DVR_API BOOL __stdcall NET_DVR_InquestCDWByFile(LONG lUserID, LPNET_DVR_INQUEST_FILES lpCdrwFile); -NET_DVR_API LONG __stdcall NET_DVR_InquestUploadFile(LONG lUserID, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_InquestUploadClose(LONG lUploadHandle); -NET_DVR_API LONG __stdcall NET_DVR_InquestGetUploadState(LONG lUploadHandle, LPDWORD pProgress); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStartCDW( LONG lUserID, BOOL bPause); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStopCDW(LONG lUserID, BOOL bCancelWrite); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetCDWState(LONG lUserID, LPNET_DVR_INQUEST_CDRW_STATUS pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetPIPStatus(LONG lUserID, LPNET_DVR_INQUEST_PIP_STATUS pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetPIPStatus(LONG lUserID, LPNET_DVR_INQUEST_PIP_STATUS pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestCheckSecretKey(LONG lUserID, BOOL *bSecretSet); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetSecretKey(LONG lUserID, LPNET_DVR_INQUEST_SECRET_INFO pSecretInfo); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStreamEncrypt(LONG lUserID, LONG lChannel, BOOL bEncrypt); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetEncryptState(LONG lUserID, LONG lChannel, BOOL *bEncrypt); -NET_DVR_API LONG __stdcall NET_DVR_InquestFindFile(LONG lUserID); -NET_DVR_API LONG __stdcall NET_DVR_InquestFindNextFile(LONG lFindHandle, LPNET_DVR_INQUEST_FILEINFO lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_InquestFindClose(LONG lFindHandle); - -// 9000RH -NET_DVR_API LONG __stdcall NET_DVR_RaidFastConfig(LONG lUserID, char *sName); -NET_DVR_API BOOL __stdcall NET_DVR_FastConfigProcess(LONG lHandle, DWORD *pState); -NET_DVR_API BOOL __stdcall NET_DVR_CloseFastConfig(LONG lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetArraySpaceAlloc(LONG lUserID, DWORD dwSlot, LPNET_DVR_ARRAY_SPACE_ALLOC_INFO lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_DelArray(LONG lUserID, DWORD dwID); -NET_DVR_API BOOL __stdcall NET_DVR_CreateArray(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam); -NET_DVR_API BOOL __stdcall NET_DVR_CalcArraySize(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam, UINT64* lpArraySize); -NET_DVR_API BOOL __stdcall NET_DVR_MigrateArray(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam); -NET_DVR_API BOOL __stdcall NET_DVR_RebuildArray(LONG lUserID, LPNET_DVR_OPERATE_ARRAY_PARAM lpArrayParam); -NET_DVR_API BOOL __stdcall NET_DVR_CreateVD(LONG lUserID, LPNET_DVR_OPERATE_VD_PARAM lpVDParam); -NET_DVR_API BOOL __stdcall NET_DVR_CreateVDEx(LONG lUserID, LPNET_DVR_OPERATE_VD_PARAM_EX lpVDParamEx); -NET_DVR_API BOOL __stdcall NET_DVR_DelVD(LONG lUserID, DWORD dwID); -NET_DVR_API BOOL __stdcall NET_DVR_RepairVD(LONG lUserID, DWORD dwID); -NET_DVR_API BOOL __stdcall NET_DVR_SetSpareDisk(LONG lUserID, LPNET_DVR_SPARE_DISK_PARAM lpSpareDisk); -NET_DVR_API BOOL __stdcall NET_DVR_GetPDList(LONG lUserID, LPNET_DVR_PHY_DISK_LIST lpPDList); -NET_DVR_API BOOL __stdcall NET_DVR_GetArrayList(LONG lUserID, LPNET_DVR_ARRAY_LIST lpArrayList); -NET_DVR_API BOOL __stdcall NET_DVR_GetVDList(LONG lUserID, LPNET_DVR_VD_LIST lpVDList); -NET_DVR_API LONG __stdcall NET_DVR_ExpandDisk(LONG lUserID,DWORD dwVDSLot); -NET_DVR_API BOOL __stdcall NET_DVR_GetExpandProgress(LONG lExpandHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_CloseExpandHandle(LONG lExpandHandle); -NET_DVR_API LONG __stdcall NET_DVR_AlgoDebugStart(LONG lUserID, LONG lCHannel, void(CALLBACK *fAlgoLibInfoCallBack)(LONG lHandle, LONG lChannel,char *pRecvDataBuffer, DWORD dwBufSize, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_AlgoDebugSend(LONG lHandle, LONG lChannel, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_AlgoDebugStop(LONG lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetLogPrint(BOOL bLogPrint); -NET_DVR_API BOOL __stdcall NET_DVR_SetLogPrintAction(DWORD nLogLevel, DWORD nToDevice, BOOL bEnable, int Reserve1, int Reserve2); - -NET_DVR_API BOOL __stdcall NET_DVR_GetPositionRule(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_GetPositionRule_V41(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG_V41 lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_SetPositionRule(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_SetPositionRule_V41(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_POSITION_RULE_CFG_V41 lpPositionRule); -NET_DVR_API BOOL __stdcall NET_DVR_SetPositionLimitAngle(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPositionLimitAngle(LONG lUserID, LONG lChannel, LONG lPositionIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPtzPosition(LONG lUserID, LONG lChannel, LONG lPositionID, LPNET_DVR_PTZ_POSITION lpPtzPosition); -NET_DVR_API BOOL __stdcall NET_DVR_SetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API BOOL __stdcall NET_DVR_GetPatrolTrack(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_PATROL_TRACKCFG lpPatrolTrack); -NET_DVR_API BOOL __stdcall NET_DVR_SetPatrolLimitAngle(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPatrolLimitAngle(LONG lUserID, LONG lChannel, LONG lPatrolIndex, LPNET_DVR_LIMIT_ANGLE lpLimitAngle); -NET_DVR_API BOOL __stdcall NET_DVR_SetSceneMode(LONG lUserID, LONG lChannel, DWORD dwSceneMode); -NET_DVR_API BOOL __stdcall NET_DVR_GetSceneMode(LONG lUserID, LONG lChannel, DWORD *pSceneMode); -NET_DVR_API BOOL __stdcall NET_DVR_GetVCAVersion(LONG lUserID, LONG lChannel, LPNET_DVR_VCA_VERSION lpVersion); - -NET_DVR_API BOOL __stdcall NET_DVR_ContinuousShoot(LONG lUserID, LPNET_DVR_SNAPCFG lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixPicAdjust(LONG lUserID, DWORD dwDispChan, DWORD dwPicAdjust, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmJoinedRecord(LONG lUserID, DWORD dwChan, DWORD dwAlarmSeq, DWORD dwRecordTime, DWORD dwRes); -NET_DVR_API BOOL __stdcall NET_DVR_GetUnitedMatrixInfo(LONG lUserID, LPNET_DVR_UNITEDMATRIXINFO lpInter); -typedef LONG(CALLBACK * REGCallBack)(LONG lUserID, LPNET_DVR_REGCALLBACKPARAM pRegCallbackParam, LPNET_DVR_LOGONREPONSEPARAM pInterParam, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetRegisterCallBack(REGCallBack fRegCallBack, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_PreviewRequest(LONG lUserID, LONG lChannel, LPNET_DVR_PREVIEWPARAM lpPreviewParam, LPNET_DVR_DEVICENATINFO lpOuter); -typedef LONG(CALLBACK * PREVIEWRESPONSECallBack)(LONG lUserID, LONG lStreamHandle, LPNET_DVR_PREVIEWCALLBACKPARAM pPewviewCallbackParam,void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPreviewResponseCallBack(PREVIEWRESPONSECallBack fPreviewResponseCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_PlaybackRequest(LONG lUserID, LPNET_DVR_PLAYBACKREQUESTPARAM lpPlayBackRequestParam); -typedef LONG(CALLBACK * PLAYBACKRESPONSECallBack)(LONG lUserID, LONG lPlaybackHandle, LPNET_DVR_PLAYBACKCALLBACKPARAM lpPlaybackParam,void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPlaybackResponseCallBack(PLAYBACKRESPONSECallBack fPlaybackResponseCallBack, void *pUser); -typedef LONG(CALLBACK * VOICERESPONSECallBack)(LONG lUserID, LONG lVoiceHandle, LONG lVoiceChannel, BYTE nAudioType, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceResponseCallBack(VOICERESPONSECallBack fVoiceResponseCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_VoiceRequest(LONG lUserID, LPNET_DVR_VOICEREQUESTPARAM lpVoiceParam); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmSetupRequest(LONG lUserID, LPNET_DVR_ALARMSETUPREQUESTPARAM lpAlarmSetupParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetDialParam(LONG lUserID, LPNET_DVR_DIALREQUEST lpDialRequest, LPNET_DVR_DIALPARAM lpDialParam); -NET_DVR_API BOOL __stdcall NET_DVR_SetDialParam(LONG lUserID, LPNET_DVR_DIALREQUEST lpDialRequest, LPNET_DVR_DIALPARAM lpDialParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetSmsListInfo(LONG lUserID, LPNET_DVR_TIME_EX lpStartTime, LPNET_DVR_TIME_EX lpStopTime, LPNET_DVR_SMSLISTINFO lpSmsListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetSmsContent(LONG lUserID, DWORD dwSmsIndex, LPNET_DVR_SMSCONTENT lpSmsContent); -NET_DVR_API BOOL __stdcall NET_DVR_SendSms(LONG lUserID, LPNET_DVR_SMSCONTENT lpSmsContent); -NET_DVR_API LONG __stdcall NET_DVR_StartServer(char *sLocalIP, WORD wLocalPort, BYTE byMode); -NET_DVR_API BOOL __stdcall NET_DVR_StopServer(LONG lServerHandle); -NET_DVR_API LONG __stdcall NET_DVR_StartRecvNakedDataListen(NAKED_DATA_TYPE type, LPNET_DVR_NAKED_DATA_PARAM pParams); -NET_DVR_API BOOL __stdcall NET_DVR_StopRecvNakedDataListen(LONG lNakedDataRecvHandle); -typedef void(CALLBACK * NAKEDDAtACALLBACK)(DWORD typeInfo, char *pInfo, DWORD dwInfoLen,DWORD dwIPLen, void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetNakedDataRecvCallBack(LONG lNakedDataRecvHandle, void(CALLBACK *fNakedDataCallBack)(DWORD dwTypeInfo, NET_DVR_NAKED_DATA_INFO *pStruNakedDataInfo, char *pInfo, DWORD dwInfoLen, void* pUser), void* pUser); - -typedef LONG(CALLBACK * ALARMSETUPRESPONSECallBack)(LONG lUserID, LONG lAlarmHandle, void * pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmSetupResponseCallBack(ALARMSETUPRESPONSECallBack fAlarmSetupResponseCallBack, void * pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SpringJPEGPicture(LONG lUserID, LONG lChannel, NET_DVR_PUSHJPEGPARA const *lpJpegPara); -NET_DVR_API BOOL __stdcall NET_DVR_SetPushModeParam(LPNET_DVR_PUSHMODEPARAM pPushParam); - -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSetupAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostCloseAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_BypassAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_UnBypassAlarmChan(LONG lUserID, NET_DVR_ALARMIN_SETUP *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostAssistantControl(LONG lUserID, DWORD dwType, DWORD dwNumber, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_SetAirCondition(LONG lUserID, LONG l485Index, NET_DVR_AIR_CONDITION_PARAM* lpAirConditionParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetAirCondition(LONG lUserID, LONG l485Index, NET_DVR_AIR_CONDITION_PARAM* lpAirConditionParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceTypeList(LONG lUserID, NET_DVR_DEVICE_TYPE_LIST *lpDeviceTypeList); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceProtoList(LONG lUserID, LONG lDeviceType, NET_DVR_DEVICE_PROTO_LIST *lpDeviceProtoList); -NET_DVR_API BOOL __stdcall NET_DVR_GetBatteryVoltage(LONG lUserID, float *pVoltage); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmDeviceUser(LONG lUserID, LONG lUserIndex, NET_DVR_ALARM_DEVICE_USER* lpDeviceUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmDeviceUser(LONG lUserID, LONG lUserIndex, NET_DVR_ALARM_DEVICE_USER* lpDeviceUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetKeyboardUser(LONG lUserID, LONG lUserIndex, NET_DVR_KEYBOARD_USER* lpKeyboardUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetKeyboardUser(LONG lUserID, LONG lUserIndex, NET_DVR_KEYBOARD_USER* lpKeyboardUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetOperateUser(LONG lUserID, LONG lUserIndex, NET_DVR_OPERATE_USER* lpOperateUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetOperateUser(LONG lUserID, LONG lUserIndex, NET_DVR_OPERATE_USER* lpOperateUser); -NET_DVR_API BOOL __stdcall NET_DVR_ControlGateway(LONG lUserID, LONG lGatewayIndex, DWORD dwStaic); -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmHostOut(LONG lUserID, LONG lAlarmOutPort, LONG lAlarmOutStatic); -typedef void(CALLBACK *fAlarmHostSerialDataCallBack) -(LONG lSerialHandle, LONG lPort, LONG lDateType, char *pRecvDataBuffer, DWORD dwBufSize,void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_AlarmHostSerialStart(LONG lUserID, LONG lSerialType, fAlarmHostSerialDataCallBack cbSerialDataCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSerialSend(LONG lSerialHandle,LONG lPort,char *pSendBuf,DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSerialStop(LONG lSerialHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetMatrixPuChan(LONG lUserID, LONG lChanType, NET_DVR_PU_CHAN_LIST* lpChanList); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAlarmOffMonitor(LONG lUserID, DWORD dwMonID, DWORD dwCamID); -NET_DVR_API BOOL __stdcall NET_DVR_GetCameraListInfo(LONG lUserID, DWORD dwCamNum, DWORD dwStartCam, LPNET_DVR_MATRIX_CAMERALIST lpCamListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetMonitorListInfo(LONG lUserID, DWORD dwMonNum, DWORD dwStartMon, LPNET_DVR_MATRIX_MONITORLIST lpMonListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetGlobalNum(LONG lUserID, DWORD *dwCamNum, DWORD *dwMonNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUnitedMatrixInfo(LONG lUserID, LPNET_DVR_ALLUNITEDMATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetUnitedMatrixInfo(LONG lUserID, LPNET_DVR_ALLUNITEDMATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetGatewayInfo(LONG lUserID, LPNET_DVR_MATRIXGATEWAYINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetGatewayInfo(LONG lUserID, LPNET_DVR_MATRIXGATEWAYINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSpanSwitch(LONG lUserID, BYTE nSwitchMode, LPNET_DVR_MATRIXSWITCH lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartSwitch(LONG lUserID, LPNET_DVR_MATRIXSWITCHCTRL lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetConfigFile(LONG lUserID, LPNET_DVR_MATRIXDATABASE lpInter, char *sInBuffer, DWORD dwInSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetConfigFile(LONG lUserID, LPNET_DVR_MATRIXDATABASE lpInter, char *sOutBuffer, DWORD dwOutSize, DWORD *pReturnSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubSystemInfo_V40(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO_V40 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetSubSystemInfo_V40(LONG lUserID, LPNET_DVR_ALLSUBSYSTEMINFO_V40 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubDecSystemJoinInfo_V40(LONG lUserID, LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V40 lpInter); -typedef void (CALLBACK *FLOWTESTCALLBACK)(LONG lFlowHandle, LPNET_DVR_FLOW_INFO pFlowInfo, void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_StartNetworkFlowTest(LONG lUserID, NET_DVR_FLOW_TEST_PARAM* pFlowTest, FLOWTESTCALLBACK fFlowTestCallback, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_StopNetworkFlowTest(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_FindRecordLabel(LONG lUserID, LPNET_DVR_FIND_LABEL lpFindLabel); -NET_DVR_API LONG __stdcall NET_DVR_FindNextLabel(LONG lFindHandle, LPNET_DVR_FINDLABEL_DATA lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_StopFindLabel(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_InsertRecordLabel(LONG lPlayHandle, NET_DVR_RECORD_LABEL* lpRecordLabel, NET_DVR_LABEL_IDENTIFY *lpLableIdentify); -NET_DVR_API BOOL __stdcall NET_DVR_DelRecordLabel(LONG lUserID, NET_DVR_DEL_LABEL_PARAM* lpDelLabelParam); -NET_DVR_API BOOL __stdcall NET_DVR_ModifyRecordLabel(LONG lUserID, NET_DVR_MOD_LABEL_PARAM * lpModLabelParam); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePlaybackPictureBlock(LONG lPlayHandle, char *sPicFileName, DWORD dwTimeOut); -NET_DVR_API BOOL __stdcall NET_DVR_CapturePlaybackPictureBlock_New(LONG lPlayHandle, char *pPicBuf, DWORD dwPicSize, DWORD *lpSizeReturned); -NET_DVR_API LONG __stdcall NET_DVR_FindPicture(LONG lUserID, NET_DVR_FIND_PICTURE_PARAM* pFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPicture(LONG lFindHandle,LPNET_DVR_FIND_PICTURE lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPicture_V40(LONG lFindHandle,LPNET_DVR_FIND_PICTURE_V40 lpFindData); -NET_DVR_API LONG __stdcall NET_DVR_FindNextPicture_V50(LONG lFindHandle, LPNET_DVR_FIND_PICTURE_V50 lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_CloseFindPicture(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetPicture(LONG lUserID,char *sDVRFileName,const char *sSavedFileName); -NET_DVR_API BOOL __stdcall NET_DVR_GetPicture_V30(LONG lUserID, char *sDVRFileName, char *sSavedFileBuf, DWORD dwBufLen, DWORD *lpdwRetLen); -NET_DVR_API BOOL __stdcall NET_DVR_GetPicture_V50(LONG lUserID, LPNET_DVR_PIC_PARAM lpPicParam); -NET_DVR_API LONG __stdcall NET_DVR_BackupPicture(LONG lUserID, NET_DVR_BACKUP_PICTURE_PARAM *lpBackupPicture); -NET_DVR_API LONG __stdcall NET_DVR_GetUpgradeStep(LONG lUpgradeHandle, LONG *pSubProgress); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetEncodeJoint(LONG lUserID, LONG lChannel, LPNET_DVR_ENCODE_JOINT_PARAM lpEncodeJoint); -NET_DVR_API BOOL __stdcall NET_DVR_GetLocalIP(char strIP[16][16], DWORD *pValidNum, BOOL *pEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_SetValidIP(DWORD dwIPIndex, BOOL bEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_GetLocalIPv6(BYTE strIP[16][16], DWORD *pValidNum, BOOL *pEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_SetValidIPv6(DWORD dwIPIndex, BOOL bEnableBind); -NET_DVR_API BOOL __stdcall NET_DVR_GetVcaDevWorkState(LONG lUserID, LPNET_DVR_VCA_DEV_WORKSTATUS lpWorkState); -NET_DVR_API BOOL __stdcall NET_DVR_SetRecvTimeOut(DWORD nRecvTimeOut = 5000); //С3000 -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDisplayCfg_V40(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG_V40 lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDisplayCfg_V40(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_VGA_DISP_CHAN_CFG_V40 lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_ShutterCompensation(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_CorrectDeadPixel(LONG lUserID, LONG lChannel, LPNET_DVR_CORRECT_DEADPIXEL_PARAM lpInParam); -NET_DVR_API BOOL __stdcall NET_DVR_CustomConfig(LONG lUserID, LONG lChannel, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpOutBuffer, DWORD dwOutBufferSize, LPDWORD lpBytesReturned); -NET_DVR_API BOOL __stdcall NET_DVR_GetHistoricDataInfo(LONG lUserID, LONG lChannel, LPNET_DVR_HISTORICDATACFG lpHisData); -NET_DVR_API BOOL __stdcall NET_DVR_GetHistoricData(LONG lUserID, LONG lChannel, LPNET_DVR_PLATE_RESULT lpOuter); -NET_DVR_API BOOL __stdcall NET_DVR_ClearHistoricData(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_VPD_SetShutter(LONG lUserID, LONG lChannel, LPNET_VPD_SHUTTER lpShutter); -NET_DVR_API BOOL __stdcall NET_VPD_SendPicture(LONG lUserID, DWORD dwFields, BYTE const *sImageBuffer, DWORD dwWidth, DWORD dwHeight); -NET_DVR_API LONG __stdcall NET_DVR_InquestUploadFile_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, char *sFileName); -NET_DVR_API BOOL __stdcall NET_DVR_InquestDeleteFile_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_FILES lpDeleteFile); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetPIPStatus_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetPIPStatus_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetPIPStatus_V40(LONG lUserID, NET_DVR_INQUEST_ROOM const *lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS_V40 lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetPIPStatus_V40(LONG lUserID, NET_DVR_INQUEST_ROOM const *lpInquestRoom, LPNET_DVR_INQUEST_PIP_STATUS_V40 lpStatus); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetSystemInfo(LONG lUserID, LPNET_DVR_INQUEST_SYSTEM_INFO lpSystemInfo); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSetSystemInfo(LONG lUserID, LPNET_DVR_INQUEST_SYSTEM_INFO lpSystemInfo); -NET_DVR_API BOOL __stdcall NET_DVR_InquestSendMessage(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_MESSAGE lpInquestMessage); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStartCDW_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, BOOL bNotBurn); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStopCDW_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, BOOL bCancelWrite); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetCDWState_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM lpInquestRoom, LPNET_DVR_INQUEST_CDRW_STATUS pStatus); -NET_DVR_API LONG __stdcall NET_DVR_InquestResumeEvent(LONG lUserID, LPNET_DVR_INQUEST_RESUME_EVENT lpResumeEvent); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetResumeProgress(LONG lHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_InquestStopResume(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_InquestFindFile_V30(LONG lUserID, LPNET_DVR_INQUEST_ROOM pInquestRoom); -NET_DVR_API BOOL __stdcall NET_DVR_InquestGetDeviceVersion(LONG lUserID, LPNET_DVR_INQUEST_DEVICE_VERSION lpVersionInfo); -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKSecretKey(LONG lUserID, char *sSecretKey); -NET_DVR_API BOOL __stdcall NET_DVR_LockFileByTime(LONG lUserID, LPNET_DVR_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_UnlockFileByTime(LONG lUserID, LPNET_DVR_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_ScreenZoomIn(LONG lUserID, LPNET_DVR_SCREENZOOM pStruScreen); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllCameraInfo(LONG lUserID, LPNET_DVR_MATRIX_CAMERALIST lpCamListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSingleCameraInfo(LONG lUserID, DWORD dwCameraId, LPNET_MATRIX_CAMERAINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddCamera(LONG lUserID, DWORD dwCameraNum, BYTE *pBuffer, DWORD dwBufLength); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModCameraInfo(LONG lUserID, LPNET_MATRIX_CAMERAINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelCamera(LONG lUserID, DWORD dwCameraId); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllMonitorInfo(LONG lUserID, LPNET_DVR_MATRIX_MONITORLIST lpMonListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSingleMonitorInfo(LONG lUserID, DWORD dwMonitorId, LPNET_MATRIX_MONITORINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddMonitor(LONG lUserID, DWORD dwMonitorNum, BYTE *pBuffer, DWORD dwBufLength); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModMonitorInfo(LONG lUserID, LPNET_MATRIX_MONITORINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelMonitor(LONG lUserID, DWORD dwMonitorId); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllMatrixInfo(LONG lUserID, LPNET_DVR_MATRIXLIST lpMatrixListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetSingleMatrixInfo(LONG lUserID, DWORD dwMatrixId, LPNET_MATRIX_MATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AddMatrix(LONG lUserID, LPNET_MATRIX_MATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_ModMatrixInfo(LONG lUserID, LPNET_MATRIX_MATRIXINFO lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_DelMatrix(LONG lUserID, DWORD dwMatrixId); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUartParam(LONG lUserID, DWORD dwSerialChan, LPNET_MATRIX_UARTPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetUartParam(LONG lUserID, DWORD dwSerialChan , LPNET_MATRIX_UARTPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUserInfo(LONG lUserID, DWORD dwUserNum, LPNET_MATRIX_USERPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddUser(LONG lUserID, DWORD dwUserNum, LPNET_MATRIX_USERPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModUserInfo(LONG lUserID, DWORD dwUserNum, LPNET_MATRIX_USERPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelUser(LONG lUserID, DWORD dwUserNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetResourceInfo(LONG lUserID, DWORD dwResourceNum, LPNET_MATRIX_RESOURSEGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddResourceInfo(LONG lUserID, DWORD dwResourceNum, LPNET_MATRIX_RESOURSEGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModResourceInfo(LONG lUserID, DWORD dwResourceNum, LPNET_MATRIX_RESOURSEGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelResourceInfo(LONG lUserID, DWORD dwResourceNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetUserGroupInfo(LONG lUserID, DWORD dwUserGroupNum, LPNET_MATRIX_USERGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddUserGroupInfo(LONG lUserID, DWORD dwUserGroupNum, LPNET_MATRIX_USERGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModUserGroupInfo(LONG lUserID, DWORD dwUserGroupNum, LPNET_MATRIX_USERGROUPPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixDelUserGroup (LONG lUserID, DWORD dwUserGroupNum); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAllTrunkInfo(LONG lUserID, LPNET_DVR_MATRIX_TRUNKLIST lpTrunkListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetTrunkInfo(LONG lUserID, DWORD dwTrunkNum, LPNET_MATRIX_TRUNKPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAddTrunk(LONG lUserID, LPNET_MATRIX_TRUNKPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixModTrunkInfo(LONG lUserID, LPNET_MATRIX_TRUNKPARAM lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixTrunkCtrl(LONG lUserID, DWORD dwTrunkNum, BYTE byCtrlMode); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixTrunkStatusQuery(LONG lUserID, DWORD dwTrunkNum, BYTE *byTrunkStatus); - -NET_DVR_API BOOL __stdcall NET_DVR_FindBackgroundPic(LONG lUserID, DWORD dwPicID, BYTE *pPicBuffer, DWORD *lpPicLen); -NET_DVR_API BOOL __stdcall NET_DVR_DetectImage(LONG lUserID, LPNET_VCA_FD_PROCIMG_CFG lpFDProcImg,LPNET_VCA_FD_PROCIMG_RESULT lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_GetPictureModel(LONG lUserID, LPNET_VCA_REGISTER_PIC lpInBuf, LPNET_VCA_PICMODEL_RESULT lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_AddBlockList(LONG lUserID,LONG lChannel,LPNET_VCA_BLOCKLIST_PARA lpInter); -NET_DVR_API LONG __stdcall NET_DVR_FindBlockList(LONG lUserID, LPNET_VCA_BLOCKLIST_COND lpBlockListCond); -NET_DVR_API LONG __stdcall NET_DVR_FindNextBlockList(LONG lFindHandle,LPNET_VCA_BLOCKLIST_INFO lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindBlockListClose(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetBlockListPicture(LONG lUserID, DWORD dwRegisterID, LPNET_VCA_BLOCKLIST_PIC lpOutBuffer); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateBlockList(LONG lUserID,LONG lChannel, LPNET_VCA_BLOCKLIST_PARA lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_DelBlockList(LONG lUserID,LONG lChannel, DWORD dwRegisterID); -NET_DVR_API LONG __stdcall NET_DVR_FindSnapPicture(LONG lUserID, LPNET_VCA_FIND_PICTURECOND lpFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextSnapPic(LONG lFindHandle,LPNET_VCA_SUB_SNAPPIC_DATA lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_FindSnapPicClose(LONG lFindHandle); -NET_DVR_API LONG __stdcall NET_DVR_AdvanceFindSnapPicture(LONG lUserID, LPNET_VCA_FIND_PICTURECOND_ADVANCE lpFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindFaceMatchAlarm(LONG lUserID, LPNET_VCA_FIND_PICTURECOND lpFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextFaceMatchAlarm(LONG lFindHandle, LPNET_VCA_FACESNAP_MATCH_ALARM_LOG lpFaceMatchAlarmLog); -NET_DVR_API BOOL __stdcall NET_DVR_FindFaceMatchAlarmClose(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetFaceMatchPic(LONG lUserID, LPNET_VCA_FACEMATCH_PICCOND lpMatchCond, LPNET_VCA_FACEMATCH_PICTURE lpMatchPic); -NET_DVR_API BOOL __stdcall NET_DVR_FastAddBlockList(LONG lUserID,LONG lChannel,LPNET_VCA_BLOCKLIST_FASTREGISTER_PARA lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetRemotePlay_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_REMOTE_PLAY_V41 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDisplayCfg_V41(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_MATRIX_VOUTCFG lpVoutCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetDisplayCfg_V41(LONG lUserID, DWORD dwDispChanNum, LPNET_DVR_MATRIX_VOUTCFG lpDisplayCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDeviceStatus_V41(LONG lUserID, LPNET_DVR_DECODER_WORK_STATUS_V41 lpDecoderCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSceneCfg(LONG lUserID, DWORD dwSceneNum, LPNET_DVR_MATRIX_SCENECFG lpSceneCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetSceneCfg(LONG lUserID, DWORD dwSceneNum, LPNET_DVR_MATRIX_SCENECFG lpSceneCfg); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSceneControl(LONG lUserID, DWORD dwSceneNum, DWORD dwCmd, DWORD dwCmdParam); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetCurrentSceneMode(LONG lUserID, DWORD *dwSceneNum); -NET_DVR_API BOOL __stdcall NET_DVR_GetAllValidWinInfo(LONG lUserID, LPNET_DVR_WINLIST lpWinListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_ScreenWinCtrl(LONG lUserID, DWORD dwWinIndex, DWORD dwCommand, LPNET_DVR_SCREEN_WINCFG lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_GetScreenInputStatus(LONG lUserID, LPNET_DVR_SCREENINPUTSTATUS lpStatus); -NET_DVR_API LONG __stdcall NET_DVR_PicUpload(LONG lUserID, char const *sFileName, LPNET_DVR_PICTURECFG lpPictureCfg); -NET_DVR_API LONG __stdcall NET_DVR_GetPicUploadProgress(LONG lUploadHandle); -NET_DVR_API BOOL __stdcall NET_DVR_CloseUploadHandle(LONG lUploadHandle); -NET_DVR_API BOOL __stdcall NET_DVR_PicControl(LONG lUserID, BYTE byUseType, BYTE byPicIndex, BYTE byCtrlCmd); -NET_DVR_API LONG __stdcall NET_DVR_GetPicUploadState(LONG lUploadHandle); -NET_DVR_API BOOL __stdcall NET_DVR_ScreenCtrl(LONG lUserID, DWORD dwDeviceNum, LPNET_DVR_SCREEN_CONTROL lpStruScreenCtrl); -typedef void (CALLBACK *SCREENPICDATACB)(LONG nScreenPicHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_StartScreenPic(LONG nUserID, DWORD nInputNum, SCREENPICDATACB PicDataCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_StopScreenPic(LONG nScreenPicHandle); -NET_DVR_API BOOL __stdcall NET_DVR_FocusOnePush(LONG lUserID, LONG lChannel); -NET_DVR_API BOOL __stdcall NET_DVR_ResetLens(LONG lUserID, LONG lChannel); - -typedef void(CALLBACK *fRemoteConfigCallback)(DWORD dwType, void* lpBuffer, DWORD dwBufLen, void* pUserData); -NET_DVR_API LONG __stdcall NET_DVR_StartRemoteConfig(LONG lUserID, DWORD dwCommand, LPVOID lpInBuffer, DWORD dwInBufferLen, fRemoteConfigCallback cbStateCallback, LPVOID pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_StopRemoteConfig(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetNextRemoteConfig(LONG lHandle, void* lpOutBuff, DWORD dwOutBuffSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetRemoteConfigState(LONG lHandle, void *pState); -NET_DVR_API BOOL __stdcall NET_DVR_SendRemoteConfig(LONG lHandle, DWORD dwDataType, char *pSendBuf, DWORD dwBufSize); -NET_DVR_API LONG __stdcall NET_DVR_SendWithRecvRemoteConfig(LONG lHandle, void* lpInBuff, DWORD dwInBuffSize, void* lpOutBuff, DWORD dwOutBuffSize, DWORD *dwOutDataLen); - -typedef void(CALLBACK *fLongCfgStateCallback)(LONG lHandle, DWORD dwState, LPVOID pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_CloseLongCfgHandle(LONG lHandle); -NET_DVR_API LONG __stdcall NET_DVR_RaidPullDiskStart(LONG lUserID, LONG lRaidID, fLongCfgStateCallback cbStateCallback, LPVOID pUserData); -NET_DVR_API LONG __stdcall NET_DVR_ScanRaidStart(LONG lUserID, fLongCfgStateCallback cbStateCallback, LPVOID pUserData); -NET_DVR_API LONG __stdcall NET_DVR_SetAccessCameraInfo(LONG lUserID, DWORD dwChannel, LPNET_DVR_ACCESS_CAMERA_INFO lpCameraInfo, fLongCfgStateCallback cbStateCallback, LPVOID pUserData); - -NET_DVR_API BOOL __stdcall NET_DVR_InquiryRecordTimeSpan(LONG lUserID, DWORD dwChannel, NET_DVR_RECORD_TIME_SPAN_INQUIRY const *lpInquiry, LPNET_DVR_RECORD_TIME_SPAN lpResult); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateRecordIndex(LONG lUserID, DWORD dwChannel); -NET_DVR_API BOOL __stdcall NET_DVR_GetUpnpNatState(LONG lUserID, LPNET_DVR_UPNP_NAT_STATE lpState); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopPlanArray(LONG lUserID, DWORD dwArrayNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V30 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopPlanArray(LONG lUserID, DWORD dwArrayNum, NET_DVR_MATRIX_LOOP_DECINFO_V30 const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetAlarmShowMode(LONG lUserID, LPNET_DVR_ALARMMODECFG lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetAlarmShowMode(LONG lUserID, NET_DVR_ALARMMODECFG const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamicAssociateDecode(LONG lUserID, DWORD dwDecChanNum, NET_DVR_DYNAMICDECODE const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAlarmTurn(LONG lUserID, DWORD dwDecChanNum, DWORD dwTurnParam); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixAlarmShowControl(LONG lUserID, DWORD dwDecChanNum, DWORD dwShowMode); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetPlanDecode(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PLANDECODE lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetPlanDecode(LONG lUserID, DWORD dwDecChanNum, NET_DVR_PLANDECODE const *lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo_EX(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_EX lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo_EX(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_EX lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic_EX(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PU_STREAM_CFG_EX lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetTrunkListInfo(LONG lUserID, DWORD dwTrunkNum, DWORD dwStartTrunk, LPNET_DVR_MATRIX_TRUNKLIST lpTrunkListInfo, DWORD *pReturnSize); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetSubDecSystemJoinInfo_V41(LONG lUserID, LPNET_DVR_ALLDECSUBSYSTEMJOININFO_V41 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSubSystemSetupAlarmChan(LONG lUserID, DWORD dwSubSystemNum); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSubSystemCloseAlarmChan(LONG lUserID, DWORD dwSubSystemNum); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostClearAlarm(LONG lUserID, DWORD dwSubSystemNum); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostArrayBypass(LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostArrayBypassResume (LONG lUserID); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostSetReportMode(LONG lUserID, LONG lCenterNum, LPVOID lpInputBuf, DWORD dwInputBufLen); -NET_DVR_API BOOL __stdcall NET_DVR_AlarmHostGetReportMode(LONG lUserID, LPVOID lpOutputBuf, DWORD dwOutputBufLen); -NET_DVR_API LONG __stdcall NET_DVR_StartUploadAudio(LONG lUserID, DWORD dwAudioNum, DWORD dwAudioType, char const *sAudioFileName); -NET_DVR_API LONG __stdcall NET_DVR_StartDownloadAudio(LONG lUserID, DWORD dwAudioNum, char const *sAudioFileName); -NET_DVR_API BOOL __stdcall NET_DVR_StopAudioOperate(LONG lAudioHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetAudioProgress(LONG lAudioHandle); -NET_DVR_API BOOL __stdcall NET_DVR_AudioCtrl(LONG lUserID, DWORD dwAudioNum, DWORD dwCtrlParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceConfig(LONG lUserID, DWORD dwCommand, DWORD dwCount, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpStatusList, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_SetDeviceConfig(LONG lUserID, DWORD dwCommand, DWORD dwCount, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpStatusList, LPVOID lpInParamBuffer, DWORD dwInParamBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_LockStreamFileByTime(LONG lUserID, LPNET_DVR_STREAM_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_UnlockStreamFileByTime(LONG lUserID, LPNET_DVR_STREAM_TIME_LOCK lpLockPara, LPNET_DVR_LOCK_RETURN lpLockReturn); -NET_DVR_API BOOL __stdcall NET_DVR_StartManualRecord(LONG lUserID, LPNET_DVR_MANUAL_RECORD_PARA lpManualRecPara); -NET_DVR_API BOOL __stdcall NET_DVR_StopManualRecord(LONG lUserID, LPNET_DVR_STREAM_INFO pIDInfo); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByName(LONG lUserID, char *sPlayBackFileName, HWND hWnd); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_V40(LONG lUserID, NET_DVR_VOD_PARA const* pVodPara); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackByTime_V50(LONG lUserID, NET_DVR_VOD_PARA_V50 const* pVodPara); -NET_DVR_API LONG __stdcall NET_DVR_PlayBackReverseByTime_V40(LONG lUserID, HWND hWnd, LPNET_DVR_PLAYCOND pPlayCond); -NET_DVR_API LONG __stdcall NET_DVR_GetFileByTime_V40(LONG lUserID, char *sSavedFileName, LPNET_DVR_PLAYCOND pDownloadCond); -NET_DVR_API LONG __stdcall NET_DVR_FindFile_V40(LONG lUserID, LPNET_DVR_FILECOND_V40 pFindCond); -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V41(LONG lUserID, LPNET_DVR_SETUPALARM_PARAM lpSetupParam); -NET_DVR_API BOOL __stdcall NET_DVR_AddDataBase(LONG lUserID, LPNET_VCA_DATABASE_PARAM lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_FindDataBase(LONG lUserID, LPNET_VCA_FIND_DATABASE_COND lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_FindNextDataBase(LONG lFindHandle, LPNET_VCA_DATABASE_PARAM lpOutBuf); -NET_DVR_API BOOL __stdcall NET_DVR_FindDataBaseClose(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateDataBase(LONG lUserID, LPNET_VCA_DATABASE_PARAM lpInBuf); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteDataBase(LONG lUserID, LPNET_VCA_DELETE_DATABASE_COND lpCond); -typedef void(CALLBACK *fSearchDBCallBack)(LONG lHandle, DWORD dwType, DWORD dwResultNum, BYTE* pBuffer, DWORD dwBufSize,void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_InquireSnapDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_INQUIRE_SNAPDB_COND lpInBuf, fSearchDBCallBack cbSearchDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetInquireSnapDBProgress(LONG lInquireHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteSnapDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DELETE_SNAPRECORD_COND lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_SearchSnapDB(LONG lUserID, LPNET_VCA_SEARCH_SNAPDB_COND lpInBuf, fSearchDBCallBack cbSearchDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetSearchSnapDBProgress(LONG lSearchHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_AddFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DATARECORD_INFO lpInBuf); -NET_DVR_API BOOL __stdcall NET_DVR_FastAddFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_FAST_DATARECORD_INFO lpInBuf); -NET_DVR_API LONG __stdcall NET_DVR_InquireFaceDBRecord(LONG lUserID, LPNET_VCA_DATARECORD_COND lpInBuf,fSearchDBCallBack cbInquireDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetInquireFaceDBProgress(LONG lInquireHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_UpdateFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DATARECORD_INFO lpInBuf); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteFaceDBRecord(LONG lUserID, DWORD dwDataBaseID, LPNET_VCA_DELETE_RECORD_COND lpInBuf); -typedef void(CALLBACK *fSearchDBCallBack)(LONG lSearchHandle, DWORD dwType, DWORD dwResultNum, BYTE* pBuffer, DWORD dwBufSize,void *pUser); -NET_DVR_API LONG __stdcall NET_DVR_SearchFaceDB(LONG lUserID, LPNET_VCA_SEARCH_FACEDB_COND lpInBuf,fSearchDBCallBack cbSearchDBCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_GetSearchFaceDBProgress(LONG lSearchHandle, DWORD* pState); -NET_DVR_API BOOL __stdcall NET_DVR_StopSearchDB(LONG lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_FindMatchPicture(LONG lUserID, LPNET_VCA_FIND_MATCHPIC_COND lpFindCond, LPNET_VCA_FIND_MATCHPIC_RESULT lpFindResult); -NET_DVR_API BOOL __stdcall NET_DVR_RemoteControl(LONG lUserID, DWORD dwCommand, LPVOID lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API LONG __stdcall NET_DVR_GetBMPByTime(LONG lUserID, LONG lChannel, NET_DVR_TIME const *lpTime, char const *sFilename); -NET_DVR_API BOOL __stdcall NET_DVR_CommandDevice(LONG lUserID, DWORD dwOutCommand, LPVOID lpInBuffer, DWORD dwInBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_TestDVRAlive(LONG lUserID); - -NET_DVR_API BOOL __stdcall NET_DVR_PicViewRequest(LONG lUserID, NET_DVR_PIC_VIEW_PARAM *lpPicViewParam); -typedef LONG (CALLBACK *PicViewCallBack)(LPNET_DVR_PICVIEW_CALLBACKPARAM pStruPicViewParam, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPicViewResponseCallBack(PicViewCallBack fPicViewResponseCallBack, void *pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetPicViewDataCallBack(LONG lPicViewHandle, SCREENPICDATACB fPicDataCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_GetDevList(LONG lUserID, LPNET_DVR_DEVLIST lpDevListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_GetScreenList(LONG lUserID, LPNET_DVR_SCREENLIST lpScreenListInfo); -NET_DVR_API BOOL __stdcall NET_DVR_SetScreenRelation(LONG lUserID, NET_DVR_DISP_SCREEN const* lpScreenInfo); -NET_DVR_API BOOL __stdcall NET_DVR_TextShowCtrl(LONG lUserID, DWORD dwDeviceIndex, LPNET_DVR_TEXTSHOW lpText); -NET_DVR_API LONG __stdcall NET_DVR_StartUpgrade(LONG lUserID, LPNET_DVR_OPERATE_DEVICE lpStruOperate, DVCS_UPGRADESTATE_CB UpgradeStateCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_StopUpgrade(LONG lUserID, LPNET_DVR_OPERATE_DEVICE lpStruOperate, LONG lUpgradeHandle); -NET_DVR_API BOOL __stdcall NET_DVR_AddNetSignal(LONG lUserID, LPNET_DVR_NETSIGNAL_INFO lpStruSignal, void* lpOutBuf , DWORD dwBufLen); -NET_DVR_API LONG __stdcall NET_DVR_StartPicPreview(LONG lUserID, NET_DVR_START_PIC_VIEW_INFO const* lpStruStartPicView, SCREENPICDATACB PicDataCallback, void *pUserData); -NET_DVR_API BOOL __stdcall NET_DVR_GetDeviceStatus(LONG lUserID, DWORD dwCommand, DWORD dwCount, LPVOID lpInBuffer, DWORD dwInBufferSize, LPVOID lpStatusList, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetPlanList(LONG lUserID, DWORD dwDevNum, LPNET_DVR_PLAN_LIST lpPlanList); -NET_DVR_API BOOL __stdcall NET_DVR_GetInputSignalList(LONG lUserID, DWORD dwDevNum, LPNET_DVR_INPUT_SIGNAL_LIST lpInputSignalList); -NET_DVR_API BOOL __stdcall NET_DVR_GetInputSignalList_V40(LONG lUserID, DWORD dwDevNum, LPNET_DVR_INPUT_SIGNAL_LIST lpInputSignalList); - -NET_DVR_API LONG __stdcall NET_DVR_UploadFile(LONG lUserID, DWORD dwUploadType, LPVOID lpInBuffer, DWORD dwInBufferSize, char* sFileName); -NET_DVR_API LONG __stdcall NET_DVR_UploadFile_V40(LONG lUserID, DWORD dwUploadType, LPVOID lpInBuffer, DWORD dwInBufferSize, char const * sFileName, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API LONG __stdcall NET_DVR_GetUploadState(LONG lUploadHandle, LPDWORD pProgress); -NET_DVR_API BOOL __stdcall NET_DVR_GetUploadResult(LONG lUploadHandle, LPVOID lpOutBuffer, DWORD dwOutBufferSize); -NET_DVR_API BOOL __stdcall NET_DVR_UploadClose(LONG lUploadHandle); -NET_DVR_API LONG __stdcall NET_DVR_StartUploadFile(LONG lUserID, LPNET_DVR_UPLOAD_PARAM lpStruUploadParam); -NET_DVR_API LONG __stdcall NET_DVR_GetUploadFileProgress(LONG lFileHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetUploadFileState(LONG lFileHandle); -NET_DVR_API BOOL __stdcall NET_DVR_StopUploadFile (LONG lFileHandle); -NET_DVR_API LONG __stdcall NET_DVR_StartDownloadFile(LONG lUserID, LPNET_DVR_DOWNLOAD_PARAM lpStruDownloadParam); -NET_DVR_API LONG __stdcall NET_DVR_GetDownloadFileProgress(LONG lFileHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetDownloadFileState(LONG lFileHandle); -NET_DVR_API BOOL __stdcall NET_DVR_StopDownloadFile (LONG lFileHandle); -NET_DVR_API BOOL __stdcall NET_DVR_DownloadControl(LONG lDownloadHandle, NET_SDK_DOWNLOAD_CONTROL_TYPE_ENUM enumDownloadType, void* lpInBuffer, DWORD dwInBufferLen, void* lpOutBuffer, DWORD dwOutBufferLen); -NET_DVR_API LONG __stdcall NET_DVR_UploadSend(LONG lUploadHandle, const NET_DVR_SEND_PARAM_IN *pstruSendParamIN, void* lpOutBuffer); - - -NET_DVR_API BOOL __stdcall NET_DVR_GetMobileDevStatus(LONG lUserID, DWORD dwStatusType, LPNET_DVR_MB_MOBILEDEV_STATUS lpstruMobileDevStatus); -NET_DVR_API BOOL __stdcall NET_DVR_SetVoiceDataCallBack(LONG lVoiceComHandle, BOOL bNeedCBNoEncData, void(CALLBACK *fVoiceDataCallBack)(LONG lVoiceComHandle, char *pRecvDataBuffer, DWORD dwBufSize, BYTE byAudioFlag, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetTransparentParam(LONG lUserID, char *sInBuffer, DWORD dwInSize); -NET_DVR_API BOOL __stdcall NET_DVR_GetTransparentParam(LONG lUserID, char *sInBuffer, DWORD dwInSize, char *sOutBuffer, DWORD dwOutSize); - -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKLocalConfig(LPNET_DVR_SDKLOCAL_CFG lpSdkLocalCfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKLocalConfig(LPNET_DVR_SDKLOCAL_CFG lpSdkLocalCfg); - -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKLocalCfg(NET_SDK_LOCAL_CFG_TYPE enumType, const void *lpInBuff); -NET_DVR_API BOOL __stdcall NET_DVR_GetSDKLocalCfg(NET_SDK_LOCAL_CFG_TYPE enumType, void* lpOutBuff); - -NET_DVR_API LONG __stdcall NET_DVR_OpticalUpgrade(LONG lUserID, char const *sFileName, LPNET_DVR_OPTICAL_INFO lpOpticalInfo); -typedef void(CALLBACK *fGPSDataCallback)(LONG nHandle, DWORD dwState, void* lpBuffer, DWORD dwBufLen, void* pUserData); -NET_DVR_API LONG __stdcall NET_DVR_GetVehicleGpsInfo(LONG nUserID, LPNET_DVR_GET_GPS_DATA_PARAM lpGPSDataParam, fGPSDataCallback cbGPSDataCallback, void* pUser); - -NET_DVR_API BOOL __stdcall NET_DVR_ClosePreview(LONG lUserID, DWORD nSessionID); -NET_DVR_API BOOL __stdcall NET_DVR_ClosePlayBack(LONG lUserID, DWORD nSessionID); -NET_DVR_API LONG __stdcall NET_DVR_RealPlay_V40(LONG lUserID, LPNET_DVR_PREVIEWINFO lpPreviewInfo, REALDATACALLBACK fRealDataCallBack_V30 = NULL, void* pUser = NULL); -NET_DVR_API LONG __stdcall NET_DVR_RealPlaySpecial(LONG lUserID, LPNET_DVR_PREVIEWINFO_SPECIAL lpPreviewInfo, REALDATACALLBACK fRealDataCallBack_V30 = NULL, void* pUser = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_GetLinkAddr(LONG lLinkHandle, NET_DVR_LINK_KIND enumLinkKind, LPNET_DVR_LINK_ADDR lpLinkAddr); - -NET_DVR_API LONG __stdcall NET_DVR_StartDownload(LONG lUserID, DWORD dwDownloadType, LPVOID lpInBuffer, DWORD dwInBufferSize, const char *sFileName); -NET_DVR_API LONG __stdcall NET_DVR_GetDownloadState(LONG lDownloadHandle, LPDWORD pProgress); -NET_DVR_API int __stdcall NET_DVR_GetDownloadStateInfo(LONG lDownloadHandle, void* pStatusInfo); -NET_DVR_API BOOL __stdcall NET_DVR_StopDownload(LONG lHandle); - -NET_DVR_API BOOL __stdcall NET_DVR_MatrixStartDynamic_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_PU_STREAM_CFG_V41 lpDynamicInfo); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetLoopDecChanInfo_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V41 lpOuter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixSetLoopDecChanInfo_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_LOOP_DECINFO_V41 lpInter); -NET_DVR_API BOOL __stdcall NET_DVR_MatrixGetDecChanInfo_V41(LONG lUserID, DWORD dwDecChanNum, LPNET_DVR_MATRIX_DEC_CHAN_INFO_V41 lpOuter); - -NET_DVR_API LONG __stdcall NET_DVR_StartT1Test(LONG lUserID, LPNET_DVR_ALARMHOST_DOWNLOAD_PARAM lpStruDownloadParam); -NET_DVR_API BOOL __stdcall NET_DVR_StopTT1Test(BOOL lHandle); -NET_DVR_API BOOL __stdcall NET_DVR_GetT1TestStatus(LONG lHandle, LONG *pStatus); -NET_DVR_API BOOL __stdcall NET_DVR_SendT1TestData(LONG lHandle, DWORD dwDataType, char *pSendBuf, DWORD dwSendBufLen); - -NET_DVR_API BOOL __stdcall NET_DVR_UploadLogo_NEW(LONG lUserID, DWORD dwLogoNo, LPNET_DVR_MATRIX_LOGO_INFO lpLogoInfo, char *sLogoBuffer); -NET_DVR_API BOOL __stdcall NET_DVR_DownloadLogo(LONG lUserID, DWORD dwLogoNo, LPNET_DVR_MATRIX_LOGO_INFO lpLogoInfo, char *sLogoBuffer, DWORD dwLogoBufferSize); -NET_DVR_API LONG __stdcall NET_DVR_StartPassiveTransCode(LONG lUserID, NET_DVR_STREAM_INFO const *pStreamInfo, NET_DVR_COMPRESSIONCFG_V30 const *pDstTransInfo, NET_DVR_PASSIVETRANSINFO const *pPassiveTransInfo, void(CALLBACK *fTransCodeDataCallBack) (LONG lPassiveHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser) = NULL, void* pUser = NULL); -NET_DVR_API BOOL __stdcall NET_DVR_TransCodeInputData(LONG lPassiveHandle, BYTE *pBuffer, DWORD dwBufSize); -NET_DVR_API BOOL __stdcall NET_DVR_StopPassiveTransCode(LONG lPassiveHandle); -NET_DVR_API LONG __stdcall NET_DVR_GetPassiveTransChanNum(LONG lPassiveHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetDeviceConfigEx(LONG lUserID, DWORD dwCommand, DWORD dwCount, NET_DVR_IN_PARAM *lpInParam, NET_DVR_OUT_PARAM *lpOutParam); - -NET_DVR_API BOOL __stdcall NET_DVR_GetSTDConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_STD_CONFIG lpConfigParam); -NET_DVR_API BOOL __stdcall NET_DVR_SetSTDConfig(LONG lUserID, DWORD dwCommand, LPNET_DVR_STD_CONFIG lpConfigParam); -NET_DVR_API BOOL __stdcall NET_DVR_GetSTDAbility(LONG lUserID, DWORD dwAbilityType, LPNET_DVR_STD_ABILITY lpAbilityParam); -NET_DVR_API BOOL __stdcall NET_DVR_STDControl(LONG lUserID, DWORD dwCommand, LPNET_DVR_STD_CONTROL lpControlParam); -NET_DVR_API BOOL __stdcall NET_DVR_STDXMLConfig(LONG lUserID, NET_DVR_XML_CONFIG_INPUT* lpInputParam, NET_DVR_XML_CONFIG_OUTPUT* lpOutputParam); -NET_DVR_API LONG __stdcall NET_DVR_Upgrade_V40(DWORD lUserID, DWORD dwUpgradeType, char const *sFileName, void *pInbuffer, DWORD dwBufferLen); -NET_DVR_API LONG __stdcall NET_DVR_Upgrade_V50(DWORD lUserID, LPNET_DVR_UPGRADE_PARAM lpUpgradeParam); - -NET_DVR_API BOOL __stdcall NET_DVR_DetectImage_V50(LONG lUserID, LPNET_VCA_FD_PROCIMG_CFG lpFDProcImg,LPNET_VCA_FD_PROCIMG_RESULT_V50 lpOutBuf); - -NET_DVR_API LONG __stdcall NET_DVR_SmartSearchPicture(LONG lUserID, NET_DVR_SMART_SEARCH_PIC_PARA * pFindParam); -NET_DVR_API LONG __stdcall NET_DVR_FindNextSmartPicture(LONG lFindHandle,LPNET_DVR_SMART_SEARCH_PIC_RET lpFindData); -NET_DVR_API BOOL __stdcall NET_DVR_CloseSmartSearchPicture(LONG lFindHandle); -NET_DVR_API BOOL __stdcall NET_DVR_SetESCallBack(LONG iRealHandle, void (__stdcall *fnESCallback)(LONG lPreviewHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_SetESRealPlayCallBack(LONG iRealHandle, void(__stdcall *fPlayESCallBack)(LONG lPreviewHandle, NET_DVR_PACKET_INFO_EX *pstruPackInfo, void* pUser), void* pUser); -NET_DVR_API BOOL __stdcall NET_DVR_ActivateDevice(char* sDVRIP, WORD wDVRPort, LPNET_DVR_ACTIVATECFG lpActivateCfg); -NET_DVR_API BOOL __stdcall NET_DVR_GetAddrInfoByServer(DWORD dwQueryType, void* pInBuf, DWORD dwInBufLen, void* pOutBuf, DWORD dwOutBufLen); -NET_DVR_API BOOL __stdcall NET_DVR_StartGetDevState(LPNET_DVR_CHECK_DEV_STATE pParams); -NET_DVR_API BOOL __stdcall NET_DVR_StopGetDevState(); -NET_DVR_API BOOL __stdcall NET_DVR_RigisterPlayBackDrawFun(LONG lPlayHandle, void (__stdcall *fDrawFun)(LONG lPlayHandle, HDC hDc, DWORD dwUser), DWORD dwUser); - -NET_DVR_API BOOL __stdcall NET_DVR_SetSDKInitCfg(NET_SDK_INIT_CFG_TYPE enumType, void* const lpInBuff); -NET_DVR_API BOOL __stdcall NET_DVR_ReleaseSDKMemPool(LPNET_DVR_SDKMEMPOOL_CFG lpSdkMemPoolCfg); - -NET_DVR_API BOOL __stdcall NET_DVR_CapturePictureBlock(LONG iRealHandle, char const *sPicFileName, DWORD dwTimeOut); - - -NET_DVR_API BOOL __stdcall NET_DVR_CapturePictureBlock_New(LONG iRealHandle, char *pPicBuf, DWORD dwPicSize, DWORD *lpSizeReturned); - -NET_DVR_API BOOL __stdcall NET_DVR_ChangeWndResolution(LONG iRealHandle); - -NET_DVR_API LONG __stdcall NET_DVR_SDKChannelToISAPI(LONG lUserID, LONG lInChannel, BOOL bSDKToISAPI); - -NET_DVR_API BOOL __stdcall NET_DVR_STDXMLConfig_Conv(LONG lUserID, NET_DVR_XML_CONFIG_INPUT* lpInputParam, NET_DVR_XML_CONFIG_OUTPUT* lpOutputParam); - -NET_DVR_API BOOL __stdcall NET_DVR_SetDevXmlLen(LONG lUserID, const WORD wDevXmlLen); - -NET_DVR_API LONG __stdcall NET_DVR_SetupAlarmChan_V50(LONG iUserID, LPNET_DVR_SETUPALARM_PARAM_V50 lpSetupParam, char *pSub, DWORD dwSubSize); - -NET_DVR_API BOOL __stdcall NET_DVR_GetAlarmSubscribe(LONG lAlarmHandle, char *pData, DWORD dwDataLen); - -NET_DVR_API BOOL __stdcall NET_DVR_SetAlarmSubscribe(LONG lAlarmHandle, char *pData, DWORD dwDataLen); - -NET_DVR_API BOOL __stdcall NET_DVR_GetNPQStat(LONG lHandle, NET_SDK_NPQ_STATE* pStruStat); - -NET_DVR_API BOOL __stdcall NET_DVR_SetNPQNotifyParam(LONG lHandle, NET_SDK_NPQ_NOTIFY_PARAM* pNotifyParam); - -NET_DVR_API BOOL __stdcall NET_DVR_PlaybackGetNPQStat(LONG lHandle, NET_SDK_NPQ_STATE* pStruStat); -NET_DVR_API BOOL __stdcall NET_DVR_RenderPrivateData(LONG lRealHandle, int iIntelType, BOOL bTrue); -NET_DVR_API BOOL __stdcall NET_DVR_RenderPrivateDataEx(LONG lRealHandle, int iIntelType, int iSubType, BOOL bTrue); - -NET_DVR_API BOOL __stdcall NET_DVR_PlaybackSetNPQNotifyParam(LONG lHandle, NET_SDK_NPQ_NOTIFY_PARAM* pNotifyParam); - -NET_DVR_API BOOL __stdcall NET_DVR_EnableRelogon(BOOL bEnable, DWORD dwReserved); - -NET_DVR_API LONG __stdcall NET_DVR_CreateEzvizUser(LPNET_DVR_EZVIZ_USER_LOGIN_INFO pLoginInfo, LPNET_DVR_DEVICEINFO_V30 pDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteEzvizUser(LONG iUserID); - -NET_DVR_API LONG __stdcall NET_DVR_CreateOpenEzvizUser(LPNET_DVR_OPEN_EZVIZ_USER_LOGIN_INFO pLoginInfo, LPNET_DVR_DEVICEINFO_V40 pDeviceInfo); -NET_DVR_API BOOL __stdcall NET_DVR_DeleteOpenEzvizUser(LONG iUserID); - -NET_DVR_API BOOL __stdcall NET_DVR_LoadAdditionalLib(ADDITIONAL_LIB libType, char const *sDllName); - -#endif // - diff --git a/src/include/Hik/arm64/LinuxPlayM4.h b/src/include/Hik/arm64/LinuxPlayM4.h deleted file mode 100644 index 1043213..0000000 --- a/src/include/Hik/arm64/LinuxPlayM4.h +++ /dev/null @@ -1,955 +0,0 @@ -#ifndef __LINUX_PLAYM4_H__ -#define __LINUX_PLAYM4_H__ - -#ifdef __cplusplus - extern "C" - { -#endif - -typedef unsigned int PLAYM4_HWND; -typedef void * PLAYM4_HWNDEX; -typedef void * PLAYM4_HDC; - -#define PLAYM4_API - -#define __stdcall - -#ifndef CALLBACK -#define CALLBACK -#endif - -//Max channel numbers -#define PLAYM4_MAX_SUPPORTS 500 - -//Wave coef range; -#define MIN_WAVE_COEF -100 -#define MAX_WAVE_COEF 100 - -//Timer type -#define TIMER_1 1 //Only 16 timers for every process.Default TIMER; -#define TIMER_2 2 //Not limit;But the precision less than TIMER_1; - -//BUFFER AND DATA TYPE -#define BUF_VIDEO_SRC (1) //mixed input,total src buffer size;splited input,video src buffer size -#define BUF_AUDIO_SRC (2) //mixed input,not defined;splited input,audio src buffer size -#define BUF_VIDEO_RENDER (3) //video render node count or node cout for decoded data -#define BUF_AUDIO_RENDER (4) //audio render node count -#define BUF_VIDEO_DECODED (5) //video decoded node count to render -#define BUF_AUDIO_DECODED (6) //audio decoded node count to render - -//Error code -#define PLAYM4_NOERROR 0 //no error -#define PLAYM4_PARA_OVER 1 //input parameter is invalid; -#define PLAYM4_ORDER_ERROR 2 //The order of the function to be called is error. -#define PLAYM4_TIMER_ERROR 3 //Create multimedia clock failed; -#define PLAYM4_DEC_VIDEO_ERROR 4 //Decode video data failed. -#define PLAYM4_DEC_AUDIO_ERROR 5 //Decode audio data failed. -#define PLAYM4_ALLOC_MEMORY_ERROR 6 //Allocate memory failed. -#define PLAYM4_OPEN_FILE_ERROR 7 //Open the file failed. -#define PLAYM4_CREATE_OBJ_ERROR 8 //Create thread or event failed -//#define PLAYM4_CREATE_DDRAW_ERROR 9 //Create DirectDraw object failed. -//#define PLAYM4_CREATE_OFFSCREEN_ERROR 10 //failed when creating off-screen surface. -#define PLAYM4_BUF_OVER 11 //buffer is overflow -#define PLAYM4_CREATE_SOUND_ERROR 12 //failed when creating audio device. -#define PLAYM4_SET_VOLUME_ERROR 13 //Set volume failed -#define PLAYM4_SUPPORT_FILE_ONLY 14 //The function only support play file. -#define PLAYM4_SUPPORT_STREAM_ONLY 15 //The function only support play stream. -#define PLAYM4_SYS_NOT_SUPPORT 16 //System not support. -#define PLAYM4_FILEHEADER_UNKNOWN 17 //No file header. -#define PLAYM4_VERSION_INCORRECT 18 //The version of decoder and encoder is not adapted. -#define PLAYM4_INIT_DECODER_ERROR 19 //Initialize decoder failed. -#define PLAYM4_CHECK_FILE_ERROR 20 //The file data is unknown. -#define PLAYM4_INIT_TIMER_ERROR 21 //Initialize multimedia clock failed. -#define PLAYM4_BLT_ERROR 22 //Display failed. -//#define PLAYM4_UPDATE_ERROR 23 //Update failed. -#define PLAYM4_OPEN_FILE_ERROR_MULTI 24 //openfile error, streamtype is multi -#define PLAYM4_OPEN_FILE_ERROR_VIDEO 25 //openfile error, streamtype is video -#define PLAYM4_JPEG_COMPRESS_ERROR 26 //JPEG compress error -#define PLAYM4_EXTRACT_NOT_SUPPORT 27 //Don't support the version of this file. -#define PLAYM4_EXTRACT_DATA_ERROR 28 //extract video data failed. -#define PLAYM4_SECRET_KEY_ERROR 29 //Secret key is error //add 20071218 -#define PLAYM4_DECODE_KEYFRAME_ERROR 30 //add by hy 20090318 -#define PLAYM4_NEED_MORE_DATA 31 //add by hy 20100617 -#define PLAYM4_INVALID_PORT 32 //add by cj 20100913 -#define PLAYM4_NOT_FIND 33 //add by cj 20110428 -#define PLAYM4_NEED_LARGER_BUFFER 34 //add by pzj 20130528 -#define PLAYM4_FAIL_UNKNOWN 99 //Fail, but the reason is unknown; - -//۹ܴ -#define PLAYM4_FEC_ERR_ENABLEFAIL 100 // ģʧ -#define PLAYM4_FEC_ERR_NOTENABLE 101 // ģûм -#define PLAYM4_FEC_ERR_NOSUBPORT 102 // Ӷ˿ûз -#define PLAYM4_FEC_ERR_PARAMNOTINIT 103 // ûгʼӦ˿ڵIJ -#define PLAYM4_FEC_ERR_SUBPORTOVER 104 // Ӷ˿Ѿ -#define PLAYM4_FEC_ERR_EFFECTNOTSUPPORT 105 // ðװʽЧ֧ -#define PLAYM4_FEC_ERR_INVALIDWND 106 // ǷĴ -#define PLAYM4_FEC_ERR_PTZOVERFLOW 107 // PTZλԽ -#define PLAYM4_FEC_ERR_RADIUSINVALID 108 // ԲIJǷ -#define PLAYM4_FEC_ERR_UPDATENOTSUPPORT 109 // ָİװʽͽЧò²֧ -#define PLAYM4_FEC_ERR_NOPLAYPORT 110 // ſ˿û -#define PLAYM4_FEC_ERR_PARAMVALID 111 // Ϊ -#define PLAYM4_FEC_ERR_INVALIDPORT 112 // ǷӶ˿ -#define PLAYM4_FEC_ERR_PTZZOOMOVER 113 // PTZΧԽ -#define PLAYM4_FEC_ERR_OVERMAXPORT 114 // ֵ֧ͨͣĽͨΪĸ -#define PLAYM4_FEC_ERR_ENABLED 115 //ö˿Ѿģ -#define PLAYM4_FEC_ERR_D3DACCENOTENABLE 116 // D3Dûп -#define PLAYM4_FEC_ERR_PLACETYPE 117 // װʽ.һſportӦһְװʽ -#define PLAYM4_FEC_ERR_CorrectType 118 // ʽʽ,ܿһſport,趨PTZ۰ʽ,Ľʽֻܿһ·;180Ƚܺptzһ𿪣޹ԡ -#define PLAYM4_FEC_ERR_NULLWND 119 // ۴Ϊ -#define PLAYM4_FEC_ERR_PARA 120 // ۲ - -//Max display regions. -#define MAX_DISPLAY_WND 4 - -//Display type -#define DISPLAY_NORMAL 0x00000001 -#define DISPLAY_QUARTER 0x00000002 -#define DISPLAY_YC_SCALE 0x00000004 //add by gb 20091116 -#define DISPLAY_NOTEARING 0x00000008 -//Display buffers -#define MAX_DIS_FRAMES 50 -#define MIN_DIS_FRAMES 1 - -//Locate by -#define BY_FRAMENUM 1 -#define BY_FRAMETIME 2 - -//Source buffer -#define SOURCE_BUF_MAX 1024*100000 -#define SOURCE_BUF_MIN 1024*50 - -//Stream type -#define STREAME_REALTIME 0 -#define STREAME_FILE 1 - -//frame type -#define T_AUDIO16 101 -#define T_AUDIO8 100 -#define T_UYVY 1 -#define T_YV12 3 -#define T_RGB32 7 - -//capability -#define SUPPORT_DDRAW 1 -#define SUPPORT_BLT 2 -#define SUPPORT_BLTFOURCC 4 -#define SUPPORT_BLTSHRINKX 8 -#define SUPPORT_BLTSHRINKY 16 -#define SUPPORT_BLTSTRETCHX 32 -#define SUPPORT_BLTSTRETCHY 64 -#define SUPPORT_SSE 128 -#define SUPPORT_MMX 256 - -// º궨HIK_MEDIAINFOṹ -#define FOURCC_HKMI 0x484B4D49 // "HKMI" HIK_MEDIAINFOṹ -// ϵͳװʽ -#define SYSTEM_NULL 0x0 // ûϵͳ㣬ƵƵ -#define SYSTEM_HIK 0x1 // ļ -#define SYSTEM_MPEG2_PS 0x2 // PSװ -#define SYSTEM_MPEG2_TS 0x3 // TSװ -#define SYSTEM_RTP 0x4 // rtpװ -#define SYSTEM_RTPHIK 0x401 // rtpװ - -// Ƶ -#define VIDEO_NULL 0x0 // ûƵ -#define VIDEO_H264 0x1 // ׼H.264ͺH.264 -#define VIDEO_MPEG2 0x2 // ׼MPEG2 -#define VIDEO_MPEG4 0x3 // ׼MPEG4 -#define VIDEO_MJPEG 0x4 -#define VIDEO_AVC264 0x0100 - -// Ƶ -#define AUDIO_NULL 0x0000 // ûƵ -#define AUDIO_ADPCM 0x1000 // ADPCM -#define AUDIO_MPEG 0x2000 // MPEG ϵƵӦMPEGƵ -#define AUDIO_AAC 0x2001 -// GϵƵ -#define AUDIO_RAW_DATA8 0x7000 //Ϊ8kԭʼ -#define AUDIO_RAW_UDATA16 0x7001 //Ϊ16kԭʼݣL16 -#define AUDIO_G711_U 0x7110 -#define AUDIO_G711_A 0x7111 -#define AUDIO_G722_1 0x7221 -#define AUDIO_G723_1 0x7231 -#define AUDIO_G726_U 0x7260 -#define AUDIO_G726_A 0x7261 -#define AUDIO_G726_16 0x7262 -#define AUDIO_G729 0x7290 -#define AUDIO_AMR_NB 0x3000 - -#define SYNCDATA_VEH 1 //ͬ:Ϣ -#define SYNCDATA_IVS 2 //ͬ:Ϣ - -//motion flow type -#define MOTION_FLOW_NONE 0 -#define MOTION_FLOW_CPU 1 -#define MOTION_FLOW_GPU 2 - -//Ƶ -#define ENCRYPT_AES_3R_VIDEO 1 -#define ENCRYPT_AES_10R_VIDEO 2 -#define ENCRYPT_AES_3R_AUDIO 1 -#define ENCRYPT_AES_10R_AUDIO 2 - -typedef struct tagSystemTime -{ - short wYear; - short wMonth; - short wDayOfWeek; - short wDay; - short wHour; - short wMinute; - short wSecond; - short wMilliseconds; -}SYSTEMTIME; - -typedef struct tagHKRect -{ - unsigned long left; - unsigned long top; - unsigned long right; - unsigned long bottom; -}HKRECT; - -//Frame position -typedef struct -{ - long long nFilePos; - int nFrameNum; - int nFrameTime; - int nErrorFrameNum; - SYSTEMTIME *pErrorTime; - int nErrorLostFrameNum; - int nErrorFrameSize; -}FRAME_POS,*PFRAME_POS; - -//Frame Info -typedef struct -{ - int nWidth; - int nHeight; - int nStamp; - int nType; - int nFrameRate; - unsigned int dwFrameNum; -}FRAME_INFO; - -//Frame -typedef struct -{ - char *pDataBuf; - int nSize; - int nFrameNum; - int bIsAudio; - int nReserved; -}FRAME_TYPE; - -//Watermark Info //add by gb 080119 -typedef struct -{ - char *pDataBuf; - int nSize; - int nFrameNum; - int bRsaRight; - int nReserved; -}WATERMARK_INFO; - -typedef struct SYNCDATA_INFO -{ - unsigned int dwDataType; //ͬĸϢͣĿǰУϢϢ - unsigned int dwDataLen; //Ϣݳ - unsigned char* pData; //ָϢݽṹָ,IVS_INFOṹ -} SYNCDATA_INFO; - -#ifndef _HIK_MEDIAINFO_FLAG_ -#define _HIK_MEDIAINFO_FLAG_ -typedef struct _HIK_MEDIAINFO_ // modified by gb 080425 -{ - unsigned int media_fourcc; // "HKMI": 0x484B4D49 Hikvision Media Information - unsigned short media_version; // 汾ţָϢṹ汾ţĿǰΪ0x0101,1.01汾01汾ţ01Ӱ汾š - unsigned short device_id; // 豸IDڸ/ - - unsigned short system_format; // ϵͳװ - unsigned short video_format; // Ƶ - - unsigned short audio_format; // Ƶ - unsigned char audio_channels; // ͨ - unsigned char audio_bits_per_sample; // λ - unsigned int audio_samplesrate; // - unsigned int audio_bitrate; // ѹƵ,λbit - unsigned char flag; //8bit,0x81ʾ smartǣΪsmart,ʶintraķʽ media_version >= 0x0103&& video_fortmat = (H.264 or H.265) && ((flag & 0x02) ==0x2) - unsigned char stream_tag; //8bit,0x81ʾкSDPϢ - unsigned char reserved[14]; // -}HIK_MEDIAINFO; -#endif - -typedef struct -{ - int nPort; - char* pBuf; - int nBufLen; - int nWidth; - int nHeight; - int nStamp; - int nType; - void* nUser; -}DISPLAY_INFO; - -typedef struct -{ - int nPort; - char *pVideoBuf; - int nVideoBufLen; - char *pPriBuf; - int nPriBufLen; - int nWidth; - int nHeight; - int nStamp; - int nType; - void* nUser; -}DISPLAY_INFOEX; - -typedef struct PLAYM4_SYSTEM_TIME //ʱ -{ - unsigned int dwYear; // - unsigned int dwMon; // - unsigned int dwDay; // - unsigned int dwHour; //ʱ - unsigned int dwMin; // - unsigned int dwSec; // - unsigned int dwMs; // -} PLAYM4_SYSTEM_TIME; - -#ifndef CROP_PIC_INFO_TAG -#define CROP_PIC_INFO_TAG -typedef struct -{ - unsigned char* pDataBuf; //ץͼbuffer - unsigned int dwPicSize; //ʵͼƬС - unsigned int dwBufSize; //bufferС - unsigned int dwPicWidth; //ͼ - unsigned int dwPicHeight; //ͼ - unsigned int dwReserve; //һreserveֶ - HKRECT* pCropRect; //ѡNULL, ͬϵץͼӿ -}CROP_PIC_INFO; -#endif - -////////////////////////////////////////////////////////////////////////////// -//API -////////////////////////////////////////////////////////////////////////////// -int PlayM4_GetPort(int* nPort); -int PlayM4_FreePort(int nPort); - -int PlayM4_OpenFile(int nPort,char * sFileName); -int PlayM4_CloseFile(int nPort); -int PlayM4_SetStreamOpenMode(int nPort,unsigned int nMode); -int PlayM4_GetStreamOpenMode(int nPort); -int PlayM4_OpenStream(int nPort,unsigned char * pFileHeadBuf,unsigned int nSize,unsigned int nBufPoolSize); -int PlayM4_CloseStream(int nPort); - -int PlayM4_Play(int nPort, PLAYM4_HWND hWnd); -int PlayM4_PlayEx(int nPort, PLAYM4_HWNDEX hWnd); -int PlayM4_Stop(int nPort); -int PlayM4_Pause(int nPort,unsigned int nPause); -int PlayM4_Fast(int nPort); -int PlayM4_Slow(int nPort); -int PlayM4_RefreshPlay(int nPort); -int PlayM4_InputData(int nPort,unsigned char * pBuf,unsigned int nSize); - -int PlayM4_PlaySound(int nPort); -int PlayM4_StopSound(); -int PlayM4_PlaySoundShare(int nPort); -int PlayM4_StopSoundShare(int nPort); -int PlayM4_SetVolume(int nPort,unsigned short nVolume); -unsigned short PlayM4_GetVolume(int nPort); - -int PlayM4_OneByOne(int nPort); -int PlayM4_OneByOneBack(int nPort); - -int PlayM4_SetPlayPos(int nPort,float fRelativePos); -float PlayM4_GetPlayPos(int nPort); - -unsigned int PlayM4_GetFileTime(int nPort); -unsigned int PlayM4_GetPlayedTime(int nPort); -unsigned int PlayM4_GetPlayedFrames(int nPort); -unsigned int PlayM4_GetFileTotalFrames(int nPort); -unsigned int PlayM4_GetCurrentFrameRate(int nPort); -unsigned int PlayM4_GetCurrentFrameNum(int nPort); -unsigned int PlayM4_GetSpecialData(int nPort); -unsigned int PlayM4_GetAbsFrameNum(int nPort); -unsigned int PlayM4_GetFileHeadLength(); -unsigned int PlayM4_GetSdkVersion(); -unsigned int PlayM4_GetLastError(int nPort); -unsigned int PlayM4_GetPlayedTimeEx(int nPort); - -int PlayM4_GetSystemTime(int nPort, PLAYM4_SYSTEM_TIME *pstSystemTime); -int PlayM4_GetFileTimeEx(int nPort, unsigned int* pStart, unsigned int* pStop, unsigned int* pRev); -int PlayM4_GetCurrentFrameRateEx(int nPort, float* pfFrameRate); -int PlayM4_GetPictureSize(int nPort,int *pWidth,int *pHeight); -int PlayM4_GetKeyFramePos(int nPort,unsigned int nValue, unsigned int nType, PFRAME_POS pFramePos); -int PlayM4_GetNextKeyFramePos(int nPort,unsigned int nValue, unsigned int nType, PFRAME_POS pFramePos); - -int PlayM4_ConvertToBmpFile(char * pBuf,int nSize,int nWidth,int nHeight,int nType,char *sFileName); -int PlayM4_ConvertToJpegFile(char * pBuf,int nSize,int nWidth,int nHeight,int nType,char *sFileName); -int PlayM4_SetJpegQuality(int nQuality); -int PlayM4_GetBMP(int nPort,unsigned char * pBitmap,unsigned int nBufSize,unsigned int* pBmpSize); -int PlayM4_GetJPEG(int nPort,unsigned char * pJpeg,unsigned int nBufSize,unsigned int* pJpegSize); - -int PlayM4_SetPlayedTimeEx(int nPort,unsigned int nTime); -int PlayM4_SetCurrentFrameNum(int nPort,unsigned int nFrameNum); -int PlayM4_SetDisplayRegion(int nPort,unsigned int nRegionNum, HKRECT *pSrcRect, PLAYM4_HWND hDestWnd, int bEnable); -int PlayM4_SetDisplayRegionOnWnd(int nPort,unsigned int nRegionNum, HKRECT *pSrcRect, int bEnable);///<രڷָӿ -int PlayM4_SetDecodeFrameType(int nPort,unsigned int nFrameType); -int PlayM4_SetSecretKey(int nPort, int lKeyType, char *pSecretKey, int lKeyLen); - -int PlayM4_SetDecCBStream(int nPort,unsigned int nStream); -int PlayM4_SetDecCallBackMend(int nPort,void (CALLBACK* DecCBFun)(int nPort,char * pBuf,int nSize,FRAME_INFO * pFrameInfo, void* nUser,int nReserved2), void* nUser); -int PlayM4_SetDecCallBackExMend(int nPort, void (CALLBACK* DecCBFun)(int nPort, char* pBuf, int nSize, FRAME_INFO* pFrameInfo, void* nUser, int nReserved2), char* pDest, int nDestSize, void* nUser); - -int PlayM4_SetDisplayCallBack(int nPort,void (CALLBACK* DisplayCBFun)(int nPort,char * pBuf,int nSize,int nWidth,int nHeight,int nStamp,int nType,int nReserved)); -int PlayM4_SetDisplayCallBackEx(int nPort,void (CALLBACK* DisplayCBFun)(DISPLAY_INFO *pstDisplayInfo), void* nUser); -int PlayM4_SetFileRefCallBack(int nPort, void (CALLBACK *pFileRefDone)(unsigned int nPort,void* nUser),void* nUser); -int PlayM4_SetEncTypeChangeCallBack(int nPort, void(CALLBACK *funEncChange)(int nPort, void* nUser), void* nUser); -int PlayM4_SetCheckWatermarkCallBack(int nPort, void(CALLBACK* funCheckWatermark)(int nPort, WATERMARK_INFO* pWatermarkInfo, void* nUser), void* nUser); -int PlayM4_SetFileEndCallback(int nPort, void(CALLBACK*FileEndCallback)(int nPort, void *pUser), void *pUser); - -int PlayM4_ResetSourceBuffer(int nPort); -int PlayM4_SetDisplayBuf(int nPort, unsigned int nNum); -int PlayM4_ResetBuffer(int nPort,unsigned int nBufType); -unsigned int PlayM4_GetSourceBufferRemain(int nPort); -unsigned int PlayM4_GetDisplayBuf(int nPort); -unsigned int PlayM4_GetBufferValue(int nPort,unsigned int nBufType); - -int PlayM4_GetRefValue(int nPort,unsigned char *pBuffer, unsigned int *pSize); -int PlayM4_SetRefValue(int nPort,unsigned char *pBuffer, unsigned int nSize); -int PlayM4_GetRefValueEx(int nPort,unsigned char *pBuffer, unsigned int *pSize);///< ֡ͻص - -int PlayM4_RegisterDrawFun(int nPort,void (CALLBACK* DrawFun)(int nPort,PLAYM4_HDC hDc,void* nUser),void* nUser); - -int PlayM4_ThrowBFrameNum(int nPort,unsigned int nNum); -int PlayM4_SkipErrorData(int nPort, int bSkip); - -int PlayM4_ReversePlay(int nPort); - - -#ifndef PLAYM4_SESSION_INFO_TAG -#define PLAYM4_SESSION_INFO_TAG -//nProtocolType -#define PLAYM4_PROTOCOL_RTSP 1 -//nSessionInfoType -#define PLAYM4_SESSION_INFO_SDP 1 - -typedef struct _PLAYM4_SESSION_INFO_ //Ϣṹ -{ - int nSessionInfoType; //ϢͣSDP纣˽Ϣͷ - int nSessionInfoLen; //Ϣ - unsigned char* pSessionInfoData; //Ϣ - -} PLAYM4_SESSION_INFO; -#endif - -PLAYM4_API int __stdcall PlayM4_OpenStreamAdvanced(int nPort, int nProtocolType, PLAYM4_SESSION_INFO* pstSessionInfo, unsigned int nBufPoolSize); - -#define R_ANGLE_0 -1 //ת -#define R_ANGLE_L90 0 //ת90 -#define R_ANGLE_R90 1 //ת90 -#define R_ANGLE_180 2 //ת180 - -PLAYM4_API int __stdcall PlayM4_SetRotateAngle(int nPort, unsigned int nRegionNum, unsigned int dwType); - -#ifndef PLAYM4_ADDITION_INFO_TAG -#define PLAYM4_ADDITION_INFO_TAG -typedef struct _PLAYM4_ADDITION_INFO_ //Ϣṹ -{ - unsigned char* pData; // - unsigned int dwDatalen; //ݳ - unsigned int dwDataType; // - unsigned int dwTimeStamp; //ʱ -} PLAYM4_ADDITION_INFO; -#endif - -//dwGroupIndex Լȡֵ0~3һ汾ȡֻͬͬclosestream -PLAYM4_API int __stdcall PlayM4_SetSycGroup(int nPort, unsigned int dwGroupIndex); -//ݲʵִ˺ͬõʼʱ䲻һ£СʱΪ㣬ͬһֻһ· -PLAYM4_API int __stdcall PlayM4_SetSycStartTime(int nPort, PLAYM4_SYSTEM_TIME *pstSystemTime); - -// ʵصĽӿ -#ifndef FISH_EYE_TAG -#define FISH_EYE_TAG - -// -typedef enum tagFECPlaceType -{ - FEC_PLACE_WALL = 0x1, // װʽ (ˮƽ) - FEC_PLACE_FLOOR = 0x2, // 氲װ () - FEC_PLACE_CEILING = 0x3, // װʽ () - -}FECPLACETYPE; - -typedef enum tagFECCorrectType -{ - FEC_CORRECT_NULL = 0x0, // (ԭͼ) - FEC_CORRECT_PTZ = 0x100, // PTZ - FEC_CORRECT_180 = 0x200, // 180Ƚ Ӧ2P - FEC_CORRECT_360 = 0x300, // 360ȫ Ӧ1P - FEC_CORRECT_LAT = 0x400, // γչ - FEC_CORRECT_SEMISPHERE = 0x500, // 3D - FEC_CORRECT_CYLINDER = 0x0600, // Բʾ - װ/װ - FEC_CORRECT_CYLINDER_SPLIT = 0x0700, // пԲʾ - װ/װ - FEC_CORRECT_PLANET = 0x0800, // С - FEC_CORRECT_ARCSPHERE_HORIZONTAL = 0x0900, // ˮƽ - װ - FEC_CORRECT_ARCSPHERE_VERTICAL = 0x0A00, // ۴ֱ - װ - -}FECCORRECTTYPE; - -typedef enum tagFECCorrectEffect -{ - FEC_CORRECT_EFFECT_BACK_FACE_CULLING = 0x100, // ޳0ʾãΪ0ʾãǿת - -}FECCORRECTEFFECT; - - -typedef struct tagCycleParam -{ - float fRadiusLeft; // ԲX - float fRadiusRight; // ԲұX - float fRadiusTop; // ԲϱY - float fRadiusBottom; // Բ±Y - -}CYCLEPARAM; - -typedef struct tagPTZParam -{ - float fPTZPositionX; // PTZ ʾλ X - float fPTZPositionY; // PTZ ʾλ Y - -}PTZPARAM; - -// PTZԭʼͼʾģʽ -typedef enum tagFECShowMode -{ - FEC_PTZ_OUTLINE_NULL, // ʾ - FEC_PTZ_OUTLINE_RECT, // ʾ - FEC_PTZ_OUTLINE_RANGE, // ʵʾ -}FECSHOWMODE; - -// ±DZ - -#define FEC_UPDATE_RADIUS 0x1 -#define FEC_UPDATE_PTZZOOM 0x2 -#define FEC_UPDATE_WIDESCANOFFSET 0x4 -#define FEC_UPDATE_PTZPARAM 0x8 -#define FEC_UPDATT_PTZCOLOR 0x10 - -// ɫʽṹ -typedef struct tagFECColor -{ - unsigned char nR; // R - unsigned char nG; // G - unsigned char nB; // B - unsigned char nAlpha; // Alpha -}FECCOLOR; - -typedef struct tagFECParam -{ - unsigned int nUpDateType; // µ - unsigned int nPlaceAndCorrect; // װʽͽʽֻڻȡSetParamʱЧ,ֵʾװʽͽʽĺ - PTZPARAM stPTZParam; // PTZ УIJ - CYCLEPARAM stCycleParam; // ͼԲIJ - float fZoom; // PTZ ʾķΧ - float fWideScanOffset; // 180360УƫƽǶ - FECCOLOR stPTZColor; // PTZɫ - int nResver[15]; // ֶ - -}FISHEYEPARAM; - -#define FEC_JPEG 0 // JPEGץͼ -#define FEC_BMP 1 // BMP ץͼ - -///<µ3d۰ӽDZ仯(źת) -typedef enum tagPLAYM4HRViewParamType -{ - PLAYM4_HR_VPT_ROTATION_X = 0x1, ///<ˮƽת - PLAYM4_HR_VPT_ROTATION_Y = 0x2, ///<ֱת - PLAYM4_HR_VPT_SCALE = 0x3, ///<(ֵΪ0ֵʱΪ-Ч) -}PLAYM4HRVIEWPARAMTYPE; - -// 3DģͲ -typedef enum tagPLAYM4FEC3DModelParam -{ - PLAYM4_FEC_3DMP_CYLINDER_HEIGHT = 0x1, ///< Բģ͸ - PLAYM4_FEC_3DMP_CYLINDER_RADIUS = 0x2, ///< ԲģͰ뾶 -}PLAYM4FEC3DMODELPARAM; - -// ضӽ״̬ -typedef enum tagPLAYM4FECSpecialViewType -{ - PLAYM4_FEC_SVT_EDGE = 0x1 ///<ģ봰ӽ -}PLAYM4FECSPECIALVIEWTYPE; - - -#endif - -typedef void (__stdcall * FISHEYE_CallBack )( void* pUser , unsigned int nPort , unsigned int nCBType , void * hDC , unsigned int nWidth , unsigned int nHeight); - -// -PLAYM4_API int __stdcall PlayM4_FEC_Enable(int nPort); - -// رģ -PLAYM4_API int __stdcall PlayM4_FEC_Disable(int nPort); - -// ȡ۽Ӷ˿ [1~31] -PLAYM4_API int __stdcall PlayM4_FEC_GetPort(int nPort , unsigned int* nSubPort , FECPLACETYPE emPlaceType , FECCORRECTTYPE emCorrectType); - -// ɾ۽Ӷ˿ -PLAYM4_API int __stdcall PlayM4_FEC_DelPort(int nPort , unsigned int nSubPort); - -// ۽ -PLAYM4_API int __stdcall PlayM4_FEC_SetParam(int nPort , unsigned int nSubPort , FISHEYEPARAM * pPara); - -// ȡ۽ -PLAYM4_API int __stdcall PlayM4_FEC_GetParam(int nPort , unsigned int nSubPort , FISHEYEPARAM * pPara); - -// ʾڣʱл -PLAYM4_API int __stdcall PlayM4_FEC_SetWnd(int nPort , unsigned int nSubPort , void * hWnd); - -// ۴ڵĻͼص -PLAYM4_API int __stdcall PlayM4_FEC_SetCallBack(int nPort , unsigned int nSubPort , FISHEYE_CallBack cbFunc , void * pUser); - -PLAYM4_API int __stdcall PlayM4_FEC_Capture(int nPort, unsigned int nSubPort , unsigned int nType, char *pFileName); - -PLAYM4_API int __stdcall PlayM4_FEC_GetCurrentPTZPort(int nPort, float fPositionX,float fPositionY, unsigned int *pnPort); - -PLAYM4_API int __stdcall PlayM4_FEC_SetCurrentPTZPort(int nPort, unsigned int nSubPort); - -PLAYM4_API int __stdcall PlayM4_FEC_SetPTZOutLineShowMode(int nPort,FECSHOWMODE nPTZShowMode); - -//µ۰ӽDZ仯(ת)ؽӿ -//ȡӽDz(ǰȻȡǰֵ) -PLAYM4_API int __stdcall PlayM4_FEC_GetViewParam(int nPort, unsigned int nSubPort, PLAYM4HRVIEWPARAMTYPE enViewParamType, float* fValue); -//ðӽDZ仯(õֵΪȡֵҪƫֵ) -PLAYM4_API int __stdcall PlayM4_FEC_SetViewParam(int nPort, unsigned int nSubPort, PLAYM4HRVIEWPARAMTYPE enViewParamType, float fValue); - -//۵ӷŴ nType = 0 -//۴ڷָ nType = 1 -//ע⣬ڷָʱhDestWndЧΪNULL20180813ݲ֧֣ -//ĿǰӷŴ֧ϷŴnRegionNumΪ0hDestWndΪNULLbEnableΪ0ȡӷŴ󣬷0ΪӷŴ -//pSrcRectһ1000Կ߸ߣֵ0-1000֮䣩 -//ֻƼԭͼ180360γչPTZʾӷŴٿptzᵼµӷŴʧЧ-3D۲ʹô˽ӿ(ӽDZ仯ӿڽţ -PLAYM4_API bool __stdcall PlayM4_FEC_SetDisplayRegion(int nPort, unsigned int nSubPort,unsigned int nType, unsigned int nRegionNum, HKRECT *pSrcRect, PLAYM4_HWND hDestWnd, int bEnable); -//޳0ʾãΪ0ʾãǿת -PLAYM4_API bool __stdcall PlayM4_FEC_SetCorrectEffect(int nPort, unsigned int nSubPort, FECCORRECTEFFECT nCorrectEffect, float fValue); - -// 3DģͲ-3DԲչЧ -PLAYM4_API bool __stdcall PlayM4_FEC_Set3DModelParam(int nPort, unsigned int nSubPort, PLAYM4FEC3DMODELPARAM enType, float fValue); - -// ȡضӽDz - ֻڻ棬SetViewParamӿʹ -PLAYM4_API bool __stdcall PlayM4_FEC_GetSpecialViewParam(int nPort, unsigned int nSubPort, PLAYM4FECSPECIALVIEWTYPE enSVType, PLAYM4HRVIEWPARAMTYPE enVPType, float* pValue); - - -//ͼǿ-Linux汾֧ -#ifndef PLAYM4_HIKVIE_TAG -#define PLAYM4_HIKVIE_TAG - -typedef struct _PLAYM4_VIE_DYNPARAM_ -{ - int moduFlag; //õ㷨ģ飬PLAYM4_VIE_MODULESж - // PLAYM4_VIE_MODU_ADJ | PLAYM4_VIE_MODU_EHAN - //ģú󣬱ӦIJ - //PLAYM4_VIE_MODU_ADJ - int brightVal; //ȵֵ[-255, 255] - int contrastVal; //Աȶȵֵ[-256, 255] - int colorVal; //Ͷȵֵ[-256, 255] - //PLAYM4_VIE_MODU_EHAN - int toneScale; //˲Χ[0, 100] - int toneGain; //ԱȶȵڣȫֶԱȶֵ[-256, 255] - int toneOffset; //ȵڣƽֵƫƣ[-255, 255] - int toneColor; //ɫڣɫֵ[-256, 255] - //PLAYM4_VIE_MODU_DEHAZE - int dehazeLevel; //ȥǿȣ[0, 255] - int dehazeTrans; //͸ֵ[0, 255] - int dehazeBright; //Ȳ[0, 255] - //PLAYM4_VIE_MODU_DENOISE - int denoiseLevel; //ȥǿȣ[0, 255] - //PLAYM4_VIE_MODU_SHARPEN - int usmAmount; //ǿȣ[0, 255] - int usmRadius; //񻯰뾶[1, 15] - int usmThreshold; //ֵ[0, 255] - //PLAYM4_VIE_MODU_DEBLOCK - int deblockLevel; //ȥǿȣ[0, 100] - //PLAYM4_VIE_MODU_LENS - int lensWarp; //[-256, 255] - int lensZoom; //[-256, 255] - //PLAYM4_VIE_MODU_CRB - //Ӧ -} PLAYM4_VIE_PARACONFIG; - -typedef enum _PLAYM4_VIE_MODULES -{ - PLAYM4_VIE_MODU_ADJ = 0x00000001, //ͼ - PLAYM4_VIE_MODU_EHAN = 0x00000002, //ֲǿģ - PLAYM4_VIE_MODU_DEHAZE = 0x00000004, //ȥģ - PLAYM4_VIE_MODU_DENOISE = 0x00000008, //ȥģ - PLAYM4_VIE_MODU_SHARPEN = 0x00000010, //ģ - PLAYM4_VIE_MODU_DEBLOCK = 0x00000020, //ȥ˲ģ - PLAYM4_VIE_MODU_CRB = 0x00000040, //ɫƽģ - PLAYM4_VIE_MODU_LENS = 0x00000080, //ͷģ -}PLAYM4_VIE_MODULES; -#endif - -//ùر/ģ -- NO SUPPORT -//dwModuFlagӦPLAYM4_VIE_MODULES, -//ģ鿪ģڼĬϵIJ; -//رģϴõIJ -//ӿڵãڸýӿڿģ󣻷򣬷ش -PLAYM4_API int __stdcall PlayM4_VIE_SetModuConfig(int nPort, int nModuFlag, int bEnable); - -//ͼǿNULLȫͼȫͼȫͼС16*16 -- NO SUPPORT -//֧Ƚ˵4һ汾ֻ֧һҪصصͱ -PLAYM4_API int __stdcall PlayM4_VIE_SetRegion(int nPort, int nRegNum, HKRECT* pRect); - -//ȡģ -- NO SUPPORT -PLAYM4_API int __stdcall PlayM4_VIE_GetModuConfig(int nPort, int* pdwModuFlag); - -//ò -//δģIJñ -- NO SUPPORT -PLAYM4_API int __stdcall PlayM4_VIE_SetParaConfig(int nPort, PLAYM4_VIE_PARACONFIG* pParaConfig); - -//ȡģIJ -- NO SUPPORT -PLAYM4_API int __stdcall PlayM4_VIE_GetParaConfig(int nPort, PLAYM4_VIE_PARACONFIG* pParaConfig); - -// ˽Ϣģ -typedef enum _PLAYM4_PRIDATA_RENDER -{ - PLAYM4_RENDER_ANA_INTEL_DATA = 0x00000001, //ܷ - PLAYM4_RENDER_MD = 0x00000002, //ƶ - PLAYM4_RENDER_ADD_POS = 0x00000004, //POSϢ - PLAYM4_RENDER_ADD_PIC = 0x00000008, //ͼƬϢ - PLAYM4_RENDER_FIRE_DETCET = 0x00000010, //ȳϢ - PLAYM4_RENDER_TEM = 0x00000020, //¶Ϣ -}PLAYM4_PRIDATA_RENDER; - -typedef enum _PLAYM4_FIRE_ALARM -{ - PLAYM4_FIRE_FRAME_DIS = 0x00000001, //ʾ - PLAYM4_FIRE_MAX_TEMP = 0x00000002, //¶ - PLAYM4_FIRE_MAX_TEMP_POSITION = 0x00000004, //¶λʾ - PLAYM4_FIRE_DISTANCE = 0x00000008, //¶Ⱦ -}PLAYM4_FIRE_ALARM; - -typedef enum _PLAYM4_TEM_FLAG -{ - PLAYM4_TEM_REGION_BOX = 0x00000001, // - PLAYM4_TEM_REGION_LINE = 0x00000002, //߲ - PLAYM4_TEM_REGION_POINT = 0x00000004, // -}PLAYM4_TEM_FLAG; - -// Ϣ -PLAYM4_API int __stdcall PlayM4_RenderPrivateData(int nPort, int nIntelType, int bTrue); -///<Ϣӿ -PLAYM4_API int __stdcall PlayM4_RenderPrivateDataEx(int nPort, int nIntelType, int nSubType, int bTrue); - -//ENCRYPT Info -typedef struct{ - long nVideoEncryptType; //Ƶ - long nAudioEncryptType; //Ƶ - long nSetSecretKey; //Ƿã1ʾԿ0ʾûԿ -}ENCRYPT_INFO; - -// ص,nType=0ʾܱλ仯ͻصnType=1ʾмλص -PLAYM4_API int __stdcall PlayM4_SetEncryptTypeCallBack(int nPort, unsigned int nType, void (CALLBACK* EncryptTypeCBFun)(int nPort, ENCRYPT_INFO* pEncryptInfo, void* nUser, int nReserved2), void* nUser); - -#define PLAYM4_MEDIA_HEAD 1 //ϵͳͷ -#define PLAYM4_VIDEO_DATA 2 //Ƶ -#define PLAYM4_AUDIO_DATA 3 //Ƶ -#define PLAYM4_PRIVT_DATA 4 //˽ - -//Ԥ¼Ϣ- NO SUPPORT -typedef struct -{ - long nType; // ͣļͷƵƵ˽ݵ - long nStamp; // ʱ - long nFrameNum; // ֡ - long nBufLen; // ݳ - char* pBuf; // ֡ݣ֡Ϊλص - PLAYM4_SYSTEM_TIME stSysTime; // ȫʱ -}RECORD_DATA_INFO; - -//Ԥ¼񿪹أbFlag=1bFlag=0ر-- NO SUPPORT -PLAYM4_API int __stdcall PlayM4_SetPreRecordFlag(int nPort, int bFlag); - -//Ԥ¼ݻص- NO SUPPORT -PLAYM4_API int __stdcall PlayM4_SetPreRecordCallBack(int nPort, void (CALLBACK* PreRecordCBfun)(int nPort, RECORD_DATA_INFO* pRecordDataInfo, void* pUser), void* pUser); - -typedef struct -{ - long lDataType; //˽ - long lDataStrVersion; //ݷصĽṹ汾ҪΪ˼ - long lDataTimeStamp; - long lDataLength; - char* pData; -}AdditionDataInfo; - -PLAYM4_API int __stdcall PlayM4_SetAdditionDataCallBack(int nPort, unsigned int nSyncType, void (CALLBACK* AdditionDataCBFun)(int nPort, AdditionDataInfo* pstAddDataInfo, void* pUser), void* pUser); - -//lType: 1 ʾȡǰʾ֡PTZϢضṹʽ洢pInfoڣplLenسϢ;ȴpInfo = nullԻȡҪڴ泤plLen -PLAYM4_API int __stdcall PlayM4_GetStreamAdditionalInfo(int nPort, int lType, unsigned char* pInfo, int* plLen); - -#define PLAYM4_SOURCE_MODULE 0 // Դģ -#define PLAYM4_DEMUX_MODULE 1 // ģ -#define PLAYM4_DECODE_MODULE 2 // ģ -#define PLAYM4_RENDER_MODULE 3 // Ⱦģ - -#define PLAYM4_RTINFO_HARDDECODE_ERROR 0 // Ӳ(Ҫ) -#define PLAYM4_RTINFO_SOFTDECODE_ERROR 1 // 󣨲֧֣ -#define PLAYM4_RTINFO_MEDIAHEADER_ERROR 2 // ýͷ -#define PLAYM4_RTINFO_SWITCH_SOFT_DEC 3 // л -#define PLAYM4_RTINFO_ALLOC_MEMORY_ERROR 4 // ڴʧ -#define PLAYM4_RTINFO_ENCRYPT_ERROR 5 // Կ -#define PLAYM4_RTINFO_RENDER_OVER 8 // Ⱦһ֡ -#define PLAYM4_RTINFO_ERR_PRESENT 16 // Ⱦʾ[ǰȾȾʧ,ϲл] -#define PLAYM4_RTINFO_IDMX_DATA_ERROR 32 // ,ʧ -#define PLAYM4_RTINFO_DECODE_PARAM_ERROR 64 // ,ʧ -#define PLAYM4_RTINFO_SOFTDECODE_DATA_ERROR 128 // ݴ - -typedef struct -{ - int nRunTimeModule; //ǰģ飬ݶ2Ϊģ飬չ - int nStrVersion; //ݷصĽṹ汾ҪΪ˼,һ汾0x0001 - int nFrameTimeStamp; //֡ - int nFrameNum; //ʱ - int nErrorCode; //,0ΪӲ - unsigned char reserved[12]; //ֽ -}RunTimeInfo; - -///<ʵʱϢصӿ -PLAYM4_API int __stdcall PlayM4_SetRunTimeInfoCallBackEx(int nPort, int nModule, void (CALLBACK* RunTimeInfoCBFun)(int nPort, RunTimeInfo* pstRunTimeInfo, void* pUser), void* pUser); - -// 1SetRunTimeInfoCallBackExӿڣnErrorCode6Ϊ8Ժչʽ 163264Ҵ8ʼϢĬϹرղ͡ -// 2Ϣƽӿڣƴ8ԺϢִ֧8ʼϢƴģʽ 8|16|32 ַʽϲѡ͡ -// 3nTypeͨķʽʹ룬nFlagʾΪ0߽лص0 -PLAYM4_API int __stdcall PlayM4_SetRunTimeInfoCallbackType(int nPort, int nModule, unsigned int nType, int nFlag); - - -///<Ⱦʾؽӿ -#ifndef PLAYM4_HIKD3D11_TAG -#define PLAYM4_HIKD3D11_TAG - -///<Ⱦץͼṹ -typedef struct _tagD3D11_PIC_INFO_ -{ - unsigned int nPicMode; //ץͼģʽ0-ʵʷֱץͼ(֮ǰץͼģʽ)1-洫ĿץͼnPicWidth*nPicHeightΪʾڿʱЧѣ - unsigned char* pBuf; //ץͼbuffer - unsigned int nBufSize; //bufferС-nPicModeΪ0Ϊ֮ǰĸݻȡֱл룻nPicModeΪ1ϲõķֱ뻺棩 - unsigned int* pPicSize; //ʵͼƬС - unsigned int nPicWidth; //ץͼ-nPicModeΪ1ʱЧҿ>=32,nPicWidth*nPicHeight<5000wֱʡ - unsigned int nPicHeight; //ץͼ-nPicModeΪ1ʱЧҸ>=32,nPicWidth*nPicHeight<5000wֱʡ - unsigned char chReserve[8]; //reserveֶ -}D3D_PIC_INFO; - -/*Ⱦͼ*/ -typedef enum tagPLAYM4PostProcType -{ - PLAYM4_PPT_BRIGHTNESS = 0x1, ///< [-1.0, 1.0] - PLAYM4_PPT_HUE = 0x2, ///< ɫ [0.0, 1.0]----0.166ۼΪһɫ仯01Ϊͬһɫ - PLAYM4_PPT_SATURATION = 0x3, ///< Ͷ [-1.0, 1.0] - PLAYM4_PPT_CONTRAST = 0x4, ///< Աȶ [-1.0, 1.0] - PLAYM4_PPT_SHARPNESS = 0x5, ///< [ 0.0, 1.0] -}PLAYM4PostProcType; - -#endif - -///<Ⱦץͼ:nType:0-jpeg,1-bmp. -PLAYM4_API int __stdcall PlayM4_GetD3DCapture(int nPort, unsigned int nType, D3D_PIC_INFO* pstPicInfo); - -///<Ⱦ-ò -PLAYM4_API int __stdcall PlayM4_SetD3DPostProcess(int nPort, PLAYM4PostProcType nPostType, float fValue); - -///<Ⱦ-ȡ -PLAYM4_API int __stdcall PlayM4_GetD3DPostProcess(int nPort, PLAYM4PostProcType nPostType, float* fValue); - -///<ַӵ·ʱĬ⣩-playǰ -PLAYM4_API int __stdcall PlayM4_SetConfigFontPath(int nPort, char* pFontPath); - -// ʱȡmp4װ߶λƫ -PLAYM4_API int __stdcall PlayM4_GetMpOffset(int nPort, int nTime, int* nOffset); - -///<ʱıʾΪλΪΪ-ͬط -PLAYM4_API bool __stdcall PlayM4_SetSupplementaryTimeZone(int nPort, int nTimeZone); -///<Ѿʱ򷵻ʱʧ-ͬط -PLAYM4_API bool __stdcall PlayM4_GetSupplementaryTimeZone(int nPort, int* pTimeZone); - -//////////////////////////////////// - -///<ڴСı֪ͨӿ -PLAYM4_API int __stdcall PlayM4_WndResolutionChange(int nPort);//new add - -//ʹ -PLAYM4_API int __stdcall PlayM4_SetRunTimeInfoCallBack(int nPort, void (CALLBACK* RunTimeInfoCBFun)(int nPort, RunTimeInfo* pstRunTimeInfo, void* pUser), void* pUser); -int PlayM4_RigisterDrawFun(int nPort,void (CALLBACK* DrawFun)(int nPort,PLAYM4_HDC hDc,void* nUser),void* nUser); -int PlayM4_SetDecCallBack(int nPort,void (CALLBACK* DecCBFun)(int nPort,char* pBuf,int nSize,FRAME_INFO * pFrameInfo, void* nReserved1,int nReserved2)); -int PlayM4_SetDecCallBackEx(int nPort,void (CALLBACK* DecCBFun)(int nPort,char * pBuf,int nSize,FRAME_INFO * pFrameInfo, void* nReserved1,int nReserved2), char* pDest, int nDestSize); -int PlayM4_SetTimerType(int nPort,unsigned int nTimerType,unsigned int nReserved); -int PlayM4_GetTimerType(int nPort,unsigned int *pTimerType,unsigned int *pReserved); - -int PlayM4_SetDisplayMode(int nPort, unsigned int dwType); -int PlayM4_SetVideoWindow(int nPort, unsigned int nRegionNum, PLAYM4_HWND hWnd); -///////////////////////////////////////////////////////////////////////////// - -////////////////NO SUPPORT/////////////////////////////////////////////////// - -int PlayM4_InitDDraw(PLAYM4_HWND hWnd); -int PlayM4_RealeseDDraw(); -#if (WINVER >= 0x0400) -//Note: These funtion must be builded under win2000 or above with Microsoft Platform sdk. -//You can download the sdk from "http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"; -int PlayM4_InitDDrawDevice(); -void PlayM4_ReleaseDDrawDevice(); -int PlayM4_SetDDrawDevice(int nPort, unsigned int nDeviceNum); -int PlayM4_SetDDrawDeviceEx(int nPort,unsigned int nRegionNum,unsigned int nDeviceNum); -int PlayM4_GetDDrawDeviceInfo(unsigned int nDeviceNum, char* lpDriverDescription, unsigned int nDespLen, char* lpDriverName, unsigned int nNameLen, HMONITOR* hhMonitor); -int PlayM4_GetCapsEx(unsigned int nDDrawDeviceNum); -unsigned int PlayM4_GetDDrawDeviceTotalNums(); -#endif -int PlayM4_GetCaps(); -int PlayM4_OpenStreamEx(int nPort, unsigned char* pFileHeadBuf, unsigned int nSize, unsigned int nBufPoolSize); -int PlayM4_CloseStreamEx(int nPort); -int PlayM4_InputVideoData(int nPort, unsigned char* pBuf, unsigned int nSize); -int PlayM4_InputAudioData(int nPort, unsigned char* pBuf, unsigned int nSize); -int PlayM4_GetFileSpecialAttr(int nPort, unsigned int* pTimeStamp, unsigned int* pFileNum, unsigned int* pReserved); -//int PlayM4_SetOverlayMode(int nPort, int bOverlay, COLORREF colorKey); -int PlayM4_GetOverlayMode(int nPort); -int PlayM4_SetOverlayFlipMode(int nPort, int bTrue); -//COLORREF PlayM4_GetColorKey(int nPort); -int PlayM4_SetPicQuality(int nPort, int bHighQuality); -int PlayM4_GetPictureQuality(int nPort, int* bHighQuality); -int PlayM4_ResetSourceBufFlag(int nPort); -int PlayM4_SetDisplayType(int nPort, int nType); -int PlayM4_GetDisplayType(int nPort); -int PlayM4_SyncToAudio(int nPort, int bSyncToAudio); -int PlayM4_RefreshPlayEx(int nPort, unsigned int nRegionNum); -int PlayM4_AdjustWaveAudio(int nPort, int nCoefficient); -int PlayM4_SetPlayMode(int nPort, int bNormal); -int PlayM4_SetColor(int nPort, unsigned int nRegionNum, int nBrightness, int nContrast, int nSaturation, int nHue); -int PlayM4_GetColor(int nPort, unsigned int nRegionNum, int* pBrightness, int* pContrast, int* pSaturation, int* pHue); -int PlayM4_SetImageSharpen(int nPort, unsigned int nLevel); -int PlayM4_SetDeflash(int nPort, int bDefalsh); -int PlayM4_CheckDiscontinuousFrameNum(int nPort, int bCheck); -int PlayM4_SetFileEndMsg(int nPort, PLAYM4_HWND hWnd, unsigned int nMsg); -int PlayM4_SetVerifyCallBack(int nPort, unsigned int nBeginTime, unsigned int nEndTime, void (__stdcall* funVerify)(int nPort, FRAME_POS* pFilePos, unsigned int bIsVideo, unsigned int nUser), unsigned int nUser); -int PlayM4_SetEncChangeMsg(int nPort, PLAYM4_HWND hWnd, unsigned int nMsg); -int PlayM4_SetGetUserDataCallBack(int nPort, void(CALLBACK* funGetUserData)(int nPort, unsigned char* pUserBuf, unsigned int nBufLen, unsigned int nUser), unsigned int nUser); -int PlayM4_SetSourceBufCallBack(int nPort, unsigned int nThreShold, void (CALLBACK* SourceBufCallBack)(int nPort, unsigned int nBufSize, unsigned int dwUser, void* pResvered), unsigned int dwUser, void* pReserved); -int PlayM4_GetOriginalFrameCallBack(int nPort, int bIsChange, int bNormalSpeed, int nStartFrameNum, int nStartStamp, int nFileHeader, void(CALLBACK *funGetOrignalFrame)(int nPort, FRAME_TYPE* frameType, int nUser), int nUser); -int PlayM4_GetThrowBFrameCallBack(int nPort, void(CALLBACK* funThrowBFrame)(int nPort, unsigned int nBFrame, unsigned int nUser), unsigned int nUser); -int PlayM4_SetAudioCallBack(int nPort, void (__stdcall* funAudio)(int nPort, char* pAudioBuf, int nSize, int nStamp, int nType, int nUser), int nUser); -//motionflow -PLAYM4_API int __stdcall PlayM4_MotionFlow(int nPort, unsigned int dwAdjustType); - - -//////////////////////////////////////////////////////////////////////////////// - -#ifdef __cplusplus - } -#endif - -#endif //_PLAYM4_H_ diff --git a/src/json.hpp b/src/json.hpp deleted file mode 100644 index 50e5c80..0000000 --- a/src/json.hpp +++ /dev/null @@ -1,23761 +0,0 @@ -/* - __ _____ _____ _____ - __| | __| | | | JSON for Modern C++ -| | |__ | | | | | | version 3.10.5 -|_____|_____|_____|_|___| https://github.com/nlohmann/json - -Licensed under the MIT License . -SPDX-License-Identifier: MIT -Copyright (c) 2013-2022 Niels Lohmann . - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -/****************************************************************************\ - * Note on documentation: The source files contain links to the online * - * documentation of the public API at https://json.nlohmann.me. This URL * - * contains the most recent documentation and should also be applicable to * - * previous versions; documentation for deprecated functions is not * - * removed, but marked deprecated. See "Generate documentation" section in * - * file docs/README.md. * -\****************************************************************************/ - -#ifndef INCLUDE_NLOHMANN_JSON_HPP_ -#define INCLUDE_NLOHMANN_JSON_HPP_ - -#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK - #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) - #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 10 || NLOHMANN_JSON_VERSION_PATCH != 5 - #warning "Already included a different version of the library!" - #endif - #endif -#endif - -#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) -#define NLOHMANN_JSON_VERSION_MINOR 10 // NOLINT(modernize-macro-to-enum) -#define NLOHMANN_JSON_VERSION_PATCH 5 // NOLINT(modernize-macro-to-enum) - -#include // all_of, find, for_each -#include // nullptr_t, ptrdiff_t, size_t -#include // hash, less -#include // initializer_list -#ifndef JSON_NO_IO - #include // istream, ostream -#endif // JSON_NO_IO -#include // random_access_iterator_tag -#include // unique_ptr -#include // accumulate -#include // string, stoi, to_string -#include // declval, forward, move, pair, swap -#include // vector - -// #include - - -#include -#include - -// #include - - -#include // transform -#include // array -#include // forward_list -#include // inserter, front_inserter, end -#include // map -#include // string -#include // tuple, make_tuple -#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible -#include // unordered_map -#include // pair, declval -#include // valarray - -// #include - - -#include // nullptr_t -#include // exception -#include // runtime_error -#include // to_string -#include // vector - -// #include - - -#include // array -#include // size_t -#include // uint8_t -#include // string - -// #include - - -#include // declval, pair -// #include - - -/* Hedley - https://nemequ.github.io/hedley - * Created by Evan Nemerson - * - * To the extent possible under law, the author(s) have dedicated all - * copyright and related and neighboring rights to this software to - * the public domain worldwide. This software is distributed without - * any warranty. - * - * For details, see . - * SPDX-License-Identifier: CC0-1.0 - */ - -#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) -#if defined(JSON_HEDLEY_VERSION) - #undef JSON_HEDLEY_VERSION -#endif -#define JSON_HEDLEY_VERSION 15 - -#if defined(JSON_HEDLEY_STRINGIFY_EX) - #undef JSON_HEDLEY_STRINGIFY_EX -#endif -#define JSON_HEDLEY_STRINGIFY_EX(x) #x - -#if defined(JSON_HEDLEY_STRINGIFY) - #undef JSON_HEDLEY_STRINGIFY -#endif -#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) - -#if defined(JSON_HEDLEY_CONCAT_EX) - #undef JSON_HEDLEY_CONCAT_EX -#endif -#define JSON_HEDLEY_CONCAT_EX(a,b) a##b - -#if defined(JSON_HEDLEY_CONCAT) - #undef JSON_HEDLEY_CONCAT -#endif -#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) - -#if defined(JSON_HEDLEY_CONCAT3_EX) - #undef JSON_HEDLEY_CONCAT3_EX -#endif -#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c - -#if defined(JSON_HEDLEY_CONCAT3) - #undef JSON_HEDLEY_CONCAT3 -#endif -#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) - -#if defined(JSON_HEDLEY_VERSION_ENCODE) - #undef JSON_HEDLEY_VERSION_ENCODE -#endif -#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) - -#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) - #undef JSON_HEDLEY_VERSION_DECODE_MAJOR -#endif -#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) - -#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) - #undef JSON_HEDLEY_VERSION_DECODE_MINOR -#endif -#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) - -#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) - #undef JSON_HEDLEY_VERSION_DECODE_REVISION -#endif -#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) - -#if defined(JSON_HEDLEY_GNUC_VERSION) - #undef JSON_HEDLEY_GNUC_VERSION -#endif -#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) - #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) -#elif defined(__GNUC__) - #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) -#endif - -#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) - #undef JSON_HEDLEY_GNUC_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_GNUC_VERSION) - #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_MSVC_VERSION) - #undef JSON_HEDLEY_MSVC_VERSION -#endif -#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) - #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) -#elif defined(_MSC_FULL_VER) && !defined(__ICL) - #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) -#elif defined(_MSC_VER) && !defined(__ICL) - #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) -#endif - -#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) - #undef JSON_HEDLEY_MSVC_VERSION_CHECK -#endif -#if !defined(JSON_HEDLEY_MSVC_VERSION) - #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) -#elif defined(_MSC_VER) && (_MSC_VER >= 1400) - #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) -#elif defined(_MSC_VER) && (_MSC_VER >= 1200) - #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) -#else - #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) -#endif - -#if defined(JSON_HEDLEY_INTEL_VERSION) - #undef JSON_HEDLEY_INTEL_VERSION -#endif -#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) - #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) -#elif defined(__INTEL_COMPILER) && !defined(__ICL) - #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) -#endif - -#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) - #undef JSON_HEDLEY_INTEL_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_INTEL_VERSION) - #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_INTEL_CL_VERSION) - #undef JSON_HEDLEY_INTEL_CL_VERSION -#endif -#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) - #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) -#endif - -#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) - #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_INTEL_CL_VERSION) - #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_PGI_VERSION) - #undef JSON_HEDLEY_PGI_VERSION -#endif -#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) - #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) -#endif - -#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) - #undef JSON_HEDLEY_PGI_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_PGI_VERSION) - #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_SUNPRO_VERSION) - #undef JSON_HEDLEY_SUNPRO_VERSION -#endif -#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) - #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) -#elif defined(__SUNPRO_C) - #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) -#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) - #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) -#elif defined(__SUNPRO_CC) - #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) -#endif - -#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) - #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_SUNPRO_VERSION) - #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) - #undef JSON_HEDLEY_EMSCRIPTEN_VERSION -#endif -#if defined(__EMSCRIPTEN__) - #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) -#endif - -#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) - #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) - #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_ARM_VERSION) - #undef JSON_HEDLEY_ARM_VERSION -#endif -#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) - #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) -#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) - #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) -#endif - -#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) - #undef JSON_HEDLEY_ARM_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_ARM_VERSION) - #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_IBM_VERSION) - #undef JSON_HEDLEY_IBM_VERSION -#endif -#if defined(__ibmxl__) - #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) -#elif defined(__xlC__) && defined(__xlC_ver__) - #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) -#elif defined(__xlC__) - #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) -#endif - -#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) - #undef JSON_HEDLEY_IBM_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_IBM_VERSION) - #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_VERSION) - #undef JSON_HEDLEY_TI_VERSION -#endif -#if \ - defined(__TI_COMPILER_VERSION__) && \ - ( \ - defined(__TMS470__) || defined(__TI_ARM__) || \ - defined(__MSP430__) || \ - defined(__TMS320C2000__) \ - ) -#if (__TI_COMPILER_VERSION__ >= 16000000) - #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif -#endif - -#if defined(JSON_HEDLEY_TI_VERSION_CHECK) - #undef JSON_HEDLEY_TI_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_VERSION) - #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_CL2000_VERSION) - #undef JSON_HEDLEY_TI_CL2000_VERSION -#endif -#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) - #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif - -#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) - #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_CL2000_VERSION) - #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_CL430_VERSION) - #undef JSON_HEDLEY_TI_CL430_VERSION -#endif -#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) - #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif - -#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) - #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_CL430_VERSION) - #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) - #undef JSON_HEDLEY_TI_ARMCL_VERSION -#endif -#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) - #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif - -#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) - #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) - #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_CL6X_VERSION) - #undef JSON_HEDLEY_TI_CL6X_VERSION -#endif -#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) - #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif - -#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) - #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_CL6X_VERSION) - #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_CL7X_VERSION) - #undef JSON_HEDLEY_TI_CL7X_VERSION -#endif -#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) - #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif - -#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) - #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_CL7X_VERSION) - #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) - #undef JSON_HEDLEY_TI_CLPRU_VERSION -#endif -#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) - #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) -#endif - -#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) - #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) - #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_CRAY_VERSION) - #undef JSON_HEDLEY_CRAY_VERSION -#endif -#if defined(_CRAYC) - #if defined(_RELEASE_PATCHLEVEL) - #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) - #else - #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) - #endif -#endif - -#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) - #undef JSON_HEDLEY_CRAY_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_CRAY_VERSION) - #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_IAR_VERSION) - #undef JSON_HEDLEY_IAR_VERSION -#endif -#if defined(__IAR_SYSTEMS_ICC__) - #if __VER__ > 1000 - #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) - #else - #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) - #endif -#endif - -#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) - #undef JSON_HEDLEY_IAR_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_IAR_VERSION) - #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_TINYC_VERSION) - #undef JSON_HEDLEY_TINYC_VERSION -#endif -#if defined(__TINYC__) - #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) -#endif - -#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) - #undef JSON_HEDLEY_TINYC_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_TINYC_VERSION) - #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_DMC_VERSION) - #undef JSON_HEDLEY_DMC_VERSION -#endif -#if defined(__DMC__) - #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) -#endif - -#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) - #undef JSON_HEDLEY_DMC_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_DMC_VERSION) - #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_COMPCERT_VERSION) - #undef JSON_HEDLEY_COMPCERT_VERSION -#endif -#if defined(__COMPCERT_VERSION__) - #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) -#endif - -#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) - #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_COMPCERT_VERSION) - #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_PELLES_VERSION) - #undef JSON_HEDLEY_PELLES_VERSION -#endif -#if defined(__POCC__) - #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) -#endif - -#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) - #undef JSON_HEDLEY_PELLES_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_PELLES_VERSION) - #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_MCST_LCC_VERSION) - #undef JSON_HEDLEY_MCST_LCC_VERSION -#endif -#if defined(__LCC__) && defined(__LCC_MINOR__) - #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) -#endif - -#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) - #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_MCST_LCC_VERSION) - #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_GCC_VERSION) - #undef JSON_HEDLEY_GCC_VERSION -#endif -#if \ - defined(JSON_HEDLEY_GNUC_VERSION) && \ - !defined(__clang__) && \ - !defined(JSON_HEDLEY_INTEL_VERSION) && \ - !defined(JSON_HEDLEY_PGI_VERSION) && \ - !defined(JSON_HEDLEY_ARM_VERSION) && \ - !defined(JSON_HEDLEY_CRAY_VERSION) && \ - !defined(JSON_HEDLEY_TI_VERSION) && \ - !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ - !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ - !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ - !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ - !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ - !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ - !defined(__COMPCERT__) && \ - !defined(JSON_HEDLEY_MCST_LCC_VERSION) - #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION -#endif - -#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) - #undef JSON_HEDLEY_GCC_VERSION_CHECK -#endif -#if defined(JSON_HEDLEY_GCC_VERSION) - #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) -#else - #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) -#endif - -#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) - #undef JSON_HEDLEY_HAS_ATTRIBUTE -#endif -#if \ - defined(__has_attribute) && \ - ( \ - (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ - ) -# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) -#else -# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) - #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE -#endif -#if defined(__has_attribute) - #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) -#else - #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) - #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE -#endif -#if defined(__has_attribute) - #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) -#else - #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) - #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE -#endif -#if \ - defined(__has_cpp_attribute) && \ - defined(__cplusplus) && \ - (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) - #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) -#else - #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) -#endif - -#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) - #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS -#endif -#if !defined(__cplusplus) || !defined(__has_cpp_attribute) - #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) -#elif \ - !defined(JSON_HEDLEY_PGI_VERSION) && \ - !defined(JSON_HEDLEY_IAR_VERSION) && \ - (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ - (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) - #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) -#else - #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) - #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE -#endif -#if defined(__has_cpp_attribute) && defined(__cplusplus) - #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) -#else - #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) - #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE -#endif -#if defined(__has_cpp_attribute) && defined(__cplusplus) - #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) -#else - #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_HAS_BUILTIN) - #undef JSON_HEDLEY_HAS_BUILTIN -#endif -#if defined(__has_builtin) - #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) -#else - #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) - #undef JSON_HEDLEY_GNUC_HAS_BUILTIN -#endif -#if defined(__has_builtin) - #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) -#else - #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) - #undef JSON_HEDLEY_GCC_HAS_BUILTIN -#endif -#if defined(__has_builtin) - #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) -#else - #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_HAS_FEATURE) - #undef JSON_HEDLEY_HAS_FEATURE -#endif -#if defined(__has_feature) - #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) -#else - #define JSON_HEDLEY_HAS_FEATURE(feature) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) - #undef JSON_HEDLEY_GNUC_HAS_FEATURE -#endif -#if defined(__has_feature) - #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) -#else - #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) - #undef JSON_HEDLEY_GCC_HAS_FEATURE -#endif -#if defined(__has_feature) - #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) -#else - #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_HAS_EXTENSION) - #undef JSON_HEDLEY_HAS_EXTENSION -#endif -#if defined(__has_extension) - #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) -#else - #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) - #undef JSON_HEDLEY_GNUC_HAS_EXTENSION -#endif -#if defined(__has_extension) - #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) -#else - #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) - #undef JSON_HEDLEY_GCC_HAS_EXTENSION -#endif -#if defined(__has_extension) - #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) -#else - #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) - #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE -#endif -#if defined(__has_declspec_attribute) - #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) -#else - #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) - #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE -#endif -#if defined(__has_declspec_attribute) - #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) -#else - #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) - #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE -#endif -#if defined(__has_declspec_attribute) - #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) -#else - #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_HAS_WARNING) - #undef JSON_HEDLEY_HAS_WARNING -#endif -#if defined(__has_warning) - #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) -#else - #define JSON_HEDLEY_HAS_WARNING(warning) (0) -#endif - -#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) - #undef JSON_HEDLEY_GNUC_HAS_WARNING -#endif -#if defined(__has_warning) - #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) -#else - #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_GCC_HAS_WARNING) - #undef JSON_HEDLEY_GCC_HAS_WARNING -#endif -#if defined(__has_warning) - #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) -#else - #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if \ - (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ - defined(__clang__) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ - JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ - (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) - #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) -#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) - #define JSON_HEDLEY_PRAGMA(value) __pragma(value) -#else - #define JSON_HEDLEY_PRAGMA(value) -#endif - -#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) - #undef JSON_HEDLEY_DIAGNOSTIC_PUSH -#endif -#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) - #undef JSON_HEDLEY_DIAGNOSTIC_POP -#endif -#if defined(__clang__) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") - #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") -#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") - #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") -#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") - #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) - #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) -#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") - #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") -#elif \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") - #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") -#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) - #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") - #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") -#else - #define JSON_HEDLEY_DIAGNOSTIC_PUSH - #define JSON_HEDLEY_DIAGNOSTIC_POP -#endif - -/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for - HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ -#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) - #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ -#endif -#if defined(__cplusplus) -# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") -# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") -# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") -# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ - _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ - _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ - xpr \ - JSON_HEDLEY_DIAGNOSTIC_POP -# else -# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ - _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ - xpr \ - JSON_HEDLEY_DIAGNOSTIC_POP -# endif -# else -# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ - xpr \ - JSON_HEDLEY_DIAGNOSTIC_POP -# endif -# endif -#endif -#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x -#endif - -#if defined(JSON_HEDLEY_CONST_CAST) - #undef JSON_HEDLEY_CONST_CAST -#endif -#if defined(__cplusplus) -# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) -#elif \ - JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) -# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ - ((T) (expr)); \ - JSON_HEDLEY_DIAGNOSTIC_POP \ - })) -#else -# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) -#endif - -#if defined(JSON_HEDLEY_REINTERPRET_CAST) - #undef JSON_HEDLEY_REINTERPRET_CAST -#endif -#if defined(__cplusplus) - #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) -#else - #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) -#endif - -#if defined(JSON_HEDLEY_STATIC_CAST) - #undef JSON_HEDLEY_STATIC_CAST -#endif -#if defined(__cplusplus) - #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) -#else - #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) -#endif - -#if defined(JSON_HEDLEY_CPP_CAST) - #undef JSON_HEDLEY_CPP_CAST -#endif -#if defined(__cplusplus) -# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") -# define JSON_HEDLEY_CPP_CAST(T, expr) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ - ((T) (expr)) \ - JSON_HEDLEY_DIAGNOSTIC_POP -# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) -# define JSON_HEDLEY_CPP_CAST(T, expr) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("diag_suppress=Pe137") \ - JSON_HEDLEY_DIAGNOSTIC_POP -# else -# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) -# endif -#else -# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) -#endif - -#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) - #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") -#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") -#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) -#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") -#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") -#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") -#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) -#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") -#elif \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") -#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") -#else - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED -#endif - -#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) - #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") -#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") -#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) -#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") -#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") -#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) -#elif \ - JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") -#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") -#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") -#else - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS -#endif - -#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) - #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") -#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") -#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") -#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) -#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) -#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") -#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") -#elif \ - JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") -#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") -#else - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES -#endif - -#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) - #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") -#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") -#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") -#else - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL -#endif - -#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) - #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") -#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") -#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) -#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") -#else - #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION -#endif - -#if defined(JSON_HEDLEY_DEPRECATED) - #undef JSON_HEDLEY_DEPRECATED -#endif -#if defined(JSON_HEDLEY_DEPRECATED_FOR) - #undef JSON_HEDLEY_DEPRECATED_FOR -#endif -#if \ - JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) -#elif \ - (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) -#elif defined(__cplusplus) && (__cplusplus >= 201402L) - #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) -#elif \ - JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ - JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) - #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ - JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") -#else - #define JSON_HEDLEY_DEPRECATED(since) - #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) -#endif - -#if defined(JSON_HEDLEY_UNAVAILABLE) - #undef JSON_HEDLEY_UNAVAILABLE -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) -#else - #define JSON_HEDLEY_UNAVAILABLE(available_since) -#endif - -#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) - #undef JSON_HEDLEY_WARN_UNUSED_RESULT -#endif -#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) - #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) - #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) -#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) - #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) - #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) -#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) - #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) - #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) -#elif defined(_Check_return_) /* SAL */ - #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ - #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ -#else - #define JSON_HEDLEY_WARN_UNUSED_RESULT - #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) -#endif - -#if defined(JSON_HEDLEY_SENTINEL) - #undef JSON_HEDLEY_SENTINEL -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) -#else - #define JSON_HEDLEY_SENTINEL(position) -#endif - -#if defined(JSON_HEDLEY_NO_RETURN) - #undef JSON_HEDLEY_NO_RETURN -#endif -#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_NO_RETURN __noreturn -#elif \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) -#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L - #define JSON_HEDLEY_NO_RETURN _Noreturn -#elif defined(__cplusplus) && (__cplusplus >= 201103L) - #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) -#elif \ - JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) - #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) - #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) -#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) - #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") -#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) - #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) -#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) - #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) -#else - #define JSON_HEDLEY_NO_RETURN -#endif - -#if defined(JSON_HEDLEY_NO_ESCAPE) - #undef JSON_HEDLEY_NO_ESCAPE -#endif -#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) - #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) -#else - #define JSON_HEDLEY_NO_ESCAPE -#endif - -#if defined(JSON_HEDLEY_UNREACHABLE) - #undef JSON_HEDLEY_UNREACHABLE -#endif -#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) - #undef JSON_HEDLEY_UNREACHABLE_RETURN -#endif -#if defined(JSON_HEDLEY_ASSUME) - #undef JSON_HEDLEY_ASSUME -#endif -#if \ - JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_ASSUME(expr) __assume(expr) -#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) - #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) -#elif \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) - #if defined(__cplusplus) - #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) - #else - #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) - #endif -#endif -#if \ - (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ - JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() -#elif defined(JSON_HEDLEY_ASSUME) - #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) -#endif -#if !defined(JSON_HEDLEY_ASSUME) - #if defined(JSON_HEDLEY_UNREACHABLE) - #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) - #else - #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) - #endif -#endif -#if defined(JSON_HEDLEY_UNREACHABLE) - #if \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) - #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) - #else - #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() - #endif -#else - #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) -#endif -#if !defined(JSON_HEDLEY_UNREACHABLE) - #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) -#endif - -JSON_HEDLEY_DIAGNOSTIC_PUSH -#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") - #pragma clang diagnostic ignored "-Wpedantic" -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) - #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" -#endif -#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) - #if defined(__clang__) - #pragma clang diagnostic ignored "-Wvariadic-macros" - #elif defined(JSON_HEDLEY_GCC_VERSION) - #pragma GCC diagnostic ignored "-Wvariadic-macros" - #endif -#endif -#if defined(JSON_HEDLEY_NON_NULL) - #undef JSON_HEDLEY_NON_NULL -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) - #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) -#else - #define JSON_HEDLEY_NON_NULL(...) -#endif -JSON_HEDLEY_DIAGNOSTIC_POP - -#if defined(JSON_HEDLEY_PRINTF_FORMAT) - #undef JSON_HEDLEY_PRINTF_FORMAT -#endif -#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) - #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) -#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) - #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) -#elif \ - JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) -#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) - #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) -#else - #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) -#endif - -#if defined(JSON_HEDLEY_CONSTEXPR) - #undef JSON_HEDLEY_CONSTEXPR -#endif -#if defined(__cplusplus) - #if __cplusplus >= 201103L - #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) - #endif -#endif -#if !defined(JSON_HEDLEY_CONSTEXPR) - #define JSON_HEDLEY_CONSTEXPR -#endif - -#if defined(JSON_HEDLEY_PREDICT) - #undef JSON_HEDLEY_PREDICT -#endif -#if defined(JSON_HEDLEY_LIKELY) - #undef JSON_HEDLEY_LIKELY -#endif -#if defined(JSON_HEDLEY_UNLIKELY) - #undef JSON_HEDLEY_UNLIKELY -#endif -#if defined(JSON_HEDLEY_UNPREDICTABLE) - #undef JSON_HEDLEY_UNPREDICTABLE -#endif -#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) - #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) -#endif -#if \ - (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) -# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) -# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) -# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) -# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) -# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) -#elif \ - (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ - JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) -# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ - (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) -# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ - (__extension__ ({ \ - double hedley_probability_ = (probability); \ - ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ - })) -# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ - (__extension__ ({ \ - double hedley_probability_ = (probability); \ - ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ - })) -# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) -# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) -#else -# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) -# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) -# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) -# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) -# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) -#endif -#if !defined(JSON_HEDLEY_UNPREDICTABLE) - #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) -#endif - -#if defined(JSON_HEDLEY_MALLOC) - #undef JSON_HEDLEY_MALLOC -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) - #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_MALLOC __declspec(restrict) -#else - #define JSON_HEDLEY_MALLOC -#endif - -#if defined(JSON_HEDLEY_PURE) - #undef JSON_HEDLEY_PURE -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) -# define JSON_HEDLEY_PURE __attribute__((__pure__)) -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) -# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") -#elif defined(__cplusplus) && \ - ( \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ - ) -# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") -#else -# define JSON_HEDLEY_PURE -#endif - -#if defined(JSON_HEDLEY_CONST) - #undef JSON_HEDLEY_CONST -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_CONST __attribute__((__const__)) -#elif \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) - #define JSON_HEDLEY_CONST _Pragma("no_side_effect") -#else - #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE -#endif - -#if defined(JSON_HEDLEY_RESTRICT) - #undef JSON_HEDLEY_RESTRICT -#endif -#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) - #define JSON_HEDLEY_RESTRICT restrict -#elif \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ - JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ - JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ - defined(__clang__) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_RESTRICT __restrict -#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) - #define JSON_HEDLEY_RESTRICT _Restrict -#else - #define JSON_HEDLEY_RESTRICT -#endif - -#if defined(JSON_HEDLEY_INLINE) - #undef JSON_HEDLEY_INLINE -#endif -#if \ - (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ - (defined(__cplusplus) && (__cplusplus >= 199711L)) - #define JSON_HEDLEY_INLINE inline -#elif \ - defined(JSON_HEDLEY_GCC_VERSION) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) - #define JSON_HEDLEY_INLINE __inline__ -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_INLINE __inline -#else - #define JSON_HEDLEY_INLINE -#endif - -#if defined(JSON_HEDLEY_ALWAYS_INLINE) - #undef JSON_HEDLEY_ALWAYS_INLINE -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ - JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) -# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) -# define JSON_HEDLEY_ALWAYS_INLINE __forceinline -#elif defined(__cplusplus) && \ - ( \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ - ) -# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) -# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") -#else -# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE -#endif - -#if defined(JSON_HEDLEY_NEVER_INLINE) - #undef JSON_HEDLEY_NEVER_INLINE -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ - JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ - (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ - (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ - (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ - JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ - JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) - #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) -#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) - #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") -#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) - #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) - #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") -#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) - #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) -#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) - #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) -#else - #define JSON_HEDLEY_NEVER_INLINE -#endif - -#if defined(JSON_HEDLEY_PRIVATE) - #undef JSON_HEDLEY_PRIVATE -#endif -#if defined(JSON_HEDLEY_PUBLIC) - #undef JSON_HEDLEY_PUBLIC -#endif -#if defined(JSON_HEDLEY_IMPORT) - #undef JSON_HEDLEY_IMPORT -#endif -#if defined(_WIN32) || defined(__CYGWIN__) -# define JSON_HEDLEY_PRIVATE -# define JSON_HEDLEY_PUBLIC __declspec(dllexport) -# define JSON_HEDLEY_IMPORT __declspec(dllimport) -#else -# if \ - JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ - JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ - ( \ - defined(__TI_EABI__) && \ - ( \ - (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ - ) \ - ) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) -# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) -# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) -# else -# define JSON_HEDLEY_PRIVATE -# define JSON_HEDLEY_PUBLIC -# endif -# define JSON_HEDLEY_IMPORT extern -#endif - -#if defined(JSON_HEDLEY_NO_THROW) - #undef JSON_HEDLEY_NO_THROW -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) - #define JSON_HEDLEY_NO_THROW __declspec(nothrow) -#else - #define JSON_HEDLEY_NO_THROW -#endif - -#if defined(JSON_HEDLEY_FALL_THROUGH) - #undef JSON_HEDLEY_FALL_THROUGH -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) -#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) - #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) -#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) - #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) -#elif defined(__fallthrough) /* SAL */ - #define JSON_HEDLEY_FALL_THROUGH __fallthrough -#else - #define JSON_HEDLEY_FALL_THROUGH -#endif - -#if defined(JSON_HEDLEY_RETURNS_NON_NULL) - #undef JSON_HEDLEY_RETURNS_NON_NULL -#endif -#if \ - JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) -#elif defined(_Ret_notnull_) /* SAL */ - #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ -#else - #define JSON_HEDLEY_RETURNS_NON_NULL -#endif - -#if defined(JSON_HEDLEY_ARRAY_PARAM) - #undef JSON_HEDLEY_ARRAY_PARAM -#endif -#if \ - defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ - !defined(__STDC_NO_VLA__) && \ - !defined(__cplusplus) && \ - !defined(JSON_HEDLEY_PGI_VERSION) && \ - !defined(JSON_HEDLEY_TINYC_VERSION) - #define JSON_HEDLEY_ARRAY_PARAM(name) (name) -#else - #define JSON_HEDLEY_ARRAY_PARAM(name) -#endif - -#if defined(JSON_HEDLEY_IS_CONSTANT) - #undef JSON_HEDLEY_IS_CONSTANT -#endif -#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) - #undef JSON_HEDLEY_REQUIRE_CONSTEXPR -#endif -/* JSON_HEDLEY_IS_CONSTEXPR_ is for - HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ -#if defined(JSON_HEDLEY_IS_CONSTEXPR_) - #undef JSON_HEDLEY_IS_CONSTEXPR_ -#endif -#if \ - JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ - JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ - (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ - JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ - JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) - #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) -#endif -#if !defined(__cplusplus) -# if \ - JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ - JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ - JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) -#if defined(__INTPTR_TYPE__) - #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) -#else - #include - #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) -#endif -# elif \ - ( \ - defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ - !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ - !defined(JSON_HEDLEY_PGI_VERSION) && \ - !defined(JSON_HEDLEY_IAR_VERSION)) || \ - (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ - JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ - JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) -#if defined(__INTPTR_TYPE__) - #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) -#else - #include - #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) -#endif -# elif \ - defined(JSON_HEDLEY_GCC_VERSION) || \ - defined(JSON_HEDLEY_INTEL_VERSION) || \ - defined(JSON_HEDLEY_TINYC_VERSION) || \ - defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ - JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ - defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ - defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ - defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ - defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ - defined(__clang__) -# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ - sizeof(void) != \ - sizeof(*( \ - 1 ? \ - ((void*) ((expr) * 0L) ) : \ -((struct { char v[sizeof(void) * 2]; } *) 1) \ - ) \ - ) \ - ) -# endif -#endif -#if defined(JSON_HEDLEY_IS_CONSTEXPR_) - #if !defined(JSON_HEDLEY_IS_CONSTANT) - #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) - #endif - #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) -#else - #if !defined(JSON_HEDLEY_IS_CONSTANT) - #define JSON_HEDLEY_IS_CONSTANT(expr) (0) - #endif - #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) -#endif - -#if defined(JSON_HEDLEY_BEGIN_C_DECLS) - #undef JSON_HEDLEY_BEGIN_C_DECLS -#endif -#if defined(JSON_HEDLEY_END_C_DECLS) - #undef JSON_HEDLEY_END_C_DECLS -#endif -#if defined(JSON_HEDLEY_C_DECL) - #undef JSON_HEDLEY_C_DECL -#endif -#if defined(__cplusplus) - #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { - #define JSON_HEDLEY_END_C_DECLS } - #define JSON_HEDLEY_C_DECL extern "C" -#else - #define JSON_HEDLEY_BEGIN_C_DECLS - #define JSON_HEDLEY_END_C_DECLS - #define JSON_HEDLEY_C_DECL -#endif - -#if defined(JSON_HEDLEY_STATIC_ASSERT) - #undef JSON_HEDLEY_STATIC_ASSERT -#endif -#if \ - !defined(__cplusplus) && ( \ - (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ - (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ - JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ - defined(_Static_assert) \ - ) -# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) -#elif \ - (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ - JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) -# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) -#else -# define JSON_HEDLEY_STATIC_ASSERT(expr, message) -#endif - -#if defined(JSON_HEDLEY_NULL) - #undef JSON_HEDLEY_NULL -#endif -#if defined(__cplusplus) - #if __cplusplus >= 201103L - #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) - #elif defined(NULL) - #define JSON_HEDLEY_NULL NULL - #else - #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) - #endif -#elif defined(NULL) - #define JSON_HEDLEY_NULL NULL -#else - #define JSON_HEDLEY_NULL ((void*) 0) -#endif - -#if defined(JSON_HEDLEY_MESSAGE) - #undef JSON_HEDLEY_MESSAGE -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") -# define JSON_HEDLEY_MESSAGE(msg) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ - JSON_HEDLEY_PRAGMA(message msg) \ - JSON_HEDLEY_DIAGNOSTIC_POP -#elif \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) -# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) -#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) -# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) -#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) -# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) -#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) -# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) -#else -# define JSON_HEDLEY_MESSAGE(msg) -#endif - -#if defined(JSON_HEDLEY_WARNING) - #undef JSON_HEDLEY_WARNING -#endif -#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") -# define JSON_HEDLEY_WARNING(msg) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ - JSON_HEDLEY_PRAGMA(clang warning msg) \ - JSON_HEDLEY_DIAGNOSTIC_POP -#elif \ - JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ - JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ - JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) -# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) -#elif \ - JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) -# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) -#else -# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) -#endif - -#if defined(JSON_HEDLEY_REQUIRE) - #undef JSON_HEDLEY_REQUIRE -#endif -#if defined(JSON_HEDLEY_REQUIRE_MSG) - #undef JSON_HEDLEY_REQUIRE_MSG -#endif -#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) -# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") -# define JSON_HEDLEY_REQUIRE(expr) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ - __attribute__((diagnose_if(!(expr), #expr, "error"))) \ - JSON_HEDLEY_DIAGNOSTIC_POP -# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ - __attribute__((diagnose_if(!(expr), msg, "error"))) \ - JSON_HEDLEY_DIAGNOSTIC_POP -# else -# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) -# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) -# endif -#else -# define JSON_HEDLEY_REQUIRE(expr) -# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) -#endif - -#if defined(JSON_HEDLEY_FLAGS) - #undef JSON_HEDLEY_FLAGS -#endif -#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) - #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) -#else - #define JSON_HEDLEY_FLAGS -#endif - -#if defined(JSON_HEDLEY_FLAGS_CAST) - #undef JSON_HEDLEY_FLAGS_CAST -#endif -#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) -# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ - JSON_HEDLEY_DIAGNOSTIC_PUSH \ - _Pragma("warning(disable:188)") \ - ((T) (expr)); \ - JSON_HEDLEY_DIAGNOSTIC_POP \ - })) -#else -# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) -#endif - -#if defined(JSON_HEDLEY_EMPTY_BASES) - #undef JSON_HEDLEY_EMPTY_BASES -#endif -#if \ - (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ - JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) - #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) -#else - #define JSON_HEDLEY_EMPTY_BASES -#endif - -/* Remaining macros are deprecated. */ - -#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) - #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK -#endif -#if defined(__clang__) - #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) -#else - #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) -#endif - -#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) - #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE -#endif -#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) - -#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) - #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE -#endif -#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) - -#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) - #undef JSON_HEDLEY_CLANG_HAS_BUILTIN -#endif -#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) - -#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) - #undef JSON_HEDLEY_CLANG_HAS_FEATURE -#endif -#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) - -#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) - #undef JSON_HEDLEY_CLANG_HAS_EXTENSION -#endif -#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) - -#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) - #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE -#endif -#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) - -#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) - #undef JSON_HEDLEY_CLANG_HAS_WARNING -#endif -#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) - -#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ - -// #include - - -#include - -// #include - - -namespace nlohmann -{ -namespace detail -{ -template struct make_void -{ - using type = void; -}; -template using void_t = typename make_void::type; -} // namespace detail -} // namespace nlohmann - - -// https://en.cppreference.com/w/cpp/experimental/is_detected -namespace nlohmann -{ -namespace detail -{ -struct nonesuch -{ - nonesuch() = delete; - ~nonesuch() = delete; - nonesuch(nonesuch const&) = delete; - nonesuch(nonesuch const&&) = delete; - void operator=(nonesuch const&) = delete; - void operator=(nonesuch&&) = delete; -}; - -template class Op, - class... Args> -struct detector -{ - using value_t = std::false_type; - using type = Default; -}; - -template class Op, class... Args> -struct detector>, Op, Args...> -{ - using value_t = std::true_type; - using type = Op; -}; - -template class Op, class... Args> -using is_detected = typename detector::value_t; - -template class Op, class... Args> -struct is_detected_lazy : is_detected { }; - -template class Op, class... Args> -using detected_t = typename detector::type; - -template class Op, class... Args> -using detected_or = detector; - -template class Op, class... Args> -using detected_or_t = typename detected_or::type; - -template class Op, class... Args> -using is_detected_exact = std::is_same>; - -template class Op, class... Args> -using is_detected_convertible = - std::is_convertible, To>; -} // namespace detail -} // namespace nlohmann - - -// This file contains all internal macro definitions -// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them - -// exclude unsupported compilers -#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) - #if defined(__clang__) - #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 - #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" - #endif - #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) - #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 - #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" - #endif - #endif -#endif - -// C++ language standard detection -// if the user manually specified the used c++ version this is skipped -#if !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) - #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) - #define JSON_HAS_CPP_20 - #define JSON_HAS_CPP_17 - #define JSON_HAS_CPP_14 - #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 - #define JSON_HAS_CPP_17 - #define JSON_HAS_CPP_14 - #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) - #define JSON_HAS_CPP_14 - #endif - // the cpp 11 flag is always specified because it is the minimal required version - #define JSON_HAS_CPP_11 -#endif - -#ifdef __has_include - #if __has_include() - #include - #endif -#endif - -#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) - #ifdef JSON_HAS_CPP_17 - #if defined(__cpp_lib_filesystem) - #define JSON_HAS_FILESYSTEM 1 - #elif defined(__cpp_lib_experimental_filesystem) - #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 - #elif !defined(__has_include) - #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 - #elif __has_include() - #define JSON_HAS_FILESYSTEM 1 - #elif __has_include() - #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 - #endif - - // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ - #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 - #undef JSON_HAS_FILESYSTEM - #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #endif - - // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support - #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 - #undef JSON_HAS_FILESYSTEM - #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #endif - - // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support - #if defined(__clang_major__) && __clang_major__ < 7 - #undef JSON_HAS_FILESYSTEM - #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #endif - - // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support - #if defined(_MSC_VER) && _MSC_VER < 1914 - #undef JSON_HAS_FILESYSTEM - #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #endif - - // no filesystem support before iOS 13 - #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 - #undef JSON_HAS_FILESYSTEM - #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #endif - - // no filesystem support before macOS Catalina - #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 - #undef JSON_HAS_FILESYSTEM - #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #endif - #endif -#endif - -#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM - #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 -#endif - -#ifndef JSON_HAS_FILESYSTEM - #define JSON_HAS_FILESYSTEM 0 -#endif - -#ifndef JSON_HAS_THREE_WAY_COMPARISON - #if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L \ - && defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L - #define JSON_HAS_THREE_WAY_COMPARISON 1 - #else - #define JSON_HAS_THREE_WAY_COMPARISON 0 - #endif -#endif - -#ifndef JSON_HAS_RANGES - // ranges header shipping in GCC 11.1.0 (released 2021-04-27) has syntax error - #if defined(__GLIBCXX__) && __GLIBCXX__ == 20210427 - #define JSON_HAS_RANGES 0 - #elif defined(__cpp_lib_ranges) - #define JSON_HAS_RANGES 1 - #else - #define JSON_HAS_RANGES 0 - #endif -#endif - -#ifdef JSON_HAS_CPP_17 - #define JSON_INLINE_VARIABLE inline -#else - #define JSON_INLINE_VARIABLE -#endif - -#if JSON_HEDLEY_HAS_ATTRIBUTE(no_unique_address) - #define JSON_NO_UNIQUE_ADDRESS [[no_unique_address]] -#else - #define JSON_NO_UNIQUE_ADDRESS -#endif - -// disable documentation warnings on clang -#if defined(__clang__) - #pragma clang diagnostic push - #pragma clang diagnostic ignored "-Wdocumentation" - #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" -#endif - -// allow disabling exceptions -#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) - #define JSON_THROW(exception) throw exception - #define JSON_TRY try - #define JSON_CATCH(exception) catch(exception) - #define JSON_INTERNAL_CATCH(exception) catch(exception) -#else - #include - #define JSON_THROW(exception) std::abort() - #define JSON_TRY if(true) - #define JSON_CATCH(exception) if(false) - #define JSON_INTERNAL_CATCH(exception) if(false) -#endif - -// override exception macros -#if defined(JSON_THROW_USER) - #undef JSON_THROW - #define JSON_THROW JSON_THROW_USER -#endif -#if defined(JSON_TRY_USER) - #undef JSON_TRY - #define JSON_TRY JSON_TRY_USER -#endif -#if defined(JSON_CATCH_USER) - #undef JSON_CATCH - #define JSON_CATCH JSON_CATCH_USER - #undef JSON_INTERNAL_CATCH - #define JSON_INTERNAL_CATCH JSON_CATCH_USER -#endif -#if defined(JSON_INTERNAL_CATCH_USER) - #undef JSON_INTERNAL_CATCH - #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER -#endif - -// allow overriding assert -#if !defined(JSON_ASSERT) - #include // assert - #define JSON_ASSERT(x) assert(x) -#endif - -// allow to access some private functions (needed by the test suite) -#if defined(JSON_TESTS_PRIVATE) - #define JSON_PRIVATE_UNLESS_TESTED public -#else - #define JSON_PRIVATE_UNLESS_TESTED private -#endif - -/*! -@brief macro to briefly define a mapping between an enum and JSON -@def NLOHMANN_JSON_SERIALIZE_ENUM -@since version 3.4.0 -*/ -#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ - template \ - inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [e](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.first == e; \ - }); \ - j = ((it != std::end(m)) ? it : std::begin(m))->second; \ - } \ - template \ - inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ - { \ - static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ - static const std::pair m[] = __VA_ARGS__; \ - auto it = std::find_if(std::begin(m), std::end(m), \ - [&j](const std::pair& ej_pair) -> bool \ - { \ - return ej_pair.second == j; \ - }); \ - e = ((it != std::end(m)) ? it : std::begin(m))->first; \ - } - -// Ugly macros to avoid uglier copy-paste when specializing basic_json. They -// may be removed in the future once the class is split. - -#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ - template class ObjectType, \ - template class ArrayType, \ - class StringType, class BooleanType, class NumberIntegerType, \ - class NumberUnsignedType, class NumberFloatType, \ - template class AllocatorType, \ - template class JSONSerializer, \ - class BinaryType> - -#define NLOHMANN_BASIC_JSON_TPL \ - basic_json - -// Macros to simplify conversion from/to types - -#define NLOHMANN_JSON_EXPAND( x ) x -#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME -#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ - NLOHMANN_JSON_PASTE64, \ - NLOHMANN_JSON_PASTE63, \ - NLOHMANN_JSON_PASTE62, \ - NLOHMANN_JSON_PASTE61, \ - NLOHMANN_JSON_PASTE60, \ - NLOHMANN_JSON_PASTE59, \ - NLOHMANN_JSON_PASTE58, \ - NLOHMANN_JSON_PASTE57, \ - NLOHMANN_JSON_PASTE56, \ - NLOHMANN_JSON_PASTE55, \ - NLOHMANN_JSON_PASTE54, \ - NLOHMANN_JSON_PASTE53, \ - NLOHMANN_JSON_PASTE52, \ - NLOHMANN_JSON_PASTE51, \ - NLOHMANN_JSON_PASTE50, \ - NLOHMANN_JSON_PASTE49, \ - NLOHMANN_JSON_PASTE48, \ - NLOHMANN_JSON_PASTE47, \ - NLOHMANN_JSON_PASTE46, \ - NLOHMANN_JSON_PASTE45, \ - NLOHMANN_JSON_PASTE44, \ - NLOHMANN_JSON_PASTE43, \ - NLOHMANN_JSON_PASTE42, \ - NLOHMANN_JSON_PASTE41, \ - NLOHMANN_JSON_PASTE40, \ - NLOHMANN_JSON_PASTE39, \ - NLOHMANN_JSON_PASTE38, \ - NLOHMANN_JSON_PASTE37, \ - NLOHMANN_JSON_PASTE36, \ - NLOHMANN_JSON_PASTE35, \ - NLOHMANN_JSON_PASTE34, \ - NLOHMANN_JSON_PASTE33, \ - NLOHMANN_JSON_PASTE32, \ - NLOHMANN_JSON_PASTE31, \ - NLOHMANN_JSON_PASTE30, \ - NLOHMANN_JSON_PASTE29, \ - NLOHMANN_JSON_PASTE28, \ - NLOHMANN_JSON_PASTE27, \ - NLOHMANN_JSON_PASTE26, \ - NLOHMANN_JSON_PASTE25, \ - NLOHMANN_JSON_PASTE24, \ - NLOHMANN_JSON_PASTE23, \ - NLOHMANN_JSON_PASTE22, \ - NLOHMANN_JSON_PASTE21, \ - NLOHMANN_JSON_PASTE20, \ - NLOHMANN_JSON_PASTE19, \ - NLOHMANN_JSON_PASTE18, \ - NLOHMANN_JSON_PASTE17, \ - NLOHMANN_JSON_PASTE16, \ - NLOHMANN_JSON_PASTE15, \ - NLOHMANN_JSON_PASTE14, \ - NLOHMANN_JSON_PASTE13, \ - NLOHMANN_JSON_PASTE12, \ - NLOHMANN_JSON_PASTE11, \ - NLOHMANN_JSON_PASTE10, \ - NLOHMANN_JSON_PASTE9, \ - NLOHMANN_JSON_PASTE8, \ - NLOHMANN_JSON_PASTE7, \ - NLOHMANN_JSON_PASTE6, \ - NLOHMANN_JSON_PASTE5, \ - NLOHMANN_JSON_PASTE4, \ - NLOHMANN_JSON_PASTE3, \ - NLOHMANN_JSON_PASTE2, \ - NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) -#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) -#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) -#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) -#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) -#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) -#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) -#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) -#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) -#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) -#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) -#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) -#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) -#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) -#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) -#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) -#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) -#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) -#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) -#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) -#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) -#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) -#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) -#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) -#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) -#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) -#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) -#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) -#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) -#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) -#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) -#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) -#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) -#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) -#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) -#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) -#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) -#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) -#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) -#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) -#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) -#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) -#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) -#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) -#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) -#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) -#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) -#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) -#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) -#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) -#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) -#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) -#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) -#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) -#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) -#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) -#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) -#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) - -#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; -#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); -#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1); - -/*! -@brief macro -@def NLOHMANN_DEFINE_TYPE_INTRUSIVE -@since version 3.9.0 -*/ -#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ - friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ - friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } - -#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ - friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ - friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } - -/*! -@brief macro -@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE -@since version 3.9.0 -*/ -#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ - inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ - inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } - -#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ - inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ - inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { Type nlohmann_json_default_obj; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } - - -// inspired from https://stackoverflow.com/a/26745591 -// allows to call any std function as if (e.g. with begin): -// using std::begin; begin(x); -// -// it allows using the detected idiom to retrieve the return type -// of such an expression -#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ - namespace detail { \ - using std::std_name; \ - \ - template \ - using result_of_##std_name = decltype(std_name(std::declval()...)); \ - } \ - \ - namespace detail2 { \ - struct std_name##_tag \ - { \ - }; \ - \ - template \ - std_name##_tag std_name(T&&...); \ - \ - template \ - using result_of_##std_name = decltype(std_name(std::declval()...)); \ - \ - template \ - struct would_call_std_##std_name \ - { \ - static constexpr auto const value = ::nlohmann::detail:: \ - is_detected_exact::value; \ - }; \ - } /* namespace detail2 */ \ - \ - template \ - struct would_call_std_##std_name : detail2::would_call_std_##std_name \ - { \ - } - -#ifndef JSON_USE_IMPLICIT_CONVERSIONS - #define JSON_USE_IMPLICIT_CONVERSIONS 1 -#endif - -#if JSON_USE_IMPLICIT_CONVERSIONS - #define JSON_EXPLICIT -#else - #define JSON_EXPLICIT explicit -#endif - -#ifndef JSON_DIAGNOSTICS - #define JSON_DIAGNOSTICS 0 -#endif - -#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON - #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 -#endif - -#ifndef JSON_DISABLE_ENUM_SERIALIZATION - #define JSON_DISABLE_ENUM_SERIALIZATION 0 -#endif - -#if JSON_HAS_THREE_WAY_COMPARISON - #include // partial_ordering -#endif - -namespace nlohmann -{ -namespace detail -{ -/////////////////////////// -// JSON type enumeration // -/////////////////////////// - -/*! -@brief the JSON type enumeration - -This enumeration collects the different JSON types. It is internally used to -distinguish the stored values, and the functions @ref basic_json::is_null(), -@ref basic_json::is_object(), @ref basic_json::is_array(), -@ref basic_json::is_string(), @ref basic_json::is_boolean(), -@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), -@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), -@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and -@ref basic_json::is_structured() rely on it. - -@note There are three enumeration entries (number_integer, number_unsigned, and -number_float), because the library distinguishes these three types for numbers: -@ref basic_json::number_unsigned_t is used for unsigned integers, -@ref basic_json::number_integer_t is used for signed integers, and -@ref basic_json::number_float_t is used for floating-point numbers or to -approximate integers which do not fit in the limits of their respective type. - -@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON -value with the default value for a given type - -@since version 1.0.0 -*/ -enum class value_t : std::uint8_t -{ - null, ///< null value - object, ///< object (unordered set of name/value pairs) - array, ///< array (ordered collection of values) - string, ///< string value - boolean, ///< boolean value - number_integer, ///< number value (signed integer) - number_unsigned, ///< number value (unsigned integer) - number_float, ///< number value (floating-point) - binary, ///< binary array (ordered collection of bytes) - discarded ///< discarded by the parser callback function -}; - -/*! -@brief comparison operator for JSON types - -Returns an ordering that is similar to Python: -- order: null < boolean < number < object < array < string < binary -- furthermore, each type is not smaller than itself -- discarded values are not comparable -- binary is represented as a b"" string in python and directly comparable to a - string; however, making a binary array directly comparable with a string would - be surprising behavior in a JSON file. - -@since version 1.0.0 -*/ -#if JSON_HAS_THREE_WAY_COMPARISON - inline std::partial_ordering operator<=>(const value_t lhs, const value_t rhs) noexcept // *NOPAD* -#else - inline bool operator<(const value_t lhs, const value_t rhs) noexcept -#endif -{ - static constexpr std::array order = {{ - 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, - 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, - 6 /* binary */ - } - }; - - const auto l_index = static_cast(lhs); - const auto r_index = static_cast(rhs); -#if JSON_HAS_THREE_WAY_COMPARISON - if (l_index < order.size() && r_index < order.size()) - { - return order[l_index] <=> order[r_index]; // *NOPAD* - } - return std::partial_ordering::unordered; -#else - return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; -#endif -} - -// GCC selects the built-in operator< over an operator rewritten from -// a user-defined spaceship operator -// Clang, MSVC, and ICC select the rewritten candidate -// (see GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105200) -#if JSON_HAS_THREE_WAY_COMPARISON && defined(__GNUC__) -inline bool operator<(const value_t lhs, const value_t rhs) noexcept -{ - return std::is_lt(lhs <=> rhs); // *NOPAD* -} -#endif -} // namespace detail -} // namespace nlohmann - -// #include - - -// #include - - -namespace nlohmann -{ -namespace detail -{ - -/*! -@brief replace all occurrences of a substring by another string - -@param[in,out] s the string to manipulate; changed so that all - occurrences of @a f are replaced with @a t -@param[in] f the substring to replace with @a t -@param[in] t the string to replace @a f - -@pre The search string @a f must not be empty. **This precondition is -enforced with an assertion.** - -@since version 2.0.0 -*/ -template -inline void replace_substring(StringType& s, const StringType& f, - const StringType& t) -{ - JSON_ASSERT(!f.empty()); - for (auto pos = s.find(f); // find first occurrence of f - pos != StringType::npos; // make sure f was found - s.replace(pos, f.size(), t), // replace with t, and - pos = s.find(f, pos + t.size())) // find next occurrence of f - {} -} - -/*! - * @brief string escaping as described in RFC 6901 (Sect. 4) - * @param[in] s string to escape - * @return escaped string - * - * Note the order of escaping "~" to "~0" and "/" to "~1" is important. - */ -template -inline StringType escape(StringType s) -{ - replace_substring(s, StringType{"~"}, StringType{"~0"}); - replace_substring(s, StringType{"/"}, StringType{"~1"}); - return s; -} - -/*! - * @brief string unescaping as described in RFC 6901 (Sect. 4) - * @param[in] s string to unescape - * @return unescaped string - * - * Note the order of escaping "~1" to "/" and "~0" to "~" is important. - */ -template -static void unescape(StringType& s) -{ - replace_substring(s, StringType{"~1"}, StringType{"/"}); - replace_substring(s, StringType{"~0"}, StringType{"~"}); -} - -} // namespace detail -} // namespace nlohmann - -// #include - - -#include // size_t - -namespace nlohmann -{ -namespace detail -{ -/// struct to capture the start position of the current token -struct position_t -{ - /// the total number of characters read - std::size_t chars_read_total = 0; - /// the number of characters read in the current line - std::size_t chars_read_current_line = 0; - /// the number of lines read - std::size_t lines_read = 0; - - /// conversion to size_t to preserve SAX interface - constexpr operator size_t() const - { - return chars_read_total; - } -}; - -} // namespace detail -} // namespace nlohmann - -// #include - -// #include - - -#include // size_t -#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type -#include // index_sequence, make_index_sequence, index_sequence_for - -// #include - - -namespace nlohmann -{ -namespace detail -{ - -template -using uncvref_t = typename std::remove_cv::type>::type; - -#ifdef JSON_HAS_CPP_14 - -// the following utilities are natively available in C++14 -using std::enable_if_t; -using std::index_sequence; -using std::make_index_sequence; -using std::index_sequence_for; - -#else - -// alias templates to reduce boilerplate -template -using enable_if_t = typename std::enable_if::type; - -// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h -// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. - -//// START OF CODE FROM GOOGLE ABSEIL - -// integer_sequence -// -// Class template representing a compile-time integer sequence. An instantiation -// of `integer_sequence` has a sequence of integers encoded in its -// type through its template arguments (which is a common need when -// working with C++11 variadic templates). `absl::integer_sequence` is designed -// to be a drop-in replacement for C++14's `std::integer_sequence`. -// -// Example: -// -// template< class T, T... Ints > -// void user_function(integer_sequence); -// -// int main() -// { -// // user_function's `T` will be deduced to `int` and `Ints...` -// // will be deduced to `0, 1, 2, 3, 4`. -// user_function(make_integer_sequence()); -// } -template -struct integer_sequence -{ - using value_type = T; - static constexpr std::size_t size() noexcept - { - return sizeof...(Ints); - } -}; - -// index_sequence -// -// A helper template for an `integer_sequence` of `size_t`, -// `absl::index_sequence` is designed to be a drop-in replacement for C++14's -// `std::index_sequence`. -template -using index_sequence = integer_sequence; - -namespace utility_internal -{ - -template -struct Extend; - -// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. -template -struct Extend, SeqSize, 0> -{ - using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; -}; - -template -struct Extend, SeqSize, 1> -{ - using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; -}; - -// Recursion helper for 'make_integer_sequence'. -// 'Gen::type' is an alias for 'integer_sequence'. -template -struct Gen -{ - using type = - typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; -}; - -template -struct Gen -{ - using type = integer_sequence; -}; - -} // namespace utility_internal - -// Compile-time sequences of integers - -// make_integer_sequence -// -// This template alias is equivalent to -// `integer_sequence`, and is designed to be a drop-in -// replacement for C++14's `std::make_integer_sequence`. -template -using make_integer_sequence = typename utility_internal::Gen::type; - -// make_index_sequence -// -// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, -// and is designed to be a drop-in replacement for C++14's -// `std::make_index_sequence`. -template -using make_index_sequence = make_integer_sequence; - -// index_sequence_for -// -// Converts a typename pack into an index sequence of the same length, and -// is designed to be a drop-in replacement for C++14's -// `std::index_sequence_for()` -template -using index_sequence_for = make_index_sequence; - -//// END OF CODE FROM GOOGLE ABSEIL - -#endif - -// dispatch utility (taken from ranges-v3) -template struct priority_tag : priority_tag < N - 1 > {}; -template<> struct priority_tag<0> {}; - -// taken from ranges-v3 -template -struct static_const -{ - static constexpr T value{}; -}; - -#ifndef JSON_HAS_CPP_17 - - template - constexpr T static_const::value; // NOLINT(readability-redundant-declaration) - -#endif - -} // namespace detail -} // namespace nlohmann - -// #include - - -#include // numeric_limits -#include // false_type, is_constructible, is_integral, is_same, true_type -#include // declval -#include // tuple - -// #include - - -// #include - - -#include // random_access_iterator_tag - -// #include - -// #include - - -namespace nlohmann -{ -namespace detail -{ -template -struct iterator_types {}; - -template -struct iterator_types < - It, - void_t> -{ - using difference_type = typename It::difference_type; - using value_type = typename It::value_type; - using pointer = typename It::pointer; - using reference = typename It::reference; - using iterator_category = typename It::iterator_category; -}; - -// This is required as some compilers implement std::iterator_traits in a way that -// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. -template -struct iterator_traits -{ -}; - -template -struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> - : iterator_types -{ -}; - -template -struct iterator_traits::value>> -{ - using iterator_category = std::random_access_iterator_tag; - using value_type = T; - using difference_type = ptrdiff_t; - using pointer = T*; - using reference = T&; -}; -} // namespace detail -} // namespace nlohmann - -// #include - - -// #include - - -namespace nlohmann -{ -NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); -} // namespace nlohmann - -// #include - - -// #include - - -namespace nlohmann -{ -NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); -} // namespace nlohmann - -// #include - -// #include - -// #include -#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ -#define INCLUDE_NLOHMANN_JSON_FWD_HPP_ - -#include // int64_t, uint64_t -#include // map -#include // allocator -#include // string -#include // vector - -/*! -@brief namespace for Niels Lohmann -@see https://github.com/nlohmann -@since version 1.0.0 -*/ -namespace nlohmann -{ -/*! -@brief default JSONSerializer template argument - -This serializer ignores the template arguments and uses ADL -([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) -for serialization. -*/ -template -struct adl_serializer; - -/// a class to store JSON values -/// @sa https://json.nlohmann.me/api/basic_json/ -template class ObjectType = - std::map, - template class ArrayType = std::vector, - class StringType = std::string, class BooleanType = bool, - class NumberIntegerType = std::int64_t, - class NumberUnsignedType = std::uint64_t, - class NumberFloatType = double, - template class AllocatorType = std::allocator, - template class JSONSerializer = - adl_serializer, - class BinaryType = std::vector> -class basic_json; - -/// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document -/// @sa https://json.nlohmann.me/api/json_pointer/ -template -class json_pointer; - -/*! -@brief default specialization -@sa https://json.nlohmann.me/api/json/ -*/ -using json = basic_json<>; - -/// @brief a minimal map-like container that preserves insertion order -/// @sa https://json.nlohmann.me/api/ordered_map/ -template -struct ordered_map; - -/// @brief specialization that maintains the insertion order of object keys -/// @sa https://json.nlohmann.me/api/ordered_json/ -using ordered_json = basic_json; - -} // namespace nlohmann - -#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ - - -namespace nlohmann -{ -/*! -@brief detail namespace with internal helper functions - -This namespace collects functions that should not be exposed, -implementations of some @ref basic_json methods, and meta-programming helpers. - -@since version 2.1.0 -*/ -namespace detail -{ -///////////// -// helpers // -///////////// - -// Note to maintainers: -// -// Every trait in this file expects a non CV-qualified type. -// The only exceptions are in the 'aliases for detected' section -// (i.e. those of the form: decltype(T::member_function(std::declval()))) -// -// In this case, T has to be properly CV-qualified to constraint the function arguments -// (e.g. to_json(BasicJsonType&, const T&)) - -template struct is_basic_json : std::false_type {}; - -NLOHMANN_BASIC_JSON_TPL_DECLARATION -struct is_basic_json : std::true_type {}; - -// used by exceptions create() member functions -// true_type for pointer to possibly cv-qualified basic_json or std::nullptr_t -// false_type otherwise -template -struct is_basic_json_context : - std::integral_constant < bool, - is_basic_json::type>::type>::value - || std::is_same::value > -{}; - -////////////////////// -// json_ref helpers // -////////////////////// - -template -class json_ref; - -template -struct is_json_ref : std::false_type {}; - -template -struct is_json_ref> : std::true_type {}; - -////////////////////////// -// aliases for detected // -////////////////////////// - -template -using mapped_type_t = typename T::mapped_type; - -template -using key_type_t = typename T::key_type; - -template -using value_type_t = typename T::value_type; - -template -using difference_type_t = typename T::difference_type; - -template -using pointer_t = typename T::pointer; - -template -using reference_t = typename T::reference; - -template -using iterator_category_t = typename T::iterator_category; - -template -using to_json_function = decltype(T::to_json(std::declval()...)); - -template -using from_json_function = decltype(T::from_json(std::declval()...)); - -template -using get_template_function = decltype(std::declval().template get()); - -// trait checking if JSONSerializer::from_json(json const&, udt&) exists -template -struct has_from_json : std::false_type {}; - -// trait checking if j.get is valid -// use this trait instead of std::is_constructible or std::is_convertible, -// both rely on, or make use of implicit conversions, and thus fail when T -// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) -template -struct is_getable -{ - static constexpr bool value = is_detected::value; -}; - -template -struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> -{ - using serializer = typename BasicJsonType::template json_serializer; - - static constexpr bool value = - is_detected_exact::value; -}; - -// This trait checks if JSONSerializer::from_json(json const&) exists -// this overload is used for non-default-constructible user-defined-types -template -struct has_non_default_from_json : std::false_type {}; - -template -struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> -{ - using serializer = typename BasicJsonType::template json_serializer; - - static constexpr bool value = - is_detected_exact::value; -}; - -// This trait checks if BasicJsonType::json_serializer::to_json exists -// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. -template -struct has_to_json : std::false_type {}; - -template -struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> -{ - using serializer = typename BasicJsonType::template json_serializer; - - static constexpr bool value = - is_detected_exact::value; -}; - -template -using detect_key_compare = typename T::key_compare; - -template -struct has_key_compare : std::integral_constant::value> {}; - -// obtains the actual object key comparator -template -struct actual_object_comparator -{ - using object_t = typename BasicJsonType::object_t; - using object_comparator_t = typename BasicJsonType::default_object_comparator_t; - using type = typename std::conditional < has_key_compare::value, - typename object_t::key_compare, object_comparator_t>::type; -}; - -template -using actual_object_comparator_t = typename actual_object_comparator::type; - -/////////////////// -// is_ functions // -/////////////////// - -// https://en.cppreference.com/w/cpp/types/conjunction -template struct conjunction : std::true_type { }; -template struct conjunction : B { }; -template -struct conjunction -: std::conditional(B::value), conjunction, B>::type {}; - -// https://en.cppreference.com/w/cpp/types/negation -template struct negation : std::integral_constant < bool, !B::value > { }; - -// Reimplementation of is_constructible and is_default_constructible, due to them being broken for -// std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367). -// This causes compile errors in e.g. clang 3.5 or gcc 4.9. -template -struct is_default_constructible : std::is_default_constructible {}; - -template -struct is_default_constructible> - : conjunction, is_default_constructible> {}; - -template -struct is_default_constructible> - : conjunction, is_default_constructible> {}; - -template -struct is_default_constructible> - : conjunction...> {}; - -template -struct is_default_constructible> - : conjunction...> {}; - - -template -struct is_constructible : std::is_constructible {}; - -template -struct is_constructible> : is_default_constructible> {}; - -template -struct is_constructible> : is_default_constructible> {}; - -template -struct is_constructible> : is_default_constructible> {}; - -template -struct is_constructible> : is_default_constructible> {}; - - -template -struct is_iterator_traits : std::false_type {}; - -template -struct is_iterator_traits> -{ - private: - using traits = iterator_traits; - - public: - static constexpr auto value = - is_detected::value && - is_detected::value && - is_detected::value && - is_detected::value && - is_detected::value; -}; - -template -struct is_range -{ - private: - using t_ref = typename std::add_lvalue_reference::type; - - using iterator = detected_t; - using sentinel = detected_t; - - // to be 100% correct, it should use https://en.cppreference.com/w/cpp/iterator/input_or_output_iterator - // and https://en.cppreference.com/w/cpp/iterator/sentinel_for - // but reimplementing these would be too much work, as a lot of other concepts are used underneath - static constexpr auto is_iterator_begin = - is_iterator_traits>::value; - - public: - static constexpr bool value = !std::is_same::value && !std::is_same::value && is_iterator_begin; -}; - -template -using iterator_t = enable_if_t::value, result_of_begin())>>; - -template -using range_value_t = value_type_t>>; - -// The following implementation of is_complete_type is taken from -// https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ -// and is written by Xiang Fan who agreed to using it in this library. - -template -struct is_complete_type : std::false_type {}; - -template -struct is_complete_type : std::true_type {}; - -template -struct is_compatible_object_type_impl : std::false_type {}; - -template -struct is_compatible_object_type_impl < - BasicJsonType, CompatibleObjectType, - enable_if_t < is_detected::value&& - is_detected::value >> -{ - using object_t = typename BasicJsonType::object_t; - - // macOS's is_constructible does not play well with nonesuch... - static constexpr bool value = - is_constructible::value && - is_constructible::value; -}; - -template -struct is_compatible_object_type - : is_compatible_object_type_impl {}; - -template -struct is_constructible_object_type_impl : std::false_type {}; - -template -struct is_constructible_object_type_impl < - BasicJsonType, ConstructibleObjectType, - enable_if_t < is_detected::value&& - is_detected::value >> -{ - using object_t = typename BasicJsonType::object_t; - - static constexpr bool value = - (is_default_constructible::value && - (std::is_move_assignable::value || - std::is_copy_assignable::value) && - (is_constructible::value && - std::is_same < - typename object_t::mapped_type, - typename ConstructibleObjectType::mapped_type >::value)) || - (has_from_json::value || - has_non_default_from_json < - BasicJsonType, - typename ConstructibleObjectType::mapped_type >::value); -}; - -template -struct is_constructible_object_type - : is_constructible_object_type_impl {}; - -template -struct is_compatible_string_type -{ - static constexpr auto value = - is_constructible::value; -}; - -template -struct is_constructible_string_type -{ - // launder type through decltype() to fix compilation failure on ICPC -#ifdef __INTEL_COMPILER - using laundered_type = decltype(std::declval()); -#else - using laundered_type = ConstructibleStringType; -#endif - - static constexpr auto value = - is_constructible::value; -}; - -template -struct is_compatible_array_type_impl : std::false_type {}; - -template -struct is_compatible_array_type_impl < - BasicJsonType, CompatibleArrayType, - enable_if_t < - is_detected::value&& - is_iterator_traits>>::value&& -// special case for types like std::filesystem::path whose iterator's value_type are themselves -// c.f. https://github.com/nlohmann/json/pull/3073 - !std::is_same>::value >> -{ - static constexpr bool value = - is_constructible>::value; -}; - -template -struct is_compatible_array_type - : is_compatible_array_type_impl {}; - -template -struct is_constructible_array_type_impl : std::false_type {}; - -template -struct is_constructible_array_type_impl < - BasicJsonType, ConstructibleArrayType, - enable_if_t::value >> - : std::true_type {}; - -template -struct is_constructible_array_type_impl < - BasicJsonType, ConstructibleArrayType, - enable_if_t < !std::is_same::value&& - !is_compatible_string_type::value&& - is_default_constructible::value&& -(std::is_move_assignable::value || - std::is_copy_assignable::value)&& -is_detected::value&& -is_iterator_traits>>::value&& -is_detected::value&& -// special case for types like std::filesystem::path whose iterator's value_type are themselves -// c.f. https://github.com/nlohmann/json/pull/3073 -!std::is_same>::value&& - is_complete_type < - detected_t>::value >> -{ - using value_type = range_value_t; - - static constexpr bool value = - std::is_same::value || - has_from_json::value || - has_non_default_from_json < - BasicJsonType, - value_type >::value; -}; - -template -struct is_constructible_array_type - : is_constructible_array_type_impl {}; - -template -struct is_compatible_integer_type_impl : std::false_type {}; - -template -struct is_compatible_integer_type_impl < - RealIntegerType, CompatibleNumberIntegerType, - enable_if_t < std::is_integral::value&& - std::is_integral::value&& - !std::is_same::value >> -{ - // is there an assert somewhere on overflows? - using RealLimits = std::numeric_limits; - using CompatibleLimits = std::numeric_limits; - - static constexpr auto value = - is_constructible::value && - CompatibleLimits::is_integer && - RealLimits::is_signed == CompatibleLimits::is_signed; -}; - -template -struct is_compatible_integer_type - : is_compatible_integer_type_impl {}; - -template -struct is_compatible_type_impl: std::false_type {}; - -template -struct is_compatible_type_impl < - BasicJsonType, CompatibleType, - enable_if_t::value >> -{ - static constexpr bool value = - has_to_json::value; -}; - -template -struct is_compatible_type - : is_compatible_type_impl {}; - -template -struct is_constructible_tuple : std::false_type {}; - -template -struct is_constructible_tuple> : conjunction...> {}; - -template -struct is_json_iterator_of : std::false_type {}; - -template -struct is_json_iterator_of : std::true_type {}; - -template -struct is_json_iterator_of : std::true_type -{}; - -// checks if a given type T is a template specialization of Primary -template