From owner-FreeBSD-users-jp@jp.FreeBSD.org Wed Nov 14 22:25:54 2012
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id qAEDPsu03531;
	Wed, 14 Nov 2012 22:25:54 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from sh.kkdlabs.jp (s236214.ppp.asahi-net.or.jp [220.157.236.214])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id qAEDPrv03526
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Wed, 14 Nov 2012 22:25:53 +0900 (JST)
	(envelope-from kohi@kkdlabs.jp)
Received: from localhost (sh.kkdlabs.jp [10.2.255.241])
	by sh.kkdlabs.jp (8.14.5/8.14.4) with ESMTP id qAEDPqrE094667;
	Wed, 14 Nov 2012 22:25:53 +0900 (JST)
	(envelope-from kohi@kkdlabs.jp)
Message-Id: <20121114.222552.1131376789773329733.kohi@kkdlabs.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
From: Koh-ichi Ito <kohi@kkdlabs.jp>
In-Reply-To: <20121114091458.424af30c.kh@mogami.com>
References: <20121112.193844.308355197.kohi@kkdlabs.jp>
	<20121113.204141.1314500237419629619.kohi@kkdlabs.jp>
	<20121114091458.424af30c.kh@mogami.com>
X-Mailer: Mew version 6.5 on Emacs 24.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Wed, 14 Nov 2012 22:25:52 +0900
X-Sequence: FreeBSD-users-jp 94052
Subject: [FreeBSD-users-jp 94052] Re: umodem
 =?ISO-2022-JP?B?GyRCJEcbKEI=?= PICC18F2550
 =?ISO-2022-JP?B?GyRCJEslIiUvJTslOSQ5JGskSElUMEJEahsoQg==?=
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: kohi@kkdlabs.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

