summaryrefslogtreecommitdiff
path: root/camlibs/ptp2/ptpip.c
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2015-09-06 20:25:54 +0200
committerMarcus Meissner <marcus@jet.franken.de>2015-09-06 20:25:54 +0200
commite5cf359a299f85c27b8837a9aaba93fd4d5b8e91 (patch)
tree4f45e901bae1160052f45e57892abe0056ee309d /camlibs/ptp2/ptpip.c
parent6c84fd0c8b9f58357b447fceb1191012763e4bf8 (diff)
downloadlibgphoto2-e5cf359a299f85c27b8837a9aaba93fd4d5b8e91.tar.gz
add a dataphase parameter to the sendreq function
this allows ptpip to decide on setting a flag in the command block
Diffstat (limited to 'camlibs/ptp2/ptpip.c')
-rw-r--r--camlibs/ptp2/ptpip.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/camlibs/ptp2/ptpip.c b/camlibs/ptp2/ptpip.c
index e339bd0af..1caebeea3 100644
--- a/camlibs/ptp2/ptpip.c
+++ b/camlibs/ptp2/ptpip.c
@@ -101,7 +101,7 @@ static uint16_t ptp_ptpip_event (PTPParams* params, PTPContainer* event, int wai
/* send / receive functions */
uint16_t
-ptp_ptpip_sendreq (PTPParams* params, PTPContainer* req)
+ptp_ptpip_sendreq (PTPParams* params, PTPContainer* req, int dataphase)
{
int ret;
int len = 18+req->Nparam*4;
@@ -111,7 +111,11 @@ ptp_ptpip_sendreq (PTPParams* params, PTPContainer* req)
htod32a(&request[ptpip_type],PTPIP_CMD_REQUEST);
htod32a(&request[ptpip_len],len);
- htod32a(&request[ptpip_cmd_dataphase],1); /* FIXME: dataphase handling */
+ /* sending data = 2, receiving data or no data = 1 */
+ if ((dataphase&PTP_DP_DATA_MASK) == PTP_DP_SENDDATA)
+ htod32a(&request[ptpip_cmd_dataphase],2);
+ else
+ htod32a(&request[ptpip_cmd_dataphase],1);
htod16a(&request[ptpip_cmd_code],req->Code);
htod32a(&request[ptpip_cmd_transid],req->Transaction_ID);