Statistics
| Branch: | Revision:

root / syscall-i386.h @ f29042b5

History | View | Annotate | Download (34 kB)

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 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
};
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
 * SIGILL si_codes
449
 */
450
#define TARGET_ILL_ILLOPN        (2)        /* illegal operand */
451

    
452
/*
453
 * SIGFPE si_codes
454
 */
455
#define TARGET_FPE_INTDIV      (1)  /* integer divide by zero */
456
#define TARGET_FPE_INTOVF      (2)  /* integer overflow */
457
#define TARGET_FPE_FLTDIV      (3)  /* floating point divide by zero */
458
#define TARGET_FPE_FLTOVF      (4)  /* floating point overflow */
459
#define TARGET_FPE_FLTUND      (5)  /* floating point underflow */
460
#define TARGET_FPE_FLTRES      (6)  /* floating point inexact result */
461
#define TARGET_FPE_FLTINV      (7)  /* floating point invalid operation */
462
#define TARGET_FPE_FLTSUB      (8)  /* subscript out of range */
463
#define TARGET_NSIGFPE         8
464

    
465
/* default linux values for the selectors */
466
#define __USER_CS        (0x23)
467
#define __USER_DS        (0x2B)
468

    
469
struct target_pt_regs {
470
        long ebx;
471
        long ecx;
472
        long edx;
473
        long esi;
474
        long edi;
475
        long ebp;
476
        long eax;
477
        int  xds;
478
        int  xes;
479
        long orig_eax;
480
        long eip;
481
        int  xcs;
482
        long eflags;
483
        long esp;
484
        int  xss;
485
};
486

    
487
/* ioctls */
488

    
489
/*
490
 * The following is for compatibility across the various Linux
491
 * platforms.  The i386 ioctl numbering scheme doesn't really enforce
492
 * a type field.  De facto, however, the top 8 bits of the lower 16
493
 * bits are indeed used as a type field, so we might just as well make
494
 * this explicit here.  Please be sure to use the decoding macros
495
 * below from now on.
496
 */
497
#define TARGET_IOC_NRBITS        8
498
#define TARGET_IOC_TYPEBITS        8
499
#define TARGET_IOC_SIZEBITS        14
500
#define TARGET_IOC_DIRBITS        2
501

    
502
#define TARGET_IOC_NRMASK        ((1 << TARGET_IOC_NRBITS)-1)
503
#define TARGET_IOC_TYPEMASK        ((1 << TARGET_IOC_TYPEBITS)-1)
504
#define TARGET_IOC_SIZEMASK        ((1 << TARGET_IOC_SIZEBITS)-1)
505
#define TARGET_IOC_DIRMASK        ((1 << TARGET_IOC_DIRBITS)-1)
506

    
507
#define TARGET_IOC_NRSHIFT        0
508
#define TARGET_IOC_TYPESHIFT        (TARGET_IOC_NRSHIFT+TARGET_IOC_NRBITS)
509
#define TARGET_IOC_SIZESHIFT        (TARGET_IOC_TYPESHIFT+TARGET_IOC_TYPEBITS)
510
#define TARGET_IOC_DIRSHIFT        (TARGET_IOC_SIZESHIFT+TARGET_IOC_SIZEBITS)
511

    
512
/*
513
 * Direction bits.
514
 */
515
#define TARGET_IOC_NONE        0U
516
#define TARGET_IOC_WRITE        1U
517
#define TARGET_IOC_READ        2U
518

    
519
#define TARGET_IOC(dir,type,nr,size) \
520
        (((dir)  << TARGET_IOC_DIRSHIFT) | \
521
         ((type) << TARGET_IOC_TYPESHIFT) | \
522
         ((nr)   << TARGET_IOC_NRSHIFT) | \
523
         ((size) << TARGET_IOC_SIZESHIFT))
