How do I get the unix filename for a wine handle?

Kuba Ober kuba at mareimbrium.org
Mon Jun 26 07:34:09 CDT 2006


On Saturday 24 June 2006 07:06, Christoph Probst wrote:
> Hi.
>
> Alexandre Julliard wrote:
> > You can't do that in general. In Unix a file can have multiple names,
> > or even none at all, there's simply no way to get a filename from a
> > handle. On Linux you can use /proc/self/fd but that's not very
> > portable.
>
> So what do you think about the solution that the wineserver stores the
> filename in the file object when the object is created?
>
> Just like wine_server_handle_to_fd() there would be a
> wine_server_handle_to_filename() that returns the filename.

A way to possibly do what you want to do is to duplicate the file handle, and 
to hack on ClamAV to scan a file given a handle to it.

On unices you can open a file, hold a handle to it, and then remove the 
directory entry (rm file) -- the file will exist on the disk without a 
directory entry, for as long as the file handle is open. I don't think you 
could do that under e.g. Windows, so Unix is different here.

In general the only way to get at a file knowing its handle is to use a 
duplicate handle. That'd be the only robust way AFAIK.

Cheers, Kuba



More information about the wine-devel mailing list