make fseek detect and produce an error for invalid whence arguments
[musl] / arch / s390x / bits / user.h
1 #undef __WORDSIZE
2 #define __WORDSIZE 64
3
4 typedef union {
5         double d;
6         float f;
7 } elf_fpreg_t;
8
9 typedef struct {
10         unsigned fpc;
11         elf_fpreg_t fprs[16];
12 } elf_fpregset_t;
13
14 #define ELF_NGREG 27
15 typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
16
17 struct _user_psw_struct {
18         unsigned long mask, addr;
19 };
20
21 struct _user_fpregs_struct {
22         unsigned fpc;
23         double fprs[16];
24 };
25
26 struct _user_per_struct {
27         unsigned long control_regs[3];
28         unsigned single_step       : 1;
29         unsigned instruction_fetch : 1;
30         unsigned                   : 30;
31         unsigned long starting_addr, ending_addr;
32         unsigned short perc_atmid;
33         unsigned long address;
34         unsigned char access_id;
35 };
36
37 struct _user_regs_struct {
38         struct _user_psw_struct psw;
39         unsigned long gprs[16];
40         unsigned acrs[16];
41         unsigned long orig_gpr2;
42         struct _user_fpregs_struct fp_regs;
43         struct _user_per_struct per_info;
44         unsigned long ieee_instruction_pointer;
45 };
46
47 struct user {
48         struct _user_regs_struct regs;
49         unsigned long u_tsize, u_dsize, u_ssize;
50         unsigned long start_code, start_stack;
51         long signal;
52         struct _user_regs_struct *u_ar0;
53         unsigned long magic;
54         char u_comm[32];
55 };
56
57 #define PAGE_MASK            (~(PAGESIZE-1))
58 #define NBPG                 PAGESIZE
59 #define UPAGES               1
60 #define HOST_TEXT_START_ADDR (u.start_code)
61 #define HOST_STACK_END_ADDR  (u.start_stack + u.u_ssize * NBPG)
62