Annotation of linux/include/unistd.h, revision 1.1.1.3

1.1       root        1: #ifndef _UNISTD_H
                      2: #define _UNISTD_H
                      3: 
                      4: /* ok, this may be a joke, but I'm working on it */
                      5: #define _POSIX_VERSION 198808L
                      6: 
                      7: #define _POSIX_CHOWN_RESTRICTED        /* only root can do a chown (I think..) */
                      8: /* #define _POSIX_NO_TRUNC*/   /* pathname truncation (but see in kernel) */
                      9: #define _POSIX_VDISABLE '\0'   /* character to disable things like ^C */
                     10: /*#define _POSIX_SAVED_IDS */  /* we'll get to this yet */
                     11: /*#define _POSIX_JOB_CONTROL */        /* we aren't there quite yet. Soon hopefully */
                     12: 
                     13: #define STDIN_FILENO   0
                     14: #define STDOUT_FILENO  1
                     15: #define STDERR_FILENO  2
                     16: 
                     17: #ifndef NULL
                     18: #define NULL    ((void *)0)
                     19: #endif
                     20: 
                     21: /* access */
                     22: #define F_OK   0
                     23: #define X_OK   1
                     24: #define W_OK   2
                     25: #define R_OK   4
                     26: 
                     27: /* lseek */
                     28: #define SEEK_SET       0
                     29: #define SEEK_CUR       1
                     30: #define SEEK_END       2
                     31: 
                     32: /* _SC stands for System Configuration. We don't use them much */
                     33: #define _SC_ARG_MAX            1
                     34: #define _SC_CHILD_MAX          2
                     35: #define _SC_CLOCKS_PER_SEC     3
                     36: #define _SC_NGROUPS_MAX                4
                     37: #define _SC_OPEN_MAX           5
                     38: #define _SC_JOB_CONTROL                6
                     39: #define _SC_SAVED_IDS          7
                     40: #define _SC_VERSION            8
                     41: 
                     42: /* more (possibly) configurable things - now pathnames */
                     43: #define _PC_LINK_MAX           1
                     44: #define _PC_MAX_CANON          2
                     45: #define _PC_MAX_INPUT          3
                     46: #define _PC_NAME_MAX           4
                     47: #define _PC_PATH_MAX           5
                     48: #define _PC_PIPE_BUF           6
                     49: #define _PC_NO_TRUNC           7
                     50: #define _PC_VDISABLE           8
                     51: #define _PC_CHOWN_RESTRICTED   9
                     52: 
                     53: #include <sys/stat.h>
                     54: #include <sys/times.h>
                     55: #include <sys/utsname.h>
                     56: #include <utime.h>
1.1.1.3 ! root       57: #include <dirent.h>
1.1       root       58: 
                     59: #ifdef __LIBRARY__
                     60: 
                     61: #define __NR_setup     0       /* used only by init, to get system going */
                     62: #define __NR_exit      1
                     63: #define __NR_fork      2
                     64: #define __NR_read      3
                     65: #define __NR_write     4
                     66: #define __NR_open      5
                     67: #define __NR_close     6
                     68: #define __NR_waitpid   7
                     69: #define __NR_creat     8
                     70: #define __NR_link      9
                     71: #define __NR_unlink    10
                     72: #define __NR_execve    11
                     73: #define __NR_chdir     12
                     74: #define __NR_time      13
                     75: #define __NR_mknod     14
                     76: #define __NR_chmod     15
                     77: #define __NR_chown     16
                     78: #define __NR_break     17
1.1.1.3 ! root       79: #define __NR_oldstat   18
1.1       root       80: #define __NR_lseek     19
                     81: #define __NR_getpid    20
                     82: #define __NR_mount     21
                     83: #define __NR_umount    22
                     84: #define __NR_setuid    23
                     85: #define __NR_getuid    24
                     86: #define __NR_stime     25
                     87: #define __NR_ptrace    26
                     88: #define __NR_alarm     27
1.1.1.3 ! root       89: #define __NR_oldfstat  28
1.1       root       90: #define __NR_pause     29
                     91: #define __NR_utime     30
                     92: #define __NR_stty      31
                     93: #define __NR_gtty      32
                     94: #define __NR_access    33
                     95: #define __NR_nice      34
                     96: #define __NR_ftime     35
                     97: #define __NR_sync      36
                     98: #define __NR_kill      37
                     99: #define __NR_rename    38
                    100: #define __NR_mkdir     39
                    101: #define __NR_rmdir     40
                    102: #define __NR_dup       41
                    103: #define __NR_pipe      42
                    104: #define __NR_times     43
                    105: #define __NR_prof      44
                    106: #define __NR_brk       45
                    107: #define __NR_setgid    46
                    108: #define __NR_getgid    47
                    109: #define __NR_signal    48
                    110: #define __NR_geteuid   49
                    111: #define __NR_getegid   50
                    112: #define __NR_acct      51
                    113: #define __NR_phys      52
                    114: #define __NR_lock      53
                    115: #define __NR_ioctl     54
                    116: #define __NR_fcntl     55
                    117: #define __NR_mpx       56
                    118: #define __NR_setpgid   57
                    119: #define __NR_ulimit    58
1.1.1.3 ! root      120: #define __NR_oldolduname 59
1.1       root      121: #define __NR_umask     60
                    122: #define __NR_chroot    61
                    123: #define __NR_ustat     62
                    124: #define __NR_dup2      63
                    125: #define __NR_getppid   64
                    126: #define __NR_getpgrp   65
