This is sysglobals.h in view mode; [Download] [Up]
/* Header for module sysglobals, generated by p2c */ #ifndef SYSGLOBALS_H #define SYSGLOBALS_H #ifdef SYSGLOBALS_G # define vextern #else # define vextern extern #endif typedef Char fsidctype[20]; #define fsidc "Rev. 3.1 18-Jul-85" /*20 CHARS: VERSION,DATE,TIME OF FILE SYS*/ #define mminint (-32768L) /*MINIMUM SHORT INTEGER VALUE*/ #define mmaxint 32767 /*MAXIMUM SHORT INTEGER VALUE*/ #define maxunit 50 /*MAXIMUM PHYSICAL UNIT NUMBER*/ #define passleng 16 /*NUMBER OF CHARS IN A PASSWORD*/ #define vidleng 16 /*NUMBER OF CHARS IN A VOLUME NAME*/ #define tidleng 16 /*NUMBER OF CHARS IN A FILE TITLE*/ #define fidleng 120 /*NUMBER OF CHARS IN FILE NAME*/ #define fblksize 512 /*STANDARD FILE BUFFER LENGTH*/ #define maxsc 63 /*LARGEST SELECT CODE */ #define minlevel 1 /*LOWEST INTERRUPT LEVEL*/ #define maxlevel 6 /* p2c: Note: Field width for FKIND assumes enum filekind has 16 elements (from sysglobals.imp, line 81) */ /*LARGEST MASKABLE INTERRUPT LEVEL*/ /*directory entry*/ /*bad blocks*/ /*executable or linkable*/ /*UCSD format text with editor environment*/ /*L.I.F. ASCII format text strings*/ /*file of <data type, e.g. char, integer,etc.>*/ /*system (BOOT) file*/ /*reserved for future expansion*/ /*FILE INFORMATION*/ /*BUFFER VARIABLE...F^ */ /* LIST OF OPEN FILES */ /*declaration and type information*/ /* SIZE OF ONE LOGICAL RECORD */ /* EXTERNAL FILE TYPE */ /* FILE KIND */ /* FILE IS LINE FORMATTED */ /* HAS 512 BYTE BLOCK BUFFER */ /* FILE HAS NO NAME */ /* WAS CREATED THIS ASSOCIATION */ /* FILE ACCESS RIGHTS */ /*state information*/ /*F^ AND LOOKAHEAD STATES */ /* F^ IS AN END OF LINE */ /* TRIED TO READ PAST END OF FILE */ /* FILE HAS CHANGED SIZE */ /* BUFFER NEEDS TO BE WRITTEN */ /*file size and position*/ /* FILE POINTER, CURRENT FILE POSITION */ /*LOGICAL END OF FILE, CURRENT FILE SIZE */ /*PHYSICAL END OF FILE, MAXIMUM FILE SIZE */ /*buffering and low level formatting information*/ /* FILE POSITION OF BUFFER */ /* SPACE COMPRESSION COUNT */ /*BUFFER METHOD MODULE */ /*file association info*/ /*EXECUTION ADDRESS IN BOOT FILE */ /* VOLUME NAME */ /* FILE PASSWORD */ /* FILE NAME */ /* ADDITIONAL SYSTEM DEPENDENT INFORMATION */ /* TEMP FILE IDENTIFIER */ /* OPTIONAL STRING PARAM */ /*byte block transfer information*/ /* START BYTE OF FILE, OR OTHER IDENTIFICATION */ /* FOR FUTURE EXPANSION */ /*TRUE IF NO SRM TEMP FILE CREATED */ /*TRUE IF SRM SHOULD WAIT FOR LOCK */ /*TRUE IF OLD SRM LINK IS TO BE PURGED */ /*TRUE IF OPENED WITH OVERWRITE */ /*TRUE IF PATHID NOT UNIQUE TO FILEID */ /*TRUE IF FILE OPENED AS LOCKABLE */ /*TRUE IF FILE IS LOCKED */ /*TRUE IF DRIVER IS ACTIVE */ /*PHYSICAL UNIT NUMBER */ /*CALLED WHEN TRANSFER COMPLETES */ /* X POSITION FOR GOTOXY */ /* Y POSITION FOR GOTOXY */ /* FILEID FOR OLD SRM FILE ON REWRITE */ /*for future expansion*/ /*large miscellaneous fields sometimes present*/ /*minimal FIB ends here*/ /* FILE NAME, EXCEPT VOLUME AND SIZE */ /*FIB*/ /*unitable entry definition*/ /*directory access method*/ /*byte block transfer method*/ /*select code*/ /*bus address*/ /*disc unit*/ /*disc volume*/ /*physical starting byte of volume*/ /*identifier (Amigo identify sequence)*/ /*volume id*/ /*temp for driver use only; init to 0!*/ /*temp for driver use only; init to 0!*/ /*device specifier letter*/ /*unit absent or down flag*/ /*user can edit input*/ /*medium not changed since last access*/ /*volume name must be uppercased*/ /*fixed/removeable media flag*/ /*driver mode: report/ignore media change*/ /* (bit not used yet) */ /*blocked volume flag*/ /*volume size in bytes */ /*unitentry*/ /*0 NOT USED*/ /* *note* the ioresult enumerations have been partitioned into two */ /* mutually-exclusive groups: those beginning with 'z' are reserved */ /* for the low-level drivers , and those beginning */ /* with 'i' are reserved for the higher-level routines.*/ /*end marker*/ /*isr information block*/ /*interrupt register address*/ /*interrupt register mask*/ /*interrupt register target value after masking*/ /*chaining flag*/ /*isr*/ /*pointer to next isrib in linked list*/ /*100 IS TEMP DISK FLAG*/ /*DAY OF MONTH*/ /*0 ==> DATE NOT MEANINGFUL*/ typedef enum { untypedfile, badfile, codefile, textfile, asciifile, datafile, sysfile, fkind7, fkind8, fkind9, fkind10, fkind11, fkind12, fkind13, fkind14, lastfkind } filekind; typedef Char window[]; typedef enum { readbytes, writebytes, flush, writeeol, readtoeol, clearunit, setcursor, getcursor, startread, startwrite, unitstatus, seekeof } amrequesttype; typedef struct fib { Char *fwindow; struct fib *flistptr; long frecsize; short feft; unsigned fkind : 4, fistextvar : 1, fbuffered : 1, fanonymous : 1, fisnew : 1, freadable : 1, fwriteable : 1, freadmode : 1, fbufvalid : 1, feoln : 1, feof_ : 1, fmodified : 1, fbufchanged : 1; long fpos, fleof, fpeof, flastpos; short freptcnt; _PROCEDURE am; long fstartaddress; Char fvid[vidleng + 1]; Char ffpw[passleng + 1]; Char ftid[tidleng + 1]; long pathid; short fanonctr; Char *foptstring; long fileid; unsigned fb0 : 1, fb1 : 1, fnosrmtemp : 1, fwaitonlock : 1, fpurgeoldlink : 1, foverwritten : 1, fsavepathid : 1, flockable : 1, flocked : 1, fbusy : 1, funit : 6; _PROCEDURE feot; long fxpos, fypos, foldfileid; long fextra[3]; short fextra2; union { Char ftitle[fidleng + 1]; Char fbuffer[fblksize]; } UU; } fib; typedef enum { getvolumename, setvolumename, getvolumedate, setvolumedate, changename, purgename, openfile, createfile, overwritefile, closefile, purgefile, stretchit, makedirectory, crunch, opendirectory, closedirectory, catalog, stripname, setunitprefix, openvolume, duplicatelink, openparentdir, catpasswords, setpasswords, lockfile, unlockfile, openunit } damrequesttype; typedef struct unitentry { _PROCEDURE dam; _PROCEDURE tm; uchar sc, ba, du, dv; long byteoffset, devid; Char uvid[vidleng + 1]; long dvrtemp; short dvrtemp2; Char letter; unsigned offline : 1, uisinteractive : 1, umediavalid : 1, uuppercase : 1, uisfixed : 1, ureportchange : 1, pad : 1, uisblkd : 1; union { long umaxbytes; } UU; } unitentry; typedef unitentry unitabletype[maxunit + 1]; typedef _PROCEDURE amtabletype[16]; typedef Char suftabletype[16][6]; typedef short efttabletype[16]; typedef enum { inoerror, zbadblock, ibadunit, zbadmode, ztimeout, ilostunit, ilostfile, ibadtitle, inoroom, inounit, inofile, idupfile, inotclosed, inotopen, ibadformat, znosuchblk, znodevice, zinitfail, zprotected, zstrangei, zbadhardware, zcatchall, zbaddma, inotvalidsize, inotreadable, inotwriteable, inotdirect, idirfull, istrovfl, ibadclose, ieof, zuninitialized, znoblock, znotready, znomedium, inodirectory, ibadfiletype, ibadvalue, icantstretch, ibadrequest, inotlockable, ifilelocked, ifileunlocked, idirnotempty, itoomanyopen, inoaccess, ibadpass, ifilenotdir, inotondir, ineedtempdir, isrmcatchall, zmediumchanged, endioerrs } iorsltwd; typedef struct isrib { Char *intregaddr; uchar intregmask, intregvalue; unsigned chainflag : 1; _PROCEDURE proc; struct isrib *link; } isrib; typedef isrib *inttabletype[7]; typedef struct daterec { char year; unsigned day : 5, month : 4; } daterec; typedef struct timerec { unsigned hour : 5, minute : 6, centisecond : 13; } timerec; typedef struct datetimerec { daterec date; timerec time; } datetimerec; vextern short sysescapecode; vextern Anyptr *openfileptr, *recoverblock, *heapmax, *heapbase; vextern long sysioresult, hardwarestatus, locklevel; vextern unitentry *unitable; vextern inttabletype interrupttable; vextern long endisrhook, actionspending; vextern FILE **gfiles[6]; vextern _PROCEDURE *amtable; vextern Char (*suffixtable)[6]; vextern short *efttable; vextern long sysunit; vextern Char syvid[vidleng + 1], dkvid[vidleng + 1]; vextern Char syslibrary[fidleng + 1]; vextern _PROCEDURE debugger; vextern _PROCEDURE cleariohook; vextern inttabletype perminttable; vextern _PROCEDURE deferredaction[10]; vextern _PROCEDURE serialtextamhook; vextern Char sysname[10]; vextern struct { unsigned reserved1 : 1, reserved2 : 1, nointhpib : 1, crtconfigreg : 1, nokeyboard : 1, highlightsxorbiggraphics : 1, biggraphics : 1, alpha50 : 1; } sysflag; vextern struct { char pad7to1; unsigned prompresent : 1; } sysflag2; vextern short endsysvars; #undef vextern #endif /*SYSGLOBALS_H*/ /* End. */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.