1N/A.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
1N/A.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
1N/A.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
1N/A.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
1N/A.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
1N/A.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
1N/A.de EX \" start example
1N/A.ta 1i 2i 3i 4i 5i 6i
1N/A.de EE \" end example
1N/Acompatibility \- ast library compatibility routines
1N/Aint atexit(void(*)(void));
1N/Along fpathconf(int, int);
1N/Aint getgroups(int, int*);
1N/Aint killpg(int, int);
1N/Aint link(const char*, const char*);
1N/Aint lstat(const char*, struct stat*);
1N/Aint memcmp(const char*, const char*, unsigned int);
1N/Achar* memcpy(char*, const char*, int);
1N/Achar* memset(char*, char, int);
1N/Aint mkdir(const char*, mode_t);
1N/Aint mkfifo(const char*, mode_t);
1N/Aint mknod(const char*, mode_t);
1N/Aint mount(const char*, const char*, int);
1N/Along pathconf(const char*, int);
1N/Aint perror(const char*);
1N/AFILE* popen(const char*, const char*);
1N/Aint readlink(const char*, char*, int);
1N/Aint remove(const char*);
1N/Aint rename(const char*, const char*);
1N/Aint rmdir(const char*);
1N/Aint setpgid(pid_t, pid_t);
1N/Aint sigsetmask(long);
1N/Achar* strchr(const char*, int);
1N/Achar* strrchr(const char*, int);
1N/Adouble strtod(const char*, char**);
1N/Along strtol(const char*, char**, int);
1N/Aint symlink(const char*, const char*);
1N/Aint system(const char*);
1N/Aint unlink(const char*);
1N/Aint waitpid(pid_t, int*, int);
1N/AThese routines are described in the ANSI C, POSIX, BSD and System V manual
1N/AThe interfaces are preserved and present in all libast implementations.
1N/AWhere conflicts exist the POSIX syntax and semantics are implied.
1N/AThe appropriate error value is returned and
1N/Awhen emulation is either too expensive or not possible.
1N/Ayou may end up with the local implementation of
1N/Aand then you get what you payed for.