1.1.1.3 ! root      127: #define __NR_setsid            66
        !           128: #define __NR_stat              106
        !           129: #define __NR_lstat             107
        !           130: #define __NR_fstat             108
        !           131: #define __NR_uname             122
        !           132: #define __NR_getdents  141
        !           133: #define __NR_stat64            195
        !           134: #define __NR_ltat64            196
        !           135: #define __NR_fstat64   197
        !           136: #define __NR_getdents64        220
        !           137: #define __NR_fcntl64   221
1.1       root      138: 
                    139: #define _syscall0(type,name) \
                    140: type name(void) \
                    141: { \
                    142: type __res; \
                    143: __asm__ volatile ("int $0x80" \
                    144:        : "=a" (__res) \
                    145:        : "0" (__NR_##name)); \
                    146: if (__res >= 0) \
                    147:        return __res; \
                    148: errno = -__res; \
                    149: return -1; \
                    150: }
                    151: 
                    152: #define _syscall1(type,name,atype,a) \
                    153: type name(atype a) \
                    154: { \
                    155: type __res; \
                    156: __asm__ volatile ("int $0x80" \
                    157:        : "=a" (__res) \
                    158:        : "0" (__NR_##name),"b" (a)); \
                    159: if (__res >= 0) \
                    160:        return __res; \
                    161: errno = -__res; \
                    162: return -1; \
                    163: }
                    164: 
                    165: #define _syscall2(type,name,atype,a,btype,b) \
                    166: type name(atype a,btype b) \
                    167: { \
                    168: type __res; \
                    169: __asm__ volatile ("int $0x80" \
                    170:        : "=a" (__res) \
                    171:        : "0" (__NR_##name),"b" (a),"c" (b)); \
                    172: if (__res >= 0) \
                    173:        return __res; \
                    174: errno = -__res; \
                    175: return -1; \
                    176: }
                    177: 
                    178: #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
                    179: type name(atype a,btype b,ctype c) \
                    180: { \
                    181: type __res; \
                    182: __asm__ volatile ("int $0x80" \
                    183:        : "=a" (__res) \
                    184:        : "0" (__NR_##name),"b" (a),"c" (b),"d" (c)); \
                    185: if (__res<0) \
                    186:        errno=-__res , __res = -1; \
                    187: return __res;\
                    188: }
                    189: 
                    190: #endif /* __LIBRARY__ */
                    191: 
                    192: extern int errno;
                    193: 
                    194: int access(const char * filename, mode_t mode);
                    195: int acct(const char * filename);
                    196: int alarm(int sec);
                    197: int brk(void * end_data_segment);
                    198: void * sbrk(ptrdiff_t increment);
                    199: int chdir(const char * filename);
                    200: int chmod(const char * filename, mode_t mode);
                    201: int chown(const char * filename, uid_t owner, gid_t group);
                    202: int chroot(const char * filename);
                    203: int close(int fildes);
                    204: int creat(const char * filename, mode_t mode);
                    205: int dup(int fildes);
                    206: int execve(const char * filename, char ** argv, char ** envp);
                    207: int execv(const char * pathname, char ** argv);
                    208: int execvp(const char * file, char ** argv);
                    209: int execl(const char * pathname, char * arg0, ...);
                    210: int execlp(const char * file, char * arg0, ...);
                    211: int execle(const char * pathname, char * arg0, ...);
1.1.1.2   root      212: void exit(int status);
                    213: void _exit(int status);
1.1       root      214: int fcntl(int fildes, int cmd, ...);
1.1.1.2   root      215: //int fork(void);
1.1       root      216: int getpid(void);
                    217: int getuid(void);
                    218: int geteuid(void);
                    219: int getgid(void);
                    220: int getegid(void);
                    221: int ioctl(int fildes, int cmd, ...);
                    222: int kill(pid_t pid, int signal);
                    223: int link(const char * filename1, const char * filename2);
                    224: int lseek(int fildes, off_t offset, int origin);
                    225: int mknod(const char * filename, mode_t mode, dev_t dev);
                    226: int mount(const char * specialfile, const char * dir, int rwflag);
                    227: int nice(int val);
                    228: int open(const char * filename, int flag, ...);
1.1.1.2   root      229: //int pause(void);
1.1       root      230: int pipe(int * fildes);
                    231: int read(int fildes, char * buf, off_t count);
                    232: int setpgrp(void);
                    233: int setpgid(pid_t pid,pid_t pgid);
                    234: int setuid(uid_t uid);
                    235: int setgid(gid_t gid);
                    236: void (*signal(int sig, void (*fn)(int)))(int);
1.1.1.3 ! root      237: int stat64(const char * filename, struct stat64 * stat_buf);
        !           238: int fstat64(int fildes, struct stat64 * stat_buf);
1.1       root      239: int stime(time_t * tptr);
1.1.1.2   root      240: //int sync(void);
1.1       root      241: time_t time(time_t * tloc);
                    242: time_t times(struct tms * tbuf);
                    243: int ulimit(int cmd, long limit);
                    244: mode_t umask(mode_t mask);
                    245: int umount(const char * specialfile);
                    246: int uname(struct utsname * name);
                    247: int unlink(const char * filename);
                    248: int ustat(dev_t dev, struct ustat * ubuf);
                    249: int utime(const char * filename, struct utimbuf * times);
                    250: pid_t waitpid(pid_t pid,int * wait_stat,int options);
                    251: pid_t wait(int * wait_stat);
                    252: int write(int fildes, const char * buf, off_t count);
                    253: int dup2(int oldfd, int newfd);
                    254: int getppid(void);
                    255: pid_t getpgrp(void);
                    256: pid_t setsid(void);
1.1.1.3 ! root      257: int getdents(unsigned int fd, struct dirent *dirp, unsigned int count);
        !           258: int getdents64(unsigned int fd, struct dirent64 *dirp, unsigned int count);
1.1       root      259: 
                    260: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.