home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / Guide.lzx / Guide / pDOS / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-11  |  5.8 KB  |  145 lines

  1. @DATABASE "pDOS/Files.h"
  2. @MASTER   "Work2:AD/IInc/pDOS/Files.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:34:06
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pDOS/Files.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pDOS/Files.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_FHManage" LINK "pDOS/Files.h/File" 106}  @{"pOS_FileHandle" LINK "pDOS/Files.h/File" 24}
  16.  
  17. @ENDNODE
  18. @NODE File "pDOS/Files.h"
  19. #ifndef __INC_POS_PDOS_FILES_H
  20. #define __INC_POS_PDOS_FILES_H
  21. /*******************************************************************
  22.  Includes Release 24
  23.  (C) Copyright 1995-1997 proDAD
  24.      All Rights Reserved
  25.  
  26.  $AUT Holger Burkarth
  27.  $DAT >>Files.h<<   09 Nov 1996    11:53:45 - (C) ProDAD
  28. *******************************************************************/
  29. #ifndef __INC_POS_PDOS_DOSTYPES_H
  30. #include <@{"pDOS/DosTypes.h" LINK "pDOS/DosTypes.h/File"}>
  31. #endif
  32. #ifndef __INC_POS_PDOS_DOSERRORS_H
  33. #include <@{"pDOS/DosErrors.h" LINK "pDOS/DosErrors.h/File"}>
  34. #endif
  35. #ifndef __INC_POS_PEXEC_LIST_H
  36. #include <@{"pExec/List.h" LINK "pExec/List.h/File"}>
  37. #endif
  38.  
  39.  
  40. /*----------------------------------
  41. -----------------------------------*/
  42. struct pOS_FileHandle
  43. {
  44.   @{"struct pOS_Node" LINK "pExec/List.h/File" 18}       fh_Node;
  45.   @{"struct pOS_DosDevice" LINK "pDOS/DosDev.h/File" 256} *fh_DosDev;
  46.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 fh_Access;     /* (enum pOS_FileHandleMode) */
  47.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 fh_Flags;      /* (enum pOS_FileHandleFlags) */
  48.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 fh_Count;      /* Mehrfachnutzung */
  49.  
  50.   @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}             fh_Size;       /* Gesamtlänge der Datei in Bytes */
  51.   @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}             fh_Pos;        /* Position in der Datei [0,... fh_Size-1], fh_Pos==fh_Size => EOF */
  52.  
  53.   @{"struct pOS_FHManage" LINK File 106}  *fh_Manage;
  54.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                *fh_Buffer;
  55.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 fh_BufType;    /* (enum pOS_FileHandleBufType)  */
  56.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 fh_BufFlags;   /* (enum pOS_FileHandleBufFlags) */
  57.   @{"size_t" LINK "pExec/Types.h/File" 113}                fh_BufMaxSize; /* Buffer-Size */
  58.   @{"size_t" LINK "pExec/Types.h/File" 113}                fh_BufSize;    /* Used Size */
  59.   @{"size_t" LINK "pExec/Types.h/File" 113}                fh_BufPos;     /* Position in Buffer (0,1,...fh_BufMaxSize-1) */
  60.   @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}             fh_BufFPt;     /* FilePointer auf Buffer-Start */
  61.  
  62.   @{"UBYTE" LINK "pExec/Types.h/File" 95} fh_Reserved2[32]; /* *** must be null */
  63. };
  64.  
  65.  
  66. enum pOS_FileHandleFlags  /** fh_Flags **/
  67. {
  68.   FILEHDF_Interactive  =0x01,
  69.   FILEHDF_ANSI0        =0x02, /* File versteht ANSI-Codes */
  70.   FILEHDF_Net          =0x04, /* File is Net-File */
  71. };
  72.  
  73.  
  74. /** @{"pOS_OpenFile()" LINK "pDOSD/pOS_OpenFile"} **/
  75. enum pOS_FileHandleMode /** fh_Access **/
  76. {
  77.   FILEHDMOD_Unknown=0,
  78.   FILEHDMOD_Read,
  79.   FILEHDMOD_Write,
  80.   FILEHDMOD_ReadWrite,
  81.   FILEHDMOD_Append,
  82.  
  83.   FILEHDMOD_AcMsk = 0x0f,  /* Mask for Access-Mode */
  84.  
  85.   FILEHDMOD_GBuffer = 0x0100, /* FH has greate read/write-buffers (64kB) else (4kB) */
  86.   FILEHDMOD_DobBuf  = 0x0200, /* double-buffering */
  87.   FILEHDMOD_Unique  = 0x0400, /* MultiAssigns werden NICHT berücksichtigt */
  88.   FILEHDMOD_NoReq   = 0x0800, /* Es wird kein Report-Requester geöffnet */
  89.  
  90. };
  91.  
  92.  
  93. /** @{"pOS_SeekFile" LINK "pDOSD/pOS_SeekFile"}(fh,pos,enum ) **/
  94. enum pOS_FileHandleSeek
  95. {
  96.   FILEHDSEK_Begin  =-1,
  97.   FILEHDSEK_Current= 0,
  98.   FILEHDSEK_End    = 1,
  99. };
  100.  
  101.  
  102.  
  103. enum pOS_FileHandleBufType /** fh_BufType **/
  104. {
  105.   FILEHDBUFTYP_None=0,
  106.   FILEHDBUFTYP_Std,
  107.   FILEHDBUFTYP_LF,
  108.  
  109.   FILEHDBUFTYP_TMask=0x7f,
  110. };
  111.  
  112.  
  113. enum pOS_FileHandleBufFlags /** fh_BufFlags **/
  114. {
  115.   FILEHDBUFF_FreeBuffer = 0x01,
  116.   FILEHDBUFF_Update     = 0x02, /* Buffer-Inhalt stimmt mit File nicht mehr überein */
  117. };
  118.  
  119.  
  120.  
  121.  
  122. /*----------------------------------
  123. -----------------------------------*/
  124. struct pOS_FHManage
  125. {
  126.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37} fhm_Node;
  127.  
  128.   @{"UBYTE" LINK "pExec/Types.h/File" 95} fhm_Reserved1[16];
  129.  
  130.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*fhm_Init_func)   (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_FileHandle*,_R_D0 ULONG mode); /* Daten nullen */
  131.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*fhm_Rem_func)    (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_FileHandle*); /* eigenen Puffer freigeben */
  132.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*fhm_Read_func)   (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_DosIOReq*);
  133.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*fhm_Write_func)  (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_DosIOReq*);
  134.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*fhm_Seek_func)   (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_DosIOReq*);
  135.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*fhm_Close_func)  (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_DosIOReq*);
  136.   @{"SLONG" LINK "pExec/Types.h/File" 90} (*fhm_SetVBuf_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_FileHandle*,_R_A1 UBYTE*,_R_D0 ULONG,_R_D1 size_t);
  137.   @{"SLONG" LINK "pExec/Types.h/File" 90} (*fhm_Flush_func)  (@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_FileHandle*);
  138.  
  139.   @{"UBYTE" LINK "pExec/Types.h/File" 95} fhm_Reserved2[64];
  140. };
  141.  
  142.  
  143. #endif
  144. @ENDNODE
  145.