From: rpr@st1-par.oce.nl (Rob Prikanowski)
Subject: Re: emx 0.8d, OS/2 API
Organization: OCE Nederland B.V.
Date: Wed, 29 Jul 92 09:42:35 GMT

In article <1992Jul28.140631.1@ntuvax.ntu.ac.sg> bz7004742@ntuvax.ntu.ac.sg (Roland Yeo) writes:
>Problem #1: I found I only have \OS2\DOSCALLS.LIB and \OS2\DLL\DOSCALL1.DLL
>Nowhere can I find DOSCALLS.DLL. Is this normal? When I did a test prgm to
>do DosLoadModule to load DOSCALLS, it works. What is exactly happening?
>There's no DOSCALLS.DLL as far as I can see.

Don't know, I'm not at home so I can't check this.

>Problem #2: In the first paragraph above, there's a value <func #> which
>is to be the ordinal number of the function. Does this imply the position
>of the function in the DLL? Which do I find this piece of information?

I had the same problem you have. I found no relation between the ordinal number
for an API call and the contents of the dll that contains the call.
After my query here, I got two answers (thanks Jay and Christian) which were
both helpfull. Here are the two options you have:

1) Get a file called watc_lib.zoo from ftp-os2.nmsu.edu. It's somewhere in
   the OS/2 2.0 programming directory.
   This file contains lines of the following form:

      ++<func>.<dll>.<number>

   where <func> is the function name, <dll> is the dll name containg this
   function, and <number> is the ordinal number you need.

2) Get a file called icc2gcc_1_1.zip from ftp-os2.nmsu.edu. It was in the
   downloads directory when I got it, but it will probably show up in the OS/2
   2.0 programming directory.
   This file contains a replacement libos2.a for emx and I'm pretty sure that
   it contains all the OS/2 API calls.

Of course after adding the API calls to your library, the biggest problem will
be to update the os2.h file. Creating funtion prototypes is not that difficult.
However, finding out the values for all kind of flag arguments and the layout
of structs that are passed to the API calls is a real PITA.

>Overall, is someone actively adding OS/2 API into EMX?

Yes, I do. I added the API calls to create a message box and some of the calls
dealing with dialog boxes. Also the calls dealing with switch entries are
working right now. However, as mentioned before, it took a considerable amount
of time to get the flags and struct right. So I decided to order the OS/2 2.0
Developers Toolset and I hope to find some decent documentation on all API
calls, full blown versions of the header and library files, and some additional
tools.

I could post or mail the contents of my local os2.h if anybody is interested.

Greetings,

Rob
................................................................................

     |   |     Rob Prikanowski (rpr@oce.nl)
   -[ ]-[ ]-      
     |   |     Oce Nederland B.V.         Direct dial: +31 77 593530
               P.O. Box 101               Telefax    : +31 77 595450
               5900 MA Venlo
               The Netherlands

................................................................................

      ###########################################################
      #  This note does not necessarily represent the position  #
      #     of Oce-Nederland B.V. Therefore no liability or     #
      #      responsibility for whatever will be accepted.      #
      ###########################################################