OS Manuals

compat(3ast)

compatibility - AST library compatibility routines

COMPATIBILITY(3ast) COMPATIBILITY(3ast)

compatibility - AST library compatibility routines

#include <ast.h>
int	killpg(int, int);
int	link(const char*, const char*);
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);
int	remove(const char*);
int	rename(const char*, const char*);
int	rmdir(const char*);
int	sigunblock(int);
double	strtod(const char*, char**);
long	strtol(const char*, char**, int);
int	system(const char*);
char*	tmpnam(char*);
int	unlink(const char*);

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.

If you #undef foo and then call foo you may end up with the local implementation of foo, and then you get what you paid for.

ksh 1.0.10-r37 · os · ingested 2026-10-11