import com.netsdk.lib.NetSDKLib; public class PrintDahuaAbi { private static void print(String name, NetSDKLib.SdkStructure structure, String... fields) { System.out.println(name + ".size=" + structure.size()); for (String field : fields) { try { System.out.println(name + "." + field + "=" + structure.fieldOffset(field)); } catch (IllegalArgumentException e) { System.out.println(name + "." + field + "="); } } } public static void main(String[] args) { print("loginIn", new NetSDKLib.NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY(), "dwSize", "szIP", "nPort", "szUserName", "szPassword", "emSpecCap", "pCapParam", "emTLSCap", "szLocalIP"); print("loginOut", new NetSDKLib.NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY(), "dwSize", "stuDeviceInfo", "nError", "byReserved"); print("userInfo", new NetSDKLib.NET_ACCESS_USER_INFO(), "szUserID", "szName", "emUserType", "nUserStatus", "szCitizenIDNo", "nDoorNum", "nDoors", "nTimeSectionNum", "nTimeSectionNo", "stuValidBeginTime", "stuValidEndTime"); print("faceInfo", new NetSDKLib.NET_ACCESS_FACE_INFO(), "szUserID", "nFacePhoto", "nInFacePhotoLen", "pFacePhotos"); print("userInsertIn", new NetSDKLib.NET_IN_ACCESS_USER_SERVICE_INSERT(), "dwSize", "nInfoNum", "pUserInfo"); print("userInsertOut", new NetSDKLib.NET_OUT_ACCESS_USER_SERVICE_INSERT(), "dwSize", "nMaxRetNum", "pFailCode"); print("userRemoveIn", new NetSDKLib.NET_IN_ACCESS_USER_SERVICE_REMOVE(), "dwSize", "nUserNum", "szUserIDs", "szUserIDEx", "bUserIDEx"); print("userRemoveOut", new NetSDKLib.NET_OUT_ACCESS_USER_SERVICE_REMOVE(), "dwSize", "nMaxRetNum", "pFailCode"); print("faceInsertIn", new NetSDKLib.NET_IN_ACCESS_FACE_SERVICE_INSERT(), "dwSize", "nFaceInfoNum", "pFaceInfo"); print("faceInsertOut", new NetSDKLib.NET_OUT_ACCESS_FACE_SERVICE_INSERT(), "dwSize", "nMaxRetNum", "pFailCode", "stuDetail"); print("faceRemoveIn", new NetSDKLib.NET_IN_ACCESS_FACE_SERVICE_REMOVE(), "dwSize", "nUserNum", "szUserIDs", "szUserIDEx", "bUserIDEx"); print("faceRemoveOut", new NetSDKLib.NET_OUT_ACCESS_FACE_SERVICE_REMOVE(), "dwSize", "nMaxRetNum", "pFailCode"); print("legacyFaceRecord", new NetSDKLib.NET_FACE_RECORD_INFO(), "szUserName", "nRoom", "szRoomNoArr", "nFacePhoto", "nFacePhotoLen", "pszFacePhotoArr", "bValidDate", "stuValidDateStart", "stuValidDateEnd", "nValidCounts", "bValidCountsEnable", "bFaceDataExEnable", "pszFaceDataEx", "byReserved"); print("legacyFaceIn", new NetSDKLib.NET_IN_ADD_FACE_INFO(), "dwSize", "szUserID", "stuFaceInfo"); print("legacyFaceOut", new NetSDKLib.NET_OUT_ADD_FACE_INFO(), "dwSize"); } }