mirror of
https://github.com/PDP-10/its.git
synced 2026-04-25 20:01:40 +00:00
KCC - C compiler.
Binary-only compiler and library, plus documentation and include files for compiling new programs.
This commit is contained in:
104
src/kcc_sy/fsdefs.h
Executable file
104
src/kcc_sy/fsdefs.h
Executable file
@@ -0,0 +1,104 @@
|
||||
/* -*-C-*-
|
||||
* ITS filesystem definitions
|
||||
*
|
||||
* Defines the format of binary MFDs and UFDs for use by C programs.
|
||||
*/
|
||||
|
||||
/*
|
||||
** MFD INFO
|
||||
*/
|
||||
|
||||
/* RANDOM INFO IN MFD */
|
||||
|
||||
#define MDNUM 0 /* ASCENDING DIR NUM */
|
||||
#define MDNAMP 1 /* PNTR TO ORG OF USER NAME BLOCK AREA */
|
||||
#define MDYEAR 2 /* CURRENT YEAR */
|
||||
#define MPDOFF 3 /* DE-CORIOLIS CLOCK OFFSET */
|
||||
#define MPDWDK 4 /* PREFERRED WRITING DISK (PHYSICAL DRIVE #) */
|
||||
#define MDCHK 5 /* THIS WORD MUST BE M.F.D. (FOR CHECKING) */
|
||||
#define MDNUDS 6 /* NUMBER USER DIRECTORIES (FOR CHECKING ONLY) */
|
||||
#define LMIBLK 7 /* TOTAL STG USED BY HACKS LIKE THIS */
|
||||
|
||||
/* USER NAME BLKS FROM C(MDNAMP) TO END */
|
||||
|
||||
#define LMNBLK 2 /* # WDS/BLK */
|
||||
#define MNUNAM 0 /* 6BIT USER NAME */
|
||||
|
||||
/*
|
||||
** UFD INFO
|
||||
*/
|
||||
|
||||
#define UFDBYT 6 /* SIZE OF BYTES */
|
||||
#define UFDBPW (36 / UFDBYT) /* NUMBER OF BYTES PER WORD */
|
||||
|
||||
/* RANDOM INFO IN UFD */
|
||||
|
||||
#define UDESCP 0 /* FS PNTR TO DESC AREA */
|
||||
#define UDNAMP 1 /* PNTR TO ORG OF NAME AREA */
|
||||
#define UDNAME 2 /* USER NAME (FOR CHECKING) */
|
||||
#define UDBLKS 3 /* LEFT HALF HAS AMOUNT OF SPACE ALLOCATED (NOT */
|
||||
/* USED CURRENTLY BY SYSTEM), RIGHT HALF HAS */
|
||||
/* NUMBER OF BLOCKS USED. */
|
||||
#define UDALLO 4 /* IF NONZERO, LEFT HALF HAS DISK NUMBER, RIGHT */
|
||||
/* HALF HAS AMOUNT OF SPACE ALLOCATED */
|
||||
#define UDDESC 11 /* FIRST LOC AVAIL FOR DESC */
|
||||
|
||||
/* UFD DESCRIPTORS
|
||||
** 0 => FREE 1-UDTKMX => TAKE NEXT N
|
||||
** UDTKMX+1 THRU UDWPH-1 => SKIP N-UDTKMX AND TAKE ONE
|
||||
** UDWPH => WRITE-PLACE-HOLDER
|
||||
** 040 BIT SET => LOAD ADDRESS. LOWER 5 BITS PLUS NEXT NXLBYT (2)
|
||||
** CHARS (17 BITS IN ALL)
|
||||
** 040 BIT & 020 BIT => "FUNNY" BLOCK IF DMDSK. WHAT IS THIS, ANYWAY?
|
||||
** END BY 0
|
||||
**
|
||||
** IF LINK DESCR
|
||||
** 6 CHAR OR UNTIL ; = SYS NAME. MUST HAVE NO CHAR = 0 IN THIS OR
|
||||
** NEXT 2 NAMES
|
||||
** NEXT CHAR QUOTED BY : (FOR NAMES WITH : OR ;)
|
||||
** NEXT CHAR N1
|
||||
** NEXT CHAR N2
|
||||
** END BY 0
|
||||
*/
|
||||
|
||||
#define UDTKMX 12 /* HIGHEST "TAKE N" CODE */
|
||||
#define UDWPH 31 /* PLACE HOLDER ON WRITE (OR NULL FILE) */
|
||||
#define UDSKMX (UDWPH - UDTKMX - 1) /* # BLOCKS THAT CAN BE SKIPPED */
|
||||
#define NXLBYT 2 /* # ADDITIONAL BYTES FOR LOAD ADDR */
|
||||
|
||||
/* NAME AREA DATA */
|
||||
|
||||
#define LUNBLK 5 /* WDS/NAME BLK */
|
||||
#define UNFN1 0 /* FIRST FN */
|
||||
#define UNFN2 1 /* SECOND FN */
|
||||
#define UNRNDM 2 /* ALL KINDS OF RANDOM INFO */
|
||||
#define UNDSCP 0001500000000 /* PNTR TO DESC */
|
||||
#define UNPKN 0150500000000 /* PACK # */
|
||||
#define UNLINK 01000000 /* LINK BIT */
|
||||
#define UNREAP 02000000 /* IF 1, DONT REAP FILE */
|
||||
#define UNWRIT 04000000 /* OPEN FOR WRITING */
|
||||
#define UNMARK 010000000 /* GC MARK BIT */
|
||||
#define UNCDEL 020000000 /* DEL WHEN CLOSED */
|
||||
#define DELBTS 020000000 /* DELETED -- IGNORE */
|
||||
#define UNIGFL 024000000 /* BITS TO IGNORE FILE */
|
||||
#define UNWRDC 0301200000000 /* WORD COUNT OF LAST BLOCK MOD 2000 */
|
||||
#define UNDUMP 0400000000000 /* HAS BEEN DUMPED */
|
||||
#define UNDATE 3 /* DATE ETC. */
|
||||
#define UNTIM 0002200000000 /* COMPACTED TIME OF CREATION */
|
||||
#define UNYMD 0222000000000 /* Y,M,D OF CREATION */
|
||||
#define UNMON 0270400000000 /* MONTH */
|
||||
#define UNDAY 0220500000000 /* DAY */
|
||||
#define UNYRB 0330700000000 /* YEAR */
|
||||
#define UNREF 4 /* REFERENCE DATE SAME AS LEFT HALF OF UNDATE */
|
||||
#define UNREFD 0222000000000 /* REFERENCE DATE */
|
||||
#define UNAUTH 0111100000000 /* MFD INDEX OF AUTHOR, ALL 1=> NO */
|
||||
/* DIRECTORY */
|
||||
#define UNBYTE 0001100000000 /* FILE BYTE SIZE AND LENGTH INFO. */
|
||||
/* LET S=BITS PER BYTE, C=COUNT OF UNUSED BYTES
|
||||
** IN LAST WD
|
||||
** 400+100xS+C S=1 TO 3 C=0 TO 35.
|
||||
** 200+20xS+C S=4 TO 7 C=0 TO 8
|
||||
** 44+4xS+C S=8 TO 18. C=0 TO 3
|
||||
** 44-S S=19. TO 36. C=0
|
||||
** NOTE THAT OLD FILES HAVE UNBYTE=0 => S=36.
|
||||
*/
|
||||
11
src/kcc_sy/humble.h
Executable file
11
src/kcc_sy/humble.h
Executable file
@@ -0,0 +1,11 @@
|
||||
/* -*-C-*-
|
||||
* HUMBLE header file
|
||||
*/
|
||||
|
||||
extern int j_create(), j_kill();
|
||||
extern int j_read(), j_write();
|
||||
extern int j_dump(), j_load();
|
||||
extern int j_vread(), j_vwrite();
|
||||
extern int j_atty(), j_dtty();
|
||||
|
||||
#define SIXBIT(name) (* ((int *) ((_KCCtype_char6 *) name)))
|
||||
Reference in New Issue
Block a user