lide.device/mounter/mounter.h
Matt Harlum 89e3b82f6c Store mounter in-tree
Mounter repo: https://github.com/A4091/mounter
Mounter commit: a0d87fe11a2113afa2bc4aec970fd9963f062846
2025-08-01 21:56:47 +12:00

45 lines
1.3 KiB
C

#ifndef MOUNTER_H
#define MOUNTER_H
struct MountStruct
{
// Device name. ("myhddriver.device")
// Offset 0.
const UBYTE *deviceName;
// Unit number pointer or single integer value.
// if >= 0x100 (256), pointer to array of ULONGs, first ULONG is number of unit numbers followed (for example { 2, 0, 1 }. 2 units, unit numbers 0 and 1).
// if < 0x100 (256): used as a single unit number value.
// Offset 4.
ULONG *unitNum;
// Name string used to set Creator field in FileSystem.resource (if KS 1.3) and in FileSystem.resource entries.
// If NULL: use device name.
// Offset 8.
const UBYTE *creatorName;
// ConfigDev: set if autoconfig board autoboot support is wanted.
// If NULL and bootable partition found: fake ConfigDev is automatically created.
// Offset 12.
struct ConfigDev *configDev;
// SysBase.
// Offset 16.
struct ExecBase *SysBase;
// LUNs
// Offset 20.
BOOL luns;
// Short/Long Spinup
// Offset 22.
BOOL slowSpinup;
// Enahle CD Boot
BOOL cdBoot;
// Ignore RDBFF_LAST flag
BOOL ignoreLast;
};
APTR W_CreateIORequest(struct MsgPort *ioReplyPort, ULONG size, struct ExecBase *SysBase);
void W_DeleteIORequest(APTR iorequest, struct ExecBase *SysBase);
struct MsgPort *W_CreateMsgPort(struct ExecBase *SysBase);
void W_DeleteMsgPort(struct MsgPort *port, struct ExecBase *SysBase);
LONG MountDrive(struct MountStruct *ms);
#endif