Merge remote-tracking branch 'origin/release-v4.5'
[WRF.git] / tools / protos.h
blob0191e8f4afaee37e2568a10b08fffe3a973af576
1 #ifndef PROTOS_H
2 #include "registry.h"
3 #include "data.h"
5 int init_dim_table() ;
6 int make_lower( char * s1 ) ;
7 int reg_parse( FILE * infile ) ;
8 int set_dim_len ( char * dimspec , node_t * dim_entry ) ;
9 int set_dim_order ( char * dimorder , node_t * dim_entry ) ;
10 int set_dim_orient ( char * dimorient , node_t * dim_entry ) ;
11 int add_node_to_end ( node_t * node , node_t ** list ) ;
12 int add_node_to_end_4d ( node_t * node , node_t ** list ) ;
13 int init_type_table() ;
14 int set_state_type ( char * typename , node_t * node ) ;
15 int set_state_dims ( char * dims , node_t * node ) ;
16 int gen_state_struct ( char * fname ) ;
18 #if 0
19 int show_node( node_t * p ) ;
20 int show_node1( node_t * p, int indent ) ;
21 int show_nodelist( node_t * p ) ;
22 int show_nodelist1( node_t * p , int indent ) ;
23 #endif
25 int gen_state_struct ( char * fname ) ;
26 int gen_decls ( FILE * fp , node_t * node , int sw_ranges, int sw_point , int mask , int layer ) ;
27 int gen_state_subtypes ( char * fname ) ;
28 int gen_state_subtypes1 ( FILE * fp , node_t * node , int sw_ranges, int sw_point , int mask ) ;
29 int print_warning( FILE * fp , char * fname ) ;
30 int close_the_file( FILE * fp ) ;
31 int make_entries_uniq ( char * fname ) ;
32 int add_warning ( char * fname ) ;
34 node_t * get_type_entry ( char * typename ) ;
35 node_t * get_rconfig_entry( char * name ) ;
36 node_t * get_entry ( char * name , node_t * node ) ;
37 node_t * get_entry_r ( char * name , char * use , node_t * node ) ;
38 node_t * get_dim_entry( char *s ) ;
39 node_t * new_node ( int kind ) ;
41 node_t * get_4d_entry ( char * name ) ;
42 node_t * get_dimnode_for_coord ( node_t * node , int coord_axis ) ;
43 int get_index_for_coord ( node_t * node , int coord_axis ) ;
45 char * my_strtok( char * s1 ) ;
46 char * strtok_rentr( char * s1 , char * s2, char ** tokpos ) ;
48 char * bdy_indicator( int bdy ) ;
50 char * field_name( char * tmp, node_t * p , int tag ) ;
51 char * field_name_bdy( char * tmp, node_t * p , int tag, int bdy ) ;
52 char * dimension_with_colons( char * pre, char * tmp, node_t * p, char * post) ;
53 char * dimension_with_ones( char * pre, char * tmp, node_t * p, char * post) ;
54 char * dimension_with_ranges( char * ref , char * pre, int bdy , char * tmp, node_t * p, char * post, char * nlstructname ) ;
55 char * arrray_size_expression( char * refarg , char * pre , int bdy , char * tmp , node_t * p , char * post , char * nlstructname ) ;
56 char * index_with_firstelem( char * pre , char * dref , int bdy , char * tmp , node_t * p , char * post ) ;
58 char * declare_array_as_pointer( char * tmp, node_t * p ) ;
59 char * field_type( char * tmp , node_t * p ) ;
61 /* For typedef history -ajb */
62 int init_typedef_history() ;
63 int add_typedef_name ( char * name ) ;
64 int get_num_typedefs() ;
65 char * get_typedef_name ( char * name ) ;
66 char * get_typename_i(int i) ;
68 int gen_alloc ( char * dirname ) ;
69 int gen_alloc1 ( char * dirname ) ;
70 int gen_alloc2 ( FILE * fp , char * structname , char * structname2 , node_t * node, int *j, int *iguy, int *fraction, int numguys, int frac, int sw );
72 int gen_module_state_description ( char * dirname ) ;
73 int gen_module_state_description1 ( FILE * fp , node_t * node ) ;
75 int gen_scalar_indices ( char * dirname ) ;
76 int gen_scalar_indices1 ( FILE * fp, FILE ** fp2 ) ;
78 int gen_actual_args ( char * dirname ) ;
79 int gen_dummy_args ( char * dirname ) ;
80 int gen_dummy_decls ( char * dn ) ;
81 int gen_args ( char * dirname , int sw ) ;
82 int gen_args1 ( FILE * fp , char * outstr, char * structname , node_t * node , int *linelen , int sw , int deep ) ;
84 int gen_scalar_derefs ( char * dirname ) ;
85 int scalar_derefs ( char * dirname ) ;
86 int scalar_derefs1 ( FILE * fp , node_t * node, int direction ) ;
88 int set_mark ( int val , node_t * lst ) ;
89 int set_mark_4d ( int val , node_t * lst ) ;
91 int gen_i1_decls ( char * dn ) ;
92 int gen_get_nl_config ( char * dirname ) ;
94 int gen_config_assigns ( char * dirname ) ;
95 int gen_config_reads ( char * dirname ) ;
97 char * set_mem_order( node_t * node , char * str , int n ) ;
99 int gen_wrf_io ( char * dirname ) ;
100 int set_dim_strs ( node_t *node , char ddim[3][2][NAMELEN], char mdim[3][2][NAMELEN], char pdim[3][2][NAMELEN] , char * prepend, int sw_allow_stagger ) ;
101 int set_dim_strs2 ( node_t *node , char ddim[3][2][NAMELEN], char mdim[3][2][NAMELEN], char pdim[3][2][NAMELEN] , char * prepend, int sw_disregard_stag ) ;
102 int set_dim_strs3 ( node_t *node , char ddim[3][2][NAMELEN], char mdim[3][2][NAMELEN], char pdim[3][2][NAMELEN] , char * prepend, int sw_disregard_stag ) ;
103 int gen_wrf_io2 ( FILE * fp , char * fname , char * structname , char * fourdname , node_t * node , int sw_io ) ;
105 int gen_namelist_defines ( char * dirname , int sw_dimension ) ;
106 int gen_namelist_defaults ( char * dirname ) ;
107 int gen_namelist_script ( char * dirname ) ;
109 int gen_model_data_ord ( char * dirname ) ;
111 int get_elem ( char * structname , char * nlstructname , char * tx , int i , node_t * p , int first_last ) ;
113 int associated_with_4d_array( node_t * p ) ;
116 /* PGI Addition to resolve non-prototype function warnings */
117 char * array_size_expression ( char *, char *, int, char *, node_t *, char * ,char * );
118 int range_of_dimension ( char *, char * , int, node_t *, char * );
119 int dimension_size_expression ( char *, char *, int, node_t *, char *);
120 int gen_alloc_count ( char *);
121 int gen_alloc_count1 ( char *);
122 int gen_ddt_write ( char * );
123 int gen_ddt_write1 ( FILE *, char *, node_t *);
124 int gen_dealloc ( char * );
125 int gen_dealloc1 ( char * );
126 int gen_dealloc2 ( FILE *, char *, node_t *);
127 int gen_scalar_tables ( FILE *);
128 int AppendReg ( char *,int);
129 int irr_diag_scalar_indices ( char * );
130 int gen_scalar_tables_init ( FILE *);
131 int gen_scalar_indices_init ( FILE *);
132 int hash(char *);
133 int gen_nest_interp1 ( FILE *, node_t *, char *, int, int );
134 #if ( WRFPLUS == 1 )
135 int gen_packs_halo ( FILE *fp , node_t *p, char *shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, int nta /* 0=NLM,1=TLM,2=ADM */, char * packname, char * commname, int always_interp_mp /* 1 for ARW, varies for NMM */ );
136 #else
137 int gen_packs_halo ( FILE *fp , node_t *p, char *shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, char * packname, char * commname, int always_interp_mp /* 1 for ARW, varies for NMM */ );
138 #endif
139 int gen_packs ( FILE *fp , node_t *p, int shw, int xy /* 0=y,1=x */ , int pu /* 0=pack,1=unpack */, char * packname, char * commname );
140 int gen_periods ( char * dirname , node_t * periods );
141 int gen_swaps ( char * dirname , node_t * swaps );
142 int gen_cycles ( char * dirname , node_t * cycles );
143 int gen_xposes ( char * dirname );
144 int gen_comm_descrips ( char * dirname );
145 int gen_shift ( char * dirname );
146 int gen_datacalls ( char * dirname );
147 int gen_nest_packing ( char * dirname );
148 int gen_nest_pack ( char * dirname );
149 int gen_nest_unpack ( char * dirname );
150 int gen_nest_packunpack ( FILE *fp , node_t * node , int dir, int down_path );
151 int count_fields ( node_t * node , int * d2 , int * d3 ,
152 char * fourd_names, int down_path, int send_mp, int no_mp );
153 int gen_debug ( char * dirname );
155 void reset_mask ( unsigned int * mask , int e ) ;
156 void set_mask ( unsigned int * mask , int e ) ;
157 int get_mask ( unsigned int * mask , int e ) ;
158 int dims_ikj_inner(node_t *);
159 int dims_ij_inner(node_t *);
160 #define PROTOS_H
161 #endif