1.1 --- a/epoc32/include/d32locd.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,603 +0,0 @@
1.4 -// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -// e32\include\d32locd.h
1.18 -//
1.19 -//
1.20 -
1.21 -#ifndef __D32LOCD_H__
1.22 -#define __D32LOCD_H__
1.23 -#include <e32cmn.h>
1.24 -#include <partitions.h>
1.25 -
1.26 -
1.27 -/**
1.28 -@publishedPartner
1.29 -@released
1.30 -
1.31 -Local media IDs.
1.32 -
1.33 -A media ID is passed to LocDrv::RegisterMediaDevice() when registering
1.34 -a media driver with the local media subsystem.
1.35 -*/
1.36 -enum TMediaDevice { EFixedMedia0, EFixedMedia1, EFixedMedia2, EFixedMedia3,
1.37 - EFixedMedia4, EFixedMedia5, EFixedMedia6, EFixedMedia7,
1.38 - ERemovableMedia0, ERemovableMedia1, ERemovableMedia2, ERemovableMedia3,
1.39 - EInvalidMedia
1.40 - };
1.41 -
1.42 -#define __IS_REMOVABLE(aDevice) (aDevice>=ERemovableMedia0 && aDevice<=ERemovableMedia3)
1.43 -#define __IS_FIXED(aDevice) ((TUint)aDevice<=EFixedMedia7)
1.44 -#define MEDIA_DEVICE_IRAM EFixedMedia0
1.45 -#define MEDIA_DEVICE_LFFS EFixedMedia1
1.46 -#define MEDIA_DEVICE_NAND EFixedMedia2
1.47 -#define MEDIA_DEVICE_MMC ERemovableMedia0
1.48 -#define MEDIA_DEVICE_PCCARD ERemovableMedia1
1.49 -#define MEDIA_DEVICE_CSA ERemovableMedia2
1.50 -
1.51 -typedef signed int TSocket;
1.52 -
1.53 -class TLDriveAssignInfo
1.54 -/**
1.55 -No longer used
1.56 -@internalComponent
1.57 -@removed
1.58 -*/
1.59 - {
1.60 -public:
1.61 - TMediaDevice iDevice;
1.62 - TInt iPriority;
1.63 - };
1.64 -
1.65 -class TMediaDeviceAssignInfo
1.66 -/**
1.67 -No longer used
1.68 -@internalComponent
1.69 -@removed
1.70 -*/
1.71 - {
1.72 -public:
1.73 - TInt iFirstMedia;
1.74 - TInt iLastMedia;
1.75 - };
1.76 -
1.77 -class TLocalDriveCaps
1.78 -/**
1.79 -Drives media capabilities fields
1.80 -
1.81 -@publishedPartner
1.82 -@released
1.83 -*/
1.84 - {
1.85 -public:
1.86 - IMPORT_C TLocalDriveCaps();
1.87 -public:
1.88 - /**
1.89 - Size of drive
1.90 -
1.91 - Note : This is the size of the partition, not the entire media.
1.92 - The entire media size can be obtained from TLocalDriveCapsV4::MediaSizeInBytes()
1.93 - */
1.94 - TInt64 iSize;
1.95 - /**
1.96 - Media Type of drive
1.97 - */
1.98 - TMediaType iType;
1.99 - /**
1.100 - Indicates state of battery if supported
1.101 - */
1.102 - TBatteryState iBattery;
1.103 - /**
1.104 - Attributes of the drive
1.105 - */
1.106 - TUint iDriveAtt;
1.107 - /**
1.108 - Attributes of underlying media
1.109 - */
1.110 - TUint iMediaAtt;
1.111 - /**
1.112 - Base address of media
1.113 - */
1.114 - TUint8* iBaseAddress;
1.115 - /**
1.116 - Identity of the file system used for this media
1.117 - */
1.118 - TUint16 iFileSystemId;
1.119 - /**
1.120 - Partition type of media
1.121 - */
1.122 - TUint16 iPartitionType;
1.123 - };
1.124 -typedef TPckgBuf<TLocalDriveCaps> TLocalDriveCapsBuf;
1.125 -//
1.126 -class TLocalDriveCapsV2 : public TLocalDriveCaps
1.127 -/**
1.128 -Extension to Capabilities fields mainly to support Nor flash
1.129 -
1.130 -@publishedPartner
1.131 -@released
1.132 -*/
1.133 - {
1.134 -public:
1.135 - /**
1.136 - Number of hidden sectors on drive
1.137 - */
1.138 - TUint iHiddenSectors;
1.139 - /**
1.140 - Size of erase unit on media
1.141 - */
1.142 - TUint iEraseBlockSize;
1.143 - };
1.144 -typedef TPckgBuf<TLocalDriveCapsV2> TLocalDriveCapsV2Buf;
1.145 -//
1.146 -
1.147 -
1.148 -
1.149 -/**
1.150 -Format specification for removable media
1.151 -
1.152 -@publishedPartner
1.153 -@released
1.154 -*/
1.155 -class TLDFormatInfo
1.156 - {
1.157 -public:
1.158 - inline TLDFormatInfo();
1.159 -public:
1.160 -
1.161 - TInt64 iCapacity; ///< Format Capacity
1.162 - TUint16 iSectorsPerCluster; ///< Specified sectors per cluster
1.163 - TUint16 iSectorsPerTrack; ///< Specified sectors per track
1.164 - TUint16 iNumberOfSides; ///< Specified number of sides
1.165 -
1.166 - enum TFATBits {EFBDontCare, EFB12 = 12, EFB16 = 16, EFB32 = 32};
1.167 - TFATBits iFATBits; ///< Specified bits per fat table entry
1.168 -
1.169 - TUint16 iReservedSectors; ///< Reserved sector count, required for SD card compliance
1.170 -
1.171 - // Flags field. Allows the number of FAT tables to be specified: set both bits to zero to use the default.
1.172 - enum TFlags {EOneFatTable = 0x01, ETwoFatTables = 0x02};
1.173 - TUint8 iFlags;
1.174 -
1.175 - TUint8 iPad; ///< Padding for offset alignment between kernel and user code
1.176 -
1.177 - };
1.178 -typedef TPckgBuf<TLDFormatInfo> TSpecialFormatInfoBuf;
1.179 -
1.180 -
1.181 -//
1.182 -class TLocalDriveCapsV3 : public TLocalDriveCapsV2
1.183 -/**
1.184 -Extension to Capabilities fields mainly to support removable media format specifications
1.185 -
1.186 -@publishedPartner
1.187 -@released
1.188 -*/
1.189 - {
1.190 -public:
1.191 - /**
1.192 - Format specification
1.193 - */
1.194 - TLDFormatInfo iFormatInfo;
1.195 - /**
1.196 - Set if iFormatInfo is valid
1.197 - */
1.198 - TBool iExtraInfo;
1.199 - /**
1.200 - */
1.201 - TInt iMaxBytesPerFormat;
1.202 - };
1.203 -//The following ASSERTs checks for offset of any TInt64 member be a multiple of 8 as per DEF045510
1.204 -__ASSERT_COMPILE(_FOFF(TLocalDriveCaps,iSize)%8 == 0);
1.205 -__ASSERT_COMPILE(_FOFF(TLocalDriveCapsV3,iFormatInfo.iCapacity) % 8 == 0);
1.206 -
1.207 -
1.208 -typedef TPckgBuf<TLocalDriveCapsV3> TLocalDriveCapsV3Buf;
1.209 -//
1.210 -class TLocalDriveCapsV4 : public TLocalDriveCapsV3
1.211 -/**
1.212 -Extension to Capabilities fields mainly to support Nand flash
1.213 -
1.214 -@publishedPartner
1.215 -@released
1.216 -*/
1.217 - {
1.218 -public:
1.219 - union
1.220 - {
1.221 - /**
1.222 - Number of blocks (for NAND flash)
1.223 - - The entire capacity of NAND media can be calculated using:
1.224 - capacity = iNumOfBlocks * iNumPagesPerBlock * iNumBytesMain
1.225 - */
1.226 - TInt iNumOfBlocks;
1.227 - /**
1.228 - Number of sectors (for other types of media)
1.229 - - The entire capacity of sector based media can be calculated using:
1.230 - capacity = iNumberOfSectors * iSectorSizeInBytes
1.231 - */
1.232 - TUint32 iNumberOfSectors;
1.233 - };
1.234 -
1.235 - /**
1.236 - Number of pages per block
1.237 - */
1.238 - TInt iNumPagesPerBlock;
1.239 -
1.240 - union
1.241 - {
1.242 - /**
1.243 - Number of Bytes in the main array (for NAND flash)
1.244 - - The entire capacity of NAND media can be calculated using:
1.245 - capacity = iNumOfBlocks * iNumPagesPerBlock * iNumBytesMain
1.246 - */
1.247 - TInt iNumBytesMain;
1.248 - /**
1.249 - Number of Bytes in a sector (for other types of media)
1.250 - - The entire capacity of sector based media can be calculated using:
1.251 - capacity = iNumberOfSectors * iSectorSizeInBytes
1.252 - */
1.253 - TUint32 iSectorSizeInBytes;
1.254 - };
1.255 -
1.256 - /**
1.257 - Number of Bytes in the spare array
1.258 - */
1.259 - TInt iNumBytesSpare;
1.260 - /**
1.261 - Effective usable blocks
1.262 - */
1.263 - TInt iEffectiveBlks;
1.264 - /**
1.265 - Start page of drive
1.266 - */
1.267 - TInt iStartPage;
1.268 -public:
1.269 - inline TInt64 MediaSizeInBytes();
1.270 - };
1.271 -typedef TPckgBuf<TLocalDriveCapsV4> TLocalDriveCapsV4Buf;
1.272 -//
1.273 -#define KMaxSerialNumLength 64
1.274 -typedef TBuf8<KMaxSerialNumLength> TMediaSerialNumber;
1.275 -class TLocalDriveCapsV5 : public TLocalDriveCapsV4
1.276 -/**
1.277 -Add serial number support for certain media.
1.278 -
1.279 -@publishedPartner
1.280 -@released
1.281 -*/
1.282 - {
1.283 -public:
1.284 - /**
1.285 - Serial number buffer length, 0 if not supported
1.286 - */
1.287 - TUint iSerialNumLength;
1.288 - /**
1.289 - Serial number buffer
1.290 - */
1.291 - TUint8 iSerialNum[KMaxSerialNumLength];
1.292 - };
1.293 -typedef TPckgBuf<TLocalDriveCapsV5> TLocalDriveCapsV5Buf;
1.294 -
1.295 -
1.296 -class TLocalDriveCapsV7 : public TLocalDriveCapsV5
1.297 -/**
1.298 -Add control mode, object mode, partition size for M18 NOR Flash.
1.299 -*/
1.300 - {
1.301 -public:
1.302 - TUint32 iWriteBufferSize;
1.303 - TUint32 iPartitionSize;
1.304 - TUint32 iControlModeSize;
1.305 - TUint32 iObjectModeSize;
1.306 - };
1.307 -
1.308 -typedef TPckgBuf<TLocalDriveCapsV7> TLocalDriveCapsV7Buf;
1.309 -
1.310 -
1.311 -//
1.312 -/**
1.313 -Extension to Capabilities fields mainly to support reporting block size
1.314 -information of underlying media.
1.315 -
1.316 -@publishedPartner
1.317 -@released
1.318 -*/
1.319 -class TLocalDriveCapsV6 : public TLocalDriveCapsV5
1.320 - {
1.321 -public:
1.322 - /**
1.323 - Block size information of underlying media is required to assist in chosing
1.324 - efficient size of buffers for reading and writing.
1.325 - This information can also be accessed through the function
1.326 - - RFs::VolumeIOParam
1.327 -
1.328 - These functions retrieve this blocksize information by calling the media
1.329 - driver's Caps() function.
1.330 - */
1.331 - TUint iBlockSize;
1.332 -
1.333 -private:
1.334 - /**
1.335 - Reserved space for future use.
1.336 - */
1.337 - TUint32 iSpare[4];
1.338 - };
1.339 -typedef TPckgBuf<TLocalDriveCapsV6> TLocalDriveCapsV6Buf;
1.340 -//
1.341 -class TFormatInfo
1.342 -/**
1.343 -Format information class
1.344 -
1.345 -@publishedPartner
1.346 -@released
1.347 -*/
1.348 - {
1.349 -public:
1.350 - IMPORT_C TFormatInfo();
1.351 -public:
1.352 - TBool iFormatIsCurrent;
1.353 - TInt i512ByteSectorsFormatted;
1.354 - TInt iMaxBytesPerFormat;
1.355 - };
1.356 -//
1.357 -class TErrorInfo
1.358 -/**
1.359 -@internalTechnology
1.360 - */
1.361 - {
1.362 -public:
1.363 - enum TReasonCode
1.364 - {
1.365 - ENoError=0, //No error
1.366 - EBadSector=1, //Error due to corrupt sector
1.367 - };
1.368 -public:
1.369 - TReasonCode iReasonCode;
1.370 - union
1.371 - {
1.372 - // holds position error occurred for KErrCorrupt
1.373 - // It numerically equals number of bytes succesfully read/written during
1.374 - // last disk operation.
1.375 - TInt64 iErrorPos;
1.376 - TInt iOtherInfo;
1.377 - };
1.378 - };
1.379 -typedef TPckgBuf<TErrorInfo> TErrorInfoBuf;
1.380 -//
1.381 -class TLocalDriveMessageData
1.382 -/**
1.383 -@internalTechnology
1.384 -*/
1.385 - {
1.386 -public:
1.387 - inline TLocalDriveMessageData()
1.388 - {}
1.389 - inline TLocalDriveMessageData(TInt64 aPos, TInt aLength, const TAny* aPtr, TInt aHandle, TInt anOffset, TInt aFlags)
1.390 - : iPos(aPos), iLength(aLength), iPtr(aPtr), iHandle(aHandle), iOffset(anOffset), iFlags(aFlags)
1.391 - {}
1.392 -public:
1.393 - TInt64 iPos;
1.394 - TInt iLength;
1.395 - const TAny* iPtr;
1.396 - TInt iHandle;
1.397 - TInt iOffset;
1.398 - TInt iFlags;
1.399 - };
1.400 -
1.401 -class TLocalDriveControlIOData
1.402 -/**
1.403 -Control IO data class
1.404 -
1.405 -@internalTechnology
1.406 -*/
1.407 - {
1.408 -public:
1.409 - inline TLocalDriveControlIOData()
1.410 - {}
1.411 - inline TLocalDriveControlIOData(TInt aCommand, TAny* aParam1, TAny* aParam2, TInt aHandle)
1.412 - : iCommand(aCommand), iParam1(aParam1), iParam2(aParam2), iHandle(aHandle)
1.413 - {}
1.414 -public:
1.415 - TInt iCommand;
1.416 - TAny* iParam1;
1.417 - TAny* iParam2;
1.418 - TInt iHandle;
1.419 - };
1.420 -
1.421 -class TLocalDrivePasswordData
1.422 -/**
1.423 -Password store for password protected media
1.424 -
1.425 -@internalTechnology
1.426 -*/
1.427 - {
1.428 -public:
1.429 - TLocalDrivePasswordData(const TDesC8& aOldPasswd, const TDesC8& aNewPasswd, TBool aStorePasswd)
1.430 - : iOldPasswd(&aOldPasswd), iNewPasswd(&aNewPasswd), iStorePasswd(aStorePasswd)
1.431 - {}
1.432 - TLocalDrivePasswordData()
1.433 - : iOldPasswd(&KNullDesC8), iNewPasswd(&KNullDesC8), iStorePasswd(EFalse)
1.434 - {}
1.435 -public:
1.436 - const TDesC8 *iOldPasswd;
1.437 - const TDesC8 *iNewPasswd;
1.438 - TBool iStorePasswd;
1.439 - };
1.440 -typedef TPckgBuf<TLocalDrivePasswordData> TLocalDrivePasswordDataPckg;
1.441 -
1.442 -
1.443 -class TPasswordStore
1.444 -/**
1.445 -@internalTechnology
1.446 -*/
1.447 - {
1.448 -public:
1.449 - virtual TInt Init()=0;
1.450 - virtual TInt ReadPasswordData(TDes8 &aBuf)=0;
1.451 - virtual TInt WritePasswordData(TDesC8 &aBuf)=0;
1.452 - virtual TInt PasswordStoreLengthInBytes()=0;
1.453 - enum {EMaxPasswordLength=1024}; /**< Size of the password store write buffer, which may contain multiple password mappings */
1.454 - };
1.455 -
1.456 -class TMountInfoData
1.457 -/**
1.458 -@internalTechnology
1.459 -*/
1.460 - {
1.461 -public:
1.462 - TDesC8* iInfo;
1.463 - TAny* iThread;
1.464 - };
1.465 -
1.466 -
1.467 -const TInt KLocalDriveMajorVersion=1;
1.468 -const TInt KLocalDriveMinorVersion=0;
1.469 -const TInt KLocalDriveBuildVersion=160;
1.470 -_LIT(KLitLocalDriveLddName,"LocDrv");
1.471 -
1.472 -const TInt KLocalMessageHandle=-1;
1.473 -
1.474 -
1.475 -enum TMediaPagingStats
1.476 - {
1.477 - EMediaPagingStatsRomAndCode,
1.478 - EMediaPagingStatsRom,
1.479 - EMediaPagingStatsCode
1.480 - };
1.481 -
1.482 -
1.483 -class RLocalDrive : public RBusLogicalChannel
1.484 -/**
1.485 -Interface class to local media
1.486 -
1.487 -@internalTechnology
1.488 -*/
1.489 - {
1.490 -public:
1.491 - enum TControl
1.492 - {
1.493 - EControlRead=0, /**< Read request */
1.494 - EControlWrite=1, /**< Write request */
1.495 - EControlCaps=2, /**< Caps request */
1.496 - EControlFormat=3, /**< Format request */
1.497 - EControlEnlarge=4, /**< Enlarge drive request */
1.498 - EControlReduce=5, /**< Reduce Drive request */
1.499 - EControlForceMediaChange=6, /**< Force media change request */
1.500 - EControlMediaDevice=7, /**< Return the media device request */
1.501 - EControlPasswordLock=8, /**< Password lock media request */
1.502 - EControlPasswordUnlock=9, /**< Password unlock media request */
1.503 - EControlPasswordClear=10, /**< Password clear request */
1.504 - EControlNotifyChange=11, /**< Notify change request */
1.505 - EControlNotifyChangeCancel=12, /**< Notify change cancel request */
1.506 - EControlReadPasswordStore=13, /**< Read password request */
1.507 - EControlWritePasswordStore=14, /**< Write password request */
1.508 - EControlPasswordStoreLengthInBytes=15, /**< Password request */
1.509 - EControlIsRemovable=16, /**< Query removable request */
1.510 - EControlSetMountInfo=17, /**< Set mount info request */
1.511 - EControlControlIO=18, /**< Control IO request */
1.512 - EControlPasswordErase=19, /**< Password erase media request */
1.513 - EControlDeleteNotify=20, /**< Delete notification */
1.514 - EControlGetLastErrorInfo=21, /**< Get last error info request */
1.515 - };
1.516 -
1.517 - enum TRemountFlags
1.518 - {
1.519 - ELocDrvRemountNotifyChange = 0, /**< Notify clients of media change but don't remount */
1.520 - ELocDrvRemountForceMediaChange = 1, /**< Notify clients of media change and remount */
1.521 - };
1.522 -
1.523 - enum TReadWriteFlags
1.524 - {
1.525 - ELocDrvMetaData = 0x80000000, /**< Set if read/write request is for metadata */
1.526 - ELocDrvWholeMedia = 0x40000000 /**< Set to access whole media, rather than partition */
1.527 - };
1.528 -
1.529 -public:
1.530 - inline TVersion VersionRequired() const;
1.531 - inline TInt Connect(TInt aDriveNumber, TBool& aChangedFlag);
1.532 - inline TInt Enlarge(TInt aLength);
1.533 - inline TInt Reduce(TInt aPos, TInt aLength);
1.534 - inline TInt Read(TInt64 aPos, TInt aLength, const TAny* aTrg, TInt aMessageHandle, TInt aOffset, TInt aFlags);
1.535 - inline TInt Read(TInt64 aPos, TInt aLength, const TAny* aTrg, TInt aMessageHandle, TInt anOffset);
1.536 - inline TInt Read(TInt64 aPos, TInt aLength, TDes8& aTrg);
1.537 - inline TInt Write(TInt64 aPos, TInt aLength, const TAny* aSrc, TInt aMessageHandle, TInt aOffset, TInt aFlags);
1.538 - inline TInt Write(TInt64 aPos, TInt aLength, const TAny* aSrc, TInt aMessageHandle, TInt anOffset);
1.539 - inline TInt Write(TInt64 aPos, const TDesC8& aSrc);
1.540 - inline TInt Caps(TDes8& anInfo);
1.541 - inline TInt Format(TInt64 aPos, TInt aLength);
1.542 - inline TInt ForceMediaChange(TInt aMode=0);
1.543 - inline void NotifyChange(TRequestStatus* aStatus);
1.544 - inline void NotifyChangeCancel();
1.545 - inline TInt SetMountInfo(const TDesC8* aInfo,TInt aMessageHandle);
1.546 - inline TMediaDevice MediaDevice();
1.547 - inline TInt IsRemovable(TInt& aSocketNum);
1.548 - inline TInt ControlIO(TInt aCommand, TAny* aParam1, TAny* aParam2);
1.549 - inline TInt Unlock(const TDesC8& aPassword, TBool aStorePassword);
1.550 - inline TInt SetPassword(const TDesC8& aOldPassword, const TDesC8& aNewPassword, TBool aStorePassword);
1.551 - inline TInt Clear(const TDesC8& aPassword);
1.552 - inline TInt ErasePassword();
1.553 - inline TInt ReadPasswordData(TDesC8& aStoreData);
1.554 - inline TInt WritePasswordData(const TDesC8& aStoreData);
1.555 - inline TInt PasswordStoreLengthInBytes();
1.556 - inline TInt DeleteNotify(TInt64 aPos, TInt aLength);
1.557 - inline TInt GetLastErrorInfo(TDesC8& aErrorInfo);
1.558 - };
1.559 -//
1.560 -#ifndef __KERNEL_MODE__
1.561 -class TBusLocalDrive : public RLocalDrive
1.562 -/**
1.563 -@internalTechnology
1.564 -*/
1.565 - {
1.566 -public:
1.567 - IMPORT_C TBusLocalDrive();
1.568 - IMPORT_C TInt Connect(TInt aDriveNumber, TBool& aChangedFlag);
1.569 - IMPORT_C void Disconnect();
1.570 - IMPORT_C TInt Enlarge(TInt aLength);
1.571 - IMPORT_C TInt ReduceSize(TInt aPos, TInt aLength);
1.572 - IMPORT_C TInt Read(TInt64 aPos,TInt aLength,const TAny* aTrg,TInt aMessageHandle,TInt aOffset,TInt aFlags);
1.573 - IMPORT_C TInt Read(TInt64 aPos,TInt aLength,const TAny* aTrg,TInt aMessageHandle,TInt anOffset);
1.574 - IMPORT_C TInt Read(TInt64 aPos,TInt aLength,TDes8& aTrg);
1.575 - IMPORT_C TInt Write(TInt64 aPos,TInt aLength,const TAny* aSrc,TInt aMessageHandle,TInt aOffset,TInt aFlags);
1.576 - IMPORT_C TInt Write(TInt64 aPos,TInt aLength,const TAny* aSrc,TInt aMessageHandle,TInt anOffset);
1.577 - IMPORT_C TInt Write(TInt64 aPos,const TDesC8& aSrc);
1.578 - IMPORT_C TInt Caps(TDes8& anInfo);
1.579 - IMPORT_C TInt Format(TFormatInfo& anInfo);
1.580 - IMPORT_C TInt Format(TInt64 aPos,TInt aLength);
1.581 - IMPORT_C TInt SetMountInfo(const TDesC8* aMountInfo,TInt aMessageHandle);
1.582 - IMPORT_C TInt ForceRemount(TUint aFlags=0);
1.583 - IMPORT_C TInt ControlIO(TInt aCommand, TAny* aParam1, TAny* aParam2);
1.584 -
1.585 - IMPORT_C TInt Unlock(const TDesC8& aPassword, TBool aStorePassword);
1.586 - IMPORT_C TInt SetPassword(const TDesC8& aOldPassword, const TDesC8& aNewPassword, TBool aStorePassword);
1.587 - IMPORT_C TInt Clear(const TDesC8& aPassword);
1.588 - IMPORT_C TInt ErasePassword();
1.589 - IMPORT_C TInt ReadPasswordData(TDes8 &aBuf);
1.590 - IMPORT_C TInt WritePasswordData(const TDesC8 &aBuf);
1.591 - IMPORT_C TInt PasswordStoreLengthInBytes();
1.592 - IMPORT_C TInt DeleteNotify(TInt64 aPos, TInt aLength);
1.593 - IMPORT_C TInt GetLastErrorInfo(TDes8& aErrorInfo);
1.594 -public:
1.595 - inline TInt& Status() {return(iStatus);}
1.596 -private:
1.597 - TInt CheckMount();
1.598 -private:
1.599 - TInt iStatus;
1.600 - };
1.601 -#endif
1.602 -
1.603 -#define _LOCKABLE_MEDIA
1.604 -
1.605 -#include <d32locd.inl>
1.606 -#endif