more generic wrapper functions

git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@12217 67ed7778-7388-44ab-90cf-0a291f65f57c
This commit is contained in:
Marcus Meissner
2009-07-10 20:26:30 +00:00
parent b717eeb2d3
commit dc99cacec5
2 changed files with 320 additions and 674 deletions

View File

@@ -1409,53 +1409,6 @@ ptp_canon_get_directory (PTPParams* params,
return ret;
}
/**
* ptp_canon_setobjectarchive:
*
* params: PTPParams*
* uint32_t objectid
* uint32_t flags
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_setobjectarchive (PTPParams* params, uint32_t oid, uint32_t flags)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_SetObjectArchive;
ptp.Nparam=2;
ptp.Param1=oid;
ptp.Param2=flags;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_startshootingmode:
* params: PTPParams*
*
* Starts shooting session. It emits a StorageInfoChanged
* event via the interrupt pipe and pushes the StorageInfoChanged
* and CANON_CameraModeChange events onto the event stack
* (see operation PTP_OC_CANON_CheckEvent).
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_startshootingmode (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_InitiateReleaseControl;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_gettreeinfo:
* params: PTPParams*
@@ -1552,99 +1505,6 @@ ptp_canon_gettreesize (PTPParams* params,
free (out);
return PTP_RC_OK;
}
/**
* ptp_canon_endshootingmode:
* params: PTPParams*
*
* This operation is observed after pressing the Disconnect
* button on the Remote Capture app. It emits a StorageInfoChanged
* event via the interrupt pipe and pushes the StorageInfoChanged
* and CANON_CameraModeChange events onto the event stack
* (see operation PTP_OC_CANON_CheckEvent).
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_endshootingmode (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_TerminateReleaseControl;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_viewfinderon:
* params: PTPParams*
*
* Prior to start reading viewfinder images, one must call this operation.
* Supposedly, this operation affects the value of the CANON_ViewfinderMode
* property.
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_viewfinderon (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_ViewfinderOn;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_viewfinderoff:
* params: PTPParams*
*
* Before changing the shooting mode, or when one doesn't need to read
* viewfinder images any more, one must call this operation.
* Supposedly, this operation affects the value of the CANON_ViewfinderMode
* property.
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_viewfinderoff (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_ViewfinderOff;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_reset_aeafawb:
* params: PTPParams*
* uint32_t flags - what shall be reset.
* 1 - autoexposure
* 2 - autofocus
* 4 - autowhitebalance
*
* Called "Reset AeAfAwb" (auto exposure, focus, white balance)
*
* Return values: Some PTP_RC_* code.
**/
uint16_t
ptp_canon_reset_aeafawb (PTPParams* params, uint32_t flags)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_DoAeAfAwb;
ptp.Param1=flags;
ptp.Nparam=1;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_checkevent:
@@ -1753,168 +1613,6 @@ ptp_get_one_event(PTPParams *params, PTPContainer *event) {
return 1;
}
/**
* ptp_canon_focuslock:
*
* This operation locks the focus. It is followed by the CANON_GetChanges(?)
* operation in the log.
* It affects the CANON_MacroMode property.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_focuslock (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_FocusLock;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_focusunlock:
*
* This operation unlocks the focus. It is followed by the CANON_GetChanges(?)
* operation in the log.
* It sets the CANON_MacroMode property value to 1 (where it occurs in the log).
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_focusunlock (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_FocusUnlock;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_keepdeviceon:
*
* This operation sends a "ping" style message to the camera.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_keepdeviceon (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_KeepDeviceOn;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_keepdeviceon:
*
* This operation sends a "ping" style message to the camera.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_keepdeviceon (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_KeepDeviceOn;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_requestdevicepropvalue:
*
* This operation sends a "ping" style message to the camera.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_requestdevicepropvalue (PTPParams* params, uint16_t prop)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_RequestDevicePropValue;
ptp.Nparam=1;
ptp.Param1=prop;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_initiatecaptureinmemory:
*
* This operation starts the image capture according to the current camera
* settings. When the capture has happened, the camera emits a CaptureComplete
* event via the interrupt pipe and pushes the CANON_RequestObjectTransfer,
* CANON_DeviceInfoChanged and CaptureComplete events onto the event stack
* (see operation CANON_CheckEvent). From the CANON_RequestObjectTransfer
* event's parameter one can learn the just captured image's ObjectHandle.
* The image is stored in the camera's own RAM.
* On the next capture the image will be overwritten!
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_initiatecaptureinmemory (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_InitiateCaptureInMemory;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_capture:
*
* This starts a EOS400D style capture. You have to use the
* 0x9116 command to poll for its completion.
* The image is saved on the CF Card currently.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_capture (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_RemoteRelease;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_getevent:
*
@@ -2041,29 +1739,6 @@ ptp_canon_eos_getpartialobject (PTPParams* params, uint32_t oid, uint32_t offset
return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, &size);
}
/**
* ptp_canon_eos_transfercomplete:
*
* This ends a direct object transfer from an EOS camera.
*
* params: PTPParams*
* oid Object ID
*
* Return values: Some PTP_RC_* code.
*
*/
uint16_t
ptp_canon_eos_transfercomplete (PTPParams* params, uint32_t oid)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code = PTP_OC_CANON_EOS_TransferComplete;
ptp.Nparam = 1;
ptp.Param1 = oid;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
uint16_t
ptp_canon_eos_setdevicepropvalueex (PTPParams* params, unsigned char* data, unsigned int size)
{
@@ -2145,59 +1820,6 @@ ptp_canon_eos_setdevicepropvalue (PTPParams* params,
return ret;
}
/* inHDD = %d, inLength =%d, inReset = %d */
uint16_t
ptp_canon_eos_pchddcapacity (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code = PTP_OC_CANON_EOS_PCHDDCapacity;
ptp.Nparam = 3;
ptp.Param1 = p1;
ptp.Param2 = p2;
ptp.Param3 = p3;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
uint16_t
ptp_canon_eos_setremotemode (PTPParams* params, uint32_t p1)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code = PTP_OC_CANON_EOS_SetRemoteMode;
ptp.Nparam = 1;
ptp.Param1 = p1;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
uint16_t
ptp_canon_eos_seteventmode (PTPParams* params, uint32_t p1)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code = PTP_OC_CANON_EOS_SetEventMode;
ptp.Nparam = 1;
ptp.Param1 = p1;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
uint16_t
ptp_canon_9012 (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=0x9012;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_getpartialobject:
*
@@ -2495,160 +2117,6 @@ ptp_nikon_getfileinfoinblock ( PTPParams* params,
return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
}
/**
* ptp_nikon_setcontrolmode:
*
* This command can switch the camera to full PC control mode.
*
* params: PTPParams*
* uint32_t mode - mode
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_setcontrolmode (PTPParams* params, uint32_t mode)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_SetControlMode;
ptp.Param1=mode;
ptp.Nparam=1;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_afdrive:
*
* This command runs (drives) the lens autofocus.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_afdrive (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_AfDrive;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_mfdrive:
*
* This command runs (drives) the lens autofocus.
*
* params: PTPParams*
* flag: 0x1 for (no limit - closest), 0x2 for (closest - no limit)
* amount: amount of steps
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_mfdrive (PTPParams* params, uint32_t flag, uint16_t amount)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_MfDrive;
ptp.Nparam = 2;
ptp.Param1 = flag;
ptp.Param2 = amount;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_capture:
*
* This command captures a picture on the Nikon.
*
* params: PTPParams*
* uint32_t x - unknown parameter. seen to be -1.
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_capture (PTPParams* params, uint32_t x)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_Capture;
ptp.Param1=x;
ptp.Nparam=1;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_capture_sdram:
*
* This command captures a picture on the Nikon.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_capture_sdram (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_AfCaptureSDRAM;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_start_liveview:
*
* This command starts LiveView mode of newer Nikons DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_start_liveview (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_StartLiveView;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_end_liveview:
*
* This command ends LiveView mode of newer Nikons DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_end_liveview (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_EndLiveView;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_get_liveview_image:
*
@@ -2698,93 +2166,6 @@ ptp_nikon_get_preview_image (PTPParams* params, unsigned char **xdata, unsigned
return ret;
}
/**
* ptp_canon_eos_setuilock:
*
* This command sets UI lock
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_setuilock (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_SetUILock;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_resetuilock:
*
* This command sets UI lock
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_resetuilock (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_ResetUILock;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_start_viewfinder:
*
* This command starts Viewfinder mode of newer Canon DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_start_viewfinder (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_InitiateViewfinder;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_end_viewfinder:
*
* This command ends Viewfinder mode of newer Canon DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_canon_eos_end_viewfinder (PTPParams* params)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_CANON_EOS_TerminateViewfinder;
ptp.Nparam=0;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_canon_eos_get_viewfinder_image:
*
@@ -2959,29 +2340,6 @@ ptp_nikon_getwifiprofilelist (PTPParams* params)
return PTP_RC_OK;
}
/**
* ptp_nikon_deletewifiprofile:
*
* This command deletes a wifi profile.
*
* params: PTPParams*
* unsigned int profilenr - profile number
*
* Return values: Some PTP_RC_* code.
*
**/
uint16_t
ptp_nikon_deletewifiprofile (PTPParams* params, uint32_t profilenr)
{
PTPContainer ptp;
PTP_CNT_INIT(ptp);
ptp.Code=PTP_OC_NIKON_DeleteProfile;
ptp.Nparam=1;
ptp.Param1=profilenr;
return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
}
/**
* ptp_nikon_writewifiprofile:
*

View File

@@ -2109,32 +2109,173 @@ uint16_t ptp_ek_sendfileobject_from_handler (PTPParams* params, PTPDataHandler*,
uint32_t size);
/* Canon PTP extensions */
uint16_t ptp_canon_9012 (PTPParams* params);
#define ptp_canon_9012(params) ptp_generic_no_data(params,0x9012,0)
uint16_t ptp_canon_gettreeinfo (PTPParams* params, uint32_t* out);
uint16_t ptp_canon_gettreesize (PTPParams* params, PTPCanon_directtransfer_entry**, unsigned int*cnt);
uint16_t ptp_canon_getpartialobjectinfo (PTPParams* params, uint32_t handle,
uint32_t p2, uint32_t* size, uint32_t* rp2);
uint16_t ptp_canon_get_mac_address (PTPParams* params, unsigned char **mac);
uint16_t ptp_canon_startshootingmode (PTPParams* params);
uint16_t ptp_canon_endshootingmode (PTPParams* params);
uint16_t ptp_canon_viewfinderon (PTPParams* params);
uint16_t ptp_canon_viewfinderoff (PTPParams* params);
/**
* ptp_canon_startshootingmode:
* params: PTPParams*
*
* Starts shooting session. It emits a StorageInfoChanged
* event via the interrupt pipe and pushes the StorageInfoChanged
* and CANON_CameraModeChange events onto the event stack
* (see operation PTP_OC_CANON_CheckEvent).
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_startshootingmode(params) ptp_generic_no_data(params,PTP_OC_CANON_InitiateReleaseControl,0)
/**
* ptp_canon_endshootingmode:
* params: PTPParams*
*
* This operation is observed after pressing the Disconnect
* button on the Remote Capture app. It emits a StorageInfoChanged
* event via the interrupt pipe and pushes the StorageInfoChanged
* and CANON_CameraModeChange events onto the event stack
* (see operation PTP_OC_CANON_CheckEvent).
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_endshootingmode(params) ptp_generic_no_data(params,PTP_OC_CANON_TerminateReleaseControl,0)
/**
* ptp_canon_viewfinderon:
* params: PTPParams*
*
* Prior to start reading viewfinder images, one must call this operation.
* Supposedly, this operation affects the value of the CANON_ViewfinderMode
* property.
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_viewfinderon(params) ptp_generic_no_data(params,PTP_OC_CANON_ViewfinderOn,0)
/**
* ptp_canon_viewfinderoff:
* params: PTPParams*
*
* Before changing the shooting mode, or when one doesn't need to read
* viewfinder images any more, one must call this operation.
* Supposedly, this operation affects the value of the CANON_ViewfinderMode
* property.
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_viewfinderoff(params) ptp_generic_no_data(params,PTP_OC_CANON_ViewfinderOff,0)
/**
* ptp_canon_reset_aeafawb:
* params: PTPParams*
* uint32_t flags - what shall be reset.
* 1 - autoexposure
* 2 - autofocus
* 4 - autowhitebalance
*
* Called "Reset AeAfAwb" (auto exposure, focus, white balance)
*
* Return values: Some PTP_RC_* code.
**/
#define PTP_CANON_RESET_AE 0x1
#define PTP_CANON_RESET_AF 0x2
#define PTP_CANON_RESET_AWB 0x4
uint16_t ptp_canon_reset_aeafawb (PTPParams* params, uint32_t flags);
#define ptp_canon_reset_aeafawb(params,flags) ptp_generic_no_data(params,PTP_OC_CANON_DoAeAfAwb,1,flags)
uint16_t ptp_canon_checkevent (PTPParams* params,
PTPContainer* event, int* isevent);
uint16_t ptp_canon_focuslock (PTPParams* params);
uint16_t ptp_canon_focusunlock (PTPParams* params);
uint16_t ptp_canon_keepdeviceon (PTPParams* params);
uint16_t ptp_canon_eos_keepdeviceon (PTPParams* params);
uint16_t ptp_canon_initiatecaptureinmemory (PTPParams* params);
uint16_t ptp_canon_eos_requestdevicepropvalue (PTPParams* params, uint16_t prop);
uint16_t ptp_canon_eos_capture (PTPParams* params);
/**
* ptp_canon_focuslock:
*
* This operation locks the focus. It is followed by the CANON_GetChanges(?)
* operation in the log.
* It affects the CANON_MacroMode property.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_focuslock(params) ptp_generic_no_data(params,PTP_OC_CANON_FocusLock,0)
/**
* ptp_canon_focusunlock:
*
* This operation unlocks the focus. It is followed by the CANON_GetChanges(?)
* operation in the log.
* It sets the CANON_MacroMode property value to 1 (where it occurs in the log).
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_focusunlock(params) ptp_generic_no_data(params,PTP_OC_CANON_FocusUnlock,0)
/**
* ptp_canon_keepdeviceon:
*
* This operation sends a "ping" style message to the camera.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_keepdeviceon(params) ptp_generic_no_data(params,PTP_OC_CANON_KeepDeviceOn,0)
/**
* ptp_canon_eos_keepdeviceon:
*
* This operation sends a "ping" style message to the camera.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_keepdeviceon(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_KeepDeviceOn,0)
/**
* ptp_canon_initiatecaptureinmemory:
*
* This operation starts the image capture according to the current camera
* settings. When the capture has happened, the camera emits a CaptureComplete
* event via the interrupt pipe and pushes the CANON_RequestObjectTransfer,
* CANON_DeviceInfoChanged and CaptureComplete events onto the event stack
* (see operation CANON_CheckEvent). From the CANON_RequestObjectTransfer
* event's parameter one can learn the just captured image's ObjectHandle.
* The image is stored in the camera's own RAM.
* On the next capture the image will be overwritten!
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_initiatecaptureinmemory(params) ptp_generic_no_data(params,PTP_OC_CANON_InitiateCaptureInMemory,0)
/**
* ptp_canon_eos_requestdevicepropvalue:
*
* This operation sends a "ping" style message to the camera.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop)
/**
* ptp_canon_eos_capture:
*
* This starts a EOS400D style capture. You have to use the
* 0x9116 command to poll for its completion.
* The image is saved on the CF Card currently.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_capture(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RemoteRelease,0)
uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **entries, int *nrofentries);
uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle,
uint32_t offset, uint32_t size,
@@ -2150,14 +2291,64 @@ uint16_t ptp_canon_getobjectinfo (PTPParams* params, uint32_t store,
PTPCANONFolderEntry** entries,
uint32_t* entnum);
uint16_t ptp_canon_eos_getdeviceinfo (PTPParams* params, PTPCanonEOSDeviceInfo*di);
uint16_t ptp_canon_eos_setuilock (PTPParams* params);
uint16_t ptp_canon_eos_resetuilock (PTPParams* params);
uint16_t ptp_canon_eos_start_viewfinder (PTPParams* params);
uint16_t ptp_canon_eos_end_viewfinder (PTPParams* params);
/**
* ptp_canon_eos_setuilock:
*
* This command sets UI lock
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_setuilock(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetUILock,0)
/**
* ptp_canon_eos_resetuilock:
*
* This command sets UI lock
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_resetuilock(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_ResetUILock,0)
/**
* ptp_canon_eos_start_viewfinder:
*
* This command starts Viewfinder mode of newer Canon DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_start_viewfinder(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_InitiateViewfinder,0)
/**
* ptp_canon_eos_end_viewfinder:
*
* This command ends Viewfinder mode of newer Canon DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_eos_end_viewfinder(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_TerminateViewfinder,0)
uint16_t ptp_canon_eos_get_viewfinder_image (PTPParams* params, unsigned char **data, unsigned int *size);
uint16_t ptp_canon_get_objecthandle_by_name (PTPParams* params, char* name, uint32_t* objectid);
uint16_t ptp_canon_get_directory (PTPParams* params, PTPObjectHandles *handles, PTPObjectInfo **oinfos, uint32_t **flags);
uint16_t ptp_canon_setobjectarchive (PTPParams* params, uint32_t oid, uint32_t flags);
/**
* ptp_canon_setobjectarchive:
*
* params: PTPParams*
* uint32_t objectid
* uint32_t flags
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_canon_setobjectarchive(params,oid,flags) ptp_generic_no_data(params,PTP_OC_CANON_SetObjectArchive,2,oid,flags)
uint16_t ptp_canon_get_customize_data (PTPParams* params, uint32_t themenr,
unsigned char **data, unsigned int *size);
uint16_t ptp_canon_getpairinginfo (PTPParams* params, uint32_t nr, unsigned char**, unsigned int*);
@@ -2166,10 +2357,22 @@ uint16_t ptp_canon_eos_getstorageids (PTPParams* params, PTPStorageIDs* storagei
uint16_t ptp_canon_eos_getstorageinfo (PTPParams* params, uint32_t p1);
uint16_t ptp_canon_eos_getpartialobject (PTPParams* params, uint32_t oid, uint32_t off, uint32_t xsize, unsigned char**data);
uint16_t ptp_canon_eos_setdevicepropvalueex (PTPParams* params, unsigned char* data, unsigned int size);
uint16_t ptp_canon_eos_setremotemode (PTPParams* params, uint32_t p1);
uint16_t ptp_canon_eos_seteventmode (PTPParams* params, uint32_t p1);
uint16_t ptp_canon_eos_transfercomplete (PTPParams* params, uint32_t oid);
uint16_t ptp_canon_eos_pchddcapacity (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3);
#define ptp_canon_eos_setremotemode(params,p1) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetRemoteMode,1,p1)
#define ptp_canon_eos_seteventmode(params,p1) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetEventMode,1,p1)
/**
* ptp_canon_eos_transfercomplete:
*
* This ends a direct object transfer from an EOS camera.
*
* params: PTPParams*
* oid Object ID
*
* Return values: Some PTP_RC_* code.
*
*/
#define ptp_canon_eos_transfercomplete(params,oid) ptp_generic_no_data(params,PTP_OC_CANON_EOS_TransferComplete,1,oid)
/* inHDD = %d, inLength =%d, inReset = %d */
#define ptp_canon_eos_pchddcapacity(params,p1,p2,p3) ptp_generic_no_data(params,PTP_OC_CANON_EOS_PCHDDCapacity,3,p1,p2,p3)
uint16_t ptp_canon_eos_getdevicepropdesc (PTPParams* params, uint16_t propcode,
PTPDevicePropDesc *devicepropertydesc);
uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode,
@@ -2180,16 +2383,101 @@ uint16_t ptp_nikon_curve_download (PTPParams* params,
uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsigned int *size);
uint16_t ptp_nikon_getwifiprofilelist (PTPParams* params);
uint16_t ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* profile);
uint16_t ptp_nikon_deletewifiprofile (PTPParams* params, uint32_t profilenr);
uint16_t ptp_nikon_setcontrolmode (PTPParams* params, uint32_t mode);
uint16_t ptp_nikon_afdrive (PTPParams* params);
uint16_t ptp_nikon_mfdrive (PTPParams* params, uint32_t flag, uint16_t amount);
uint16_t ptp_nikon_capture (PTPParams* params, uint32_t x);
uint16_t ptp_nikon_capture_sdram (PTPParams* params);
uint16_t ptp_nikon_start_liveview (PTPParams* params);
/**
* ptp_nikon_deletewifiprofile:
*
* This command deletes a wifi profile.
*
* params: PTPParams*
* unsigned int profilenr - profile number
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_deletewifiprofile(params,profilenr) ptp_generic_no_data(params,PTP_OC_NIKON_DeleteProfile,1,profilenr)
/**
* ptp_nikon_setcontrolmode:
*
* This command can switch the camera to full PC control mode.
*
* params: PTPParams*
* uint32_t mode - mode
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_NIKON_SetControlMode,1,mode)
/**
* ptp_nikon_afdrive:
*
* This command runs (drives) the lens autofocus.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDrive,0)
/**
* ptp_nikon_mfdrive:
*
* This command runs (drives) the lens autofocus.
*
* params: PTPParams*
* flag: 0x1 for (no limit - closest), 0x2 for (closest - no limit)
* amount: amount of steps
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_mfdrive(params,flag,amount) ptp_generic_no_data(params,PTP_OC_NIKON_MfDrive,2,flag,amount)
/**
* ptp_nikon_capture:
*
* This command captures a picture on the Nikon.
*
* params: PTPParams*
* uint32_t x - unknown parameter. seen to be -1.
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_capture(params,x) ptp_generic_no_data(params,PTP_OC_NIKON_Capture,1,x)
/**
* ptp_nikon_capture_sdram:
*
* This command captures a picture on the Nikon.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_capture_sdram(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfCaptureSDRAM,0)
/**
* ptp_nikon_start_liveview:
*
* This command starts LiveView mode of newer Nikons DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_start_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_StartLiveView,0)
uint16_t ptp_nikon_get_liveview_image (PTPParams* params, unsigned char**,unsigned int*);
uint16_t ptp_nikon_get_preview_image (PTPParams* params, unsigned char**, unsigned int*, uint32_t*);
uint16_t ptp_nikon_end_liveview (PTPParams* params);
/**
* ptp_nikon_end_liveview:
*
* This command ends LiveView mode of newer Nikons DSLRs.
*
* params: PTPParams*
*
* Return values: Some PTP_RC_* code.
*
**/
#define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_EndLiveView,0)
uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, int *evtcnt);
uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3,
unsigned char **data, unsigned int *size);