Revision: 201037 PDK_4.0.a
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 08:38:32 +0300
changeset 2 6add9366d894
parent 1 c7e5cc0a08b3
child 5 fb6faddbb212
Revision: 201037 Kit: 201037
omxil_generic/omxilcomplib/mmpfiles/omxilcomponentcommon.mmp
omxil_generic/omxilcomplib/src/omxilport.cpp
openmaxil_plat/khronos_api/v1_1_2/group/bld.inf
openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_AudioExt.h
openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_CoreExt.h
openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_ExtensionNames.h
openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_OtherExt.h
package_definition.xml
tsrc/xmltestharness/te_xmlomxclient/group/component_test.pkg
tsrc/xmltestharness/te_xmlomxclient/group/te_xmlomxclient.mmp
tsrc/xmltestharness/tools/t_videoframesupplier/group/bld.inf
tsrc/xmltestharness/tools/t_videoframesupplier/group/t_videoframesupplier.mmp
tsrc/xmltestharness/xmlclient/group/omxscript.mmp
--- a/omxil_generic/omxilcomplib/mmpfiles/omxilcomponentcommon.mmp	Fri Sep 03 07:55:02 2010 +0300
+++ b/omxil_generic/omxilcomplib/mmpfiles/omxilcomponentcommon.mmp	Fri Sep 17 08:38:32 2010 +0300
@@ -50,7 +50,6 @@
 SOURCE                  omxilclientclockport.cpp
 
 LIBRARY                 euser.lib
-LIBRARY					mmfserverbaseclasses.lib
 
 // Uncomment to activate debug tracing in this module
 //MACRO                   _OMXIL_COMMON_DEBUG_TRACING_ON
--- a/omxil_generic/omxilcomplib/src/omxilport.cpp	Fri Sep 03 07:55:02 2010 +0300
+++ b/omxil_generic/omxilcomplib/src/omxilport.cpp	Fri Sep 17 08:38:32 2010 +0300
@@ -19,9 +19,6 @@
  @internalComponent
 */
 
-#include <mmf/server/mmfbuffer.h>
-#include <mmf/server/mmfdatabuffer.h>
-
 #include "log.h"
 #include "omxilportimpl.h"
 #include <openmax/il/common/omxilport.h>
@@ -393,7 +390,7 @@
 OMX_ERRORTYPE
 COmxILPort::DoBufferAllocation(OMX_U32 aSizeBytes,
 							   OMX_U8*& apPortSpecificBuffer,
-							   OMX_PTR& apPortPrivate,
+							   OMX_PTR& /*apPortPrivate*/,
 							   OMX_PTR& /* apPlatformPrivate */,
 							   OMX_PTR /* apAppPrivate = 0 */)
 	{
@@ -401,18 +398,13 @@
 
 	__ASSERT_DEBUG(aSizeBytes > 0, User::Panic(KOmxILPortPanicCategory, 1));
 
-	CMMFDescriptorBuffer* pDescBuffer = 0;
-	TRAPD(allocRes, pDescBuffer = CMMFDescriptorBuffer::NewL(aSizeBytes));
-	if (KErrNone != allocRes)
+	apPortSpecificBuffer = new OMX_U8[aSizeBytes];
+	if (!apPortSpecificBuffer)
 		{
 		return OMX_ErrorInsufficientResources;
 		}
 
-	apPortSpecificBuffer = const_cast<TUint8*>(pDescBuffer->Data().Ptr());
-	apPortPrivate		 = static_cast<CMMFBuffer*>(pDescBuffer);
-
 	return OMX_ErrorNone;
-
 	}
 
 /**
@@ -433,17 +425,16 @@
 
 */
 void
