File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / bin / cdb / cdb.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b


/* @(#)cdb.h	2.4 */
#include "basic.h"

extern char *malloc();
extern free();
extern long lseek();
extern int errno;
extern char *strchr(), *strrchr(), *strcpy(), *strncpy(), *strcat(), *strncat();
extern int strlen(), strspn();
extern long time();
extern char *getenv();

#ifdef SYSIII
#define cbVarMax	8
#endif
#ifdef BSD41
#define cbVarMax	20
#endif

#include "sym.h"
#include "tk.h"
#include "ty.h"

#define chNull '\0'

typedef struct PDS {    /* procedure descriptor */
	long    isym;		/* beginning of symbols */
	ADRT    adrStart;       /* memory address of beginning of proc */
	char	*sbProc;	/* extra space to build up name */
	} PDR, *pPDR;
#define cbPDR sizeof(PDR)
#define ipdNil  -1

typedef struct FDS {    /* file descriptor */
	long    isym;		/* beginning of symbols */
	ADRT    adrStart;       /* memory address of beginning of file */
	char    *sbFile;	/* extra space to build up name */
	bits    fHasDecl : 1;   /* they DO have  a .d file */
	bits    fWarned : 1;    /* they have been warned about age problems */
	short   ipd;		/* start of procedures for this file */
	ushort  ilnMac;		/* number of lines in file (0 if don't know) */
	uint    *rgLn;		/* the line pointer array (if any) */
	} FDR, *pFDR;
#define cbFDR sizeof(FDR)
#define ilnNil  0

typedef struct BPS {    /* breakpoint */
	ADRT    adr;		/* address of breakpoint */
	uint    inst;		/* instruction that lives there */
	short   count;		/* number of times to hit before stop */
	char    sbBp[100];	/* commands for bp */
	} BPR, *pBPR;
#define cbBPR sizeof(BPR)
#define ibpNil  -1
#define ibpContinue -2

/* display format */
#define dfNil		0
#define dfDecimal       1
#define dfUnsigned      2
#define dfOctal		3
#define dfHex		4
#define dfFFloat	5
#define dfEFloat	6
#define dfGFloat	7
#define dfChar		8
#define dfByte		9
#define dfPStr		10
#define dfStr		11
#define dfProc		12
#define dfAddr		13
#define dfStruct	14
#define dfType		15
#define dfEnum		16
typedef int     DFE, *pDFE;

typedef struct MODES {  /* used for passing around output format info */
	DFE     df;	/* display format */
	short   len;	/* length of item (if meaningful) */
	short   cnt;	/* number of times to apply the format */
	short   imap;	/* selects map set to use (normally 0) */
	} MODER, *pMODER;
#define cbMODER sizeof(MODER)
#define modeNil ((pMODER)0)

/* format control for PrintPos */
#define fmtNil	 0       /* we don't want nothin' printed */
#define fmtFile	 0x01    /* print the file name */
#define fmtProc	 0x02    /* print the procedure name */
#define fmtLn	 0x04    /* print the line number */
#define fmtPrint 0x08    /* print the current line */
#define fmtEol	 0x10    /* print an end-of-line */
#define fmtSave	 0x20    /* do NOT reset vifd,vipd,viln,vslop */

typedef struct MAPS {
	long    b1;
	long    e1;
	long    f1;
	long    b2;
	long    e2;
	long    f2;
	short   fn;     /* file number that goes with this map */
	} MAPR, *pMAPR;
#define fnNil -1

/* command types */
#define cmdNil	  	0
#define cmdPrint	1       /* print lines */
#define cmdDisplay      2       /* display the contents of a variable */
#define cmdUpArrow      3       /* display contents of previous location */
#define cmdLineSingle   4       /* single step - follow proc calls */
#define cmdProcSingle   5       /* single step - treat procs as single line */
typedef int CMDE, *pCMDE;

/* auto-check states */
#define asNil	   	0       /* auto checking is not being used */
#define asActive	1       /* auto checking IS being used */
#define asSuspended     2       /* being used, but temporarily suspended */
typedef int ASE, *pASE;

typedef struct {	/* signal action record */
	/* fields are named this way so that all false is a good default */
	bits	fNoStop : 1;	/* if true, do not stop on signal */
	bits	fNoReport : 1;	/* if true, do not report non-stop signal */
	bits	fEatSig : 1;	/* if true, eat non-stop signal */
	} SAR, *pSAR;
#define cbSAR (sizeof(SAR))
#define saNil ((pSAR)0)

/* address spaces for looking at child */
#define spaceText 1
#define spaceData 2

#define pidNil 0

/* requests for `access' */
#define accRead	 	0
#define accWrite	1

/* requests for `ptrace' system call */
#define ptChild	 	0
#define ptReadI	 	1
#define ptReadD	 	2
#define ptReadUser      3
#define ptWriteI	4
#define ptWriteD	5
#define ptWriteUser     6
#define ptResume	7
#define ptTerm	  	8
#define ptSingle	9

#include "ext.h"  /* external declarations for all `export'ed procedures */

/* these were from `#include <fcntl.h>' on a System III */
#define O_RDONLY	0
#define O_WRONLY	1
#define O_RDWR  	2

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.