1130812Smarcel/* Native-dependent definitions for LynxOS.
2130812Smarcel
3130812Smarcel   Copyright 1993, 1994, 1995, 1996, 1999, 2000, 2003 Free Software
4130812Smarcel   Foundation, Inc.
5130812Smarcel
6130812Smarcel   This file is part of GDB.
7130812Smarcel
8130812Smarcel   This program is free software; you can redistribute it and/or modify
9130812Smarcel   it under the terms of the GNU General Public License as published by
10130812Smarcel   the Free Software Foundation; either version 2 of the License, or
11130812Smarcel   (at your option) any later version.
12130812Smarcel
13130812Smarcel   This program is distributed in the hope that it will be useful,
14130812Smarcel   but WITHOUT ANY WARRANTY; without even the implied warranty of
15130812Smarcel   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16130812Smarcel   GNU General Public License for more details.
17130812Smarcel
18130812Smarcel   You should have received a copy of the GNU General Public License
19130812Smarcel   along with this program; if not, write to the Free Software
20130812Smarcel   Foundation, Inc., 59 Temple Place - Suite 330,
21130812Smarcel   Boston, MA 02111-1307, USA.  */
22130812Smarcel
23130812Smarcel#ifndef NM_LYNX_H
24130812Smarcel#define NM_LYNX_H
25130812Smarcel
26130812Smarcelstruct target_waitstatus;
27130812Smarcel
28130812Smarcel#include <sys/conf.h>
29130812Smarcel#include <sys/kernel.h>
30130812Smarcel/* sys/kernel.h should define this, but doesn't always, sigh. */
31130812Smarcel#ifndef __LYNXOS
32130812Smarcel#define __LYNXOS
33130812Smarcel#endif
34130812Smarcel#include <sys/mem.h>
35130812Smarcel#include <sys/signal.h>
36130812Smarcel#include <sys/time.h>
37130812Smarcel#include <sys/resource.h>
38130812Smarcel#include <sys/itimer.h>
39130812Smarcel#include <sys/file.h>
40130812Smarcel#include <sys/proc.h>
41130812Smarcel#include "gdbthread.h"
42130812Smarcel
43130812Smarcel/* This is the amount to subtract from u.u_ar0 to get the offset in
44130812Smarcel   the core file of the register values.  */
45130812Smarcel
46130812Smarcel#define KERNEL_U_ADDR USRSTACK
47130812Smarcel
48130812Smarcel/* As of LynxOS 2.2.2 (beta 8/15/94), this is int.  Previous versions seem to
49130812Smarcel   have had no prototype, so I'm not sure why GDB used to define this to
50130812Smarcel   char *.  */
51130812Smarcel#define PTRACE_ARG3_TYPE int
52130812Smarcel
53130812Smarcel/* Override copies of {fetch,store}_inferior_registers in infptrace.c.  */
54130812Smarcel
55130812Smarcel#define FETCH_INFERIOR_REGISTERS
56130812Smarcel
57130812Smarcel/* Thread ID of stopped thread.  */
58130812Smarcel
59130812Smarcel#define WIFTID(x) (((union wait *)&x)->w_tid)
60130812Smarcel
61130812Smarcel/* Override child_wait in inftarg.c */
62130812Smarcel
63130812Smarcel#define CHILD_WAIT
64130812Smarcel
65130812Smarcel/* Override child_resume in infptrace.c */
66130812Smarcel
67130812Smarcel#define CHILD_RESUME
68130812Smarcel
69130812Smarcel/* Override child_thread_alive in intarg.c */
70130812Smarcel
71130812Smarcel#define CHILD_THREAD_ALIVE
72130812Smarcel
73130812Smarcel#include "target.h"
74130812Smarcel
75130812Smarcelextern ptid_t child_wait (ptid_t ptid,
76130812Smarcel                                struct target_waitstatus *status);
77130812Smarcel
78130812Smarcel/* Lynx needs a special definition of this so that we can
79130812Smarcel   print out the pid and thread number seperately.  */
80130812Smarcel
81130812Smarcel
82130812Smarcel/* override child_pid_to_str in inftarg.c */
83130812Smarcel#define CHILD_PID_TO_STR
84130812Smarcelextern char *lynx_pid_to_str (ptid_t ptid);
85130812Smarcel
86130812Smarcel#endif /* NM_LYNX_H */
87