/*
 * system.h
 */

/*
 * UNIX system calls (some) for PDC/Amiga, K&R2 style; other Amiga/PDC
 * system routines (those not in K&R).
 * Simon Wright 4.3.91
 *
 * 17.3.91 sjw; insert some 'const's
 * 31.3.91 sjw; add utime()
 * 24.4.91 sjw; add close()
 * 26.5.91 sjw; add fstat(), stat()
 * 29.5.91 sjw; make read(), write() use void * instead of char *
 * 18.6.91 sjw; getdtablesize() made public, include Enable_Abort
 * 15.7.91 sjw; move fdopen(), fileno() to stdio.h, don't include stdio.h
 */

#ifndef __SYSTEM_H__
#define __SYSTEM_H__

/* #include <fcntl.h> for flags */

#ifndef __STAT_H__
#include <sys/stat.h>
#endif

/* Abort (^C etc) handling */

extern int Enable_Abort;
long       Chk_Abort(void);

/* 'normal' system functions */

int	close(int fd);
int     creat(const char *name, int perms);
int	fstat(int fd, struct stat *statbuf);
int     getdtablesize(void);
long    lseek(int fd, long offset, int origin);
int     isatty(int fd);
char   *mktemp(char *name);
int     open(const char *name, int flags, int perms);
int     read(int fd, void *buf, int n);
void    sleep(unsigned seconds);
int	stat(const char *name, struct stat *statbuf);
int     unlink(const char *name);
int     utime(char *filename, time_t unixtime[2]);
int     write(int fd, const void *buf, int n);

#endif /* __SYSTEM_H__ */


