home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / workbench / devs / ffs_handler_gcc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-09  |  1.2 KB  |  48 lines

  1. /*
  2.     (C) 1995-96 AROS - The Amiga Replacement OS
  3.     $Id: ffs_handler_gcc.h,v 1.1 1996/11/14 08:53:30 aros Exp $
  4.     $Log: ffs_handler_gcc.h,v $
  5.     Revision 1.1  1996/11/14 08:53:30  aros
  6.     First attempt for a real fastfilesystem
  7.     (only directoryscans for now)
  8.  
  9.  
  10.     Desc:
  11.     Lang:
  12. */
  13. #ifndef RAM_HANDLER_GCC_H
  14. #define RAM_HANDLER_GCC_H
  15. #include <aros/libcall.h>
  16. #include <exec/execbase.h>
  17. #include <exec/io.h>
  18. #include <exec/devices.h>
  19. #include <dos/dos.h>
  20. #include <dos/filesystem.h>
  21.  
  22. struct ffsbase
  23. {
  24.     struct Device device;
  25.     struct ExecBase *sysbase;
  26.     struct DosLibrary *dosbase;
  27.     BPTR seglist;
  28.     ULONG unitcount;
  29.     struct MsgPort port;        /* Port to put IORequests to */
  30.     struct MsgPort dport;        /* reply port for exec device */
  31.     struct SignalSemaphore sigsem;    /* Semaphore for rport */
  32.     struct MsgPort rport;        /* Message reply port */
  33.     struct IOFileSys *iofs;        /* IORequest to be aborted or NULL */
  34.     LONG dlflag;            /* have to change dos list */
  35.     struct MinList inserted;
  36.     struct MinList mounted;
  37.     struct MinList removed;
  38. };
  39.  
  40. #define expunge() \
  41. AROS_LC0(BPTR, expunge, struct rambase *, ffsbase, 3, ffs)
  42.  
  43. #define SysBase ffsbase->sysbase
  44. #define DOSBase ffsbase->dosbase
  45.  
  46. #endif
  47.  
  48.