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

  1. #ifndef __INC_POS_PDOS_SEGMENT_H
  2. #define __INC_POS_PDOS_SEGMENT_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>Segment.h<<   07 Nov 1996    12:27:07 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PDOS_DOSTYPES_H
  12. #include <pDOS/DosTypes.h>
  13. #endif
  14. #ifndef __INC_POS_PEXEC_LIST_H
  15. #include <pExec/List.h>
  16. #endif
  17.  
  18.  
  19. /*----------------------------------
  20. -----------------------------------*/
  21. struct pOS_Segment
  22. {
  23.   struct pOS_Segment* seg_Next;
  24.   size_t              seg_Size;
  25.   UBYTE               seg_Reserved2[8];
  26. };
  27.  
  28.  
  29.  
  30. /*----------------------------------
  31. -----------------------------------*/
  32. struct pOS_SegmentLst
  33. {
  34.   struct pOS_ExNode  sel_Node;
  35.  
  36.   UWORD              sel_UsedCnt;
  37.   UWORD              sel_Flags;     /* (enum pOS_SegmLstFlags) */
  38.  
  39.   VOID (*sel_Func)(_R_LB struct pOS_DosBase*,_R_A0 const struct pOS_SegmentLst*);
  40.  
  41.   UBYTE              sel_Reserved2[8];
  42.   struct pOS_Segment sel_Seg;
  43. };
  44.  
  45.  
  46.  
  47.  
  48. enum pOS_SegmLstFlags
  49. {
  50.   SEGLSF_ROM    =0x0001, /* Seg befindet sich im ROM */
  51.   SEGLSF_NoPrg  =0x0002, /* Segm darf nicht als Command gestartet werden (Device,Library) */
  52.   SEGLSF_Script =0x0004, /* Segm is Script */
  53. };
  54.  
  55.  
  56.  
  57.  
  58. /*----------------------------------
  59. -----------------------------------*/
  60. struct pOS_ISegmentData
  61. {
  62.   struct pOS_SegmentLst *isgd_SegmLst;      /* Result */
  63.   struct pOS_FileHandle *isgd_FH;           /* (~NULL) */
  64.   SLONG                  isgd_Error;
  65.   UBYTE                  isgd_Reserved1[8];
  66.  
  67.   __ARID__ APTR (*isgd_Alloc_func)(_R_LB struct pOS_ExecBase*,_R_D0 size_t,_R_D1 ULONG requ,_R_A4 struct pOS_ISegmentData*);
  68.   VOID          (*isgd_Free_func) (_R_LB struct pOS_ExecBase*,_R_A0 __ARID__ APTR adr,_R_D0 size_t,_R_A4 struct pOS_ISegmentData*);
  69.   dossize_t     (*isgd_Read_func) (_R_LB struct pOS_DosBase*, _R_A0 struct pOS_FileHandle*,_R_A1 APTR,_R_D0 dossize_t,_R_A4 struct pOS_ISegmentData*);
  70.  
  71.   UBYTE isgd_Reserved2[8];
  72. };
  73.  
  74.  
  75.  
  76. #endif
  77.