ack/util/led/defs.h
Manoel Trapier 452127650a Next batch
2015-06-24 23:41:45 +01:00

85 lines
2.1 KiB
C

/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* $Id$ */
/*
* We need the S_EXT because we leave locals alone.
*/
#define ISUNDEFINED(n) (((n)->on_type & (S_TYP | S_EXT)) == (S_UND | S_EXT))
#define ISABSOLUTE(n) (((n)->on_type & (S_TYP | S_EXT)) == (S_ABS | S_EXT))
#define ISCOMMON(n) (((n)->on_type & (S_COM | S_EXT)) == (S_COM | S_EXT))
#define mustsavelocal(name) (!((name)->on_type & S_SCT))
/* archive.c */
void arch();
void arch2();
/* extract.c */
void extract();
void namerelocate(struct outname *name);
/* finish.c */
void finish();
void do_crs(struct outname *base, unsigned int count);
/* main.c */
bool setbit(int indx, char *string);
void addbase(struct outname *name);
/* output.c */
void endoutput();
void beginoutput();
/* error.c */
void stop();
void fatal(char *format, ...);
void warning(char *format, ...);
void error(char *format, ...);
int do_verbose(char *format, ...);
/* read.c */
void rd_fatal();
/* write.c */
void wr_fatal();
void begin_write();
void end_write();
void wrt_emit(char *emit, int sectindex, long cnt);
void wrt_nulls(int sectindex, long cnt);
void wrt_name(struct outname *name, int writename);
/* sym.c */
void init_symboltable();
struct outname *searchname(char *string, int hashval);
void entername(struct outname *name, int hashval);
unsigned int indexof(struct outname *name);
int hash(char *p);
/* save.c */
void savemagic();
void savehdr(struct ar_hdr * hdr);
ind_t savechar(int piece, ind_t off);
void savelocal(struct outname *name);
/* relocate.c */
void relocate(struct outhead *head, char *emit, struct outname names[], struct outrelo *relo, long off);
/* scan.c */
int getfile(char *filename);
void closefile(char *filename);
void get_archive_header(struct ar_hdr *archive_header);
void get_modul();
void seek(long pos);
void skip_modul(struct outhead *head);
void startrelo(struct outhead *head);
struct outrelo *nextrelo();
char *getemit(struct outhead *head, struct outsect *sects, int sectindex);
char *getblk(long totalsz, long *pblksz, int sectindex);
void endemit(char *emit);
/* --- */