72 lines
2.1 KiB
C
72 lines
2.1 KiB
C
/* wdbGopherLib.h - info gathering interpreter header for the agent */
|
|
|
|
/*
|
|
* Copyright (c) 2003-2007 Wind River Systems, Inc.
|
|
*
|
|
* The right to copy, distribute, modify or otherwise make use of this
|
|
* software may be licensed only pursuant to the terms of an applicable Wind
|
|
* River license agreement.
|
|
*/
|
|
|
|
/*
|
|
modification history
|
|
--------------------
|
|
01i,26jun07,tbu Added 64 bit support
|
|
+ p_b completed support
|
|
01h,24jan06,tbu Added the OS-specific hook for special commands
|
|
01g,04jan06,dbt Made several routines private. Added
|
|
gopherWriteChar() prototype.
|
|
01f,08dec05,dbt Replaced IMPORT with extern.
|
|
01e,22nov05,dbt Updated gopher function prototypes.
|
|
01d,16jun05,jmp moved to share/src/agents/wdb.
|
|
01c,28may04,elg Fix compiler warning.
|
|
01b,29mar04,elg Add information to reorder numbers following endianness if
|
|
necessary.
|
|
01a,19feb03,elg Written from wdbGopherLib.c.
|
|
*/
|
|
|
|
/*
|
|
DESCRIPTION
|
|
*/
|
|
|
|
#ifndef __INCwdbGopherLibh
|
|
#define __INCwdbGopherLibh
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/* typedef */
|
|
|
|
enum byte_reorder
|
|
{
|
|
NO_REORDER, /* no byte reordering */
|
|
NTOH_REORDER, /* perform a hton() before writing to tape */
|
|
HTON_REORDER /* perform a ntoh() before writing to tape */
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
char * program; /* where to start executing */
|
|
TGT_ADDR_T p; /* initial value of pointer */
|
|
WDB_POINTER_SIZE pointerSize; /* actual size of pointer */
|
|
char * pTape; /* tape array */
|
|
int tapeIx; /* index in tape to write next cell */
|
|
int tapeLen; /* total length of tape */
|
|
int execute; /* whether to execute, or just parse */
|
|
unsigned int status; /* error code */
|
|
enum byte_reorder byteReorder; /* do we have to reorder numbers ? */
|
|
} wdbGopherCtx_t;
|
|
|
|
/* externals */
|
|
|
|
extern UINT32 gopherWriteChar (wdbGopherCtx_t * gc, char value);
|
|
extern UINT32 gopherWriteScalar (wdbGopherCtx_t * gc, UINT8 * src, int type);
|
|
extern void gopherHookAdd (UINT32 (*gopherHook) (wdbGopherCtx_t * gc));
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __INCwdbGopherLibh */
|