Commit 2521d69883285d0bb001036de64e68482ea6f826

Authored by bellard
1 parent 2ab83ea7

factorized more definitions - suppressed broken sound ioctls


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@241 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user/ioctls.h
... ... @@ -150,6 +150,7 @@
150 150 IOCTL(CDROM_DISC_STATUS, 0, TYPE_NULL)
151 151 IOCTL(CDROMAUDIOBUFSIZ, 0, TYPE_INT)
152 152  
  153 +#if 0
153 154 IOCTL(SNDCTL_COPR_HALT, IOC_RW, MK_PTR(TYPE_INT))
154 155 IOCTL(SNDCTL_COPR_LOAD, IOC_RW, MK_PTR(TYPE_INT))
155 156 IOCTL(SNDCTL_COPR_RCODE, IOC_RW, MK_PTR(TYPE_INT))
... ... @@ -160,14 +161,15 @@
160 161 IOCTL(SNDCTL_COPR_SENDMSG, IOC_RW, MK_PTR(TYPE_INT))
161 162 IOCTL(SNDCTL_COPR_WCODE, IOC_W, MK_PTR(TYPE_INT))
162 163 IOCTL(SNDCTL_COPR_WDATA, IOC_W, MK_PTR(TYPE_INT))
  164 +#endif
163 165 IOCTL(SNDCTL_DSP_CHANNELS, IOC_RW, MK_PTR(TYPE_INT))
164 166 IOCTL(SNDCTL_DSP_GETBLKSIZE, IOC_RW, MK_PTR(TYPE_INT))
165 167 IOCTL(SNDCTL_DSP_GETCAPS, IOC_R, MK_PTR(TYPE_INT))
166 168 IOCTL(SNDCTL_DSP_GETFMTS, IOC_R, MK_PTR(TYPE_INT))
167   - IOCTL(SNDCTL_DSP_GETIPTR, IOC_R, MK_PTR(TYPE_INT))
168   - IOCTL(SNDCTL_DSP_GETISPACE, IOC_R, MK_PTR(TYPE_INT))
169   - IOCTL(SNDCTL_DSP_GETOPTR, IOC_R, MK_PTR(TYPE_INT))
170   - IOCTL(SNDCTL_DSP_GETOSPACE, IOC_R, MK_PTR(TYPE_INT))
  169 + IOCTL(SNDCTL_DSP_GETIPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info)))
  170 + IOCTL(SNDCTL_DSP_GETOPTR, IOC_R, MK_PTR(MK_STRUCT(STRUCT_count_info)))
  171 + IOCTL(SNDCTL_DSP_GETISPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info)))
  172 + IOCTL(SNDCTL_DSP_GETOSPACE, IOC_R, MK_PTR(MK_STRUCT(STRUCT_audio_buf_info)))
171 173 IOCTL(SNDCTL_DSP_GETTRIGGER, IOC_R, MK_PTR(TYPE_INT))
172 174 IOCTL(SNDCTL_DSP_MAPINBUF, IOC_R, MK_PTR(TYPE_INT))
173 175 IOCTL(SNDCTL_DSP_MAPOUTBUF, IOC_R, MK_PTR(TYPE_INT))
... ... @@ -183,6 +185,7 @@
183 185 IOCTL(SNDCTL_DSP_STEREO, IOC_RW, MK_PTR(TYPE_INT))
184 186 IOCTL(SNDCTL_DSP_SUBDIVIDE, IOC_RW, MK_PTR(TYPE_INT))
185 187 IOCTL(SNDCTL_DSP_SYNC, 0, TYPE_NULL)
  188 +#if 0
186 189 IOCTL(SNDCTL_FM_4OP_ENABLE, IOC_W, MK_PTR(TYPE_INT))
187 190 IOCTL(SNDCTL_FM_LOAD_INSTR, IOC_W, MK_PTR(TYPE_INT))
188 191 IOCTL(SNDCTL_MIDI_INFO, IOC_RW, MK_PTR(TYPE_INT))
... ... @@ -222,6 +225,7 @@
222 225 IOCTL(SOUND_PCM_READ_CHANNELS, IOC_R, MK_PTR(TYPE_INT))
223 226 IOCTL(SOUND_PCM_READ_BITS, IOC_R, MK_PTR(TYPE_INT))
224 227 IOCTL(SOUND_PCM_READ_FILTER, IOC_R, MK_PTR(TYPE_INT))
  228 +#endif
225 229 IOCTL(SOUND_MIXER_INFO, IOC_R, MK_PTR(TYPE_INT))
226 230 IOCTL(SOUND_MIXER_ACCESS, 0, TYPE_PTRVOID)
227 231 IOCTL(SOUND_MIXER_PRIVATE1, IOC_RW, MK_PTR(TYPE_INT))
... ...
linux-user/syscall_defs.h
1   -
2 1 /* common syscall defines for all architectures */
3 2  
  3 +/* Note: although the syscall numbers change between architectures,
  4 + most of them stay the same, so we handle it by puting ifdefs if
  5 + necessary */
  6 +
  7 +#define TARGET_NR_exit 1
  8 +#define TARGET_NR_fork 2
  9 +#define TARGET_NR_read 3
  10 +#define TARGET_NR_write 4
  11 +#define TARGET_NR_open 5
  12 +#define TARGET_NR_close 6
  13 +#define TARGET_NR_waitpid 7
  14 +#define TARGET_NR_creat 8
  15 +#define TARGET_NR_link 9
  16 +#define TARGET_NR_unlink 10
  17 +#define TARGET_NR_execve 11
  18 +#define TARGET_NR_chdir 12
  19 +#define TARGET_NR_time 13
  20 +#define TARGET_NR_mknod 14
  21 +#define TARGET_NR_chmod 15
  22 +#define TARGET_NR_lchown 16
  23 +#define TARGET_NR_break 17
  24 +#define TARGET_NR_oldstat 18
  25 +#define TARGET_NR_lseek 19
  26 +#define TARGET_NR_getpid 20
  27 +#define TARGET_NR_mount 21
  28 +#define TARGET_NR_umount 22
  29 +#define TARGET_NR_setuid 23
  30 +#define TARGET_NR_getuid 24
  31 +#define TARGET_NR_stime 25
  32 +#define TARGET_NR_ptrace 26
  33 +#define TARGET_NR_alarm 27
  34 +#define TARGET_NR_oldfstat 28
  35 +#define TARGET_NR_pause 29
  36 +#define TARGET_NR_utime 30
  37 +#define TARGET_NR_stty 31
  38 +#define TARGET_NR_gtty 32
  39 +#define TARGET_NR_access 33
  40 +#define TARGET_NR_nice 34
  41 +#define TARGET_NR_ftime 35
  42 +#define TARGET_NR_sync 36
  43 +#define TARGET_NR_kill 37
  44 +#define TARGET_NR_rename 38
  45 +#define TARGET_NR_mkdir 39
  46 +#define TARGET_NR_rmdir 40
  47 +#define TARGET_NR_dup 41
  48 +#define TARGET_NR_pipe 42
  49 +#define TARGET_NR_times 43
  50 +#define TARGET_NR_prof 44
  51 +#define TARGET_NR_brk 45
  52 +#define TARGET_NR_setgid 46
  53 +#define TARGET_NR_getgid 47
  54 +#define TARGET_NR_signal 48
  55 +#define TARGET_NR_geteuid 49
  56 +#define TARGET_NR_getegid 50
  57 +#define TARGET_NR_acct 51
  58 +#define TARGET_NR_umount2 52
  59 +#define TARGET_NR_lock 53
  60 +#define TARGET_NR_ioctl 54
  61 +#define TARGET_NR_fcntl 55
  62 +#define TARGET_NR_mpx 56
  63 +#define TARGET_NR_setpgid 57
  64 +#define TARGET_NR_ulimit 58
  65 +#define TARGET_NR_oldolduname 59
  66 +#define TARGET_NR_umask 60
  67 +#define TARGET_NR_chroot 61
  68 +#define TARGET_NR_ustat 62
  69 +#define TARGET_NR_dup2 63
  70 +#define TARGET_NR_getppid 64
  71 +#define TARGET_NR_getpgrp 65
  72 +#define TARGET_NR_setsid 66
  73 +#define TARGET_NR_sigaction 67
  74 +#define TARGET_NR_sgetmask 68
  75 +#define TARGET_NR_ssetmask 69
  76 +#define TARGET_NR_setreuid 70
  77 +#define TARGET_NR_setregid 71
  78 +#define TARGET_NR_sigsuspend 72
  79 +#define TARGET_NR_sigpending 73
  80 +#define TARGET_NR_sethostname 74
  81 +#define TARGET_NR_setrlimit 75
  82 +#define TARGET_NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
  83 +#define TARGET_NR_getrusage 77
  84 +#define TARGET_NR_gettimeofday 78
  85 +#define TARGET_NR_settimeofday 79
  86 +#define TARGET_NR_getgroups 80
  87 +#define TARGET_NR_setgroups 81
  88 +#define TARGET_NR_select 82
  89 +#define TARGET_NR_symlink 83
  90 +#define TARGET_NR_oldlstat 84
  91 +#define TARGET_NR_readlink 85
  92 +#define TARGET_NR_uselib 86
  93 +#define TARGET_NR_swapon 87
  94 +#define TARGET_NR_reboot 88
  95 +#define TARGET_NR_readdir 89
  96 +#define TARGET_NR_mmap 90
  97 +#define TARGET_NR_munmap 91
  98 +#define TARGET_NR_truncate 92
  99 +#define TARGET_NR_ftruncate 93
  100 +#define TARGET_NR_fchmod 94
  101 +#define TARGET_NR_fchown 95
  102 +#define TARGET_NR_getpriority 96
  103 +#define TARGET_NR_setpriority 97
  104 +#define TARGET_NR_profil 98
  105 +#define TARGET_NR_statfs 99
  106 +#define TARGET_NR_fstatfs 100
  107 +#define TARGET_NR_ioperm 101
  108 +#define TARGET_NR_socketcall 102
  109 +#define TARGET_NR_syslog 103
  110 +#define TARGET_NR_setitimer 104
  111 +#define TARGET_NR_getitimer 105
  112 +#define TARGET_NR_stat 106
  113 +#define TARGET_NR_lstat 107
  114 +#define TARGET_NR_fstat 108
  115 +#define TARGET_NR_olduname 109
  116 +#define TARGET_NR_iopl 110
  117 +#define TARGET_NR_vhangup 111
  118 +#define TARGET_NR_idle 112
  119 +#define TARGET_NR_vm86old 113
  120 +#define TARGET_NR_wait4 114
  121 +#define TARGET_NR_swapoff 115
  122 +#define TARGET_NR_sysinfo 116
  123 +#define TARGET_NR_ipc 117
  124 +#define TARGET_NR_fsync 118
  125 +#define TARGET_NR_sigreturn 119
  126 +#define TARGET_NR_clone 120
  127 +#define TARGET_NR_setdomainname 121
  128 +#define TARGET_NR_uname 122
  129 +#define TARGET_NR_modify_ldt 123
  130 +#define TARGET_NR_adjtimex 124
  131 +#define TARGET_NR_mprotect 125
  132 +#define TARGET_NR_sigprocmask 126
  133 +#define TARGET_NR_create_module 127
  134 +#define TARGET_NR_init_module 128
  135 +#define TARGET_NR_delete_module 129
  136 +#define TARGET_NR_get_kernel_syms 130
  137 +#define TARGET_NR_quotactl 131
  138 +#define TARGET_NR_getpgid 132
  139 +#define TARGET_NR_fchdir 133
  140 +#define TARGET_NR_bdflush 134
  141 +#define TARGET_NR_sysfs 135
  142 +#define TARGET_NR_personality 136
  143 +#define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */
  144 +#define TARGET_NR_setfsuid 138
  145 +#define TARGET_NR_setfsgid 139
  146 +#define TARGET_NR__llseek 140
  147 +#define TARGET_NR_getdents 141
  148 +#define TARGET_NR__newselect 142
  149 +#define TARGET_NR_flock 143
  150 +#define TARGET_NR_msync 144
  151 +#define TARGET_NR_readv 145
  152 +#define TARGET_NR_writev 146
  153 +#define TARGET_NR_getsid 147
  154 +#define TARGET_NR_fdatasync 148
  155 +#define TARGET_NR__sysctl 149
  156 +#define TARGET_NR_mlock 150
  157 +#define TARGET_NR_munlock 151
  158 +#define TARGET_NR_mlockall 152
  159 +#define TARGET_NR_munlockall 153
  160 +#define TARGET_NR_sched_setparam 154
  161 +#define TARGET_NR_sched_getparam 155
  162 +#define TARGET_NR_sched_setscheduler 156
  163 +#define TARGET_NR_sched_getscheduler 157
  164 +#define TARGET_NR_sched_yield 158
  165 +#define TARGET_NR_sched_get_priority_max 159
  166 +#define TARGET_NR_sched_get_priority_min 160
  167 +#define TARGET_NR_sched_rr_get_interval 161
  168 +#define TARGET_NR_nanosleep 162
  169 +#define TARGET_NR_mremap 163
  170 +#define TARGET_NR_setresuid 164
  171 +#define TARGET_NR_getresuid 165
  172 +#define TARGET_NR_vm86 166
  173 +#define TARGET_NR_query_module 167
  174 +#define TARGET_NR_poll 168
  175 +#define TARGET_NR_nfsservctl 169
  176 +#define TARGET_NR_setresgid 170
  177 +#define TARGET_NR_getresgid 171
  178 +#define TARGET_NR_prctl 172
  179 +#define TARGET_NR_rt_sigreturn 173
  180 +#define TARGET_NR_rt_sigaction 174
  181 +#define TARGET_NR_rt_sigprocmask 175
  182 +#define TARGET_NR_rt_sigpending 176
  183 +#define TARGET_NR_rt_sigtimedwait 177
  184 +#define TARGET_NR_rt_sigqueueinfo 178
  185 +#define TARGET_NR_rt_sigsuspend 179
  186 +#define TARGET_NR_pread 180
  187 +#define TARGET_NR_pwrite 181
  188 +#define TARGET_NR_chown 182
  189 +#define TARGET_NR_getcwd 183
  190 +#define TARGET_NR_capget 184
  191 +#define TARGET_NR_capset 185
  192 +#define TARGET_NR_sigaltstack 186
  193 +#define TARGET_NR_sendfile 187
  194 +#define TARGET_NR_getpmsg 188 /* some people actually want streams */
  195 +#define TARGET_NR_putpmsg 189 /* some people actually want streams */
  196 +#define TARGET_NR_vfork 190
  197 +#define TARGET_NR_ugetrlimit 191 /* SuS compliant getrlimit */
  198 +#define TARGET_NR_mmap2 192
  199 +#define TARGET_NR_truncate64 193
  200 +#define TARGET_NR_ftruncate64 194
  201 +#define TARGET_NR_stat64 195
  202 +#define TARGET_NR_lstat64 196
  203 +#define TARGET_NR_fstat64 197
  204 +#define TARGET_NR_lchown32 198
  205 +#define TARGET_NR_getuid32 199
  206 +#define TARGET_NR_getgid32 200
  207 +#define TARGET_NR_geteuid32 201
  208 +#define TARGET_NR_getegid32 202
  209 +#define TARGET_NR_setreuid32 203
  210 +#define TARGET_NR_setregid32 204
  211 +#define TARGET_NR_getgroups32 205
  212 +#define TARGET_NR_setgroups32 206
  213 +#define TARGET_NR_fchown32 207
  214 +#define TARGET_NR_setresuid32 208
  215 +#define TARGET_NR_getresuid32 209
  216 +#define TARGET_NR_setresgid32 210
  217 +#define TARGET_NR_getresgid32 211
  218 +#define TARGET_NR_chown32 212
  219 +#define TARGET_NR_setuid32 213
  220 +#define TARGET_NR_setgid32 214
  221 +#define TARGET_NR_setfsuid32 215
  222 +#define TARGET_NR_setfsgid32 216
  223 +
  224 +#if defined(TARGET_I386)
  225 +#define TARGET_NR_pivot_root 217
  226 +#define TARGET_NR_mincore 218
  227 +#define TARGET_NR_madvise 219
  228 +#define TARGET_NR_madvise1 219 /* delete when C lib stub is removed */
  229 +#define TARGET_NR_getdents64 220
  230 +#endif
  231 +
  232 +#if defined(TARGET_ARM)
  233 +#define TARGET_NR_getdents64 217
  234 +#define TARGET_NR_pivot_root 218
  235 +#define TARGET_NR_mincore 219
  236 +#define TARGET_NR_madvise 220
  237 +#endif
  238 +
  239 +#define TARGET_NR_fcntl64 221
  240 +#define TARGET_NR_security 223 /* syscall for security modules */
  241 +#define TARGET_NR_gettid 224
  242 +#define TARGET_NR_readahead 225
  243 +#define TARGET_NR_setxattr 226
  244 +#define TARGET_NR_lsetxattr 227
  245 +#define TARGET_NR_fsetxattr 228
  246 +#define TARGET_NR_getxattr 229
  247 +#define TARGET_NR_lgetxattr 230
  248 +#define TARGET_NR_fgetxattr 231
  249 +#define TARGET_NR_listxattr 232
  250 +#define TARGET_NR_llistxattr 233
  251 +#define TARGET_NR_flistxattr 234
  252 +#define TARGET_NR_removexattr 235
  253 +#define TARGET_NR_lremovexattr 236
  254 +#define TARGET_NR_fremovexattr 237
  255 +#define TARGET_NR_tkill 238
  256 +#define TARGET_NR_sendfile64 239
  257 +#define TARGET_NR_futex 240
  258 +#define TARGET_NR_sched_setaffinity 241
  259 +#define TARGET_NR_sched_getaffinity 242
  260 +#define TARGET_NR_set_thread_area 243
  261 +#define TARGET_NR_get_thread_area 244
  262 +#define TARGET_NR_io_setup 245
  263 +#define TARGET_NR_io_destroy 246
  264 +#define TARGET_NR_io_getevents 247
  265 +#define TARGET_NR_io_submit 248
  266 +#define TARGET_NR_io_cancel 249
  267 +#define TARGET_NR_fadvise64 250
  268 +
  269 +#define TARGET_NR_exit_group 252
  270 +#define TARGET_NR_lookup_dcookie 253
  271 +#define TARGET_NR_epoll_create 254
  272 +#define TARGET_NR_epoll_ctl 255
  273 +#define TARGET_NR_epoll_wait 256
  274 +#define TARGET_NR_remap_file_pages 257
  275 +#define TARGET_NR_set_tid_address 258
  276 +#define TARGET_NR_timer_create 259
  277 +#define TARGET_NR_timer_settime (TARGET_NR_timer_create+1)
  278 +#define TARGET_NR_timer_gettime (TARGET_NR_timer_create+2)
  279 +#define TARGET_NR_timer_getoverrun (TARGET_NR_timer_create+3)
  280 +#define TARGET_NR_timer_delete (TARGET_NR_timer_create+4)
  281 +#define TARGET_NR_clock_settime (TARGET_NR_timer_create+5)
  282 +#define TARGET_NR_clock_gettime (TARGET_NR_timer_create+6)
  283 +#define TARGET_NR_clock_getres (TARGET_NR_timer_create+7)
  284 +#define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create+8)
  285 +
