RPA Toolkit
aae6782ef9a3c3463da98739ea1a907c0dee3d13
[rpatk.git] / rvm / rvmreg.h
1 #ifndef _RVMREG_H_
2 #define _RVMREG_H_
3
4 #include "rvmcpu.h"
5 #include "robject.h"
6 #include "rarray.h"
7 #include "rharray.h"
8 #include "rstring.h"
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14
15 /* Create array with rvmreg elements */
16 rarray_t *r_array_create_rvmreg();
17 /* Create harray with rvmreg elements */
18 rharray_t *r_harray_create_rvmreg();
19
20 rvmreg_t rvm_reg_create_string_ansi(const rchar *s);
21 rvmreg_t rvm_reg_create_string(const rstr_t *s);
22 rvmreg_t rvm_reg_create_array();
23 rvmreg_t rvm_reg_create_harray();
24 rvmreg_t rvm_reg_create_refreg();
25 rvmreg_t rvm_reg_create_double(rdouble d);
26 rvmreg_t rvm_reg_create_long(rlong l);
27 void rvm_reg_cleanup(rvmreg_t *reg);
28 rvmreg_t *rvm_reg_copy(rvmreg_t *dst, const rvmreg_t *src);
29 rvmreg_t *rvm_reg_refer(rvmreg_t *dst, const rvmreg_t *src);
30 void rvm_reg_settype(rvmreg_t *r, ruint type);
31 ruint rvm_reg_gettype(const rvmreg_t *r);
32 rboolean rvm_reg_tstflag(const rvmreg_t *r, ruint16 flag);
33 void rvm_reg_setflag(rvmreg_t *r, ruint16 flag);
34 void rvm_reg_clrflag(rvmreg_t *r, ruint16 flag);
35 void rvm_reg_setlong(rvmreg_t *r, rlong l);
36 void rvm_reg_setdouble(rvmreg_t *r, rdouble d);
37 void rvm_reg_setstring(rvmreg_t *r, rstring_t *ptr);
38 void rvm_reg_setarray(rvmreg_t *r, rarray_t *ptr);
39 void rvm_reg_setharray(rvmreg_t *r, rharray_t *ptr);
40 void rvm_reg_convert_to_refreg(rvmreg_t *r);
41
42 struct rrefreg_s;
43 void rvm_reg_setrefreg(rvmreg_t *r, struct rrefreg_s *ptr);
44
45
46 #ifdef __cplusplus
47 }
48 #endif
49
50 #endif