LIBMTP_mtpdevice_struct(3)

๐Ÿ“ฆ version 1.1.23, in arch rolling

๐Ÿ’– LIBMTP_mtpdevice_struct โ€” the main character struct ๐ŸŽ€

So bestie, this is a page from the libmtp Library Functions Manual, and it's all about LIBMTP_mtpdevice_struct โ€” like, the actual struct that holds your whole MTP device together. Think of it as the group chat where every device in your life lives. Let's get into it ๐Ÿ’…


โœจ SYNOPSIS โœจ

#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 โ€” that's the whole vibe โœจ This is the big one, the main character energy of the whole library ๐Ÿ‘‘


๐Ÿ’– Field Documentation ๐Ÿ’–

๐Ÿซถ int LIBMTP_mtpdevice_struct::cached

Whether the device uses caching, only used internally ๐Ÿ”’ Like, it's an internal thing, not for you to poke at, bestie.

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

๐ŸŽ€ void* LIBMTP_mtpdevice_struct::cd

Per device iconv() converters, only used internally โ€” again, internal business only ๐Ÿ™ˆ

โญ 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().

๐ŸŽต 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().

๐Ÿ—“๏ธ uint32_t LIBMTP_mtpdevice_struct::default_organizer_folder

Default organizer folder ๐Ÿ“’

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

๐Ÿ“ธ uint32_t LIBMTP_mtpdevice_struct::default_picture_folder

Default picture folder ๐Ÿ–ผ๏ธ

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

๐ŸŽง 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().

๐Ÿ“ uint32_t LIBMTP_mtpdevice_struct::default_text_folder

Default Text folder โœ๏ธ

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

๐ŸŽฌ uint32_t LIBMTP_mtpdevice_struct::default_video_folder

Default video folder ๐Ÿ“น

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

๐Ÿงš uint32_t LIBMTP_mtpdevice_struct::default_zencast_folder

Default ZENcast folder (only Creative devices...) โ€” yeah, only the Creative ones get this one, iykyk ๐Ÿ’ซ

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

๐Ÿ’€ 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. No cap, do not dereference it directly, bestie ๐Ÿ™…โ€โ™€๏ธ

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

๐ŸŒˆ 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().

๐Ÿ”‹ uint8_t LIBMTP_mtpdevice_struct::maximum_battery_level

The maximum battery level for this device โ€” gotta know what full looks like ๐Ÿ”‹โœจ

Referenced by LIBMTP_Get_Batterylevel(), and LIBMTP_Open_Raw_Device_Uncached().

๐Ÿ”— LIBMTP_mtpdevice_t* LIBMTP_mtpdevice_struct::next

Pointer to next device in linked list; NULL if this is the last device โ€” so if it's NULL, you've hit the end of the queue, periodt ๐Ÿ‘‹

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. Literally just the bit size of objects, ngl ๐Ÿ”ข

Referenced by LIBMTP_Dump_Device_Info(), and LIBMTP_Open_Raw_Device_Uncached().

๐Ÿ› ๏ธ void* LIBMTP_mtpdevice_struct::params

Parameters for this device, must be cast into (PTPParams*) before internal use. So like, cast it before you use it internally, fr fr ๐Ÿ™

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

๐Ÿ’พ 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. โš ๏ธ Okay this one's important: copy your strings before you touch them, and don't get attached โ€” the list can be rebuilt at literally any moment ๐Ÿ˜ญ

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

๐Ÿ”Œ void* LIBMTP_mtpdevice_struct::usbinfo

USB device for this device, must be cast into (PTP_USB*) before internal use โ€” cast before internal use, same deal as params ๐Ÿซก

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


๐Ÿ‘‘ Author ๐Ÿ‘‘

Generated automatically by Doxygen for libmtp from the source code โ€” so like, a robot wrote this, slay ๐Ÿค–โœจ


That's the whole page, bestie! This one's from libmtp, Version 1.1.23, dated alongside LIBMTP_mtpdevice_struct(3). Go forth and struct responsibly ๐Ÿ’œ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from