|
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 - download
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