root/include/linux/unistd.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _LINUX_UNISTD_H
   2 #define _LINUX_UNISTD_H
   3 
   4 /*
   5  * This file contains the system call numbers and the syscallX
   6  * macros
   7  */
   8 
   9 #define __NR_setup                0     /* used only by init, to get system going */
  10 #define __NR_exit                 1
  11 #define __NR_fork                 2
  12 #define __NR_read                 3
  13 #define __NR_write                4
  14 #define __NR_open                 5
  15 #define __NR_close                6
  16 #define __NR_waitpid              7
  17 #define __NR_creat                8
  18 #define __NR_link                 9
  19 #define __NR_unlink              10
  20 #define __NR_execve              11
  21 #define __NR_chdir               12
  22 #define __NR_time                13
  23 #define __NR_mknod               14
  24 #define __NR_chmod               15
  25 #define __NR_chown               16
  26 #define __NR_break               17
  27 #define __NR_oldstat             18
  28 #define __NR_lseek               19
  29 #define __NR_getpid              20
  30 #define __NR_mount               21
  31 #define __NR_umount              22
  32 #define __NR_setuid              23
  33 #define __NR_getuid              24
  34 #define __NR_stime               25
  35 #define __NR_ptrace              26
  36 #define __NR_alarm               27
  37 #define __NR_oldfstat            28
  38 #define __NR_pause               29
  39 #define __NR_utime               30
  40 #define __NR_stty                31
  41 #define __NR_gtty                32
  42 #define __NR_access              33
  43 #define __NR_nice                34
  44 #define __NR_ftime               35
  45 #define __NR_sync                36
  46 #define __NR_kill                37
  47 #define __NR_rename              38
  48 #define __NR_mkdir               39
  49 #define __NR_rmdir               40
  50 #define __NR_dup                 41
  51 #define __NR_pipe                42
  52 #define __NR_times               43
  53 #define __NR_prof                44
  54 #define __NR_brk                 45
  55 #define __NR_setgid              46
  56 #define __NR_getgid              47
  57 #define __NR_signal              48
  58 #define __NR_geteuid             49
  59 #define __NR_getegid             50
  60 #define __NR_acct                51
  61 #define __NR_phys                52
  62 #define __NR_lock                53
  63 #define __NR_ioctl               54
  64 #define __NR_fcntl               55
  65 #define __NR_mpx                 56
  66 #define __NR_setpgid             57
  67 #define __NR_ulimit              58
  68 #define __NR_oldolduname         59
  69 #define __NR_umask               60
  70 #define __NR_chroot              61
  71 #define __NR_ustat               62
  72 #define __NR_dup2                63
  73 #define __NR_getppid             64
  74 #define __NR_getpgrp             65
  75 #define __NR_setsid              66
  76 #define __NR_sigaction           67
  77 #define __NR_sgetmask            68
  78 #define __NR_ssetmask            69
  79 #define __NR_setreuid            70
  80 #define __NR_setregid            71
  81 #define __NR_sigsuspend          72
  82 #define __NR_sigpending          73
  83 #define __NR_sethostname         74
  84 #define __NR_setrlimit           75
  85 #define __NR_getrlimit           76
  86 #define __NR_getrusage           77
  87 #define __NR_gettimeofday        78
  88 #define __NR_settimeofday        79
  89 #define __NR_getgroups           80
  90 #define __NR_setgroups           81
  91 #define __NR_select              82
  92 #define __NR_symlink             83
  93 #define __NR_oldlstat            84
  94 #define __NR_readlink            85
  95 #define __NR_uselib              86
  96 #define __NR_swapon              87
  97 #define __NR_reboot              88
  98 #define __NR_readdir             89
  99 #define __NR_mmap                90
 100 #define __NR_munmap              91
 101 #define __NR_truncate            92
 102 #define __NR_ftruncate           93
 103 #define __NR_fchmod              94
 104 #define __NR_fchown              95
 105 #define __NR_getpriority         96
 106 #define __NR_setpriority         97
 107 #define __NR_profil              98
 108 #define __NR_statfs              99
 109 #define __NR_fstatfs            100
 110 #define __NR_ioperm             101
 111 #define __NR_socketcall         102
 112 #define __NR_syslog             103
 113 #define __NR_setitimer          104
 114 #define __NR_getitimer          105
 115 #define __NR_stat               106
 116 #define __NR_lstat              107
 117 #define __NR_fstat              108
 118 #define __NR_olduname           109
 119 #define __NR_iopl               110
 120 #define __NR_vhangup            111
 121 #define __NR_idle               112
 122 #define __NR_vm86               113
 123 #define __NR_wait4              114
 124 #define __NR_swapoff            115
 125 #define __NR_sysinfo            116
 126 #define __NR_ipc                117
 127 #define __NR_fsync              118
 128 #define __NR_sigreturn          119
 129 #define __NR_clone              120
 130 #define __NR_setdomainname      121
 131 #define __NR_uname              122
 132 #define __NR_modify_ldt         123
 133 #define __NR_adjtimex           124
 134 #define __NR_mprotect           125
 135 #define __NR_sigprocmask        126
 136 #define __NR_create_module      127
 137 #define __NR_init_module        128
 138 #define __NR_delete_module      129
 139 #define __NR_get_kernel_syms    130
 140 #define __NR_quotactl           131
 141 #define __NR_getpgid            132
 142 #define __NR_fchdir             133
 143 #define __NR_bdflush            134
 144 #define __NR_sysfs              135
 145 #define __NR_personality        136
 146 #define __NR_afs_syscall        137 /* Syscall for Andrew File System */
 147 
 148 extern int errno;
 149 
 150 /* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
 151 #define _syscall0(type,name) \
 152 type name(void) \
 153 { \
 154 long __res; \
 155 __asm__ volatile ("int $0x80" \
 156         : "=a" (__res) \
 157         : "0" (__NR_##name)); \
 158 if (__res >= 0) \
 159         return (type) __res; \
 160 errno = -__res; \
 161 return -1; \
 162 }
 163 
 164 #define _syscall1(type,name,atype,a) \
 165 type name(atype a) \
 166 { \
 167 long __res; \
 168 __asm__ volatile ("int $0x80" \
 169         : "=a" (__res) \
 170         : "0" (__NR_##name),"b" ((long)(a))); \
 171 if (__res >= 0) \
 172         return (type) __res; \
 173 errno = -__res; \
 174 return -1; \
 175 }
 176 
 177 #define _syscall2(type,name,atype,a,btype,b) \
 178 type name(atype a,btype b) \
 179 { \
 180 long __res; \
 181 __asm__ volatile ("int $0x80" \
 182         : "=a" (__res) \
 183         : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \
 184 if (__res >= 0) \
 185         return (type) __res; \
 186 errno = -__res; \
 187 return -1; \
 188 }
 189 
 190 #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
 191 type name(atype a,btype b,ctype c) \
 192 { \
 193 long __res; \
 194 __asm__ volatile ("int $0x80" \
 195         : "=a" (__res) \
 196         : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \
 197 if (__res>=0) \
 198         return (type) __res; \
 199 errno=-__res; \
 200 return -1; \
 201 }
 202 
 203 #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
 204 type name (atype a, btype b, ctype c, dtype d) \
 205 { \
 206 long __res; \
 207 __asm__ volatile ("int $0x80" \
 208         : "=a" (__res) \
 209         : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)), \
 210           "d" ((long)(c)),"S" ((long)(d))); \
 211 if (__res>=0) \
 212         return (type) __res; \
 213 errno=-__res; \
 214 return -1; \
 215 }
 216 
 217 #define _syscall5(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
 218 type name (atype a,btype b,ctype c,dtype d,etype e) \
 219 { \
 220 long __res; \
 221 __asm__ volatile ("int $0x80" \
 222         : "=a" (__res) \
 223         : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)), \
 224           "d" ((long)(c)),"S" ((long)(d)),"D" ((long)(e))); \
 225 if (__res>=0) \
 226         return (type) __res; \
 227 errno=-__res; \
 228 return -1; \
 229 }
 230 
 231 #endif /* _LINUX_UNISTD_H */

/* [previous][next][first][last][top][bottom][index][help] */