| /* |
| * 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. |
| */ |
| |
| /* |
| * Host C library support header file. |
| * |
| * $Revision$ |
| * $Date$ |
| * |
| */ |
| |
| #ifndef angsd_hsys_h |
| #define angsd_hsys_h |
| |
| #define HSYS_FOPEN_MAX 256 |
| #define NONHANDLE -1 |
| #define UNIQUETEMPS 256 |
| |
| #include "dbg_hif.h" |
| #include "hostchan.h" |
| |
| typedef struct { |
| FILE *FileTable[HSYS_FOPEN_MAX] ; |
| char FileFlags[HSYS_FOPEN_MAX] ; |
| char *TempNames[UNIQUETEMPS]; |
| } OSblock; |
| |
| #define NOOP 0 |
| #define BINARY 1 |
| #define READOP 2 |
| #define WRITEOP 4 |
| |
| typedef struct { |
| const struct Dbg_HostosInterface *hostif; /* Interface to debug toolkit. */ |
| int last_errno; /* Number of the last error. */ |
| OSblock *OSptr; |
| char **CommandLine ; /* Ptr to cmd line d`string held by ardi.c */ |
| } hsys_state; |
| |
| /* |
| * Function: HostSysInit |
| * Purpose: Set up the state block, filetable and register the and C lib |
| * callback fn |
| * |
| * Params: |
| * Input: hostif, the host interface from the debug toolbox |
| * cmdline, the command line used to call the image |
| * state, the status block for the C lib |
| * |
| * Returns: |
| * OK: an RDIError_* valuee |
| */ |
| extern int HostSysInit( |
| const struct Dbg_HostosInterface *hostif, char **cmdline, hsys_state **state |
| ); |
| |
| /* |
| * Function: HostSysExit |
| * Purpose: Close down the host side C library support |
| * |
| * Params: |
| * Input: hstate, the status block for the C lib |
| * |
| * Returns: an RDIError_* valuee |
| */ |
| extern int HostSysExit(hsys_state *hstate); |
| |
| /* |
| * Function: HandleSysMessage |
| * Purpose: Handle an incoming C library message as a callback |
| * |
| * Params: |
| * Input: packet is the incoming data packet as described in devsw.h |
| * hstate, the status block for the C lib |
| * |
| * Returns: an RDIError_* valuee |
| */ |
| extern int HandleSysMessage(Packet *packet, hsys_state* stateptr); |
| |
| /* |
| * Function: panic |
| * Purpose: Print a fatal error message |
| * |
| * Params: |
| * Input: format printf() style message describing the problem |
| * ... extra arguments for printf(). |
| * |
| * Returns: This routine does not return |
| * |
| * Post-conditions: Will have called exit(1); |
| */ |
| extern void panic(const char *format, ...); |
| |
| #endif /* ndef angsd_hsys_h */ |
| |
| /* EOF hsys.h */ |