************************* 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: May97 C C+ Internet CGI WWW ISAPI SMTP WinCGI Sockets The code listings for the May 1997 issue of C/C++ Users Journal include source code for Keith Stevens' ISAPI Web-server extension SMTP gateway, Mark Wheeler's C++ interface to WinCGI, John W. Ross's tutorial on programming with sockets and http, Oleg Kiselyov's iostreams classes, Chris Crabtree's directory walk classes, and Mike Benzinger's source code to HTML converter. Also included is source code from P.J. Plauger's column, Standard C/C++, and Dan Saks' column, C++ Theory and Practice. ************************* FILE DESCRIPTION ********************************** The following files are included in the disk: FILENAME AUTHOR-NAME TITLE PAGE (Zip archive/ subdirectory name) ------------------------------------------------------------------------------- stevens Keith Stevens An ISAPI Web-Server Extension SMTP Gateway gopostal.h - listing 1, Header file for Internet server gopostal extension gopostal.cpp - listing 2, Implementation file for Internet server gopostal extension stdafx.h - not listed, Include files for standard system include files, or project include files that are changed frequently stdafx.cpp - not listed, Source file that includes just the standard includes wheeler Mark Wheeler Using VC++ 4.x with WinCGI codeseg.cpp - listing 1, Visual C++ -- WinCGI code segment cwincgi.h - not listed cwincgi.cpp - not listed cwincgif.h - not listed cwincgif.cpp - not listed cwincgih.h - not listed cwincgih.cpp - not listed cwincgit.h - not listed cwincgit.cpp - not listed main.cpp - not listed readme.txt - not listed, Instructions for building application in Visual C++ 4.x ross John W. Ross Sockets: Down and Dirty Programming for the Web main.c - listing 1, Webhead main program geturl.c - listing 2, Function geturl() opensock.c - listing 3, Function openSock() sockio.c - listing 4, Socket I/O functions kiselyov Oleg Kiselyov Speaking in Iostreams-ese segout.h - listing 1, A stream to help compose a packet segout.cpp - listing 2, Implementation of a few typical SegmentStream methods graphics.h - listing 3, Compiling graphical primitives to send to an accelerator card iostream - listing 4, An oversimplified crabtree Chris Crabtree A Reusable Directory Walk Class typedef.h - not listed, Miscellaneous typedefs oldrcurs.c - not listed, Old-style recursion in C dirwalk.h - listing 1, Header for class DirWalk -- full source dirwalk.cpp - not listed, Implementation of class DirWalk. Includes function DirWalk::Recurse shown in Listing 5 fileattr.h - listing 2, Header for class FileAttributes -- full source filetime.h - listing 3, Header for class FileTime -- full source filetime.cpp - listing 4, Implementation of FileTime -- full source printwlk.cpp - listing 6, Class PrintWalk -- prints filenames prntwlk2.cpp - not listed, More elaborate form of PrintWalk prntwlk3.cpp - not listed, PrintWalk with timestamp printout powerwlk.cpp - listing 7, Class PowerWalk example threaded.cpp - listing 8, A multithreaded use of DirWalk benzinge Mike Benzinger We're Not in Kansas Any More anyfile.h - not listed anyfile_.htm - not listed cpptohtm.cpp - not listed, source code of converter cpptohtm.exe - not listed, Win32 console mode app headers.txt - not listed readme.txt - not listed, instructions for use test.cpp - not listed test_cpp.htm - not listed testfile.h - not listed testfile.htm - not listed testhtml.cmd - not listed, sample command-line invocations testname.txt - not listed, names of headers to be hot-linked plauger P.J. Plauger Standard C/C++: Implementing Associative Containers tree.h - listing 1, Template class Tree saks Dan Saks C++ Theory and Practice: Placement delete illlook.cpp - listing 1, Code to illustrate the lookup rules for allocation functions illover.cpp - listing 2, Code to illustrate the overload resolution for allocation functions ******************************************************************************* 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 -----------------------------------------------------------------------------