Earlier quoted context omitted.
The question was what function "returns" an inode. Those functions return a error code, you pass in a stat structure and the function populates that structure. He was saying (correctly), that they don't return (in the classic C sense) the inode. They return an error code. To me that is a big difference... int lstat(const char path, struct stat buf); vs stat* lstat(const char *path); 2 completely different functions.
Here's the first sentence of the DESCRIPTION section of the stat(2) man page on my Linux systems: These functions return information about a file.
OS X: (OK, so I lied about the "fine" part)
The stat() function obtains information about the file pointed to by path
Windows, here the VC++ CRT - fantastically poorly described, if you ask me, though of course you shouldn't be using any of this POSIX shit on Windows, so if it confuses anybody enough to make them go and find FindFirstFile then it can only be a good thing: Get status information on a file