According to the Linux manual page, the Linux C API open
has two prototypes as follows:
int open(const char *pathname, int oflags);
int open(const char *pathname, int oflags, mode_t mode);
What makes me confused is:
Why does the Linux C API 'open' support function overloading??