Back to index

glibc  2.9
thread_state.h
Go to the documentation of this file.
00001 /* Mach thread state definitions for machine-independent code.  Stub version.
00002    Copyright (C) 1994, 1997 Free Software Foundation, Inc.
00003    This file is part of the GNU C Library.
00004 
00005    The GNU C Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Lesser General Public
00007    License as published by the Free Software Foundation; either
00008    version 2.1 of the License, or (at your option) any later version.
00009 
00010    The GNU C Library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Lesser General Public License for more details.
00014 
00015    You should have received a copy of the GNU Lesser General Public
00016    License along with the GNU C Library; if not, write to the Free
00017    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00018    02111-1307 USA.  */
00019 
00020 /* Everything else is called `thread_state', but CMU's header file is
00021    called `thread_status'.  Oh boy.  */
00022 #include <mach/thread_state.h>
00023 
00024 /* Replace <machine> with "i386" or "mips" or whatever.  */
00025 
00026 #define MACHINE_THREAD_STATE_FLAVOR       <machine>_THREAD_STATE
00027 #define MACHINE_THREAD_STATE_COUNT <machine>_THREAD_STATE_COUNT
00028 
00029 #define machine_thread_state <machine>_thread_state
00030 
00031 /* Define these to the member names in `struct <machine>_thread_state'
00032    for the PC and stack pointer.  */
00033 #define PC ?
00034 #define SP ?
00035 
00036 /* This structure should contain all of the different flavors of thread
00037    state structures which are meaningful for this machine.  Every machine's
00038    definition of this structure should have a member `int set' which is a
00039    bit mask (1 << FLAVOR) of the flavors of thread state in the structure
00040    which are filled in; and a member `struct machine_thread_state basic'.
00041    On some machines those are the only members (e.g. i386); on others,
00042    there are several relevant flavors of thread state (e.g. mips).  */
00043 struct machine_thread_all_state
00044   {
00045     int set;                /* Mask of bits (1 << FLAVOR).  */
00046     struct <machine>_thread_state basic;
00047   };