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

  1. @DATABASE "pGFX/MonDev.h"
  2. @MASTER   "Work2:AD/IInc/pGFX/MonDev.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:34:48
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pGFX/MonDev.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pGFX/MonDev.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_MonDevice" LINK "pGFX/MonDev.h/File" 136}           @{"pOS_MonDevPathInfo" LINK "pGFX/MonDev.h/File" 217}     @{"pOS_MonIOReq" LINK "pGFX/MonDev.h/File" 21}  @{"pOS_MonMountDevice" LINK "pGFX/MonDev.h/File" 173}
  16. @{"pOS_MonResidentLibInit" LINK "pGFX/MonDev.h/File" 238}  @{"pOS_StdMonDevFunction" LINK "pGFX/MonDev.h/File" 252}  
  17.  
  18.  
  19. @{b}#defines@{ub}
  20.  
  21. @{"_pOS_GetStdMonDevFunction()" LINK "pGFX/MonDev.h/File" 270}
  22.  
  23. @ENDNODE
  24. @NODE File "pGFX/MonDev.h"
  25. #ifndef __INC_POS_PGFX_MONDEV_H
  26. #define __INC_POS_PGFX_MONDEV_H
  27. /*******************************************************************
  28.  Includes Release 24
  29.  (C) Copyright 1995-1997 proDAD
  30.      All Rights Reserved
  31.  
  32.  $AUT Holger Burkarth
  33.  $DAT >>MonDev.h<<   25 Jan 1997    09:34:07 - (C) ProDAD
  34. *******************************************************************/
  35. #ifndef __INC_POS_PEXEC_DEVICE_H
  36. #include <@{"pExec/Device.h" LINK "pExec/Device.h/File"}>
  37. #endif
  38. #ifndef __INC_POS_PDOS_DOSTYPES_H
  39. #include <@{"pDos/DosTypes.h" LINK "pDOS/DosTypes.h/File"}>
  40. #endif
  41.  
  42.  
  43. /*----------------------------------
  44. -----------------------------------*/
  45. struct pOS_MonIOReq
  46. {
  47.   @{"struct pOS_Message" LINK "pExec/MsgPort.h/File" 41}    mr_Message;
  48.   @{"struct pOS_MonDevice" LINK File 136} *mr_Device;   /* device node pointer  */
  49.   @{"struct pOS_Unit" LINK "pExec/Device.h/File" 29}      *mr_Unit;     /* unit (driver private) */
  50.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 mr_Command;  /* (enum pOS_MonitorIOReqCommands) */
  51.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 mr_Flags;    /* (enum pOS_IOReqFlags) */
  52.   @{"SBYTE" LINK "pExec/Types.h/File" 94}                 mr_Error2;   /* (enum pOS_DosErrors) */
  53.   @{"ULONG" LINK "pExec/Types.h/File" 91}                 mr_UserData; /* for Handler own use */
  54.   @{"ULONG" LINK "pExec/Types.h/File" 91}                 mr_CretData; /* creater own data */
  55.  
  56.   union
  57.     @{"UBYTE" LINK "pExec/Types.h/File" 95} mr_Reserved[24];
  58.  
  59.     struct  /*** MONCMD_LockObject ***/
  60.       const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}  *mrlk_CurrLock;
  61.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}           *mrlk_Name;
  62.             @{"ULONG" LINK "pExec/Types.h/File" 91}                mrlk_Mode;     /* (enum pOS_MonLockAccess) */
  63.             @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}  *mrlk_ResLock;
  64.     } mr_LockObj;
  65.  
  66.     struct  /*** MONCMD_UnlockObject ***/
  67.       @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}        *mrul_Lock;
  68.     } mr_UnlockObj;
  69.  
  70.     struct  /*** MONCMD_ExamineObject ***/
  71.       const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}      *mrex_Lock; /** ==@{"NULL" LINK "pExec/Types.h/File" 117} => File **/
  72.       const @{"struct pOS_MonFile" LINK "pGFX/MonFile.h/File" 17}      *mrex_FH;
  73.             @{"struct pOS_MonInfoBlock" LINK "pGFX/MonFIB.h/File" 23} *mrex_MIB;
  74.     } mr_ExamineObj;
  75.  
  76.     struct  /*** MONCMD_ExNextObject ***/
  77.       const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}      *mren_Lock;
  78.             @{"UBYTE" LINK "pExec/Types.h/File" 95} dren_d[4];
  79.             @{"struct pOS_MonInfoBlock" LINK "pGFX/MonFIB.h/File" 23} *mren_MIB;
  80.     } mr_ExNextObj;
  81.  
  82.     struct  /*** MONCMD_DupObjectLock ***/
  83.       const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}      *mrdp_Lock;
  84.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drdp_d[8];
  85.             @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}      *mrdp_ResLock;  /* Result */
  86.     } mr_DupObjLock;
  87.  
  88.  
  89.     struct  /*** MONCMD_OpenFH ***/
  90.       const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}       *mrop_CurrLock; /* CurrentDir-Lock oder @{"NULL" LINK "pExec/Types.h/File" 117} */
  91.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}                *mrop_Name;      /* local path */
  92.             @{"UWORD" LINK "pExec/Types.h/File" 93}                     mrop_Mode;     /* (enum pOS_MonFileMode) */
  93.             @{"UBYTE" LINK "pExec/Types.h/File" 95} mrop_d[2];
  94.             @{"struct pOS_MonFile" LINK "pGFX/MonFile.h/File" 17}       *mrop_ResFH;    /* Result */
  95.     } mr_OpenFH;
  96.  
  97.     struct  /*** MONCMD_CloseFH ***/
  98.             @{"struct pOS_MonFile" LINK "pGFX/MonFile.h/File" 17}    *mrcl_FH;    /*  */
  99.     } mr_CloseFH;
  100.  
  101.  
  102.     struct  /*** MONCMD_DupFH ***/
  103.       const @{"struct pOS_MonFile" LINK "pGFX/MonFile.h/File" 17}    *mrdf_FH;
  104.             @{"UBYTE" LINK "pExec/Types.h/File" 95} mrdf_d[8];
  105.             @{"struct pOS_MonFile" LINK "pGFX/MonFile.h/File" 17}    *mrdf_ResFH;  /* Result */
  106.     } mr_DupFH;
  107.  
  108.  
  109.     struct  /*** MONCMD_Form ***/
  110.       @{"struct pOS_MonForm" LINK "pGFX/MonForm.h/File" 18}  *mrfm_MF;
  111.     } mr_Form;
  112.  
  113.     struct  /*** MONCMD_UpdateView ***/
  114.       @{"struct pOS_MonFile" LINK "pGFX/MonFile.h/File" 17} *mruv_FH;    /*  */
  115.       @{"ULONG" LINK "pExec/Types.h/File" 91}               mruv_Flags; /* enum pOS_MonitorUpdateViewFlags */
  116.     } mr_UpView;
  117.  
  118.   } mr_U;
  119.  
  120. };
  121.  
  122.  
  123.  
  124. enum pOS_MonitorIOReqCommands
  125. {
  126.   MONCMD_LockObject =CMD_NONSTD,
  127.   MONCMD_UnlockObject,
  128.   MONCMD_ExamineObject,
  129.   MONCMD_ExNextObject,
  130.   MONCMD_DupObjectLock,
  131.   MONCMD_Pad1,
  132.   MONCMD_Pad2,
  133.   MONCMD_OpenFH,
  134.   MONCMD_CloseFH,
  135.   MONCMD_DupFH,
  136.   MONCMD_Pad3,
  137.   MONCMD_Pad4,
  138.   MONCMD_Pad5,
  139.   MONCMD_OpenFromLock,
  140.   MONCMD_Form,
  141.   MONCMD_UpdateView,
  142.  
  143.  
  144.   MONCMD_MAX
  145. };
  146.  
  147.  
  148.  
  149. enum pOS_MonitorUpdateViewFlags /** MONCMD_UpdateView mruv_Flags **/
  150. {
  151.   MONUPVF_All      = ~0,
  152.   MONUPVF_Colors   = 0x0001,
  153.   MONUPVF_Sprits   = 0x0002,
  154.   MONUPVF_Position = 0x0004,
  155. };
  156.  
  157.  
  158. /*----------------------------------
  159. -----------------------------------*/
  160. struct pOS_MonDevice
  161. {
  162.   @{"struct pOS_Library" LINK "pExec/Library.h/File" 26}  mdv_Dev;
  163.  
  164.   @{"UWORD" LINK "pExec/Types.h/File" 93}               mdv_Type;     /* (enum pOS_MonDeviceTypes) */
  165.  
  166.   @{"ULONG" LINK "pExec/Types.h/File" 91}               mdv_LockCnt;  /* Lock-Counter (Handler privat) */
  167.   @{"ULONG" LINK "pExec/Types.h/File" 91}               mdv_FHCnt;    /* FH-Counter   (Handler privat) */
  168.   @{"struct pOS_List" LINK "pExec/List.h/File" 26}     mdv_LockList; /* Liste der aktiven Locks (Handler privat) */
  169.   @{"struct pOS_List" LINK "pExec/List.h/File" 26}     mdv_FileList; /* Liste der aktiven FileHandle (Handler privat) */
  170.   @{"struct pOS_List" LINK "pExec/List.h/File" 26}     mdv_Lst;      /* Ist für Assigns, .... */
  171.   @{"struct pOS_MonIOReq" LINK File 21} mdv_IOMaster;
  172.  
  173.   union
  174.     @{"UBYTE" LINK "pExec/Types.h/File" 95}  mdv_Reserved2[32];
  175.  
  176.     struct
  177.             @{"UBYTE" LINK "pExec/Types.h/File" 95} mdvh_Pad[4];
  178.       const @{"struct pOS_MonMountDevice" LINK File 173} *mdvh_Mount;
  179.     } mdv_Handler;
  180.  
  181.   } mdv_U;
  182. };
  183.  
  184.  
  185.  
  186. enum pOS_MonDeviceTypes
  187. {
  188.   MDTYP_Handler=1,
  189.   MDTYP_Assign,
  190. };
  191.  
  192.  
  193.  
  194.  
  195. /*----------------------------------
  196. -----------------------------------*/
  197. struct pOS_MonMountDevice
  198. {
  199.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37} mmd_Node;    /* ln_Name, @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  200.  
  201.   @{"UWORD" LINK "pExec/Types.h/File" 93}             mmd_Type;    /* (enum pOS_MonMountDevType) */
  202.   @{"ULONG" LINK "pExec/Types.h/File" 91}             mmd_Flags;   /* (enum pOS_MonMountDevFlags) */
  203.  
  204.   @{"UBYTE" LINK "pExec/Types.h/File" 95}             mmd_Reserved[12];
  205.  
  206.   union
  207.     @{"UBYTE" LINK "pExec/Types.h/File" 95} mmd_UReserved[128];
  208.  
  209.     struct /* MMDTYP_StdGfx */
  210.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* mmstd_MDName;    /* MonDevice-Name (Handler) */
  211.       @{"APTR" LINK "pExec/Types.h/File" 87}  mmstd_MDPrivate;       /* MonDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  212.       @{"CHAR" LINK "pExec/Types.h/File" 100} *mmstd_Startup;         /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  213.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* mmstd_LibName;   /* Gfx-Library */
  214.     } mmd_StdGfx;
  215.  
  216.  
  217.  
  218.   } mmd_U;
  219. };
  220.  
  221.  
  222.  
  223. enum pOS_MonMountDevType
  224. {
  225.   MMDTYP_StdGfx =0x21,  /* Standard-Device */
  226.   MMDTYP_NetGfx =0x23,  /* Network-Device */
  227. };
  228.  
  229.  
  230. enum pOS_MonMountDevFlags
  231. {
  232.   MMDF_NameAllocVec = 0x0001,   /* ln_Name, @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  233. };
  234.  
  235.  
  236.  
  237.  
  238.  
  239. /*----------------------------------
  240. -----------------------------------*/
  241. struct pOS_MonDevPathInfo
  242. {
  243.   const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}   *mopi_CurrDir;   /* Absoluter Pfad, kann null sein */
  244.   const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *mopi_PathName;  /* String-Name */
  245.         @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *mopi_Buffer;
  246.         @{"size_t" LINK "pExec/Types.h/File" 113}               mopi_BufSize;
  247.  
  248.   const @{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18}   *mopi_ResDir;    /* Result-Lock */
  249.   const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *mopi_ResName;
  250.  
  251.         @{"struct pOS_MonDevice" LINK File 136} *mopi_Device;
  252.         @{"struct pOS_MonDevice" LINK File 136} *mopi_2thDev;
  253.  
  254.         @{"UBYTE" LINK "pExec/Types.h/File" 95} mopi_Reserved[16];
  255. };
  256.  
  257.  
  258.  
  259.  
  260. /*----------------------------------
  261. -----------------------------------*/
  262. struct pOS_MonResidentLibInit
  263. {
  264.             @{"size_t" LINK "pExec/Types.h/File" 113}  mlit_DataSize;         /* device data space size */
  265.   @{"__CONST__" LINK "pExec/Types.h/File" 120} @{"ULONG" LINK "pExec/Types.h/File" 91} **mlit_FuncTable;        /* table of entry points   */
  266.             @{"VOID" LINK "pExec/Types.h/File" 83}   *mlit_DataInit;         /* table of data initializers */
  267.             @{"BOOL" LINK "pExec/Types.h/File" 99}  (*mlit_InitFunc)(@{"_R_LB" LINK "pExec/Types.h/File" 35} struct pOS_ExecBase*,_R_A0 struct pOS_MonDevice*); /* initialization function to run */
  268.   const @{"struct pOS_MonMountDevice" LINK File 173}* mlit_Mount;
  269.   @{"UBYTE" LINK "pExec/Types.h/File" 95} mlit_Reserved[4];
  270. };
  271.  
  272.  
  273.  
  274. /*----------------------------------
  275. -----------------------------------*/
  276. struct pOS_StdMonDevFunction
  277. {
  278.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Reserved2[8];
  279.  
  280.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*AbortIO_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_MonDevice" LINK File 136}*,_R_A0 struct pOS_MonIOReq*);
  281.   @{"UBYTE" LINK "pExec/Types.h/File" 95} _d5[8];
  282.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*BeginIO_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_MonDevice" LINK File 136}*,_R_A0 struct pOS_MonIOReq*);
  283.   @{"UBYTE" LINK "pExec/Types.h/File" 95} _d4[8];
  284.  
  285.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Reserved1[8];
  286.  
  287.   @{"struct pOS_SegmentLst" LINK "pDOS/Segment.h/File" 32}* (*Expunge_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_MonDevice" LINK File 136}*);
  288.   @{"UBYTE" LINK "pExec/Types.h/File" 95} _d3[8];
  289.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Res2;
  290.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Res1;
  291. };
  292.  
  293.  
  294. #define _pOS_GetStdMonDevFunction(dev) \\
  295.  ( (@{"struct pOS_StdMonDevFunction" LINK File 252}*)((@{"ULONG" LINK "pExec/Types.h/File" 91})(dev) - sizeof(@{"struct pOS_StdMonDevFunction" LINK File 252})) )
  296.  
  297.  
  298. #endif
  299. @ENDNODE
  300.