summaryrefslogtreecommitdiff
path: root/src/include/ParameterBindings.h
blob: 939c68285bb609696c113f4e71e9447f901edaad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 /*@@
   @file      ParameterBindings.h
   @date      Mon Feb 22 15:01:14 1999
   @author    Tom Goodale
   @desc 
   Defines for parameter stuff
   @enddesc 
   @version $Header$
 @@*/

#ifndef _PARAMETERBINDINGS_H_
#define _PARAMETERBINDINGS_H_


#ifdef __cplusplus
extern "C" {
#endif

int CCTKi_ParameterCreate(const char *name,        /* The parameter name */
                          const char *thorn,       /* The thorn          */ 
                          const char *type,        /* The parameter type */
                          const char *scope,       /* The scoping block  */
                          int steerable,           /* Is it steerable ?  */
                          const char *description, /* The description    */ 
                          const char *defval,      /* The default value  */ 
                          void *datapointer,       /* The actual data    */
                          int array,               /* Is it an array, if so what size */ 
                          const char *accumulator, /* Is it an accumultor parameter */
                          int n_ranges,            /* How many allowed ranges it has */
                          ...);

int CCTKi_ParameterAddRange(const char *implementation, 
                      const char *name,
                      const char *range_origin,
                      const char *range,
                      const char *range_description);

void CCTKi_ParameterAccumulatorBase(const char *thorn,
                                    const char *parameter,
                                    const char *importhorn,
                                    const char *acc_base);

#ifdef __cplusplus
}
#endif

/* These definitions must be identical to the ones in cctk_Parameter.h */
#define PARAMETER_FIRST    701
#define PARAMETER_KEYWORD  701
#define PARAMETER_STRING   702
#define PARAMETER_SENTENCE 703
#define PARAMETER_INT      704
#define PARAMETER_INTEGER  704
#define PARAMETER_REAL     705
#define PARAMETER_BOOLEAN  706

#endif