home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / code / desklib / DeskLib / !DeskLib / h / File < prev    next >
Encoding:
Text File  |  1995-09-02  |  4.2 KB  |  131 lines

  1.  
  2. #ifndef __dl_file_h
  3. #define __dl_file_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifndef __dl_core_h
  8. #include "Core.h"
  9. #endif
  10. #ifndef __dl_swi_h
  11. #include "SWI.h"
  12. #endif
  13. extern os_error *file_lasterror;
  14. extern os_error *File_Delete(char *filename);
  15. extern int File_Size(char *filename);
  16. extern BOOL File_Exists(char *filename);
  17. typedef int file_position;
  18. typedef int file_handle;
  19. #define file_READERROR (-1)
  20. typedef enum
  21. {
  22. file_READ = 0x40, 
  23. file_WRITE = 0x80, 
  24. file_APPEND = 0xC0 
  25. } file_access;
  26. extern file_handle File_Open(char *filename, file_access access);
  27. extern os_error *File_Close(file_handle handle);
  28. extern BOOL File_EOF(file_handle handle);
  29. extern os_error *File_Seek(file_handle handle, file_position position);
  30. extern file_position File_ReturnPos(file_handle handle);
  31. extern int File_ReadExtent(file_handle handle);
  32. extern os_error *File_WriteBytes(file_handle handle,
  33. void *buffer, int numbytes);
  34. extern int File_ReadBytes(file_handle handle, void *buffer, int numbytes);
  35. extern os_error *File_Write8(file_handle handle, int byte);
  36. #define File_WriteByte File_Write8
  37. #define File_WriteChar File_Write8
  38. extern int File_Read8(file_handle handle);
  39. #define File_ReadByte File_Read8
  40. #define File_ReadChar File_Read8
  41. extern os_error *File_Write32(file_handle handle, int word);
  42. #define File_WriteWord File_Write32
  43. #define File_WriteInt File_Write32
  44. #define File_WriteLong File_Write32
  45. extern int File_Read32(file_handle handle);
  46. #define File_ReadWord File_Read32
  47. #define File_ReadInt File_Read32
  48. #define File_ReadLong File_Read32
  49. extern int File_Read32R(file_handle handle);
  50. #define File_ReadWordR File_Read32R
  51. #define File_ReadIntR File_Read32R
  52. #define File_ReadLongR File_Read32R
  53. extern os_error *File_Write32R(file_handle handle, int word);
  54. #define File_WriteWordR File_Write32R
  55. #define File_WriteIntR File_Write32R
  56. #define File_WriteLongR File_Write32R
  57. extern void File_SetType(char *filename, int type);
  58. extern int File_GetType(char *filename);
  59. #define File_GetLength(filename, size_ptr) \
  60. SWI(2, 5, SWI_OS_File, 5, (filename), NULL, NULL, NULL, NULL, (size_ptr))
  61. extern BOOL File_IsDirectory(char *pathname);
  62. extern os_error *File_LoadTo(char *filename, void *address, int *size );
  63. extern void File_Date(char *filename, char *fivebytedate);
  64. extern char *File_AllocLoad0( char *filename);
  65. extern int File_printf(file_handle file, char *format, ...);
  66. extern int File_ReadExtent(file_handle handle);
  67. #define FILETYPE(x) (((x) & 0xFFF00) >> 8)
  68. #define filetype_AIM 0x004
  69. #define filetype_CLEAR 0x690
  70. #define filetype_DEGAS 0x691
  71. #define filetype_IMG 0x692
  72. #define filetype_AMIGAIFF 0x693
  73. #define filetype_MACPAINT 0x694
  74. #define filetype_GIF 0x695
  75. #define filetype_PCX 0x697
  76. #define filetype_QRT 0x698
  77. #define filetype_MTV 0x699
  78. #define filetype_CADSOFT 0x69A
  79. #define filetype_IRLAM 0x69B
  80. #define filetype_BMP 0x69C
  81. #define filetype_TARGA 0x69D
  82. #define filetype_PBMPlus 0x69E
  83. #define filetype_ZVDA 0x69F
  84. #define filetype_MSX2 0x6A0
  85. #define filetype_RLE 0x6A1
  86. #define filetype_COLORIX 0x6A2
  87. #define filetype_FITS 0x6A3
  88. #define filetype_HAWKV9 0x6A4
  89. #define filetype_REPLAY 0xAE7
  90. #define filetype_ALARMS 0xAE9
  91. #define filetype_DRAWFILE 0xAFF
  92. #define filetype_BBCROM 0xBBC
  93. #define filetype_AUDIOWRK 0xBD6
  94. #define filetype_RENDPIC 0xD58
  95. #define filetype_ARCHIVE 0xDDC
  96. #define filetype_PROART 0xDE2
  97. #define filetype_PICTURE 0xDFA
  98. #define filetype_PRNTDEFN 0xFC6
  99. #define filetype_DOSDISC 0xFC8
  100. #define filetype_SUNRASTR 0xFC9
  101. #define filetype_DEVICE 0xFCC
  102. #define filetype_CACHE 0xFCF
  103. #define filetype_PCEMCONF 0xFD0
  104. #define filetype_DEBIMAGE 0xFD3
  105. #define filetype_TASKEXEC 0xFD6
  106. #define filetype_TASKOBEY 0xFD7
  107. #define filetype_MAKEFILE 0xFE1
  108. #define filetype_DOS 0xFE4
  109. #define filetype_DESKTOP 0xFEA
  110. #define filetype_OBEY 0xFEB
  111. #define filetype_TEMPLATE 0xFEC
  112. #define filetype_PALETTE 0xFED
  113. #define filetype_TIFF 0xFF0
  114. #define filetype_CONFIG 0xFF2
  115. #define filetype_PRINTOUT 0xFF4
  116. #define filetype_POSCRIPT 0xFF5
  117. #define filetype_FONT 0xFF6
  118. #define filetype_BBCFONT 0xFF7
  119. #define filetype_ABSOLUTE 0xFF8
  120. #define filetype_SPRITE 0xFF9
  121. #define filetype_MODULE 0xFFA
  122. #define filetype_BASIC 0xFFB
  123. #define filetype_UTILITY 0xFFC
  124. #define filetype_DATA 0xFFD
  125. #define filetype_COMMAND 0xFFE
  126. #define filetype_TEXT 0xFFF
  127. #ifdef __cplusplus
  128. }
  129. #endif
  130. #endif
  131.