00001
00034 #ifndef YASM_VALUE_H
00035 #define YASM_VALUE_H
00036
00037 #ifndef YASM_LIB_DECL
00038 #define YASM_LIB_DECL
00039 #endif
00040
00052 YASM_LIB_DECL
00053 void yasm_value_initialize( yasm_value *value,
00054 yasm_expr *e,
00055 unsigned int size);
00056
00064 YASM_LIB_DECL
00065 void yasm_value_init_sym( yasm_value *value,
00066 yasm_symrec *sym, unsigned int size);
00067
00073 YASM_LIB_DECL
00074 void yasm_value_init_copy(yasm_value *value, const yasm_value *orig);
00075
00079 YASM_LIB_DECL
00080 void yasm_value_delete(yasm_value *value);
00081
00091 YASM_LIB_DECL
00092 void yasm_value_set_curpos_rel(yasm_value *value, yasm_bytecode *bc,
00093 unsigned int ip_rel);
00094
00101 YASM_LIB_DECL
00102 int yasm_value_finalize(yasm_value *value, yasm_bytecode *precbc);
00103
00123 YASM_LIB_DECL
00124 int yasm_value_finalize_expr( yasm_value *value,
00125 yasm_expr *e,
00126 yasm_bytecode *precbc,
00127 unsigned int size);
00128
00140 YASM_LIB_DECL
00141 yasm_intnum *yasm_value_get_intnum
00142 (yasm_value *value, yasm_bytecode *bc, int calc_bc_dist);
00143
00163 YASM_LIB_DECL
00164 int yasm_value_output_basic
00165 (yasm_value *value, unsigned char *buf, size_t destsize,
00166 yasm_bytecode *bc, int warn, yasm_arch *arch);
00167
00173 YASM_LIB_DECL
00174 void yasm_value_print(const yasm_value *value, FILE *f, int indent_level);
00175
00176 #endif