aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: 4568cda93cd2f6d3fee4774cd519724c62db45cf (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# Interface definition for thorn Formaline

IMPLEMENTS: Formaline

# for HTTP_Port()
USES INCLUDE HEADER: http_Content.h

USES INCLUDE HEADER: Publish.h



# Return a pointer to an unmodifiable C string
# which contains a unique ID for this configuration
CCTK_POINTER_TO_CONST \
FUNCTION UniqueConfigID (CCTK_POINTER_TO_CONST IN cctkGH)

PROVIDES FUNCTION UniqueConfigID \
    WITH Formaline_UniqueConfigID \
    LANGUAGE C
USES FUNCTION UniqueConfigID



# Return a pointer to an unmodifiable C string
# which contains a unique ID for this build
CCTK_POINTER_TO_CONST \
FUNCTION UniqueBuildID (CCTK_POINTER_TO_CONST IN cctkGH)

PROVIDES FUNCTION UniqueBuildID \
    WITH Formaline_UniqueBuildID \
    LANGUAGE C
USES FUNCTION UniqueBuildID



# Return a pointer to an unmodifiable C string
# which contains a unique ID for this simulation
CCTK_POINTER_TO_CONST \
FUNCTION UniqueSimulationID (CCTK_POINTER_TO_CONST IN cctkGH)

PROVIDES FUNCTION UniqueSimulationID \
    WITH Formaline_UniqueSimulationID \
    LANGUAGE C
USES FUNCTION UniqueSimulationID



# Return a pointer to an unmodifiable C string
# which contains a unique ID for this run
CCTK_POINTER_TO_CONST \
FUNCTION UniqueRunID (CCTK_POINTER_TO_CONST IN cctkGH)

PROVIDES FUNCTION UniqueRunID \
    WITH Formaline_UniqueRunID \
    LANGUAGE C
USES FUNCTION UniqueRunID



#############
# Publish API
#############
CCTK_INT FUNCTION PublishBoolean (CCTK_POINTER_TO_CONST IN cctkGH, \
                                  CCTK_INT              IN level, \
                                  CCTK_INT              IN value, \
                                  CCTK_STRING           IN key, \
                                  CCTK_STRING           IN name)
CCTK_INT FUNCTION PublishInt     (CCTK_POINTER_TO_CONST IN cctkGH, \
                                  CCTK_INT              IN level, \
                                  CCTK_INT              IN value, \
                                  CCTK_STRING           IN key, \
                                  CCTK_STRING           IN name)
CCTK_INT FUNCTION PublishReal    (CCTK_POINTER_TO_CONST IN cctkGH, \
                                  CCTK_INT              IN level, \
                                  CCTK_REAL             IN value, \
                                  CCTK_STRING           IN key, \
                                  CCTK_STRING           IN name)
CCTK_INT FUNCTION PublishString  (CCTK_POINTER_TO_CONST IN cctkGH, \
                                  CCTK_INT              IN level,  \
                                  CCTK_STRING           IN value, \
                                  CCTK_STRING           IN key,  \
                                  CCTK_STRING           IN name)
CCTK_INT FUNCTION PublishTable   (CCTK_POINTER_TO_CONST IN cctkGH, \
                                  CCTK_INT              IN level, \
                                  CCTK_INT              IN table, \
                                  CCTK_STRING           IN key, \
                                  CCTK_STRING           IN name)
USES FUNCTION PublishBoolean
USES FUNCTION PublishInt
USES FUNCTION PublishReal
USES FUNCTION PublishString
USES FUNCTION PublishTable

##########################
# Publish registration API
##########################
CCTK_INT FUNCTION PublishBoolean_Register( \
    CCTK_INT CCTK_FPOINTER IN publish_cb (CCTK_POINTER_TO_CONST IN cctkGH, \
                                          CCTK_POINTER          IN cb_data, \
                                          CCTK_INT              IN level, \
                                          CCTK_INT              IN value, \
                                          CCTK_STRING           IN key, \
                                          CCTK_STRING           IN thorn), \
    CCTK_POINTER IN cb_data, \
    CCTK_STRING  IN name)
CCTK_INT FUNCTION PublishInt_Register( \
    CCTK_INT CCTK_FPOINTER IN publish_cb (CCTK_POINTER_TO_CONST IN cctkGH, \
                                          CCTK_POINTER          IN cb_data, \
                                          CCTK_INT              IN level, \
                                          CCTK_INT              IN value, \
                                          CCTK_STRING           IN key, \
                                          CCTK_STRING           IN thorn), \
    CCTK_POINTER IN cb_data, \
    CCTK_STRING  IN name)
CCTK_INT FUNCTION PublishReal_Register( \
    CCTK_INT CCTK_FPOINTER IN publish_cb (CCTK_POINTER_TO_CONST IN cctkGH, \
                                          CCTK_POINTER          IN cb_data, \
                                          CCTK_INT              IN level, \
                                          CCTK_REAL             IN value, \
                                          CCTK_STRING           IN key, \
                                          CCTK_STRING           IN thorn), \
    CCTK_POINTER IN cb_data, \
    CCTK_STRING  IN name)
CCTK_INT FUNCTION PublishString_Register( \
    CCTK_INT CCTK_FPOINTER IN publish_cb (CCTK_POINTER_TO_CONST IN cctkGH, \
                                          CCTK_POINTER          IN cb_data, \
                                          CCTK_INT              IN level,  \
                                          CCTK_STRING           IN value, \
                                          CCTK_STRING           IN key,  \
                                          CCTK_STRING           IN thorn), \
    CCTK_POINTER IN cb_data, \
    CCTK_STRING  IN name)
CCTK_INT FUNCTION PublishTable_Register( \
    CCTK_INT CCTK_FPOINTER IN publish_cb (CCTK_POINTER_TO_CONST IN cctkGH, \
                                          CCTK_POINTER          IN cb_data, \
                                          CCTK_INT              IN level, \
                                          CCTK_INT              IN table, \
                                          CCTK_STRING           IN key, \
                                          CCTK_STRING           IN thorn), \
    CCTK_POINTER IN cb_data, \
    CCTK_STRING  IN name)

USES FUNCTION PublishBoolean_Register
USES FUNCTION PublishInt_Register
USES FUNCTION PublishReal_Register
USES FUNCTION PublishString_Register
USES FUNCTION PublishTable_Register

CCTK_INT FUNCTION PublishBoolean_Unregister (CCTK_STRING IN name)
CCTK_INT FUNCTION PublishInt_Unregister     (CCTK_STRING IN name)
CCTK_INT FUNCTION PublishReal_Unregister    (CCTK_STRING IN name)
CCTK_INT FUNCTION PublishString_Unregister  (CCTK_STRING IN name)
CCTK_INT FUNCTION PublishTable_Unregister   (CCTK_STRING IN name)

USES FUNCTION PublishBoolean_Unregister
USES FUNCTION PublishInt_Unregister
USES FUNCTION PublishReal_Unregister
USES FUNCTION PublishString_Unregister
USES FUNCTION PublishTable_Unregister