Skip to content
zhoujunhe edited this page Nov 12, 2022 · 3 revisions

// libimobiledevice 都有的函数 typedef int(func_AMDServiceConnectionSend)(HANDLE conn, char data, UINT len); typedef int(func_AMDServiceConnectionReceive)(HANDLE conn, void data, UINT len); typedef void(*func_AMDServiceConnectionInvalidate)(HANDLE conn); typedef int(*func_AMDeviceGetInterfaceType)(HANDLE handle); typedef HANDLE(*func_AMDeviceRetain)(HANDLE handle); typedef int(*func_AMDeviceNotificationSubscribe)(void(callback)(ios_connect_info state), UINT uint1, UINT uint2, UINT uint3, HANDLE *notify); typedef int(*func_AMDeviceConnect)(HANDLE handle); typedef HANDLE(*func_AMDeviceCopyDeviceIdentifier)(HANDLE handle); typedef int(*func_AMDeviceDisconnect)(HANDLE handle); typedef int(*func_AMDeviceIsPaired)(HANDLE handle); typedef int(*func_AMDeviceValidatePairing)(HANDLE handle); typedef int(*func_AMDeviceStartSession)(HANDLE handle); typedef int(*func_AMDeviceStopSession)(HANDLE handle); typedef int(*func_AMDeviceSetValue)(HANDLE handle, HANDLE cfstring1, HANDLE cfstring2); typedef CFTypeRef(*func_AMDeviceCopyValue)(HANDLE handle, HANDLE cfstring1, HANDLE cfstring2); //cf functions typedef CFStringRef(func_CFStringMakeConstantString)(const char data); typedef CFIndex(*func_CFGetTypeID)(CFTypeRef data); typedef CFIndex(*func_CFDictionaryGetTypeID)(); typedef CFIndex(*func_CFDictionaryGetCount)(CFDictionaryRef theDict); typedef void(*func_CFDictionaryGetKeysAndValues)(CFDictionaryRef theDict, CFTypeRef *keys, CFTypeRef *values); typedef CFIndex(*func_CFArrayGetTypeID)(); typedef CFIndex(*func_CFArrayGetCount)(CFArrayRef theArray); typedef CFTypeRef(*func_CFArrayGetValueAtIndex)(CFArrayRef theArray, CFIndex idx); typedef CFIndex(*func_CFStringGetTypeID)(); typedef CFIndex(*func_CFStringGetLength)(CFStringRef data); typedef bool(func_CFStringGetCString)(HANDLE cfstring, char byteString, UINT len, UINT encode); typedef CFBooleanRef(*func_CFBooleanGetValue)(CFBooleanRef data); typedef CFIndex(*func_CFBooleanGetTypeID)(); typedef CFIndex(*func_CFNumberGetTypeID)(); typedef CFIndex(*func_CFNumberGetValue)(CFTypeRef data, int type, void *valuePtr); typedef CFNumberType(*func_CFNumberGetType)(CFTypeRef data); typedef CFIndex(*func_CFNumberGetByteSize)(CFTypeRef data); typedef CFIndex(*func_CFDataGetTypeID)(); typedef CFIndex(func_CFDataGetLength)(CFDataRef theData); typedef const uint8_t (*func_CFDataGetBytePtr)(CFDataRef theData); typedef void(*func_CFDataGetBytes)(CFDataRef theData, CFRange range, uint8_t *buffer); typedef CFIndex(*func_CFDateGetTypeID)(); typedef CFDateRef(*func_CFDateCreate)(CFAllocatorRef allocator, CFAbsoluteTime at); typedef CFAbsoluteTime(*func_CFDateGetAbsoluteTime)(CFDateRef theDate); typedef CFTimeInterval(*func_CFDateGetTimeIntervalSinceDate)(CFDateRef theDate, CFDateRef otherDate); typedef CFComparisonResult(*func_CFDateCompare)(CFDateRef theDate, CFDateRef otherDate, void *context); typedef CFNumberRef(*func_CFNumberCreate)(CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr); typedef CFDataRef(*func_CFDataCreate)(CFAllocatorRef allocator, const uint8_t *bytes, CFIndex length); typedef CFPropertyListRef(*func_CFPropertyListCreateFromXMLData)(CFAllocatorRef allocator, CFDataRef xmlData, CFOptionFlags mutabilityOption, CFStringRef *errorString); typedef CFWriteStreamRef(*func_CFWriteStreamCreateWithAllocatedBuffers)(CFAllocatorRef alloc, CFAllocatorRef bufferAllocator); typedef bool(*func_CFWriteStreamOpen)(CFWriteStreamRef stream); typedef CFIndex(*func_CFPropertyListWriteToStream)(CFPropertyListRef propertyList, CFWriteStreamRef stream, CFPropertyListFormat format, CFStringRef *errorString); typedef CFTypeRef(*func_CFWriteStreamCopyProperty)(CFWriteStreamRef stream, CFStringRef propertyName); typedef void(*func_CFWriteStreamClose)(CFWriteStreamRef stream); typedef void(*func_CFRelease)(CFTypeRef cf);

