libyasm
value.h
Go to the documentation of this file.
1 
30 #ifndef YASM_VALUE_H
31 #define YASM_VALUE_H
32 
33 #ifndef YASM_LIB_DECL
34 #define YASM_LIB_DECL
35 #endif
36 
48 YASM_LIB_DECL
49 void yasm_value_initialize(/*@out@*/ yasm_value *value,
50  /*@null@*/ /*@kept@*/ yasm_expr *e,
51  unsigned int size);
52 
60 YASM_LIB_DECL
61 void yasm_value_init_sym(/*@out@*/ yasm_value *value,
62  /*@null@*/ yasm_symrec *sym, unsigned int size);
63 
69 YASM_LIB_DECL
70 void yasm_value_init_copy(yasm_value *value, const yasm_value *orig);
71 
75 YASM_LIB_DECL
76 void yasm_value_delete(yasm_value *value);
77 
87 YASM_LIB_DECL
89  unsigned int ip_rel);
90 
97 YASM_LIB_DECL
98 int yasm_value_finalize(yasm_value *value, /*@null@*/ yasm_bytecode *precbc);
99 
119 YASM_LIB_DECL
120 int yasm_value_finalize_expr(/*@out@*/ yasm_value *value,
121  /*@null@*/ /*@kept@*/ yasm_expr *e,
122  /*@null@*/ yasm_bytecode *precbc,
123  unsigned int size);
124 
136 YASM_LIB_DECL
137 /*@null@*/ /*@only@*/ yasm_intnum *yasm_value_get_intnum
138  (yasm_value *value, /*@null@*/ yasm_bytecode *bc, int calc_bc_dist);
139 
159 YASM_LIB_DECL
161  (yasm_value *value, /*@out@*/ unsigned char *buf, size_t destsize,
162  yasm_bytecode *bc, int warn, yasm_arch *arch);
163 
169 YASM_LIB_DECL
170 void yasm_value_print(const yasm_value *value, FILE *f, int indent_level);
171 
172 #endif