libyasm/value.h

Go to the documentation of this file.
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(/*@out@*/ yasm_value *value,
00054                            /*@null@*/ /*@kept@*/ yasm_expr *e,
00055                            unsigned int size);
00056 
00064 YASM_LIB_DECL
00065 void yasm_value_init_sym(/*@out@*/ yasm_value *value,
00066                          /*@null@*/ 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, /*@null@*/ yasm_bytecode *precbc);
00103 
00123 YASM_LIB_DECL
00124 int yasm_value_finalize_expr(/*@out@*/ yasm_value *value,
00125                              /*@null@*/ /*@kept@*/ yasm_expr *e,
00126                              /*@null@*/ yasm_bytecode *precbc,
00127                              unsigned int size);
00128 
00140 YASM_LIB_DECL
00141 /*@null@*/ /*@only@*/ yasm_intnum *yasm_value_get_intnum
00142     (yasm_value *value, /*@null@*/ yasm_bytecode *bc, int calc_bc_dist);
00143 
00163 YASM_LIB_DECL
00164 int yasm_value_output_basic
00165     (yasm_value *value, /*@out@*/ 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

Generated on Thu Jul 24 01:23:31 2008 for libyasm by  doxygen 1.5.2