darling-iostoragefamily/IOStorageCardCharacteristics.h
2016-11-28 14:08:04 +01:00

491 lines
9.0 KiB
C

/*
* Copyright (c) 1998-2014 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#ifndef _IOKIT_IO_STORAGE_CARD_CHARACTERISTICS_H_
#define _IOKIT_IO_STORAGE_CARD_CHARACTERISTICS_H_
/*
* Card Characteristics - Characteristics defined for cards.
*/
/*!
@defined kIOPropertyCardCharacteristicsKey
@discussion This key is used to define Card Characteristics for a particular
piece of MMC/SD media and it has an associated dictionary which lists the
card characteristics.
Requirement: Mandatory
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardCharacteristicsKey "Card Characteristics"
/*!
@defined kIOPropertySlotKey
@discussion This key is used to define the slot number for the device
Requirement: Mandatory
Example:
<pre>
@textblock
<dict>
<key>Slot</key>
<integer>1<integer>
</dict>
@/textblock
</pre>
*/
#define kIOPropertySlotKey "Slot"
/*!
@defined kIOProperty64BitKey
@discussion This key defines wether the device supports 64-bit.
Requirement: Mandatory
Example:
<pre>
@textblock
<dict>
<key>64-bit</key>
<true/>
</dict>
@/textblock
</pre>
*/
#define kIOProperty64BitKey "64-bit"
/*!
@defined kIOPropertyClockDivisorKey
@discussion This key defines the current clock divisor for the device.
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Clock Divisor</key>
<integer>128</integer>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyClockDivisorKey "Clock Divisor"
/*!
@defined kIOPropertyBaseFrequencyKey
@discussion This key defines the current base frequency for the device.
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Base Frequency</key>
<integer>50</integer>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyBaseFrequencyKey "Base Frequency"
/*!
@defined kIOPropertyBusVoltageKey
@discussion This key defines the current bus voltage for the device in mV
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Bus Voltage</key>
<integer>3300</integer>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyBusVoltageKey "Bus Voltage"
/*!
@defined kIOPropertyBusWidthKey
@discussion This key defines the current bus width for the device.
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Bus Width</key>
<integer>4</integer>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyBusWidthKey "Bus Width"
/*!
@defined kIOPropertyCardPresentKey
@discussion This key defines wether a MMC or SD card is physically present.
Requirement: Mandatory
Example:
<pre>
@textblock
<dict>
<key>Card Present</key>
<true/>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardPresentKey "Card Present"
/*!
@defined kIOPropertyProductSerialNumberKey
@discussion This key is used to indicate the card serial number ID.
Requirement: Mandatory
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
<key>Serial Number</key>
<data>0045ff</data>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyProductSerialNumberKey "Serial Number"
/*!
@defined kIOPropertyManufacturerIDKey
@discussion This key is used to indicate the card manufacturer ID.
Requirement: Optional
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
<key>Manufacturer ID</key>
<data>03</data>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyManufacturerIDKey "Manufacturer ID"
/*!
@defined kIOPropertyApplicationIDKey
@discussion This key is used to indicate the card application ID.
Requirement: Optional
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
<key>Application ID</key>
<data>ffff</data>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyApplicationIDKey "Application ID"
/*!
@defined kIOPropertyManufacturingDateKey
@discussion This key is used to indicate the card manufacturing date.
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
<key>Manufacturing Date</key>
<string>2009-12</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyManufacturingDateKey "Manufacturing Date"
/*!
@defined kIOPropertySpeedClassKey
@discussion This key is used to indicate SD card speed class.
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
<key>Speed Class</key>
<data>02</data>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertySpeedClassKey "Speed Class"
/*!
@defined kIOPropertySpecificationVersionKey
@discussion This key is used to indicate the card specification version.
Requirement: Mandatory.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
<key>Specification Version</key>
<string>3.0</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertySpecificationVersionKey "Specification Version"
/*!
@defined kIOPropertyCardTypeKey
@discussion This key is used to indicate the card type is MMC.
Requirement: Optional.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>MMC</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardTypeKey "Card Type"
/*!
@defined kIOPropertyCardTypeMMCKey
@discussion This key is used to indicate the card type is MMC.
Requirement: Optional.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>MMC</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardTypeMMCKey "MMC"
/*!
@defined kIOPropertyCardTypeSDSCKey
@discussion This key is used to indicate the card type is SDSC.
Requirement: Optional.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDSC</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardTypeSDSCKey "SDSC"
/*!
@defined kIOPropertyCardTypeSDHCKey
@discussion This key is used to indicate the card type is SDHC.
Requirement: Optional.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDHC</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardTypeSDHCKey "SDHC"
/*!
@defined kIOPropertyCardTypeSDXCKey
@discussion This key is used to indicate the card type is SDXC.
Requirement: Optional.
Example:
<pre>
@textblock
<dict>
<key>Card Characteristics</key>
<dict>
<key>Product Name</key>
<string>SD32G</string>
<key>Product Revision Level</key>
<string>1.0</string>
<key>Card Type</key>
<string>SDXC</string>
</dict>
</dict>
@/textblock
</pre>
*/
#define kIOPropertyCardTypeSDXCKey "SDXC"
#endif /* _IOKIT_IO_STORAGE_CARD_CHARACTERISTICS_H_ */