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

  1. @DATABASE "pDOS/DosDev.h"
  2. @MASTER   "Work2:AD/IInc/pDOS/DosDev.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:33:58
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pDOS/DosDev.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pDOS/DosDev.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_AssignNode" LINK "pDOS/DosDev.h/File" 295}          @{"pOS_DosDefDevice" LINK "pDOS/DosDev.h/File" 305}       @{"pOS_DosDevice" LINK "pDOS/DosDev.h/File" 256}
  16. @{"pOS_DosDevPathInfo" LINK "pDOS/DosDev.h/File" 396}      @{"pOS_DosIOReq" LINK "pDOS/DosDev.h/File" 29}           @{"pOS_DosMountDevice" LINK "pDOS/DosDev.h/File" 317}
  17. @{"pOS_DosResidentLibInit" LINK "pDOS/DosDev.h/File" 492}  @{"pOS_StdDosDevFunction" LINK "pDOS/DosDev.h/File" 508}  
  18.  
  19.  
  20. @{b}#defines@{ub}
  21.  
  22. @{"_pOS_GetStdDosDevFunction()" LINK "pDOS/DosDev.h/File" 526}
  23.  
  24. @ENDNODE
  25. @NODE File "pDOS/DosDev.h"
  26. #ifndef __INC_POS_PDOS_DOSDEV_H
  27. #define __INC_POS_PDOS_DOSDEV_H
  28. /*******************************************************************
  29.  Includes Release 24
  30.  (C) Copyright 1995-1997 proDAD
  31.      All Rights Reserved
  32.  
  33.  $AUT Holger Burkarth
  34.  $DAT >>DosDev.h<<   02 Mar 1997    17:45:04 - (C) ProDAD
  35. *******************************************************************/
  36. #ifndef __INC_POS_PDOS_DOSTYPES_H
  37. #include <@{"pDOS/DosTypes.h" LINK "pDOS/DosTypes.h/File"}>
  38. #endif
  39. #ifndef __INC_POS_PEXEC_DEVICE_H
  40. #include <@{"pExec/Device.h" LINK "pExec/Device.h/File"}>
  41. #endif
  42. #ifndef __INC_POS_PEXEC_SEMA_H
  43. #include <@{"pExec/Sema.h" LINK "pExec/Sema.h/File"}>
  44. #endif
  45. #ifndef __INC_POS_PDOS_DATE_H
  46. #include <@{"pDOS/Date.h" LINK "pDOS/Date.h/File"}>
  47. #endif
  48.  
  49.  
  50.  
  51. /*----------------------------------
  52.   Size=66 Bytes
  53. -----------------------------------*/
  54. struct pOS_DosIOReq
  55. {
  56.   @{"struct pOS_Message" LINK "pExec/MsgPort.h/File" 41}    dr_Message;
  57.   @{"struct pOS_DosDevice" LINK File 256} *dr_Device;      /* device node pointer  */
  58.   @{"struct pOS_Unit" LINK "pExec/Device.h/File" 29}      *dr_Unit;        /* unit (driver private)*/
  59.   @{"UWORD" LINK "pExec/Types.h/File" 93}                 dr_Command;     /* enum pOS_DosIOReqCommands */
  60.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                 dr_Flags;       /* enum pOS_IOReqFlags */
  61.   @{"SBYTE" LINK "pExec/Types.h/File" 94}                 dr_Error2;      /* enum pOS_DosErrors */
  62.   @{"ULONG" LINK "pExec/Types.h/File" 91}                 dr_UserData;    /* for Handler own use */
  63.   @{"ULONG" LINK "pExec/Types.h/File" 91}                 dr_CretData;    /* creater own data */
  64.  
  65. /*\\
  66. *** Das Result-Argument steht immer an Offset 0x10.
  67. \\*/
  68.   union
  69.     @{"UBYTE" LINK "pExec/Types.h/File" 95} dr_Reserved[24];  /* 8 Bytes Reserved */
  70.  
  71.     struct  /*** DOSCMD_LockObject ***/
  72.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *drlk_CurrLock; /* CurrentDir-Lock oder @{"NULL" LINK "pExec/Types.h/File" 117} */
  73.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}           *drlk_Name;     /* local path */
  74.             @{"ULONG" LINK "pExec/Types.h/File" 91}                drlk_Mode;     /* enum pOS_FileLockAccess */
  75.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *drlk_ResLock;  /* Result */
  76.     } dr_LockObj;
  77.  
  78.     struct  /*** DOSCMD_UnlockObject ***/
  79.       @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}       *drul_Lock;
  80.     } dr_UnlockObj;
  81.  
  82.     struct  /*** DOSCMD_ExamineObject ***/
  83.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}      *drex_Lock;    /* ==@{"NULL" LINK "pExec/Types.h/File" 117} => FH */
  84.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}    *drex_FH;
  85.             @{"struct pOS_FileInfoBlock" LINK "pDOS/FIB.h/File" 21} *drex_FIB;
  86.     } dr_ExamineObj;
  87.  
  88.     struct  /*** DOSCMD_ExNextObject ***/
  89.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}      *dren_Lock;
  90.             @{"UBYTE" LINK "pExec/Types.h/File" 95} dren_d[4];
  91.             @{"struct pOS_FileInfoBlock" LINK "pDOS/FIB.h/File" 21} *dren_FIB;
  92.     } dr_ExNextObj;
  93.  
  94.     struct  /*** DOSCMD_DupObjectLock ***/
  95.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}      *drdp_Lock;
  96.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drdp_d[8];
  97.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}      *drdp_ResLock;  /* Result */
  98.     } dr_DupObjLock;
  99.  
  100.     struct  /*** DOSCMD_ParentObject ***/
  101.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}    *drpr_Lock;
  102.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drpr_d[8];
  103.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}    *drpr_ResLock;  /* Result */
  104.     } dr_ParentObj;
  105.  
  106.     struct  /*** DOSCMD_LockName ***/
  107.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drna_Lock;
  108.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drna_FH;       /* drna_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  109.             @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}             *drna_Name;
  110.             @{"size_t" LINK "pExec/Types.h/File" 113}                 drna_NameSize;
  111.     } dr_LockName;
  112.  
  113.  
  114.     struct  /*** DOSCMD_OpenFH ***/
  115.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drop_CurrLock; /* CurrentDir-Lock oder @{"NULL" LINK "pExec/Types.h/File" 117} */
  116.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}             *drop_Name;     /* local path */
  117.             @{"UWORD" LINK "pExec/Types.h/File" 93}                  drop_Mode;     /* enum pOS_FileHandleMode */
  118.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drop_d[2];
  119.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drop_ResFH;    /* Result */
  120.     } dr_OpenFH;
  121.  
  122.     struct  /*** DOSCMD_CloseFH ***/
  123.       @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}    *drcl_FH;    /*  */
  124.     } dr_CloseFH;
  125.  
  126.     struct  /*** DOSCMD_ReadFH ***/
  127.       @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}   *drrd_FH;    /*  */
  128.             @{"VOID" LINK "pExec/Types.h/File" 83}              *drrd_Adr;
  129.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}          drrd_Size;
  130.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}          drrd_ResSize;
  131.     } dr_ReadFH;
  132.  
  133.     struct  /*** DOSCMD_WriteFH ***/
  134.       @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}    *drwd_FH;    /*  */
  135.       const @{"VOID" LINK "pExec/Types.h/File" 83}               *drwd_Adr;
  136.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}           drwd_Size;
  137.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}           drwd_ResSize;
  138.     } dr_WriteFH;
  139.  
  140.     struct  /*** DOSCMD_SeekFH ***/
  141.       @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}    *drsk_FH;    /*  */
  142.             @{"SWORD" LINK "pExec/Types.h/File" 92}               drsk_Mode;  /* enum pOS_FileHandleSeek */
  143.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drsk_d[2];
  144.             @{"dospos_t" LINK "pDOS/DosTypes.h/File" 17}            drsk_Pos;   /* kann negativ sein */
  145.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}           drsk_OldPos;
  146.     } dr_SeekFH;
  147.  
  148.     struct  /*** DOSCMD_CreateDir ***/
  149.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *drcd_CurrLock; /* CurrentDir-Lock oder @{"NULL" LINK "pExec/Types.h/File" 117} */
  150.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *drcd_Name;     /* local path */
  151.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drcd_d[4];
  152.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *drcd_ResLock;  /* Result */
  153.     } dr_CreateDir;
  154.  
  155.     struct  /*** DOSCMD_DeleteObject ***/
  156.       @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}        *drdo_Lock;
  157.     } dr_DeleteObj;
  158.  
  159.     struct  /*** DOSCMD_RenameObject ***/
  160.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *drrn_CurrLock; /* CurrentDir-Lock oder @{"NULL" LINK "pExec/Types.h/File" 117} */
  161.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *drrn_Obj;      /* zu änderndes Objekt */
  162.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *drrn_Name;     /* new object-name */
  163.     } dr_RenameObj;
  164.  
  165.     struct  /*** DOSCMD_DupFH ***/
  166.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}  *drdf_FH;
  167.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drdf_d[8];
  168.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}  *drdf_ResFH;  /* Result */
  169.     } dr_DupFH;
  170.  
  171.     struct  /*** DOSCMD_SetDate ***/
  172.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drsd_Lock;     /* zu änderndes Objekt */
  173.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drsd_FH;       /* drsd_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  174.       const @{"struct pOS_DateStamp" LINK "pDOS/Date.h/File" 17}  *drsd_Date;     /* neue Zeit */
  175.     } dr_SetDate;
  176.  
  177.     struct  /*** DOSCMD_SetSize ***/
  178.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drss_Lock;     /* zu änderndes Objekt */
  179.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drss_FH;       /* drss_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  180.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}              drss_Size;     /* neue Länge */
  181.     } dr_SetSize;
  182.  
  183.     struct  /*** DOSCMD_WaitForChar ***/
  184.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drwc_FH;
  185.       const @{"struct pOS_TimeVal" LINK "Device/Timer.h/File" 36}    *drwc_Time;
  186.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}              drwc_ResSize;  /* Zeichen im Puffer */
  187.     } dr_WaitForChar;
  188.  
  189.     struct  /*** DOSCMD_InfoData ***/
  190.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}    *drid_Lock;   /* @{"NULL" LINK "pExec/Types.h/File" 117} => use drid_FH */
  191.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}  *drid_FH;     /* @{"NULL" LINK "pExec/Types.h/File" 117} => use DDev direct */
  192.             @{"struct pOS_DosInfoData" LINK "pDOS/InfoData.h/File" 18} *drid_InfoData;
  193.     } dr_InfoData;
  194.  
  195.     struct  /*** DOSCMD_SetComment ***/
  196.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drct_Lock;      /* zu änderndes Objekt */
  197.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drct_FH;        /* drct_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  198.       const @{"CHAR" LINK "pExec/Types.h/File" 100}                  *drct_String;
  199.     } dr_SetComment;
  200.  
  201.     struct  /*** DOSCMD_SetProtection ***/
  202.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drpt_Lock;      /* zu änderndes Objekt */
  203.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drpt_FH;        /* drpt_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  204.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  drpt_Bits;
  205.     } dr_SetProtection;
  206.  
  207.     struct  /*** DOSCMD_SameObject ***/
  208.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *drso_Lock1;
  209.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *drso_Lock2;
  210.             @{"ULONG" LINK "pExec/Types.h/File" 91}                 drso_Result;    /* enum pOS_SameFileLockType */
  211.     } dr_SameObject;
  212.  
  213.     struct  /*** DOSCMD_AddBuffers ***/
  214.             @{"SLONG" LINK "pExec/Types.h/File" 90}              drab_Add;         /* bytes */
  215.             @{"dossize_t" LINK "pDOS/DosTypes.h/File" 15}          drab_OldBuffers;  /* bytes */
  216.     } dr_AddBuffers;
  217.  
  218.     struct  /*** DOSCMD_ChangeAccess ***/
  219.             @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}    *drca_Lock;      /* Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => drca_FH is use */
  220.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}  *drca_FH;
  221.             @{"ULONG" LINK "pExec/Types.h/File" 91}                   drca_NewMode;   /* enum pOS_FileLockAccess or enum pOS_FileHandleMode */
  222.     } dr_ChangeAccess;
  223.  
  224.     struct  /*** DOSCMD_Inhibit ***/
  225.             @{"ULONG" LINK "pExec/Types.h/File" 91}              drin_OnOff;
  226.     } dr_Inhibit;
  227.  
  228.     struct  /*** DOSCMD_Relabel ***/
  229.       const @{"CHAR" LINK "pExec/Types.h/File" 100}              *drrb_VolName;
  230.     } dr_Relabel;
  231.  
  232.     struct  /*** DOSCMD_OpenFromLock ***/
  233.    @{"__ARID__" LINK "pExec/Types.h/File" 155} @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drol_Lock;     /* transform Lock => FH */
  234.             @{"UBYTE" LINK "pExec/Types.h/File" 95} drol_d[8];
  235.             @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drol_ResFH;    /* Result */
  236.     } dr_OpenFromLock;
  237.  
  238.     struct  /*** DOSCMD_SetScreenMode ***/
  239.       @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24}    *drsm_FH;
  240.             @{"ULONG" LINK "pExec/Types.h/File" 91}               drsm_Mode;      /* 0==CON, 1==RAW */
  241.     } dr_SetScreenMode;
  242.  
  243.     struct  /*** DOSCMD_AddNotify ***/
  244.       @{"struct pOS_DosNotifyReq" LINK "pDOS/Notify.h/File" 21}  *draf_Req;
  245.     } dr_AddNotify;
  246.  
  247.     struct  /*** DOSCMD_RemNotify ***/
  248.       @{"struct pOS_DosNotifyReq" LINK "pDOS/Notify.h/File" 21}  *drrf_Req;
  249.     } dr_RemNotify;
  250.  
  251.     struct  /*** DOSCMD_IsFileSystem ***/
  252.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *dris_Lock;   /* @{"NULL" LINK "pExec/Types.h/File" 117} => use dris_FH */
  253.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *dris_FH;     /* @{"NULL" LINK "pExec/Types.h/File" 117} => use DDev direct */
  254.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  dris_Result; /* @{"TRUE" LINK "pExec/Types.h/File" 121},@{"FALSE" LINK "pExec/Types.h/File" 122} */
  255.     } dr_IsFileSys;
  256.  
  257.     struct  /*** DOSCMD_GetUniqueID ***/
  258.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drgq_Lock;
  259.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drgq_FH;        /* drpt_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  260.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  drgq_Result;    /* Result-ID */
  261.     } dr_GetUniqueID;
  262.  
  263.     struct  /*** DOSCMD_GetWindow ***/
  264.       const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}   *drgw_Lock;
  265.       const @{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *drgw_FH;        /* drpt_Lock==@{"NULL" LINK "pExec/Types.h/File" 117} => use this */
  266.             @{"struct pOS_Window" LINK "pScreen/Window.h/File" 18}     *drgw_ResWin;    /* Result-Window */
  267.             @{"UBYTE" LINK "pExec/Types.h/File" 95}                  drgw_Reserved[4];
  268.     } dr_GetWindow;
  269.  
  270.   } dr_U;
  271. };
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279. /*----------------------------------
  280. -----------------------------------*/
  281. struct pOS_DosDevice
  282. {
  283.   @{"struct pOS_Library" LINK "pExec/Library.h/File" 26}  ddv_Dev;      /* ln_Name => Device-Name */
  284.                                     /* ddv_Dev.lib_OpenCnt num. of used */
  285.   @{"UWORD" LINK "pExec/Types.h/File" 93}               ddv_Type;     /* (enum pOS_DosDeviceTypes) */
  286.  
  287.   @{"ULONG" LINK "pExec/Types.h/File" 91}               ddv_LockCnt;  /* Lock-Counter (Handler private) */
  288.   @{"ULONG" LINK "pExec/Types.h/File" 91}               ddv_FHCnt;    /* FH-Counter   (Handler private) */
  289.   @{"struct pOS_List" LINK "pExec/List.h/File" 26}     ddv_LockList; /* List of pOS_FileLock (Handler private) */
  290.   @{"struct pOS_List" LINK "pExec/List.h/File" 26}     ddv_FileList; /* Liste of pOS_FileHandle (Handler private) */
  291.   @{"struct pOS_List" LINK "pExec/List.h/File" 26}     ddv_Lst;      /* custom for Assigns, .... */
  292.   @{"struct pOS_DosIOReq" LINK File 29} ddv_IOMaster; /* Master for @{"pOS_InitDosIOReq()" LINK "pDOSD/pOS_InitDosIOReq"} (internal) */
  293.   @{"UBYTE" LINK "pExec/Types.h/File" 95}               ddv_Reserved1[32];
  294.  
  295.   union
  296.     @{"UBYTE" LINK "pExec/Types.h/File" 95}  ddv_Reserved2[32];
  297.  
  298.     struct
  299.       @{"struct pOS_DateStamp" LINK "pDOS/Date.h/File" 17}  ddvv_Date;
  300.       struct pOS_DosDevice *ddvv_Handler;
  301.     } ddv_Volume;
  302.  
  303.     struct
  304.             struct pOS_DosDevice      *ddvh_ActVolume; /* inserted Volume */
  305.       const @{"struct pOS_DosMountDevice" LINK File 317} *ddvh_Mount;
  306.     } ddv_Handler;
  307.  
  308.     struct
  309.       const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}     *ddva_Name;   /* ddv_Lst => (@{"struct pOS_AssignNode" LINK "pDOS/DosDev.h/File" 295}) */
  310.       @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *ddva_Lock;
  311.     } ddv_Assign;
  312.  
  313.   } ddv_U;
  314. };
  315.  
  316.  
  317.  
  318. /*----------------------------------
  319. -----------------------------------*/
  320. struct pOS_AssignNode
  321. {
  322.   @{"struct pOS_Node" LINK "pExec/List.h/File" 18}      an_Node;
  323.   @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *an_Lock;
  324. };
  325.  
  326.  
  327.  
  328. /*----------------------------------
  329. -----------------------------------*/
  330. struct pOS_DosDefDevice
  331. {
  332.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37}  dfd_Node;
  333.  
  334.   @{"struct pOS_DosDevice" LINK File 256}* (*GetDevice_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_DosDefDevice*,_R_A1 struct pOS_DosDevPathInfo*);
  335. };
  336.  
  337.  
  338.  
  339.  
  340. /*----------------------------------
  341. -----------------------------------*/
  342. struct pOS_DosMountDevice
  343. {
  344.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37} dmd_Node;    /* ln_Name, @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  345.  
  346.   @{"UWORD" LINK "pExec/Types.h/File" 93}       dmd_Type;    /* enum pOS_DosMountDevType */
  347.   @{"ULONG" LINK "pExec/Types.h/File" 91}       dmd_Flags;   /* enum pOS_DosMountDevFlags */
  348.   @{"SBYTE" LINK "pExec/Types.h/File" 94}       dmd_BootPri; /* Boot priority for autoboot */
  349.  
  350.   @{"UBYTE" LINK "pExec/Types.h/File" 95}       dmd_Reserved[11];
  351.  
  352.   union
  353.     @{"UBYTE" LINK "pExec/Types.h/File" 95} dmd_UReserved[128];
  354.  
  355.     struct /* DMDTYP_Pico */
  356.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmpic_DDName;    /* DosDevice-Name (Handler) */
  357.       @{"APTR" LINK "pExec/Types.h/File" 87}  dmpic_DDPrivate;       /* DosDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  358.       @{"CHAR" LINK "pExec/Types.h/File" 100} *dmpic_Startup;         /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  359.     } dmd_Pico;
  360.  
  361.  
  362.     struct /* DMDTYP_BOD */
  363.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmbod_DDName;    /* DosDevice-Name (Handler) */
  364.       @{"APTR" LINK "pExec/Types.h/File" 87}  dmbod_DDPrivate;       /* DosDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  365.       @{"CHAR" LINK "pExec/Types.h/File" 100} *dmbod_Startup;         /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  366.  
  367.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BytesPerBlock;   /* Bytes pro Block */
  368.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BlockPerCyl;     /* Block pro Zylinder */
  369.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_StartCyl;        /* Start-Zylinder */
  370.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_EndCyl;          /* End-Zylinder */
  371.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_Surfaces;        /*  */
  372.       @{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_StartReserved;   /* Reservierte Blocks am Anfang */
  373.       @{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_EndReserved;     /* Reservierte Blocks am Ende */
  374.       @{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_Interleave;
  375.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BufferSize;      /* Bytes for buffers */
  376.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BufMemType;      /* type of mem to allocate for buffers */
  377.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_MaxTransfer;     /* Max number of bytes to transfer at a time */
  378.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_Mask;            /* Address Mask to block out certain memory */
  379.       @{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_BootBlocks;      /* Number of blocks containing boot code */
  380.       @{"UBYTE" LINK "pExec/Types.h/File" 95} dmbod_UnitNum;         /* exec device-unit number */
  381.       @{"UBYTE" LINK "pExec/Types.h/File" 95} dmbod_Pad1;
  382.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmbod_DevName;   /* exec device-name */
  383.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_Flags;           /* flags for @{"pOS_OpenDevice()" LINK "pExecD/pOS_OpenDevice"} */
  384.     } dmd_BOD;
  385.  
  386.  
  387.     struct /* DMDTYP_Net */
  388.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmnet_DDName;    /* DosDevice-Name (Handler) */
  389.       @{"APTR" LINK "pExec/Types.h/File" 87}  dmnet_DDPrivate;       /* DosDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  390.       @{"CHAR" LINK "pExec/Types.h/File" 100} *dmnet_Startup;         /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  391.       @{"UBYTE" LINK "pExec/Types.h/File" 95} dmnet_UnitNum;         /* Net device-unit number */
  392.       @{"UBYTE" LINK "pExec/Types.h/File" 95} dmnet_AckgTimeout;     /* Net-Timeout (1/10) sec. */
  393.       const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmnet_DevName;   /* Net device-name */
  394.       @{"ULONG" LINK "pExec/Types.h/File" 91} dmnet_Flags;           /* flags for @{"pOS_OpenDevice()" LINK "pExecD/pOS_OpenDevice"} */
  395.     } dmd_Net;
  396.  
  397.   } dmd_U;
  398. };
  399.  
  400.  
  401.  
  402. enum pOS_DosMountDevType
  403. {
  404.   DMDTYP_Pico=1,        /* Minimal-Device */
  405.   DMDTYP_BOD,           /* Block orientiertes Device */
  406.   DMDTYP_Net,           /* Network-Device */
  407. };
  408.  
  409. enum pOS_DosMountDevFlags
  410. {
  411.   DMDF_NameAllocVec = 0x0001,   /* ln_Name, @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
  412.   DMDF_EnableBoot   = 0x0002,   /* Device ist boot-fähig */
  413. };
  414.  
  415.  
  416.  
  417.  
  418.  
  419. /*----------------------------------
  420. -----------------------------------*/
  421. struct pOS_DosDevPathInfo
  422. {
  423.   const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *dopi_CurrDir;  /* Absolutly path, @{"NULL" LINK "pExec/Types.h/File" 117} are possible */
  424.   const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *dopi_PathName; /* String-Name */
  425.         @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *dopi_Buffer;
  426.         @{"size_t" LINK "pExec/Types.h/File" 113}                dopi_BufSize;
  427.  
  428.   const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20}  *dopi_ResDir;   /* Result-Lock */
  429.   const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18}            *dopi_ResName;
  430.  
  431.         @{"struct pOS_DosDevice" LINK File 256} *dopi_Device;
  432.         @{"struct pOS_DosDevice" LINK File 256} *dopi_2thDev;
  433.  
  434.         @{"UBYTE" LINK "pExec/Types.h/File" 95} dopi_Reserved[8];
  435. };
  436.  
  437.  
  438.  
  439.  
  440. enum pOS_DosDeviceTypes
  441. {
  442.   DDTYP_Handler=1,
  443.   DDTYP_Assign,
  444.   DDTYP_Volume,
  445.   DDTYP_LateAssign,
  446.   DDTYP_NonBindingAssign,
  447.   DDTYP_Foreign,
  448. };
  449.  
  450.  
  451.  
  452.  
  453.  
  454. enum pOS_DosIOReqCommands
  455. {
  456.   DOSCMD_INVALID   = 0,
  457.   DOSCMD_RESET     = 1, /* unused */
  458.   DOSCMD_READ      = 2, /* unused */
  459.   DOSCMD_WRITE     = 3, /* unused */
  460.   DOSCMD_UPDATE    = 4, /* unused */
  461.   DOSCMD_CLEAR     = 5, /* unused */
  462.   DOSCMD_STOP      = 6, /* unused */
  463.   DOSCMD_START     = 7, /* unused */
  464.   DOSCMD_FLUSH     = 8, /* unused */
  465.  
  466.   DOSCMD_NONSTD    = 9, /* unused */
  467.  
  468.   DOSCMD_LockObject,            /* dr_LockObj */
  469.   DOSCMD_UnlockObject,          /* dr_UnlockObj */
  470.   DOSCMD_ExamineObject,         /* dr_ExamineObj */
  471.   DOSCMD_ExNextObject,          /* dr_ExNextObj */
  472.   DOSCMD_DupObjectLock,         /* dr_DupObjLock */
  473.   DOSCMD_ParentObject,          /* dr_ParentObj */
  474.   DOSCMD_LockName,              /* dr_LockName */
  475.   DOSCMD_OpenFH,                /* dr_OpenFH */
  476.   DOSCMD_CloseFH,               /* dr_CloseFH */
  477.   DOSCMD_ReadFH,                /* dr_ReadFH */
  478.   DOSCMD_WriteFH,               /* dr_WriteFH */
  479.   DOSCMD_SeekFH,                /* dr_SeekFH */
  480.   DOSCMD_IsFileSystem,          /* dr_IsFileSys */
  481.   DOSCMD_CreateDir,             /* dr_CreateDir */
  482.   DOSCMD_DeleteObject,          /* dr_DeleteObj */
  483.   DOSCMD_RenameObject,          /* dr_RenameObj */
  484.   DOSCMD_DupFH,                 /* dr_DupFH */
  485.   DOSCMD_SetDate,               /* dr_SetDate */
  486.   DOSCMD_SetSize,               /* dr_SetSize */
  487.   DOSCMD_WaitForChar,           /* dr_WaitForCharz */
  488.   DOSCMD_InfoData,              /* dr_InfoData */
  489.   DOSCMD_SetComment,            /* dr_SetComment */
  490.   DOSCMD_SetProtection,         /* dr_SetProtection */
  491.   DOSCMD_SameObject,            /* dr_SameObject */
  492.   DOSCMD_AddBuffers,            /* dr_AddBuffers */
  493.   DOSCMD_ChangeAccess,          /* dr_ChangeAccess */
  494.   DOSCMD_Inhibit,               /* dr_Inhibit */
  495.   DOSCMD_Relabel,               /* dr_Relabel */
  496.   DOSCMD_OpenFromLock,          /* dr_OpenFromLock */
  497.   DOSCMD_SetScreenMode,         /* dr_SetScreenMode */
  498.   DOSCMD_AddNotify,             /* dr_AddNotify */
  499.   DOSCMD_RemNotify,             /* dr_RemNotify */
  500.   DOSCMD_GetUniqueID,           /* dr_GetUniqueID */
  501.   DOSCMD_GetWindow,             /* dr_GetWindow */
  502.  
  503.   DOSCMD_MAX
  504. };
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515. /*----------------------------------
  516. -----------------------------------*/
  517. struct pOS_DosResidentLibInit
  518. {
  519.             @{"size_t" LINK "pExec/Types.h/File" 113}  dlit_DataSize;         /* device data space size */
  520.   @{"__CONST__" LINK "pExec/Types.h/File" 120} @{"ULONG" LINK "pExec/Types.h/File" 91} **dlit_FuncTable;        /* table of entry points   */
  521.             @{"VOID" LINK "pExec/Types.h/File" 83}   *dlit_DataInit;         /* table of data initializers */
  522.             @{"BOOL" LINK "pExec/Types.h/File" 99}  (*dlit_InitFunc)(@{"_R_LB" LINK "pExec/Types.h/File" 35} struct pOS_ExecBase*,_R_A0 struct pOS_DosDevice*); /* initialization function to run */
  523.   const @{"struct pOS_DosMountDevice" LINK File 317}* dlit_Mount;
  524.   @{"UBYTE" LINK "pExec/Types.h/File" 95} dlit_Reserved[4];
  525. };
  526.  
  527.  
  528.  
  529.  
  530.  
  531. /*----------------------------------
  532. -----------------------------------*/
  533. struct pOS_StdDosDevFunction
  534. {
  535.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Reserved2[8];
  536.  
  537.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*AbortIO_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosDevice" LINK File 256}*,_R_A0 struct pOS_DosIOReq*);
  538.   @{"UBYTE" LINK "pExec/Types.h/File" 95} _d5[8];
  539.   @{"VOID" LINK "pExec/Types.h/File" 83}  (*BeginIO_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosDevice" LINK File 256}*,_R_A0 struct pOS_DosIOReq*);
  540.   @{"UBYTE" LINK "pExec/Types.h/File" 95} _d4[8];
  541.  
  542.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Reserved1[8];
  543.  
  544.   @{"struct pOS_SegmentLst" LINK "pDOS/Segment.h/File" 32}* (*Expunge_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosDevice" LINK File 256}*);
  545.   @{"UBYTE" LINK "pExec/Types.h/File" 95} _d3[8];
  546.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Res2;
  547.   @{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Res1;
  548. };
  549.  
  550.  
  551. #define _pOS_GetStdDosDevFunction(dev) \\
  552.  ( (@{"struct pOS_StdDosDevFunction" LINK File 508}*)((@{"ULONG" LINK "pExec/Types.h/File" 91})(dev) - sizeof(@{"struct pOS_StdDosDevFunction" LINK File 508})) )
  553.  
  554.  
  555. #endif
  556. @ENDNODE
  557.