3 open LEFT
, "+</dev/unet0" or die "open /dev/unet0: $!";
4 open RIGHT
, "+</dev/unet1" or die "open /dev/unet1: $!";
7 vec($rd, fileno(LEFT
), 1) = 1;
8 vec($rd, fileno(RIGHT
), 1) = 1;
11 select($ord = $rd, undef, undef, undef);
12 if (vec($ord, fileno(LEFT
), 1)) {
13 defined sysread(LEFT
, $buf, 65536) or die "read(/dev/unet0): $!";
14 print "read packet from unet0\n";
16 syswrite(RIGHT
, $buf, length($buf));
18 if (vec($ord, fileno(RIGHT
), 1)) {
19 defined sysread(RIGHT
, $buf, 65536) or die "read(/dev/unet1): $!";
20 print "read packet from unet1\n";
22 syswrite(LEFT
, $buf, length($buf));
30 while ($off < length($buf)) {
31 printf "%08x : ", $off;
32 for ($i = $off; $i < $off + 16; $i++) {
33 if ($i >= length($buf)) {
36 printf "%02x ", ord(substr($buf, $i, 1));
40 for ($i = $off; $i < $off + 16; $i++) {
41 if ($i >= length($buf)) {
44 $ch = substr($buf, $i, 1);
46 if ($code < 32 || $code > 126) {