LIBMTP_mtpdevice_struct Struct Reference
libmtp data structures

`#include <libmtp.h>`

## Data Fields

uint8_t | object_bitsize
void * | params
void * | usbinfo
LIBMTP_devicestorage_t * | storage
LIBMTP_error_t * | errorstack
uint8_t | maximum_battery_level
uint32_t | default_music_folder
uint32_t | default_playlist_folder
uint32_t | default_picture_folder
uint32_t | default_video_folder
uint32_t | default_organizer_folder
uint32_t | default_zencast_folder
uint32_t | default_album_folder
uint32_t | default_text_folder
void * | cd
LIBMTP_device_extension_t * | extensions
int | cached
LIBMTP_mtpdevice_t * | next

## Detailed Description

Main MTP device object struct

Examples
  delfile.c, detect.c, files.c, folders.c, getfile.c, getplaylist.c, newfolder.c, playlists.c, sendfile.c, sendtr.c, tracks.c, and trexist.c.

## Field Documentation

## cached

int LIBMTP_mtpdevice_struct::cached

Whether the device uses caching, only used internally

Referenced by LIBMTP_Get_Children(), LIBMTP_Get_Filemetadata(), LIBMTP_Get_Files_And_Folders(), and LIBMTP_Open_Raw_Device_Uncached().

## cd

void* LIBMTP_mtpdevice_struct::cd

Per device iconv() converters, only used internally

## default_album_folder

uint32_t LIBMTP_mtpdevice_struct::default_album_folder

Default Album folder

Referenced by LIBMTP_Create_New_Album(), LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_music_folder

uint32_t LIBMTP_mtpdevice_struct::default_music_folder

Default music folder

Referenced by LIBMTP_Create_New_Album(), LIBMTP_Create_New_Playlist(), LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_organizer_folder

uint32_t LIBMTP_mtpdevice_struct::default_organizer_folder

Default organizer folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_picture_folder

uint32_t LIBMTP_mtpdevice_struct::default_picture_folder

Default picture folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_playlist_folder

uint32_t LIBMTP_mtpdevice_struct::default_playlist_folder

Default playlist folder

Referenced by LIBMTP_Create_New_Playlist(), LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_text_folder

uint32_t LIBMTP_mtpdevice_struct::default_text_folder

Default Text folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_video_folder

uint32_t LIBMTP_mtpdevice_struct::default_video_folder

Default video folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## default_zencast_folder

uint32_t LIBMTP_mtpdevice_struct::default_zencast_folder

Default ZENcast folder (only Creative devices...)

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## errorstack

LIBMTP_error_t* LIBMTP_mtpdevice_struct::errorstack

The error stack. This shall be handled using the error getting and clearing functions, not by dereferencing this list.

Referenced by LIBMTP_Clear_Errorstack(), LIBMTP_Dump_Errorstack(), LIBMTP_Get_Errorstack(), and LIBMTP_Open_Raw_Device_Uncached().

## extensions

LIBMTP_device_extension_t* LIBMTP_mtpdevice_struct::extensions

Extension list

Referenced by LIBMTP_Dump_Device_Info(), LIBMTP_Open_Raw_Device_Uncached(), and LIBMTP_Release_Device().

## maximum_battery_level

uint8_t LIBMTP_mtpdevice_struct::maximum_battery_level

The maximum battery level for this device

Referenced by LIBMTP_Get_Batterylevel(), and LIBMTP_Open_Raw_Device_Uncached().

## next

LIBMTP_mtpdevice_t* LIBMTP_mtpdevice_struct::next

Pointer to next device in linked list; NULL if this is the last device

Referenced by LIBMTP_Number_Devices_In_List(), and LIBMTP_Release_Device_List().

## object_bitsize

uint8_t LIBMTP_mtpdevice_struct::object_bitsize

Object bitsize, typically 32 or 64.

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

## params

void* LIBMTP_mtpdevice_struct::params

Parameters for this device, must be cast into ``(PTPParams*) before internal use.

