home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / apps / program / s / unixlib / sys / h / unix < prev   
Encoding:
Text File  |  1991-01-16  |  3.3 KB  |  139 lines

  1. /* sys/unix.h (c) Copyright 1990 H.Rogers */
  2.  
  3. /* UNIX is a registered trademark of AT&T Bell Laboratories */
  4.  
  5. #ifndef __SYS_UNIX_H
  6. #define __SYS_UNIX_H
  7.  
  8. #ifndef __SYS_TYPES_H
  9. #include "sys/types.h"
  10. #endif
  11.  
  12. #define FD_MAX 16
  13.  
  14. extern    int    access(char *,int);
  15. extern    int    chdir(char *);
  16. extern    int    chmod(char *,int);
  17. extern    int    chown(char *,int,int);
  18. extern    int    close(int);
  19. extern    int    creat(char *,int);
  20. extern    int    dup(int);
  21. extern    int    dup2(int,int);
  22. extern    int    fcntl(int,int,int);
  23. extern    int    gtty(int,struct termio *);
  24. extern    int    ioctl(int,int,void *);
  25. extern    int    isatty(int);
  26. extern    int    link(char *,char *);
  27. extern    long    lseek(int,long,int);
  28. extern    int    mkdir(char *);
  29. extern    int    open(char *,int,...);
  30. extern    int    pipe(int *);
  31. extern    int    read(int,void *,int);
  32. extern    int    select(fd_set *,fd_set *,int);
  33. extern    int    stat(char *,struct stat *);
  34. extern    int    fstat(int,struct stat *);
  35. extern    int    stty(int,struct termio *);
  36. extern    int    sync(void);
  37. extern    int    unlink(char *);
  38. extern    int    utime(char *,unsigned int *);
  39. extern    int    utimes(char *,unsigned int *);
  40. extern    int    write(int,void *,int);
  41.  
  42. /* exec*() are unimplemented */
  43.  
  44. extern    int    execl(char *,...);
  45. extern    int    execle(char *,...);
  46. extern    int    execlp(char *,...);
  47. extern    int    execv(char *,char **);
  48. extern    int    execve(char *,char **,char **);
  49. extern    int    execvp(char *,char **);
  50.  
  51. extern    time_t    alarm(time_t);
  52. extern    int    brk(void *);
  53. extern    void    *sbrk(int);
  54. extern    int    fork(void);    /* returns -1 with ENOMEM */
  55. extern    char    *gethostname(void);
  56. extern    int    getpgrp(void);
  57. extern    int    setpgrp(int);
  58. extern    int    getpid(void);
  59. extern    int    getppid(void);
  60. extern    int    getuid(void);
  61. extern    int    setuid(int);
  62. extern    int    geteuid(void);
  63. extern    int    seteuid(int);
  64. extern    int    getgid(void);
  65. extern    int    setgid(int);
  66. extern    int    getegid(void);
  67. extern    int    setegid(int);
  68. extern    char    *getlogin(void);
  69. extern    int    kill(int,int);
  70. extern    int    nice(int);
  71. extern    int    pause(void);
  72. extern    int    sleep(time_t);
  73. extern    int    umask(int);
  74. extern    int    wait(int *);
  75.  
  76. /* the 6 'root only' functions below always return -1 with EPERM */
  77.  
  78. extern    int    chroot(char *);
  79. extern    int    mknod(char *,int,dev_t);
  80. extern    int    mount(char *,char *,int);
  81. extern    int    umount(char *);
  82. extern    int    sethostname(char *,int);
  83. extern    int    stime(time_t *);
  84.  
  85. extern    void    uname(int);    /* set UNIX filenaming convention flag */
  86.  
  87. /* the 2nd parameter to __uname() is the subdirectory creation flag */
  88.  
  89. extern    char    *__uname(char *,int);    /* ADFS -> UNIX filename conversion */
  90.  
  91. /* the 3 functions below are automatically called in normal circumstances */
  92.  
  93. extern    void    __uxinit(void);     /* initialise UNIX process */
  94. extern    void    __ioinit(void);     /* initialise UNIX I/O */
  95. extern    void    __ioexit(void);     /* close all fds */
  96.  
  97. extern    char    *__ubuf;
  98. extern    int    __unflag;
  99.  
  100. struct __u_file
  101.   {
  102.   dev_t         u_dev;        /* device */
  103.   int            u_oflag;    /* oflag */
  104.   struct __u_file    *u_dup;     /* dup list */
  105.   union
  106.     {
  107.     int         u_r[6];     /* OS_File r0 -> r5 */
  108.     } u_i;
  109.   };
  110.  
  111. #define u_r u_i.u_r
  112.  
  113. extern    struct __u_file __u_file[];
  114.  
  115. #define BADF(f) (!(((f) >= 0 && (f) < FD_MAX) ? (__u_file[f].u_dup) : 0))
  116.  
  117. extern    int    __fdalloc(void);
  118.  
  119. struct __u_proc
  120.   {
  121.   int    u_uid;
  122.   int    u_euid;
  123.   int    u_gid;
  124.   int    u_egid;
  125.   int    u_pgrp;
  126.   int    u_pid;
  127.   int    u_ppid;
  128.   int    u_umask;
  129.   };
  130.  
  131. extern    struct    __u_proc *__u_proc;    /* process environment */
  132. extern    struct    termio     *__u_tty;    /* process tty */
  133.  
  134. extern    int    __u_nflag;        /* UNIX naming convention flag */
  135.  
  136. extern    int    __ualarm;        /* alarm() time */
  137.  
  138. #endif
  139.