1557 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1557 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| #ifndef _NVTCFG_DEFINE_H
 | |
| #define _NVTCFG_DEFINE_H
 | |
| /*
 | |
|     Copyright (c) 2015~  Novatek Microelectronics Corporation
 | |
| 
 | |
|     @file nvtcfg_define.h
 | |
| 
 | |
|     @version
 | |
| 
 | |
|     @date
 | |
| */
 | |
| #include <stdio.h>
 | |
| #include <time.h>
 | |
| #include "nvt_type.h"
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #ifdef _FIRMWARE_VERSION_
 | |
| #define FIRMWARE_VERSION _FIRMWARE_VERSION_
 | |
| #else
 | |
| #define FIRMWARE_VERSION     "v1.01.001"
 | |
| #endif
 | |
| 
 | |
| #ifdef _MANUFACTURER_
 | |
| #define MANUFACTURER _MANUFACTURER_
 | |
| #else
 | |
| #define MANUFACTURER         "Novatek"
 | |
| #endif
 | |
| 
 | |
| #ifdef _MODEL_NAME_
 | |
| #define MODEL_NAME _MODEL_NAME_
 | |
| #else
 | |
| #define MODEL_NAME           "9668X_IPCAM"
 | |
| #endif
 | |
| 
 | |
| #if 1
 | |
| 
 | |
| #define LONG64 long long
 | |
| /* xsd:boolean */
 | |
| enum xsd__boolean {xsd__boolean__false_ = 0, xsd__boolean__true_ = 1};
 | |
| 
 | |
| /* tt:FactoryDefaultType */
 | |
| enum tt__FactoryDefaultType {tt__FactoryDefaultType__Hard = 0, tt__FactoryDefaultType__Soft = 1};
 | |
| 
 | |
| /* tt:NetworkProtocolType */
 | |
| enum tt__NetworkProtocolType {tt__NetworkProtocolType__HTTP = 0, tt__NetworkProtocolType__HTTPS = 1, tt__NetworkProtocolType__RTSP = 2};
 | |
| 
 | |
| /* tt:ScopeDefinition */
 | |
| enum tt__ScopeDefinition {tt__ScopeDefinition__Fixed = 0, tt__ScopeDefinition__Configurable = 1};
 | |
| 
 | |
| /* tt:DiscoveryMode */
 | |
| enum tt__DiscoveryMode {tt__DiscoveryMode__NonDiscoverable = 0, tt__DiscoveryMode__Discoverable = 1};
 | |
| 
 | |
| /* tt:VideoEncoding */
 | |
| enum tt__VideoEncoding {tt__VideoEncoding__JPEG = 0, tt__VideoEncoding__MPEG4 = 1, tt__VideoEncoding__H264 = 2, tt__VideoEncoding__H265 = 3};
 | |
| 
 | |
| /* tt:RateControlMode */
 | |
| enum tt__RateControlMode {tt__RateControlMode__CBR = 0, tt__RateControlMode__VBR = 1};
 | |
| 
 | |
| /* tt:Mpeg4Profile */
 | |
| enum tt__Mpeg4Profile {tt__Mpeg4Profile__SP = 0, tt__Mpeg4Profile__ASP = 1};
 | |
| 
 | |
| /* tt:H264Profile */
 | |
| enum tt__H264Profile {tt__H264Profile__Baseline = 0, tt__H264Profile__Main = 1, tt__H264Profile__Extended = 2, tt__H264Profile__High = 3};
 | |
| 
 | |
| /* tt:AudioDulpexMode */
 | |
| enum tt__AudioDulpexMode {tt__AudioDulpexMode__Full = 0, tt__AudioDulpexMode__Half = 1};
 | |
| 
 | |
| /* tt:AudioEncoding */
 | |
| enum tt__AudioEncoding {tt__AudioEncoding__G711 = 0, tt__AudioEncoding__G726 = 1, tt__AudioEncoding__AAC = 2, tt__AudioEncoding__G711alaw = 3, tt__AudioEncoding__PCM = 4, tt__AudioEncoding__PPCM = 5};
 | |
| 
 | |
| 
 | |
| /* tt:SendPrimacy */
 | |
| enum tt__SendPrimacy {tt__SendPrimacy__Audio__Server = 0, tt__SendPrimacy__Audio__Client = 1, tt__SendPrimacy__Audio__Auto = 2};
 | |
| 
 | |
| /* tt:AudioOutputTarget */
 | |
| enum tt__AudioOutputTarget {tt__AudioOutputTarget__LineOut = 0, tt__AudioOutputTarget__Speaker = 1};
 | |
| 
 | |
| /* tt:NetworkHostType */
 | |
| enum tt__NetworkHostType {tt__NetworkHostType__IPv4 = 0, tt__NetworkHostType__IPv6 = 1, tt__NetworkHostType__DNS = 2};
 | |
| 
 | |
| /* tt:DataTimeType */
 | |
| enum tt__DataTimeType {tt__DataTimeType__Manual = 0, tt__DataTimeType__NTP = 1};
 | |
| 
 | |
| /* tt:NTPUpdatePeriod */
 | |
| enum tt__NTPUpdateCycle {tt__NTPUpdateCycle__hourly = 0, tt__NTPUpdateCycle__daily = 1, tt__NTPUpdateCycle__weekly = 2, tt__NTPUpdateCycle__monthly = 3, tt__NTPUpdateCycle__max = 4};
 | |
| 
 | |
| /* tt:ColorMode */
 | |
| enum tt__ColorMode {tt__ColorMode__Normal = 0, tt__ColorMode__Gray = 1};
 | |
| 
 | |
| /* tt:OsdUserTextPos */
 | |
| enum tt__OsdUserTextPos {tt__OsdUserTextPos__UpperLeft = 0, tt__OsdUserTextPos__UpperRight = 1, tt__OsdUserTextPos__LowerLeft = 2, tt__OsdUserTextPos__LowerRight = 3, };
 | |
| 
 | |
| /* tt:OsdDateTimeFmt */
 | |
| enum tt__OsdDateTimeFmt {tt__OsdDateTimeFmt1 = 0, //YYYY/MM/DD - HH:MM:SS
 | |
|                          tt__OsdDateTimeFmt2 = 1, //MM/DD/YYYY - HH:MM:SS
 | |
|                          tt__OsdDateTimeFmt3 = 2, //HH:MM:SS - YYYY/MM/DD
 | |
|                          tt__OsdDateTimeFmt4 = 3, //HH:MM:SS - MM/DD/YYYY
 | |
|                         };
 | |
| 
 | |
| enum tt__UserLevel
 | |
| {
 | |
|     tt__UserLevel__Anonymous = 1,	///< xs:string value="Anonymous"
 | |
| 	tt__UserLevel__User,	        ///< xs:string value="User"
 | |
| 	tt__UserLevel__Operator,	    ///< xs:string value="Operator"
 | |
| 	tt__UserLevel__Administrator,	///< xs:string value="Administrator"
 | |
| 	tt__UserLevel__Extended,	    ///< xs:string value="Extended"
 | |
| };
 | |
| 
 | |
| /* tt:VideoResolution */
 | |
| struct tt__VideoResolution
 | |
| {
 | |
|     int Width;  /* required element of type xsd:int */
 | |
|     int Height; /* required element of type xsd:int */
 | |
| };
 | |
| 
 | |
| /* tt:IntRange */
 | |
| struct tt__IntRange
 | |
| {
 | |
|     int Min;    /* required element of type xsd:int */
 | |
|     int Max;    /* required element of type xsd:int */
 | |
| };
 | |
| 
 | |
| /* tt:VideoRateControl */
 | |
| struct tt__VideoRateControl
 | |
| {
 | |
|     enum tt__RateControlMode RateControlMode; /* required element of type tt:RateControlMode */
 | |
|     int FrameRateLimit; /* required element of type xsd:int */
 | |
|     int EncodingInterval;   /* required element of type xsd:int */
 | |
|     int BitrateLimit;   /* required element of type xsd:int */
 | |
| };
 | |
| 
 | |
| /* tt:VideoCropControl */
 | |
| struct tt__VideoCropControl
 | |
| {
 | |
|     enum xsd__boolean Enable; /* required element of type xsd:boolean */
 | |
|     int CoordinateX;   /* required element of type xsd:int */
 | |
|     int CoordinateY;   /* required element of type xsd:int */
 | |
| };
 | |
| 
 | |
| /* tt:Mpeg4Configuration */
 | |
| struct tt__Mpeg4Configuration
 | |
| {
 | |
|     int GovLength;  /* required element of type xsd:int */
 | |
|     enum tt__Mpeg4Profile Mpeg4Profile; /* required element of type tt:Mpeg4Profile */
 | |
| };
 | |
| 
 | |
| /* tt:H264Configuration */
 | |
| struct tt__H264Configuration
 | |
| {
 | |
|     int GovLength;  /* required element of type xsd:int */
 | |
|     enum tt__H264Profile H264Profile;   /* required element of type tt:H264Profile */
 | |
| };
 | |
| 
 | |
| struct tt__IntRectangle
 | |
| {
 | |
|     int x;  /* required attribute of type xsd:int */
 | |
|     int y;  /* required attribute of type xsd:int */
 | |
|     int width;  /* required attribute of type xsd:int */
 | |
|     int height; /* required attribute of type xsd:int */
 | |
| };
 | |
| 
 | |
| struct tt__PTZFilter
 | |
