#define __USE_UNIX98  // for pread/pwrite, supposedly
#include <unistd.h>
#include <stdlib.h>
#include <stdarg.h>
#include <setjmp.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>

#include "utf.h"
#include "fmt.h"

#define nil 0
#define dup dup2
#define exec execv
#define seek lseek
#define getwd getcwd
#define USED(a)
#define SET(a)

enum {
	OREAD = 0,
	OWRITE = 1,
	ORDWR = 2,
	OCEXEC = 4,
	ORCLOSE = 8
};

enum {
	ERRMAX = 255
};

void exits(const char *);
void _exits(const char *);
int notify (void(*f)(void *, char *));
int create(char *, int, int);
int errstr(char *, int);