(C) 1998 AROS - The Amiga Research OS


NAME
#include <dos/filehandler.h>
#include <proto/expansion.h>

struct DeviceNode * MakeDosNode (parmPacket)

LOCATION
In ExpansionBase at offset 24

SYNOPSIS
APTR parmPacket

FUNCTION
MakeDosNode() will create a DeviceNode structure suitable for passing to dos.library which contains all the information about a device stored in the parmPacket array. This will allow you to enter a DOS device into the system from the information contained in a DosEnvec structure (such as in a RigidDiskBlock PartitionBlock structure).

MakeDosNode() will allocate the memory that it needs to construct the DeviceNode, the strings and a FileSysStartupMsg that is passed to the filesystem handler on startup.

You can use AddBootNode() to add a node to the system.

INPUTS
parmPacket
a longword array containing the device parameters required to initialize the structures. This is a variable length structure. See also the DosEnvec structure in dos/filehandler.h

longword description -------- ----------- 0 Exec string with dos handler name (eg ffs.handler) 1 Exec string with exec device name (eg fdsk.device) 2 unit number of device to open 3 flags (for OpenDevice()) 4 length of the remaining data

data
consists of:

5 Size of standard device block in 32 bit longwords 6 not used; 0

heads
drive specific
block
not used; 0
track
drive specific 10 # of reserved blocks at the start of the partition 11 # of reserved blocks at the end of the partition 12 device interleave 13 starting cylinder of partition 14 end cylinder of partition 15 initial number of buffers 16 type of memory for buffers (CHIP, FAST,...) 17 max number of bytes to transfer at one time 18 address mask allowable for DMA transfers 19 boot priority for autobootable devices 20 standard DOS filesystem ID (eg 'DOS\1') 21 baud rate for serial handler 22 control word for handler/filesystem 23 number of boot blocks on this partition

RESULT
deviceNode - An initialized DeviceNode structure, or NULL if the required memory could not be allocated. The caller will have to modify this structure before passing it to AddBootNode().

EXAMPLE

SEE ALSO
AddBootNode(), AddDosNode(), dos/ MakeDosEntry()

NOTES
There are a number of fields of the DeviceNode structure that this function cannot initialize due to a lack of information. You should fill these in yourself.

BUGS

INTERNALS

HISTORY