]> rtime.felk.cvut.cz Git - orte.git/blob - orte/idl-compiler/orte-idl-c-backend.h
Ignore _check directories
[orte.git] / orte / idl-compiler / orte-idl-c-backend.h
1 #ifndef ORTE_IDL_C_BACKEND_H
2 #define ORTE_IDL_C_BACKEND_H
3
4 #include "orte-idl2.h"
5
6 #include <unistd.h>
7
8 #define OIDL_C_WARNING "/*\n * This file was generated by orte-idl - DO NOT EDIT!\n */\n\n"
9
10 typedef struct {
11         char     *base_name;
12         char     *c_base_name;
13         FILE     *fh;
14         GString  *ext_dcls;
15         gboolean  do_impl_hack;
16 } OIDL_C_Info;
17
18 gboolean  orte_idl_output_c       (IDL_tree       tree,
19                                     OIDL_Run_Info *rinfo);
20 void  orte_idl_output_c_headers   (IDL_tree       tree,
21                                     OIDL_Run_Info *rinfo,
22                                     OIDL_C_Info   *ci);
23 void  orte_idl_output_c_impls     (IDL_tree       tree,
24                                     OIDL_Run_Info *rinfo,
25                                     OIDL_C_Info   *ci);
26 /*void  orte_idl_output_c_deps      (IDL_tree       tree,
27                                     OIDL_Run_Info *rinfo,
28                                     OIDL_C_Info   *ci);*/
29
30 void orte_output_typecode (OIDL_C_Info *ci, IDL_tree ts);
31
32 char *orte_idl_c_filename_for_pass (const char *input_filename, int pass);
33
34 /* utils */
35 char    *orte_cbe_get_typespec_str      (IDL_tree    tree);
36 void     orte_cbe_write_typespec        (FILE       *of,
37                                          IDL_tree    tree);
38 void     orte_cbe_write_param_typespec  (FILE       *of,
39                                          IDL_tree    tree);
40 void     orte_cbe_op_write_proto        (FILE       *of,
41                                          IDL_tree    op,
42                                          const char *nom_prefix,
43                                          gboolean    for_epv);
44 IDL_tree orte_cbe_get_typespec          (IDL_tree    tree);
45 void     orte_cbe_write_const           (FILE       *of,
46                                          IDL_tree    tree);
47 gboolean orte_cbe_type_is_fixed_length  (IDL_tree    ts);
48 gboolean orte_cbe_type_is_builtin       (IDL_tree    tree);
49 void     orte_cbe_id_define_hack        (FILE       *fh,
50                                          const char *def_prefix,
51                                          const char *def_name,
52                                          const char *def_value);
53 void     orte_cbe_id_cond_hack          (FILE       *fh,
54                                          const char *def_prefix,
55                                          const char *def_name,
56                                          const char *def_value);
57 char    *orte_cbe_get_typecode_name     (IDL_tree    tree);
58 void     orte_cbe_flatten_args          (IDL_tree    tree,
59                                          FILE       *of,
60                                          const char *name);
61 void     orte_cbe_unflatten_args        (IDL_tree    tree,
62                                          FILE       *of,
63                                          const char *name);
64 #endif