524

    
525
/* used to create numbers */
526
#define TARGET_IO(type,nr)                TARGET_IOC(TARGET_IOC_NONE,(type),(nr),0)
527
#define TARGET_IOR(type,nr,size)        TARGET_IOC(TARGET_IOC_READ,(type),(nr),sizeof(size))
528
#define TARGET_IOW(type,nr,size)        TARGET_IOC(TARGET_IOC_WRITE,(type),(nr),sizeof(size))
529
#define TARGET_IOWR(type,nr,size)        TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),sizeof(size))
530

    
531
/* 0x54 is just a magic number to make these relatively unique ('T') */
532

    
533
#define TARGET_TCGETS                0x5401
534
#define TARGET_TCSETS                0x5402
535
#define TARGET_TCSETSW                0x5403
536
#define TARGET_TCSETSF                0x5404
537
#define TARGET_TCGETA                0x5405
538
#define TARGET_TCSETA                0x5406
539
#define TARGET_TCSETAW                0x5407
540
#define TARGET_TCSETAF                0x5408
541
#define TARGET_TCSBRK                0x5409
542
#define TARGET_TCXONC                0x540A
543
#define TARGET_TCFLSH                0x540B
544
#define TARGET_TIOCEXCL        0x540C
545
#define TARGET_TIOCNXCL        0x540D
546
#define TARGET_TIOCSCTTY        0x540E
547
#define TARGET_TIOCGPGRP        0x540F
548
#define TARGET_TIOCSPGRP        0x5410
549
#define TARGET_TIOCOUTQ        0x5411
550
#define TARGET_TIOCSTI                0x5412
551
#define TARGET_TIOCGWINSZ        0x5413
552
#define TARGET_TIOCSWINSZ        0x5414
553
#define TARGET_TIOCMGET        0x5415
554
#define TARGET_TIOCMBIS        0x5416
555
#define TARGET_TIOCMBIC        0x5417
556
#define TARGET_TIOCMSET        0x5418
557
#define TARGET_TIOCGSOFTCAR        0x5419
558
#define TARGET_TIOCSSOFTCAR        0x541A
559
#define TARGET_FIONREAD        0x541B
560
#define TARGET_TIOCINQ                FIONREAD
561
#define TARGET_TIOCLINUX        0x541C
562
#define TARGET_TIOCCONS        0x541D
563
#define TARGET_TIOCGSERIAL        0x541E
564
#define TARGET_TIOCSSERIAL        0x541F
565
#define TARGET_TIOCPKT                0x5420
566
#define TARGET_FIONBIO                0x5421
567
#define TARGET_TIOCNOTTY        0x5422
568
#define TARGET_TIOCSETD        0x5423
569
#define TARGET_TIOCGETD        0x5424
570
#define TARGET_TCSBRKP                0x5425        /* Needed for POSIX tcsendbreak() */
571
#define TARGET_TIOCTTYGSTRUCT        0x5426  /* For debugging only */
572
#define TARGET_TIOCSBRK        0x5427  /* BSD compatibility */
573
#define TARGET_TIOCCBRK        0x5428  /* BSD compatibility */
574
#define TARGET_TIOCGSID        0x5429  /* Return the session ID of FD */
575
#define TARGET_TIOCGPTN        TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
576
#define TARGET_TIOCSPTLCK        TARGET_IOW('T',0x31, int)  /* Lock/unlock Pty */
577

    
578
#define TARGET_FIONCLEX        0x5450  /* these numbers need to be adjusted. */
579
#define TARGET_FIOCLEX                0x5451
580
#define TARGET_FIOASYNC        0x5452
581
#define TARGET_TIOCSERCONFIG        0x5453
582
#define TARGET_TIOCSERGWILD        0x5454
583
#define TARGET_TIOCSERSWILD        0x5455
584
#define TARGET_TIOCGLCKTRMIOS        0x5456
585
#define TARGET_TIOCSLCKTRMIOS        0x5457
586
#define TARGET_TIOCSERGSTRUCT        0x5458 /* For debugging only */
587
#define TARGET_TIOCSERGETLSR   0x5459 /* Get line status register */
588
#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config  */
589
#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
590

    
591
#define TARGET_TIOCMIWAIT        0x545C        /* wait for a change on serial input line(s) */
592
#define TARGET_TIOCGICOUNT        0x545D        /* read serial port inline interrupt counts */
593
#define TARGET_TIOCGHAYESESP   0x545E  /* Get Hayes ESP configuration */
594
#define TARGET_TIOCSHAYESESP   0x545F  /* Set Hayes ESP configuration */
595

    
596
/* Used for packet mode */
597
#define TARGET_TIOCPKT_DATA                 0
598
#define TARGET_TIOCPKT_FLUSHREAD         1
599
#define TARGET_TIOCPKT_FLUSHWRITE         2
600
#define TARGET_TIOCPKT_STOP                 4
601
#define TARGET_TIOCPKT_START                 8
602
#define TARGET_TIOCPKT_NOSTOP                16
603
#define TARGET_TIOCPKT_DOSTOP                32
604

    
605
#define TARGET_TIOCSER_TEMT    0x01        /* Transmitter physically empty */
606

    
607
/* from asm/termbits.h */
608

    
609
#define TARGET_NCCS 19
610

    
611
struct target_termios {
612
    unsigned int c_iflag;               /* input mode flags */
613
    unsigned int c_oflag;               /* output mode flags */
614
    unsigned int c_cflag;               /* control mode flags */
615
    unsigned int c_lflag;               /* local mode flags */
616
    unsigned char c_line;                    /* line discipline */
617
    unsigned char c_cc[TARGET_NCCS];                /* control characters */
618
};
619

    
620
/* c_iflag bits */
621
#define TARGET_IGNBRK  0000001
622
#define TARGET_BRKINT  0000002
623
#define TARGET_IGNPAR  0000004
624
#define TARGET_PARMRK  0000010
625
#define TARGET_INPCK   0000020
626
#define TARGET_ISTRIP  0000040
627
#define TARGET_INLCR   0000100
628
#define TARGET_IGNCR   0000200
629
#define TARGET_ICRNL   0000400
630
#define TARGET_IUCLC   0001000
631
#define TARGET_IXON    0002000
632
#define TARGET_IXANY   0004000
633
#define TARGET_IXOFF   0010000
634
#define TARGET_IMAXBEL 0020000
635

    
636
/* c_oflag bits */
637
#define TARGET_OPOST   0000001
638
#define TARGET_OLCUC   0000002
639
#define TARGET_ONLCR   0000004
640
#define TARGET_OCRNL   0000010
641
#define TARGET_ONOCR   0000020
642
#define TARGET_ONLRET  0000040
643
#define TARGET_OFILL   0000100
644
#define TARGET_OFDEL   0000200
645
#define TARGET_NLDLY   0000400
646
#define   TARGET_NL0   0000000
647
#define   TARGET_NL1   0000400
648
#define TARGET_CRDLY   0003000
649
#define   TARGET_CR0   0000000
650
#define   TARGET_CR1   0001000
651
#define   TARGET_CR2   0002000
652
#define   TARGET_CR3   0003000
653
#define TARGET_TABDLY  0014000
654
#define   TARGET_TAB0  0000000
655
#define   TARGET_TAB1  0004000
656
#define   TARGET_TAB2  0010000
657
#define   TARGET_TAB3  0014000
658
#define   TARGET_XTABS 0014000
659
#define TARGET_BSDLY   0020000
660
#define   TARGET_BS0   0000000
661
#define   TARGET_BS1   0020000
662
#define TARGET_VTDLY   0040000
663
#define   TARGET_VT0   0000000
664
#define   TARGET_VT1   0040000
665
#define TARGET_FFDLY   0100000
666
#define   TARGET_FF0   0000000
667
#define   TARGET_FF1   0100000
668

    
669
/* c_cflag bit meaning */
670
#define TARGET_CBAUD   0010017
671
#define  TARGET_B0     0000000         /* hang up */
672
#define  TARGET_B50    0000001
673
#define  TARGET_B75    0000002
674
#define  TARGET_B110   0000003
675
#define  TARGET_B134   0000004
676
#define  TARGET_B150   0000005
677
#define  TARGET_B200   0000006
678
#define  TARGET_B300   0000007
679
#define  TARGET_B600   0000010
680
#define  TARGET_B1200  0000011
681
#define  TARGET_B1800  0000012
682
#define  TARGET_B2400  0000013
683
#define  TARGET_B4800  0000014
684
#define  TARGET_B9600  0000015
685
#define  TARGET_B19200 0000016
686
#define  TARGET_B38400 0000017
687
#define TARGET_EXTA B19200
688
#define TARGET_EXTB B38400
689
#define TARGET_CSIZE   0000060
690
#define   TARGET_CS5   0000000
691
#define   TARGET_CS6   0000020
692
#define   TARGET_CS7   0000040
693
#define   TARGET_CS8   0000060
694
#define TARGET_CSTOPB  0000100
695
#define TARGET_CREAD   0000200
696
#define TARGET_PARENB  0000400
697
#define TARGET_PARODD  0001000
698
#define TARGET_HUPCL   0002000
699
#define TARGET_CLOCAL  0004000
700
#define TARGET_CBAUDEX 0010000
701
#define  TARGET_B57600  0010001
702
#define  TARGET_B115200 0010002
703
#define  TARGET_B230400 0010003
704
#define  TARGET_B460800 0010004
705
#define TARGET_CIBAUD    002003600000  /* input baud rate (not used) */
706
#define TARGET_CRTSCTS   020000000000          /* flow control */
707

    
708
/* c_lflag bits */
709
#define TARGET_ISIG    0000001
710
#define TARGET_ICANON  0000002
711
#define TARGET_XCASE   0000004
712
#define TARGET_ECHO    0000010
713
#define TARGET_ECHOE   0000020
714
#define TARGET_ECHOK   0000040
715
#define TARGET_ECHONL  0000100
716
#define TARGET_NOFLSH  0000200
717
#define TARGET_TOSTOP  0000400
718
#define TARGET_ECHOCTL 0001000
719
#define TARGET_ECHOPRT 0002000
720
#define TARGET_ECHOKE  0004000
721
#define TARGET_FLUSHO  0010000
722
#define TARGET_PENDIN  0040000
723
#define TARGET_IEXTEN  0100000
724

    
725
/* c_cc character offsets */
726
#define TARGET_VINTR        0
727
#define TARGET_VQUIT        1
728
#define TARGET_VERASE        2
729
#define TARGET_VKILL        3
730
#define TARGET_VEOF        4
731
#define TARGET_VTIME        5
732
#define TARGET_VMIN        6
733
#define TARGET_VSWTC        7
734
#define TARGET_VSTART        8
735
#define TARGET_VSTOP        9
736
#define TARGET_VSUSP        10
737
#define TARGET_VEOL        11
738
#define TARGET_VREPRINT        12
739
#define TARGET_VDISCARD        13
740
#define TARGET_VWERASE        14
741
#define TARGET_VLNEXT        15
742
#define TARGET_VEOL2        16
743

    
744
#define TARGET_LDT_ENTRIES      8192
745
#define TARGET_LDT_ENTRY_SIZE        8
746

    
747
#define TARGET_GDT_ENTRY_TLS_ENTRIES   3
748
#define TARGET_GDT_ENTRY_TLS_MIN       6
749
#define TARGET_GDT_ENTRY_TLS_MAX       (TARGET_GDT_ENTRY_TLS_MIN + TARGET_GDT_ENTRY_TLS_ENTRIES - 1)
750

    
751
struct target_modify_ldt_ldt_s {
752
    unsigned int  entry_number;
753
    target_ulong base_addr;
754
    unsigned int limit;
755
    unsigned int flags;
756
};
757

    
758

    
759
/* vm86 defines */
760

    
761
#define TARGET_BIOSSEG                0x0f000
762

    
763
#define TARGET_VM86_SIGNAL        0        /* return due to signal */
764
#define TARGET_VM86_UNKNOWN        1        /* unhandled GP fault - IO-instruction or similar */
765
#define TARGET_VM86_INTx        2        /* int3/int x instruction (ARG = x) */
766
#define TARGET_VM86_STI        3        /* sti/popf/iret instruction enabled virtual interrupts */
767

    
768
/*
769
 * Additional return values when invoking new vm86()
770
 */
