but effectively the version suggested by Athanasius, ie gnuwin32 return some number
Hm. I've spent an hour going through the ls.c trying to work out what that number might be, but I've failed to find anything that looks a likely source.
One thing I do know is that it isn't a true inode number, cos they simply do not exist!.
Which can only mean that they are making it up, though I can't see where.
I also cannot think of any reliable way to do so. If the based it upon some kind of hashing of the other stat/lstat information, it would change everytime the file was read/written/changed/renamed/....
Is the number consistent between runs of the gnuwin/ls executable?