source: SVN/cambria/redboot/packages/hal/common/current/include/dbg-thread-syscall.h @ 1

Last change on this file since 1 was 1, checked in by Tim Harvey, 2 years ago

restored latest version of files from server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 3.5 KB
Line 
1//========================================================================
2//
3//      dbg-thread-syscall.h
4//
5//      Supports thread-aware debugging
6//
7//========================================================================
8//####ECOSGPLCOPYRIGHTBEGIN####
9// -------------------------------------------
10// This file is part of eCos, the Embedded Configurable Operating System.
11// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12//
13// eCos is free software; you can redistribute it and/or modify it under
14// the terms of the GNU General Public License as published by the Free
15// Software Foundation; either version 2 or (at your option) any later version.
16//
17// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18// WARRANTY; without even the implied warranty of MERCHANTABILITY or
19// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20// for more details.
21//
22// You should have received a copy of the GNU General Public License along
23// with eCos; if not, write to the Free Software Foundation, Inc.,
24// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25//
26// As a special exception, if other files instantiate templates or use macros
27// or inline functions from this file, or you compile this file and link it
28// with other works to produce a work based on this file, this file does not
29// by itself cause the resulting work to be covered by the GNU General Public
30// License. However the source code for this file must still be made available
31// in accordance with section (3) of the GNU General Public License.
32//
33// This exception does not invalidate any other reasons why a work based on
34// this file might be covered by the GNU General Public License.
35//
36// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37// at http://sources.redhat.com/ecos/ecos-license/
38// -------------------------------------------
39//####ECOSGPLCOPYRIGHTEND####
40//========================================================================
41//#####DESCRIPTIONBEGIN####
42//
43// Author(s):     Red Hat, nickg
44// Contributors:  Red Hat, nickg
45// Date:          1998-08-25
46// Purpose:       
47// Description:   Supports thread-aware debugging
48// Usage:         This header is not to be included by user code.
49//                This file should be included only by
50//                thread-syscall-relay.c and dbg-thread-demux.c
51//
52//####DESCRIPTIONEND####
53//
54//========================================================================
55
56
57enum dbg_syscall_ids
58  {
59    dbg_null_func ,
60    dbg_capabilities_func,
61    dbg_currthread_func,
62    dbg_threadlist_func,
63    dbg_threadinfo_func,
64    dbg_getthreadreg_func,
65    dbg_setthreadreg_func,
66    dbg_scheduler_func,
67  } ;
68
69
70union dbg_thread_syscall_parms
71{
72  struct
73  {
74    struct dbg_capabilities * abilities ;
75  } cap_parms ;
76
77  struct
78  {
79    threadref * ref ;
80  } currthread_parms ;
81 
82  struct
83  {
84    int startflag ;
85    threadref * lastid ;
86    threadref * nextthreadid ;
87  } threadlist_parms ;
88
89  struct
90  {
91    threadref * ref ;
92    struct cygmon_thread_debug_info * info ;
93  } info_parms ;
94 
95  struct
96  {
97    threadref * thread ;
98    int regcount ;
99    void * registers ;
100  } reg_parms ;
101  struct
102  {
103    threadref * thread ;        /* 64-bit thread identifier */
104    int lock;                   /* 0 == unlock, 1 == lock */
105    int mode;                   /* 0 == short (step), 1 == continue */
106  } scheduler_parms ;
107} ;
108
109
110typedef int (*dbg_syscall_func) (enum dbg_syscall_ids id,
111                                 union dbg_thread_syscall_parms  * p ) ;
Note: See TracBrowser for help on using the repository browser.