Annotation of coherent/f/usr/include.78/sys/rlock.h, revision 1.1.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.