void aplus_main(long argc, char** argv) { #if !defined(_INTERPRETER_ONLY) extern void AplusLoop(); #endif I i; /* the number of arguments parsed */ #if !defined(_INTERPRETER_ONLY) dapinit(); #endif initReleaseData(_releaseCode); initVersion(); initDefaultATREE(argv[0]); initCallouts(); i = parseargs(argc, argv); if( !_quiet ) printId(); atmpinit(); envinit(); if(0!=_megsforheap)setk1(_megsforheap); /* must be before mem init! */ ai(_workarea); /* initialize */ if(_enable_coredump) { setSigv(1); setSigb(1); coreLimSet(aplusInfinity); } versSet(_version); releaseCodeSet(_releaseCode); phaseOfReleaseSet(_phaseOfRelease); majorReleaseSet(_majorRelease); minorReleaseSet(_minorRelease); startupSyslog(_version); xi(argv[0]); /* installation */ argvInstall(argc, argv, i); /* set up _argv */ uextInstall(); /* user lib install */ #if !defined(_INTERPRETER_ONLY) AplusLoop(argc, argv, i); #else if (i < argc && argv[i] && *argv[i]) loadafile(argv[i],0); if (Tf) pr(); while(1) getm(); #endif /********************************************************************** These functions are moved to AplusLoop if (i < argc && argv[i] && *argv[i]) loadafile(argv[i],0); / * load script * / if (Tf) pr(); / * initial prompt * / **********************************************************************/ }
void ipcInstall(void) { CX saveCx=Cx; Cx=cx("i"); install((PFI)ipcRoster, "roster", A_, 0, 0, 0, 0, 0, 0, 0,0,0); install((PFI)ipcListenNPP, "listenNPP",IV, 4, A_, A_, IV, A_, 0, 0,0,0); install((PFI)ipcListenN, "listenN", IV, 2, A_, A_, 0, 0, 0, 0,0,0); install((PFI)ipcListenNP, "listenNP", IV, 3, A_, A_, A_, 0, 0, 0,0,0); install((PFI)ipcConnectNHPP,"connectNHPP",IV, 5, A_, A_, A_, IV, A_, 0,0,0); install((PFI)ipcConnectN, "connectN", IV, 2, A_, A_, 0, 0, 0, 0,0,0); install((PFI)ipcConnectNP, "connectNP",IV, 3, A_, A_, A_, 0, 0, 0,0,0); install((PFI)ipcTimer, "timer", IV, 2, A_, A_, 0, 0, 0, 0,0,0); install((PFI)ipcOpen, "open", IV, 1, IV, 0, 0, 0, 0, 0,0,0); install((PFI)ipcOpenSync, "openSync", IV, 2, IV, IV, 0, 0, 0, 0,0,0); install((PFI)ipcSend, "send", IV, 2, IV, A_, 0, 0, 0, 0,0,0); install((PFI)ipcSyncSend, "syncsend", A_, 3, IV, A_, A_, 0, 0, 0,0,0); install((PFI)ipcSyncRead, "syncread", A_, 2, IV, A_, 0, 0, 0, 0,0,0); install((PFI)ipcGetTimeout, "timeout", A_, 1, A_, 0, 0, 0, 0, 0,0,0); install((PFI)ipcSetDebug, "setdebug", IV, 2, IV, A_, 0, 0, 0, 0,0,0); install((PFI)ipcDebug, "debug", IV, 1, IV, 0, 0, 0, 0, 0,0,0); install((PFI)ipcDestroy, "destroy", IV, 1, IV, 0, 0, 0, 0, 0,0,0); install((PFI)ipcClose, "close", IV, 1, IV, 0, 0, 0, 0, 0,0,0); install((PFI)ipcAttrlists, "attrs", A_, 1, IV, 0, 0, 0, 0, 0,0,0); install((PFI)ipcSetAttr, "setattr", IV, 3, IV, A_, A_, 0, 0, 0,0,0); install((PFI)ipcGetAttr, "getattr", A_, 2, IV, A_, 0, 0, 0, 0,0,0); install((PFI)ipcWhatis, "whatis", A_, 1, IV, 0, 0, 0, 0, 0,0,0); Cx=saveCx; { char *atree; char *ipcfile; if ((atree = getenv("ATREE")) == (char *)(0)) { atree = "/usr/local/a+"; } ipcfile = bnstring(atree, "/lib/idap.+", (char *)(0)); loadafile(ipcfile,0); bfree(ipcfile); } }