| {
 | |
|     enum xsd__boolean Status;   /* required element of type xsd:boolean */
 | |
|     enum xsd__boolean Position; /* required element of type xsd:boolean */
 | |
|     char *__anyAttribute;   /* optional attribute of type xsd:anyType */
 | |
| };
 | |
| 
 | |
| struct tt__EventSubscription
 | |
| {
 | |
|     struct wsnt__FilterType *Filter;    /* optional element of type wsnt:FilterType */
 | |
|     struct _tt__EventSubscription_SubscriptionPolicy *SubscriptionPolicy;   /* optional element of type tt:EventSubscription-SubscriptionPolicy */
 | |
|     int __size; /* sequence of elements <-any> */
 | |
|     char **__any;
 | |
|     char *__anyAttribute;   /* optional attribute of type xsd:anyType */
 | |
| };
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #define SMALL_INFO_LENGTH    20
 | |
| #define IP_LENGTH            20
 | |
| #define MAC_LENGTH            6
 | |
| #define MACH_ADDR_LENGTH     32
 | |
| #define INFO_LENGTH          100
 | |
| #define LARGE_INFO_LENGTH    100
 | |
| 
 | |
| #define ONVIF_VERSION_MAJOR  2
 | |
| #define ONVIF_VERSION_MINOR  4
 | |
| 
 | |
| #define TRUE 1
 | |
| #define FALSE 0
 | |
| 
 | |
| // user
 | |
| #define USER_MAX_NUM          5
 | |
| #define USER_NAME_MAX_LEN     32
 | |
| #define USER_PWD_MAX_LEN      32
 | |
| #define USER_NAME_MIN_LEN     5
 | |
| #define USER_PWD_MIN_LEN      8
 | |
| 
 | |
| // discovery
 | |
| #define SCOPE_MAX_NUM          8
 | |
| #define SCOPE_ITEM_MAX_LEN    64
 | |
| #define PROBE_TYPES_MAX_LEN   64
 | |
| 
 | |
| // network
 | |
| #define HOSTNAME_MAX_LEN       253   // RFC 1123 section 2.1
 | |
| #define HOSTNAMECONFIGFILE      "/etc/hostname"
 | |
| #define DNS_MAX_COUNT            4
 | |
| #define INTERFACE_NAME_MAX_LEN  10
 | |
| #define SEARCH_DOMAIN_MAX_LEN   64
 | |
| #define DNSCONFIGFILE           "/etc/resolv.conf"
 | |
| #define DNSKEYWORD              "nameserver"
 | |
| #define DNSSEARCH               "search"
 | |
| #define PROTOCOL_COUNT          3
 | |
| 
 | |
| // event
 | |
| #define EVENT_FILTER_TYPE_TOPIC       0
 | |
| #define EVENT_FILTER_TYPE_MESSAGE     1
 | |
| #define EVENT_MAX_NOTIFY_PRODUCERS    6
 | |
| #define EVENT_MAX_PULL_POINTS         6
 | |
| #define EVENT_NOTIFY_START_IDX        0
 | |
| #define EVENT_NOTIFY_END_IDX          EVENT_MAX_NOTIFY_PRODUCERS-1
 | |
| #define EVENT_PULLPOINT_START_IDX     EVENT_MAX_NOTIFY_PRODUCERS
 | |
| #define EVENT_PULLPOINT_END_IDX       EVENT_MAX_NOTIFY_PRODUCERS+EVENT_MAX_PULL_POINTS-1
 | |
| #define EVENT_START_IDX               0
 | |
| #define EVENT_END_IDX                 EVENT_MAX_NOTIFY_PRODUCERS+EVENT_MAX_PULL_POINTS-1
 | |
| #define EVENT_MAX_NUM                 EVENT_MAX_NOTIFY_PRODUCERS+EVENT_MAX_PULL_POINTS
 | |
| #define EVENT_DEFAULT_TIMEOUT         60
 | |
| #define EVENT_MAX_MESSAGE_LIMIT       (3)//temp
 | |
| #define EVENT_MAX_MESSAGE_TIMEOUT     (120)//Shall at least support a Timeout of one minute.
 | |
| 
 | |
| #define TOPIC_0_NAME  "tns1:Device/Trigger/DigitalInput"
 | |
| #define TOPIC_0_SOURCE_NUM    1
 | |
| #define TOPIC_0_SOURCE_0_NAME  "InputToken"
 | |
| #define TOPIC_0_SOURCE_0_NAME_VALUE  "DI_Name1"
 | |
| #define TOPIC_0_SOURCE_0_TYPE  "tt:ReferenceToken"
 | |
| #define TOPIC_0_KEY_NUM     0
 | |
| #define TOPIC_0_KEY_0_NAME  "Topic0KeyName"
 | |
| #define TOPIC_0_KEY_0_TYPE  "Topic0KeyType"
 | |
| #define TOPIC_0_DATA_NUM     1
 | |
| #define TOPIC_0_DATA_0_NAME  "LogicalState"
 | |
| #define TOPIC_0_DATA_0_TYPE  "xs:boolean"
 | |
| 
 | |
| #define TOPIC_1_NAME  "tns1:VideoSource/MotionAlarm"
 | |
| #define TOPIC_1_SOURCE_NUM    1
 | |
| #define TOPIC_1_SOURCE_0_NAME  "Source"
 | |
| #define TOPIC_1_SOURCE_0_NAME_VALUE  "MD_Name1"
 | |
| #define TOPIC_1_SOURCE_0_TYPE  "tt:ReferenceToken"
 | |
| #define TOPIC_1_KEY_NUM     0
 | |
| #define TOPIC_1_KEY_0_NAME  "Topic0KeyName"
 | |
| #define TOPIC_1_KEY_0_TYPE  "Topic0KeyType"
 | |
| #define TOPIC_1_DATA_NUM     1
 | |
| #define TOPIC_1_DATA_0_NAME  "State"
 | |
| #define TOPIC_1_DATA_0_TYPE  "xs:boolean"
 | |
| 
 | |
| #define EVENT_TOPIC_MOTION 1
 | |
| #define EVENT_TOPIC_ALARM_INPUT 2
 | |
| 
 | |
| 
 | |
| // media service
 | |
| #define MEDIA_VIDEO_SOURCE_CONFIG_MAX_NUM    2
 | |
| #define MEDIA_VIDEO_SOURCE_MAX_NUM           1
 | |
| #define MEDIA_VIDEO_ENCODER_CONFIG_MAX_NUM   16
 | |
| 
 | |
| #define MEDIA_AUDIO_SOURCE_CONFIG_MAX_NUM    1
 | |
| #define MEDIA_AUDIO_SOURCE_MAX_NUM           1
 | |
| #define MEDIA_AUDIO_ENCODER_CONFIG_OPTIONS_MAX_NUM   2
 | |
| #define MEDIA_AUDIO_ENCODER_CONFIG_MAX_NUM   2
 | |
| #define MEDIA_AUDIO_BITRATE_MAX_NUM          2
 | |
| #define MEDIA_AUDIO_SAMPLERATE_MAX_NUM       2
 | |
| #define MEDIA_AUDIO_OUTPUT_CONFIG_MAX_NUM    1
 | |
| #define MEDIA_AUDIO_OUTPUT_MAX_NUM           1
 | |
| 
 | |
| 
 | |
| #define MEDIA_METADATA_CONFIG_MAX_NUM        1
 | |
| #define MEDIA_PROFILE_MAX_NUM                3
 | |
| #define MEDIA_NAME_MAX_LEN                  64
 | |
| #define MEDIA_TOKEN_MAX_LEN                 64
 | |
| 
 | |
| #define VIDEO_SOURCE_TOKEN_AVAILABLE_NUM     1
 | |
| #define AUDIO_SOURCE_TOKEN_AVAILABLE_NUM     1
 | |
| #define AUDIO_OUTPUT_TOKEN_AVAILABLE_NUM     1
 | |
| 
 | |
| #define JPEG_RESOLUTION_MAX_NUM       5
 | |
| #define MPEG4_RESOLUTION_MAX_NUM      1
 | |
| #define H264_RESOLUTION_MAX_NUM       5
 | |
| 
 | |
| #define OSD_USER_TEXT_MAX_NUM         16
 | |
| #define OSD_MAX_CHANNEL               (MEDIA_PROFILE_MAX_NUM + 1) //+HDMI
 | |
| #define OSD_HDMI_CHANNEL              (OSD_MAX_CHANNEL - 1) //+HDMI
 | |
| 
 | |
| // ptz service
 | |
| #define PTZ_TOKEN_MAX_LEN                   64
 | |
| #define MEDIA_PTZ_CONFIG_MAX_NUM            1
 | |
| #define PTZ_PRESET_MAX_NUM                  3
 | |
| #define PTZ_MAX_NUM                         1
 | |
| 
 | |
| // date time
 | |
| #define FAKE_DST_STRING "M1.1.0,M1.1.1"
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     int  isValid;
 | |
|     char Username[USER_NAME_MAX_LEN+1]; /* required element of type xsd:string */
 | |
|     char Password[USER_PWD_MAX_LEN+1];  /* optional element of type xsd:string */
 | |
|     enum tt__UserLevel UserLevel;       /* required element of type tt:UserLevel */
 | |
| }ONVIF_USER;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      enum tt__ScopeDefinition ScopeDef;       /* required element of type tt:ScopeDefinition */
 | |
|      char ScopeItem[SCOPE_ITEM_MAX_LEN+1];    /* required element of type xsd:anyURI */
 | |
