diff options
Diffstat (limited to 'gdb/rdi-share/sys.h')
-rw-r--r-- | gdb/rdi-share/sys.h | 319 |
1 files changed, 0 insertions, 319 deletions
diff --git a/gdb/rdi-share/sys.h b/gdb/rdi-share/sys.h deleted file mode 100644 index b68ac78..0000000 --- a/gdb/rdi-share/sys.h +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright (C) 1995 Advanced RISC Machines Limited. All rights reserved. - * - * This software may be freely used, copied, modified, and distributed - * provided that the above copyright notice is preserved in all copies of the - * software. - */ - -/* sys.h - *********************************************************************** - * Angel C Libary support channel protocol definitions - * - * $Revision$ - * $Date$ - * - * - * - * - * MESSAGE FORMAT - * -------------- - * Format of the "data" section of C Lib Support Channel Messages. - * You will notice that the format is much the same as the format - * of ADP messages - this is so that multi-threaded C Libraries can - * be supported. - * - * unsigned32 reason - Main C Library reason code. - * unsigned32 debugID - Info. describing host debug world; - * private to host and used in any target - * initiated messages. - * unsigned32 OSinfo1 \ Target OS information to identify process/thread - * unsigned32 OSinfo2 / world, etc. These two fields are target defined. - * byte args[n] - Data for message "reason" code. - * - * The "debugID" is defined by the host-end of the protocol, and is used - * by the host to ensure that messages are routed to the correct handler - * program/veneer (eg. imagine several threads having opened stdout and - * each writing to a different window in a windowed debugger). - * - * NOTE: The reason that there is no "size" information, is that the - * message IDs themselves encode the format of any arguments. - * - * For further discussion of the format see adp.h - * - * N.B. All streams are little endian. - * - * CLIB REASON CODE - * ---------------- - * The message reason codes contain some information that ties them to - * the channel and direction that the message will be used with. This - * will ensure that even if the message "#define name" is not - * completely descriptive, the message reason code is. - * - * b31 = direction. 0=Host-to-Target; 1=Target-to-Host; - * b30-16 = reserved. should be zero - * b15-0 = message reason code. - * - * Note that typically a request will be initiated by the target side, and - * that the host will then respond with either an acknowledgement or some - * data. In either case the same reason code will be used, but the direction - * bit will be reveresed. - */ - -#ifndef __sys_h -#define __sys_h - -#ifndef HtoT -#define HtoT ((unsigned)0 << 31) /* Host-to-Target message */ -#define TtoH ((unsigned)1 << 31) /* Target-to-Host message */ -#endif - -/* - * The following are error codes used in the status field returned on - * sending a message. 0 represents no error having occurred, non-zero - * represents a general error. More codes should be added as required. - */ - -#ifndef ErrCode -#define NoError 0x0 -#endif - -/*************************************************************************/ -/* The following are direct conversions of the DeMon SWI's */ -/* NB: nbytes is the number of bytes INCLUDING THE NULL character where */ -/* applicable. */ - -/* This message is used as a response to a packet whose message - * was not understood. The return parameter, code is the reason - * code which was not understood. Although intended for use as a - * default case on a received message switch it can also be used - * as a proper message*/ -#define CL_Unrecognised 0x00 - /* Unrecognised() - * return(word code) - */ - -/* Write a character to the terminal. - */ -#define CL_WriteC 0x01 - /* WriteC(byte data) - * return(word status) - */ - -/* Write a NULL terminated string of characters to the terminal. The length - * of the string excluding the NULL terminating character is passed in - * 'nbytes'. - */ -#define CL_Write0 0x02 - /* Write0(word nbytes, bytes data) - * return(word status) - */ - -/* Read a character from the terminal - probably the keyboard. - */ -#define CL_ReadC 0x04 - /* ReadC(void) - * return(word status, byte data) - */ - -/* Perform system call, pass NULL terminated string to host's command - * line interpreter(NOT AVAILABLE IN PC/DOS RELEASE). The data byte - * returned holds the return code from the system call. - */ -#define CL_System 0x05 - /* CLI(word nbytes, bytes data) - * return(word status, word data) - */ - -/* It returns the address of the null terminated command line string used to - * invoke the program. status will be set to NoError if the command line - * can be returned. Other status values will be treated as error conditions. - */ -#define CL_GetCmdLine 0x10 - /* GetCmdLine(void) - * return(word status, word nbytes, bytes argline) - */ - -/* Return the number of centi-seconds since the support code began - * execution. Only the difference between successive calls can be - * meaningful. - */ -#define CL_Clock 0x61 - /* Clock(void) - * return(word status, word clks) - */ - -/* Return the number of seconds since the beginning of 1970. - */ -#define CL_Time 0x63 - /* Time(void) - * return(word status, word time) - */ - -/* Delete(remove, un-link, wipe, destroy) the file named by the - * NULL-terminated string 'name'. - */ -#define CL_Remove 0x64 - /* Remove(word nbytes, bytes name) - * return(word status) - */ - -/* Rename the file specified by the NULL-terminated string 'oname' - * to 'nname'. - */ -#define CL_Rename 0x65 - /* Rename(word nbytes, bytes oname, word nbytes, bytes nname) - * return(word status) - */ - -/* 'name' specifies a NULL-terminated string containing a file name or a - * device name. Opens the file/device and returns a non-zero handle on - * success that can be quoted to CL_Close, CL_Read, CL_Write, CL_Seek, - * CL_Flen or CL_IsTTY. The mode is an integer in the range 0-11:- - * - * Mode: 0 1 2 3 4 5 6 7 8 9 10 11 - * ANSI C fopen mode: r rb r+ r+b w wb w+ w+b a ab a+ a+b - * - * Values 12-15 are illegal. If 'name' is ":tt" the stdin/stdout is - * opened depending on whether 'mode' is read or write. - */ -#define CL_Open 0x66 - /* Open(word nbytes, bytes name, word mode) - * return(word handle) - */ - -/* 'handle' is a file handle previously returned by CL_Open. CL_Close - * closes the file. - */ -#define CL_Close 0x68 - /* Close(word handle) - * return(word status) - */ - -/* Writes data of length nbytes to the file/device specified by - * handle. nbtotal represents the total number of bytes to be - * written, whereas nbytes is the number of bytes in this packet - * - * If nbtotal is <= DATASIZE - CL_Write message header size in the - * packet then nbytes = nbtotal and the number of bytes not written - * is returned. If nbtotal is > the packet size then the CL_Write - * must be followed by a number of CL_WriteX's to complete the write, - * the nbytes returned by CL_Write can be ignored - * If the status word returned is non zero, an error has occurred and - * the write request has been aborted. - * - */ -#define CL_Write 0x69 - /* Write(word handle, word nbtotal, word nbytes, bytes data) - * return(word status, word nbytes) - */ - -/* Write Extension is a reads a continuation of data from a CL_Write - * which was too big to fit in a single packet. - * nbytes is the number of bytes of data in this packet, the - * returned value of nbytes can be ignored except if it is the - * last packet, in which case it is the number of bytes that were NOT - * written - */ -#define CL_WriteX 0x6A - /* WriteX(word nbytes, bytes data) - * return(word status, word nbytes) - */ - -/* Reads 'nbytes' from the file/device specified by 'handle'. - * - * If nbytes <= DATASIZE then the read will occur in a single packet - * and the returned value of nbytes will be the number of bytes actually - * read and nbmore will be 0. If nbytes> DATASIZE then multiple packets - * will have to be used ie CL_Read followed by 1 or more CL_ReadX - * packets. In this case CL_Read will return nbytes read in the current - * packet and nbmore representing how many more bytes are expected to be - * read - * If the status word is non zero then the request has completed with an - * error. If the status word is 0xFFFFFFFF (-1) then an EOF condition - * has been reached. - */ -#define CL_Read 0x6B - /* Read(word handle, word nbytes) - * return(word status, word nbytes, word nbmore, bytes data) - */ - -/* Read eXtension returns a continuation of the data that was opened for - * read in the earlier CL_Read. The return value nbytes is the number of - * data bytes in the packet, nbmore is the number of bytes more that are - * expected to be read in subsequent packets. - */ -#define CL_ReadX 0x6C - /* ReadX() - * return(word status, word nbytes, word nbmore, bytes data) - */ - -/* Seeks to byte position 'posn' in the file/device specified by 'handle'. - */ -#define CL_Seek 0x6D - /* Seek(word handle, word posn) - * return(word status) - */ - -/* Returns the current length of the file specified by 'handle' in 'len'. - * If an error occurs 'len' is set to -1. - */ -#define CL_Flen 0x6E - /* Flen(word handle) - * return(word len) - */ - -/* Returns NoError if 'handle' specifies an interactive device, otherwise - * returns GenError - */ -#define CL_IsTTY 0x6F - /* IsTTY(word handle) - * return(word status) - */ - -/* Returns a temporary host file name. The maximum length of a file name - * is passed to the host. The TargetID is some identifier from the target - * for this particular temporary filename. This value is could be used - * directly in the generation of the filename. - * - * If the host cannot create a suitable name or the generated name is too - * long then status is non zero. status will be NoError if the host can create - * a name. - */ -#define CL_TmpNam 0x70 - /* TmpNam(word maxlength, word TargetID) - * return(word status, word nbytes, bytes fname) - */ - -/* Note there is no message for Exit, EnterOS, InstallHandler or - * GenerateError as these will be supported entirely at the host end, - * or by the underlying Operating system. - */ - -#define CL_UnknownReason (-1) - -extern unsigned int GetRaiseHandler( void ); -extern unsigned int SysLibraryHandler(unsigned int sysCode, unsigned int *args); -extern void angel_SysLibraryInit(void); - -/* - * Function: Angel_IsSysHandlerRunning - * Purpose: return whether or not SysLibraryHandler is running - * - * No paramaters - * - * Returns 1 if SysLibraryHandler is running - * 0 otherwise - */ -extern int Angel_IsSysHandlerRunning(void); - -#ifdef ICEMAN2 -/* This function exists in an ICEman2 system only, and can be called by - * debug support code when the debugger tells it how much memory the - * target has. This will then be used to deal with the HEAPINFO SWI - */ -extern void angel_SetTopMem(unsigned addr); -#endif - -#endif - |