Data Members



_ejectable

protected:
 bool _ejectable; /* software-ejectable */

 /*!
 * @var _lockable
 * True if the media can be locked in the device under software control.
 */
 bool _lockable; /* software lockable in drive */
 /*!
 * @var _pollIsRequired
 * True if we must poll to detect media insertion or removal.
 */
 bool _pollIsRequired;
 /*!
 * @var _pollIsExpensive
 * True if polling is expensive; False if not.
 */
 bool _pollIsExpensive;

 /* Async IO statistics, usually only useful for debugging. These counters show
 * outstanding IO operations and completions.
 */

 /*!
 * @struct stats
 * A data structure to contain debugging statistics. Each field is a count.
 * @field clientReceived
 * Requests received from our client.
 * @field providerSent
 * Requests sent to our provider.
 * @field providerReject
 * Client requests we rejected without sending to our provider.
 * @field providerCompletionsRcvd
 * Completion calls that have arrived from our provider. 
 * @field clientCompletionsSent
 * Completion calls that have been made to our client.
 * @field clientCompletionsDone
 * Completion calls to the client that have come back to us.
 * This count MUST match clientCompletionsSent!
 */
 /*!
 * @var stats
 * The stats structure.
 */
 struct stats { /* executeRequest & completion counts */
 int clientReceived; /* requests received from client */
 int providerSent; /* requests sent to provider */
 int providerReject; /* provider requests rejected */
 int providerCompletionsRcvd; /* completions received from provider */
 int clientCompletionsSent; /* completions sent to client */
 int clientCompletionsDone; /* client completions made it back to us */
 } _stats;
 
 /* Media info and states: */

 /*!
 * @var _mediaObject
 * A pointer to the media object we have instantiated (if any).
 */
 IOMedia * _mediaObject;
 /*!
 * @var _mediaPresent
 * True if media is present in the device; False if not.
 */
 bool _mediaPresent; /* media is present and ready */
 /*!
 * @var _writeProtected
 * True if the media is write-protected; False if not.
 */
 bool _writeProtected;
 
 /*!
 * @var _mediaStateLock
 * A lock used to protect during media checks.
 */
 IOLock * _mediaStateLock;

 /*!
 * @var _mediaBlockSize
 * The block size of the media, in bytes.
 */
 UInt64 _mediaBlockSize;
 /*!
 * @var _maxBlockNumber
 * The maximum allowable block number for the media, zero-based.
 */
 UInt64 _maxBlockNumber;

 /*!
 * @var _maxReadByteTransfer
 * The maximum byte transfer allowed for read operations.
 */
 UInt64 _maxReadByteTransfer;

 /*!
 * @var _maxWriteByteTransfer
 * The maximum byte transfer allowed for write operations.
 */
 UInt64 _maxWriteByteTransfer;
};

True if the media is ejectable under software control.


_provider

protected:
 IOHDDriveNub * _provider;

A pointer to our provider.


_removable

protected:
 bool _removable;

True if the media is removable; False if it is fixed (not removable).


© 2000 Apple Computer, Inc. — (Last Updated 2/23/2000)