Annotation of 43BSD/usr.lib/libpc/PCSTART.c, revision 1.1.1.1

1.1       root        1: /* Copyright (c) 1979 Regents of the University of California */
                      2: 
                      3: static char sccsid[] = "@(#)PCSTART.c 1.8 1/10/83";
                      4: 
                      5: #include <signal.h>
                      6: #include "h00vars.h"
                      7: #include "libpc.h"
                      8: 
                      9: /*
                     10:  * program variables
                     11:  */
                     12: struct display _disply[MAXLVL];
                     13: int            _argc;
                     14: char           **_argv;
                     15: long           _stlim = 500000;
                     16: long           _stcnt = 0;
                     17: long           _seed = 1;
                     18: #ifdef ADDR32
                     19: char           *_minptr = (char *)0x7fffffff;
                     20: #endif ADDR32
                     21: #ifdef ADDR16
                     22: char           *_minptr = (char *)0xffff;
                     23: #endif ADDR16
                     24: char           *_maxptr = (char *)0;
                     25: 
                     26: /*
                     27:  * file record variables
                     28:  */
                     29: long           _filefre = PREDEF;
                     30: struct iorechd _fchain = {
                     31:        0, 0, 0, 0,             /* only use fchain field */
                     32:        INPUT                   /* fchain  */
                     33: };
                     34: struct iorec   *_actfile[MAXFILES] = {
                     35:        INPUT,
                     36:        OUTPUT,
                     37:        ERR
                     38: };
                     39: 
                     40: /*
                     41:  * standard files
                     42:  */
                     43: char           _inwin, _outwin, _errwin;
                     44: struct iorechd input = {
                     45:        &_inwin,                /* fileptr */
                     46:        0,                      /* lcount  */
                     47:        0x7fffffff,             /* llimit  */
                     48:        &_iob[0],               /* fbuf    */
                     49:        OUTPUT,                 /* fchain  */
                     50:        STDLVL,                 /* flev    */
                     51:        "standard input",       /* pfname  */
                     52:        FTEXT|FREAD|SYNC|EOLN,  /* funit   */
                     53:        0,                      /* fblk    */
                     54:        1                       /* fsize   */
                     55: };
                     56: struct iorechd output = {
                     57:        &_outwin,               /* fileptr */
                     58:        0,                      /* lcount  */
                     59:        0x7fffffff,             /* llimit  */
                     60:        &_iob[1],               /* fbuf    */
                     61:        ERR,                    /* fchain  */
                     62:        STDLVL,                 /* flev    */
                     63:        "standard output",      /* pfname  */
                     64:        FTEXT | FWRITE | EOFF,  /* funit   */
                     65:        1,                      /* fblk    */
                     66:        1                       /* fsize   */
                     67: };
                     68: struct iorechd _err = {
                     69:        &_errwin,               /* fileptr */
                     70:        0,                      /* lcount  */
                     71:        0x7fffffff,             /* llimit  */
                     72:        &_iob[2],               /* fbuf    */
                     73:        FILNIL,                 /* fchain  */
                     74:        STDLVL,                 /* flev    */
                     75:        "Message file",         /* pfname  */
                     76:        FTEXT | FWRITE | EOFF,  /* funit   */
                     77:        2,                      /* fblk    */
                     78:        1                       /* fsize   */
                     79: };
                     80: 
                     81: PCSTART(mode)
                     82:        int mode;
                     83: {
                     84:        /*
                     85:         * necessary only on systems which do not initialize
                     86:         * memory to zero
                     87:         */
                     88: 
                     89:        struct iorec    **ip;
                     90: 
                     91:        /*
                     92:         * if running with runtime tests enabled, give more
                     93:         * coherent error messages for FPEs
                     94:         */
                     95:        if (mode) {
                     96:                signal(SIGFPE, EXCEPT);
                     97:        }
                     98:        for (ip = &_actfile[3]; ip < &_actfile[MAXFILES]; *ip++ = FILNIL);
                     99: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.