# 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_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

void* LIBMTP_mtpdevice_struct::cd

Per device iconv() converters, only used internally

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().

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().

uint32_t LIBMTP_mtpdevice_struct::default_organizer_folder

Default organizer folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device().

uint32_t LIBMTP_mtpdevice_struct::default_picture_folder

Default picture folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device().

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().

uint32_t LIBMTP_mtpdevice_struct::default_text_folder

Default Text folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device().

uint32_t LIBMTP_mtpdevice_struct::default_video_folder

Default video folder

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device().

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().

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().

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().

LIBMTP_mtpdevice_t* LIBMTP_mtpdevice_struct::next

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

Examples:
  files.c, folders.c, and tracks.c.

Referenced by LIBMTP_Number_Devices_In_List(), and LIBMTP_Release_Device_List().

uint8_t LIBMTP_mtpdevice_struct::object_bitsize

Object bitsize, typically 32 or 64.

Referenced by LIBMTP_Dump_Device_Info(), LIBMTP_Get_Filelisting_With_Callback(), LIBMTP_Get_Filemetadata(), and LIBMTP_Open_Raw_Device().

void* LIBMTP_mtpdevice_struct::params

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

Referenced by LIBMTP_Create_Folder(), LIBMTP_Delete_Object(), LIBMTP_Dump_Device_Info(), LIBMTP_Format_Storage(), LIBMTP_Get_Album(), LIBMTP_Get_Album_List(), LIBMTP_Get_Allowed_Property_Values(), LIBMTP_Get_Batterylevel(), LIBMTP_Get_Deviceversion(), LIBMTP_Get_File_To_File_Descriptor(), LIBMTP_Get_File_To_Handler(), LIBMTP_Get_Filelisting_With_Callback(), LIBMTP_Get_Filemetadata(), LIBMTP_Get_Folder_List(), 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_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Is_Property_Supported(), LIBMTP_Open_Raw_Device(), LIBMTP_Release_Device(), LIBMTP_Reset_Device(), LIBMTP_Send_File_From_File_Descriptor(), LIBMTP_Send_File_From_Handler(), LIBMTP_Send_Representative_Sample(), LIBMTP_Set_Friendlyname(), LIBMTP_Set_Syncpartner(), LIBMTP_Track_Exists(), LIBMTP_Update_Track_Metadata(), utf16_to_utf8(), and utf8_to_utf16().

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:
  sendtr.c.

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

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_Filelisting_With_Callback(), LIBMTP_Get_Playlist(), LIBMTP_Get_Playlist_List(), LIBMTP_Get_Supported_Filetypes(), LIBMTP_Get_Tracklisting_With_Callback(), LIBMTP_Get_Trackmetadata(), LIBMTP_Open_Raw_Device(), LIBMTP_Release_Device(), LIBMTP_Send_File_From_File_Descriptor(), LIBMTP_Send_File_From_Handler(), LIBMTP_Send_Representative_Sample(), LIBMTP_Update_Playlist(), and LIBMTP_Update_Track_Metadata().

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

- /tmp/libmtp-1.0.1/src/libmtp.h