 

  Miscellaneous Character and File Manipulation Functions for OS/2 C
  Programmers.

  Copyright (C) 1993,94,95 by Craig Morrison, All Rights Reserved.

 

 Over the past years of working with OS/2 and multi-threaded programming I have
 had the occasion to write quite a bit of code where I could not use the
 run-time libraries provided by my compiler. The four source code modules in
 this package represent the routines that I use in all my projects to make life
 a bit easier for me.

 What you are getting here covers a good portion of everything needed to write
 a character based OS/2 application without using any run-time libraries. I use
 these routines when I need to be able to control when my threads begin and
 end. When using the run-time libraries severe havoc can be caused if a thread
 gets killed without the run-time libraries being able to clean up after
 themselves. These functions are all thread safe and can pretty much be used
 without worrying a whole lot about them getting interrupted.

 The only thing missing is floating-point support. I may, if I get the time,
 dig out the old source code from my OS/2 1.1 days to revamp my floating point
 emulator and add it to the code here. I just haven't seen the need for it yet.

 All the modules are documented fairly well inside them, but there are a few
 exceptions that I want to cover. In COMM.C please look at the sample main()
 function to see how to go about initializing that module. In FILE_IO.C look at
 the InitFileIO() and CleanUpFileIO() functions. I've used plenty of whitespace
 to keep the code clear and easy to read. You shouldn't have a lot of trouble
 following what is going on.

 For an explanation of the parameters to the functions that are wrappers around
 the Dos...() API functions, please see the Control Program Reference Guide in
 the OS/2 Toolkit or the equivalent documentation for your compiler.

 All the routines have been tested extensively. If you don't like the way
 something works, or need something special, add it. You have the source code.

 This is a copyrighted work, however, so long as you prominently display my
 copyright notice you can use these modules in any of your projects free of any
 royalties. The more OS/2 programmers the better. If these modules can help
 someone to get started, then they have served their purpose and that is
 payment enough for me. However, I would appreciate a note telling me what you
 think of the work.

 Good luck!

 Craig

 

        Fidonet:        Craig Morrison, 1:201/60@fidonet.org
        Internet:       cam@wpc.cioe.com
        Post:           Craig Morrison
                        1316 Ferry St.
                        Lafayette, IN 47901-1533
                        USA

