/* * TOPPERS ATK2 * Toyohashi Open Platform for Embedded Real-Time Systems * Automotive Kernel Version 2 * * Copyright (C) 2014-2015 by Center for Embedded Computing Systems * Graduate School of Information Science, Nagoya Univ., JAPAN * * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー * スコード中に含まれていること. * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 * の無保証規定を掲載すること. * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ * と. * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 * 作権表示,この利用条件および下記の無保証規定を掲載すること. * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに * 報告すること. * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを * 免責すること. * * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ * の責任を負わない. * * $Id: tool_svc.h 182 2015-06-24 07:14:37Z t_ishikawa $ */ /* This file is generated from svc.def by gensvc_atk. */ #ifndef TOPPERS_TOOL_SVC_H #define TOPPERS_TOOL_SVC_H #define SVC_TRAP(system_service) _trap_ ## system_service #ifndef TOPPERS_SVC_FUNCCALL #define StartOS _trap_StartOS #define ShutdownOS _trap_ShutdownOS #define ActivateTask _trap_ActivateTask #define TerminateTask _trap_TerminateTask #define ChainTask _trap_ChainTask #define Schedule _trap_Schedule #define GetTaskID _trap_GetTaskID #define GetTaskState _trap_GetTaskState #define EnableAllInterrupts _trap_EnableAllInterrupts #define DisableAllInterrupts _trap_DisableAllInterrupts #define ResumeAllInterrupts _trap_ResumeAllInterrupts #define SuspendAllInterrupts _trap_SuspendAllInterrupts #define ResumeOSInterrupts _trap_ResumeOSInterrupts #define SuspendOSInterrupts _trap_SuspendOSInterrupts #define GetISRID _trap_GetISRID #define DisableInterruptSource _trap_DisableInterruptSource #define EnableInterruptSource _trap_EnableInterruptSource #define GetResource _trap_GetResource #define ReleaseResource _trap_ReleaseResource #define SetEvent _trap_SetEvent #define ClearEvent _trap_ClearEvent #define GetEvent _trap_GetEvent #define WaitEvent _trap_WaitEvent #define GetAlarmBase _trap_GetAlarmBase #define GetAlarm _trap_GetAlarm #define SetRelAlarm _trap_SetRelAlarm #define SetAbsAlarm _trap_SetAbsAlarm #define CancelAlarm _trap_CancelAlarm #define IncrementCounter _trap_IncrementCounter #define GetCounterValue _trap_GetCounterValue #define GetElapsedValue _trap_GetElapsedValue #define CheckISRMemoryAccess _trap_CheckISRMemoryAccess #define CheckTaskMemoryAccess _trap_CheckTaskMemoryAccess #define CheckTaskAccess _trap_CheckTaskAccess #define CheckISRAccess _trap_CheckISRAccess #define CheckAlarmAccess _trap_CheckAlarmAccess #define CheckResourceAccess _trap_CheckResourceAccess #define CheckCounterAccess _trap_CheckCounterAccess #define CheckScheduleTableAccess _trap_CheckScheduleTableAccess #define CheckTaskOwnership _trap_CheckTaskOwnership #define CheckISROwnership _trap_CheckISROwnership #define CheckAlarmOwnership _trap_CheckAlarmOwnership #define CheckCounterOwnership _trap_CheckCounterOwnership #define CheckScheduleTableOwnership _trap_CheckScheduleTableOwnership #define GetApplicationID _trap_GetApplicationID #define CallTrustedFunction _trap_CallTrustedFunction #define GetApplicationState _trap_GetApplicationState #define GetActiveApplicationMode _trap_GetActiveApplicationMode #define StartScheduleTableRel _trap_StartScheduleTableRel #define StartScheduleTableAbs _trap_StartScheduleTableAbs #define StopScheduleTable _trap_StopScheduleTable #define NextScheduleTable _trap_NextScheduleTable #define GetScheduleTableStatus _trap_GetScheduleTableStatus #define GetFaultyContext _trap_GetFaultyContext #define ioc_send_generic _trap_ioc_send_generic #define ioc_write_generic _trap_ioc_write_generic #define ioc_receive_generic _trap_ioc_receive_generic #define ioc_read_generic _trap_ioc_read_generic #define ioc_empty_queue_generic _trap_ioc_empty_queue_generic #define AllowAccess _trap_AllowAccess #define TerminateApplication _trap_TerminateApplication #endif #ifndef TOPPERS_MACRO_ONLY #pragma inline _trap_StartOS LOCAL_INLINE void _trap_StartOS(AppModeType Mode) { CAL_SVC_1N(void, TFN_STARTOS, AppModeType, Mode); } #pragma inline _trap_ShutdownOS LOCAL_INLINE void _trap_ShutdownOS(StatusType Error) { CAL_SVC_1N(void, TFN_SHUTDOWNOS, StatusType, Error); } #pragma inline _trap_ActivateTask LOCAL_INLINE StatusType _trap_ActivateTask(TaskType TaskID) { return CAL_SVC_1M(StatusType, TFN_ACTIVATETASK, TaskType, TaskID); } #pragma inline _trap_TerminateTask LOCAL_INLINE StatusType _trap_TerminateTask(void) { return CAL_SVC_0M(StatusType, TFN_TERMINATETASK); } #pragma inline _trap_ChainTask LOCAL_INLINE StatusType _trap_ChainTask(TaskType TaskID) { return CAL_SVC_1M(StatusType, TFN_CHAINTASK, TaskType, TaskID); } #pragma inline _trap_Schedule LOCAL_INLINE StatusType _trap_Schedule(void) { return CAL_SVC_0M(StatusType, TFN_SCHEDULE); } #pragma inline _trap_GetTaskID LOCAL_INLINE StatusType _trap_GetTaskID(TaskRefType TaskID) { return CAL_SVC_1M(StatusType, TFN_GETTASKID, TaskRefType, TaskID); } #pragma inline _trap_GetTaskState LOCAL_INLINE StatusType _trap_GetTaskState(TaskType TaskID, TaskStateRefType State) { return CAL_SVC_2M(StatusType, TFN_GETTASKSTATE, TaskType, TaskID, TaskStateRefType, State); } #pragma inline _trap_EnableAllInterrupts LOCAL_INLINE void _trap_EnableAllInterrupts(void) { CAL_SVC_0N(void, TFN_ENABLEALLINTERRUPTS); } #pragma inline _trap_DisableAllInterrupts LOCAL_INLINE void _trap_DisableAllInterrupts(void) { CAL_SVC_0N(void, TFN_DISABLEALLINTERRUPTS); } #pragma inline _trap_ResumeAllInterrupts LOCAL_INLINE void _trap_ResumeAllInterrupts(void) { CAL_SVC_0N(void, TFN_RESUMEALLINTERRUPTS); } #pragma inline _trap_SuspendAllInterrupts LOCAL_INLINE void _trap_SuspendAllInterrupts(void) { CAL_SVC_0N(void, TFN_SUSPENDALLINTERRUPTS); } #pragma inline _trap_ResumeOSInterrupts LOCAL_INLINE void _trap_ResumeOSInterrupts(void) { CAL_SVC_0N(void, TFN_RESUMEOSINTERRUPTS); } #pragma inline _trap_SuspendOSInterrupts LOCAL_INLINE void _trap_SuspendOSInterrupts(void) { CAL_SVC_0N(void, TFN_SUSPENDOSINTERRUPTS); } #pragma inline _trap_GetISRID LOCAL_INLINE ISRType _trap_GetISRID(void) { return CAL_SVC_0M(ISRType, TFN_GETISRID); } #pragma inline _trap_DisableInterruptSource LOCAL_INLINE StatusType _trap_DisableInterruptSource(ISRType DisableISR) { return CAL_SVC_1M(StatusType, TFN_DISABLEINTERRUPTSOURCE, ISRType, DisableISR); } #pragma inline _trap_EnableInterruptSource LOCAL_INLINE StatusType _trap_EnableInterruptSource(ISRType EnableISR) { return CAL_SVC_1M(StatusType, TFN_ENABLEINTERRUPTSOURCE, ISRType, EnableISR); } #pragma inline _trap_GetResource LOCAL_INLINE StatusType _trap_GetResource(ResourceType ResID) { return CAL_SVC_1M(StatusType, TFN_GETRESOURCE, ResourceType, ResID); } #pragma inline _trap_ReleaseResource LOCAL_INLINE StatusType _trap_ReleaseResource(ResourceType ResID) { return CAL_SVC_1M(StatusType, TFN_RELEASERESOURCE, ResourceType, ResID); } #pragma inline _trap_SetEvent LOCAL_INLINE StatusType _trap_SetEvent(TaskType TaskID, EventMaskType Mask) { return CAL_SVC_2M(StatusType, TFN_SETEVENT, TaskType, TaskID, EventMaskType, Mask); } #pragma inline _trap_ClearEvent LOCAL_INLINE StatusType _trap_ClearEvent(EventMaskType Mask) { return CAL_SVC_1M(StatusType, TFN_CLEAREVENT, EventMaskType, Mask); } #pragma inline _trap_GetEvent LOCAL_INLINE StatusType _trap_GetEvent(TaskType TaskID, EventMaskRefType Event) { return CAL_SVC_2M(StatusType, TFN_GETEVENT, TaskType, TaskID, EventMaskRefType, Event); } #pragma inline _trap_WaitEvent LOCAL_INLINE StatusType _trap_WaitEvent(EventMaskType Mask) { return CAL_SVC_1M(StatusType, TFN_WAITEVENT, EventMaskType, Mask); } #pragma inline _trap_GetAlarmBase LOCAL_INLINE StatusType _trap_GetAlarmBase(AlarmType AlarmID, AlarmBaseRefType Info) { return CAL_SVC_2M(StatusType, TFN_GETALARMBASE, AlarmType, AlarmID, AlarmBaseRefType, Info); } #pragma inline _trap_GetAlarm LOCAL_INLINE StatusType _trap_GetAlarm(AlarmType AlarmID, TickRefType Tick) { return CAL_SVC_2M(StatusType, TFN_GETALARM, AlarmType, AlarmID, TickRefType, Tick); } #pragma inline _trap_SetRelAlarm LOCAL_INLINE StatusType _trap_SetRelAlarm(AlarmType AlarmID, TickType increment, TickType cycle) { return CAL_SVC_3M(StatusType, TFN_SETRELALARM, AlarmType, AlarmID, TickType, increment, TickType, cycle); } #pragma inline _trap_SetAbsAlarm LOCAL_INLINE StatusType _trap_SetAbsAlarm(AlarmType AlarmID, TickType start, TickType cycle) { return CAL_SVC_3M(StatusType, TFN_SETABSALARM, AlarmType, AlarmID, TickType, start, TickType, cycle); } #pragma inline _trap_CancelAlarm LOCAL_INLINE StatusType _trap_CancelAlarm(AlarmType AlarmID) { return CAL_SVC_1M(StatusType, TFN_CANCELALARM, AlarmType, AlarmID); } #pragma inline _trap_IncrementCounter LOCAL_INLINE StatusType _trap_IncrementCounter(CounterType CounterID) { return CAL_SVC_1M(StatusType, TFN_INCREMENTCOUNTER, CounterType, CounterID); } #pragma inline _trap_GetCounterValue LOCAL_INLINE StatusType _trap_GetCounterValue(CounterType CounterID, TickRefType Value) { return CAL_SVC_2M(StatusType, TFN_GETCOUNTERVALUE, CounterType, CounterID, TickRefType, Value); } #pragma inline _trap_GetElapsedValue LOCAL_INLINE StatusType _trap_GetElapsedValue(CounterType CounterID, TickRefType Value, TickRefType ElapsedValue) { return CAL_SVC_3M(StatusType, TFN_GETELAPSEDVALUE, CounterType, CounterID, TickRefType, Value, TickRefType, ElapsedValue); } #pragma inline _trap_CheckISRMemoryAccess LOCAL_INLINE AccessType _trap_CheckISRMemoryAccess(ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size) { return CAL_SVC_3M(AccessType, TFN_CHECKISRMEMORYACCESS, ISRType, ISRID, MemoryStartAddressType, Address, MemorySizeType, Size); } #pragma inline _trap_CheckTaskMemoryAccess LOCAL_INLINE AccessType _trap_CheckTaskMemoryAccess(TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size) { return CAL_SVC_3M(AccessType, TFN_CHECKTASKMEMORYACCESS, TaskType, TaskID, MemoryStartAddressType, Address, MemorySizeType, Size); } #pragma inline _trap_CheckTaskAccess LOCAL_INLINE ObjectAccessType _trap_CheckTaskAccess(ApplicationType ApplID, TaskType TaskID) { return CAL_SVC_2M(ObjectAccessType, TFN_CHECKTASKACCESS, ApplicationType, ApplID, TaskType, TaskID); } #pragma inline _trap_CheckISRAccess LOCAL_INLINE ObjectAccessType _trap_CheckISRAccess(ApplicationType ApplID, ISRType ISRID) { return CAL_SVC_2M(ObjectAccessType, TFN_CHECKISRACCESS, ApplicationType, ApplID, ISRType, ISRID); } #pragma inline _trap_CheckAlarmAccess LOCAL_INLINE ObjectAccessType _trap_CheckAlarmAccess(ApplicationType ApplID, AlarmType AlarmID) { return CAL_SVC_2M(ObjectAccessType, TFN_CHECKALARMACCESS, ApplicationType, ApplID, AlarmType, AlarmID); } #pragma inline _trap_CheckResourceAccess LOCAL_INLINE ObjectAccessType _trap_CheckResourceAccess(ApplicationType ApplID, ResourceType ResID) { return CAL_SVC_2M(ObjectAccessType, TFN_CHECKRESOURCEACCESS, ApplicationType, ApplID, ResourceType, ResID); } #pragma inline _trap_CheckCounterAccess LOCAL_INLINE ObjectAccessType _trap_CheckCounterAccess(ApplicationType ApplID, CounterType CounterID) { return CAL_SVC_2M(ObjectAccessType, TFN_CHECKCOUNTERACCESS, ApplicationType, ApplID, CounterType, CounterID); } #pragma inline _trap_CheckScheduleTableAccess LOCAL_INLINE ObjectAccessType _trap_CheckScheduleTableAccess(ApplicationType ApplID, ScheduleTableType ScheduleTableID) { return CAL_SVC_2M(ObjectAccessType, TFN_CHECKSCHEDULETABLEACCESS, ApplicationType, ApplID, ScheduleTableType, ScheduleTableID); } #pragma inline _trap_CheckTaskOwnership LOCAL_INLINE ApplicationType _trap_CheckTaskOwnership(TaskType TaskID) { return CAL_SVC_1M(ApplicationType, TFN_CHECKTASKOWNERSHIP, TaskType, TaskID); } #pragma inline _trap_CheckISROwnership LOCAL_INLINE ApplicationType _trap_CheckISROwnership(ISRType ISRID) { return CAL_SVC_1M(ApplicationType, TFN_CHECKISROWNERSHIP, ISRType, ISRID); } #pragma inline _trap_CheckAlarmOwnership LOCAL_INLINE ApplicationType _trap_CheckAlarmOwnership(AlarmType AlarmID) { return CAL_SVC_1M(ApplicationType, TFN_CHECKALARMOWNERSHIP, AlarmType, AlarmID); } #pragma inline _trap_CheckCounterOwnership LOCAL_INLINE ApplicationType _trap_CheckCounterOwnership(CounterType CounterID) { return CAL_SVC_1M(ApplicationType, TFN_CHECKCOUNTEROWNERSHIP, CounterType, CounterID); } #pragma inline _trap_CheckScheduleTableOwnership LOCAL_INLINE ApplicationType _trap_CheckScheduleTableOwnership(ScheduleTableType ScheduleTableID) { return CAL_SVC_1M(ApplicationType, TFN_CHECKSCHEDULETABLEOWNERSHIP, ScheduleTableType, ScheduleTableID); } #pragma inline _trap_GetApplicationID LOCAL_INLINE ApplicationType _trap_GetApplicationID(void) { return CAL_SVC_0M(ApplicationType, TFN_GETAPPLICATIONID); } #pragma inline _trap_CallTrustedFunction LOCAL_INLINE StatusType _trap_CallTrustedFunction(TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams) { return CAL_SVC_2M(StatusType, TFN_CALLTRUSTEDFUNCTION, TrustedFunctionIndexType, FunctionIndex, TrustedFunctionParameterRefType, FunctionParams); } #pragma inline _trap_GetApplicationState LOCAL_INLINE StatusType _trap_GetApplicationState(ApplicationType Application, ApplicationStateRefType Value) { return CAL_SVC_2M(StatusType, TFN_GETAPPLICATIONSTATE, ApplicationType, Application, ApplicationStateRefType, Value); } #pragma inline _trap_GetActiveApplicationMode LOCAL_INLINE AppModeType _trap_GetActiveApplicationMode(void) { return CAL_SVC_0M(AppModeType, TFN_GETACTIVEAPPLICATIONMODE); } #pragma inline _trap_StartScheduleTableRel LOCAL_INLINE StatusType _trap_StartScheduleTableRel(ScheduleTableType ScheduleTableID, TickType Offset) { return CAL_SVC_2M(StatusType, TFN_STARTSCHEDULETABLEREL, ScheduleTableType, ScheduleTableID, TickType, Offset); } #pragma inline _trap_StartScheduleTableAbs LOCAL_INLINE StatusType _trap_StartScheduleTableAbs(ScheduleTableType ScheduleTableID, TickType Start) { return CAL_SVC_2M(StatusType, TFN_STARTSCHEDULETABLEABS, ScheduleTableType, ScheduleTableID, TickType, Start); } #pragma inline _trap_StopScheduleTable LOCAL_INLINE StatusType _trap_StopScheduleTable(ScheduleTableType ScheduleTableID) { return CAL_SVC_1M(StatusType, TFN_STOPSCHEDULETABLE, ScheduleTableType, ScheduleTableID); } #pragma inline _trap_NextScheduleTable LOCAL_INLINE StatusType _trap_NextScheduleTable(ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To) { return CAL_SVC_2M(StatusType, TFN_NEXTSCHEDULETABLE, ScheduleTableType, ScheduleTableID_From, ScheduleTableType, ScheduleTableID_To); } #pragma inline _trap_GetScheduleTableStatus LOCAL_INLINE StatusType _trap_GetScheduleTableStatus(ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus) { return CAL_SVC_2M(StatusType, TFN_GETSCHEDULETABLESTATUS, ScheduleTableType, ScheduleTableID, ScheduleTableStatusRefType, ScheduleStatus); } #pragma inline _trap_GetFaultyContext LOCAL_INLINE FaultyContextType _trap_GetFaultyContext(void) { return CAL_SVC_0M(FaultyContextType, TFN_GETFAULTYCONTEXT); } #pragma inline _trap_ioc_send_generic LOCAL_INLINE Std_ReturnType _trap_ioc_send_generic(IocType IocWrapperId, const void *in) { return CAL_SVC_2M(Std_ReturnType, TFN_IOC_SEND_GENERIC, IocType, IocWrapperId, const void *, in); } #pragma inline _trap_ioc_write_generic LOCAL_INLINE Std_ReturnType _trap_ioc_write_generic(IocType IocWrapperId, const void *in) { return CAL_SVC_2M(Std_ReturnType, TFN_IOC_WRITE_GENERIC, IocType, IocWrapperId, const void *, in); } #pragma inline _trap_ioc_receive_generic LOCAL_INLINE Std_ReturnType _trap_ioc_receive_generic(IocType IocId, void *out) { return CAL_SVC_2M(Std_ReturnType, TFN_IOC_RECEIVE_GENERIC, IocType, IocId, void *, out); } #pragma inline _trap_ioc_read_generic LOCAL_INLINE Std_ReturnType _trap_ioc_read_generic(IocType IocId, void *out) { return CAL_SVC_2M(Std_ReturnType, TFN_IOC_READ_GENERIC, IocType, IocId, void *, out); } #pragma inline _trap_ioc_empty_queue_generic LOCAL_INLINE Std_ReturnType _trap_ioc_empty_queue_generic(IocType IocId) { return CAL_SVC_1M(Std_ReturnType, TFN_IOC_EMPTY_QUEUE_GENERIC, IocType, IocId); } #pragma inline _trap_AllowAccess LOCAL_INLINE StatusType _trap_AllowAccess(void) { return CAL_SVC_0M(StatusType, TFN_ALLOWACCESS); } #pragma inline _trap_TerminateApplication LOCAL_INLINE StatusType _trap_TerminateApplication(ApplicationType Application, RestartType RestartOption) { return CAL_SVC_2M(StatusType, TFN_TERMINATEAPPLICATION, ApplicationType, Application, RestartType, RestartOption); } #endif /* TOPPERS_MACRO_ONLY */ #endif /* TOPPERS_TOOL_SVC_H */