771
#define TARGET_VM86_PICRETURN        4        /* return due to pending PIC request */
772
#define TARGET_VM86_TRAP        6        /* return due to DOS-debugger request */
773

    
774
/*
775
 * function codes when invoking new vm86()
776
 */
777
#define TARGET_VM86_PLUS_INSTALL_CHECK        0
778
#define TARGET_VM86_ENTER                1
779
#define TARGET_VM86_ENTER_NO_BYPASS        2
780
#define        TARGET_VM86_REQUEST_IRQ        3
781
#define TARGET_VM86_FREE_IRQ                4
782
#define TARGET_VM86_GET_IRQ_BITS        5
783
#define TARGET_VM86_GET_AND_RESET_IRQ        6
784

    
785
/*
786
 * This is the stack-layout seen by the user space program when we have
787
 * done a translation of "SAVE_ALL" from vm86 mode. The real kernel layout
788
 * is 'kernel_vm86_regs' (see below).
789
 */
790

    
791
struct target_vm86_regs {
792
/*
793
 * normal regs, with special meaning for the segment descriptors..
794
 */
795
        target_long ebx;
796
        target_long ecx;
797
        target_long edx;
798
        target_long esi;
799
        target_long edi;
800
        target_long ebp;
801
        target_long eax;
802
        target_long __null_ds;
803
        target_long __null_es;
804
        target_long __null_fs;
805
        target_long __null_gs;
806
        target_long orig_eax;
807
        target_long eip;
808
        unsigned short cs, __csh;
809
        target_long eflags;
810
        target_long esp;
811
        unsigned short ss, __ssh;
812
/*
813
 * these are specific to v86 mode:
814
 */
815
        unsigned short es, __esh;
816
        unsigned short ds, __dsh;
817
        unsigned short fs, __fsh;
818
        unsigned short gs, __gsh;
819
};
820

    
821
struct target_revectored_struct {
822
        target_ulong __map[8];                        /* 256 bits */
823
};
824

    
825
struct target_vm86_struct {
826
        struct target_vm86_regs regs;
827
        target_ulong flags;
828
        target_ulong screen_bitmap;
829
        target_ulong cpu_type;
830
        struct target_revectored_struct int_revectored;
831
        struct target_revectored_struct int21_revectored;
832
};
833

    
834
/*
835
 * flags masks
836
 */