4 286 #define SOCKOP_socket 1
5 287 #define SOCKOP_bind 2
6 288 #define SOCKOP_connect 3
... ... @@ -19,6 +301,66 @@
19 301 #define SOCKOP_sendmsg 16
20 302 #define SOCKOP_recvmsg 17
21 303  
  304 +/*
  305 + * The following is for compatibility across the various Linux
  306 + * platforms. The i386 ioctl numbering scheme doesn't really enforce
  307 + * a type field. De facto, however, the top 8 bits of the lower 16
  308 + * bits are indeed used as a type field, so we might just as well make
  309 + * this explicit here. Please be sure to use the decoding macros
  310 + * below from now on.
  311 + */
  312 +#define TARGET_IOC_NRBITS 8
  313 +#define TARGET_IOC_TYPEBITS 8
  314 +
  315 +#if defined(TARGET_I386) || defined(TARGET_ARM)
  316 +
  317 +#define TARGET_IOC_SIZEBITS 14
  318 +#define TARGET_IOC_DIRBITS 2
  319 +
  320 +#define TARGET_IOC_NONE 0U
  321 +#define TARGET_IOC_WRITE 1U
  322 +#define TARGET_IOC_READ 2U
  323 +
  324 +#elif defined(TARGET_PPC) || defined(TARGET_ALPHA)
  325 +
  326 +#define TARGET_IOC_SIZEBITS 13
  327 +#define TARGET_IOC_DIRBITS 3
  328 +
  329 +#define TARGET_IOC_NONE 1U
  330 +#define TARGET_IOC_READ 2U
  331 +#define TARGET_IOC_WRITE 4U
  332 +
  333 +#else
  334 +#error unsupported CPU
  335 +#endif
  336 +
  337 +#define TARGET_IOC_NRMASK ((1 << TARGET_IOC_NRBITS)-1)
  338 +#define TARGET_IOC_TYPEMASK ((1 << TARGET_IOC_TYPEBITS)-1)
  339 +#define TARGET_IOC_SIZEMASK ((1 << TARGET_IOC_SIZEBITS)-1)
  340 +#define TARGET_IOC_DIRMASK ((1 << TARGET_IOC_DIRBITS)-1)
  341 +
  342 +#define TARGET_IOC_NRSHIFT 0
  343 +#define TARGET_IOC_TYPESHIFT (TARGET_IOC_NRSHIFT+TARGET_IOC_NRBITS)
  344 +#define TARGET_IOC_SIZESHIFT (TARGET_IOC_TYPESHIFT+TARGET_IOC_TYPEBITS)
  345 +#define TARGET_IOC_DIRSHIFT (TARGET_IOC_SIZESHIFT+TARGET_IOC_SIZEBITS)
  346 +
  347 +#define TARGET_IOC(dir,type,nr,size) \
  348 + (((dir) << TARGET_IOC_DIRSHIFT) | \
  349 + ((type) << TARGET_IOC_TYPESHIFT) | \
  350 + ((nr) << TARGET_IOC_NRSHIFT) | \
  351 + ((size) << TARGET_IOC_SIZESHIFT))
  352 +
  353 +/* used to create numbers */
  354 +#define TARGET_IO(type,nr) TARGET_IOC(TARGET_IOC_NONE,(type),(nr),0)
  355 +#define TARGET_IOR(type,nr,size) TARGET_IOC(TARGET_IOC_READ,(type),(nr),sizeof(size))
  356 +#define TARGET_IOW(type,nr,size) TARGET_IOC(TARGET_IOC_WRITE,(type),(nr),sizeof(size))
  357 +#define TARGET_IOWR(type,nr,size) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),sizeof(size))
  358 +
  359 +/* the size is automatically computed for these defines */
  360 +#define TARGET_IORU(type,nr) TARGET_IOC(TARGET_IOC_READ,(type),(nr),TARGET_IOC_SIZEMASK)
  361 +#define TARGET_IOWU(type,nr) TARGET_IOC(TARGET_IOC_WRITE,(type),(nr),TARGET_IOC_SIZEMASK)
  362 +#define TARGET_IOWRU(type,nr) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),TARGET_IOC_SIZEMASK)
  363 +
