home *** CD-ROM | disk | FTP | other *** search
- /* sys/unix.h (c) Copyright 1990 H.Rogers */
-
- /* UNIX is a registered trademark of AT&T Bell Laboratories */
-
- #ifndef __SYS_UNIX_H
- #define __SYS_UNIX_H
-
- #ifndef __SYS_TYPES_H
- #include "sys/types.h"
- #endif
-
- #define FD_MAX 16
-
- extern int access(char *,int);
- extern int chdir(char *);
- extern int chmod(char *,int);
- extern int chown(char *,int,int);
- extern int close(int);
- extern int creat(char *,int);
- extern int dup(int);
- extern int dup2(int,int);
- extern int fcntl(int,int,int);
- extern int gtty(int,struct termio *);
- extern int ioctl(int,int,void *);
- extern int isatty(int);
- extern int link(char *,char *);
- extern long lseek(int,long,int);
- extern int mkdir(char *);
- extern int open(char *,int,...);
- extern int pipe(int *);
- extern int read(int,void *,int);
- extern int select(fd_set *,fd_set *,int);
- extern int stat(char *,struct stat *);
- extern int fstat(int,struct stat *);
- extern int stty(int,struct termio *);
- extern int sync(void);
- extern int unlink(char *);
- extern int utime(char *,unsigned int *);
- extern int utimes(char *,unsigned int *);
- extern int write(int,void *,int);
-
- /* exec*() are unimplemented */
-
- extern int execl(char *,...);
- extern int execle(char *,...);
- extern int execlp(char *,...);
- extern int execv(char *,char **);
- extern int execve(char *,char **,char **);
- extern int execvp(char *,char **);
-
- extern time_t alarm(time_t);
- extern int brk(void *);
- extern void *sbrk(int);
- extern int fork(void); /* returns -1 with ENOMEM */
- extern char *gethostname(void);
- extern int getpgrp(void);
- extern int setpgrp(int);
- extern int getpid(void);
- extern int getppid(void);
- extern int getuid(void);
- extern int setuid(int);
- extern int geteuid(void);
- extern int seteuid(int);
- extern int getgid(void);
- extern int setgid(int);
- extern int getegid(void);
- extern int setegid(int);
- extern char *getlogin(void);
- extern int kill(int,int);
- extern int nice(int);
- extern int pause(void);
- extern int sleep(time_t);
- extern int umask(int);
- extern int wait(int *);
-
- /* the 6 'root only' functions below always return -1 with EPERM */
-
- extern int chroot(char *);
- extern int mknod(char *,int,dev_t);
- extern int mount(char *,char *,int);
- extern int umount(char *);
- extern int sethostname(char *,int);
- extern int stime(time_t *);
-
- extern void uname(int); /* set UNIX filenaming convention flag */
-
- /* the 2nd parameter to __uname() is the subdirectory creation flag */
-
- extern char *__uname(char *,int); /* ADFS -> UNIX filename conversion */
-
- /* the 3 functions below are automatically called in normal circumstances */
-
- extern void __uxinit(void); /* initialise UNIX process */
- extern void __ioinit(void); /* initialise UNIX I/O */
- extern void __ioexit(void); /* close all fds */
-
- extern char *__ubuf;
- extern int __unflag;
-
- struct __u_file
- {
- dev_t u_dev; /* device */
- int u_oflag; /* oflag */
- struct __u_file *u_dup; /* dup list */
- union
- {
- int u_r[6]; /* OS_File r0 -> r5 */
- } u_i;
- };
-
- #define u_r u_i.u_r
-
- extern struct __u_file __u_file[];
-
- #define BADF(f) (!(((f) >= 0 && (f) < FD_MAX) ? (__u_file[f].u_dup) : 0))
-
- extern int __fdalloc(void);
-
- struct __u_proc
- {
- int u_uid;
- int u_euid;
- int u_gid;
- int u_egid;
- int u_pgrp;
- int u_pid;
- int u_ppid;
- int u_umask;
- };
-
- extern struct __u_proc *__u_proc; /* process environment */
- extern struct termio *__u_tty; /* process tty */
-
- extern int __u_nflag; /* UNIX naming convention flag */
-
- extern int __ualarm; /* alarm() time */
-
- #endif
-