source: azure_iot_hub/trunk/asp3_dcre/tecs_kernel/tTask_inline.h@ 388

Last change on this file since 388 was 388, checked in by coas-nagasima, 5 years ago

Azure IoT Hub Device C SDK を使ったサンプルの追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-chdr
File size: 5.4 KB
Line 
1/*
2 * TOPPERS/ASP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Advanced Standard Profile Kernel
5 *
6 * Copyright (C) 2015 by Ushio Laboratory
7 * Graduate School of Engineering Science, Osaka Univ., JAPAN
8 * Copyright (C) 2015 by Embedded and Real-Time Systems Laboratory
9 * Graduate School of Information Science, Nagoya Univ., JAPAN
10 *
11 * 上記著作権者
12は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
14 * 変・再é…
15å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18 * スコード中に含まれていること.
19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20 * 用できる形で再é…
21å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
22å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
23 * 者
24マニュアルなど)に,上記の著作権表示,この利用条件および下記
25 * の無保証規定を掲載すること.
26 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
27 * 用できない形で再é…
28å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
29 * と.
30 * (a) 再é…
31å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
32マニュアルなど)に,上記の著
33 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
34 * (b) 再é…
35å¸ƒã®å½¢æ…
36‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
37 * 報告すること.
38 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
39 * 害からも,上記著作権者
40およびTOPPERSプロジェクトをå…
41è²¬ã™ã‚‹ã“と.
42 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
43 * 由に基づく請求からも,上記著作権者
44およびTOPPERSプロジェクトを
45 * å…
46è²¬ã™ã‚‹ã“と.
47 *
48 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
49お
50 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
51 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
52 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
53 * の責任を負わない.
54 *
55 * $Id: tTask_inline.h 388 2019-05-22 11:25:18Z coas-nagasima $
56 */
57
58#ifndef TOPPERS_TTASK_INLINE_H
59#define TOPPERS_TTASK_INLINE_H
60
61/*
62 * タスクの起動
63 */
64Inline ER
65eTask_activate(CELLIDX idx)
66{
67 CELLCB *p_cellcb = GET_CELLCB(idx);
68 return(act_tsk(ATTR_id));
69}
70
71/*
72 * タスク起動要求のキャンセル
73 */
74Inline ER_UINT
75eTask_cancelActivate(CELLIDX idx)
76{
77 CELLCB *p_cellcb = GET_CELLCB(idx);
78 return(can_act(ATTR_id));
79}
80
81/*
82 * タスク状æ…
83‹ã®å‚ç…
84§
85 */
86Inline ER
87eTask_getTaskState(CELLIDX idx, STAT *p_tskstat)
88{
89 CELLCB *p_cellcb = GET_CELLCB(idx);
90 return(get_tst(ATTR_id, p_tskstat));
91}
92
93/*
94 * タスクのベース優å…
95ˆåº¦ã®å¤‰æ›´
96 */
97Inline ER
98eTask_changePriority(CELLIDX idx, PRI priority)
99{
100 CELLCB *p_cellcb = GET_CELLCB(idx);
101 return(chg_pri(ATTR_id, priority));
102}
103
104/*
105 * タスク優å…
106ˆåº¦ã®å‚ç…
107§
108 */
109Inline ER
110eTask_getPriority(CELLIDX idx, PRI *p_priority)
111{
112 CELLCB *p_cellcb = GET_CELLCB(idx);
113 return(get_pri(ATTR_id, p_priority));
114}
115
116/*
117 * タスクの状æ…
118‹å‚ç…
119§
120 */
121Inline ER
122eTask_refer(CELLIDX idx, T_RTSK *pk_taskStatus)
123{
124 CELLCB *p_cellcb = GET_CELLCB(idx);
125 return(ref_tsk(ATTR_id, pk_taskStatus));
126}
127
128/*
129 * タスクの起床
130 */
131Inline ER
132eTask_wakeup(CELLIDX idx)
133{
134 CELLCB *p_cellcb = GET_CELLCB(idx);
135 return(wup_tsk(ATTR_id));
136}
137
138/*
139 * タスク起床要求のキャンセル
140 */
141Inline ER_UINT
142eTask_cancelWakeup(CELLIDX idx)
143{
144 CELLCB *p_cellcb = GET_CELLCB(idx);
145 return(can_wup(ATTR_id));
146}
147
148/*
149 * 待
150ち状æ…
151‹ã®å¼·åˆ¶è§£é™¤
152 */
153Inline ER
154eTask_releaseWait(CELLIDX idx)
155{
156 CELLCB *p_cellcb = GET_CELLCB(idx);
157 return(rel_wai(ATTR_id));
158}
159
160/*
161 * 強制待
162ち状æ…
163‹ã¸ã®ç§»è¡Œ
164 */
165Inline ER
166eTask_suspend(CELLIDX idx)
167{
168 CELLCB *p_cellcb = GET_CELLCB(idx);
169 return(sus_tsk(ATTR_id));
170}
171
172/*
173 * 強制待
174ち状æ…
175‹ã‹ã‚‰ã®å†é–‹
176 */
177Inline ER
178eTask_resume(CELLIDX idx)
179{
180 CELLCB *p_cellcb = GET_CELLCB(idx);
181 return(rsm_tsk(ATTR_id));
182}
183
184/*
185 * タスクの終了要求[NGKI3469]
186 */
187Inline ER
188eTask_raiseTerminate(CELLIDX idx)
189{
190 CELLCB *p_cellcb = GET_CELLCB(idx);
191 return(ras_ter(ATTR_id));
192}
193
194/*
195 * タスクの強制終了
196 */
197Inline ER
198eTask_terminate(CELLIDX idx)
199{
200 CELLCB *p_cellcb = GET_CELLCB(idx);
201 return(ter_tsk(ATTR_id));
202}
203
204/*
205 * タスクの起動(非タスクコンテキスト用)
206 */
207Inline ER
208eiTask_activate(CELLIDX idx)
209{
210 CELLCB *p_cellcb = GET_CELLCB(idx);
211 return(act_tsk(ATTR_id));
212}
213
214/*
215 * タスクの起床(非タスクコンテキスト用)
216 */
217Inline ER
218eiTask_wakeup(CELLIDX idx)
219{
220 CELLCB *p_cellcb= GET_CELLCB(idx);
221 return(iwup_tsk(ATTR_id));
222}
223
224/*
225 * 待
226ち状æ…
227‹ã®å¼·åˆ¶è§£é™¤ï¼ˆéžã‚¿ã‚¹ã‚¯ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆç”¨ï¼‰
228 */
229Inline ER
230eiTask_releaseWait(CELLIDX idx)
231{
232 CELLCB *p_cellcb = GET_CELLCB(idx);
233 return(irel_wai(ATTR_id));
234}
235
236#endif /* TOPPERS_TTASK_INLINE_H */
Note: See TracBrowser for help on using the repository browser.