File indexing completed on 2025-01-18 10:13:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef __VKI_PPC64_LINUX_H
0030 #define __VKI_PPC64_LINUX_H
0031
0032 #if defined(VGP_ppc32_linux) || defined(VGP_ppc64be_linux)
0033 #define VKI_BIG_ENDIAN 1
0034 #elif defined(VGP_ppc64le_linux)
0035 #define VKI_LITTLE_ENDIAN 1
0036 #endif
0037
0038
0039
0040
0041 typedef __signed__ char __vki_s8;
0042 typedef unsigned char __vki_u8;
0043
0044 typedef __signed__ short __vki_s16;
0045 typedef unsigned short __vki_u16;
0046
0047 typedef __signed__ int __vki_s32;
0048 typedef unsigned int __vki_u32;
0049
0050 typedef __signed__ long __vki_s64;
0051 typedef unsigned long __vki_u64;
0052
0053 typedef struct {
0054 __vki_u32 u[4];
0055 } __attribute((aligned(16))) __vki_vector128;
0056
0057 typedef unsigned short vki_u16;
0058
0059 typedef unsigned int vki_u32;
0060
0061
0062
0063
0064
0065
0066
0067 extern UWord VKI_PAGE_SHIFT;
0068 extern UWord VKI_PAGE_SIZE;
0069 #define VKI_MAX_PAGE_SHIFT 16
0070 #define VKI_MAX_PAGE_SIZE (1UL << VKI_MAX_PAGE_SHIFT)
0071
0072
0073
0074
0075
0076 #define VKI_SHMLBA VKI_PAGE_SIZE
0077
0078
0079
0080
0081
0082 #define VKI_MINSIGSTKSZ 2048
0083
0084
0085 #define VKI_SIG_BLOCK 0
0086 #define VKI_SIG_UNBLOCK 1
0087 #define VKI_SIG_SETMASK 2
0088
0089 typedef void __vki_signalfn_t(int);
0090 typedef __vki_signalfn_t __user *__vki_sighandler_t;
0091
0092 typedef void __vki_restorefn_t(void);
0093 typedef __vki_restorefn_t __user *__vki_sigrestore_t;
0094
0095 #define VKI_SIG_DFL ((__vki_sighandler_t)0)
0096 #define VKI_SIG_IGN ((__vki_sighandler_t)1)
0097
0098
0099 #define _VKI_NSIG 64
0100 #define _VKI_NSIG_BPW 64
0101 #define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW)
0102
0103 typedef unsigned long vki_old_sigset_t;
0104
0105 typedef struct {
0106 unsigned long sig[_VKI_NSIG_WORDS];
0107 } vki_sigset_t;
0108
0109 #define VKI_SIGHUP 1
0110 #define VKI_SIGINT 2
0111 #define VKI_SIGQUIT 3
0112 #define VKI_SIGILL 4
0113 #define VKI_SIGTRAP 5
0114 #define VKI_SIGABRT 6
0115 #define VKI_SIGIOT 6
0116 #define VKI_SIGBUS 7
0117 #define VKI_SIGFPE 8
0118 #define VKI_SIGKILL 9
0119 #define VKI_SIGUSR1 10
0120 #define VKI_SIGSEGV 11
0121 #define VKI_SIGUSR2 12
0122 #define VKI_SIGPIPE 13
0123 #define VKI_SIGALRM 14
0124 #define VKI_SIGTERM 15
0125 #define VKI_SIGSTKFLT 16
0126 #define VKI_SIGCHLD 17
0127 #define VKI_SIGCONT 18
0128 #define VKI_SIGSTOP 19
0129 #define VKI_SIGTSTP 20
0130 #define VKI_SIGTTIN 21
0131 #define VKI_SIGTTOU 22
0132 #define VKI_SIGURG 23
0133 #define VKI_SIGXCPU 24
0134 #define VKI_SIGXFSZ 25
0135 #define VKI_SIGVTALRM 26
0136 #define VKI_SIGPROF 27
0137 #define VKI_SIGWINCH 28
0138 #define VKI_SIGIO 29
0139 #define VKI_SIGPOLL VKI_SIGIO
0140 #define VKI_SIGPWR 30
0141 #define VKI_SIGSYS 31
0142 #define VKI_SIGUNUSED 31
0143
0144
0145 #define VKI_SIGRTMIN 32
0146 #define VKI_SIGRTMAX _VKI_NSIG
0147
0148 #define VKI_SA_NOCLDSTOP 0x00000001u
0149 #define VKI_SA_NOCLDWAIT 0x00000002u
0150 #define VKI_SA_SIGINFO 0x00000004u
0151 #define VKI_SA_ONSTACK 0x08000000u
0152 #define VKI_SA_RESTART 0x10000000u
0153 #define VKI_SA_NODEFER 0x40000000u
0154 #define VKI_SA_RESETHAND 0x80000000u
0155
0156 #define VKI_SA_NOMASK VKI_SA_NODEFER
0157 #define VKI_SA_ONESHOT VKI_SA_RESETHAND
0158
0159
0160 #define VKI_SA_RESTORER 0x04000000u
0161
0162 #define VKI_SS_ONSTACK 1
0163 #define VKI_SS_DISABLE 2
0164
0165
0166 struct vki_old_sigaction {
0167 __vki_sighandler_t ksa_handler;
0168 vki_old_sigset_t sa_mask;
0169 unsigned long sa_flags;
0170 __vki_sigrestore_t sa_restorer;
0171 };
0172
0173 struct vki_sigaction_base {
0174 __vki_sighandler_t ksa_handler;
0175 unsigned long sa_flags;
0176 __vki_sigrestore_t sa_restorer;
0177 vki_sigset_t sa_mask;
0178 };
0179
0180
0181
0182 typedef struct vki_sigaction_base vki_sigaction_toK_t;
0183 typedef struct vki_sigaction_base vki_sigaction_fromK_t;
0184
0185
0186 typedef struct vki_sigaltstack {
0187 void __user *ss_sp;
0188 int ss_flags;
0189 vki_size_t ss_size;
0190 } vki_stack_t;
0191
0192
0193
0194
0195
0196 #define VKI_PPC_REG unsigned long
0197 struct vki_pt_regs {
0198 VKI_PPC_REG gpr[32];
0199 VKI_PPC_REG nip;
0200 VKI_PPC_REG msr;
0201 VKI_PPC_REG orig_gpr3;
0202 VKI_PPC_REG ctr;
0203 VKI_PPC_REG link;
0204 VKI_PPC_REG xer;
0205 VKI_PPC_REG ccr;
0206 VKI_PPC_REG softe;
0207 VKI_PPC_REG trap;
0208 VKI_PPC_REG dar;
0209 VKI_PPC_REG dsisr;
0210 VKI_PPC_REG result;
0211
0212
0213
0214
0215
0216
0217
0218 unsigned long pad[4];
0219 };
0220
0221
0222 #define vki_user_regs_struct vki_pt_regs
0223
0224 #define VKI_PT_R0 0
0225 #define VKI_PT_R1 1
0226 #define VKI_PT_R2 2
0227 #define VKI_PT_R3 3
0228 #define VKI_PT_R4 4
0229 #define VKI_PT_R5 5
0230 #define VKI_PT_R6 6
0231 #define VKI_PT_R7 7
0232 #define VKI_PT_R8 8
0233 #define VKI_PT_R9 9
0234 #define VKI_PT_R10 10
0235 #define VKI_PT_R11 11
0236 #define VKI_PT_R12 12
0237 #define VKI_PT_R13 13
0238 #define VKI_PT_R14 14
0239 #define VKI_PT_R15 15
0240 #define VKI_PT_R16 16
0241 #define VKI_PT_R17 17
0242 #define VKI_PT_R18 18
0243 #define VKI_PT_R19 19
0244 #define VKI_PT_R20 20
0245 #define VKI_PT_R21 21
0246 #define VKI_PT_R22 22
0247 #define VKI_PT_R23 23
0248 #define VKI_PT_R24 24
0249 #define VKI_PT_R25 25
0250 #define VKI_PT_R26 26
0251 #define VKI_PT_R27 27
0252 #define VKI_PT_R28 28
0253 #define VKI_PT_R29 29
0254 #define VKI_PT_R30 30
0255 #define VKI_PT_R31 31
0256 #define VKI_PT_NIP 32
0257 #define VKI_PT_MSR 33
0258 #define VKI_PT_ORIG_R3 34
0259 #define VKI_PT_CTR 35
0260 #define VKI_PT_LNK 36
0261 #define VKI_PT_XER 37
0262 #define VKI_PT_CCR 38
0263 #define VKI_PT_SOFTE 39
0264 #define VKI_PT_RESULT 43
0265
0266
0267
0268
0269
0270 #define VKI_ELF_NGREG 48
0271 #define VKI_ELF_NFPREG 33
0272 #define VKI_ELF_NVRREG 34
0273
0274 typedef unsigned long vki_elf_greg_t64;
0275 typedef vki_elf_greg_t64 vki_elf_gregset_t64[VKI_ELF_NGREG];
0276
0277 typedef vki_elf_gregset_t64 vki_elf_gregset_t;
0278
0279 typedef double vki_elf_fpreg_t;
0280 typedef vki_elf_fpreg_t vki_elf_fpregset_t[VKI_ELF_NFPREG];
0281
0282
0283
0284
0285
0286
0287
0288
0289
0290
0291
0292
0293
0294
0295
0296
0297
0298
0299 typedef __vki_vector128 vki_elf_vrreg_t;
0300 typedef vki_elf_vrreg_t vki_elf_vrregset_t[VKI_ELF_NVRREG];
0301
0302
0303
0304
0305
0306 struct vki_sigcontext {
0307 unsigned long _unused[4];
0308 int signal;
0309 int _pad0;
0310 unsigned long handler;
0311 unsigned long oldmask;
0312 struct vki_pt_regs __user *regs;
0313 vki_elf_gregset_t gp_regs;
0314 vki_elf_fpregset_t fp_regs;
0315
0316
0317
0318
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330
0331
0332
0333
0334 vki_elf_vrreg_t __user *v_regs;
0335 long vmx_reserve[VKI_ELF_NVRREG+VKI_ELF_NVRREG+1];
0336 };
0337
0338
0339
0340
0341
0342 #ifdef __powerpc64__
0343 # define __VKI_ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
0344 #endif
0345
0346
0347
0348
0349
0350 #define VKI_PROT_NONE 0x0
0351 #define VKI_PROT_READ 0x1
0352 #define VKI_PROT_WRITE 0x2
0353 #define VKI_PROT_EXEC 0x4
0354 #define VKI_PROT_GROWSDOWN 0x01000000
0355
0356
0357 #define VKI_PROT_GROWSUP 0x02000000
0358
0359
0360
0361 #define VKI_MAP_SHARED 0x01
0362 #define VKI_MAP_PRIVATE 0x02
0363 #define VKI_MAP_FIXED 0x10
0364 #define VKI_MAP_ANONYMOUS 0x20
0365 #define VKI_MAP_NORESERVE 0x40
0366
0367
0368
0369
0370
0371 #define VKI_O_ACCMODE 03
0372 #define VKI_O_RDONLY 00
0373 #define VKI_O_WRONLY 01
0374 #define VKI_O_RDWR 02
0375 #define VKI_O_CREAT 0100
0376 #define VKI_O_EXCL 0200
0377 #define VKI_O_TRUNC 01000
0378 #define VKI_O_APPEND 02000
0379 #define VKI_O_NONBLOCK 04000
0380 #define VKI_O_LARGEFILE 0200000
0381
0382 #define VKI_AT_FDCWD -100
0383
0384 #define VKI_F_DUPFD 0
0385 #define VKI_F_GETFD 1
0386 #define VKI_F_SETFD 2
0387 #define VKI_F_GETFL 3
0388 #define VKI_F_SETFL 4
0389 #define VKI_F_GETLK 5
0390 #define VKI_F_SETLK 6
0391 #define VKI_F_SETLKW 7
0392
0393 #define VKI_F_SETOWN 8
0394 #define VKI_F_GETOWN 9
0395 #define VKI_F_SETSIG 10
0396 #define VKI_F_GETSIG 11
0397
0398 #define VKI_F_SETOWN_EX 15
0399 #define VKI_F_GETOWN_EX 16
0400
0401 #define VKI_F_OFD_GETLK 36
0402 #define VKI_F_OFD_SETLK 37
0403 #define VKI_F_OFD_SETLKW 38
0404
0405 #define VKI_F_OWNER_TID 0
0406 #define VKI_F_OWNER_PID 1
0407 #define VKI_F_OWNER_PGRP 2
0408
0409 struct vki_f_owner_ex {
0410 int type;
0411 __vki_kernel_pid_t pid;
0412 };
0413
0414
0415 #define VKI_FD_CLOEXEC 1
0416
0417 #define VKI_F_LINUX_SPECIFIC_BASE 1024
0418
0419
0420
0421
0422
0423
0424
0425 #define VKI_RLIMIT_DATA 2
0426 #define VKI_RLIMIT_STACK 3
0427 #define VKI_RLIMIT_CORE 4
0428 #define VKI_RLIMIT_NOFILE 7
0429
0430
0431
0432
0433
0434 #define VKI_SOL_SOCKET 1
0435
0436 #define VKI_SO_TYPE 3
0437
0438 #define VKI_SO_ATTACH_FILTER 26
0439
0440
0441
0442
0443
0444 #define VKI_SIOCSPGRP 0x8902
0445 #define VKI_SIOCGPGRP 0x8904
0446 #define VKI_SIOCATMARK 0x8905
0447 #define VKI_SIOCGSTAMP 0x8906
0448 #define VKI_SIOCGSTAMPNS 0x8907
0449
0450
0451
0452
0453
0454 struct vki_stat {
0455 unsigned long st_dev;
0456 unsigned long st_ino;
0457 unsigned long st_nlink;
0458 unsigned int st_mode;
0459 unsigned int st_uid;
0460 unsigned int st_gid;
0461 unsigned long st_rdev;
0462 long st_size;
0463 unsigned long st_blksize;
0464 unsigned long st_blocks;
0465 unsigned long st_atime;
0466 unsigned long st_atime_nsec;
0467 unsigned long st_mtime;
0468 unsigned long st_mtime_nsec;
0469 unsigned long st_ctime;
0470 unsigned long st_ctime_nsec;
0471 unsigned long __unused4;
0472 unsigned long __unused5;
0473 unsigned long __unused6;
0474 };
0475
0476 #define VKI_STAT_HAVE_NSEC 1
0477
0478
0479 struct vki_stat64 {
0480 unsigned long st_dev;
0481 unsigned long st_ino;
0482 unsigned int st_mode;
0483 unsigned int st_nlink;
0484 unsigned int st_uid;
0485 unsigned int st_gid;
0486 unsigned long st_rdev;
0487 unsigned short __pad2;
0488 long st_size;
0489 int st_blksize;
0490
0491 long st_blocks;
0492 int st_atime;
0493 int st_atime_nsec;
0494 int st_mtime;
0495 int st_mtime_nsec;
0496 int st_ctime;
0497 int st_ctime_nsec;
0498 unsigned int __unused4;
0499 unsigned int __unused5;
0500 };
0501
0502
0503
0504
0505
0506 struct vki_statfs {
0507 long f_type;
0508 long f_bsize;
0509 long f_blocks;
0510 long f_bfree;
0511 long f_bavail;
0512 long f_files;
0513 long f_ffree;
0514 __vki_kernel_fsid_t f_fsid;
0515 long f_namelen;
0516 long f_frsize;
0517 long f_spare[5];
0518 };
0519
0520
0521
0522
0523
0524 struct vki_winsize {
0525 unsigned short ws_row;
0526 unsigned short ws_col;
0527 unsigned short ws_xpixel;
0528 unsigned short ws_ypixel;
0529 };
0530
0531 #define VKI_NCC 10
0532 struct vki_termio {
0533 unsigned short c_iflag;
0534 unsigned short c_oflag;
0535 unsigned short c_cflag;
0536 unsigned short c_lflag;
0537 unsigned char c_line;
0538 unsigned char c_cc[VKI_NCC];
0539 };
0540
0541
0542
0543
0544
0545 typedef unsigned char vki_cc_t;
0546 typedef unsigned int vki_speed_t;
0547 typedef unsigned int vki_tcflag_t;
0548
0549 #define VKI_NCCS 19
0550 struct vki_termios {
0551 vki_tcflag_t c_iflag;
0552 vki_tcflag_t c_oflag;
0553 vki_tcflag_t c_cflag;
0554 vki_tcflag_t c_lflag;
0555 vki_cc_t c_cc[VKI_NCCS];
0556 vki_cc_t c_line;
0557 vki_speed_t c_ispeed;
0558 vki_speed_t c_ospeed;
0559 };
0560
0561
0562
0563
0564
0565 #define _VKI_IOC_NRBITS 8
0566 #define _VKI_IOC_TYPEBITS 8
0567 #define _VKI_IOC_SIZEBITS 13
0568 #define _VKI_IOC_DIRBITS 3
0569
0570 #define _VKI_IOC_NRMASK ((1 << _VKI_IOC_NRBITS)-1)
0571 #define _VKI_IOC_TYPEMASK ((1 << _VKI_IOC_TYPEBITS)-1)
0572 #define _VKI_IOC_SIZEMASK ((1 << _VKI_IOC_SIZEBITS)-1)
0573 #define _VKI_IOC_DIRMASK ((1 << _VKI_IOC_DIRBITS)-1)
0574
0575 #define _VKI_IOC_NRSHIFT 0
0576 #define _VKI_IOC_TYPESHIFT (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS)
0577 #define _VKI_IOC_SIZESHIFT (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS)
0578 #define _VKI_IOC_DIRSHIFT (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS)
0579
0580
0581
0582
0583
0584
0585 #define _VKI_IOC_NONE 1U
0586 #define _VKI_IOC_READ 2U
0587 #define _VKI_IOC_WRITE 4U
0588
0589 #define _VKI_IOC(dir,type,nr,size) \
0590 (((dir) << _VKI_IOC_DIRSHIFT) | \
0591 ((type) << _VKI_IOC_TYPESHIFT) | \
0592 ((nr) << _VKI_IOC_NRSHIFT) | \
0593 ((size) << _VKI_IOC_SIZESHIFT))
0594
0595
0596 #define _VKI_IO(type,nr) _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0)
0597 #define _VKI_IOR(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr), \
0598 (_VKI_IOC_TYPECHECK(size)))
0599 #define _VKI_IOW(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr), \
0600 (_VKI_IOC_TYPECHECK(size)))
0601 #define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE, \
0602 (type),(nr),(_VKI_IOC_TYPECHECK(size)))
0603 #define _VKI_IOR_BAD(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr), \
0604 sizeof(size))
0605 #define _VKI_IOW_BAD(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr), \
0606 sizeof(size))
0607 #define _VKI_IOWR_BAD(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE, \
0608 (type),(nr),sizeof(size))
0609
0610
0611 #define _VKI_IOC_DIR(nr) (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK)
0612 #define _VKI_IOC_TYPE(nr) (((nr) >> _VKI_IOC_TYPESHIFT) & _VKI_IOC_TYPEMASK)
0613 #define _VKI_IOC_NR(nr) (((nr) >> _VKI_IOC_NRSHIFT) & _VKI_IOC_NRMASK)
0614 #define _VKI_IOC_SIZE(nr) (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK)
0615
0616
0617
0618
0619
0620 #define VKI_FIOCLEX _VKI_IO('f', 1)
0621 #define VKI_FIONCLEX _VKI_IO('f', 2)
0622
0623 #define VKI_TCGETS _VKI_IOR('t', 19, struct vki_termios)
0624 #define VKI_TCSETS _VKI_IOW('t', 20, struct vki_termios)
0625 #define VKI_TCSETSW _VKI_IOW('t', 21, struct vki_termios)
0626 #define VKI_TCSETSF _VKI_IOW('t', 22, struct vki_termios)
0627 #define VKI_TCGETA _VKI_IOR('t', 23, struct vki_termio)
0628 #define VKI_TCSETA _VKI_IOW('t', 24, struct vki_termio)
0629 #define VKI_TCSETAW _VKI_IOW('t', 25, struct vki_termio)
0630 #define VKI_TCSETAF _VKI_IOW('t', 28, struct vki_termio)
0631 #define VKI_TCSBRK _VKI_IO('t', 29)
0632 #define VKI_TCXONC _VKI_IO('t', 30)
0633 #define VKI_TCFLSH _VKI_IO('t', 31)
0634 #define VKI_TIOCSCTTY 0x540E
0635 #define VKI_TIOCGPGRP _VKI_IOR('t', 119, int)
0636 #define VKI_TIOCSPGRP _VKI_IOW('t', 118, int)
0637 #define VKI_TIOCOUTQ _VKI_IOR('t', 115, int)
0638 #define VKI_TIOCGWINSZ _VKI_IOR('t', 104, struct vki_winsize)
0639 #define VKI_TIOCSWINSZ _VKI_IOW('t', 103, struct vki_winsize)
0640 #define VKI_TIOCMGET 0x5415
0641 #define VKI_TIOCMBIS 0x5416
0642 #define VKI_TIOCMBIC 0x5417
0643 #define VKI_TIOCMSET 0x5418
0644 #define VKI_FIONREAD _VKI_IOR('f', 127, int)
0645 #define VKI_TIOCLINUX 0x541C
0646 #define VKI_FIONBIO _VKI_IOW('f', 126, int)
0647 #define VKI_TIOCNOTTY 0x5422
0648 #define VKI_TCSBRKP 0x5425
0649 #define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int)
0650
0651 #define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int)
0652 #define VKI_FIOASYNC _VKI_IOW('f', 125, int)
0653 #define VKI_TIOCSERGETLSR 0x5459
0654 #define VKI_TIOCGICOUNT 0x545D
0655 #define VKI_FIOQSIZE _VKI_IOR('f', 128, vki_loff_t)
0656
0657
0658
0659
0660
0661 #define VKI_POLLIN 0x0001
0662
0663 struct vki_pollfd {
0664 int fd;
0665 short events;
0666 short revents;
0667 };
0668
0669
0670
0671
0672
0673
0674
0675
0676
0677
0678
0679
0680
0681
0682
0683
0684
0685 struct vki_ucontext {
0686 unsigned long uc_flags;
0687 struct vki_ucontext *uc_link;
0688 vki_stack_t uc_stack;
0689 vki_sigset_t uc_sigmask;
0690 vki_sigset_t __unused0[15];
0691 struct vki_sigcontext uc_mcontext;
0692 };
0693
0694
0695 typedef char vki_modify_ldt_t;
0696
0697
0698
0699
0700
0701 struct vki_ipc64_perm
0702 {
0703 __vki_kernel_key_t key;
0704 __vki_kernel_uid_t uid;
0705 __vki_kernel_gid_t gid;
0706 __vki_kernel_uid_t cuid;
0707 __vki_kernel_gid_t cgid;
0708 __vki_kernel_mode_t mode;
0709 unsigned int seq;
0710 unsigned int __pad1;
0711 unsigned long __unused1;
0712 unsigned long __unused2;
0713 };
0714
0715
0716
0717
0718
0719 struct vki_semid64_ds {
0720 struct vki_ipc64_perm sem_perm;
0721 __vki_kernel_time_t sem_otime;
0722 __vki_kernel_time_t sem_ctime;
0723 unsigned long sem_nsems;
0724 unsigned long __unused1;
0725 unsigned long __unused2;
0726 };
0727
0728
0729
0730
0731
0732 struct vki_msqid64_ds {
0733 struct vki_ipc64_perm msg_perm;
0734 __vki_kernel_time_t msg_stime;
0735 __vki_kernel_time_t msg_rtime;
0736 __vki_kernel_time_t msg_ctime;
0737 unsigned long msg_cbytes;
0738 unsigned long msg_qnum;
0739 unsigned long msg_qbytes;
0740 __vki_kernel_pid_t msg_lspid;
0741 __vki_kernel_pid_t msg_lrpid;
0742 unsigned long __unused1;
0743 unsigned long __unused2;
0744 };
0745
0746
0747
0748
0749
0750
0751
0752 struct vki_ipc_kludge {
0753 struct vki_msgbuf __user *msgp;
0754 long msgtyp;
0755 };
0756
0757 #define VKI_SEMOP 1
0758 #define VKI_SEMGET 2
0759 #define VKI_SEMCTL 3
0760 #define VKI_SEMTIMEDOP 4
0761 #define VKI_MSGSND 11
0762 #define VKI_MSGRCV 12
0763 #define VKI_MSGGET 13
0764 #define VKI_MSGCTL 14
0765 #define VKI_SHMAT 21
0766 #define VKI_SHMDT 22
0767 #define VKI_SHMGET 23
0768 #define VKI_SHMCTL 24
0769
0770
0771
0772
0773
0774 struct vki_shmid64_ds {
0775 struct vki_ipc64_perm shm_perm;
0776 __vki_kernel_time_t shm_atime;
0777 __vki_kernel_time_t shm_dtime;
0778 __vki_kernel_time_t shm_ctime;
0779 vki_size_t shm_segsz;
0780 __vki_kernel_pid_t shm_cpid;
0781 __vki_kernel_pid_t shm_lpid;
0782 unsigned long shm_nattch;
0783 unsigned long __unused1;
0784 unsigned long __unused2;
0785 };
0786
0787 struct vki_shminfo64 {
0788 unsigned long shmmax;
0789 unsigned long shmmin;
0790 unsigned long shmmni;
0791 unsigned long shmseg;
0792 unsigned long shmall;
0793 unsigned long __unused1;
0794 unsigned long __unused2;
0795 unsigned long __unused3;
0796 unsigned long __unused4;
0797 };
0798
0799
0800
0801
0802
0803 #define VKI_ENOSYS 38
0804 #define VKI_EOVERFLOW 75
0805
0806
0807
0808
0809
0810 #define VKI_TIOCGSERIAL 0x541E
0811 #define VKI_TIOCSSERIAL 0x541F
0812
0813
0814
0815
0816
0817 #endif
0818
0819
0820
0821