@{"pOS_Device" LINK "pExec/Device.h/File" 21} @{"pOS_IORequest" LINK "pExec/Device.h/File" 53} @{"pOS_IOStdReq" LINK "pExec/Device.h/File" 66} @{"pOS_StdDeviceFunction" LINK "pExec/Device.h/File" 138}
@{"pOS_Unit" LINK "pExec/Device.h/File" 29}
@{b}#defines@{ub}
@{"_pOS_GetDeviceFunction()" LINK "pExec/Device.h/File" 161} @{"_pOS_GetStdDeviceFunction()" LINK "pExec/Device.h/File" 158}
IOERR_NoSubCMD =-9 /* sub-command not supported by device */
};
enum pOS_IOReqCommands
{
CMD_INVALID = 0,
CMD_RESET = 1,
CMD_READ = 2,
CMD_WRITE = 3,
CMD_UPDATE = 4,
CMD_CLEAR = 5,
CMD_STOP = 6,
CMD_START = 7,
CMD_FLUSH = 8,
CMD_NONSTD = 9,
};
/*----------------------------------
Rückwärtsgerichtete Struktur, DevBase
steht auf das Ende der Struct.
-----------------------------------*/
struct pOS_StdDeviceFunction
{
@{"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_Device" LINK File 21}*,_R_A0 struct pOS_IORequest*);
@{"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_Device" LINK File 21}*,_R_A0 struct pOS_IORequest*);
@{"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_Device" LINK File 21}*);
@{"UBYTE" LINK "pExec/Types.h/File" 95} _d3[8];
@{"VOID" LINK "pExec/Types.h/File" 83} (*Close_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_Device" LINK File 21}*,_R_A0 struct pOS_IORequest*);
@{"UBYTE" LINK "pExec/Types.h/File" 95} _d2[8];
@{"BOOL" LINK "pExec/Types.h/File" 99} (*Open_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_Device" LINK File 21}*,_R_A0 struct pOS_IORequest*,_R_D0 ULONG unitNr,_R_D1 ULONG flags);
@{"UBYTE" LINK "pExec/Types.h/File" 95} _d1[8];
}; /* => DeviceBase */
#define _pOS_GetStdDeviceFunction(dev) \\
( (@{"struct pOS_StdDeviceFunction" LINK File 138}*)((@{"ULONG" LINK "pExec/Types.h/File" 91})(dev) - sizeof(@{"struct pOS_StdDeviceFunction" LINK File 138})) )
#define _pOS_GetDeviceFunction(dev,index) \\
( (@{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17}*)((@{"ULONG" LINK "pExec/Types.h/File" 91})(dev) - (index)*sizeof(@{"struct pOS_LibraryFunction" LINK "pExec/Library.h/File" 17})) )