stubbed some of these - but uv_exepath() remains... from http://docs.libuv.org/en/v1.x/misc.html
int uv_exepath(char *buffer, size_t *size)
Gets the executable path. You must call uv_setup_args before calling this function.
I vague recall a way to get the current executable path of a running executable - but can't find it right now. Any tips?
1) Use "DosQueryModFromEIP" from the running executable, passing in as "Address" the address of any arbitrary routine that is
statically linked into the executable (could be function "uv_exepath" itself if that is
statically linked to the exe, ha ha ...)
2) use the returned module handle as entry to "DosQueryModuleName".
Alternative (maybe the easier and better solution):
1) use "DosGetInfoBlocks" to get to a pointer to the PPIB of the running executable
2) use "ppib->pib_hmte" as the module handle for "DosQueryModuleName".
I seem to remember that, for an executable at least, "DosQueryModuleName" returns the full path and name of the executable binary.