COMPATIBILITY(3)
π NAME π
Okay so this is COMPATIBILITY(3) from the Library Functions Manual β aka the ast library compatibility routines page, and it's giving βwe keep the old interfaces aliveβ energy. π
compatibilityβ ast library compatibility routines
β¨ SYNOPSIS β¨
Include this exactly, bestie:
#include <ast.h>
int atexit(void(*)(void));
char* confstr(int);
int dup2(int, int);
long fpathconf(int, int);
int getgroups(int, int*);
char* getwd(char*);
int killpg(int, int);
int link(const char*, const char*);
int lstat(const char*, struct stat*);
int memcmp(const char*, const char*, unsigned int);
char* memcpy(char*, const char*, int);
char* memset(char*, char, int);
int mkdir(const char*, mode_t);
int mkfifo(const char*, mode_t);
int mknod(const char*, mode_t);
char* mktemp(char*);
int mount(const char*, const char*, int);
long pathconf(const char*, int);
int perror(const char*);
FILE* popen(const char*, const char*);
int readlink(const char*, char*, int);
int remove(const char*);
int rename(const char*, const char*);
int rmdir(const char*);
int setpgid(pid_t, pid_t);
int sigmask(int);
int sigsetmask(long);
int sigunblock(int);
char* strchr(const char*, int);
char* strrchr(const char*, int);
double strtod(const char*, char**);
long strtol(const char*, char**, int);
int symlink(const char*, const char*);
long sysconf(int);
int system(const char*);
char* tmpnam(char*);
int unlink(const char*);
int vfork(void);
int waitpid(pid_t, int*, int);
That's the whole lineup β no cap, every prototype is right there. π«Ά
π¦ DESCRIPTION π¦
These routines are described in the ANSI C, POSIX, BSD and System V manual sections 2 and 3. The interfaces are preserved and present in all libast implementations. Where conflicts exist, the POSIX syntax and semantics are implied. The appropriate error value is returned and errno is set to EINVAL when emulation is either too expensive or not possible. That's the technical tea. π«β¨
π CAVEATS π
Okay, warning time, bestie β for real:
If you#undef fooand then callfoo, you may end up with the local implementation offoo, and then you get what you payed for.
Yes, payed is exactly how it's spelled here β iconic spelling moment, but the caution is real. ππ
Cute little sign-off: the footer says COMPATIBILITY(3), the manual is the Library Functions Manual, and there's no extra source/version/date line printed on this page β so we're not inventing one, periodt. ππ
π¦ where this page comes from
- opensuse-leap 16.0: ksh-devel 93vu-bp160.1.33 Β· CPL-1.0
- opensuse-leap 16.0: ksh-devel 93vu-bp160.1.33 Β· CPL-1.0
- opensuse-leap 16.0: ksh-devel 93vu-bp160.1.33 Β· CPL-1.0
- opensuse-leap 16.0: ksh-devel 93vu-bp160.1.33 Β· CPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms