source: azure_iot_hub/trunk/asp3_dcre/tecsgen/tecs/rpc/RPCTask.cdl@ 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/plain
File size: 4.6 KB
Line 
1/*
2 * TECS Generator
3 * Generator for TOPPERS Embedded Component System
4 *
5 * Copyright (C) 2008-2013 by TOPPERS Project
6 *--
7 * 上記著作権者
8は,以下の(1)(4)の条件を満たす場合に限り,本ソフトウェ
9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
10 * 変・再é…
11å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
14 * スコード中に含まれていること.
15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
16 * 用できる形で再é…
17å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
18å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
19 * 者
20マニュアルなど)に,上記の著作権表示,この利用条件および下記
21 * の無保証規定を掲載すること.
22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
23 * 用できない形で再é…
24å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
25 * と.
26 * (a) 再é…
27å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
28マニュアルなど)に,上記の著
29 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
30 * (b) 再é…
31å¸ƒã®å½¢æ…
32‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
33 * 報告すること.
34 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
35 * 害からも,上記著作権者
36およびTOPPERSプロジェクトをå…
37è²¬ã™ã‚‹ã“と.
38 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
39 * 由に基づく請求からも,上記著作権者
40およびTOPPERSプロジェクトを
41 * å…
42è²¬ã™ã‚‹ã“と.
43 *
44 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
45お
46 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
47 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
48 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
49 * の責任を負わない.
50 *
51 * $Id: RPCTask.cdl 388 2019-05-22 11:25:18Z coas-nagasima $
52 */
53
54/*
55 * unmarshaler の main のシグニチャ
56 */
57signature sUnmarshalerMain {
58 ER main(void);
59};
60
61///////////////// 専有チャンネル用の定義 ////////////////
62/*
63 * CELLTYPE: 専有チャンネル用のタスクメイン
64 */
65celltype tRPCDedicatedTaskMain { // Transparent RPC で用いる
66 entry sTaskBody eMain;
67 call sUnmarshalerMain cMain;
68};
69
70celltype tRPCDedicatedTaskMainWithOpener { // Opaque RPC で用いる
71 entry sTaskBody eMain;
72 call sUnmarshalerMain cMain;
73 call sServerChannelOpener cOpener;
74 attr {
75 RELTIM initialDelay = 0; // sec
76 RELTIM reopenDelay = 1; // sec
77 };
78 require tKernel.eKernel;
79};
80
81///////////////// å…
82±æœ‰ãƒãƒ£ãƒ³ãƒãƒ«ç”¨ã®å®šç¾© ////////////////
83/*
84 * CONST: å…
85±æœ‰ãƒãƒ£ãƒ³ãƒãƒ«ãƒ˜ãƒƒãƒ€ã®ãƒžã‚¸ãƒƒã‚¯
86 */
87const uint16_t RPC_CHANNEL_MAN_SOP_MAGIC = (0x3141); // Beginning of using shared channel
88const uint16_t RPC_CHANNEL_MAN_EOP_MAGIC = (0x2718); // End of using shared channel
89
90/*
91 * CELLTYPE: å…
92±æœ‰ãƒãƒ£ãƒ³ãƒãƒ«ãƒžãƒãƒ¼ã‚¸ãƒ£
93 * REM: 呼びå…
94ƒå´ã«ç½®ããƒãƒ£ãƒ³ãƒãƒ«ãƒžãƒãƒ¼ã‚¸ãƒ£
95 * eSemaphore が呼び出されたときチャンネルをロックするとともに、
96 * チャンネル番号を送出する
97 */
98celltype tRPCSharedChannelMan {
99 entry sSemaphore eSemaphore[];
100 call sSemaphore cSemaphore;
101 call sTDR cClientSideTDR;
102};
103
104
105/*
106 * CELLTYPE: å…
107±æœ‰ãƒãƒ£ãƒ³ãƒãƒ«ç”¨ã®ã‚¿ã‚¹ã‚¯ãƒ¡ã‚¤ãƒ³
108 * REM: 呼びå…
109ˆå´ã«ç½®ãã‚¿ã‚¹ã‚¯
110 * チャンネル番号を取り出し、チャンネル番号の cTaskBody を呼び出す
111 */
112celltype tRPCSharedTaskMain {
113 entry sTaskBody eMain;
114
115 call sUnmarshalerMain cUnmarshalAndCallFunction[];
116 call sTDR cServerSideTDR;
117
118 require tSysLog.eSysLog;
119
120 var {
121 int16_t channelNo; /* é…
122åˆ—添数 + 1 */
123 };
124};
125
126celltype tRPCSharedTaskMainWithOpener { // Opaque RPC で用いる
127 entry sTaskBody eMain;
128 call sUnmarshalerMain cUnmarshalAndCallFunction[];
129 call sTDR cServerSideTDR;
130 call sServerChannelOpener cOpener;
131 require tSysLog.eSysLog;
132 require tKernel.eKernel;
133
134 attr {
135 RELTIM initialDelay = 0; // sec
136 RELTIM reopenDelay = 1; // sec
137 };
138 var {
139 int16_t channelNo; /* é…
140åˆ—添数 + 1 */
141 };
142};
Note: See TracBrowser for help on using the repository browser.