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.
protected:IOHDDriveNub * _provider;
A pointer to our provider.
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)