typedef CFMutableArrayRef(*func_CFArrayCreateMutable)(CFAllocatorRef allocator, CFIndex capacity, CFArrayCallBacks *callBacks); typedef void(*func_CFArrayAppendValue)(CFMutableArrayRef theArray, CFTypeRef value); typedef void(*func_CFArrayAppendArray)(CFMutableArrayRef theArray, CFArrayRef otherArray, CFRange otherRange); typedef CFMutableDictionaryRef(*func_CFDictionaryCreateMutable)(CFAllocatorRef allocator, CFIndex capacity, CFDictionaryKeyCallBacks *keyCallBacks, CFDictionaryValueCallBacks *valueCallBacks); typedef void(*func_CFDictionaryAddValue)(CFMutableDictionaryRef theDict, CFTypeRef key, CFTypeRef value);

//service typedef int(func_AMDeviceSecureStartService)(HANDLE hDevice, HANDLE hCFServiceName, HANDLE hUnknow, HANDLE pServiceHandle); typedef UINT(*func_AMDServiceConnectionGetSocket)(HANDLE pServiceHandle); typedef int(func_AMDServiceConnectionGetSecureIOContext)(HANDLE pServiceHandle); typedef int(func_AFCConnectionOpen)(UINT pServiceSocketHandle, unsigned int io_timeout, HANDLE pAfcServiceHandle); typedef int(func_AFCConnectionClose)(HANDLE pAfcServiceHandle); typedef int(func_AFCFileInfoOpen)(HANDLE pAfcServiceHandle, const char pszPath, HANDLE pFileInfo); typedef int(func_AFCKeyValueRead)(HANDLE pFileInfo, HANDLE pKey, HANDLE pValue); typedef int(func_AFCKeyValueClose)(HANDLE pFileInfo); typedef int(func_AFCFileRefOpen)(HANDLE pAfcServiceHandle, const char pszPath, int mode, HANDLE& pFileRefHandle); typedef int(func_AFCFileRefWrite)(HANDLE pAfcServiceHandle, HANDLE pFileRefHandle, char pszData, LONG64 writeSize); typedef int(func_AFCFileRefRead)(HANDLE pAfcServiceHandle, HANDLE pFileRefHandle, char pszData, LONG64 readSize); typedef int(*func_AFCFileRefClose)(HANDLE pAfcServiceHandle, HANDLE pFileRefHandle); typedef int(*func_AFCDirectoryCreate)(HANDLE pAfcServiceHandle, const char path); typedef int(func_AFCDirectoryOpen)(HANDLE pAfcServiceHandle, const char pszPath, HANDLE pDirHandle); typedef int(func_AFCDirectoryRead)(HANDLE pAfcServiceHandle, HANDLE pDirHandle, HANDLE pBuffer); typedef int(*func_AFCDirectoryClose)(HANDLE pAfcServiceHandle, HANDLE pDirHandle); typedef int(func_AFCRemovePath)(HANDLE pAfcServiceHandle, const char pszPath);

//ATH Functions 同步服务核心函数 typedef ATHConnectionRef(*func_ATHostConnectionCreateWithLibrary)(CFStringRef cfGuid, CFStringRef cfLibraryID, HANDLE unkown);//yes typedef int(*func_ATHostConnectionRetain)(ATHConnectionRef athconn);//yes typedef CFTypeRef(*func_ATHostConnectionReadMessage)(ATHConnectionRef athconn);//yes typedef int(*func_ATHostConnectionSendPowerAssertion)(ATHConnectionRef athconn, CFBooleanRef unknown);//yes typedef int(*func_ATHostConnectionSendSyncRequest)(ATHConnectionRef athconn, CFTypeRef cfData1, CFTypeRef cfData2, CFTypeRef cfData3);//yes typedef int(*func_ATHostConnectionGetGrappaSessionId)(ATHConnectionRef athconn);//yes typedef int(*func_ATHostConnectionSendMetadataSyncFinished)(ATHConnectionRef athconn, CFTypeRef cfData1, CFTypeRef cfData2);//yes typedef int(*func_ATHostConnectionSendFileProgress)(ATHConnectionRef athconn, CFStringRef cfstring1, CFStringRef cfstring2); typedef int(*func_ATHostConnectionSendAssetCompleted)(ATHConnectionRef athconn, CFStringRef cfstring1, CFStringRef cfstring2, CFStringRef cfstring3);//yes typedef int(*func_ATHostConnectionDestroy)(ATHConnectionRef athconn); typedef int(*func_ATHostConnectionSendFileError)(ATHConnectionRef athconn, CFStringRef cfstring1, CFStringRef cfstring2);

Clone this wiki locally