summaryrefslogtreecommitdiff
path: root/rdoff/rdoff.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2002-04-30 20:52:08 +0000
committerH. Peter Anvin <hpa@zytor.com>2002-04-30 20:52:08 +0000
commitd7ed89eac9580f280fe0017b22c8e38ca75ed8e3 (patch)
tree98c4fcdd286b44e14f79aa65271e5caa1c2c7be4 /rdoff/rdoff.h
parentea8382740dbe5e1607742d0a7c7c139dffcc5ae5 (diff)
downloadnasm-d7ed89eac9580f280fe0017b22c8e38ca75ed8e3.tar.gz
nasm-d7ed89eac9580f280fe0017b22c8e38ca75ed8e3.tar.bz2
nasm-d7ed89eac9580f280fe0017b22c8e38ca75ed8e3.zip
NASM 0.94
Diffstat (limited to 'rdoff/rdoff.h')
-rw-r--r--rdoff/rdoff.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/rdoff/rdoff.h b/rdoff/rdoff.h
index b022400..0f74b80 100644
--- a/rdoff/rdoff.h
+++ b/rdoff/rdoff.h
@@ -50,7 +50,7 @@ struct BSSRec {
char type; /* must be 5 */
long amount; /* number of bytes BSS to reserve */
};
-
+
typedef union RDFHeaderRec {
char type; /* invariant throughout all below */
struct RelocRec r; /* type == 1 */
@@ -66,10 +66,13 @@ typedef struct RDFFileInfo {
long header_len;
long code_len;
long data_len;
+ long header_ofs;
long code_ofs;
long data_ofs;
char *header_loc; /* keep location of header */
long header_fp; /* current location within header for reading */
+ char *name; /* name of module in libraries */
+ int *refcount; /* pointer to reference count on file, or NULL */
} rdffile;
#define BUF_BLOCK_LEN 4088 /* selected to match page size (4096)
@@ -91,8 +94,11 @@ typedef memorybuffer rdf_headerbuf;
/* mask to find actual segment value in relocation records */
#define RDOFF_SEGMENTMASK 63
+extern int rdf_errno;
+
/* RDOFF file manipulation functions */
int rdfopen(rdffile *f,const char *name);
+int rdfopenhere(rdffile *f, FILE *fp, int *refcount, char *name);
int rdfclose(rdffile *f);
int rdfloadseg(rdffile *f,int segment,void *buffer);
rdfheaderrec *rdfgetheaderrec(rdffile *f); /* returns static storage */