#define OTHERSYSTEM
#endif
+/*
+ * PATH_MAX
+ */
+#include <limits.h>
+#ifndef PATH_MAX /* POSIX, but not required */
+ #if defined(__BORLANDC__) || defined(_MSC_VER)
+ #include <stdlib.h>
+ #define PATH_MAX _MAX_PATH
+ #else
+ #define PATH_MAX 255 /* define a reasonable value */
+ #endif
+#endif
+
/*
* This file defines the format of the
* relocatable binary file.
#define NCPS 80 /* characters per symbol (JLH: change from 8) */
#define NDATA 16 /* actual data */
-#define NINPUT 128 /* Input buffer size */
+#define NINPUT PATH_MAX /* Input buffer size */
#define NHASH 64 /* Buckets in hash table */
#define HMASK 077 /* Hash mask */
#define NLPP 60 /* Lines per page */
#define NTXT 16 /* T values */
-#define FILSPC 80 /* File spec length */
/*
* The "R_" relocation constants define values used in
char *libspc;
char *relfil;
char *filspc;
+ long offset; /*>=0 if rel file is embedded in a lib file at this offset*/
};
/*
extern char rb[NINPUT]; /* LST file text line being
* address relocated
*/
-extern char ctype[]; /* array of character types, one per
+extern unsigned char ctype[]; /* array of character types, one per
* ASCII character
*/
+extern char sdccopt[NINPUT];
+extern char sdccopt_module[NINPUT];
+extern char curr_module[NINPUT];
+
/*
* Character Type Definitions
*/
*/
extern int mflag; /* Map output flag
*/
+extern int sflag; /* JCF: Memory usage output flag
+ */
extern int jflag; /* NoICE output flag
*/
extern int xflag; /* Map file radix type flag
*/
extern Addr_T iram_size; /* internal ram size
*/
+extern long xram_size; /* external ram size
+ */
+extern long code_size; /* code size
+ */
/* C Library function definitions */
extern VOID bassav();
extern VOID gblsav();
extern VOID iramsav();
+extern VOID xramsav();
+extern VOID codesav();
extern VOID iramcheck();
extern VOID link_main();
extern VOID lkexit();
extern char get();
extern VOID getfid();
extern VOID getid();
+extern VOID getSid();
extern int getline();
extern int getmap();
extern char getnb();
extern int lastExtendedAddress;
/* lklibr.c */
-extern VOID addfile();
+extern int addfile();
extern VOID addlib();
extern VOID addpath();
extern int fndsym();
/* lkihx.c */
extern VOID ihx();
extern VOID ihxEntendedLinearAddress(Addr_T);
+extern VOID newArea();
+
/* lkstore.c */
extern char *StoreString( char *str );
/* lknoice.c */
extern void DefineNoICE( char *name, Addr_T value, int page );
-/* SD added this to change
- strcmpi --> strcmp (strcmpi NOT ANSI) */
-#define strcmpi strcmp
+/* JCF: lkmem.c */
+extern int summary(struct area * xp);
+/* JCF: lkaomf51.c */
+extern void SaveLinkedFilePath(char * filepath);
+extern void CreateAOMF51(void);