system.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  3. * See the copyright notice in the ACK home directory, in the file "Copyright".
  4. */
  5. /* RCS: $Id$ */
  6. #ifndef __SYSTEM_INCLUDED__
  7. #define __SYSTEM_INCLUDED__
  8. #include <ansi.h>
  9. struct _sys_fildes {
  10. int o_fd; /* UNIX filedescriptor */
  11. int o_flags; /* flags for open; 0 if not used */
  12. };
  13. typedef struct _sys_fildes File;
  14. extern File _sys_ftab[];
  15. /* flags for sys_open() */
  16. #define OP_READ 01
  17. #define OP_WRITE 02
  18. #define OP_APPEND 04
  19. /* flags for sys_access() */
  20. #define AC_EXIST 00
  21. #define AC_READ 04
  22. #define AC_WRITE 02
  23. #define AC_EXEC 01
  24. /* flags for sys_stop() */
  25. #define S_END 0
  26. #define S_EXIT 1
  27. #define S_ABORT 2
  28. _PROTOTYPE(int sys_open, (char *, int, File **));
  29. _PROTOTYPE(void sys_close, (File *));
  30. _PROTOTYPE(int sys_read, (File *, char *, int, int *));
  31. _PROTOTYPE(int sys_write, (File *, char *, int));
  32. _PROTOTYPE(int sys_seek, (File *, long, int, long *));
  33. _PROTOTYPE(int sys_reset, (File *));
  34. _PROTOTYPE(int sys_access, (char *, int));
  35. _PROTOTYPE(int sys_remove, (char *));
  36. _PROTOTYPE(int sys_rename, (char *, char *));
  37. _PROTOTYPE(long sys_filesize, (char *));
  38. _PROTOTYPE(int sys_chmode, (char *, int));
  39. _PROTOTYPE(int sys_lock, (char *));
  40. _PROTOTYPE(int sys_unlock, (char *));
  41. _PROTOTYPE(char *sys_break, (int));
  42. _PROTOTYPE(void sys_stop, (int));
  43. _PROTOTYPE(long sys_time, (void));
  44. _PROTOTYPE(long sys_modtime, (char *));
  45. /* standard file decsriptors */
  46. #define STDIN &_sys_ftab[0]
  47. #define STDOUT &_sys_ftab[1]
  48. #define STDERR &_sys_ftab[2]
  49. /* maximum number of open files */
  50. #define SYS_NOPEN 20
  51. /* return value for sys_break */
  52. #define ILL_BREAK ((char *)0)
  53. #endif /* __SYSTEM_INCLUDED__ */