genericopenlibs/openenvcore/libc/test/testshm/inc/tshm.h
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genericopenlibs/openenvcore/libc/test/testshm/inc/tshm.h	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+*/
+
+
+
+#ifndef __TESTSHM_H__
+#define __TESTSHM_H__
+
+#include <test/testexecutestepbase.h>
+
+#include <unistd.h> 
+#include <errno.h>
+#include <stdio.h>
+#include <e32std.h>
+#include <stdlib.h>
+
+#include <e32svr.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <string.h>
+#include <pthread.h>
+
+
+#define MAX_IPC_OBJ 257
+
+_LIT(KIntgTest1, "IntgTest1");
+_LIT(KIntgTest2, "IntgTest2");
+_LIT(KIntgTest3, "IntgTest3");
+_LIT(KIntgTest4, "IntgTest4");
+_LIT(KIntgTest5, "IntgTest5");
+_LIT(KIntgTest6, "IntgTest6");
+_LIT(KIntgTest7, "IntgTest7");
+_LIT(KShmCreate, "ShmCreate");
+_LIT(KShmAttach, "ShmAttach");
+_LIT(KShmDetach, "ShmDetach");
+_LIT(KShmControl, "ShmControl");
+_LIT(KCreateThreadL, "CreateThreadL");
+_LIT(KCreateThreadL1, "CreateThreadL1");
+
+_LIT(Kshmgettest1, "shmgettest1");
+_LIT(Kshmgettest2, "shmgettest2");
+_LIT(Kshmgettest3, "shmgettest3");
+_LIT(Kshmgettest4, "shmgettest4");
+_LIT(Kshmgettest5, "shmgettest5");
+_LIT(Kshmgettest6, "shmgettest6");
+_LIT(Kshmgettest7, "shmgettest7");
+_LIT(Kshmgettest8, "shmgettest8");
+_LIT(KShmgetCreateKey, "ShmgetCreateKey");
+_LIT(Kshmctltest1, "shmctltest1");
+_LIT(Kshmctltest2, "shmctltest2");
+_LIT(Kshmctltest3, "shmctltest3");
+_LIT(Kshmctltest4, "shmctltest4");
+_LIT(Kshmctltest5, "shmctltest5");
+_LIT(Kshmattest1, "shmattest1");
+_LIT(Kshmattest2, "shmattest2");
+_LIT(Kshmattest3, "shmattest3");
+_LIT(Kshmattest4, "shmattest4");
+_LIT(Kshmattest5, "shmattest5");
+_LIT(Kshmdttest1, "shmdttest1");
+_LIT(Kshmopsvalidatetest, "shmopsvalidatetest");
+
+class CTestShm : public CTestStep
+	{
+public:
+
+	
+	~CTestShm(); 
+	CTestShm(const TDesC& aStepName);
+	TVerdict doTestStepL();
+	TVerdict doTestStepPreambleL();
+	TVerdict doTestStepPostambleL();
+	
+	//Helper functions for CreateThreadL1 
+	int myerror(const char*, FILE*);
+	int body(void*);
+	int myfunc1(void*);
+	int myfunc2(void*);
+	int myfunc3(void*);
+	
+private:
+	
+	TInt *iNoOfShmIds;
+    char* iShmAddr;
+    TInt iThreadId;
+    TInt iParamCnt;
+        
+	TInt ShmKey(TInt& aKey);
+	TInt ShmSize(TInt& aSize);
+	TInt ShmFlag(TInt& aFlag);
+	TInt ShmAddr(char** aAddr);
+	TInt ShmId(TInt& aId );
+	TInt ShmCmd(TInt& aCmd);
+	TInt ShmSegs(TInt& aSegs);
+	TInt ErrCode( TInt& aErrCode );
+	TInt CheckShmStats(struct shmid_ds& buf);
+	void SetShmParms(struct shmid_ds* buf);
+	TInt ShmCreate();
+	TInt ShmClose();
+	TInt ShmAttach();
+	TInt ShmDetach();
+	TInt ShmControl();
+	TInt CreateThreadL();	
+	TInt CreateThreadL1();
+	
+	TInt ShmServerWrite();
+	
+	TInt IntgTest1();
+	TInt IntgTest2();
+	TInt IntgTest3();
+	TInt IntgTest4();
+	TInt IntgTest5();
+	TInt IntgTest6(); 
+	TInt IntgTest7();
+ 
+
+	TInt shmgettest1();
+	TInt shmgettest2();
+	TInt shmgettest3();
+	TInt shmgettest4();
+	TInt shmgettest5();
+	TInt shmgettest6();
+	TInt shmgettest7();
+	TInt shmgettest8();
+	TInt ShmgetCreateKey();
+	TInt shmctltest1();
+	TInt shmctltest2();
+	TInt shmctltest3();
+	TInt shmctltest4();
+	TInt shmctltest5();
+	TInt shmattest1();
+	TInt shmattest2();
+	TInt shmattest3();
+	TInt shmattest4();
+	TInt shmattest5();
+	TInt shmdttest1();
+	TInt shmopsvalidatetest();	
+	};
+	void* ThreadEntryFunctionRead(void *arg);
+#endif