| Index: src/libmtp.h.in
|
| diff --git a/src/libmtp.h.in b/src/libmtp.h.in
|
| index 49edd3c30808742cec3c3e50996c9603b6b4960f..9935e2b427b7d7bc4e911f31fa375e772aff0659 100644
|
| --- a/src/libmtp.h.in
|
| +++ b/src/libmtp.h.in
|
| @@ -2,7 +2,7 @@
|
| * \file libmtp.h
|
| * Interface to the Media Transfer Protocol library.
|
| *
|
| - * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
|
| + * Copyright (C) 2005-2013 Linus Walleij <triad@df.lth.se>
|
| * Copyright (C) 2005-2008 Richard A. Low <richard@wentnet.com>
|
| * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
|
| * Copyright (C) 2008 Florent Mertens <flomertens@gmail.com>
|
| @@ -50,6 +50,8 @@ typedef unsigned __int16 uint16_t;
|
| typedef __int32 int32_t;
|
| typedef unsigned __int32 uint32_t;
|
| typedef unsigned __int64 uint64_t;
|
| +#else
|
| +#include <sys/time.h>
|
| #endif
|
|
|
| #include <stdio.h>
|
| @@ -403,6 +405,30 @@ typedef enum {
|
| } LIBMTP_datatype_t;
|
|
|
| /**
|
| + * These are device capabilities
|
| + */
|
| +typedef enum {
|
| + /**
|
| + * This capability tells whether you can call the funcion getting
|
| + * partial objects, @see LIBMTP_GetPartialObject()
|
| + */
|
| + LIBMTP_DEVICECAP_GetPartialObject,
|
| + /**
|
| + * This capability tells whether you can call the function sending
|
| + * partial objects. @see LIBMTP_SendPartialObject()
|
| + */
|
| + LIBMTP_DEVICECAP_SendPartialObject,
|
| + /**
|
| + * This capability tells whether you can call the functions editing
|
| + * objects in-place on a device.
|
| + * @see LIBMTP_BeginEditObject()
|
| + * @see LIBMTP_EndEditObject()
|
| + * @see LIBMTP_TruncateObject()
|
| + */
|
| + LIBMTP_DEVICECAP_EditObjects,
|
| +} LIBMTP_devicecap_t;
|
| +
|
| +/**
|
| * These are the numbered error codes. You can also
|
| * get string representations for errors.
|
| */
|
| @@ -771,6 +797,9 @@ struct LIBMTP_devicestorage_struct {
|
| enum LIBMTP_event_enum {
|
| LIBMTP_EVENT_NONE,
|
| LIBMTP_EVENT_STORE_ADDED,
|
| + LIBMTP_EVENT_STORE_REMOVED,
|
| + LIBMTP_EVENT_OBJECT_ADDED,
|
| + LIBMTP_EVENT_OBJECT_REMOVED,
|
| };
|
| typedef enum LIBMTP_event_enum LIBMTP_event_t;
|
|
|
| @@ -822,6 +851,7 @@ int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *,
|
| int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
|
| int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const);
|
| int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
|
| +int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t);
|
| LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
|
| void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
|
| void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
|
| @@ -1015,14 +1045,24 @@ int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);
|
| */
|
| int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
|
| int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
|
| +int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
|
| + uint64_t, uint32_t,
|
| + unsigned char **, unsigned int *);
|
| +int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
|
| + uint64_t, unsigned char *, unsigned int);
|
| +int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
|
| +int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
|
| +int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
|
|
|
| /**
|
| * @}
|
| * @defgroup files The events API.
|
| * @{
|
| */
|
| +typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, void *);
|
| int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
|
| -
|
| +int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *);
|
| +int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *);
|
|
|
| /** @} */
|
|
|
|
|