| }ONVIF_SCOPE;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      enum  tt__DiscoveryMode DiscoveryMode; //{tt__DiscoveryMode__Discoverable
 | |
|      ONVIF_SCOPE             scopeList[SCOPE_MAX_NUM];
 | |
|      char                    ProbeTypes[PROBE_TYPES_MAX_LEN];
 | |
| }ONVIF_DEVICE_DISCOVERY;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      char Manufacturer[33];
 | |
|      char Model[33];
 | |
|      char FirmwareVersion[11];
 | |
|      char SerialNumber[17];
 | |
|      char HardwareId[17];
 | |
| }ONVIF_DEVICE_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      char name[INTERFACE_NAME_MAX_LEN+1];
 | |
|      char IP[IP_LENGTH+1];
 | |
|      char BroadIP[IP_LENGTH+1];
 | |
|      unsigned char MAC[MAC_LENGTH+1];
 | |
|      char Mask[IP_LENGTH+1];
 | |
|      char GW[IP_LENGTH+1];
 | |
|      enum xsd__boolean   DHCPServerEnable;
 | |
|      enum xsd__boolean   fromDHCP;
 | |
|      char linkLocal[IP_LENGTH+1];
 | |
| }ONVIF_NETWORK_INTERFACE_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      int                            isSupport;
 | |
|      enum tt__NetworkProtocolType   Type;
 | |
|      int                            port;
 | |
|      int                            Enable;
 | |
| }ONVIF_NETWORK_PROTOCOL_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum xsd__boolean               rtspAuth;
 | |
| }ONVIF_NETWORK_AUTH_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      int                            isfromDHCP;
 | |
|      enum tt__NetworkHostType       NetworkHostType;
 | |
|      char                           ServerAddress[32];
 | |
| }ONVIF_NTP_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      char                          hostname[HOSTNAME_MAX_LEN+1];
 | |
|      char                          DNS1[IP_LENGTH+1];
 | |
|      char                          DNS2[IP_LENGTH+1];
 | |
|      int                           DNSfromDHCP;
 | |
|      ONVIF_NETWORK_INTERFACE_INFO  interfaceInfo;
 | |
|      ONVIF_NETWORK_PROTOCOL_INFO   protocolInfo[PROTOCOL_COUNT];
 | |
|      ONVIF_NTP_INFO                NTPInfo;
 | |
|      ONVIF_NETWORK_AUTH_INFO       authInfo;
 | |
| }ONVIF_NETWORK_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|      int                           subscribed;
 | |
|      int                           triggered;
 | |
|      int                           initTimeout;
 | |
|      time_t                        expiretime;
 | |
|      char                          topicFilter[INFO_LENGTH+1];
 | |
|      char                          messageFilter[INFO_LENGTH+1];
 | |
|      char                          consumerEndPoint[INFO_LENGTH+1];
 | |
| }ONVIF_EVENT_INFO;
 | |
| 
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     struct tt__VideoResolution        ResolutionsAvailable[JPEG_RESOLUTION_MAX_NUM];
 | |
|     struct tt__IntRange               FrameRateRange;
 | |
|     struct tt__IntRange               EncodingIntervalRange;
 | |
|     struct tt__IntRange               BitRateRange;
 | |
| }ONVIF_VIDEO_ENCODER_JPEG_OPTIONS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     struct tt__VideoResolution        ResolutionsAvailable[MPEG4_RESOLUTION_MAX_NUM];
 | |
|     struct tt__IntRange               GovLengthRange;
 | |
|     struct tt__IntRange               FrameRateRange;
 | |
|     struct tt__IntRange               EncodingIntervalRange;
 | |
|     struct tt__IntRange               BitRateRange;
 | |
| 
 | |
| }ONVIF_VIDEO_ENCODER_MPEG4_OPTIONS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     struct tt__VideoResolution        ResolutionsAvailable[H264_RESOLUTION_MAX_NUM];
 | |
|     struct tt__IntRange               GovLengthRange;
 | |
|     struct tt__IntRange               FrameRateRange;
 | |
|     struct tt__IntRange               EncodingIntervalRange;
 | |
|     struct tt__IntRange               BitRateRange;
 | |
| }ONVIF_VIDEO_ENCODER_H264_OPTIONS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_VIDEO_ENCODER_JPEG_OPTIONS   jpegOptions;
 | |
|     ONVIF_VIDEO_ENCODER_MPEG4_OPTIONS  mpeg4Options;
 | |
|     ONVIF_VIDEO_ENCODER_H264_OPTIONS   h264Options;
 | |
| }ONVIF_VIDEO_ENCODER_CONFIG_OPTIONS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                               Address[IP_LENGTH+1];
 | |
|     int                                Port;
 | |
|     int                                TTL;
 | |
|     enum xsd__boolean                  AutoStart;
 | |
| }ONVIF_MEDIA_MULTICAST_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                                 Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     int                                  UseCount;
 | |
|     char                                 token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     enum   tt__VideoEncoding             Encoding;
 | |
|     struct tt__VideoResolution           Resolution;
 | |
|     struct tt__VideoResolution           MaxResolution;
 | |
|     float                                Quality;
 | |
|     struct tt__VideoRateControl          RateControl;
 | |
|     struct tt__VideoCropControl          CropControl;
 | |
|     struct tt__Mpeg4Configuration        MPEG4;
 | |
|     struct tt__H264Configuration         H264;
 | |
|     ONVIF_MEDIA_MULTICAST_CONFIG         Multicast;
 | |
|     LONG64                               SessionTimeout;
 | |
| }ONVIF_VIDEO_ENCODER_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     int                               TotalNumber;
 | |
|     int                               JPEG;
 | |
|     int                               H264;
 | |
|     int                               MPEG4;
 | |
| }ONVIF_VIDEO_ENCODE_INSTANCE_NUM;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     struct tt__IntRange               XRange;
 | |
|     struct tt__IntRange               YRange;
 | |
|     struct tt__IntRange               WidthRange;
 | |
|     struct tt__IntRange               HeightRange;
 | |
|     char                              VideoSourceTokensAvailable[VIDEO_SOURCE_TOKEN_AVAILABLE_NUM][MEDIA_TOKEN_MAX_LEN+1];
 | |
| }ONVIF_VIDEO_SOURCE_CONFIG_OPTIONS;
 | |
| 
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     int                               UseCount;
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              SourceToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     struct tt__IntRectangle           Bounds;
 | |
|     ONVIF_VIDEO_ENCODE_INSTANCE_NUM   VideoEncodeInstanceNum;
 | |
| }ONVIF_VIDEO_SOURCE_CONFIG;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     float                             Framerate;
 | |
|     struct tt__VideoResolution        Resolution;
 | |
| }ONVIF_VIDEO_SOURCE;
 | |
| 
 | |
| /* tt:CVBSMode */
 | |
| enum tt__CVBSMode {tt__CVBSMode__OFF = 0, tt__CVBSMode__NTSC = 1, tt__CVBSMode__PAL = 2};
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum tt__CVBSMode CVBSMode;
 | |
| }CVBS_OUTPUT;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     CVBS_OUTPUT CVBSOutput;
 | |
| }ONVIF_VIDEO_OUTPUT;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              InputTokensAvailable[AUDIO_SOURCE_TOKEN_AVAILABLE_NUM][MEDIA_TOKEN_MAX_LEN+1];
 | |
| }ONVIF_AUDIO_SOURCE_CONFIG_OPTIONS;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     int                               UseCount;
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              SourceToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     int                               Volume;
 | |
|     enum tt__AudioDulpexMode          DulpexMode;
 | |
| }ONVIF_AUDIO_SOURCE_CONFIG;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     int                               Channels;
 | |
| }ONVIF_AUDIO_SOURCE;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum tt__AudioEncoding            Encoding;
 | |
|     int                               SizeofBitrate;
 | |
|     int                               BitrateList[MEDIA_AUDIO_BITRATE_MAX_NUM];        // kbps
 | |
|     int                               SizeofSampleRate;
 | |
|     int                               SampleRateList[MEDIA_AUDIO_SAMPLERATE_MAX_NUM];  // kHz
 | |
| }ONVIF_AUDIO_ENCODER_CONFIG_OPTIONS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     int                               UseCount;
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     enum tt__AudioEncoding            Encoding;
 | |
|     int                               Bitrate;    // kbps
 | |
|     float                             SampleRate; // kHz
 | |
|     ONVIF_MEDIA_MULTICAST_CONFIG      Multicast;
 | |
|     LONG64                            SessionTimeout;
 | |
| }ONVIF_AUDIO_ENCODER_CONFIG;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              TokensAvailable[AUDIO_OUTPUT_TOKEN_AVAILABLE_NUM][MEDIA_TOKEN_MAX_LEN+1];
 | |
|     enum tt__SendPrimacy              SendPrimacy;
 | |
| 	struct tt__IntRange               outputlevelrange;// Range of values greater equal Min value and less equal Max value.
 | |
| }ONVIF_AUDIO_OUTPUT_CONFIG_OPTIONS;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     int                               UseCount;
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              OutputToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     enum tt__SendPrimacy              SendPrimacy;
 | |
|     enum tt__AudioOutputTarget        OutputTarget;
 | |
|     int                               OutputLevel;
 | |
| }ONVIF_AUDIO_OUTPUT_CONFIG;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
| }ONVIF_AUDIO_OUTPUT;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     int                               UseCount;
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     struct tt__PTZFilter              PTZStatus;
 | |
|     struct tt__EventSubscription      Events;
 | |
|     ONVIF_MEDIA_MULTICAST_CONFIG      Multicast;
 | |
