From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b448469faa1741fa X-Google-Attributes: gid103376,public From: Pascal Ledru Subject: Re: Private Child Unit Date: 1996/12/03 Message-ID: <32A4EBC1.36AC@MSMAIL3.HAC.COM>#1/1 X-Deja-AN: 202101767 references: <329DB71E.59E2B600@avions.aerospatiale.fr> <32A20D77.1810@bix.com> content-type: text/plain; charset=us-ascii organization: Aerospatiale, Inc. Huntsville Alabama mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 3.0 (Macintosh; I; PPC) Date: 1996-12-03T00:00:00+00:00 List-Id: Here is a similar case: I have a package Net_IO providing thick binding to networking functions (e.g., Socket). For example: function Socket(Af, Socket_Type, Protocol : Integer) return Socket_T ( which also raises an exception if necessary) This function calls a similar function frim the Winsock library (thin binding): function socket(af, socket_type, protocol: C.Int) ... pragma Import(C, socket, "_socket@12"); All the thick binding functions are in the Net_IO package while the thin binding functions are in the private child package Net_IO.Winsock. Ypu could argue that all the functions from the Net_IO.Winsock package could be in the body of Net_IO but using a private child package makes things more modular. Pascal Ledru