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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8a402d78988bdf2b X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-12-15 10:38:30 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!news-out.visi.com!petbe.visi.com!news.tele.dk!news.tele.dk!small.news.tele.dk!npeer.de.kpn-eurorings.net!rz.uni-karlsruhe.de!feed.news.schlund.de!schlund.de!news.online.de!not-for-mail From: "Ekkehard Morgenstern" Newsgroups: comp.lang.ada Subject: Re: [announcement] SYSAPI and SYSSVC for Windows Date: Mon, 15 Dec 2003 19:38:21 +0100 Organization: 1&1 Internet AG Message-ID: References: <%VlDb.5454$Pg1.1321@newsread1.news.pas.earthlink.net> NNTP-Posting-Host: p508c0467.dip0.t-ipconnect.de Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: online.de 1071513509 15059 80.140.4.103 (15 Dec 2003 18:38:29 GMT) X-Complaints-To: abuse@einsundeins.com NNTP-Posting-Date: Mon, 15 Dec 2003 18:38:29 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Xref: archiver1.google.com comp.lang.ada:3471 Date: 2003-12-15T19:38:21+01:00 List-Id: "Jeffrey Carter" wrote: > > I'd like to announce the new version of my SYSAPI / SYSSVC packages > > for Windows. > > What are they? What do they do? SYSAPI is a package that interfaces directly to the Microsoft Windows API. It's not a direct binding to the Windows DLLs however; it is a DLL that interfaces to Windows. The reason for this is that I'd like to encapsulate access to the Windows API in a way that can bridge platform dependencies. There are different platforms of Windows: Windows 95, 98, ME, NT, 2000 and XP; all are distinct with distinct features, and they need specialized code to handle them properly. I tried using the Win32Ada binding, but it covers only Windows NT 4.0 and Windows 95, which are both very outdated (from 1995). So I got the idea to write my own. GNAT's tools for Windows DLL binding also seem to be outdated, and so that's another reason for providing my own abstraction. And while it would be possible perhaps to create import libraries to use directly from Ada, I think it's better to encapsulate the system dependencies away. SYSSVC provides an Ada server task to access the SYSAPI library from a central point, and with an Ada interface. So it's possible to write Ada programs that use the features of SYSAPI without knowing of the underlying platform (Windows in this case). I plan to port SYSSVC to other platforms as well. I will also add windowing and graphics support (especially for DirectX Graphics, formerly known as DirectDraw and Direct 3D), and also audio and video support. I know this will take some time, but I think it's a good project to contribute something to the Ada community as well as my own projects. For now, it contains only file services, namely 64-bit synchronous and asynchronous services. I've seen that the GNAT libraries do not provide those, and hence I had to write my own. I need 64-bit file I/O for a database project of my own (to allow for files bigger than 4 GB).