22 364 struct target_sockaddr {
23 365 uint16_t sa_family;
24 366 uint8_t sa_data[14];
... ... @@ -201,6 +543,168 @@ struct target_sigaction;
201 543 int do_sigaction(int sig, const struct target_sigaction *act,
202 544 struct target_sigaction *oact);
203 545  
  546 +#if defined(TARGET_I386) || defined(TARGET_ARM)
  547 +
  548 +#define TARGET_SA_NOCLDSTOP 0x00000001
  549 +#define TARGET_SA_NOCLDWAIT 0x00000002 /* not supported yet */
  550 +#define TARGET_SA_SIGINFO 0x00000004
  551 +#define TARGET_SA_ONSTACK 0x08000000
  552 +#define TARGET_SA_RESTART 0x10000000
  553 +#define TARGET_SA_NODEFER 0x40000000
  554 +#define TARGET_SA_RESETHAND 0x80000000
  555 +#define TARGET_SA_RESTORER 0x04000000
  556 +
  557 +#define TARGET_SIGHUP 1
  558 +#define TARGET_SIGINT 2
  559 +#define TARGET_SIGQUIT 3
  560 +#define TARGET_SIGILL 4
  561 +#define TARGET_SIGTRAP 5
  562 +#define TARGET_SIGABRT 6
  563 +#define TARGET_SIGIOT 6
  564 +#define TARGET_SIGBUS 7
  565 +#define TARGET_SIGFPE 8
  566 +#define TARGET_SIGKILL 9
  567 +#define TARGET_SIGUSR1 10
  568 +#define TARGET_SIGSEGV 11
  569 +#define TARGET_SIGUSR2 12
  570 +#define TARGET_SIGPIPE 13
  571 +#define TARGET_SIGALRM 14
  572 +#define TARGET_SIGTERM 15
  573 +#define TARGET_SIGSTKFLT 16
  574 +#define TARGET_SIGCHLD 17
  575 +#define TARGET_SIGCONT 18
  576 +#define TARGET_SIGSTOP 19
  577 +#define TARGET_SIGTSTP 20
  578 +#define TARGET_SIGTTIN 21
  579 +#define TARGET_SIGTTOU 22
  580 +#define TARGET_SIGURG 23
  581 +#define TARGET_SIGXCPU 24
  582 +#define TARGET_SIGXFSZ 25
  583 +#define TARGET_SIGVTALRM 26
  584 +#define TARGET_SIGPROF 27
  585 +#define TARGET_SIGWINCH 28
  586 +#define TARGET_SIGIO 29
  587 +#define TARGET_SIGRTMIN 32
  588 +
  589 +#define TARGET_SIG_BLOCK 0 /* for blocking signals */
  590 +#define TARGET_SIG_UNBLOCK 1 /* for unblocking signals */
  591 +#define TARGET_SIG_SETMASK 2 /* for setting the signal mask */
  592 +
  593 +struct target_old_sigaction {
  594 + target_ulong _sa_handler;
  595 + target_ulong sa_mask;
  596 + target_ulong sa_flags;
  597 + target_ulong sa_restorer;
  598 +};
  599 +
  600 +struct target_sigaction {
  601 + target_ulong _sa_handler;
  602 + target_ulong sa_flags;
  603 + target_ulong sa_restorer;
  604 + target_sigset_t sa_mask;
  605 +};
  606 +
  607 +typedef union target_sigval {
  608 + int sival_int;
  609 + target_ulong sival_ptr;
  610 +} target_sigval_t;
  611 +
  612 +#define TARGET_SI_MAX_SIZE 128
  613 +#define TARGET_SI_PAD_SIZE ((TARGET_SI_MAX_SIZE/sizeof(int)) - 3)
  614 +
  615 +typedef struct target_siginfo {
  616 + int si_signo;
  617 + int si_errno;
  618 + int si_code;
  619 +
  620 + union {
  621 + int _pad[TARGET_SI_PAD_SIZE];
  622 +
  623 + /* kill() */
  624 + struct {
  625 + pid_t _pid; /* sender's pid */
  626 + uid_t _uid; /* sender's uid */
  627 + } _kill;
  628 +
  629 + /* POSIX.1b timers */
  630 + struct {
  631 + unsigned int _timer1;
  632 + unsigned int _timer2;
  633 + } _timer;
  634 +
  635 + /* POSIX.1b signals */
  636 + struct {
  637 + pid_t _pid; /* sender's pid */
  638 + uid_t _uid; /* sender's uid */
  639 + target_sigval_t _sigval;
  640 + } _rt;
  641 +
  642 + /* SIGCHLD */
  643 + struct {
  644 + pid_t _pid; /* which child */
  645 + uid_t _uid; /* sender's uid */
  646 + int _status; /* exit code */
  647 + target_clock_t _utime;
  648 + target_clock_t _stime;
  649 + } _sigchld;
  650 +
  651 + /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
  652 + struct {
  653 + target_ulong _addr; /* faulting insn/memory ref. */
  654 + } _sigfault;
  655 +
  656 + /* SIGPOLL */
  657 + struct {
  658 + int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
  659 + int _fd;
  660 + } _sigpoll;
  661 + } _sifields;
  662 +} target_siginfo_t;
  663 +
  664 +/*
  665 + * si_code values
  666 + * Digital reserves positive values for kernel-generated signals.
  667 + */
  668 +#define TARGET_SI_USER 0 /* sent by kill, sigsend, raise */
  669 +#define TARGET_SI_KERNEL 0x80 /* sent by the kernel from somewhere */
  670 +#define TARGET_SI_QUEUE -1 /* sent by sigqueue */
  671 +#define TARGET_SI_TIMER -2 /* sent by timer expiration */
  672 +#define TARGET_SI_MESGQ -3 /* sent by real time mesq state change */
  673 +#define TARGET_SI_ASYNCIO -4 /* sent by AIO completion */
  674 +#define TARGET_SI_SIGIO -5 /* sent by queued SIGIO */
  675 +
  676 +/*
  677 + * SIGILL si_codes
  678 + */
  679 +#define TARGET_ILL_ILLOPN (2) /* illegal operand */
  680 +
  681 +/*
  682 + * SIGFPE si_codes
  683 + */
  684 +#define TARGET_FPE_INTDIV (1) /* integer divide by zero */
  685 +#define TARGET_FPE_INTOVF (2) /* integer overflow */
  686 +#define TARGET_FPE_FLTDIV (3) /* floating point divide by zero */
  687 +#define TARGET_FPE_FLTOVF (4) /* floating point overflow */
  688 +#define TARGET_FPE_FLTUND (5) /* floating point underflow */
  689 +#define TARGET_FPE_FLTRES (6) /* floating point inexact result */
  690 +#define TARGET_FPE_FLTINV (7) /* floating point invalid operation */
  691 +#define TARGET_FPE_FLTSUB (8) /* subscript out of range */
  692 +#define TARGET_NSIGFPE 8
  693 +
  694 +/*
  695 + * SIGSEGV si_codes
  696 + */
  697 +#define TARGET_SEGV_MAPERR (1) /* address not mapped to object */
  698 +#define TARGET_SEGV_ACCERR (2) /* invalid permissions for mapped object */
  699 +
  700 +/*
  701 + * SIGTRAP si_codes
  702 + */
  703 +#define TARGET_TRAP_BRKPT (1) /* process breakpoint */
  704 +#define TARGET_TRAP_TRACE (2) /* process trace trap */
  705 +
  706 +#endif /* defined(TARGET_I386) || defined(TARGET_ARM) */
  707 +
204 708 struct target_rlimit {
205 709 target_ulong rlim_cur;
206 710 target_ulong rlim_max;
... ... @@ -219,6 +723,8 @@ struct target_pollfd {
219 723 #define TARGET_KDGKBENT 0x4B46 /* gets one entry in translation table */
220 724 #define TARGET_KDGKBSENT 0x4B48 /* gets one function key string entry */
221 725  
  726 +#define TARGET_SIOCATMARK 0x8905
  727 +
222 728 /* Networking ioctls */
223 729 #define TARGET_SIOCADDRT 0x890B /* add routing table entry */
224 730 #define TARGET_SIOCDELRT 0x890C /* delete routing table entry */
... ... @@ -403,11 +909,11 @@ struct target_pollfd {
403 909 #define TARGET_HDIO_GETGEO 0x0301 /* get device geometry */
404 910 #define TARGET_HDIO_GET_UNMASKINTR 0x0302 /* get current unmask setting */
405 911 #define TARGET_HDIO_GET_MULTCOUNT 0x0304 /* get current IDE blockmode setting */
406   -#define TARGET_HDIO_GET_IDENTITY 0x0307 /* get IDE identification info */
407 912 #define TARGET_HDIO_GET_KEEPSETTINGS 0x0308 /* get keep-settings-on-reset flag */
408 913 #define TARGET_HDIO_GET_32BIT 0x0309 /* get current io_32bit setting */
409 914 #define TARGET_HDIO_GET_NOWERR 0x030a /* get ignore-write-error flag */
410 915 #define TARGET_HDIO_GET_DMA 0x030b /* get use-dma flag */
  916 +#define TARGET_HDIO_GET_IDENTITY 0x030d /* get IDE identification info */
411 917 #define TARGET_HDIO_DRIVE_CMD 0x031f /* execute a special drive command */
412 918  
413 919 /* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */
... ... @@ -418,3 +924,480 @@ struct target_pollfd {
418 924 #define TARGET_HDIO_SET_NOWERR 0x0325 /* change ignore-write-error flag */
419 925 #define TARGET_HDIO_SET_DMA 0x0326 /* change use-dma flag */
420 926 #define TARGET_HDIO_SET_PIO_MODE 0x0327 /* reconfig interface to new speed */
  927 +
  928 +
  929 +#if defined(TARGET_I386) || defined(TARGET_ARM)
  930 +
  931 +/* 0x54 is just a magic number to make these relatively unique ('T') */
  932 +
  933 +#define TARGET_TCGETS 0x5401
  934 +#define TARGET_TCSETS 0x5402
  935 +#define TARGET_TCSETSW 0x5403
  936 +#define TARGET_TCSETSF 0x5404
  937 +#define TARGET_TCGETA 0x5405
  938 +#define TARGET_TCSETA 0x5406
  939 +#define TARGET_TCSETAW 0x5407
  940 +#define TARGET_TCSETAF 0x5408
  941 +#define TARGET_TCSBRK 0x5409
  942 +#define TARGET_TCXONC 0x540A
  943 +#define TARGET_TCFLSH 0x540B
  944 +#define TARGET_TIOCEXCL 0x540C
  945 +#define TARGET_TIOCNXCL 0x540D
  946 +#define TARGET_TIOCSCTTY 0x540E
  947 +#define TARGET_TIOCGPGRP 0x540F
  948 +#define TARGET_TIOCSPGRP 0x5410
  949 +#define TARGET_TIOCOUTQ 0x5411
  950 +#define TARGET_TIOCSTI 0x5412
  951 +#define TARGET_TIOCGWINSZ 0x5413
  952 +#define TARGET_TIOCSWINSZ 0x5414
  953 +#define TARGET_TIOCMGET 0x5415
  954 +#define TARGET_TIOCMBIS 0x5416
  955 +#define TARGET_TIOCMBIC 0x5417
  956 +#define TARGET_TIOCMSET 0x5418
  957 +#define TARGET_TIOCGSOFTCAR 0x5419
  958 +#define TARGET_TIOCSSOFTCAR 0x541A
  959 +#define TARGET_FIONREAD 0x541B
  960 +#define TARGET_TIOCINQ FIONREAD
  961 +#define TARGET_TIOCLINUX 0x541C
  962 +#define TARGET_TIOCCONS 0x541D
  963 +#define TARGET_TIOCGSERIAL 0x541E
  964 +#define TARGET_TIOCSSERIAL 0x541F
  965 +#define TARGET_TIOCPKT 0x5420
  966 +#define TARGET_FIONBIO 0x5421
  967 +#define TARGET_TIOCNOTTY 0x5422
  968 +#define TARGET_TIOCSETD 0x5423
  969 +#define TARGET_TIOCGETD 0x5424
  970 +#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
  971 +#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
  972 +#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
  973 +#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
  974 +#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
  975 +#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
  976 +#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
  977 +
  978 +#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
  979 +#define TARGET_FIOCLEX 0x5451
  980 +#define TARGET_FIOASYNC 0x5452
  981 +#define TARGET_TIOCSERCONFIG 0x5453
  982 +#define TARGET_TIOCSERGWILD 0x5454
  983 +#define TARGET_TIOCSERSWILD 0x5455
  984 +#define TARGET_TIOCGLCKTRMIOS 0x5456
  985 +#define TARGET_TIOCSLCKTRMIOS 0x5457
  986 +#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
  987 +#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
  988 +#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
  989 +#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
  990 +
  991 +#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
  992 +#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
  993 +#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
  994 +#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
  995 +
  996 +/* Used for packet mode */
  997 +#define TARGET_TIOCPKT_DATA 0
  998 +#define TARGET_TIOCPKT_FLUSHREAD 1
  999 +#define TARGET_TIOCPKT_FLUSHWRITE 2
  1000 +#define TARGET_TIOCPKT_STOP 4
  1001 +#define TARGET_TIOCPKT_START 8
  1002 +#define TARGET_TIOCPKT_NOSTOP 16
  1003 +#define TARGET_TIOCPKT_DOSTOP 32
  1004 +
  1005 +#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
  1006 +
  1007 +/* from asm/termbits.h */
  1008 +
  1009 +#define TARGET_NCCS 19
  1010 +
  1011 +struct target_termios {
  1012 + unsigned int c_iflag; /* input mode flags */
  1013 + unsigned int c_oflag; /* output mode flags */
  1014 + unsigned int c_cflag; /* control mode flags */
  1015 + unsigned int c_lflag; /* local mode flags */
  1016 + unsigned char c_line; /* line discipline */
  1017 + unsigned char c_cc[TARGET_NCCS]; /* control characters */
  1018 +};
  1019 +
  1020 +/* c_iflag bits */
  1021 +#define TARGET_IGNBRK 0000001
  1022 +#define TARGET_BRKINT 0000002
  1023 +#define TARGET_IGNPAR 0000004
  1024 +#define TARGET_PARMRK 0000010
  1025 +#define TARGET_INPCK 0000020
  1026 +#define TARGET_ISTRIP 0000040
  1027 +#define TARGET_INLCR 0000100
  1028 +#define TARGET_IGNCR 0000200
  1029 +#define TARGET_ICRNL 0000400
  1030 +#define TARGET_IUCLC 0001000
  1031 +#define TARGET_IXON 0002000
  1032 +#define TARGET_IXANY 0004000
  1033 +#define TARGET_IXOFF 0010000
  1034 +#define TARGET_IMAXBEL 0020000
  1035 +
  1036 +/* c_oflag bits */
  1037 +#define TARGET_OPOST 0000001
  1038 +#define TARGET_OLCUC 0000002
  1039 +#define TARGET_ONLCR 0000004
  1040 +#define TARGET_OCRNL 0000010
  1041 +#define TARGET_ONOCR 0000020
  1042 +#define TARGET_ONLRET 0000040
  1043 +#define TARGET_OFILL 0000100
  1044 +#define TARGET_OFDEL 0000200
  1045 +#define TARGET_NLDLY 0000400
  1046 +#define TARGET_NL0 0000000
  1047 +#define TARGET_NL1 0000400
  1048 +#define TARGET_CRDLY 0003000
  1049 +#define TARGET_CR0 0000000
  1050 +#define TARGET_CR1 0001000
  1051 +#define TARGET_CR2 0002000
  1052 +#define TARGET_CR3 0003000
  1053 +#define TARGET_TABDLY 0014000
  1054 +#define TARGET_TAB0 0000000
  1055 +#define TARGET_TAB1 0004000
  1056 +#define TARGET_TAB2 0010000
  1057 +#define TARGET_TAB3 0014000
  1058 +#define TARGET_XTABS 0014000
  1059 +#define TARGET_BSDLY 0020000
  1060 +#define TARGET_BS0 0000000
  1061 +#define TARGET_BS1 0020000
  1062 +#define TARGET_VTDLY 0040000
  1063 +#define TARGET_VT0 0000000
  1064 +#define TARGET_VT1 0040000
  1065 +#define TARGET_FFDLY 0100000
  1066 +#define TARGET_FF0 0000000
  1067 +#define TARGET_FF1 0100000
  1068 +
  1069 +/* c_cflag bit meaning */
  1070 +#define TARGET_CBAUD 0010017
  1071 +#define TARGET_B0 0000000 /* hang up */
  1072 +#define TARGET_B50 0000001
  1073 +#define TARGET_B75 0000002
  1074 +#define TARGET_B110 0000003
  1075 +#define TARGET_B134 0000004
  1076 +#define TARGET_B150 0000005
  1077 +#define TARGET_B200 0000006
  1078 +#define TARGET_B300 0000007
  1079 +#define TARGET_B600 0000010
  1080 +#define TARGET_B1200 0000011
  1081 +#define TARGET_B1800 0000012
  1082 +#define TARGET_B2400 0000013
  1083 +#define TARGET_B4800 0000014
  1084 +#define TARGET_B9600 0000015
  1085 +#define TARGET_B19200 0000016
  1086 +#define TARGET_B38400 0000017
  1087 +#define TARGET_EXTA B19200
  1088 +#define TARGET_EXTB B38400
  1089 +#define TARGET_CSIZE 0000060
  1090 +#define TARGET_CS5 0000000
  1091 +#define TARGET_CS6 0000020
  1092 +#define TARGET_CS7 0000040
  1093 +#define TARGET_CS8 0000060
  1094 +#define TARGET_CSTOPB 0000100
  1095 +#define TARGET_CREAD 0000200
  1096 +#define TARGET_PARENB 0000400
  1097 +#define TARGET_PARODD 0001000
  1098 +#define TARGET_HUPCL 0002000
  1099 +#define TARGET_CLOCAL 0004000
  1100 +#define TARGET_CBAUDEX 0010000
  1101 +#define TARGET_B57600 0010001
  1102 +#define TARGET_B115200 0010002
  1103 +#define TARGET_B230400 0010003
  1104 +#define TARGET_B460800 0010004
  1105 +#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
  1106 +#define TARGET_CRTSCTS 020000000000 /* flow control */
  1107 +
  1108 +/* c_lflag bits */
  1109 +#define TARGET_ISIG 0000001
  1110 +#define TARGET_ICANON 0000002
  1111 +#define TARGET_XCASE 0000004
  1112 +#define TARGET_ECHO 0000010
  1113 +#define TARGET_ECHOE 0000020
  1114 +#define TARGET_ECHOK 0000040
  1115 +#define TARGET_ECHONL 0000100
  1116 +#define TARGET_NOFLSH 0000200
  1117 +#define TARGET_TOSTOP 0000400
  1118 +#define TARGET_ECHOCTL 0001000
  1119 +#define TARGET_ECHOPRT 0002000
  1120 +#define TARGET_ECHOKE 0004000
  1121 +#define TARGET_FLUSHO 0010000
  1122 +#define TARGET_PENDIN 0040000
  1123 +#define TARGET_IEXTEN 0100000
  1124 +
  1125 +/* c_cc character offsets */
  1126 +#define TARGET_VINTR 0
  1127 +#define TARGET_VQUIT 1
  1128 +#define TARGET_VERASE 2
  1129 +#define TARGET_VKILL 3
  1130 +#define TARGET_VEOF 4
  1131 +#define TARGET_VTIME 5
  1132 +#define TARGET_VMIN 6
  1133 +#define TARGET_VSWTC 7
  1134 +#define TARGET_VSTART 8
  1135 +#define TARGET_VSTOP 9
  1136 +#define TARGET_VSUSP 10
  1137 +#define TARGET_VEOL 11
  1138 +#define TARGET_VREPRINT 12
  1139 +#define TARGET_VDISCARD 13
  1140 +#define TARGET_VWERASE 14
  1141 +#define TARGET_VLNEXT 15
  1142 +#define TARGET_VEOL2 16
  1143 +
  1144 +#define TARGET_MAP_SHARED 0x01 /* Share changes */
  1145 +#define TARGET_MAP_PRIVATE 0x02 /* Changes are private */
  1146 +#define TARGET_MAP_TYPE 0x0f /* Mask for type of mapping */
  1147 +#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
  1148 +#define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */
  1149 +
  1150 +#define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */
  1151 +#define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */
  1152 +#define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */
  1153 +#define TARGET_MAP_LOCKED 0x2000 /* pages are locked */
  1154 +#define TARGET_MAP_NORESERVE 0x4000 /* don't check for reservations */
  1155 +
  1156 +struct target_stat {
  1157 + unsigned short st_dev;
  1158 + unsigned short __pad1;
  1159 + target_ulong st_ino;
  1160 + unsigned short st_mode;
  1161 + unsigned short st_nlink;
  1162 + unsigned short st_uid;
  1163 + unsigned short st_gid;
  1164 + unsigned short st_rdev;
  1165 + unsigned short __pad2;
  1166 + target_ulong st_size;
  1167 + target_ulong st_blksize;
  1168 + target_ulong st_blocks;
  1169 + target_ulong target_st_atime;
  1170 + target_ulong __unused1;
  1171 + target_ulong target_st_mtime;
  1172 + target_ulong __unused2;
  1173 + target_ulong target_st_ctime;
  1174 + target_ulong __unused3;
  1175 + target_ulong __unused4;
  1176 + target_ulong __unused5;
  1177 +};
  1178 +
  1179 +/* This matches struct stat64 in glibc2.1, hence the absolutely
  1180 + * insane amounts of padding around dev_t's.
  1181 + */
  1182 +struct target_stat64 {
  1183 + unsigned short st_dev;
  1184 + unsigned char __pad0[10];
  1185 +
  1186 +#define TARGET_STAT64_HAS_BROKEN_ST_INO 1
  1187 + target_ulong __st_ino;
  1188 +
  1189 + unsigned int st_mode;
  1190 + unsigned int st_nlink;
  1191 +
  1192 + target_ulong st_uid;
  1193 + target_ulong st_gid;
  1194 +
  1195 + unsigned short st_rdev;
  1196 + unsigned char __pad3[10];
  1197 +
  1198 + long long st_size;
  1199 + target_ulong st_blksize;
  1200 +
  1201 + target_ulong st_blocks; /* Number 512-byte blocks allocated. */
  1202 + target_ulong __pad4; /* future possible st_blocks high bits */
  1203 +
  1204 + target_ulong target_st_atime;
  1205 + target_ulong __pad5;
  1206 +
  1207 + target_ulong target_st_mtime;
  1208 + target_ulong __pad6;
  1209 +
  1210 + target_ulong target_st_ctime;
  1211 + target_ulong __pad7; /* will be high 32 bits of ctime someday */
  1212 +
  1213 + unsigned long long st_ino;
  1214 +} __attribute__((packed));
  1215 +
  1216 +#endif /* defined(TARGET_I386) || defined(TARGET_ARM) */
  1217 +
  1218 +#define TARGET_F_DUPFD 0 /* dup */
  1219 +#define TARGET_F_GETFD 1 /* get close_on_exec */
  1220 +#define TARGET_F_SETFD 2 /* set/clear close_on_exec */
  1221 +#define TARGET_F_GETFL 3 /* get file->f_flags */
  1222 +#define TARGET_F_SETFL 4 /* set file->f_flags */
  1223 +
  1224 +#if defined(TARGET_ALPHA)
  1225 +#define TARGET_F_GETLK 7
  1226 +#define TARGET_F_SETLK 8
  1227 +#define TARGET_F_SETLKW 9
  1228 +#define TARGET_F_SETOWN 5 /* for sockets. */
  1229 +#define TARGET_F_GETOWN 6 /* for sockets. */
  1230 +#else
  1231 +#define TARGET_F_GETLK 5
  1232 +#define TARGET_F_SETLK 6
  1233 +#define TARGET_F_SETLKW 7
  1234 +#define TARGET_F_SETOWN 8 /* for sockets. */
  1235 +#define TARGET_F_GETOWN 9 /* for sockets. */
  1236 +#endif
  1237 +
  1238 +#define TARGET_F_SETSIG 10 /* for sockets. */
  1239 +#define TARGET_F_GETSIG 11 /* for sockets. */
  1240 +
  1241 +#define TARGET_F_GETLK64 12 /* using 'struct flock64' */
  1242 +#define TARGET_F_SETLK64 13
  1243 +#define TARGET_F_SETLKW64 14
  1244 +
  1245 +struct target_flock {
  1246 + short l_type;
  1247 + short l_whence;
  1248 + target_ulong l_start;
  1249 + target_ulong l_len;
  1250 + int l_pid;
  1251 +};
  1252 +
  1253 +struct target_flock64 {
  1254 + short l_type;
  1255 + short l_whence;
  1256 + unsigned long long l_start;
  1257 + unsigned long long l_len;
  1258 + int l_pid;
  1259 +};
  1260 +
  1261 +
  1262 +/* soundcard defines */
  1263 +/* XXX: convert them all to arch indepedent entries */
  1264 +#define TARGET_SNDCTL_COPR_HALT TARGET_IOWR('C', 7, int);
  1265 +#define TARGET_SNDCTL_COPR_LOAD 0xcfb04301
  1266 +#define TARGET_SNDCTL_COPR_RCODE 0xc0144303
  1267 +#define TARGET_SNDCTL_COPR_RCVMSG 0x8fa44309
  1268 +#define TARGET_SNDCTL_COPR_RDATA 0xc0144302
  1269 +#define TARGET_SNDCTL_COPR_RESET 0x00004300
  1270 +#define TARGET_SNDCTL_COPR_RUN 0xc0144306
  1271 +#define TARGET_SNDCTL_COPR_SENDMSG 0xcfa44308
  1272 +#define TARGET_SNDCTL_COPR_WCODE 0x40144305
  1273 +#define TARGET_SNDCTL_COPR_WDATA 0x40144304
  1274 +#define TARGET_SNDCTL_DSP_RESET TARGET_IO('P', 0)
  1275 +#define TARGET_SNDCTL_DSP_SYNC TARGET_IO('P', 1)
  1276 +#define TARGET_SNDCTL_DSP_SPEED TARGET_IOWR('P', 2, int)
  1277 +#define TARGET_SNDCTL_DSP_STEREO TARGET_IOWR('P', 3, int)
  1278 +#define TARGET_SNDCTL_DSP_GETBLKSIZE TARGET_IOWR('P', 4, int)
  1279 +#define TARGET_SNDCTL_DSP_SETFMT TARGET_IOWR('P', 5, int)
  1280 +#define TARGET_SNDCTL_DSP_CHANNELS TARGET_IOWR('P', 6, int)
  1281 +#define TARGET_SOUND_PCM_WRITE_FILTER TARGET_IOWR('P', 7, int)
  1282 +#define TARGET_SNDCTL_DSP_POST TARGET_IO('P', 8)
  1283 +#define TARGET_SNDCTL_DSP_SUBDIVIDE TARGET_IOWR('P', 9, int)
  1284 +#define TARGET_SNDCTL_DSP_SETFRAGMENT TARGET_IOWR('P',10, int)
  1285 +#define TARGET_SNDCTL_DSP_GETFMTS TARGET_IOR('P', 11, int)
  1286 +#define TARGET_SNDCTL_DSP_GETOSPACE TARGET_IORU('P',12)
  1287 +#define TARGET_SNDCTL_DSP_GETISPACE TARGET_IORU('P',13)
  1288 +#define TARGET_SNDCTL_DSP_GETCAPS TARGET_IOR('P', 15, int)
  1289 +#define TARGET_SNDCTL_DSP_GETTRIGGER TARGET_IOR('P',16, int)
  1290 +#define TARGET_SNDCTL_DSP_GETIPTR TARGET_IORU('P',17)
  1291 +#define TARGET_SNDCTL_DSP_GETOPTR TARGET_IORU('P',18)
  1292 +#define TARGET_SNDCTL_DSP_MAPINBUF 0x80085013
  1293 +#define TARGET_SNDCTL_DSP_MAPOUTBUF 0x80085014
  1294 +#define TARGET_SNDCTL_DSP_NONBLOCK 0x0000500e
  1295 +#define TARGET_SNDCTL_DSP_SAMPLESIZE 0xc0045005
  1296 +#define TARGET_SNDCTL_DSP_SETDUPLEX 0x00005016
  1297 +#define TARGET_SNDCTL_DSP_SETSYNCRO 0x00005015
  1298 +#define TARGET_SNDCTL_DSP_SETTRIGGER 0x40045010
  1299 +#define TARGET_SNDCTL_FM_4OP_ENABLE 0x4004510f
  1300 +#define TARGET_SNDCTL_FM_LOAD_INSTR 0x40285107
  1301 +#define TARGET_SNDCTL_MIDI_INFO 0xc074510c
  1302 +#define TARGET_SNDCTL_MIDI_MPUCMD 0xc0216d02
  1303 +#define TARGET_SNDCTL_MIDI_MPUMODE 0xc0046d01
  1304 +#define TARGET_SNDCTL_MIDI_PRETIME 0xc0046d00
  1305 +#define TARGET_SNDCTL_PMGR_ACCESS 0xcfb85110
  1306 +#define TARGET_SNDCTL_PMGR_IFACE 0xcfb85001
  1307 +#define TARGET_SNDCTL_SEQ_CTRLRATE 0xc0045103
  1308 +#define TARGET_SNDCTL_SEQ_GETINCOUNT 0x80045105
  1309 +#define TARGET_SNDCTL_SEQ_GETOUTCOUNT 0x80045104
  1310 +#define TARGET_SNDCTL_SEQ_NRMIDIS 0x8004510b
  1311 +#define TARGET_SNDCTL_SEQ_NRSYNTHS 0x8004510a
  1312 +#define TARGET_SNDCTL_SEQ_OUTOFBAND 0x40085112
  1313 +#define TARGET_SNDCTL_SEQ_PANIC 0x00005111
  1314 +#define TARGET_SNDCTL_SEQ_PERCMODE 0x40045106
  1315 +#define TARGET_SNDCTL_SEQ_RESET 0x00005100
  1316 +#define TARGET_SNDCTL_SEQ_RESETSAMPLES 0x40045109
  1317 +#define TARGET_SNDCTL_SEQ_SYNC 0x00005101
  1318 +#define TARGET_SNDCTL_SEQ_TESTMIDI 0x40045108
  1319 +#define TARGET_SNDCTL_SEQ_THRESHOLD 0x4004510d
  1320 +#define TARGET_SNDCTL_SEQ_TRESHOLD 0x4004510d
  1321 +#define TARGET_SNDCTL_SYNTH_INFO 0xc08c5102
  1322 +#define TARGET_SNDCTL_SYNTH_MEMAVL 0xc004510e
  1323 +#define TARGET_SNDCTL_TMR_CONTINUE 0x00005404
  1324 +#define TARGET_SNDCTL_TMR_METRONOME 0x40045407
  1325 +#define TARGET_SNDCTL_TMR_SELECT 0x40045408
  1326 +#define TARGET_SNDCTL_TMR_SOURCE 0xc0045406
  1327 +#define TARGET_SNDCTL_TMR_START 0x00005402
  1328 +#define TARGET_SNDCTL_TMR_STOP 0x00005403
  1329 +#define TARGET_SNDCTL_TMR_TEMPO 0xc0045405
  1330 +#define TARGET_SNDCTL_TMR_TIMEBASE 0xc0045401
  1331 +#define TARGET_SOUND_PCM_READ_RATE 0x80045002
  1332 +#define TARGET_SOUND_PCM_READ_CHANNELS 0x80045006
  1333 +#define TARGET_SOUND_PCM_READ_BITS 0x80045005
  1334 +#define TARGET_SOUND_PCM_READ_FILTER 0x80045007
  1335 +#define TARGET_SOUND_MIXER_INFO TARGET_IOR ('M', 101, mixer_info)
  1336 +#define TARGET_SOUND_MIXER_ACCESS 0xc0804d66
  1337 +#define TARGET_SOUND_MIXER_PRIVATE1 TARGET_IOWR('M', 111, int)
  1338 +#define TARGET_SOUND_MIXER_PRIVATE2 TARGET_IOWR('M', 112, int)
  1339 +#define TARGET_SOUND_MIXER_PRIVATE3 TARGET_IOWR('M', 113, int)
  1340 +#define TARGET_SOUND_MIXER_PRIVATE4 TARGET_IOWR('M', 114, int)
  1341 +#define TARGET_SOUND_MIXER_PRIVATE5 TARGET_IOWR('M', 115, int)
  1342 +
  1343 +#define TARGET_MIXER_READ(dev) TARGET_IOR('M', dev, int)
  1344 +
  1345 +#define TARGET_SOUND_MIXER_READ_VOLUME TARGET_MIXER_READ(SOUND_MIXER_VOLUME)
  1346 +#define TARGET_SOUND_MIXER_READ_BASS TARGET_MIXER_READ(SOUND_MIXER_BASS)
  1347 +#define TARGET_SOUND_MIXER_READ_TREBLE TARGET_MIXER_READ(SOUND_MIXER_TREBLE)
  1348 +#define TARGET_SOUND_MIXER_READ_SYNTH TARGET_MIXER_READ(SOUND_MIXER_SYNTH)
  1349 +#define TARGET_SOUND_MIXER_READ_PCM TARGET_MIXER_READ(SOUND_MIXER_PCM)
  1350 +#define TARGET_SOUND_MIXER_READ_SPEAKER TARGET_MIXER_READ(SOUND_MIXER_SPEAKER)
  1351 +#define TARGET_SOUND_MIXER_READ_LINE TARGET_MIXER_READ(SOUND_MIXER_LINE)
  1352 +#define TARGET_SOUND_MIXER_READ_MIC TARGET_MIXER_READ(SOUND_MIXER_MIC)
  1353 +#define TARGET_SOUND_MIXER_READ_CD TARGET_MIXER_READ(SOUND_MIXER_CD)
  1354 +#define TARGET_SOUND_MIXER_READ_IMIX TARGET_MIXER_READ(SOUND_MIXER_IMIX)
  1355 +#define TARGET_SOUND_MIXER_READ_ALTPCM TARGET_MIXER_READ(SOUND_MIXER_ALTPCM)
  1356 +#define TARGET_SOUND_MIXER_READ_RECLEV TARGET_MIXER_READ(SOUND_MIXER_RECLEV)
  1357 +#define TARGET_SOUND_MIXER_READ_IGAIN TARGET_MIXER_READ(SOUND_MIXER_IGAIN)
  1358 +#define TARGET_SOUND_MIXER_READ_OGAIN TARGET_MIXER_READ(SOUND_MIXER_OGAIN)
  1359 +#define TARGET_SOUND_MIXER_READ_LINE1 TARGET_MIXER_READ(SOUND_MIXER_LINE1)
  1360 +#define TARGET_SOUND_MIXER_READ_LINE2 TARGET_MIXER_READ(SOUND_MIXER_LINE2)
  1361 +#define TARGET_SOUND_MIXER_READ_LINE3 TARGET_MIXER_READ(SOUND_MIXER_LINE3)
  1362 +
  1363 +/* Obsolete macros */
  1364 +#define TARGET_SOUND_MIXER_READ_MUTE TARGET_MIXER_READ(SOUND_MIXER_MUTE)
  1365 +#define TARGET_SOUND_MIXER_READ_ENHANCE TARGET_MIXER_READ(SOUND_MIXER_ENHANCE)
  1366 +#define TARGET_SOUND_MIXER_READ_LOUD TARGET_MIXER_READ(SOUND_MIXER_LOUD)
  1367 +
  1368 +#define TARGET_SOUND_MIXER_READ_RECSRC TARGET_MIXER_READ(SOUND_MIXER_RECSRC)
  1369 +#define TARGET_SOUND_MIXER_READ_DEVMASK TARGET_MIXER_READ(SOUND_MIXER_DEVMASK)
  1370 +#define TARGET_SOUND_MIXER_READ_RECMASK TARGET_MIXER_READ(SOUND_MIXER_RECMASK)
  1371 +#define TARGET_SOUND_MIXER_READ_STEREODEVS TARGET_MIXER_READ(SOUND_MIXER_STEREODEVS)
  1372 +#define TARGET_SOUND_MIXER_READ_CAPS TARGET_MIXER_READ(SOUND_MIXER_CAPS)
  1373 +
  1374 +#define TARGET_MIXER_WRITE(dev) TARGET_IOWR('M', dev, int)
  1375 +
  1376 +#define TARGET_SOUND_MIXER_WRITE_VOLUME TARGET_MIXER_WRITE(SOUND_MIXER_VOLUME)
  1377 +#define TARGET_SOUND_MIXER_WRITE_BASS TARGET_MIXER_WRITE(SOUND_MIXER_BASS)
  1378 +#define TARGET_SOUND_MIXER_WRITE_TREBLE TARGET_MIXER_WRITE(SOUND_MIXER_TREBLE)
  1379 +#define TARGET_SOUND_MIXER_WRITE_SYNTH TARGET_MIXER_WRITE(SOUND_MIXER_SYNTH)
  1380 +#define TARGET_SOUND_MIXER_WRITE_PCM TARGET_MIXER_WRITE(SOUND_MIXER_PCM)
  1381 +#define TARGET_SOUND_MIXER_WRITE_SPEAKER TARGET_MIXER_WRITE(SOUND_MIXER_SPEAKER)
  1382 +#define TARGET_SOUND_MIXER_WRITE_LINE TARGET_MIXER_WRITE(SOUND_MIXER_LINE)
  1383 +#define TARGET_SOUND_MIXER_WRITE_MIC TARGET_MIXER_WRITE(SOUND_MIXER_MIC)
  1384 +#define TARGET_SOUND_MIXER_WRITE_CD TARGET_MIXER_WRITE(SOUND_MIXER_CD)
  1385 +#define TARGET_SOUND_MIXER_WRITE_IMIX TARGET_MIXER_WRITE(SOUND_MIXER_IMIX)
  1386 +#define TARGET_SOUND_MIXER_WRITE_ALTPCM TARGET_MIXER_WRITE(SOUND_MIXER_ALTPCM)
  1387 +#define TARGET_SOUND_MIXER_WRITE_RECLEV TARGET_MIXER_WRITE(SOUND_MIXER_RECLEV)
  1388 +#define TARGET_SOUND_MIXER_WRITE_IGAIN TARGET_MIXER_WRITE(SOUND_MIXER_IGAIN)
  1389 +#define TARGET_SOUND_MIXER_WRITE_OGAIN TARGET_MIXER_WRITE(SOUND_MIXER_OGAIN)
  1390 +#define TARGET_SOUND_MIXER_WRITE_LINE1 TARGET_MIXER_WRITE(SOUND_MIXER_LINE1)
  1391 +#define TARGET_SOUND_MIXER_WRITE_LINE2 TARGET_MIXER_WRITE(SOUND_MIXER_LINE2)
  1392 +#define TARGET_SOUND_MIXER_WRITE_LINE3 TARGET_MIXER_WRITE(SOUND_MIXER_LINE3)
  1393 +
  1394 +/* Obsolete macros */
  1395 +#define TARGET_SOUND_MIXER_WRITE_MUTE TARGET_MIXER_WRITE(SOUND_MIXER_MUTE)
  1396 +#define TARGET_SOUND_MIXER_WRITE_ENHANCE TARGET_MIXER_WRITE(SOUND_MIXER_ENHANCE)
  1397 +#define TARGET_SOUND_MIXER_WRITE_LOUD TARGET_MIXER_WRITE(SOUND_MIXER_LOUD)
  1398 +
  1399 +#define TARGET_SOUND_MIXER_WRITE_RECSRC TARGET_MIXER_WRITE(SOUND_MIXER_RECSRC)
  1400 +
  1401 +/* vfat ioctls */
  1402 +#define TARGET_VFAT_IOCTL_READDIR_BOTH TARGET_IORU('r', 1)
  1403 +#define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2)
... ...
linux-user/syscall_types.h
... ... @@ -67,3 +67,12 @@ STRUCT(dirent,
67 67  
68 68 STRUCT(kbentry,
69 69 TYPE_CHAR, TYPE_CHAR, TYPE_SHORT)
  70 +
  71 +STRUCT(audio_buf_info,
  72 + TYPE_INT, TYPE_INT, TYPE_INT, TYPE_INT)
  73 +
  74 +STRUCT(count_info,
  75 + TYPE_INT, TYPE_INT, TYPE_INT)
  76 +
  77 +STRUCT(mixer_info,
  78 + MK_ARRAY(TYPE_CHAR, 16), MK_ARRAY(TYPE_CHAR, 32), TYPE_INT, MK_ARRAY(TYPE_INT, 10))
... ...
syscall-i386.h
1   -/* from linux/unistd.h */
2   -
3   -#define TARGET_NR_exit 1
4   -#define TARGET_NR_fork 2
5   -#define TARGET_NR_read 3
6   -#define TARGET_NR_write 4
7   -#define TARGET_NR_open 5
8   -#define TARGET_NR_close 6
9   -#define TARGET_NR_waitpid 7
10   -#define TARGET_NR_creat 8
11   -#define TARGET_NR_link 9
12   -#define TARGET_NR_unlink 10
13   -#define TARGET_NR_execve 11
14   -#define TARGET_NR_chdir 12
15   -#define TARGET_NR_time 13
16   -#define TARGET_NR_mknod 14
17   -#define TARGET_NR_chmod 15
18   -#define TARGET_NR_lchown 16
19   -#define TARGET_NR_break 17
20   -#define TARGET_NR_oldstat 18
21   -#define TARGET_NR_lseek 19
22   -#define TARGET_NR_getpid 20
23   -#define TARGET_NR_mount 21
24   -#define TARGET_NR_umount 22
25   -#define TARGET_NR_setuid 23
26   -#define TARGET_NR_getuid 24
27   -#define TARGET_NR_stime 25
28   -#define TARGET_NR_ptrace 26
29   -#define TARGET_NR_alarm 27
30   -#define TARGET_NR_oldfstat 28
31   -#define TARGET_NR_pause 29
32   -#define TARGET_NR_utime 30
33   -#define TARGET_NR_stty 31
34   -#define TARGET_NR_gtty 32
35   -#define TARGET_NR_access 33
36   -#define TARGET_NR_nice 34
37   -#define TARGET_NR_ftime 35
38   -#define TARGET_NR_sync 36
39   -#define TARGET_NR_kill 37
40   -#define TARGET_NR_rename 38
41   -#define TARGET_NR_mkdir 39
42   -#define TARGET_NR_rmdir 40
43   -#define TARGET_NR_dup 41
44   -#define TARGET_NR_pipe 42
45   -#define TARGET_NR_times 43
46   -#define TARGET_NR_prof 44
47   -#define TARGET_NR_brk 45
48   -#define TARGET_NR_setgid 46
49   -#define TARGET_NR_getgid 47
50   -#define TARGET_NR_signal 48
51   -#define TARGET_NR_geteuid 49
52   -#define TARGET_NR_getegid 50
53   -#define TARGET_NR_acct 51
54   -#define TARGET_NR_umount2 52
55   -#define TARGET_NR_lock 53
56   -#define TARGET_NR_ioctl 54
57   -#define TARGET_NR_fcntl 55
58   -#define TARGET_NR_mpx 56
59   -#define TARGET_NR_setpgid 57
60   -#define TARGET_NR_ulimit 58
61   -#define TARGET_NR_oldolduname 59
62   -#define TARGET_NR_umask 60
63   -#define TARGET_NR_chroot 61
64   -#define TARGET_NR_ustat 62
65   -#define TARGET_NR_dup2 63
66   -#define TARGET_NR_getppid 64
67   -#define TARGET_NR_getpgrp 65
68   -#define TARGET_NR_setsid 66
69   -#define TARGET_NR_sigaction 67
70   -#define TARGET_NR_sgetmask 68
71   -#define TARGET_NR_ssetmask 69
72   -#define TARGET_NR_setreuid 70
73   -#define TARGET_NR_setregid 71
74   -#define TARGET_NR_sigsuspend 72
75   -#define TARGET_NR_sigpending 73
76   -#define TARGET_NR_sethostname 74
77   -#define TARGET_NR_setrlimit 75
78   -#define TARGET_NR_getrlimit 76 /* Back compatible 2Gig limited rlimit */
79   -#define TARGET_NR_getrusage 77
80   -#define TARGET_NR_gettimeofday 78
81   -#define TARGET_NR_settimeofday 79
82   -#define TARGET_NR_getgroups 80
83   -#define TARGET_NR_setgroups 81
84   -#define TARGET_NR_select 82
85   -#define TARGET_NR_symlink 83
86   -#define TARGET_NR_oldlstat 84
87   -#define TARGET_NR_readlink 85
88   -#define TARGET_NR_uselib 86
89   -#define TARGET_NR_swapon 87
90   -#define TARGET_NR_reboot 88
91   -#define TARGET_NR_readdir 89
92   -#define TARGET_NR_mmap 90
93   -#define TARGET_NR_munmap 91
94   -#define TARGET_NR_truncate 92
95   -#define TARGET_NR_ftruncate 93
96   -#define TARGET_NR_fchmod 94
97   -#define TARGET_NR_fchown 95
98   -#define TARGET_NR_getpriority 96
99   -#define TARGET_NR_setpriority 97
100   -#define TARGET_NR_profil 98
101   -#define TARGET_NR_statfs 99
102   -#define TARGET_NR_fstatfs 100
103   -#define TARGET_NR_ioperm 101
104   -#define TARGET_NR_socketcall 102
105   -#define TARGET_NR_syslog 103
106   -#define TARGET_NR_setitimer 104
107   -#define TARGET_NR_getitimer 105
108   -#define TARGET_NR_stat 106
109   -#define TARGET_NR_lstat 107
110   -#define TARGET_NR_fstat 108
111   -#define TARGET_NR_olduname 109
112   -#define TARGET_NR_iopl 110
113   -#define TARGET_NR_vhangup 111
114   -#define TARGET_NR_idle 112
115   -#define TARGET_NR_vm86old 113
116   -#define TARGET_NR_wait4 114
117   -#define TARGET_NR_swapoff 115
118   -#define TARGET_NR_sysinfo 116
119   -#define TARGET_NR_ipc 117
120   -#define TARGET_NR_fsync 118
121   -#define TARGET_NR_sigreturn 119
122   -#define TARGET_NR_clone 120
123   -#define TARGET_NR_setdomainname 121
124   -#define TARGET_NR_uname 122
125   -#define TARGET_NR_modify_ldt 123
126   -#define TARGET_NR_adjtimex 124
127   -#define TARGET_NR_mprotect 125
128   -#define TARGET_NR_sigprocmask 126
129   -#define TARGET_NR_create_module 127
130   -#define TARGET_NR_init_module 128
131   -#define TARGET_NR_delete_module 129
132   -#define TARGET_NR_get_kernel_syms 130
133   -#define TARGET_NR_quotactl 131
134   -#define TARGET_NR_getpgid 132
135   -#define TARGET_NR_fchdir 133
136   -#define TARGET_NR_bdflush 134
137   -#define TARGET_NR_sysfs 135
138   -#define TARGET_NR_personality 136
139   -#define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */
140   -#define TARGET_NR_setfsuid 138
141   -#define TARGET_NR_setfsgid 139
142   -#define TARGET_NR__llseek 140
143   -#define TARGET_NR_getdents 141
144   -#define TARGET_NR__newselect 142
145   -#define TARGET_NR_flock 143
146   -#define TARGET_NR_msync 144
147   -#define TARGET_NR_readv 145
148   -#define TARGET_NR_writev 146
149   -#define TARGET_NR_getsid 147
150   -#define TARGET_NR_fdatasync 148
151   -#define TARGET_NR__sysctl 149
152   -#define TARGET_NR_mlock 150
153   -#define TARGET_NR_munlock 151
154   -#define TARGET_NR_mlockall 152
155   -#define TARGET_NR_munlockall 153
156   -#define TARGET_NR_sched_setparam 154
157   -#define TARGET_NR_sched_getparam 155
158   -#define TARGET_NR_sched_setscheduler 156
159   -#define TARGET_NR_sched_getscheduler 157
160   -#define TARGET_NR_sched_yield 158
161   -#define TARGET_NR_sched_get_priority_max 159
162   -#define TARGET_NR_sched_get_priority_min 160
163   -#define TARGET_NR_sched_rr_get_interval 161
164   -#define TARGET_NR_nanosleep 162
165   -#define TARGET_NR_mremap 163
166   -#define TARGET_NR_setresuid 164
167   -#define TARGET_NR_getresuid 165
168   -#define TARGET_NR_vm86 166
169   -#define TARGET_NR_query_module 167
170   -#define TARGET_NR_poll 168
171   -#define TARGET_NR_nfsservctl 169
172   -#define TARGET_NR_setresgid 170
173   -#define TARGET_NR_getresgid 171
174   -#define TARGET_NR_prctl 172
175   -#define TARGET_NR_rt_sigreturn 173
176   -#define TARGET_NR_rt_sigaction 174
177   -#define TARGET_NR_rt_sigprocmask 175
178   -#define TARGET_NR_rt_sigpending 176
179   -#define TARGET_NR_rt_sigtimedwait 177
180   -#define TARGET_NR_rt_sigqueueinfo 178
181   -#define TARGET_NR_rt_sigsuspend 179
182   -#define TARGET_NR_pread 180
183   -#define TARGET_NR_pwrite 181
184   -#define TARGET_NR_chown 182
185   -#define TARGET_NR_getcwd 183
186   -#define TARGET_NR_capget 184
187   -#define TARGET_NR_capset 185
188   -#define TARGET_NR_sigaltstack 186
189   -#define TARGET_NR_sendfile 187
190   -#define TARGET_NR_getpmsg 188 /* some people actually want streams */
191   -#define TARGET_NR_putpmsg 189 /* some people actually want streams */
192   -#define TARGET_NR_vfork 190
193   -#define TARGET_NR_ugetrlimit 191 /* SuS compliant getrlimit */
194   -#define TARGET_NR_mmap2 192
195   -#define TARGET_NR_truncate64 193
196   -#define TARGET_NR_ftruncate64 194
197   -#define TARGET_NR_stat64 195
198   -#define TARGET_NR_lstat64 196
199   -#define TARGET_NR_fstat64 197
200   -#define TARGET_NR_lchown32 198
201   -#define TARGET_NR_getuid32 199
202   -#define TARGET_NR_getgid32 200
203   -#define TARGET_NR_geteuid32 201
204   -#define TARGET_NR_getegid32 202
205   -#define TARGET_NR_setreuid32 203
206   -#define TARGET_NR_setregid32 204
207   -#define TARGET_NR_getgroups32 205
208   -#define TARGET_NR_setgroups32 206
209   -#define TARGET_NR_fchown32 207
210   -#define TARGET_NR_setresuid32 208
211   -#define TARGET_NR_getresuid32 209
212   -#define TARGET_NR_setresgid32 210
213   -#define TARGET_NR_getresgid32 211
214   -#define TARGET_NR_chown32 212
215   -#define TARGET_NR_setuid32 213
216   -#define TARGET_NR_setgid32 214
217   -#define TARGET_NR_setfsuid32 215
218   -#define TARGET_NR_setfsgid32 216
219   -#define TARGET_NR_pivot_root 217
220   -#define TARGET_NR_mincore 218
221   -#define TARGET_NR_madvise 219
222   -#define TARGET_NR_madvise1 219 /* delete when C lib stub is removed */
223   -#define TARGET_NR_getdents64 220
224   -#define TARGET_NR_fcntl64 221
225   -#define TARGET_NR_security 223 /* syscall for security modules */
226   -#define TARGET_NR_gettid 224
227   -#define TARGET_NR_readahead 225
228   -#define TARGET_NR_setxattr 226
229   -#define TARGET_NR_lsetxattr 227
230   -#define TARGET_NR_fsetxattr 228
231   -#define TARGET_NR_getxattr 229
232   -#define TARGET_NR_lgetxattr 230
233   -#define TARGET_NR_fgetxattr 231
234   -#define TARGET_NR_listxattr 232
235   -#define TARGET_NR_llistxattr 233
236   -#define TARGET_NR_flistxattr 234
237   -#define TARGET_NR_removexattr 235
238   -#define TARGET_NR_lremovexattr 236
239   -#define TARGET_NR_fremovexattr 237
240   -#define TARGET_NR_tkill 238
241   -#define TARGET_NR_sendfile64 239
242   -#define TARGET_NR_futex 240
243   -#define TARGET_NR_sched_setaffinity 241
244   -#define TARGET_NR_sched_getaffinity 242
245   -#define TARGET_NR_set_thread_area 243
246   -#define TARGET_NR_get_thread_area 244
247   -#define TARGET_NR_io_setup 245
248   -#define TARGET_NR_io_destroy 246
249   -#define TARGET_NR_io_getevents 247
250   -#define TARGET_NR_io_submit 248
251   -#define TARGET_NR_io_cancel 249
252   -#define TARGET_NR_fadvise64 250
253   -
254   -#define TARGET_NR_exit_group 252
255   -#define TARGET_NR_lookup_dcookie 253
256   -#define TARGET_NR_epoll_create 254
257   -#define TARGET_NR_epoll_ctl 255
258   -#define TARGET_NR_epoll_wait 256
259   -#define TARGET_NR_remap_file_pages 257
260   -#define TARGET_NR_set_tid_address 258
261   -#define TARGET_NR_timer_create 259
262   -#define TARGET_NR_timer_settime (TARGET_NR_timer_create+1)
263   -#define TARGET_NR_timer_gettime (TARGET_NR_timer_create+2)
264   -#define TARGET_NR_timer_getoverrun (TARGET_NR_timer_create+3)
265   -#define TARGET_NR_timer_delete (TARGET_NR_timer_create+4)
266   -#define TARGET_NR_clock_settime (TARGET_NR_timer_create+5)
267   -#define TARGET_NR_clock_gettime (TARGET_NR_timer_create+6)
268   -#define TARGET_NR_clock_getres (TARGET_NR_timer_create+7)
269   -#define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create+8)
270   -
271   -#define TARGET_SIG_BLOCK 0 /* for blocking signals */
272   -#define TARGET_SIG_UNBLOCK 1 /* for unblocking signals */
273   -#define TARGET_SIG_SETMASK 2 /* for setting the signal mask */
274   -
275   -struct target_stat {
276   - unsigned short st_dev;
277   - unsigned short __pad1;
278   - target_ulong st_ino;
279   - unsigned short st_mode;
280   - unsigned short st_nlink;
281   - unsigned short st_uid;
282   - unsigned short st_gid;
283   - unsigned short st_rdev;
284   - unsigned short __pad2;
285   - target_ulong st_size;
286   - target_ulong st_blksize;
287   - target_ulong st_blocks;
288   - target_ulong target_st_atime;
289   - target_ulong __unused1;
290   - target_ulong target_st_mtime;
291   - target_ulong __unused2;
292   - target_ulong target_st_ctime;
293   - target_ulong __unused3;
294   - target_ulong __unused4;
295   - target_ulong __unused5;
296   -};
297   -
298   -/* This matches struct stat64 in glibc2.1, hence the absolutely
299   - * insane amounts of padding around dev_t's.
300   - */
301   -struct target_stat64 {
302   - unsigned short st_dev;
303   - unsigned char __pad0[10];
304   -
305   -#define TARGET_STAT64_HAS_BROKEN_ST_INO 1
306   - target_ulong __st_ino;
307   -
308   - unsigned int st_mode;
309   - unsigned int st_nlink;
310   -
311   - target_ulong st_uid;
312   - target_ulong st_gid;
313   -
314   - unsigned short st_rdev;
315   - unsigned char __pad3[10];
316   -
317   - long long st_size;
318   - target_ulong st_blksize;
319   -
320   - target_ulong st_blocks; /* Number 512-byte blocks allocated. */
321   - target_ulong __pad4; /* future possible st_blocks high bits */
322   -
323   - target_ulong target_st_atime;
324   - target_ulong __pad5;
325   -
326   - target_ulong target_st_mtime;
327   - target_ulong __pad6;
328   -
329   - target_ulong target_st_ctime;
330   - target_ulong __pad7; /* will be high 32 bits of ctime someday */
331   -
332   - unsigned long long st_ino;
333   -} __attribute__((packed));
334   -
335   -#define TARGET_SA_NOCLDSTOP 0x00000001
336   -#define TARGET_SA_NOCLDWAIT 0x00000002 /* not supported yet */
337   -#define TARGET_SA_SIGINFO 0x00000004
338   -#define TARGET_SA_ONSTACK 0x08000000
339   -#define TARGET_SA_RESTART 0x10000000
340   -#define TARGET_SA_NODEFER 0x40000000
341   -#define TARGET_SA_RESETHAND 0x80000000
342   -#define TARGET_SA_RESTORER 0x04000000
343   -
344   -#define TARGET_SIGHUP 1
345   -#define TARGET_SIGINT 2
346   -#define TARGET_SIGQUIT 3
347   -#define TARGET_SIGILL 4
348   -#define TARGET_SIGTRAP 5
349   -#define TARGET_SIGABRT 6
350   -#define TARGET_SIGIOT 6
351   -#define TARGET_SIGBUS 7
352   -#define TARGET_SIGFPE 8
353   -#define TARGET_SIGKILL 9
354   -#define TARGET_SIGUSR1 10
355   -#define TARGET_SIGSEGV 11
356   -#define TARGET_SIGUSR2 12
357   -#define TARGET_SIGPIPE 13
358   -#define TARGET_SIGALRM 14
359   -#define TARGET_SIGTERM 15
360   -#define TARGET_SIGSTKFLT 16
361   -#define TARGET_SIGCHLD 17
362   -#define TARGET_SIGCONT 18
363   -#define TARGET_SIGSTOP 19
364   -#define TARGET_SIGTSTP 20
365   -#define TARGET_SIGTTIN 21
366   -#define TARGET_SIGTTOU 22
367   -#define TARGET_SIGURG 23
368   -#define TARGET_SIGXCPU 24
369   -#define TARGET_SIGXFSZ 25
370   -#define TARGET_SIGVTALRM 26
371   -#define TARGET_SIGPROF 27
372   -#define TARGET_SIGWINCH 28
373   -#define TARGET_SIGIO 29
374   -#define TARGET_SIGRTMIN 32
375   -
376   -struct target_old_sigaction {
377   - target_ulong _sa_handler;
378   - target_ulong sa_mask;
379   - target_ulong sa_flags;
380   - target_ulong sa_restorer;
381   -};
382   -
383   -struct target_sigaction {
384   - target_ulong _sa_handler;
385   - target_ulong sa_flags;
386   - target_ulong sa_restorer;
387   - target_sigset_t sa_mask;
388   -};
389   -
390   -typedef union target_sigval {
391   - int sival_int;
392   - target_ulong sival_ptr;
393   -} target_sigval_t;
394   -
395   -#define TARGET_SI_MAX_SIZE 128
396   -#define TARGET_SI_PAD_SIZE ((TARGET_SI_MAX_SIZE/sizeof(int)) - 3)
397   -
398   -typedef struct target_siginfo {
399   - int si_signo;
400   - int si_errno;
401   - int si_code;
402   -
403   - union {
404   - int _pad[TARGET_SI_PAD_SIZE];
405   -
406   - /* kill() */
407   - struct {
408   - pid_t _pid; /* sender's pid */
409   - uid_t _uid; /* sender's uid */
410   - } _kill;
411   -
412   - /* POSIX.1b timers */
413   - struct {
414   - unsigned int _timer1;
415   - unsigned int _timer2;
416   - } _timer;
417   -
418   - /* POSIX.1b signals */
419   - struct {
420   - pid_t _pid; /* sender's pid */
421   - uid_t _uid; /* sender's uid */
422   - target_sigval_t _sigval;
423   - } _rt;
424   -
425   - /* SIGCHLD */
426   - struct {
427   - pid_t _pid; /* which child */
428   - uid_t _uid; /* sender's uid */
429   - int _status; /* exit code */
430   - target_clock_t _utime;
431   - target_clock_t _stime;
432   - } _sigchld;
433   -
434   - /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
435   - struct {
436   - target_ulong _addr; /* faulting insn/memory ref. */
437   - } _sigfault;
438   -
439   - /* SIGPOLL */
440   - struct {
441   - int _band; /* POLL_IN, POLL_OUT, POLL_MSG */
442   - int _fd;
443   - } _sigpoll;
444   - } _sifields;
445   -} target_siginfo_t;
446   -
447   -/*
448   - * si_code values
449   - * Digital reserves positive values for kernel-generated signals.
450   - */
451   -#define TARGET_SI_USER 0 /* sent by kill, sigsend, raise */
452   -#define TARGET_SI_KERNEL 0x80 /* sent by the kernel from somewhere */
453   -#define TARGET_SI_QUEUE -1 /* sent by sigqueue */
454   -#define TARGET_SI_TIMER -2 /* sent by timer expiration */
455   -#define TARGET_SI_MESGQ -3 /* sent by real time mesq state change */
456   -#define TARGET_SI_ASYNCIO -4 /* sent by AIO completion */
457   -#define TARGET_SI_SIGIO -5 /* sent by queued SIGIO */
458   -
459   -/*
460   - * SIGILL si_codes
461   - */
462   -#define TARGET_ILL_ILLOPN (2) /* illegal operand */
463   -
464   -/*
465   - * SIGFPE si_codes
466   - */
467   -#define TARGET_FPE_INTDIV (1) /* integer divide by zero */
468   -#define TARGET_FPE_INTOVF (2) /* integer overflow */
469   -#define TARGET_FPE_FLTDIV (3) /* floating point divide by zero */
470   -#define TARGET_FPE_FLTOVF (4) /* floating point overflow */
471   -#define TARGET_FPE_FLTUND (5) /* floating point underflow */
472   -#define TARGET_FPE_FLTRES (6) /* floating point inexact result */
473   -#define TARGET_FPE_FLTINV (7) /* floating point invalid operation */
474   -#define TARGET_FPE_FLTSUB (8) /* subscript out of range */
475   -#define TARGET_NSIGFPE 8
476   -
477   -/*
478   - * SIGSEGV si_codes
479   - */
480   -#define TARGET_SEGV_MAPERR (1) /* address not mapped to object */
481   -#define TARGET_SEGV_ACCERR (2) /* invalid permissions for mapped object */
482   -
483   -/*
484   - * SIGTRAP si_codes
485   - */
486   -#define TARGET_TRAP_BRKPT (1) /* process breakpoint */
487   -#define TARGET_TRAP_TRACE (2) /* process trace trap */
488   -
489 1 /* default linux values for the selectors */
490 2 #define __USER_CS (0x23)
491 3 #define __USER_DS (0x2B)
... ... @@ -510,261 +22,6 @@ struct target_pt_regs {
510 22  
511 23 /* ioctls */
512 24  
513   -/*
514   - * The following is for compatibility across the various Linux
515   - * platforms. The i386 ioctl numbering scheme doesn't really enforce
516   - * a type field. De facto, however, the top 8 bits of the lower 16
517   - * bits are indeed used as a type field, so we might just as well make
518   - * this explicit here. Please be sure to use the decoding macros
519   - * below from now on.
520   - */
521   -#define TARGET_IOC_NRBITS 8
522   -#define TARGET_IOC_TYPEBITS 8
523   -#define TARGET_IOC_SIZEBITS 14
524   -#define TARGET_IOC_DIRBITS 2
525   -
526   -#define TARGET_IOC_NRMASK ((1 << TARGET_IOC_NRBITS)-1)
527   -#define TARGET_IOC_TYPEMASK ((1 << TARGET_IOC_TYPEBITS)-1)
528   -#define TARGET_IOC_SIZEMASK ((1 << TARGET_IOC_SIZEBITS)-1)
529   -#define TARGET_IOC_DIRMASK ((1 << TARGET_IOC_DIRBITS)-1)
530   -
531   -#define TARGET_IOC_NRSHIFT 0
532   -#define TARGET_IOC_TYPESHIFT (TARGET_IOC_NRSHIFT+TARGET_IOC_NRBITS)
533   -#define TARGET_IOC_SIZESHIFT (TARGET_IOC_TYPESHIFT+TARGET_IOC_TYPEBITS)
534   -#define TARGET_IOC_DIRSHIFT (TARGET_IOC_SIZESHIFT+TARGET_IOC_SIZEBITS)
535   -
536   -/*
537   - * Direction bits.
538   - */
539   -#define TARGET_IOC_NONE 0U
540   -#define TARGET_IOC_WRITE 1U
541   -#define TARGET_IOC_READ 2U
542   -
543   -#define TARGET_IOC(dir,type,nr,size) \
544   - (((dir) << TARGET_IOC_DIRSHIFT) | \
545   - ((type) << TARGET_IOC_TYPESHIFT) | \
546   - ((nr) << TARGET_IOC_NRSHIFT) | \
547   - ((size) << TARGET_IOC_SIZESHIFT))
548   -
549   -/* used to create numbers */
550   -#define TARGET_IO(type,nr) TARGET_IOC(TARGET_IOC_NONE,(type),(nr),0)
551   -#define TARGET_IOR(type,nr,size) TARGET_IOC(TARGET_IOC_READ,(type),(nr),sizeof(size))
552   -#define TARGET_IOW(type,nr,size) TARGET_IOC(TARGET_IOC_WRITE,(type),(nr),sizeof(size))
553   -#define TARGET_IOWR(type,nr,size) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),sizeof(size))
554   -
555   -/* 0x54 is just a magic number to make these relatively unique ('T') */
556   -
557   -#define TARGET_TCGETS 0x5401
558   -#define TARGET_TCSETS 0x5402
559   -#define TARGET_TCSETSW 0x5403
560   -#define TARGET_TCSETSF 0x5404
561   -#define TARGET_TCGETA 0x5405
562   -#define TARGET_TCSETA 0x5406
563   -#define TARGET_TCSETAW 0x5407
564   -#define TARGET_TCSETAF 0x5408
565   -#define TARGET_TCSBRK 0x5409
566   -#define TARGET_TCXONC 0x540A
567   -#define TARGET_TCFLSH 0x540B
568   -#define TARGET_TIOCEXCL 0x540C
569   -#define TARGET_TIOCNXCL 0x540D
570   -#define TARGET_TIOCSCTTY 0x540E
571   -#define TARGET_TIOCGPGRP 0x540F
572   -#define TARGET_TIOCSPGRP 0x5410
573   -#define TARGET_TIOCOUTQ 0x5411
574   -#define TARGET_TIOCSTI 0x5412
575   -#define TARGET_TIOCGWINSZ 0x5413
576   -#define TARGET_TIOCSWINSZ 0x5414
577   -#define TARGET_TIOCMGET 0x5415
578   -#define TARGET_TIOCMBIS 0x5416
579   -#define TARGET_TIOCMBIC 0x5417
580   -#define TARGET_TIOCMSET 0x5418
581   -#define TARGET_TIOCGSOFTCAR 0x5419
582   -#define TARGET_TIOCSSOFTCAR 0x541A
583   -#define TARGET_FIONREAD 0x541B
584   -#define TARGET_TIOCINQ FIONREAD
585   -#define TARGET_TIOCLINUX 0x541C
586   -#define TARGET_TIOCCONS 0x541D
587   -#define TARGET_TIOCGSERIAL 0x541E
588   -#define TARGET_TIOCSSERIAL 0x541F
589   -#define TARGET_TIOCPKT 0x5420
590   -#define TARGET_FIONBIO 0x5421
591   -#define TARGET_TIOCNOTTY 0x5422
592   -#define TARGET_TIOCSETD 0x5423
593   -#define TARGET_TIOCGETD 0x5424
594   -#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
595   -#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
596   -#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
597   -#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
598   -#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
599   -#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
600   -#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
601   -
602   -#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
603   -#define TARGET_FIOCLEX 0x5451
604   -#define TARGET_FIOASYNC 0x5452
605   -#define TARGET_TIOCSERCONFIG 0x5453
606   -#define TARGET_TIOCSERGWILD 0x5454
607   -#define TARGET_TIOCSERSWILD 0x5455
608   -#define TARGET_TIOCGLCKTRMIOS 0x5456
609   -#define TARGET_TIOCSLCKTRMIOS 0x5457
610   -#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
611   -#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
612   -#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
613   -#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
614   -
615   -#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
616   -#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
617   -#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
618   -#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
619   -
620   -/* Used for packet mode */
621   -#define TARGET_TIOCPKT_DATA 0
622   -#define TARGET_TIOCPKT_FLUSHREAD 1
623   -#define TARGET_TIOCPKT_FLUSHWRITE 2
624   -#define TARGET_TIOCPKT_STOP 4
625   -#define TARGET_TIOCPKT_START 8
626   -#define TARGET_TIOCPKT_NOSTOP 16
627   -#define TARGET_TIOCPKT_DOSTOP 32
628   -
629   -#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
630   -
631   -/* from asm/termbits.h */
632   -
633   -#define TARGET_NCCS 19
634   -
635   -struct target_termios {
636   - unsigned int c_iflag; /* input mode flags */
637   - unsigned int c_oflag; /* output mode flags */
638   - unsigned int c_cflag; /* control mode flags */
639   - unsigned int c_lflag; /* local mode flags */
640   - unsigned char c_line; /* line discipline */
641   - unsigned char c_cc[TARGET_NCCS]; /* control characters */
642   -};
643   -
644   -/* c_iflag bits */
645   -#define TARGET_IGNBRK 0000001
646   -#define TARGET_BRKINT 0000002
647   -#define TARGET_IGNPAR 0000004
648   -#define TARGET_PARMRK 0000010
649   -#define TARGET_INPCK 0000020
650   -#define TARGET_ISTRIP 0000040
651   -#define TARGET_INLCR 0000100
652   -#define TARGET_IGNCR 0000200
653   -#define TARGET_ICRNL 0000400
654   -#define TARGET_IUCLC 0001000
655   -#define TARGET_IXON 0002000
656   -#define TARGET_IXANY 0004000
657   -#define TARGET_IXOFF 0010000
658   -#define TARGET_IMAXBEL 0020000
659   -
660   -/* c_oflag bits */
661   -#define TARGET_OPOST 0000001
662   -#define TARGET_OLCUC 0000002
663   -#define TARGET_ONLCR 0000004
664   -#define TARGET_OCRNL 0000010
665   -#define TARGET_ONOCR 0000020
666   -#define TARGET_ONLRET 0000040
667   -#define TARGET_OFILL 0000100
668   -#define TARGET_OFDEL 0000200
669   -#define TARGET_NLDLY 0000400
670   -#define TARGET_NL0 0000000
671   -#define TARGET_NL1 0000400
672   -#define TARGET_CRDLY 0003000
673   -#define TARGET_CR0 0000000
674   -#define TARGET_CR1 0001000
675   -#define TARGET_CR2 0002000
676   -#define TARGET_CR3 0003000
677   -#define TARGET_TABDLY 0014000
678   -#define TARGET_TAB0 0000000
679   -#define TARGET_TAB1 0004000
680   -#define TARGET_TAB2 0010000
681   -#define TARGET_TAB3 0014000
682   -#define TARGET_XTABS 0014000
683   -#define TARGET_BSDLY 0020000
684   -#define TARGET_BS0 0000000
685   -#define TARGET_BS1 0020000
686   -#define TARGET_VTDLY 0040000
687   -#define TARGET_VT0 0000000
688   -#define TARGET_VT1 0040000
689   -#define TARGET_FFDLY 0100000
690   -#define TARGET_FF0 0000000
691   -#define TARGET_FF1 0100000
692   -
693   -/* c_cflag bit meaning */
694   -#define TARGET_CBAUD 0010017
695   -#define TARGET_B0 0000000 /* hang up */
696   -#define TARGET_B50 0000001
697   -#define TARGET_B75 0000002
698   -#define TARGET_B110 0000003
699   -#define TARGET_B134 0000004
700   -#define TARGET_B150 0000005
701   -#define TARGET_B200 0000006
702   -#define TARGET_B300 0000007
703   -#define TARGET_B600 0000010
704   -#define TARGET_B1200 0000011
705   -#define TARGET_B1800 0000012
706   -#define TARGET_B2400 0000013
707   -#define TARGET_B4800 0000014
708   -#define TARGET_B9600 0000015
709   -#define TARGET_B19200 0000016
710   -#define TARGET_B38400 0000017
711   -#define TARGET_EXTA B19200
712   -#define TARGET_EXTB B38400
713   -#define TARGET_CSIZE 0000060
714   -#define TARGET_CS5 0000000
715   -#define TARGET_CS6 0000020
716   -#define TARGET_CS7 0000040
717   -#define TARGET_CS8 0000060
718   -#define TARGET_CSTOPB 0000100
719   -#define TARGET_CREAD 0000200
720   -#define TARGET_PARENB 0000400
721   -#define TARGET_PARODD 0001000
722   -#define TARGET_HUPCL 0002000
723   -#define TARGET_CLOCAL 0004000
724   -#define TARGET_CBAUDEX 0010000
725   -#define TARGET_B57600 0010001
726   -#define TARGET_B115200 0010002
727   -#define TARGET_B230400 0010003
728   -#define TARGET_B460800 0010004
729   -#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
730   -#define TARGET_CRTSCTS 020000000000 /* flow control */
731   -
732   -/* c_lflag bits */
733   -#define TARGET_ISIG 0000001
734   -#define TARGET_ICANON 0000002
735   -#define TARGET_XCASE 0000004
736   -#define TARGET_ECHO 0000010
737   -#define TARGET_ECHOE 0000020
738   -#define TARGET_ECHOK 0000040
739   -#define TARGET_ECHONL 0000100
740   -#define TARGET_NOFLSH 0000200
741   -#define TARGET_TOSTOP 0000400
742   -#define TARGET_ECHOCTL 0001000
743   -#define TARGET_ECHOPRT 0002000
744   -#define TARGET_ECHOKE 0004000
745   -#define TARGET_FLUSHO 0010000
746   -#define TARGET_PENDIN 0040000
747   -#define TARGET_IEXTEN 0100000
748   -
749   -/* c_cc character offsets */
750   -#define TARGET_VINTR 0
751   -#define TARGET_VQUIT 1
752   -#define TARGET_VERASE 2
753   -#define TARGET_VKILL 3
754   -#define TARGET_VEOF 4
755   -#define TARGET_VTIME 5
756   -#define TARGET_VMIN 6
757   -#define TARGET_VSWTC 7
758   -#define TARGET_VSTART 8
759   -#define TARGET_VSTOP 9
760   -#define TARGET_VSUSP 10
761   -#define TARGET_VEOL 11
762   -#define TARGET_VREPRINT 12
763   -#define TARGET_VDISCARD 13
764   -#define TARGET_VWERASE 14
765   -#define TARGET_VLNEXT 15
766   -#define TARGET_VEOL2 16
767   -
768 25 #define TARGET_LDT_ENTRIES 8192
769 26 #define TARGET_LDT_ENTRY_SIZE 8
770 27  
... ... @@ -779,19 +36,6 @@ struct target_modify_ldt_ldt_s {
779 36 unsigned int flags;
780 37 };
781 38  
782   -
783   -#define TARGET_MAP_SHARED 0x01 /* Share changes */
784   -#define TARGET_MAP_PRIVATE 0x02 /* Changes are private */
785   -#define TARGET_MAP_TYPE 0x0f /* Mask for type of mapping */
786   -#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
787   -#define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */
788   -
789   -#define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */
790   -#define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */
791   -#define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */
792   -#define TARGET_MAP_LOCKED 0x2000 /* pages are locked */
793   -#define TARGET_MAP_NORESERVE 0x4000 /* don't check for reservations */
794   -
795 39 /* vm86 defines */
796 40  
797 41 #define TARGET_BIOSSEG 0x0f000
... ... @@ -922,11 +166,6 @@ struct target_ipc_kludge {
922 166 int msgtyp;
923 167 };
924 168  
925   -struct alpha_msgbuf {
926   - long mtype;
927   - char mtext[4096];
928   -};
929   -
930 169 struct target_ipc_perm {
931 170 int key;
932 171 unsigned short uid;
... ... @@ -979,168 +218,3 @@ union target_semun {
979 218 unsigned int __pad; /* really void* */
980 219 };
981 220  
982   -#define TARGET_F_DUPFD 0 /* dup */
983   -#define TARGET_F_GETFD 1 /* get close_on_exec */
984   -#define TARGET_F_SETFD 2 /* set/clear close_on_exec */
985   -#define TARGET_F_GETFL 3 /* get file->f_flags */
986   -#define TARGET_F_SETFL 4 /* set file->f_flags */
987   -#define TARGET_F_GETLK 5
988   -#define TARGET_F_SETLK 6
989   -#define TARGET_F_SETLKW 7
990   -
991   -#define TARGET_F_SETOWN 8 /* for sockets. */
992   -#define TARGET_F_GETOWN 9 /* for sockets. */
993   -#define TARGET_F_SETSIG 10 /* for sockets. */
994   -#define TARGET_F_GETSIG 11 /* for sockets. */
995   -
996   -#define TARGET_F_GETLK64 12 /* using 'struct flock64' */
997   -#define TARGET_F_SETLK64 13
998   -#define TARGET_F_SETLKW64 14
999   -
1000   -struct target_flock {
1001   - short l_type;
1002   - short l_whence;
1003   - target_ulong l_start;
1004   - target_ulong l_len;
1005   - int l_pid;
1006   -};
1007   -
1008   -struct target_flock64 {
1009   - short l_type;
1010   - short l_whence;
1011   - unsigned long long l_start;
1012   - unsigned long long l_len;
1013   - int l_pid;
1014   -};
1015   -
1016   -/* soundcard defines (XXX: move them to generic file syscall_defs.h) */
1017   -
1018   -#define TARGET_SNDCTL_COPR_HALT 0xc0144307
1019   -#define TARGET_SNDCTL_COPR_LOAD 0xcfb04301
1020   -#define TARGET_SNDCTL_COPR_RCODE 0xc0144303
1021   -#define TARGET_SNDCTL_COPR_RCVMSG 0x8fa44309
1022   -#define TARGET_SNDCTL_COPR_RDATA 0xc0144302
1023   -#define TARGET_SNDCTL_COPR_RESET 0x00004300
1024   -#define TARGET_SNDCTL_COPR_RUN 0xc0144306
1025   -#define TARGET_SNDCTL_COPR_SENDMSG 0xcfa44308
1026   -#define TARGET_SNDCTL_COPR_WCODE 0x40144305
1027   -#define TARGET_SNDCTL_COPR_WDATA 0x40144304
1028   -#define TARGET_SNDCTL_DSP_CHANNELS 0xc0045006
1029   -#define TARGET_SNDCTL_DSP_GETBLKSIZE 0xc0045004
1030   -#define TARGET_SNDCTL_DSP_GETCAPS 0x8004500f
1031   -#define TARGET_SNDCTL_DSP_GETFMTS 0x8004500b
1032   -#define TARGET_SNDCTL_DSP_GETIPTR 0x800c5011
1033   -#define TARGET_SNDCTL_DSP_GETISPACE 0x8010500d
1034   -#define TARGET_SNDCTL_DSP_GETOPTR 0x800c5012
1035   -#define TARGET_SNDCTL_DSP_GETOSPACE 0x8010500c
1036   -#define TARGET_SNDCTL_DSP_GETTRIGGER 0x80045010
1037   -#define TARGET_SNDCTL_DSP_MAPINBUF 0x80085013
1038   -#define TARGET_SNDCTL_DSP_MAPOUTBUF 0x80085014
1039   -#define TARGET_SNDCTL_DSP_NONBLOCK 0x0000500e
1040   -#define TARGET_SNDCTL_DSP_POST 0x00005008
1041   -#define TARGET_SNDCTL_DSP_RESET 0x00005000
1042   -#define TARGET_SNDCTL_DSP_SAMPLESIZE 0xc0045005
1043   -#define TARGET_SNDCTL_DSP_SETDUPLEX 0x00005016
1044   -#define TARGET_SNDCTL_DSP_SETFMT 0xc0045005
1045   -#define TARGET_SNDCTL_DSP_SETFRAGMENT 0xc004500a
1046   -#define TARGET_SNDCTL_DSP_SETSYNCRO 0x00005015
1047   -#define TARGET_SNDCTL_DSP_SETTRIGGER 0x40045010
1048   -#define TARGET_SNDCTL_DSP_SPEED 0xc0045002
1049   -#define TARGET_SNDCTL_DSP_STEREO 0xc0045003
1050   -#define TARGET_SNDCTL_DSP_SUBDIVIDE 0xc0045009
1051   -#define TARGET_SNDCTL_DSP_SYNC 0x00005001
1052   -#define TARGET_SNDCTL_FM_4OP_ENABLE 0x4004510f
1053   -#define TARGET_SNDCTL_FM_LOAD_INSTR 0x40285107
1054   -#define TARGET_SNDCTL_MIDI_INFO 0xc074510c
1055   -#define TARGET_SNDCTL_MIDI_MPUCMD 0xc0216d02
1056   -#define TARGET_SNDCTL_MIDI_MPUMODE 0xc0046d01
1057   -#define TARGET_SNDCTL_MIDI_PRETIME 0xc0046d00
1058   -#define TARGET_SNDCTL_PMGR_ACCESS 0xcfb85110
1059   -#define TARGET_SNDCTL_PMGR_IFACE 0xcfb85001
1060   -#define TARGET_SNDCTL_SEQ_CTRLRATE 0xc0045103
1061   -#define TARGET_SNDCTL_SEQ_GETINCOUNT 0x80045105
1062   -#define TARGET_SNDCTL_SEQ_GETOUTCOUNT 0x80045104
1063   -#define TARGET_SNDCTL_SEQ_NRMIDIS 0x8004510b
1064   -#define TARGET_SNDCTL_SEQ_NRSYNTHS 0x8004510a
1065   -#define TARGET_SNDCTL_SEQ_OUTOFBAND 0x40085112
1066   -#define TARGET_SNDCTL_SEQ_PANIC 0x00005111
1067   -#define TARGET_SNDCTL_SEQ_PERCMODE 0x40045106
1068   -#define TARGET_SNDCTL_SEQ_RESET 0x00005100
1069   -#define TARGET_SNDCTL_SEQ_RESETSAMPLES 0x40045109
1070   -#define TARGET_SNDCTL_SEQ_SYNC 0x00005101
1071   -#define TARGET_SNDCTL_SEQ_TESTMIDI 0x40045108
1072   -#define TARGET_SNDCTL_SEQ_THRESHOLD 0x4004510d
1073   -#define TARGET_SNDCTL_SEQ_TRESHOLD 0x4004510d
1074   -#define TARGET_SNDCTL_SYNTH_INFO 0xc08c5102
1075   -#define TARGET_SNDCTL_SYNTH_MEMAVL 0xc004510e
1076   -#define TARGET_SNDCTL_TMR_CONTINUE 0x00005404
1077   -#define TARGET_SNDCTL_TMR_METRONOME 0x40045407
1078   -#define TARGET_SNDCTL_TMR_SELECT 0x40045408
1079   -#define TARGET_SNDCTL_TMR_SOURCE 0xc0045406
1080   -#define TARGET_SNDCTL_TMR_START 0x00005402
1081   -#define TARGET_SNDCTL_TMR_STOP 0x00005403
1082   -#define TARGET_SNDCTL_TMR_TEMPO 0xc0045405
1083   -#define TARGET_SNDCTL_TMR_TIMEBASE 0xc0045401
1084   -#define TARGET_SOUND_PCM_WRITE_FILTER 0xc0045007
1085   -#define TARGET_SOUND_PCM_READ_RATE 0x80045002
1086   -#define TARGET_SOUND_PCM_READ_CHANNELS 0x80045006
1087   -#define TARGET_SOUND_PCM_READ_BITS 0x80045005
1088   -#define TARGET_SOUND_PCM_READ_FILTER 0x80045007
1089   -#define TARGET_SOUND_MIXER_INFO 0x80304d65
1090   -#define TARGET_SOUND_MIXER_ACCESS 0xc0804d66
1091   -#define TARGET_SOUND_MIXER_PRIVATE1 0xc0044d6f
1092   -#define TARGET_SOUND_MIXER_PRIVATE2 0xc0044d70
1093   -#define TARGET_SOUND_MIXER_PRIVATE3 0xc0044d71
1094   -#define TARGET_SOUND_MIXER_PRIVATE4 0xc0044d72
1095   -#define TARGET_SOUND_MIXER_PRIVATE5 0xc0044d73
1096   -#define TARGET_SOUND_MIXER_READ_VOLUME 0x80044d00
1097   -#define TARGET_SOUND_MIXER_READ_BASS 0x80044d01
1098   -#define TARGET_SOUND_MIXER_READ_TREBLE 0x80044d02
1099   -#define TARGET_SOUND_MIXER_READ_SYNTH 0x80044d03
1100   -#define TARGET_SOUND_MIXER_READ_PCM 0x80044d04
1101   -#define TARGET_SOUND_MIXER_READ_SPEAKER 0x80044d05
1102   -#define TARGET_SOUND_MIXER_READ_LINE 0x80044d06
1103   -#define TARGET_SOUND_MIXER_READ_MIC 0x80044d07
1104   -#define TARGET_SOUND_MIXER_READ_CD 0x80044d08
1105   -#define TARGET_SOUND_MIXER_READ_IMIX 0x80044d09
1106   -#define TARGET_SOUND_MIXER_READ_ALTPCM 0x80044d0a
1107   -#define TARGET_SOUND_MIXER_READ_RECLEV 0x80044d0b
1108   -#define TARGET_SOUND_MIXER_READ_IGAIN 0x80044d0c
1109   -#define TARGET_SOUND_MIXER_READ_OGAIN 0x80044d0d
1110   -#define TARGET_SOUND_MIXER_READ_LINE1 0x80044d0e
1111   -#define TARGET_SOUND_MIXER_READ_LINE2 0x80044d0f
1112   -#define TARGET_SOUND_MIXER_READ_LINE3 0x80044d10
1113   -#define TARGET_SOUND_MIXER_READ_MUTE 0x80044d1f
1114   -#define TARGET_SOUND_MIXER_READ_ENHANCE 0x80044d1f
1115   -#define TARGET_SOUND_MIXER_READ_LOUD 0x80044d1f
1116   -#define TARGET_SOUND_MIXER_READ_RECSRC 0x80044dff
1117   -#define TARGET_SOUND_MIXER_READ_DEVMASK 0x80044dfe
1118   -#define TARGET_SOUND_MIXER_READ_RECMASK 0x80044dfd
1119   -#define TARGET_SOUND_MIXER_READ_STEREODEVS 0x80044dfb
1120   -#define TARGET_SOUND_MIXER_READ_CAPS 0x80044dfc
1121   -#define TARGET_SOUND_MIXER_WRITE_VOLUME 0xc0044d00
1122   -#define TARGET_SOUND_MIXER_WRITE_BASS 0xc0044d01
1123   -#define TARGET_SOUND_MIXER_WRITE_TREBLE 0xc0044d02
1124   -#define TARGET_SOUND_MIXER_WRITE_SYNTH 0xc0044d03
1125   -#define TARGET_SOUND_MIXER_WRITE_PCM 0xc0044d04
1126   -#define TARGET_SOUND_MIXER_WRITE_SPEAKER 0xc0044d05
1127   -#define TARGET_SOUND_MIXER_WRITE_LINE 0xc0044d06
1128   -#define TARGET_SOUND_MIXER_WRITE_MIC 0xc0044d07
1129   -#define TARGET_SOUND_MIXER_WRITE_CD 0xc0044d08
1130   -#define TARGET_SOUND_MIXER_WRITE_IMIX 0xc0044d09
1131   -#define TARGET_SOUND_MIXER_WRITE_ALTPCM 0xc0044d0a
1132   -#define TARGET_SOUND_MIXER_WRITE_RECLEV 0xc0044d0b
1133   -#define TARGET_SOUND_MIXER_WRITE_IGAIN 0xc0044d0c
1134   -#define TARGET_SOUND_MIXER_WRITE_OGAIN 0xc0044d0d
1135   -#define TARGET_SOUND_MIXER_WRITE_LINE1 0xc0044d0e
1136   -#define TARGET_SOUND_MIXER_WRITE_LINE2 0xc0044d0f
1137   -#define TARGET_SOUND_MIXER_WRITE_LINE3 0xc0044d10
1138   -#define TARGET_SOUND_MIXER_WRITE_MUTE 0xc0044d1f
1139   -#define TARGET_SOUND_MIXER_WRITE_ENHANCE 0xc0044d1f
1140   -#define TARGET_SOUND_MIXER_WRITE_LOUD 0xc0044d1f
1141   -#define TARGET_SOUND_MIXER_WRITE_RECSRC 0xc0044dff
1142   -
1143   -#define TARGET_VFAT_IOCTL_READDIR_BOTH 0x82187201
1144   -#define TARGET_VFAT_IOCTL_READDIR_SHORT 0x82187202
1145   -
1146   -#define TARGET_SIOCATMARK 0x8905
... ...