Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
use Win32::Pipe;
#### # You may notice that named pipe names are case INsensitive! ####
$PipeName = "\\\\.\\pipe\\TEST this LoNG Named Pipe!";
print "I am falling asleep for few seconds, so that we give time\nFor the server to get up and running.\n"; sleep(4); print "\nOpening a pipe ...\n";
if ($Pipe = new Win32::Pipe($PipeName)){ print "\n\nPipe has been opened, writing data to it...\n"; print "-------------------------------------------\n"; $iFlag2 = 1; $Pipe->Write( "\n" . Win32::Pipe::Credit() . "\n\n"); while($iFlag2){ print "\nCommands:\n"; print " FILE:xxxxx Dumps the file xxxxx.\n"; print " Credit Dumps the credit screen.\n"; print " Quit Quits this client (server remains running).\n"; print " Exit Exits both client and server.\n"; print " -----------------------------------------\n";
$In = <STDIN>; chop($In);
if (($File = $In) =~ s/^file:(.*)/$1/i){ if (-s $File){ if (open(FILE, "< $File")){ while ($File = <FILE>){ $In .= $File; }; close(FILE); undef $File; } } } if($In =~ /^credit$/i){ $In = "\n" . Win32::Pipe::Credit() . "\n\n"; }
$iFlag2 = $Pipe->Write("$In"); if($In =~ /^(exit|quit)$/i){ print "\nATTENTION: Closing due to user request.\n"; $iFlag2 = 0; }
undef $In;
} $Pipe->Close(); }else{ ($Error, $ErrorText) = Win32::Pipe::Error(); print "Error:$Error \"$ErrorText\"\n"; sleep(4); }
|