Annotation of coherent/a/usr/include.b4ps2/sys/seg.h, revision 1.1.1.1

1.1       root        1: /* (-lgl
                      2:  *     COHERENT Version 4.0
                      3:  *     Copyright (c) 1982, 1992 by Mark Williams Company.
                      4:  *     All rights reserved. May not be copied without permission.
                      5:  -lgl) */
                      6: /*
                      7:  * Segments.
                      8:  */
                      9: 
                     10: #ifndef         SEG_H
                     11: #define         SEG_H  SEG_H
                     12: 
                     13: #include <sys/types.h>
                     14: 
                     15: /*
                     16:  * Segment structure.
                     17:  */
                     18: typedef struct seg {
                     19:        struct   seg * s_forw;          /* Forward pointer */
                     20:        struct   seg * s_back;          /* Backward pointer */
                     21:        struct   inode * s_ip;          /* Inode pointer for shared text */
                     22:        short    s_flags;               /* Flags */
                     23:        short    s_urefc;               /* Reference count of segment */
                     24:        short    s_lrefc;               /* Lock reference count */
                     25: #ifdef _I386
                     26:        off_t    s_size;                /* Size in bytes */
                     27:        cseg_t   *s_vmem;               /* page table address */
                     28: #else
                     29:        faddr_t  s_faddr;               /* Memory access selector */
                     30:        fsize_t  s_size;                /* Size in bytes */
                     31:        paddr_t  s_paddr;               /* Physical base address */
                     32: #endif
                     33:        daddr_t  s_daddr;               /* Disk base address */
                     34: } SEG;
                     35: 
                     36: /*
                     37:  * Flags (s_flags).
                     38:  */
                     39: #define SFCORE 0x0001                  /* Memory resident */
                     40: #define        SFDOWN  0x0002                  /* Segment grows downward */
                     41: #define SFSHRX 0x0004                  /* Shared segment */
                     42: #define SFTEXT 0x0008                  /* Text segment */
                     43: #define SFHIGH 0x0010                  /* Text segment */
                     44: #define        SFSYST  0x0020                  /* System segment */
                     45: 
                     46: /*
                     47:  * Pseudo flags.  (passed to salloc).
                     48:  */
                     49: #define        SFNSWP  0x4000                  /* Don't swap */
                     50: #define SFNCLR 0x8000                  /* Don't clear segment */
                     51: 
                     52: #ifdef KERNEL
                     53: /*
                     54:  * Functions.
                     55:  */
                     56: extern SEG     *iomapvp();             /* bio.c */
                     57: extern SEG     *segdupl();             /* seg.c */
                     58: extern SEG     *ssalloc();             /* seg.c */
                     59: extern SEG     *salloc();              /* seg.c */
                     60: extern SEG     *segsext();             /* seg.c */
                     61: extern SEG     *segdupd();             /* seg.c */
                     62: extern SEG     *sdalloc();             /* seg.c */
                     63: extern SEG     *smalloc();             /* seg.c */
                     64: extern SEG     *shalloc();             /* seg.c */
                     65: extern SEG     *exaread();             /* exec.c */
                     66: extern SEG     *exsread();             /* exec.c */
                     67: extern SEG     *exstack();             /* exec.c */
                     68: 
                     69: /*
                     70:  * Global variables.
                     71:  */
                     72: extern int     sexflag;                /* Swapper existant */
                     73: extern GATE    seglink;                /* Gate for s_forw and s_back */
                     74: extern SEG     segswap;                /* Segments reserved for the swapper */
                     75: extern SEG     segmq;                  /* Memory segment queue */
                     76: extern SEG     segdq;                  /* Segment disk queue */
                     77: extern SEG     segiom;                 /* I/O memory segment */
                     78: 
                     79: #endif
                     80: 
                     81: #endif

unix.superglobalmegacorp.com

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