Referenced by LIBMTP_Check_Capability(), LIBMTP_Copy_Object(), LIBMTP_Create_Folder(), LIBMTP_Custom_Operation(), LIBMTP_Delete_Object(), LIBMTP_Dump_Device_Info(), LIBMTP_Format_Storage(), LIBMTP_Get_Album(), LIBMTP_Get_Album_List_For_Storage(), LIBMTP_Get_Allowed_Property_Values(), LIBMTP_Get_Batterylevel(), LIBMTP_Get_Children(), LIBMTP_Get_Device_By_SerialNumber(), LIBMTP_Get_Deviceversion(), LIBMTP_Get_File_To_File_Descriptor(), LIBMTP_Get_File_To_Handler(), LIBMTP_Get_Filelisting_With_Callback(), LIBMTP_Get_Filemetadata(), LIBMTP_Get_Files_And_Folders(), LIBMTP_Get_Folder_List_For_Storage(), LIBMTP_Get_Friendlyname(), LIBMTP_Get_Manufacturername(), LIBMTP_Get_Modelname(), LIBMTP_Get_Playlist(), LIBMTP_Get_Playlist_List(), LIBMTP_Get_Representative_Sample(), LIBMTP_Get_Representative_Sample_Format(), LIBMTP_Get_Serialnumber(), LIBMTP_Get_Storage(), LIBMTP_Get_Supported_Filetypes(), LIBMTP_Get_Syncpartner(), LIBMTP_Get_Thumbnail(), LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), LIBMTP_Get_Trackmetadata(), LIBMTP_Is_Property_Supported(), LIBMTP_Move_Object(), LIBMTP_Open_Raw_Device_Uncached(), LIBMTP_Read_Event(), LIBMTP_Read_Event_Async(), LIBMTP_Release_Device(), LIBMTP_Reset_Device(), LIBMTP_Send_File_From_File_Descriptor(), LIBMTP_Send_File_From_Handler(), LIBMTP_Send_Representative_Sample(), LIBMTP_Send_Track_From_File_Descriptor(), LIBMTP_Send_Track_From_Handler(), LIBMTP_Set_Friendlyname(), LIBMTP_Set_Syncpartner(), LIBMTP_Track_Exists(), LIBMTP_Update_Track_Metadata(), utf16_to_utf8(), and utf8_to_utf16().

## storage

LIBMTP_devicestorage_t* LIBMTP_mtpdevice_struct::storage

The storage for this device, do not use strings in here without copying them first, and beware that this list may be rebuilt at any time.

See also
  LIBMTP_Get_Storage()

Examples
  detect.c, files.c, folders.c, sendtr.c, and tracks.c.

Referenced by LIBMTP_Dump_Device_Info(), LIBMTP_Get_Storage(), and LIBMTP_Open_Raw_Device_Uncached().

## usbinfo

void* LIBMTP_mtpdevice_struct::usbinfo

USB device for this device, must be cast into ``(PTP_USB*) before internal use.

Referenced by LIBMTP_Create_Folder(), LIBMTP_Create_New_Playlist(), LIBMTP_Dump_Device_Info(), LIBMTP_Get_Batterylevel(), LIBMTP_Get_File_To_File_Descriptor(), LIBMTP_Get_File_To_Handler(), LIBMTP_Get_Playlist(), LIBMTP_Get_Playlist_List(), LIBMTP_Get_Supported_Filetypes(), LIBMTP_Get_Tracklisting_With_Callback_For_Storage(), LIBMTP_Get_Trackmetadata(), LIBMTP_Open_Raw_Device_Uncached(), LIBMTP_Release_Device(), LIBMTP_Send_File_From_File_Descriptor(), LIBMTP_Send_File_From_Handler(), LIBMTP_Send_Representative_Sample(), LIBMTP_Send_Track_From_File_Descriptor(), LIBMTP_Send_Track_From_Handler(), LIBMTP_Update_Playlist(), and LIBMTP_Update_Track_Metadata().

The documentation for this struct was generated from the following file:

- libmtp.h