Index: /SimpleSample/trunk/SimpleSample/Makefile
===================================================================
--- /SimpleSample/trunk/SimpleSample/Makefile	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/Makefile	(revision 30)
@@ -0,0 +1,75 @@
+# このファイルは tecsgen により自動生成されました
+# Makefile.temp は gen の一つ上のディレクトリに移して使用します
+#  % mv Makefile.temp Makefile
+# 
+# clean のデフォルト動作は $(GEN_DIR)/Makefile.* を削除します
+#
+# このファイルは GNU make で gcc を用い POSIX 環境で動作するモジュールをビルドするのに適切なように生成されています
+# vpath, CFLAGS, OTHER_OBJS などを調整する必要があるかもしれません
+# 他の環境やターゲットの場合、このファイルを元に変更する必要があります
+
+# 変数 #_MVAR_#
+TARGET = SimpleSample-trace.exe
+TIMESTAMP = tecsgen.timestamp
+TECSGEN_EXE = tecsgen
+BASE_DIR = .
+CC = gcc
+CFLAGS = -I $(BASE_DIR)/. -I $(BASE_DIR)/src -I $(BASE_DIR)/gen -I $(BASE_DIR)/../../tecsgen/tecs/../test/cygwin -I $(BASE_DIR)/../../tecsgen/tecs -I $(GEN_DIR) -D "Inline=static inline"
+LD = gcc
+LDFLAGS = 
+GEN_DIR = $(BASE_DIR)/gen
+SRC_DIR = $(BASE_DIR)/src
+_TECS_OBJ_DIR = $(GEN_DIR)/
+#   _TECS_OBJ_DIR   # should be end with '/'
+
+vpath %.c $(SRC_DIR) $(GEN_DIR)  src gen ../../tecsgen/tecs/../test/cygwin ../../tecsgen/tecs
+vpath %.h $(SRC_DIR) $(GEN_DIR)  src gen ../../tecsgen/tecs/../test/cygwin ../../tecsgen/tecs
+
+OTHER_OBJS =                       # Add objects out of tecs care.
+# OTHER_OBJS = $(_TECS_OBJ_DIR)vasyslog.o
+
+# ルール #_MRUL_#
+allall: tecs
+	make all     # in order to include generated Makefile.tecsgen & Makefile.depend
+
+all : $(TARGET)
+
+
+# depend を include #_MDEP_#
+-include $(GEN_DIR)/Makefile.tecsgen
+-include $(GEN_DIR)/Makefile.depend
+
+$(TARGET) : $(TIMESTAMP) $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS)
+	$(LD) -o $(TARGET) $(TECSGEN_COBJS) $(CELLTYPE_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(LDFLAGS)
+clean :
+	rm -f $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(TARGET)  $(TIMESTAMP)
+	rm -rf $(GEN_DIR)
+
+tecs : $(TIMESTAMP)
+
+$(TIMESTAMP) : $(TECS_IMPORTS)
+	$(TECSGEN_EXE)  -k euc -I src -I gen -I ../../tecsgen/tecs/../test/cygwin -I ../../tecsgen/tecs SimpleSample-trace.cdl
+	touch $(TIMESTAMP)
+
+# generic target for objs
+$(_TECS_OBJ_DIR)%.o : %.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
+$(_TECS_OBJ_DIR)tTask.o : tTask.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tKernel.o : tKernel.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSysLog.o : tSysLog.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSample.o : tSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSimple.o : tSimple.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tTracePlugin_sSample.o : tTracePlugin_sSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
Index: /SimpleSample/trunk/SimpleSample/Makefile-trace
===================================================================
--- /SimpleSample/trunk/SimpleSample/Makefile-trace	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/Makefile-trace	(revision 30)
@@ -0,0 +1,75 @@
+# このファイルは tecsgen により自動生成されました
+# Makefile.temp は gen の一つ上のディレクトリに移して使用します
+#  % mv Makefile.temp Makefile
+# 
+# clean のデフォルト動作は $(GEN_DIR)/Makefile.* を削除します
+#
+# このファイルは GNU make で gcc を用い POSIX 環境で動作するモジュールをビルドするのに適切なように生成されています
+# vpath, CFLAGS, OTHER_OBJS などを調整する必要があるかもしれません
+# 他の環境やターゲットの場合、このファイルを元に変更する必要があります
+
+# 変数 #_MVAR_#
+TARGET = SimpleSample-trace.exe
+TIMESTAMP = tecsgen.timestamp-trace
+TECSGEN_EXE = tecsgen
+BASE_DIR = .
+CC = gcc
+CFLAGS = -I $(BASE_DIR)/. -I $(BASE_DIR)/src -I $(BASE_DIR)/gen -I $(BASE_DIR)/../../tecsgen/tecs/../test/cygwin -I $(BASE_DIR)/../../tecsgen/tecs -I $(GEN_DIR) -D "Inline=static inline"
+LD = gcc
+LDFLAGS = 
+GEN_DIR = $(BASE_DIR)/gen-trace
+SRC_DIR = $(BASE_DIR)/src
+_TECS_OBJ_DIR = $(GEN_DIR)/
+#   _TECS_OBJ_DIR   # should be end with '/'
+
+vpath %.c $(SRC_DIR) $(GEN_DIR)  src gen ../../tecsgen/tecs/../test/cygwin ../../tecsgen/tecs
+vpath %.h $(SRC_DIR) $(GEN_DIR)  src gen ../../tecsgen/tecs/../test/cygwin ../../tecsgen/tecs
+
+# OTHER_OBJS =                       # Add objects out of tecs care.
+OTHER_OBJS = $(_TECS_OBJ_DIR)vasyslog.o
+
+# ルール #_MRUL_#
+allall: tecs
+	make all     # in order to include generated Makefile.tecsgen & Makefile.depend
+
+all : $(TARGET)
+
+
+# depend を include #_MDEP_#
+-include $(GEN_DIR)/Makefile.tecsgen
+-include $(GEN_DIR)/Makefile.depend
+
+$(TARGET) : $(TIMESTAMP) $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS)
+	$(LD) -o $(TARGET) $(TECSGEN_COBJS) $(CELLTYPE_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(LDFLAGS)
+clean :
+	rm -f $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(TARGET)  $(TIMESTAMP)
+	rm -rf $(GEN_DIR)
+
+tecs : $(TIMESTAMP)
+
+$(TIMESTAMP) : $(TECS_IMPORTS)
+	$(TECSGEN_EXE)  -g gen-trace -k euc -I src -I gen -I ../../tecsgen/tecs/../test/cygwin -I ../../tecsgen/tecs SimpleSample-trace.cdl
+	touch $(TIMESTAMP)
+
+# generic target for objs
+$(_TECS_OBJ_DIR)%.o : %.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
+$(_TECS_OBJ_DIR)tTask.o : tTask.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tKernel.o : tKernel.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSysLog.o : tSysLog.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSample.o : tSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSimple.o : tSimple.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tTracePlugin_sSample.o : tTracePlugin_sSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
Index: /SimpleSample/trunk/SimpleSample/README.txt
===================================================================
--- /SimpleSample/trunk/SimpleSample/README.txt	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/README.txt	(revision 30)
@@ -0,0 +1,107 @@
+SimpleSample
+						2009.6.7 Å
+						2009.6.9 ÄAbv
+
+s´ÈÕpbP[WÌTvt
+
+u3 ªÅí©é TECSvÆ¢¤±ÆÅAcygwin ¾¯Å®ì·é SimpleSample 
+ðìÁÄÝÜµ½BTECS R|[lgÌvfðð·é±ÆªÅ«Ü·B
+
+  ö®[XÌpbP[WÉüÁÄ¢éàÌÍ TOPPERS/ASP J[lãÅ
+  ®©·TvÅAskyeye ÌV~
+[VÂ«Éæè PC ãÅ®ì³
+  ¹é±ÆªÅ«é{iIÈàÌÅ·B¿åÁÆ®©µÄÝéÉÍAâân[
+  hª¢©àµêÜ¹ñB
+
+±Ì´ÈÕpbP[WÍ cygwin ÌlCeBuÈ gcc Årh·éæ¤Éµ
+Ä¢Ü·ÌÅAcygwin ªCXg[³êÄ¢êÎA¼ÉÍÁÉKv èÜ
+¹ñBruby, racc àCXg[ÌKv èÜ¹ñB
+
+rhÌdûF
+
+  % make tecs
+  % make all
+
+  êÉæÁÄÍAmake tecs ÌOÉAÈºÌæ¤ÉpXðüêéKvª é
+  ©àµêÜ¹ñB
+
+  % PATH=.:$PATH
+
+ÀsÌdûF
+
+  % ./SimpleSample.exe
+
+sSimpleSample ÌTvt
+
+hello Ì\¦ÈÇA²­ÈPÈáÅ·B
+TECS Ì{@\ððµâ·¢æ¤ÉAcygwin ¾¯Å®ìµÜ·B
+±ÌáÅÍAÈPÌ½ßÉ printf ðÄÑoµÜ·ªAÀÛÌ RTOS Â«Å 
+êÎAoÍpR|[lgðp¢½ûªæ¢Å·B
+
+R|[lg}F
+
+  SimpleSample.png
+
+R|[lgLqF
+
+SimpleSmaple.cdl É TECS CDL ÅLqB¶R[hÉÍ EUC ðgpµÄ¢Ü
+·B
+
+EVOj`Lq
+
+  sSample c ÖC^tF[XÌè`
+             µKÆµÄÚª¶ s ðtÁ·é
+
+VOj` sSampleÉÍ 2 ÂÌÖ sayHello Æ howAreYou ª éB
+Z^Cv tSample Ìñ·é@\ÆÈéÌÅAsSample Æ¢¤¼OÉµ½B
+
+EZ^CvLq
+
+  tSimple c ÄÑ³ÌZ^Cv
+  tSample c ÄÑæÌZ^Cv
+             µKÆµÄÚª¶ t ðtÁ·é
+
+Egã°Lq
+
+  Simple c ÄÑ³ÌZ
+  Sample c ÄÑæÌZ
+
+Z^CvR[hF
+
+  src/tSimple.c  c ÄÑ³ÌZ^CvR[h
+  src/tSample.c  c ÄÑæÌZ^CvR[h
+
+yì¬Â«z
+
+ OS: Windows XP SP3
+ Ruby: V1.8.7p72 (mswin32)
+ Racc: 1.4.5
+ exerb: 4.8.0
+
+sCZXt
+
+yTECSWFl[^z
+
+TECS WFl[^ tecsgen.exe ÌàÉÜÜêéR[hÉÂ¢ÄÍ TOPPERS 
+CZXÉ]¢Ü·BTOPPERS CZXÉÂ¢ÄÍÈºÌz[y[WÅ
+mFÅ«Ü·B
+
+  http://www.toppers.jp/license.html
+
+yRubyÖWz
+
+tecsgen.exe Í Ruby, Racc, Exerb ðgpµÄ\z³êÄ¢Ü·B
+»êçÉÂ¢ÄÍA»êçÌCZXÉ]¢Ü·B
+
+Ruby ÌC^v^Ì\[XÍAÈºÌ URL Ìz[y[W©ç_E[
+hÅ«Ü·B
+
+  http://www.ruby-lang.org/
+
+Racc Ì\[XÍAÈºÌ URL Ìz[y[W©ç_E[hÅ«Ü·B
+
+  http://i.loveruby.net/ja/projects/racc/
+
+Exerb Ì\[XÍÈºÌ URL Ìz[y[W©ç_E[hÅ«Ü·B
+
+  http://exerb.sourceforge.jp/
Index: /SimpleSample/trunk/SimpleSample/SimpleSample-trace.cdl
===================================================================
--- /SimpleSample/trunk/SimpleSample/SimpleSample-trace.cdl	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/SimpleSample-trace.cdl	(revision 30)
@@ -0,0 +1,53 @@
+/*
+ * Simple な Sample
+ *
+ *  +-------------+           +-------------+          +-------------+
+ *  |             |           |             |          |             |
+ *  |   tTask     | sTaskBody |   tSimple   |  sSample |   tSample   |
+ *  |   Task      |-----------|>  Simple    |----------|>  Sample    |
+ *  |             |cTask eBody|             |cCall eEnt|             |
+ *  |             |Body       |             |          |             |
+ *  +-------------+           +-------------+          +-------------+
+ */
+
+
+// cygwin 用の簡易な型定義
+import( <cygwin_kernel.cdl> );
+  // TECS 対応 TOPPERS/ASP ならば import( <kernel.cdl> ); でよい
+
+import( <tSysLog.cdl> );
+
+cell tSysLog SysLog {
+};
+cell tKernel Kernel {
+};
+
+signature sSample {
+	ER  sayHello( [in]int32_t times );
+	ER  howAreYou( [out,string(len)]char_t *buf, [in]int32_t len );
+};
+
+celltype tSample {
+	entry sSample eEnt;
+};
+
+[singleton,active]
+celltype tSimple {
+	call sSample cCall;
+	entry sTaskBody eBody;
+};
+
+cell tSample Sample {
+};
+
+cell tSimple Simple {
+	[through(TracePlugin,"")]
+		cCall = Sample.eEnt;
+};
+
+cell tTask Task {
+	cBody = Simple.eBody;
+	priority = 11;
+	stackSize = 1024;
+	taskAttribute = C_EXP( "TA_ACT" );
+};
Index: /SimpleSample/trunk/SimpleSample/SimpleSample.cdl
===================================================================
--- /SimpleSample/trunk/SimpleSample/SimpleSample.cdl	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/SimpleSample.cdl	(revision 30)
@@ -0,0 +1,45 @@
+/*
+ * Simple な Sample
+ *
+ *  +-------------+           +-------------+          +-------------+
+ *  |             |           |             |          |             |
+ *  |   tTask     | sTaskBody |   tSimple   |  sSample |   tSample   |
+ *  |   Task      |-----------|>  Simple    |----------|>  Sample    |
+ *  |             |cTask eBody|             |cCall eEnt|             |
+ *  |             |Body       |             |          |             |
+ *  +-------------+           +-------------+          +-------------+
+ */
+
+
+// cygwin 用の簡易な型定義
+import( <cygwin_kernel.cdl> );
+  // TECS 対応 TOPPERS/ASP ならば import( <kernel.cdl> ); でよい
+
+signature sSample {
+	ER  sayHello( [in]int32_t times );
+	ER  howAreYou( [out,string(len)]char_t *buf, [in]int32_t len );
+};
+
+celltype tSample {
+	entry sSample eEnt;
+};
+
+[singleton,active]
+celltype tSimple {
+	call sSample cCall;
+	entry sTaskBody eBody;
+};
+
+cell tSample Sample {
+};
+
+cell tSimple Simple {
+	cCall = Sample.eEnt;
+};
+
+cell tTask Task {
+	cBody = Simple.eBody;
+	priority = 11;
+	stackSize = 1024;
+	taskAttribute = C_EXP( "TA_ACT" );
+};
Index: /SimpleSample/trunk/SimpleSample/src/tSample.c
===================================================================
--- /SimpleSample/trunk/SimpleSample/src/tSample.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/src/tSample.c	(revision 30)
@@ -0,0 +1,80 @@
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * このファイルは tecsgen によりテンプレートとして自動生成されました
+ * このファイルを編集して使用することが意図されていますが
+ * tecsgen の再実行により上書きされてしまうため、通常
+ *   gen/tSimpleServer_template.c => src/tSimpleServer.c
+ * のように名前, フォルダを変更してから修正します
+ *
+ * #[</PREAMBLE>]# */
+
+#include <stdio.h>
+#include <string.h>
+#include "tSample_tecsgen.h"
+
+#ifndef E_OK
+#define	E_OK	0		/* 正常終了 */
+#define	E_ID	(-18)	/* 不正ID番号 */
+#endif
+
+
+/* 受け口関数 #_TEPF_# */
+/* #[<ENTRY_PORT>]# eEnt
+ * entry port: eEnt
+ * signature:  sSample
+ * context:    task
+ * params: 
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eEnt_sayHello
+ * name:         eEnt_sayHello
+ * global_name:  tSample_eEnt_sayHello
+ * oneway:       
+ * #[/ENTRY_FUNC>]# */
+ER
+eEnt_sayHello(CELLIDX idx, int32_t times)
+{
+	ER		ercd = E_OK;
+	CELLCB	*p_cellcb;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		return(E_ID);
+	}
+
+	/* ここに処理本体を記述します */
+	printf( "Sample: " );
+	while( times-- > 0 )
+		printf( "hello " );
+	printf( "\n" );
+
+	return(ercd);
+}
+
+/* #[<ENTRY_FUNC>]# eEnt_howAreYou
+ * name:         eEnt_howAreYou
+ * global_name:  tSample_eEnt_howAreYou
+ * oneway:       
+ * #[/ENTRY_FUNC>]# */
+ER
+eEnt_howAreYou(CELLIDX idx, char_t* buf, int32_t len)
+{
+	ER		ercd = E_OK;
+	CELLCB	*p_cellcb;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		return(E_ID);
+	}
+
+	/* ここに処理本体を記述します */
+	strncpy( buf, "Sample: I'm fine!", len );
+
+	return(ercd);
+}
+
+
Index: /SimpleSample/trunk/SimpleSample/src/tSimple.c
===================================================================
--- /SimpleSample/trunk/SimpleSample/src/tSimple.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/src/tSimple.c	(revision 30)
@@ -0,0 +1,47 @@
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * 呼び口関数 #_TCPF_#
+ * call port : cCall  signature: sSample context: task
+ *   ER             cCall_sayHello( int32_t times );
+ *   ER             cCall_howAreYou( char_t* buf, int32_t len );
+ *
+ * #[</PREAMBLE>]# */
+
+#include <stdio.h>
+#include "tSimple_tecsgen.h"
+
+#ifndef E_OK
+#define	E_OK	0		/* 正常終了 */
+#define	E_ID	(-18)	/* 不正ID番号 */
+#endif
+
+/* #[<ENTRY_PORT>]# eBody
+ * entry port: eBody
+ * signature:  sTaskBody
+ * context:    task
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eBody_main
+ * name:         eBody_main
+ * global_name:  tSimple_eBody_main
+ * oneway:       false
+ * #[</ENTRY_FUNC>]# */
+void
+eBody_main()
+{
+	char   buf[256];
+
+#define N_HELLO 3
+	printf( "Simple: Say hello %d times.\n", N_HELLO );
+	cCall_sayHello( N_HELLO );            /* 呼び口 cCall の sayHello を呼び出す */
+
+	printf( "Simple: How are you?\n" );
+	cCall_howAreYou( buf, sizeof buf );   /* 呼び口 cCall の howAreYou を呼び出す */
+	puts( buf );
+}
+
+/* #[<POSTAMBLE>]#
+ *   これより下に非受け口関数を書きます
+ * #[</POSTAMBLE>]#*/
Index: /SimpleSample/trunk/SimpleSample/src/tecs-types.h
===================================================================
--- /SimpleSample/trunk/SimpleSample/src/tecs-types.h	(revision 30)
+++ /SimpleSample/trunk/SimpleSample/src/tecs-types.h	(revision 30)
@@ -0,0 +1,27 @@
+#include	<stdint.h>
+typedef long            ER;
+typedef long            ER_INT;
+
+/* typedef long		intptr_t; */
+typedef int		int_t;
+typedef unsigned char   char_t;
+
+typedef unsigned char   bool_t;
+
+typedef double          double64_t;
+typedef float           float32_t;
+
+/*
+typedef signed long   int32_t;
+typedef signed short  int16_t;
+typedef signed char   int8_t;
+
+typedef unsigned long   uint32_t;
+typedef unsigned short  uint16_t;
+typedef unsigned char   uint8_t;
+
+
+  int64_t, uint64_t, int128_t, uint128_t ga
+*/
+
+
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/Makefile
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/Makefile	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/Makefile	(revision 30)
@@ -0,0 +1,52 @@
+# 変数 #_MVAR_#
+TARGET = SimpleSample.exe
+TIMESTAMP = tecsgen.timestamp
+TECSGEN_EXE = tecsgen.exe
+TECSPATHR = ../../tecsgen/tecs
+BASE_DIR = .
+CC = gcc
+INCLUDE = -I $(BASE_DIR)/. -I $(TECSPATHR) -I $(TECSPATHR)/../test/cygwin -I $(TECSPATHR)/rpc -I $(GEN_DIR)
+CFLAGS = $(INCLUDE) -I $(BASE_DIR)/src -I $(GEN_DIR) -D "Inline=static inline"
+LD = gcc
+LDFLAGS = 
+GEN_DIR = $(BASE_DIR)/gen
+SRC_DIR = $(BASE_DIR)/src
+_TECS_OBJ_DIR = $(GEN_DIR)/
+#   _TECS_OBJ_DIR   # should be end with '/'
+
+vpath %.c $(SRC_DIR) $(GEN_DIR) $(TECSPATHR) $(TECSPATHR)/rpc $(TECSPATHR)/../test/cygwin
+vpath %.h $(SRC_DIR) $(GEN_DIR) $(TECSPATHR) $(TECSPATHR)/rpc $(TECSPATHR)/../test/cygwin
+
+# OTHER_OBJS =                       # Add objects out of tecs care.
+OTHER_OBJS = $(_TECS_OBJ_DIR)vasyslog.o
+
+# ルール #_MRUL_#
+allall: tecs
+	make all     # in order to include generated Makefile.tecsgen & Makefile.depend
+
+all :  sub_regions
+
+
+# depend を include #_MDEP_#
+-include $(GEN_DIR)/Makefile.tecsgen
+
+sub_regions:$(TIMESTAMP)
+	cd rSample; make all
+	cd rSimple; make all
+
+clean :
+	cd rSample; make clean
+	cd rSimple; make clean
+	rm -f $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(TARGET)  $(TIMESTAMP)
+	rm -rf $(GEN_DIR)
+
+tecs : $(TIMESTAMP)
+
+$(TIMESTAMP) : $(TECS_IMPORTS)
+	$(TECSGEN_EXE) $(INCLUDE) -k euc -I src SimpleSample.cdl
+	touch $(TIMESTAMP)
+
+# generic target for objs
+$(_TECS_OBJ_DIR)%.o : %.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/SimpleSample.cdl
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/SimpleSample.cdl	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/SimpleSample.cdl	(revision 30)
@@ -0,0 +1,77 @@
+/*
+ * Simple な Sample (OpaqueRPC 版)
+ *                                               sSocketClientOpener
+ *                                  +---------------------------------------+
+ *                                  |cOpener                                |eOpener
+ *  +-------------+           +-------------+           +-------------+     |    +-------------+
+ *  |             |           |             |           |             |     V    |             |
+ *  |   tTask     | sTaskBody |   tTaskMain | sTaskBody |   tSimple   |  sSample |   tSample   |
+ *  |   Task      |-----------|   TaskMain  |-----------|>  Simple    |==========|>  Sample    |
+ *  |             |cTask eBody|             |cBody eBody|             |cCall eEnt|             |
+ *  |             |Body       |             |           |             |          |             |
+ *  +-------------+           +-------------+           +-------------+          +-------------+
+ */
+
+
+// cygwin 用の簡易な型定義
+import( <cygwin_kernel.cdl> );
+  // TECS 対応 TOPPERS/ASP ならば import( <kernel.cdl> ); でよい
+
+import( <tSysLog.cdl> );
+import( <rpc.cdl> );
+import( <tSocketChannel.cdl> );
+
+signature sSample {
+	ER  sayHello( [in]int32_t times );
+	ER  howAreYou( [out,string(len)]char_t *buf, [in]int32_t len );
+};
+
+celltype tSample {
+	entry sSample eEnt;
+};
+
+[singleton,active]
+celltype tSimple {
+	call sSample cCall;
+	entry sTaskBody eBody;
+};
+
+celltype tTaskMain {
+	entry sTaskBody eBody;
+	call  sTaskBody cBody;
+	call  sSocketClientOpener cOpener;
+};
+
+[linkunit]
+region rSample {
+	cell tSysLog SysLog {
+	};
+	cell tKernel Kernel {
+	};
+	cell tSample Sample {
+	};
+};
+
+[linkunit,
+ to_through( rSample, OpaqueRPCPlugin,
+			 "PPAllocatorSize=1024,"
+			 "clientChannelCell= 'ClientChannel', "	// クライアント側チャンネルセル名
+)]
+region rSimple {
+	cell tSysLog SysLog {
+	};
+	cell tSimple Simple {
+		cCall = rSample::Sample.eEnt;
+	};
+	cell tTaskMain TaskMain {
+		cBody = Simple.eBody;
+		cOpener = ClientChannel.eOpener;
+	};
+
+	cell tTask Task {
+		cBody = TaskMain.eBody;
+		priority = 11;
+		stackSize = 1024;
+		taskAttribute = C_EXP( "TA_ACT" );
+	};
+};
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/rSample/Makefile
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/rSample/Makefile	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/rSample/Makefile	(revision 30)
@@ -0,0 +1,77 @@
+# このファイルは tecsgen により自動生成されました
+# Makefile.temp は gen の一つ上のディレクトリに移して使用します
+#  % mv Makefile.temp Makefile
+# 
+# clean のデフォルト動作は $(GEN_DIR)/Makefile.* を削除します
+#
+# このファイルは GNU make で gcc を用い POSIX 環境で動作するモジュールをビルドするのに適切なように生成されています
+# vpath, CFLAGS, OTHER_OBJS などを調整する必要があるかもしれません
+# 他の環境やターゲットの場合、このファイルを元に変更する必要があります
+
+# 変数 #_MVAR_#
+TARGET = SimpleSample-rSample.exe
+TIMESTAMP = tecsgen.timestamp
+TECSGEN_EXE = tecsgen
+BASE_DIR = ..
+CC = gcc
+INCLUDE = -I $(BASE_DIR)/. -I $(TECSPATH) -I $(TECSPATH)/../test/cygwin -I $(TECSPATH)/rpc -I $(GEN_DIR)
+CFLAGS = $(INCLUDE) -I $(BASE_DIR)/src -I $(GEN_DIR) -D "Inline=static inline" -D RPC_DEBUG
+LD = gcc
+LDFLAGS = 
+GEN_DIR = $(BASE_DIR)/gen/rSample
+SRC_DIR = $(BASE_DIR)/src
+_TECS_OBJ_DIR = $(GEN_DIR)/
+#   _TECS_OBJ_DIR   # should be end with '/'
+
+vpath %.c $(SRC_DIR) $(GEN_DIR) $(TECSPATH) $(TECSPATH)/rpc $(TECSPATH)/../test/cygwin
+vpath %.h $(SRC_DIR) $(GEN_DIR) $(TECSPATH) $(TECSPATH)/rpc $(TECSPATH)/../test/cygwin
+
+OTHER_OBJS =                       # Add objects out of tecs care.
+# OTHER_OBJS = $(_TECS_OBJ_DIR)vasyslog.o
+
+# ルール #_MRUL_#
+allall: tecs
+	make all     # in order to include generated Makefile.tecsgen & Makefile.depend
+
+all : $(TARGET)
+
+
+# depend を include #_MDEP_#
+-include $(GEN_DIR)/Makefile.tecsgen
+-include $(GEN_DIR)/Makefile.depend
+
+$(TARGET) : $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS)
+	$(LD) -o $(TARGET) $(TECSGEN_COBJS) $(CELLTYPE_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(LDFLAGS)
+clean :
+	rm -f $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(TARGET) 
+
+tecs:
+	@echo "run 'make tecs' in root region"
+
+$(_TECS_OBJ_DIR)tSysLog.o : tSysLog.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tTask.o : tTask.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tKernel.o : tKernel.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tNBOTDR.o : tNBOTDR.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tRPCDedicatedTaskMainWithOpener.o : tRPCDedicatedTaskMainWithOpener.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tPPAllocator.o : tPPAllocator.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSocketServer.o : tSocketServer.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSample.o : tSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tOpaqueUnmarshaler_sSample.o : tOpaqueUnmarshaler_sSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/rSimple/Makefile
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/rSimple/Makefile	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/rSimple/Makefile	(revision 30)
@@ -0,0 +1,74 @@
+# このファイルは tecsgen により自動生成されました
+# Makefile.temp は gen の一つ上のディレクトリに移して使用します
+#  % mv Makefile.temp Makefile
+# 
+# clean のデフォルト動作は $(GEN_DIR)/Makefile.* を削除します
+#
+# このファイルは GNU make で gcc を用い POSIX 環境で動作するモジュールをビルドするのに適切なように生成されています
+# vpath, CFLAGS, OTHER_OBJS などを調整する必要があるかもしれません
+# 他の環境やターゲットの場合、このファイルを元に変更する必要があります
+
+# 変数 #_MVAR_#
+TARGET = SimpleSample-rSimple.exe
+TIMESTAMP = tecsgen.timestamp
+TECSGEN_EXE = tecsgen
+BASE_DIR = ..
+CC = gcc
+INCLUDE = -I $(BASE_DIR)/. -I $(TECSPATH) -I $(TECSPATH)/../test/cygwin -I $(TECSPATH)/rpc -I $(GEN_DIR)
+CFLAGS = $(INCLUDE) -I $(BASE_DIR)/src -I $(GEN_DIR) -D "Inline=static inline" -D RPC_DEBUG
+LD = gcc
+LDFLAGS = 
+GEN_DIR = $(BASE_DIR)/gen/rSimple
+SRC_DIR = $(BASE_DIR)/src
+_TECS_OBJ_DIR = $(GEN_DIR)/
+#   _TECS_OBJ_DIR   # should be end with '/'
+
+vpath %.c $(SRC_DIR) $(GEN_DIR) $(TECSPATH) $(TECSPATH)/rpc $(TECSPATH)/../test/cygwin
+vpath %.h $(SRC_DIR) $(GEN_DIR) $(TECSPATH) $(TECSPATH)/rpc $(TECSPATH)/../test/cygwin
+
+OTHER_OBJS =                       # Add objects out of tecs care.
+# OTHER_OBJS = $(_TECS_OBJ_DIR)vasyslog.o
+
+# ルール #_MRUL_#
+allall: tecs
+	make all     # in order to include generated Makefile.tecsgen & Makefile.depend
+
+all : $(TARGET)
+
+
+# depend を include #_MDEP_#
+-include $(GEN_DIR)/Makefile.tecsgen
+-include $(GEN_DIR)/Makefile.depend
+
+$(TARGET) : $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS)
+	$(LD) -o $(TARGET) $(TECSGEN_COBJS) $(CELLTYPE_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(LDFLAGS)
+clean :
+	rm -f $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(TARGET) 
+
+tecs:
+	@echo "run 'make tecs' in root region"
+
+$(_TECS_OBJ_DIR)tTask.o : tTask.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSemaphore.o : tSemaphore.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSysLog.o : tSysLog.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tNBOTDR.o : tNBOTDR.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSocketClient.o : tSocketClient.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSimple.o : tSimple.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tTaskMain.o : tTaskMain.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tOpaqueMarshaler_sSample.o : tOpaqueMarshaler_sSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tSample.c
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tSample.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tSample.c	(revision 30)
@@ -0,0 +1,80 @@
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * このファイルは tecsgen によりテンプレートとして自動生成されました
+ * このファイルを編集して使用することが意図されていますが
+ * tecsgen の再実行により上書きされてしまうため、通常
+ *   gen/tSimpleServer_template.c => src/tSimpleServer.c
+ * のように名前, フォルダを変更してから修正します
+ *
+ * #[</PREAMBLE>]# */
+
+#include <stdio.h>
+#include <string.h>
+#include "tSample_tecsgen.h"
+
+#ifndef E_OK
+#define	E_OK	0		/* 正常終了 */
+#define	E_ID	(-18)	/* 不正ID番号 */
+#endif
+
+
+/* 受け口関数 #_TEPF_# */
+/* #[<ENTRY_PORT>]# eEnt
+ * entry port: eEnt
+ * signature:  sSample
+ * context:    task
+ * params: 
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eEnt_sayHello
+ * name:         eEnt_sayHello
+ * global_name:  tSample_eEnt_sayHello
+ * oneway:       
+ * #[/ENTRY_FUNC>]# */
+ER
+eEnt_sayHello(CELLIDX idx, int32_t times)
+{
+	ER		ercd = E_OK;
+	CELLCB	*p_cellcb;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		return(E_ID);
+	}
+
+	/* ここに処理本体を記述します */
+	printf( "Sample: " );
+	while( times-- > 0 )
+		printf( "hello " );
+	printf( "\n" );
+
+	return(ercd);
+}
+
+/* #[<ENTRY_FUNC>]# eEnt_howAreYou
+ * name:         eEnt_howAreYou
+ * global_name:  tSample_eEnt_howAreYou
+ * oneway:       
+ * #[/ENTRY_FUNC>]# */
+ER
+eEnt_howAreYou(CELLIDX idx, char_t* buf, int32_t len)
+{
+	ER		ercd = E_OK;
+	CELLCB	*p_cellcb;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		return(E_ID);
+	}
+
+	/* ここに処理本体を記述します */
+	strncpy( buf, "Sample: I'm fine!", len );
+
+	return(ercd);
+}
+
+
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tSimple.c
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tSimple.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tSimple.c	(revision 30)
@@ -0,0 +1,47 @@
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * 呼び口関数 #_TCPF_#
+ * call port : cCall  signature: sSample context: task
+ *   ER             cCall_sayHello( int32_t times );
+ *   ER             cCall_howAreYou( char_t* buf, int32_t len );
+ *
+ * #[</PREAMBLE>]# */
+
+#include <stdio.h>
+#include "tSimple_tecsgen.h"
+
+#ifndef E_OK
+#define	E_OK	0		/* 正常終了 */
+#define	E_ID	(-18)	/* 不正ID番号 */
+#endif
+
+/* #[<ENTRY_PORT>]# eBody
+ * entry port: eBody
+ * signature:  sTaskBody
+ * context:    task
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eBody_main
+ * name:         eBody_main
+ * global_name:  tSimple_eBody_main
+ * oneway:       false
+ * #[</ENTRY_FUNC>]# */
+void
+eBody_main()
+{
+	char   buf[256];
+
+#define N_HELLO 3
+	printf( "Simple: Say hello %d times.\n", N_HELLO );
+	cCall_sayHello( N_HELLO );            /* 呼び口 cCall の sayHello を呼び出す */
+
+	printf( "Simple: How are you?\n" );
+	cCall_howAreYou( buf, sizeof buf );   /* 呼び口 cCall の howAreYou を呼び出す */
+	puts( buf );
+}
+
+/* #[<POSTAMBLE>]#
+ *   これより下に非受け口関数を書きます
+ * #[</POSTAMBLE>]#*/
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tTaskMain.c
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tTaskMain.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tTaskMain.c	(revision 30)
@@ -0,0 +1,66 @@
+/*
+ * このファイルは tecsgen によりテンプレートとして自動生成されました
+ * このファイルを編集して使用することが意図されていますが
+ * tecsgen の再実行により上書きされてしまうため、通常
+ *   gen/tTaskMain_template.c => src/tTaskMain.c
+ * のように名前, フォルダを変更してから修正します
+ */
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * 呼び口関数 #_TCPF_#
+ * call port : cBody  signature: sTaskBody context: task
+ *   void           cBody_main( );
+ * call port : cOpener  signature: sSocketClientOpener context: task
+ *   ER             cOpener_open( const char_t* serverAddr, uint16_t portNo, TMO tmo );
+ *   ER             cOpener_simpleOpen( TMO tmo );
+ *   ER             cOpener_close( TMO tmo );
+ *
+ * #[</PREAMBLE>]# */
+
+/* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
+#include "tTaskMain_tecsgen.h"
+
+#ifndef E_OK
+#define	E_OK	0		/* success */
+#define	E_ID	(-18)	/* illegal ID */
+#endif
+
+/* 受け口関数 #_TEPF_# */
+/* #[<ENTRY_PORT>]# eBody
+ * entry port: eBody
+ * signature:  sTaskBody
+ * context:    task
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eBody_main
+ * name:         eBody_main
+ * global_name:  tTaskMain_eBody_main
+ * oneway:       false
+ * #[</ENTRY_FUNC>]# */
+void
+eBody_main(CELLIDX idx)
+{
+	CELLCB	*p_cellcb;
+	TMO		tmo = TMO_FEVR;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		/* エラー処理コードをここに記述します */
+	} /* end if VALID_IDX(idx) */
+
+	/* ここに処理本体を記述します #_TEFB_# */
+	while( cOpener_simpleOpen( tmo ) != E_OK ){
+		puts( "open failed retry after 5 second" );
+		sleep( 5 );
+	}
+	puts( "tTaskMain: calling Simple.eBody" );
+	cBody_main();
+	cOpener_close( tmo );
+}
+
+/* #[<POSTAMBLE>]#
+ *   これより下に非受け口関数を書きます
+ * #[</POSTAMBLE>]#*/
Index: /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tecs-types.h
===================================================================
--- /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tecs-types.h	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleOpaqueRPC/src/tecs-types.h	(revision 30)
@@ -0,0 +1,27 @@
+#include	<stdint.h>
+typedef long            ER;
+typedef long            ER_INT;
+
+/* typedef long		intptr_t; */
+typedef int		int_t;
+typedef unsigned char   char_t;
+
+typedef unsigned char   bool_t;
+
+typedef double          double64_t;
+typedef float           float32_t;
+
+/*
+typedef signed long   int32_t;
+typedef signed short  int16_t;
+typedef signed char   int8_t;
+
+typedef unsigned long   uint32_t;
+typedef unsigned short  uint16_t;
+typedef unsigned char   uint8_t;
+
+
+  int64_t, uint64_t, int128_t, uint128_t ga
+*/
+
+
Index: /SimpleSample/trunk/SimpleSampleTransparentRPC/Makefile
===================================================================
--- /SimpleSample/trunk/SimpleSampleTransparentRPC/Makefile	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleTransparentRPC/Makefile	(revision 30)
@@ -0,0 +1,85 @@
+# 変数 #_MVAR_#
+TARGET = SimpleSample.exe
+TIMESTAMP = tecsgen.timestamp
+TECSGEN_EXE = tecsgen.exe
+TECSPATHR = ../../tecsgen/tecs
+BASE_DIR = .
+CC = gcc
+INCLUDE = -I $(BASE_DIR)/. -I $(TECSPATHR) -I $(TECSPATHR)/../test/cygwin -I $(TECSPATHR)/rpc -I $(GEN_DIR)
+CFLAGS = $(INCLUDE) -D "Inline=static inline"
+LD = gcc
+LDFLAGS = 
+GEN_DIR = $(BASE_DIR)/gen
+SRC_DIR = $(BASE_DIR)/src
+_TECS_OBJ_DIR = $(GEN_DIR)/
+#   _TECS_OBJ_DIR   # should be end with '/'
+
+vpath %.c $(SRC_DIR) $(GEN_DIR) $(TECSPATHR) $(TECSPATHR)/rpc $(TECSPATHR)/../test/cygwin
+vpath %.h $(SRC_DIR) $(GEN_DIR) $(TECSPATHR) $(TECSPATHR)/rpc $(TECSPATHR)/../test/cygwin
+
+# OTHER_OBJS =                       # Add objects out of tecs care.
+OTHER_OBJS = $(_TECS_OBJ_DIR)vasyslog.o
+
+# ルール #_MRUL_#
+allall: tecs
+	make all     # in order to include generated Makefile.tecsgen & Makefile.depend
+
+all : $(TARGET)
+
+
+# depend を include #_MDEP_#
+-include $(GEN_DIR)/Makefile.tecsgen
+-include $(GEN_DIR)/Makefile.depend
+
+$(TARGET) : $(TIMESTAMP) $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS)
+	$(LD) -o $(TARGET) $(TECSGEN_COBJS) $(CELLTYPE_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(LDFLAGS)
+clean :
+	rm -f $(CELLTYPE_COBJS) $(TECSGEN_COBJS) $(PLUGIN_COBJS) $(OTHER_OBJS) $(TARGET)  $(TIMESTAMP)
+	rm -rf $(GEN_DIR)
+
+tecs : $(TIMESTAMP)
+
+$(TIMESTAMP) : $(TECS_IMPORTS)
+	$(TECSGEN_EXE) $(INCLUDE) SimpleSample.cdl
+	touch $(TIMESTAMP)
+
+# generic target for objs
+$(_TECS_OBJ_DIR)%.o : %.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
+$(_TECS_OBJ_DIR)tTask.o : tTask.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSemaphore.o : tSemaphore.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tEventflag.o : tEventflag.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tDataqueuePeer.o : tDataqueuePeer.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSysLog.o : tSysLog.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tTDR.o : tTDR.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tRPCDedicatedTaskMain.o : tRPCDedicatedTaskMain.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tDataqueueAdaptor.o : tDataqueueAdaptor.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSample.o : tSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tSimple.o : tSimple.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tMarshaler_sSample.o : tMarshaler_sSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
+$(_TECS_OBJ_DIR)tUnmarshaler_sSample.o : tUnmarshaler_sSample.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+ 
Index: /SimpleSample/trunk/SimpleSampleTransparentRPC/SimpleSample.cdl
===================================================================
--- /SimpleSample/trunk/SimpleSampleTransparentRPC/SimpleSample.cdl	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleTransparentRPC/SimpleSample.cdl	(revision 30)
@@ -0,0 +1,53 @@
+/*
+ * Simple な Sample (TransparentRPC 版)
+ *
+ *  +-------------+           +-------------+          +-------------+
+ *  |             |           |             |          |             |
+ *  |   tTask     | sTaskBody |   tSimple   |  sSample |   tSample   |
+ *  |   Task      |-----------|>  Simple    |==========|>  Sample    |
+ *  |             |cTask eBody|             |cCall eEnt|             |
+ *  |             |Body       |             |          |             |
+ *  +-------------+           +-------------+          +-------------+
+ */
+
+
+// cygwin 用の簡易な型定義
+import( <cygwin_kernel.cdl> );
+  // TECS 対応 TOPPERS/ASP ならば import( <kernel.cdl> ); でよい
+
+import( <tSysLog.cdl> );
+import( <rpc.cdl> );
+import( <tDataqueueOWChannel.cdl> );
+
+signature sSample {
+	ER  sayHello( [in]int32_t times );
+	ER  howAreYou( [out,string(len)]char_t *buf, [in]int32_t len );
+};
+
+celltype tSample {
+	entry sSample eEnt;
+};
+
+[singleton,active]
+celltype tSimple {
+	call sSample cCall;
+	entry sTaskBody eBody;
+};
+
+cell tSysLog SysLog {
+};
+
+cell tSample Sample {
+};
+
+cell tSimple Simple {
+	[through(RPCPlugin,"")]
+		cCall = Sample.eEnt;
+};
+
+cell tTask Task {
+	cBody = Simple.eBody;
+	priority = 11;
+	stackSize = 1024;
+	taskAttribute = C_EXP( "TA_ACT" );
+};
Index: /SimpleSample/trunk/SimpleSampleTransparentRPC/src/tSample.c
===================================================================
--- /SimpleSample/trunk/SimpleSampleTransparentRPC/src/tSample.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleTransparentRPC/src/tSample.c	(revision 30)
@@ -0,0 +1,80 @@
+/*
+ * このファイルは tecsgen によりテンプレートとして自動生成されました
+ * このファイルを編集して使用することが意図されていますが
+ * tecsgen の再実行により上書きされてしまうため、通常
+ *   gen/tSample_template.c => src/tSample.c
+ * のように名前, フォルダを変更してから修正します
+ */
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * #[</PREAMBLE>]# */
+
+/* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
+#include "tSample_tecsgen.h"
+#include <stdio.h>
+
+#ifndef E_OK
+#define	E_OK	0		/* success */
+#define	E_ID	(-18)	/* illegal ID */
+#endif
+
+/* 受け口関数 #_TEPF_# */
+/* #[<ENTRY_PORT>]# eEnt
+ * entry port: eEnt
+ * signature:  sSample
+ * context:    task
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eEnt_sayHello
+ * name:         eEnt_sayHello
+ * global_name:  tSample_eEnt_sayHello
+ * oneway:       false
+ * #[</ENTRY_FUNC>]# */
+ER
+eEnt_sayHello(CELLIDX idx, int32_t times)
+{
+	ER		ercd = E_OK;
+	CELLCB	*p_cellcb;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		return(E_ID);
+	} /* end if VALID_IDX(idx) */
+
+	/* ここに処理本体を記述します #_TEFB_# */
+	while( times-- > 0 )
+		printf( "Hello! " );
+	puts( "" );
+
+	return(ercd);
+}
+
+/* #[<ENTRY_FUNC>]# eEnt_howAreYou
+ * name:         eEnt_howAreYou
+ * global_name:  tSample_eEnt_howAreYou
+ * oneway:       false
+ * #[</ENTRY_FUNC>]# */
+ER
+eEnt_howAreYou(CELLIDX idx, char_t* buf, int32_t len)
+{
+	ER		ercd = E_OK;
+	CELLCB	*p_cellcb;
+	if (VALID_IDX(idx)) {
+		p_cellcb = GET_CELLCB(idx);
+	}
+	else {
+		return(E_ID);
+	} /* end if VALID_IDX(idx) */
+
+	/* ここに処理本体を記述します #_TEFB_# */
+	strncpy( buf, "I'm fine thank you.", len );
+
+	return(ercd);
+}
+
+/* #[<POSTAMBLE>]#
+ *   これより下に非受け口関数を書きます
+ * #[</POSTAMBLE>]#*/
Index: /SimpleSample/trunk/SimpleSampleTransparentRPC/src/tSimple.c
===================================================================
--- /SimpleSample/trunk/SimpleSampleTransparentRPC/src/tSimple.c	(revision 30)
+++ /SimpleSample/trunk/SimpleSampleTransparentRPC/src/tSimple.c	(revision 30)
@@ -0,0 +1,53 @@
+/*
+ * このファイルは tecsgen によりテンプレートとして自動生成されました
+ * このファイルを編集して使用することが意図されていますが
+ * tecsgen の再実行により上書きされてしまうため、通常
+ *   gen/tSimple_template.c => src/tSimple.c
+ * のように名前, フォルダを変更してから修正します
+ */
+/* #[<PREAMBLE>]#
+ * #[<...>]# から #[</...>]# で囲まれたコメントは編集しないでください
+ * tecsmerge によるマージに使用されます
+ *
+ * 呼び口関数 #_TCPF_#
+ * call port : cCall  signature: sSample context: task
+ *   ER             cCall_sayHello( int32_t times );
+ *   ER             cCall_howAreYou( char_t* buf, int32_t len );
+ *
+ * #[</PREAMBLE>]# */
+
+/* プロトタイプ宣言や変数の定義をここに書きます #_PAC_# */
+#include "tSimple_tecsgen.h"
+#include <stdio.h>
+
+#ifndef E_OK
+#define	E_OK	0		/* success */
+#define	E_ID	(-18)	/* illegal ID */
+#endif
+
+/* #[<ENTRY_PORT>]# eBody
+ * entry port: eBody
+ * signature:  sTaskBody
+ * context:    task
+ * #[</ENTRY_PORT>]# */
+
+/* #[<ENTRY_FUNC>]# eBody_main
+ * name:         eBody_main
+ * global_name:  tSimple_eBody_main
+ * oneway:       false
+ * #[</ENTRY_FUNC>]# */
+void
+eBody_main()
+{
+#define  BUF_LEN	64
+	char_t	buf[64];
+#define HELLO_TIMES	(3)
+	puts( "calling sayHello" );
+	cCall_sayHello( HELLO_TIMES );
+	cCall_howAreYou( buf, BUF_LEN );
+	puts( buf );
+}
+
+/* #[<POSTAMBLE>]#
+ *   これより下に非受け口関数を書きます
+ * #[</POSTAMBLE>]#*/
