@{"pOS_AssignNode" LINK "pDOS/DosDev.h/File" 295} @{"pOS_DosDefDevice" LINK "pDOS/DosDev.h/File" 305} @{"pOS_DosDevice" LINK "pDOS/DosDev.h/File" 256}
@{"pOS_DosDevPathInfo" LINK "pDOS/DosDev.h/File" 396} @{"pOS_DosIOReq" LINK "pDOS/DosDev.h/File" 29} @{"pOS_DosMountDevice" LINK "pDOS/DosDev.h/File" 317}
@{"pOS_DosResidentLibInit" LINK "pDOS/DosDev.h/File" 492} @{"pOS_StdDosDevFunction" LINK "pDOS/DosDev.h/File" 508}
@{b}#defines@{ub}
@{"_pOS_GetStdDosDevFunction()" LINK "pDOS/DosDev.h/File" 526}
const @{"struct pOS_DosMountDevice" LINK File 317} *ddvh_Mount;
} ddv_Handler;
struct
const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18} *ddva_Name; /* ddv_Lst => (@{"struct pOS_AssignNode" LINK "pDOS/DosDev.h/File" 295}) */
@{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *ddva_Lock;
} ddv_Assign;
} ddv_U;
};
/*----------------------------------
-----------------------------------*/
struct pOS_AssignNode
{
@{"struct pOS_Node" LINK "pExec/List.h/File" 18} an_Node;
@{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *an_Lock;
};
/*----------------------------------
-----------------------------------*/
struct pOS_DosDefDevice
{
@{"struct pOS_ExNode" LINK "pExec/List.h/File" 37} dfd_Node;
@{"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*);
};
/*----------------------------------
-----------------------------------*/
struct pOS_DosMountDevice
{
@{"struct pOS_ExNode" LINK "pExec/List.h/File" 37} dmd_Node; /* ln_Name, @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
@{"UWORD" LINK "pExec/Types.h/File" 93} dmd_Type; /* enum pOS_DosMountDevType */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmd_Flags; /* enum pOS_DosMountDevFlags */
@{"SBYTE" LINK "pExec/Types.h/File" 94} dmd_BootPri; /* Boot priority for autoboot */
@{"UBYTE" LINK "pExec/Types.h/File" 95} dmd_Reserved[11];
union
@{"UBYTE" LINK "pExec/Types.h/File" 95} dmd_UReserved[128];
struct /* DMDTYP_Pico */
const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmpic_DDName; /* DosDevice-Name (Handler) */
@{"APTR" LINK "pExec/Types.h/File" 87} dmpic_DDPrivate; /* DosDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
@{"CHAR" LINK "pExec/Types.h/File" 100} *dmpic_Startup; /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
} dmd_Pico;
struct /* DMDTYP_BOD */
const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmbod_DDName; /* DosDevice-Name (Handler) */
@{"APTR" LINK "pExec/Types.h/File" 87} dmbod_DDPrivate; /* DosDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
@{"CHAR" LINK "pExec/Types.h/File" 100} *dmbod_Startup; /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BytesPerBlock; /* Bytes pro Block */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BlockPerCyl; /* Block pro Zylinder */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_StartCyl; /* Start-Zylinder */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_EndCyl; /* End-Zylinder */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_Surfaces; /* */
@{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_StartReserved; /* Reservierte Blocks am Anfang */
@{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_EndReserved; /* Reservierte Blocks am Ende */
@{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_Interleave;
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BufferSize; /* Bytes for buffers */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_BufMemType; /* type of mem to allocate for buffers */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_MaxTransfer; /* Max number of bytes to transfer at a time */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_Mask; /* Address Mask to block out certain memory */
@{"UWORD" LINK "pExec/Types.h/File" 93} dmbod_BootBlocks; /* Number of blocks containing boot code */
@{"UBYTE" LINK "pExec/Types.h/File" 95} dmbod_UnitNum; /* exec device-unit number */
@{"UBYTE" LINK "pExec/Types.h/File" 95} dmbod_Pad1;
const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmbod_DevName; /* exec device-name */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmbod_Flags; /* flags for @{"pOS_OpenDevice()" LINK "pExecD/pOS_OpenDevice"} */
} dmd_BOD;
struct /* DMDTYP_Net */
const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmnet_DDName; /* DosDevice-Name (Handler) */
@{"APTR" LINK "pExec/Types.h/File" 87} dmnet_DDPrivate; /* DosDevice-Private-Datas @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
@{"CHAR" LINK "pExec/Types.h/File" 100} *dmnet_Startup; /* Startup-String @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
@{"UBYTE" LINK "pExec/Types.h/File" 95} dmnet_UnitNum; /* Net device-unit number */
@{"UBYTE" LINK "pExec/Types.h/File" 95} dmnet_AckgTimeout; /* Net-Timeout (1/10) sec. */
const @{"CHAR" LINK "pExec/Types.h/File" 100}* dmnet_DevName; /* Net device-name */
@{"ULONG" LINK "pExec/Types.h/File" 91} dmnet_Flags; /* flags for @{"pOS_OpenDevice()" LINK "pExecD/pOS_OpenDevice"} */
} dmd_Net;
} dmd_U;
};
enum pOS_DosMountDevType
{
DMDTYP_Pico=1, /* Minimal-Device */
DMDTYP_BOD, /* Block orientiertes Device */
DMDTYP_Net, /* Network-Device */
};
enum pOS_DosMountDevFlags
{
DMDF_NameAllocVec = 0x0001, /* ln_Name, @{"pOS_AllocVec()" LINK "pExecD/pOS_AllocVec"} */
DMDF_EnableBoot = 0x0002, /* Device ist boot-fähig */
};
/*----------------------------------
-----------------------------------*/
struct pOS_DosDevPathInfo
{
const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *dopi_CurrDir; /* Absolutly path, @{"NULL" LINK "pExec/Types.h/File" 117} are possible */
const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18} *dopi_PathName; /* String-Name */
@{"dosname_t" LINK "pDOS/DosTypes.h/File" 18} *dopi_Buffer;
@{"size_t" LINK "pExec/Types.h/File" 113} dopi_BufSize;
const @{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *dopi_ResDir; /* Result-Lock */
const @{"dosname_t" LINK "pDOS/DosTypes.h/File" 18} *dopi_ResName;
@{"struct pOS_DosDevice" LINK File 256} *dopi_Device;
@{"struct pOS_DosDevice" LINK File 256} *dopi_2thDev;
@{"UBYTE" LINK "pExec/Types.h/File" 95} dopi_Reserved[8];
};
enum pOS_DosDeviceTypes
{
DDTYP_Handler=1,
DDTYP_Assign,
DDTYP_Volume,
DDTYP_LateAssign,
DDTYP_NonBindingAssign,
DDTYP_Foreign,
};
enum pOS_DosIOReqCommands
{
DOSCMD_INVALID = 0,
DOSCMD_RESET = 1, /* unused */
DOSCMD_READ = 2, /* unused */
DOSCMD_WRITE = 3, /* unused */
DOSCMD_UPDATE = 4, /* unused */
DOSCMD_CLEAR = 5, /* unused */
DOSCMD_STOP = 6, /* unused */
DOSCMD_START = 7, /* unused */
DOSCMD_FLUSH = 8, /* unused */
DOSCMD_NONSTD = 9, /* unused */
DOSCMD_LockObject, /* dr_LockObj */
DOSCMD_UnlockObject, /* dr_UnlockObj */
DOSCMD_ExamineObject, /* dr_ExamineObj */
DOSCMD_ExNextObject, /* dr_ExNextObj */
DOSCMD_DupObjectLock, /* dr_DupObjLock */
DOSCMD_ParentObject, /* dr_ParentObj */
DOSCMD_LockName, /* dr_LockName */
DOSCMD_OpenFH, /* dr_OpenFH */
DOSCMD_CloseFH, /* dr_CloseFH */
DOSCMD_ReadFH, /* dr_ReadFH */
DOSCMD_WriteFH, /* dr_WriteFH */
DOSCMD_SeekFH, /* dr_SeekFH */
DOSCMD_IsFileSystem, /* dr_IsFileSys */
DOSCMD_CreateDir, /* dr_CreateDir */
DOSCMD_DeleteObject, /* dr_DeleteObj */
DOSCMD_RenameObject, /* dr_RenameObj */
DOSCMD_DupFH, /* dr_DupFH */
DOSCMD_SetDate, /* dr_SetDate */
DOSCMD_SetSize, /* dr_SetSize */
DOSCMD_WaitForChar, /* dr_WaitForCharz */
DOSCMD_InfoData, /* dr_InfoData */
DOSCMD_SetComment, /* dr_SetComment */
DOSCMD_SetProtection, /* dr_SetProtection */
DOSCMD_SameObject, /* dr_SameObject */
DOSCMD_AddBuffers, /* dr_AddBuffers */
DOSCMD_ChangeAccess, /* dr_ChangeAccess */
DOSCMD_Inhibit, /* dr_Inhibit */
DOSCMD_Relabel, /* dr_Relabel */
DOSCMD_OpenFromLock, /* dr_OpenFromLock */
DOSCMD_SetScreenMode, /* dr_SetScreenMode */
DOSCMD_AddNotify, /* dr_AddNotify */
DOSCMD_RemNotify, /* dr_RemNotify */
DOSCMD_GetUniqueID, /* dr_GetUniqueID */
DOSCMD_GetWindow, /* dr_GetWindow */
DOSCMD_MAX
};
/*----------------------------------
-----------------------------------*/
struct pOS_DosResidentLibInit
{
@{"size_t" LINK "pExec/Types.h/File" 113} dlit_DataSize; /* device data space size */
@{"__CONST__" LINK "pExec/Types.h/File" 120} @{"ULONG" LINK "pExec/Types.h/File" 91} **dlit_FuncTable; /* table of entry points */
@{"VOID" LINK "pExec/Types.h/File" 83} *dlit_DataInit; /* table of data initializers */
@{"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 */
const @{"struct pOS_DosMountDevice" LINK File 317}* dlit_Mount;
@{"UBYTE" LINK "pExec/Types.h/File" 95} dlit_Reserved[4];
};
/*----------------------------------
-----------------------------------*/
struct pOS_StdDosDevFunction
{
@{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Reserved2[8];
@{"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*);
@{"UBYTE" LINK "pExec/Types.h/File" 95} _d5[8];
@{"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*);
@{"UBYTE" LINK "pExec/Types.h/File" 95} _d4[8];
@{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Reserved1[8];
@{"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}*);
@{"UBYTE" LINK "pExec/Types.h/File" 95} _d3[8];
@{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Res2;
@{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17} Res1;
};
#define _pOS_GetStdDosDevFunction(dev) \\
( (@{"struct pOS_StdDosDevFunction" LINK File 508}*)((@{"ULONG" LINK "pExec/Types.h/File" 91})(dev) - sizeof(@{"struct pOS_StdDosDevFunction" LINK File 508})) )