Code Search for Developers
 
 
  

f_init.c from EmStar at Krugle


Show f_init.c syntax highlighted

/* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */

#include "stdio.h"
#include "signal1.h"

#ifndef SIGIOT
#ifdef SIGABRT
#define SIGIOT SIGABRT
#endif
#endif

#ifndef KR_headers
#undef VOID
#include "stdlib.h"
#endif

#ifndef VOID
#define VOID void
#endif

#ifdef __cplusplus
extern "C" {
#endif

#ifdef NO__STDC
#define ONEXIT onexit
extern VOID f_exit();
#else
#ifndef KR_headers
extern void f_exit(void);
#ifndef NO_ONEXIT
#define ONEXIT atexit
extern int atexit(void (*)(void));
#endif
#else
#ifndef NO_ONEXIT
#define ONEXIT onexit
extern VOID f_exit();
#endif
#endif
#endif

#ifdef KR_headers
extern VOID f_init(), sig_die();
extern int MAIN__();
#define Int /* int */
#else
extern void f_init(void), sig_die(char*, int);
extern int MAIN__(void);
#define Int int
#endif

static VOID sigfdie(Sigarg)
{
Use_Sigarg;
sig_die("Floating Exception", 1);
}


static VOID sigidie(Sigarg)
{
Use_Sigarg;
sig_die("IOT Trap", 1);
}

#ifdef SIGQUIT
static VOID sigqdie(Sigarg)
{
Use_Sigarg;
sig_die("Quit signal", 1);
}
#endif


static VOID sigindie(Sigarg)
{
Use_Sigarg;
sig_die("Interrupt", 0);
}

static VOID sigtdie(Sigarg)
{
Use_Sigarg;
sig_die("Killed", 0);
}

#ifdef SIGTRAP
static VOID sigtrdie(Sigarg)
{
Use_Sigarg;
sig_die("Trace trap", 1);
}
#endif


int xargc;
char **xargv;

#ifdef __cplusplus
	}
#endif

#ifdef KR_headers
main(argc, argv) int argc; char **argv;
#else
/* added return type to avoid warning */
int main(int argc, char **argv)
#endif
{
xargc = argc;
xargv = argv;
signal1(SIGFPE, sigfdie);	/* ignore underflow, enable overflow */
#ifdef SIGIOT
signal1(SIGIOT, sigidie);
#endif
#ifdef SIGTRAP
signal1(SIGTRAP, sigtrdie);
#endif
#ifdef SIGQUIT
if(signal1(SIGQUIT,sigqdie) == SIG_IGN)
	signal1(SIGQUIT, SIG_IGN);
#endif
if(signal1(SIGINT, sigindie) == SIG_IGN)
	signal1(SIGINT, SIG_IGN);
signal1(SIGTERM,sigtdie);

#ifdef pdp11
	ldfps(01200); /* detect overflow as an exception */
#endif

f_init();
#ifndef NO_ONEXIT
ONEXIT(f_exit);
#endif
MAIN__();
#ifdef NO_ONEXIT
f_exit();
#endif
exit(0);	/* exit(0) rather than return(0) to bypass Cray bug */
return 0;	/* For compilers that complain of missing return values; */
		/* others will complain that this is unreachable code. */
}




See more files for this project here

EmStar

EmStar is a software system for developing and deploying wireless sensor networks involving Linux-based platforms. As the wireless sensor network community has attempted to deploy more complex designs---large-scale, long-lived systems that need self-organization and adaptivity---a number of difficult software design issues have arisen. Advances in software design have not kept pace with the capabilities of hardware. This is because designing for an adaptive, efficient, and useful sensor network has turned out to be surprisingly complex and difficult. EmStar is a Linux-based software framework, whose goal is to dramatically reduce this complexity, enabling work to be shared and reused, and simplifying and speeding the design of new sensor network applications.

Project homepage: http://cvs.cens.ucla.edu/emstar/
Programming language(s): C,Shell Script
License: other

  BUILD
  Notice
  README
  abort_.c
  backspac.c
  c_abs.c
  c_cos.c
  c_div.c
  c_exp.c
  c_log.c
  c_sin.c
  c_sqrt.c
  cabs.c
  close.c
  d_abs.c
  d_acos.c
  d_asin.c
  d_atan.c
  d_atn2.c
  d_cnjg.c
  d_cos.c
  d_cosh.c
  d_dim.c
  d_exp.c
  d_imag.c
  d_int.c
  d_lg10.c
  d_log.c
  d_mod.c
  d_nint.c
  d_prod.c
  d_sign.c
  d_sin.c
  d_sinh.c
  d_sqrt.c
  d_tan.c
  d_tanh.c
  derf_.c
  derfc_.c
  dfe.c
  dolio.c
  dtime_.c
  due.c
  ef1asc_.c
  ef1cmc_.c
  endfile.c
  erf_.c
  erfc_.c
  err.c
  etime_.c
  exit_.c
  f2c.h
  f77_aloc.c
  f77vers.c
  f_init.c
  fio.h
  fmt.c
  fmt.h
  fmtlib.c
  fp.h
  ftell_.c
  getarg_.c
  getenv_.c
  h_abs.c
  h_dim.c
  h_dnnt.c
  h_indx.c
  h_len.c
  h_mod.c
  h_nint.c
  h_sign.c
  hl_ge.c
  hl_gt.c
  hl_le.c
  hl_lt.c
  i77vers.c
  i_abs.c
  i_dim.c
  i_dnnt.c
  i_indx.c
  i_len.c
  i_mod.c
  i_nint.c
  i_sign.c
  iargc_.c
  iio.c
  ilnw.c
  inquire.c
  l_ge.c
  l_gt.c
  l_le.c
  l_lt.c
  lbitbits.c
  lbitshft.c
  lio.h
  lread.c
  lwrite.c
  main.c
  open.c
  pow_ci.c
  pow_dd.c
  pow_di.c