$BJ?NS$5$s(B

$B$9$C$+$j$*@$OC$K$J$C$F$$$^$9!#(B

From: Kouichi Hirabayashi <kh@mogami.com>
Subject: [FreeBSD-users-jp 94051] Re: umodem $B$G(B PICC18F2550 $B$K%"%/%;%9$9$k$HIT0BDj(B
Date: Wed, 14 Nov 2012 09:14:58 +0900

> $B#22sJ,$^$H$a$^$9$,!"$^$:!"A02s$N5?Ld(B
> 
>> $B!V$$$D%G!<%?$,$/$k$+$o$+$i$J$$!W$H$$$&>u67$G$O$J$$(B
> 
> $B$O!"$h$/$"$k%Q%?!<%s$@$H;W$C$F!";d$,Aj<j$N%G%P%$%9$N%^%K(B
> $B%e%"%k$rFI$^$:$K!"(Bperl $B$N%3!<%G%#%s%0$@$18+$F=q$$$F$7$^$C(B
> $B$?$N$,860x$G$9!#(B

$B:G=i$N@bL@$,;j$i$:<:Ni$7$^$7$?!#(B

> open(), close() $B$O%O!<%I%&%'%"$r=i4|2=$7$F$7$^$$$^$9$+$i!"(B
> open() $B$G9T$&$?$/$5$s$N;E;v$,%O!<%I%&%'%"$GA4$F40N;$9$k$^(B
> $B$G!"@\B3Aj<j$N%G%P%$%9$H@5>o$J%3%s%?%/%H$,$G$-$^$;$s!#$^(B
> $B$?!"Aj<jB&$N%G%P%$%9$,(B open() $B$N8e!"0lDj;~4V$7$J$$$H%3%^(B
> $B%s%I$r<u$1IU$1$i$l$k>uBV$K$J$i$J$$%1!<%9$b$"$j$^$9!#(B

$BM=HwCN<1$,B-$j$^$;$s$,!"J70O5$$O$o$+$j$^$7$?!#$4@bL@$"$j$,$H$&$4$6$$$^(B
$B$9!#(B

> $B<!$K!":#2s$N(B C $B$N%W%m%0%i%`$N$[$&$O!"(B
> 
>   tios.c_lflag |= ICANON;
> 
> $B$G$7$?$i!"(B
> 
>   tios.c_cc[VEOL] = '\n';
>   tios.c_cc[VMIN] = 0;
>   tios.c_cc[VTIME] = 100;
> 
> $B$H$+!"%G%j%_%?$J$I$NBT5!=*N;>r7o$r;XDj$7$F$*$+$J$$$H!"1?G$(B
> $B$;$K$J$j$^$9!#(B

$B;n$7$F$_$^$7$?$,JQ$o$j$^$;$s$G$7$?!#(B

$B$3$NE@!"$\$/$NM}2r$H?)$$0c$$$,$"$k$N$G3NG'$5$;$F2<$5$$!#(B

	tios.c_lflag |= ICANON;

$B$G$9$N$G!"(BCanonical mode $B$K(B *$B$7$F$$$k(B* $B$D$b$j$G$9!#$=$NA0Ds$G!D(B

VEOL $B$O!"L@<(E*$K@_Dj$9$kA0$G$b(B \n $B$r9TKv$H$7$F(B1$B9TC10L$G(B read()$B$G$-$F$$(B
$B$k$h$&$K8+$($^$9$,!">e=R$NDL$jL@<(E*$K@_Dj$7$F$b%@%a$G$7$?!#(B

VMIN $B$H(B VTIME $B$O!"(BCanonical mode $B$N$H$-$OF0:n$K1F6A$7$J$$$HM}2r$7$F$$$^(B
$B$9!#(B

> $B$"$H!"Aj<j$N%G%P%$%9$N;EMM=q$r8+$k$H!"C1=c$J%3%^%s%I!&%l%9(B
> $B%]%s%9J}<0$G$9$+$i!"K\Mh(B select() $B$N$h$&$JF~=PNOB?=E2=5!9=(B
> $B$OMW$i$J$$$o$1$G!"AGD>$K(B \n $B$r%G%j%_%?$K$7$?(B canonical $BF~NO(B
> (ICANON) $B$G%?%$%_%s%0$r9g$o$;$k$N$,0lHV$G$O$J$$$G$7$g$&$+!)(B

$B$3$3$J$s$G$9$1$I!"$^$:!"(Bopen()$B$K(B O_NONBLOCK $B$rM?$($J$$$H!"(Bopen()$B$,%V%m%C(B
$B%/$5$l!"(Btermios $B4X78$N@_Dj$K?J$`$3$H$,$G$-$J$+$C$?$N$G!"(BO_NONBLOCK $B$rDI(B
$B2C$7$^$7$?!#CN<1$,$J$$$N$G!"$3$s$J$b$s$+!"$H;W$C$F5?Ld$J$/(B O_NONBLOCK
$B$rDI2C$7$?$s$G$9$,!"$b$7$+$7$F!"$3$3$,4{$K$*$+$7$$$G$7$g$&$+(B?

O_NONBLOCK $B$rDI2C$9$k$H!":#EY$O(B read()$B$,(B Resource temporarily
unavailable $B$r5/$3$7$F$7$^$&$N$G(B select()$B$rDI2C$7$?!"$H$$$&7P0^$G$9!#(B
write()$B$NJ}$N(B select()$B$O!"(Bread()$B$KF~$l$k$J$i(B write()$B$K$bF~$l$?J}$,L5Fq(B
$B$+$J(B? $B$H$$$&DxEY$G!"?<$/$O9M$($F$$$^$;$s!#(B

> $B$D$^$j!"(B
> 
>   open();	// $B%G%j%_%?(B LF $B$N(B CANONICAL $BF~NO(B
>   sleep();	// $BAj<jB&$GI,MW$J$i(B
>   write();	// $B%3%^%s%I=PNO(B
>   read();	// $B%G!<%?F~NO(B
>   close();
> 
> $B$N7+$jJV$7$K$J$j$^$9!#5$057W$G$7$?$i!"%W%m%0%i%`Cf$G$N%k!<%W(B
> $B$G$J$/!"(Bcron $B$+$i$N5/F0$K$J$k$H;W$$$^$9$,!#(B

$B$O$$!"$3$NE@$O$*$C$7$c$kDL$j$G$9!#(B

$BCM$r<hF@$7$F(B RRD $B$K3JG<$9$k%W%m%0%i%`$r=q$$$F!"!V$G$-$?(B!$B!W$H;W$C$F(B15$BJ,(B
$B$4$H$K5/F0$9$k$h$&$K(B crontab $B$K;E9~$s$@$i!"2?2s$+@.8y$7$?8e!"<:GT$7$F!"(B
$B%V%m%C%/$5$l$?%W%m%;%9$,N/$^$C$F$7$^$C$?!"$H$$$&$N$,;v$N<!Bh$G$9!#C;;~(B
$B4V$G%k!<%W$r2s$7$F$$$k$N$O!"$"$/$^$G2CB.;n83$N0UL#$G$d$C$F$$$^$9!#(B

$B:G0-!"(Bcron $B$G5/F0$9$k$s$8$c$J$/$C$F(B15$BJ,(B sleep()$B$7$F%k!<%W$9$k$H$$$&F($2(B
$B$b9M$($F$O$$$k$s$G$9$,!DB>$K$b%3%^%s%I%i%$%s$G5/F0$7$F!"$=$NE@$NCM$r0l(B
$BH/<hF@$7$F$*$7$^$$!"$H$$$&%W%m%0%i%`$bM_$7$$$H$O;W$C$F$$$^$9!#(B

$B62$lF~$j$^$9$,!"0z$-B3$-$h$m$7$/$*4j$$$7$^$9!#(B
-----
kohi@sh$ diff -u test8.c test9.c
--- test8.c	2012-11-13 20:31:49.000000000 +0900
+++ test9.c	2012-11-14 21:57:14.000000000 +0900
@@ -43,6 +43,9 @@
 		if (tcgetattr(fd, &tios) < 0) {
 			err(1, "tcgetattr()");
 		}
+		tios.c_cc[VEOL] = '\n';
+		tios.c_cc[VMIN] = 0;
+		tios.c_cc[VTIME] = 100;
 		tios.c_cflag |= (CREAD | CLOCAL);
 		tios.c_iflag |= IXANY;
 		tios.c_iflag &= ~(ISTRIP | ICRNL | INLCR | IXON | IXOFF
-----
kkdlabs.jp, featuring Koh-ichi Ito as just another DNS freak in town.
