Skip to content
/ libwpd Public

Windows Portable Devices (WPD) translation layer for communicating with PTP/MTP devices on Windows

License

Notifications You must be signed in to change notification settings

petabyt/libwpd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libwpd

POSIX-friendly abstraction over Windows Portable Devices. This makes it easier to port libusb software (specifically PTP/USB clients) to Windows.

Compiling

With MinGW on Linux:

cmake -DCMAKE_TOOLCHAIN_FILE=mingw.cmake -G Ninja -B build
cmake --build build

How to use

The DLL is written in Win32 C++, but exposes a basic C API. See test.c for a basic example of usage.
libwpd.h includes the entirity of the API.

Limitations

  • OpenSession and CloseSession opcodes are ignored. Windows wants complete control over sessions, so we can't run those opcodes. A fake 0x2001 PTP_RC_OK response is sent back for compatibility.
  • Transaction IDs are not handled. I don't think WPD lets you have that information.

About

Windows Portable Devices (WPD) translation layer for communicating with PTP/MTP devices on Windows

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages