home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / newc_dev / dr_15b.lha / fastscan.h < prev    next >
C/C++ Source or Header  |  1992-02-18  |  2KB  |  85 lines

  1. /* this is stuff for calling fastscan.library from an Aztec or (hopefully)
  2. SAS/Lattice or DICE C program.  if using an older non-ansi compiler, #define
  3. __NO_ANSI and it will make do.  It will do that for you with Aztec and (I think)
  4. with Lattice, when you have an older version. */
  5.  
  6.  
  7. #ifndef FASTSCAN_DOT_AITCH
  8. #define FASTSCAN_DOT_AITCH
  9.  
  10. #include <exec/types.h>
  11. #include <libraries/dos.h>
  12.  
  13.  
  14. struct Library *FastScanBase;
  15.  
  16.  
  17. struct Fib {
  18.     struct FileInfoBlock f;
  19.     long p;
  20.     long s;
  21. };
  22.  
  23.  
  24. #ifdef AZTEC_C
  25. #if __VERSION < 500
  26. #define __NO_ANSI
  27. #endif
  28. #endif
  29.  
  30. #ifdef LATTICE
  31. #ifndef LATTICE_50
  32. #define __NO_ANSI
  33. #endif
  34. #endif
  35.  
  36.  
  37. #ifdef __NO_ANSI
  38.  
  39. long FastExamine();
  40. long FastExNext();
  41. void FastExCleanup();
  42. void *FastExGet80();
  43. long FSRexxQuery();
  44.  
  45. #else
  46.  
  47. long FastExamine(BPTR l, struct Fib *fib);
  48. long FastExNext(BPTR l, struct Fib *fib);
  49.  
  50. void FastExCleanup(struct Fib *fib);
  51. void *FastExGet80(struct Fib *fib);
  52.  
  53. long FSRexxQuery(struct Message *rxm);     /* currently just returns error 1 */
  54.  
  55.  
  56. #ifdef AZTEC_C
  57.  
  58. #pragma amicall(FastScanBase, 0x1E, FSRexxQuery(a0))
  59. #pragma amicall(FastScanBase, 0x24, FastExamine(d0, a0))
  60. #pragma amicall(FastScanBase, 0x2A, FastExNext(d0, a0))
  61. #pragma amicall(FastScanBase, 0x30, FastExCleanup(a0))
  62. #pragma amicall(FastScanBase, 0x36, FastExGet80(a0))
  63.  
  64. #endif
  65.  
  66.  
  67. #ifdef LATTICE
  68.  
  69. #pragma libcall FastScanBase FSRexxQuery   1E 801
  70. #pragma libcall FastScanBase FastExamine   24 8002
  71. #pragma libcall FastScanBase FastExNext    2A 8002
  72. #pragma libcall FastScanBase FastExCleanup 30 801
  73. #pragma libcall FastScanBase FastExGet80   36 801
  74.  
  75. #endif
  76.  
  77.  
  78. /*** DICE has no applicable pragmas at this time --
  79.      use "#ifdef _DCC" when it does, I think ***/
  80.  
  81. #endif
  82.  
  83. #endif
  84.  
  85.