⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldfcn.h

📁 c 语言编译器 源代码- c compiler
💻 H
字号:
/* @(#) ldfcn.h 1.6 1/30/86 17:45:38 *//*ident	"@(#)cfront:incl/ldfcn.h	1.6"*/#ifndef FILE#       include <stdio.h>#endif#ifndef FILHDR#       include <filehdr.h>#endif#ifndef LDFILEstruct	ldfile {	int	_fnum_;		/* so each instance of an LDFILE is unique */	FILE	*ioptr;		/* system I/O pointer value */	long	offset;		/* absolute offset to the start of the file */	FILHDR	header;		/* the file header of the opened file */	unsigned short	type;		/* indicator of the type of the file */};/*	provide a structure "type" definition, and the associated	"attributes"*/#define	LDFILE		struct ldfile#define IOPTR(x)	x->ioptr#define OFFSET(x)	x->offset#define TYPE(x)		x->type#define	HEADER(x)	x->header#define LDFSZ		sizeof(LDFILE)/*	define various values of TYPE(ldptr)*/#define ARTYPE 	0177545/*	define symbolic positioning information for FSEEK (and fseek)*/#define BEGINNING	0#define CURRENT		1#define END		2/*	define a structure "type" for an archive header*/typedef struct{	char ar_name[16];	long ar_date;	int ar_uid;	int ar_gid;	long ar_mode;	long ar_size;} archdr;#define	ARCHDR	archdr#define ARCHSZ	sizeof(ARCHDR)/*	define some useful symbolic constants*/#define SYMTBL	0	/* section nnumber and/or section name of the Symbol Table */#define	SUCCESS	 1#define	CLOSED	 1#define	FAILURE	 0#define	NOCLOSE	 0#define	BADINDEX	-1L#define	OKFSEEK	0/*	define macros to permit the direct use of LDFILE pointers with the	standard I/O library procedures*/extern LDFILE *ldopen(char*, LDFILE*);extern LDFILE *ldaopen(const char*, LDFILE*);#define GETC(ldptr)	getc(IOPTR(ldptr))#define GETW(ldptr)	getw(IOPTR(ldptr))#define FEOF(ldptr)	feof(IOPTR(ldptr))#define FERROR(ldptr)	ferror(IOPTR(ldptr))#define FGETC(ldptr)	fgetc(IOPTR(ldptr))#define FGETS(s,n,ldptr)	fgets(s,n,IOPTR(ldptr))#define FILENO(ldptr)	fileno(IOPTR(ldptr))#define FREAD(p,s,n,ldptr)	fread(p,s,n,IOPTR(ldptr))#define FSEEK(ldptr,o,p)	fseek(IOPTR(ldptr),(p==BEGINNING)?(OFFSET(ldptr)+o):o,p)#define FTELL(ldptr)	ftell(IOPTR(ldptr))#define FWRITE(p,s,n,ldptr)       fwrite(p,s,n,IOPTR(ldptr))#define REWIND(ldptr)	rewind(IOPTR(ldptr))#define SETBUF(ldptr,b)	setbuf(IOPTR(ldptr),b)#define UNGETC(c,ldptr)		ungetc(c,IOPTR(ldptr))#define STROFFSET(ldptr)	(HEADER(ldptr).f_symptr + HEADER(ldptr).f_nsyms * 18) /* 18 == SYMESZ */#endif#ifndef LINENO#       include <linenum.h>#endif#ifndef SCNHDR#       include <scnhdr.h>#endif#ifndef SYMENT#       include <syms.h>#endifextern int ldaclose (LDFILE*),           ldahread (LDFILE*, ARCHDR*),           ldclose (LDFILE*),           ldfhread (LDFILE*, FILHDR*),           ldlinit (LDFILE*, long),           ldlitem (LDFILE*, unsigned short, LINENO),// must include <linenum.h>           ldlread (LDFILE*, long, unsigned short, LINENO),           ldlseek (LDFILE*,unsigned short),           ldnlseek (LDFILE*, const char*),           ldnrseek (LDFILE*, const char*),           ldnshread (LDFILE*, unsigned short, SCNHDR*),//must include<scnhdr.h>           ldnsseek (LDFILE*, const char*),           ldohseek (LDFILE*),           ldrseek (LDFILE*, unsigned short),           ldshread (LDFILE*, const char*, SCNHDR*),           ldsseek (LDFILE*, unsigned short),           ldtbread (LDFILE*, long, SYMENT*),  // must include <syms.h>           ldtbseek (LDFILE*);extern long ldtbindex (LDFILE*),            sgetl (char*);extern void sputl (long, char*);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -