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