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
|
/*@@
@header cctk_IOMethods.h
@date 1999/07/30
@author Gabrielle Allen
@desc
header file for handling IO methods
@enddesc
@version $Version: cctk_IOMethods.h,v 1.3 2001/10/23 15:40:08 allen Exp $
@@*/
#ifndef _CCTK_IOMETHODS_H_
#define _CCTK_IOMETHODS_H_
#ifdef __cplusplus
extern "C" {
#endif
struct IOMethod
{
const char *implementation;
int (*OutputGH)(cGH *);
int (*OutputVarAs)(cGH *, const char *, const char *);
int (*TriggerOutput)(cGH *, int);
int (*TimeToOutput)(cGH *,int);
};
#define CCTK_RegisterIOMethod(a) CCTKi_RegisterIOMethod(CCTK_THORNSTRING, a)
int CCTKi_RegisterIOMethod(const char *thorn, const char *name);
int CCTK_RegisterIOMethodOutputGH(int handle, int (*func)(cGH *));
int CCTK_RegisterIOMethodTimeToOutput(int handle, int (*func)(cGH *, int));
int CCTK_RegisterIOMethodTriggerOutput(int handle, int (*func)(cGH *, int));
int CCTK_RegisterIOMethodOutputVarAs(int handle, int (*func)(cGH *,
const char *,const char *));
const char *CCTK_IOMethodImplementation(int handle);
int CCTK_NumIOMethods(void);
#ifdef __cplusplus
}
#endif
#endif
|