00001
00002
00003
00004
00005
00006
00007 #include "syscall_nr.h"
00008
00009 #define SOCKOP_socket 1
00010 #define SOCKOP_bind 2
00011 #define SOCKOP_connect 3
00012 #define SOCKOP_listen 4
00013 #define SOCKOP_accept 5
00014 #define SOCKOP_getsockname 6
00015 #define SOCKOP_getpeername 7
00016 #define SOCKOP_socketpair 8
00017 #define SOCKOP_send 9
00018 #define SOCKOP_recv 10
00019 #define SOCKOP_sendto 11
00020 #define SOCKOP_recvfrom 12
00021 #define SOCKOP_shutdown 13
00022 #define SOCKOP_setsockopt 14
00023 #define SOCKOP_getsockopt 15
00024 #define SOCKOP_sendmsg 16
00025 #define SOCKOP_recvmsg 17
00026
00027 #define IPCOP_semop 1
00028 #define IPCOP_semget 2
00029 #define IPCOP_semctl 3
00030 #define IPCOP_semtimedop 4
00031 #define IPCOP_msgsnd 11
00032 #define IPCOP_msgrcv 12
00033 #define IPCOP_msgget 13
00034 #define IPCOP_msgctl 14
00035 #define IPCOP_shmat 21
00036 #define IPCOP_shmdt 22
00037 #define IPCOP_shmget 23
00038 #define IPCOP_shmctl 24
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 #define TARGET_IOC_NRBITS 8
00049 #define TARGET_IOC_TYPEBITS 8
00050
00051 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SH4) \
00052 || defined(TARGET_M68K) || defined(TARGET_CRIS)
00053
00054 #define TARGET_IOC_SIZEBITS 14
00055 #define TARGET_IOC_DIRBITS 2
00056
00057 #define TARGET_IOC_NONE 0U
00058 #define TARGET_IOC_WRITE 1U
00059 #define TARGET_IOC_READ 2U
00060
00061 #elif defined(TARGET_PPC) || defined(TARGET_ALPHA) || \
00062 defined(TARGET_SPARC) || defined(TARGET_MIPS)
00063
00064 #define TARGET_IOC_SIZEBITS 13
00065 #define TARGET_IOC_DIRBITS 3
00066
00067 #define TARGET_IOC_NONE 1U
00068 #define TARGET_IOC_READ 2U
00069 #define TARGET_IOC_WRITE 4U
00070
00071 #else
00072 #error unsupported CPU
00073 #endif
00074
00075 #define TARGET_IOC_NRMASK ((1 << TARGET_IOC_NRBITS)-1)
00076 #define TARGET_IOC_TYPEMASK ((1 << TARGET_IOC_TYPEBITS)-1)
00077 #define TARGET_IOC_SIZEMASK ((1 << TARGET_IOC_SIZEBITS)-1)
00078 #define TARGET_IOC_DIRMASK ((1 << TARGET_IOC_DIRBITS)-1)
00079
00080 #define TARGET_IOC_NRSHIFT 0
00081 #define TARGET_IOC_TYPESHIFT (TARGET_IOC_NRSHIFT+TARGET_IOC_NRBITS)
00082 #define TARGET_IOC_SIZESHIFT (TARGET_IOC_TYPESHIFT+TARGET_IOC_TYPEBITS)
00083 #define TARGET_IOC_DIRSHIFT (TARGET_IOC_SIZESHIFT+TARGET_IOC_SIZEBITS)
00084
00085 #define TARGET_IOC(dir,type,nr,size) \
00086 (((dir) << TARGET_IOC_DIRSHIFT) | \
00087 ((type) << TARGET_IOC_TYPESHIFT) | \
00088 ((nr) << TARGET_IOC_NRSHIFT) | \
00089 ((size) << TARGET_IOC_SIZESHIFT))
00090
00091
00092 #define TARGET_IO(type,nr) TARGET_IOC(TARGET_IOC_NONE,(type),(nr),0)
00093 #define TARGET_IOR(type,nr,size) TARGET_IOC(TARGET_IOC_READ,(type),(nr),sizeof(size))
00094 #define TARGET_IOW(type,nr,size) TARGET_IOC(TARGET_IOC_WRITE,(type),(nr),sizeof(size))
00095 #define TARGET_IOWR(type,nr,size) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),sizeof(size))
00096
00097
00098 #define TARGET_IORU(type,nr) TARGET_IOC(TARGET_IOC_READ,(type),(nr),TARGET_IOC_SIZEMASK)
00099 #define TARGET_IOWU(type,nr) TARGET_IOC(TARGET_IOC_WRITE,(type),(nr),TARGET_IOC_SIZEMASK)
00100 #define TARGET_IOWRU(type,nr) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,(type),(nr),TARGET_IOC_SIZEMASK)
00101
00102 struct target_sockaddr {
00103 uint16_t sa_family;
00104 uint8_t sa_data[14];
00105 };
00106
00107 struct target_timeval {
00108 abi_long tv_sec;
00109 abi_long tv_usec;
00110 };
00111
00112 struct target_timespec {
00113 abi_long tv_sec;
00114 abi_long tv_nsec;
00115 };
00116
00117 struct target_itimerval {
00118 struct target_timeval it_interval;
00119 struct target_timeval it_value;
00120 };
00121
00122 typedef abi_long target_clock_t;
00123
00124 #define TARGET_HZ 100
00125
00126 struct target_tms {
00127 target_clock_t tms_utime;
00128 target_clock_t tms_stime;
00129 target_clock_t tms_cutime;
00130 target_clock_t tms_cstime;
00131 };
00132
00133 struct target_utimbuf {
00134 abi_long actime;
00135 abi_long modtime;
00136 };
00137
00138 struct target_sel_arg_struct {
00139 abi_long n;
00140 abi_long inp, outp, exp;
00141 abi_long tvp;
00142 };
00143
00144 struct target_iovec {
00145 abi_long iov_base;
00146 abi_long iov_len;
00147 };
00148
00149 struct target_msghdr {
00150 abi_long msg_name;
00151 int msg_namelen;
00152 abi_long msg_iov;
00153 abi_long msg_iovlen;
00154 abi_long msg_control;
00155 abi_long msg_controllen;
00156 unsigned int msg_flags;
00157 };
00158
00159 struct target_cmsghdr {
00160 abi_long cmsg_len;
00161 int cmsg_level;
00162 int cmsg_type;
00163 };
00164
00165 #define TARGET_CMSG_DATA(cmsg) ((unsigned char *) ((struct target_cmsghdr *) (cmsg) + 1))
00166 #define TARGET_CMSG_NXTHDR(mhdr, cmsg) __target_cmsg_nxthdr (mhdr, cmsg)
00167 #define TARGET_CMSG_ALIGN(len) (((len) + sizeof (abi_long) - 1) \
00168 & (size_t) ~(sizeof (abi_long) - 1))
00169 #define TARGET_CMSG_SPACE(len) (TARGET_CMSG_ALIGN (len) \
00170 + TARGET_CMSG_ALIGN (sizeof (struct target_cmsghdr)))
00171 #define TARGET_CMSG_LEN(len) (TARGET_CMSG_ALIGN (sizeof (struct target_cmsghdr)) + (len))
00172
00173 static __inline__ struct target_cmsghdr *
00174 __target_cmsg_nxthdr (struct target_msghdr *__mhdr, struct target_cmsghdr *__cmsg)
00175 {
00176 struct target_cmsghdr *__ptr;
00177
00178 __ptr = (struct target_cmsghdr *)((unsigned char *) __cmsg
00179 + TARGET_CMSG_ALIGN (tswapl(__cmsg->cmsg_len)));
00180 if ((unsigned long)((char *)(__ptr+1) - (char *)(size_t)tswapl(__mhdr->msg_control))
00181 > tswapl(__mhdr->msg_controllen))
00182
00183 return (struct target_cmsghdr *)0;
00184 return __cmsg;
00185 }
00186
00187
00188 struct target_rusage {
00189 struct target_timeval ru_utime;
00190 struct target_timeval ru_stime;
00191 abi_long ru_maxrss;
00192 abi_long ru_ixrss;
00193 abi_long ru_idrss;
00194 abi_long ru_isrss;
00195 abi_long ru_minflt;
00196 abi_long ru_majflt;
00197 abi_long ru_nswap;
00198 abi_long ru_inblock;
00199 abi_long ru_oublock;
00200 abi_long ru_msgsnd;
00201 abi_long ru_msgrcv;
00202 abi_long ru_nsignals;
00203 abi_long ru_nvcsw;
00204 abi_long ru_nivcsw;
00205 };
00206
00207 typedef struct {
00208 int val[2];
00209 } kernel_fsid_t;
00210
00211 struct kernel_statfs {
00212 int f_type;
00213 int f_bsize;
00214 int f_blocks;
00215 int f_bfree;
00216 int f_bavail;
00217 int f_files;
00218 int f_ffree;
00219 kernel_fsid_t f_fsid;
00220 int f_namelen;
00221 int f_spare[6];
00222 };
00223
00224 struct target_dirent {
00225 abi_long d_ino;
00226 abi_long d_off;
00227 unsigned short d_reclen;
00228 char d_name[256];
00229 };
00230
00231 struct target_dirent64 {
00232 uint64_t d_ino;
00233 int64_t d_off;
00234 unsigned short d_reclen;
00235 unsigned char d_type;
00236 char d_name[256];
00237 };
00238
00239
00240
00241 #define TARGET_SIG_DFL ((abi_long)0)
00242 #define TARGET_SIG_IGN ((abi_long)1)
00243 #define TARGET_SIG_ERR ((abi_long)-1)
00244
00245 #ifdef TARGET_MIPS
00246 #define TARGET_NSIG 128
00247 #else
00248 #define TARGET_NSIG 64
00249 #endif
00250 #define TARGET_NSIG_BPW TARGET_ABI_BITS
00251 #define TARGET_NSIG_WORDS (TARGET_NSIG / TARGET_NSIG_BPW)
00252
00253 typedef struct {
00254 abi_ulong sig[TARGET_NSIG_WORDS];
00255 } target_sigset_t;
00256
00257 #ifdef BSWAP_NEEDED
00258 static inline void tswap_sigset(target_sigset_t *d, const target_sigset_t *s)
00259 {
00260 int i;
00261 for(i = 0;i < TARGET_NSIG_WORDS; i++)
00262 d->sig[i] = tswapl(s->sig[i]);
00263 }
00264 #else
00265 static inline void tswap_sigset(target_sigset_t *d, const target_sigset_t *s)
00266 {
00267 *d = *s;
00268 }
00269 #endif
00270
00271 static inline void target_siginitset(target_sigset_t *d, abi_ulong set)
00272 {
00273 int i;
00274 d->sig[0] = set;
00275 for(i = 1;i < TARGET_NSIG_WORDS; i++)
00276 d->sig[i] = 0;
00277 }
00278
00279 void host_to_target_sigset(target_sigset_t *d, const sigset_t *s);
00280 void target_to_host_sigset(sigset_t *d, const target_sigset_t *s);
00281 void host_to_target_old_sigset(abi_ulong *old_sigset,
00282 const sigset_t *sigset);
00283 void target_to_host_old_sigset(sigset_t *sigset,
00284 const abi_ulong *old_sigset);
00285 struct target_sigaction;
00286 int do_sigaction(int sig, const struct target_sigaction *act,
00287 struct target_sigaction *oact);
00288
00289 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) || defined(TARGET_PPC) || defined(TARGET_MIPS) || defined (TARGET_SH4) || defined(TARGET_M68K) || defined(TARGET_ALPHA) || defined(TARGET_CRIS)
00290
00291 #if defined(TARGET_SPARC)
00292 #define TARGET_SA_NOCLDSTOP 8u
00293 #define TARGET_SA_NOCLDWAIT 0x100u
00294 #define TARGET_SA_SIGINFO 0x200u
00295 #define TARGET_SA_ONSTACK 1u
00296 #define TARGET_SA_RESTART 2u
00297 #define TARGET_SA_NODEFER 0x20u
00298 #define TARGET_SA_RESETHAND 4u
00299 #elif defined(TARGET_MIPS)
00300 #define TARGET_SA_NOCLDSTOP 0x00000001
00301 #define TARGET_SA_NOCLDWAIT 0x00010000
00302 #define TARGET_SA_SIGINFO 0x00000008
00303 #define TARGET_SA_ONSTACK 0x08000000
00304 #define TARGET_SA_NODEFER 0x40000000
00305 #define TARGET_SA_RESTART 0x10000000
00306 #define TARGET_SA_RESETHAND 0x80000000
00307 #if !defined(TARGET_ABI_MIPSN32) && !defined(TARGET_ABI_MIPSN64)
00308 #define TARGET_SA_RESTORER 0x04000000
00309 #endif
00310 #else
00311 #define TARGET_SA_NOCLDSTOP 0x00000001
00312 #define TARGET_SA_NOCLDWAIT 0x00000002
00313 #define TARGET_SA_SIGINFO 0x00000004
00314 #define TARGET_SA_ONSTACK 0x08000000
00315 #define TARGET_SA_RESTART 0x10000000
00316 #define TARGET_SA_NODEFER 0x40000000
00317 #define TARGET_SA_RESETHAND 0x80000000
00318 #define TARGET_SA_RESTORER 0x04000000
00319 #endif
00320
00321 #if defined(TARGET_SPARC)
00322
00323 #define TARGET_SIGHUP 1
00324 #define TARGET_SIGINT 2
00325 #define TARGET_SIGQUIT 3
00326 #define TARGET_SIGILL 4
00327 #define TARGET_SIGTRAP 5
00328 #define TARGET_SIGABRT 6
00329 #define TARGET_SIGIOT 6
00330 #define TARGET_SIGSTKFLT 7
00331 #define TARGET_SIGFPE 8
00332 #define TARGET_SIGKILL 9
00333 #define TARGET_SIGBUS 10
00334 #define TARGET_SIGSEGV 11
00335 #define TARGET_SIGSYS 12
00336 #define TARGET_SIGPIPE 13
00337 #define TARGET_SIGALRM 14
00338 #define TARGET_SIGTERM 15
00339 #define TARGET_SIGURG 16
00340 #define TARGET_SIGSTOP 17
00341 #define TARGET_SIGTSTP 18
00342 #define TARGET_SIGCONT 19
00343 #define TARGET_SIGCHLD 20
00344 #define TARGET_SIGTTIN 21
00345 #define TARGET_SIGTTOU 22
00346 #define TARGET_SIGIO 23
00347 #define TARGET_SIGXCPU 24
00348 #define TARGET_SIGXFSZ 25
00349 #define TARGET_SIGVTALRM 26
00350 #define TARGET_SIGPROF 27
00351 #define TARGET_SIGWINCH 28
00352 #define TARGET_SIGPWR 29
00353 #define TARGET_SIGUSR1 30
00354 #define TARGET_SIGUSR2 31
00355 #define TARGET_SIGRTMIN 32
00356
00357 #define TARGET_SIG_BLOCK 0x01
00358 #define TARGET_SIG_UNBLOCK 0x02
00359 #define TARGET_SIG_SETMASK 0x04
00360
00361 #elif defined(TARGET_MIPS)
00362
00363 #define TARGET_SIGHUP 1
00364 #define TARGET_SIGINT 2
00365 #define TARGET_SIGQUIT 3
00366 #define TARGET_SIGILL 4
00367 #define TARGET_SIGTRAP 5
00368 #define TARGET_SIGIOT 6
00369 #define TARGET_SIGABRT TARGET_SIGIOT
00370 #define TARGET_SIGEMT 7
00371 #define TARGET_SIGSTKFLT 7
00372 #define TARGET_SIGFPE 8
00373 #define TARGET_SIGKILL 9
00374 #define TARGET_SIGBUS 10
00375 #define TARGET_SIGSEGV 11
00376 #define TARGET_SIGSYS 12
00377 #define TARGET_SIGPIPE 13
00378 #define TARGET_SIGALRM 14
00379 #define TARGET_SIGTERM 15
00380 #define TARGET_SIGUSR1 16
00381 #define TARGET_SIGUSR2 17
00382 #define TARGET_SIGCHLD 18
00383 #define TARGET_SIGCLD TARGET_SIGCHLD
00384 #define TARGET_SIGPWR 19
00385 #define TARGET_SIGWINCH 20
00386 #define TARGET_SIGURG 21
00387 #define TARGET_SIGIO 22
00388 #define TARGET_SIGPOLL TARGET_SIGIO
00389 #define TARGET_SIGSTOP 23
00390 #define TARGET_SIGTSTP 24
00391 #define TARGET_SIGCONT 25
00392 #define TARGET_SIGTTIN 26
00393 #define TARGET_SIGTTOU 27
00394 #define TARGET_SIGVTALRM 28
00395 #define TARGET_SIGPROF 29
00396 #define TARGET_SIGXCPU 30
00397 #define TARGET_SIGXFSZ 31
00398 #define TARGET_SIGRTMIN 32
00399
00400 #define TARGET_SIG_BLOCK 1
00401 #define TARGET_SIG_UNBLOCK 2
00402 #define TARGET_SIG_SETMASK 3
00403
00404 #else
00405
00406 #define TARGET_SIGHUP 1
00407 #define TARGET_SIGINT 2
00408 #define TARGET_SIGQUIT 3
00409 #define TARGET_SIGILL 4
00410 #define TARGET_SIGTRAP 5
00411 #define TARGET_SIGABRT 6
00412 #define TARGET_SIGIOT 6
00413 #define TARGET_SIGBUS 7
00414 #define TARGET_SIGFPE 8
00415 #define TARGET_SIGKILL 9
00416 #define TARGET_SIGUSR1 10
00417 #define TARGET_SIGSEGV 11
00418 #define TARGET_SIGUSR2 12
00419 #define TARGET_SIGPIPE 13
00420 #define TARGET_SIGALRM 14
00421 #define TARGET_SIGTERM 15
00422 #define TARGET_SIGSTKFLT 16
00423 #define TARGET_SIGCHLD 17
00424 #define TARGET_SIGCONT 18
00425 #define TARGET_SIGSTOP 19
00426 #define TARGET_SIGTSTP 20
00427 #define TARGET_SIGTTIN 21
00428 #define TARGET_SIGTTOU 22
00429 #define TARGET_SIGURG 23
00430 #define TARGET_SIGXCPU 24
00431 #define TARGET_SIGXFSZ 25
00432 #define TARGET_SIGVTALRM 26
00433 #define TARGET_SIGPROF 27
00434 #define TARGET_SIGWINCH 28
00435 #define TARGET_SIGIO 29
00436 #define TARGET_SIGPWR 30
00437 #define TARGET_SIGSYS 31
00438 #define TARGET_SIGRTMIN 32
00439
00440 #define TARGET_SIG_BLOCK 0
00441 #define TARGET_SIG_UNBLOCK 1
00442 #define TARGET_SIG_SETMASK 2
00443
00444 #endif
00445
00446 #if defined(TARGET_MIPS)
00447
00448 struct target_sigaction {
00449 uint32_t sa_flags;
00450 #if defined(TARGET_ABI_MIPSN32)
00451 uint32_t _sa_handler;
00452 #else
00453 abi_ulong _sa_handler;
00454 #endif
00455 target_sigset_t sa_mask;
00456 };
00457
00458 #else
00459 struct target_old_sigaction {
00460 abi_ulong _sa_handler;
00461 abi_ulong sa_mask;
00462 abi_ulong sa_flags;
00463 abi_ulong sa_restorer;
00464 };
00465
00466 struct target_sigaction {
00467 abi_ulong _sa_handler;
00468 abi_ulong sa_flags;
00469 abi_ulong sa_restorer;
00470 target_sigset_t sa_mask;
00471 };
00472 #endif
00473
00474 typedef union target_sigval {
00475 int sival_int;
00476 abi_ulong sival_ptr;
00477 } target_sigval_t;
00478 #if 0
00479 #if defined (TARGET_SPARC)
00480 typedef struct {
00481 struct {
00482 abi_ulong psr;
00483 abi_ulong pc;
00484 abi_ulong npc;
00485 abi_ulong y;
00486 abi_ulong u_regs[16];
00487 } si_regs;
00488 int si_mask;
00489 } __siginfo_t;
00490
00491 typedef struct {
00492 unsigned long si_float_regs [32];
00493 unsigned long si_fsr;
00494 unsigned long si_fpqdepth;
00495 struct {
00496 unsigned long *insn_addr;
00497 unsigned long insn;
00498 } si_fpqueue [16];
00499 } __siginfo_fpu_t;
00500 #endif
00501 #endif
00502
00503 #define TARGET_SI_MAX_SIZE 128
00504 #define TARGET_SI_PAD_SIZE ((TARGET_SI_MAX_SIZE/sizeof(int)) - 3)
00505
00506 typedef struct target_siginfo {
00507 int si_signo;
00508 int si_errno;
00509 int si_code;
00510
00511 union {
00512 int _pad[TARGET_SI_PAD_SIZE];
00513
00514
00515 struct {
00516 pid_t _pid;
00517 uid_t _uid;
00518 } _kill;
00519
00520
00521 struct {
00522 unsigned int _timer1;
00523 unsigned int _timer2;
00524 } _timer;
00525
00526
00527 struct {
00528 pid_t _pid;
00529 uid_t _uid;
00530 target_sigval_t _sigval;
00531 } _rt;
00532
00533
00534 struct {
00535 pid_t _pid;
00536 uid_t _uid;
00537 int _status;
00538 target_clock_t _utime;
00539 target_clock_t _stime;
00540 } _sigchld;
00541
00542
00543 struct {
00544 abi_ulong _addr;
00545 } _sigfault;
00546
00547
00548 struct {
00549 int _band;
00550 int _fd;
00551 } _sigpoll;
00552 } _sifields;
00553 } target_siginfo_t;
00554
00555
00556
00557
00558
00559 #define TARGET_SI_USER 0
00560 #define TARGET_SI_KERNEL 0x80
00561 #define TARGET_SI_QUEUE -1
00562 #define TARGET_SI_TIMER -2
00563 #define TARGET_SI_MESGQ -3
00564 #define TARGET_SI_ASYNCIO -4
00565 #define TARGET_SI_SIGIO -5
00566
00567
00568
00569
00570 #define TARGET_ILL_ILLOPC (1)
00571 #define TARGET_ILL_ILLOPN (2)
00572 #define TARGET_ILL_ILLADR (3)
00573 #define TARGET_ILL_ILLTRP (4)
00574 #define TARGET_ILL_PRVOPC (5)
00575 #define TARGET_ILL_PRVREG (6)
00576 #define TARGET_ILL_COPROC (7)
00577 #define TARGET_ILL_BADSTK (8)
00578
00579
00580
00581
00582 #define TARGET_FPE_INTDIV (1)
00583 #define TARGET_FPE_INTOVF (2)
00584 #define TARGET_FPE_FLTDIV (3)
00585 #define TARGET_FPE_FLTOVF (4)
00586 #define TARGET_FPE_FLTUND (5)
00587 #define TARGET_FPE_FLTRES (6)
00588 #define TARGET_FPE_FLTINV (7)
00589 #define TARGET_FPE_FLTSUB (8)
00590 #define TARGET_NSIGFPE 8
00591
00592
00593
00594
00595 #define TARGET_SEGV_MAPERR (1)
00596 #define TARGET_SEGV_ACCERR (2)
00597
00598
00599
00600
00601 #define TARGET_BUS_ADRALN (1)
00602 #define TARGET_BUS_ADRERR (2)
00603 #define TARGET_BUS_OBJERR (3)
00604
00605
00606
00607
00608 #define TARGET_TRAP_BRKPT (1)
00609 #define TARGET_TRAP_TRACE (2)
00610
00611 #endif
00612
00613 struct target_rlimit {
00614 abi_ulong rlim_cur;
00615 abi_ulong rlim_max;
00616 };
00617
00618 struct target_pollfd {
00619 int fd;
00620 short events;
00621 short revents;
00622 };
00623
00624
00625 #define TARGET_KIOCSOUND 0x4B2F
00626 #define TARGET_KDMKTONE 0x4B30
00627 #define TARGET_KDGKBTYPE 0x4b33
00628 #define TARGET_KDGKBENT 0x4B46
00629 #define TARGET_KDGKBSENT 0x4B48
00630
00631 #define TARGET_SIOCATMARK 0x8905
00632
00633
00634 #define TARGET_SIOCADDRT 0x890B
00635 #define TARGET_SIOCDELRT 0x890C
00636 #define TARGET_SIOCGIFNAME 0x8910
00637 #define TARGET_SIOCSIFLINK 0x8911
00638 #define TARGET_SIOCGIFCONF 0x8912
00639 #define TARGET_SIOCGIFFLAGS 0x8913
00640 #define TARGET_SIOCSIFFLAGS 0x8914
00641 #define TARGET_SIOCGIFADDR 0x8915
00642 #define TARGET_SIOCSIFADDR 0x8916
00643 #define TARGET_SIOCGIFDSTADDR 0x8917
00644 #define TARGET_SIOCSIFDSTADDR 0x8918
00645 #define TARGET_SIOCGIFBRDADDR 0x8919
00646 #define TARGET_SIOCSIFBRDADDR 0x891a
00647 #define TARGET_SIOCGIFNETMASK 0x891b
00648 #define TARGET_SIOCSIFNETMASK 0x891c
00649 #define TARGET_SIOCGIFMETRIC 0x891d
00650 #define TARGET_SIOCSIFMETRIC 0x891e
00651 #define TARGET_SIOCGIFMEM 0x891f
00652 #define TARGET_SIOCSIFMEM 0x8920
00653 #define TARGET_SIOCGIFMTU 0x8921
00654 #define TARGET_SIOCSIFMTU 0x8922
00655 #define TARGET_SIOCSIFHWADDR 0x8924
00656 #define TARGET_SIOCGIFENCAP 0x8925
00657 #define TARGET_SIOCSIFENCAP 0x8926
00658 #define TARGET_SIOCGIFHWADDR 0x8927
00659 #define TARGET_SIOCGIFSLAVE 0x8929
00660 #define TARGET_SIOCSIFSLAVE 0x8930
00661 #define TARGET_SIOCADDMULTI 0x8931
00662 #define TARGET_SIOCDELMULTI 0x8932
00663
00664
00665 #define TARGET_SIOCGIFBR 0x8940
00666 #define TARGET_SIOCSIFBR 0x8941
00667
00668 #define TARGET_SIOCGIFTXQLEN 0x8942
00669 #define TARGET_SIOCSIFTXQLEN 0x8943
00670
00671
00672 #define TARGET_OLD_SIOCDARP 0x8950
00673 #define TARGET_OLD_SIOCGARP 0x8951
00674 #define TARGET_OLD_SIOCSARP 0x8952
00675 #define TARGET_SIOCDARP 0x8953
00676 #define TARGET_SIOCGARP 0x8954
00677 #define TARGET_SIOCSARP 0x8955
00678
00679
00680 #define TARGET_SIOCDRARP 0x8960
00681 #define TARGET_SIOCGRARP 0x8961
00682 #define TARGET_SIOCSRARP 0x8962
00683
00684
00685 #define TARGET_SIOCGIFMAP 0x8970
00686 #define TARGET_SIOCSIFMAP 0x8971
00687
00688
00689 #define TARGET_SIOCADDDLCI 0x8980
00690 #define TARGET_SIOCDELDLCI 0x8981
00691
00692
00693
00694
00695 #define TARGET_BLKROSET TARGET_IO(0x12,93)
00696 #define TARGET_BLKROGET TARGET_IO(0x12,94)
00697 #define TARGET_BLKRRPART TARGET_IO(0x12,95)
00698 #define TARGET_BLKGETSIZE TARGET_IO(0x12,96)
00699 #define TARGET_BLKFLSBUF TARGET_IO(0x12,97)
00700 #define TARGET_BLKRASET TARGET_IO(0x12,98)
00701 #define TARGET_BLKRAGET TARGET_IO(0x12,99)
00702 #define TARGET_BLKFRASET TARGET_IO(0x12,100)
00703 #define TARGET_BLKFRAGET TARGET_IO(0x12,101)
00704 #define TARGET_BLKSECTSET TARGET_IO(0x12,102)
00705 #define TARGET_BLKSECTGET TARGET_IO(0x12,103)
00706 #define TARGET_BLKSSZGET TARGET_IO(0x12,104)
00707
00708 #define TARGET_BLKBSZGET TARGET_IOR(0x12,112,sizeof(int))
00709 #define TARGET_BLKBSZSET TARGET_IOW(0x12,113,sizeof(int))
00710 #define TARGET_BLKGETSIZE64 TARGET_IOR(0x12,114,sizeof(uint64_t))
00711 #define TARGET_FIBMAP TARGET_IO(0x00,1)
00712 #define TARGET_FIGETBSZ TARGET_IO(0x00,2)
00713
00714
00715 #define TARGET_CDROMPAUSE 0x5301
00716 #define TARGET_CDROMRESUME 0x5302
00717 #define TARGET_CDROMPLAYMSF 0x5303
00718 #define TARGET_CDROMPLAYTRKIND 0x5304
00719
00720 #define TARGET_CDROMREADTOCHDR 0x5305
00721
00722 #define TARGET_CDROMREADTOCENTRY 0x5306
00723
00724 #define TARGET_CDROMSTOP 0x5307
00725 #define TARGET_CDROMSTART 0x5308
00726 #define TARGET_CDROMEJECT 0x5309
00727 #define TARGET_CDROMVOLCTRL 0x530a
00728
00729 #define TARGET_CDROMSUBCHNL 0x530b
00730
00731 #define TARGET_CDROMREADMODE2 0x530c
00732
00733 #define TARGET_CDROMREADMODE1 0x530d
00734
00735 #define TARGET_CDROMREADAUDIO 0x530e
00736 #define TARGET_CDROMEJECT_SW 0x530f
00737 #define TARGET_CDROMMULTISESSION 0x5310
00738
00739
00740 #define TARGET_CDROM_GET_MCN 0x5311
00741
00742 #define TARGET_CDROM_GET_UPC TARGET_CDROM_GET_MCN
00743
00744 #define TARGET_CDROMRESET 0x5312
00745 #define TARGET_CDROMVOLREAD 0x5313
00746
00747 #define TARGET_CDROMREADRAW 0x5314
00748
00749
00750
00751
00752 #define TARGET_CDROMREADCOOKED 0x5315
00753 #define TARGET_CDROMSEEK 0x5316
00754
00755
00756
00757
00758
00759 #define TARGET_CDROMPLAYBLK 0x5317
00760
00761
00762
00763
00764 #define TARGET_CDROMREADALL 0x5318
00765
00766
00767
00768
00769
00770
00771
00772
00773 #define TARGET_CDROMGETSPINDOWN 0x531d
00774 #define TARGET_CDROMSETSPINDOWN 0x531e
00775
00776
00777
00778
00779
00780
00781 #define TARGET_CDROMCLOSETRAY 0x5319
00782 #define TARGET_CDROM_SET_OPTIONS 0x5320
00783 #define TARGET_CDROM_CLEAR_OPTIONS 0x5321
00784 #define TARGET_CDROM_SELECT_SPEED 0x5322
00785 #define TARGET_CDROM_SELECT_DISC 0x5323
00786 #define TARGET_CDROM_MEDIA_CHANGED 0x5325
00787 #define TARGET_CDROM_DRIVE_STATUS 0x5326
00788 #define TARGET_CDROM_DISC_STATUS 0x5327
00789 #define TARGET_CDROM_CHANGER_NSLOTS 0x5328
00790 #define TARGET_CDROM_LOCKDOOR 0x5329
00791 #define TARGET_CDROM_DEBUG 0x5330
00792 #define TARGET_CDROM_GET_CAPABILITY 0x5331
00793
00794
00795
00796
00797
00798
00799 #define TARGET_CDROMAUDIOBUFSIZ 0x5382
00800
00801
00802
00803 #define TARGET_DVD_READ_STRUCT 0x5390
00804 #define TARGET_DVD_WRITE_STRUCT 0x5391
00805 #define TARGET_DVD_AUTH 0x5392
00806
00807 #define TARGET_CDROM_SEND_PACKET 0x5393
00808 #define TARGET_CDROM_NEXT_WRITABLE 0x5394
00809 #define TARGET_CDROM_LAST_WRITTEN 0x5395
00810
00811
00812
00813
00814 #define TARGET_HDIO_GETGEO 0x0301
00815 #define TARGET_HDIO_GET_UNMASKINTR 0x0302
00816 #define TARGET_HDIO_GET_MULTCOUNT 0x0304
00817 #define TARGET_HDIO_GET_KEEPSETTINGS 0x0308
00818 #define TARGET_HDIO_GET_32BIT 0x0309
00819 #define TARGET_HDIO_GET_NOWERR 0x030a
00820 #define TARGET_HDIO_GET_DMA 0x030b
00821 #define TARGET_HDIO_GET_IDENTITY 0x030d
00822 #define TARGET_HDIO_DRIVE_CMD 0x031f
00823
00824
00825 #define TARGET_HDIO_SET_MULTCOUNT 0x0321
00826 #define TARGET_HDIO_SET_UNMASKINTR 0x0322
00827 #define TARGET_HDIO_SET_KEEPSETTINGS 0x0323
00828 #define TARGET_HDIO_SET_32BIT 0x0324
00829 #define TARGET_HDIO_SET_NOWERR 0x0325
00830 #define TARGET_HDIO_SET_DMA 0x0326
00831 #define TARGET_HDIO_SET_PIO_MODE 0x0327
00832
00833
00834 #define TARGET_LOOP_SET_FD 0x4C00
00835 #define TARGET_LOOP_CLR_FD 0x4C01
00836 #define TARGET_LOOP_SET_STATUS 0x4C02
00837 #define TARGET_LOOP_GET_STATUS 0x4C03
00838 #define TARGET_LOOP_SET_STATUS64 0x4C04
00839 #define TARGET_LOOP_GET_STATUS64 0x4C05
00840 #define TARGET_LOOP_CHANGE_FD 0x4C06
00841
00842
00843
00844 #define TARGET_NCC 8
00845 struct target_termio {
00846 unsigned short c_iflag;
00847 unsigned short c_oflag;
00848 unsigned short c_cflag;
00849 unsigned short c_lflag;
00850 unsigned char c_line;
00851 unsigned char c_cc[TARGET_NCC];
00852 };
00853
00854 struct target_winsize {
00855 unsigned short ws_row;
00856 unsigned short ws_col;
00857 unsigned short ws_xpixel;
00858 unsigned short ws_ypixel;
00859 };
00860
00861 #include "termbits.h"
00862
00863
00864 #define TARGET_MAP_SHARED 0x01
00865 #define TARGET_MAP_PRIVATE 0x02
00866 #define TARGET_MAP_TYPE 0x0f
00867
00868
00869 #if defined(TARGET_MIPS)
00870 #define TARGET_MAP_FIXED 0x10
00871 #define TARGET_MAP_ANONYMOUS 0x0800
00872 #define TARGET_MAP_GROWSDOWN 0x1000
00873 #define TARGET_MAP_DENYWRITE 0x2000
00874 #define TARGET_MAP_EXECUTABLE 0x4000
00875 #define TARGET_MAP_LOCKED 0x8000
00876 #define TARGET_MAP_NORESERVE 0x0400
00877 #define TARGET_MAP_POPULATE 0x10000
00878 #define TARGET_MAP_NONBLOCK 0x20000
00879 #elif defined(TARGET_PPC)
00880 #define TARGET_MAP_FIXED 0x10
00881 #define TARGET_MAP_ANONYMOUS 0x20
00882 #define TARGET_MAP_GROWSDOWN 0x0100
00883 #define TARGET_MAP_DENYWRITE 0x0800
00884 #define TARGET_MAP_EXECUTABLE 0x1000
00885 #define TARGET_MAP_LOCKED 0x0080
00886 #define TARGET_MAP_NORESERVE 0x0040
00887 #define TARGET_MAP_POPULATE 0x8000
00888 #define TARGET_MAP_NONBLOCK 0x10000
00889 #elif defined(TARGET_ALPHA)
00890 #define TARGET_MAP_ANONYMOUS 0x10
00891 #define TARGET_MAP_FIXED 0x100
00892 #define TARGET_MAP_GROWSDOWN 0x01000
00893 #define TARGET_MAP_DENYWRITE 0x02000
00894 #define TARGET_MAP_EXECUTABLE 0x04000
00895 #define TARGET_MAP_LOCKED 0x08000
00896 #define TARGET_MAP_NORESERVE 0x10000
00897 #define TARGET_MAP_POPULATE 0x20000
00898 #define TARGET_MAP_NONBLOCK 0x40000
00899 #else
00900 #define TARGET_MAP_FIXED 0x10
00901 #define TARGET_MAP_ANONYMOUS 0x20
00902 #define TARGET_MAP_GROWSDOWN 0x0100
00903 #define TARGET_MAP_DENYWRITE 0x0800
00904 #define TARGET_MAP_EXECUTABLE 0x1000
00905 #define TARGET_MAP_LOCKED 0x2000
00906 #define TARGET_MAP_NORESERVE 0x4000
00907 #define TARGET_MAP_POPULATE 0x8000
00908 #define TARGET_MAP_NONBLOCK 0x10000
00909 #endif
00910
00911 #if (defined(TARGET_I386) && defined(TARGET_ABI32)) || defined(TARGET_ARM) || defined(TARGET_CRIS)
00912 struct target_stat {
00913 unsigned short st_dev;
00914 unsigned short __pad1;
00915 abi_ulong st_ino;
00916 unsigned short st_mode;
00917 unsigned short st_nlink;
00918 unsigned short st_uid;
00919 unsigned short st_gid;
00920 unsigned short st_rdev;
00921 unsigned short __pad2;
00922 abi_ulong st_size;
00923 abi_ulong st_blksize;
00924 abi_ulong st_blocks;
00925 abi_ulong target_st_atime;
00926 abi_ulong __unused1;
00927 abi_ulong target_st_mtime;
00928 abi_ulong __unused2;
00929 abi_ulong target_st_ctime;
00930 abi_ulong __unused3;
00931 abi_ulong __unused4;
00932 abi_ulong __unused5;
00933 };
00934
00935
00936
00937
00938 struct target_stat64 {
00939 unsigned short st_dev;
00940 unsigned char __pad0[10];
00941
00942 #define TARGET_STAT64_HAS_BROKEN_ST_INO 1
00943 abi_ulong __st_ino;
00944
00945 unsigned int st_mode;
00946 unsigned int st_nlink;
00947
00948 abi_ulong st_uid;
00949 abi_ulong st_gid;
00950
00951 unsigned short st_rdev;
00952 unsigned char __pad3[10];
00953
00954 long long st_size;
00955 abi_ulong st_blksize;
00956
00957 abi_ulong st_blocks;
00958 abi_ulong __pad4;
00959
00960 abi_ulong target_st_atime;
00961 abi_ulong __pad5;
00962
00963 abi_ulong target_st_mtime;
00964 abi_ulong __pad6;
00965
00966 abi_ulong target_st_ctime;
00967 abi_ulong __pad7;
00968
00969 unsigned long long st_ino;
00970 } __attribute__((packed));
00971
00972 #ifdef TARGET_ARM
00973 struct target_eabi_stat64 {
00974 unsigned long long st_dev;
00975 unsigned int __pad1;
00976 abi_ulong __st_ino;
00977 unsigned int st_mode;
00978 unsigned int st_nlink;
00979
00980 abi_ulong st_uid;
00981 abi_ulong st_gid;
00982
00983 unsigned long long st_rdev;
00984 unsigned int __pad2[2];
00985
00986 long long st_size;
00987 abi_ulong st_blksize;
00988 unsigned int __pad3;
00989 unsigned long long st_blocks;
00990
00991 abi_ulong target_st_atime;
00992 abi_ulong target_st_atime_nsec;
00993
00994 abi_ulong target_st_mtime;
00995 abi_ulong target_st_mtime_nsec;
00996
00997 abi_ulong target_st_ctime;
00998 abi_ulong target_st_ctime_nsec;
00999
01000 unsigned long long st_ino;
01001 } __attribute__ ((packed));
01002 #endif
01003
01004 #elif defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
01005 struct target_stat {
01006 unsigned int st_dev;
01007 abi_ulong st_ino;
01008 unsigned int st_mode;
01009 unsigned int st_nlink;
01010 unsigned int st_uid;
01011 unsigned int st_gid;
01012 unsigned int st_rdev;
01013 abi_long st_size;
01014 abi_long target_st_atime;
01015 abi_long target_st_mtime;
01016 abi_long target_st_ctime;
01017 abi_long st_blksize;
01018 abi_long st_blocks;
01019 abi_ulong __unused4[2];
01020 };
01021
01022 struct target_stat64 {
01023 unsigned char __pad0[6];
01024 unsigned short st_dev;
01025
01026 uint64_t st_ino;
01027 uint64_t st_nlink;
01028
01029 unsigned int st_mode;
01030
01031 unsigned int st_uid;
01032 unsigned int st_gid;
01033
01034 unsigned char __pad2[6];
01035 unsigned short st_rdev;
01036
01037 int64_t st_size;
01038 int64_t st_blksize;
01039
01040 unsigned char __pad4[4];
01041 unsigned int st_blocks;
01042
01043 abi_ulong target_st_atime;
01044 abi_ulong __unused1;
01045
01046 abi_ulong target_st_mtime;
01047 abi_ulong __unused2;
01048
01049 abi_ulong target_st_ctime;
01050 abi_ulong __unused3;
01051
01052 abi_ulong __unused4[3];
01053 };
01054
01055 #elif defined(TARGET_SPARC)
01056
01057 struct target_stat {
01058 unsigned short st_dev;
01059 abi_ulong st_ino;
01060 unsigned short st_mode;
01061 short st_nlink;
01062 unsigned short st_uid;
01063 unsigned short st_gid;
01064 unsigned short st_rdev;
01065 abi_long st_size;
01066 abi_long target_st_atime;
01067 abi_ulong __unused1;
01068 abi_long target_st_mtime;
01069 abi_ulong __unused2;
01070 abi_long target_st_ctime;
01071 abi_ulong __unused3;
01072 abi_long st_blksize;
01073 abi_long st_blocks;
01074 abi_ulong __unused4[2];
01075 };
01076
01077 struct target_stat64 {
01078 unsigned char __pad0[6];
01079 unsigned short st_dev;
01080
01081 uint64_t st_ino;
01082
01083 unsigned int st_mode;
01084 unsigned int st_nlink;
01085
01086 unsigned int st_uid;
01087 unsigned int st_gid;
01088
01089 unsigned char __pad2[6];
01090 unsigned short st_rdev;
01091
01092 unsigned char __pad3[8];
01093
01094 int64_t st_size;
01095 unsigned int st_blksize;
01096
01097 unsigned char __pad4[8];
01098 unsigned int st_blocks;
01099
01100 unsigned int target_st_atime;
01101 unsigned int __unused1;
01102
01103 unsigned int target_st_mtime;
01104 unsigned int __unused2;
01105
01106 unsigned int target_st_ctime;
01107 unsigned int __unused3;
01108
01109 unsigned int __unused4;
01110 unsigned int __unused5;
01111 };
01112
01113 #elif defined(TARGET_PPC)
01114
01115 struct target_stat {
01116 abi_ulong st_dev;
01117 abi_ulong st_ino;
01118 #if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
01119 abi_ulong st_nlink;
01120 unsigned int st_mode;
01121 #else
01122 unsigned int st_mode;
01123 unsigned short st_nlink;
01124 #endif
01125 unsigned int st_uid;
01126 unsigned int st_gid;
01127 abi_ulong st_rdev;
01128 abi_ulong st_size;
01129 abi_ulong st_blksize;
01130 abi_ulong st_blocks;
01131 abi_ulong target_st_atime;
01132 abi_ulong target_st_atime_nsec;
01133 abi_ulong target_st_mtime;
01134 abi_ulong target_st_mtime_nsec;
01135 abi_ulong target_st_ctime;
01136 abi_ulong target_st_ctime_nsec;
01137 abi_ulong __unused4;
01138 abi_ulong __unused5;
01139 #if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
01140 abi_ulong __unused6;
01141 #endif
01142 };
01143
01144 struct __attribute__((__packed__)) target_stat64 {
01145 unsigned long long st_dev;
01146 unsigned long long st_ino;
01147 unsigned int st_mode;
01148 unsigned int st_nlink;
01149 unsigned int st_uid;
01150 unsigned int st_gid;
01151 unsigned long long st_rdev;
01152 unsigned long long __pad0;
01153 long long st_size;
01154 int st_blksize;
01155 long long st_blocks;
01156 unsigned int __pad1;
01157 int target_st_atime;
01158 unsigned int target_st_atime_nsec;
01159 int target_st_mtime;
01160 unsigned int target_st_mtime_nsec;
01161 int target_st_ctime;
01162 unsigned int target_st_ctime_nsec;
01163 unsigned int __unused4;
01164 unsigned int __unused5;
01165 };
01166
01167 #elif defined(TARGET_M68K)
01168
01169 struct target_stat {
01170 unsigned short st_dev;
01171 unsigned short __pad1;
01172 abi_ulong st_ino;
01173 unsigned short st_mode;
01174 unsigned short st_nlink;
01175 unsigned short st_uid;
01176 unsigned short st_gid;
01177 unsigned short st_rdev;
01178 unsigned short __pad2;
01179 abi_ulong st_size;
01180 abi_ulong st_blksize;
01181 abi_ulong st_blocks;
01182 abi_ulong target_st_atime;
01183 abi_ulong __unused1;
01184 abi_ulong target_st_mtime;
01185 abi_ulong __unused2;
01186 abi_ulong target_st_ctime;
01187 abi_ulong __unused3;
01188 abi_ulong __unused4;
01189 abi_ulong __unused5;
01190 };
01191
01192
01193
01194
01195 struct target_stat64 {
01196 unsigned long long st_dev;
01197 unsigned char __pad1[2];
01198
01199 #define TARGET_STAT64_HAS_BROKEN_ST_INO 1
01200 abi_ulong __st_ino;
01201
01202 unsigned int st_mode;
01203 unsigned int st_nlink;
01204
01205 abi_ulong st_uid;
01206 abi_ulong st_gid;
01207
01208 unsigned long long st_rdev;
01209 unsigned char __pad3[2];
01210
01211 long long st_size;
01212 abi_ulong st_blksize;
01213
01214 abi_ulong __pad4;
01215 abi_ulong st_blocks;
01216
01217 abi_ulong target_st_atime;
01218 abi_ulong target_st_atime_nsec;
01219
01220 abi_ulong target_st_mtime;
01221 abi_ulong target_st_mtime_nsec;
01222
01223 abi_ulong target_st_ctime;
01224 abi_ulong target_st_ctime_nsec;
01225
01226 unsigned long long st_ino;
01227 } __attribute__((packed));
01228
01229 #elif defined(TARGET_ABI_MIPSN64)
01230
01231
01232 struct target_stat {
01233 unsigned int st_dev;
01234 unsigned int st_pad0[3];
01235
01236 abi_ulong st_ino;
01237
01238 unsigned int st_mode;
01239 unsigned int st_nlink;
01240
01241 int st_uid;
01242 int st_gid;
01243
01244 unsigned int st_rdev;
01245 unsigned int st_pad1[3];
01246
01247 abi_ulong st_size;
01248
01249
01250
01251
01252
01253 unsigned int target_st_atime;
01254 unsigned int target_st_atime_nsec;
01255
01256 unsigned int target_st_mtime;
01257 unsigned int target_st_mtime_nsec;
01258
01259 unsigned int target_st_ctime;
01260 unsigned int target_st_ctime_nsec;
01261
01262 unsigned int st_blksize;
01263 unsigned int st_pad2;
01264
01265 abi_ulong st_blocks;
01266 };
01267
01268 #elif defined(TARGET_ABI_MIPSN32)
01269
01270 struct target_stat {
01271 unsigned st_dev;
01272 int st_pad1[3];
01273 unsigned int st_ino;
01274 unsigned int st_mode;
01275 unsigned int st_nlink;
01276 int st_uid;
01277 int st_gid;
01278 unsigned st_rdev;
01279 unsigned int st_pad2[2];
01280 unsigned int st_size;
01281 unsigned int st_pad3;
01282
01283
01284
01285
01286 unsigned int target_st_atime;
01287 unsigned int target_st_atime_nsec;
01288 unsigned int target_st_mtime;
01289 unsigned int target_st_mtime_nsec;
01290 unsigned int target_st_ctime;
01291 unsigned int target_st_ctime_nsec;
01292 unsigned int st_blksize;
01293 unsigned int st_blocks;
01294 unsigned int st_pad4[14];
01295 };
01296
01297
01298
01299
01300
01301
01302
01303 struct target_stat64 {
01304 unsigned int st_dev;
01305 unsigned int st_pad0[3];
01306
01307 target_ulong st_ino;
01308
01309 unsigned int st_mode;
01310 unsigned int st_nlink;
01311
01312 int st_uid;
01313 int st_gid;
01314
01315 unsigned int st_rdev;
01316 unsigned int st_pad1[3];
01317
01318 int st_size;
01319
01320
01321
01322
01323
01324 int target_st_atime;
01325 unsigned int target_st_atime_nsec;
01326
01327 int target_st_mtime;
01328 unsigned int target_st_mtime_nsec;
01329
01330 int target_st_ctime;
01331 unsigned int target_st_ctime_nsec;
01332
01333 unsigned int st_blksize;
01334 unsigned int st_pad2;
01335
01336 int st_blocks;
01337 };
01338
01339 #elif defined(TARGET_ABI_MIPSO32)
01340
01341 struct target_stat {
01342 unsigned st_dev;
01343 abi_long st_pad1[3];
01344 abi_ulong st_ino;
01345 unsigned int st_mode;
01346 unsigned int st_nlink;
01347 int st_uid;
01348 int st_gid;
01349 unsigned st_rdev;
01350 abi_long st_pad2[2];
01351 abi_long st_size;
01352 abi_long st_pad3;
01353
01354
01355
01356
01357 abi_long target_st_atime;
01358 abi_long target_st_atime_nsec;
01359 abi_long target_st_mtime;
01360 abi_long target_st_mtime_nsec;
01361 abi_long target_st_ctime;
01362 abi_long target_st_ctime_nsec;
01363 abi_long st_blksize;
01364 abi_long st_blocks;
01365 abi_long st_pad4[14];
01366 };
01367
01368
01369
01370
01371
01372
01373
01374 struct target_stat64 {
01375 abi_ulong st_dev;
01376 abi_ulong st_pad0[3];
01377
01378 uint64_t st_ino;
01379
01380 unsigned int st_mode;
01381 unsigned int st_nlink;
01382
01383 int st_uid;
01384 int st_gid;
01385
01386 abi_ulong st_rdev;
01387 abi_ulong st_pad1[3];
01388
01389 int64_t st_size;
01390
01391
01392
01393
01394
01395 abi_long target_st_atime;
01396 abi_ulong target_st_atime_nsec;
01397
01398 abi_long target_st_mtime;
01399 abi_ulong target_st_mtime_nsec;
01400
01401 abi_long target_st_ctime;
01402 abi_ulong target_st_ctime_nsec;
01403
01404 abi_ulong st_blksize;
01405 abi_ulong st_pad2;
01406
01407 int64_t st_blocks;
01408 };
01409
01410 #elif defined(TARGET_ALPHA)
01411
01412 struct target_stat {
01413 unsigned int st_dev;
01414 unsigned int st_ino;
01415 unsigned int st_mode;
01416 unsigned int st_nlink;
01417 unsigned int st_uid;
01418 unsigned int st_gid;
01419 unsigned int st_rdev;
01420 abi_long st_size;
01421 abi_ulong target_st_atime;
01422 abi_ulong target_st_mtime;
01423 abi_ulong target_st_ctime;
01424 unsigned int st_blksize;
01425 unsigned int st_blocks;
01426 unsigned int st_flags;
01427 unsigned int st_gen;
01428 };
01429
01430 struct target_stat64 {
01431 abi_ulong st_dev;
01432 abi_ulong st_ino;
01433 abi_ulong st_rdev;
01434 abi_long st_size;
01435 abi_ulong st_blocks;
01436
01437 unsigned int st_mode;
01438 unsigned int st_uid;
01439 unsigned int st_gid;
01440 unsigned int st_blksize;
01441 unsigned int st_nlink;
01442 unsigned int __pad0;
01443
01444 abi_ulong target_st_atime;
01445 abi_ulong target_st_atime_nsec;
01446 abi_ulong target_st_mtime;
01447 abi_ulong target_st_mtime_nsec;
01448 abi_ulong target_st_ctime;
01449 abi_ulong target_st_ctime_nsec;
01450 abi_long __unused[3];
01451 };
01452
01453 #elif defined(TARGET_SH4)
01454
01455 struct target_stat {
01456 abi_ulong st_dev;
01457 abi_ulong st_ino;
01458 unsigned short st_mode;
01459 unsigned short st_nlink;
01460 unsigned short st_uid;
01461 unsigned short st_gid;
01462 abi_ulong st_rdev;
01463 abi_ulong st_size;
01464 abi_ulong st_blksize;
01465 abi_ulong st_blocks;
01466 abi_ulong target_st_atime;
01467 abi_ulong target_st_atime_nsec;
01468 abi_ulong target_st_mtime;
01469 abi_ulong target_st_mtime_nsec;
01470 abi_ulong target_st_ctime;
01471 abi_ulong target_st_ctime_nsec;
01472 abi_ulong __unused4;
01473 abi_ulong __unused5;
01474 };
01475
01476
01477
01478
01479 struct __attribute__((__packed__)) target_stat64 {
01480 unsigned long long st_dev;
01481 unsigned char __pad0[4];
01482
01483 #define TARGET_STAT64_HAS_BROKEN_ST_INO 1
01484 abi_ulong __st_ino;
01485
01486 unsigned int st_mode;
01487 unsigned int st_nlink;
01488
01489 abi_ulong st_uid;
01490 abi_ulong st_gid;
01491
01492 unsigned long long st_rdev;
01493 unsigned char __pad3[4];
01494
01495 long long st_size;
01496 abi_ulong st_blksize;
01497
01498 unsigned long long st_blocks;
01499
01500 abi_ulong target_st_atime;
01501 abi_ulong target_st_atime_nsec;
01502
01503 abi_ulong target_st_mtime;
01504 abi_ulong target_st_mtime_nsec;
01505
01506 abi_ulong target_st_ctime;
01507 abi_ulong target_st_ctime_nsec;
01508
01509 unsigned long long st_ino;
01510 };
01511
01512 #elif defined(TARGET_I386) && !defined(TARGET_ABI32)
01513 struct target_stat {
01514 abi_ulong st_dev;
01515 abi_ulong st_ino;
01516 abi_ulong st_nlink;
01517
01518 unsigned int st_mode;
01519 unsigned int st_uid;
01520 unsigned int st_gid;
01521 unsigned int __pad0;
01522 abi_ulong st_rdev;
01523 abi_long st_size;
01524 abi_long st_blksize;
01525 abi_long st_blocks;
01526
01527 abi_ulong target_st_atime;
01528 abi_ulong target_st_atime_nsec;
01529 abi_ulong target_st_mtime;
01530 abi_ulong target_st_mtime_nsec;
01531 abi_ulong target_st_ctime;
01532 abi_ulong target_st_ctime_nsec;
01533
01534 abi_long __unused[3];
01535 };
01536 #else
01537 #error unsupported CPU
01538 #endif
01539
01540 typedef struct {
01541 int val[2];
01542 } target_fsid_t;
01543
01544 #ifdef TARGET_MIPS
01545 #ifdef TARGET_ABI_MIPSN32
01546 struct target_statfs {
01547 int32_t f_type;
01548 int32_t f_bsize;
01549 int32_t f_frsize;
01550 int32_t f_blocks;
01551 int32_t f_bfree;
01552 int32_t f_files;
01553 int32_t f_ffree;
01554 int32_t f_bavail;
01555
01556
01557 target_fsid_t f_fsid;
01558 int32_t f_namelen;
01559 int32_t f_spare[6];
01560 };
01561 #else
01562 struct target_statfs {
01563 abi_long f_type;
01564 abi_long f_bsize;
01565 abi_long f_frsize;
01566 abi_long f_blocks;
01567 abi_long f_bfree;
01568 abi_long f_files;
01569 abi_long f_ffree;
01570 abi_long f_bavail;
01571
01572
01573 target_fsid_t f_fsid;
01574 abi_long f_namelen;
01575 abi_long f_spare[6];
01576 };
01577 #endif
01578
01579 struct target_statfs64 {
01580 uint32_t f_type;
01581 uint32_t f_bsize;
01582 uint32_t f_frsize;
01583 uint32_t __pad;
01584 uint64_t f_blocks;
01585 uint64_t f_bfree;
01586 uint64_t f_files;
01587 uint64_t f_ffree;
01588 uint64_t f_bavail;
01589 target_fsid_t f_fsid;
01590 uint32_t f_namelen;
01591 uint32_t f_spare[6];
01592 };
01593 #elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \
01594 defined(TARGET_SPARC64)) && !defined(TARGET_ABI32)
01595 struct target_statfs {
01596 abi_long f_type;
01597 abi_long f_bsize;
01598 abi_long f_blocks;
01599 abi_long f_bfree;
01600 abi_long f_bavail;
01601 abi_long f_files;
01602 abi_long f_ffree;
01603 target_fsid_t f_fsid;
01604 abi_long f_namelen;
01605 abi_long f_frsize;
01606 abi_long f_spare[5];
01607 };
01608
01609 struct target_statfs64 {
01610 abi_long f_type;
01611 abi_long f_bsize;
01612 abi_long f_blocks;
01613 abi_long f_bfree;
01614 abi_long f_bavail;
01615 abi_long f_files;
01616 abi_long f_ffree;
01617 target_fsid_t f_fsid;
01618 abi_long f_namelen;
01619 abi_long f_frsize;
01620 abi_long f_spare[5];
01621 };
01622 #else
01623 struct target_statfs {
01624 uint32_t f_type;
01625 uint32_t f_bsize;
01626 uint32_t f_blocks;
01627 uint32_t f_bfree;
01628 uint32_t f_bavail;
01629 uint32_t f_files;
01630 uint32_t f_ffree;
01631 target_fsid_t f_fsid;
01632 uint32_t f_namelen;
01633 uint32_t f_frsize;
01634 uint32_t f_spare[5];
01635 };
01636
01637 struct target_statfs64 {
01638 uint32_t f_type;
01639 uint32_t f_bsize;
01640 uint64_t f_blocks;
01641 uint64_t f_bfree;
01642 uint64_t f_bavail;
01643 uint64_t f_files;
01644 uint64_t f_ffree;
01645 target_fsid_t f_fsid;
01646 uint32_t f_namelen;
01647 uint32_t f_frsize;
01648 uint32_t f_spare[5];
01649 };
01650 #endif
01651
01652
01653 #define TARGET_F_DUPFD 0
01654 #define TARGET_F_GETFD 1
01655 #define TARGET_F_SETFD 2
01656 #define TARGET_F_GETFL 3
01657 #define TARGET_F_SETFL 4
01658
01659 #if defined(TARGET_ALPHA)
01660 #define TARGET_F_GETLK 7
01661 #define TARGET_F_SETLK 8
01662 #define TARGET_F_SETLKW 9
01663 #define TARGET_F_SETOWN 5
01664 #define TARGET_F_GETOWN 6
01665 #else
01666 #define TARGET_F_GETLK 5
01667 #define TARGET_F_SETLK 6
01668 #define TARGET_F_SETLKW 7
01669 #define TARGET_F_SETOWN 8
01670 #define TARGET_F_GETOWN 9
01671 #endif
01672
01673 #define TARGET_F_SETSIG 10
01674 #define TARGET_F_GETSIG 11
01675
01676 #define TARGET_F_GETLK64 12
01677 #define TARGET_F_SETLK64 13
01678 #define TARGET_F_SETLKW64 14
01679
01680 #if defined (TARGET_ARM)
01681 #define TARGET_O_ACCMODE 0003
01682 #define TARGET_O_RDONLY 00
01683 #define TARGET_O_WRONLY 01
01684 #define TARGET_O_RDWR 02
01685 #define TARGET_O_CREAT 0100
01686 #define TARGET_O_EXCL 0200
01687 #define TARGET_O_NOCTTY 0400
01688 #define TARGET_O_TRUNC 01000
01689 #define TARGET_O_APPEND 02000
01690 #define TARGET_O_NONBLOCK 04000
01691 #define TARGET_O_NDELAY TARGET_O_NONBLOCK
01692 #define TARGET_O_SYNC 010000
01693 #define TARGET_FASYNC 020000
01694 #define TARGET_O_DIRECTORY 040000
01695 #define TARGET_O_NOFOLLOW 0100000
01696 #define TARGET_O_DIRECT 0200000
01697 #define TARGET_O_LARGEFILE 0400000
01698 #elif defined (TARGET_PPC)
01699 #define TARGET_O_ACCMODE 0003
01700 #define TARGET_O_RDONLY 00
01701 #define TARGET_O_WRONLY 01
01702 #define TARGET_O_RDWR 02
01703 #define TARGET_O_CREAT 0100
01704 #define TARGET_O_EXCL 0200
01705 #define TARGET_O_NOCTTY 0400
01706 #define TARGET_O_TRUNC 01000
01707 #define TARGET_O_APPEND 02000
01708 #define TARGET_O_NONBLOCK 04000
01709 #define TARGET_O_NDELAY TARGET_O_NONBLOCK
01710 #define TARGET_O_SYNC 010000
01711 #define TARGET_FASYNC 020000
01712 #define TARGET_O_DIRECTORY 040000
01713 #define TARGET_O_NOFOLLOW 0100000
01714 #define TARGET_O_LARGEFILE 0200000
01715 #define TARGET_O_DIRECT 0400000
01716 #elif defined (TARGET_SPARC)
01717 #define TARGET_O_RDONLY 0x0000
01718 #define TARGET_O_WRONLY 0x0001
01719 #define TARGET_O_RDWR 0x0002
01720 #define TARGET_O_ACCMODE 0x0003
01721 #define TARGET_O_APPEND 0x0008
01722 #define TARGET_FASYNC 0x0040
01723 #define TARGET_O_CREAT 0x0200
01724 #define TARGET_O_TRUNC 0x0400
01725 #define TARGET_O_EXCL 0x0800
01726 #define TARGET_O_SYNC 0x2000
01727 #define TARGET_O_NONBLOCK 0x4000
01728 #define TARGET_O_NDELAY (0x0004 | TARGET_O_NONBLOCK)
01729 #define TARGET_O_NOCTTY 0x8000
01730 #define TARGET_O_DIRECTORY 0x10000
01731 #define TARGET_O_NOFOLLOW 0x20000
01732 #define TARGET_O_LARGEFILE 0x40000
01733 #define TARGET_O_DIRECT 0x100000
01734 #elif defined(TARGET_MIPS)
01735 #define TARGET_O_ACCMODE 0x0003
01736 #define TARGET_O_RDONLY 0x0000
01737 #define TARGET_O_WRONLY 0x0001
01738 #define TARGET_O_RDWR 0x0002
01739 #define TARGET_O_APPEND 0x0008
01740 #define TARGET_O_SYNC 0x0010
01741 #define TARGET_O_NONBLOCK 0x0080
01742 #define TARGET_O_CREAT 0x0100
01743 #define TARGET_O_TRUNC 0x0200
01744 #define TARGET_O_EXCL 0x0400
01745 #define TARGET_O_NOCTTY 0x0800
01746 #define TARGET_FASYNC 0x1000
01747 #define TARGET_O_LARGEFILE 0x2000
01748 #define TARGET_O_DIRECT 0x8000
01749 #define TARGET_O_DIRECTORY 0x10000
01750 #define TARGET_O_NOFOLLOW 0x20000
01751 #define TARGET_O_NOATIME 0x40000
01752 #define TARGET_O_NDELAY TARGET_O_NONBLOCK
01753 #elif defined(TARGET_ALPHA)
01754 #define TARGET_O_ACCMODE 0x0003
01755 #define TARGET_O_RDONLY 0x0000
01756 #define TARGET_O_WRONLY 0x0001
01757 #define TARGET_O_RDWR 0x0002
01758 #define TARGET_O_APPEND 0x0008
01759 #define TARGET_O_SYNC 0x4000
01760 #define TARGET_O_NONBLOCK 0x0004
01761 #define TARGET_O_CREAT 0x0200
01762 #define TARGET_O_TRUNC 0x0400
01763 #define TARGET_O_EXCL 0x0800
01764 #define TARGET_O_NOCTTY 0x1000
01765 #define TARGET_FASYNC 0x2000
01766 #define TARGET_O_LARGEFILE 0x0000
01767 #define TARGET_O_DIRECT 0x80000
01768 #define TARGET_O_DIRECTORY 0x8000
01769 #define TARGET_O_NOFOLLOW 0x10000
01770 #define TARGET_O_NOATIME 0x100000
01771 #define TARGET_O_NDELAY TARGET_O_NONBLOCK
01772 #else
01773 #define TARGET_O_ACCMODE 0003
01774 #define TARGET_O_RDONLY 00
01775 #define TARGET_O_WRONLY 01
01776 #define TARGET_O_RDWR 02
01777 #define TARGET_O_CREAT 0100
01778 #define TARGET_O_EXCL 0200
01779 #define TARGET_O_NOCTTY 0400
01780 #define TARGET_O_TRUNC 01000
01781 #define TARGET_O_APPEND 02000
01782 #define TARGET_O_NONBLOCK 04000
01783 #define TARGET_O_NDELAY TARGET_O_NONBLOCK
01784 #define TARGET_O_SYNC 010000
01785 #define TARGET_FASYNC 020000
01786 #define TARGET_O_DIRECT 040000
01787 #define TARGET_O_LARGEFILE 0100000
01788 #define TARGET_O_DIRECTORY 0200000
01789 #define TARGET_O_NOFOLLOW 0400000
01790 #endif
01791
01792 struct target_flock {
01793 short l_type;
01794 short l_whence;
01795 abi_ulong l_start;
01796 abi_ulong l_len;
01797 int l_pid;
01798 };
01799
01800 struct target_flock64 {
01801 short l_type;
01802 short l_whence;
01803 #if defined(TARGET_PPC) || defined(TARGET_X86_64) || defined(TARGET_MIPS) || defined(TARGET_SPARC) || defined(TARGET_HPPA)
01804 int __pad;
01805 #endif
01806 unsigned long long l_start;
01807 unsigned long long l_len;
01808 int l_pid;
01809 }__attribute__((packed));
01810
01811 #ifdef TARGET_ARM
01812 struct target_eabi_flock64 {
01813 short l_type;
01814 short l_whence;
01815 int __pad;
01816 unsigned long long l_start;
01817 unsigned long long l_len;
01818 int l_pid;
01819 }__attribute__((packed));
01820 #endif
01821
01822
01823
01824 #define TARGET_SNDCTL_COPR_HALT TARGET_IOWR('C', 7, int);
01825 #define TARGET_SNDCTL_COPR_LOAD 0xcfb04301
01826 #define TARGET_SNDCTL_COPR_RCODE 0xc0144303
01827 #define TARGET_SNDCTL_COPR_RCVMSG 0x8fa44309
01828 #define TARGET_SNDCTL_COPR_RDATA 0xc0144302
01829 #define TARGET_SNDCTL_COPR_RESET 0x00004300
01830 #define TARGET_SNDCTL_COPR_RUN 0xc0144306
01831 #define TARGET_SNDCTL_COPR_SENDMSG 0xcfa44308
01832 #define TARGET_SNDCTL_COPR_WCODE 0x40144305
01833 #define TARGET_SNDCTL_COPR_WDATA 0x40144304
01834 #define TARGET_SNDCTL_DSP_RESET TARGET_IO('P', 0)
01835 #define TARGET_SNDCTL_DSP_SYNC TARGET_IO('P', 1)
01836 #define TARGET_SNDCTL_DSP_SPEED TARGET_IOWR('P', 2, int)
01837 #define TARGET_SNDCTL_DSP_STEREO TARGET_IOWR('P', 3, int)
01838 #define TARGET_SNDCTL_DSP_GETBLKSIZE TARGET_IOWR('P', 4, int)
01839 #define TARGET_SNDCTL_DSP_SETFMT TARGET_IOWR('P', 5, int)
01840 #define TARGET_SNDCTL_DSP_CHANNELS TARGET_IOWR('P', 6, int)
01841 #define TARGET_SOUND_PCM_WRITE_FILTER TARGET_IOWR('P', 7, int)
01842 #define TARGET_SNDCTL_DSP_POST TARGET_IO('P', 8)
01843 #define TARGET_SNDCTL_DSP_SUBDIVIDE TARGET_IOWR('P', 9, int)
01844 #define TARGET_SNDCTL_DSP_SETFRAGMENT TARGET_IOWR('P',10, int)
01845 #define TARGET_SNDCTL_DSP_GETFMTS TARGET_IOR('P', 11, int)
01846 #define TARGET_SNDCTL_DSP_GETOSPACE TARGET_IORU('P',12)
01847 #define TARGET_SNDCTL_DSP_GETISPACE TARGET_IORU('P',13)
01848 #define TARGET_SNDCTL_DSP_GETCAPS TARGET_IOR('P', 15, int)
01849 #define TARGET_SNDCTL_DSP_GETTRIGGER TARGET_IOR('P',16, int)
01850 #define TARGET_SNDCTL_DSP_GETIPTR TARGET_IORU('P',17)
01851 #define TARGET_SNDCTL_DSP_GETOPTR TARGET_IORU('P',18)
01852 #define TARGET_SNDCTL_DSP_MAPINBUF 0x80085013
01853 #define TARGET_SNDCTL_DSP_MAPOUTBUF 0x80085014
01854 #define TARGET_SNDCTL_DSP_NONBLOCK 0x0000500e
01855 #define TARGET_SNDCTL_DSP_SAMPLESIZE 0xc0045005
01856 #define TARGET_SNDCTL_DSP_SETDUPLEX 0x00005016
01857 #define TARGET_SNDCTL_DSP_SETSYNCRO 0x00005015
01858 #define TARGET_SNDCTL_DSP_SETTRIGGER 0x40045010
01859 #define TARGET_SNDCTL_FM_4OP_ENABLE 0x4004510f
01860 #define TARGET_SNDCTL_FM_LOAD_INSTR 0x40285107
01861 #define TARGET_SNDCTL_MIDI_INFO 0xc074510c
01862 #define TARGET_SNDCTL_MIDI_MPUCMD 0xc0216d02
01863 #define TARGET_SNDCTL_MIDI_MPUMODE 0xc0046d01
01864 #define TARGET_SNDCTL_MIDI_PRETIME 0xc0046d00
01865 #define TARGET_SNDCTL_PMGR_ACCESS 0xcfb85110
01866 #define TARGET_SNDCTL_PMGR_IFACE 0xcfb85001
01867 #define TARGET_SNDCTL_SEQ_CTRLRATE 0xc0045103
01868 #define TARGET_SNDCTL_SEQ_GETINCOUNT 0x80045105
01869 #define TARGET_SNDCTL_SEQ_GETOUTCOUNT 0x80045104
01870 #define TARGET_SNDCTL_SEQ_NRMIDIS 0x8004510b
01871 #define TARGET_SNDCTL_SEQ_NRSYNTHS 0x8004510a
01872 #define TARGET_SNDCTL_SEQ_OUTOFBAND 0x40085112
01873 #define TARGET_SNDCTL_SEQ_PANIC 0x00005111
01874 #define TARGET_SNDCTL_SEQ_PERCMODE 0x40045106
01875 #define TARGET_SNDCTL_SEQ_RESET 0x00005100
01876 #define TARGET_SNDCTL_SEQ_RESETSAMPLES 0x40045109
01877 #define TARGET_SNDCTL_SEQ_SYNC 0x00005101
01878 #define TARGET_SNDCTL_SEQ_TESTMIDI 0x40045108
01879 #define TARGET_SNDCTL_SEQ_THRESHOLD 0x4004510d
01880 #define TARGET_SNDCTL_SEQ_TRESHOLD 0x4004510d
01881 #define TARGET_SNDCTL_SYNTH_INFO 0xc08c5102
01882 #define TARGET_SNDCTL_SYNTH_MEMAVL 0xc004510e
01883 #define TARGET_SNDCTL_TMR_CONTINUE 0x00005404
01884 #define TARGET_SNDCTL_TMR_METRONOME 0x40045407
01885 #define TARGET_SNDCTL_TMR_SELECT 0x40045408
01886 #define TARGET_SNDCTL_TMR_SOURCE 0xc0045406
01887 #define TARGET_SNDCTL_TMR_START 0x00005402
01888 #define TARGET_SNDCTL_TMR_STOP 0x00005403
01889 #define TARGET_SNDCTL_TMR_TEMPO 0xc0045405
01890 #define TARGET_SNDCTL_TMR_TIMEBASE 0xc0045401
01891 #define TARGET_SOUND_PCM_READ_RATE 0x80045002
01892 #define TARGET_SOUND_PCM_READ_CHANNELS 0x80045006
01893 #define TARGET_SOUND_PCM_READ_BITS 0x80045005
01894 #define TARGET_SOUND_PCM_READ_FILTER 0x80045007
01895 #define TARGET_SOUND_MIXER_INFO TARGET_IOR ('M', 101, mixer_info)
01896 #define TARGET_SOUND_MIXER_ACCESS 0xc0804d66
01897 #define TARGET_SOUND_MIXER_PRIVATE1 TARGET_IOWR('M', 111, int)
01898 #define TARGET_SOUND_MIXER_PRIVATE2 TARGET_IOWR('M', 112, int)
01899 #define TARGET_SOUND_MIXER_PRIVATE3 TARGET_IOWR('M', 113, int)
01900 #define TARGET_SOUND_MIXER_PRIVATE4 TARGET_IOWR('M', 114, int)
01901 #define TARGET_SOUND_MIXER_PRIVATE5 TARGET_IOWR('M', 115, int)
01902
01903 #define TARGET_MIXER_READ(dev) TARGET_IOR('M', dev, int)
01904
01905 #define TARGET_SOUND_MIXER_READ_VOLUME TARGET_MIXER_READ(SOUND_MIXER_VOLUME)
01906 #define TARGET_SOUND_MIXER_READ_BASS TARGET_MIXER_READ(SOUND_MIXER_BASS)
01907 #define TARGET_SOUND_MIXER_READ_TREBLE TARGET_MIXER_READ(SOUND_MIXER_TREBLE)
01908 #define TARGET_SOUND_MIXER_READ_SYNTH TARGET_MIXER_READ(SOUND_MIXER_SYNTH)
01909 #define TARGET_SOUND_MIXER_READ_PCM TARGET_MIXER_READ(SOUND_MIXER_PCM)
01910 #define TARGET_SOUND_MIXER_READ_SPEAKER TARGET_MIXER_READ(SOUND_MIXER_SPEAKER)
01911 #define TARGET_SOUND_MIXER_READ_LINE TARGET_MIXER_READ(SOUND_MIXER_LINE)
01912 #define TARGET_SOUND_MIXER_READ_MIC TARGET_MIXER_READ(SOUND_MIXER_MIC)
01913 #define TARGET_SOUND_MIXER_READ_CD TARGET_MIXER_READ(SOUND_MIXER_CD)
01914 #define TARGET_SOUND_MIXER_READ_IMIX TARGET_MIXER_READ(SOUND_MIXER_IMIX)
01915 #define TARGET_SOUND_MIXER_READ_ALTPCM TARGET_MIXER_READ(SOUND_MIXER_ALTPCM)
01916 #define TARGET_SOUND_MIXER_READ_RECLEV TARGET_MIXER_READ(SOUND_MIXER_RECLEV)
01917 #define TARGET_SOUND_MIXER_READ_IGAIN TARGET_MIXER_READ(SOUND_MIXER_IGAIN)
01918 #define TARGET_SOUND_MIXER_READ_OGAIN TARGET_MIXER_READ(SOUND_MIXER_OGAIN)
01919 #define TARGET_SOUND_MIXER_READ_LINE1 TARGET_MIXER_READ(SOUND_MIXER_LINE1)
01920 #define TARGET_SOUND_MIXER_READ_LINE2 TARGET_MIXER_READ(SOUND_MIXER_LINE2)
01921 #define TARGET_SOUND_MIXER_READ_LINE3 TARGET_MIXER_READ(SOUND_MIXER_LINE3)
01922
01923
01924 #define TARGET_SOUND_MIXER_READ_MUTE TARGET_MIXER_READ(SOUND_MIXER_MUTE)
01925 #define TARGET_SOUND_MIXER_READ_ENHANCE TARGET_MIXER_READ(SOUND_MIXER_ENHANCE)
01926 #define TARGET_SOUND_MIXER_READ_LOUD TARGET_MIXER_READ(SOUND_MIXER_LOUD)
01927
01928 #define TARGET_SOUND_MIXER_READ_RECSRC TARGET_MIXER_READ(SOUND_MIXER_RECSRC)
01929 #define TARGET_SOUND_MIXER_READ_DEVMASK TARGET_MIXER_READ(SOUND_MIXER_DEVMASK)
01930 #define TARGET_SOUND_MIXER_READ_RECMASK TARGET_MIXER_READ(SOUND_MIXER_RECMASK)
01931 #define TARGET_SOUND_MIXER_READ_STEREODEVS TARGET_MIXER_READ(SOUND_MIXER_STEREODEVS)
01932 #define TARGET_SOUND_MIXER_READ_CAPS TARGET_MIXER_READ(SOUND_MIXER_CAPS)
01933
01934 #define TARGET_MIXER_WRITE(dev) TARGET_IOWR('M', dev, int)
01935
01936 #define TARGET_SOUND_MIXER_WRITE_VOLUME TARGET_MIXER_WRITE(SOUND_MIXER_VOLUME)
01937 #define TARGET_SOUND_MIXER_WRITE_BASS TARGET_MIXER_WRITE(SOUND_MIXER_BASS)
01938 #define TARGET_SOUND_MIXER_WRITE_TREBLE TARGET_MIXER_WRITE(SOUND_MIXER_TREBLE)
01939 #define TARGET_SOUND_MIXER_WRITE_SYNTH TARGET_MIXER_WRITE(SOUND_MIXER_SYNTH)
01940 #define TARGET_SOUND_MIXER_WRITE_PCM TARGET_MIXER_WRITE(SOUND_MIXER_PCM)
01941 #define TARGET_SOUND_MIXER_WRITE_SPEAKER TARGET_MIXER_WRITE(SOUND_MIXER_SPEAKER)
01942 #define TARGET_SOUND_MIXER_WRITE_LINE TARGET_MIXER_WRITE(SOUND_MIXER_LINE)
01943 #define TARGET_SOUND_MIXER_WRITE_MIC TARGET_MIXER_WRITE(SOUND_MIXER_MIC)
01944 #define TARGET_SOUND_MIXER_WRITE_CD TARGET_MIXER_WRITE(SOUND_MIXER_CD)
01945 #define TARGET_SOUND_MIXER_WRITE_IMIX TARGET_MIXER_WRITE(SOUND_MIXER_IMIX)
01946 #define TARGET_SOUND_MIXER_WRITE_ALTPCM TARGET_MIXER_WRITE(SOUND_MIXER_ALTPCM)
01947 #define TARGET_SOUND_MIXER_WRITE_RECLEV TARGET_MIXER_WRITE(SOUND_MIXER_RECLEV)
01948 #define TARGET_SOUND_MIXER_WRITE_IGAIN TARGET_MIXER_WRITE(SOUND_MIXER_IGAIN)
01949 #define TARGET_SOUND_MIXER_WRITE_OGAIN TARGET_MIXER_WRITE(SOUND_MIXER_OGAIN)
01950 #define TARGET_SOUND_MIXER_WRITE_LINE1 TARGET_MIXER_WRITE(SOUND_MIXER_LINE1)
01951 #define TARGET_SOUND_MIXER_WRITE_LINE2 TARGET_MIXER_WRITE(SOUND_MIXER_LINE2)
01952 #define TARGET_SOUND_MIXER_WRITE_LINE3 TARGET_MIXER_WRITE(SOUND_MIXER_LINE3)
01953
01954
01955 #define TARGET_SOUND_MIXER_WRITE_MUTE TARGET_MIXER_WRITE(SOUND_MIXER_MUTE)
01956 #define TARGET_SOUND_MIXER_WRITE_ENHANCE TARGET_MIXER_WRITE(SOUND_MIXER_ENHANCE)
01957 #define TARGET_SOUND_MIXER_WRITE_LOUD TARGET_MIXER_WRITE(SOUND_MIXER_LOUD)
01958
01959 #define TARGET_SOUND_MIXER_WRITE_RECSRC TARGET_MIXER_WRITE(SOUND_MIXER_RECSRC)
01960
01961
01962 #define TARGET_VFAT_IOCTL_READDIR_BOTH TARGET_IORU('r', 1)
01963 #define TARGET_VFAT_IOCTL_READDIR_SHORT TARGET_IORU('r', 2)
01964
01965 #define TARGET_MTIOCTOP TARGET_IOW('m', 1, struct mtop)
01966 #define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
01967 #define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
01968
01969 struct target_sysinfo {
01970 abi_long uptime;
01971 abi_ulong loads[3];
01972 abi_ulong totalram;
01973 abi_ulong freeram;
01974 abi_ulong sharedram;
01975 abi_ulong bufferram;
01976 abi_ulong totalswap;
01977 abi_ulong freeswap;
01978 unsigned short procs;
01979 unsigned short pad;
01980 abi_ulong totalhigh;
01981 abi_ulong freehigh;
01982 unsigned int mem_unit;
01983 char _f[20-2*sizeof(abi_long)-sizeof(int)];
01984 };
01985
01986 struct linux_dirent {
01987 long d_ino;
01988 unsigned long d_off;
01989 unsigned short d_reclen;
01990 char d_name[256];
01991 };
01992
01993 struct linux_dirent64 {
01994 uint64_t d_ino;
01995 int64_t d_off;
01996 unsigned short d_reclen;
01997 unsigned char d_type;
01998 char d_name[256];
01999 };
02000
02001 #include "socket.h"
02002
02003 #include "errno_defs.h"