|     LONG64                            SessionTimeout;
 | |
| }ONVIF_METADATA_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                              Name[MEDIA_NAME_MAX_LEN+1];
 | |
|     char                              token[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     enum xsd__boolean                 fixed;
 | |
|     char                              VideoEncoderConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              VideoSourceConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              AudioEncoderConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              AudioSourceConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              AudioOutputConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              MetadataConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     char                              PtzConfigToken[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     struct tt__VideoResolution        MaxResolution;
 | |
| }ONVIF_MEDIA_PROFILE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     unsigned long                     UserText[OSD_USER_TEXT_MAX_NUM+1];
 | |
|     enum tt__OsdUserTextPos           OsdUserTextPos;
 | |
|     int                               FontSize;
 | |
|     int                               DateTime_On;
 | |
|     int                               UserText_On;
 | |
|     unsigned int                      FontColor;
 | |
|     enum tt__OsdDateTimeFmt           OsdDateTimeFmt;
 | |
|     int                               ImgWidth;
 | |
|     int                               ImgHeight;
 | |
| }OSD_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                                     rtspServerIP[IP_LENGTH+1];
 | |
|     char                                     rtspMulticastIP[IP_LENGTH+1];
 | |
| }
 | |
| ONVIF_STREAM_INFO;
 | |
| 
 | |
| 
 | |
| //////////////////////////////////////////////////////////////
 | |
| //
 | |
| // PTZ PART
 | |
| //
 | |
| /////////////////////////////////////////////////////////////
 | |
| /* tt:PTZSpace */
 | |
| enum tt__PTZSpace
 | |
| {
 | |
| 	tt__NSS = 0, //not support space
 | |
| 	tt__PT_PositionGenericSpace = 1,
 | |
| 	tt__PT_TranslationGenericSpace = 2,
 | |
| 	tt__PT_SphericalTranslationSpaceDegrees = 3,
 | |
| 	tt__PT_TranslationSpaceFov = 4,
 | |
| 	tt__PT_VelocityGenericSpace = 5,
 | |
| 	tt__PT_GenericSpeedSpace = 6,
 | |
| 	tt__PT_SphericalPositionSpace = 7,
 | |
| 	tt__Z_PositionGenericSpace = 8,
 | |
| 	tt__Z_TranslationGenericSpace = 9,
 | |
| 	tt__Z_VelocityGenericSpace = 10,
 | |
| 	tt__Z_ZoomGenericSpeedSpace = 11
 | |
| };
 | |
| 
 | |
| enum tt__PTZ_TOUR_DIRECTION
 | |
| {
 | |
| 	tt__PTZ_TOUR_DIRECTION_UNUSED = 0,
 | |
| 	tt__PTZ_TOUR_DIRECTION_FORWARD,
 | |
| 	tt__PTZ_TOUR_DIRECTION_BACKWARD,
 | |
| 	tt__PTZ_TOUR_DIRECTION_EXTENEDED
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__PTZ_ELIIP
 | |
| {
 | |
| 	tt__PTZ_ELIIP_UNUSED = 0,
 | |
| 	tt__PTZ_ELIIP_OFF,
 | |
| 	tt__PTZ_ELIIP_ON,
 | |
| 	tt__PTZ_ELIIP_EXTENEDED,
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__PTZ_REVERSE
 | |
| {
 | |
| 	tt__PTZ_REVERSE_UNUSED = 0,
 | |
| 	tt__PTZ_REVERSE_OFF,
 | |
| 	tt__PTZ_REVERSE_ON,
 | |
| 	tt__PTZ_REVERSE_AUTO,
 | |
| 	tt__PTZ_REVERSE_EXTENEDED,
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__PTZ_RS485_PROTOCOL
 | |
| {
 | |
|     tt__PTZ_RS485_PROTOCOL_PELCO_D,
 | |
|     tt__PTZ_RS485_PROTOCOL_PELCO_P,
 | |
|     tt__PTZ_RS485_PROTOCOL_PELCO_MAX,
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__RS485_BAUDRATE
 | |
| {
 | |
|     tt__RS485_BAUDRATE_110 = 110,
 | |
|     tt__RS485_BAUDRATE_300 = 300,
 | |
|     tt__RS485_BAUDRATE_600 = 600,
 | |
|     tt__RS485_BAUDRATE_1200 = 1200,
 | |
|     tt__RS485_BAUDRATE_2400 = 2400,
 | |
|     tt__RS485_BAUDRATE_4800 = 4800,
 | |
|     tt__RS485_BAUDRATE_9600 = 9600,
 | |
|     tt__RS485_BAUDRATE_19200 = 19200,
 | |
|     tt__RS485_BAUDRATE_38400 = 38400,
 | |
|     tt__RS485_BAUDRATE_57600 = 57600,
 | |
|     tt__RS485_BAUDRATE_115200 = 115200,
 | |
|     tt__RS485_BAUDRATE_MAX,
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__RS485_DATA_BIT
 | |
| {
 | |
|     tt__RS485_DATA_BIT_5 = 5,
 | |
|     tt__RS485_DATA_BIT_6 = 6,
 | |
|     tt__RS485_DATA_BIT_7 = 7,
 | |
|     tt__RS485_DATA_BIT_8 = 8,
 | |
|     tt__RS485_DATA_BIT_MAX,
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__RS485_PARITY_BIT
 | |
| {
 | |
|     tt__RS485_PARITY_BIT_NONE,
 | |
|     tt__RS485_PARITY_BIT_ODD,
 | |
|     tt__RS485_PARITY_BIT_EVEN,
 | |
|     tt__RS485_PARITY_BIT_SPACE,
 | |
|     tt__RS485_PARITY_BIT_MAX,
 | |
| }
 | |
| ;
 | |
| 
 | |
| enum tt__RS485_STOP_BIT
 | |
| {
 | |
|     tt__RS485_STOP_BIT_1 = 1,
 | |
|     tt__RS485_STOP_BIT_2 = 2,
 | |
|     tt__RS485_DATABIT_MAX,
 | |
| }
 | |
| ;
 | |
| 
 | |
| /* tt:FloatRange */
 | |
| typedef struct
 | |
| {
 | |
|     int   bUsed;
 | |
|     float Min;    /* required element of type xsd:float */
 | |
|     float Max;    /* required element of type xsd:float */
 | |
| }
 | |
| tt__FloatRange;
 | |
| 
 | |
| typedef struct _ONVIF_VECTOR_2D
 | |
| {
 | |
| 	enum tt__PTZSpace Space;
 | |
| 	float x_float;
 | |
| 	float y_float;
 | |
| }
 | |
| ONVIF_VECTOR_2D;
 | |
| 
 | |
| typedef struct _ONVIF_VECTOR_1D
 | |
| {
 | |
| 	enum tt__PTZSpace Space;
 | |
| 	float x_float;
 | |
| }
 | |
| ONVIF_VECTOR_1D;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	ONVIF_VECTOR_2D PT_pVector;
 | |
| 	ONVIF_VECTOR_1D Z_pVector;
 | |
| }
 | |
| ONVIF_PTZ_SPEED;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	enum tt__PTZSpace anySpace;			// A URI of coordinate systems, [1~1]
 | |
| 	tt__FloatRange xrange;		// A range of x-axis, [1~1]
 | |
| 	tt__FloatRange yrange;		// A range of y-axis, [1~1]
 | |
| }
 | |
| ONVIF_SPACE2D_DESC;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	enum tt__PTZSpace anySpace;			// A URI of coordinate systems, [1~1]
 | |
| 	tt__FloatRange xrange;		// A range of x-axis, [1~1]
 | |
| }
 | |
| ONVIF_SPACE1D_DESC;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	ONVIF_SPACE2D_DESC range;	// A range of pan tilt limits, [1~1]
 | |
| }
 | |
| ONVIF_PT_LIMIT;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	ONVIF_SPACE1D_DESC range;	// A range of zoom limit, [1~1]
 | |
| }
 | |
| ONVIF_Z_LIMIT;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	char min[10];					// Range of duration greater equal Min duration and less equal Max duration, [1~1]
 | |
| 	char max[10];					// Range of duration greater equal Min duration and less equal Max duration, [1~1]
 | |
| }
 | |
| ONVIF_PTZ_DURATION_RANGE;
 | |
| 
 | |
| #define PTZ_COUNT   16
 | |
| typedef struct
 | |
| {
 | |
| 	enum tt__PTZ_ELIIP EflipMode; // config just only index = 0
 | |
| 	enum tt__PTZ_REVERSE ReverseMode; // config just only index = 0
 | |
| }
 | |
| ONVIF_PTZ_PTCTRL_DIRECTION;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	ONVIF_PTZ_PTCTRL_DIRECTION PTDirect;
 | |
| }
 | |
| ONVIF_PTZ_EXTENSION;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	ONVIF_SPACE2D_DESC BoundAbsolutePantTiltPositionSpace;
 | |
| 	ONVIF_SPACE1D_DESC BoundAbsoluteZoomPositionSpace;
 | |
| 	ONVIF_SPACE2D_DESC BoundRelativePanTiltTranslationSpace;
 | |
| 	ONVIF_SPACE1D_DESC BoundRelativeZoomTranslationSpace;
 | |
| 	ONVIF_SPACE2D_DESC BoundContinuousPanTiltVelocitySpace;
 | |
| 	ONVIF_SPACE1D_DESC BoundContinuousZoomVelocitySpace;
 | |
