diff options
author | Marcus Meissner <marcus@jet.franken.de> | 2015-09-06 20:25:54 +0200 |
---|---|---|
committer | Marcus Meissner <marcus@jet.franken.de> | 2015-09-06 20:25:54 +0200 |
commit | e5cf359a299f85c27b8837a9aaba93fd4d5b8e91 (patch) | |
tree | 4f45e901bae1160052f45e57892abe0056ee309d /camlibs/ptp2/ptpip.c | |
parent | 6c84fd0c8b9f58357b447fceb1191012763e4bf8 (diff) | |
download | libgphoto2-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.c | 8 |
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); |