/** * @file % !FILENAME % * * @section desc File description * * OS data structure generated from application % !CPUNAME % * Automatically generated by goil on % !TIMESTAMP % * from root OIL file % !OILFILENAME % * * @section copyright Copyright * * Trampoline OS * * Trampoline is copyright (c) IRCCyN 2005-2007 * Trampoline is protected by the French intellectual property law. * * This software is distributed under the Lesser GNU Public Licence * * @section infos File informations * * $Date$ * $Rev$ * $Author$ * $URL$ */ #include "tpl_app_config.h" #include "tpl_ioc.h" #include "tpl_os.h" #define API_START_SEC_CODE #include "tpl_memmap.h" /*============================================================================= * Declaration of IOC APIs */ % foreach ioc in ioc_reordered do %/*----------------------------------------------------------------------------- * OsIocCommunication % !ioc::NAME % */ % if ioc::SEMANTICS == "QUEUED" then %extern FUNC(StatusType, OS_CODE) IocSend% if [ioc::DATATYPENAME length] > 1 then %Group% end if %_% !ioc::NAME%( % elsif ioc::SEMANTICS == "LAST_IS_BEST" then %extern FUNC(StatusType, OS_CODE) IocWrite% if [ioc::DATATYPENAME length] > 1 then %Group% end if %_% !ioc::NAME%( % end if let iteration1 := 0 foreach TypeName in ioc::DATATYPENAME do if TypeName::DATATYPEPROPERTY == "DATA" then % VAR(% !TypeName::NAME %, AUTOMATIC) IN% !iteration1 else % P2VAR(% !TypeName::NAME %, AUTOMATIC, OS_APPL_DATA) IN% !iteration1 end if let iteration1 := iteration1 + 1 between %, % end foreach % ); % if [ioc::SENDER length] > 1 then if ioc::SEMANTICS == "QUEUED" then foreach sender in ioc::SENDER do %#define IocSend_% !ioc::NAME %_% !sender::NAME %(IN) IocSend_% !ioc::NAME %(IN) % end foreach elsif ioc::SEMANTICS == "LAST_IS_BEST" then foreach sender in ioc::SENDER do %#define IocWrite_% !ioc::NAME %_% !sender::NAME %(IN) IocWrite_% !ioc::NAME %(IN) % end foreach end if end if if ioc::SEMANTICS == "QUEUED" then %extern FUNC(StatusType, OS_CODE) IocReceive% if [ioc::DATATYPENAME length] > 1 then %Group% end if %_% !ioc::NAME%( % elsif ioc::SEMANTICS == "LAST_IS_BEST" then %extern FUNC(StatusType, OS_CODE) IocRead% if [ioc::DATATYPENAME length] > 1 then %Group% end if %_% !ioc::NAME%( % end if let iteration2 := 0 foreach TypeName in ioc::DATATYPENAME do % P2VAR(% !TypeName::NAME %, AUTOMATIC, OS_APPL_DATA) IN% !iteration2 let iteration2 := iteration2 + 1 between %, % end foreach % ); % if ioc::SEMANTICS == "QUEUED" then %extern FUNC(StatusType, OS_CODE) IocEmptyQueue_% !ioc::NAME %(void); % end if end foreach % #define API_STOP_SEC_CODE #include "tpl_memmap.h" /* End of file tpl_ioc_api_config.h */