libmtp.c File Reference

#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include "libmtp.h"
#include "unicode.h"
#include "ptp.h"
#include "libusb-glue.h"

Data Structures

struct  filemap_t

Defines

#define UCS_2_INTERNAL   "UCS-2-INTERNAL"

Typedefs

typedef filemap_t LIBMTP_filemap_t

Functions

int LIBMTP_Register_Filetype (char const *const description, LIBMTP_filetype_t const id, uint16_t const ptp_id, void const *const constructor, void const *const destructor, void const *const datafunc)
int LIBMTP_Set_Filetype_Description (LIBMTP_filetype_t const id, char const *const description)
int LIBMTP_Set_Constructor (LIBMTP_filetype_t const id, void const *const constructor)
int LIBMTP_Set_Destructor (LIBMTP_filetype_t const id, void const *const destructor)
int LIBMTP_Set_Datafunc (LIBMTP_filetype_t const id, void const *const datafunc)
char const * LIBMTP_Get_Filetype_Description (LIBMTP_filetype_t intype)
void LIBMTP_Init (void)
char * LIBMTP_Get_String_From_Object (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const attribute_id)
uint32_t LIBMTP_Get_U32_From_Object (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const attribute_id, uint32_t const value_default)
uint16_t LIBMTP_Get_U16_From_Object (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const attribute_id, uint16_t const value_default)
int LIBMTP_Set_Object_String (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const attribute_id, char const *const string)
int LIBMTP_Set_Object_U32 (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const attribute_id, uint32_t const value)
int LIBMTP_Set_Object_U16 (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const attribute_id, uint16_t const value)
int LIBMTP_Get_Object_References (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t **items, uint32_t *len)
int LIBMTP_Set_Object_References (LIBMTP_mtpdevice_t *device, uint32_t const object_id, uint32_t const *const items, uint32_t const len)
int LIBMTP_Get_Supported_Devices_List (LIBMTP_device_entry_t **const devices, int *const numdevs)
LIBMTP_mtpdevice_tLIBMTP_Get_First_Device (void)
void LIBMTP_Release_Device (LIBMTP_mtpdevice_t *device)
void LIBMTP_Dump_Device_Info (LIBMTP_mtpdevice_t *device)
char * LIBMTP_Get_Modelname (LIBMTP_mtpdevice_t *device)
char * LIBMTP_Get_Serialnumber (LIBMTP_mtpdevice_t *device)
char * LIBMTP_Get_Deviceversion (LIBMTP_mtpdevice_t *device)
char * LIBMTP_Get_Friendlyname (LIBMTP_mtpdevice_t *device)
int LIBMTP_Set_Friendlyname (LIBMTP_mtpdevice_t *device, char const *const friendlyname)
char * LIBMTP_Get_Syncpartner (LIBMTP_mtpdevice_t *device)
int LIBMTP_Set_Syncpartner (LIBMTP_mtpdevice_t *device, char const *const syncpartner)
int LIBMTP_Get_Storageinfo (LIBMTP_mtpdevice_t *device, uint64_t *const total, uint64_t *const free, char **const storage_description, char **const volume_label)
int LIBMTP_Get_Batterylevel (LIBMTP_mtpdevice_t *device, uint8_t *const maximum_level, uint8_t *const current_level)
int LIBMTP_Get_Secure_Time (LIBMTP_mtpdevice_t *device, char **const sectime)
int LIBMTP_Get_Device_Certificate (LIBMTP_mtpdevice_t *device, char **const devcert)
int LIBMTP_Get_Supported_Filetypes (LIBMTP_mtpdevice_t *device, uint16_t **const filetypes, uint16_t *const length)
LIBMTP_object_tLIBMTP_new_object_t (void)
LIBMTP_file_tLIBMTP_new_file_t (void)
void LIBMTP_destroy_file_t (LIBMTP_file_t *file)
LIBMTP_file_tLIBMTP_Get_Filelisting (LIBMTP_mtpdevice_t *device)
LIBMTP_file_tLIBMTP_Get_Filemetadata (LIBMTP_mtpdevice_t *device, uint32_t const fileid)
LIBMTP_track_tLIBMTP_new_track_t (void)
void LIBMTP_destroy_track_t (LIBMTP_track_t *track)
LIBMTP_track_tLIBMTP_Get_Tracklisting (LIBMTP_mtpdevice_t *device)
LIBMTP_track_tLIBMTP_Get_Trackmetadata (LIBMTP_mtpdevice_t *device, uint32_t const trackid)
int LIBMTP_Get_File_To_File (LIBMTP_mtpdevice_t *device, uint32_t const id, char const *const path, LIBMTP_progressfunc_t const callback, void const *const data)
int LIBMTP_Get_File_To_File_Descriptor (LIBMTP_mtpdevice_t *device, uint32_t const id, int const fd, LIBMTP_progressfunc_t const callback, void const *const data)
int LIBMTP_Get_Track_To_File (LIBMTP_mtpdevice_t *device, uint32_t const id, char const *const path, LIBMTP_progressfunc_t const callback, void const *const data)
int LIBMTP_Get_Track_To_File_Descriptor (LIBMTP_mtpdevice_t *device, uint32_t const id, int const fd, LIBMTP_progressfunc_t const callback, void const *const data)
int LIBMTP_Send_Track_From_File (LIBMTP_mtpdevice_t *device, char const *const path, LIBMTP_track_t *const metadata, LIBMTP_progressfunc_t const callback, void const *const data, uint32_t const parenthandle)
int LIBMTP_Send_Track_From_File_Descriptor (LIBMTP_mtpdevice_t *device, int const fd, LIBMTP_track_t *const metadata, LIBMTP_progressfunc_t const callback, void const *const data, uint32_t const parenthandle)
int LIBMTP_Send_File_From_File (LIBMTP_mtpdevice_t *device, char const *const path, LIBMTP_file_t *const filedata, LIBMTP_progressfunc_t const callback, void const *const data, uint32_t const parenthandle)
int LIBMTP_Send_File_From_File_Descriptor (LIBMTP_mtpdevice_t *device, int const fd, LIBMTP_file_t *const filedata, LIBMTP_progressfunc_t const callback, void const *const data, uint32_t const parenthandle)
int LIBMTP_Update_Track_Metadata (LIBMTP_mtpdevice_t *device, LIBMTP_track_t const *const metadata)
int LIBMTP_Delete_Object (LIBMTP_mtpdevice_t *device, uint32_t object_id)
int LIBMTP_Track_Exists (LIBMTP_mtpdevice_t *device, uint32_t const id)
LIBMTP_folder_tLIBMTP_new_folder_t (void)
void LIBMTP_destroy_object_t (LIBMTP_object_t *object, uint32_t recursive)
void LIBMTP_destroy_folder_t (LIBMTP_folder_t *folder)
LIBMTP_folder_tLIBMTP_Find_Folder (LIBMTP_folder_t *folderlist, uint32_t id)
LIBMTP_folder_tLIBMTP_Get_Folder_List (LIBMTP_mtpdevice_t *device)
uint32_t LIBMTP_Create_Folder (LIBMTP_mtpdevice_t *device, char *name, uint32_t parent_id)
LIBMTP_object_tLIBMTP_Find_Object (LIBMTP_object_t *objectlist, uint32_t id)
LIBMTP_object_tLIBMTP_Make_List (LIBMTP_mtpdevice_t *device, uint32_t *filter, uint32_t filter_len, uint32_t *exclusions, uint32_t exclusion_len)
void LIBMTP_Dump_List (LIBMTP_object_t *list)
LIBMTP_playlist_tLIBMTP_new_playlist_t (void)
void LIBMTP_destroy_playlist_t (LIBMTP_playlist_t *playlist)
LIBMTP_playlist_tLIBMTP_Get_Playlist_List (LIBMTP_mtpdevice_t *device)
LIBMTP_playlist_tLIBMTP_Get_Playlist (LIBMTP_mtpdevice_t *device, uint32_t const plid)
int LIBMTP_Create_New_Playlist (LIBMTP_mtpdevice_t *device, LIBMTP_playlist_t *const metadata, uint32_t const parenthandle)
int LIBMTP_Update_Playlist (LIBMTP_mtpdevice_t *device, LIBMTP_playlist_t const *const metadata)
void ptp_nikon_getptpipguid (unsigned char *guid)

Detailed Description

This file provides an interface "glue" to the underlying PTP implementation from libgphoto2. It uses some local code to convert from/to UTF-8 (stored in unicode.c/.h) and some small utility functions, mainly for debugging (stored in util.c/.h).

The three PTP files (ptp.c, ptp.h and ptp-pack.c) are plain copied from the libhphoto2 codebase.

The files libusb-glue.c/.h are just what they say: an interface to libusb for the actual, physical USB traffic.


Function Documentation

void ptp_nikon_getptpipguid ( unsigned char *  guid  ) 

Dummy function needed to interface to upstream ptp.c/ptp.h files.


Generated on Tue Sep 12 03:22:55 2006 for libmtp by  doxygen 1.4.7