> Exactly... we're still back to integral values. Of course, returning > a *int and an int are different (and therefore the above can't be a > full implemetation), but the concept still implies that we're integral.
Actually, that is conceptually the full interface definition. The function returns a pointer to an integer in thread-local storage, so that each thread can maintain its own errno instance. In real, it looks like this on Linux: extern int *__errno_location (void) __THROW __attribute__ ((__const__)); # define errno (*__errno_location ()) - Sascha