-COmxILPort::DoBufferDeallocation(OMX_PTR /*apPortSpecificBuffer */,
-								 OMX_PTR apPortPrivate,
+COmxILPort::DoBufferDeallocation(OMX_PTR apPortSpecificBuffer ,
+								 OMX_PTR /*apPortPrivate*/,
 								 OMX_PTR /* apPlatformPrivate */,
 								 OMX_PTR /* apAppPrivate = 0 */)
 	{
 	DEBUG_PRINTF(_L8("COmxILPort::DoBufferDeallocation"));
 
-	__ASSERT_DEBUG(apPortPrivate, User::Panic(KOmxILPortPanicCategory, 1));
+	__ASSERT_DEBUG(apPortSpecificBuffer, User::Panic(KOmxILPortPanicCategory, 1));
 
-	delete reinterpret_cast<CMMFBuffer*>(apPortPrivate);
-
+	delete[] apPortSpecificBuffer;
 	}
 
 /**
@@ -467,29 +458,15 @@
    @return OMX_ERRORTYPE
 */
 OMX_ERRORTYPE
-COmxILPort::DoBufferWrapping(OMX_U32 aSizeBytes,
-							 OMX_U8* apBuffer,
-							 OMX_PTR& apPortPrivate,
+COmxILPort::DoBufferWrapping(OMX_U32 /*aSizeBytes*/,
+							 OMX_U8* /*apBuffer*/,
+							 OMX_PTR& /*apPortPrivate*/,
 							 OMX_PTR& /* apPlatformPrivate */,
 							 OMX_PTR /* apAppPrivate = 0 */)
 	{
 	DEBUG_PRINTF(_L8("COmxILPort::DoBufferWrapping"));
-
-	__ASSERT_DEBUG(aSizeBytes > 0 && apBuffer,
-				   User::Panic(KOmxILPortPanicCategory, 1));
-
-	CMMFBuffer* pMmfBuffer = 0;
-	TPtr8 ptr(apBuffer, aSizeBytes, aSizeBytes);
-	TRAPD(allocRes, pMmfBuffer = CMMFPtrBuffer::NewL(ptr));
-	if (KErrNone != allocRes)
-		{
-		return OMX_ErrorInsufficientResources;
-		}
-
-	apPortPrivate = pMmfBuffer;
-
+	// Does nothing, to be overloaded by Components if they require 
 	return OMX_ErrorNone;
-
 	}
 
 /**
@@ -509,17 +486,13 @@
 */
 void
 COmxILPort::DoBufferUnwrapping(OMX_PTR /* apBuffer*/,
-							   OMX_PTR appPortPrivate,
+							   OMX_PTR /*appPortPrivate*/,
 							   OMX_PTR /* apPlatformPrivate */,
 							   OMX_PTR /* apAppPrivate = 0 */)
 	{
-
 	DEBUG_PRINTF(_L8("COmxILPort::DoBufferUnwrapping"));
-
-	__ASSERT_DEBUG(appPortPrivate, User::Panic(KOmxILPortPanicCategory, 1));
-
-	delete reinterpret_cast<CMMFBuffer*>(appPortPrivate);
-
+	// Does nothing, to be overloaded by Components if they have their own 
+	// DoBufferWrapping function 
 	}
 
 /**
--- a/openmaxil_plat/khronos_api/v1_1_2/group/bld.inf	Fri Sep 03 07:55:02 2010 +0300
+++ b/openmaxil_plat/khronos_api/v1_1_2/group/bld.inf	Fri Sep 17 08:38:32 2010 +0300
@@ -28,9 +28,9 @@
 ../OMX_ContentPipe.h		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(openmax/il/khronos/v1_x/OMX_ContentPipe.h)
 
 //
-// Files above are listed in \epoc32\tools\filenamepolicyexclusions.txt.
+// Files above are listed in /epoc32/tools/filenamepolicyexclusions.txt.
 // They are exported in CamelCase instead of lower case.
 // If a new header is added to the export, e.g. OMX_ContentPipe.h, the name
 // should be added to filenamepolicyexclusions.txt ahead of time. Otherwise
 // checksource will flag it as error.
-// filenamepolicyexclusions.txt is in \src\cedar\generic\tools\e32toolp\platform
+// filenamepolicyexclusions.txt is in /src/cedar/generic/tools/e32toolp/platform
--- a/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_AudioExt.h	Fri Sep 03 07:55:02 2010 +0300
+++ b/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_AudioExt.h	Fri Sep 17 08:38:32 2010 +0300
@@ -33,9 +33,9 @@
  * header to compile without errors.  The includes below are required
  * for this header file to compile successfully 
  */
-#include <OMX_Types.h>
-#include <OMX_Audio.h>
-#include <OMX_Symbian_OtherExt.h>
+#include <openmax/il/khronos/v1_x/OMX_Types.h>
+#include <openmax/il/khronos/v1_x/OMX_Audio.h>
+#include <openmax/il/shai/OMX_Symbian_OtherExt.h>
 
 
 /** @name Generic Audio Control Definitions. */
@@ -1223,6 +1223,19 @@
     OMX_BS32 sLoopVolume;
 } OMX_SYMBIAN_AUDIO_CONFIG_HWLOOPCONTROLTYPE;
 
+/** Audio Processed Data Amount.
+
+The index specified for this structure is retrieved using 
+OMX_GetExtensionIndex() with the extension string 
+"OMX.Symbian.Index.Config.Audio.DataAmount".
+*/
+typedef struct OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE {
+    OMX_U32 nSize;
+    OMX_VERSIONTYPE nVersion;
+    OMX_U32 nPortIndex;
+    OMX_TICKS nProcessedDataAmount;
+} OMX_SYMBIAN_AUDIO_CONFIG_PROCESSEDDATAAMOUNTTYPE; 
+
 /*@}*/
 
 /** @name Haptics Extensions */
--- a/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_CoreExt.h	Fri Sep 03 07:55:02 2010 +0300
+++ b/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_CoreExt.h	Fri Sep 17 08:38:32 2010 +0300
@@ -33,7 +33,7 @@
  * header to compile without errors.  The includes below are required
  * for this header file to compile successfully 
  */
-#include <OMX_Core.h>
+#include <openmax/il/khronos/v1_x/OMX_Core.h>
 
 
 /** Extensions to the standard IL errors. */
--- a/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_ExtensionNames.h	Fri Sep 03 07:55:02 2010 +0300
+++ b/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_ExtensionNames.h	Fri Sep 17 08:38:32 2010 +0300
@@ -80,6 +80,7 @@
 #define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_CUSTOMHWCONTROL_NAME             "OMX.Symbian.Index.Config.Audio.CustomHwControl"
 #define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_HWLOOPSUPPORT_NAME               "OMX.Symbian.Index.Config.Audio.HwLoopSupport"
 #define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_HWLOOPCONTROL_NAME               "OMX.Symbian.Index.Config.Audio.HwLoopControl"
+#define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_DATAAMOUNT_NAME                  "OMX.Symbian.Index.Config.Audio.DataAmount"
 #define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_DECODERSTATUS_NAME               "OMX.Symbian.Index.Config.Audio.DecoderStatus"
 #define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_ENCODERSTATUS_NAME               "OMX.Symbian.Index.Config.Audio.EncoderStatus"
 #define OMX_SYMBIAN_INDEX_CONFIG_AUDIO_UPLINKTIMIMG_NAME                "OMX.Symbian.Index.Config.Audio.UplinkTiming"
--- a/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_OtherExt.h	Fri Sep 03 07:55:02 2010 +0300
+++ b/openmaxil_plat/symbian_api/shaiext_api/inc/OMX_Symbian_OtherExt.h	Fri Sep 17 08:38:32 2010 +0300
@@ -33,7 +33,7 @@
  * header to compile without errors.  The includes below are required
  * for this header file to compile successfully 
  */
-#include <OMX_Core.h>
+#include <openmax/il/khronos/v1_x/OMX_Core.h>
 
 
 /** @name Extradata extension */
--- a/package_definition.xml	Fri Sep 03 07:55:02 2010 +0300
+++ b/package_definition.xml	Fri Sep 17 08:38:32 2010 +0300
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <SystemDefinition schema="3.0.1">
-  <package id="openmaxil" name="openmaxil" levels="adaptation hw-if device-fw devices middleware app-if">
+  <package id="openmaxil" name="Multimedia OpenMAX IL" levels="adaptation hw-if device-fw devices middleware app-if">
 
 
     <collection id="openmaxil_plat" name="OpenMAX IL Platform Exports" level="hw-if">
--- a/tsrc/xmltestharness/te_xmlomxclient/group/component_test.pkg	Fri Sep 03 07:55:02 2010 +0300
+++ b/tsrc/xmltestharness/te_xmlomxclient/group/component_test.pkg	Fri Sep 17 08:38:32 2010 +0300
@@ -15,32 +15,32 @@
 ;
 
 
-"\epoc32\release\armv5\urel\te_xmlomxclient.exe"-"c:\sys\bin\te_xmlomxclient.exe"
+"\epoc32\release\$(platform)\$(target)\te_xmlomxclient.exe"-"c:\sys\bin\te_xmlomxclient.exe"
 
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink.ini"-"c:\omxil\tef\te_omx_filesink.ini"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_audio.script"-"c:\omxil\tef\te_omx_filesink_audio.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_audio.xml"-"c:\omxil\tef\te_omx_filesink_audio.xml"		
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_image.script"-"c:\omxil\tef\te_omx_filesink_image.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_image.xml"-"c:\omxil\tef\te_omx_filesink_image.xml"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_other.script"-"c:\omxil\tef\te_omx_filesink_other.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_other.xml"-"c:\omxil\tef\te_omx_filesink_other.xml"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_video.script"-"c:\omxil\tef\te_omx_filesink_video.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_video.xml"-"c:\omxil\tef\te_omx_filesink_video.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink.ini"-"c:\omxil\tef\te_omx_filesink.ini"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_audio.script"-"c:\omxil\tef\te_omx_filesink_audio.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_audio.xml"-"c:\omxil\tef\te_omx_filesink_audio.xml"		
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_image.script"-"c:\omxil\tef\te_omx_filesink_image.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_image.xml"-"c:\omxil\tef\te_omx_filesink_image.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_other.script"-"c:\omxil\tef\te_omx_filesink_other.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_other.xml"-"c:\omxil\tef\te_omx_filesink_other.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_video.script"-"c:\omxil\tef\te_omx_filesink_video.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesink_video.xml"-"c:\omxil\tef\te_omx_filesink_video.xml"
 
 ; The following is commented out because we don't have OMX.SYMBIAN.OTHER.CONTAINER_DEMUXER.3GP in Vasco
-; "\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_video_compatibility.script"-"c:\omxil\tef\te_omx_filesink_video_compatibility.script"
-; "\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesink\tests\unit\te_omx_filesink_video_compatibility.xml"-"c:\omxil\tef\te_omx_filesink_video_compatibility.xml"
+; "\epoc32\winscw\c\omxil\tef\te_omx_filesink_video_compatibility.script"-"c:\omxil\tef\te_omx_filesink_video_compatibility.script"
+; "\epoc32\winscw\c\omxil\tef\te_omx_filesink_video_compatibility.xml"-"c:\omxil\tef\te_omx_filesink_video_compatibility.xml"
 
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_audio.script"-"c:\omxil\tef\te_omx_filesource_audio.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_audio.xml"-"c:\omxil\tef\te_omx_filesource_audio.xml"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_image.script"-"c:\omxil\tef\te_omx_filesource_image.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_image.xml"-"c:\omxil\tef\te_omx_filesource_image.xml"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_other.script"-"c:\omxil\tef\te_omx_filesource_other.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_other.xml"-"c:\omxil\tef\te_omx_filesource_other.xml"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_video.script"-"c:\omxil\tef\te_omx_filesource_video.script"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesource_video.xml"-"c:\omxil\tef\te_omx_filesource_video.xml"
-"\sf\adapt\openmaxil.nokia\omxilcomp\omxilgeneric\filesource\tests\unit\te_omx_filesrc.ini"-"c:\omxil\tef\te_omx_filesrc.ini"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_audio.script"-"c:\omxil\tef\te_omx_filesource_audio.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_audio.xml"-"c:\omxil\tef\te_omx_filesource_audio.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_image.script"-"c:\omxil\tef\te_omx_filesource_image.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_image.xml"-"c:\omxil\tef\te_omx_filesource_image.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_other.script"-"c:\omxil\tef\te_omx_filesource_other.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_other.xml"-"c:\omxil\tef\te_omx_filesource_other.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_video.script"-"c:\omxil\tef\te_omx_filesource_video.script"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesource_video.xml"-"c:\omxil\tef\te_omx_filesource_video.xml"
+"\epoc32\winscw\c\omxil\tef\te_omx_filesrc.ini"-"c:\omxil\tef\te_omx_filesrc.ini"
 
-"\ext\os\openmaxil_ext\omxiltests\khronosconf\data\aac.stream"-"c:\omxil\data\aac.stream"
-"\ext\os\openmaxil_ext\omxiltests\khronosconf\data\aac.stream.length"-"c:\omxil\data\aac.stream.length"
+"\epoc32\winscw\c\omxil\data\aac.stream"-"c:\omxil\data\aac.stream"
+"\epoc32\winscw\c\omxil\data\aac.stream.length"-"c:\omxil\data\aac.stream.length"
 
--- a/tsrc/xmltestharness/te_xmlomxclient/group/te_xmlomxclient.mmp	Fri Sep 03 07:55:02 2010 +0300
+++ b/tsrc/xmltestharness/te_xmlomxclient/group/te_xmlomxclient.mmp	Fri Sep 17 08:38:32 2010 +0300
@@ -23,9 +23,9 @@
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
-USERINCLUDE ..\src
+USERINCLUDE ../src
 
-SOURCEPATH ..\src
+SOURCEPATH ../src
 SOURCE te_xmlomxclient.cpp
 SOURCE omxxmltestblockcontroller.cpp
 SOURCE omxxmltestwrapper.cpp
--- a/tsrc/xmltestharness/tools/t_videoframesupplier/group/bld.inf	Fri Sep 03 07:55:02 2010 +0300
+++ b/tsrc/xmltestharness/tools/t_videoframesupplier/group/bld.inf	Fri Sep 17 08:38:32 2010 +0300
@@ -20,7 +20,7 @@
 ARMv6
 
 PRJ_TESTEXPORTS
-..\inc\t_videoframesupplier.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(multimedia/t_videoframesupplier.h)
+../inc/t_videoframesupplier.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(multimedia/t_videoframesupplier.h)
 t_videoframesupplier.iby /epoc32/rom/include/t_videoframesupplier.iby
 
 PRJ_TESTMMPFILES
--- a/tsrc/xmltestharness/tools/t_videoframesupplier/group/t_videoframesupplier.mmp	Fri Sep 03 07:55:02 2010 +0300
+++ b/tsrc/xmltestharness/tools/t_videoframesupplier/group/t_videoframesupplier.mmp	Fri Sep 17 08:38:32 2010 +0300
@@ -22,9 +22,9 @@
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
-USERINCLUDE	 ..\inc
+USERINCLUDE	 ../inc
 
-SOURCEPATH	  ..\src
+SOURCEPATH	  ../src
 
 SOURCE		  t_videoframesupplier.cpp
 SOURCE		  t_videoframesupplierDllMain.cpp
--- a/tsrc/xmltestharness/xmlclient/group/omxscript.mmp	Fri Sep 03 07:55:02 2010 +0300
+++ b/tsrc/xmltestharness/xmlclient/group/omxscript.mmp	Fri Sep 17 08:38:32 2010 +0300
@@ -23,7 +23,7 @@
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
-SOURCEPATH	  ..\src
+SOURCEPATH	  ../src
 SOURCE		  omxscript.cpp
 
 LIBRARY		 euser.lib