Annotation of researchv10no/cmd/spitbol/cint/spitblks.h, revision 1.1.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.