[Back to NETWORK SWAG index]  [Back to Main SWAG index]  [Original]

Unit Litl_Nov;

(**********************************************************************)
(*    by Kevin R. Pierce                                              *)
(*       December 29, 1991                                            *)
(*    Kev1n@aol.com                                                   *)
(**********************************************************************)
interface

type
  LoginTime    = array[0..6] of byte;

  ConnectionInfo = record
                     Object_ID   : longint;
                     Object_Type : word;
                     Object_Name : array[1..48] of char;
                     Login_Time  : LoginTime;
                     ApplicationNumber     : word;    {swap & display Hex}
                   end;

  CnxnInfoREQUEST = record
                      ReqBuffLen : word;  {always = 2}
                      Mask       : byte;  {always = 16h}
                      CnxnNo     : byte;  { >1 }
                    end;

  CnxnInfoREPLY = record
                    RepBuffLen : word;  {always = SIZEOF(ConnectionInfo) }
                    Data       : ConnectionInfo;
                  end;


function  NOV_GetConnectionNumber:integer;
procedure NOV_GetConnectionInformation(connection:byte; var
Result:ConnectionInfo);

(**********************************************************************)
implementation

uses
  dos;

function NOV_GetConnectionNumber:integer;
  var
    buf : registers;
  begin
    buf.AH:=$DC;
    intr($21,buf);
    NOV_GetConnectionNumber:=buf.AL;
  end;

procedure NOV_GetConnectionInformation(connection:byte; var
Result:ConnectionInfo);
  var
    buf : registers;
    req : CnxnInfoREQUEST;
    rep : CnxnInfoREPLY;
  begin
    with buf do
      begin
        AH:=$E3;
        DS:=seg(req);
        SI:=ofs(req);
        ES:=seg(rep);
        DI:=ofs(rep);
      end;
    with req do
      begin
        ReqBuffLen := Sizeof(req)-2;
        Mask       := $16;
        CnxnNo     := Connection;
      end;
    fillchar(rep,sizeof(rep),0);
    rep.RepBuffLen:=Sizeof(rep)-2;
    intr($21,buf);
    Result:=rep.data;
  end;

end.



[Back to NETWORK SWAG index]  [Back to Main SWAG index]  [Original]