# # TOPPERS ATK2 # Toyohashi Open Platform for Embedded Real-Time Systems # Automotive Kernel Version 2 # # Copyright (C) 2001 by Embedded and Real-Time Systems Laboratory # Toyohashi Univ. of Technology, JAPAN # Copyright (C) 2005-2014 by Center for Embedded Computing Systems # Graduate School of Information Science, Nagoya Univ., JAPAN # Copyright (C) 2011-2014 by FUJI SOFT INCORPORATED, JAPAN # Copyright (C) 2011-2013 by Spansion LLC, USA # Copyright (C) 2011-2013 by NEC Communication Systems, Ltd., JAPAN # Copyright (C) 2011-2014 by Panasonic Advanced Technology Development Co., Ltd., JAPAN # Copyright (C) 2011-2014 by Renesas Electronics Corporation, JAPAN # Copyright (C) 2011-2014 by Sunny Giken Inc., JAPAN # Copyright (C) 2011-2014 by TOSHIBA CORPORATION, JAPAN # Copyright (C) 2011-2014 by Witz Corporation # # 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー # スコード中に含まれていること. # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 # の無保証規定を掲載すること. # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ # と. # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 # 作権表示,この利用条件および下記の無保証規定を掲載すること. # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに # 報告すること. # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを # 免責すること. # # 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕 # 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので # はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利 # 用する者に対して,AUTOSARパートナーになることを求めている. # # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ # の責任を負わない. # # $Id: svc.def 425 2015-12-07 08:06:19Z witz-itoyo $ # # # サービスコール定義ファイル # # 各行は,機能番号,フラグ,サービスコールのプロトタイプ宣言から構成さ # れる.行頭がスペース(空白またはTAB)で始まる時は,機能コードが省略 # されたとみなす.ただし,最初のサービスコールの機能コードは省略できな # い.行末の '\' は継続行を示す. # # 注意事項: # サービスコールの引数名はすべて小文字であること # # フラグの意味は次の通り. # # S : ATK2-SC3カーネルがサポート # 関数プロトタイプ宣言と呼出しライブラリを生成する # N : 関数プロトタイプ宣言は生成するが,呼出しライブラリは生成しない # I : ユーザからは呼べない(exit_task) # m : メモリをアクセスする ⇒ ポインタをパラメータに持つ場合 # 呼出元のメモリを変更することをコンパイラに伝える # n : サービスコールの返戻値が void型 # - : 未サポート,予約 # 0 Sn void StartOS(AppModeType Mode) Sn void ShutdownOS(StatusType Error) S StatusType ActivateTask(TaskType TaskID) S StatusType TerminateTask() S StatusType ChainTask(TaskType TaskID) S StatusType Schedule() S StatusType GetTaskID(TaskRefType TaskID) S StatusType GetTaskState(TaskType TaskID, TaskStateRefType State) Sn void EnableAllInterrupts() Sn void DisableAllInterrupts() Sn void ResumeAllInterrupts() Sn void SuspendAllInterrupts() Sn void ResumeOSInterrupts() Sn void SuspendOSInterrupts() S ISRType GetISRID() S StatusType DisableInterruptSource(ISRType DisableISR) S StatusType EnableInterruptSource(ISRType EnableISR) S StatusType GetResource(ResourceType ResID) S StatusType ReleaseResource(ResourceType ResID) S StatusType SetEvent(TaskType TaskID, EventMaskType Mask) S StatusType ClearEvent(EventMaskType Mask) S StatusType GetEvent(TaskType TaskID, EventMaskRefType Event) S StatusType WaitEvent(EventMaskType Mask) S StatusType GetAlarmBase(AlarmType AlarmID, AlarmBaseRefType Info) S StatusType GetAlarm(AlarmType AlarmID, TickRefType Tick) S StatusType SetRelAlarm(AlarmType AlarmID, TickType increment, TickType cycle) S StatusType SetAbsAlarm(AlarmType AlarmID, TickType start, TickType cycle) S StatusType CancelAlarm(AlarmType AlarmID) S StatusType IncrementCounter(CounterType CounterID) S StatusType GetCounterValue(CounterType CounterID, TickRefType Value) S StatusType GetElapsedValue(CounterType CounterID, TickRefType Value, TickRefType ElapsedValue) S AccessType CheckISRMemoryAccess(ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size) S AccessType CheckTaskMemoryAccess(TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size) S ObjectAccessType CheckTaskAccess(ApplicationType ApplID, TaskType TaskID) S ObjectAccessType CheckISRAccess(ApplicationType ApplID, ISRType ISRID) S ObjectAccessType CheckAlarmAccess(ApplicationType ApplID, AlarmType AlarmID) S ObjectAccessType CheckResourceAccess(ApplicationType ApplID, ResourceType ResID) S ObjectAccessType CheckCounterAccess(ApplicationType ApplID, CounterType CounterID) S ObjectAccessType CheckScheduleTableAccess(ApplicationType ApplID, ScheduleTableType ScheduleTableID) S ApplicationType CheckTaskOwnership(TaskType TaskID) S ApplicationType CheckISROwnership(ISRType ISRID) S ApplicationType CheckAlarmOwnership(AlarmType AlarmID) S ApplicationType CheckCounterOwnership(CounterType CounterID) S ApplicationType CheckScheduleTableOwnership(ScheduleTableType ScheduleTableID) S ApplicationType GetApplicationID() S StatusType CallTrustedFunction(TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams) S StatusType GetApplicationState(ApplicationType Application, ApplicationStateRefType Value) S AppModeType GetActiveApplicationMode() S StatusType StartScheduleTableRel(ScheduleTableType ScheduleTableID, TickType Offset) S StatusType StartScheduleTableAbs(ScheduleTableType ScheduleTableID, TickType Start) S StatusType StopScheduleTable(ScheduleTableType ScheduleTableID) S StatusType NextScheduleTable(ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To) S StatusType GetScheduleTableStatus(ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus) S FaultyContextType GetFaultyContext() S Std_ReturnType ioc_send_generic(IocType IocWrapperId, const void *in) S Std_ReturnType ioc_write_generic(IocType IocWrapperId, const void *in) S Std_ReturnType ioc_receive_generic(IocType IocId, void *out) S Std_ReturnType ioc_read_generic(IocType IocId, void *out) S Std_ReturnType ioc_empty_queue_generic(IocType IocId) S StatusType AllowAccess() S StatusType TerminateApplication(ApplicationType Application, RestartType RestartOption) In void exit_task() # ここまで