| 	ONVIF_SPACE1D_DESC BoundPTSpeed;
 | |
| 	ONVIF_SPACE1D_DESC BoundZSpeed;
 | |
| }
 | |
| ONVIF_PTZ_SPACE_BOUND;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_PTZ_SPACE_BOUND           PTZSpaceBound;
 | |
| #if 0
 | |
|     ONVIF_PTZ_DURATION_RANGE        PTZTimeout;
 | |
|     ONVIF_PTZ_PTCTRL_DIRECTION      PTDirect;
 | |
| #endif
 | |
| }
 | |
| ONVIF_PTZ_CONFIG_OPTIONS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     unsigned int                    ttyNumber;
 | |
|     unsigned int                    deviceID;
 | |
|     enum tt__PTZ_RS485_PROTOCOL     protocol;
 | |
|     enum tt__RS485_BAUDRATE         baudrate;
 | |
|     enum tt__RS485_DATA_BIT         dataBit;
 | |
|     enum tt__RS485_STOP_BIT         stopBit;
 | |
|     enum tt__RS485_PARITY_BIT       parityBit;
 | |
| }
 | |
| ONVIF_RS485_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char                            nodeToken[PTZ_TOKEN_MAX_LEN+1];
 | |
|     char                            token[PTZ_TOKEN_MAX_LEN+1];
 | |
|     char                            Name[PTZ_TOKEN_MAX_LEN+1];
 | |
|     int                             UseCount;
 | |
|     enum   tt__PTZSpace             DefaultAbsolutePantTiltPositionSpace; //if supports absolute Pan/Tilt movements
 | |
|     enum   tt__PTZSpace             DefaultAbsoluteZoomPositionSpace; //if supports absolute zoom movements
 | |
|     enum   tt__PTZSpace             DefaultRelativePanTiltTranslationSpace; //if supports relative Pan/Tilt movements
 | |
|     enum   tt__PTZSpace             DefaultRelativeZoomTranslationSpace; //if supports relative zoom movements
 | |
|     enum   tt__PTZSpace             DefaultContinuousPanTiltVelocitySpace; //if supports continuous Pan/Tilt movements
 | |
|     enum   tt__PTZSpace             DefaultContinuousZoomVelocitySpace; //if supports continuous zoom movements
 | |
|     ONVIF_PTZ_SPEED                 DefaultPTZSpeed; //if supports absolute or relative PTZ movements
 | |
|     char                            DefaultPTZTimeout[10]; //if supports continuous movements
 | |
|     ONVIF_PT_LIMIT                  PanTiltLimits;//if supports an absolute Pan/Tilt
 | |
|     ONVIF_Z_LIMIT                   ZoomLimits; //if supports absolute zoom
 | |
|     ONVIF_RS485_CONFIG              RS485Config;
 | |
| #if 0
 | |
| 	ONVIF_PTZ_EXTENSION             Extension;
 | |
| #endif
 | |
| 	int                             isForcePersistence;
 | |
| }
 | |
| ONVIF_PTZ_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	ONVIF_VECTOR_2D PT_pVector;
 | |
| 	ONVIF_VECTOR_1D Z_pVector;
 | |
| }
 | |
| ONVIF_PTZ_POSITION;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
| 	char                            token[PTZ_TOKEN_MAX_LEN+1];
 | |
| 	char                            Name[PTZ_TOKEN_MAX_LEN+1];
 | |
|     ONVIF_PTZ_POSITION              pos;
 | |
| }
 | |
| ONVIF_PTZ_PRESET;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_PTZ_SPEED                 speed;
 | |
|     ONVIF_PTZ_PRESET                preset[PTZ_PRESET_MAX_NUM];
 | |
| }
 | |
| ONVIF_PTZ_INFO;
 | |
| 
 | |
| //////////////////////////////////////////////////////////////
 | |
| //
 | |
| // IMAGE PART
 | |
| //
 | |
| /////////////////////////////////////////////////////////////
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_ALL                   0xffffffff
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_BACKLIGHTCOMPENSATION 0x00000001
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_BRIGHTNESS            0x00000002
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_COLORSATURATION       0x00000004
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_CONTRAST              0x00000008
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_EXPOSURE              0x00000010
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_EXPOSURE_WINDOW       0x00000020
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_FOCUS                 0x00000040
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_IRCUT                 0x00000080
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_WDR                   0x00000100
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_WHITEBALANCE          0x00000200
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_IMAGESTABILIZATION    0x00000400
 | |
| #define IMAGE_SETTING_UPDATE_FLAG_SHARPNESS             0x00000800
 | |
| 
 | |
| #define IMAGE_FOCUSMOVE_EXE_FLAG_ABSOLUTE               0x00000001
 | |
| #define IMAGE_FOCUSMOVE_EXE_FLAG_RELATIVE               0x00000002
 | |
| #define IMAGE_FOCUSMOVE_EXE_FLAG_CONTINUOUS             0x00000004
 | |
| #define IMAGE_FOCUSMOVE_EXE_FLAG_STOP                   0x00000008
 | |
| 
 | |
| 
 | |
| #define IMAGE_CHECK_RANGE_OK            0
 | |
| #define IMAGE_CHECK_RANGE_NOTSUPPORT   -1
 | |
| #define IMAGE_CHECK_RANGE_OUTRANGE     -2
 | |
| 
 | |
| #define IMAGE_SIZE_MAX_NUM 2
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_EXPOSUREMODE_AUTO = 0,
 | |
|     ONVIF_IMAGE_EXPOSUREMODE_MANUAL = 1,
 | |
|     ONVIF_IMAGE_EXPOSUREMODE_MAXNUM
 | |
| } ONVIF_IMAGE_EXPOSUREMODE;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_EXPOSUREPRIORITY_LowNoise = 0,
 | |
|     ONVIF_IMAGE_EXPOSUREPRIORITY_FrameRate = 1,
 | |
|     ONVIF_IMAGE_EXPOSUREPRIORITY_MAXNUM
 | |
| } ONVIF_IMAGE_EXPOSUREPRIORITY;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_EXPOSURESTRATEGY_LOWLIGHT = 0,
 | |
|     ONVIF_IMAGE_EXPOSURESTRATEGY_HIGHLIGHT = 1,
 | |
|     ONVIF_IMAGE_EXPOSURESTRATEGY_MAXNUM
 | |
| } ONVIF_IMAGE_EXPOSURESTRATEGY;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_EXPOSUREANTIFLICKER_50HZ = 0,
 | |
|     ONVIF_IMAGE_EXPOSUREANTIFLICKER_60HZ = 1,
 | |
|     ONVIF_IMAGE_EXPOSUREANTIFLICKER_AUTO = 2,
 | |
|     ONVIF_IMAGE_EXPOSUREANTIFLICKER_NONE = 3,
 | |
|     ONVIF_IMAGE_EXPOSUREANTIFLICKER_MAXNUM
 | |
| } ONVIF_IMAGE_EXPOSUREANTIFLICKER;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_AUTOFOCUSMODE_AUTO = 0,
 | |
|     ONVIF_IMAGE_AUTOFOCUSMODE_MANUAL = 1,
 | |
|     ONVIF_IMAGE_AUTOFOCUSMODE_MAXNUM
 | |
| } ONVIF_IMAGE_AUTOFOCUSMODE;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE_OFF = 0,
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE_ON = 1,
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE_AUTO,
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE_Extended,
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE_MAXNUM
 | |
| } ONVIF_IMAGE_STABILIZATION_MODE;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_IRCUTFILTERMODE_OFF = 0,
 | |
|     ONVIF_IMAGE_IRCUTFILTERMODE_ON = 1,
 | |
|     ONVIF_IMAGE_IRCUTFILTERMODE_AUTO,
 | |
|     ONVIF_IMAGE_IRCUTFILTERMODE_MAXNUM
 | |
| } ONVIF_IMAGE_IRCUTFILTERMODE;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_IRCUTAUTOSUBMODE_IMAGESENSOR,
 | |
|     ONVIF_IMAGE_IRCUTAUTOSUBMODE_SCHEDULE,
 | |
|     ONVIF_IMAGE_IRCUTAUTOSUBMODE_DI,
 | |
|     ONVIF_IMAGE_IRCUTAUTOSUBMODE_MAXNUM,
 | |
| } ONVIF_IMAGE_IRCUTAUTOSUBMODE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_IRCUTFILTERMODE ircutfiltermodes_int;
 | |
|     ONVIF_IMAGE_IRCUTAUTOSUBMODE ircutautosubmodes_int;
 | |
|     unsigned int daytonighttimehour_uint;
 | |
|     unsigned int daytonighttimeminute_uint;
 | |
|     unsigned int nighttodaytimehour_uint;
 | |
|     unsigned int nighttodaytimeminute_uint;
 | |
| } ONVIF_IMAGE_IRCUT_INFO;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_IMAGE_WHITEBALANCE_AUTO = 0,
 | |
|     ONVIF_IMAGE_WHITEBALANCE_MANUAL = 1,
 | |
|     ONVIF_IMAGE_WHITEBALANCE_MAXNUM
 | |
| } ONVIF_IMAGE_WHITEBALANCE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum xsd__boolean  backlightcompensation_int;
 | |
|     float lv_float;
 | |
| } ONVIF_IMAGE_SETTING_BACKLIGHTCOMPENSATION_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     float bottom_float;
 | |
|     float top_float;
 | |
|     float right_float;
 | |
|     float left_float;
 | |
| } ONVIF_IMAGE_EXPOSURE_WINRECT;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_EXPOSUREMODE mode_int;
 | |
