home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_07
/
PURE_P_2.LZH
/
PURE_P_2.MSA
/
INTRFACE
/
TOS.INT
< prev
Wrap
Text File
|
1992-08-13
|
16KB
|
760 lines
unit tos;
interface
(* -------------------------------------------------------------------- *)
(* constants, types & variables *)
(* -------------------------------------------------------------------- *)
const
FO_READ = 0;
FO_WRITE = 1;
FO_RW = 2;
FA_RDONLY = $1;
FA_HIDDEN = $2;
FA_SYSTEM = $4;
FA_LABEL = $8;
FA_DIREC = $10;
FA_ARCH = $20;
FA_ATTRIB = $17;
type
(* ++++++++++++++++++++++++++++++++++++++++ *)
(* BIOS *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
MDPtr = ^MD;
MD = record
m_link : MDPtr;
m_start : Pointer;
m_length : LongInt;
m_own : PDPtr;
end;
MPBPtr = ^MPB;
MPB = record
mp_mfl : MDPtr;
mp_mal : MDPtr;
mp_rover : MDPtr;
end;
BPBPtr = ^BPB;
BPB = record
recsiz : Integer;
clsiz : Integer;
clsizb : Integer;
rdlen : Integer;
fsiz : Integer;
fatrec : Integer;
datrec : Integer;
numcl : Integer;
bflags : Integer;
end;
(* ++++++++++++++++++++++++++++++++++++++++ *)
(* GEMDOS *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
DTAPtr = ^DTA;
DTA = record
d_reserved : Array[1..21] of Byte;
d_attrib : Byte;
d_time : Integer;
d_date : Integer;
d_length : LongInt;
d_fname : String[12];
end;
DISKINFOPtr = ^DISKINFO;
DISKINFO = record
b_free : LongInt;
b_total : LongInt;
b_secsiz : LongInt;
b_clsiz : LongInt;
end;
DOSTIMEPtr = ^DOSTIME;
DOSTIME = record
time : Word;
date : Word;
end;
LINEPTR = ^LINE;
LINE = record
maxlen : Byte;
buffer : String;
end;
MSGTYPEPTR = ^MSGTYPE;
MSGTYPE = record
msg1 : LongInt;
msg2 : LongInt;
pid : Integer;
end;
XATTRPTR = ^XATTR;
XATTR = record
mode : Word;
index : LongInt;
dev : Word;
reserved1 : Word;
nlink : Word;
uid : Word;
gid : Word;
size : LongInt;
blksize : LongInt;
nblocks : LongInt;
mtime : Integer;
mdate : Integer;
atime : Integer;
adate : Integer;
ctime : Integer;
cdate : Integer;
attr : Integer;
reserved2 : Integer;
reserved3 : Array[0..1] of LongInt;
end;
(* ++++++++++++++++++++++++++++++++++++++++ *)
(* XBIOS *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
MOUSEPtr = ^MOUSE;
MOUSE = record
topmode : Byte;
buttons : Byte;
x_scale : Byte;
y_scale : Byte;
x_max : Integer;
y_max : Integer;
x_start : Integer;
y_start : Integer;
end;
IORECORDPtr = ^IORECORD;
IORECORD = record
ibuf : Pointer;
ibufsiz : Integer;
ibufhd : Integer;
ibuftl : Integer;
ibuflow : Integer;
ibufhi : Integer;
end;
KEYTABPtr = ^KEYTAB;
KEYTAB = record
unshift : Pointer;
shift : Pointer;
capslock : Pointer;
end;
KBDVECSPtr = ^KBDVECS;
KBDVECS = record
midivec : Pointer;
vkbderr : Pointer;
vmiderr : Pointer;
statvec : Pointer;
mousevec : Pointer;
clockvec : Pointer;
joyvec : Pointer;
midisys : Pointer;
ikdbsys : Pointer;
drvstat : Integer;
end;
PBDEFPtr = ^PBDEF;
PBDEF = record
pb_scrptr : Pointer;
pb_offset : Integer;
pb_width : Integer;
pb_height : Integer;
pb_left : Integer;
pb_right : Integer;
pb_screz : Integer;
pb_prrez : Integer;
pb_colptr : Pointer;
pb_prtype : Integer;
pb_prport : Integer;
pb_mask : Pointer;
end;
METAINFOPtr = ^METAINFO;
METAINFO = record
drivemap : LongInt;
version : Pointer;
reserved : Array[1..2] of LongInt;
end;
IARRAY_2 = ARRAY[0..1] of Integer;
IARRAY_16 = ARRAY[0..15] of Integer;
LARRAY_2 = ARRAY[0..1] of LongInt;
LARRAY_8 = ARRAY[0..7] of Integer;
LongIntFunc = Function : LongInt;
(* -------------------------------------------------------------------- *)
(* functions & procedures *)
(* -------------------------------------------------------------------- *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
(* BIOS *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
procedure Getmpb( var p_mpb : MPB );
external;
function Bconstat( dev : Integer ) : Integer;
external;
function Bconin( dev : Integer ) : LongInt;
external;
procedure Bconout( dev, c : Integer );
external;
function Rwabs( rwflag : Integer; buf : Pointer;
count, recno, dev : Integer;
lrecno : LongInt ) : LongInt;
external;
function Setexc( vecnum : Integer; vec : Pointer ) : Pointer;
external;
function Tickcal : LongInt;
external;
function Getbpb( dev : Integer ) : BPBPtr;
external;
function Bcostat( dev : Integer ) : LongInt;
external;
function Mediach( dev : Integer ) : LongInt;
external;
function Drvmap : LongInt;
external;
function Kbshift( mode : Integer ) : LongInt;
external;
(* ++++++++++++++++++++++++++++++++++++++++ *)
(* GEMDOS *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
procedure Pterm0;
external;
function Cconin : LongInt;
external;
procedure Cconout( c : Integer );
external;
function Cauxin : Integer;
external;
procedure Cauxout( c : Integer );
external;
function Cprnout( c : Integer ) : Integer;
external;
function Crawio( w : Integer ) : LongInt;
external;
function Crawcin : LongInt;
external;
function Cnecin : LongInt;
external;
procedure Cconws( str : String );
external;
procedure Cconrs( var buf : LINE );
external;
function Cconis : Integer;
external;
function Dsetdrv( drv : Integer ) : LongInt;
external;
function Cconos : Integer;
external;
function Cprnos : Integer;
external;
function Cauxis : Integer;
external;
function Cauxos : Integer;
external;
function Maddalt( start : Pointer; size : LongInt ) : LongInt;
external;
function Dgetdrv : Integer;
external;
procedure Fsetdta( newDta : DTAPtr );
external;
function Super( stack : Pointer ) : LongInt;
external;
function Tgetdate : Word;
external;
function Tsetdate( date : Word ) : Integer;
external;
function Tgettime : Word;
external;
function Tsettime( time : Word ) : Integer;
external;
function Fgetdta : DTAPtr;
external;
function Sversion : Integer;
external;
procedure Ptermres( keep : LongInt; ret : Integer );
external;
function Dfree( var buf : DISKINFO; drv : Integer ) : LongInt;
external;
function Dcreate( pathname : String ) : Integer;
external;
function Ddelete( pathname : String ) : Integer;
external;
function Dsetpath( path : String ) : Integer;
external;
function Fcreate( fname : String; attribs : Integer ) : LongInt;
external;
function Fopen( fname : String; mode : Integer ) : LongInt;
external;
function Fclose( handle : Integer ) : Integer;
external;
function Fread( handle : Integer; count : LongInt;
buffer : Pointer ) : LongInt;
external;
function Fwrite( handle : Integer; count : LongInt;
buffer : Pointer ) : LongInt;
external;
function Fdelete( fname : String ) : Integer;
external;
function Fseek( offset : LongInt;
handle, seekmode : Integer ) : LongInt;
external;
function Fattrib( fname : String;
wflag, attribs : Integer ) : Integer;
external;
function Mxalloc( amount : LongInt; mode : Integer ) : Pointer;
external;
function Fdup( handle : Integer ) : LongInt;
external;
function Fforce( stdh, nonstdh : Integer ) : Integer;
external;
function Dgetpath( var buf : String; driveno : Integer ) : Integer;
external;
function Malloc( amount : LongInt ) : Pointer;
external;
function Mfree( saddr : Pointer ) : Integer;
external;
function Mshrink( zero : Integer; block : Pointer;
newsize : LongInt ) : Integer;
external;
function Pexec( mode : Integer;
prgfile, cmdline : String;
envptr : Pointer ) : LongInt;
external;
procedure Pterm( retcode : Integer );
external;
function Fsfirst( fspec : String; attribs : Integer ) : Integer;
external;
function Fsnext : Integer;
external;
function Frename( oldname, newname : String ) : Integer;
external;
procedure Fdatime( var timeptr : DOSTIME; handle, wflag : Integer );
external;
function Flock( handle, mode : Integer;
start, length : LongInt ) : LongInt;
external;
function Syield : Integer;
external;
function Fpipe( var usrh : IARRAY_2 ) : Integer;
external;
function Fcntl( f : Integer; arg : LongInt; cmd : Integer ) : Integer;
external;
function Finstat( f : Integer ) : LongInt;
external;
function Foutstat( f : Integer ) : LongInt;
external;
function Fgetchar( f, mode : Integer ) : LongInt;
external;
function Fputchar( f : Integer; c : LongInt; mode : Integer ) : LongInt;
external;
function Pwait : LongInt;
external;
function Pnice( delta : Integer ) : Integer;
external;
function Pgetpid : Integer;
external;
function Pgetppid : Integer;
external;
function Pgetpgrp : Integer;
external;
function Psetpgrp( pid, newgrp : Integer ) : Integer;
external;
function Pgetuid : Integer;
external;
function Psetuid( id : Integer ) : Integer;
external;
function Pkill( pid, sig : Integer ) : Integer;
external;
function Psignal( sig : Integer; handler : Pointer ) : Pointer;
external;
function Pvfork : Integer;
external;
function Pgetgid : Integer;
external;
function Psetgid( id : Integer ) : Integer;
external;
function Psigblock( mask : LongInt ) : LongInt;
external;
function Psigsetmask( mask : LongInt ) : LongInt;
external;
function Pusrval( arg : LongInt ) : LongInt;
external;
function Pdomain( newdom : Integer ) : Integer;
external;
procedure Psigreturn;
external;
function Pfork : LongInt;
external;
function Pwait3( flag : Integer; var rusage : LARRAY_2 ) : LongInt;
external;
function Fselect( timeout : Word; var rfds, wfds,
xfds : LongInt ) : Integer;
external;
procedure Prusage( var r : LARRAY_8 );
external;
function Psetlimit( lim : Integer; value : LongInt ): LongInt;
external;
function Talarm( secs : LongInt ): LongInt;
external;
procedure Pause;
external;
function Sysconf( n : Integer ): LongInt;
external;
function Psigpending : LongInt;
external;
function Dpathconf( name : String ; n : Integer ) : LongInt;
external;
function Pmsg( mode : Integer; mbox : LongInt; var msg : MSGTYPE ) : LongInt;
external;
function Fmidipipe( pid, inp, outp : Integer ) : LongInt;
external;
function Prenice( pid, delta : Integer ) : Integer;
external;
function Dopendir( name : String ; flag : Integer ) : LongInt;
external;
function Dreaddir( buflen : Integer; dir : LongInt; var buf : String ) : LongInt;
external;
function Drewinddir( dir : LongInt ) : LongInt;
external;
function Dclosedir( dir : LongInt ) : LongInt;
external;
function Fxattr( flag : Integer; name : String; var buf : XATTR ) : LongInt;
external;
function Flink( oldname, newname : String ) : LongInt;
external;
function Fsymlink( oldname, newname : String ) : LongInt;
external;
function Freadlink( size : Integer; var buf : String; name : String ) : LongInt;
external;
function Dcntl( cmd : Integer; name : String; arg : LongInt ) : LongInt;
external;
function Fchown( name : String; uid, gid : Integer ) : LongInt;
external;
function Fchmod( name : String; mode : Integer ) : LongInt;
external;
function Pumask( mode : Word ) : LongInt;
external;
function Psemaphore( mode : Integer; id, timeout : LongInt ) : LongInt;
external;
(* ++++++++++++++++++++++++++++++++++++++++ *)
(* XBIOS *)
(* ++++++++++++++++++++++++++++++++++++++++ *)
procedure Initmous( typ : Integer;
var param : MOUSE; vec : Pointer );
external;
function Ssbrk( amount : Integer ) : Pointer;
external;
function Physbase : Pointer;
external;
function Logbase : Pointer;
external;
function Getrez : Integer;
external;
procedure Setscreen( logLoc, physLoc : Pointer; res : Integer );
external;
procedure Setpalette( var palettePtr : IARRAY_16 );
external;
function Setcolor( colorNum, color : Integer ) : Integer;
external;
function Floprate( drive, seekrate : Integer ) : Integer;
external;
function Floprd( buf, filler : Pointer;
devno, sectno, trackno,
sideno, count : Integer ) : Integer;
external;
function Flopwr( buf, filler : Pointer;
devno, sectno, trackno,
sideno, count : Integer ) : Integer;
external;
function Flopfmt( buf, filler : Pointer;
devno, spt, trackno,
sideno, interlv : Integer;
magic : LongInt;
virgin : Word ) : Integer;
external;
procedure Midiws( cnt : Integer; ptr : Pointer );
external;
procedure Mfpint( interno : Integer; vec : Pointer );
external;
function Iorec( devno : Integer ) : IORECORDPtr;
external;
function Rsconf( speed, flowctl, ucr,
rsr, tsr, scr : Integer ) : LongInt;
external;
function Keytbl( unshift, shift, capslock : Pointer ) : KEYTABPtr;
external;
function Random : LongInt;
external;
procedure Protobt( buf : Pointer; serialno : LongInt;
disktype, execflag : Integer );
external;
function Flopver( buf, filler : Pointer;
devno, sectno, trackno,
sideno, count : Integer ) : Integer;
external;
procedure Scrdmp;
external;
function Cursconf( mode, operand : Integer ) : Integer;
external;
procedure Settime( datetime : LongInt );
external;
function Gettime : LongInt;
external;
procedure Bioskeys;
external;
procedure Ikbdws( cnt : Integer; ptr : Pointer );
external;
procedure Jdisint( intno : Integer );
external;
procedure Jenabint( intno : Integer );
external;
function Giaccess( data : Byte; regno : Integer ) : Byte;
external;
procedure Offgibit( bitno : Integer );
external;
procedure Ongibit( bitno : Integer );
external;
procedure Xbtimer( timer, control, data : Integer; vec : Pointer );
external;
procedure Dosound( ptr : Pointer );
external;
function Setprt( config : Integer ) : Integer;
external;
function Kbdvbase : KBDVECSPtr;
external;
function Kbrate( initial, speed : Integer ) : Integer;
external;
procedure Prtblk( var defptr : PBDEF );
external;
procedure Vsync;
external;
function Supexec( codeptr : LongIntFunc ) : LongInt;
external;
procedure Puntaes;
external;
function DMAread( sector : LongInt; count : Integer;
buffer : Pointer;
devno : Integer ) : LongInt;
external;
function DMAwrite( sector : LongInt; count : Integer;
buffer : Pointer;
devno : Integer ) : LongInt;
external;
function Bconmap( devno : Integer ) : LongInt;
external;
function Blitmode( mode : Integer ) : Integer;
external;
function EsetShift( shftmode : Integer ) : Integer;
external;
function EgetShift : Integer;
external;
function EsetBank( bankNum : Integer ) : Integer;
external;
function EsetColor( colorNum, color : Integer ) : Integer;
external;
procedure EsetPalette( colorNum, count : Integer;
palettePtr : Pointer );
external;
procedure EgetPalette( colorNum, count : Integer;
palettePtr : Pointer );
external;
function EsetGray( switch : Integer ) : Integer;
external;
function EsetSmear( switch : Integer ) : Integer;
external;
procedure Metainit( var buffer : METAINFO );
external;
(* =================================================================== *)