123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*
- * (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);
- /* --- */
|