|     ONVIF_IMAGE_EXPOSUREPRIORITY priority_int;
 | |
|     ONVIF_IMAGE_EXPOSURESTRATEGY strategy_int;
 | |
|     ONVIF_IMAGE_EXPOSUREANTIFLICKER antiflicker_int;
 | |
|     ONVIF_IMAGE_EXPOSURE_WINRECT window_struct;
 | |
|     float ev_float;
 | |
|     float convergencespeed_float;
 | |
|     float tolerance_float;
 | |
|     float delay_float;
 | |
|     float minexposuretime_float;
 | |
|     float maxexposuretime_float;
 | |
|     float mingain_float ;
 | |
|     float maxgain_float ;
 | |
|     float miniris_float ;
 | |
|     float maxiris_float ;
 | |
|     float exposuretime_float;
 | |
|     float gain_float;
 | |
|     float iris_float;
 | |
| } ONVIF_IMAGE_SETTING_EXPOSURE_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_AUTOFOCUSMODE autofocus_int;
 | |
|     float defaultspeed_float;
 | |
|     float nearlimit_float;
 | |
|     float farlimit_float;
 | |
| } ONVIF_IMAGE_SETTING_FOCUSCONFIGURATION_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum xsd__boolean  widedynamicmode_int;
 | |
|     float lv_float;
 | |
| } ONVIF_IMAGE_SETTING_WIDEDYNAMICRANGE_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_WHITEBALANCE mode_int;
 | |
|     float convergencespeed_float;
 | |
|     float convergencestep_float;
 | |
|     float crgain_float;
 | |
|     float cbgain_float;
 | |
| } ONVIF_IMAGE_SETTING_WHITEBALANCE_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     float nr2Dstrength_float;
 | |
|     float nr3Dstrength_float;
 | |
| } ONVIF_IMAGE_SETTING_NOISEREDUCTION_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE mode_int;
 | |
|     float level_float;
 | |
| } ONVIF_IMAGE_SETTING_IMAGESTABILIZATION_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char boundarytype_achar[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     float boundaryoffset_float;
 | |
|     char responsetime_achar[MEDIA_TOKEN_MAX_LEN+1];
 | |
| } ONVIF_IMAGE_SETTING_EXT202_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_SETTING_IMAGESTABILIZATION_INFO ImageStabilization_struct;
 | |
|     ONVIF_IMAGE_SETTING_EXT202_INFO extension_struct;
 | |
| 
 | |
| } ONVIF_IMAGE_SETTING_EXT20_INFO;
 | |
| 
 | |
| typedef enum {
 | |
|     NAR_9_16,
 | |
|     NAR_2_3,
 | |
|     NAR_3_4,
 | |
|     NAR_1_1,
 | |
|     NAR_4_3,
 | |
|     NAR_3_2,
 | |
|     NAR_16_9,
 | |
| } NVT_ASPECT_RATIO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_SETTING_BACKLIGHTCOMPENSATION_INFO BacklightCompensation_struct;
 | |
|     float brightness_float;
 | |
|     float colorsaturation_float;
 | |
|     float contrast_float;
 | |
|     float sharpness_float;
 | |
|     float hue_float;
 | |
|     enum xsd__boolean  mirror_bool;
 | |
|     enum xsd__boolean  flip_bool;
 | |
|     enum tt__ColorMode color_int;
 | |
|     ONVIF_IMAGE_SETTING_EXPOSURE_INFO  exposure_struct;
 | |
|     ONVIF_IMAGE_SETTING_FOCUSCONFIGURATION_INFO focus_struct;
 | |
|     ONVIF_IMAGE_IRCUT_INFO ircutfilter_struct;
 | |
|     ONVIF_IMAGE_SETTING_WIDEDYNAMICRANGE_INFO   widedynamicRange_struct;
 | |
|     ONVIF_IMAGE_SETTING_WIDEDYNAMICRANGE_INFO   highdynamicRange_struct;
 | |
|     ONVIF_IMAGE_SETTING_WHITEBALANCE_INFO    whitebalance_struct;
 | |
|     ONVIF_IMAGE_SETTING_NOISEREDUCTION_INFO noisereduction_struct;
 | |
|     enum xsd__boolean  forcepersistence_bool;
 | |
|     ONVIF_IMAGE_SETTING_EXT20_INFO extension_struct;
 | |
|     NVT_ASPECT_RATIO aspect_ratio;
 | |
| }ONVIF_IMAGE_SETTING_INFO;
 | |
| 
 | |
| typedef enum
 | |
| {
 | |
|     ONVIF_MOVESTATUS_IDLE,
 | |
|     ONVIF_MOVESTATUS_MOVING,
 | |
|     ONVIF_MOVESTATUS_UNKNOWN
 | |
| } ONVIF_MOVESTATUS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     float position_float;
 | |
|     ONVIF_MOVESTATUS movestatus_int;
 | |
|     char error_pchar[64];
 | |
| } ONVIF_IMAGE_FOCUS_STATUS_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char toke_achar[MEDIA_TOKEN_MAX_LEN+1];
 | |
|     ONVIF_IMAGE_FOCUS_STATUS_INFO  FocusStatus;
 | |
| }ONVIF_IMAGE_STATUSDATA_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum xsd__boolean  used_int;
 | |
|     float min_float;
 | |
|     float max_float;
 | |
| } ONVIF_FLOAT_RANGE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|    ONVIF_FLOAT_RANGE position_struct;
 | |
|    ONVIF_FLOAT_RANGE speed_struct;
 | |
| } ONVIF_IMAGE_MOVEOPTIONS_ABSOLUTE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|    ONVIF_FLOAT_RANGE distance_struct;
 | |
|    ONVIF_FLOAT_RANGE speed_struct;
 | |
| }  ONVIF_IMAGE_MOVEOPTIONS_RELATIVE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|    ONVIF_FLOAT_RANGE speed_struct;
 | |
| } ONVIF_IMAGE_MOVEOPTIONS_CONTINUOUS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|    ONVIF_IMAGE_MOVEOPTIONS_ABSOLUTE   absolute_struct;
 | |
|    ONVIF_IMAGE_MOVEOPTIONS_RELATIVE   relative_struct;
 | |
|    ONVIF_IMAGE_MOVEOPTIONS_CONTINUOUS continuous_struct;
 | |
| }  ONVIF_IMAGE_MOVEOPTIONS20_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     int sizeofbacklightcompensation_int;
 | |
|     enum xsd__boolean  backlightcompensation_aint[IMAGE_SIZE_MAX_NUM];
 | |
|     ONVIF_FLOAT_RANGE lv_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_BACKLIGHTCOMPENSATION;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_EXPOSUREMODE mode_aint[ONVIF_IMAGE_EXPOSUREMODE_MAXNUM];
 | |
|     ONVIF_IMAGE_EXPOSUREPRIORITY priority_aint[ONVIF_IMAGE_EXPOSUREPRIORITY_MAXNUM];
 | |
|     ONVIF_FLOAT_RANGE maxexposuretime_struct;
 | |
|     ONVIF_FLOAT_RANGE minexposuretime_struct;
 | |
|     ONVIF_FLOAT_RANGE maxgain_struct;
 | |
|     ONVIF_FLOAT_RANGE mingain_struct;
 | |
|     ONVIF_FLOAT_RANGE maxiris_struct;
 | |
|     ONVIF_FLOAT_RANGE miniris_struct;
 | |
|     ONVIF_FLOAT_RANGE exposuretime_struct;
 | |
|     ONVIF_FLOAT_RANGE gain_struct;
 | |
|     ONVIF_FLOAT_RANGE iris_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_EXPOSURE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_AUTOFOCUSMODE autofocus_aint[ONVIF_IMAGE_AUTOFOCUSMODE_MAXNUM];
 | |
|     ONVIF_FLOAT_RANGE defaultspeed_struct;
 | |
|     ONVIF_FLOAT_RANGE nearlimit_struct;
 | |
|     ONVIF_FLOAT_RANGE farlimit_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_FOCUS;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     int sizeofwidedynamicmode_int;
 | |
|     enum xsd__boolean  widedynamicmode_aint[IMAGE_SIZE_MAX_NUM];
 | |
|     ONVIF_FLOAT_RANGE lv_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_WIDEDYNAMICRANGE;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_WHITEBALANCE mode_aint[ONVIF_IMAGE_WHITEBALANCE_MAXNUM];
 | |
|     ONVIF_FLOAT_RANGE yrgain_struct;
 | |
|     ONVIF_FLOAT_RANGE ybgain_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_WHITEBALANCE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_STABILIZATION_MODE mode_aint[ONVIF_IMAGE_STABILIZATION_MODE_MAXNUM];
 | |
|     ONVIF_FLOAT_RANGE lv_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_STABILIZATION;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_OPTIONS_STABILIZATION imagestabilization_struct;
 | |
| } ONVIF_IMAGE_OPTIONS_EXT;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_OPTIONS_BACKLIGHTCOMPENSATION backlight_struct;
 | |
|     ONVIF_FLOAT_RANGE brightness_struct;
 | |
|     ONVIF_FLOAT_RANGE colorsaturation_struct;
 | |
|     ONVIF_FLOAT_RANGE contrast_struct;
 | |
|     ONVIF_IMAGE_OPTIONS_EXPOSURE  exposure_struct;
 | |
|     ONVIF_IMAGE_OPTIONS_FOCUS   focus_struct;
 | |
