void init_interpreter(int argc, char** argv) { /*Bool echo;*/ osInit(); osObtainLicense(); // /*echo =*/ cmdSubsumeResponseFiles(1, &argc, &argv); if (cmdHasRootOption(argc, argv)) compRootDir = cmdOptionArg; if (!compRootDir) compRootDir = strCopyIf(osGetEnv("ALDORROOT")); //if (!compRootDir) // compRootDir = compRootFromCmdLine(osCurDirName(), argv[0]); if (cmdHasCfgFileOption(argc, argv)) compCfgSetConfigFile(cmdOptionArg); if (cmdHasCfgNameOption(argc, argv)) compCfgSetSysName(cmdOptionArg); if (cmdHasDebugOption(argc, argv)) compIsDebug = true; fintMode = FINT_LOOP; emitSetInterp(false); emitSetRun(false); comsgSetInteractiveOption(); compGLoopInit(argc, argv, osStdout, &fn, &finfo); }
bool Socket::create() { if( is_valid() ) { close(); } if(!osInit()) { return false; } _sd = socket(_family, _type, _protocol ); //0 indicates that the default protocol for the type selected is to be used. //For example, IPPROTO_TCP is chosen for the protocol if the type was set to //SOCK_STREAM and the address family is AF_INET. if (_sd == INVALID_SOCKET) { errormessage( getLastError(), "Socket::create" ); return false; } return true; }
int main(int argc, String *argv) { if (argc == 1) { osInit(); sxiInit(); sxiReadEvalPrintLoop(osStdin, osStdout, SXRW_Default); } else { osInit(); dbInit(); while (--argc) testSelf(*++argv); dbFini(); } return EXIT_SUCCESS; }
void C_Entry(void *memstart) { osInterruptInitialize(); osInit(memstart, HEAP_MEMORY_SIZE); main(); }
void floatTestSuite() { osInit(); dbInit(); TEST(testFloatSizes); dbFini(); }
/* * Usage: showexports libName type-expression * Example: showexports libaldor.al 'List(Integer)' */ int main(int argc, char *argv[]) { osInit(); sxiInit(); keyInit(); ssymInit(); dbInit(); stabInitGlobal(); tfInit(); foamInit(); optInit(); tinferInit(); pathInit(); sposInit(); ablogInit(); comsgInit(); macexInitFile(); comsgInit(); scobindInitFile(); stabInitFile(); fileAddLibraryDirectory("."); String archive = argv[1]; String expression = argv[2]; scmdHandleLibrary("LIB", archive); AbSyn ab = shexpParse(expression); Stab stab = stabFile(); Syme syme = stabGetArchive(symInternConst("LIB")); AbSyn arAbSyn = abNewId(sposNone, symInternConst("LIB")); stabImportTForm(stab, tiGetTForm(stab, arAbSyn)); abPutUse(ab, AB_Use_Value); scopeBind(stab, ab); typeInfer(stab, ab); TForm tf = tiGetTForm(stab, ab); SymeList list = tfStabGetDomImports(stab, tf); for (; list != listNil(Syme); list = cdr(list)) { Syme syme = car(list); aprintf("%s %d %d %s\n", symeString(syme), symeDefnNum(syme), symeConstNum(syme), tfPretty(symeType(syme))); } scobindFiniFile(); stabFiniFile(); comsgFini(); macexFiniFile(); }
void AudioInputEngine::Init(AudioTransport *trans) { if (!Global::g_global_struct) { Global::g_global_struct = new Global(trans); osInit(); DeferInit::run_initializers(); } bInit = true; }
int main() { osInit(50); taskSpawn("t1", 100, 0, 1000, task, 200); taskSpawn("t2", 100, 0, 1000, task, 300); shellMainLoop(stdin, stdout, stderr, "task% "); return 0; }
/***************************************************************** main() This is the routine that will start running when the simulator is invoked. *****************************************************************/ int main(int argc, char *argv[]) { int i; for (i = 0; i < MAX_NUMBER_OF_USER_THREADS; i++) { Z502CreateUserThread(testStartCode); } osInit(argc, argv); // We should NEVER return from this routine. The result of // osInit is to select a program to run, to start a process // to execute that program, and NEVER RETURN! return (-1); } // End of main
/***************************************************************************** * * Description: * The first function to execute * ****************************************************************************/ int main(void) { tU8 error; tU8 pid; //immediately turn off buzzer (if connected) IODIR0 |= 0x00000080; IOSET0 = 0x00000080; osInit(); osCreateProcess(initProc, initStack, INIT_STACK_SIZE, &pid, 1, NULL, &error); osStartProcess(pid, &error); osStart(); return 0; }
Socket::Socket() { // Default constructor, default settings _sd = INVALID_SOCKET; _family = af_inet; _domain = pf_inet; _type = sock_stream; _protocol = tcp; _port = 0; memset (&_sockaddr, 0, sizeof( _sockaddr ) ); #ifdef TARGET_WINDOWS memset(&_wsaData, 0, sizeof(_wsaData)); #endif osInit(); }
STATUS h2initGlob(int ticksPerSec) { #ifdef __XENO__ /* Lock process in RAM */ mlockall(MCL_CURRENT | MCL_FUTURE); #endif /* init error msgs for sub-libraries without specific init functions */ h2evnRecordH2ErrMsgs(); h2semRecordH2ErrMsgs(); smObjRecordH2ErrMsgs(); /* OS level initialization */ if (osInit(ticksPerSec) == ERROR) { return ERROR; } setvbuf(stdout, (char *)NULL, _IOLBF, 0); setvbuf(stderr, (char *)NULL, _IOLBF, 0); /* attach to h2 devices */ if (h2devAttach() == ERROR) { printf("Error: could not find h2 devices\n" "Did you execute `h2 init' ?\n"); return ERROR; } /* attach to shared memory */ if (smMemAttach() == ERROR) { printf("Error: could not attach shared memory\n"); return ERROR; } /* Start h2 timers if a clock is available */ if (ticksPerSec != 0) { if (h2timerInit() == ERROR) { return ERROR; } } h2timeInit(); printf("%s execution environment version %s\n" "Copyright (c) 1999-2011 CNRS-LAAS\n", PACKAGE_NAME, PACKAGE_VERSION); return OK; }
void init() { osInit(); sxiInit(); keyInit(); ssymInit(); dbInit(); stabInitGlobal(); tfInit(); foamInit(); optInit(); tinferInit(); sposInit(); ablogInit(); comsgInit(); }
/*---------------------------------------------------------------------------- Main: Initialize and start Kernel *---------------------------------------------------------------------------*/ int main() { mtx_SerialDebug = xSemaphoreCreateMutex(); /* Initialize the Debug Mutex */ /* Drivers */ UART_Driver_Debug_Init(); /* Initialize serial debug */ GPIO_Driver_Init(); /* Initialize GPIO */ CySysTickStart(); /* ISR */ CyGlobalIntEnable; /* Init the interrupts */ /* Operating System */ osInit(); /* Initialize all thread related tasks */ prvHardwareSetup(); /* FreeRTOS setup */ vTaskStartScheduler(); /* Start the scheduler */ return 1; }
int main(int argc, char *argv[]) { int largc; char **largv; osInit(); subsumeImplicitArgs(argc, argv, &largc, &largv); initState(argv[0]); uclSysName = getCfgName(largc, largv); uclOptFile = getCfgFile(largc, largv); if (!uclOptFile) exit(2); loadConfiguration(); handleOptions(largc, largv); if (!setupState()) exit(2); if (dbgLevel > 2) { int i; printf("Command:"); for (i=0; i<largc; i++) { printf(" %s", largv[i]); } printf("\n"); } generateCommands(); if (!executeCommands()) exit(1); exit(0); /* gack */ return 0; }
int main(int argc, char **argv) { osFile fh; char line[200],*dir,*buf; struct Node4D n4d; struct cmnlIdx idx; if(!osInit()) exit(OS_EXIT_ERROR); if(argc > 1 && (strcmp(argv[1],"?")==0 || strcmp(argv[1],"-h")==0 || strcmp(argv[1],"--help")==0 || strcmp(argv[1],"help")==0 || strcmp(argv[1],"/h")==0 || strcmp(argv[1],"/?")==0 )) { printargs(args); osEnd(); exit(OS_EXIT_OK); } if(!parseargs(args,argc,argv)) { osEnd(); exit(OS_EXIT_ERROR); } if(args[ARG_DIRECTORY].data) dir=(char *)args[ARG_DIRECTORY].data; else dir=getenv("CMNODELISTDIR"); if(!dir) { printf("No directory specified and CMNODELISTDIR not set\n"); osEnd(); exit(OS_EXIT_ERROR); } if(!Parse4D((char *)args[ARG_NODE].data,&n4d)) { printf("Invalid node %s\n",(char *)args[ARG_NODE].data); exit(OS_EXIT_ERROR); } if(!(fh=cmnlOpenNL(dir))) { printf("%s\n",cmnlLastError()); exit(OS_EXIT_ERROR); } idx.zone=n4d.Zone; idx.net=n4d.Net; idx.node=n4d.Node; idx.point=n4d.Point; if(!cmnlFindNL(fh,dir,&idx,line,200)) { cmnlCloseNL(fh); printf("%s\n",cmnlLastError()); exit(OS_EXIT_ERROR); } cmnlCloseNL(fh); printf("Node %d:%d/%d.%d\n",idx.zone,idx.net,idx.node,idx.point); printf("Region %d, Hub %d\n",idx.region,idx.hub); strip(line); if(line[0]==',') { buf="Node"; strtok(line,","); /* Skip number */ } else { buf=strtok(line,","); if(!buf) buf=""; strtok(NULL,","); /* Skip number */ } printf("Node is listed as a %s\n",buf); if((buf=strtok(NULL,","))) { printf("Name: %s\n",buf); } if((buf=strtok(NULL,","))) { printf("Location: %s\n",buf); } if((buf=strtok(NULL,","))) { printf("Sysop: %s\n",buf); } if((buf=strtok(NULL,","))) { printf("Phone: %s\n",buf); } if((buf=strtok(NULL,","))) { printf("Baud: %s\n",buf); } if((buf=strtok(NULL,""))) { printf("Flags: %s\n",buf); } osEnd(); exit(OS_EXIT_OK); }
/* * Usage: showexports libName type-expression * Example: showexports libaldor.al 'List(Integer)' */ int main(int argc, char *argv[]) { osInit(); sxiInit(); keyInit(); ssymInit(); dbInit(); stabInitGlobal(); tfInit(); foamInit(); optInit(); tinferInit(); pathInit(); sposInit(); ablogInit(); comsgInit(); macexInitFile(); comsgInit(); scobindInitFile(); stabInitFile(); fileAddLibraryDirectory("."); String archive = argv[1]; String expression = argv[2]; scmdHandleLibrary("LIB", archive); AbSyn ab = shexpParse(expression); Stab stab = stabFile(); Syme syme = stabGetArchive(symInternConst("LIB")); AbSyn arAbSyn = abNewId(sposNone, symInternConst("LIB")); AbSyn boolean = abNewId(sposNone, symInternConst("Boolean")); stabImportTForm(stab, tiGetTForm(stab, arAbSyn)); stabImportTForm(stab, tiGetTForm(stab, boolean)); abPutUse(ab, AB_Use_Value); scopeBind(stab, ab); typeInfer(stab, ab); TForm tf = tiGetTForm(stab, ab); aprintf("Type: %s Cat: %d\n", tfPretty(tf), tfSatCat(tf)); if (tfSatDom(tf)) { SymeList list = tfGetCatExports(tf); aprintf("Category\n"); for (; list != listNil(Syme); list = cdr(list)) { Syme syme = car(list); aprintf("%5s %3d %s %pAbSynList\n", symeString(syme), symeHasDefault(syme), tfPretty(symeType(syme)), symeCondition(syme)); } } else { aprintf(">>> Exports\n"); SymeList list = tfStabGetDomImports(stab, tf); for (; list != listNil(Syme); list = cdr(list)) { Syme syme = car(list); aprintf("%s %d %d %s\n", symeString(syme), symeDefnNum(syme), symeConstNum(syme), tfPretty(symeType(syme))); } TQualList tqList; aprintf(">>> Cascades\n"); tqList = tfGetDomCascades(tf); for (; tqList != listNil(TQual); tqList = cdr(tqList)) { TQual tq = car(tqList); aprintf("--> %s\n", tfPretty(tqBase(tq))); } } scobindFiniFile(); stabFiniFile(); comsgFini(); macexFiniFile(); }
int main(int argc, char **argv) { osFile fh; uint32_t total,areas,totaldupes; time_t firsttime,t; uint32_t DayStatsWritten; char buf[200],date[30],date2[30]; struct DiskAreaStats dastat; struct DiskNodeStats dnstat; struct StatsNode *sn; struct NodeStatsNode *nsn; struct jbList StatsList; struct jbList NodesList; uint32_t c,num,tot; uint16_t total8days[8]; char sortmode; struct tm *tp; char *monthnames[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","???"}; signal(SIGINT,breakfunc); if(!osInit()) exit(OS_EXIT_ERROR); if(argc > 1 && (strcmp(argv[1],"?")==0 || strcmp(argv[1],"-h")==0 || strcmp(argv[1],"--help")==0 || strcmp(argv[1],"help")==0 || strcmp(argv[1],"/h")==0 || strcmp(argv[1],"/?")==0 )) { printargs(args); osEnd(); exit(OS_EXIT_OK); } if(!parseargs(args,argc,argv)) { osEnd(); exit(OS_EXIT_ERROR); } sortmode='a'; if(args[ARG_SORT].data) sortmode=tolower(((char *)args[ARG_SORT].data)[0]); if(!strchr("amtdlu",sortmode)) { printf("Unknown sort mode %c\n",sortmode); osEnd(); exit(OS_EXIT_ERROR); } if(args[ARG_NOAREAS].data && args[ARG_NONODES].data) { printf("Nothing to do\n"); osEnd(); exit(OS_EXIT_ERROR); } printf("CrashStats "VERSION" © " COPYRIGHT " Johan Billing\n"); if(!(fh=osOpen(args[ARG_FILE].data,MODE_OLDFILE))) { uint32_t err=osError(); printf("Error opening %s\n",(char *)args[ARG_FILE].data); printf("Error: %s\n",osErrorMsg(err)); osEnd(); exit(OS_EXIT_ERROR); } osRead(fh,buf,4); buf[4]=0; if(strcmp(buf,STATS_IDENTIFIER)!=0) { printf("Unknown format of stats file\n"); osClose(fh); osEnd(); exit(OS_EXIT_ERROR); } osRead(fh,&DayStatsWritten,sizeof(uint32_t)); total=0; totaldupes=0; firsttime=0; areas=0; for(c=0;c<8;c++) total8days[c]=0; jbNewList(&StatsList); jbNewList(&NodesList); osRead(fh,&num,sizeof(uint32_t)); c=0; if(!args[ARG_NOAREAS].data) { while(c<num && osRead(fh,&dastat,sizeof(struct DiskAreaStats))==sizeof(struct DiskAreaStats)) { if(!args[ARG_GROUP].data || CheckFlags(dastat.Group,args[ARG_GROUP].data)) { if(!(sn=osAlloc(sizeof(struct StatsNode)))) { printf("Out of memory\n"); jbFreeList(&StatsList); osClose(fh); osEnd(); exit(OS_EXIT_ERROR); } jbAddNode(&StatsList,(struct jbNode *)sn); strcpy(sn->Tagname,dastat.Tagname); sn->Dupes=dastat.Dupes; sn->Total=dastat.TotalTexts; sn->FirstTime=dastat.FirstTime; sn->LastTime=dastat.LastTime; memcpy(&sn->Last8Days[0],&dastat.Last8Days[0],8*sizeof(uint16_t)); sn->Average=CalculateAverage(&dastat.Last8Days[0],dastat.TotalTexts,DayStatsWritten,sn->FirstTime / (24*60*60)); } if(dastat.FirstTime!=0) if(firsttime==0 || firsttime > dastat.FirstTime) firsttime=dastat.FirstTime; c++; } } else { while(c<num && osRead(fh,&dastat,sizeof(struct DiskAreaStats))==sizeof(struct DiskAreaStats)) c++; } osRead(fh,&num,sizeof(uint32_t)); c=0; if(!args[ARG_NONODES].data) { while(c<num && osRead(fh,&dnstat,sizeof(struct DiskNodeStats))==sizeof(struct DiskNodeStats)) { if(!(nsn=osAlloc(sizeof(struct NodeStatsNode)))) { printf("Out of memory\n"); jbFreeList(&NodesList); jbFreeList(&StatsList); osClose(fh); osEnd(); exit(OS_EXIT_ERROR); } jbAddNode(&NodesList,(struct jbNode *)nsn); Copy4D(&nsn->Node,&dnstat.Node); nsn->GotNetmails=dnstat.GotNetmails; nsn->GotNetmailBytes=dnstat.GotNetmailBytes; nsn->SentNetmails=dnstat.SentNetmails; nsn->SentNetmailBytes=dnstat.SentNetmailBytes; nsn->GotEchomails=dnstat.GotEchomails; nsn->GotEchomailBytes=dnstat.GotEchomailBytes; nsn->SentEchomails=dnstat.SentEchomails; nsn->SentEchomailBytes=dnstat.SentEchomailBytes; nsn->Dupes=dnstat.Dupes; nsn->Days=DayStatsWritten-dnstat.FirstTime % (24*60*60); if(nsn->Days==0) nsn->Days=1; nsn->FirstTime=dnstat.FirstTime; if(dnstat.FirstTime!=0) if(firsttime==0 || firsttime > dnstat.FirstTime) firsttime=dnstat.FirstTime; c++; } } else { while(c<num && osRead(fh,&dnstat,sizeof(struct DiskNodeStats))==sizeof(struct DiskNodeStats)) c++; } osClose(fh); t=(time_t)DayStatsWritten * 24*60*60; tp=localtime(&firsttime); sprintf(date,"%02d-%s-%02d",tp->tm_mday,monthnames[tp->tm_mon],tp->tm_year%100); tp=localtime(&t); sprintf(date2,"%02d-%s-%02d",tp->tm_mday,monthnames[tp->tm_mon],tp->tm_year%100); printf("\nStatistics from %s to %s\n",date,date2); if(!ctrlc && !args[ARG_NOAREAS].data) { Sort(&StatsList,'a'); Sort(&StatsList,sortmode); printf("\n"); if(args[ARG_LAST7].data) { printf("Area "); for(c=1;c<8;c++) { t=(DayStatsWritten-c)*24*60*60; tp=localtime(&t); printf(" %02d",tp->tm_mday); } printf(" Total\n============================================================================\n"); if(!ctrlc) { for(sn=(struct StatsNode *)StatsList.First;sn && !ctrlc;sn=sn->Next) { tot=0; for(c=1;c<8;c++) tot+=sn->Last8Days[c]; printf("%-33.33s %4d %4d %4d %4d %4d %4d %4d : %5d\n", sn->Tagname, sn->Last8Days[1], sn->Last8Days[2], sn->Last8Days[3], sn->Last8Days[4], sn->Last8Days[5], sn->Last8Days[6], sn->Last8Days[7], tot); for(c=1;c<8;c++) total8days[c]+=sn->Last8Days[c]; areas++; } if(!ctrlc) { tot=0; for(c=1;c<8;c++) tot+=total8days[c]; printf("=============================================================================\n"); sprintf(buf,"Totally in all %u areas",areas); printf("%-33.33s %4d %4d %4d %4d %4d %4d %4d : %5d\n", buf, total8days[1], total8days[2], total8days[3], total8days[4], total8days[5], total8days[6], total8days[7], tot); } } } else { printf("Area First Last Msgs Msgs/day Dupes\n"); printf("============================================================================\n"); if(!ctrlc) { for(sn=(struct StatsNode *)StatsList.First;sn && !ctrlc;sn=sn->Next) { if(sn->LastTime==0) { strcpy(date2,"<Never>"); } else { tp=localtime(&sn->LastTime); sprintf(date2,"%02d-%s-%02d",tp->tm_mday,monthnames[tp->tm_mon],tp->tm_year%100); } if(sn->FirstTime==0) { strcpy(date,"<Never>"); } else { tp=localtime(&sn->FirstTime); sprintf(date,"%02d-%s-%02d",tp->tm_mday,monthnames[tp->tm_mon],tp->tm_year%100); } for(c=0;c<8;c++) total8days[c]+=sn->Last8Days[c]; total+=sn->Total; totaldupes+=sn->Dupes; areas++; printf("%-29.30s %-9.9s %-9.9s %7d %7d %7d\n",sn->Tagname,date,date2,sn->Total,sn->Average,sn->Dupes); } } if(!ctrlc) { printf("============================================================================\n"); sprintf(buf,"Totally in all %u areas",areas); printf("%-42s %7d %7d %7d\n", buf, total, CalculateAverage(&total8days[0],total,DayStatsWritten,firsttime / (24*60*60)), totaldupes); } } } if(!ctrlc && !args[ARG_NONODES].data) { SortNodes(&NodesList); printf("\n"); printf("Nodes statistics\n"); printf("================\n"); for(nsn=(struct NodeStatsNode *)NodesList.First;nsn && !ctrlc;nsn=nsn->Next) { if(nsn->FirstTime==0) { strcpy(date,"<Never>"); } else { tp=localtime(&nsn->FirstTime); sprintf(date,"%0d-%s-%0d",tp->tm_mday,monthnames[tp->tm_mon],tp->tm_year%100); } sprintf(buf,"%u:%u/%u.%u",nsn->Node.Zone,nsn->Node.Net,nsn->Node.Node,nsn->Node.Point); printf("%-30.40s Statistics since: %s\n\n",buf,date); printf(" Sent netmails: %u/%s\n",nsn->SentNetmails,unit(nsn->SentNetmailBytes)); printf(" Received netmails: %u/%s\n",nsn->GotNetmails,unit(nsn->GotNetmailBytes)); printf(" Sent echomails: %u/%s\n",nsn->SentEchomails,unit(nsn->SentEchomailBytes)); printf(" Received echomails: %u/%s\n",nsn->GotEchomails,unit(nsn->GotEchomailBytes)); printf(" Dupes: %u\n",nsn->Dupes); printf("\n"); } } if(ctrlc) { printf("*** Break\n"); } else { printf("\n"); } jbFreeList(&StatsList); jbFreeList(&NodesList); osEnd(); exit(OS_EXIT_OK); }
int main(int argc, char **argv) { char *var; struct fileentry *fe; if(!osInit()) exit(OS_EXIT_ERROR); if(argc > 1 && (strcmp(argv[1],"?")==0 || strcmp(argv[1],"-h")==0 || strcmp(argv[1],"--help")==0 || strcmp(argv[1],"help")==0 || strcmp(argv[1],"/h")==0 || strcmp(argv[1],"/?")==0 )) { printargs(args); osEnd(); exit(OS_EXIT_OK); } if(!parseargs(args,argc,argv)) { osEnd(); exit(OS_EXIT_ERROR); } jbNewList(&list); /* get outbound dir */ if((var=getenv("CMOUTBOUND"))) cfg_Dir=var; else cfg_Dir=OS_CURRENT_DIR; if(args[ARG_DIRECTORY].data) cfg_Dir=(char *)args[ARG_DIRECTORY].data; /* Get zone */ if((var=getenv("CMOUTBOUNDZONE"))) cfg_Zone=atoi(var); else cfg_Zone=2; if(args[ARG_ZONE].data) cfg_Zone=atoi((char *)args[ARG_ZONE].data); /* Get pattern */ strcpy(cfg_Pattern.Zone,"*"); strcpy(cfg_Pattern.Net,"*"); strcpy(cfg_Pattern.Node,"*"); strcpy(cfg_Pattern.Point,"*"); if(args[ARG_PATTERN].data) { if(!Parse4DPat((char *)args[ARG_PATTERN].data,&cfg_Pattern)) { printf("Invalid node pattern \"%s\"\n",(char *)args[ARG_PATTERN].data); osEnd(); exit(OS_EXIT_ERROR); } } /* Get verbose flag */ cfg_Verbose=FALSE; if(args[ARG_VERBOSE].data) cfg_Verbose=TRUE; /* Real program starts here */ printf("CrashListOut " VERSION "\n\n"); scandir_dir = NULL; scandir_boss = NULL; if(!osScanDir(cfg_Dir,scandirfunc)) { uint32_t err=osError(); printf("Failed to scan directory %s\n",cfg_Dir); printf("Error: %s",osErrorMsg(err)); return(FALSE); } sortlist(&list); printf("%-8.8s %-17.17s %-16.16s %7.7s %s\n\n", "Type","Node","Last Change","B/F","File"); if(list.First) { for(fe=(struct fileentry *)list.First;fe;fe=fe->Next) { if(fe->type == TYPE_REQUEST) DisplayReq(fe); else if(fe->flow) DisplayFlow(fe); else DisplayPkt(fe); } if(!cfg_Verbose) printf("\n"); printf("Totally %s bytes in %u files to send, %u requests.\n",unit(TotalBytes),TotalFiles,TotalRequests); } else { printf("Outbound directory is empty.\n"); } jbFreeList(&list); exit(OS_EXIT_OK); }
MAIN(appweb, int argc, char **argv) { Mpr *mpr; MaHttp *http; cchar *ipAddrPort, *documentRoot, *argp, *logSpec; char *configFile, *ipAddr, *homeDir, *timeText, *ejsPrefix, *ejsPath, *changeRoot; int workers, outputVersion, argind, port; documentRoot = 0; changeRoot = ejsPrefix = ejsPath = 0; ipAddrPort = 0; ipAddr = 0; port = -1; logSpec = 0; server = 0; outputVersion = 0; workers = -1; configFile = BLD_FEATURE_CONFIG_FILE; homeDir = BLD_FEATURE_SERVER_ROOT; mpr = mprCreate(argc, argv, memoryFailure); argc = mpr->argc; argv = mpr->argv; #if BLD_FEATURE_ROMFS extern MprRomInode romFiles[]; mprSetRomFileSystem(mpr, romFiles); #endif if (osInit(mpr) < 0) { exit(2); } if (mprStart(mpr, 0) < 0) { mprUserError(mpr, "Can't start MPR for %s", mprGetAppName(mpr)); mprFree(mpr); return MPR_ERR_CANT_INITIALIZE; } for (argind = 1; argind < argc; argind++) { argp = argv[argind]; if (*argp != '-') { break; } if (strcmp(argp, "--config") == 0) { if (argind >= argc) { return printUsage(mpr); } configFile = argv[++argind]; #if BLD_UNIX_LIKE } else if (strcmp(argp, "--chroot") == 0) { if (argind >= argc) { return printUsage(mpr); } changeRoot = mprGetAbsPath(mpr, argv[++argind]); #endif } else if (strcmp(argp, "--debug") == 0 || strcmp(argp, "-D") == 0 || strcmp(argp, "-d") == 0 || strcmp(argp, "--debugger") == 0) { mprSetDebugMode(mpr, 1); } else if (strcmp(argp, "--ejs") == 0) { if (argind >= argc) { return printUsage(mpr); } ejsPrefix = mprStrdup(mpr, argv[++argind]); if ((ejsPath = strchr(ejsPrefix, ':')) != 0) { *ejsPath++ = '\0'; } ejsPath = mprGetAbsPath(mpr, ejsPath); } else if (strcmp(argp, "--home") == 0) { if (argind >= argc) { return printUsage(mpr); } homeDir = mprGetAbsPath(mpr, argv[++argind]); if (chdir((char*) homeDir) < 0) { mprPrintfError(mpr, "%s: Can't change directory to %s\n", mprGetAppName(mpr), homeDir); exit(2); } } else if (strcmp(argp, "--log") == 0 || strcmp(argp, "-l") == 0) { if (argind >= argc) { return printUsage(mpr); } logSpec = argv[++argind]; maStartLogging(mpr, logSpec); } else if (strcmp(argp, "--name") == 0 || strcmp(argp, "-n") == 0) { if (argind >= argc) { return printUsage(mpr); } mprSetAppName(mpr, argv[++argind], 0, 0); } else if (strcmp(argp, "--threads") == 0) { if (argind >= argc) { return printUsage(mpr); } workers = atoi(argv[++argind]); } else if (strcmp(argp, "--verbose") == 0 || strcmp(argp, "-v") == 0) { maStartLogging(mpr, "stdout:2"); } else if (strcmp(argp, "--version") == 0 || strcmp(argp, "-V") == 0) { outputVersion++; } else { mprPrintfError(mpr, "Unknown switch \"%s\"\n", argp); printUsage(mpr); exit(2); } } if (argc > argind) { if (argc > (argind + 2)) { return printUsage(mpr); } ipAddrPort = argv[argind++]; if (argc > argind) { documentRoot = argv[argind++]; } else { documentRoot = "."; } } if (outputVersion) { mprPrintf(mpr, "%s %s-%s\n", mprGetAppTitle(mpr), BLD_VERSION, BLD_NUMBER); exit(0); } if (ipAddrPort) { mprParseIp(mpr, ipAddrPort, &ipAddr, &port, MA_SERVER_DEFAULT_PORT_NUM); } else { #if BLD_FEATURE_CONFIG_PARSE if (configFile == 0) { configFile = mprStrcat(mpr, -1, mprGetAppName(mpr), ".conf", NULL); } if (!mprPathExists(mpr, configFile, R_OK)) { mprPrintfError(mpr, "Can't open config file %s\n", configFile); exit(2); } #else return printUsage(mpr); #endif #if !BLD_FEATURE_ROMFS if (homeDir == 0) { homeDir = mprGetPathParent(mpr, configFile); if (chdir((char*) homeDir) < 0) { mprPrintfError(mpr, "%s: Can't change directory to %s\n", mprGetAppName(mpr), homeDir); exit(2); } } #endif } homeDir = mprGetCurrentPath(mpr); if (checkEnvironment(mpr, argv[0], homeDir) < 0) { exit(3); } #if BLD_UNIX_LIKE if (changeRoot) { homeDir = mprGetAbsPath(mpr, changeRoot); if (chdir(homeDir) < 0) { mprError(mpr, "%s: Can't change directory to %s", homeDir); exit(4); } if (chroot(homeDir) < 0) { if (errno == EPERM) { mprError(mpr, "%s: Must be super user to use the --chroot option", mprGetAppName(mpr)); } else { mprError(mpr, "%s: Can't change change root directory to %s, errno %d", mprGetAppName(mpr), homeDir, errno); } exit(5); } } #endif /* * Create the top level HTTP service and default HTTP server. Set the initial server root to "." */ http = maCreateHttp(mpr); if (http == 0) { mprUserError(mpr, "Can't create HTTP service for %s", mprGetAppName(mpr)); return MPR_ERR_CANT_INITIALIZE; } server = maCreateServer(http, "default", ".", 0, -1); if (server == 0) { mprUserError(mpr, "Can't create HTTP server for %s", mprGetAppName(mpr)); return MPR_ERR_CANT_INITIALIZE; } if (maConfigureServer(mpr, http, server, configFile, ipAddr, port, documentRoot) < 0) { /* mprUserError(mpr, "Can't configure the server, exiting."); */ exit(6); } if (mpr->ipAddr) { mprLog(mpr, 2, "Server IP address %s", mpr->ipAddr); } timeText = mprFormatLocalTime(mpr, mprGetTime(mpr)); mprLog(mpr, 1, "Started at %s", timeText); mprFree(timeText); #if BLD_FEATURE_EJS if (ejsPrefix) { createEjsAlias(mpr, http, server, ejsPrefix, ejsPath); } #endif #if BLD_FEATURE_MULTITHREAD if (workers >= 0) { mprSetMaxWorkers(http, workers); } #endif #if BLD_WIN_LIKE if (!ejsPrefix) { writePort(server->defaultHost); } #endif if (maStartHttp(http) < 0) { mprUserError(mpr, "Can't start HTTP service, exiting."); exit(7); } #if BLD_FEATURE_MULTITHREAD mprLog(mpr, 1, "HTTP services are ready with max %d worker threads", mprGetMaxWorkers(mpr)); #else mprLog(mpr, 1, "HTTP services are ready (single-threaded)"); #endif /* * Service I/O events until instructed to exit */ while (!mprIsExiting(mpr)) { mprServiceEvents(mpr->dispatcher, -1, MPR_SERVICE_EVENTS | MPR_SERVICE_IO); } /* * Signal a graceful shutdown */ mprLog(http, 1, "Exiting ..."); maStopHttp(http); mprLog(http, 1, "Exit complete"); #if VXWORKS if (mprStop(mpr)) { mprFree(mpr); } #endif return 0; }
/* * Select and call one of the compXxxxLoop entry points below. */ int compCmd(int argc, char **argv) { Bool echo; osInit(); osObtainLicense(); echo = cmdSubsumeResponseFiles(1, &argc, &argv); /* Display the version string in all its glory */ if (cmdHasVerboseOption(argc, argv)) { fprintf(osStdout, "%s version %d.%d.%d", verName, verMajorVersion, verMinorVersion, verMinorFreeze); if (*verPatchLevel) fprintf(osStdout, "(%s)", verPatchLevel); fprintf(osStdout, " for %s %s\n", CONFIG, DEBUG_CONFIG); if (echo) cmdEcho(osStdout, argc, argv); } /* * Record desire for garbage collection. */ /* Don't set compDoGcVerbose if -V seen */ compDoGcFile = cmdHasGcFileOption(argc, argv) || cmdHasInteractiveOption(argc, argv); /* Garbage collection is now on by default */ if (cmdHasNoGcOption(argc, argv)) { /* Can't have -Wgc and -Wno-gc */ if (cmdHasGcOption(argc, argv)) { (void)fprintf(osStdout, "You may not specify both `%s' and `%s': %s.\n", "-Wgc", "-no-gc", "ignoring -Wno-gc"); } else compDoGc = false; } /* * Find the root for the system library. */ if (cmdHasRootOption(argc, argv)) compRootDir = cmdOptionArg; /* $ALDORROOT overrides $AXIOMXLROOT */ if (!compRootDir) compRootDir = strCopyIf(osGetEnv("ALDORROOT")); if (!compRootDir) compRootDir = strCopyIf(osGetEnv("AXIOMXLROOT")); if (!compRootDir) compRootDir = compRootFromCmdLine(osCurDirName(), argv[0]); if (cmdHasCfgFileOption(argc, argv)) compCfgSetConfigFile(cmdOptionArg); if (cmdHasCfgNameOption(argc, argv)) compCfgSetSysName(cmdOptionArg); #ifdef OS_MAC_SYS7 if (!compRootDir) /*!!FIX! Parent of Directory in which binary was found */ compRootDir = "::"; #endif /* * Decide on the entry point. */ if (cmdHasHelpOption(argc, argv)) { compInit(); cmdArguments(1, argc, argv); compFini(); return 0; } if (cmdHasDebugOption(argc, argv)) compIsDebug = true; if (cmdHasSEvalOption(argc, argv)) return compSEvalLoop(osStdin,osStdout); if (cmdHasSExprOption(argc, argv)) return compSExprLoop(osStdin,osStdout); if (cmdHasInteractiveOption(argc, argv)) { if (osIsGUI()) return 0; /* gloop must be handled in event-driven style */ else return compGLoop(argc, argv, osStdin, osStdout); } return compFilesLoop(argc, argv); }
N_CDECL(void, NimMain)(void) { nim__datInit(); systemInit(); parseutilsInit(); strutilsInit(); timesInit(); posixInit(); osInit(); listsInit(); nhashesInit(); nstrtabsInit(); optionsInit(); msgsInit(); nversionInit(); crcInit(); platformInit(); ropesInit(); identsInit(); astInit(); rodutilsInit(); astalgoInit(); condsymsInit(); hashesInit(); strtabsInit(); streamsInit(); osprocInit(); extccompInit(); wordrecgInit(); commandsInit(); llstreamInit(); lexbaseInit(); scannerInit(); nimconfInit(); pnimsynInit(); pbracesInit(); rnimsynInit(); filtersInit(); ptmplsynInit(); syntaxesInit(); rodreadInit(); treesInit(); typesInit(); mathInit(); magicsysInit(); bitsetsInit(); nimsetsInit(); passesInit(); treetabInit(); semdataInit(); lookupsInit(); importerInit(); rodwriteInit(); semfoldInit(); evalsInit(); procfindInit(); pragmasInit(); suggestInit(); semInit(); rstInit(); highliteInit(); docgenInit(); ccgutilsInit(); cgmethInit(); cgenInit(); ecmasgenInit(); interactInit(); passauxInit(); dependsInit(); transfInit(); mainInit(); parseoptInit(); nimrodInit(); }