#ifndef HEPHBOOKWRAPPERS_H #define HEPHBOOKWRAPPERS_H // ---------------------------------------------------------------------- // // HepHBookWrappers.h: C++ wrappers for Fortran HBook routines // // History: // 03-Jun-1997 Walter Brown Initial draft, generated by factoring out // the calls made by HepTuple and its successor FPCLTF package // 09-Jun-1997 Jason Luther Added code guard and hcopy_ prototype // 24-Jun-1997 Jason Luther Added prototypes for hlnext_ & hgive_ // 25-Jun-1997 Walter Brown Added prototypes for hkind_ & hrin_ // 19-Aug-1997 Walter Brown Added prototype for hscr_ // 05-Oct-1997 J. Marafino Added prototypes for bcountcwn_, formatcwn_, // formatrwn_ and iscwn_ // 11-Nov-1997 Philippe Canal Added provision for uppercase linker. // // ---------------------------------------------------------------------- #include "HepTuple/hbook/pilot.h" #include "HepTuple/hbook/cfortran.h" #include "HepTuple/hbook/hbook.h" PROTOCCALLSFSUB3(HKIND,hkind,PINT,INTV,PSTRING) #define HKIND(A1,A2,A3) CCALLSFSUB3(HKIND,hkind,PINT,INTV,PSTRING,A1,A2,A3) PROTOCCALLSFFUN4(INT,HLNXTF,hlnxtf,PINT,PSTRING,PSTRING,PSTRING) #define HLNXTF(A2,A3,A4,A5) CCALLSFFUN4(HLNXTF,hlnxtf,PINT,PSTRING,PSTRING,PSTRING,A2,A3,A4,A5) /* PROTOCCALLSFSUB4(HLNEXT,hlnext,PINT,PSTRING,PSTRING,PSTRING) #define HLNEXT(A2,A3,A4,A5) CCALLSFSUB4(HLNEXT,hlnext,PINT,PSTRING,PSTRING,PSTRING,A2,A3,A4,A5) */ /* HepTuple routines */ PROTOCCALLSFSUB1(HBFLEN,hbflen,INT) #define HBFLEN(A1) CCALLSFSUB1(HBFLEN,hbflen,INT,A1) PROTOCCALLSFSUB1(HBFINIG,hbfinig,STRING) #define HBFINIG(A1) CCALLSFSUB1(HBFINIG,hbfinig,STRING,A1) PROTOCCALLSFSUB0(HBFINIT,hbfinit) #define HBFINIT() CCALLSFSUB0(HBFINIT,hbfinit) PROTOCCALLSFSUB2(BCOUNTCWN,bcountcwn,INT,PINT) #define BCOUNTCWN(A1,A2) CCALLSFSUB2(BCOUNTCWN,bcountcwn,INT,PINT,A1,A2) PROTOCCALLSFSUB4(FORMATCWN,formatcwn,INT,PINT,PSTRING,PSTRING) #define FORMATCWN(A1,A2,A3,A4) CCALLSFSUB4(FORMATCWN,formatcwn,INT,PINT,PSTRING,PSTRING,A1,A2,A3,A4) PROTOCCALLSFSUB2(FORMATRWN,formatrwn,INT,PSTRING) #define FORMATRWN(A1,A2) CCALLSFSUB2(FORMATRWN,formatrwn,INT,PSTRING,A1,A2) PROTOCCALLSFFUN1(LOGICAL,ISCWN,iscwn,INT) #define ISCWN(A2) CCALLSFFUN1(ISCWN,iscwn,INT,A2) PROTOCCALLSFSUB4(UNPAKW,unpakw,INT,PFLOAT,STRING,INT) #define UNPAKW(A1,A2,A3,A4) CCALLSFSUB4(UNPAKW,unpakw,INT,PFLOAT,STRING,INT,A1,A2,A3,A4) PROTOCCALLSFSUB4(UNPAKY,unpaky,INT,PFLOAT,STRING,INT) #define UNPAKY(A1,A2,A3,A4) CCALLSFSUB4(UNPAKY,unpaky,INT,PFLOAT,STRING,INT,A1,A2,A3,A4) PROTOCCALLSFSUB4(UNPAKYY,unpakyy,INT,PFLOAT,STRING,INT) #define UNPAKYY(A1,A2,A3,A4) CCALLSFSUB4(UNPAKYY,unpakyy,INT,PFLOAT,STRING,INT,A1,A2,A3,A4) PROTOCCALLSFSUB4(REPAKW,repakw,INT,PFLOAT,STRING,INT) #define REPAKW(A1,A2,A3,A4) CCALLSFSUB4(REPAKW,repakw,INT,PFLOAT,STRING,INT,A1,A2,A3,A4) PROTOCCALLSFSUB4(REPAKY,repaky,INT,PFLOAT,STRING,INT) #define REPAKY(A1,A2,A3,A4) CCALLSFSUB4(REPAKY,repaky,INT,PFLOAT,STRING,INT,A1,A2,A3,A4) PROTOCCALLSFSUB4(REPAKYY,repakyy,INT,PFLOAT,STRING,INT) #define REPAKYY(A1,A2,A3,A4) CCALLSFSUB4(REPAKYY,repakyy,INT,PFLOAT,STRING,INT,A1,A2,A3,A4) PROTOCCALLSFFUN3(FLOAT,HIJE,hije,INT,INT,INT) #define HIJE(A1,A2,A3) CCALLSFFUN3(HIJE,hije,INT,INT,INT,A1,A2,A3) PROTOCCALLSFSUB6(GETSTAT,getstat,INT,PINT,PFLOAT,PFLOAT,PDOUBLE,PDOUBLE) #define GETSTAT(A1,A2,A3,A4,A5,A6) CCALLSFSUB6(GETSTAT,getstat,INT,PINT,PFLOAT,PFLOAT,PDOUBLE,PDOUBLE,A1,A2,A3,A4,A5,A6) PROTOCCALLSFSUB6(PUTSTAT,putstat,INT,INT,FLOAT,FLOAT,DOUBLE,DOUBLE) #define PUTSTAT(A1,A2,A3,A4,A5,A6) CCALLSFSUB6(PUTSTAT,putstat,INT,INT,FLOAT,FLOAT,DOUBLE,DOUBLE,A1,A2,A3,A4,A5,A6) void HBookPushd( const std::string & moveTo ); void HBookPopd(); #endif // HEPHBOOKWRAPPERS_H