837
#define TARGET_VM86_SCREEN_BITMAP        0x0001
838

    
839
struct target_vm86plus_info_struct {
840
        target_ulong flags;
841
#define TARGET_force_return_for_pic (1 << 0)
842
#define TARGET_vm86dbg_active       (1 << 1)  /* for debugger */
843
#define TARGET_vm86dbg_TFpendig     (1 << 2)  /* for debugger */
844
#define TARGET_is_vm86pus           (1 << 31) /* for vm86 internal use */
845
        unsigned char vm86dbg_intxxtab[32];   /* for debugger */
846
};
847

    
848
struct target_vm86plus_struct {
849
        struct target_vm86_regs regs;
850
        target_ulong flags;
851
        target_ulong screen_bitmap;
852
        target_ulong cpu_type;
853
        struct target_revectored_struct int_revectored;
854
        struct target_revectored_struct int21_revectored;
855
        struct target_vm86plus_info_struct vm86plus;
856
};
857

    
858
/* ipcs */
859

    
860
#define TARGET_SEMOP           1
861
#define TARGET_SEMGET          2
862
#define TARGET_SEMCTL          3 
863
#define TARGET_MSGSND          11 
864
#define TARGET_MSGRCV          12
865
#define TARGET_MSGGET          13
866
#define TARGET_MSGCTL          14
867
#define TARGET_SHMAT           21
868
#define TARGET_SHMDT           22
869
#define TARGET_SHMGET          23
870
#define TARGET_SHMCTL          24
871

    
872
struct target_msgbuf {
873
        int mtype;
874
        char mtext[1];
875
};
876

    
877
struct target_ipc_kludge {
878
        unsigned int        msgp;        /* Really (struct msgbuf *) */
879
        int msgtyp;
880
};        
881

    
882
struct alpha_msgbuf {
883
        long        mtype;
884
        char        mtext[4096];
885
};
886

    
887
struct target_ipc_perm {
888
        int        key;
889
        unsigned short        uid;
890
        unsigned short        gid;
891
        unsigned short        cuid;
892
        unsigned short        cgid;
893
        unsigned short        mode;
894
        unsigned short        seq;
895
};
896

    
897
struct target_msqid_ds {
898
        struct target_ipc_perm        msg_perm;
899
        unsigned int                msg_first;        /* really struct target_msg* */
900
        unsigned int                msg_last;        /* really struct target_msg* */
901
        unsigned int                msg_stime;        /* really target_time_t */
902
        unsigned int                msg_rtime;        /* really target_time_t */
903
        unsigned int                msg_ctime;        /* really target_time_t */
904
        unsigned int                wwait;                /* really struct wait_queue* */
905
        unsigned int                rwait;                /* really struct wait_queue* */
906
        unsigned short                msg_cbytes;
907
        unsigned short                msg_qnum;
908
        unsigned short                msg_qbytes;
909
        unsigned short                msg_lspid;
910
        unsigned short                msg_lrpid;
911
};
912

    
913
struct target_shmid_ds {
914
        struct target_ipc_perm        shm_perm;
915
        int                        shm_segsz;
916
        unsigned int                shm_atime;        /* really target_time_t */
917
        unsigned int                shm_dtime;        /* really target_time_t */
918
        unsigned int                shm_ctime;        /* really target_time_t */
919
        unsigned short                shm_cpid;
920
        unsigned short                shm_lpid;
921
        short                        shm_nattch;
922
        unsigned short                shm_npages;
923
        unsigned long                *shm_pages;
924
        void                         *attaches;        /* really struct shm_desc * */
925
};
926

    
927
#define TARGET_IPC_RMID        0
928
#define TARGET_IPC_SET        1
929
#define TARGET_IPC_STAT        2
930

    
931
union target_semun {
932
    int val;
933
    unsigned int buf;        /* really struct semid_ds * */
934
    unsigned int array; /* really unsigned short * */
935
    unsigned int __buf;        /* really struct seminfo * */
936
    unsigned int __pad;        /* really void* */
937
};
938

    
939
/* soundcard defines (XXX: move them to generic file syscall_defs.h) */
940

    
941
#define TARGET_SNDCTL_COPR_HALT           0xc0144307
942
#define TARGET_SNDCTL_COPR_LOAD           0xcfb04301
943
#define TARGET_SNDCTL_COPR_RCODE          0xc0144303
944
#define TARGET_SNDCTL_COPR_RCVMSG         0x8fa44309
945
#define TARGET_SNDCTL_COPR_RDATA          0xc0144302
946
#define TARGET_SNDCTL_COPR_RESET          0x00004300
947
#define TARGET_SNDCTL_COPR_RUN            0xc0144306
948
#define TARGET_SNDCTL_COPR_SENDMSG        0xcfa44308
949
#define TARGET_SNDCTL_COPR_WCODE          0x40144305
950
#define TARGET_SNDCTL_COPR_WDATA          0x40144304
951
#define TARGET_SNDCTL_DSP_CHANNELS        0xc0045006
952
#define TARGET_SNDCTL_DSP_GETBLKSIZE      0xc0045004
953
#define TARGET_SNDCTL_DSP_GETCAPS         0x8004500f
954
#define TARGET_SNDCTL_DSP_GETFMTS         0x8004500b
955
#define TARGET_SNDCTL_DSP_GETIPTR         0x800c5011
956
#define TARGET_SNDCTL_DSP_GETISPACE       0x8010500d
957
#define TARGET_SNDCTL_DSP_GETOPTR         0x800c5012
958
#define TARGET_SNDCTL_DSP_GETOSPACE       0x8010500c
959
#define TARGET_SNDCTL_DSP_GETTRIGGER      0x80045010
960
#define TARGET_SNDCTL_DSP_MAPINBUF        0x80085013
961
#define TARGET_SNDCTL_DSP_MAPOUTBUF       0x80085014
962
#define TARGET_SNDCTL_DSP_NONBLOCK        0x0000500e
963
#define TARGET_SNDCTL_DSP_POST            0x00005008
964
#define TARGET_SNDCTL_DSP_RESET           0x00005000
965
#define TARGET_SNDCTL_DSP_SAMPLESIZE      0xc0045005
966
#define TARGET_SNDCTL_DSP_SETDUPLEX       0x00005016
967
#define TARGET_SNDCTL_DSP_SETFMT          0xc0045005
968
#define TARGET_SNDCTL_DSP_SETFRAGMENT     0xc004500a
969
#define TARGET_SNDCTL_DSP_SETSYNCRO       0x00005015
970
#define TARGET_SNDCTL_DSP_SETTRIGGER      0x40045010
971
#define TARGET_SNDCTL_DSP_SPEED           0xc0045002
972
#define TARGET_SNDCTL_DSP_STEREO          0xc0045003
973
#define TARGET_SNDCTL_DSP_SUBDIVIDE       0xc0045009
974
#define TARGET_SNDCTL_DSP_SYNC            0x00005001
975
#define TARGET_SNDCTL_FM_4OP_ENABLE       0x4004510f
976
#define TARGET_SNDCTL_FM_LOAD_INSTR       0x40285107
977
#define TARGET_SNDCTL_MIDI_INFO           0xc074510c
978
#define TARGET_SNDCTL_MIDI_MPUCMD         0xc0216d02
979
#define TARGET_SNDCTL_MIDI_MPUMODE        0xc0046d01
980
#define TARGET_SNDCTL_MIDI_PRETIME        0xc0046d00
981
#define TARGET_SNDCTL_PMGR_ACCESS         0xcfb85110
982
#define TARGET_SNDCTL_PMGR_IFACE          0xcfb85001
983
#define TARGET_SNDCTL_SEQ_CTRLRATE        0xc0045103
984
#define TARGET_SNDCTL_SEQ_GETINCOUNT      0x80045105
985
#define TARGET_SNDCTL_SEQ_GETOUTCOUNT     0x80045104
986
#define TARGET_SNDCTL_SEQ_NRMIDIS         0x8004510b
987
#define TARGET_SNDCTL_SEQ_NRSYNTHS        0x8004510a
988
#define TARGET_SNDCTL_SEQ_OUTOFBAND       0x40085112
989
#define TARGET_SNDCTL_SEQ_PANIC           0x00005111
990
#define TARGET_SNDCTL_SEQ_PERCMODE        0x40045106
991
#define TARGET_SNDCTL_SEQ_RESET           0x00005100
992
#define TARGET_SNDCTL_SEQ_RESETSAMPLES    0x40045109
993
#define TARGET_SNDCTL_SEQ_SYNC            0x00005101
994
#define TARGET_SNDCTL_SEQ_TESTMIDI        0x40045108
995
#define TARGET_SNDCTL_SEQ_THRESHOLD       0x4004510d
996
#define TARGET_SNDCTL_SEQ_TRESHOLD        0x4004510d
997
#define TARGET_SNDCTL_SYNTH_INFO          0xc08c5102
998
#define TARGET_SNDCTL_SYNTH_MEMAVL        0xc004510e
999
#define TARGET_SNDCTL_TMR_CONTINUE        0x00005404
1000
#define TARGET_SNDCTL_TMR_METRONOME       0x40045407
1001
#define TARGET_SNDCTL_TMR_SELECT          0x40045408
1002
#define TARGET_SNDCTL_TMR_SOURCE          0xc0045406
1003
#define TARGET_SNDCTL_TMR_START           0x00005402
1004
#define TARGET_SNDCTL_TMR_STOP            0x00005403
1005
#define TARGET_SNDCTL_TMR_TEMPO           0xc0045405
1006
#define TARGET_SNDCTL_TMR_TIMEBASE        0xc0045401
1007
#define TARGET_SOUND_PCM_WRITE_FILTER     0xc0045007
1008
#define TARGET_SOUND_PCM_READ_RATE        0x80045002
1009
#define TARGET_SOUND_PCM_READ_CHANNELS    0x80045006
1010
#define TARGET_SOUND_PCM_READ_BITS        0x80045005
1011
#define TARGET_SOUND_PCM_READ_FILTER      0x80045007
1012
#define TARGET_SOUND_MIXER_INFO           0x80304d65
1013
#define TARGET_SOUND_MIXER_ACCESS         0xc0804d66
1014
#define TARGET_SOUND_MIXER_PRIVATE1       0xc0044d6f
1015
#define TARGET_SOUND_MIXER_PRIVATE2       0xc0044d70
1016
#define TARGET_SOUND_MIXER_PRIVATE3       0xc0044d71
1017
#define TARGET_SOUND_MIXER_PRIVATE4       0xc0044d72
1018
#define TARGET_SOUND_MIXER_PRIVATE5       0xc0044d73
1019
#define TARGET_SOUND_MIXER_READ_VOLUME    0x80044d00
1020
#define TARGET_SOUND_MIXER_READ_BASS      0x80044d01
1021
#define TARGET_SOUND_MIXER_READ_TREBLE    0x80044d02
1022
#define TARGET_SOUND_MIXER_READ_SYNTH     0x80044d03
1023
#define TARGET_SOUND_MIXER_READ_PCM       0x80044d04
1024
#define TARGET_SOUND_MIXER_READ_SPEAKER   0x80044d05
1025
#define TARGET_SOUND_MIXER_READ_LINE      0x80044d06
1026
#define TARGET_SOUND_MIXER_READ_MIC       0x80044d07
1027
#define TARGET_SOUND_MIXER_READ_CD        0x80044d08
1028
#define TARGET_SOUND_MIXER_READ_IMIX      0x80044d09
1029
#define TARGET_SOUND_MIXER_READ_ALTPCM    0x80044d0a
1030
#define TARGET_SOUND_MIXER_READ_RECLEV    0x80044d0b
1031
#define TARGET_SOUND_MIXER_READ_IGAIN     0x80044d0c
1032
#define TARGET_SOUND_MIXER_READ_OGAIN     0x80044d0d
1033
#define TARGET_SOUND_MIXER_READ_LINE1     0x80044d0e
1034
#define TARGET_SOUND_MIXER_READ_LINE2     0x80044d0f
1035
#define TARGET_SOUND_MIXER_READ_LINE3     0x80044d10
1036
#define TARGET_SOUND_MIXER_READ_MUTE      0x80044d1f
1037
#define TARGET_SOUND_MIXER_READ_ENHANCE   0x80044d1f
1038
#define TARGET_SOUND_MIXER_READ_LOUD      0x80044d1f
1039
#define TARGET_SOUND_MIXER_READ_RECSRC    0x80044dff
1040
#define TARGET_SOUND_MIXER_READ_DEVMASK   0x80044dfe
1041
#define TARGET_SOUND_MIXER_READ_RECMASK   0x80044dfd
1042
#define TARGET_SOUND_MIXER_READ_STEREODEVS  0x80044dfb
1043
#define TARGET_SOUND_MIXER_READ_CAPS      0x80044dfc
1044
#define TARGET_SOUND_MIXER_WRITE_VOLUME   0xc0044d00
1045
#define TARGET_SOUND_MIXER_WRITE_BASS     0xc0044d01
1046
#define TARGET_SOUND_MIXER_WRITE_TREBLE   0xc0044d02
1047
#define TARGET_SOUND_MIXER_WRITE_SYNTH    0xc0044d03
1048
#define TARGET_SOUND_MIXER_WRITE_PCM      0xc0044d04
1049
#define TARGET_SOUND_MIXER_WRITE_SPEAKER  0xc0044d05
1050
#define TARGET_SOUND_MIXER_WRITE_LINE     0xc0044d06
1051
#define TARGET_SOUND_MIXER_WRITE_MIC      0xc0044d07
1052
#define TARGET_SOUND_MIXER_WRITE_CD       0xc0044d08
1053
#define TARGET_SOUND_MIXER_WRITE_IMIX     0xc0044d09
1054
#define TARGET_SOUND_MIXER_WRITE_ALTPCM   0xc0044d0a
1055
#define TARGET_SOUND_MIXER_WRITE_RECLEV   0xc0044d0b
1056
#define TARGET_SOUND_MIXER_WRITE_IGAIN    0xc0044d0c
1057
#define TARGET_SOUND_MIXER_WRITE_OGAIN    0xc0044d0d
1058
#define TARGET_SOUND_MIXER_WRITE_LINE1    0xc0044d0e
1059
#define TARGET_SOUND_MIXER_WRITE_LINE2    0xc0044d0f
1060
#define TARGET_SOUND_MIXER_WRITE_LINE3    0xc0044d10
1061
#define TARGET_SOUND_MIXER_WRITE_MUTE     0xc0044d1f
1062
#define TARGET_SOUND_MIXER_WRITE_ENHANCE  0xc0044d1f
1063
#define TARGET_SOUND_MIXER_WRITE_LOUD     0xc0044d1f
1064
#define TARGET_SOUND_MIXER_WRITE_RECSRC   0xc0044dff
1065

    
1066
#define TARGET_VFAT_IOCTL_READDIR_BOTH    0x82187201
1067
#define TARGET_VFAT_IOCTL_READDIR_SHORT   0x82187202
1068

    
1069
#define TARGET_SIOCATMARK        0x8905