Annotation of 43BSD/ingres/source/support/ildr.h, revision 1.1

1.1     ! root        1: /*
        !             2: **  ILDR.H -- header file for INGRES lock driver.
        !             3: **
        !             4: **     @(#)ildr.h      8.1     12/31/84
        !             5: */
        !             6: 
        !             7: # define       KEYSIZE 12
        !             8: # define       DLOCKS  10      /* max number of data base locks (limits # of ingreses */
        !             9: # define       RLOCKS  2*DLOCKS + 6
        !            10: # define       PLOCKS  RLOCKS + 3
        !            11: # define       NLOCKS  PLOCKS + 1
        !            12: # define       LOCKPRI 1
        !            13: # define       TRUE    1
        !            14: # define       FALSE   0
        !            15: # define       M_EMTY          0
        !            16: # define       M_SHARE         2
        !            17: # define       M_EXCL          1
        !            18: # define       T_CS            0
        !            19: # define       T_PAGE          1
        !            20: # define       T_REL           2
        !            21: # define       T_DB            3
        !            22: # define       A_RTN           1
        !            23: # define       A_SLP           2
        !            24: # define       A_RLS1          3
        !            25: # define       A_RLSA          4
        !            26: # define       A_ABT           5
        !            27: # define       W_ON            1
        !            28: # define       W_OFF           0
        !            29: /*     Device driver for the /dev/ILOCK 
        !            30:  *     an in core device used as a Lock table
        !            31:  */
        !            32: /* Only the parameters NLOCKS, PLOCKS, RLOCKS and DLOCKS
        !            33:  * may be changed by an INGRES installation.  See 
        !            34:  * 'HOW TO INSTALL CONCURRENCY DEVICE' for details.
        !            35:  * The file can be printed by "nroff .../doc/other/lockdev.nr"
        !            36:  */
        !            37: /*
        !            38:  *     data structure for Lock table
        !            39:  */
        !            40: struct Lockform
        !            41: {
        !            42:        int     l_pid;
        !            43:        char    l_wflag;        /* wait flag: = 1 a process is waiting*/
        !            44:        char    l_type;         /* type of lock:
        !            45:                                        = 0 for critical section
        !            46:                                        = 1 for page
        !            47:                                        = 2 for logical
        !            48:                                        = 3 for data base
        !            49:                                */
        !            50:        char    l_mod;          /* mod of Lock or lock action requested 
        !            51:                                 *      = 0 slot empty
        !            52:                                 *      = 1 exclusive lock
        !            53:                                 *      = 2 shared lock
        !            54:                                 */
        !            55:        char l_key[KEYSIZE];
        !            56: }      Locktab[NLOCKS];
        !            57: 
        !            58: int    Lockset[]
        !            59:                        /* array of number of locks which can be
        !            60:                         * set for each lock.
        !            61:                         */
        !            62: {
        !            63:        NLOCKS,
        !            64:        PLOCKS,
        !            65:        RLOCKS,
        !            66:        DLOCKS
        !            67: };
        !            68: 
        !            69: struct Lockreq
        !            70:                        /* Lock Request */
        !            71: {
        !            72:        int     lr_pid;         /* requesting process id */
        !            73:        char    lr_act;         /* requested action:
        !            74:                                 *      =1 request lock, err return
        !            75:                                 *      =2 request lock, sleep
        !            76:                                 *      =3 release lock
        !            77:                                 *      =4 release all locks for pid
        !            78:                                 */
        !            79:        char    lr_type;        /* same as Locktab l_type */
        !            80:        char    lr_mod;         /* same as Locktab l_mod */
        !            81:        char    lr_key[KEYSIZE];/* requested key        */
        !            82: };

unix.superglobalmegacorp.com

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