sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Shared message service definitions sl@0: // sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @internalTechnology sl@0: */ sl@0: sl@0: #ifndef __HOSTUSBMSMSGSERVICE_H__ sl@0: #define __HOSTUSBMSMSGSERVICE_H__ sl@0: sl@0: /** sl@0: Package structure for a Read or Write request sl@0: */ sl@0: struct TReadWrite sl@0: { sl@0: /** position */ sl@0: TInt64 iPos; sl@0: /** Length */ sl@0: TInt iLen; sl@0: }; sl@0: sl@0: sl@0: const TInt KUsbHostMsSrvMajorVersionNumber = 1; sl@0: const TInt KUsbHostMsSrvMinorVersionNumber = 0; sl@0: const TInt KUsbHostMsSrvBuildVersionNumber = 0; sl@0: sl@0: _LIT(KUsbHostMsServerName, "usbhostmssrv"); sl@0: sl@0: /** Types of requests Host USB mass storage file extention and MM can make */ sl@0: enum TUsbHostMsReqType sl@0: { sl@0: EUsbHostMsRegisterInterface, // Adds the mass storage device to the server sl@0: EUsbHostMsInitialiseInterface, // Initialises the interface with the transport and setsup async call for GetMaxLun sl@0: EUsbHostMsUnRegisterInterface, // Removes the mass storage device from the server sl@0: EUsbHostMsFinalCleanup, // Called after unregistering the interface to cleanup any final bits in the session sl@0: EUsbHostMsGetNumLun, // Gets the maximum lun for found in the MS device sl@0: EUsbHostMsRegisterLun, // Opens a subsession and registers the LunId sl@0: EUsbHostMsUnRegisterLun,// Closes the subsession sl@0: EUsbHostMsShutdown, // Shuts down the server sl@0: EUsbHostMsNotifyChange, // Registers with MSC to get any media change notifications sl@0: EUsbHostMsSuspendLun, // Requests MSC to suspend the logical unit and registers with MSC to invoke when resumed sl@0: EUsbHostMsCapacity, // Get the logical unit or device capacity sl@0: EUsbHostMsRead, // Do a read on the logical unit or device sl@0: EUsbHostMsWrite, // Do a write to the logical unit or device sl@0: EUsbHostMsErase, // Erase an area on the logical unit or device sl@0: EUsbHostMsForceRemount, // Force a remount of the drive sl@0: EUsbHostMsCancelChangeNotifier, // Cancel the media change notifier sl@0: EUsbHostMsLast // This should always be at the end of the enum sl@0: }; sl@0: sl@0: #endif //__HOSTUSBMSMSGSERVICE_H__