Annotation of coherent/f/usr/include.78/sys/rlock.h, revision 1.1

1.1     ! root        1: /* (-lgl
        !             2:  *     COHERENT Version 3.2.2
        !             3:  *     Copyright (c) 1982, 1992 by Mark Williams Company.
        !             4:  *     All rights reserved. May not be copied without permission.
        !             5:  -lgl) */
        !             6: /*
        !             7:  * /usr/include/sys/rlock.h
        !             8:  * Record locking.
        !             9:  */
        !            10: 
        !            11: #ifndef __SYS_RLOCK_H__
        !            12: #define __SYS_RLOCK_H__
        !            13: 
        !            14: #include <sys/ksynch.h>
        !            15: 
        !            16: /*
        !            17:  * Internal record lock.
        !            18:  * Active locks are attached to inode.
        !            19:  */
        !            20: typedef struct rlock   {
        !            21:        struct  rlock   *rl_next;       /* link, must be first          */
        !            22:        int             rl_type;        /* 0==read, 1==write            */
        !            23:        long            rl_start;
        !            24:        long            rl_end;         /* -1 is EOF                    */
        !            25:        PROC            *rl_proc;       /* owner's process              */
        !            26: } RLOCK;
        !            27: 
        !            28: /* Pending record lock. */
        !            29: typedef struct prlock  {
        !            30:        struct  prlock  *prl_next;      /* link, must be first          */
        !            31:        RLOCK           *prl_rls;       /* active locks on desired inode */
        !            32:        RLOCK           *prl_rl;        /* desired lock                 */
        !            33: } PRLOCK;
        !            34: 
        !            35: extern RLOCK   *freerl;                /* list of free record locks    */
        !            36: extern PRLOCK  *pendrl;                /* list of all pending locks    */
        !            37: extern GATE    rlgate;                 /* only one proc changes locks at a time */
        !            38: 
        !            39: #endif
        !            40: 
        !            41: /* end of sys/rlock.h */

unix.superglobalmegacorp.com

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