#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