Posts Tagged ‘Mono.Unix.Native’


After spending some time attempting to P/Invoke the stat() function, I discovered the wonderful Mono.Unix.Native namespace (found in the Mono.Posix assembly) which has some great stuff for lower-level Unix/Linux work.

Here’s what I did to pull a file’s inode number:

static public ulong GetFileInodeNum(string path)
    Mono.Unix.Native.Stat statOut =
new Mono.Unix.Native.Stat();
int statRet = Mono.Unix.Native.Syscall.stat(path, out statOut);
if(statRet == -1)
throw new IOException("stat on " + path + " failed.");
return statOut.st_ino;