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