source: SVN/cambria/redboot/packages/hal/common/current/src/thread-pkts.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: 4.2 KB
Line 
1//========================================================================
2//
3//      thread-pkts.h
4//
5//      Optional packet processing for 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:   Optional packet processing for thread aware debugging.
48//                Externs as called by central packet switch routine
49// Usage:         
50//
51//####DESCRIPTIONEND####
52//
53//========================================================================
54
55
56/* The DEBUG_THREADS flag is usually set in board.h */
57
58#if DEBUG_THREADS  /* activate this in board.h */
59
60/* export the thread id's sent by gdb: */
61extern int _gdb_cont_thread, _gdb_general_thread ;
62
63extern char * stub_pack_Tpkt_threadid(char * pkt) ;
64
65extern long stub_get_currthread(void) ;
66extern int  stub_lock_scheduler(int lock, int kind, long id) ;
67
68extern void stub_pkt_changethread(char * inbuf,
69                                 char * outbuf,
70                                 int bufmax) ;
71
72
73extern void stub_pkt_getthreadlist(char * inbuf,
74                                  char * outbuf,
75                                  int bufmax) ;
76
77
78extern void stub_pkt_getthreadinfo(
79                  char * inbuf,
80                  char * outbuf,
81                  int bufmax) ;
82
83extern void stub_pkt_thread_alive(
84                                  char * inbuf,
85                                  char * outbuf,
86                                  int bufmax) ;
87
88extern void stub_pkt_currthread(
89                                char * inbuf,
90                                char * outbuf,
91                                int bufmax) ;
92
93#define STUB_PKT_GETTHREADLIST(A,B,C) { stub_pkt_getthreadlist(A,B,C); }
94#define STUB_PKT_GETTHREADINFO(A,B,C) { stub_pkt_getthreadinfo(A,B,C); }
95#define STUB_PKT_CHANGETHREAD(A,B,C)  { stub_pkt_changethread(A,B,C);  }
96#define STUB_PKT_THREAD_ALIVE(A,B,C)  { stub_pkt_thread_alive(A,B,C);  }
97#define STUB_PKT_CURRTHREAD(A,B,C)    { stub_pkt_currthread(A,B,C);    }
98#define PACK_THREAD_ID(PTR)           { PTR = stub_pack_Tpkt_threadid (PTR); }
99#else
100#define STUB_PKT_GETTHREADLIST(A,B,C) {}
101#define STUB_PKT_GETTHREADINFO(A,B,C) {}
102#define STUB_PKT_CHANGETHREAD(A,B,C)  {}
103#define STUB_PKT_THREAD_ALIVE(A,B,C)  {}
104#define STUB_PKT_CURRTHREAD(A,B,C)    {}
105#define PACK_THREAD_ID(PTR)           {}
106#endif
Note: See TracBrowser for help on using the repository browser.