home *** CD-ROM | disk | FTP | other *** search
- #ifndef DOS_DOS_H
- #define DOS_DOS_H
-
- /*******************************************************************
- pOS / Amiga adapt
- *******************************************************************/
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #ifndef __INC_POS_PDOS_DATE_H
- #include <p:pDos/Date.h>
- #endif
- #ifndef __INC_POS_PDOS_DOSERRORS_H
- #include <p:pDos/DosErrors.h>
- #endif
- #ifndef __INC_POS_PDOS_DOSSIG_H
- #include <p:pDos/DosSig.h>
- #endif
- #ifndef __INC_POS_PDOS_DOSTYPES_H
- #include <p:pDos/DosTypes.h>
- #endif
- #ifndef __INC_POS_PDOS_FIB_H
- #include <p:pDos/FIB.h>
- #endif
- #ifndef __INC_POS_PDOS_FILES_H
- #include <p:pDos/Files.h>
- #endif
- #ifndef __INC_POS_PDOS_LOCK_H
- #include <p:pDos/Lock.h>
- #endif
- #ifndef __INC_POS_PDOS_INFODATA_H
- #include <p:pDos/InfoData.h>
- #endif
-
-
- #ifndef __BCPL__
- #define __BCPL__
- typedef long BPTR;
- typedef long BSTR;
- #endif
-
- #define DOSNAME "pdos.library"
-
- #define DOSTRUE (-1)
- #define DOSFALSE (0)
-
- #define MODE_OLDFILE FILEHDMOD_Read
- #define MODE_NEWFILE FILEHDMOD_Write
- #define MODE_READWRITE FILEHDMOD_ReadWrite
-
- #define OFFSET_BEGINNING FILEHDSEK_Begin
- #define OFFSET_CURRENT FILEHDSEK_Current
- #define OFFSET_END FILEHDSEK_End
-
- #define OFFSET_BEGINING OFFSET_BEGINNING
-
- #define SHARED_LOCK FILELKACC_Shared
- #define ACCESS_READ FILELKACC_Shared
- #define EXCLUSIVE_LOCK FILELKACC_Exclusive
- #define ACCESS_WRITE FILELKACC_Exclusive
-
- struct DateStamp
- {
- ULONG ds_Days;
- UWORD ds_Minute;
- UWORD ds_Tick;
- };
-
-
-
- #define TICKS_PER_SECOND pOS_TICKS_PER_SECOND
-
- /*----------------------------------
- -----------------------------------*/
- struct FileInfoBlock
- {
- ULONG fib_DiskKey[4];
-
- SBYTE fib_DirEntryType;
- UBYTE fib_Pad;
-
- dosname_t fib_FileName[pOS_DosFileName_MAX];
- ULONG fib_Protection;
- dossize_t fib_Size;
- dossize_t fib_NumBlocks;
- struct DateStamp fib_Date;
- dosname_t fib_Comment[pOS_DosComment_MAX];
-
- UWORD fib_OwnerUID;
- UWORD fib_OwnerGID;
-
- UBYTE fib_Reserved[32];
- };
-
-
-
-
- #define FIBB_OTR_READ FIBB_OTR_Read
- #define FIBB_OTR_WRITE FIBB_OTR_Write
- #define FIBB_OTR_EXECUTE FIBB_OTR_Execute
- #define FIBB_OTR_DELETE FIBB_OTR_Delete
- #define FIBB_GRP_READ FIBB_GRP_Read
- #define FIBB_GRP_WRITE FIBB_GRP_Write
- #define FIBB_GRP_EXECUTE FIBB_GRP_Execute
- #define FIBB_GRP_DELETE FIBB_GRP_Delete
-
- #define FIBB_SCRIPT FIBB_Script
- #define FIBB_PURE FIBB_Pure
- #define FIBB_ARCHIVE FIBB_Archive
- #define FIBB_READ FIBB_Read
- #define FIBB_WRITE FIBB_Write
- #define FIBB_EXECUTE FIBB_Execute
- #define FIBB_DELETE FIBB_Delete
-
- #define FIBF_OTR_READ FIBF_OTR_Read
- #define FIBF_OTR_WRITE FIBF_OTR_Write
- #define FIBF_OTR_EXECUTE FIBF_OTR_Execute
- #define FIBF_OTR_DELETE FIBF_OTR_Delete
- #define FIBF_GRP_READ FIBF_GRP_Read
- #define FIBF_GRP_WRITE FIBF_GRP_Write
- #define FIBF_GRP_EXECUTE FIBF_GRP_Execute
- #define FIBF_GRP_DELETE FIBF_GRP_Delete
-
- #define FIBF_SCRIPT FIBF_Script
- #define FIBF_PURE FIBF_Pure
- #define FIBF_ARCHIVE FIBF_Archive
- #define FIBF_READ FIBF_Read
- #define FIBF_WRITE FIBF_Write
- #define FIBF_EXECUTE FIBF_Execute
- #define FIBF_DELETE FIBF_Delete
-
- #define FAULT_MAX 82
-
- #ifdef __IGNORE_NOT_SUPPORTED__
-
- #define BADDR(x) ((APTR) x )
- #define MKBADDR(x) ((LONG) x )
-
- #else /** __IGNORE_NOT_SUPPORTED__ **/
-
- #endif /** __IGNORE_NOT_SUPPORTED__ **/
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct DosInfoData
- {
- ULONG id_NumSoftErrors;
- ULONG id_DiskState;
- ULONG id_DiskType;
- BPTR id_Volume;
- APTR id_Mount;
- ULONG id_Flags;
-
- UBYTE id_Reserved1[32];
- dossize_t id_NumBlocks;
- dossize_t id_NumBlocksUsed;
-
- UBYTE id_Reserved2[32];
- };
-
- #define ID_WRITE_PROTECTED DOSIFDST_WriteProtected
- #define ID_VALIDATING DOSIFDST_Validating
- #define ID_VALIDATED DOSIFDST_Validated
-
- #define ID_NO_DISK_PRESENT DOSIFDTYP_NoDiskPresent
- #define ID_UNREADABLE_DISK DOSIFDTYP_UnreadableDisk
- #define ID_DOS_DISK DOSIFDTYP_DosDisk
- #define ID_FFS_DISK DOSIFDTYP_FFSDisk
- #define ID_INTER_DOS_DISK DOSIFDTYP_InterDOSDisk
- #define ID_INTER_FFS_DISK DOSIFDTYP_InterFFSDisk
- #define ID_FASTDIR_DOS_DISK DOSIFDTYP_FastDirDOSDisk
- #define ID_FASTDIR_FFS_DISK DOSIFDTYP_FastDirFFSDisk
- #define ID_NOT_REALLY_DOS DOSIFDTYP_NotReallyDos
- #define ID_KICKSTART_DISK DOSIFDTYP_KickstartDisk
- #define ID_MSDOS_DISK DOSIFDTYP_MSDOSDisk
-
- #define ERROR_NO_FREE_STORE DOSERR_NoMem
- #define ERROR_TASK_TABLE_FULL DOSERR_Unknown
- #define ERROR_BAD_TEMPLATE DOSERR_BadTemplate1
- #define ERROR_BAD_NUMBER DOSERR_Unknown
- #define ERROR_REQUIRED_ARG_MISSING DOSERR_RequiredArgMissing
- #define ERROR_KEY_NEEDS_ARG DOSERR_KeyNeedsArg
- #define ERROR_TOO_MANY_ARGS DOSERR_TooManyArgs
- #define ERROR_UNMATCHED_QUOTES DOSERR_BadTemplate1
- #define ERROR_LINE_TOO_LONG DOSERR_NameToLong
- #define ERROR_FILE_NOT_OBJECT DOSERR_FileIsNotLoadModul
- #define ERROR_INVALID_RESIDENT_LIBRARY DOSERR_Unknown
- #define ERROR_NO_DEFAULT_DIR DOSERR_Unknown
- #define ERROR_OBJECT_IN_USE DOSERR_ObjectInUse
- #define ERROR_OBJECT_EXISTS DOSERR_ObjectExists
- #define ERROR_DIR_NOT_FOUND DOSERR_DirNotFound
- #define ERROR_OBJECT_NOT_FOUND DOSERR_ObjectNotFound
- #define ERROR_BAD_STREAM_NAME DOSERR_Unknown
- #define ERROR_OBJECT_TOO_LARGE DOSERR_Unknown
- #define ERROR_ACTION_NOT_KNOWN DOSERR_NotImplemented
- #define ERROR_INVALID_COMPONENT_NAME DOSERR_Unknown
- #define ERROR_INVALID_LOCK DOSERR_Unknown
- #define ERROR_OBJECT_WRONG_TYPE DOSERR_WrongObjectType
- #define ERROR_DISK_NOT_VALIDATED DOSERR_DiskNotValidated
- #define ERROR_DISK_WRITE_PROTECTED DOSERR_DiskWriteProtected
- #define ERROR_RENAME_ACROSS_DEVICES DOSERR_RenameAcrossDevices
- #define ERROR_DIRECTORY_NOT_EMPTY DOSERR_DirectoryNotEmpty
- #define ERROR_TOO_MANY_LEVELS DOSERR_Unknown
- #define ERROR_DEVICE_NOT_MOUNTED DOSERR_DeviceNotMounted
- #define ERROR_SEEK_ERROR DOSERR_SeekFailure
- #define ERROR_COMMENT_TOO_BIG DOSERR_CommentTooLong
- #define ERROR_DISK_FULL DOSERR_DiskFull
- #define ERROR_DELETE_PROTECTED DOSERR_DeleteProtected
- #define ERROR_WRITE_PROTECTED DOSERR_WriteProtected
- #define ERROR_READ_PROTECTED DOSERR_ReadProtected
- #define ERROR_NOT_A_DOS_DISK DOSERR_NotDosDisk
- #define ERROR_NO_DISK DOSERR_NoDiskInDrive
- #define ERROR_NO_MORE_ENTRIES DOSERR_NoMoreEntries
-
- #define ERROR_IS_SOFT_LINK DOSERR_Unknown
- #define ERROR_OBJECT_LINKED DOSERR_Unknown
- #define ERROR_BAD_HUNK DOSERR_Unknown
- #define ERROR_NOT_IMPLEMENTED DOSERR_Unknown
- #define ERROR_RECORD_NOT_LOCKED DOSERR_Unknown
- #define ERROR_LOCK_COLLISION DOSERR_Unknown
- #define ERROR_LOCK_TIMEOUT DOSERR_Unknown
- #define ERROR_UNLOCK_ERROR DOSERR_Unknown
-
- #define RETURN_OK DOSFAIL_OK
- #define RETURN_WARN DOSFAIL_WARN
- #define RETURN_ERROR DOSFAIL_ERROR
- #define RETURN_FAIL DOSFAIL_FAIL
-
- #define SIGBREAKB_CTRL_C DOSSIGB_CTRL_C
- #define SIGBREAKB_CTRL_D DOSSIGB_CTRL_D
- #define SIGBREAKB_CTRL_E DOSSIGB_CTRL_E
- #define SIGBREAKB_CTRL_F DOSSIGB_CTRL_F
-
- #define SIGBREAKF_CTRL_C DOSSIGF_CTRL_C
- #define SIGBREAKF_CTRL_D DOSSIGF_CTRL_D
- #define SIGBREAKF_CTRL_E DOSSIGF_CTRL_E
- #define SIGBREAKF_CTRL_F DOSSIGF_CTRL_F
-
- #define DOS_FIB DOSOBJ_FIB
- #define DOS_CLI DOSOBJ_Shell
-
- #endif /* DOS_DOS_H */
-