Warning, file /include/valgrind/vki/vki-ppc64-linux.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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_DIRECT 0400000
0381 #define VKI_O_LARGEFILE 0200000
0382
0383 #define VKI_AT_FDCWD -100
0384
0385 #define VKI_F_DUPFD 0
0386 #define VKI_F_GETFD 1
0387 #define VKI_F_SETFD 2
0388 #define VKI_F_GETFL 3
0389 #define VKI_F_SETFL 4
0390 #define VKI_F_GETLK 5
0391 #define VKI_F_SETLK 6
0392 #define VKI_F_SETLKW 7
0393
0394 #define VKI_F_SETOWN 8
0395 #define VKI_F_GETOWN 9
0396 #define VKI_F_SETSIG 10
0397 #define VKI_F_GETSIG 11
0398
0399 #define VKI_F_SETOWN_EX 15
0400 #define VKI_F_GETOWN_EX 16
0401
0402 #define VKI_F_OFD_GETLK 36
0403 #define VKI_F_OFD_SETLK 37
0404 #define VKI_F_OFD_SETLKW 38
0405
0406 #define VKI_F_OWNER_TID 0
0407 #define VKI_F_OWNER_PID 1
0408 #define VKI_F_OWNER_PGRP 2
0409
0410 struct vki_f_owner_ex {
0411 int type;
0412 __vki_kernel_pid_t pid;
0413 };
0414
0415
0416 #define VKI_FD_CLOEXEC 1
0417
0418 #define VKI_F_LINUX_SPECIFIC_BASE 1024
0419
0420
0421
0422
0423
0424
0425
0426 #define VKI_RLIMIT_DATA 2
0427 #define VKI_RLIMIT_STACK 3
0428 #define VKI_RLIMIT_CORE 4
0429 #define VKI_RLIMIT_NOFILE 7
0430
0431
0432
0433
0434
0435 #define VKI_SOL_SOCKET 1
0436
0437 #define VKI_SO_TYPE 3
0438
0439 #define VKI_SO_ATTACH_FILTER 26
0440
0441
0442
0443
0444
0445 #define VKI_SIOCSPGRP 0x8902
0446 #define VKI_SIOCGPGRP 0x8904
0447 #define VKI_SIOCATMARK 0x8905
0448 #define VKI_SIOCGSTAMP 0x8906
0449 #define VKI_SIOCGSTAMPNS 0x8907
0450
0451
0452
0453
0454
0455 struct vki_stat {
0456 unsigned long st_dev;
0457 unsigned long st_ino;
0458 unsigned long st_nlink;
0459 unsigned int st_mode;
0460 unsigned int st_uid;
0461 unsigned int st_gid;
0462 unsigned long st_rdev;
0463 long st_size;
0464 unsigned long st_blksize;
0465 unsigned long st_blocks;
0466 unsigned long st_atime;
0467 unsigned long st_atime_nsec;
0468 unsigned long st_mtime;
0469 unsigned long st_mtime_nsec;
0470 unsigned long st_ctime;
0471 unsigned long st_ctime_nsec;
0472 unsigned long __unused4;
0473 unsigned long __unused5;
0474 unsigned long __unused6;
0475 };
0476
0477 #define VKI_STAT_HAVE_NSEC 1
0478
0479
0480 struct vki_stat64 {
0481 unsigned long st_dev;
0482 unsigned long st_ino;
0483 unsigned int st_mode;
0484 unsigned int st_nlink;
0485 unsigned int st_uid;
0486 unsigned int st_gid;
0487 unsigned long st_rdev;
0488 unsigned short __pad2;
0489 long st_size;
0490 int st_blksize;
0491
0492 long st_blocks;
0493 int st_atime;
0494 int st_atime_nsec;
0495 int st_mtime;
0496 int st_mtime_nsec;
0497 int st_ctime;
0498 int st_ctime_nsec;
0499 unsigned int __unused4;
0500 unsigned int __unused5;
0501 };
0502
0503
0504
0505
0506
0507 struct vki_statfs {
0508 long f_type;
0509 long f_bsize;
0510 long f_blocks;
0511 long f_bfree;
0512 long f_bavail;
0513 long f_files;
0514 long f_ffree;
0515 __vki_kernel_fsid_t f_fsid;
0516 long f_namelen;
0517 long f_frsize;
0518 long f_spare[5];
0519 };
0520
0521
0522
0523
0524
0525 struct vki_winsize {
0526 unsigned short ws_row;
0527 unsigned short ws_col;
0528 unsigned short ws_xpixel;
0529 unsigned short ws_ypixel;
0530 };
0531
0532 #define VKI_NCC 10
0533 struct vki_termio {
0534 unsigned short c_iflag;
0535 unsigned short c_oflag;
0536 unsigned short c_cflag;
0537 unsigned short c_lflag;
0538 unsigned char c_line;
0539 unsigned char c_cc[VKI_NCC];
0540 };
0541
0542
0543
0544
0545
0546 typedef unsigned char vki_cc_t;
0547 typedef unsigned int vki_speed_t;
0548 typedef unsigned int vki_tcflag_t;
0549
0550 #define VKI_NCCS 19
0551 struct vki_termios {
0552 vki_tcflag_t c_iflag;
0553 vki_tcflag_t c_oflag;
0554 vki_tcflag_t c_cflag;
0555 vki_tcflag_t c_lflag;
0556 vki_cc_t c_cc[VKI_NCCS];
0557 vki_cc_t c_line;
0558 vki_speed_t c_ispeed;
0559 vki_speed_t c_ospeed;
0560 };
0561
0562
0563
0564
0565
0566 #define _VKI_IOC_NRBITS 8
0567 #define _VKI_IOC_TYPEBITS 8
0568 #define _VKI_IOC_SIZEBITS 13
0569 #define _VKI_IOC_DIRBITS 3
0570
0571 #define _VKI_IOC_NRMASK ((1 << _VKI_IOC_NRBITS)-1)
0572 #define _VKI_IOC_TYPEMASK ((1 << _VKI_IOC_TYPEBITS)-1)
0573 #define _VKI_IOC_SIZEMASK ((1 << _VKI_IOC_SIZEBITS)-1)
0574 #define _VKI_IOC_DIRMASK ((1 << _VKI_IOC_DIRBITS)-1)
0575
0576 #define _VKI_IOC_NRSHIFT 0
0577 #define _VKI_IOC_TYPESHIFT (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS)
0578 #define _VKI_IOC_SIZESHIFT (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS)
0579 #define _VKI_IOC_DIRSHIFT (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS)
0580
0581
0582
0583
0584
0585
0586 #define _VKI_IOC_NONE 1U
0587 #define _VKI_IOC_READ 2U
0588 #define _VKI_IOC_WRITE 4U
0589
0590 #define _VKI_IOC(dir,type,nr,size) \
0591 (((dir) << _VKI_IOC_DIRSHIFT) | \
0592 ((type) << _VKI_IOC_TYPESHIFT) | \
0593 ((nr) << _VKI_IOC_NRSHIFT) | \
0594 ((size) << _VKI_IOC_SIZESHIFT))
0595
0596
0597 #define _VKI_IO(type,nr) _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0)
0598 #define _VKI_IOR(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr), \
0599 (_VKI_IOC_TYPECHECK(size)))
0600 #define _VKI_IOW(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr), \
0601 (_VKI_IOC_TYPECHECK(size)))
0602 #define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE, \
0603 (type),(nr),(_VKI_IOC_TYPECHECK(size)))
0604 #define _VKI_IOR_BAD(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr), \
0605 sizeof(size))
0606 #define _VKI_IOW_BAD(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr), \
0607 sizeof(size))
0608 #define _VKI_IOWR_BAD(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE, \
0609 (type),(nr),sizeof(size))
0610
0611
0612 #define _VKI_IOC_DIR(nr) (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK)
0613 #define _VKI_IOC_TYPE(nr) (((nr) >> _VKI_IOC_TYPESHIFT) & _VKI_IOC_TYPEMASK)
0614 #define _VKI_IOC_NR(nr) (((nr) >> _VKI_IOC_NRSHIFT) & _VKI_IOC_NRMASK)
0615 #define _VKI_IOC_SIZE(nr) (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK)
0616
0617
0618
0619
0620
0621 #define VKI_FIOCLEX _VKI_IO('f', 1)
0622 #define VKI_FIONCLEX _VKI_IO('f', 2)
0623
0624 #define VKI_TCGETS _VKI_IOR('t', 19, struct vki_termios)
0625 #define VKI_TCSETS _VKI_IOW('t', 20, struct vki_termios)
0626 #define VKI_TCSETSW _VKI_IOW('t', 21, struct vki_termios)
0627 #define VKI_TCSETSF _VKI_IOW('t', 22, struct vki_termios)
0628 #define VKI_TCGETA _VKI_IOR('t', 23, struct vki_termio)
0629 #define VKI_TCSETA _VKI_IOW('t', 24, struct vki_termio)
0630 #define VKI_TCSETAW _VKI_IOW('t', 25, struct vki_termio)
0631 #define VKI_TCSETAF _VKI_IOW('t', 28, struct vki_termio)
0632 #define VKI_TCSBRK _VKI_IO('t', 29)
0633 #define VKI_TCXONC _VKI_IO('t', 30)
0634 #define VKI_TCFLSH _VKI_IO('t', 31)
0635 #define VKI_TIOCSCTTY 0x540E
0636 #define VKI_TIOCGPGRP _VKI_IOR('t', 119, int)
0637 #define VKI_TIOCSPGRP _VKI_IOW('t', 118, int)
0638 #define VKI_TIOCOUTQ _VKI_IOR('t', 115, int)
0639 #define VKI_TIOCGWINSZ _VKI_IOR('t', 104, struct vki_winsize)
0640 #define VKI_TIOCSWINSZ _VKI_IOW('t', 103, struct vki_winsize)
0641 #define VKI_TIOCMGET 0x5415
0642 #define VKI_TIOCMBIS 0x5416
0643 #define VKI_TIOCMBIC 0x5417
0644 #define VKI_TIOCMSET 0x5418
0645 #define VKI_FIONREAD _VKI_IOR('f', 127, int)
0646 #define VKI_TIOCLINUX 0x541C
0647 #define VKI_FIONBIO _VKI_IOW('f', 126, int)
0648 #define VKI_TIOCNOTTY 0x5422
0649 #define VKI_TCSBRKP 0x5425
0650 #define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int)
0651
0652 #define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int)
0653 #define VKI_FIOASYNC _VKI_IOW('f', 125, int)
0654 #define VKI_TIOCSERGETLSR 0x5459
0655 #define VKI_TIOCGICOUNT 0x545D
0656 #define VKI_FIOQSIZE _VKI_IOR('f', 128, vki_loff_t)
0657
0658
0659
0660
0661
0662 #define VKI_POLLIN 0x0001
0663
0664 struct vki_pollfd {
0665 int fd;
0666 short events;
0667 short revents;
0668 };
0669
0670
0671
0672
0673
0674
0675
0676
0677
0678
0679
0680
0681
0682
0683
0684
0685
0686 struct vki_ucontext {
0687 unsigned long uc_flags;
0688 struct vki_ucontext *uc_link;
0689 vki_stack_t uc_stack;
0690 vki_sigset_t uc_sigmask;
0691 vki_sigset_t __unused0[15];
0692 struct vki_sigcontext uc_mcontext;
0693 };
0694
0695
0696 typedef char vki_modify_ldt_t;
0697
0698
0699
0700
0701
0702 struct vki_ipc64_perm
0703 {
0704 __vki_kernel_key_t key;
0705 __vki_kernel_uid_t uid;
0706 __vki_kernel_gid_t gid;
0707 __vki_kernel_uid_t cuid;
0708 __vki_kernel_gid_t cgid;
0709 __vki_kernel_mode_t mode;
0710 unsigned int seq;
0711 unsigned int __pad1;
0712 unsigned long __unused1;
0713 unsigned long __unused2;
0714 };
0715
0716
0717
0718
0719
0720 struct vki_semid64_ds {
0721 struct vki_ipc64_perm sem_perm;
0722 __vki_kernel_time_t sem_otime;
0723 __vki_kernel_time_t sem_ctime;
0724 unsigned long sem_nsems;
0725 unsigned long __unused1;
0726 unsigned long __unused2;
0727 };
0728
0729
0730
0731
0732
0733 struct vki_msqid64_ds {
0734 struct vki_ipc64_perm msg_perm;
0735 __vki_kernel_time_t msg_stime;
0736 __vki_kernel_time_t msg_rtime;
0737 __vki_kernel_time_t msg_ctime;
0738 unsigned long msg_cbytes;
0739 unsigned long msg_qnum;
0740 unsigned long msg_qbytes;
0741 __vki_kernel_pid_t msg_lspid;
0742 __vki_kernel_pid_t msg_lrpid;
0743 unsigned long __unused1;
0744 unsigned long __unused2;
0745 };
0746
0747
0748
0749
0750
0751
0752
0753 struct vki_ipc_kludge {
0754 struct vki_msgbuf __user *msgp;
0755 long msgtyp;
0756 };
0757
0758 #define VKI_SEMOP 1
0759 #define VKI_SEMGET 2
0760 #define VKI_SEMCTL 3
0761 #define VKI_SEMTIMEDOP 4
0762 #define VKI_MSGSND 11
0763 #define VKI_MSGRCV 12
0764 #define VKI_MSGGET 13
0765 #define VKI_MSGCTL 14
0766 #define VKI_SHMAT 21
0767 #define VKI_SHMDT 22
0768 #define VKI_SHMGET 23
0769 #define VKI_SHMCTL 24
0770
0771
0772
0773
0774
0775 struct vki_shmid64_ds {
0776 struct vki_ipc64_perm shm_perm;
0777 __vki_kernel_time_t shm_atime;
0778 __vki_kernel_time_t shm_dtime;
0779 __vki_kernel_time_t shm_ctime;
0780 vki_size_t shm_segsz;
0781 __vki_kernel_pid_t shm_cpid;
0782 __vki_kernel_pid_t shm_lpid;
0783 unsigned long shm_nattch;
0784 unsigned long __unused1;
0785 unsigned long __unused2;
0786 };
0787
0788 struct vki_shminfo64 {
0789 unsigned long shmmax;
0790 unsigned long shmmin;
0791 unsigned long shmmni;
0792 unsigned long shmseg;
0793 unsigned long shmall;
0794 unsigned long __unused1;
0795 unsigned long __unused2;
0796 unsigned long __unused3;
0797 unsigned long __unused4;
0798 };
0799
0800
0801
0802
0803
0804 #define VKI_ENOSYS 38
0805 #define VKI_EOVERFLOW 75
0806
0807
0808
0809
0810
0811 #define VKI_TIOCGSERIAL 0x541E
0812 #define VKI_TIOCSSERIAL 0x541F
0813
0814
0815
0816
0817
0818 #endif
0819
0820
0821
0822