|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U s
Length: 4768 (0x12a0)
Types: TextFile
Notes: UNIX file
Names: »sysi86.h«
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
└─⟦this⟧ »kc/new/usr/include/sys/sysi86.h«
/* Copyright (c) 1987 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "@(#)sysi86.h 1.11 - 88/06/17"
#ifndef DIRSIZ
#define DIRSIZ 14
#endif
/*
* Commands for sysi86 system call (1-?)
*/
#define SI86SWPI 1 /* General swap interface. */
#define SI86SYM 2 /* acquire boot-built symbol table */
#define SI86CONF 4 /* acquire boot-built configuration table */
#define SI86BOOT 5 /* acquire timestamp and name of program */
/* booted */
#define SI86DMM 7 /* double-map data segment for */
/* read/write/execute support */
#define SI86AUTO 9 /* was an auto-config boot done? */
#define SI86EDT 10 /* copy contents of EDT to user */
#define SI86SWAP 12 /* Declare swap space */
#define SI86FPHW 40 /* what (if any?) floating-point hardware */
#define GRNON 52 /* set green light to solid on state */
#define GRNFLASH 53 /* start green light flashing */
#define STIME 54 /* set internal time */
#define SETNAME 56 /* rename the system */
#define RNVR 58 /* read NVRAM */
#define WNVR 59 /* write NVRAM */
#define RTODC 60 /* read time of day clock */
#define CHKSER 61 /* check soft serial number */
#define SI86NVPRT 62 /* print an xtra_nvr structure */
#define SANUPD 63 /* sanity update of kernel buffers */
#define SI86KSTR 64 /* make a copy of a kernel string */
#define SI86MEM 65 /* return the memory size of system */
#define SI86TODEMON 66 /* Transfer control to firmware. */
#define SI86CCDEMON 67 /* Control character access to demon. */
#define SI86CACHE 68 /* Turn cache on and off. */
#define SI86DELMEM 69 /* Delete available memory for testing. */
#define SI86ADDMEM 70 /* Add back deleted memory. */
/* 71 through 74 reserved for VPIX */
#define SI86V86 71 /* V86 system calls (see v86.h) */
#define SI86DSCR 75 /* Set a segment or gate descriptor */
#define SI86SLTIME 76 /* Set local time correction */
#ifdef VIANET
#define SI86SETEUID 81 /* Set effective userid */
#define SI86SETEGID 82 /* Set effective groupid */
#define SI86SETRUID 83 /* Set real userid */
#define SI86SETRGID 84 /* Set real groupid */
#define SI86FUTIME 85 /* Utime with file descriptor */
#define SI86SHR_OPEN 86 /* Sharing open (for DOS extended opens)*/
#endif /* VIANET */
#if defined(HBTCP)
#define SI86SETREUID 87 /* Set real and effective uid (ala BSD) */
#define SI86SETREGID 88 /* Set real and effective gid (ala BSD) */
#endif
#ifdef LDD
#define SI86MEMALLOC 89 /* Allocate memory for device drivers */
#define SI86INSTALLINTR 90 /* Install interrupt for a driver */
#define SI86MEMFREE 91 /* free memory for device drivers */
#define SI86BUILTON 92 /* get time kernel was built */
#define SI86REMOVEINTR 93 /* remove an interrupt for a driver */
#endif
/*
* The SI86DSCR subcommand of the sysi86() system call
* sets a segment or gate descriptor in the kernel.
* The following descriptor types are accepted:
* - executable and data segments in the LDT at DPL 3
* - a call gate in the GDT at DPL 3 that points to a segment in the LDT
* The request structure declared below is used to pass the values
* to be placed in the descriptor. A pointer to the structure is
* passed as the second argument of the system call.
* If acc1 is zero, the descriptor is cleared.
*/
/* request structure passed by user */
struct ssd {
unsigned int sel; /* descriptor selector */
unsigned int bo; /* segment base or gate offset */
unsigned int ls; /* segment limit or gate selector */
unsigned int acc1; /* access byte 5 */
unsigned int acc2; /* access bits in byte 6 or gate count */
};
struct intrinfo {
unsigned long intr; /* interrupt routine address */
unsigned long init; /* init routine address */
unsigned long start; /* start routine address */
int intno; /* interrupt number */
int intpri; /* interrupt priority */
};
struct LDDHeader {
struct LDDHeader *forw; /* link */
struct LDDHeader *back; /* link */
unsigned long count; /* reference count */
unsigned long size; /* size of block in bytes */
};
struct LDDmemref {
int cmd; /* 1 == use, 2 == free */
unsigned long block; /* pointer to block */
};
#define LDDUseBlock 1
#define LDDFreeBlock 2
#define LDDZapBlock 3