Specification of package Tgx.Ios.File_Ios.Ssl_Socket_Ios







 ========================================================================= --
 ===                                                                   === --
 ===                 Top Graph'X CORBA Implementation                  === --
 ===                                                                   === --
 ===                 Copyright (c) 1996, Top Graph'X.                  === --
 ===                                                                   === --
 ===                     --- Copyright Notice ---                      === --
 ===                                                                   === --
 ===    This software is protected as an unpublished work under the    === --
 ===     Copyright Act of 1976.  All rights reserved.  Top Graph'X.    === --
 ===                                                                   === --
 ========================================================================= --
with Tgx.System_Ios ;
use  Tgx.System_Ios ;
package Tgx.Ios.File_Ios.SSL_Socket_Ios is

   OpenSSL specific declarations

        type SSL_st is private;
        type SSL is access SSL_st;

        type SSL_ctx_st is private;
        type SSL_CTX is access SSL_ctx_st;
    

   type Socket_Protocol is (No_Proto, Tcp, Udp) ;

    Local declarations usually provided by Tgx.System_Ios
   subtype Port is Tgx.System_Ios.Port;
   subtype Socket_Type is Integer_32;
   Invalid_File : constant := Tgx.Ios.File_Ios.Invalid_File;

   Af_Unspec : Tgx.System_Ios.Socket_Address_Family renames Tgx.System_Ios.Af_Unspec;
   Af_Unix : Tgx.System_Ios.Socket_Address_Family renames Tgx.System_Ios.Af_Unix;
   Af_Inet : Tgx.System_Ios.Socket_Address_Family renames Tgx.System_Ios.Af_Inet;


   type SSL_Connection is new File_Connection with
   record
      Host     : String_Pointer ;
      Tcp_Port : Port ;
      Sslst    : SSL;
      Family   : Socket_Address_Family ;
      Protocol : Socket_Protocol ;
   end record ;
   type SSL_Socket_Access is access all SSL_Connection'class ;

   procedure Open (This : access SSL_Connection) ;

   procedure Close (This : access SSL_Connection) ;

   function Low_Level_Read ( This   : access SSL_Connection ;
                             The_Address : in System.Address ;
                             Pending  : in Tgx.System_Ios.Integer_32 ) return Tgx.System_Ios.Integer_32;

   function Low_Level_Write ( This   : access SSL_Connection ;
                              Next_Address : in System.Address ;
                              Remaining  : in Tgx.System_Ios.Integer_32 ) return Tgx.System_Ios.Integer_32;

   type SSL_Listener is new File_Server with
   record
      Tcp_Port : Port ;
      Family   : Socket_Address_Family ;
      Protocol : Socket_Protocol ;
      File     : String_Pointer ;
      Info     : Internet_Record ;
   end record ;
   type Service_Access is access all SSL_Listener'class ;

   procedure Open (This : access SSL_Listener) ;

   procedure Close (This : access SSL_Listener) ;

   function New_Connection ( Server   : access SSL_Listener ;
                             No_Guard : in Boolean := True)
      return Io_Connection_Access ;

    Returns the URL used by clients to connect to server
   function Url (Server   : access SSL_Listener)
      return Standard.String ;
   procedure Use_Ip_In_Urls (Mode : in Boolean) ;

   function Ip_Name (Host_Name : in String) return String ;

private
         we do not care of what in inside SSL structures.
        type SSL_st is new Integer;
        type SSL_ctx_st is new Integer;
end Tgx.Ios.File_Ios.SSL_Socket_Ios ;



List of definition uses










This page was generated by PrismTech's ada2html on Friday Mai 12 2006 16:18