|     ONVIF_IMAGE_IRCUTFILTERMODE ircutfiltermodes_aint[ONVIF_IMAGE_IRCUTFILTERMODE_MAXNUM];
 | |
|     ONVIF_FLOAT_RANGE sharpness_struct;
 | |
|     ONVIF_IMAGE_OPTIONS_WIDEDYNAMICRANGE  widedynamicrange_struct;
 | |
|     ONVIF_IMAGE_OPTIONS_WHITEBALANCE  whitebalance_struct;
 | |
|     ONVIF_IMAGE_OPTIONS_EXT ext_sturct;
 | |
| } ONVIF_IMAGE_OPTIONS_INFO ;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char token[64];
 | |
|     ONVIF_IMAGE_OPTIONS_INFO opts_struct;
 | |
| } ONVIF_IMAGE_OPTIONSDATA_INFO ;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|    char token[64];
 | |
|    ONVIF_IMAGE_MOVEOPTIONS20_INFO focus_struct;
 | |
| } ONVIF_IMAGE_MOVEOPTIONS20DATA_INFO ;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|    char token[64];
 | |
|    ONVIF_IMAGE_SETTING_INFO set_struct;
 | |
| } ONVIF_IMAGE_SETTINGDATA_INFO ;
 | |
| 
 | |
| 
 | |
| 
 | |
| #if 0
 | |
| typedef enum
 | |
| {
 | |
|     OnvifFocusMove_CmdType_Stop = 0,
 | |
|     OnvifFocusMove_CmdType_Absolute,
 | |
|     OnvifFocusMove_CmdType_Relative,
 | |
|     OnvifFocusMove_CmdType_Continuous
 | |
| } ONVIF_FOCUSMOVE_CMDTYPE;
 | |
| #endif
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     float position_float;
 | |
|     float speed_float;
 | |
| } ONVIF_FOCUSMOVE_ABSOLUTE_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     float distance_float;
 | |
|     float speed_float;
 | |
| } ONVIF_FOCUSMOVE_RELATIVE_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     float speed_float;
 | |
| } ONVIF_FOCUSMOVE_CONTINUOUS_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_FOCUSMOVE_ABSOLUTE_INFO   absolute_struct;        // Parameters for the absolute focus control, [0~1]
 | |
|     ONVIF_FOCUSMOVE_RELATIVE_INFO   relative_struct;        // Parameters for the relative focus control, [0~1]
 | |
|     ONVIF_FOCUSMOVE_CONTINUOUS_INFO continuous_struct;    // Parameter for the continuous focus control, [0~1]
 | |
| } ONVIF_FOCUSMOVE_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     char token_achar[64];
 | |
|     ONVIF_FOCUSMOVE_INFO focus_struct;
 | |
| } ONVIF_FOCUSMOVEDATA_INFO;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_IMAGE_SETTINGDATA_INFO ImageSettingInfo;
 | |
|     ONVIF_IMAGE_STATUSDATA_INFO  ImageStatusInfo;
 | |
|     ONVIF_IMAGE_MOVEOPTIONS20DATA_INFO ImageMoveOptions;
 | |
|     ONVIF_IMAGE_OPTIONSDATA_INFO ImageOptions;
 | |
|     ONVIF_FOCUSMOVEDATA_INFO     ImageFocusMove;
 | |
| }ONVIF_IMAGE_INFO;
 | |
| 
 | |
| //////////////////////////////////////////////////////////////
 | |
| //
 | |
| // TOTAL INFO
 | |
| //
 | |
| /////////////////////////////////////////////////////////////
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_VIDEO_SOURCE_CONFIG_OPTIONS        videoSourceConfigOptions;
 | |
|     ONVIF_VIDEO_SOURCE_CONFIG                videoSourceConfig[MEDIA_VIDEO_SOURCE_CONFIG_MAX_NUM];
 | |
|     ONVIF_VIDEO_SOURCE                       videoSource[MEDIA_VIDEO_SOURCE_MAX_NUM];
 | |
|     ONVIF_VIDEO_ENCODER_CONFIG_OPTIONS       videoEncoderConfigOptions;
 | |
|     ONVIF_VIDEO_ENCODER_CONFIG               videoEncoderConfig[MEDIA_VIDEO_ENCODER_CONFIG_MAX_NUM];
 | |
|     ONVIF_VIDEO_ENCODER_CONFIG               videoEncoderConfigExtra;
 | |
|     ONVIF_VIDEO_OUTPUT                       videoOutputConfig;
 | |
|     ONVIF_AUDIO_SOURCE_CONFIG_OPTIONS        audioSourceConfigOptions;
 | |
|     ONVIF_AUDIO_SOURCE_CONFIG                audioSourceConfig[MEDIA_AUDIO_SOURCE_CONFIG_MAX_NUM];
 | |
|     ONVIF_AUDIO_SOURCE                       audioSource[MEDIA_AUDIO_SOURCE_MAX_NUM];
 | |
|     ONVIF_AUDIO_ENCODER_CONFIG_OPTIONS       audioEncoderConfigOptions[MEDIA_AUDIO_ENCODER_CONFIG_OPTIONS_MAX_NUM];
 | |
|     ONVIF_AUDIO_ENCODER_CONFIG               audioEncoderConfig[MEDIA_AUDIO_ENCODER_CONFIG_MAX_NUM];
 | |
|     ONVIF_AUDIO_OUTPUT_CONFIG_OPTIONS        audioOutputConfigOptions;
 | |
|     ONVIF_AUDIO_OUTPUT_CONFIG                audioOutputConfig[MEDIA_AUDIO_OUTPUT_CONFIG_MAX_NUM];
 | |
|     ONVIF_AUDIO_OUTPUT                       audioOutput[MEDIA_AUDIO_OUTPUT_MAX_NUM];
 | |
|     ONVIF_PTZ_CONFIG_OPTIONS                 ptzConfigOptions;
 | |
|     ONVIF_PTZ_CONFIG                         ptzConfig[MEDIA_PTZ_CONFIG_MAX_NUM];
 | |
|     ONVIF_METADATA_CONFIG                    metadataConfig[MEDIA_METADATA_CONFIG_MAX_NUM];
 | |
|     ONVIF_MEDIA_PROFILE                      mediaProfile[MEDIA_PROFILE_MAX_NUM];
 | |
|     OSD_CONFIG                               osdConfig[OSD_MAX_CHANNEL];
 | |
|     char                                     currentProfiletoken_achar[MEDIA_TOKEN_MAX_LEN+1];
 | |
| }ONVIF_MEDIA_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     enum tt__DataTimeType     dateTimeType;
 | |
|     enum tt__NTPUpdateCycle   NTPUpdateCycle;
 | |
|     enum xsd__boolean         daylightSavings;
 | |
|     char                      timeZone[64];
 | |
|     char                      dayLightSavingInfo[64];
 | |
| }ONVIF_DATETIME_INFO;
 | |
| 
 | |
| typedef enum _EVENT_ENABLE {EE_DISABLE, EE_ENABLE}EVENT_ENABLE;
 | |
| typedef enum _RECORD_ENABLE {RE_DISABLE, RE_ENABLE}RECORD_ENABLE;
 | |
| typedef enum _EVENT_ALARM_OUTPUT_CFG{EAOC_OPEN, EAOC_GROUND}EVENT_ALARM_OUTPUT_CFG;
 | |
| typedef enum _EVENT_ALARM_INPUT_CFG{EAIC_HIGH, EAIC_LOW}EVENT_ALARM_INPUT_CFG;
 | |
| 
 | |
| #define BUF_MAX_NAME_SIZE 128
 | |
| #define RECV_MAX_SIZE 256
 | |
| #define EVT_FTP_BUF_SIZE_128 128
 | |
| #define BUF_ALARM_CFG_SIZE 64
 | |
| #define EVT_SMTP_BUF_SIZE_128 128
 | |
| #define EVT_SD_BUF_SIZE_128 128
 | |
| #define EVT_HTTP_BUF_SIZE_128 128
 | |
| #define EVT_ISCSI_BUF_SIZE_128 128
 | |
| #define EVT_MAX_EVENT_NUM 5
 | |
| #define EVT_MAX_FTP_NUM 3
 | |
| #define EVT_MAX_SMTP_NUM 3
 | |
| #define EVT_MAX_SD_NUM 3
 | |
| #define EVT_MAX_HTTP_NUM 3
 | |
| #define EVT_MAX_ISCSI_NUM 1
 | |
| /*
 | |
| alarm input : ES_HIGH, ES_LOW
 | |
| motion      : ES_NO_TRIGGER, ES_TRIGGER
 | |
| network loss: ES_NETWORK_LOSS , ES_NETWORK_NORMAL
 | |
| */
 | |
| typedef enum {ES_HIGH, ES_LOW ,ES_NO_TRIGGER, ES_TRIGGER, ES_NETWORK_LOSS, ES_NETWORK_NORMAL, ES_ERROR} EVT_STATUS;
 | |
| typedef enum {CC_DI0, CC_MD0, CC_NL0, CC_SYNC, CC_PULL_CMD, CC_ERROR} CURRENT_CHANGE;
 | |
| 
 | |
| typedef enum {MD_TYPE, DI_TYPE, NL_TYPE } EVENT_TYPE;  //motion detection type, digital input type, network loss type
 | |
| 
 | |
| typedef enum {ALL_EVENT, MD_EVENT, DI_EVENT, NL_EVENT} REGISTER_TYPE;
 | |
| 
 | |
| typedef enum {AOS_GROUNDED, AOS_OPEN}ALARM_OUTPUT_STATUS;
 | |
