home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 21
/
CD_ASCQ_21_040595.iso
/
dos
/
prg
/
pas
/
nwtp06
/
tstconn.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-03-01
|
5KB
|
173 lines
{$X+,V-,B-}
Program testconn;
{ Testprogram for the nwConn unit / NwTP 0.6 API. (c) 1993, 1995, R.Spronk }
{ Purpose: testing of nwConn calls }
{ Tests the following nwConn functions:
GetConnectionId
GetConnectionInformation
GetConnectionNumber
GetDefaultConnectionId
GetFileserverName
GetInternetAddress
GetObjectConnectionNumbers
GetPreferredConnectionId
GetPrimaryConnectionId
GetWorkstationNodeAddress
GetUserAtConnection
}
Uses nwMisc,nwConn;
Procedure Warning(s:string);
begin
writeln(s);
writeln(' ERROR #: $',HexStr(nwConn.Result,2),' (',nwConn.result,')');
writeln;
writeln('...Press <Enter> to Continue..');
readln;
end;
Var myConnNumber:byte;
myConnId :byte; { connID of server I'm attached to }
myPhysNode2:TnodeAddress;
myObjName :string;
myObjType :word;
myObjId :longInt;
myLoginTime :TnovTime;
myAddress:TinternetworkAddress;
nbrOfConn:byte;
connList :TconnectionList;
objName :string;
objType :word;
objId :LongInt;
LoginTime:TnovTime;
connId :byte;
serverName:string;
routeInfo :string;
t :byte;
tempStr:string;
begin
IF GetConnectionNumber(myConnNumber)
then writeln('Your connection number is:',myConnNumber)
else warning('!!! The GetConnectionNumber call failed');
IF GetInterNetAddress(myConnNumber,myAddress)
then begin
write('Your Netw.:Node:Socket Nbr is: [$');
for t:=1 to 4 do write(hexStr(myAddress.Net[t],2));
write(':');
for t:=1 to 6 do write(HexStr(myAddress.Node[t],2));
writeln(':',hexstr(myAddress.socket,4),']');
end
else warning('!!! GetInterNetAdress failed.');
IF GetWorkstationNodeAddress(myPhysNode2)
and (myAddress.Node[6]=myPhysNode2[6])
and (myAddress.Node[5]=myPhysNode2[5])
and (myAddress.Node[4]=myPhysNode2[4])
then { ok }
else begin
warning('!!! GetStationadress failed');
write('returned: $');
for t:=1 to 6 do write(HexStr(myPhysNode2[t],2));
end;
IF GetConnectionInformation(myConnNumber,
myObjName,myObjType,myObjId,myLoginTime)
then begin
writeln('You are :',myObjName);
if myObjType=$1 { OT_USER}
then writeln(' of object type : USER')
else writeln(' of object type : $',HexStr(myObjType,4));
writeln(' with object ID: $',HexStr(myObjId,8));
NovTime2String(myLoginTime,tempStr);
writeln(' logged in at ',tempStr);
end
else warning('!!! GetConnectionInformation failed.');
if NOT (GetUserAtConnection(myConnNumber,tempStr) and (tempStr=myObjName))
then warning('!!! GetUserAtConnection (2) failed.');
IF GetObjectConnectionNumbers(myObjName,1 {OT_USER},
nbrOfConn,connList)
then begin
writeln('User ',myObjName,' has ',nbrOfConn,' active connection(s).');
t:=nbrOfConn;
if t>0
then begin
t:=1;
while t<=nbrOfConn
do begin
writeln(' at connectionNumber:',connList[t]);
inc(t);
end;
end;
end
else warning('!!! GetObjectConnectionNumbers failed.');
writeln;
t:=1;
writeln('ConnNbr Name LoginTime');
WHILE t<250 { nw 3.x / 2.x 100 }
do begin
IF GetConnectionInformation(t, objName,objType,objId,LoginTime)
then begin
PstrCopy(TempStr,objName,15);
objName:=TempStr;
NovTime2String(LoginTime,TempStr);
writeln(t:4,' ',objName,' ',TempStr);
end
else if nwConn.result<>$FD { bad_station_number / nbr not in use }
then warning('!!! GetConnectionInformation failed.');
inc(t);
end;
{*********** connection ID's ( server numbers in server table )************ }
{ to which server have we been sending all the above requests? }
routeInfo:='preferred';
GetPreferredConnectionID(ConnId);
{ if set previously, this server has the highest priority. }
if connId=0 { preferred server was not set }
then begin
RouteInfo:='default';
GetDefaultConnectionID(ConnId);
end;
{ your current default drive is attached to this server }
if connId=0
then begin
RouteInfo:='primary';
GetPrimaryConnectionID(ConnId);
end;
{ the server your shell initially attached to, used if the default drive
is a local drive. Lowest priority. }
{ These three calls are also incorporated in the secondary function:
GetEffectiveConnectionID. }
writeln;
writeln('All requests are routed to the ',RouteInfo,'-server with conn.ID=',connId);
GetFileServerName(connId,{out:} serverName);
GetConnectionID(serverName,{out} t);
if t<>connId
then warning('!!! GetFileServerName and GetConnectionId report different values.')
else writeln('Name of the server: ',serverName);
end.