home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d2xx
/
d201
/
draco.lha
/
Draco
/
drinc
/
libraries
/
dos.g
< prev
next >
Wrap
Text File
|
1989-04-03
|
4KB
|
178 lines
*charDOSNAME="dos.library";
ulong
MODE_READWRITE=1004,
MODE_READONLY=1005,
MODE_OLDFILE=1005,
MODE_NEWFILE=1006;
long
OFFSET_BEGINNING=-1,
OFFSET_BEGINING =OFFSET_BEGINNING,
OFFSET_CURRENT=0,
OFFSET_END=1,
SHARED_LOCK=-2,
ACCESS_READ=-2,
EXCLUSIVE_LOCK=-1,
ACCESS_WRITE=-1;
type
BPTR=ulong,
Handle_t=BPTR,
Lock_t=BPTR,
Segment_t=BPTR,
DateStamp_t=struct{
ulongds_Days;
ulongds_Minute;
ulongds_Tick;
};
ulong
TICKS_PER_SECOND=50;
type
FileInfoBlock_t=struct{
ulongfib_DiskKey;
ulongfib_DirEntryType;
[108]charfib_FileName;
ulongfib_Protection;
ulongfib_EntryType;
ulongfib_Size;
ulongfib_NumBlocks;
DateStamp_tfib_Date;
[116]charfib_Comment;
};
ulong
FIBB_SCRIPT=6,
FIBB_PURE=5,
FIBB_ARCHIVE=4,
FIBB_READ=3,
FIBB_WRITE=2,
FIBB_EXECUTE=1,
FIBB_DELETE=0,
FIBF_SCRIPT=1<<FIBB_SCRIPT,
FIBF_PURE=1<<FIBB_PURE,
FIBF_ARCHIVE=1<<FIBB_ARCHIVE,
FIBF_READ=1<<FIBB_READ,
FIBF_WRITE=1<<FIBB_WRITE,
FIBF_EXECUTE=1<<FIBB_EXECUTE,
FIBF_DELETE=1<<FIBB_DELETE;
type
InfoData_t=struct{
ulongid_NumSoftErrors;
ulongid_UnitNumber;
ulongid_DiskState;
ulongid_NumBlocks;
ulongid_NumBlocksUsed;
ulongid_BytesPerBlock;
ulongid_DiskType;
BPTRid_VolumeNode;
ulongid_InUse;
};
ulong
ID_WRITE_PROTECTED=80,
ID_VALIDATING=81,
ID_VALIDATED=82,
ID_NO_DISK_PRESENT=0xffffffff,
ID_UNREADABLE_DISK=('B'-'\e')<<24|('A'-'\e')<<16|
('D'-'\e')<<8,
ID_DOS_DISK=('D'-'\e')<<24|('O'-'\e')<<16|
('S'-'\e')<<8,
ID_NOT_REALLY_DOS=('N'-'\e')<<24|('D'-'\e')<<16|
('O'-'\e')<<8|('S'-'\e'),
ID_KICKSTART_DISK=('K'-'\e')<<24|('I'-'\e')<<16|
('C'-'\e')<<8|('K'-'\e'),
ERROR_NO_FREE_STORE=103,
ERROR_TASK_TABLE_FULL=105,
ERROR_LINE_TOO_LONG=120,
ERROR_FILE_NOT_OBJECT=121,
ERROR_INVALID_RESIDENT_LIBRARY=122,
ERROR_NO_DEFAULT_DIR=201,
ERROR_OBJECT_IN_USE=202,
ERROR_OBJECT_EXISTS=203,
ERROR_DIR_NOT_FOUND=204,
ERROR_OBJECT_NOT_FOUND=205,
ERROR_BAD_STREAM_NAME=206,
ERROR_OBJECT_TOO_LARGE=207,
ERROR_ACTION_NOT_KNOWN=209,
ERROR_INVALID_COMPONENT_NAME=210,
ERROR_INVALID_LOCK=211,
ERROR_OBJECT_WRONG_TYPE=212,
ERROR_DISK_NOT_VALIDATED=213,
ERROR_DISK_WRITE_PROTECTED=214,
ERROR_RENAME_ACROSS_DEVICES=215,
ERROR_DIRECTORY_NOT_EMPTY=216,
ERROR_TOO_MANY_LEVELS=217,
ERROR_DEVICE_NOT_MOUNTED=218,
ERROR_SEEK_ERROR=219,
ERROR_COMMENT_TOO_BIG=220,
ERROR_DISK_FULL=221,
ERROR_DELETE_PROTECTED=222,
ERROR_WRITE_PROTECTED=223,
ERROR_READ_PROTECTED=224,
ERROR_NOT_A_DOS_DISK=225,
ERROR_NO_DISK=226,
ERROR_NO_MORE_ENTRIES=232,
RETURN_OK=0,
RETURN_WARN=5,
RETURN_ERROR=10,
RETURN_FAIL=20,
SIGBREAKB_CTRL_C=12,
SIGBREAKB_CTRL_D=13,
SIGBREAKB_CTRL_E=14,
SIGBREAKB_CTRL_F=15,
SIGBREAKF_CTRL_C=1<<SIGBREAKB_CTRL_C,
SIGBREAKF_CTRL_D=1<<SIGBREAKB_CTRL_D,
SIGBREAKF_CTRL_E=1<<SIGBREAKB_CTRL_E,
SIGBREAKF_CTRL_F=1<<SIGBREAKB_CTRL_F;
extern
OpenDosLibrary(ulongversion)*DosLibrary_t,
CloseDosLibrary()void,
Close(Handle_tfd)void,
CreateDir(*charname)Lock_t,
CurrentDir(Lock_tlock)Lock_t,
DeleteFile(*charname)boid,
DupLock(Lock_tlock)Lock_t,
Examine(Lock_tlock;*FileInfoBlock_tfib)bool,
ExNext(Lock_tlock;*FileInfoBlock_tfib)bool,
Info(Lock_tlock;*InfoData_tid)bool,
Input()Handle_t,
IoErr()ulong,
IsInteractive(Handle_tfd)bool,
Lock(*charname;longaccessMode)Lock_t,
Open(*charname;ulongaccessMode)Handle_t,
Output()Handle_t,
ParentDir(Lock_tlock)Lock_t,
Read(Handle_tfd;arbptrbuffer;ulonglength)ulong,
Rename(*charoldName,newName)bool,
Seek(Handle_tfd;longposition,seekMode)long,
SetComment(*charname,comment)bool,
SetProtection(*charname;ulongmask)bool,
UnLock(Lock_tlock)void,
WaitForChar(Handle_tfd;ulongtimeout)bool,
Write(Handle_tfd;arbptrbuffer;ulonglength)ulong,
CreateProc(*charname;longpri;Segment_tseg;ulongstackSize)*MsgPort_t,
DateStamp(*DateStamp_tds)void,
Delay(ulongtimeout)void,
DeviceProc(*charname)*MsgPort_t,
Exit(ulongreturnCode)void,
Execute(*charcommandString;Handle_tinputFd,outputFd)bool,
LoadSeg(*charname)Segment_t,
UnLoadSeg(Segment_tsegment)bool,
DosError(interrorCode)*char;