NAME
DeviceTuple -- Decode a device tuple
SYNOPSIS
return=DeviceTuple( tuple_data, storage)
a0 a1
ULONG DeviceTuple( UBYTE *, struct DeviceTData *);
FUNCTION
Extracts SIZE, TYPE, and SPEED from a device tuple (generally
obtained with CopyTuple()).
INPUTS
tuple_data - Pointer to a CISTPL_DEVICE tuple (generally obtained
with CopyTuple()).
storage - Pointer to a DeviceTData structure in which results
are to be stored.
struct DeviceTData {
ULONG dtd_DTsize; /* Size of card (bytes) */
ULONG dtd_DTspeed; /* Speed in nanoseconds */
UBYTE dtd_DTtype; /* Type of card */
UBYTE dtd_DTflags; /* Other flags */
};
RETURN
SIZE (same as dtd_DTsize) if the Device Tuple could be decoded.
FALSE (0) if the tuple is believed to be invalid. The tuple is
considered to be invalid if:
The tuple link value is 0.
The device type/speed byte is $00, or $FF.
The device type is DTYPE_EXTEND, which is undefined
as of this writing.
The extended speed byte is a value which is
undefined as of this writing.
The extended speed byte is extended again which is
undefined as of this writing.
The device Size byte is $FF.
NOTES
Some cards may not have a size specified in the device
tuple. An example would be an I/O card. The size would be
returned as one (1) in this case.
You should not call this function with a partial CISTPL_DEVICE
tuple, or the return values may be junk.
SEE ALSO
CopyTuple(), resources/card.h, resources/card.i