Annotation of researchv9/jerq/sgs/libsdp/sdp.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * static char ID[] = "@(#) sdp.h: 1.1 3/16/82";
        !             3:  */
        !             4: /* take spot audit */
        !             5: #define AUDITNOW       2
        !             6: 
        !             7: /* turn audits off */
        !             8: #define AUDITOFF       0
        !             9: 
        !            10: /* turn audits on */
        !            11: #define AUDITON                1
        !            12: 
        !            13: /* error return from non pointer-valued functions */
        !            14: #define        ERROR           (-1)
        !            15: 
        !            16: /* error return from id valued functions */
        !            17: 
        !            18: #define IDERROR                (-1l)
        !            19: 
        !            20: /* mnemonic to indicate an impossible itemid */
        !            21: #define        IDNULL          (-2l)
        !            22: 
        !            23: /* turn error messages off */
        !            24: #define MESGOFF                0
        !            25: 
        !            26: /* turn error messages on */
        !            27: #define MESGON         1
        !            28: 
        !            29: /* successful return from non pointer-valued functions */
        !            30: #define SUCCESS                1
        !            31: 
        !            32: /* permissions to change item for use */
        !            33: #define        WRTN            2
        !            34: 
        !            35: /* permissions not to change item for use */
        !            36: #define RNLY           0
        !            37: 
        !            38: /* macro for error conditions */
        !            39: #define ERR_RET(f,r)   {FATAL(f) ; return(r) ;}
        !            40: /*
        !            41:  * If the user includes <stdio.h> ahead of "sdp.h," then sdp_hist will be
        !            42:  * defined correctly as pointer to structure FILE; otherwise, sdp_hist will
        !            43:  * be define as pointer to char.
        !            44:  */
        !            45: 
        !            46: #ifdef FILE
        !            47: #define MY_FILE        FILE
        !            48: #else
        !            49: #define MY_FILE        char
        !            50: #endif
        !            51: 
        !            52: typedef        long    ITEMID ;
        !            53: typedef        int     FD ;
        !            54: typedef        long    BOUNDARY ;
        !            55: 
        !            56: struct SPACE                           /* the structure to hold header file    */
        !            57: {
        !            58:        long    version ;               /* version number in form YYMMDD        */
        !            59:        unsigned page_size ;            /* number of bytes in a page            */
        !            60:        ITEMID  maxpage ;               /* highest byte allotted (page aligned) */
        !            61:        ITEMID  curpage ;               /* id to current page during connection */
        !            62:        unsigned curleft ;              /* number of bytes left in current page */
        !            63:        int     perms ;                 /* whether changes are enabled          */
        !            64:        int     mode ;                  /* creation mode                        */
        !            65:        int     numbfile ;              /* number of files comprising space     */
        !            66:        struct  FILEINFO *fileinfo ;    /* pointer to file information array    */
        !            67:        int     numbstax ;              /* number of allottment stacks          */
        !            68:        struct  STAXINFO *staxinfo ;    /* pointer to stack information array   */
        !            69:        char    *head_name ;            /* name of address space                */
        !            70:        ITEMID  known_id ;              /* for user                             */
        !            71:        struct  ENVIRON *environ;       /* pointer to environment               */
        !            72:        struct  LIBFILE *lib_file ;     /* pointer to file library structure    */
        !            73:        struct  SPACE *next_space ;     /* link to next space                   */
        !            74:        long    sp1_hash ;              /* hash code for audits                 */
        !            75:        long    sp2_hash ;              /* hash code for audits                 */
        !            76: } ;
        !            77: 
        !            78: struct STATS                           /* structure to hold paging statistics  */
        !            79: {
        !            80:        long    uses ;                  /* number of calls to sdp_use           */
        !            81:        long    faults ;                /* number of page faults                */
        !            82:        long    writes ;                /* number of faults causing writes      */
        !            83:        int     maxuse ;                /* largest number of frames in use      */
        !            84:        int     curuse ;                /* current number of frames in use      */
        !            85: } ;
        !            86: 
        !            87: struct ENVIRON                         /* structure to describe memory setup   */
        !            88: {
        !            89:        int     num_frames ;            /* number of frames for swapping        */
        !            90:        unsigned frame_size ;           /* size of frames in bytes              */
        !            91:        int     empties ;               /* start of list of empty frames        */
        !            92:        int     cnct_count ;            /* spaces connected to this environment */
        !            93:        struct  MANAGER *manp ;         /* pointer to array frame managers      */
        !            94:        struct  LIBMEM *lib_mem ;       /* pointer to memory library structure  */
        !            95:        struct  ENVIRON *next_environ ; /* link to next environment             */
        !            96:        struct  STATS stats ;           /* holds paging statistics              */
        !            97:        long    en_hash ;               /* hash code for audits                 */
        !            98: } ;
        !            99: 
        !           100: struct FILEINFO                                /* structure to hold file information   */
        !           101: {
        !           102:        FD      desc ;                  /* file descriptor                      */
        !           103:        long    leng ;                  /* length of file in bytes              */
        !           104: } ;
        !           105: 
        !           106: struct STAXINFO                                /* structure to hold stack information  */
        !           107: {
        !           108:        ITEMID  top ;                   /* itemid to top of stack               */
        !           109:        long    size ;                  /* size of items in stack               */
        !           110:        long    depth ;                 /* number of items in stack             */
        !           111: } ;
        !           112: 
        !           113: struct MANAGER                         /* structure to manage frames           */
        !           114: {
        !           115:        struct  SPACE *space ;          /* space identifier                     */
        !           116:        ITEMID  page_id ;               /* byte offset in space                 */
        !           117:        long    usecount ;              /* number of use calls on this id       */
        !           118:        int     ref_chng ;              /* reference/change flag                */
        !           119:        int     forward ;               /* index of next manager                */
        !           120:        int     backward ;              /* index of previous manager            */
        !           121:        char    *frame_pntr ;           /* pointer to frame to be managed       */
        !           122:        long    mn_hash ;               /* hash code for audits                 */
        !           123: } ;
        !           124: 
        !           125: struct LIBFILE                         /* pointers to file library functions   */
        !           126: {
        !           127:        char * (*libbuildname)() ;      /* pointer to name build function       */
        !           128:        int (*libclose)() ;             /* pointer to file close function       */
        !           129:        int (*libcreate)() ;            /* pointer to file create function      */
        !           130:        FD  (*libopen)() ;              /* pointer to file open function        */
        !           131:        int (*libread)() ;              /* pointer to file read function        */
        !           132:        int (*libseek)() ;              /* pointer to file position function    */
        !           133:        int (*libunlink)() ;            /* pointer to file delete function      */
        !           134:        int (*libwrite)() ;             /* pointer to file write function       */
        !           135: } ;
        !           136: 
        !           137: struct LIBMEM                          /* pointers to memory library functions */
        !           138: {
        !           139:        int * (*liballoc)() ;           /* pointer to memory allocation function*/
        !           140:        int   (*libfree)() ;            /* pointer to memory free function      */
        !           141: } ;
        !           142: 
        !           143: extern ITEMID          sdp_allot() ;
        !           144: extern int             sdp_audit() ;
        !           145: extern int             sdp_change() ;
        !           146: extern struct SPACE    *sdp_connect() ;
        !           147: extern int             sdp_destroy() ;
        !           148: extern int             sdp_disconnect() ;
        !           149: extern int             sdp_generate() ;
        !           150: extern MY_FILE         *sdp_hist() ;
        !           151: extern struct ENVIRON  *sdp_house() ;
        !           152: extern int             sdp_redeem() ;
        !           153: extern struct STATS    sdp_stats() ;
        !           154: extern int             sdp_sync() ;
        !           155: extern int             sdp_unuse() ;
        !           156: extern BOUNDARY        *sdp_use() ;
        !           157: extern int             sdp_vacate() ;
        !           158: 
        !           159: extern int             mesg_flag ;
        !           160: extern char            *llaerrfile ;
        !           161: extern ITEMID          *known_idptr ;

unix.superglobalmegacorp.com

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