[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
2001/01/23 00:45 from neko
Title: [teenbbs:1030] Re:1026)timer, perl
No. : 1030
Sender: neko
URL :
Title : Re:1026)timer, perl
> よく分っていないのですが, teen をキャラクタ・デバイスから呼び出せる
> ようにできると, perl, sh 等のスクリプトとかバッチ・ファイルとかで
> tcp/ip アプリもどきが作れるようになるのでしょうか?
ioctl と リ−ド,ライト で扱えるようになれば、perl , ruby などで
使えるでしょう。 sh は駄目でかな( ファイルハンドル が扱えないと
いけないので )。呼び出し方はスクリプト( とそれを compile したもの )
によって変わりますが。
今思っている仕様では、送信バッファ 4k, 受信バッファ 1k で 4 ハンドル
ぐらい用意するとして、
16bit版 perl :
#キャラクタデバイス 名、 $TEENTCP
open( TSOCK, '$TEENTCP') || die "can't open";
# open 時は ハンドルに -1 を入れる
# ioctl は word : command, word : handle, word : return value, args ...
$ioarg = pack( "ssssa64", $CMD_TCP_OPEN, -1, 0, 21, "xyz.my.domain");
# DOS の IOCTL 2 番、キャラクタデバイスでの IOCTL READ
ioctl( TSOCK, 2, $ioarg);
@ret = unpack( "ssssA64" , $ioarg);
print "ioctl devret = $x[2]\n";
$handle = $x[2];
# read, write で使うハンドルを指定する
$ioarg = pack( "sss", $CMD_TCP_SELECT, $handle, 0 );
ioctl( TSOCK, 2, $ioarg);
@ret = unpack( "sss" , $ioarg);
print "ioctl devret = $x[2]\n";
.
.
read( TSOCK, $str, 80);
みたいに使えるかなあと。
[レスを書く]