2010-05-11 17:16:59 -04:00
|
|
|
/*
|
|
|
|
* Gadget Function Driver for MTP
|
|
|
|
*
|
|
|
|
* Copyright (C) 2010 Google, Inc.
|
|
|
|
* Author: Mike Lockwood <lockwood@android.com>
|
|
|
|
*
|
|
|
|
* This software is licensed under the terms of the GNU General Public
|
|
|
|
* License version 2, as published by the Free Software Foundation, and
|
|
|
|
* may be copied, distributed, and modified under those terms.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __LINUX_USB_F_MTP_H
|
|
|
|
#define __LINUX_USB_F_MTP_H
|
|
|
|
|
2010-05-16 16:39:32 -04:00
|
|
|
/* Constants for MTP_SET_INTERFACE_MODE */
|
|
|
|
#define MTP_INTERFACE_MODE_MTP 0
|
|
|
|
#define MTP_INTERFACE_MODE_PTP 1
|
|
|
|
|
|
|
|
|
2010-05-11 17:16:59 -04:00
|
|
|
struct mtp_file_range {
|
|
|
|
/* path for file to transfer */
|
|
|
|
const char *path;
|
|
|
|
/* strlen(path) */
|
|
|
|
int path_length;
|
|
|
|
/* offset in file for start of transfer */
|
|
|
|
loff_t offset;
|
|
|
|
/* number of bytes to transfer */
|
|
|
|
size_t length;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Sends the specified file range to the host */
|
|
|
|
#define MTP_SEND_FILE _IOW('M', 0, struct mtp_file_range)
|
|
|
|
/* Receives data from the host and writes it to a file.
|
|
|
|
* The file is created if it does not exist.
|
|
|
|
*/
|
|
|
|
#define MTP_RECEIVE_FILE _IOW('M', 1, struct mtp_file_range)
|
2010-05-16 16:39:32 -04:00
|
|
|
/* Sets the driver mode to either MTP or PTP */
|
|
|
|
#define MTP_SET_INTERFACE_MODE _IOW('M', 2, int)
|
2010-05-11 17:16:59 -04:00
|
|
|
|
|
|
|
#endif /* __LINUX_USB_F_MTP_H */
|