************************* MASTER CODE ***************************************

The name of the first file in this disk's directory identifies the volume,
issue number and revision of the disk. The format of this filename is:

    !CDmvvii.rrr

where

    ! = the '!' character
    m =   C for C Users Journal, W for Windows Developer's Journal
    vv =  volume
    ii =  issue
    rrr = revision (001 for initial release, 002 for next update, etc.)

The file UPDATE.DOC contains information about any additions or
corrections to material on the disk since the original magazine
publication.

If you have obtained this code from a floppy diskette or from CompuServe, the 
headings under the column "FILENAME" represent the names of .ZIP files.  All 
files listed under the filename are archived in the .ZIP file.

Keywords: Aug97 C C+ Windows callback pipes reference multithreading I/O

The code listings for the August 1997 issue of C/C++ Users Journal include
source code for Brian Danilko's named pipes under Windows 95, Tim
Duggan's method of using member functions as callbacks in Win32, Jan
Kristofferson's article on portable I/O drivers, Panos Kougiouris'
portable multithreading framework, Benjamin Kuo's class wrappers for
Microsoft's Internet SDK, and Kenneth Ngai's reference counting template
class. Also included is source code from Bobby Schmidt's column, The
Learning C/C++urve, and P.J. Plauger's column, Standard C/C++.

*************************  FILE DESCRIPTION **********************************

The following files are included in the disk:

FILENAME		AUTHOR-NAME	TITLE			       
(Zip archive/
subdirectory name)
-------------------------------------------------------------------------------

danilko                 Brian Danilko       Named Pipes Under Windows 95

    channel.hpp  - listing 1, CommsChannel definition
    channel.cpp  - listing 2, CommsChannel implementation
    logger.cpp   - listing 3, A logging example using CommsChannel

duggan                  Tim Duggan          Member Functions as Callbacks
                                            in Win32

    example.cpp  - listing 1, Callback wrapper example

kristoff                Jan Kristofferson   Portable I/O Drivers

    singleio.h   - listing 1, I/O functions for operation on a single
                              register
    multiio.h    - listing 2, I/O functions for operation on I/O circuitry
                              with buffers or multiple registers.  Ex. a
                              peripheral chip with linear hardware buffers
    exampimp.c   - listing 3, Example of how to implement and use SG
                              functions with a processor architecture which
                              has only a single linear address space
    def8051.c    - listing 4, CPU family 8051, Compiler IAR. Compiler-
                              dependent definements in iohw.h
    def8086.c    - listing 5, CPU family 8086, Compiler Borland C/C++.
                              Compiler-dependent definements in iohw.h

kougiour                Panos           A Portable Multithreading Framework
                        Kougiouris &
                        Marco Framba

    kfthread.h   - listing 1, Defines thread and mutex classes
    kfrefere.h   - listing 2, Reference counting class definition
    posixref.cpp - listing 3, POSIX reference count implementation
    ntrefco.cpp  - listing 4, NT reference count implementation
    main.cpp     - listing 5, Example of test program

    Complete source code listings in five subdirectories: common,
    example, header, posix, and win32 
    
kuo                     Benjamin Kuo    Make Internet-Aware Apps with
                                        the Internet SDK

    wrapper.cpp - listing 1, A class wrapper for the Internet SDK


ngai                    Kenneth Ngai    A Template for Reference Counting

    refcount.h  - listing 1, Reference count template
    test.cpp    - listing 2, Implementation of Company using reference-
                             count template

schmidt                 Bobby Schmidt   The Learning C/C++urve: Me and
                                        My Arrow

    auto_ptr.h  - listing 1, The standard C++ auto_ptr
    auto_pt2.h  - listing 2, Revised auto_ptr

plauger                 P.J. Plauger    Standard C/C++: The Header
                                        <valarray>

    valarray    - listing 1, Template class valarray
    sampleop.h  - listing 2, Sample valarray operators
    slice.h     - listing 3, Class slice
    slcarray.h  - listing 4, Template class slice_array
    gslice.h    - listing 5, Class gslice
    gslarray.h  - listing 6, Template class gslice_array
    mskarray.h  - listing 7, Template class mask_array
    indarray.h  - listing 8, Template class indirect_array
    assign.cpp  - listing 9, Assignment and subscripting

*******************************************************************************

If you have questions regarding to the disk, please call or write us.

-----------------------------------------------------------------------------
			   Miller Freeman Inc.
			1601 W. 23rd St. Suite 200
			    Lawrence, KS 66046
	              1-800-444-4881 or 913-841-1631
-----------------------------------------------------------------------------

