genericopenlibs/openenvcore/libc/test/testmsgqueue/inc/tmsgqueue.h
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genericopenlibs/openenvcore/libc/test/testmsgqueue/inc/tmsgqueue.h	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,242 @@
+/*
+* 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 __TESTMSGQUEUE_H__
+#define __TESTMSGQUEUE_H__
+
+#include <test/testexecutestepbase.h>
+#include <e32svr.h>
+#include <sys/msg.h>
+#include <errno.h>
+#include <sys/ipc.h>
+#include <string.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <sys/ipc.h>
+
+// MACROS
+#define MAX_IPC_OBJ 1024
+
+_LIT(KMessageQueueCreate,"MessageQueueCreate");
+_LIT(KMessageQueueControl,"MessageQueueControl");
+ 
+_LIT(KIntgTest1,"IntgTest1");
+_LIT(KIntgTest2,"IntgTest2");
+_LIT(KIntgTest3,"IntgTest3");
+_LIT(KIntgTest4,"IntgTest4");
+_LIT(KIntgTest5,"IntgTest5");
+_LIT(KIntgTest6,"IntgTest6");
+_LIT(KIntgTest7,"IntgTest7");
+_LIT(KIntgTest8,"IntgTest8");
+_LIT(KIntgTest9,"IntgTest9");
+_LIT(KIntgTest10,"IntgTest10");
+_LIT(KIntgTest11,"IntgTest11");
+_LIT(KIntgTest12,"IntgTest12");
+_LIT(KIntgTest13,"IntgTest13");
+_LIT(KIntgTest14,"IntgTest14");
+_LIT(KIntgTest15,"IntgTest15");
+_LIT(KIntgTest16,"IntgTest16");
+_LIT(KIntgTest17,"IntgTest17");
+_LIT(KIntgTest6_1,"IntgTest6_1");
+
+_LIT(Kmsggettest1,"msggettest1");
+_LIT(Kmsggettest2,"msggettest2");
+_LIT(Kmsggettest3,"msggettest3");
+_LIT(Kmsggettest4,"msggettest4");
+_LIT(Kmsggettest5,"msggettest5");
+_LIT(Kmsggettest6,"msggettest6");
+_LIT(KMsggetCreateKey,"MsggetCreateKey");
+_LIT(Kmsgctltest1,"msgctltest1");
+_LIT(Kmsgctltest2,"msgctltest2");
+_LIT(Kmsgctltest3,"msgctltest3");
+_LIT(Kmsgctltest4,"msgctltest4");
+_LIT(Kmsgctltest5,"msgctltest5");
+_LIT(Kmsgsndtest1,"msgsndtest1");
+_LIT(Kmsgsndtest2,"msgsndtest2");
+_LIT(Kmsgsndtest3,"msgsndtest3");
+_LIT(Kmsgsndtest4,"msgsndtest4");
+_LIT(Kmsgsndtest5,"msgsndtest5");
+_LIT(Kmsgsndtest6,"msgsndtest6");
+_LIT(Kmsgrcvtest1,"msgrcvtest1");
+_LIT(Kmsgrcvtest2,"msgrcvtest2");
+_LIT(Kmsgrcvtest3,"msgrcvtest3");
+_LIT(Kmsgrcvtest4,"msgrcvtest4");
+_LIT(Ksndrcvtest1,"sndrcvtest1");
+_LIT(Ksndrcvtest2,"sndrcvtest2");
+_LIT(Ksndrcvtest3,"sndrcvtest3");
+_LIT(Ksndrcvtest4,"sndrcvtest4");
+_LIT(Kthsndrcvtest1,"thsndrcvtest1");
+	
+class CTestMsgqueue : public CTestStep
+	{
+public:
+	~CTestMsgqueue(); 
+	CTestMsgqueue(const TDesC& aStepName);
+	TVerdict doTestStepL();
+	TVerdict doTestStepPreambleL();
+	TVerdict doTestStepPostambleL();
+	
+	TInt IntgTest1();
+	TInt IntgTest2();
+	TInt IntgTest3();
+	TInt IntgTest4();
+	TInt IntgTest5();
+	TInt IntgTest6();
+	TInt IntgTest7();
+	TInt IntgTest8();
+	TInt IntgTest9();
+	TInt IntgTest10();
+	TInt IntgTest11();
+	TInt IntgTest12();
+	TInt IntgTest13();
+	TInt IntgTest14();
+	TInt IntgTest15();
+	TInt IntgTest16();
+	TInt IntgTest17();
+	TInt IntgTest6_1();
+
+	TInt msggettest1();
+	TInt msggettest2();
+	TInt msggettest3();
+	TInt msggettest4();
+	TInt msggettest5();
+	TInt msggettest6();
+	TInt MsggetCreateKey();
+	TInt msgctltest1();
+	TInt msgctltest2();
+	TInt msgctltest3();
+	TInt msgctltest4();
+	TInt msgctltest5();
+	TInt msgsndtest1();
+	TInt msgsndtest2();
+	TInt msgsndtest3();
+	TInt msgsndtest4();
+	TInt msgsndtest5();
+	TInt msgsndtest6();
+	TInt msgrcvtest1();
+	TInt msgrcvtest2();
+	TInt msgrcvtest3();
+	TInt msgrcvtest4();
+	TInt sndrcvtest1();
+	TInt sndrcvtest2();
+	TInt sndrcvtest3();
+	TInt sndrcvtest4();
+	TInt thsndrcvtest1();
+
+ protected:  // Functions from base classes
+    
+        static void* ThreadEntryFunctionRead(void* arg);
+        static void* ThreadEntryFunctionDestroyQ(void* arg);
+        static void* ThreadEntryFunctionWrite(void* arg);
+private:
+	/**
+        * Message queue create
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt MessageQueueCreate(  );
+        
+        /**
+        * Message queue close
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt MessageQueueClose(  );
+        
+        /**
+        * Message queue control
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt MessageQueueControl(  );
+        
+        /**
+        * Message queue send
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt MessageQueueSend(  );
+        
+        /**
+        * Message queue receive
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt MessageQueueRecv(  );
+        
+        /**
+        * Create Thread
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt CreateThread(  );
+        
+                
+        /**
+        * Send Message to Queue
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt SendMessage(  );
+        
+        /**
+        * Recv Message from Queue
+        * @since MRT 2.0
+        * @param aItem Script line containing parameters.
+        * @return Symbian OS error code.
+        */
+        virtual TInt RecvMessage(  );
+        
+        TInt MsgKey(  TInt& aKey );
+        
+        TInt MsgFlag(  TInt& aFlag );
+        
+        TInt MsgId(  TInt& aId );
+        
+        TInt MsgCmd(  TInt& aCmd );
+        
+        TInt MsgType(  TInt& aType );
+        
+        TInt MsgLen(  TInt& aLen );
+        
+        TInt MsgSegs(  TInt& aSegs );
+        
+        TInt ErrCode(  TInt& aErrCode );
+        
+        TInt CheckMessageQueueStats(struct msqid_ds& buf);
+        
+        void SetMessageQueueParms(struct msqid_ds* buf);
+        
+     public:     // Data
+        TInt iErrno;
+     private:    // Data
+    	TInt iParamCnt;
+        TInt iBlocked;
+        TInt iThreadId;
+        TInt *iNoOfMsqIds;
+        TInt msgq_id;
+	};
+#endif