diff options
Diffstat (limited to 'gdb/29k-share/udi/udiproc.h')
-rw-r--r-- | gdb/29k-share/udi/udiproc.h | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/gdb/29k-share/udi/udiproc.h b/gdb/29k-share/udi/udiproc.h new file mode 100644 index 00000000000..0cc1c2049c1 --- /dev/null +++ b/gdb/29k-share/udi/udiproc.h @@ -0,0 +1,308 @@ +/* local type decs. and macro defs. + + Copyright 1993 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "udiphcfg.h" /* Get host specific configuration */ +#include "udiptcfg.h" /* Get target specific configuration */ + +/* Here are all of the CPU Families for which UDI is currently defined */ +#define Am29K 1 /* AMD's Am290xx and Am292xx parts */ + +typedef UDIInt UDIError; +typedef UDIInt UDISessionId; +typedef UDIInt UDIPId; +typedef UDIInt UDIStepType; +typedef UDIInt UDIBreakType; +typedef UDIUInt UDIBreakId; +typedef UDIUInt UDIMode; + +typedef UDIStruct +{ + CPUSpace Space; + CPUOffset Offset; +} UDIResource; + +typedef UDIStruct +{ + CPUOffset Low; + CPUOffset High; +} UDIRange; + +typedef UDIStruct +{ + CPUSpace Space; + CPUOffset Offset; + CPUSizeT Size; + } UDIMemoryRange; + +/* Values for UDIStepType parameters */ +#define UDIStepNatural 0x0000 +#define UDIStepOverTraps 0x0001 +#define UDIStepOverCalls 0x0002 +#define UDIStepInRange 0x0004 +#define UDIStepNatural 0x0000 + +/* Values for UDIBreakType parameters */ +#define UDIBreakFlagExecute 0x0001 +#define UDIBreakFlagRead 0x0002 +#define UDIBreakFlagWrite 0x0004 +#define UDIBreakFlagFetch 0x0008 + +/* Special values for UDIWait MaxTime parameter */ +#define UDIWaitForever (UDIInt32) -1 /* Infinite time delay */ + +/* Special values for PId */ +#define UDIProcessProcessor -1 /* Raw Hardware, if possible */ + +/* Values for UDIWait StopReason */ +#define UDIGrossState 0xff +#define UDITrapped 0 /* Fine state - which trap */ +#define UDINotExecuting 1 +#define UDIRunning 2 +#define UDIStopped 3 +#define UDIWarned 4 +#define UDIStepped 5 +#define UDIWaiting 6 +#define UDIHalted 7 +#define UDIStdoutReady 8 /* fine state - size */ +#define UDIStderrReady 9 /* fine state - size */ +#define UDIStdinNeeded 10 /* fine state - size */ +#define UDIStdinModeX 11 /* fine state - mode */ +#define UDIBreak 12 /* Fine state - Breakpoint Id */ +#define UDIExited 13 /* Fine state - exit code */ + +/* Enumerate the return values from the callback function + for UDIEnumerateTIPs. +*/ +#define UDITerminateEnumeration 0 +#define UDIContinueEnumeration 1 + +/* Enumerate values for Terminate parameter to UDIDisconnect */ +#define UDITerminateSession 1 +#define UDIContinueSession 0 + +/* Error codes */ +#define UDINoError 0 /* No error occured */ +#define UDIErrorNoSuchConfiguration 1 +#define UDIErrorCantHappen 2 +#define UDIErrorCantConnect 3 +#define UDIErrorNoSuchConnection 4 +#define UDIErrorNoConnection 5 +#define UDIErrorCantOpenConfigFile 6 +#define UDIErrorCantStartTIP 7 +#define UDIErrorConnectionUnavailable 8 +#define UDIErrorTryAnotherTIP 9 +#define UDIErrorExecutableNotTIP 10 +#define UDIErrorInvalidTIPOption 11 +#define UDIErrorCantDisconnect 12 +#define UDIErrorUnknownError 13 +#define UDIErrorCantCreateProcess 14 +#define UDIErrorNoSuchProcess 15 +#define UDIErrorUnknownResourceSpace 16 +#define UDIErrorInvalidResource 17 +#define UDIErrorUnsupportedStepType 18 +#define UDIErrorCantSetBreakpoint 19 +#define UDIErrorTooManyBreakpoints 20 +#define UDIErrorInvalidBreakId 21 +#define UDIErrorNoMoreBreakIds 22 +#define UDIErrorUnsupportedService 23 +#define UDIErrorTryAgain 24 +#define UDIErrorIPCLimitation 25 +#define UDIErrorIncomplete 26 +#define UDIErrorAborted 27 +#define UDIErrorTransDone 28 +#define UDIErrorCantAccept 29 +#define UDIErrorTransInputNeeded 30 +#define UDIErrorTransModeX 31 +#define UDIErrorInvalidSize 32 +#define UDIErrorBadConfigFileEntry 33 +#define UDIErrorIPCInternal 34 +/* TBD */ + +/****************************************************************** PROCEDURES +*/ + +UDIError UDIConnect UDIParams(( + char *Configuration, /* In */ + UDISessionId *Session /* Out */ + )); + +UDIError UDIDisconnect UDIParams(( + UDISessionId Session, /* In */ + UDIBool Terminate /* In */ + )); + +UDIError UDISetCurrentConnection UDIParams(( + UDISessionId Session /* In */ + )); + +UDIError UDICapabilities UDIParams(( + UDIUInt32 *TIPId, /* Out */ + UDIUInt32 *TargetId, /* Out */ + UDIUInt32 DFEId, /* In */ + UDIUInt32 DFE, /* In */ + UDIUInt32 *TIP, /* Out */ + UDIUInt32 *DFEIPCId, /* Out */ + UDIUInt32 *TIPIPCId, /* Out */ + char *TIPString /* Out */ + )); + +UDIError UDIEnumerateTIPs UDIParams(( + UDIInt (*UDIETCallback) /* In */ + UDIParams(( char *Configuration )) /* In to callback() */ + )); + +UDIError UDIGetErrorMsg UDIParams(( + UDIError ErrorCode, /* In */ + UDISizeT MsgSize, /* In */ + char *Msg, /* Out */ + UDISizeT *CountDone /* Out */ + )); + +UDIError UDIGetTargetConfig UDIParams(( + UDIMemoryRange KnownMemory[], /* Out */ + UDIInt *NumberOfRanges, /* In/Out */ + UDIUInt32 ChipVersions[], /* Out */ + UDIInt *NumberOfChips /* In/Out */ + )); + +UDIError UDICreateProcess UDIParams(( + UDIPId *PId /* Out */ + )); + +UDIError UDISetCurrentProcess UDIParams(( + UDIPId PId /* In */ + )); + +UDIError UDIDestroyProcess UDIParams(( + UDIPId PId /* In */ + )); + +UDIError UDIInitializeProcess UDIParams(( + UDIMemoryRange ProcessMemory[], /* In */ + UDIInt NumberOfRanges, /* In */ + UDIResource EntryPoint, /* In */ + CPUSizeT StackSizes[], /* In */ + UDIInt NumberOfStacks, /* In */ + char *ArgString /* In */ + )); + +UDIError UDIRead UDIParams(( + UDIResource From, /* In */ + UDIHostMemPtr To, /* Out */ + UDICount Count, /* In */ + UDISizeT Size, /* In */ + UDICount *CountDone, /* Out */ + UDIBool HostEndian /* In */ + )); + +UDIError UDIWrite UDIParams(( + UDIHostMemPtr From, /* In */ + UDIResource To, /* In */ + UDICount Count, /* In */ + UDISizeT Size, /* In */ + UDICount *CountDone, /* Out */ + UDIBool HostEndian /* In */ + )); + +UDIError UDICopy UDIParams(( + UDIResource From, /* In */ + UDIResource To, /* In */ + UDICount Count, /* In */ + UDISizeT Size, /* In */ + UDICount *CountDone, /* Out */ + UDIBool Direction /* In */ + )); + +UDIError UDIExecute UDIParams(( + void + )); + +UDIError UDIStep UDIParams(( + UDIUInt32 Steps, /* In */ + UDIStepType StepType, /* In */ + UDIRange Range /* In */ + )); + +UDIVoid UDIStop UDIParams(( + void + )); + +UDIError UDIWait UDIParams(( + UDIInt32 MaxTime, /* In */ + UDIPId *PId, /* Out */ + UDIUInt32 *StopReason /* Out */ + )); + +UDIError UDISetBreakpoint UDIParams(( + UDIResource Addr, /* In */ + UDIInt32 PassCount, /* In */ + UDIBreakType Type, /* In */ + UDIBreakId *BreakId /* Out */ + )); + +UDIError UDIQueryBreakpoint UDIParams(( + UDIBreakId BreakId, /* In */ + UDIResource *Addr, /* Out */ + UDIInt32 *PassCount, /* Out */ + UDIBreakType *Type, /* Out */ + UDIInt32 *CurrentCount /* Out */ + )); + +UDIError UDIClearBreakpoint UDIParams(( + UDIBreakId BreakId /* In */ + )); + +UDIError UDIGetStdout UDIParams(( + UDIHostMemPtr Buf, /* Out */ + UDISizeT BufSize, /* In */ + UDISizeT *CountDone /* Out */ + )); + +UDIError UDIGetStderr UDIParams(( + UDIHostMemPtr Buf, /* Out */ + UDISizeT BufSize, /* In */ + UDISizeT *CountDone /* Out */ + )); + +UDIError UDIPutStdin UDIParams(( + UDIHostMemPtr Buf, /* In */ + UDISizeT Count, /* In */ + UDISizeT *CountDone /* Out */ + )); + +UDIError UDIStdinMode UDIParams(( + UDIMode *Mode /* Out */ + )); + +UDIError UDIPutTrans UDIParams(( + UDIHostMemPtr Buf, /* In */ + UDISizeT Count, /* In */ + UDISizeT *CountDone /* Out */ + )); + +UDIError UDIGetTrans UDIParams(( + UDIHostMemPtr Buf, /* Out */ + UDISizeT BufSize, /* In */ + UDISizeT *CountDone /* Out */ + )); + +UDIError UDITransMode UDIParams(( + UDIMode *Mode /* Out */ + )); |