aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: 71e356e04749f7e95a9956a54975dd43e6f0e86e (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
160
161
162
163
164
165
166
167
168
169
170
171
172
# Interface definition for thorn Formaline
# $Header$

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 build
CCTK_POINTER_TO_CONST \
FUNCTION UniqueBuildID (CCTK_POINTER_TO_CONST IN cctkGH)

PROVIDES FUNCTION UniqueBuildID \
    WITH Formaline_UniqueBuildID \
    LANGUAGE C



# 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


#############
# 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



# 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



# Announce some information
# Note the order (value, key);
# this is necessary because string arguments have to be at the end
# of the argument list.
void \
FUNCTION AnnounceBoolean (CCTK_POINTER_TO_CONST IN cctkGH, \
                          CCTK_INT              IN value, \
                          CCTK_STRING           IN key)
void \
FUNCTION AnnounceInt     (CCTK_POINTER_TO_CONST IN cctkGH, \
                          CCTK_INT              IN value, \
                          CCTK_STRING           IN key)
void \
FUNCTION AnnounceReal    (CCTK_POINTER_TO_CONST IN cctkGH, \
                          CCTK_REAL             IN value, \
                          CCTK_STRING           IN key)
void \
FUNCTION AnnounceString  (CCTK_POINTER_TO_CONST IN cctkGH, \
                          CCTK_STRING           IN value, \
                          CCTK_STRING           IN key)

PROVIDES FUNCTION AnnounceBoolean WITH Formaline_AnnounceBoolean LANGUAGE C
PROVIDES FUNCTION AnnounceInt     WITH Formaline_AnnounceInt     LANGUAGE C
PROVIDES FUNCTION AnnounceReal    WITH Formaline_AnnounceReal    LANGUAGE C
PROVIDES FUNCTION AnnounceString  WITH Formaline_AnnounceString  LANGUAGE C