home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / os2 / programm / 4771 < prev    next >
Encoding:
Internet Message Format  |  1992-09-08  |  24.6 KB

  1. Xref: sparky comp.os.os2.programmer:4771 comp.os.os2.misc:29418 news.answers:2804
  2. Path: sparky!uunet!olivea!mintaka.lcs.mit.edu!bloom-picayune.mit.edu!athena.mit.edu!bjaspan
  3. From: bjaspan@athena.mit.edu (Barr3y Jaspan)
  4. Newsgroups: comp.os.os2.programmer,comp.os.os2.misc,news.answers
  5. Subject: OS/2 2.0 Frequently Asked Questions, Programmer's Edition 1.3
  6. Summary: This posting answers Frequently Asked Questions about
  7.     programming and development under OS/2 2.0.  Read this before
  8.     you post a question to the comp.os.os2.programmer newsgroup.
  9. Message-ID: <os2-faq-prog_715809962@athena.mit.edu>
  10. Date: 6 Sep 92 20:06:18 GMT
  11. Expires: Sun, 4 Oct 1992 20:06:02 GMT
  12. Sender: news@athena.mit.edu (News system)
  13. Followup-To: poster
  14. Organization: Massachvsetts Institvte of Technology
  15. Lines: 591
  16. Approved: news-answers-request@mit.edu
  17. Supersedes: <os2-faq-prog_710542779@athena.mit.edu>
  18. Nntp-Posting-Host: portnoy.mit.edu
  19.  
  20. Archive-name: os2-faq/prog
  21. Version: 1.3
  22.  
  23. OS/2 2.0 Frequently Asked Questions, Programmer's Edition
  24. Version 1.3, September 6, 1992
  25. Compiled by Barry Jaspan, <bjaspan@athena.mit.edu>
  26.  
  27. This FAQ is for programming and development-related issues for OS/2
  28. 2.0.  It is freely distributable.  Direct all responses and questions
  29. to bjaspan@athena.mit.edu.  Mention of a product does not constitute
  30. an endorsement.  Answers to questions closer to the bottom of the list
  31. may rely on information given in prior answers.  Customers outside the
  32. United States should not necessarily rely on 800 telephone numbers,
  33. part numbers, or upgrade policies contained in this list; all prices
  34. are listed in United Stated dollars unless otherwise specified.
  35. PLEASE CONTRIBUTE ANY INFORMATION YOU CAN.
  36.  
  37. Many of the answers below refer to anonymous ftp from FTP-OS2.NMSU.EDU
  38. (128.123.35.151).  The name 'ftp-os2' is used as a shorthand to refer
  39. to this machine.
  40.  
  41. Release Notes: I feel like this list is stagnating in a less than
  42. ideal form.  Significant changes are probably imminent; feel free to
  43. make suggestions.  New question: 1.11.  Changed or updated answers:
  44. 1.2, 1.3, 2.4, 4.4, 4.5.
  45.  
  46. Questions addressed in this release:
  47.     (a * indicates that no answer is available; all answers are
  48.     currently incomplete)
  49.  
  50. 1.  Languages, Compilers, Debuggers
  51. ----------------------------------------------------------------------
  52.  
  53. (1.1)    What programming languages come with OS/2 2.0?
  54. (1.2)    What C/C++ development environments are available?
  55. (1.3)    What are the differences between the two available versions of
  56.     GNU C?
  57. (1.4)    How can I view the GNU C documentation?
  58. (1.5)    What other programming languages are available for OS/2?  (Esp.
  59.         inexpensive ones.)
  60. (1.6)    Which of these compilers can be used to generate PM apps?
  61. (1.7)    What is REXX?  How do I write and run a REXX program?
  62. (1.8)    What debuggers are available for OS/2?
  63. (1.9)*    Where can I get documentation on the OBJ/LIB/EXE format used
  64.     by OS/2 2.0? 
  65. (1.10)*    Please summarize this information, and tell me what I need to
  66.     do OS/2 development.
  67. (1.11)  GCC/2 crashes with a trap when I try to compile a program.  Why?
  68.  
  69. 2.  Tools, Toolkits, Accessories
  70. ----------------------------------------------------------------------
  71.  
  72. (2.1)    What programming editors are available for OS/2?
  73. (2.2)    What programming tools/toolkits/accessories are available for OS/2?
  74. (2.3)    What GNU tools are available and where can I find them?
  75. (2.4)    Is a socket library available?  How can I use it?
  76.  
  77. 3.  Programming, Porting
  78. ----------------------------------------------------------------------
  79.  
  80. (3.1)    How can I recompile public domain/shareware source code for OS/2?
  81. (3.2)*    How can I port my DOS program to OS/2?
  82. (3.3)*    How can I port my Windows program to OS/2?
  83. (3.4)*    Is OS/2 suitable for real time programs?
  84. (3.5)    How do I write an OS/2 device driver?
  85. (3.6)    How can I simulate (Unix feature) under OS/2?
  86.     (a)* fork
  87.     (b)* fork/exec
  88.     (c) select()
  89.     (d)* job control
  90. (3.7)*    How does programming PM compare to programming X?
  91. (3.8)    Why doesn't printf() produce output when I expect it to?
  92.  
  93. 4.  Documentation, Help
  94. ----------------------------------------------------------------------
  95.  
  96. (4.1)    Where can I get information on OS/2 APIs and programming?
  97. (4.2)    Where can I get sample code?
  98. (4.3)    Are there any OS/2 programming classes or seminars?
  99. (4.4)    What are good reference books for programming in OS/2 and PM?
  100. (4.5)    What are the OS/2 redbooks, and how do I get them?
  101.  
  102. 5.  Miscellaneous
  103. ----------------------------------------------------------------------
  104. (5.1)    What is available for multimedia programming under OS/2?
  105. (5.2)*    What is available for AI/neural net programming under OS/2?
  106.  
  107. ======================================================================
  108.  
  109. 1.  Languages, Compilers, Debuggers
  110. ----------------------------------------------------------------------
  111.  
  112. (1.1)    What programming languages come with OS/2 2.0?
  113.  
  114. The original BASIC and BASICA (for systems with BASIC in ROM), DOS's
  115. QBASIC, and OS/2's REXX come with OS/2 2.0.  See question #1.7 for
  116. information on REXX.
  117.  
  118. (1.2)    What C/C++ development environments are available?
  119.  
  120. Many companies offer C or C++ compilers.  The following list is almost
  121. guaranteed to be incomplete and somewhat inaccurate.
  122.  
  123. IBM Workset/2, 1-800-3-IBM-OS2, $895.  Includes the C Set/2 compiler,
  124. the IPMD multithreaded PM debugger, the Workframe/2 development
  125. environment, and the Developer's Toolkit (utilities and online
  126. documentation).  These pieces are also available separately.  The full
  127. product announcement is available on ftp-os2.  Bug reports for C Set/2
  128. can be mailed to cset2@vnet.ibm.com, for Workframe/2 to
  129. workframe@vnet.ibm.com and will go straight to the developers.  NOTE:
  130. Workset/2 was available at a promotional rate of $295 in the US and
  131. $399 in Canada, but the originally announced end dates have passed.  I
  132. do not know if the promotion has been extended, so I assume it has
  133. not.
  134.  
  135. Watcom C 9.0, (519) 886-3700.
  136.  
  137. JPI C and C++, (415) 967-3200 (USA), +44 234 267500 (UK/Europe), $180.
  138.  
  139. Glockenspiel C++, (+353)-1-733166.
  140.  
  141. Microway C++, $595.
  142.  
  143. GNU C.  Two flavors of the GNU C compiler are available, both on
  144. ftp-os2.  GCC/2, based on GNU C 2.2.2, is in /pub/os2/2.0/programming/
  145. gcc2-2.2.2, and emx/gcc is in /pub/os2/2.0/programming/emx-0.8d.  See
  146. question #1.3 for information on the differences between the two.
  147.  
  148. (1.3)    What are the differences between the two available versions of
  149.     GNU C?
  150.  
  151. The two versions of GNU C that are available were ported to OS/2 with
  152. different goals and philosophies in mind and therefore have different
  153. characteristics.  However, both systems include a fairly complete C
  154. library and can be used to compile useful programs, although their
  155. support of Unix-specific semantics differs.  Furthermore, both systems
  156. are being actively developed and are constantly improving.
  157.  
  158. The goal of GCC/2 is to create a pure, freely redistributable OS/2 2.0
  159. development environment with no extra baggage for backwards
  160. compatibility; it is based on the assumption that DOS will die and is
  161. not worth worrying about.  It is based on GNU C 2.2.2, supports C and
  162. C++, and can create PM programs.  It produces "native" 32 bit .OBJ
  163. files that are linked with OS/2's LINK386.EXE, and can be linked
  164. together with .OBJ files produced by IBM C Set/2 and other compatible
  165. compilers.  The mailing list os2gcc@charon.mit.edu exists for
  166. discussion of this port; send mail to os2gcc-request@charon.mit.edu
  167. for subscription information.
  168.  
  169. emx/gcc 0.8d, also based on GNU C 2.1, supports only C and can create
  170. PM programs.  (emx/g++ is now available in beta release, and will
  171. eventually be added to emx/gcc.)  emx's goal is to make porting Unix
  172. programs easier by emulating Unix semantics as closely as possible.
  173. It produces programs that can run both under OS/2 using EMX.DLL and
  174. under DOS using the emx DOS extender.  emx/gcc uses standard Unix
  175. development tools like ld and nm, and attempts to support Unix-isms
  176. like select().  A version of gdb exists that can debug emx/gcc
  177. programs.  An emx-related mailing list exists; send mail to
  178. LISTSERV@ludd.luth.se with a subject of "help" for subscription
  179. information.  (Note that this is a *NEW* address for the emx
  180. discussion list.)
  181.  
  182. (1.4)    How can I view the GNU C documentation?
  183.  
  184. GNU C/C++ comes with documentation from the Free Software Foundation
  185. in texinfo (.texi) format.  This documentation is about gcc in
  186. general, and has no OS/2-specific information.
  187.  
  188. All utilities needed to compile/view/tex the texinfo files are readily
  189. available for OS/2.  The GNU texinfo package, available on ftp-os2 in
  190. pub/os2/all/gnu/gnuinfo.zoo, includes makeinfo.exe for compiling
  191. texinfo, info.exe for viewing them, and texinfo.tex and texindex.exe
  192. for TeXing them.
  193.  
  194. An ASCII text version of the gcc documentation is also available on
  195. ftp-os2, in the file pub/os2/2.0/gnu/gcc21/gcctxt.zoo.
  196.  
  197. (1.5)    What other programming languages are available for OS/2?  (Esp.
  198.         inexpensive ones.)
  199.  
  200. Virtually all of them: Assembler, COBOL, Pascal, Fortran, Smalltalk,
  201. Modula-2, LISP, Forth, Perl, and more.  The OS/2 Tools Guide on
  202. ftp-os2 (pub/os2/all/info/tinf26.zoo) contains information on these
  203. and more.
  204.  
  205. [Vendors, ftp sites, phone numbers, prices?]
  206.  
  207.     Pascal: Microway ($595), JPI ($180)
  208.     Modula-2: JPI ($180), Stonybrook
  209.     Fortran: Microway ($595), Watcom
  210.     Cobol: IBM Cobol/2
  211.     Smalltalk: Digital Smalltalk/PM V, Parc Place Smalltalk
  212.     Perl 4.0.10: ftp-os2
  213.     LISP: ftp-os2
  214.     XScheme: ftp-os2
  215.     J: ftp-os2
  216.  
  217. (1.6)    Which of these compilers can be used to generate PM apps?
  218.  
  219. IBM C Set/2 can generate PM apps.  Workset/2 includes many sample
  220. programs and the complete on-line reference.
  221.  
  222. GNU C/C++ 2.1 can generate PM apps, and includes a sample program that
  223. does it.  emx/gcc can too, with some limitations (what are they?).
  224.  
  225. Most commercial C and C++ compilers can.  WATCOM C and FORTRAN and all
  226. of JPI's can, too.  You will probably want the IBM Developer's
  227. Toolkit, or similar documentation, however.
  228.  
  229. (1.7)    What is REXX?  How do I write and run a REXX program?
  230.  
  231. REXX is the IBM SAA (Systems Application Architecture) standard,
  232. user-friendly programming language.  It is available for IBM
  233. mainframes, Unix, the Amiga, DOS (Mansfield's Professional REXX),
  234. Windows, and many other platforms.  It has been a part of standard
  235. OS/2 since Version 1.3.  Programs written in REXX that do not use
  236. system-specific libraries are fully portable.
  237.  
  238. OS/2 2.0 comes with an online REXX reference, and printed REXX
  239. documentation is available (Mike Cowlinshaw's REXX book, IBM's twin
  240. guides).  The Usenet group comp.lang.rexx discusses REXX programming.
  241.  
  242. (1.8)    What debuggers are available for OS/2?
  243.  
  244. IPMD, a PM-based debugger, ships with C Set/2.  It is capable of
  245. source- and assembly-level debugging multithreaded 16 bit and 32 bit
  246. OS/2 applications
  247.  
  248. emx comes with gdb, the GNU debugger.  
  249.  
  250. There are also several commercial debuggers on the market.  WATCOM C
  251. and FORTRAN come with WVIDEO, a full-screen source or assembly lever
  252. debugger that handles multithreaded 16 and 32 bit OS/2 programs.
  253. Multiscope, others?
  254.  
  255. (1.9)    Where can I get documentation on the OBJ/LIB/EXE format used
  256.     by OS/2 2.0? 
  257.  
  258. The .EXE format was described briefly in PC Magazine, Vol 11 No. 12
  259. (June 30, 1992?); it was also described in a 1988 issue.
  260.  
  261. (1.10)*    Please summarize this information, and tell me what I need to
  262.     do OS/2 development.
  263.  
  264. (1.11)  GCC/2 crashes with a trap when I try to compile a program.
  265.     Why?
  266.  
  267. Because you didn't read the README or INSTALL files, probably.  There
  268. are three general reasons GCC/2 will crash:
  269.  
  270.     1.  You did not set up the environment variables in CONFIG.SYS
  271.     properly.  Read doc/INSTALL for instructions.
  272.  
  273.     2.  Some program that gcc expects to be in the PATH is not;
  274.     unfortunately, gcc crashes instead of just printing an error
  275.     message.  You may forgotten to install something, or your PATH
  276.     may be wrong; see above.  Giving gcc the -v option will cause
  277.     it to print each command line as it executes it; this will
  278.     tell you which program is missing.
  279.  
  280.     3.  You are trying to get gcc to link your program for you.
  281.     It cannot because ld does not exist, and so it crashes (see
  282.     item 2).  You must specify -c, -E, or -S on every invokation
  283.     of gcc, and then use LINK386.EXE to create an executable.  See
  284.     the sample makefiles for an example of how to do this.
  285.  
  286. 2.  Tools, Toolkits, Accessories
  287. ----------------------------------------------------------------------
  288.  
  289. (2.1)    What programming editors are available for OS/2?
  290.  
  291. OS/2 2.0 comes with the Enhanced Editor (EPM).  
  292.  
  293. GNU Emacs 18.58 is available.  It requires you to have emx installed
  294. on your machine, but it comes with all the emx files you will need.
  295. Emacs is available on ftp-os2 in /pub/os2/2.0/gnu/emacs.  (If you want
  296. to recompile emacs, you will need the full emx distribution; see
  297. question 1.2.)
  298.  
  299. Several public-domain vi clones are available, including elvis, Stevie
  300. and levee.  The MKS Toolkit also includes vi.
  301.  
  302. Many other text editors are available.  
  303.  
  304.     Epsilon, by Luguru, (412) 421-5678.  DOS upgrade to OS/2 is
  305.         $90.  This is a character based editor, not a PM app.
  306.  
  307.     QEDIT, Brief, KEDIT, others? [Vendors, phone numbers, prices?]
  308.  
  309. (2.2)    What programming tools/toolkits/accessories are available for OS/2?
  310.  
  311. The IBM Programmer's Toolkit, included in Workset/2, includes many
  312. tools.
  313.  
  314. Borland will soon release ObjectVision for OS/2.  [Details?]
  315.  
  316. The MKS Toolkit, available from MKS ($349 USD, 800-265-2797 or
  317. inquiry@mks.com), has over 160 Unix tools, including Korn shell, tar,
  318. vi, awk, grep, tail, cpio, and so forth.  It also contains a Lex and
  319. Yacc capable of generating C, C++, and Turbo Pascal code.
  320.  
  321. There is a product called ARGO/UX which provides a BSD environment for
  322. OS/2.  [details?]
  323.  
  324. (2.3)    What GNU tools are available and where can I find them?
  325.  
  326. OS/2 1.x versions of most of the standard GNU utilties are available
  327. on various OS/2 ftp sites, and they will work under OS/2 2.0.  Either
  328. gcc or emx/gcc should be able to compile 2.0-specific versions of any
  329. of them; if you port any, please announce it.  emx also comes with a
  330. collection of utilities that are necessary or useful to use it.
  331.  
  332. (2.4)    Is a socket library available?  How can I use it?
  333.  
  334. IBM's TCP/IP 1.2.1 ($200, part #02G6968) includes an optional
  335. Programmer's Toolkit ($500, part #02G6973).  It includes a socket
  336. library, and support for Sun RPC, NCS RPC, and a limited Kerberos
  337. capability.  It requires IBM C Set/2 or another compiler that
  338. understands 16-bit code.
  339.  
  340. FTP Software, Inc., has an OS/2 version of its TCP/TCP product.  They
  341. can be reached at (617) 246-0900 or info@ftp.com.
  342.  
  343. Walt Corey, KZ1F, is porting KA9Q to OS/2 and PM. The current version
  344. of his code is available for ftp from giskard.uthscsa.edu. This is
  345. still a work in progress, with rough edges here and there, and in
  346. particular there's no Ethernet (or anything but async serial, i.e.
  347. SLIP, PPP, and KISS) support yet, though that's high on the priority
  348. list. You can email Walt at kz1f@giskard.uthscsa.edu.
  349.  
  350. If you have the IBM TCP/IP 1.2 base package and IBM C Set/2, you can
  351. use the TCPIPDLL.DLL directly.  A 32 bit socket library interface to
  352. do this for you will be available shortly.  It will also be possible
  353. to call TCP/IP functions from programs generated with gcc.  (Yes, yes,
  354. I know I've been promising this for a while.  I apologize for the
  355. delay; be patient.)
  356.  
  357. 3.  Programming, Porting
  358. ----------------------------------------------------------------------
  359.  
  360. (3.1)    How can I recompile public domain/shareware source code for OS/2?
  361.  
  362. Most publicly available OS/2 programs come with binaries (since there
  363. is currently only one OS/2 architecture).  If you are porting source
  364. code from another system (for example, Unix), you will first need to
  365. acquire a compiler.  See section 1 for information on compilers; in
  366. particular, note that the GNU C compiler is available.
  367.  
  368. You should realize that many publicly available programs have already
  369. been ported to OS/2.  Check the many FTP sites carrying OS/2 programs
  370. before you reinvent any wheels (the OS/2 User's FAQ contains
  371. information on FTP site).
  372.  
  373. (3.2)    How can I port my DOS program to OS/2?
  374. (3.3)    How can I port my Windows program to OS/2?
  375.  
  376. To the first approximation, you don't have to --- OS/2 2.0's DOS
  377. support is excellent, and your DOS program will probably just work;
  378. similarly, OS/2 2.0 supports Windows 3.0 (and soon 3.1) programs.  See
  379. the OS/2 User's FAQ for details.
  380.  
  381. IBM Workset/2 includes Mirrors, a toolkit designed to help port
  382. Windows applications to OS/2.  [Details?]
  383.  
  384. [But this doesn't answer the question...]
  385.  
  386. (3.4)    Is OS/2 suitable for real time programs?
  387. (3.5)    How do I write an OS/2 device driver?
  388.  
  389. There's a book called "Writing OS/2 2.0 Device Drivers in C" from Van
  390. Nostrand-Reinhold, see question 4.5.  There's also IBM's flood of
  391. printed material.
  392.  
  393. (3.6)    How can I simulate (Unix feature) under OS/2?
  394.     (a) fork
  395.     (b) fork/exec
  396.     (c) select
  397.  
  398. In general, you can't.  select() depends heavily on the fact that all
  399. sources and sinks of data originate in the filesystem and are
  400. identified by a coherent set of file descriptors; these assumptions
  401. are not true under OS/2.  For (almost) any particular kind of data
  402. source/sink (files, sockets, pipes) you can achieve most of select()'s
  403. semantics.  A decent solution to this problem requires a C library
  404. that maintains its own array of file descriptors and information on
  405. each one such that it can dispatch to the appropriate module in
  406. response to library calls.  The C libraries delivered with gcc and
  407. emx/gcc will have such functionality in the (possibly near) future,
  408. but don't yet.
  409.  
  410.     (d) job control
  411.  
  412. (3.7)    How does programming PM compare to programming X?
  413.  
  414. Many people have said "PM is much cleaner."  Until I hear from someone
  415. I trust with extensive experience with both (I only know X), however,
  416. this FAQ will take no position.
  417.  
  418. (3.8)    Why doesn't printf() produce output when I expect it to?
  419.  
  420. For historical reasons, most Unix C libraries' stdio default to using
  421. line buffered streams, whereas most DOS and OS/2 C libraries' stdio
  422. default to using fully buffered streams.  ANSI C species that standard
  423. output should be line buffered when connected to an interactive
  424. device, but not all libraries are ANSI compliant.  You can control the
  425. buffering algorithm used for a particular stream with the setvbuf()
  426. function.
  427.  
  428. If you didn't understand that paragraph, read on.
  429.  
  430. printf() is part of the Standard I/O (stdio) library, which uses
  431. buffered streams for file IO.  ANSI C specifies three algorithms for
  432. deciding when to flush the buffer (i.e. when to print buffered data to
  433. the file):
  434.  
  435.     o not buffered.  Data is flushed to the file as soon as
  436.     possible, usually immediately after being received.
  437.     
  438.     o line buffered.  Data is flushed to the file when a newline
  439.     is received (and the newline is also flushed).
  440.  
  441.     o fully buffered.  Data is flushed to the file when the buffer
  442.     is full.
  443.  
  444. Buffered data is always flushed when the stream is closed or when
  445. fflush() is called.  Since standard output is flushed when main()
  446. exits, all data printed with printf() will appear at that time, if it
  447. has not already.  However, ANSI C does not require that a stream be
  448. flushed when scanf() is called on it.  Therefore, if you print to a
  449. fully buffered stream and then request input on it, it is likely that
  450. the input will be read before the printed data appears.
  451.  
  452. You can control the buffering algorithm used for a particular stream
  453. with the setvbuf() function.  For example, the statement
  454. setvbuf(stdout, NULL, _IOLBF, BUFSIZ) sets standard output to be
  455. line-buffered, which is what most Unix programmers expect.  Any decent
  456. C reference will cover all of this material.
  457.  
  458. The gcc 2.1 library will have a line-buffered stdout by default in a
  459. future release.
  460.  
  461. 4.  Documentation, Help
  462. ----------------------------------------------------------------------
  463.  
  464. (4.1)    Where can I get information on OS/2 APIs and programming?
  465.  
  466. The IBM Programmer's Toolkit, included in Workset/2, includes a
  467. complete on-line syscall reference.
  468.  
  469. You can order the seventeen volume IBM OS/2 Technical Library
  470. (possibly at a discount, see question 1.2) and/or order various
  471. volumes individually; the file pub/os2/2.0/info/os2pubs.txt lists all
  472. (many?) of the IBM OS/2-related reference manuals, as of May 20, 1992,
  473. along with ordering information.
  474.  
  475. See question 4.5 for information on printed reference books.
  476.  
  477. (4.2)    Where can I get sample code?
  478.  
  479. There is a lot of sample code included in the IBM Toolkit, and 4
  480. sample programs (with source) included with C Set/2.  GNU C/C++, from
  481. ftp-os2, includes a sample C, C++, and C++ PM program.  The OS/2
  482. Redbooks (see question 4.5) also have some sample code.
  483.  
  484. (4.3)    Are there any OS/2 programming classes or seminars?
  485.  
  486. Yes.  Call IBM at either 1-800-3-IBM-OS2 in U.S. (or the PS/2 Help
  487. Center).  Local IBM branches frequently hold OS/2 classes and
  488. seminars.  I haven't seen third party efforts in this regard, but I
  489. know they exist.
  490.  
  491. See pub/os2/2.0/info/ivleague.txt on ftp-os2 for a list of third-party
  492. support organizations.
  493.  
  494. (4.4)    What are good reference books for programming in OS/2 and PM?
  495.  
  496. Van Nostrand Reinhold publishes a number of books on OS/2 2.0.  Those
  497. that relate to programming are:
  498.  
  499. INTEGRATING APPLICATIONS WITH OS/2 2.0
  500. By William H. Zack
  501. 0-422-01234-9
  502.  
  503. CLIENT SERVER PROGRAMMING WITH OS/2 2.0
  504. By Robert Orfali and Daniel Harkey, IBM Corporation
  505. 0-422-01219-5
  506.  
  507. WRITING OS/2 2.0 DEVICE DRIVERS IN C
  508. By Steven J. Mastrianni; Foreword by John Soyring, IBM Corporation
  509. 0-442-01141-5
  510.  
  511. OS/2 2.0 PRESENTATION MANAGER GPI: A Programming Guide to Text,
  512.     Graphics, And Printing
  513. By Graham C.E. Winn, IBM Corporation
  514. 0-442-00739-6
  515.  
  516. THE COBOL PRESENTATION MANAGER PROGRAMMING GUIDE
  517. By David M. Dill, Consultant
  518. 0-442-01293-4
  519.  
  520. LEARNING TO PROGRAM OS/2 2.0 PRESENTATION MANAGER BY EXAMPLE: Putting
  521.     the Pieces Together
  522. By Stephen Knight, IBM Corportaion
  523. 0-442-01292-6
  524.  
  525. Also see the information about redbooks in answer 4.5.
  526.  
  527. (4.5)    What are the OS/2 redbooks, and how do I get them?
  528.  
  529. IBM publishes so-called "redbooks" on many products, including OS/2
  530. 2.0.  They seem to be a combination of power-user's guides and design
  531. information that may be of use to both users and programmers [I
  532. haven't received my copies yet, so I cannot say for sure.]  These are
  533. usually intended only for special IBM customers and contain
  534. documentation that is generally unavailable anywhere else.  You can
  535. order these books directly from IBM (see below).  All of the following
  536. names are implicitly preceeded by "OS/2 Version 2.0."
  537.  
  538.  Volume 1: Control Program: GG24-3730, $4.15
  539.    
  540.    Technical information on Memory Management, Task Mangement,
  541.    Support, Installation Considerations, Hardware Considerations, Boot
  542.    Manager, National Language Considerations, Intel 386 architecture,
  543.    Channel Architecture and SCSI.  Documents config.sys.
  544.    
  545.  Volume 2: DOS and Windows Environment, GG24-3731, $6.20
  546.    
  547.    MVDM,8086 Emulation,MVDM DOS emulation, Device Drivers, Memory
  548.    Extender Support, Installing and Migrating Applications, Windows
  549.    Applications, DPMI, Running DOS apps,DOS settings, VMB.
  550.    
  551.  Volume 3:  PM and Workplace Shell GG24-3732, $3.65
  552.  
  553.    Available now, but I don't know precisely what's in it.   
  554.    
  555.  Volume 4: Application Development GG24-3774, $5.25
  556.    
  557.    Technical programming info (includes list in C) Overview,
  558.    Object-Oriented Apps, PM application model, flat memory model,
  559.    building PM app, Workplace AOAShell and System Object Model, Direct
  560.    Manipulation (Drag/drop), PM resources, Multitasking
  561.    Considerations, SAA CUA considerations, App Migration, Mixing 16
  562.    and 32 bit application modules, compiling and link editing (SOM),
  563.    Adding Online Help, Problem Determination, Managing Development,
  564.    Naming conventions.
  565.    
  566.  Volume 5: Print Subsystem, GG24-3775, $5.20
  567.    
  568.    Not Available yet.
  569.  
  570. The special part number GBOF-2254 is for all currently available
  571. volumes (presently 1-4).
  572.  
  573. ORDERING INFORMATION:
  574.  
  575. The OS/2 2.0 Redbooks are available from IBM's TeleServices customer
  576. support number.  The number is 1-800-7654-IBM (1-800-765-4426).  You
  577. can pay by credit card or mail in a check after calling.  The order
  578. will take about 2 weeks but can be sped up by paying for faster
  579. shipping.
  580.  
  581. You can also order the redbooks from your local IBM Branch Office
  582. library.  Some possibly useful phone numbers are included here.
  583.  
  584.     IBM Central Library, Los Angeles CA: (213) 621-6710
  585.         P.O. Box 60737
  586.         Los Angeles, CA 90060
  587.     Canada: (800) 465-1234, ext 4205 ($33.52)
  588.     UK: (0256) 478166, (#36.51, credit cards accepted)
  589.     Australia (Victoria): 698-1234 ($46.80 A)
  590.            IBM Australia
  591.                  The Library
  592.                  211 Sturt Street
  593.                  South Melbourne, 3205
  594.                  Att: Kate Seeley
  595.     Denmark: 33 32 40 55 (dkk 310)
  596.  
  597. 5.  Miscellaneous
  598. ----------------------------------------------------------------------
  599.  
  600. (5.1)    What is available for multimedia programming under OS/2?
  601.  
  602. The OS/2 2.0 Multimedia package is now available.  Call the
  603. IBM Multimedia office at (800) 426-9402 ext. 150.
  604.  
  605. (5.2)    What is available for AI/neural net programming under OS/2?
  606.  
  607. LISP and XScheme are available from hobbes.  There are also some
  608. AI/neural net tools listed in tinf26.zoo.
  609. --
  610. Barry Jaspan, bjaspan@mit.edu
  611.