| 
 | |
| typedef enum {
 | |
| 
 | |
|     EVENT_ER_OK               = 0, // ok
 | |
|     EVENT_ER_GRR              = -1, //general error
 | |
|     EVENT_ER_TIME_OUT         = -2,   // time out
 | |
|     EVENT_ER_NAME_ERROR       = -3,    //name exist or name error
 | |
|     EVENT_ER_LIMITATION_ERROR = -4   ////out of limitation
 | |
| }EVENT_ER;
 | |
| 
 | |
| 
 | |
| typedef struct _EVENT_INFO{
 | |
| 
 | |
|     ///CC_DI0: notify cmd,is DI0 changed      CC_MD0: notify cmd,is MD0 change CC_NL0: notify cmd, is NL0 changed   CC_PULL_CMD: is pull cmd
 | |
|     CURRENT_CHANGE current_changed;
 | |
|     EVT_STATUS DI0;//digital input
 | |
|     EVT_STATUS MD0;//motion detect
 | |
|     EVT_STATUS NL0;//network loss
 | |
| 
 | |
| }EVENT_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct _EVENT_CFG{
 | |
| 
 | |
|     int enable;
 | |
|     char name[BUF_MAX_NAME_SIZE];
 | |
|     int schedule_always;
 | |
|     int schedule[7];//for Monday ~Sunday, using 24 bits to set 24 hours
 | |
|     EVENT_TYPE event_type;
 | |
|     int action_type;   //first bit:FTP  second bit:SMTP  third bit: HTTP 4th bit: SD card  5th:DIgital output 6th: ISCSI  value:0~63
 | |
|     int triggered;  // 0: no trigger   1: trigger
 | |
|     time_t trigger_time; ///the time when last event trigger
 | |
|     int delay_time; // the event interval time
 | |
|     char ftp_name[BUF_MAX_NAME_SIZE]; //ftp name
 | |
|     char smtp_name[BUF_MAX_NAME_SIZE]; //SMTP name
 | |
|     char http_name[BUF_MAX_NAME_SIZE]; //HTTP name
 | |
|     char iscsi_name[BUF_MAX_NAME_SIZE]; //ISCSI name
 | |
|     char sd_name[BUF_MAX_NAME_SIZE]; //SD card name
 | |
|     char action[BUF_MAX_NAME_SIZE]; //value: log, snapshot, video
 | |
|     int video_presecond; // if action == "video", set presecond  vaule:0~10 sec
 | |
|     int video_postsecond; // if action == "video", set postsecond  value: 1~30 sec
 | |
| 
 | |
| } EVENT_CFG;
 | |
| 
 | |
| typedef struct _MOTION_CFG{
 | |
| 
 | |
| 
 | |
|     char level[RECV_MAX_SIZE]; //value: "High,9,8,7,6,5,4,3,2,1,Low"
 | |
|     char wnd[RECV_MAX_SIZE]; //value: "0~65535,0~65535,0~65535,0~65535,0~65535,0~65535,0~65535,0~65535,0~65535,0~65535,0~65535,0~65535"
 | |
|     char enable[RECV_MAX_SIZE]; //value:"on"  or "off"
 | |
| 
 | |
| }MOTION_CFG;
 | |
| 
 | |
| typedef struct _EVENT_FTP_CFG{
 | |
| 
 | |
|     char ftp_name[EVT_FTP_BUF_SIZE_128];
 | |
|     int port;
 | |
|     char ftp_addr[EVT_FTP_BUF_SIZE_128];
 | |
|     char user_name[EVT_FTP_BUF_SIZE_128];
 | |
|     char password[EVT_FTP_BUF_SIZE_128];
 | |
|     char folder_name[EVT_FTP_BUF_SIZE_128];
 | |
| }EVENT_FTP_CFG;
 | |
| 
 | |
| typedef struct _EVENT_ALARMINPUT_CFG{
 | |
| 
 | |
|     char enable[BUF_ALARM_CFG_SIZE];//value :"on" or "off"  , now not using this parameter
 | |
|     char cfg[BUF_ALARM_CFG_SIZE];//value : "HIGH" or "LOW"
 | |
| 
 | |
| }EVENT_ALARMINPUT_CFG;
 | |
| 
 | |
| typedef struct _EVENT_SMTP_CFG{
 | |
| 
 | |
|     char smtp_name[EVT_SMTP_BUF_SIZE_128];
 | |
|     int server_port;
 | |
|     char sender_addr[EVT_SMTP_BUF_SIZE_128];
 | |
|     char recipient_addr[EVT_SMTP_BUF_SIZE_128];
 | |
|     char server_addr[EVT_SMTP_BUF_SIZE_128];
 | |
|     char user_name[EVT_SMTP_BUF_SIZE_128];
 | |
|     char password[EVT_SMTP_BUF_SIZE_128];
 | |
|     int ssl;//0 : STARTTLS   1: SSL
 | |
| 
 | |
| }EVENT_SMTP_CFG;
 | |
| 
 | |
| 
 | |
| typedef struct _EVENT_SD_CFG{
 | |
| 
 | |
|     char sd_name[EVT_SD_BUF_SIZE_128];
 | |
|     char sd_path[EVT_SD_BUF_SIZE_128];
 | |
| 
 | |
| }EVENT_SD_CFG;
 | |
| 
 | |
| typedef struct _EVENT_HTTP_CFG{
 | |
| 
 | |
|     char http_name[EVT_HTTP_BUF_SIZE_128];
 | |
|     char http_url[EVT_HTTP_BUF_SIZE_128];
 | |
|     char http_user[EVT_HTTP_BUF_SIZE_128];
 | |
|     char http_password[EVT_HTTP_BUF_SIZE_128];
 | |
| 
 | |
| }EVENT_HTTP_CFG;
 | |
| 
 | |
| typedef struct _EVENT_ISCSI_CFG{
 | |
| 
 | |
|     char iscsi_name[EVT_ISCSI_BUF_SIZE_128];
 | |
|     char iscsi_ip[EVT_ISCSI_BUF_SIZE_128];
 | |
|     char iscsi_target_name[EVT_ISCSI_BUF_SIZE_128];
 | |
|     char iscsi_user[EVT_ISCSI_BUF_SIZE_128];
 | |
|     char iscsi_password[EVT_ISCSI_BUF_SIZE_128];
 | |
|     int  iscsi_bmount;////0:not mount on ip cam   1: mount on ip cam
 | |
| }EVENT_ISCSI_CFG;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     EVENT_ENABLE MD0_enable;
 | |
|     char MD0_level[32];
 | |
|     char MD0_wnd[256];
 | |
|     EVENT_ALARM_OUTPUT_CFG DO0_CFG;
 | |
|     EVENT_ALARM_INPUT_CFG DI0_CFG;
 | |
|     EVENT_ENABLE DI0_enable;
 | |
| }ONVIF_DETECTION_INFO;
 | |
| 
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     EVENT_CFG event_list[EVT_MAX_EVENT_NUM];
 | |
|     int event_list_num;
 | |
|     EVENT_SMTP_CFG smtp_list[EVT_MAX_SMTP_NUM];
 | |
|     int smtp_list_num;
 | |
|     EVENT_SD_CFG sd_list[EVT_MAX_SD_NUM];
 | |
|     int sd_list_num;
 | |
|     EVENT_HTTP_CFG http_list[EVT_MAX_HTTP_NUM];
 | |
|     int http_list_num;
 | |
|     EVENT_ISCSI_CFG iscsi_list[EVT_MAX_ISCSI_NUM];
 | |
|     int iscsi_list_num;
 | |
|     EVENT_FTP_CFG ftp_list[EVT_MAX_FTP_NUM];
 | |
|     int ftp_list_num;
 | |
| }ONVIF_EVENT_CONFIG;
 | |
| 
 | |
| typedef enum { NRT_SD_CARD, NRT_ISCSI} NVT_RECORD_TYPE;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     RECORD_ENABLE enable;
 | |
|     RECORD_ENABLE schedule_always;
 | |
|     int schedule[7];////for Monday ~Sunday, using 24 bits to set 24 hours
 | |
|     int video_len;
 | |
|     NVT_RECORD_TYPE record_type;
 | |
|     char sd_name[128];
 | |
|     char iscsi_name[128];
 | |
| }ONVIF_RECORD_CONFIG;
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|     ONVIF_DEVICE_INFO       deviceInfo;
 | |
|     ONVIF_USER              userList[USER_MAX_NUM];
 | |
|     ONVIF_NETWORK_INFO      networkInfo;
 | |
|     ONVIF_DEVICE_DISCOVERY  deviceDiscovery;
 | |
|     ONVIF_EVENT_INFO        eventInfo[EVENT_MAX_NUM];
 | |
|     ONVIF_MEDIA_INFO        mediaInfo;
 | |
|     ONVIF_STREAM_INFO       streamInfo;
 | |
|     ONVIF_PTZ_INFO          ptzInfo;
 | |
|     ONVIF_IMAGE_INFO        imageInfo;
 | |
|     ONVIF_DATETIME_INFO     datetimeInfo;
 | |
|     ONVIF_DETECTION_INFO    detectionInfo;
 | |
|     ONVIF_EVENT_CONFIG      eventConfig;
 | |
|     ONVIF_RECORD_CONFIG     recordConfig;
 | |
| }ONVIF_INFO;
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| /* ----------------------------------------------------------------- */
 | |
| #endif /* _NVTDEVINFO_DEFINE_H  */
 | 
