Where Online Learning is simpler!
The C and C++ Include Header Files
cat -n /usr/include/python3.14/fileutils.h
1 #ifndef Py_FILEUTILS_H 2 #define Py_FILEUTILS_H 3 4 /******************************* 5 * stat() and fstat() fiddling * 6 *******************************/ 7 8 #ifdef HAVE_SYS_STAT_H 9 # include <sys/stat.h> // S_ISREG() 10 #elif defined(HAVE_STAT_H) 11 # include <stat.h> // S_ISREG() 12 #endif 13 14 #ifndef S_IFMT 15 // VisualAge C/C++ Failed to Define MountType Field in sys/stat.h. 16 # define S_IFMT 0170000 17 #endif 18 #ifndef S_IFLNK 19 // Windows doesn't define S_IFLNK, but posixmodule.c maps 20 // IO_REPARSE_TAG_SYMLINK to S_IFLNK. 21 # define S_IFLNK 0120000 22 #endif 23 #ifndef S_ISREG 24 # define S_ISREG(x) (((x) & S_IFMT) == S_IFREG) 25 #endif 26 #ifndef S_ISDIR 27 # define S_ISDIR(x) (((x) & S_IFMT) == S_IFDIR) 28 #endif 29 #ifndef S_ISCHR 30 # define S_ISCHR(x) (((x) & S_IFMT) == S_IFCHR) 31 #endif 32 #ifndef S_ISLNK 33 # define S_ISLNK(x) (((x) & S_IFMT) == S_IFLNK) 34 #endif 35 36 37 // Move this down here since some C++ #include's don't like to be included 38 // inside an extern "C". 39 #ifdef __cplusplus 40 extern "C" { 41 #endif 42 43 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 44 PyAPI_FUNC(wchar_t *) Py_DecodeLocale( 45 const char *arg, 46 size_t *size); 47 48 PyAPI_FUNC(char*) Py_EncodeLocale( 49 const wchar_t *text, 50 size_t *error_pos); 51 #endif 52 53 #ifndef Py_LIMITED_API 54 # define Py_CPYTHON_FILEUTILS_H 55 # include "cpython/fileutils.h" 56 # undef Py_CPYTHON_FILEUTILS_H 57 #endif 58 59 #ifdef __cplusplus 60 } 61 #endif 62 #endif /* !Py_FILEUTILS_H */