kernel/eka/include/d32locd.h
branchRCL_3
changeset 294 039a3e647356
parent 249 a179b74831c9
equal deleted inserted replaced
268:345b1ca54e88 294:039a3e647356
    34 a media driver with the local media subsystem.
    34 a media driver with the local media subsystem.
    35 */
    35 */
    36 enum TMediaDevice { EFixedMedia0, EFixedMedia1, EFixedMedia2, EFixedMedia3,
    36 enum TMediaDevice { EFixedMedia0, EFixedMedia1, EFixedMedia2, EFixedMedia3,
    37 					EFixedMedia4, EFixedMedia5, EFixedMedia6, EFixedMedia7,
    37 					EFixedMedia4, EFixedMedia5, EFixedMedia6, EFixedMedia7,
    38 					ERemovableMedia0, ERemovableMedia1, ERemovableMedia2, ERemovableMedia3,
    38 					ERemovableMedia0, ERemovableMedia1, ERemovableMedia2, ERemovableMedia3,
    39 					EInvalidMedia,
    39 					EInvalidMedia
    40 					EMediaExtension0, EMediaExtension1, EMediaExtension2, EMediaExtension3,
       
    41 					EMediaExtension4, EMediaExtension5, EMediaExtension6, EMediaExtension7,
       
    42 				};
    40 				};
    43 
    41 
    44 #define __IS_REMOVABLE(aDevice) (aDevice>=ERemovableMedia0 && aDevice<=ERemovableMedia3)
    42 #define __IS_REMOVABLE(aDevice) (aDevice>=ERemovableMedia0 && aDevice<=ERemovableMedia3)
    45 #define __IS_FIXED(aDevice) ((TUint)aDevice<=EFixedMedia7)
    43 #define __IS_FIXED(aDevice) ((TUint)aDevice<=EFixedMedia7)
    46 #define __IS_EXTENSION(aDevice) (aDevice>=EMediaExtension0 && aDevice<=EMediaExtension7)
       
    47 
       
    48 #define MEDIA_DEVICE_IRAM EFixedMedia0
    44 #define MEDIA_DEVICE_IRAM EFixedMedia0
    49 #define MEDIA_DEVICE_LFFS EFixedMedia1
    45 #define MEDIA_DEVICE_LFFS EFixedMedia1
    50 #define MEDIA_DEVICE_NAND EFixedMedia2
    46 #define MEDIA_DEVICE_NAND EFixedMedia2
    51 #define MEDIA_DEVICE_MMC ERemovableMedia0
    47 #define MEDIA_DEVICE_MMC ERemovableMedia0
    52 #define MEDIA_DEVICE_PCCARD ERemovableMedia1
    48 #define MEDIA_DEVICE_PCCARD ERemovableMedia1
    53 #define MEDIA_DEVICE_CSA ERemovableMedia2
    49 #define MEDIA_DEVICE_CSA ERemovableMedia2
    54 #define MEDIA_DEVICE_NFE EMediaExtension0
       
    55 
    50 
    56 typedef signed int TSocket;
    51 typedef signed int TSocket;
    57 
    52 
    58 class TLDriveAssignInfo
    53 class TLDriveAssignInfo
    59 /**
    54 /**
   508 public:
   503 public:
   509 	TInt	iReservoirBlockCount;	// number of blocks in replacement reservoir (used & unused)
   504 	TInt	iReservoirBlockCount;	// number of blocks in replacement reservoir (used & unused)
   510 	TInt	iBadBlockCount;			// numer of bad blocks
   505 	TInt	iBadBlockCount;			// numer of bad blocks
   511 	};
   506 	};
   512 typedef TPckgBuf<TPageDeviceInfo> TPageDeviceInfoBuf;
   507 typedef TPckgBuf<TPageDeviceInfo> TPageDeviceInfoBuf;
   513 
       
   514 class TLocalDriveFinaliseInfo
       
   515 /**
       
   516 @internalTechnology
       
   517 */
       
   518 	{
       
   519 public:
       
   520 	TInt iMode;		// @see RFs::TFinaliseDrvMode
       
   521 	};
       
   522 typedef TPckgBuf<TLocalDriveFinaliseInfo> TLocalDriveFinaliseInfoBuf;
       
   523 
   508 
   524 class RLocalDrive : public RBusLogicalChannel
   509 class RLocalDrive : public RBusLogicalChannel
   525 /**
   510 /**
   526 Interface class to local media
   511 Interface class to local media
   527 
   512 
   563 		};
   548 		};
   564 
   549 
   565 	enum TReadWriteFlags
   550 	enum TReadWriteFlags
   566 		{
   551 		{
   567 		ELocDrvMetaData					= 0x80000000,	/**< Set if read/write request is for metadata */
   552 		ELocDrvMetaData					= 0x80000000,	/**< Set if read/write request is for metadata */
   568 		ELocDrvWholeMedia				= 0x40000000,	/**< Set to access whole media, rather than partition */
   553 		ELocDrvWholeMedia				= 0x40000000	/**< Set to access whole media, rather than partition */
   569 		ELocDrvDirectIO					= 0x20000000
   554 		};
   570 		};
   555 
   571 
       
   572 	// @see TBusLocalDrive::QueryDevice()
       
   573 	enum TQueryDevice
   556 	enum TQueryDevice
   574 		{ 
   557 		{ 
   575 		// Symbian publishedPartner range
   558 		// Symbian publishedPartner range
   576 		EQuerySymbianPublishedPartnerFirst	= 0x0000,
   559 		EQuerySymbianPublishedPartnerFirst	= 0x0000,
   577 		EQuerySymbianPublishedPartnerLast	= 0x3FFF,
   560 		EQuerySymbianPublishedPartnerLast	= 0x3FFF,
   582 		
   565 		
   583 		// Licensee range
   566 		// Licensee range
   584 		EQueryLicenseeFirst					= 0x8000,
   567 		EQueryLicenseeFirst					= 0x8000,
   585 		EQueryLicenseeLast					= 0xBFFF,
   568 		EQueryLicenseeLast					= 0xBFFF,
   586 		
   569 		
   587 		// Finalize Drive - called as a result of a call to RFs::FinaliseDrives()
       
   588 		EQueryFinaliseDrive					= EQuerySymbianPublishedPartnerFirst + 0,	// @internalTechnology
       
   589 
       
   590 		EQueryPageDeviceInfo = EQuerySymbianTestFirst,	/**< @see TPageDeviceInfo */
   570 		EQueryPageDeviceInfo = EQuerySymbianTestFirst,	/**< @see TPageDeviceInfo */
   591 		
       
   592 		// NFE test driver
       
   593 		EQuerySymbianNfeTestFirst = EQuerySymbianTestFirst+0x10,
       
   594 		EQuerySymbianNfeTestEnd = EQuerySymbianTestFirst+0x1F,
       
   595 		};
   571 		};
   596 public:
   572 public:
   597 	inline TVersion VersionRequired() const;
   573 	inline TVersion VersionRequired() const;
   598 	inline TInt Connect(TInt aDriveNumber, TBool& aChangedFlag);
   574 	inline TInt Connect(TInt aDriveNumber, TBool& aChangedFlag);
   599 	inline TInt Enlarge(TInt aLength);
   575 	inline TInt Enlarge(TInt aLength);