Advertisement
Treyzania

Shitty header for chinese camera software

May 1st, 2017
697
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 116.05 KB | None | 0 0
  1. #ifndef NETMODULE_H
  2. #define NETMODULE_H
  3.  
  4. #ifdef WIN32
  5.  
  6. #ifdef NETMODULE_EXPORTS
  7. #define H264_DVR_API  extern "C" __declspec(dllexport)
  8. #else
  9. #define H264_DVR_API  extern "C" __declspec(dllimport)   //VC ÓÃ
  10. #endif
  11.  
  12. #ifndef CALL_METHOD
  13. #define CALL_METHOD __stdcall  //__cdecl
  14. #endif
  15.  
  16. #else   //linux
  17. #define H264_DVR_API    extern "C"
  18. #define CALL_METHOD
  19. #define CALLBACK
  20. #define WORD    unsigned short
  21. #define DWORD   unsigned long
  22. #define LPDWORD DWORD*
  23. #define BOOL    int
  24. #define TRUE    1
  25. #define FALSE   0
  26. #define BYTE    unsigned char
  27. #define LONG    long
  28. #define UINT    unsigned int
  29. #define HDC     void*
  30. #define HWND    void*
  31. #define LPVOID  void*
  32. //#define NULL  0
  33. #define LPCSTR  char*
  34. #define LPCTSTR  const char*
  35. #endif
  36.  
  37.  
  38. enum SDK_RET_CODE
  39. {  
  40.     H264_DVR_NOERROR                    = 0,                    //ûÓÐŽíÎó
  41.     H264_DVR_SUCCESS                    = 1,                    //·µ»Ø³É¹Š
  42.     H264_DVR_SDK_NOTVALID           = -10000,               //·Ç·šÇëÇó
  43.     H264_DVR_NO_INIT                    = -10001,               //SDKÎŽŸ­³õÊŒ»¯
  44.     H264_DVR_ILLEGAL_PARAM          = -10002,           //Óû§²ÎÊý²»ºÏ·š
  45.     H264_DVR_INVALID_HANDLE         = -10003,           //Ÿä±úÎÞЧ
  46.     H264_DVR_SDK_UNINIT_ERROR       = -10004,           //SDKÇåÀí³öŽí
  47.     H264_DVR_SDK_TIMEOUT                = -10005,           //µÈŽý³¬Ê±
  48.     H264_DVR_SDK_MEMORY_ERROR       = -10006,           //ÄÚŽæŽíÎ󣬎ŽœšÄÚŽæʧ°Ü
  49.     H264_DVR_SDK_NET_ERROR          = -10007,           //ÍøÂçŽíÎó
  50.     H264_DVR_SDK_OPEN_FILE_ERROR        = -10008,           //Žò¿ªÎÄŒþʧ°Ü
  51.     H264_DVR_SDK_UNKNOWNERROR       = -10009,           //ÎŽÖªŽíÎó
  52.     H264_DVR_DEV_VER_NOMATCH            = -11000,           //ÊÕµœÊýŸÝ²»ÕýÈ·£¬¿ÉÄܰ江²»Æ¥Åä
  53.     H264_DVR_SDK_NOTSUPPORT         = -11001,           //°æ±Ÿ²»Ö§³Ö
  54.  
  55.     H264_DVR_OPEN_CHANNEL_ERROR     = -11200,           //Žò¿ªÍšµÀʧ°Ü
  56.     H264_DVR_CLOSE_CHANNEL_ERROR        = -11201,           //¹Ø±ÕÍšµÀʧ°Ü
  57.     H264_DVR_SUB_CONNECT_ERROR      = -11202,           //œšÁ¢ÃœÌå×ÓÁ¬œÓʧ°Ü
  58.     H264_DVR_SUB_CONNECT_SEND_ERROR = -11203,           //ÃœÌå×ÓÁ¬œÓ͚Ѷʧ°Ü
  59.     H264_DVR_NATCONNET_REACHED_MAX  = -11204,           //NatÊÓƵÁŽœÓŽïµœ×îŽó£¬²»ÔÊÐíеÄNatÊÓƵÁŽœÓ
  60.  
  61.    
  62.  
  63.     /// Óû§¹ÜÀí²¿·ÖŽíÎóÂë
  64.     H264_DVR_NOPOWER                    = -11300,           //ÎÞÈšÏÞ
  65.     H264_DVR_PASSWORD_NOT_VALID     = -11301,           // Õ˺ÅÃÜÂë²»¶Ô
  66.     H264_DVR_LOGIN_USER_NOEXIST     = -11302,           //Óû§²»ŽæÔÚ
  67.     H264_DVR_USER_LOCKED                = -11303,           // žÃÓû§±»Ëø¶š
  68.     H264_DVR_USER_IN_BLACKLIST      = -11304,           // žÃÓû§²»ÔÊÐí·ÃÎÊ(ÔÚºÚÃûµ¥ÖÐ)
  69.     H264_DVR_USER_HAS_USED          = -11305,           // žÃÓû§ÒÔµÇÂœ
  70.     H264_DVR_USER_NOT_LOGIN         = -11306,           // žÃÓû§Ã»ÓеÇÂœ
  71.     H264_DVR_CONNECT_DEVICE_ERROR    = -11307,          //¿ÉÄÜÉ豞²»ŽæÔÚ
  72.     H264_DVR_ACCOUNT_INPUT_NOT_VALID = -11308,          //Óû§¹ÜÀíÊäÈë²»ºÏ·š
  73.     H264_DVR_ACCOUNT_OVERLAP            = -11309,           //Ë÷ÒýÖØžŽ
  74.     H264_DVR_ACCOUNT_OBJECT_NONE        = -11310,           //²»ŽæÔÚ¶ÔÏó, ÓÃÓÚ²éѯʱ
  75.     H264_DVR_ACCOUNT_OBJECT_NOT_VALID= -11311,          //²»ŽæÔÚ¶ÔÏó
  76.     H264_DVR_ACCOUNT_OBJECT_IN_USE  = -11312,           //¶ÔÏóÕýÔÚʹÓÃ
  77.     H264_DVR_ACCOUNT_SUBSET_OVERLAP = -11313,           //×ÓŒ¯³¬·¶Î§ (Èç×éµÄÈšÏÞ³¬¹ýÈšÏÞ±í£¬Óû§ÈšÏÞ³¬³ö×éµÄÈšÏÞ·¶Î§µÈµÈ)
  78.     H264_DVR_ACCOUNT_PWD_NOT_VALID  = -11314,           //ÃÜÂë²»ÕýÈ·
  79.     H264_DVR_ACCOUNT_PWD_NOT_MATCH  = -11315,           //ÃÜÂ벻ƥÅä
  80.     H264_DVR_ACCOUNT_RESERVED       = -11316,           //±£ÁôÕʺÅ
  81.  
  82.  
  83.     /// ÅäÖùÜÀíÏà¹ØŽíÎóÂë
  84.    
  85.     H264_DVR_OPT_RESTART                = -11400,           // ±£ŽæÅäÖúóÐèÒªÖØÆôÓŠÓóÌÐò
  86.     H264_DVR_OPT_REBOOT             = -11401,           // ÐèÒªÖØÆôϵͳ
  87.     H264_DVR_OPT_FILE_ERROR         = -11402,           // ÐŽÎÄŒþ³öŽí
  88.     H264_DVR_OPT_CAPS_ERROR         = -11403,           // ÅäÖÃÌØÐÔ²»Ö§³Ö
  89.     H264_DVR_OPT_VALIDATE_ERROR     = -11404,           // ÅäÖÃУÑéʧ°Ü
  90.     H264_DVR_OPT_CONFIG_NOT_EXIST   = -11405,           // ÇëÇó»òÕßÉèÖõÄÅäÖò»ŽæÔÚ
  91.    
  92.     ///
  93.  
  94.     H264_DVR_CTRL_PAUSE_ERROR       = -11500,           //ÔÝͣʧ°Ü
  95.     H264_DVR_SDK_NOTFOUND           = -11501,           //²éÕÒʧ°Ü£¬Ã»ÓÐÕÒµœ¶ÔÓŠÎÄŒþ
  96.     H264_DVR_CFG_NOT_ENABLE         = -11502,           //ÅäÖÃÎŽÆôÓÃ
  97.  
  98.     H264_DVR_DECORD_FAIL            = -11503,           //ÅäÖÃÎŽÆôÓÃ
  99.  
  100.     //DNSЭÒéœâÎö·µ»ØŽíÎóÂë
  101.     H264_DVR_SOCKET_ERROR             = -11600,         //ŽŽœšÌלÚ×Öʧ°Ü
  102.     H264_DVR_SOCKET_CONNECT           = -11601,         //Á¬œÓÌלÚ×Öʧ°Ü
  103.     H264_DVR_SOCKET_DOMAIN            = -11602,         //ÓòÃûœâÎöʧ°Ü
  104.     H264_DVR_SOCKET_SEND              = -11603,         //·¢ËÍÊýŸÝʧ°Ü
  105.     H264_DVR_ARSP_NO_DEVICE           = -11604,         //ûÓлñÈ¡µœÉ豞ÐÅÏ¢£¬É豞ӊžÃ²»ÔÚÏß
  106.     H264_DVR_ARSP_BUSING              = -11605,         //ARSP·þÎñ·±ÃŠ
  107.     H264_DVR_ARSP_BUSING_SELECT       = -11606,         //ARSP·þÎñ·±ÃŠ,selectʧ°Ü
  108.     H264_DVR_ARSP_BUSING_RECVICE      = -11607,         //ARSP·þÎñ·±ÃŠ,recviceʧ°Ü
  109.     H264_DVR_CONNECTSERVER_ERROR      = -11608,        //Á¬œÓ·þÎñÆ÷ʧ°Ü
  110.  
  111. };
  112.  
  113.  
  114. //ÔÆÌš²Ù×÷ÀàÐÍ
  115. enum PTZ_ControlType
  116. {
  117.     TILT_UP = 0,            //ÔÆÌš×ó
  118.     TILT_DOWN,              //ÓÒ
  119.     PAN_LEFT,               //ÉÏ
  120.     PAN_RIGHT,              //ÏÂ
  121.     PAN_LEFTTOP,            //×óÉÏ
  122.     PAN_LEFTDOWN,           //×óÏÂ
  123.     PAN_RIGTHTOP,           //ÓÒÉÏ
  124.     PAN_RIGTHDOWN,          //ÓÒÏÂ
  125.     ZOOM_OUT,               //±ä±¶Ð¡
  126.     ZOOM_IN,                //±ä±¶Žó
  127.     FOCUS_FAR,              //œ¹µãºóµ÷
  128.     FOCUS_NEAR,             //œ¹µãÇ°µ÷
  129.     IRIS_OPEN,              //¹âÈŠÀ©Žó
  130.     IRIS_CLOSE,             //¹âÈŠËõС
  131.  
  132.     EXTPTZ_OPERATION_ALARM,         ///< ±šŸ¯¹ŠÄÜ
  133.     EXTPTZ_LAMP_ON,                 ///< µÆ¹â¿ª
  134.     EXTPTZ_LAMP_OFF,                //µÆ¹â¹Ø
  135.     EXTPTZ_POINT_SET_CONTROL,           //ÉèÖÃÔ€Öõã
  136.     EXTPTZ_POINT_DEL_CONTROL,           //Çå³ýÔ€Öõã
  137.     EXTPTZ_POINT_MOVE_CONTROL,          //תԀÖõã
  138.     EXTPTZ_STARTPANCRUISE,          //¿ªÊŒË®ÆœÐýת         
  139.     EXTPTZ_STOPPANCRUISE,           //ֹͣˮƜÐýת 
  140.     EXTPTZ_SETLEFTBORDER,           //ÉèÖÃ×ó±ßœç     
  141.     EXTPTZ_SETRIGHTBORDER,          //ÉèÖÃÓұߜç 
  142.     EXTPTZ_STARTLINESCAN,           //×Ô¶¯ÉšÃ迪ʌ
  143.     EXTPTZ_CLOSELINESCAN,           //×Ô¶¯ÉšÃ迪ֹͣ
  144.     EXTPTZ_ADDTOLOOP,               //ŒÓÈëÔ€Öõ㵜Ѳºœ p1ѲºœÏß·  p2Ô€ÖõãÖµ
  145.     EXTPTZ_DELFROMLOOP,             //ÉŸ³ýѲºœÖÐÔ€Öõã p1ѲºœÏß·  p2Ô€ÖõãÖµ
  146.     EXTPTZ_POINT_LOOP_CONTROL,          //¿ªÊŒÑ²ºœ
  147.     EXTPTZ_POINT_STOP_LOOP_CONTROL, //ֹͣѲºœ
  148.     EXTPTZ_CLOSELOOP,               //Çå³ýѲºœ  p1ѲºœÏß·     
  149.     EXTPTZ_FASTGOTO,                //¿ìËÙ¶šÎ» 
  150.     EXTPTZ_AUXIOPEN,                //žšÖú¿ª¹Ø£¬¹Ø±ÕÔÚ×ÓÃüÁîÖÐ//param1 ²ÎŒûSDK_PtzAuxStatus£¬param2Ž«ÈëŸßÌåÊýÖµ
  151.     EXTPTZ_OPERATION_MENU,              //Çò»ú²Ëµ¥²Ù×÷£¬ÆäÖаüÀš¿ª£¬¹Ø£¬È·¶šµÈµÈ
  152.     EXTPTZ_REVERSECOMM,             //ŸµÍ··­×ª
  153.     EXTPTZ_OPERATION_RESET,         ///< ÔÆÌšžŽÎ»
  154.  
  155.     EXTPTZ_TOTAL,
  156. };
  157. /// ÔÆÌšžšÖú¹ŠÄÜ
  158. enum SDK_PtzAuxStatus
  159. {
  160.     EXTPTZ_AUX_ON,      ///< ¿ª
  161.     EXTPTZ_AUX_OFF, ///< ¹Ø
  162.     EXTPTZ_AUX_NR,     
  163. };
  164.  
  165. #define PAN_AUTO        29  /* ÔÆÌšÒÔSSµÄËÙ¶È×óÓÒ×Ô¶¯ÉšÃè */
  166. #define EXTPTZ_FASTGOTO 30  //Èýά¶šÎ»
  167.  
  168.  
  169. #define NET_MAX_CHANNUM             32          //×îŽóÍšµÀžöÊý
  170. #define NET_DECORDR_CH              16          //×îŽóœâÂëÍšµÀžöÊý
  171. #define NET_MAX_USER_NUM            60          //×î¶àÓû§Êý
  172. #define NET_MAX_RIGTH_NUM           128         //×î¶àÈšÏÞÊý
  173. #define NET_MAX_GROUP_NUM           50          //×î¶à×éÊý
  174. #define NET_MAX_USER_LENGTH         32          //Óû§ÃûÃÜÂë×îŽó³€¶È
  175. #define NET_MAX_COMBINE_NUM         2           //×îŽó×éºÏ±àÂëÍšµÀÊý
  176. #define NET_MAX_DECORDR_CH          32          //×îŽóœâÂëÍšµÀžöÊý 
  177.  
  178. #define NET_MAX_DDNS_TYPE           5           //Ö§³ÖµÄDDNSÖÖÀà
  179. #define NET_MAX_ARSP_TYPE           5
  180. #define NET_MAX_ALARMSERVER_TYPE    5           //Ö§³Ö±šŸ¯ÖÐÐÄÖÖÀà
  181. #define NET_MAX_SYSFUNC             20          //×î¶àϵͳ¹ŠÄÜžöÊý
  182. #define NET_MAX_PTZ_PROTOCOL_LENGTH 32          //ÔÆ̚ЭÒéÃû³Æ×îŽó³€¶È
  183. #define NET_N_WEEKS                 7           //ÐÇÆÚÊý
  184. #define NET_N_TSECT                 6           //ʱŒä¶ÎÊý
  185. #define NET_MD_REGION_ROW           32          //¶¯Ì¬Œì²âÇøÓòÐÐÊý
  186. #define NET_COVERNUM                8            //ž²žÇÇøÓòÊý
  187. #define NET_MAX_FILTERIP_NUM        64          //IPµØÖ·×îŽó¹ýÂËÊý
  188. #define NET_NAME_PASSWORD_LEN       64          //Óû§ÃûÃÜÂë×îŽó³€¶È
  189. #define NET_MAX_PATH_LENGTH         260         //·Ÿ¶³€¶È
  190. #define NET_N_MIN_TSECT             2
  191. #define NET_MAX_RETURNED_LOGLIST    128         //×î¶àÈÕÖŸÌõÊý
  192. #define NET_MAX_MAC_LEN             32          //MACµØÖ·×Ö·û×îŽó³€¶È
  193. #define NET_IW_ENCODING_TOKEN_MAX   128
  194. #define NET_MAX_AP_NUMBER           32          //SID×îŽóÊýÁ¿£¬Ôݶš10
  195. #define NET_MAX_INFO_LEN            128
  196. #define NET_MAX_USERNAME_LENGTH     128
  197. #define NET_MAX_SERIALNO_LENGTH     128          //×îŽóœâÂëÍšµÀžöÊý
  198.  
  199.  
  200. //DDNS²ÎÊý
  201. #define DDNS_MAX_DDNS_NAMELEN 64  //Ö÷»úÃû³€¶È
  202. #define DDNS_MAX_DDNS_PWDLEN 32   //ÃÜÂë³€¶È
  203. #define DDNS_MAX_DDNS_IPSIZE 64   //IPµØÖ·³€¶È
  204. #define DDNS_MAX_DDNS_IDSIZE 32   //É豞±êʶ³€¶È
  205. #define DDNS_MAX_SERIALINFO_SIZE 16 //ÐòÁкÅÒÔŒ°Óû§Ãû³€¶È
  206.  
  207.  
  208.  
  209. //ÉãÏó»ú²ÎÊý
  210. #define CAMERAPARA_MAXNUM  16    //ÆعâÄÜÁŠÖÐÄ¿Ç°×îŽó³€¶È
  211. //¶ÌÐÅ×îŽóÊýÁ¿
  212. #define MAX_RECIVE_MSG_PHONE_COUNT 3    ///<×îŽó·¢Éú¶ÌÐÅÊýÁ¿
  213.  
  214. //VGA·Ö±æÂÊ
  215. #define VGA_MAXNUM     32       //·Ö±æÂÊ ÖÖÀà
  216. #define VGA_NAME_LENGTH 10      //·Ö±æÂÊ ³€¶È           
  217.  
  218. //#define  MAX_HVR_CHNCAP       16
  219. //DDNS·þÎñÆ÷É豞µÄÐÅÏ¢
  220. typedef struct _DDNS_INFO
  221. {
  222.     char ID[64];    //É豞±êʶ
  223.     char Alias[DDNS_MAX_DDNS_NAMELEN];
  224.     char IP[DDNS_MAX_DDNS_IPSIZE];   //ÍâÍøIP
  225.     char LanIP[DDNS_MAX_DDNS_IPSIZE];//ÄÚÍøIP
  226.     int WebPort; //Web¶Ë¿Ú,ĬÈÏΪ80
  227.     int MediaPort; //ÃœÌå¶Ë¿Ú,ĬÈÏΪ34567
  228.     int MobilePort;  //ÊÖ»úŒà¿Ø¶Ë¿Ú£¬Ä¬ÈÏΪ34599
  229.     int UPNPWebPort;  //UPNPÆô¶¯ÏÂWeb¶Ë¿Ú,UPNP²»¿ªÆôΪ0
  230.     int UPNPMediaPort; //UPNPÆô¶¯ÏÂÃœÌå¶Ë¿Ú,UPNP²»¿ªÆôΪ0
  231.     int UPNPMobilePort; //UPNPÆô¶¯ÏÂÊÖ»úŒà¿Ø¶Ë¿Ú,UPNP²»¿ªÆôΪ0
  232.     int ChannelNum; //ÍšµÀÊý
  233.     int Status; //׎̬
  234.     char Username[DDNS_MAX_DDNS_NAMELEN]; //Óû§Ãû
  235.     char Password[DDNS_MAX_DDNS_PWDLEN]; //ÃÜÂë
  236. }DDNS_INFO,*pDDNS_INFO;
  237.  
  238. //DDNSÐÅÏ¢²éѯģʜ
  239. typedef struct _SearchMode
  240. {
  241.     int  nType;        //²éѯÀàÐÍ£¬ŒûSearchModeType
  242.     char szSerIP[DDNS_MAX_DDNS_IPSIZE];//·þÎñÆ÷µØÖ·
  243.     int nSerPort;           //·þÎñÆ÷¶Ë¿ÚºÅ
  244.     char szSerialInfo[DDNS_MAX_SERIALINFO_SIZE];  //Èç¹ûÊÇ°ŽÐòÁкţ¬ÔòΪÐòÁкţ¬Èç¹ûÊÇÓû§Ãû£¬ÔòΪÓû§Ãû
  245.     char szPassWord[DDNS_MAX_DDNS_PWDLEN]; //°ŽÓû§ÃûµÇœʱºòµÄÃÜÂë
  246.  
  247. }SearchMode;
  248.  
  249. //DDNSÐÅÏ¢²éѯÀàÐÍ
  250. enum SearchModeType
  251. {
  252.     DDNS_SERIAL = 0,//°ŽÐòÁкÅ
  253.     DDNS_USERNAME,  //°ŽÓû§Ãû
  254. };
  255. //ʵʱԀÀÀÀ©Õ¹œÓ¿ÚÔöŒÓµÄ²ÎÊý£ºÔ€ÀÀÀàÐÍ
  256. typedef enum _H264_DVR_RealPlayType
  257. {
  258.     NET_RType_Realplay = 0, //ʵʱԀÀÀ
  259.     NET_RType_Main_Realplay2,   //ʵʱŒàÊÓ-Ö÷ÂëÁ÷£¬µÈͬÓÚNET_RType_Realplay
  260.     NET_RType_Main_Realplay3,
  261.     NET_RType_Sub_Realplay_1,   //ʵʱŒàÊÓ-ŽÓÂëÁ÷1
  262.     NET_RType_Sub_Realplay_2,   //ʵʱŒàÊÓ-ŽÓÂëÁ÷2
  263.     NET_RType_Sub_Realplay_3,   //ʵʱŒàÊÓ-ŽÓÂëÁ÷3
  264.  
  265.     NET_RType_Multiplay_1,  //¶à»­ÃæÔ€ÀÀ£­1»­Ãæ
  266.     NET_RType_Multiplay_4,  //¶à»­ÃæÔ€ÀÀ£­4»­Ãæ
  267.     NET_RType_Multiplay_6,  //¶à»­ÃæÔ€ÀÀ£­6»­Ãæ
  268.     NET_RType_Multiplay_8,  //¶à»­ÃæÔ€ÀÀ£­8»­Ãæ
  269.     NET_RType_Multiplay_9,  //¶à»­ÃæÔ€ÀÀ£­9»­Ãæ
  270.     NET_RType_Multiplay_12, //¶à»­ÃæÔ€ÀÀ£­12»­Ãæ
  271.     NET_RType_Multiplay_16, //¶à»­ÃæÔ€ÀÀ£­16»­Ãæ
  272. } NET_RealPlayType;
  273.  
  274. /// ×éºÏ±àÂëģʜ
  275. enum NetCombinType
  276. {
  277.     NET_COMBIN_NONE,
  278.     NET_COMBIN_1,
  279.     NET_COMBIN_2,
  280.     NET_COMBIN_3,
  281.     NET_COMBIN_4,
  282.     NET_COMBIN_5,
  283.     NET_COMBIN_6,
  284.     NET_COMBIN_7,
  285.     NET_COMBIN_8,
  286.     NET_COMBIN_9,
  287.     NET_COMBIN_10,
  288.     NET_COMBIN_11,
  289.     NET_COMBIN_12,
  290.     NET_COMBIN_13,
  291.     NET_COMBIN_14,
  292.     NET_COMBIN_15,
  293.     NET_COMBIN_16,
  294.     NET_COMBIN_1_4,
  295.     NET_COMBIN_5_8,
  296.     NET_COMBIN_9_12,
  297.     NET_COMBIN_13_16,
  298.     NET_COMBIN_1_8,
  299.     NET_COMBIN_9_16,
  300.     NET_COMBIN_1_9,
  301.     NET_COMBIN_8_16,
  302.     NET_COMBIN_1_16
  303. };
  304.  
  305. //ÕâЩœá¹¹ÌåºÍöŸÙÊÇÌṩžøÍⲿʹÓã¬ËùÓпÉÄÜ»áºÍÉ豞ÄDZ߶šÒåÁË2ŽÎ,ËùÒÔ¶ŒÔÚÇ°ÃæŒÓÁËSDK_
  306. enum SDK_CAPTURE_SIZE_t {
  307.     SDK_CAPTURE_SIZE_D1,        ///< 720*576(PAL)   720*480(NTSC)
  308.     SDK_CAPTURE_SIZE_HD1,       ///< 352*576(PAL)   352*480(NTSC)
  309.     SDK_CAPTURE_SIZE_BCIF,      ///< 720*288(PAL)   720*240(NTSC)
  310.     SDK_CAPTURE_SIZE_CIF,       ///< 352*288(PAL)   352*240(NTSC)
  311.     SDK_CAPTURE_SIZE_QCIF,      ///< 176*144(PAL)   176*120(NTSC)
  312.     SDK_CAPTURE_SIZE_VGA,       ///< 640*480(PAL)   640*480(NTSC)
  313.     SDK_CAPTURE_SIZE_QVGA,      ///< 320*240(PAL)   320*240(NTSC)
  314.     SDK_CAPTURE_SIZE_SVCD,      ///< 480*480(PAL)   480*480(NTSC)
  315.     SDK_CAPTURE_SIZE_QQVGA,     ///< 160*128(PAL)   160*128(NTSC)
  316.     SDK_CAPTURE_SIZE_ND1 = 9,     ///< 240*192
  317.     SDK_CAPTURE_SIZE_650TVL,      ///< 926*576
  318.     SDK_CAPTURE_SIZE_720P,        ///< 1280*720
  319.     SDK_CAPTURE_SIZE_1_3M,        ///< 1280*960
  320.     SDK_CAPTURE_SIZE_UXGA ,       ///< 1600*1200
  321.     SDK_CAPTURE_SIZE_1080P,       ///< 1920*1080
  322.     SDK_CAPTURE_SIZE_WUXGA,       ///< 1920*1200
  323.     SDK_CAPTURE_SIZE_2_5M,        ///< 1872*1408
  324.     SDK_CAPTURE_SIZE_3M,          ///< 2048*1536
  325.     SDK_CAPTURE_SIZE_5M,          ///< 3744*1408
  326.     SDK_CAPTURE_SIZE_NR,
  327. };
  328.  
  329. /// ²¶»ñÂëÁ÷¿ØÖÆģʜÀàÐÍ
  330. enum SDK_capture_brc_t {
  331.     SDK_CAPTURE_BRC_CBR,            ///< ¹Ì¶šÂëÁ÷¡£
  332.     SDK_CAPTURE_BRC_VBR,            ///< ¿É±äÂëÁ÷¡£
  333.     SDK_CAPTURE_BRC_MBR,            ///< »ìºÏÂëÁ÷¡£
  334.     SDK_CAPTURE_BRC_NR              ///< öŸÙµÄÂëÁ÷¿ØÖÆģʜÊýÄ¿¡£
  335. };
  336.  
  337. /// ²¶»ñѹËõžñÊœÀàÐÍ
  338. enum SDK_CAPTURE_COMP_t {
  339.     SDK_CAPTURE_COMP_DIVX_MPEG4,    ///< DIVX MPEG4¡£
  340.     SDK_CAPTURE_COMP_MS_MPEG4,      ///< MS MPEG4¡£
  341.     SDK_CAPTURE_COMP_MPEG2,         ///< MPEG2¡£
  342.     SDK_CAPTURE_COMP_MPEG1,         ///< MPEG1¡£
  343.     SDK_CAPTURE_COMP_H263,          ///< H.263
  344.     SDK_CAPTURE_COMP_MJPG,          ///< MJPG
  345.     SDK_CAPTURE_COMP_FCC_MPEG4,     ///< FCC MPEG4
  346.     SDK_CAPTURE_COMP_H264,          ///< H.264
  347.     SDK_CAPTURE_COMP_NR             ///< öŸÙµÄѹËõ±ê׌ÊýÄ¿¡£
  348. };
  349.  
  350. /// ²¶»ñÍšµÀÀàÐÍ
  351. enum SDK_CAPTURE_CHANNEL_t {
  352.     SDK_CHL_MAIN_T = 0,     ///< Ö÷ÍšµÀ   £­    Ö÷ÂëÁ÷1
  353.     SDK_CHL_2END_T = 1,     ///< žšÍšµÀ   £­    ³öžšÂëÁ÷2
  354.     SDK_CHL_3IRD_T = 2,     ///< žšÍšµÀ   £­    ³öžšÂëÁ÷3
  355.     SDK_CHL_4RTH_T = 3,     ///< žšÍšµÀ   £­    ³öžšÂëÁ÷4
  356.     SDK_CHL_JPEG_T = 4,     ///< žšÍšµÀ   £­    ³öJPEGץ͌
  357.     SDK_CHL_FUNCTION_NUM
  358. };
  359. /// ÒôƵ±àÂëÀàÐÍ
  360. enum SDK_AudioEncodeTypes
  361. {
  362.     SDK_AUDIO_ENCODE_NONE = 0,
  363.     SDK_AUDIO_ENCODE_G729_8KBIT,
  364.     SDK_AUDIO_ENCODE_G726_16KBIT,
  365.     SDK_AUDIO_ENCODE_G726_24KBIT,
  366.     SDK_AUDIO_ENCODE_G726_32KBIT,
  367.     SDK_AUDIO_ENCODE_G726_40KBIT,
  368.     SDK_AUDIO_ENCODE_PCM_8TO16BIT,
  369.     SDK_AUDIO_ENCODE_PCM_ALAW,
  370.     SDK_AUDIO_ENCODE_PCM_ULAW,
  371.     SDK_AUDIO_ENCODE_ADPCM8K16BIT,
  372.     SDK_AUDIO_ENCODE_ADPCM16K16BIT,
  373.     SDK_AUDIO_ENCODE_G711_ALAW,
  374.     SDK_AUDIO_ENCODE_MPEG2_LAYER1,
  375.     SDK_AUDIO_ENCODE_AMR8K16BIT,
  376.     SDK_AUDIO_ENCODE_G711_ULAW,
  377.     SDK_AUDIO_ENCODE_IMA_ADPCM_8K16BIT,
  378.     SDK_AUDIO_ENCODE_TYPES_NR,
  379. };
  380.  
  381.  
  382. typedef enum _SDK_CONFIG_TYPE
  383. {
  384.     E_SDK_CONFIG_NOTHING = 0,       //
  385.     E_SDK_CONFIG_USER,          //Óû§ÐÅÏ¢£¬°üº¬ÁËÈšÏÞÁÐ±í£¬Óû§ÁбíºÍ×éÁÐ±í   ¶ÔÓŠœá¹¹ÌåUSER_MANAGE_INFO
  386.     E_SDK_CONFIG_ADD_USER,      //ÔöŒÓÓû§      ¶ÔÓŠœá¹¹ÌåUSER_INFO
  387.     E_SDK_CONFIG_MODIFY_USER,       //ÐÞžÄÓû§  ¶ÔÓŠœá¹¹ÌåCONF_MODIFYUSER
  388.     E_SDK_CONFIG_DELETE_USER,                               //¶ÔÓŠœá¹¹ÌåUSER_INFO
  389.     E_SDK_CONFIG_ADD_GROUP,     //ÔöŒÓ×é          ¶ÔÓŠœá¹¹ÌåUSER_GROUP_INFO
  390.     E_SDK_CONFIG_MODIFY_GROUP,  //ÐÞžÄ×é      ¶ÔÓŠœá¹¹ÌåCONF_MODIFYGROUP
  391.     E_SDK_COFIG_DELETE_GROUP,                               //¶ÔÓŠœá¹¹ÌåUSER_GROUP_INFO
  392.     E_SDK_CONFIG_MODIFY_PSW,        //ÐÞžÄÃÜÂë  ¶ÔÓŠœá¹¹Ìå_CONF_MODIFY_PSW
  393.  
  394.  
  395.     E_SDK_CONFIG_ABILITY_SYSFUNC = 9,//Ö§³ÖµÄÍøÂ繊ÄÜ                     ¶ÔÓŠœá¹¹ÌåSDK_SystemFunction
  396.     E_SDK_CONFIG_ABILTY_ENCODE, //Ê×ÏÈ»ñµÃ±àÂëÄÜÁŠ                          ¶ÔÓŠœá¹¹ÌåCONFIG_EncodeAbility
  397.     E_SDK_CONFIG_ABILITY_PTZPRO,    //ÔÆ̚ЭÒé                                      ¶ÔÓŠœá¹¹ÌåSDK_PTZPROTOCOLFUNC
  398.     E_SDK_COMFIG_ABILITY_COMMPRO,   //Ž®¿ÚЭÒé                                      ¶ÔÓŠœá¹¹ÌåSDK_COMMFUNC
  399.  
  400.     E_SDK_CONFIG_ABILITY_MOTION_FUNC,   //¶¯Ì¬Œì²â¿é                          ¶ÔÓŠœá¹¹ÌåSDK_MotionDetectFunction
  401.     E_SDK_CONFIG_ABILITY_BLIND_FUNC,    //ÊÓƵÕÚµ²¿é                          ¶ÔÓŠœá¹¹ÌåSDK_BlindDetectFunction
  402.     E_SDK_CONFIG_ABILITY_DDNS_SERVER,   //DDNS·þÎñÖ§³ÖÀàÐÍ                      ¶ÔÓŠœá¹¹ÌåSDK_DDNSServiceFunction
  403.     E_SDK_CONFIG_ABILITY_TALK,      //¶Ôœ²±àÂëÀàÐÍ                              ¶ÔÓŠœá¹¹ÌåSDK_DDNSServiceFunction
  404.  
  405.  
  406.  
  407.  
  408.     E_SDK_CONFIG_SYSINFO = 17,      //ϵͳÐÅÏ¢                                      ¶ÔÓŠœá¹¹ÌåH264_DVR_DEVICEINFO
  409.     E_SDK_CONFIG_SYSNORMAL, //ÆÕÍšÅäÖà                                                 ¶ÔÓŠœá¹¹ÌåSDK_CONFIG_NORMAL
  410.     E_SDK_CONFIG_SYSENCODE, //±àÂëÅäÖà                                                 ¶ÔÓŠœá¹¹ÌåSDK_EncodeConfigAll_SIMPLIIFY
  411.     E_SDK_CONFIG_SYSNET,        //ÍøÂçÉèÖà                                                 ¶ÔÓŠœá¹¹ÌåSDK_CONFIG_NET_COMMON
  412.     E_SDK_CONFIG_PTZ,           //ÔÆÌšÒ³Ãæ                                                      ¶ÔÓŠœá¹¹ÌåSDK_STR_PTZCONFIG_ALL
  413.     E_SDK_CONFIG_COMM,      //Ž®¿ÚÒ³Ãæ                                                      ¶ÔÓŠœá¹¹ÌåSDK_CommConfigAll
  414.     E_SDK_CONFIG_RECORD,        //ÂŒÏñÉèÖÃœçÃæ                                          ¶ÔÓŠœá¹¹ÌåSDK_RECORDCONFIG
  415.     E_SDK_CONFIG_MOTION,        //¶¯Ì¬Œì²âÒ³Ãæ                                          ¶ÔÓŠœá¹¹ÌåSDK_MOTIONCONFIG
  416.     E_SDK_CONFIG_SHELTER,       //ÊÓƵÕÚµ²                                                  ¶ÔÓŠœá¹¹ÌåSDK_BLINDDETECTCONFIG
  417.     E_SDK_CONFIG_VIDEO_LOSS,  //ÊÓƵ¶ªÊ§,                                               ¶ÔÓŠœá¹¹ÌåSDK_VIDEOLOSSCONFIG
  418.     E_SDK_CONFIG_ALARM_IN,  //±šŸ¯ÊäÈë                                                  ¶ÔÓŠœá¹¹ÌåSDK_ALARM_INPUTCONFIG
  419.     E_SDK_CONFIG_ALARM_OUT, //±šŸ¯Êä³ö                                                  ¶ÔÓŠœá¹¹ÌåSDK_AlarmOutConfigAll
  420.     E_SDK_CONFIG_DISK_MANAGER,//Ó²Å̹ÜÀíœçÃæ                                        ¶ÔÓŠœá¹¹ÌåSDK_StorageDeviceControl
  421.     E_SDK_CONFIG_OUT_MODE,  //Êä³öģʜœçÃæ                                      ¶ÔÓŠœá¹¹ÌåSDK_VideoWidgetConfi
  422.     E_SDK_CONFIG_CHANNEL_NAME,//ÍšµÀÃû³Æ                                                ¶ÔÓŠœá¹¹ÌåSDK_ChannelNameConfigAll
  423.     E_SDK_CONFIG_AUTO,      //×Ô¶¯Î¬»€œçÃæÅäÖà                                     ¶ÔÓŠœá¹¹ÌåSDK_AutoMaintainConfig
  424.     E_SDK_CONFIG_DEFAULT,     //»ÖžŽÄ¬ÈÏœçÃæÅäÖà                               ¶ÔÓŠœá¹¹ÌåSDK_SetDefaultConfigTypes
  425.     E_SDK_CONFIG_DISK_INFO, //Ó²ÅÌÐÅÏ¢                                                  ¶ÔÓŠœá¹¹ÌåSDK_StorageDeviceInformationAll
  426.     E_SDK_CONFIG_LOG_INFO,  //²éѯÈÕÖŸ                                                  ¶ÔÓŠœá¹¹ÌåSDK_LogList
  427.     E_SDK_CONFIG_NET_IPFILTER,  //ºÚÃûµ¥ÅäÖà                                     ¶ÔÓŠœá¹¹ÌåSDK_NetIPFilterConfig
  428.     E_SDK_CONFIG_NET_DHCP,          //DHCÅäÖà                                               ¶ÔÓŠœá¹¹ÌåSDK_NetDHCPConfigAll
  429.     E_SDK_CONFIG_NET_DDNS,          //DDNSÐÅÏ¢                                          ¶ÔÓŠœá¹¹ÌåSDK_NetDDNSConfigALL
  430.     E_SDK_CONFIG_NET_EMAIL,         //EMAIL                                                 ¶ÔÓŠœá¹¹ÌåSDK_NetEmailConfig
  431.     E_SDK_CONFIG_NET_MULTICAST, //×é²¥                                                  ¶ÔÓŠœá¹¹ÌåSDK_NetMultiCastConfig
  432.     E_SDK_CONFIG_NET_NTP,               //NTP                                                       ¶ÔÓŠœá¹¹ÌåSDK_NetNTPConfig
  433.     E_SDK_CONFIG_NET_PPPOE,         //PPPOE                                                 ¶ÔÓŠœá¹¹ÌåSDK_NetPPPoEConfig
  434.     E_SDK_CONFIG_NET_DNS,               //DNS                                                       ¶ÔÓŠœá¹¹ÌåSDK_NetDNSConfig
  435.     E_SDK_CONFIG_NET_FTPSERVER, //FTP                                                       ¶ÔÓŠœá¹¹ÌåSDK_FtpServerConfig
  436.  
  437.     E_SDK_CONFIG_SYS_TIME,  //ϵͳʱŒä                                                  ¶ÔÓŠœá¹¹ÌåSDK_SYSTEM_TIME
  438.     E_SDK_CONFIG_CLEAR_LOG, //Çå³ýÈÕÖŸ                                                 
  439.     E_SDK_REBOOT_DEV,       //ÖØÆôÆô¶¯É豞                                                 
  440.     E_SDK_CONFIG_ABILITY_LANG,  //Ö§³ÖÓïÑÔ                                          ¶ÔÓŠœá¹¹ÌåSDK_MultiLangFunction
  441.     E_SDK_CONFIG_VIDEO_FORMAT,                                                                 
  442.     E_SDK_CONFIG_COMBINEENCODE, //×éºÏ±àÂë                                          ¶ÔÓŠœá¹¹ÌåSDK_CombineEncodeConfigAll
  443.     E_SDK_CONFIG_EXPORT,    //ÅäÖõŒ³ö                                                     
  444.     E_SDK_CONFIG_IMPORT,    //ÅäÖõŒÈë
  445.     E_SDK_LOG_EXPORT,       //ÈÕÖŸµŒ³ö                                                     
  446.     E_SDK_CONFIG_COMBINEENCODEMODE, //×éºÏ±àÂëģʜ                          ¶ÔÓŠœá¹¹ÌåSDK_CombEncodeModeAll
  447.     E_SDK_WORK_STATE,   //ÔËÐÐ׎̬                                                             
  448.     E_SDK_ABILITY_LANGLIST, //ʵŒÊÖ§³ÖµÄÓïÑÔŒ¯                                 
  449.     E_SDK_CONFIG_NET_ARSP,  //ARSP                                                          ¶ÔÓŠœá¹¹ÌåSDK_NetARSPConfigAll
  450.     E_SDK_CONFIG_SNAP_STORAGE,//                                                                ¶ÔÓŠœá¹¹ÌåSDK_SnapshotConfig
  451.     E_SDK_CONFIG_NET_3G, //3G²ŠºÅ                                                               ¶ÔÓŠœá¹¹ÌåSDK_Net3GConfig
  452.     E_SDK_CONFIG_NET_MOBILE, //ÊÖ»úŒà¿Ø                                                 ¶ÔÓŠœá¹¹ÌåSDK_NetMoblieConfig
  453.     E_SDK_CONFIG_UPGRADEINFO, //»ñÈ¡ÉýŒ¶ÐÅÏ¢                                        ²ÎÊý ÎÄŒþÃû
  454.     E_SDK_CONFIG_NET_DECODER,
  455.     E_SDK_ABILITY_VSTD, //ʵŒÊÖ§³ÖµÄÊÓƵÖÆÊœ
  456.     E_SDK_CONFIG_ABILITY_VSTD,  //Ö§³ÖÊÓƵÖÆÊœ                                  ¶ÔÓŠœá¹¹ÌåSDK_MultiVstd
  457.     E_SDK_CONFIG_NET_UPNP, //UPUNÉèÖà                                                       ¶ÔÓŠœá¹¹ÌåSDK_NetUPNPConfig
  458.     E_SDK_CONFIG_NET_WIFI,//WIFI                                                                ¶ÔÓŠœá¹¹ÌåSDK_NetWifiConfig
  459.     E_SDK_CONFIG_NET_WIFI_AP_LIST,//                                                        ¶ÔÓŠœá¹¹ÌåSDK_NetWifiDeviceAll
  460.     E_SDK_CONFIG_SYSENCODE_SIMPLIIFY, //Œò»¯µÄ±àÂëÅäÖà                   ¶ÔÓŠœá¹¹ÌåSDK_EncodeConfigAll_SIMPLIIFY
  461.     E_SDK_CONFIG_ALARM_CENTER,  //žæŸ¯ÖÐÐÄ                                          ¶ÔÓŠœá¹¹ÌåSDK_NetAlarmServerConfigAll
  462.     E_SDK_CONFIG_NET_ALARM,                                                                        
  463.     E_SDK_CONFIG_NET_MEGA,     //»¥ÐÅ»¥Íš
  464.     E_SDK_CONFIG_NET_XINGWANG, //ÐÇÍû
  465.     E_SDK_CONFIG_NET_SHISOU,   //ÊÓËÑ
  466.     E_SDK_CONFIG_NET_VVEYE,    //VVEYE
  467.     E_SDK_CONFIG_NET_PHONEMSG,  //¶ÌÐÅ                                                  ¶ÔÓŠœá¹¹ÌåSDK_NetShortMsgCfg
  468.     E_SDK_CONFIG_NET_PHONEMEDIAMSG,  //²ÊÐÅ                                         ¶ÔÓŠœá¹¹ÌåSDK_NetMultimediaMsgCfg
  469.     E_SDK_VIDEO_PREVIEW,
  470.     E_SDK_CONFIG_NET_DECODER_V2,
  471.     E_SDK_CONFIG_NET_DECODER_V3,//Êý×ÖÍšµÀ                                          ¶ÔÓŠœá¹¹ÌåSDK_NetDecorderConfigAll_V3
  472.     E_SDK_CONFIG_ABILITY_SERIALNO,  // ÐòÁкÅ
  473.     E_SDK_CONFIG_NET_RTSP,    //RTSP                                                        ¶ÔÓŠœá¹¹ÌåSDK_NetRTSPConfig
  474.     E_SDK_GUISET,              //GUISET                                                 ¶ÔÓŠœá¹¹ÌåSDK_GUISetConfig
  475.     E_SDK_CATCHPIC,               //ץ͌                                               
  476.     E_SDK_VIDEOCOLOR,             //ÊÓƵÑÕÉ«ÉèÖÃ
  477.     E_SDK_CONFIG_COMM485,//                                                                         ¶ÔÓŠœá¹¹ÌåSDK_STR_RS485CONFIG_ALL
  478.     E_SDK_COMFIG_ABILITY_COMMPRO485, //Ž®¿Ú485                                  ¶ÔÓŠœá¹¹ÌåSDK_COMMFUNC
  479.     E_SDK_CONFIG_SYS_TIME_NORTC,    //ϵͳʱŒänoRtc                             ¶ÔÓŠœá¹¹ÌåSDK_COMMFUNC
  480.     E_SDK_CONFIG_REMOTECHANNEL,   //Ô¶³ÌÍšµÀ                                        ¶ÔÓŠœá¹¹ÌåSDK_CONFIG_NET_COMMON
  481.     E_SDK_CONFIG_OPENTRANSCOMCHANNEL , //Žò¿ªÍžÃ÷Ž®¿Ú                       ¶ÔÓŠœá¹¹ÌåTransComChannel
  482.     E_SDK_CONFIG_CLOSETRANSCOMCHANNEL,  //¹Ø±ÕÍžÃ÷Ž®¿Ú
  483.     E_SDK_CONFIG_SERIALWIRTE,  //ÐŽÈëÍžÃ÷Ž®¿ÚÐÅÏ¢
  484.     E_SDK_CONFIG_SERIALREAD,   //¶ÁÈ¡ÍžÃ÷Ž®¿ÚÐÅÏ¢
  485.     E_SDK_CONFIG_CHANNELTILE_DOT,   //µãÕóÐÅÏ¢
  486.     E_SDK_CONFIG_CAMERA,           //ÉãÏó»ú²ÎÊý                                   ¶ÔÓŠœá¹¹ÌåSDK_CameraParam
  487.     E_SDK_CONFIG_ABILITY_CAMERA,    //ÆعâÄÜÁŠŒ¶                              ¶ÔÓŠœá¹¹ÌåSDK_CameraAbility
  488.     E_SDK_CONFIG_BUGINFO,    //ÃüÁîµ÷ÊÔ                                                
  489.     E_SDK_CONFIG_STORAGENOTEXIST,//Ó²Å̲»ŽæÔÚ                                     ¶ÔÓŠœá¹¹ÌåSDK_VIDEOLOSSCONFIG
  490.     E_SDK_CONFIG_STORAGELOWSPACE, //Ó²ÅÌÈÝÁ¿²»×ã                                ¶ÔÓŠœá¹¹ÌåSDK_StorageLowSpaceConfig
  491.     E_SDK_CONFIG_STORAGEFAILURE, //Ó²Å̳öŽí                                         ¶ÔÓŠœá¹¹ÌåSDK_VIDEOLOSSCONFIG
  492.     E_SDK_CFG_NETIPCONFLICT,    //IP³åÍ»                                                ¶ÔÓŠœá¹¹ÌåSDK_VIDEOLOSSCONFIG
  493.     E_SDK_CFG_NETABORT,  //ÍøÂçÒì³£                                                         ¶ÔÓŠœá¹¹ÌåSDK_VIDEOLOSSCONFIG
  494.  
  495.     E_SDK_CONFIG_CHNSTATUS, //ÍšµÀ׎̬                                                  ¶ÔÓŠœá¹¹ÌåSDK_NetDecorderChnStatusAll
  496.     E_SDK_CONFIG_CHNMODE,  //ÍšµÀģʜ                                                       ¶ÔÓŠœá¹¹ÌåSDK_NetDecorderChnModeConfig
  497.  
  498.     E_SDK_CONFIG_NET_DAS,    //Ö÷¶¯×¢²á                                                 ¶ÔÓŠœá¹¹ÌåSDK_DASSerInfo
  499.     E_SDK_CONFIG_CAR_INPUT_EXCHANGE,   //ÍⲿÐÅÏ¢ÊäÈëÓë³µÁŸ×ŽÌ¬µÄ¶ÔÓŠ¹Øϵ          
  500.     E_SDK_CONFIG_DELAY_TIME,       //³µÔØϵͳÑÓʱÅäÖÃ
  501.     E_SDK_CONFIG_NET_ORDER,            //ÍøÂçÓÅÏÈŒ¶
  502.     E_SDK_CONFIG_ABILITY_NETORDER , ////ÍøÂçÓÅÏÈŒ¶ÉèÖÃÄÜÁŠ
  503.     E_SDK_CONFIG_CARPLATE,              //³µÅƺÅÅäÖà
  504.     E_SDK_CONFIG_LOCALSDK_NET_PLATFORM, ////ÍøÂçƜ̚ÐÅÏ¢ÉèÖà                          ¶ÔÓŠSDK_LocalSdkNetPlatformConfig
  505.     E_SDK_CONFIG_GPS_TIMING,           //GPSУʱÏà¹ØÅäÖà                             ¶ÔÓŠSDK_GPSTimingConfig
  506.     E_SDK_CONFIG_VIDEO_ANALYZE, //ÊÓƵ·ÖÎö(ÖÇÄÜDVR)                                   ¶ÔÓŠSDK_RULECONFIG
  507.     E_SDK_CONFIG_GODEYE_ALARM,      //ÉñÑۜӟ¯ÖÐÐÄϵͳ                                ¶ÔÓŠSDK_GodEyeConfig
  508.     E_SDK_CONFIG_NAT_STATUS_INFO,   //nat׎̬ÐÅÏ¢                                     ¶ÔÓŠSDK_NatStatusInfo
  509.     E_SDK_CONFIG_BUGINFOSAVE,    //ÃüÁîµ÷ÊÔ(±£Žæ)                                    
  510.     E_SDK_CONFIG_MEDIA_WATERMARK,//ˮӡÉèÖà                                           ¶ÔÓŠSDK_WaterMarkConfigAll
  511.     E_SDK_CONFIG_ENCODE_STATICPARAM,    //±àÂëÆ÷Ÿ²Ì¬²ÎÊý                            ¶ÔÓŠSDK_EncodeStaticParamAll
  512.     E_SDK_CONFIG_LOSS_SHOW_STR,     //ÊÓƵ¶ªÊ§ÏÔÊŸ×Ö·ûŽ®
  513.     E_SDK_CONFIG_DIGMANAGER_SHOW,   //ÍšµÀ¹ÜÀíÏÔÊŸÅäÖà                                ¶ÔÓŠSDK_DigManagerShowStatus
  514.     E_SDK_CONFIG_ABILITY_ANALYZEABILITY,        //ÖÇÄÜ·ÖÎöÄÜÁŠ                        ¶ÔÓŠSDK_ANALYZEABILITY
  515.     E_SDK_CONFIG_VIDEOOUT_PRIORITY,   //ÏÔÊŸHDMI VGAÓÅÏÈŒ¶±ðÅäÖÃ
  516.     E_SDK_CONFIG_NAT,           //NAT¹ŠÄÜ£¬MTUÖµÅäÖà                                  ¶ÔÓŠSDK_NatConfig
  517.     E_SDK_CONFIG_CPCINFO,       //ÖÇÄÜCPCŒÆÊýÊýŸÝÐÅÏ¢                                 ¶ÔÓŠSDK_CPCDataAll
  518.     E_SDK_CONFIG_STORAGE_POSITION,     // ÂŒÏñŽæŽ¢É豞ÀàÐÍ£¬                                 ¶ÔÓŠ SDK_RecordStorageType
  519.     E_SDK_CONFIG_ABILITY_CARSTATUSNUM,         //³µÁŸ×ŽÌ¬Êý                                   ¶ÔÓŠ SDK_CarStatusNum
  520.     E_SDK_CFG_VPN,                              //VPN                                          ¶ÔÓŠSDK_VPNConfig
  521.     E_SDK_CFG_VIDEOOUT,                             ///VGAÊÓƵ·Ö±æÂÊ                           ¶ÔÓŠSDK_VGAresolution
  522.     E_SDK_CFG_ABILITY_VGARESOLUTION,            //Ö§³ÖµÄVGA·Ö±æÂÊÁÐ±í                           ¶ÔÓŠSDK_VGAResolutionAbility  
  523. }SDK_CONFIG_TYPE;
  524.  
  525.  
  526.  
  527. /// ±šŸ¯ÊÂŒþÂë
  528. enum SDK_EventCodeTypes
  529. {
  530.     SDK_EVENT_CODE_INIT = 0,
  531.     SDK_EVENT_CODE_LOCAL_ALARM = 1, //±ŸµØ±šŸ¯
  532.     SDK_EVENT_CODE_NET_ALARM,       //ÍøÂ籚Ÿ¯
  533.     SDK_EVENT_CODE_MANUAL_ALARM,    //ÊÖ¶¯±šŸ¯
  534.     SDK_EVENT_CODE_VIDEO_MOTION,    //¶¯Ì¬Œì²â
  535.     SDK_EVENT_CODE_VIDEO_LOSS,      //ÊÓƵ¶ªÊ§
  536.     SDK_EVENT_CODE_VIDEO_BLIND,     //ÊÓƵÕÚµ²
  537.     SDK_EVENT_CODE_VIDEO_TITLE,    
  538.     SDK_EVENT_CODE_VIDEO_SPLIT,
  539.     SDK_EVENT_CODE_VIDEO_TOUR,
  540.     SDK_EVENT_CODE_STORAGE_NOT_EXIST,//ŽæŽ¢É豞²»ŽæÔÚ
  541.     SDK_EVENT_CODE_STORAGE_FAILURE,//ŽæŽ¢É豞·ÃÎÊʧ°Ü
  542.     SDK_EVENT_CODE_LOW_SPACE,       //ŽæŽ¢É豞ÈÝÁ¿¹ýµÍ
  543.     SDK_EVENT_CODE_NET_ABORT,
  544.     SDK_EVENT_CODE_COMM,
  545.     SDK_EVENT_CODE_STORAGE_READ_ERROR,//ŽæŽ¢É豞¶ÁŽíÎó
  546.     SDK_EVENT_CODE_STORAGE_WRITE_ERROR,//ŽæŽ¢É豞ЎŽíÎó
  547.     SDK_EVENT_CODE_NET_IPCONFLICT,  //ip³åÍ»
  548.     SDK_EVENT_CODE_ALARM_EMERGENCY,
  549.     SDK_EVENT_CODE_DEC_CONNECT,
  550.     SDK_EVENT_CODE_VideoAnalyze=25,
  551.     SDK_EVENT_CODE_NR,
  552. };
  553. //! ±àÂëÅäÖõÄÀàÐÍ
  554. enum SDK_ENCODE_TYPE_BY_RECORD
  555. {
  556.     SDK_ENCODE_TYPE_TIM = 0,
  557.     SDK_ENCODE_TYPE_MTD = 1,
  558.     SDK_ENCODE_TYPE_ALM = 2,
  559.     SDK_ENCODE_TYPE_NUM = 3,
  560.     SDK_ENCODE_TYPE_SNAP_TIMER = 0,
  561.     SDK_ENCODE_TYPE_SNAP_TRIGGER = 1,
  562. };
  563. #define SDK_EXTRATYPES 3 //žšÂëÁ÷ÀàÐÍ
  564.  
  565. //ÍøÂ玫Êä²ßÂÔ
  566. enum SDK_TransferPolicy
  567. {
  568.     SDK_TRANSFER_POLICY_AUTO,       ///< ×ÔÊÊÓŠ
  569.     SDK_TRANSFER_POLICY_QUALITY,    ///< ÖÊÁ¿ÓÅÏÈ
  570.     SDK_TRANSFER_POLICY_FLUENCY,    ///< Á÷Á¿ÓÅÏÈ
  571.     SDK_TRANSFER_POLICY_TRANSMISSION,//< ÍøŽ«ÓÅÏÈ
  572.     SDK_TRANSFER_POLICY_NR,
  573. };
  574.  
  575.  
  576.  
  577. typedef struct {
  578.     int left;
  579.     int top;
  580.     int right;
  581.     int bottom;
  582. }sdkRect;
  583.  
  584. /// ÒôƵÊäÈëžñÊœ£¬ÓïÒô¶Ôœ²ÓÃ
  585. struct SDK_AudioInFormatConfig
  586. {
  587.     int iBitRate;      ///< ÂëÁ÷ŽóС£¬kbpsΪµ¥Î»£¬±ÈÈç192kbps£¬128kbps
  588.     int iSampleRate;   ///< ²ÉÑùÂÊ£¬HzΪµ¥Î»£¬±ÈÈç44100Hz
  589.     int iSampleBit;    ///< ²ÉÑùµÄλÉî
  590.     int iEncodeType;   ///< ±àÂ뷜ʜ£¬²ÎÕÕAudioEncodeTypes¶šÒå
  591. };
  592.  
  593. //ÓïÒô¶Ôœ²žñÊœ
  594. typedef enum __TALK_CODING_TYPE
  595. {
  596.     TALK_DEFAULT = 0,
  597.     TALK_PCM = 1,                   //PCM
  598.     TALK_G711a,                     //G711a
  599.     TALK_AMR,                       //AMR
  600.     TALK_G711u,                     //G711u
  601.     TALK_G726,                      //G726
  602. }TALK_CODING_TYPE;
  603. //ÓïÒô¶Ôœ²
  604. typedef struct  
  605. {
  606.     TALK_CODING_TYPE        encodeType;     //±àÂëÀàÐÍ
  607.     int                     nAudioBit;      //ÓÃʵŒÊµÄÖµ±íÊŸ£¬Èç8λ ÔòÌîֵΪ8
  608.     unsigned int            dwSampleRate;   //²ÉÑùÂÊ£¬Èç16k ÔòÌîֵΪ16000
  609.     char                    reserved[64];
  610. }H264_DVR_TALKDECODE_INFO;
  611.  
  612.  
  613. /// ϵͳʱŒäœá¹¹
  614. typedef struct SDK_SYSTEM_TIME{
  615.     int  year;///< Äê¡£  
  616.     int  month;///< Ô£¬January = 1, February = 2, and so on.  
  617.     int  day;///< ÈÕ¡£  
  618.     int  wday;///< ÐÇÆÚ£¬Sunday = 0, Monday = 1, and so on  
  619.     int  hour;///< ʱ¡£  
  620.     int  minute;///< ·Ö¡£  
  621.     int  second;///< Ãë¡£  
  622.     int  isdst;///< ÏÄÁîʱ±êʶ¡£  
  623. }SDK_SYSTEM_TIME;
  624.  
  625. //ÂŒÏñÉèÖÃÏà¹Øœá¹¹Ìå
  626. typedef struct tagSDK_TIMESECTION
  627. {
  628.     //!ʹÄÜ
  629.     int enable;
  630.     //!¿ªÊŒÊ±Œä:Сʱ
  631.     int startHour;
  632.     //!¿ªÊŒÊ±Œä:·ÖÖÓ
  633.     int startMinute;
  634.     //!¿ªÊŒÊ±Œä:ÃëÖÓ
  635.     int startSecond;
  636.     //!œáÊøʱŒä:Сʱ
  637.     int endHour;
  638.     //!œáÊøʱŒä:·ÖÖÓ
  639.     int endMinute;
  640.     //!œáÊøʱŒä:ÃëÖÓ
  641.     int endSecond;
  642. }SDK_TIMESECTION;  
  643.  
  644. typedef struct{
  645.     int dwYear;     //Äê
  646.     int dwMonth;    //ÔÂ
  647.     int dwDay;      //ÈÕ
  648.     int dwHour;     //ʱ
  649.     int dwMinute;   //·Ö
  650.     int dwSecond;   //Ãë
  651. }H264_DVR_TIME,*LPH264_DVR_TIME;
  652.  
  653. //ʱŒäœá¹¹
  654. typedef struct _NEW_NET_TIME                               
  655. {
  656.     unsigned int second         :6;                 //  Ãë    1-60       
  657.     unsigned int minute         :6;                 //  ·Ö    1-60       
  658.     unsigned int hour           :5;                 //  ʱ    1-24       
  659.     unsigned int day            :5;                 //  ÈÕ    1-31       
  660.     unsigned int month          :4;                 //  Ô    1-12       
  661.     unsigned int year           :6;                 //  Äê    2000-2063  
  662. }NEW_NET_TIME, *LPNET_TIME;
  663. ///< ÏÄÁîʱœá¹¹
  664. struct DSTPoint
  665. {
  666.     int iYear;
  667.     int iMonth;
  668.     int iWeek;      ///<ÖÜ1:first  to2 3 4 -1:last one   0:±íʟʹÓðŽÈÕŒÆËãµÄ·œ·š[-1,4]
  669.     int iWeekDay;   ///<weekday from sunday=0   [0, 6]
  670.     int Hour;
  671.     int Minute;
  672. };
  673.  
  674. struct SDK_VIDEO_FORMAT
  675. {
  676.     int     iCompression;           //  Ñ¹Ëõģʜ    
  677.     int     iResolution;            //  ·Ö±æÂÊ ²ÎÕÕöŸÙSDK_CAPTURE_SIZE_t
  678.     int     iBitRateControl;        //  ÂëÁ÷¿ØÖÆ ²ÎÕÕöŸÙSDK_capture_brc_t
  679.     int     iQuality;               //  ÂëÁ÷µÄ»­ÖÊ µµŽÎ1-6       
  680.     int     nFPS;                   //  Ö¡ÂÊÖµ£¬NTSC/PAL²»Çø·Ö,žºÊý±íÊŸ¶àÃëÒ»Ö¡      
  681.     int     nBitRate;               //  0-4096k,žÃÁбíÖ÷ÒªÓÉ¿Í»§¶Ë±£Žæ£¬É豞ֻœÓÊÕʵŒÊµÄÂëÁ÷Öµ¶ø²»ÊÇϱꡣ
  682.     int     iGOP;                   //  ÃèÊöÁœžöIÖ¡Ö®ŒäµÄŒäžôʱŒä£¬2-12
  683. } ;
  684. struct  SDK_AUDIO_FORMAT
  685. {
  686.     int     nBitRate;               //  ÂëÁ÷kbps   
  687.     int     nFrequency;             //  ²ÉÑùƵÂÊ   
  688.     int     nMaxVolume;             //  ×îŽóÒôÁ¿ãÐÖµ
  689. } ;
  690. // ÃœÌåžñÊœ
  691. struct SDK_MEDIA_FORMAT
  692. {
  693.     SDK_VIDEO_FORMAT vfFormat;          //  ÊÓƵžñÊœ¶šÒå           
  694.     SDK_AUDIO_FORMAT afFormat;          //  ÒôƵžñÊœ¶šÒå
  695.     bool    bVideoEnable;               //  ¿ªÆôÊÓƵ±àÂë
  696.     bool    bAudioEnable;               //  ¿ªÆôÒôƵ±àÂë    
  697. } ;
  698.  
  699. typedef union { //IP addr
  700.     unsigned char   c[4];
  701.     unsigned short  s[2];
  702.     unsigned int    l;
  703. }CONFIG_IPAddress;
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712. ///////////////////Óû§ÕʺŹÜÀíÏà¹Øœá¹¹Ìå/////////////////////////////////
  713. typedef struct _OPR_RIGHT
  714. {
  715.     char name[NET_MAX_USER_LENGTH];
  716. }OPR_RIGHT;
  717.  
  718. typedef struct _USER_INFO
  719. {
  720.     int         rigthNum;
  721.     char        rights[NET_MAX_RIGTH_NUM][NET_MAX_USER_LENGTH];
  722.     char        Groupname[NET_MAX_USER_LENGTH];
  723.     char        memo[NET_MAX_USER_LENGTH];
  724.     char        name[NET_MAX_USER_LENGTH];
  725.     char        passWord[NET_MAX_USER_LENGTH];
  726.     bool        reserved;       //ÊÇ·ñ±£Áô
  727.     bool        shareable;      //±ŸÓû§ÊÇ·ñÔÊÐ힎Óà 1-žŽÓã¬0-²»žŽÓÃ
  728. }USER_INFO;
  729.  
  730. typedef struct _USER_GROUP_INFO
  731. {
  732.     int         rigthNum;
  733.     char        memo[NET_MAX_USER_LENGTH];
  734.     char        name[NET_MAX_USER_LENGTH];
  735.     char        rights[NET_MAX_RIGTH_NUM][NET_MAX_USER_LENGTH]; //ÈšÏÞÁбí
  736. }USER_GROUP_INFO;
  737.  
  738. //Óû§ÐÅÏ¢ÅäÖÜṹ
  739. typedef struct _USER_MANAGE_INFO
  740. {
  741.     int                 rigthNum;
  742.     OPR_RIGHT           rightList[NET_MAX_RIGTH_NUM];
  743.     int                 groupNum;
  744.     USER_GROUP_INFO     groupList[NET_MAX_GROUP_NUM];
  745.     int                 userNum;
  746.     USER_INFO           userList[NET_MAX_USER_NUM];
  747. }USER_MANAGE_INFO;
  748.  
  749. //ÐÞžÄÓû§
  750. typedef struct _CONF_MODIFYUSER
  751. {
  752.     char UserName[NET_MAX_USER_LENGTH];
  753.     USER_INFO User;
  754. }CONF_MODIFYUSER;
  755.  
  756. //ÐÞžÄ×é
  757. typedef struct _CONF_MODIFYGROUP
  758. {
  759.     char GroupName[NET_MAX_USER_LENGTH];
  760.     USER_GROUP_INFO Group;
  761. }CONF_MODIFYGROUP;
  762.  
  763.  
  764. /// ÐÞžÄÓû§ÃÜÂëÇëÇó
  765. struct _CONF_MODIFY_PSW
  766. {
  767.     char sUserName[NET_MAX_USER_LENGTH];
  768.     char Password[NET_MAX_USER_LENGTH];
  769.     char NewPassword[NET_MAX_USER_LENGTH];
  770. };
  771.  
  772. //ÆÕÍšÅäÖÃÒ³œá¹¹Ìå
  773. typedef struct _SDK_CONFIG_NORMAL
  774. {  
  775.     SDK_SYSTEM_TIME sysTime;        //ϵͳʱŒä
  776.  
  777.     int iLocalNo;           /*!< ±Ÿ»ú±àºÅ:[0, 998] */
  778.     int iOverWrite;         /*!< Ó²ÅÌÂúʱŽŠÀí "OverWrite", "StopRecord" */     
  779.     int iSnapInterval;          ///< ¶šÊ±×¥ÍŒµÄʱŒäŒäžô£¬ÒÔÃëΪµ¥Î»
  780.     char sMachineName[64];  ///< »úÆ÷Ãû
  781.     int iVideoStartOutPut;  /*!< Êä³öģʜ */
  782.     int iAutoLogout;            ///< ±ŸµØ²Ëµ¥×Ô¶¯×¢Ïú(·ÖÖÓ) [0, 120]
  783.  
  784.     int iVideoFormat;       /*!< ÊÓƵÖÆÊœ:¡°PAL¡±, ¡°NTSC¡±, ¡°SECAM¡± */
  785.     int iLanguage;          /*!< ÓïÑÔÑ¡Ôñ:¡°English¡±, ¡°SimpChinese¡±, ¡°TradChinese¡±, ¡°Italian¡±, ¡°Spanish¡±, ¡°Japanese¡±, ¡°Russian¡±, ¡°French¡±, ¡°German¡± */
  786.     int iDateFormat;        /*!< ÈÕÆÚžñÊœ:¡°YYMMDD¡±, ¡°MMDDYY¡±, ¡°DDMMYY¡± */
  787.     int iDateSeparator;     /*!< ÈÕÆÚ·Öžî·û:¡°.¡±, ¡°-¡±, ¡°/¡± */
  788.     int iTimeFormat;        /*!< ʱŒäžñÊœ:¡°12¡±, ¡°24¡± */
  789.     int iDSTRule;           ///< ÏÄÁîʱ¹æÔò
  790.     int iWorkDay;           ///< ¹€×÷ÈÕ
  791.     DSTPoint dDSTStart;
  792.     DSTPoint dDSTEnd;
  793. }SDK_CONFIG_NORMAL;
  794.  
  795.  
  796. //ÒÔϱàÂëÅäÖÃÏà¹Ø
  797. // ±àÂëÉèÖÃ
  798. struct SDK_CONFIG_ENCODE
  799. {
  800.     SDK_MEDIA_FORMAT dstMainFmt[SDK_ENCODE_TYPE_NUM];       //  Ö÷ÂëÁ÷žñÊœ    
  801.     SDK_MEDIA_FORMAT dstExtraFmt[SDK_EXTRATYPES];   //  žšÂëÁ÷žñÊœ
  802.     SDK_MEDIA_FORMAT dstSnapFmt[SDK_ENCODE_TYPE_NUM];       //  ×¥ÍŒžñÊœ
  803. };
  804. struct  SDK_EncodeConfigAll
  805. {
  806.     SDK_CONFIG_ENCODE vEncodeConfigAll[NET_MAX_CHANNUM];
  807. };
  808.  
  809.  
  810. // Œò»¯°æ±Ÿ±àÂëÅäÖÃ
  811. /// ÃœÌåžñÊœ
  812. struct SDK_MEDIA_FORMAT_SIMPLIIFY
  813. {
  814.     SDK_VIDEO_FORMAT vfFormat;          //  ÊÓƵžñÊœ¶šÒå           
  815.     bool    bVideoEnable;           //  ¿ªÆôÊÓƵ±àÂë
  816.     bool    bAudioEnable;           //  ¿ªÆôÒôƵ±àÂë    
  817. };
  818.  
  819. /// ±àÂëÉèÖÃ
  820. struct SDK_CONFIG_ENCODE_SIMPLIIFY
  821. {
  822.     SDK_MEDIA_FORMAT dstMainFmt;        //  Ö÷ÂëÁ÷žñÊœ    
  823.     SDK_MEDIA_FORMAT dstExtraFmt;   //  žšÂëÁ÷žñÊœ
  824. };
  825.  
  826. /// È«ÍšµÀ±àÂëÅäÖÃ
  827. struct SDK_EncodeConfigAll_SIMPLIIFY
  828. {
  829.     SDK_CONFIG_ENCODE_SIMPLIIFY vEncodeConfigAll[NET_MAX_CHANNUM];
  830. };
  831.  
  832.  
  833. struct  SDK_CombineEncodeConfigAll
  834. {
  835.     SDK_CONFIG_ENCODE vEncodeConfigAll[NET_MAX_COMBINE_NUM];
  836. };
  837.  
  838. /// ×éºÏ±àÂëģʜ
  839. struct SDK_CombEncodeParam
  840. {
  841.     int iEncodeMode;     //ŒûCombineEncodeMode
  842. };
  843.  
  844. struct SDK_CombEncodeModeAll
  845. {
  846.     SDK_CombEncodeParam vEncodeParam[NET_MAX_COMBINE_NUM];
  847. };
  848.  
  849. //!ÊÓƵÎïŒþœá¹¹
  850. struct  SDK_VIDEO_WIDGET
  851. {
  852.     unsigned int rgbaFrontground;       ///< ÎïŒþµÄÇ°Ÿ°MakeRGB£¬ºÍÍžÃ÷¶È   
  853.     unsigned int rgbaBackground;        ///< ÎïŒþµÄºóŸ°MakeRGB£¬ºÍÍžÃ÷¶È   
  854.     sdkRect rcRelativePos;          ///< ÎïŒþ±ßŸàÓëÕû³€µÄ±ÈÀý*8191
  855.     bool    bPreviewBlend;          ///< Ô€ÀÀµþŒÓ 
  856.     bool    bEncodeBlend;           ///< ±àÂëµþŒÓ
  857. };
  858.  
  859. //!ÊÓƵÎïŒþÉèÖÃ
  860. struct SDK_CONFIG_VIDEOWIDGET
  861. {
  862.     SDK_VIDEO_WIDGET    dstCovers[NET_COVERNUM];
  863.     SDK_VIDEO_WIDGET    ChannelTitle;
  864.     SDK_VIDEO_WIDGET    TimeTitle;
  865.     struct
  866.     {
  867.         char strName[NET_NAME_PASSWORD_LEN];
  868. #ifdef WIN32
  869.         __int64 iSerialNo; 
  870. #else
  871.         long long iSerialNo;   
  872. #endif
  873.     }ChannelName;                   /// ÍšµÀÃû³Æ
  874.     int             iCoverNum;      /*!< µ±Ç°žÃÍšµÀÓÐŒžžöµþŒÓµÄÇøÓò */
  875. };
  876.  
  877. /// ÊÓƵÎïŒþ(Êä³öģʜ¶Ô»°¿ò)
  878. struct SDK_VideoWidgetConfigAll
  879. {
  880.     SDK_CONFIG_VIDEOWIDGET vVideoWidegetConfigAll[NET_MAX_CHANNUM];
  881. };
  882.  
  883. //ÊÓƵÑÕÉ«
  884. struct SDK_VIDEOCOLOR_PARAM
  885. {
  886.     int nBrightness;        ///< ÁÁ¶È   0-100
  887.     int nContrast;          ///< ¶Ô±È¶È   0-100
  888.     int nSaturation;        ///< ±¥ºÍ¶È   0-100
  889.     int nHue;               ///< É«¶È   0-100
  890.     int mGain;              ///< ÔöÒæ   0-100 µÚ£·Î»ÖÃ1±íÊŸ×Ô¶¯ÔöÒæ    
  891.     int mWhitebalance;      ///< ×Ô¶¯°×µçÆœ¿ØÖÆ£¬bit7ÖÃλ±íÊŸ¿ªÆô×Ô¶¯¿ØÖÆ.0x0,0x1,0x2·Ö±ðŽú±íµÍ,ÖÐ,žßµÈŒ¶
  892.     int nAcutance;          ///< Èñ¶È   0-15
  893. };
  894. ///< ÊÓƵÑÕÉ«ÉèÖÃ
  895. struct SDK_VIDEOCOLOR
  896. {
  897.     SDK_TIMESECTION         tsTimeSection;      /// ʱŒä¶Î
  898.     SDK_VIDEOCOLOR_PARAM    dstColor;           /// ÑÕÉ«¶šÒå
  899.     int                 iEnable;
  900. };
  901.  
  902. struct SDK_CONFIG_VIDEOCOLOR
  903. {
  904.     SDK_VIDEOCOLOR dstVideoColor[NET_N_MIN_TSECT];
  905. };
  906.  
  907. struct SDK_VideoColorConfigAll
  908. {
  909.     SDK_CONFIG_VIDEOCOLOR vVideoColorAll[NET_MAX_CHANNUM];
  910. };
  911.  
  912.  
  913. /// ËùÓÐÍšµÀÃû³Æ±êÌâ
  914. struct SDK_ChannelNameConfigAll
  915. {
  916.     char channelTitle[NET_MAX_CHANNUM][NET_NAME_PASSWORD_LEN];
  917. };
  918.  
  919. //Êä³öģʜ
  920. struct SDK_GUISetConfig
  921. {
  922.     int iWindowAlpha;           ///< Ž°¿ÚÍžÃ÷¶È   [128, 255]
  923.     bool bTimeTitleEn;          ///< ʱŒä±êÌâÏÔʟʹÄÜ
  924.     bool bChannelTitleEn;       ///< ÍšµÀ±êÌâÏÔʟʹÄÜ  
  925.     bool bAlarmStatus;          ///<  ±šŸ¯×ŽÌ¬
  926.     bool bRecordStatus;         ///<  ÂŒÏñ׎̬ÏÔʟʹÄÜ
  927.     bool bChanStateRecEn;       ///< ÂŒÏñ±êÖŸÏÔʟʹÄÜ
  928.     bool bChanStateVlsEn;       ///< ÊÓƵ¶ªÊ§±êÖŸÏÔʟʹÄÜ
  929.     bool bChanStateLckEn;       ///< ÍšµÀËø¶š±êÖŸÏÔʟʹÄÜ  
  930.     bool bChanStateMtdEn;       ///< ¶¯Ì¬Œì²â±êÖŸÏÔʟʹÄÜ
  931.     bool bBitRateEn;            ///< ÂëÁ÷ÏÔʟʹÄÜ
  932.     bool bRemoteEnable;         ///< Ò£¿ØÆ÷ʹÄÜ
  933.     bool bDeflick;              ///< ¿¹¶¶¶¯
  934. };
  935.  
  936.  
  937. ////!ÆÕÍšÍøÂçÉèÖÃ
  938. struct SDK_CONFIG_NET_COMMON
  939. {
  940.     //!Ö÷»úÃû
  941.     char HostName[NET_NAME_PASSWORD_LEN];
  942.     //!Ö÷»úIP
  943.     CONFIG_IPAddress HostIP;
  944.     //!×ÓÍøÑÚÂë
  945.     CONFIG_IPAddress Submask;
  946.     //!Íø¹ØIP
  947.     CONFIG_IPAddress Gateway;
  948.     //!HTTP·þÎñ¶Ë¿Ú
  949.     int HttpPort;
  950.     //!TCPÕìÌý¶Ë¿Ú
  951.     int TCPPort;   
  952.     //!SSLÕìÌý¶Ë¿Ú
  953.     int SSLPort;
  954.     //!UDPÕìÌý¶Ë¿Ú
  955.     int UDPPort;
  956.     //!×îŽóÁ¬œÓÊý
  957.     int MaxConn;
  958.     //!ŒàÊÓЭÒé {"TCP","UDP","MCAST",¡­}
  959.     int MonMode;
  960.     //!ÏÞ¶šÂëÁ÷Öµ
  961.     int MaxBps;
  962.     //!Ž«Êä²ßÂÔ
  963.     //char TransferPlan[NET_NAME_PASSWORD_LEN];
  964.     int TransferPlan;
  965.  
  966.     //!ÊÇ·ñÆôÓÞßËÙÂŒÏñÏÂÔزâÂÊ
  967.     bool bUseHSDownLoad;
  968.  
  969.     //!MACµØÖ·
  970.     char sMac[NET_MAX_MAC_LEN];
  971. };
  972.  
  973. //DHCP
  974. #define SDK_MAX_ETH_NUM 4
  975. struct SDK_NetDHCPConfig
  976. {
  977.     bool bEnable;
  978.     char ifName[32];
  979. };
  980. /// ËùÓÐÍø¿šµÄDHCPÅäÖÃ
  981. struct SDK_NetDHCPConfigAll
  982. {
  983.     SDK_NetDHCPConfig vNetDHCPConfig[SDK_MAX_ETH_NUM];
  984. };
  985.  
  986. ///< DNSÉèÖÃ
  987. struct SDK_NetDNSConfig
  988. {
  989.     CONFIG_IPAddress        PrimaryDNS;
  990.     CONFIG_IPAddress        SecondaryDNS;
  991. };
  992. ///< ·þÎñÆ÷œá¹¹¶šÒå
  993. struct SDK_RemoteServerConfig
  994. {
  995.     char ServerName[NET_NAME_PASSWORD_LEN]; ///< ·þÎñÃû
  996.     CONFIG_IPAddress ip;                        ///< IPµØÖ·
  997.     int Port;                           ///< ¶Ë¿ÚºÅ
  998.     char UserName[NET_NAME_PASSWORD_LEN];       ///< Óû§Ãû
  999.     char Password[NET_NAME_PASSWORD_LEN];       ///< ÃÜÂë  
  1000.     bool Anonymity;                         ///< ÊÇ·ñÄäÃûµÇÂŒ
  1001. };
  1002. ///< IPÈšÏÞÉèÖÃ
  1003. struct SDK_NetIPFilterConfig
  1004. {
  1005.     bool Enable;        ///< ÊÇ·ñ¿ªÆô
  1006.     CONFIG_IPAddress BannedList[NET_MAX_FILTERIP_NUM];      ///< ºÚÃûµ¥Áбí
  1007.     CONFIG_IPAddress TrustList[NET_MAX_FILTERIP_NUM];       ///< °×Ãûµ¥Áбí
  1008. };
  1009.  
  1010. ///< ×é²¥ÉèÖÃ
  1011. struct SDK_NetMultiCastConfig
  1012. {
  1013.     bool Enable;        ///< ÊÇ·ñ¿ªÆô
  1014.     SDK_RemoteServerConfig Server;      ///< ×é²¥·þÎñÆ÷
  1015. };
  1016.  
  1017. ///< pppoeÉèÖÃ
  1018. struct SDK_NetPPPoEConfig
  1019. {
  1020.     bool Enable;    ///< ÊÇ·ñ¿ªÆô
  1021.     SDK_RemoteServerConfig Server;      ///< PPPOE·þÎñÆ÷
  1022.     CONFIG_IPAddress addr;      ///< ²ŠºÅºó»ñµÃµÄIPµØÖ·
  1023. };
  1024.  
  1025. ///< DDNSÉèÖÃ
  1026. struct SDK_NetDDNSConfig
  1027. {
  1028.     bool Enable;    ///< ÊÇ·ñ¿ªÆô
  1029.     bool Online;        ///< ÊÇ·ñÔÚÏß
  1030.     char DDNSKey[NET_NAME_PASSWORD_LEN];    ///< DDNSÀàÐÍÃû³Æ, Ä¿Ç°ÓÐ: JUFENG
  1031.     char HostName[NET_NAME_PASSWORD_LEN];   ///< Ö÷»úÃû
  1032.     SDK_RemoteServerConfig Server;          ///< DDNS·þÎñÆ÷
  1033.    
  1034. };
  1035.  
  1036. ///< DDNSÉèÖÃ
  1037. struct SDK_NetDDNSConfigALL
  1038. {
  1039.     SDK_NetDDNSConfig ddnsConfig[NET_MAX_DDNS_TYPE];
  1040. };
  1041.  
  1042. ///< FTPÉèÖÃ
  1043. struct SDK_FtpServerConfig{
  1044.     bool bEnable;        ///< ·þÎñÆ÷ʹÄÜ    
  1045.     SDK_RemoteServerConfig Server;  ///< FTP·þÎñÆ÷
  1046.     char cRemoteDir[NET_MAX_PATH_LENGTH];   ///< Ô¶³ÌÄ¿ÂŒ
  1047.     int iMaxFileLen;    ///< ÎÄŒþ×îŽó³€¶È
  1048. };
  1049.  
  1050. ///< NTPÉèÖÃ
  1051. struct SDK_NetNTPConfig
  1052. {
  1053.     ///< ÊÇ·ñ¿ªÆô
  1054.     bool Enable;
  1055.     ///< PPPOE·þÎñÆ÷
  1056.     SDK_RemoteServerConfig Server;
  1057.     ///< žüÐÂÖÜÆÚ
  1058.     int UpdatePeriod;
  1059.     ///< ʱÇø
  1060.     int TimeZone;
  1061. };
  1062. #define  NET_MAX_EMAIL_TITLE_LEN 64
  1063. #define  NET_MAX_EMAIL_RECIEVERS  5
  1064. #define  NET_EMAIL_ADDR_LEN  32
  1065.  
  1066. ///< EMAILÉèÖÃ
  1067. struct SDK_NetEmailConfig
  1068. {
  1069.     ///< ÊÇ·ñ¿ªÆô
  1070.     bool Enable;
  1071.     ///< smtp ·þÎñÆ÷µØַʹÓÃ×Ö·ûŽ®ÐÎÊœÌî³ä
  1072.     ///< ¿ÉÒÔÌîip,Ò²¿ÉÒÔÌîÓòÃû
  1073.     SDK_RemoteServerConfig Server;
  1074.     bool bUseSSL;
  1075.     ///< ·¢Ë͵ØÖ·
  1076.     char SendAddr[NET_EMAIL_ADDR_LEN];
  1077.     ///< œÓÊÕÈ˵ØÖ·
  1078.     char Recievers[NET_MAX_EMAIL_RECIEVERS][NET_EMAIL_ADDR_LEN];
  1079.     ///< ÓÊŒþÖ÷Ìâ
  1080.     char Title[NET_MAX_EMAIL_TITLE_LEN];
  1081.     ///< emailÓÐЧʱŒä
  1082.     SDK_TIMESECTION Schedule[NET_N_MIN_TSECT];
  1083. };
  1084.  
  1085. ///< ARSP(Ö÷¶¯×¢²á·þÎñÆ÷)ÉèÖÃ
  1086. struct SDK_NetARSPConfig
  1087. {
  1088.     bool bEnable;   ///< ÊÇ·ñ¿ªÆô
  1089.     char sARSPKey[NET_NAME_PASSWORD_LEN];   ///< DNSÀàÐÍÃû³Æ
  1090.     int iInterval;  ///< ±£»îŒäžôʱŒä
  1091.     char sURL[NET_NAME_PASSWORD_LEN];    ///< ±Ÿ»úÓòÃû
  1092.     SDK_RemoteServerConfig Server;      ///< DDNS·þÎñÆ÷
  1093.     int nHttpPort;                  ///< ·þÎñÆ÷HTTP¶Ë¿Ú
  1094. };
  1095.  
  1096. struct SDK_NetARSPConfigAll
  1097. {
  1098.     SDK_NetARSPConfig vNetARSPConfigAll[NET_MAX_ARSP_TYPE];
  1099. };
  1100.  
  1101. ///< œâÂëÆ÷µØÖ·ÉèÖÃ
  1102. struct SDK_NetDecoderConfig
  1103. {
  1104.     bool Enable;                        ///< ÊÇ·ñ¿ªÆô
  1105.     char UserName[NET_NAME_PASSWORD_LEN];   ///< DDNSÀàÐÍÃû³Æ, Ä¿Ç°ÓÐ: JUFENG
  1106.     char PassWord[NET_NAME_PASSWORD_LEN];   ///< Ö÷»úÃû
  1107.     char Address[NET_NAME_PASSWORD_LEN];
  1108.     int Protocol;
  1109.     int Port;                           ///< œâÂëÆ÷Á¬œÓ¶Ë¿Ú
  1110.     int Channel;                        ///< œâÂëÆ÷Á¬œÓÍšµÀºÅ
  1111.     int Interval;                       ///< ÂÖѲµÄŒäžôʱŒä(s)
  1112. };
  1113.  
  1114. /// ËùÓÐÍšµÀµÄœâÂëÆ÷µØÖ·ÉèÖÃ
  1115. struct SDK_NetDecoderConfigAll
  1116. {
  1117.     SDK_NetDecoderConfig vNetDecoderConfig[NET_MAX_DECORDR_CH];
  1118. };
  1119.  
  1120.  
  1121. /// œâÂëÆ÷µØÖ·ÉèÖÃV2°æ±Ÿ
  1122. struct SDK_NetDecoderConfig_V2
  1123. {
  1124.     int nTotalNum;            //ÓÐЧµÄÊý×éžöÊý£¬×îŽóΪNET_MAX_CHANNUM
  1125.     SDK_NetDecoderConfig vNetDecoderConfig[NET_MAX_CHANNUM];
  1126. };
  1127.  
  1128. /// ËùÓÐÍšµÀµÄœâÂëÆ÷µØÖ·ÉèÖÃV2°æ±Ÿ
  1129. struct SDK_NetDecoderConfigAll_V2
  1130. {
  1131.     SDK_NetDecoderConfig_V2 vNetDecoderArray[NET_MAX_DECORDR_CH];
  1132. };
  1133.  
  1134.  
  1135. ///< œâÂëÆ÷µØÖ·ÉèÖÃ
  1136. struct SDK_NetDecorderConfigV3
  1137. {
  1138.     bool Enable;                        ///< ÊÇ·ñ¿ªÆô
  1139.     char UserName[NET_NAME_PASSWORD_LEN];   ///< DDNSÀàÐÍÃû³Æ, Ä¿Ç°ÓÐ: JUFENG
  1140.     char PassWord[NET_NAME_PASSWORD_LEN];   ///< Ö÷»úÃû
  1141.     char Address[NET_NAME_PASSWORD_LEN];
  1142.     int Protocol;
  1143.     int Port;                           ///< œâÂëÆ÷Á¬œÓ¶Ë¿Ú
  1144.     int Channel;                        ///< œâÂëÆ÷Á¬œÓÍšµÀºÅ
  1145.     int Interval;                       ///< ÂÖѲµÄŒäžôʱŒä(s),0:±íÊŸÓÀŸÃ
  1146.     char ConfName[NET_NAME_PASSWORD_LEN];   ///<ÅäÖÃÃû³Æ
  1147.     int DevType;                        ///<É豞ÀàÐÍ
  1148.     int StreamType;                     ///<Á¬œÓµÄÂëÁ÷ÀàÐÍCaptureChannelTypes
  1149. };
  1150.  
  1151. /*œâÂëÆ÷Á¬œÓÀàÐÍ*/
  1152. enum SDK_DecorderConnType
  1153. {
  1154.     SDK_CONN_SINGLE = 0,    /*µ¥Á¬œÓ*/
  1155.     SDK_CONN_MULTI = 1,     /*¶àÁ¬œÓÂÖѲ*/
  1156.     SDK_CONN_TYPE_NR,
  1157. };
  1158.  
  1159. /*Êý×ÖÍšµÀµÄÅäÖÃ*/
  1160. struct SDK_NetDigitChnConfig
  1161. {
  1162.     bool Enable;        /*Êý×ÖÍšµÀÊÇ·ñ¿ªÆô*/       
  1163.     int ConnType;       /*Á¬œÓÀàÐÍ£¬È¡DecoderConnectTypeµÄÖµ*/
  1164.     int TourIntv;       /*¶àÁ¬œÓʱÂÖѲŒäžô*/
  1165.     unsigned int SingleConnId;  /*µ¥Á¬œÓʱµÄÁ¬œÓÅäÖÃID, ŽÓ1¿ªÊŒ£¬0±íÊŸÎÞЧ*/
  1166.     bool EnCheckTime;   /*¿ªÆô¶Ôʱ*/
  1167.     SDK_NetDecorderConfigV3 NetDecorderConf[32]; /*ÍøÂçÉ豞͚µÀÅäÖñí*/
  1168. };
  1169.  
  1170. /*ËùÓÐÊý×ÖÍšµÀµÄÅäÖÃ*/
  1171. struct SDK_NetDecorderConfigAll_V3
  1172. {
  1173.     SDK_NetDigitChnConfig DigitChnConf[NET_MAX_DECORDR_CH];
  1174. };
  1175.  
  1176. //ÍšµÀģʜ
  1177. #define MAX_HVR_CHNCAP_CHN      32
  1178. typedef struct SDK_HVR_CHNCAP
  1179. {
  1180.     int nD1Chn;     // Ö§³ÖµÄD1·Êý
  1181.     int n960HChn;   // Ö§³ÖµÄ960H·Êý
  1182.     int n720PChn;   // Ö§³ÖµÄ720P·Êý
  1183.     int n1080PChn;  // Ö§³ÖµÄ1080P·Êý
  1184.     int nCIFChn;    //Ö§³ÖµÄCIFÍšµÀÊý
  1185.     int nHD1Chn;    //Ö§³ÖµÄHD1ÍšµÀÊý
  1186.     int nRes[2];
  1187. }SDK_HVR_CHNCAP, *SDK_PHVR_CHNCAP;
  1188.  
  1189. typedef struct SDK_CAPTURE_HVRCAP
  1190. {
  1191.     SDK_HVR_CHNCAP DigitalCap;      // Ö§³ÖµÄÊý×ÖÍšµÀÐÅÏ¢
  1192.     SDK_HVR_CHNCAP AnalogCap;       // Ö§³ÖµÄÄ£ÄâÍšµÀÐÅÏ¢
  1193. }SDK_CAPTURE_HVRCAP, *SDK_PCAPTURE_HVRCAP;
  1194.  
  1195. typedef struct SDK_CAPTURE_TOTAL_HVRCAP
  1196. {
  1197.     int     nHVRCap;            // ʵŒÊÖ§³ÖµÄģʜ
  1198.     SDK_CAPTURE_HVRCAP  HVRCap[MAX_HVR_CHNCAP_CHN];     // ËùÓÐģʜµÄ»ã×Ü
  1199. }SDK_CAPTURE_TOTAL_HVRCAP, *SDK_PCAPTURE_TOTAL_HVRCAP;
  1200.  
  1201. //ÍšµÀģʜÅäÖÃ
  1202. struct SDK_NetDecorderChnModeConfig
  1203. {
  1204.     SDK_CAPTURE_TOTAL_HVRCAP    HVRTotalCap;
  1205.     int HVRCurCapMode;
  1206. };
  1207.  
  1208.  
  1209. /*Êý×ÖÍšµÀ׎̬*/
  1210. struct SDK_NetDecorderChnStatus
  1211. {
  1212.     char ChnName[NET_NAME_PASSWORD_LEN];
  1213.     char pMaxResName[50];
  1214.     char    pCurResName[50];
  1215.     char pStatus[50];
  1216. };
  1217.  
  1218. /*ËùÓÐÊý×ÖÍšµÀ׎̬*/
  1219. struct SDK_NetDecorderChnStatusAll
  1220. {
  1221.     SDK_NetDecorderChnStatus ChnStatusAll[MAX_HVR_CHNCAP_CHN];
  1222. };
  1223.  
  1224. ///< 3G²ŠºÅÉèÖÃ
  1225. struct SDK_Net3GConfig
  1226. {
  1227.     bool bEnable;             ///< ÎÞÏßÄ£¿éʹÄܱêÖŸ
  1228.     int iNetType;             ///< ÎÞÏßÍøÂçÀàÐÍ
  1229.     char sAPN[NET_NAME_PASSWORD_LEN];       ///< œÓÈëµãÃû³Æ
  1230.     char sDialNum[NET_NAME_PASSWORD_LEN];   ///< ²ŠºÅºÅÂë
  1231.     char sUserName[NET_NAME_PASSWORD_LEN];  ///< ²ŠºÅÓû§Ãû
  1232.     char sPassword[NET_NAME_PASSWORD_LEN];  ///< ²ŠºÅÃÜÂë
  1233.     CONFIG_IPAddress addr;            ///< ²ŠºÅºó»ñµÃµÄIPµØÖ·
  1234. };
  1235.  
  1236. ///< ÊÖ»úŒà¿ØÉèÖðüÀš
  1237. struct SDK_NetMoblieConfig
  1238. {
  1239.     bool bEnable;   ///< ÊÇ·ñ¿ªÆô
  1240.     SDK_RemoteServerConfig Server;      ///< ·þÎñÆ÷
  1241. };
  1242.  
  1243. //RTSP
  1244. struct SDK_NetRTSPConfig
  1245. {
  1246.     bool bServer;
  1247.     bool bClient;
  1248.     SDK_RemoteServerConfig Server;      ///< ·þÎñÆ÷ģʜ
  1249.     SDK_RemoteServerConfig Client;      ///< ¿Í»§¶Ëģʜ
  1250. };
  1251.  
  1252. ///< UPNPÉèÖÃ
  1253. struct SDK_NetUPNPConfig
  1254. {
  1255.     bool bEnable;             ///< ʹÄܱêÖŸ
  1256.     bool bState;              ///< ׎̬, 1: OK 0: NOK
  1257.     int iHTTPPort;            ///< HTTPÁ¬œÓÓ³ÉäºóµÄ¶Ë¿Ú
  1258.     int iMediaPort;           ///< ÃœÌåÁ¬œÓÓ³ÉäºóµÄ¶Ë¿Ú
  1259.     int iMobliePort;          ///< ÊÖ»úŒà¿ØÓ³ÉäºóµÄ¶Ë¿Ú
  1260. };
  1261.  
  1262. ///< WIFIÉèÖÃ
  1263. struct SDK_NetWifiConfig
  1264. {
  1265.     bool bEnable;
  1266.     char sSSID[36];            //SSID Number
  1267.     int nChannel;                   //channel
  1268.     char sNetType[32];         //Infra, Adhoc
  1269.     char sEncrypType[32];      //NONE, WEP, TKIP, AES
  1270.     char sAuth[32];            //OPEN, SHARED, WEPAUTO, WPAPSK, WPA2PSK, WPANONE, WPA, WPA2
  1271.     int  nKeyType;                  //0:Hex 1:ASCII
  1272.     char sKeys[NET_IW_ENCODING_TOKEN_MAX];
  1273.     CONFIG_IPAddress HostIP;        ///< host ip
  1274.     CONFIG_IPAddress Submask;       ///< netmask
  1275.     CONFIG_IPAddress Gateway;       ///< gateway
  1276. };
  1277.  
  1278. enum SDK_RSSI_SINGNAL
  1279. {
  1280.     SDK_RSSI_NO_SIGNAL,   //<= -90db
  1281.     SDK_RSSI_VERY_LOW,     //<= -81db
  1282.     SDK_RSSI_LOW,          //<= -71db
  1283.     SDK_RSSI_GOOD,         //<= -67db
  1284.     SDK_RSSI_VERY_GOOD,    //<= -57db
  1285.     SDK_RSSI_EXCELLENT     //>-57db
  1286. };
  1287.  
  1288. struct SDK_NetWifiDevice
  1289. {
  1290.     char sSSID[36];            //SSID Number
  1291.     int nRSSI;                 //SEE SDK_RSSI_SINGNAL
  1292.     int nChannel;
  1293.     char sNetType[32];         //Infra, Adhoc
  1294.     char sEncrypType[32];      //NONE, WEP, TKIP, AES
  1295.     char sAuth[32];            //OPEN, SHARED, WEPAUTO, WPAPSK, WPA2PSK, WPANONE, WPA, WPA2
  1296. };
  1297.  
  1298. struct SDK_NetWifiDeviceAll
  1299. {
  1300.     int nDevNumber;
  1301.     SDK_NetWifiDevice vNetWifiDeviceAll[NET_MAX_AP_NUMBER];
  1302. };
  1303.  
  1304. ///< ±šŸ¯ÖÐÐÄÉèÖÃ
  1305. struct SDK_NetAlarmCenterConfig
  1306. {
  1307.     bool bEnable;       ///< ÊÇ·ñ¿ªÆô
  1308.     char sAlarmServerKey[NET_NAME_PASSWORD_LEN];    ///< ±šŸ¯ÖÐÐÄЭÒéÀàÐÍÃû³Æ,
  1309.     ///< ±šŸ¯ÖÐÐÄ·þÎñÆ÷
  1310.     SDK_RemoteServerConfig Server; 
  1311.     bool bAlarm;
  1312.     bool bLog;
  1313. };
  1314.  
  1315. struct SDK_NetAlarmServerConfigAll
  1316. {
  1317.     SDK_NetAlarmCenterConfig vAlarmServerConfigAll[NET_MAX_ALARMSERVER_TYPE];
  1318. };
  1319.  
  1320.  
  1321. //»¥ÐÅ»¥Íš
  1322. struct SDK_CONFIG_NET_MEGA
  1323. {
  1324.     bool bEnable;
  1325.     bool bNetManEnable;
  1326.     CONFIG_IPAddress ServerIP;
  1327.     int iServerPort;
  1328.     char sDeviceId[32];
  1329.     char sUserName[24];
  1330.     char sPasswd[32];
  1331.     int iMaxCon;
  1332.     int iVideoPort;
  1333.     int iAudioPort;
  1334.     int iMsgPort;
  1335.     int iUpdatePort;
  1336. };
  1337.  
  1338. // ÐÂÍûƜ̚
  1339. struct SDK_CONFIG_NET_XINGWANG
  1340. {
  1341.     bool bEnable;
  1342.     bool bSyncTime;
  1343.     bool bSubStream;
  1344.     CONFIG_IPAddress ServerIP;
  1345.     int iServerPort;
  1346.     int iDownLoadPort;
  1347.     char sPasswd[32];
  1348.     char szSID[32];
  1349. };
  1350.  
  1351. // ÊÓËÑƜ̚
  1352. struct SDK_CONFIG_NET_SHISOU
  1353. {
  1354.     bool bEnable;
  1355.     SDK_RemoteServerConfig Server;
  1356.     char szSID[NET_MAX_USERNAME_LENGTH];
  1357. };
  1358.  
  1359. // VVEYEƜ̚
  1360. struct SDK_CONFIG_NET_VVEYE
  1361. {
  1362.     bool bEnable;                
  1363.     bool bCorpEnable;            //Ö»ÓÐÔÚʹÓÃÆóÒµ·þÎñÆ÷ʱ²ÅÐèÒªÉèÖÃServer
  1364.     SDK_RemoteServerConfig Server;
  1365.     char szDeviceName[NET_MAX_USERNAME_LENGTH];
  1366. };
  1367.  
  1368. // ±šŸ¯ÖÐÐÄÏûÏ¢ÀàÐÍ
  1369. enum SDK_AlarmCenterMsgType
  1370. {
  1371.     SDK_ALARMCENTER_ALARM,
  1372.     SDK_ALARMCENTER_LOG,
  1373. };
  1374.  
  1375. // ±šŸ¯ÖÐÐÄÏûÏ¢ÀàÐÍ
  1376. enum SDK_AlarmCenterStatus
  1377. {
  1378.     SDK_AC_START,
  1379.     SDK_AC_STOP,
  1380. };
  1381.  
  1382. // žæŸ¯ÖÐÐÄÏûÏ¢ÄÚÈÝ
  1383. struct SDK_NetAlarmCenterMsg
  1384. {
  1385.     CONFIG_IPAddress HostIP;        ///< É豞IP
  1386.     int nChannel;                   ///< ÍšµÀ
  1387.     int nType;                      ///< ÀàÐÍ ŒûAlarmCenterMsgType
  1388.     int nStatus;                    ///< ׎̬ ŒûAlarmCenterStatus
  1389.     SDK_SYSTEM_TIME Time;           ///< ·¢ÉúʱŒä
  1390.     char sEvent[NET_MAX_INFO_LEN];  ///< ÊÂŒþ
  1391.     char sSerialID[NET_MAX_MAC_LEN]; ///< É豞ÐòÁкÅ
  1392.     char sDescrip[NET_MAX_INFO_LEN];  ///< ÃèÊö
  1393. };
  1394.  
  1395. /// ±àÂëÐÅÏ¢
  1396. struct SDK_EncodeInfo
  1397. {
  1398.     bool bEnable;           ///< ʹÄÜÏî
  1399.     int iStreamType;        ///< ÂëÁ÷ÀàÐÍ£¬capture_channel_t
  1400.     bool bHaveAudio;        ///< ÊÇ·ñÖ§³ÖÒôƵ
  1401.     unsigned int uiCompression;     ///< capture_comp_tµÄÑÚÂë
  1402.     unsigned int uiResolution;      ///< SDK_CAPTURE_SIZE_tµÄÑÚÂë
  1403. };
  1404.  
  1405. /// ±àÂëÄÜÁŠ
  1406. struct CONFIG_EncodeAbility
  1407. {
  1408.     unsigned int iMaxEncodePower;       ///< Ö§³ÖµÄ×îŽó±àÂëÄÜÁŠ
  1409.     int iChannelMaxSetSync;     ///< ÿžöÍšµÀ·Ö±æÂÊÊÇ·ñÐèҪͬ²œ 0-²»Í¬²œ, 1 -ͬ²œ
  1410.     unsigned int nMaxPowerPerChannel[NET_MAX_CHANNUM];      ///< ÿžöÍšµÀÖ§³ÖµÄ×îžß±àÂëÄÜÁŠ
  1411.     unsigned int ImageSizePerChannel[NET_MAX_CHANNUM];      ///< ÿžöÍšµÀÖ§³ÖµÄÍŒÏñ·Ö±æÂÊ
  1412.     unsigned int ExImageSizePerChannel[NET_MAX_CHANNUM];        ///< ÿžöÍšµÀÖ§³ÖµÄžšÂëÁ÷ÍŒÏñ·Ö±æÂÊ
  1413.     SDK_EncodeInfo vEncodeInfo[SDK_CHL_FUNCTION_NUM];   ///< ±àÂëÐÅÏ¢,ÔÝʱ×îŽóŸÍ4ÖÐÂëÁ÷
  1414.     SDK_EncodeInfo vCombEncInfo[SDK_CHL_FUNCTION_NUM];  ///< ×éºÏ±àÂëÐÅÏ¢,ÔÝʱ×îŽóŸÍ4ÖÐÂëÁ÷
  1415.     int iMaxBps;                ///< ×îžßÂëÁ÷Kbps
  1416.     unsigned int ExImageSizePerChannelEx[NET_MAX_CHANNUM][SDK_CAPTURE_SIZE_NR]; ///< ÿžöÍšµÀÖ§³ÖµÄžšÂëÁ÷ÍŒÏñ·Ö±æÂÊ
  1417. };
  1418.  
  1419. // Ž®¿ÚЭÒé
  1420. enum SDK_CommProtocol
  1421. {
  1422.     SDK_CONSOLE = 0,
  1423.     SDK_KEYBOARD,
  1424.     SDK_COM_TYPES,
  1425. };
  1426. /// Ž®¿ÚЭÒé
  1427. struct SDK_COMMFUNC
  1428. {
  1429.     //ÿžöЭÒé×î¶àÓÉ64žö×Ö·û×é³É
  1430.     int nProNum;
  1431.     char vCommProtocol[100][32];
  1432. };
  1433.  
  1434. /// ÔÆ̚ЭÒé
  1435. struct SDK_PTZPROTOCOLFUNC
  1436. {
  1437.     //ÿžöЭÒé×î¶àÓÉ64žö×Ö·û×é³É
  1438.     int nProNum;
  1439.     char vPTZProtocol[100][NET_MAX_PTZ_PROTOCOL_LENGTH];
  1440. };
  1441.  
  1442. /// ÇøÓòÕÚµ²ÄÜÁŠŒ¯
  1443. struct SDK_BlindDetectFunction
  1444. {
  1445.     int iBlindConverNum;    ///< ÇøÓòÕÚµ²¿éÊý
  1446. };
  1447.  
  1448. /// ¶¯ŒìÇøÓòÄÜÁŠŒ¯
  1449. struct SDK_MotionDetectFunction
  1450. {
  1451.     int iGridRow;
  1452.     int iGridColumn;
  1453. };
  1454.  
  1455. /// Ö§³ÖµÄDDNSÀàÐÍ
  1456. struct SDK_DDNSServiceFunction
  1457. {
  1458.     int  nTypeNum;
  1459.     char vDDNSType[NET_MAX_DDNS_TYPE][64];
  1460. };
  1461.  
  1462. /// Ö§³ÖÓïÑÔ
  1463. struct SDK_MultiLangFunction
  1464. {
  1465.     //ÿžöЭÒé×î¶àÓÉ64žö×Ö·û×é³É
  1466.     int nLangNum;
  1467.     char vLanguageName[128][64];
  1468. };
  1469.  
  1470. /// Ö§³ÖµÄÊÓƵÖÆÊœ
  1471. struct SDK_MultiVstd
  1472. {
  1473.     //ÿžöЭÒé×î¶àÓÉ3žö×Ö·û×é³É
  1474.     int nVstdNum;
  1475.     char vVstdName[3][64];
  1476. };
  1477.  
  1478. /// ±àÂ빊ÄÜ
  1479. enum SDK_EncodeFunctionTypes
  1480. {
  1481.     SDK_ENCODE_FUNCTION_TYPE_DOUBLE_STREAM,     ///< Ë«ÂëÁ÷¹ŠÄÜ
  1482.     SDK_ENCODE_FUNCTION_TYPE_COMBINE_STREAM,    ///< ×éºÏ±àÂ빊ÄÜ
  1483.     SDK_ENCODE_FUNCTION_TYPE_SNAP_STREAM,       ///< ץ͌¹ŠÄÜ
  1484.     SDK_ENCODE_FUNCTION_TYPE_WATER_MARK,        ///< ˮӡ¹ŠÄÜ
  1485.     SDK_ENCODE_FUNCTION_TYPE_NR,
  1486. };
  1487.  
  1488. /// ±šŸ¯¹ŠÄÜ
  1489. enum SDK_AlarmFucntionTypes
  1490. {
  1491.     SDK_ALARM_FUNCTION_TYPE_MOTION_DETECT,  ///< ¶¯Ì¬Œì²â
  1492.     SDK_ALARM_FUNCTION_TYPE_BLIND_DETECT,   ///< ÊÓÆÁÕÚµ²
  1493.     SDK_ALARM_FUNCTION_TYPE_LOSS_DETECT,    ///< ÊÓÆÁ¶ªÊ§
  1494.     SDK_ALARM_FUNCTION_TYPE_LOCAL_ALARM,    ///< ±ŸµØ±šŸ¯
  1495.     SDK_ALARM_FUNCTION_TYPE_NET_ALARM,      ///< ÍøÂ籚Ÿ¯
  1496.     SDK_ALARM_FUNCTION_TYPE_IP_CONFLICT,    ///< IPµØÖ·³åÍ»
  1497.     SDK_ALARM_FUNCTION_TYPE_NET_ABORT,      ///< ÍøÂçÒì³£
  1498.     SDK_ALARM_FUNCTION_TYPE_STORAGE_NOTEXIST,   ///< ŽæŽ¢É豞²»ŽæÔÚ
  1499.     SDK_ALARM_FUNCTION_TYPE_STORAGE_LOWSPACE,   ///< ŽæŽ¢É豞ÈÝÁ¿²»×ã
  1500.     SDK_ALARM_FUNCTION_TYPE_STORAGE_FAILURE,    ///< ŽæŽ¢É豞·ÃÎÊʧ°Ü
  1501.     SDK_ALARM_FUNCTION_TYPE_VIDEOANALYSE,///<ÊÓƵ·ÖÎö
  1502.     SDK_ALARM_FUNCTION_TYPE_NR
  1503. };
  1504.  
  1505. /// ÍøÂç·þÎñ¹ŠÄÜ
  1506. enum SDK_NetServerTypes
  1507. {
  1508.     SDK_NET_SERVER_TYPES_IPFILTER,      ///< °×ºÚÃûµ¥
  1509.     SDK_NET_SERVER_TYPES_DHCP,          ///< DHCP¹ŠÄÜ
  1510.     SDK_NET_SERVER_TYPES_DDNS,          ///< DDNS¹ŠÄÜ
  1511.     SDK_NET_SERVER_TYPES_EMAIL,         ///< Email¹ŠÄÜ
  1512.     SDK_NET_SERVER_TYPES_MULTICAST,     ///< ¶à²¥¹ŠÄÜ
  1513.     SDK_NET_SERVER_TYPES_NTP,           ///< NTP¹ŠÄÜ
  1514.     SDK_NET_SERVER_TYPES_PPPOE,
  1515.     SDK_NET_SERVER_TYPES_DNS,
  1516.     SDK_NET_SERVER_TYPES_ARSP,          ///< Ö÷¶¯×¢²á·þÎñ
  1517.     SDK_NET_SERVER_TYPES_3G,            ///< 3G²ŠºÅ
  1518.     SDK_NET_SERVER_TYPES_MOBILE=10,        ///< ÊÖ»úŒà¿Ø
  1519.     SDK_NET_SERVER_TYPES_UPNP,              ///< UPNP
  1520.     SDK_NET_SERVER_TYPES_FTP,               ///< FTP
  1521.     SDK_NET_SERVER_TYPES_WIFI,          ///<WIFI
  1522.     SDK_NET_SERVER_TYPES_ALARM_CENTER,  ///< žæŸ¯ÖÐÐÄ
  1523.     SDK_NET_SERVER_TYPES_NETPLAT_MEGA,  ///< »¥ÐÅ»¥Íš
  1524.     SDK_NET_SERVER_TYPES_NETPLAT_XINWANG,  ///< ÐÇÍû
  1525.     SDK_NET_SERVER_TYPES_NETPLAT_SHISOU,  ///< ÊÓËÑ
  1526.     SDK_NET_SERVER_TYPES_NETPLAT_VVEYE,  ///< ÍþÍþÑÛ
  1527.     SDK_NET_SERVER_TYPES_RTSP,     //RTSP
  1528.     SDK_NET_SERVER_TYPES_PHONEMSG=20,     //ÊÖ»úÐÅÏ¢·¢ËÍÅäÖÃ
  1529.     SDK_NET_SERVER_TYPES_PHONEMULTIMEDIAMSG,     //ÊÖ»úÐÅÏ¢·¢ËÍÅäÖÃ
  1530.     SDK_NET_SERVER_TYPES_DAS,          //Ö÷¶¯×¢²á
  1531.     SDK_NET_SERVER_TYPES_LOCALSDK_PLATFORM,          //ÍøÂçƜ̚ÐÅÏ¢ÉèÖÃ
  1532.     SDK_NET_SERVER_TYPES_GOD_EYE,///<ÉñÑۜӟ¯ÖÐÐÄϵͳ
  1533.     SDK_NET_SERVER_TYPES_NAT,       ///NATŽ©Íž£¬MTUÅäÖÃ
  1534.     SDK_NET_SERVER_TYPES_VPN,     ///VPN
  1535.     SDK_NET_SERVER_TYPES_NR,
  1536.    
  1537. };
  1538.  
  1539. /// Ô€ÀÀ¹ŠÄÜ
  1540. enum SDK_PreviewTypes
  1541. {
  1542.     SDK_PREVIEW_TYPES_TOUR,     ///< ÂÖѲ
  1543.     SDK_PREVIEW_TYPES_TALK,     ///< GUIœçÃæÅäÖÃ
  1544.     SDK_PREVIEW_TYPES_NR
  1545. };
  1546.  
  1547. ///Ž®¿ÚÀàÐÍ
  1548. enum SDK_CommTypes
  1549. {
  1550.     SDK_COMM_TYPES_RS485,           ///<485Ž®¿Ú
  1551.     SDK_COMM_TYPES_RS232,           ///<232Ž®¿Ú
  1552.     SDK_COMM_TYPES_NR
  1553. };
  1554.  
  1555. //ÊäÈë·šÏÞÖÆ
  1556. enum SDK_InPutMethod
  1557. {
  1558.     SDK_NO_SUPPORT_CHINESE,     //²»Ö§³ÖÖÐÎÄÊäÈë
  1559.     SDK_NO_SUPPORT_NR
  1560. };
  1561.  
  1562. //±šŸ¯ÖбêÇ©ÏÔÊŸ
  1563. enum SDK_TipShow
  1564. {
  1565.     SDK_NO_BEEP_TIP_SHOW,  //·äÃùÌáÊŸ
  1566.     SDK_NO_FTP_TIP_SHOW,  //FTPÌáÊŸ
  1567.     SDK_NO_EMAIL_TIP_SHOW,  //EMAILÌáÊŸ
  1568.     SDK_NO_TIP_SHOW_NR
  1569. };
  1570. ///³µÔعŠÄÜ
  1571. enum SDK_MobileCar
  1572. {
  1573.     SDK_MOBILEDVR_STATUS_EXCHANGE,
  1574.     SDK_MOBILEDVR_DELAY_SET,
  1575.     SDK_MOBILEDVR_CARPLATE_SET,
  1576.     SDK_MOBILEDVR_GPS_TIMING,
  1577.     SDK_MOBILEDVR_NR
  1578. };
  1579.  
  1580. ///ÆäËû¹ŠÄÜ
  1581. enum SDK_OtherFunction
  1582. {
  1583.     SDK_OTHER_DOWNLOADPAUSE,        //ÂŒÏñÏÂÔØÔÝÍ£¹ŠÄÜ
  1584.     SDK_OTHER_USB_SUPPORT_RECORD,   //USBÖ§³ÖÂŒÏñ¹ŠÄÜ
  1585.     SDK_OTHER_SD_SUPPORT_RECORD,        //SDÖ§³ÖÂŒÏñ¹ŠÄÜ
  1586.     SDK_OTHER_ONVIF_CLIENT_SUPPORT, //ÊÇ·ñÖ§³ÖONVIF¿Í»§¶Ë
  1587.     SDK_OTHER_NR
  1588. };
  1589.  
  1590. ///Ö§³ÖµÄϵͳ¹ŠÄÜ
  1591. struct SDK_SystemFunction
  1592. {
  1593.     bool vEncodeFunction[SDK_ENCODE_FUNCTION_TYPE_NR];  ///< ±àÂ빊ÄÜSDK_EncodeFunctionTypes
  1594.     bool vAlarmFunction[SDK_ALARM_FUNCTION_TYPE_NR];        ///< ±šŸ¯¹ŠÄÜAlarmFucntionTypes
  1595.     bool vNetServerFunction[SDK_NET_SERVER_TYPES_NR];   ///< ÍøÂç·þÎñ¹ŠÄÜNetServerTypes
  1596.     bool vPreviewFunction[SDK_PREVIEW_TYPES_NR];        ///< Ô€ÀÀ¹ŠÄÜPreviewTypes
  1597.     bool vCommFunction[SDK_COMM_TYPES_NR];          ///<Ž®¿ÚÀàÐÍSDK_CommTypes
  1598.     bool vInputMethodFunction[SDK_NO_SUPPORT_NR];  //<ÊäÈë·šÏÞÖÆSDK_InPutMethod>
  1599.     bool vTipShowFunction[SDK_NO_TIP_SHOW_NR];               //±šŸ¯±êÇ©ÏÔÊŸSDK_TipShow>
  1600.     bool vMobileCarFunction[SDK_MOBILEDVR_NR];//³µÔعŠÄÜ
  1601.     bool    vOtherFunction[SDK_OTHER_NR];               //ÆäËû¹ŠÄÜOtherFunction
  1602. };
  1603.  
  1604. struct SDK_COMMATTRI
  1605. {
  1606.     int iDataBits;  // ÊýŸÝλȡֵΪ5,6,7,8
  1607.     int iStopBits;  // ֹͣλ
  1608.     int iParity;    // УÑéλ
  1609.     int iBaudRate;  // ʵŒÊ²šÌØÂÊ
  1610. };
  1611.  
  1612. // Ž®¿ÚÅäÖÃ
  1613. struct SDK_CONFIG_COMM_X
  1614. {
  1615.     char iProtocolName[32]; // Ž®¿ÚЭÒé:¡°Console¡±
  1616.     int iPortNo;        // ¶Ë¿ÚºÅ
  1617.     SDK_COMMATTRI aCommAttri;       // Ž®¿ÚÊôÐÔ
  1618. };
  1619.  
  1620. struct SDK_CommConfigAll
  1621. {
  1622.     SDK_CONFIG_COMM_X vCommConfig[SDK_COM_TYPES];
  1623. };
  1624.  
  1625.  
  1626. // ÔÆÌšÉèÖÃ
  1627. struct SDK_STR_CONFIG_PTZ
  1628. {
  1629.     char sProtocolName[NET_MAX_PTZ_PROTOCOL_LENGTH];    // ЭÒéÃû³Æ    
  1630.     int ideviceNo;              // ÔÆÌšÉ豞µØÖ·±àºÅ    
  1631.     int iNumberInMatrixs;       // ÔÚŸØÕóÖеÄͳһ±àºÅ
  1632.     int iPortNo;                // Ž®¿Ú¶Ë¿ÚºÅ [1, 4]  
  1633.     SDK_COMMATTRI dstComm;          // Ž®¿ÚÊôÐÔ    
  1634. };
  1635.  
  1636. //ËùÓÐÍšµÀÔÆ̚ЭÒé
  1637. struct SDK_STR_PTZCONFIG_ALL
  1638. {
  1639.     SDK_STR_CONFIG_PTZ ptzAll[NET_MAX_CHANNUM];
  1640. };
  1641.  
  1642. //RS485
  1643. struct SDK_STR_RS485CONFIG_ALL
  1644. {
  1645.     SDK_STR_CONFIG_PTZ ptzAll[NET_MAX_CHANNUM];
  1646. };
  1647.  
  1648.  
  1649. struct SDK_CONFIG_WORKSHEET
  1650. {  
  1651.     SDK_TIMESECTION tsSchedule[NET_N_WEEKS][NET_N_TSECT];   /*!< ʱŒä¶Î */
  1652. };
  1653.  
  1654. /// ÂŒÏñģʜÖÖÀà
  1655. enum SDK_RecordModeTypes
  1656. {
  1657.     SDK_RECORD_MODE_CLOSED,     ///< ¹Ø±ÕÂŒÏñ
  1658.     SDK_RECORD_MODE_MANUAL,     ///< ÊÖ¶¯ÂŒÏñ
  1659.     SDK_RECORD_MODE_CONFIG,     ///< °ŽÅäÖÃÂŒÏñ
  1660.     SDK_RECORD_MODE_NR,    
  1661. };
  1662.  
  1663. ///< ÂŒÏñÉèÖÃ
  1664. struct SDK_RECORDCONFIG
  1665. {
  1666.     int iPreRecord;         ///< ԀŒʱŒä£¬ÎªÁãʱ±íÊŸ¹Ø±Õ 
  1667.     bool bRedundancy;       ///< ÈßÓ࿪¹Ø
  1668.     bool bSnapShot;         ///< ¿ìÕÕ¿ª¹Ø  
  1669.     int iPacketLength;      ///< ÂŒÏñŽò°ü³€¶È£š·ÖÖÓ£©[1, 255]
  1670.     int iRecordMode;        ///< ÂŒÏñģʜ£¬0 ¹Ø±Õ£¬1 œûÖ¹ 2 ÅäÖÃ
  1671.     SDK_CONFIG_WORKSHEET wcWorkSheet;           ///< ÂŒÏñʱŒä¶Î  
  1672.     unsigned int typeMask[NET_N_WEEKS][NET_N_TSECT];        ///< ÂŒÏñÀàÐÍÑÚÂë
  1673. };
  1674.  
  1675. //ÂŒÏñÉèÖÜṹÌå
  1676. struct SDK_RECORDCONFIG_ALL
  1677. {
  1678.     SDK_RECORDCONFIG vRecordConfigAll[NET_MAX_CHANNUM];
  1679. };
  1680.  
  1681. ///< ͌ƬÉèÖÃ
  1682. struct SDK_SnapshotConfig
  1683. {
  1684.     int iPreSnap;           ///< Ԁץ͌ƬÊý
  1685.     bool bRedundancy;       ///< ÈßÓ࿪¹Ø
  1686.     int iSnapMode;      ///< ÂŒÏñģʜ£¬ŒûRecordModeTypes
  1687.     SDK_CONFIG_WORKSHEET wcWorkSheet;               ///< ÂŒÏñʱŒä¶Î  
  1688.     unsigned int typeMask[NET_N_WEEKS][NET_N_TSECT];    ///< ÂŒÏñÀàÐÍÑÚÂ룬Œûenum RecordTypes
  1689. };
  1690.  
  1691. struct SDK_SnapshotConfigAll
  1692. {
  1693.     SDK_SnapshotConfig vSnapshotConfigAll[NET_MAX_CHANNUM];
  1694. };
  1695.  
  1696.  
  1697. //±šŸ¯Ïà¹Øœá¹¹Ìå
  1698. //  ÔÆÌšÁª¶¯œá¹¹
  1699. struct SDK_PtzLinkConfig
  1700. {
  1701.     int iType;      // Áª¶¯µÄÀàÐÍ
  1702.     int iValue;     // Áª¶¯µÄÀàÐͶÔÓŠµÄÖµ
  1703. };
  1704.  
  1705. #define CHANNELNAME_MAX_LEN 64  //ÍšµÀÃû³Æ×îŽó³€¶È
  1706.  
  1707. struct SDK_EventHandler
  1708. {
  1709.     unsigned int    dwRecord;               // ÂŒÏóÑÚÂë
  1710.     int     iRecordLatch;           // ÂŒÏñÑÓʱ£º10¡«300 sec   
  1711.     unsigned int    dwTour;                 // ÂÖѲÑÚÂë    
  1712.     unsigned int    dwSnapShot;             // ץ͌ÑÚÂë
  1713.     unsigned int    dwAlarmOut;             // ±šŸ¯Êä³öÍšµÀÑÚÂë
  1714.     unsigned int    dwMatrix;               // ŸØÕóÑÚÂë
  1715.     int     iEventLatch;            // Áª¶¯¿ªÊŒÑÓʱʱŒä£¬sΪµ¥Î»
  1716.     int     iAOLatch;               // ±šŸ¯Êä³öÑÓʱ£º10¡«300 sec  
  1717.     SDK_PtzLinkConfig PtzLink[NET_MAX_CHANNUM];     // ÔÆÌšÁª¶¯Ïî
  1718.     SDK_CONFIG_WORKSHEET schedule;      // ÂŒÏñʱŒä¶Î
  1719.  
  1720.     bool    bRecordEn;              // ÂŒÏñʹÄÜ
  1721.     bool    bTourEn;                // ÂÖѲʹÄÜ
  1722.     bool    bSnapEn;                // ץ͌ʹÄÜ    
  1723.     bool    bAlarmOutEn;            // ±šŸ¯Ê¹ÄÜ
  1724.     bool    bPtzEn;
  1725.  
  1726.     // ÔÆÌšÁª¶¯Ê¹ÄÜ
  1727.     bool    bTip;                   // ÆÁÄ»ÌáʟʹÄÜ    
  1728.     bool    bMail;                  // ·¢ËÍÓÊŒþ    
  1729.     bool    bMessage;               // ·¢ËÍÏûÏ¢µœ±šŸ¯ÖÐÐÄ    
  1730.     bool    bBeep;                  // ·äÃù    
  1731.     bool    bVoice;                 // ÓïÒôÌáÊŸ        
  1732.     bool    bFTP;                   // Æô¶¯FTPŽ«Êä
  1733.     bool    bMatrixEn;              // ŸØÕóʹÄÜ
  1734.     bool    bLog;                   // ÈÕ֟ʹÄÜ
  1735.     bool    bMessagetoNet;          // ÏûÏ¢ÉÏŽ«žøÍøÂçʹÄÜ
  1736.  
  1737.     bool    bShowInfo;              // ÊÇ·ñÔÚGUIÉϺͱàÂëÀïÏÔÊŸ±šŸ¯ÐÅÏ¢
  1738.     unsigned int    dwShowInfoMask;         // ÒªÁª¶¯ÏÔÊŸ±šŸ¯ÐÅÏ¢µÄÍšµÀÑÚÂë
  1739.     char    pAlarmInfo[CHANNELNAME_MAX_LEN];//ÒªÏÔÊŸµÄ±šŸ¯ÐÅÏ¢
  1740.  
  1741.     bool    bShortMsg;              //·¢ËͶÌÐÅ
  1742.     bool    bMultimediaMsg;         //·¢ËͲÊÐÅ
  1743. };
  1744.  
  1745. enum SDK_ANALYSE_MODE
  1746. {
  1747.     SDK_ANALYSE_TRIPWIRE = 0, //µ¥°íÏß
  1748.     SDK_ANALYSE_PERIMETER     //ÖÜœçŒì²â
  1749. };
  1750. /** ÖÜœçŒì²âģʜ */
  1751. enum SDK_URP_PERIMETER_MODE_E
  1752. {
  1753.     SDK_URP_PMODE_INTRUSION = 0,            /**< ÈëÇÖ */
  1754.     SDK_URP_PMODE_ENTER,                /**< œøÈë */
  1755.     SDK_URP_PMODE_EXIT              /**< À뿪 */
  1756. };
  1757.  
  1758. /** ×îŽó±ßœçµãÊý */
  1759. #define SDK_MAX_BOUNDARY_POINT_NUM 8
  1760. #define SDK_MAX_POINT_NUM 4
  1761. #define SDK_NAME_BUF_SIZE 16
  1762.  
  1763. /** ×ø±êµã */
  1764. struct URP_SDK_POINT_S
  1765. {
  1766.     short X;                    /**< x */
  1767.     short Y;                    /**< y */
  1768. };
  1769.  
  1770. /** Ïߜṹ */
  1771. struct SDK_URP_LINE_S
  1772. {
  1773.     URP_SDK_POINT_S stStartPt;          /**< Ï߶ÎÆðµã */
  1774.     URP_SDK_POINT_S stEndPt;            /**< Ï߶ÎÖÕµã */
  1775. };
  1776.  
  1777. struct SDK_URP_POLYGON_REGION_S
  1778. {
  1779.     int iValid;
  1780.     int iPointNum;
  1781.     URP_SDK_POINT_S astPoint[SDK_MAX_BOUNDARY_POINT_NUM];
  1782. };
  1783.  
  1784. /** URPÖÜœçŒì²â±ßœçµã */
  1785. struct SDK_URP_PERIMETER_LIMIT_BOUNDARY_S
  1786. {
  1787.     int      iBoundaryPtNum;                    /**< ±ßœçµãÊýÄ¿ */
  1788.     URP_SDK_POINT_S   astBoundaryPts[SDK_MAX_BOUNDARY_POINT_NUM];   /**< ±ßœçµãŒ¯ºÏ */
  1789. };
  1790.  
  1791. /** URPÖÜœçŒì²âÏÞÖƲÎÊý */
  1792. struct SDK_URP_PERIMETER_LIMIT_PARA_S
  1793. {
  1794.     int iMinDist;                       /**< ×îСÏñËØŸàÀë */
  1795.     int iMinTime;                       /**< ×î¶ÌʱŒä */
  1796.     int iDirectionLimit;                    /**< ÊÇ·ñ×ö·œÏòÏÞÖÆ */
  1797.     int iForbiddenDirection;                    /**< œûÖ¹·œÏòœÇ¶È(µ¥Î»: œÇ¶È) */
  1798.     SDK_URP_PERIMETER_LIMIT_BOUNDARY_S stBoundary;          /**< ÖÜœç±ßœçÇøÓò */
  1799. };
  1800.  
  1801. /** URPÖÜœçŒì²â¹æÔò²ÎÊý */
  1802. struct SDK_URP_PERIMETER_RULE_PARA_S
  1803. {
  1804.     int iTypeLimit;                     /**< Ä¿±êÀàÐÍÏÞÖÆ */
  1805.     int iTypeHuman;                     /**< Ä¿±êÀà±ð£ºÈË(ÏÞ¶šÀàÐÍʱʹÓÃ) */
  1806.     int iTypeVehicle;                       /**< Ä¿±êÀà±ð£º³µ */
  1807.     int iMode;                      /**< ÖÜœçģʜ */
  1808.     SDK_URP_PERIMETER_LIMIT_PARA_S stLimitPara;             /**< ÖÜœçÏÞÖƲÎÊý */
  1809. } ;
  1810.  
  1811. // ----------------------------------------------------------------------
  1812. //  °íÏßÊýŸÝœá¹¹
  1813. /** URPµ¥°íÏß×î¶àÌõÊý */
  1814. #define SDK_URP_MAX_TRIPWIRE_CNT 8
  1815.  
  1816. /** URPµ¥°íÏߜṹ */
  1817. struct SDK_URP_TRIPWIRE_S
  1818. {
  1819.     int     iValid;                     /**< ÊÇ·ñÓÐЧ */
  1820.     int    iIsDoubleDirection;              /**< ±íÊŸžÃ°íÏßÊÇ·ñΪ˫Ïò°íÏß(0: ·ñ, 1: ÊÇ) */
  1821.     int     iForbiddenDirection;                /**< µ¥°íÏßœûÖ¹·œÏò*/
  1822.     SDK_URP_LINE_S  stLine;                     /**< µ¥°íÏßλÖà */
  1823. };
  1824.  
  1825. /** URPµ¥°íÏßÏÞÖƲÎÊý */
  1826. struct SDK_URP_TRIPWIRE_LIMIT_PARA_S
  1827. {
  1828.     int iMinDist;                       /**< ×îСÏñËØŸàÀë */
  1829.     int iMinTime;                       /**< ×î¶ÌʱŒä */
  1830. };
  1831.  
  1832. /** URPµ¥°íÏß¹æÔò²ÎÊý */
  1833. struct SDK_URP_TRIPWIRE_RULE_PARA_S
  1834. {
  1835.     int iTypeLimit;                     /**< Ä¿±êÀàÐÍÏÞÖÆ */
  1836.     int iTypeHuman;                     /**< Ä¿±êÀà±ð£ºÈË(ÏÞ¶šÀàÐÍʱʹÓÃ) */
  1837.     int iTypeVehicle;                       /**< Ä¿±êÀà±ð£º³µ */
  1838.     SDK_URP_TRIPWIRE_S astLines[SDK_URP_MAX_TRIPWIRE_CNT];      /**< µ¥°íÏß */
  1839.     SDK_URP_TRIPWIRE_LIMIT_PARA_S stLimitPara;              /**< µ¥°íÏßÏÞÖƲÎÊý */
  1840. };
  1841.  
  1842.  
  1843. /** URPÄ¿±êÊä³öÁéÃô¶ÈŒ¶±ð */
  1844. enum SDK_SENSITIVITY_LEVEL_E
  1845. {
  1846.     SDK_HIGH_LEVEL_SENSITIVITY,         /**< žßÁéÃô¶È */
  1847.     SDK_MIDDLE_LEVEL_SENSITIVITY,       /**< ÖÐÁéÃô¶È */
  1848.     SDK_LOW_LEVEL_SENSITIVITY           /**< µÍÁéÃô¶È */
  1849. };
  1850.  
  1851. /** Ë㷚ģ¿é */
  1852.  
  1853. enum SDK_MODULE_TYPE
  1854. {
  1855.     SDK_MODULE_TYPE_PEA = 0,
  1856.     SDK_MODULE_TYPE_OSC,
  1857.     SDK_MODULE_TYPE_AVD,
  1858.     SDK_MODULE_TYPE_ALL
  1859. };
  1860.  
  1861. // ----------------------------------------------------------------------
  1862. // ÏÂÃ濪ʌÊÇ×Ô¶šÒåœá¹¹
  1863.  
  1864. struct SDK_PEA_RULE_S
  1865. {
  1866.     int iShowTrack;                     /// ÊÇ·ñÏÔÊŸ¹ìŒ£
  1867.     int iShowRule;                      /// ÊÇ·ñÏÔÊŸ¹æÔò
  1868.     int iLevel;                     /// Ÿ¯œäŒ¶±ð£šÁéÃô¶È£©0£ºžßŒ¶£šÄ¬ÈÏÖµ£©£»1£ºÖÐŒ¶£»2£ºµÍŒ¶£»
  1869.     int iPerimeterEnable;                   /// ÖÜœç¹æÔòʹÄÜ
  1870.     SDK_URP_PERIMETER_RULE_PARA_S   stPerimeterRulePara;    /**< ÖÜœçŒì²â */
  1871.     int iTripWireEnable;                    /// µ¥°íÏß¹æÔòʹÄÜ
  1872.     SDK_URP_TRIPWIRE_RULE_PARA_S    stTripwireRulePara; /**< µ¥°íÏߌì²â */
  1873. };
  1874.  
  1875. /// Ëã·šÄÜÁŠœá¹¹
  1876. struct SDK_CAPS                 /// ÖÃ1±íÊŸžÃÍšµÀÖ§³Ö¶ÔÓŠµÄÖÇÄÜËã·š£¬ÖÃ0±íÊŸ²»Ö§³Ö¡£
  1877. {
  1878.     int dwPEA;
  1879.     int dwAVD;
  1880.     int dwVFD;
  1881.     int dwAAI;
  1882.     int dwOSC;
  1883.     int iResv[3];
  1884. } ;
  1885.  
  1886. struct SDK_PEA_STATUS_S
  1887. {
  1888.     int dwPerimeter;                    /// ÈëÇÖŒì²â׎̬£¬°üÀšÁË°éÏߺÍÖÜœç,£¬uintÖµÊÇž÷žö±šŸ¯ÊäÈëÍšµÀ±šŸ¯×ŽÌ¬µÄÑÚÂë¡£
  1889.     /// µÍÍšµÀÔÚµÍ룬žßÍšµÀÔÚžßλ¡£±šŸ¯ÖÃ1£¬ÎÞ±šŸ¯ÖÃ0£¬²»ŽæÔÚµÄÍšµÀÖÃ0¡£
  1890.     int iResv[4];
  1891.     int avdStatue;
  1892. };
  1893.  
  1894.  
  1895. //ÎïÆ·ÒÅÁô-begin
  1896. #define NET_MAX_OSC_NUM 4
  1897. #define NET_MAX_POINT_NUM 4
  1898. #define NET_NAME_BUF_SIZE 16
  1899.  
  1900. struct SDK_URP_OSC_SPECL_REGIONS_S
  1901. {
  1902.     int nValid; //ÊÇ·ñÓÐЧ
  1903.     char chName[NET_NAME_BUF_SIZE]; //ÇøÓòÃû³Æ
  1904.     SDK_URP_POLYGON_REGION_S stOscRg; //ÒªŒì²âÇøÓò¶šÒå
  1905.     SDK_URP_POLYGON_REGION_S astSubRgA; //Œì²âÇøÓòÖеÄÎÞЧ×ÓÇøÓò
  1906.     SDK_URP_POLYGON_REGION_S astSubRgB; //Œì²âÇøÓòÖеÄÎÞЧ×ÓÇøÓò
  1907.     SDK_URP_POLYGON_REGION_S astSubRgC; //Œì²âÇøÓòÖеÄÎÞЧ×ÓÇøÓò
  1908. };
  1909.  
  1910. struct SDK_URP_OSC_LMT_PARA_S
  1911. {
  1912.     int nTimeMin; //ʱŒäÔŒÊø
  1913.     int nSizeMin; //×îС³ßŽç
  1914.     int nSizeMax; //×îŽó³ßŽç
  1915. } ;
  1916.  
  1917. struct SDK_URP_OSC_RULE_PARA_S
  1918. {
  1919.     int nSceneType; //³¡Ÿ°ÀàÐÍ
  1920.     int nCameraType; //Ïà»úÀàÐÍ
  1921.     SDK_URP_OSC_SPECL_REGIONS_S astSpclRgs[NET_MAX_OSC_NUM]; //ÒªŽŠÀíµÄÇøÓòžöÊý
  1922.     SDK_URP_OSC_LMT_PARA_S stOscPara; //һЩԌÊø
  1923. } ;
  1924.  
  1925. struct SDK_OSC_RULE_S
  1926. {
  1927.     int iShowTrack;             /// ÊÇ·ñÏÔÊŸ¹ìŒ£
  1928.     int iShowRule;                           /// ÊÇ·ñÏÔÊŸ¹æÔò
  1929.     int iLevel;                          /// Ÿ¯œäŒ¶±ð0£º·ÇŸ¯±š£šÄ¬ÈÏÖµ£©£»1£ºµÍŒ¶£»2£ºÖÐŒ¶£»3: žßŒ¶
  1930.     int iAbandumEnable;         /// ÎïÆ·ÒÅÁôʹÄÜ
  1931.     SDK_URP_OSC_RULE_PARA_S stObjAbandumRulePara; /// ÎïÆ·ÒÅÁô²ÎÊý
  1932.     int iStolenEnable;               /// ÎïÆ·±»µÁʹÄÜ
  1933.     SDK_URP_OSC_RULE_PARA_S stObjStolenRulePara;   /// ÎïÆ·±»µÁ²ÎÊý
  1934.     int iNoParkingEnable;                /// ·Ç·šÍ£³µÊ¹ÄÜ
  1935.     SDK_URP_OSC_RULE_PARA_S stNoParkingRulePara;   /// ·Ç·šÍ£³µ²ÎÊý
  1936. };
  1937.  
  1938.  
  1939. struct SDK_AVD_RULE_S
  1940. {
  1941.     int iLevel;                          /// ÁéÃô¶ÈµµÎ»£¬1-5µµ£¬ÊýÖµÔœŽóÔœÁéÃôÔœÒ×±šŸ¯
  1942.     int itBrightAbnmlEnable;                ///< ÁÁ¶ÈÒ쳣ʹÄÜ
  1943.     int iClarityEnable;                 ///< ÇåÎú¶ÈŒì²âʹÄÜ
  1944.     int iNoiseEnable;                   ///< ÔëÉùŒì²âʹÄÜ
  1945.     int iColorEnable;                   ///< Æ«É«Œì²âʹÄÜ
  1946.     int iFreezeEnable;                  ///< »­Ã涳œáŒì²âʹÄÜ
  1947.     int iNosignalEnable;                    ///< ÐźÅȱʧŒì²âʹÄÜ
  1948.     int iChangeEnable;                  ///< ³¡Ÿ°±ä»»Œì²âʹÄÜ
  1949.     int iInterfereEnable;                   ///< ÈËΪžÉÈÅŒì²âʹÄÜ
  1950.     int iPtzLoseCtlEnable;                  ///< PTZʧ¿ØŒì²âʹÄÜ
  1951. };
  1952.  
  1953. /** ×ø±êµã */
  1954. struct SDK_URP_IMP_POINT_S
  1955. {
  1956.     short s16X;                 /**< x */
  1957.     short s16Y;                 /**< y */
  1958. };
  1959.  
  1960. struct SDK_CPC_RULE_S
  1961. {
  1962.     SDK_URP_IMP_POINT_S stRulePoint[4]; ///Œì²â¹æÔò£¬ÐèÒª»­Âú4žöµã   
  1963.     int s32Sizemin;         ///×îСÏñŸà(0,height/2)
  1964.     int s32Sizemax;         ///×îŽóÏñŸà(sizemin, height/2)
  1965.     int s32Countmax;            ///×îŽóÄ¿±êÊý[1~15],
  1966.     int s32Sensitivity;     /// ÁéÃô¶ÈµµÎ»£¬1-5µµ£¬ÊýÖµÔœŽóÔœÁéÃôÔœÒ×±šŸ¯
  1967.     unsigned int u32Flag;               ///±ê֟룬ÓÃÀŽÅжϜø³ö£¬Ä¬ÈÏÉè0
  1968.     int s32EnterDirection;  ///œøÈëµÄ·œÏò
  1969. };
  1970.  
  1971. //ž÷ÖÖËã·šµÄ¹æÔòÅäÖÃŒ¯ºÏ
  1972. struct SDK_RULECONFIG
  1973. {
  1974.     SDK_PEA_RULE_S stRulePea;   //ÖÜœçŒì²âÓë°íÏßÅäÖÃ
  1975.     SDK_OSC_RULE_S stRuleOSC; //ÎïÆ·µÁÒÆ¡¢ÖÍÁô£¬·Ç·šÍ£³µÅäÖÃ
  1976.     SDK_AVD_RULE_S stRuleAVD;//Òì³£ÊÓƵÐźÅÕï¶ÏÅäÖÃ
  1977.     SDK_CPC_RULE_S stRuleCPC; //ÈËÍ·ŒÆÊýËã·šÅäÖÃ
  1978. };
  1979.  
  1980.  
  1981. //Ò»žöÍšµÀµÄÖÇÄÜ·ÖÎöÅäÖÃ
  1982. struct SDK_ANALYSECONFIG
  1983. {
  1984.     bool         bEnable;      //ÊÇ·ñÆôÓÃÊÓƵ·ÖÎö¹ŠÄÜ
  1985.     int          moduleType;   //ʹÓõÄÄÇÖÖË㷚ģ¿é
  1986.     SDK_EventHandler hEvent;  //Áª¶¯ÊÂŒþ
  1987.     SDK_RULECONFIG   stRuleConfig; //ž÷ÖÖËã·šµÄ¹æÔòÅäÖÃ
  1988. };
  1989.  
  1990. //ËùÓÐÍšµÀµÄÖÇÄÜ·ÖÎöÅäÖÃ
  1991. struct SDK_ANALYSECONFIG_ALL
  1992. {
  1993.     SDK_ANALYSECONFIG vAnalyzeAll[NET_MAX_CHANNUM];
  1994. };
  1995.  
  1996. //ÖÇÄÜ·ÖÎöÄÜÁŠ
  1997. struct SDK_ANALYZEABILITY
  1998. {
  1999.     UINT uIntelPEA; //ÖÇÄÜPEAÖ§³Ö£¬Î»¶ÔÓŠÍšµÀ
  2000.     UINT uAlgorithmPEA;//PEAÖ§³ÖµÄËã·šÀàÐÍ£¬ÀýÈç°èÏß
  2001.     UINT uIntelOSC; //ÖÇÄÜOSCÖ§³Ö£¬Î»¶ÔÓŠÍšµÀ
  2002.     UINT uAlgorithmOSC;//OSCÖ§³ÖµÄËã·šÀàÐÍ
  2003.     UINT uIntelAVD; //ÖÇÄÜAVDÖ§³Ö£¬Î»¶ÔÓŠÍšµÀ
  2004.     UINT uAlgorithmAVD;//AVDÖ§³ÖµÄËã·šÀàÐÍ
  2005.     UINT uIntelCPC; //ÈËÁ÷Á¿ŒÇÊýÖ§³Ö£¬Î»¶ÔÓŠÍšµÀ
  2006.     UINT uAlgorithmCPC;//CPCÖ§³ÖµÄËã·šÀàÐÍ
  2007. };
  2008.  
  2009.  
  2010.  
  2011. ///< ¶¯Ì¬Œì²âÉèÖÃ
  2012. struct SDK_MOTIONCONFIG
  2013. {
  2014.     bool bEnable;                           // ¶¯Ì¬Œì²â¿ªÆô
  2015.     int iLevel;                             // ÁéÃô¶È
  2016.     unsigned int mRegion[NET_MD_REGION_ROW];            // ÇøÓò£¬Ã¿Ò»ÐÐʹÓÃÒ»žö¶þœøÖÆŽ®    
  2017.     SDK_EventHandler hEvent;                    // ¶¯Ì¬Œì²âÁª¶¯
  2018. };
  2019.  
  2020. /// È«ÍšµÀ¶¯Ì¬Œì²âÅäÖÃ
  2021. struct SDK_MOTIONCONFIG_ALL
  2022. {
  2023.     SDK_MOTIONCONFIG vMotionDetectAll[NET_MAX_CHANNUM];
  2024. };
  2025.  
  2026. ///< ÕÚµ²Œì²âÅäÖÃ
  2027. struct SDK_BLINDDETECTCONFIG
  2028. {
  2029.     bool    bEnable;        ///< ÕÚµ²Œì²â¿ªÆô
  2030.     int     iLevel;         ///< ÁéÃô¶È£º1¡«6
  2031.     SDK_EventHandler hEvent;    ///< ÕÚµ²Œì²âÁª¶¯
  2032. };
  2033.  
  2034. /// È«ÍšµÀÕÚµ²Œì²âÅäÖÃ
  2035. struct SDK_BLINDDETECTCONFIG_ALL
  2036. {
  2037.     SDK_BLINDDETECTCONFIG vBlindDetectAll[NET_MAX_CHANNUM];
  2038. };
  2039.  
  2040. ///< »ù±ŸÊÂŒþœá¹¹
  2041. struct SDK_VIDEOLOSSCONFIG
  2042. {
  2043.     bool bEnable;           ///< ʹÄÜ
  2044.     SDK_EventHandler hEvent;    ///< ŽŠÀí²ÎÊý
  2045. };
  2046.  
  2047. /// ËùÓÐÍšµÀµÄ»ù±ŸÊ±Œäœá¹¹
  2048. struct SDK_VIDEOLOSSCONFIG_ALL
  2049. {
  2050.     SDK_VIDEOLOSSCONFIG vGenericEventConfig[NET_MAX_CHANNUM];
  2051. };
  2052.  
  2053. ///< ±šŸ¯ÊäÈëÅäÖÃ
  2054. struct SDK_ALARM_INPUTCONFIG
  2055. {
  2056.     bool    bEnable;        ///< ±šŸ¯ÊäÈ뿪¹Ø
  2057.     int     iSensorType;    ///< Ž«žÐÆ÷ÀàÐͳ£¿ª or ³£±Õ
  2058.     SDK_EventHandler hEvent;    ///< ±šŸ¯Áª¶¯
  2059. };
  2060.  
  2061. ///< ËùÓÐÍšµÀµÄ±šŸ¯ÊäÈëÅäÖÃ
  2062. struct SDK_ALARM_INPUTCONFIG_ALL
  2063. {
  2064.     SDK_ALARM_INPUTCONFIG vAlarmConfigAll[NET_MAX_CHANNUM];
  2065. };
  2066.  
  2067. ///< Íø·±šŸ¯
  2068. struct SDK_NETALARMCONFIG
  2069. {
  2070.     bool bEnable;           ///< ʹÄÜ
  2071.     SDK_EventHandler hEvent;    ///< ŽŠÀí²ÎÊý
  2072. };
  2073.  
  2074. /// ËùÓÐÍšµÀµÄÍø·±šŸ¯œá¹¹
  2075. struct SDK_NETALARMCONFIG_ALL
  2076. {
  2077.     SDK_NETALARMCONFIG vNetAlarmConfig[NET_MAX_CHANNUM];
  2078. };
  2079.  
  2080. ///< ±ŸµØ±šŸ¯Êä³öÅäÖÃ
  2081. struct SDK_AlarmOutConfig
  2082. {
  2083.     int nAlarmOutType;      ///< ±šŸ¯Êä³öÀàÐÍ: ÅäÖÃ,ÊÖ¶¯,¹Ø±Õ
  2084.     int nAlarmOutStatus;    ///< ±šŸ¯×ŽÌ¬: 0:Žò¿ª 1;±ÕºÏ
  2085. };
  2086.  
  2087. ///< Ó²ÅÌÈÝÁ¿²»×ãÊÂŒþœá¹¹
  2088. struct SDK_StorageLowSpaceConfig
  2089. {
  2090.     bool bEnable;
  2091.     int iLowerLimit;        ///< Ó²ÅÌÊ£ÓàÈÝÁ¿ÏÂÏÞ, °Ù·ÖÊý
  2092.     SDK_EventHandler hEvent;    ///< ŽŠÀí²ÎÊý
  2093.     bool bRecordTimeEnable;
  2094.     int iRecordTime;        ///<ÂŒÏñÌìÊý
  2095. };
  2096.  
  2097. ///< ËùÓÐÍšµÀµÄ±šŸ¯Êä³öÅäÖÃ
  2098. struct SDK_AlarmOutConfigAll
  2099. {
  2100.     SDK_AlarmOutConfig vAlarmOutConfigAll[NET_MAX_CHANNUM];
  2101. };
  2102.  
  2103. /// ËùÓÐÍšµÀµÄœâÂëÆ÷µØÖ·ÉèÖÃV2°æ±Ÿ
  2104. struct SDK_AbilitySerialNo
  2105. {
  2106.     char serialNo[NET_MAX_SERIALNO_LENGTH];
  2107.     char productType[NET_MAX_SERIALNO_LENGTH];
  2108. };
  2109.  
  2110. ///< Çý¶¯Æ÷ÐÅÏ¢œá¹¹
  2111. struct SDK_DriverInformation
  2112. {
  2113.     int     iDriverType;        ///< Çý¶¯Æ÷ÀàÐÍ
  2114.     bool    bIsCurrent;         ///< ÊÇ·ñΪµ±Ç°¹€×÷ÅÌ
  2115.     unsigned int    uiTotalSpace;       ///< ×ÜÈÝÁ¿£¬MBΪµ¥Î»
  2116.     unsigned int    uiRemainSpace;      ///< Ê£ÓàÈÝÁ¿£¬MBΪµ¥Î»
  2117.     int     iStatus;            ///< ŽíÎó±êÖŸ£¬ÎÄŒþϵͳ³õÊŒ»¯Ê±±»ÉèÖÃ
  2118.     int     iLogicSerialNo;             ///< Âߌ­ÐòºÅ
  2119.     SDK_SYSTEM_TIME  tmStartTimeNew;        ///< ÐÂÂŒÏñʱŒä¶ÎµÄ¿ªÊŒÊ±Œä
  2120.     SDK_SYSTEM_TIME  tmEndTimeNew;          ///< ÐÂÂŒÏñʱŒä¶ÎµÄœáÊøʱŒä
  2121.     SDK_SYSTEM_TIME  tmStartTimeOld;        ///< ÀÏÂŒÏñʱŒä¶ÎµÄ¿ªÊŒÊ±Œä
  2122.     SDK_SYSTEM_TIME  tmEndTimeOld;          ///< ÀÏÂŒÏñʱŒä¶ÎµÄœáÊøʱŒä
  2123. };
  2124. enum
  2125. {
  2126.     SDK_MAX_DRIVER_PER_DISK = 2,    ///< ÿžöŽÅÅÌ×î¶àµÄ·ÖÇøÊý
  2127.     SDK_MAX_DISK_PER_MACHINE = 8,   ///< ×î¶àÖ§³Ö8¿éÓ²ÅÌ
  2128. };
  2129. //Ó²Å̹ÜÀí
  2130. struct SDK_STORAGEDISK
  2131. {
  2132.     int     iPhysicalNo;
  2133.     int     iPartNumber;        // ·ÖÇøÊý
  2134.     SDK_DriverInformation diPartitions[SDK_MAX_DRIVER_PER_DISK];
  2135. };
  2136.  
  2137. struct SDK_StorageDeviceInformationAll
  2138. {
  2139.     int iDiskNumber;
  2140.     SDK_STORAGEDISK vStorageDeviceInfoAll[SDK_MAX_DISK_PER_MACHINE];
  2141. };
  2142.  
  2143. /// ŽæŽ¢É豞¿ØÖÆÀàÐÍ
  2144. enum SDK_StorageDeviceControlTypes
  2145. {
  2146.     SDK_STORAGE_DEVICE_CONTROL_SETTYPE,     ///< ÉèÖÃÀàÐÍ
  2147.     SDK_STORAGE_DEVICE_CONTROL_RECOVER,     ///< »ÖžŽŽíÎó
  2148.     SDK_STORAGE_DEVICE_CONTROL_PARTITIONS,  ///< ·ÖÇø²Ù×÷
  2149.     SDK_STORAGE_DEVICE_CONTROL_CLEAR,       ///< Çå³ý²Ù×÷
  2150.     SDK_STORAGE_DEVICE_CONTROL_NR,
  2151. };
  2152.  
  2153. /// Çå³ýŽÅÅÌÊýŸÝÀàÐÍ
  2154. enum SDK_StorageDeviceClearTypes
  2155. {
  2156.     SDK_STORAGE_DEVICE_CLEAR_DATA,          ///< Çå³ýÂŒÏñÊýŸÝ
  2157.     SDK_STORAGE_DEVICE_CLEAR_PARTITIONS,    ///< Çå³ý·ÖÇø
  2158.     SDK_STORAGE_DEVICE_CLEAR_NR,
  2159. };
  2160.  
  2161. /// Çý¶¯Æ÷ÀàÐÍ
  2162. enum SDK_FileSystemDriverTypes
  2163. {
  2164.     SDK_DRIVER_READ_WRITE   = 0,    ///< ¶ÁÐŽÇý¶¯Æ÷
  2165.     SDK_DRIVER_READ_ONLY    = 1,    ///< Ö»¶ÁÇý¶¯Æ÷
  2166.     SDK_DRIVER_EVENTS       = 2,    ///< ÊÂŒþÇý¶¯Æ÷
  2167.     SDK_DRIVER_REDUNDANT    = 3,    ///< ÈßÓàÇý¶¯Æ÷
  2168.     SDK_DRIVER_SNAPSHOT     = 4,    ///< ¿ìÕÕÇý¶¯Æ÷
  2169.     SDK_DRIVER_TYPE_NR      = 5,    ///< Çý¶¯Æ÷ÀàÐÍžöÊý
  2170.     SDK_DRIVER_UNUSED       = 0xff, ///< ûÓÐʹÓõÄÇý¶¯Æ÷œá¹¹
  2171. };
  2172.  
  2173. /// ŽæŽ¢É豞¿ØÖÆ
  2174. struct SDK_StorageDeviceControl
  2175. {
  2176.     int iAction;    ///< Œûenum SDK_StorageDeviceControlTypes
  2177.     int iSerialNo;  ///< ŽÅÅÌÐòÁкÅ
  2178.     int iPartNo;    ///< ·ÖÇøºÅ
  2179.     int iType;      ///< enum SDK_StorageDeviceClearTypes»òÕßSDK_FileSystemDriverTypes
  2180.     int iPartSize[2/*MAX_DRIVER_PER_DISK*/];    ///< ž÷žö·ÖÇøµÄŽóС
  2181. };
  2182.  
  2183. /// É豞ÀàÐÍ
  2184. enum SDK_DeviceType
  2185. {
  2186.     SDK_DEVICE_TYPE_DVR,    ///< ÆÕÍšDVRÉ豞
  2187.     SDK_DEVICE_TYPE_NVS,    ///< NVSÉ豞
  2188.     SDK_DEVICE_TYPE_IPC,    ///< IPCÉ豞
  2189.     SDK_DEVICE_TYPE_HVR,    ///<»ìºÏdvr
  2190.     SDK_DEVICE_TYPE_IVR,    ///<ÖÇÄÜdvr
  2191.     SDK_DEVICE_TYPE_MVR,    ///<³µÔØdvr
  2192.     SDK_DEVICE_TYPE_NR
  2193. };
  2194.  
  2195. /// É豞ÐÅÏ¢
  2196. typedef struct _H264_DVR_DEVICEINFO
  2197. {
  2198.     char sSoftWareVersion[64];  ///< ÈíŒþ°æ±ŸÐÅÏ¢
  2199.     char sHardWareVersion[64];  ///< Ó²Œþ°æ±ŸÐÅÏ¢
  2200.     char sEncryptVersion[64];   ///< ŒÓÃܰ江ÐÅÏ¢
  2201.     SDK_SYSTEM_TIME tmBuildTime;///< ÈíŒþŽŽœšÊ±Œä
  2202.     char sSerialNumber[64];         ///< É豞ÐòÁкŠ 
  2203.     int byChanNum;              ///< ÊÓƵÊäÈëÍšµÀÊý
  2204.     int iVideoOutChannel;       ///< ÊÓƵÊä³öÍšµÀÊý
  2205.     int byAlarmInPortNum;       ///< ±šŸ¯ÊäÈëÍšµÀÊý
  2206.     int byAlarmOutPortNum;      ///< ±šŸ¯Êä³öÍšµÀÊý
  2207.     int iTalkInChannel;         ///< ¶Ôœ²ÊäÈëÍšµÀÊý
  2208.     int iTalkOutChannel;        ///< ¶Ôœ²Êä³öÍšµÀÊý
  2209.     int iExtraChannel;          ///< À©Õ¹ÍšµÀÊý  
  2210.     int iAudioInChannel;        ///< ÒôƵÊäÈëÍšµÀÊý
  2211.     int iCombineSwitch;         ///< ×éºÏ±àÂëÍšµÀ·ÖžîģʜÊÇ·ñÖ§³ÖÇл»
  2212.     int iDigChannel;        ///<Êý×ÖÍšµÀÊý
  2213.     unsigned int uiDeviceRunTime;   ///<ϵͳÔËÐÐʱŒä
  2214.     SDK_DeviceType deviceTye;   ///É豞ÀàÐÍ
  2215.     char sHardWare[64];     ///<É豞ÐͺÅ
  2216. }H264_DVR_DEVICEINFO,*LPH264_DVR_DEVICEINFO;
  2217.  
  2218. //Ö÷¶¯·þÎñ»Øµ÷ÊýŸÝ
  2219. struct H264_DVR_ACTIVEREG_INFO
  2220. {
  2221.     char deviceSarialID[64];//É豞ÐòÁкţ¬Èç¹ûŽóÓÚ64λÔòž³Öµ0
  2222.     H264_DVR_DEVICEINFO deviceInfo;//É豞ÐÅÏ¢
  2223. };
  2224. ///< ×Ô¶¯Î¬»€ÉèÖÃ
  2225. struct SDK_AutoMaintainConfig
  2226. {
  2227.     int iAutoRebootDay;             ///< ×Ô¶¯ÖØÆôÉèÖÃÈÕÆÚ
  2228.     int iAutoRebootHour;            ///< ÖØÆôÕûµãʱŒä   [0, 23]
  2229.     int iAutoDeleteFilesDays;       ///< ×Ô¶¯ÉŸ³ýÎÄŒþʱŒä[0, 30]
  2230. };
  2231.  
  2232. /// ĬÈÏÅäÖÃÖÖÀà
  2233. enum SDK_DefaultConfigKinds
  2234. {
  2235.     SDK_DEFAULT_CFG_GENERAL,            // ÆÕÍšÅäÖÃ
  2236.     SDK_DEFAULT_CFG_ENCODE,             // ±àÂëÅäÖÃ
  2237.     SDK_DEFAULT_CFG_RECORD,             // ÂŒÏñÅäÖÃ
  2238.     SDK_DEFAULT_CFG_NET_SERVICE,        // ÍøÂç·þÎñ
  2239.     SDK_DEFAULT_CFG_NET_COMMON,         // ÍšÓÃÍøÂç
  2240.     SDK_DEFAULT_CFG_ALARM,              // ±šŸ¯
  2241.     SDK_DEFAULT_CFG_PTZCOMM,            // ÔÆÌš£¬Ž®¿Ú
  2242.     SDK_DEFAULT_CFG_USERMANAGER,        // Óû§¹ÜÀí
  2243.     SDK_DEFAULT_CFG_PREVIEW,            // Ô€ÀÀÅäÖÃ
  2244.     SDK_DEFAULT_CFG_CAMERA_PARAM,            // ÍøÂçÉãÏñÍ·ÅäÖÃ
  2245.     SDK_DEFAULT_CFG_END,
  2246. };
  2247.  
  2248. /// »ÖžŽµÄĬÈÏÅäÖÃÖÖÀà
  2249. struct SDK_SetDefaultConfigTypes
  2250. {
  2251.     bool vSetDefaultKinds[SDK_DEFAULT_CFG_END];
  2252. };
  2253.  
  2254.  
  2255. typedef struct H264_DVR_CLIENTINFO{
  2256.     int nChannel;   //ÍšµÀºÅ
  2257.     int nStream;    //0±íÊŸÖ÷ÂëÁ÷£¬Îª1±íÊŸ×ÓÂëÁ÷
  2258.     int nMode;      //0£ºTCP·œÊœ,1£ºUDP·œÊœ,2£º¶à²¥·œÊœ,3 - RTP·œÊœ£¬4-ÒôÊÓƵ·Ö¿ª(TCP)
  2259.     int nComType;   //Ö»¶Ô×éºÏ±àÂëÍšµÀÓÐЧ, ×éºÏ±àÂëÍšµÀµÄƎ͌ģʜ
  2260.     void* hWnd;
  2261.     H264_DVR_CLIENTINFO()
  2262.     {
  2263.         hWnd=0;
  2264.     }
  2265.    
  2266.    
  2267. }*LPH264_DVR_CLIENTINFO;
  2268.  
  2269.  
  2270. enum SDK_File_Type
  2271. {
  2272.     SDK_RECORD_ALL = 0,
  2273.     SDK_RECORD_ALARM = 1, //Íⲿ±šŸ¯ÂŒÏñ
  2274.     SDK_RECORD_DETECT,    //ÊÓƵÕì²âÂŒÏñ
  2275.     SDK_RECORD_REGULAR,   //ÆÕ͚ŒÏñ
  2276.     SDK_RECORD_MANUAL,    //ÊÖ¶¯ÂŒÏñ
  2277.     SDK_PIC_ALL = 10,
  2278.     SDK_PIC_ALARM,        //Íⲿ±šŸ¯ÂŒÏñ
  2279.     SDK_PIC_DETECT,       //ÊÓƵÕì²âÂŒÏñ
  2280.     SDK_PIC_REGULAR,      //ÆÕ͚ŒÏñ
  2281.     SDK_PIC_MANUAL,       //ÊÖ¶¯ÂŒÏñ
  2282.     SDK_TYPE_NUM
  2283. };
  2284.  
  2285. //²éѯŒÏñÌõŒþ
  2286. struct H264_DVR_FINDINFO
  2287. {
  2288.     int nChannelN0;         //ÍšµÀºÅ
  2289.     int nFileType;          //ÎÄŒþÀàÐÍ, ŒûSDK_File_Type
  2290.     H264_DVR_TIME startTime;    //¿ªÊŒÊ±Œä
  2291.     H264_DVR_TIME endTime;  //œáÊøʱŒä
  2292.     char szCard[32];        //¿šºÅ
  2293.     void *hWnd;
  2294.     H264_DVR_FINDINFO()
  2295.     {
  2296.         hWnd=NULL;
  2297.     }
  2298. };
  2299.  
  2300. //ÂŒÏñÎÄŒþ·µ»Øœá¹¹Ìå
  2301. struct H264_DVR_FILE_DATA
  2302. {
  2303.     int ch;                     //ÍšµÀºÅ
  2304.     int size;                   //ÎÄŒþŽóС
  2305.     char sFileName[108];        ///< ÎÄŒþÃû
  2306.     SDK_SYSTEM_TIME stBeginTime;    ///< ÎÄŒþ¿ªÊŒÊ±Œä
  2307.     SDK_SYSTEM_TIME stEndTime;      ///< ÎÄŒþœáÊøʱŒä
  2308.     void *hWnd;
  2309.     H264_DVR_FILE_DATA()
  2310.     {
  2311.         hWnd=NULL;
  2312.     }
  2313. };
  2314.  
  2315. //»Ø·Å¶¯×÷
  2316. enum SEDK_PlayBackAction
  2317. {
  2318.     SDK_PLAY_BACK_PAUSE,        /*<! ÔÝÍ£»Ø·Å */
  2319.     SDK_PLAY_BACK_CONTINUE,     /*<! ŒÌÐø»Ø·Å */
  2320.     SDK_PLAY_BACK_SEEK,         /*<! »Ø·Å¶šÎ»£¬Ê±ŒäsΪµ¥Î» */
  2321.     SDK_PLAY_BACK_FAST,         /*<! ŒÓËٻطŠ*/
  2322.     SDK_PLAY_BACK_SLOW,         /*<! ŒõËٻطŠ*/
  2323.     SDK_PLAY_BACK_SEEK_PERCENT, /*<! »Ø·Å¶šÎ»°Ù·Ö±È */
  2324. };
  2325.  
  2326. //°ŽÊ±Œä¶Î²éѯ
  2327. struct SDK_SearchByTime
  2328. {
  2329.     int nHighChannel;           ///< 33~64ÂŒÏñÍšµÀºÅÑÚÂë
  2330.     int nLowChannel;            ///< 1~32ÂŒÏñÍšµÀºÅÑÚÂë
  2331.     int nFileType;              ///< ÎÄŒþÀàÐÍ, ŒûSDK_File_Type
  2332.     SDK_SYSTEM_TIME stBeginTime;        ///< ²éѯ¿ªÊŒÊ±Œä
  2333.     SDK_SYSTEM_TIME stEndTime;      ///< ²éѯœáÊøʱŒä
  2334.     int    iSync;               ///< ÊÇ·ñÐèҪͬ²œ
  2335. };
  2336.  
  2337. //ÿžöÍšµÀµÄÂŒÏñÐÅÏ¢
  2338. struct SDK_SearchByTimeInfo
  2339. {
  2340.     int iChannel;               ///< ÂŒÏñÍšµÀºÅ
  2341.     ///< ÂŒÏñŒÇÂŒÓÃ720žö×֜ڵÄ5760λÀŽ±íÊŸÒ»ÌìÖеÄ1440·ÖÖÓ
  2342.     ///< 0000:ÎÞÂŒÏñ 0001:F_COMMON 0002:F_ALERT 0003:F_DYNAMIC 0004:F_CARD 0005:F_HAND
  2343.     unsigned char cRecordBitMap[720];
  2344. };
  2345.  
  2346. struct SDK_SearchByTimeResult
  2347. {
  2348.     int nInfoNum;                                        ///< ÍšµÀµÄÂŒÏñŒÇÂŒÐÅÏ¢žöÊý
  2349.     SDK_SearchByTimeInfo ByTimeInfo[NET_MAX_CHANNUM];    ///< ÍšµÀµÄÂŒÏñŒÇÂŒÐÅÏ¢
  2350. };
  2351.  
  2352. //±šŸ¯ÐÅÏ¢
  2353. typedef struct SDK_ALARM_INFO
  2354. {
  2355.     int nChannel;
  2356.     int iEvent;
  2357.     int iStatus;
  2358.     SDK_SYSTEM_TIME SysTime;
  2359. }SDK_AlarmInfo;
  2360.  
  2361. /// ÈÕÖŸ²éѯÌõŒþ
  2362. struct SDK_LogSearchCondition
  2363. {
  2364.     int nType;  ///< ÈÕÖŸÀàÐÍ
  2365.     int iLogPosition;           ///< ŽÓÉώβéѯµÄœáÊøʱµÄÈÕÖŸÖžÕë
  2366.     SDK_SYSTEM_TIME stBeginTime;    ///< ²éѯÈÕÖŸ¿ªÊŒÊ±Œä
  2367.     SDK_SYSTEM_TIME stEndTime;      ///< ²éѯÈÕÖŸœáÊøʱŒä
  2368. };
  2369.  
  2370.  
  2371. struct SDK_LogItem
  2372. {
  2373.     char sType[24]; ///< ÈÕÖŸÀàÐÍ
  2374.     char sUser[32]; ///< ÈÕÖŸÓû§
  2375.     char sData[68]; ///< ÈÕÖŸÊýŸÝ
  2376.     SDK_SYSTEM_TIME stLogTime;  ///< ÈÕ֟ʱŒä
  2377.     int iLogPosition;           ///< ŽÓÉώβéѯµÄœáÊøʱµÄÈÕÖŸÖžÕë
  2378. };
  2379.  
  2380. //ÈÕÖŸ·µ»ØÐÅÏ¢
  2381. struct SDK_LogList
  2382. {
  2383.     int iNumLog;
  2384.     SDK_LogItem Logs[NET_MAX_RETURNED_LOGLIST];
  2385. };
  2386.  
  2387. /// ÓïÒô¶Ôœ²žñÊœ
  2388. struct SDK_AudioInFormatConfigAll
  2389. {
  2390.     SDK_AudioInFormatConfig vAudioInFormatConfig[SDK_AUDIO_ENCODE_TYPES_NR];
  2391. };
  2392.  
  2393. /// žæŸ¯×ŽÌ¬
  2394. struct SDK_DVR_ALARMSTATE
  2395. {
  2396.     int iVideoMotion; ///< Òƶ¯Õì²â׎̬,ÓÃÑÚÂë±íÊŸÍšµÀºÅ,bit0Žú±íÍšµÀÒ»,ÒÔŽËÀàÍÆ 1: ÓО柯 0: Îޞ柯
  2397.     int iVideoBlind; ///< ÊÓƵÕÚµ²×ŽÌ¬,ÓÃÑÚÂë±íÊŸÍšµÀºÅ,bit0Žú±íÍšµÀÒ»,ÒÔŽËÀàÍÆ 1: ÓО柯 0: Îޞ柯
  2398.     int iVideoLoss; ///< ÊÓƵ¶ªÊ§×ŽÌ¬,ÓÃÑÚÂë±íÊŸÍšµÀºÅ,bit0Žú±íÍšµÀÒ»,ÒÔŽËÀàÍÆ 1: ÓО柯 0: Îޞ柯
  2399.     int iAlarmIn;   ///< žæŸ¯ÊäÈë׎̬,ÓÃÑÚÂë±íÊŸÍšµÀºÅ,bit0Žú±íÍšµÀÒ»,ÒÔŽËÀàÍÆ 1: ÓО柯 0: Îޞ柯
  2400.     int iAlarmOut;  ///< žæŸ¯Êä³ö׎̬,ÓÃÑÚÂë±íÊŸÍšµÀºÅ,bit0Žú±íÍšµÀÒ»,ÒÔŽËÀàÍÆ 1: ÓО柯 0: Îޞ柯
  2401. };
  2402.  
  2403. // ÍšµÀ׎̬
  2404. struct SDK_DVR_CHANNELSTATE
  2405. {
  2406.     bool bRecord; ///< ÊÇ·ñÕýÔÚÂŒÏñ
  2407.     int iBitrate;   ///< µ±Ç°ÂëÂÊ
  2408. };
  2409.  
  2410. // DVR¹€×÷׎̬
  2411. struct SDK_DVR_WORKSTATE
  2412. {
  2413.     SDK_DVR_CHANNELSTATE vChnState[NET_MAX_CHANNUM];
  2414.     SDK_DVR_ALARMSTATE vAlarmState;
  2415. };
  2416.  
  2417.  
  2418. /// °ŽŒüÖµ, ²»ÄÜËæ±ãžüžÄ
  2419. enum SDK_NetKeyBoardValue
  2420. {
  2421.     SDK_NET_KEY_0, SDK_NET_KEY_1, SDK_NET_KEY_2, SDK_NET_KEY_3, SDK_NET_KEY_4, SDK_NET_KEY_5, SDK_NET_KEY_6, SDK_NET_KEY_7, SDK_NET_KEY_8, SDK_NET_KEY_9,
  2422.     SDK_NET_KEY_10, SDK_NET_KEY_11, SDK_NET_KEY_12, SDK_NET_KEY_13, SDK_NET_KEY_14, SDK_NET_KEY_15, SDK_NET_KEY_16, SDK_NET_KEY_10PLUS,
  2423.     SDK_NET_KEY_UP = 20,     // ÉÏ»òÕßÔÆÌšÏòÉÏ
  2424.     SDK_NET_KEY_DOWN,        // Ï»òÕßÔÆÌšÏòÏÂ
  2425.     SDK_NET_KEY_LEFT,        // ×ó»òÕßÔÆÌšÏò×ó
  2426.     SDK_NET_KEY_RIGHT,       // ÓÒ»òÕßÔÆÌšÏòÓÒ
  2427.     SDK_NET_KEY_SHIFT,
  2428.     SDK_NET_KEY_PGUP,        // ÉÏÒ»Ò³
  2429.     SDK_NET_KEY_PGDN,        // ÏÂÒ»Ò³
  2430.     SDK_NET_KEY_RET,         // È·ÈÏ
  2431.     SDK_NET_KEY_ESC,         // È¡Ïû»òÍ˳ö
  2432.     SDK_NET_KEY_FUNC,        // Çл»ÊäÈë·š
  2433.     SDK_NET_KEY_PLAY,        // ²¥·Å/ÔÝÍ£
  2434.     SDK_NET_KEY_BACK,        // µ¹·Å
  2435.     SDK_NET_KEY_STOP,        // Í£Ö¹
  2436.     SDK_NET_KEY_FAST,        // ¿ì·Å
  2437.     SDK_NET_KEY_SLOW,        // Âý·Å
  2438.     SDK_NET_KEY_NEXT,        // ÏÂÒ»žöÎÄŒþ
  2439.     SDK_NET_KEY_PREV,        // ÉÏÒ»žöÎÄŒþ
  2440.     SDK_NET_KEY_REC = 40,    // ÂŒÏñÉèÖÃ
  2441.     SDK_NET_KEY_SEARCH,      // ÂŒÏñ²éѯ
  2442.     SDK_NET_KEY_INFO,        // ϵͳÐÅÏ¢
  2443.     SDK_NET_KEY_ALARM,       // žæŸ¯Êä³ö
  2444.     SDK_NET_KEY_ADDR,        // Ò£¿ØÆ÷µØÖ·ÉèÖÃ
  2445.     SDK_NET_KEY_BACKUP,      // ±ž·Ý
  2446.     SDK_NET_KEY_SPLIT,       // »­Ãæ·ÖžîģʜÇл»£¬Ã¿°ŽÒ»ŽÎÇл»µœÏÂÒ»žö·çžñģʜ
  2447.     SDK_NET_KEY_SPLIT1,      // µ¥»­Ãæ
  2448.     SDK_NET_KEY_SPLIT4,      // ËÄ»­Ãæ
  2449.     SDK_NET_KEY_SPLIT8,      // °Ë»­Ãæ
  2450.     SDK_NET_KEY_SPLIT9,      // ŸÅ»­Ãæ
  2451.     SDK_NET_KEY_SPLIT16,     // 16»­Ãæ
  2452.     SDK_NET_KEY_SHUT,        // ¹Ø»ú
  2453.     SDK_NET_KEY_MENU,        // ²Ëµ¥
  2454.     SDK_NET_KEY_SPLIT25,    // 25»­Ãæ  
  2455.     SDK_NET_KEY_SPLIT36,     // 36»­Ãæ
  2456.     SDK_NET_KEY_PTZ = 60,    // œøÈëÔÆÌš¿ØÖÆģʜ
  2457.     SDK_NET_KEY_TELE,        // ±ä±¶Œõ
  2458.     SDK_NET_KEY_WIDE,        // ±ä±¶ŒÓ
  2459.     SDK_NET_KEY_IRIS_SMALL,  // ¹âÈŠÔö
  2460.     SDK_NET_KEY_IRIS_LARGE,  // ¹âÈŠŒõ
  2461.     SDK_NET_KEY_FOCUS_NEAR,  // ŸÛœ¹Ô¶
  2462.     SDK_NET_KEY_FOCUS_FAR,   // ŸÛœ¹œü
  2463.     SDK_NET_KEY_BRUSH,       // ÓêË¢
  2464.     SDK_NET_KEY_LIGHT,       // µÆ¹â
  2465.     SDK_NET_KEY_SPRESET,     // ÉèÖÃÔ€Öõã
  2466.     SDK_NET_KEY_GPRESET,     // תÖÁÔ€Öõã
  2467.     SDK_NET_KEY_DPRESET,     // Çå³ýÔ€Öõã
  2468.     SDK_NET_KEY_PATTERN,     // ģʜ
  2469.     SDK_NET_KEY_AUTOSCAN,    // ×Ô¶¯ÉšÃ迪ʌœáÊø
  2470.     SDK_NET_KEY_AUTOTOUR,    // ×Ô¶¯Ñ²ºœ
  2471.     SDK_NET_KEY_AUTOPAN,     // ÏßÉš¿ªÊŒ/œáÊø
  2472. };
  2473.  
  2474. /// °ŽŒü׎̬
  2475. enum SDK_NetKeyBoardState
  2476. {
  2477.     SDK_NET_KEYBOARD_KEYDOWN,   // °ŽŒü°ŽÏÂ
  2478.     SDK_NET_KEYBOARD_KEYUP,     // °ŽŒüËÉ¿ª
  2479. };
  2480.  
  2481. struct SDK_NetKeyBoardData
  2482. {
  2483.     int iValue;
  2484.     int iState;
  2485. };
  2486.  
  2487. // ÉýŒ¶ÐÅÏ¢»ñÈ¡
  2488. struct SDK_UpgradeInfo
  2489. {
  2490.     char szSerial[64];
  2491.     char szHardware[64];
  2492.     char szVendor[64];
  2493.     unsigned int uiLogoArea[2];
  2494. };
  2495.  
  2496. /// ÍøÂ籚Ÿ¯
  2497. struct SDK_NetAlarmInfo
  2498. {
  2499.     int iEvent;  //ĿǰΎʹÓÃ
  2500.     int iState;   //ÿbit±íÊŸÒ»žöÍšµÀ,bit0:µÚһ͚µÀ,0-ÎÞ±šŸ¯ 1-ÓбšŸ¯, ÒÀŽÎÀàÍÆ
  2501. };
  2502.  
  2503. enum SERIAL_TYPE
  2504. {
  2505.     RS232 = 0,
  2506.     RS485 = 1,
  2507. };
  2508.  
  2509.  
  2510. enum MEDIA_PACK_TYPE
  2511. {
  2512.     FILE_HEAD = 0,              // ÎÄŒþÍ·
  2513.     VIDEO_I_FRAME = 1,          // ÊÓƵIÖ¡
  2514.     VIDEO_B_FRAME = 2,          // ÊÓƵBÖ¡
  2515.     VIDEO_P_FRAME = 3,          // ÊÓƵPÖ¡
  2516.     VIDEO_BP_FRAME = 4,         // ÊÓƵBPÖ¡
  2517.     VIDEO_BBP_FRAME = 5,        // ÊÓƵBÖ¡BÖ¡PÖ¡
  2518.     VIDEO_J_FRAME = 6,          // ͌Ƭ֡
  2519.     AUDIO_PACKET = 10,          // ÒôƵ°ü
  2520. };
  2521.  
  2522. typedef struct
  2523. {
  2524.     int     nPacketType;                // °üÀàÐÍ,ŒûMEDIA_PACK_TYPE
  2525.     char*   pPacketBuffer;              // »ºŽæÇøµØÖ·
  2526.     unsigned int    dwPacketSize;               // °üµÄŽóС
  2527.  
  2528.     // Ÿø¶Ôʱ±ê
  2529.     int     nYear;                      // ʱ±ê:Äê       
  2530.     int     nMonth;                     // ʱ±ê:ÔÂ
  2531.     int     nDay;                       // ʱ±ê:ÈÕ
  2532.     int     nHour;                      // ʱ±ê:ʱ
  2533.     int     nMinute;                    // ʱ±ê:·Ö
  2534.     int     nSecond;                    // ʱ±ê:Ãë
  2535.     unsigned int    dwTimeStamp;                    // Ïà¶Ôʱ±êµÍ룬µ¥Î»ÎªºÁÃë
  2536.     unsigned int    dwTimeStampHigh;        //Ïà¶Ôʱ±êžß룬µ¥Î»ÎªºÁÃë
  2537.     unsigned int   dwFrameNum;             //Ö¡ÐòºÅ
  2538.     unsigned int   dwFrameRate;            //Ö¡ÂÊ
  2539.     unsigned short uWidth;              //ÍŒÏñ¿í¶È
  2540.     unsigned short uHeight;             //ÍŒÏñžß¶È
  2541.     unsigned int       Reserved[6];            //±£Áô
  2542. } PACKET_INFO_EX;
  2543.  
  2544.  
  2545. struct SDK_OEMInfo
  2546. {
  2547.     int nOEMID;                     //OEM ID
  2548.     char sCompanyName[NET_MAX_USERNAME_LENGTH]; //¹«ËŸÃû
  2549.     char sTel[NET_MAX_USERNAME_LENGTH];         //µç»°
  2550.     char sAddr[NET_MAX_USERNAME_LENGTH];        //µØÖ·
  2551. };
  2552. typedef struct __TransComChannel//ÍžÃ÷Ž°¿Ú
  2553. {
  2554.     SERIAL_TYPE TransComType;//SERIAL_TYPE
  2555.     unsigned int baudrate;
  2556.     unsigned int databits;
  2557.     unsigned int stopbits;
  2558.     unsigned int parity;
  2559. } TransComChannel;
  2560. enum SDK_State_Type
  2561. {
  2562.     DEV_STATE_DDNS=0,  
  2563. };
  2564.  
  2565. //ÉãÏó»ú²ÎÊý.....
  2566.  
  2567. //ÆعâÅäÖÃ
  2568. struct SDK_ExposureCfg
  2569. {
  2570.     int  level;    //ÆعâµÈŒ¶
  2571.     unsigned int leastTime;//×Ô¶¯ÆعâʱŒäÏÂÏÞ»òÊÖ¶¯ÆعâʱŒä£¬µ¥Î»Î¢Ãë
  2572.     unsigned int mostTime; //×Ô¶¯ÆعâʱŒäÉÏÏÞ£¬µ¥Î»Î¢Ãë
  2573. };
  2574.  
  2575. //ÔöÒæÅäÖÃ
  2576. struct SDK_GainCfg
  2577. {
  2578.     int gain;    //×Ô¶¯ÔöÒæÉÏÏÞ(×Ô¶¯ÔöÒæÆôÓÃ)»ò¹Ì¶šÔöÒæÖµ
  2579.     int autoGain;//×Ô¶¯ÔöÒæÊÇ·ñÆôÓã¬0:²»¿ªÆô  1:¿ªÆô
  2580. };
  2581.  
  2582. //ÍøÂçÉãÏñ»úÅäÖÃ
  2583. struct SDK_CameraParam
  2584. {
  2585.     unsigned int whiteBalance;         //°×Æœºâ
  2586.     unsigned int dayNightColor;        //ÈÕҹģʜ£¬È¡ÖµÓвÊÉ«¡¢×Ô¶¯Çл»ºÍºÚ°×
  2587.     int elecLevel;             //²Î¿ŒµçƜֵ
  2588.     unsigned int apertureMode;          //×Ô¶¯¹âȊģʜ
  2589.     unsigned int BLCMode;               //±³¹â²¹³¥Ä£Êœ
  2590.     SDK_ExposureCfg exposureConfig;//ÆعâÅäÖÃ
  2591.     SDK_GainCfg     gainConfig;    //ÔöÒæÅäÖÃ
  2592.  
  2593.     unsigned int PictureFlip;       //͌ƬÉÏÏ·­×ª
  2594.     unsigned int PictureMirror; //͌Ƭ×óÓÒ·­×ª(ŸµÏñ)
  2595.     unsigned int RejectFlicker; //ÈÕ¹âµÆ·ÀÉÁ¹ŠÄÜ
  2596.     unsigned int EsShutter;     //µç×ÓÂý¿ìÃŹŠÄÜ
  2597.  
  2598.     int ircut_mode;     //IR-CUTÇл» 0 = ºìÍâµÆͬ²œÇл» 1 = ×Ô¶¯Çл»
  2599.  
  2600.     int dnc_thr;            //ÈÕҹת»»ãÐÖµ
  2601.     int ae_sensitivity; //aeÁéÃô¶ÈÅäÖÃ
  2602.  
  2603.     int Day_nfLevel;        //noise filter µÈŒ¶£¬0-5,0²»Â˲š£¬1-5 ÖµÔœŽóÂ˲šÐ§¹ûÔœÃ÷ÏÔ
  2604.     int Night_nfLevel;
  2605.     int Ircut_swap;     //ircut Õý³£Ðò= 0        ·ŽÐò= 1
  2606. };
  2607.  
  2608. //ËùÓÐÉãÏó»úÅäÖÃ
  2609. struct SDK_AllCameraParam
  2610. {
  2611.     SDK_CameraParam vCameraParamAll[NET_MAX_CHANNUM];   //ËùÓеÄÍšµÀ
  2612. };
  2613.  
  2614. //ÆعâÄÜÁŠŒ¶
  2615. struct SDK_CameraAbility
  2616. {
  2617.     int  count;      //Ö§³ÖÆعâËÙ¶ÈÊýÁ¿
  2618.     unsigned int speeds[CAMERAPARA_MAXNUM]; //ÆعâËÙ¶È
  2619.     int  status;     //¹€×÷׎̬  >= 0 Õý³£    < 0 Òì³£
  2620.     int  elecLevel;  //²Î¿ŒµçƜֵ
  2621.     int  luminance;  //ÆœŸùÁÁ¶È
  2622.     char pVersion[64];//xm 2a°æ±Ÿ
  2623.     char reserve[32];//±£Áô
  2624. };
  2625.  
  2626. //±ŸµØ²¥·Å¿ØÖÆ
  2627. enum SDK_LoalPlayAction
  2628. {
  2629.     SDK_Local_PLAY_PAUSE,       /*<! ÔÝÍ£²¥·Å */
  2630.     SDK_Local_PLAY_CONTINUE,        /*<! ŒÌÐøÕý³£²¥·Å */
  2631.     SDK_Local_PLAY_FAST,            /*<! ŒÓËÙ²¥·Å */
  2632.     SDK_Local_PLAY_SLOW,            /*<! ŒõËÙ²¥·Å */   
  2633.    
  2634. };
  2635.  
  2636. //¶ÌÐÅÅäÖÃ
  2637. struct SDK_NetShortMsgCfg
  2638. {
  2639.     bool bEnable;       //·¢ËÍÊÖ»ú¶ÌÐŵĹŠÄÜÊÇ·ñÆôÓÃ
  2640.     char pDesPhoneNum[MAX_RECIVE_MSG_PHONE_COUNT][16];
  2641.     int  sendTimes;     //ÐèÒªÏòÿžöÊÖ»ú·¢ËͶàÉَζÌÐÅ
  2642. };
  2643. //ÊÖ»ú²ÊÐÅÅäÖÃ
  2644. struct SDK_NetMultimediaMsgCfg
  2645. {
  2646.     bool bEnable;               // ·¢ËÍÊÖ»ú²ÊÐŵĹŠÄÜÊÇ·ñÆôÓÃ
  2647.     char pDesPhoneNum[MAX_RECIVE_MSG_PHONE_COUNT][16]; //œÓÊÕ²ÊÐŵÄÊÖ»úºÅ£¬ÏÖÖ§³Ö3žöÊÖ»úºÅ
  2648.     char pGateWayDomain[40];    // Íø¹ØµØÖ·£¬ÓòÃû»òIP
  2649.     int  gateWayPort;           // Íø¹Ø¶Ë¿Ú
  2650.     char pMmscDomain[40];       // ²ÊÐÅ·þÎñÆ÷µØÖ·£¬IP»òÓòÃû
  2651.     int  mmscPort;              // ²ÊÐÅ·þÎñÆ÷¶Ë¿ÚºÅ
  2652. };
  2653.  
  2654. struct SDK_DASSerInfo
  2655. {
  2656.     bool enable;
  2657.     char serAddr[NET_NAME_PASSWORD_LEN];
  2658.     int  port;
  2659.     char userName[NET_NAME_PASSWORD_LEN];
  2660.     char passwd[NET_NAME_PASSWORD_LEN];
  2661.     char devID[NET_NAME_PASSWORD_LEN];
  2662. };
  2663. enum UploadDataType
  2664. {
  2665.     VEHICLE=0
  2666. };
  2667. //³µÔØÏà¹Ø************************************************************************
  2668. //³µÁŸ×ŽÌ¬
  2669. enum SDK_CAR_STATUS_TYPE
  2670. {
  2671.     SDK_CAR_WORKING,             //ÊÇ·ñÔÚÔËÐÐ
  2672.     SDK_CAR_LIGHT_LEFT_TURN,     //×óתµÆÊÇ·ñµãÁÁ
  2673.     SDK_CAR_LIGHT_RIGHT_TURN,    //ÓÒתµÆÊÇ·ñµãÁÁ
  2674.     SDK_CAR_DOOR_LEFT_FRONT,     //×óÇ°ÃÅÊÇ·ñŽò¿ª
  2675.     SDK_CAR_DOOR_RIGHT_FRONT,    //ÓÒÇ°ÃÅÊÇ·ñŽò¿ª
  2676.     SDK_CAR_DOOR_LEFT_BACK,      //×óºóÃÅÊÇ·ñŽò¿ª
  2677.     SDK_CAR_DOOR_RIGHT_BACK,     //ÓÒºóÃÅÊÇ·ñŽò¿ª
  2678.     SDK_CAR_DOOR_BACK,           //ºóÃÅÊÇ·ñŽò¿ª
  2679.     SDK_CAR_BRAKE,               //ÊÇ·ñ²Èɲ³µ
  2680.     SDK_CAR_URGENCY_ALARM,       //œôŒ±±šŸ¯
  2681.     SDK_CAR_STATUS_NR, //׎̬ÖÖÀàÊýÄ¿
  2682. };
  2683.  
  2684. //ÍⲿÊäÈëÀàÐÍ
  2685. enum SDK_IO_INPUT_TYPE
  2686. {
  2687.     SDK_LOCAL_ALARM_INPUT,//±ŸµØ±šŸ¯ÊäÈë
  2688.     SDK_RS232_INPUT,      //Íš¹ý232Ž®¿ÚÊäÈë
  2689.     SDK_RS485_INPUT,      //Íš¹ý485Ž®¿ÚÊäÈë
  2690. };
  2691.  
  2692. //ÍⲿÐÅÏ¢ÊäÈëÓë³µÁŸ×ŽÌ¬µÄ¶ÔÓŠ¹Øϵ
  2693. struct SDK_CarStatusExchange
  2694. {
  2695.     int  statusType; //ÄÄÒ»ÖÖ³µÁŸ×ŽÌ¬£¬±ÈÈç×óתµÆ
  2696.     bool bExist;     //ÊÇ·ñÓОÃÖÖ׎̬µÄÐÅÏ¢ÊäÈ룬žùŸÝ³µÁŸµÄʵŒÊÇé¿öœøÐÐÉèÖÃ
  2697.     bool bEnable;    //ÊÇ·ñŒì²âžÃÖÖ׎̬
  2698.     int  inputType;  //žÃÖÖ׎̬¶ÔÓŠµÄÐÅÏ¢ÊäÈëÀàÐÍ£¬ŽÓIO_INPUT_TYPEöŸÙµÄÖµÖÐÈ¡
  2699.     int  addr;       //µØÖ·£¬±ÈÈçÊDZŸµØ±šŸ¯ÊäÈë¿ÚÒ»¶ÔÓŠ0£¬ÊäÈë¿Ú¶þ¶ÔÓŠ1
  2700.     int  sensorType; //³£¿ª(NO)»ò³£±Õ(NC)£¬µ±inputTypeÊDZŸµØ±šŸ¯ÊäÈëʱÓÐЧ
  2701. };
  2702.  
  2703. struct SDK_CarStatusExchangeAll
  2704. {
  2705.     SDK_CarStatusExchange exchangeAll[16];
  2706. };
  2707.  
  2708. struct SDK_CarStatusNum  
  2709. {
  2710.     int iCarStatusNum;
  2711. };
  2712.  
  2713. struct SDK_CarDelayTimeConfig
  2714. {
  2715.     bool bStartDelay;
  2716.     bool bCloseDelay;
  2717.  
  2718.     int timeStartDelay;     //µ¥Î»:·ÖÖÓ
  2719.     int timeCloseDelay;     //µ¥Î»:·ÖÖÓ
  2720. };
  2721. enum SDK_network_media {
  2722.     SDK_NM_WIRED = 0,  //ÓÐÏßÍø¿š
  2723.     SDK_NM_WLAN,       //Wifi
  2724.     SDK_NM_3G,         //3GÍø¿š
  2725.     SDK_NM_NR,    //ÖÖÀàÊý
  2726. };
  2727. //ÍøÂçÁ¬œÓÓÅÏÈŒ¶
  2728. typedef struct SDK_tagNetLinkOrder
  2729. {
  2730.     int netType;  //È¡ÖµÊÇnetwork_mediaÀàÐ͵Ä
  2731.     int netOrder; //Êý×ÖԜС£¬ÓÅÏÈŒ¶Ôœžß,0ÊÇ×îžßÓÅÏÈŒ¶
  2732. }SDK_NetLinkOrder;
  2733. //ÍøÂçÓÅÏÈŒ¶
  2734. struct SDK_NetOrderConfig
  2735. {
  2736.     bool         bEnable;        //ÊÇ·ñÉèÖÃÍøÂçÓÅÏÈŒ¶
  2737.     int          netCount;       //ÍøÂçÀàÐÍÊýÄ¿
  2738.     SDK_NetLinkOrder pNetOrder[SDK_NM_NR];//ÍøÂçÓÅÏÈŒ¶
  2739.     SDK_NetLinkOrder pReserve[7-SDK_NM_NR];//žøеÄÍøÂçÀàÐÍÔ€Áô
  2740. };
  2741. ///ÍøÂçÓÅÏÈŒ¶ÄÜÁŠ
  2742. struct SDK_NetOrderFunction
  2743. {
  2744.     bool bNetOrder;
  2745. };
  2746. #define  MAX_CAR_INFOR 24
  2747. /// ³µÔØÅƺÅ
  2748. struct  SDK_CarPlates
  2749. {
  2750.     char sPlateName[MAX_CAR_INFOR];
  2751. };
  2752. enum NET_ISP
  2753. {
  2754.     ISP_AUTO, //×Ô¶¯Ñ¡Ôñ
  2755.     ISP_TELCOM, //µçÐÅ
  2756.     ISP_UNIONCOM, //ÁªÍš
  2757.     ISP_CNC,//ÍøÍš
  2758.     ISP_MOBILE,//Òƶ¯£¬ÌúÍš
  2759.     ISP_USER,//×Ô¶šÒå
  2760. };
  2761. //ÍøÂçƜ̚ÐÅÏ¢ÉèÖÃ
  2762. typedef struct SDK_LocalSdkNetPlatformConfig
  2763. {
  2764.     int Enable;
  2765.     int nISP;                          ///²ÎŒûNET_ISP
  2766.     char sServerName[32];
  2767.     char ID[32];
  2768.     char sUserName[32];
  2769.     char sPassword[32];
  2770.     CONFIG_IPAddress HostIP;        ///< host ip
  2771.     int port;
  2772. }SDK_LOCALSDK_NET_PLATFORM_CONFIG;
  2773.  
  2774. //GPSУʱÅäÖÃ
  2775. struct SDK_GPSTimingConfig
  2776. {
  2777.     bool bEnable;      // ÊÇ·ñÆôÓÃ
  2778.     int  timeChange;   // Ïà¶ÔÓÚUTCʱŒäÐèÒªžÄ±ä¶àÉÙ£¬µ¥Î»:Ãë
  2779.     int  updatePeriod; // žüÐÂÖÜÆÚ  µ¥Î»:·ÖÖÓ
  2780. };
  2781. //ÉñÑۜӟ¯ÖÐÐÄϵͳ
  2782. struct  SDK_GodEyeConfig
  2783. {
  2784.     bool    bEnable;
  2785.     char MainSeverName[NET_NAME_PASSWORD_LEN]; //Ö÷ÓòÃû
  2786.     int MainPort;   //Ö÷¶Ë¿Ú
  2787.     char ExSeverName[NET_NAME_PASSWORD_LEN]; //±žÓÃÓòÃû
  2788.     int ExPort; //±žÓö˿Ú
  2789. };
  2790. enum  SDK_DigManagerShowStatus
  2791. {
  2792.     SDK_DM_SHOW_NONE,
  2793.     SDK_DM_SHOW_ALL,
  2794. };
  2795.  
  2796.  
  2797. //Êý×ÖÍšµÀÏÔʟ׎̬
  2798. struct SDK_DigitalManagerShow
  2799. {
  2800.     int  nDigitalManagerShowSta;
  2801. };
  2802.  
  2803. //NATŽ«Ê䣬MTUÖµ
  2804. struct SDK_NatConfig
  2805. {
  2806.     bool bEnable;
  2807.     int nMTU;             // ·¶Î§ (100,1400)
  2808. };
  2809.  
  2810. enum SubConnType
  2811. {
  2812.     conn_realTimePlay=1,
  2813.     conn_talk,
  2814.     conn_playback
  2815. };
  2816. //*** */ÏòÉ豞ע²á
  2817. enum SocketStyle
  2818. {
  2819.     TCPSOCKET=0,
  2820.     UDPSOCKET, 
  2821.     SOCKETNR
  2822. };
  2823.  
  2824.  
  2825. enum SDK_NatStatusType
  2826. {
  2827.     SDK_NAT_STATUS_DISENABLE,//ÎŽ¿ªÆô
  2828.     SDK_NAT_STATUS_PROBING,  //ÕýÔÚÌœ²âDNS 
  2829.     SDK_NAT_STATUS_CONNECTING,//ÕýÔÚÁ¬œÓ·þÎñÆ÷
  2830.     SDK_NAT_STATUS_CONNECTED,//Á¬œÓ³É¹Š
  2831. };
  2832. //nat׎̬ÐÅÏ¢
  2833. struct SDK_NatStatusInfo
  2834. {
  2835.     int iNatStatus;
  2836.     char NatInfoCode[64];
  2837. };
  2838.  
  2839. /// Êý×ÖˮӡÅäÖÃ
  2840. struct SDK_WaterMarkConfig
  2841. {
  2842.     bool    bEnable;        //  ¿ªÆôˮӡ
  2843.     char  sKey[8];
  2844.     char sUserData[16];
  2845. };
  2846.  
  2847. struct SDK_WaterMarkConfigAll
  2848. {
  2849.     SDK_WaterMarkConfig vWaterMarkConfigAll[NET_MAX_CHANNUM];
  2850. };
  2851.  
  2852. ///±àÂëÆ÷Ÿ²Ì¬²ÎÊý
  2853. struct SDK_EncodeStaticParam
  2854. {
  2855.     char reserved[2];
  2856.     int profile;
  2857.     int level;
  2858.     int reserved1[4];
  2859. };
  2860.  
  2861.  
  2862. struct SDK_EncodeStaticParamAll
  2863. {
  2864.     SDK_EncodeStaticParam   EncodeStaticParamAll[NET_MAX_CHANNUM]; 
  2865. };
  2866.  
  2867. enum
  2868. {
  2869.     sdk_maxCPCDataItem = 2048,
  2870.     sdk_maxCPCDataReturn = 512,
  2871.     sdk_itemtotalLength = 96,   //2λ͚µÀºÅ£¬20λ¿ªÊŒÊ±Œä£¬20λœáÊøʱŒä£¬ºÍÁœžö13λµÄÊýŸÝ,ŒÓÈßÓà
  2872.     sdk_maxpack=4,// sdk_maxCPCDataItem/sdk_maxCPCDataReturn
  2873. };
  2874.  
  2875. struct SDK_CPCDataItem      //ÈËÊýͳŒÆÏîœá¹¹Ìå
  2876. {
  2877.     int channel;            //¶ÔÓŠµÄÍšµÀºÅ
  2878.     SDK_SYSTEM_TIME startTime;  //¿ªÊŒÊ±Œä
  2879.     SDK_SYSTEM_TIME endTime;    //œáÊøʱŒä
  2880.     int inNum;          //œøÈëÈËÊý
  2881.     int outNum;         //À뿪ÈËÊý
  2882. };
  2883.  
  2884. struct SDK_CPCData
  2885. {
  2886.     int nItemNum;
  2887.     SDK_CPCDataItem CPCData[sdk_maxCPCDataReturn];
  2888. };
  2889.  
  2890. struct SDK_CPCDataAll
  2891. {
  2892.     int nCount;
  2893.     SDK_CPCData nCpcData[sdk_maxpack] ;
  2894. };
  2895.  
  2896. /// ÂŒÏñŽæŽ¢É豞ÀàÐÍ£¬ÒÔÏÂÀàÐ͵ÄÒ»ÖÖ»òÕ߶àÖÖ
  2897. struct SDK_RecordStorageType
  2898. {
  2899.     bool SATA_as;
  2900.     bool USB_as;
  2901.     bool SD_as;
  2902.     bool DVD_as;
  2903. };
  2904.  
  2905. //VPNœá¹¹Ìå
  2906. struct SDK_VPNConfig
  2907. {
  2908.     bool Enable;        ///< ÊÇ·ñ¿ªÆô
  2909.     CONFIG_IPAddress ServiceIp;                     ///< ·þÎñÆ÷IPµØÖ·
  2910.     char UserName[NET_NAME_PASSWORD_LEN];       ///< Óû§Ãû
  2911.     char Password[NET_NAME_PASSWORD_LEN];       ///< ÃÜÂë  
  2912.     CONFIG_IPAddress addr;      ///< ²ŠºÅºó»ñµÃµÄIPµØÖ·
  2913. };
  2914. //µ±Ç°VGA·Ö±æÂÊ
  2915. struct SDK_VGAresolution
  2916. {
  2917.     int nHeight;
  2918.     int nWidth;
  2919. };
  2920. //Ö§³ÖVGA·Ö±æÂÊÁбí
  2921. struct SDK_VGAResolutionAbility
  2922. {
  2923.     int vVGANum;
  2924.     char vVGAList[VGA_MAXNUM][VGA_NAME_LENGTH];
  2925. }; 
  2926.  
  2927. // ÊýŸÝÉÏŽ«ÍšµÀ»Øµ÷º¯ÊýÔ­ÐÍ
  2928. typedef void (CALL_METHOD *fUploadDataCallBack) (long lLoginID, long UploadType, char *pBuffer, unsigned long dwBufSize, unsigned long dwUser);
  2929.  
  2930. // ÍžÃ÷Ž®¿Ú»Øµ÷º¯ÊýÔ­ÐÎ
  2931. typedef void (CALL_METHOD *fTransComCallBack) (long lLoginID, long lTransComType, char *pBuffer, unsigned long dwBufSize, unsigned long dwUser);
  2932. //·þÎñÆ÷¶Ï¿ª»Øµ÷Ô­ÐÎ
  2933. typedef void (CALL_METHOD *fDisConnect)(long lLoginID, char *pchDVRIP, long nDVRPort, unsigned long dwUser);
  2934.  
  2935. //Ô­ÊŒÊýŸÝ»Øµ÷Ô­ÐÎ
  2936. typedef int(CALL_METHOD *fRealDataCallBack) (long lRealHandle, long dwDataType, unsigned char *pBuffer,long lbufsize,long dwUser);
  2937. typedef int(CALL_METHOD *fRealDataCallBack_V2) (long lRealHandle, const PACKET_INFO_EX *pFrame, unsigned int dwUser);
  2938.  
  2939. // »Ø·ÅÂŒÏñœø¶È»Øµ÷Ô­ÐÎ
  2940. typedef void(CALL_METHOD *fDownLoadPosCallBack) (long lPlayHandle, long lTotalSize, long lDownLoadSize, long dwUser);
  2941.  
  2942. //ÏûÏ¢£š±šŸ¯,Ö÷¶¯×¢²á£©»Øµ÷Ô­ÐÎ
  2943. typedef bool (CALL_METHOD *fMessCallBack)(long lLoginID, char *pBuf,
  2944.                                        unsigned long dwBufLen, long dwUser);
  2945.  
  2946. //ÉýŒ¶É豞³ÌÐò»Øµ÷Ô­ÐÎ
  2947. typedef void(CALL_METHOD *fUpgradeCallBack) (long lLoginID, long lUpgradechannel,
  2948.                                            int nTotalSize, int nSendSize, long dwUser);
  2949.  
  2950. // ÓïÒô¶Ôœ²µÄÒôƵÊýŸÝ»Øµ÷º¯ÊýÔ­ÐÎ
  2951. typedef void (CALL_METHOD *pfAudioDataCallBack)(long lVoiceHandle, char *pDataBuf,
  2952.                                              long dwBufSize, char byAudioFlag, long dwUser);
  2953.  
  2954.  
  2955. //±ŸµØ²¥·ÅœáÊø»Øµ÷Ô­ÐÎ
  2956. typedef void (CALL_METHOD * fLocalPlayFileCallBack)(long lPlayHand, long nUser);
  2957.  
  2958. //ÐÅÏ¢Ö¡»Øµ÷ÉèÖÃ
  2959. typedef void (CALL_METHOD  *InfoFramCallBack)(long lPlayHand, long nType, LPCSTR pBuf,long nSize, long nUser);
  2960.  
  2961.  
  2962.  
  2963. //×ÓÁ¬œÓ¶ÏÏ߻ص÷
  2964. typedef void (CALL_METHOD *fSubDisConnectCallBack)(long lLoginID, SubConnType type, long nChannel, long dwUser);
  2965.  
  2966. #ifdef WIN32
  2967. //RigisterDraw»Øµ÷Ô­ÐÎ
  2968. typedef void (CALL_METHOD * fPlayDrawCallBack)(long lPlayHand,HDC hDc,long nUser);
  2969. #else//linuxûÓõœÕâžö»Øµ÷
  2970. typedef void (CALL_METHOD * fPlayDrawCallBack)(long lPlayHand,void* hDc,long nUser);
  2971. #endif // WIN32  
  2972.  
  2973. //*** */SDK³õÊŒ»¯
  2974. H264_DVR_API long CALL_METHOD H264_DVR_Init(fDisConnect cbDisConnect, unsigned long dwUser);
  2975.  
  2976. //*** */SDKÍ˳öÇåÀí
  2977. H264_DVR_API bool CALL_METHOD H264_DVR_Cleanup();
  2978.  
  2979. //»ñÈ¡ŽíÎóÐÅÏ¢
  2980. H264_DVR_API long CALL_METHOD H264_DVR_GetLastError();
  2981.  
  2982. // ÉèÖÃÁ¬œÓÉ豞³¬Ê±Ê±ŒäºÍ³¢ÊÔŽÎÊý
  2983. //nWaitTime:µ¥Î»ms²»ÉèÖÃʱĬÈÏ5000ms,
  2984. //nTryTimes:ŽÎÊý,²»ÉèÖÃʱĬÈÏ3ŽÎ
  2985. H264_DVR_API bool CALL_METHOD H264_DVR_SetConnectTime(long nWaitTime, long nTryTimes);
  2986.  
  2987.  
  2988. H264_DVR_API long CALL_METHOD H264_DVR_Login(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,
  2989.                                LPH264_DVR_DEVICEINFO lpDeviceInfo, int *error,SocketStyle socketTyle=TCPSOCKET);
  2990.  
  2991. //ÏòÉ豞ע²áÀ©Õ¹œÓ¿Ú
  2992. //ÔöŒÓµÇÂœÀàÐÍ 0==web 1 ==ÉýŒ¶¹€Ÿß 2 == ËÑË÷¹€Ÿß
  2993. H264_DVR_API long CALL_METHOD H264_DVR_LoginEx(char *sDVRIP, unsigned short wDVRPort, char *sUserName, char *sPassword,
  2994.                                LPH264_DVR_DEVICEINFO lpDeviceInfo, int nType, int *error);
  2995.  
  2996. //*** */ÏòÉ豞עÏú
  2997. H264_DVR_API long CALL_METHOD H264_DVR_Logout(long lLoginID);
  2998.  
  2999. //ÉèÖÃœÓÊÕDVRÐÅÏ¢»Øµ÷, ÀýÈ籚Ÿ¯ÐÅÏ¢,ÒÔIDºÅÇø·Ö
  3000. H264_DVR_API bool CALL_METHOD H264_DVR_SetDVRMessCallBack(fMessCallBack cbAlarmcallback, unsigned long lUser);
  3001.  
  3002. //œšÁ¢±šŸ¯ÉÏŽ«ÍšµÀ
  3003. H264_DVR_API long CALL_METHOD H264_DVR_SetupAlarmChan(long lLoginID);
  3004. H264_DVR_API bool CALL_METHOD H264_DVR_CloseAlarmChan(long lLoginID);
  3005.  
  3006.  
  3007. //Ô¶³ÌÅäÖÃÉ豞œÓ¿Ú ÅäÖÃÀàÐÍŒûSDK_CONFIG_TYPE
  3008. H264_DVR_API long  CALL_METHOD H264_DVR_GetDevConfig(long lLoginID, unsigned long dwCommand, int nChannelNO, char * lpOutBuffer, unsigned long dwOutBufferSize, unsigned long* lpBytesReturned,int waittime = 1000);
  3009. H264_DVR_API long  CALL_METHOD H264_DVR_SetDevConfig(long lLoginID, unsigned long dwCommand, int nChannelNO, char * lpInBuffer, unsigned long dwInBufferSize, int waittime = 1000);
  3010. //¿çÍø¶ÎÉèÖÃÉ豞ÅäÖã¬Ä¿Ç°Ö»Ö§³Ö¶ÔÍøÂçÅäÖÃœøÐÐÉèÖÃ
  3011. H264_DVR_API long CALL_METHOD H264_DVR_SetConfigOverNet(unsigned long dwCommand, int nChannelNO, char * lpInBuffer, unsigned long dwInBufferSize, int waittime = 1000);
  3012.  
  3013. //ÈÕÖŸ²éѯ
  3014. H264_DVR_API bool CALL_METHOD H264_DVR_FindDVRLog(long lLoginID, SDK_LogSearchCondition *pFindParam, SDK_LogList *pRetBuffer, long lBufSize, int waittime = 2000);
  3015.  
  3016. //Žò¿ªÊµÊ±Ô€ÀÀ
  3017. H264_DVR_API long CALL_METHOD H264_DVR_RealPlay(long lLoginID, LPH264_DVR_CLIENTINFO lpClientInfo);
  3018. H264_DVR_API bool CALL_METHOD H264_DVR_StopRealPlay(long lRealHandle,void*hWnd=NULL);
  3019. H264_DVR_API long CALL_METHOD H264_DVR_PauseRealPlay(long lRealHandle, bool bPause);
  3020.  
  3021. //ÉèÖûص÷º¯Êý£¬Óû§×ÔŒºŽŠÀí¿Í»§¶ËÊÕµœµÄÊýŸÝ
  3022. H264_DVR_API bool CALL_METHOD H264_DVR_SetRealDataCallBack(long lRealHandle,fRealDataCallBack cbRealData, long dwUser);
  3023. H264_DVR_API bool CALL_METHOD H264_DVR_SetRealDataCallBack_V2(long lRealHandle,fRealDataCallBack_V2 cbRealData, long dwUser);
  3024.  
  3025. //Çå³ý»Øµ÷º¯Êý,žÃº¯ÊýÐèÒªÔÚH264_DVR_StopRealPlayÇ°µ÷ÓÃ
  3026. H264_DVR_API bool CALL_METHOD H264_DVR_DelRealDataCallBack(long lRealHandle,fRealDataCallBack cbRealData, long dwUser);
  3027. H264_DVR_API bool CALL_METHOD H264_DVR_DelRealDataCallBack_V2(long lRealHandle,fRealDataCallBack_V2 cbRealData, long dwUser);
  3028.  
  3029. //ÂŒÏñ²éѯ
  3030. //lLoginID      µÇÂœŸä±ú
  3031. //lpFindInfo    ²éѯÌõŒþ
  3032. //lpFileData    ²éÕÒµœµÄÂŒÏñÊýŸÝ£¬Íⲿ¿ªÄÚŽæ
  3033. //lMaxCount     ×îŽóÂŒÏñÊýÄ¿
  3034. //findcount     ²éÕÒµœµÄÂŒÏñÊýÄ¿
  3035. //waittime      ²éѯ³¬Ê±Ê±Œä
  3036. H264_DVR_API long CALL_METHOD H264_DVR_FindFile(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, H264_DVR_FILE_DATA *lpFileData, int lMaxCount, int *findcount, int waittime = 5000);
  3037.  
  3038. //ÂŒÏñ²éѯ
  3039. //lLoginID      µÇÂœŸä±ú
  3040. //lpFindInfo    ²éѯÌõŒþ
  3041. //lpFileData    ²éÕÒµœµÄÂŒÏñÊýŸÝ£¬Íⲿ¿ªÄÚŽæ
  3042. //waittime      ²éѯ³¬Ê±Ê±Œä
  3043. H264_DVR_API long CALL_METHOD H264_DVR_FindFileByTime(long lLoginID, SDK_SearchByTime* lpFindInfo, SDK_SearchByTimeResult *lpFileData, int waittime = 10000);
  3044.  
  3045. //ÂŒÏñ»Ø·Å
  3046. //lLoginID      µÇÂœŸä±ú
  3047. //sPlayBackFileName »Ø·ÅµÄÂŒÏñÃû³Æ
  3048. //cbDownLoadPos œø¶È»Øµ÷        Óû§ÍšÖªÓû§É豞ÊÇ·ñÒÑŸ­œ«ÊýŸÝ·¢ËÍÍê±Ï
  3049.                                 //¿Í»§Èç¹ûÏëʵʱÏÔÊŸœø¶È£¬ÓŠžÃŽÓÂëÁ÷ÀïÃæ»ñȡʱŒäÀŽŒÆËã
  3050.                                 //ÍøÂ粿·Ö²»·ÖÎöÂëÁ÷£¬Èç¹ûÒÔµ±Ç°œÓÊÕÊýŸÝŽóС/×ÜŽóСÀŽŒÆËãœø¶ÈµÄ»°²»ÊǺÜ׌£¬ÓŠžÃÒÔµ±Ç°Ê±Œä£¬žùŸÝ¿ªÊŒÊ±ŒäºÍœáÊøʱŒäÀŽŒÆËãœø¶È
  3051. //fDownLoadDataCallBack ÊýŸÝ»Øµ÷
  3052. //dwDataUser    »Øµ÷²ÎÊý
  3053. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByName(long lLoginID, H264_DVR_FILE_DATA *sPlayBackFile, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack fDownLoadDataCallBack, long dwDataUser);
  3054. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByName_V2(long lLoginID, H264_DVR_FILE_DATA *sPlayBackFile, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack_V2 fDownLoadDataCallBack, long dwDataUser);
  3055.  
  3056. //°ŽÊ±ŒäœøÐÐÂŒÏñ»Ø·Å
  3057. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByTime(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack fDownLoadDataCallBack, long dwDataUser);
  3058. //H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByTimeEx(long lLoginID, int nChannelID, LPH264_DVR_TIME lpStartTime,
  3059. //                                          LPH264_DVR_TIME lpStopTime, fRealDataCallBack fDownLoadDataCallBack, long dwDataUser,
  3060. //                                          fDownLoadPosCallBack cbDownLoadPos, long dwPosUser);
  3061.  
  3062. H264_DVR_API long CALL_METHOD H264_DVR_PlayBackByTimeEx(long lLoginID, H264_DVR_FINDINFO* lpFindInfo,fRealDataCallBack fDownLoadDataCallBack, long dwDataUser,
  3063.                                             fDownLoadPosCallBack cbDownLoadPos, long dwPosUser);
  3064.  
  3065. H264_DVR_API bool CALL_METHOD H264_DVR_StopPlayBack(long lPlayHandle);
  3066.  
  3067. //»Ø·Å¿ØÖÆ·Ö,ÔÝÍ£,¶šÎ»µÈµÈ
  3068. H264_DVR_API bool CALL_METHOD H264_DVR_PlayBackControl(long lPlayHandle, long lControlCode,long lCtrlValue);
  3069.  
  3070. //ÂŒÏñÏÂÔØ,Óû§¿ÉÒÔ²»Ê¹Óûص÷£¬×ÔŒºÍš¹ýH264_DVR_GetDownloadPos»ñÈ¡œø¶È
  3071. H264_DVR_API long CALL_METHOD H264_DVR_GetFileByName(long lLoginID,H264_DVR_FILE_DATA *sPlayBackFile,char *sSavedFileName,
  3072.                                             fDownLoadPosCallBack cbDownLoadPos = NULL, long dwDataUser = NULL,fRealDataCallBack fDownLoadDataCallBack = NULL);
  3073. H264_DVR_API long CALL_METHOD H264_DVR_GetFileByTime(long lLoginID, H264_DVR_FINDINFO* lpFindInfo, char *sSavedFileDIR, bool bMerge = false,
  3074.                                             fDownLoadPosCallBack cbDownLoadPos = NULL, long dwDataUser = NULL ,fRealDataCallBack fDownLoadDataCallBack =NULL );
  3075.  
  3076. H264_DVR_API bool CALL_METHOD H264_DVR_StopGetFile(long lFileHandle);
  3077. //»ñÈ¡ÏÂÔØœø¶È
  3078. H264_DVR_API int CALL_METHOD H264_DVR_GetDownloadPos(long lFileHandle);
  3079.  
  3080. //ÉýŒ¶
  3081. H264_DVR_API long CALL_METHOD H264_DVR_Upgrade(long lLoginID, char *sFileName, int nType = 0, fUpgradeCallBack cbUpgrade = NULL, long dwUser = 0);
  3082. //ÉýŒ¶×ŽÌ¬ 1 ³É¹Š£¬ 2 ÕýÔÚÉýŒ¶ 3 ʧ°Ü
  3083. H264_DVR_API int CALL_METHOD H264_DVR_GetUpgradeState(long lUpgradeHandle);
  3084. H264_DVR_API long CALL_METHOD H264_DVR_CloseUpgradeHandle(long lUpgradeHandle);
  3085.  
  3086.  
  3087. //ÔÆÌš¿ØÖÆ£¬Ä¬ÈÏÊÇ¿ªÆôÔÆÌš£¬ËÙ¶È4£¬Óû§Ò²¿ÉÒÔ×ÔÐÐÉèÖÃËÙ¶È
  3088. H264_DVR_API bool CALL_METHOD H264_DVR_PTZControl(long lLoginID,int nChannelNo, long lPTZCommand, bool bStop = false, long lSpeed = 4);
  3089.  
  3090. //À©Õ¹ÔÆÌš¿ØÖÆ£¬°üÀšÔ€ÖõãÉèÖã¬Ñ²ºœÂ·Ïߣ¬¿ìËÙ¶šÎ»µÈµÈ
  3091. H264_DVR_API bool CALL_METHOD H264_DVR_PTZControlEx(long lLoginID,int nChannelNo, long lPTZCommand,
  3092.                                     long lParam1, long lParam2, long lParam3, bool bStop = false);
  3093.  
  3094. //É豞¿ØÖÆ£º·µ»ØÖµ true ³É¹Š£¬ false ʧ°Ü
  3095. H264_DVR_API bool CALL_METHOD H264_DVR_ControlDVR(long lLoginID, int type, int waittime = 2000);
  3096.    
  3097.  
  3098. //ËÑË÷ŸÖÓòÍøÄÚµÄÉ豞
  3099. H264_DVR_API bool CALL_METHOD H264_DVR_SearchDevice(char* szBuf, int nBufLen, int* pRetLen, int nSearchTime);
  3100.  
  3101.  
  3102. //ÓïÒô¶Ôœ²£¬žºÔðÊýŸÝŽ«·¢œÓ¿Ú
  3103. H264_DVR_API long CALL_METHOD H264_DVR_StartVoiceCom_MR(long lLoginID, pfAudioDataCallBack pVcb, long dwDataUser);
  3104. H264_DVR_API bool CALL_METHOD H264_DVR_VoiceComSendData(long lVoiceHandle, char *pSendBuf, long lBufSize);
  3105. H264_DVR_API bool CALL_METHOD H264_DVR_StopVoiceCom(long lVoiceHandle);
  3106.  
  3107. //ÉèÖöԜ²ÒôƵ±àÂ뷜ʜ£¬Óû§¿ÉÒÔ²»ÉèÖã¬Ä¬ÈÏΪG711A±àÂë
  3108. H264_DVR_API bool CALL_METHOD H264_DVR_SetTalkMode(long lLoginID, SDK_AudioInFormatConfig* pTalkMode);
  3109.  
  3110. // lRecordTypeÂŒÏñģʜ, ŒûSDK_RecordModeTypes
  3111. H264_DVR_API bool CALL_METHOD H264_DVR_StartDVRRecord(long lLoginID, int nChannelNo ,long lRecordType);
  3112. H264_DVR_API bool CALL_METHOD H264_DVR_StopDVRRecord(long lLoginID, int nChannelNo);
  3113.  
  3114. H264_DVR_API bool CALL_METHOD H264_DVR_SetSystemDateTime(long lLoginID, SDK_SYSTEM_TIME *pSysTime);
  3115. H264_DVR_API bool CALL_METHOD H264_DVR_GetDVRWorkState(long lLoginID, SDK_DVR_WORKSTATE *pWorkState);
  3116.  
  3117. H264_DVR_API bool CALL_METHOD H264_DVR_ClickKey(long lLoginID, SDK_NetKeyBoardData *pKeyBoardData);
  3118.  
  3119. // ŽÅÅ̹ÜÀí
  3120. H264_DVR_API int CALL_METHOD H264_DVR_StorageManage(long lLoginID, SDK_StorageDeviceControl *pStorageCtl);
  3121.  
  3122. H264_DVR_API bool CALL_METHOD H264_DVR_SendNetAlarmMsg(long lLoginID, SDK_NetAlarmInfo *pAlarmInfo);
  3123.  
  3124. // ץ͌
  3125. H264_DVR_API bool CALL_METHOD H264_DVR_CatchPic(long lLoginID, int nChannel, char *sFileName);
  3126. H264_DVR_API bool CALL_METHOD H264_DVR_CatchPicInBuffer(long lLoginID, int nChannel, char *pBuffer, int nBufLen, int *pPicLen);
  3127.  
  3128. H264_DVR_API bool CALL_METHOD H264_DVR_StartAlarmCenterListen(int nPort, fMessCallBack cbAlarmCenter, unsigned long dwDataUser);
  3129. H264_DVR_API bool CALL_METHOD H264_DVR_StopAlarmCenterListen();
  3130.  
  3131. //ÍžÃ÷232,485
  3132. H264_DVR_API bool CALL_METHOD H264_DVR_SerialWrite(long lLoginID, SERIAL_TYPE nType, char *pBuffer, int nBufLen);
  3133. H264_DVR_API bool CALL_METHOD H264_DVR_SerialRead(long lLoginID, SERIAL_TYPE nType, char *pBuffer, int nBufLen, int *pReadLen);
  3134.  
  3135. H264_DVR_API int CALL_METHOD H264_DVR_GetDDNSInfo(SearchMode &searchmode, DDNS_INFO *pDevicInfo, int maxDeviceNum, int &nretNum);
  3136.  
  3137. //nStream: 0±íÊŸÖ÷ÂëÁ÷£¬Îª1±íÊŸ×ÓÂëÁ÷
  3138. H264_DVR_API bool CALL_METHOD H264_DVR_MakeKeyFrame(long lLoginID, int nChannel, int nStream);
  3139.  
  3140. //nStream: 0±íÊŸÖ÷ÂëÁ÷£¬Îª1±íÊŸ×ÓÂëÁ÷
  3141. H264_DVR_API bool CALL_METHOD H264_DVR_GetOEMInfo(long lLoginID, SDK_OEMInfo *pOEMInfo);
  3142. // ŽŽœšÍžÃ÷Ž®¿ÚÍšµÀ
  3143. H264_DVR_API bool CALL_METHOD H264_DVR_OpenTransComChannel(long lLoginID, TransComChannel *TransInfo, fTransComCallBack cbTransCom, unsigned long lUser);
  3144. //¹Ø±ÕÍžÃ÷Ž®¿ÚÍšµÀ
  3145. H264_DVR_API bool CALL_METHOD H264_DVR_CloseTransComChannel(long lLoginID, SERIAL_TYPE nType);
  3146. //»ñȡ׎̬ÐÅÏ¢
  3147. H264_DVR_API bool CALL_METHOD H264_DVR_GetDeviceState(long lLoginID, SDK_State_Type type, char *pState);
  3148. //»ñÈ¡ui͌Ƭ:type 1:Ϊȫ͌Ƭ 2:»î¶¯ÇøÓò͌Ƭ
  3149. H264_DVR_API bool CALL_METHOD H264_DVR_CatchPicUI(long lLoginID,char *saveFileName,int type=1);
  3150.  
  3151. #ifdef WIN32
  3152.  
  3153. //Žò¿ªÍšµÀÒôƵ //Ô€ÀÀ£¬»Ø·Å£¬±ŸµØ²¥·Å Ò»žöº¯Êý
  3154. H264_DVR_API bool CALL_METHOD H264_DVR_OpenSound(long lHandle);
  3155. //¹Ø±ÕÍšµÀÒôƵ //Ô€ÀÀ£¬»Ø·Å£¬±ŸµØ²¥·Å Ò»žöº¯Êý
  3156. H264_DVR_API bool CALL_METHOD H264_DVR_CloseSound(long lHandle);
  3157. //×¥±ŸµØ͌Ƭ //Ô€ÀÀ£¬»Ø·Å£¬±ŸµØ²¥·Å Ò»žöº¯Êý
  3158. H264_DVR_API bool CALL_METHOD H264_DVR_LocalCatchPic(long lHandle,char*szSaveFileName);
  3159. //Žò¿ª¶Ôœ²
  3160. H264_DVR_API long CALL_METHOD H264_DVR_StartLocalVoiceCom(long lLoginID);
  3161. //¿ªÊŒ±ŸµØÂŒÏñ
  3162. H264_DVR_API bool CALL_METHOD H264_DVR_StartLocalRecord(long lRealHandle,char*szSaveFileName,long type=0);
  3163. //¹Ø±Õ±ŸµØÂŒÏñ
  3164. H264_DVR_API bool CALL_METHOD H264_DVR_StopLocalRecord(long lRealHandle);
  3165.  
  3166. //²¥·Å±ŸµØÎÄŒþ
  3167. H264_DVR_API long CALL_METHOD H264_DVR_StartLocalPlay(char*pFileName,void* hWnd,fPlayDrawCallBack drawCallBack=NULL,long user=NULL);
  3168. //¹Ø±Õ±ŸµØ²¥·Å
  3169. H264_DVR_API bool CALL_METHOD H264_DVR_StopLocalPlay(long lPlayHandle);
  3170. //»ñÈ¡²¥·ÅλÖÃÓÃÓڻطţ¬ºÍ±ŸµØ²¥·Å
  3171. H264_DVR_API float CALL_METHOD H264_DVR_GetPlayPos(long lPlayHandle);
  3172. //ÉèÖò¥·ÅλÖ㚰ٷֱȣ©ÓÃÓڻطţ¬ºÍ±ŸµØ²¥·Å
  3173. H264_DVR_API bool CALL_METHOD H264_DVR_SetPlayPos(long lPlayHandle,float fRelativPos);
  3174. //²¥·Å¿ØÖÆ£š²¥·Å£¬Í£Ö¹£¬»ÖžŽ£¬¿ì·¢£¬Âý·Å£©
  3175. H264_DVR_API bool CALL_METHOD H264_DVR_LocalPlayCtrl(long lPlayHandle,SDK_LoalPlayAction action,long lCtrlValue);
  3176. //ÉèÖò¥·ÅœáÊø»Øµ÷
  3177. H264_DVR_API bool CALL_METHOD H264_DVR_SetFileEndCallBack(long lPlayHandle,fLocalPlayFileCallBack callBack,long user);
  3178. //ÉèÖÃÐÅÏ¢Ö¡»Øµ÷
  3179. H264_DVR_API bool CALL_METHOD H264_DVR_SetInfoFrameCallBack(long lPlayHandle,InfoFramCallBack callback,long user);
  3180.  
  3181. //±ŸµØÑÕÉ«¿ØÖÆ //Ô€ÀÀ£¬»Ø·Å£¬±ŸµØ²¥·Å Ò»žöº¯Êý
  3182. H264_DVR_API bool CALL_METHOD H264_DVR_LocalGetColor(long lHandle, DWORD nRegionNum, LONG *pBrightness, LONG *pContrast, LONG *pSaturation, LONG *pHue);
  3183. H264_DVR_API bool CALL_METHOD H264_DVR_LocalSetColor(long lHandle, DWORD nRegionNum, LONG nBrightness, LONG nContrast, LONG nSaturation, LONG nHue);
  3184. #endif
  3185. //ÉèÖñŸµØip
  3186. H264_DVR_API bool CALL_METHOD H264_DVR_SetLocalBindAddress(char*szIP);
  3187.  
  3188. //ÉϱšÊýŸÝ
  3189. H264_DVR_API bool CALL_METHOD H264_DVR_StartUploadData(long lLoginID,UploadDataType upLoadType,fUploadDataCallBack callBack,long lUser);
  3190.  
  3191. H264_DVR_API bool CALL_METHOD H264_DVR_StopUploadData(long lLoginID,UploadDataType upLoadType);
  3192.  
  3193. //Ö÷¶¯×¢²á
  3194. H264_DVR_API bool CALL_METHOD H264_DVR_StartActiveRigister(int nPort, fMessCallBack cbFunc, unsigned long dwDataUser);
  3195. H264_DVR_API bool CALL_METHOD H264_DVR_StopActiveRigister();
  3196.  
  3197. //×ÓÁ¬œÓÒì³£¶Ï¿ª
  3198. H264_DVR_API long CALL_METHOD H264_DVR_SetSubDisconnectCallBack(fSubDisConnectCallBack callBack,DWORD userData);
  3199.  
  3200. //ÉèÖñ£»îʱŒä
  3201. H264_DVR_API long CALL_METHOD H264_DVR_SetKeepLifeTime(long lLoginID,unsigned int perKeeplifeTime,unsigned int detectDisconTime);
  3202.  
  3203. //MAC µÃµœŒÓÃÜ
  3204. H264_DVR_API bool CALL_METHOD H264_DVR_CheckEncrypt(char *pMac);
  3205.  
  3206.  
  3207. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement