5 * Revision 1.3 1997/10/23 16:25:10 mclareni
6 * NT mods, mostly C Fortran interface
8 * Revision 1.2 1997/02/04 17:34:22 mclareni
9 * Merge Winnt and 97a versions
11 * Revision 1.1.1.1.2.1 1997/01/21 11:29:30 mclareni
12 * All mods for Winnt 96a on winnt branch
14 * Revision 1.1.1.1 1996/02/15 17:49:23 mclareni
18 #include "kerngen/pilot.h"
20 /*> ROUTINE JMPSET (AREA, ROUT)
22 CERN PROGLIB# JMPSET .VERSION KERNFOR 4.29 910718
24 The function setjmp cannot be implemented
25 by a Fortran interface routine
27 Instead, we provide IRETN = JMPSET (AREA,ROUT) which
28 will dump the environment into AREA and call ROUT.
29 IRTN = 0 on return signals normal return from ROUT,
30 IRTN = n signals return from JMPLONG (AREA,n)
37 12 IRTN = JMPSET (AREA,XQT)
48 IF (HOME) CALL JMPLONG (AREA,1)
52 #if defined(CERNLIB_QX_SC)
53 int type_of_call jmpset_(area,ufun)
55 #if defined(CERNLIB_QXNO_SC)
56 int type_of_call jmpset(area,ufun)
58 #if defined(CERNLIB_QXCAPT)
59 int type_of_call JMPSET(area,ufun)
61 #if defined(CERNLIB_QSIGJMP)
64 #if !defined(CERNLIB_QSIGJMP)
67 #if defined(CERNLIB_QCCINDAD)
68 void (type_of_call ** ufun)();
70 #if !defined(CERNLIB_QCCINDAD)
71 void (type_of_call * ufun)();
74 void (type_of_call * unext)();
77 #if defined(CERNLIB_QCCINDAD)
80 #if !defined(CERNLIB_QCCINDAD)
84 #if defined(CERNLIB_QSIGJMP)
85 irtn = sigsetjmp(area,7);
87 #if !defined(CERNLIB_QSIGJMP)
91 if (irtn != 0) return irtn;
95 /*> END <----------------------------------------------------------*/