LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
lcgob.h
1 
6 #include "cfortran.h"
7 #include "cpointer.h"
8 
9 // Warning: dont use "_" in function names as this causes two many
10 // trailing underscores on Linux
11 
12 // the genericobject interface
13 PTRTYPE lcgobcreate() ;
14 PTRTYPE lcgobcreatefixed( int nint, int nfloat, int ndouble ) ;
15 int lcgobdelete( PTRTYPE genericobject ) ;
16 
17 int lcgobid( PTRTYPE genericobject ) ;
18 int lcgobgetnint( PTRTYPE genericobject ) ;
19 int lcgobgetnfloat( PTRTYPE genericobject ) ;
20 int lcgobgetndouble( PTRTYPE genericobject ) ;
21 int lcgobgetintval( PTRTYPE genericobject, int index ) ;
22 float lcgobgetfloatval( PTRTYPE genericobject, int index ) ;
23 double lcgobgetdoubleval( PTRTYPE genericobject, int index ) ;
24 
25 int lcgobsetintval( PTRTYPE genericobject, int index, int value) ;
26 int lcgobsetfloatval( PTRTYPE genericobject, int index, float value) ;
27 int lcgobsetdoubleval( PTRTYPE genericobject, int index, double value) ;
28 
29 bool lcgobisfixedsize(PTRTYPE genericobject) ;
30 char* lcgobgettypename(PTRTYPE genericobject) ;
31 char* lcgobgetdatadescription(PTRTYPE genericobject) ;
32 
33 // now the fortran wrappers from cfortran.h
34 extern "C"{
35 FCALLSCFUN0(CFORTRANPNTR, lcgobcreate, LCGOBCREATE, lcgobcreate )
36 FCALLSCFUN3(CFORTRANPNTR, lcgobcreatefixed, LCGOBCREATEFIXED, lcgobcreatefixed, INT, INT, INT )
37 FCALLSCFUN1(INT, lcgobdelete, LCGOBDELETE, lcgobdelete, CFORTRANPNTR )
38 
39 FCALLSCFUN1(INT, lcgobid, LCGOBID, lcgobid, CFORTRANPNTR )
40 FCALLSCFUN1(INT, lcgobgetnint, LCGOBGETNINT, lcgobgetnint, CFORTRANPNTR )
41 FCALLSCFUN1(INT, lcgobgetnfloat, LCGOBGETNFLOAT, lcgobgetnfloat, CFORTRANPNTR )
42 FCALLSCFUN1(INT, lcgobgetndouble, LCGOBGETNDOUBLE, lcgobgetndouble, CFORTRANPNTR )
43 FCALLSCFUN2(INT, lcgobgetintval, LCGOBGETINTVAL, lcgobgetintval, CFORTRANPNTR, INT )
44 FCALLSCFUN2(FLOAT, lcgobgetfloatval, LCGOBGETFLOATVAL, lcgobgetfloatval, CFORTRANPNTR, INT )
45 FCALLSCFUN2(DOUBLE, lcgobgetdoubleval, LCGOBGETDOUBLEVAL, lcgobgetdoubleval, CFORTRANPNTR, INT )
46 
47 FCALLSCFUN3(INT, lcgobsetintval, LCGOBSETINTVAL, lcgobsetintval, CFORTRANPNTR, INT, INT )
48 FCALLSCFUN3(INT, lcgobsetfloatval, LCGOBSETFLOATVAL, lcgobsetfloatval, CFORTRANPNTR, INT, FLOAT )
49 FCALLSCFUN3(INT, lcgobsetdoubleval, LCGOBSETDOUBLEVAL, lcgobsetdoubleval, CFORTRANPNTR, INT, DOUBLE )
50 
51 FCALLSCFUN1(LOGICAL, lcgobisfixedsize, LCGOBISFIXEDSIZE, lcgobisfixedsize, CFORTRANPNTR )
52 FCALLSCFUN1(STRING, lcgobgettypename, LCGOBGETTYPENAME, lcgobgettypename, CFORTRANPNTR )
53 FCALLSCFUN1(STRING, lcgobgetdatadescription, LCGOBGETDATADESCRIPTION, lcgobgetdatadescription, CFORTRANPNTR )
54 }
55