📄 ptp.h
字号:
uint8_t Y;};typedef struct _PTPNIKONCoordinatePair PTPNIKONCoordinatePair;struct _PTPNTCCoordinatePair { uint8_t X; uint8_t Y;};typedef struct _PTPNTCCoordinatePair PTPNTCCoordinatePair;struct _PTPNIKONCurveData { char static_preamble[6]; uint8_t XAxisStartPoint; uint8_t XAxisEndPoint; uint8_t YAxisStartPoint; uint8_t YAxisEndPoint; uint8_t MidPointIntegerPart; uint8_t MidPointDecimalPart; uint8_t NCoordinates; PTPNIKONCoordinatePair CurveCoordinates[PTP_NIKON_MaxCurvePoints];};typedef struct _PTPNIKONCurveData PTPNIKONCurveData;struct _PTPEKTextParams { char *title; char *line[5];};typedef struct _PTPEKTextParams PTPEKTextParams;/* Nikon Wifi profiles */struct _PTPNIKONWifiProfile { /* Values valid both when reading and writing profiles */ char profile_name[17]; uint8_t device_type; uint8_t icon_type; char essid[33]; /* Values only valid when reading. Some of these are in the write packet, * but are set automatically, like id, display_order and creation_date. */ uint8_t id; uint8_t valid; uint8_t display_order; char creation_date[16]; char lastusage_date[16]; /* Values only valid when writing */ uint32_t ip_address; uint8_t subnet_mask; /* first zero bit position, e.g. 24 for 255.255.255.0 */ uint32_t gateway_address; uint8_t address_mode; /* 0 - Manual, 2-3 - DHCP ad-hoc/managed*/ uint8_t access_mode; /* 0 - Managed, 1 - Adhoc */ uint8_t wifi_channel; /* 1-11 */ uint8_t authentification; /* 0 - Open, 1 - Shared, 2 - WPA-PSK */ uint8_t encryption; /* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not supported: 3 - TKIP) */ uint8_t key[64]; uint8_t key_nr;// char guid[16];};typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile;/* DataType Codes */#define PTP_DTC_UNDEF 0x0000#define PTP_DTC_INT8 0x0001#define PTP_DTC_UINT8 0x0002#define PTP_DTC_INT16 0x0003#define PTP_DTC_UINT16 0x0004#define PTP_DTC_INT32 0x0005#define PTP_DTC_UINT32 0x0006#define PTP_DTC_INT64 0x0007#define PTP_DTC_UINT64 0x0008#define PTP_DTC_INT128 0x0009#define PTP_DTC_UINT128 0x000A#define PTP_DTC_ARRAY_MASK 0x4000#define PTP_DTC_AINT8 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT8)#define PTP_DTC_AUINT8 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT8)#define PTP_DTC_AINT16 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT16)#define PTP_DTC_AUINT16 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT16)#define PTP_DTC_AINT32 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT32)#define PTP_DTC_AUINT32 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT32)#define PTP_DTC_AINT64 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT64)#define PTP_DTC_AUINT64 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT64)#define PTP_DTC_AINT128 (PTP_DTC_ARRAY_MASK | PTP_DTC_INT128)#define PTP_DTC_AUINT128 (PTP_DTC_ARRAY_MASK | PTP_DTC_UINT128)#define PTP_DTC_STR 0xFFFF/* Device Properties Codes */#define PTP_DPC_Undefined 0x5000#define PTP_DPC_BatteryLevel 0x5001#define PTP_DPC_FunctionalMode 0x5002#define PTP_DPC_ImageSize 0x5003#define PTP_DPC_CompressionSetting 0x5004#define PTP_DPC_WhiteBalance 0x5005#define PTP_DPC_RGBGain 0x5006#define PTP_DPC_FNumber 0x5007#define PTP_DPC_FocalLength 0x5008#define PTP_DPC_FocusDistance 0x5009#define PTP_DPC_FocusMode 0x500A#define PTP_DPC_ExposureMeteringMode 0x500B#define PTP_DPC_FlashMode 0x500C#define PTP_DPC_ExposureTime 0x500D#define PTP_DPC_ExposureProgramMode 0x500E#define PTP_DPC_ExposureIndex 0x500F#define PTP_DPC_ExposureBiasCompensation 0x5010#define PTP_DPC_DateTime 0x5011#define PTP_DPC_CaptureDelay 0x5012#define PTP_DPC_StillCaptureMode 0x5013#define PTP_DPC_Contrast 0x5014#define PTP_DPC_Sharpness 0x5015#define PTP_DPC_DigitalZoom 0x5016#define PTP_DPC_EffectMode 0x5017#define PTP_DPC_BurstNumber 0x5018#define PTP_DPC_BurstInterval 0x5019#define PTP_DPC_TimelapseNumber 0x501A#define PTP_DPC_TimelapseInterval 0x501B#define PTP_DPC_FocusMeteringMode 0x501C#define PTP_DPC_UploadURL 0x501D#define PTP_DPC_Artist 0x501E#define PTP_DPC_CopyrightInfo 0x501F/* Proprietary vendor extension device property mask */#define PTP_DPC_EXTENSION_MASK 0xF000#define PTP_DPC_EXTENSION 0xD000/* Vendor Extensions device property codes *//* Eastman Kodak extension device property codes */#define PTP_DPC_EK_ColorTemperature 0xD001#define PTP_DPC_EK_DateTimeStampFormat 0xD002#define PTP_DPC_EK_BeepMode 0xD003#define PTP_DPC_EK_VideoOut 0xD004#define PTP_DPC_EK_PowerSaving 0xD005#define PTP_DPC_EK_UI_Language 0xD006/* Canon extension device property codes */#define PTP_DPC_CANON_BeepMode 0xD001#define PTP_DPC_CANON_ViewfinderMode 0xD003#define PTP_DPC_CANON_ImageQuality 0xD006#define PTP_DPC_CANON_D007 0xD007#define PTP_DPC_CANON_ImageSize 0xD008#define PTP_DPC_CANON_FlashMode 0xD00A#define PTP_DPC_CANON_ShootingMode 0xD00C#define PTP_DPC_CANON_DriveMode 0xD00E#define PTP_DPC_CANON_MeteringMode 0xD010#define PTP_DPC_CANON_AFDistance 0xD011#define PTP_DPC_CANON_FocusingPoint 0xD012#define PTP_DPC_CANON_WhiteBalance 0xD013#define PTP_DPC_CANON_ISOSpeed 0xD01C#define PTP_DPC_CANON_Aperture 0xD01D#define PTP_DPC_CANON_ShutterSpeed 0xD01E#define PTP_DPC_CANON_ExpCompensation 0xD01F /* capture data type (?) */#define PTP_DPC_CANON_D029 0xD029#define PTP_DPC_CANON_Zoom 0xD02A#define PTP_DPC_CANON_SizeQualityMode 0xD02C#define PTP_DPC_CANON_FirmwareVersion 0xD031#define PTP_DPC_CANON_CameraModel 0xD032#define PTP_DPC_CANON_CameraOwner 0xD033#define PTP_DPC_CANON_UnixTime 0xD034#define PTP_DPC_CANON_DZoomMagnification 0xD039#define PTP_DPC_CANON_PhotoEffect 0xD040#define PTP_DPC_CANON_AssistLight 0xD041#define PTP_DPC_CANON_D045 0xD045#define PTP_DPC_CANON_AverageFilesizes 0xD048/* Nikon extension device property codes */#define PTP_DPC_NIKON_ShootingBank 0xD010#define PTP_DPC_NIKON_ShootingBankNameA 0xD011#define PTP_DPC_NIKON_ShootingBankNameB 0xD012#define PTP_DPC_NIKON_ShootingBankNameC 0xD013#define PTP_DPC_NIKON_ShootingBankNameD 0xD014#define PTP_DPC_NIKON_RawCompression 0xD016#define PTP_DPC_NIKON_WhiteBalanceAutoBias 0xD017#define PTP_DPC_NIKON_WhiteBalanceTungstenBias 0xD018#define PTP_DPC_NIKON_WhiteBalanceFluorescentBias 0xD019#define PTP_DPC_NIKON_WhiteBalanceDaylightBias 0xD01A#define PTP_DPC_NIKON_WhiteBalanceFlashBias 0xD01B#define PTP_DPC_NIKON_WhiteBalanceCloudyBias 0xD01C#define PTP_DPC_NIKON_WhiteBalanceShadeBias 0xD01D#define PTP_DPC_NIKON_WhiteBalanceColorTemperature 0xD01E#define PTP_DPC_NIKON_ImageSharpening 0xD02A#define PTP_DPC_NIKON_ToneCompensation 0xD02B#define PTP_DPC_NIKON_ColorModel 0xD02C#define PTP_DPC_NIKON_HueAdjustment 0xD02D#define PTP_DPC_NIKON_NonCPULensDataFocalLength 0xD02E#define PTP_DPC_NIKON_NonCPULensDataMaximumAperture 0xD02F#define PTP_DPC_NIKON_CSMMenuBankSelect 0xD040#define PTP_DPC_NIKON_MenuBankNameA 0xD041#define PTP_DPC_NIKON_MenuBankNameB 0xD042#define PTP_DPC_NIKON_MenuBankNameC 0xD043#define PTP_DPC_NIKON_MenuBankNameD 0xD044#define PTP_DPC_NIKON_A1AFCModePriority 0xD048#define PTP_DPC_NIKON_A2AFSModePriority 0xD049#define PTP_DPC_NIKON_A3GroupDynamicAF 0xD04A#define PTP_DPC_NIKON_A4AFActivation 0xD04B#define PTP_DPC_NIKON_A5FocusAreaIllumManualFocus 0xD04C#define PTP_DPC_NIKON_FocusAreaIllumContinuous 0xD04D#define PTP_DPC_NIKON_FocusAreaIllumWhenSelected 0xD04E#define PTP_DPC_NIKON_FocusAreaWrap 0xD04F#define PTP_DPC_NIKON_A7VerticalAFON 0xD050#define PTP_DPC_NIKON_ISOAuto 0xD054#define PTP_DPC_NIKON_B2ISOStep 0xD055#define PTP_DPC_NIKON_EVStep 0xD056#define PTP_DPC_NIKON_B4ExposureCompEv 0xD057#define PTP_DPC_NIKON_ExposureCompensation 0xD058#define PTP_DPC_NIKON_CenterWeightArea 0xD059#define PTP_DPC_NIKON_AELockMode 0xD05E#define PTP_DPC_NIKON_AELAFLMode 0xD05F#define PTP_DPC_NIKON_MeterOff 0xD062#define PTP_DPC_NIKON_SelfTimer 0xD063#define PTP_DPC_NIKON_MonitorOff 0xD064#define PTP_DPC_NIKON_D1ShootingSpeed 0xD068#define PTP_DPC_NIKON_D2MaximumShots 0xD069#define PTP_DPC_NIKON_D3ExpDelayMode 0xD06A#define PTP_DPC_NIKON_LongExposureNoiseReduction 0xD06B#define PTP_DPC_NIKON_FileNumberSequence 0xD06C#define PTP_DPC_NIKON_D6ControlPanelFinderRearControl 0xD06D#define PTP_DPC_NIKON_ControlPanelFinderViewfinder 0xD06E#define PTP_DPC_NIKON_D7Illumination 0xD06F#define PTP_DPC_NIKON_E1FlashSyncSpeed 0xD074#define PTP_DPC_NIKON_FlashShutterSpeed 0xD075#define PTP_DPC_NIKON_E3AAFlashMode 0xD076#define PTP_DPC_NIKON_E4ModelingFlash 0xD077#define PTP_DPC_NIKON_BracketSet 0xD078#define PTP_DPC_NIKON_E6ManualModeBracketing 0xD079 #define PTP_DPC_NIKON_BracketOrder 0xD07A#define PTP_DPC_NIKON_E8AutoBracketSelection 0xD07B#define PTP_DPC_NIKON_F1CenterButtonShootingMode 0xD080#define PTP_DPC_NIKON_CenterButtonPlaybackMode 0xD081#define PTP_DPC_NIKON_F2Multiselector 0xD082#define PTP_DPC_NIKON_F3PhotoInfoPlayback 0xD083#define PTP_DPC_NIKON_F4AssignFuncButton 0xD084#define PTP_DPC_NIKON_F5CustomizeCommDials 0xD085#define PTP_DPC_NIKON_ReverseCommandDial 0xD086#define PTP_DPC_NIKON_ApertureSetting 0xD087#define PTP_DPC_NIKON_MenusAndPlayback 0xD088#define PTP_DPC_NIKON_F6ButtonsAndDials 0xD089#define PTP_DPC_NIKON_NoCFCard 0xD08A#define PTP_DPC_NIKON_ImageCommentString 0xD090#define PTP_DPC_NIKON_ImageCommentAttach 0xD091#define PTP_DPC_NIKON_ImageRotation 0xD092#define PTP_DPC_NIKON_Bracketing 0xD0C0#define PTP_DPC_NIKON_ExposureBracketingIntervalDist 0xD0C1#define PTP_DPC_NIKON_BracketingProgram 0xD0C2#define PTP_DPC_NIKON_LensID 0xD0E0#define PTP_DPC_NIKON_FocalLengthMin 0xD0E3#define PTP_DPC_NIKON_FocalLengthMax 0xD0E4#define PTP_DPC_NIKON_MaxApAtMinFocalLength 0xD0E5#define PTP_DPC_NIKON_MaxApAtMaxFocalLength 0xD0E6#define PTP_DPC_NIKON_ExposureTime 0xD100#define PTP_DPC_NIKON_MaximumShots 0xD103#define PTP_DPC_NIKON_AutoExposureLock 0xD105#define PTP_DPC_NIKON_AutoFocusLock 0xD106#define PTP_DPC_NIKON_AutofocusLCDTopMode2 0xD107#define PTP_DPC_NIKON_AutofocusArea 0xD108#define PTP_DPC_NIKON_LightMeter 0xD10A#define PTP_DPC_NIKON_CameraOrientation 0xD10E#define PTP_DPC_NIKON_ExposureApertureLock 0xD111#define PTP_DPC_NIKON_FlashExposureCompensation 0xD126#define PTP_DPC_NIKON_OptimizeImage 0xD140#define PTP_DPC_NIKON_Saturation 0xD142#define PTP_DPC_NIKON_BeepOff 0xD160#define PTP_DPC_NIKON_AutofocusMode 0xD161#define PTP_DPC_NIKON_AFAssist 0xD163#define PTP_DPC_NIKON_PADVPMode 0xD164#define PTP_DPC_NIKON_ImageReview 0xD165#define PTP_DPC_NIKON_AFAreaIllumination 0xD166#define PTP_DPC_NIKON_FlashMode 0xD167#define PTP_DPC_NIKON_FlashCommanderMode 0xD168#define PTP_DPC_NIKON_FlashSign 0xD169#define PTP_DPC_NIKON_RemoteTimeout 0xD16B#define PTP_DPC_NIKON_GridDisplay 0xD16C#define PTP_DPC_NIKON_FlashModeManualPower 0xD16D#define PTP_DPC_NIKON_FlashModeCommanderPower 0xD16E#define PTP_DPC_NIKON_CSMMenu 0xD180#define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190#define PTP_DPC_NIKON_LowLight 0xD1B0#define PTP_DPC_NIKON_FlashOpen 0xD1C0#define PTP_DPC_NIKON_FlashCharged 0xD1C1/* Microsoft/MTP specific */#define PTP_DPC_MTP_SecureTime 0xD101#define PTP_DPC_MTP_DeviceCertificate 0xD102#define PTP_DPC_MTP_SynchronizationPartner 0xD401#define PTP_DPC_MTP_DeviceFriendlyName 0xD402#define PTP_DPC_MTP_VolumeLevel 0xD403#define PTP_DPC_MTP_DeviceIcon 0xD405#define PTP_DPC_MTP_PlaybackRate 0xD410#define PTP_DPC_MTP_PlaybackObject 0xD411#define PTP_DPC_MTP_PlaybackContainerIndex 0xD412#define PTP_DPC_MTP_PlaybackPosition 0xD413/* MTP specific Object Properties */#define PTP_OPC_StorageID 0xDC01#define PTP_OPC_ObjectFormat 0xDC02#define PTP_OPC_ProtectionStatus 0xDC03#define PTP_OPC_ObjectSize 0xDC04#define PTP_OPC_AssociationType 0xDC05#define PTP_OPC_AssociationDesc 0xDC06#define PTP_OPC_ObjectFileName 0xDC07#define PTP_OPC_DateCreated 0xDC08#define PTP_OPC_DateModified 0xDC09#define PTP_OPC_Keywords 0xDC0A#define PTP_OPC_ParentObject 0xDC0B#define PTP_OPC_PersistantUniqueObjectIdentifier 0xDC41#define PTP_OPC_SyncID 0xDC42#define PTP_OPC_PropertyBag 0xDC43#define PTP_OPC_Name 0xDC44#define PTP_OPC_CreatedBy 0xDC45#define PTP_OPC_Artist 0xDC46#define PTP_OPC_DateAuthored 0xDC47#define PTP_OPC_Description 0xDC48#define PTP_OPC_URLReference 0xDC49#define PTP_OPC_LanguageLocale 0xDC4A#define PTP_OPC_CopyrightInformation 0xDC4B#define PTP_OPC_Source 0xDC4C#define PTP_OPC_OriginLocation 0xDC4D#define PTP_OPC_DateAdded 0xDC4E#define PTP_OPC_NonConsumable 0xDC4F#define PTP_OPC_CorruptOrUnplayable 0xDC50#define PTP_OPC_RepresentativeSampleFormat 0xDC81#define PTP_OPC_RepresentativeSampleSize 0xDC82#define PTP_OPC_RepresentativeSampleHeight 0xDC83#define PTP_OPC_RepresentativeSampleWidth 0xDC84#define PTP_OPC_RepresentativeSampleDuration 0xDC85#define PTP_OPC_RepresentativeSampleData 0xDC86#define PTP_OPC_Width 0xDC87#define PTP_OPC_Height 0xDC88
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -