Trying to figure out how to implement my WINC like compatibility layer. Going the emulation way is probably not so smart. We should not use the kernel but rather hook native functions in the Exec calls.
// Copyright (c) 2008-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:
// template/template_assp/iic.mmp
//
//
#define __USING_ASSP_REGISTER_API__
#define __USING_ASSP_INTERRUPT_API__
#include <variant.mmh>
// Select the mode to build
// For Master-Slave mode, uncomment both MASTER and SLAVE defines
#define __USE_MASTER_MODE__
#define __USE_SLAVE_MODE__
// PIL source
#include "../../../kernel/eka/drivers/iic/iic_channel.mmh"
sourcepath ../../../kernel/eka/drivers/iic
source IIC_PIL_SOURCE
// PSL source: shared
sourcepath ../template_assp/iic
source iic_psl.cpp
// PSL source: Master
#ifdef __USE_MASTER_MODE__
macro MASTER_MODE
source iic_master.cpp
#endif
// PSL source: Slave
#ifdef __USE_SLAVE_MODE__
macro SLAVE_MODE
source iic_slave.cpp
#endif
// define bus type
macro BUS_IMPLMENTATION_PRIORITY=(KExtensionMaximumPriority-2)
target VariantTarget(iic,dll)
targettype kext
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
//SYMBIAN_BASE_SYSTEMINCLUDE(assp/template_assp)
//SYMBIAN_BASE_SYSTEMINCLUDE(template)
//SYMBIAN_BASE_SYSTEMINCLUDE(template/specific)
//library iic.lib // iic.lib provides the IIC Controller.
// This is included from the variant.mmh, so not needed here.
library VariantTarget(gpio,lib)
//VENDORID 0x70000001
//uid 0x100039d0 0x10285812
//capability all
SMPSAFE
MACRO CPU_AFFINITY_ANY