File indexing completed on 2025-03-13 09:28:37
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_LARGEFILE 0200000
0318
0319 #define VKI_AT_FDCWD -100
0320
0321 #define VKI_F_DUPFD 0
0322 #define VKI_F_GETFD 1
0323 #define VKI_F_SETFD 2
0324 #define VKI_F_GETFL 3
0325 #define VKI_F_SETFL 4
0326 #define VKI_F_GETLK 5
0327 #define VKI_F_SETLK 6
0328 #define VKI_F_SETLKW 7
0329
0330 #define VKI_F_SETOWN 8
0331 #define VKI_F_GETOWN 9
0332 #define VKI_F_SETSIG 10
0333 #define VKI_F_GETSIG 11
0334
0335 #define VKI_F_GETLK64 12
0336 #define VKI_F_SETLK64 13
0337 #define VKI_F_SETLKW64 14
0338
0339 #define VKI_F_SETOWN_EX 15
0340 #define VKI_F_GETOWN_EX 16
0341
0342 #define VKI_F_OFD_GETLK 36
0343 #define VKI_F_OFD_SETLK 37
0344 #define VKI_F_OFD_SETLKW 38
0345
0346 #define VKI_F_OWNER_TID 0
0347 #define VKI_F_OWNER_PID 1
0348 #define VKI_F_OWNER_PGRP 2
0349
0350 struct vki_f_owner_ex {
0351 int type;
0352 __vki_kernel_pid_t pid;
0353 };
0354
0355
0356 #define VKI_FD_CLOEXEC 1
0357
0358 #define VKI_F_LINUX_SPECIFIC_BASE 1024
0359
0360
0361
0362
0363
0364 #define VKI_RLIMIT_DATA 2
0365 #define VKI_RLIMIT_STACK 3
0366 #define VKI_RLIMIT_CORE 4
0367 #define VKI_RLIMIT_NOFILE 7
0368
0369
0370
0371
0372
0373 #define VKI_SOL_SOCKET 1
0374
0375 #define VKI_SO_TYPE 3
0376
0377 #define VKI_SO_ATTACH_FILTER 26
0378
0379
0380
0381
0382
0383 #define VKI_SIOCSPGRP 0x8902
0384 #define VKI_SIOCGPGRP 0x8904
0385 #define VKI_SIOCATMARK 0x8905
0386 #define VKI_SIOCGSTAMP 0x8906
0387 #define VKI_SIOCGSTAMPNS 0x8907
0388
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 struct vki_stat {
0414 unsigned st_dev;
0415 unsigned long st_ino;
0416 unsigned int st_mode;
0417 unsigned short st_nlink;
0418 unsigned int st_uid;
0419 unsigned int st_gid;
0420 unsigned st_rdev;
0421 long st_size;
0422 unsigned long st_blksize;
0423 unsigned long st_blocks;
0424 unsigned long st_atime;
0425 unsigned long st_atime_nsec;
0426 unsigned long st_mtime;
0427 unsigned long st_mtime_nsec;
0428 unsigned long st_ctime;
0429 unsigned long st_ctime_nsec;
0430 unsigned long __unused4;
0431 unsigned long __unused5;
0432 };
0433
0434 struct vki_stat64 {
0435 unsigned long long st_dev;
0436 unsigned long long st_ino;
0437 unsigned int st_mode;
0438 unsigned int st_nlink;
0439 unsigned int st_uid;
0440 unsigned int st_gid;
0441 unsigned long long st_rdev;
0442 unsigned short int __pad2;
0443 long long st_size;
0444 long st_blksize;
0445
0446 long long st_blocks;
0447 long st_atime;
0448 unsigned long st_atime_nsec;
0449 long st_mtime;
0450 unsigned long int st_mtime_nsec;
0451 long st_ctime;
0452 unsigned long int st_ctime_nsec;
0453 unsigned long int __unused4;
0454 unsigned long int __unused5;
0455 };
0456
0457
0458
0459
0460
0461
0462
0463 struct vki_statfs {
0464 __vki_u32 f_type;
0465 __vki_u32 f_bsize;
0466 __vki_u32 f_blocks;
0467 __vki_u32 f_bfree;
0468 __vki_u32 f_bavail;
0469 __vki_u32 f_files;
0470 __vki_u32 f_ffree;
0471 __vki_kernel_fsid_t f_fsid;
0472 __vki_u32 f_namelen;
0473 __vki_u32 f_frsize;
0474 __vki_u32 f_spare[5];
0475 };
0476
0477
0478
0479
0480
0481 struct vki_winsize {
0482 unsigned short ws_row;
0483 unsigned short ws_col;
0484 unsigned short ws_xpixel;
0485 unsigned short ws_ypixel;
0486 };
0487
0488 #define NCC 10
0489 struct vki_termio {
0490 unsigned short c_iflag;
0491 unsigned short c_oflag;
0492 unsigned short c_cflag;
0493 unsigned short c_lflag;
0494 unsigned char c_line;
0495 unsigned char c_cc[NCC];
0496 };
0497
0498
0499
0500
0501
0502 typedef unsigned char vki_cc_t;
0503 typedef unsigned int vki_speed_t;
0504 typedef unsigned int vki_tcflag_t;
0505
0506 #define NCCS 19
0507 struct vki_termios {
0508 vki_tcflag_t c_iflag;
0509 vki_tcflag_t c_oflag;
0510 vki_tcflag_t c_cflag;
0511 vki_tcflag_t c_lflag;
0512 vki_cc_t c_cc[NCCS];
0513 vki_cc_t c_line;
0514 vki_speed_t c_ispeed;
0515 vki_speed_t c_ospeed;
0516 };
0517
0518
0519
0520
0521
0522 #define _VKI_IOC_NRBITS 8
0523 #define _VKI_IOC_TYPEBITS 8
0524 #define _VKI_IOC_SIZEBITS 13
0525 #define _VKI_IOC_DIRBITS 3
0526
0527 #define _VKI_IOC_NRMASK ((1 << _VKI_IOC_NRBITS)-1)
0528 #define _VKI_IOC_TYPEMASK ((1 << _VKI_IOC_TYPEBITS)-1)
0529 #define _VKI_IOC_SIZEMASK ((1 << _VKI_IOC_SIZEBITS)-1)
0530 #define _VKI_IOC_DIRMASK ((1 << _VKI_IOC_DIRBITS)-1)
0531
0532 #define _VKI_IOC_NRSHIFT 0
0533 #define _VKI_IOC_TYPESHIFT (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS)
0534 #define _VKI_IOC_SIZESHIFT (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS)
0535 #define _VKI_IOC_DIRSHIFT (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS)
0536
0537 #define _VKI_IOC_NONE 1U
0538 #define _VKI_IOC_READ 2U
0539 #define _VKI_IOC_WRITE 4U
0540
0541 #define _VKI_IOC(dir,type,nr,size) \
0542 (((dir) << _VKI_IOC_DIRSHIFT) | \
0543 ((type) << _VKI_IOC_TYPESHIFT) | \
0544 ((nr) << _VKI_IOC_NRSHIFT) | \
0545 ((size) << _VKI_IOC_SIZESHIFT))
0546
0547
0548 #define _VKI_IO(type,nr) _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0)
0549 #define _VKI_IOR(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr),(_VKI_IOC_TYPECHECK(size)))
0550 #define _VKI_IOW(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr),(_VKI_IOC_TYPECHECK(size)))
0551 #define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE,(type),(nr),(_VKI_IOC_TYPECHECK(size)))
0552
0553
0554 #define _VKI_IOC_DIR(nr) (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK)
0555
0556
0557 #define _VKI_IOC_SIZE(nr) (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK)
0558
0559
0560
0561
0562
0563 #define VKI_FIOCLEX _VKI_IO('f', 1)
0564 #define VKI_FIONCLEX _VKI_IO('f', 2)
0565 #define VKI_FIOASYNC _VKI_IOW('f', 125, int)
0566 #define VKI_FIONBIO _VKI_IOW('f', 126, int)
0567 #define VKI_FIONREAD _VKI_IOR('f', 127, int)
0568
0569 #define VKI_FIOQSIZE _VKI_IOR('f', 128, vki_loff_t)
0570
0571
0572
0573
0574
0575
0576
0577 #define VKI_TCGETS _VKI_IOR('t', 19, struct vki_termios)
0578 #define VKI_TCSETS _VKI_IOW('t', 20, struct vki_termios)
0579 #define VKI_TCSETSW _VKI_IOW('t', 21, struct vki_termios)
0580 #define VKI_TCSETSF _VKI_IOW('t', 22, struct vki_termios)
0581
0582 #define VKI_TCGETA _VKI_IOR('t', 23, struct vki_termio)
0583 #define VKI_TCSETA _VKI_IOW('t', 24, struct vki_termio)
0584 #define VKI_TCSETAW _VKI_IOW('t', 25, struct vki_termio)
0585 #define VKI_TCSETAF _VKI_IOW('t', 28, struct vki_termio)
0586
0587 #define VKI_TCSBRK _VKI_IO('t', 29)
0588 #define VKI_TCXONC _VKI_IO('t', 30)
0589 #define VKI_TCFLSH _VKI_IO('t', 31)
0590
0591 #define VKI_TIOCSWINSZ _VKI_IOW('t', 103, struct vki_winsize)
0592 #define VKI_TIOCGWINSZ _VKI_IOR('t', 104, struct vki_winsize)
0593
0594
0595 #define VKI_TIOCOUTQ _VKI_IOR('t', 115, int)
0596
0597
0598
0599 #define VKI_TIOCSPGRP _VKI_IOW('t', 118, int)
0600 #define VKI_TIOCGPGRP _VKI_IOR('t', 119, int)
0601
0602
0603
0604 #define VKI_TIOCSCTTY 0x540E
0605
0606
0607 #define VKI_TIOCMGET 0x5415
0608 #define VKI_TIOCMBIS 0x5416
0609 #define VKI_TIOCMBIC 0x5417
0610 #define VKI_TIOCMSET 0x5418
0611
0612
0613
0614
0615
0616
0617
0618
0619
0620
0621
0622
0623
0624
0625 #define VKI_TIOCLINUX 0x541C
0626
0627 #define VKI_TIOCGSERIAL 0x541E
0628 #define VKI_TIOCSSERIAL 0x541F
0629
0630
0631
0632
0633
0634
0635
0636
0637
0638 #define VKI_TIOCNOTTY 0x5422
0639
0640
0641 #define VKI_TCSBRKP 0x5425
0642
0643
0644
0645 #define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int)
0646 #define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int)
0647
0648
0649
0650
0651
0652
0653
0654 #define VKI_TIOCSERGETLSR 0x5459
0655
0656
0657
0658
0659
0660
0661 #define VKI_TIOCGICOUNT 0x545D
0662
0663
0664
0665
0666
0667
0668
0669
0670 struct vki_pollfd {
0671 int fd;
0672 short events;
0673 short revents;
0674 };
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 #define VKI_ELF_NGREG 48
0728 #define VKI_ELF_NFPREG 33
0729 #define VKI_ELF_NVRREG 33
0730
0731
0732 typedef unsigned long vki_elf_greg_t;
0733 typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG];
0734
0735
0736 typedef double vki_elf_fpreg_t;
0737 typedef vki_elf_fpreg_t vki_elf_fpregset_t[VKI_ELF_NFPREG];
0738
0739
0740 typedef __vki_vector128 vki_elf_vrreg_t;
0741 typedef vki_elf_vrreg_t vki_elf_vrregset_t[VKI_ELF_NVRREG];
0742
0743 #define VKI_AT_DCACHEBSIZE 19
0744 #define VKI_AT_ICACHEBSIZE 20
0745 #define VKI_AT_UCACHEBSIZE 21
0746
0747 #define VKI_AT_IGNOREPPC 22
0748
0749
0750
0751
0752
0753
0754
0755
0756
0757 struct vki_mcontext {
0758 vki_elf_gregset_t mc_gregs;
0759 vki_elf_fpregset_t mc_fregs;
0760 unsigned long mc_pad[2];
0761 vki_elf_vrregset_t mc_vregs __attribute__((__aligned__(16)));
0762 };
0763
0764 struct vki_ucontext {
0765 unsigned long uc_flags;
0766 struct vki_ucontext __user *uc_link;
0767 vki_stack_t uc_stack;
0768 int uc_pad[7];
0769 struct vki_mcontext __user *uc_regs;
0770 vki_sigset_t uc_sigmask;
0771
0772 int uc_maskext[30];
0773 int uc_pad2[3];
0774 struct vki_mcontext uc_mcontext;
0775 };
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 typedef char vki_modify_ldt_t;
0815
0816
0817
0818
0819
0820
0821 struct vki_ipc64_perm
0822 {
0823 __vki_kernel_key_t key;
0824 __vki_kernel_uid_t uid;
0825 __vki_kernel_gid_t gid;
0826 __vki_kernel_uid_t cuid;
0827 __vki_kernel_gid_t cgid;
0828 __vki_kernel_mode_t mode;
0829 unsigned long seq;
0830 unsigned int __pad2;
0831 unsigned long long __unused1;
0832 unsigned long long __unused2;
0833 };
0834
0835
0836
0837
0838
0839 struct vki_semid64_ds {
0840 struct vki_ipc64_perm sem_perm;
0841 unsigned int __unused1;
0842 __vki_kernel_time_t sem_otime;
0843 unsigned int __unused2;
0844 __vki_kernel_time_t sem_ctime;
0845 unsigned long sem_nsems;
0846 unsigned long __unused3;
0847 unsigned long __unused4;
0848 };
0849
0850
0851
0852
0853
0854 struct vki_msqid64_ds {
0855 struct vki_ipc64_perm msg_perm;
0856 unsigned int __unused1;
0857 __vki_kernel_time_t msg_stime;
0858 unsigned int __unused2;
0859 __vki_kernel_time_t msg_rtime;
0860 unsigned int __unused3;
0861 __vki_kernel_time_t msg_ctime;
0862 unsigned long msg_cbytes;
0863 unsigned long msg_qnum;
0864 unsigned long msg_qbytes;
0865 __vki_kernel_pid_t msg_lspid;
0866 __vki_kernel_pid_t msg_lrpid;
0867 unsigned long __unused4;
0868 unsigned long __unused5;
0869 };
0870
0871
0872
0873
0874
0875 struct vki_ipc_kludge {
0876 struct vki_msgbuf __user *msgp;
0877 long msgtyp;
0878 };
0879
0880 #define VKI_SEMOP 1
0881 #define VKI_SEMGET 2
0882 #define VKI_SEMCTL 3
0883 #define VKI_SEMTIMEDOP 4
0884 #define VKI_MSGSND 11
0885 #define VKI_MSGRCV 12
0886 #define VKI_MSGGET 13
0887 #define VKI_MSGCTL 14
0888 #define VKI_SHMAT 21
0889 #define VKI_SHMDT 22
0890 #define VKI_SHMGET 23
0891 #define VKI_SHMCTL 24
0892
0893
0894
0895
0896
0897 struct vki_shmid64_ds {
0898 struct vki_ipc64_perm shm_perm;
0899 unsigned int __unused1;
0900 __vki_kernel_time_t shm_atime;
0901 unsigned int __unused2;
0902 __vki_kernel_time_t shm_dtime;
0903 unsigned int __unused3;
0904 __vki_kernel_time_t shm_ctime;
0905 unsigned int __unused4;
0906 vki_size_t shm_segsz;
0907 __vki_kernel_pid_t shm_cpid;
0908 __vki_kernel_pid_t shm_lpid;
0909 unsigned long shm_nattch;
0910 unsigned long __unused5;
0911 unsigned long __unused6;
0912 };
0913
0914 struct vki_shminfo64 {
0915 unsigned long shmmax;
0916 unsigned long shmmin;
0917 unsigned long shmmni;
0918 unsigned long shmseg;
0919 unsigned long shmall;
0920 unsigned long __unused1;
0921 unsigned long __unused2;
0922 unsigned long __unused3;
0923 unsigned long __unused4;
0924 };
0925
0926
0927
0928
0929
0930 #define VKI_ENOSYS 38
0931 #define VKI_EOVERFLOW 75
0932
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 #endif
0960
0961
0962
0963