Annotation of researchv10no/cmd/spitbol/cint/spitblks.h, revision 1.1

1.1     ! root        1: /*
        !             2: /   This header file defines structures used by the Macro SPITBOL compiler
        !             3: /   that are passed into the OS interface.
        !             4: */
        !             5: 
        !             6: /*
        !             7: /   First, define the C type WORD to be the same size as a word used
        !             8: /   by the Macro SPITBOL compiler.  The type of a WORD is a signed
        !             9: /   integer for now.
        !            10: */
        !            11: 
        !            12: typedef int    WORD;
        !            13: 
        !            14: /*
        !            15: /   CHFCB - chain of FCBs block
        !            16: /
        !            17: /   For every FCB created by OSINT, the compiler creates a CHFCB pointing
        !            18: /   to the FCB and links it onto a chain of CHFCBs.  At EOJ the head of this
        !            19: /   CHFCB chain is passed to the interface function SYSEJ so that all files
        !            20: /   can be closed.
        !            21: */
        !            22: 
        !            23: struct chfcb
        !            24: {
        !            25:                WORD    typ;            /*  type word                   */
        !            26:                WORD    len;            /*  block length                */
        !            27:                struct  chfcb   *nxt;   /*  pointer to next chfcb       */
        !            28:                struct  fcblk   *fcp;   /*  pointer to fcb              */
        !            29: };
        !            30: 
        !            31: /*
        !            32: /   ICBLK - integer block
        !            33: /
        !            34: /   Integer values are stored in ICBLKs.  Field icval should be defined
        !            35: /   to be the appropriate type for the implementation.
        !            36: */
        !            37: 
        !            38: struct icblk
        !            39: {
        !            40:                WORD    typ;            /*  type word - b$icl           */
        !            41:                WORD    val;            /*  integer value               */
        !            42: };
        !            43: 
        !            44: /*
        !            45: /   SCBLK - string block
        !            46: /
        !            47: /   String values are stored in SCBLKs.  Notice that the scstr field
        !            48: /   is defined as an array of characters of length 1.  This is a slight
        !            49: /   kludge to side-step C's lack of support for varying length strings.
        !            50: /
        !            51: /   The actual length of a SCBLK is 2 words + the number of words necessary
        !            52: /   to hold a string of length sclen.
        !            53: */
        !            54: 
        !            55: struct scblk
        !            56: {
        !            57:                WORD    typ;            /*  type word - b$scl           */
        !            58:                WORD    len;            /*  string length               */
        !            59:                char    str[1];         /*  string characters           */
        !            60: };

unix.superglobalmegacorp.com

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