houxiao
2016-12-12 755cfc4c72d8cda3161701a7f5454959175fa042
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#ifndef _SADP_H_
#define _SADP_H_
 
 
#if defined _WIN32 || defined _WIN64
#define CSADP_API  extern "C"__declspec(dllimport)
#elif defined __linux__ || defined __APPLE__
#define CSADP_API  extern "C"
#endif
 
#if defined _WIN32 || defined _WIN64
#define CALLBACK __stdcall
#elif defined __linux__ || defined __APPLE__
#define CALLBACK  
#endif
 
 
//ÏûÏ¢²Ù×÷µÄÀàÐÍ
#define SADP_ADD          1            //Ôö¼ÓÒ»É豸
#define SADP_UPDATE          2            //¸üÐÂÉ豸
#define SADP_DEC          3            //É豸ÏÂÏß
#define SADP_RESTART      4            //Éè±¸ÖØÐÂÆô¶¯
#define SADP_UPDATEFAIL      5            //É豸¸üÐÂʧ°Ü
 
#define MSG_FIND_DEVICE  9000    // ·¢ÏÖÉ豸ÏûÏ¢
 
// ´íÎóÂë
#define SADP_ERROR_BASE                    2000
#define SADP_NOERROR                     0                    // Ã»ÓдíÎó
#define SADP_ALLOC_RESOURCE_ERROR        SADP_ERROR_BASE+1   // ×ÊÔ´·ÖÅä´íÎó
#define SADP_NOT_START_ERROR            SADP_ERROR_BASE+2   // SADPδÆô¶¯
#define SADP_NO_ADAPTER_ERROR            SADP_ERROR_BASE+3   // ÎÞÍø¿¨
#define SADP_GET_ADAPTER_FAIL_ERROR        SADP_ERROR_BASE+4   // »ñÈ¡Íø¿¨ÐÅϢʧ°Ü
#define SADP_PARAMETER_ERROR            SADP_ERROR_BASE+5   // ²ÎÊý´íÎó
#define SADP_OPEN_ADAPTER_FAIL_ERROR    SADP_ERROR_BASE+6   // ´ò¿ªÍø¿¨Ê§°Ü
#define SADP_SEND_PACKET_FAIL_ERROR        SADP_ERROR_BASE+7   // ·¢ËÍÊý¾Ýʧ°Ü
#define SADP_SYSTEM_CALL_ERROR            SADP_ERROR_BASE+8   // ÏµÍ³½Ó¿Úµ÷ÓÃʧ°Ü
#define SADP_DENY_OR_TIMEOUT_ERROR        SADP_ERROR_BASE+9   // É豸¾Ü¾ø´¦Àí»ò³¬Ê±
#define SADP_NPF_INSTALL_FAILED            SADP_ERROR_BASE+10  // °²×°NPF·þÎñʧ°Ü
 
 
// ½á¹¹Ìå
typedef struct tagSADP_DEVICE_INFO
{
    char            szSeries[12];
    char            szSerialNO[48];
    char            szMAC[20];
    char            szIPv4Address[16];
    char            szIPv4SubnetMask[16];
    unsigned int    dwDeviceType;
    unsigned int    dwPort;
    unsigned int    dwNumberOfEncoders; 
    unsigned int    dwNumberOfHardDisk;
    char            szDeviceSoftwareVersion[48];
    char            szDSPVersion[48]; 
    char            szBootTime[48];
    int                iResult;
    char            szDevDesc[24];       //É豸ÀàÐÍÃèÊö
    char            szOEMinfo[24];       //OEM²úÉÌÐÅÏ¢
    char            szIPv4Gateway[16];   //IPv4Íø¹Ø
    char            szIPv6Address[46];     //IPv6µØÖ·
    char            szIPv6Gateway[46];   //IPv6Íø¹Ø
    unsigned char   byIPv6MaskLen;       //IPv6×ÓÍøÇ°×º³¤¶È
    unsigned char   bySupport;           //°´Î»±íʾ,¶ÔӦΪΪ1±íʾ֧³Ö,0x01:ÊÇ·ñÖ§³ÖIpv6,0x02:ÊÇ·ñÖ§³ÖÐÞ¸ÄIpv6²ÎÊý,0x04:ÊÇ·ñÖ§³ÖDhcp                 
    unsigned char   byDhcpEnabled;       //Dhcp״̬, 0 ²»ÆôÓà1 ÆôÓÃ
    unsigned char   byDeviceAbility;    //0£ºÉ豸²»Ö§³Ö¡°¡®É豸ÀàÐÍÃèÊö¡¯ 'OEM³§ÉÌ' 'IPv4Íø¹Ø' ¡®IPv6µØÖ·¡¯ 'IPv6Íø¹Ø' ¡®IPv6×ÓÍøÇ°×º¡¯¡®DHCP¡¯¡±  1£ºÖ§³ÖÉÏËß¹¦ÄÜ
    unsigned char   byRes1[64];          //±£Áô
}SADP_DEVICE_INFO, *LPSADP_DEVICE_INFO;
 
