home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
396.lha
/
MSH_v1.30s
/
src
/
dos.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-07-10
|
3KB
|
130 lines
/*
* $Id: dos.h,v 1.30 90/06/04 23:18:20 Rhialto Rel $
* $Log: dos.h,v $
* Revision 1.30 90/06/04 23:18:20 Rhialto
* Release 1 Patch 3
*
*/
#ifndef EXEC_TYPES_H
#include "exec/types.h"
#endif
#ifndef EXEC_MEMORY_H
#include "exec/memory.h"
#endif
#ifndef EXEC_INTERRUPTS_H
#include "exec/interrupts.h"
#endif
#ifndef EXEC_NODES_H
#include "exec/nodes.h"
#endif
#ifndef EXEC_PORTS_H
#include "exec/ports.h"
#endif
#ifndef EXEC_IO_H
#include "exec/io.h"
#endif
#ifndef LIBRARIES_DOS_H
#include "libraries/dos.h"
#endif
#ifndef LIBRARIES_DOSEXTENS_H
#include "libraries/dosextens.h"
#endif
#ifndef LIBRARIES_FILEHANDLER_H
#include "libraries/filehandler.h"
#endif
#ifndef DEVICES_TRACKDISK_H
#include "devices/trackdisk.h"
#endif
#ifndef DEVICES_TIMER_H
#include "devices/timer.h"
#endif
/*
* ACTIONS which do not exist in dosextens.h but which indeed exist on
* the Amiga.
*/
#define ACTION_MORECACHE 18L
#define ACTION_FLUSH 27L
#define ACTION_RAWMODE 994L
#define ACTION_OPENRW 1004L
#define ACTION_OPENOLD 1005L
#define ACTION_OPENNEW 1006L
#define ACTION_CLOSE 1007L
#define ACTION_SEEK 1008L
#ifndef FIBB_HIDDEN
#define FIBB_HIDDEN 7L
#define FIBF_HIDDEN (1L<<FIBB_HIDDEN)
#endif
#ifndef DE_DOSTYPE
#define DE_DOSTYPE 16L
#endif
#define CTOB(x) (void *)(((long)(x))>>2) /* BCPL conversion */
#define BTOC(x) (void *)(((long)(x))<<2)
#define bmov(ss,dd,nn) CopyMem(ss,dd,(ulong)(nn)) /* Matt's habit */
#define DOS_FALSE 0L
#define DOS_TRUE -1L
typedef struct Interrupt INTERRUPT;
typedef struct Task TASK;
typedef struct FileLock LOCK;
typedef struct FileInfoBlock FIB;
typedef struct DosPacket PACKET;
typedef struct Process PROC;
typedef struct DeviceNode DEVNODE;
typedef struct DeviceList DEVLIST;
typedef struct DosInfo DOSINFO;
typedef struct RootNode ROOTNODE;
typedef struct FileHandle FH;
typedef struct MsgPort PORT;
typedef struct Message MSG;
typedef struct MinList LIST;
typedef struct MinNode NODE;
typedef struct DateStamp STAMP;
typedef struct InfoData INFODATA;
typedef struct DosLibrary DOSLIB;
#define PType (packet->dp_Type)
#define PArg1 (packet->dp_Arg1)
#define PArg2 (packet->dp_Arg2)
#define PArg3 (packet->dp_Arg3)
#define PArg4 (packet->dp_Arg4)
#define PRes1 (packet->dp_Res1)
#define PRes2 (packet->dp_Res2)
#define dl_MSFileLockList dl_unused
/*
* (void *) in C means 'pointer to anything'. I use it
* extensively.
*/
extern void *AbsExecBase;
extern struct MsgPort *CreatePort();
extern void *AllocMem(), *RemHead(), *GetMsg();
extern void *FindTask(), *Open(), *OpenLibrary();
extern void *dosalloc(), *NextNode(), *GetHead(), *GetTail();
extern void btos(), returnpacket();
extern char *typetostr();
extern struct DeviceList *NewVolNode();
extern void FreeVolNode();
extern struct FileLock *NewFileLock();
extern long FreeFileLock();
extern int DiskRemoved();
extern void DiskInserted();
extern DEVLIST *WhichDiskInserted();
extern int CheckRead();
extern int CheckWrite();