Beispiel #1
0
static uint16_t
ptp_ptpip_init_command_ack (PTPParams* params)
{
	PTPIPHeader	hdr;
	unsigned char	*data = NULL;
	uint16_t 	ret;
	int		i;
	unsigned short	*name;

	ret = ptp_ptpip_generic_read (params, params->cmdfd, &hdr, &data);
	if (ret != PTP_RC_OK)
		return ret;
	if (hdr.type != dtoh32(PTPIP_INIT_COMMAND_ACK)) {
		gp_log (GP_LOG_ERROR, "ptpip/init_cmd_ack", "bad type returned %d", htod32(hdr.type));
		free (data);
		return PTP_RC_GeneralError;
	}
	params->eventpipeid = dtoh32a(&data[ptpip_cmdack_idx]);
	memcpy (params->cameraguid, &data[ptpip_cmdack_guid], 16);
	name = (unsigned short*)&data[ptpip_cmdack_name];
	for (i=0;name[i];i++) /* EMPTY */;
	params->cameraname = malloc((i+1)*sizeof(uint16_t));
	for (i=0;name[i];i++)
		params->cameraname[i] = name[i];
	free (data);
	return PTP_RC_OK;
}
Beispiel #2
0
static uint16_t
ptp_ptpip_init_command_ack(PTPParams *params)
{
    PTPIPHeader hdr;
    unsigned char   *data = NULL;
    uint16_t    ret;

    ret = ptp_ptpip_generic_read(params, params->cmdfd, &hdr, &data);

    if (ret != PTP_RC_OK)
        return ret;

    if (hdr.type != dtoh32(PTPIP_INIT_COMMAND_ACK))
    {
        VitaMTP_Log(VitaMTP_ERROR, "ptpip/init_cmd_ack: bad type returned %d\n", htod32(hdr.type));
        return PTP_RC_GeneralError;
    }

    params->eventpipeid = dtoh32a(&data[ptpip_cmdack_idx]);
    free(data);
    return PTP_RC_OK;
}
Beispiel #3
0
static uint16_t
ptp_ptpip_evt_read(PTPParams *params, PTPIPHeader *hdr, unsigned char **data)
{
    return ptp_ptpip_generic_read(params, params->evtfd, hdr, data);
}
Beispiel #4
0
static uint16_t
ptp_ptpip_cmd_read(PTPParams *params, PTPIPHeader *hdr, unsigned char **data)
{
    //ptp_ptpip_check_event (params);
    return ptp_ptpip_generic_read(params, params->cmdfd, hdr, data);
}