//´ýÐ޸ĵÄÉè±¸ÍøÂç²ÎÊý
typedef struct tagSADP_DEV_NET_PARAM
{
    char            szIPv4Address[16];        // IPv4µØÖ·
    char            szIPv4SubNetMask[16];    // IPv4×ÓÍøÑÚÂë
    char            szIPv4Gateway[16];        // IPv4Íø¹Ø
    char            szIPv6Address[128];        // IPv6µØÖ·
    char            szIPv6Gateway[128];        // IPv6Íø¹Ø
    unsigned short    wPort;                    // É豸¼àÌý¶Ë¿Ú
    unsigned char    byIPv6MaskLen;            // IPv6ÑÚÂ볤¶È
    unsigned char    byDhcpEnable;            // DHCPʹÄÜ
    unsigned char    byRes[128];
}SADP_DEV_NET_PARAM, *LPSADP_DEV_NET_PARAM;
 
 
// CMS²ÎÊý
typedef struct tagSADP_CMS_PARAM
{
    char            szPUID[32];            // Ô¤·ÖÅäµÄPUID
    char            szPassword[16];        // ÉèÖõĵǼÃÜÂë
    char            szCmsIPv4[16];        // CMS·þÎñÆ÷IPv4µØÖ·
    char            szCmsIPv6[128];        // CMS·þÎñÆ÷IPv6µØÖ·
    unsigned short    wCmsPort;            // CMS·þÎñÆ÷¼àÌý¶Ë¿Ú
    unsigned char    byRes[30];
}SADP_CMS_PARAM, *LPSADP_CMS_PARAM;
 
 
 
 
// ½Ó¿Ú
typedef void (CALLBACK *PDEVICE_FIND_CALLBACK)(const SADP_DEVICE_INFO *lpDeviceInfo, void *pUserData);
CSADP_API int CALLBACK SADP_Start_V30(PDEVICE_FIND_CALLBACK pDeviceFindCallBack, int bInstallNPF = 1, void* pUserData = NULL);
CSADP_API int  CALLBACK SADP_SendInquiry(void);
CSADP_API int  CALLBACK SADP_Stop(void);
CSADP_API int CALLBACK SADP_ModifyDeviceNetParam(const char* sMAC, const char* sPassword, const SADP_DEV_NET_PARAM *lpNetParam);
CSADP_API unsigned int CALLBACK SADP_GetSadpVersion(void);
CSADP_API int CALLBACK SADP_SetLogToFile(int nLogLevel=0, char const *strLogDir = NULL, int bAutoDel = 1);        
CSADP_API unsigned int CALLBACK SADP_GetLastError(void);
CSADP_API int CALLBACK SADP_ResetDefaultPasswd(const char* sDevSerialNO, const char* sCommand);
CSADP_API int CALLBACK SADP_SetCMSInfo(const char* sMac, const SADP_CMS_PARAM *lpCmsParam);
 
 
#endif