In Linux you don't usually use wchar_t for library API functions. Most libraries use UTF-8 encoded strings, so they take as strings plain arrays of NUL-terminated chars (IMO that is far better than duplicating all the functions with ANSI and Unicode versions).
So, with that in mind:
LPCTSTR, LPCSTR, LPCWSTR -> const char *.
LPTSTR, LPSTR, LPWSTR -> char *.
If you insist in using Unicode functions, MS style, you have to be aware that they actually use UTF-16 encoded strings, and wchar_t is not a portable type, as its size is not specified by the language. Instead you can use uint16_t:
LPCWSTR -> const uint16_t *.
LPWSTR -> uint16_t *.
And if you want to be extra MS compatible, you can use the UNICODE macro to conditionally typedef the LPTSTR and LPTCSTR into one of the others, but that's probably unneeded for your problem.