TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Richard Hulme
from: Mike Bilow
date: 1995-05-10 15:35:42
subject: Newbie code

Richard Hulme wrote in a message to Mike Bilow:

 MB> You should also observe the proper case format for OS/2 API calls.  Most
 MB> of them, and all of the ones you are using here, are defined to use the
 MB> pascal calling convention (APIENTRY) which forces the names to upper case
 RH> ^^^^^^^^^^^^^^^^^^^^^^^^^

 RH> Actually, only the 16-bit API calls (VioXXXXX, MouXXXXX
 RH> etc.) are defined to use the pascal calling convention.  All
 RH> the 32-bit API calls are defined to use the syscall (or
 RH> 'system' depending on your compiler) calling convention
 RH> which is more than slightly different :-)

This issue seems to have taken on a life of its own.  The original question
was about case sensitivity in writing the API names in C source.  If the
API names are written in all caps in C source, then subtle bugs can result.

The point was that the compiler will not see the function prototypes from
OS2.H, but that the linker is going to link the functions successfully
anyway. All system APIs -- and by that I mean all of the APIs defined by
OS/2 itself, even those with "32" in their names -- are actually
exported in all caps.
 
-- Mike


---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.