|
|
coherent
/* (-lgl
* COHERENT Version 4.0
* Copyright (c) 1982, 1992 by Mark Williams Company.
* All rights reserved. May not be copied without permission.
-lgl) */
/*
* Segments.
*/
#ifndef SEG_H
#define SEG_H SEG_H
#include <sys/types.h>
/*
* Segment structure.
*/
typedef struct seg {
struct seg * s_forw; /* Forward pointer */
struct seg * s_back; /* Backward pointer */
struct inode * s_ip; /* Inode pointer for shared text */
short s_flags; /* Flags */
short s_urefc; /* Reference count of segment */
short s_lrefc; /* Lock reference count */
#ifdef _I386
off_t s_size; /* Size in bytes */
cseg_t *s_vmem; /* page table address */
#else
faddr_t s_faddr; /* Memory access selector */
fsize_t s_size; /* Size in bytes */
paddr_t s_paddr; /* Physical base address */
#endif
daddr_t s_daddr; /* Disk base address */
} SEG;
/*
* Flags (s_flags).
*/
#define SFCORE 0x0001 /* Memory resident */
#define SFDOWN 0x0002 /* Segment grows downward */
#define SFSHRX 0x0004 /* Shared segment */
#define SFTEXT 0x0008 /* Text segment */
#define SFHIGH 0x0010 /* Text segment */
#define SFSYST 0x0020 /* System segment */
/*
* Pseudo flags. (passed to salloc).
*/
#define SFNSWP 0x4000 /* Don't swap */
#define SFNCLR 0x8000 /* Don't clear segment */
#ifdef KERNEL
/*
* Functions.
*/
extern SEG *iomapvp(); /* bio.c */
extern SEG *segdupl(); /* seg.c */
extern SEG *ssalloc(); /* seg.c */
extern SEG *salloc(); /* seg.c */
extern SEG *segsext(); /* seg.c */
extern SEG *segdupd(); /* seg.c */
extern SEG *sdalloc(); /* seg.c */
extern SEG *smalloc(); /* seg.c */
extern SEG *shalloc(); /* seg.c */
extern SEG *exaread(); /* exec.c */
extern SEG *exsread(); /* exec.c */
extern SEG *exstack(); /* exec.c */
/*
* Global variables.
*/
extern int sexflag; /* Swapper existant */
extern GATE seglink; /* Gate for s_forw and s_back */
extern SEG segswap; /* Segments reserved for the swapper */
extern SEG segmq; /* Memory segment queue */
extern SEG segdq; /* Segment disk queue */
extern SEG segiom; /* I/O memory segment */
#endif
#endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.