1 /* Copyright (C) 2003-2022 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 4 The GNU C Library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Lesser General Public 6 License as published by the Free Software Foundation; either 7 version 2.1 of the License, or (at your option) any later version. 8 9 The GNU C Library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with the GNU C Library; if not, see 16 <https://www.gnu.org/licenses/>. */ 17 18 #ifndef _SYS_USER_H 19 #define _SYS_USER_H 1 20 21 #include <stddef.h> 22 23 struct sunos_regs 24 { 25 unsigned int psr, pc, npc, y; 26 unsigned int regs[15]; 27 }; 28 29 struct sunos_fpqueue 30 { 31 unsigned int *addr; 32 unsigned int inst; 33 }; 34 35 struct sunos_fp 36 { 37 union 38 { 39 unsigned int regs[32]; 40 double reg_dbls[16]; 41 } fregs; 42 unsigned int fsr; 43 unsigned int flags; 44 unsigned int extra; 45 unsigned int fpq_count; 46 struct sunos_fpqueue fpq[16]; 47 }; 48 49 struct sunos_fpu 50 { 51 struct sunos_fp fpstatus; 52 }; 53 54 /* The SunOS core file header layout. */ 55 struct user { 56 unsigned int magic; 57 unsigned int len; 58 struct sunos_regs regs; 59 struct 60 { 61 unsigned char a_dynamic :1; 62 unsigned char a_toolversion :7; 63 unsigned char a_machtype; 64 unsigned short a_info; 65 unsigned int a_text; 66 unsigned int a_data; 67 unsigned int a_bss; 68 unsigned int a_syms; 69 unsigned int a_entry; 70 unsigned int a_trsize; 71 unsigned int a_drsize; 72 } uexec; 73 int signal; 74 size_t u_tsize; 75 size_t u_dsize; 76 size_t u_ssize; 77 char u_comm[17]; 78 struct sunos_fpu fpu; 79 unsigned int sigcode; 80 }; 81 82 #define NBPG 0x2000 83 #define UPAGES 1 84 #define SUNOS_CORE_MAGIC 0x080456 85 86 #endif 87