1  /* Copyright (C) 2003-2023 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