1/* Copyright (C) 2003-2025 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
23struct sunos_regs
24{
25  unsigned int psr, pc, npc, y;
26  unsigned int regs[15];
27};
28
29struct sunos_fpqueue
30{
31  unsigned int *addr;
32  unsigned int inst;
33};
34
35struct 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
49struct sunos_fpu
50{
51  struct sunos_fp fpstatus;
52};
53
54/* The SunOS core file header layout. */
55struct 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