2002-05-01 04:51:32 +08:00
|
|
|
/* labels.h header file for labels.c
|
|
|
|
*
|
|
|
|
* The Netwide Assembler is copyright (C) 1996 Simon Tatham and
|
|
|
|
* Julian Hall. All rights reserved. The software is
|
2007-12-29 22:44:23 +08:00
|
|
|
* redistributable under the license given in the file "LICENSE"
|
2002-05-01 04:51:32 +08:00
|
|
|
* distributed in the NASM archive.
|
|
|
|
*/
|
|
|
|
|
2007-10-11 15:05:31 +08:00
|
|
|
#ifndef LABELS_H
|
|
|
|
#define LABELS_H
|
|
|
|
|
2007-04-14 00:47:53 +08:00
|
|
|
extern char lprefix[PREFIX_MAX];
|
|
|
|
extern char lpostfix[PREFIX_MAX];
|
2002-05-01 05:00:33 +08:00
|
|
|
|
2007-11-06 09:19:32 +08:00
|
|
|
bool lookup_label(char *label, int32_t *segment, int64_t *offset);
|
2007-10-11 15:05:31 +08:00
|
|
|
bool is_extern(char *label);
|
2007-11-06 09:19:32 +08:00
|
|
|
void define_label(char *label, int32_t segment, int64_t offset, char *special,
|
2007-10-11 15:05:31 +08:00
|
|
|
bool is_norm, bool isextrn, struct ofmt *ofmt,
|
2005-01-16 06:15:51 +08:00
|
|
|
efunc error);
|
2007-11-06 09:19:32 +08:00
|
|
|
void redefine_label(char *label, int32_t segment, int64_t offset, char *special,
|
2007-10-11 15:05:31 +08:00
|
|
|
bool is_norm, bool isextrn, struct ofmt *ofmt,
|
2005-01-16 06:15:51 +08:00
|
|
|
efunc error);
|
2007-04-14 00:47:53 +08:00
|
|
|
void define_common(char *label, int32_t segment, int32_t size, char *special,
|
2005-01-16 06:15:51 +08:00
|
|
|
struct ofmt *ofmt, efunc error);
|
2007-04-14 00:47:53 +08:00
|
|
|
void declare_as_global(char *label, char *special, efunc error);
|
2005-01-16 06:15:51 +08:00
|
|
|
int init_labels(void);
|
|
|
|
void cleanup_labels(void);
|
2007-10-11 15:05:31 +08:00
|
|
|
|
|
|
|
#endif /* LABELS_H */
|