--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/e32test/examples/defrag/d_defrag_ref.h Thu Dec 17 09:24:54 2009 +0200
@@ -0,0 +1,98 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// e32test\defrag\d_defrag.h
+//
+//
+
+#if !defined(__D_DEFRAG_H__)
+#define __D_DEFRAG_H__
+#include <e32cmn.h>
+#ifndef __KERNEL_MODE__
+#include <e32std.h>
+#endif
+
+
+_LIT(KLddName,"DefragRef");
+
+class TCapsDefragTestV01
+ {
+public:
+ TVersion iVersion;
+ };
+
+/** User-side interface to the defrag LDD
+*/
+class RDefragChannel : public RBusLogicalChannel
+ {
+public:
+ enum TControl
+ {
+ EControlGeneralDefragDfc,
+ EControlGeneralDefragDfcComplete,
+ EControlGeneralDefragSem,
+ EControlGeneralDefrag,
+ EControlAllocLowestZone,
+ EControlClaimLowestZone,
+ EControlCloseChunk,
+ };
+
+public:
+ inline TInt Open();
+ inline TInt GeneralDefragDfc(TRequestStatus* aReq);
+ inline TInt GeneralDefragDfcComplete();
+ inline TInt GeneralDefrag();
+ inline TInt GeneralDefragSem();
+ inline TInt AllocLowestZone();
+ inline TInt ClaimLowestZone();
+ inline TInt CloseChunk();
+ };
+
+
+#ifndef __KERNEL_MODE__
+inline TInt RDefragChannel::Open()
+ {
+ return DoCreate(KLddName,TVersion(0,1,1),KNullUnit,NULL,NULL);
+ }
+
+inline TInt RDefragChannel::GeneralDefragDfc(TRequestStatus* aReq)
+ {
+ if (aReq != NULL)
+ {
+ *aReq = KRequestPending;
+ }
+ return DoControl(EControlGeneralDefragDfc, (TAny*)aReq);
+ }
+
+inline TInt RDefragChannel::GeneralDefragDfcComplete()
+ {
+ return DoControl(EControlGeneralDefragDfcComplete);
+ }
+
+inline TInt RDefragChannel::GeneralDefragSem()
+ { return DoControl(EControlGeneralDefragSem); }
+
+inline TInt RDefragChannel::GeneralDefrag()
+ { return DoControl(EControlGeneralDefrag); }
+
+inline TInt RDefragChannel::AllocLowestZone()
+ { return DoControl(EControlAllocLowestZone); }
+
+inline TInt RDefragChannel::ClaimLowestZone()
+ { return DoControl(EControlClaimLowestZone);}
+
+inline TInt RDefragChannel::CloseChunk()
+ { return DoControl(EControlCloseChunk); }
+#endif
+
+#endif