COMPATIBILITY(3ast) COMPATIBILITY(3ast)

# [NAME](#NAME)

compatibility - AST library compatibility routines

# [SYNOPSIS](#SYNOPSIS)

```
#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*);
```

# [DESCRIPTION](#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.

# [CAVEATS](#CAVEATS)

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.

---

Document: compat(3ast) from ksh 1.0.10-r36 (Chainguard OS)
Source: https://github.com/ksh93/ksh
