Newsgroups: fj.unix
Path: galaxy.trc.rwcp.or.jp!news.trc!imnet3!news.imnet.ad.jp!news.join.ad.jp!Q.T.Honey!yynet.tama.tokyo.jp!densogw!news.baku.or.jp!taurus!usenet
From: manmos@stellar.co.jp (Hideo "Sir MaNMOS" Morishita)
Subject: Re: Re: =?ISO-2022-JP?B?ZnRwGyRCQC5IXUg9Q0cbKEI=?=
X-Nntp-Posting-Host: hydra
Content-Type: text/plain; charset=ISO-2022-JP
Message-ID: <squ67a3qune.fsf_-_@stellar.co.jp>
Sender: usenet@stellar.co.jp
Organization: Stellar Craft, Inc. Osaka,Japan.
X-Newsreader: Gnus v5.4.66/Emacs 19.34
References: <77o035$pj5$1@news.cds.ne.jp> <781me6$8am$1@news.cds.ne.jp>
Mime-Version: 1.0 (generated by tm-edit 7.92)
Date: Tue, 19 Jan 1999 13:06:29 GMT
Lines: 82
Xref: galaxy.trc.rwcp.or.jp fj.unix:9799
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.unix&nb=9799&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.


"Yoshiaki Katahira" <yoshiaki@cds.ne.jp> writes:

> $B$3$s$P$s$O!#(BYoshiaki$B$G$9!#(B
> $B?92<$5$s!"$7$P$?$5$s%l%9$"$j$,$H$&$4$6$$$^$9!#(B
> $B?92<$5$s$K65$($F$$$?$@$$$?J}K!$G:n@.$7$h$&$H(B
> $B$7$F$_$^$7$?!#(B
> $B$H$j$"$($:!"(BFTP$B$+$i$NI8=`=PNO$r<u$1<h$k$H$3$m$^$G(B
> $B$d$C$F$_$h$&$H0J2<$N$h$&$J%3!<%I$r=q$-!"$?$a$7$F$_$^$7$?!#(B
> $B$9$k$H$J$<$+(Bls$B$J$I$NDL>o$N%3%^%s%I$O@.8y$9$k$N$G$9$,(B
> FTP$B%3%^%s%I$N>l9g$O$J$<$+I8=`=PNO$r<u$1<h$l$^$;$s$G$7$?!#(B
> FTP$B$r<B9T$7$?$H$-$K%Q%$%W$,@Z$l$F$7$^$C$F$$$k$h$&$J(B
> $B5$$,$7$^$9!#C<Kv$N%?%$%W$,@Z$jBX$o$C$F$k$;$$$G$7$g$&$+!)(B
> ($B$9$$$^$;$sL@3N$8$c$J$/$F(B)
> $B$?$@C1$K(Bdup$B$r$9$k$@$1$G$O$J$/!"$b$&0l9)IWI,MW$J$N$G$7$g$&$+!#(B
> $B$?$S$?$S$G$9$$$^$;$s$,65$($F$$$?$@$1$J$$$G$7$g$&$+!#(B
> $B$h$m$7$/$h$m$7$/$*4j$$$$$?$7$^$9!#(B

$B$"!"(Bftp$B$C$FF~NO$K%?!<%_%J%k$rMW5a$9$k$s$G$9$+$M!#(B($BL$3NG'(B)

$B$=$&$J$k$H(Bftp$B$H$N$d$j$H$j$K(Bpipe$B$r;H$&$N$G$O$J$/(Bpseudo terminal$B$r;H$&I,(B
$BMW$,=P$F$-$^$9$M!#(B

pseudo terminal$B$C$F$N$O(B/dev/ptyXY (XY$B$O(B[pqrst][0-9a-f])$B$H(B/dev/ttyXY$B$r(B
$B%*!<%W%s$9$k$H!"@8@.$5$l$?%U%!%$%k%G%#%9%/%j%W%?$,(B($BAPJ}8~$N(B)pipe$B$H$7$F(B
$BF/$/5!9=$G$9!#(B

$B$G!";R%W%m%;%9$G(B/dev/ttyXX$B$r%*!<%W%s$7$?(Bfd$B$r(Bdup$B$7$F$d$C$F;HMQ$7$^$9!#(B

$B$3$s$J46$8$G:n$j$^$9(B

#include<stdio.h>
#include<sys/file.h>
#include<sys/stat.h>
#include<fcntl.h>

int open_pseudo_terminal(int *master,int *slave)
{
chartname[] = "/dev/ptyXY";
intm,s;
if ((m = open_master_terminal(tname)) == -1) return -1;
*master =m;
if ((s = open_slave_terminal(tname)) == -1) {
close(m);
return -1;
}
*slave = s;
return 0;
}

static int open_master_terminal(char *tname)
{
staticcharp1[] = "pqrs";
staticcharp2[] = "0123456789abcdef";
intc1 = sizeof(p1)/sizeof(char)-1;
intc2 = sizeof(p2)/sizeof(char)-1;
inti,j;
intfd;

for(i = 0 ; i < c1;i++) {
for(j = 0 ; j < c2;j++) {
tname[8] = p1[i];
tname[9] = p2[j];
if ((fd = open(tname,O_RDWR)) >= 0 ) return fd;

}
}
return -1;
}

static int open_slave_terminal(char *tname)
{
tname[5] = 't';
return open(tname,O_RDWR);
}

$B!t$5$F!"<j85$N%=!<%9$rC5$7$?$1$INI$$$N$,$J$+$C$?$N$G!"$^$?=q$$$A$c$C$?!#(B
-- 
   ___     $B$o$7$O!";3?a?'$N$+$9$F!<$i$,Bg9%$-$G$N$%(B
 [[o o]]            $B$U$)$C$U$)$C$U$)(B
   'J'     $B?92<(B $B$*Be41MM(B $B#M#a#N#M#O#S(B $B1QIW!w%9%F%i%/%i%U%H(B
PGP Finger = CD EA D5 A8 AD B2 FE 7D  02 74 87 52 7C B7 39 37
