home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #1 / MONSTER.ISO / os2 / os2faq.pgm < prev    next >
Text File  |  1993-04-02  |  26KB  |  610 lines

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