Personal tools
You are here: Home Projects C++ Cfront releases Release 3.0.3 source libSC aoutdem aoutdem.h
Document Actions

aoutdem.h

by Michael L Powell last modified 2007-01-26 03:23

Click here to get the file

Size 2.6 kB - File type text/plain

File contents

/*ident	"@(#)aoutdem:aoutdem.h	3.1" */
/******************************************************************************
*
* C++ Standard Components, Release 3.0.
*
* Copyright (c) 1991, 1992 AT&T and Unix System Laboratories, Inc.
* Copyright (c) 1988, 1989, 1990 AT&T.  All Rights Reserved.
*
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T and Unix System
* Laboratories, Inc.  The copyright notice above does not evidence
* any actual or intended publication of such source code.
*
******************************************************************************/

#include <osfcn.h>
#include "osfcn2.h"
#include <stdio.h>    
#include <libc.h>
#include <iostream.h>
#include <ctype.h>
#include <string.h>
#include <String.h>
#ifdef BSD
#include "values.h"
#define MARK(M)
#else
#include <values.h>
#include <prof.h>
#endif
#include "system.h"

#ifdef SYSV

#include <filehdr.h>
#include <aouthdr.h>
#include <scnhdr.h>
#include <syms.h>
#include <storclass.h>

#else

#include <a.out.h>
#include <stab.h>
#include <sys/file.h>

#endif

extern int optind;

#include <dem.h>
extern "C" {
	int dem(char*, DEM*, char*);
	int dem_print( DEM*, char*);
}

extern int verboseDbx;
FILE *xfopen(char *, char *);
int xfread(void *, int, int, FILE *);
int xfwrite(const void *, int, int, FILE *);
String demangleAndSimplify(const String &, int, int);
int hasextra_(int);
#ifndef SYSV
String parseDbxString(char *, int);
#endif


/* Most System V/non-System V differences hidden here.
*/
#ifdef SYSV

#define HDR filehdr
#define HDRSZ FILHSZ
#define SYM syment
#define SYMSZ SYMESZ

#define MAGIC(x)	(x).f_magic

#ifndef ISCOFF

#ifdef AMDWRMAGIC
#define ISAMD(x)	((x) == AMDWRMAGIC || (x) == AMDROMAGIC)
#else
#define ISAMD(x)	(0)
#endif

	// If your machine's magic number is not listed, add it.
	// (Look in /usr/include/filehdr.h to see the possibilities.)
	// Just because a magic number is listed doesn't mean
	// I've tested the demangler on that machine.  I don't
	// have access to all these machines.

#define ISCOFF(x) \
	ISAMD(x) || \
	((x) == XLMAGIC || (x) == N3BMAGIC || (x) == NTVMAGIC || \
	(x) == VAXROMAGIC || (x) == VAXWRMAGIC || \
	(x) == MC68MAGIC || (x) == MC68TVMAGIC || \
	(x) == M68MAGIC || (x) == M68TVMAGIC)

#endif

#define N_BADMAG(x) !(ISCOFF(MAGIC(x)))

#define N_SYMS(x) (x).f_nsyms
#define N_STROFF(x) ((x).f_symptr + ((x).f_nsyms * SYMESZ))
#define N_SYMOFF(x) (x).f_symptr
#define N_AUX(n) (n).n_numaux
#define N_STRINDEX(n) (n).n_offset

#else

#define HDR exec
#define HDRSZ sizeof(exec)
#define SYM nlist
#define SYMSZ sizeof(nlist)

#define MAGIC(x)	(x).a_magic

#define N_SYMS(x) ((x).a_syms/SYMSZ)
#define N_AUX(n) 0
#define N_STRINDEX(n) (n).n_un.n_strx

#endif
« May 2024 »
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: