========================================================================
      PROJECT FILES NEEDED TO COMPILE THE MAGIC PACKET UTILITY
========================================================================

The best way to compile and edit the Magic Packet source files is to do all
your work in Microsoft Visual C++ DevStudio development environment.  
The Magic Packet utility was developped under Visual C++ version 5.0.  

There are two Visual C++ project files that make up the Magic Packet project. 
One is for CONSPAWN.EXE, a 32 bit DOS console helper program, the other is 
for MAGPAC.EXE itself.  You can compile these projects independently as two
unrelated projects, but MAGPAC.EXE needs CONSPAWN.EXE at run time to launch 
the command "ARP.EXE -A" when the "Create a List of Hosts" menu is selected 
and the OK button is clicked.

Besides the source files, the following files are project files needed to
compile and build MAGPAC.EXE and CONSPAWN.EXE inside the development environment.

conspawn.dsp
   Project file for conspawn.

conspawn.dsw
   Workspace file for conspawn.

conspawn.opt
   Compiler options for conspawn.


MagPac.dsp
   Project file for MagPac utility.

MagPac.dsw
   Workspace file for MagPac utility.

MagPac.opt
   Compiler options for MagPac utility.

MagPac.clw
   This file is not needed for building MAGPAC.EXE, but nice to have if class 
   members (data or methods) are added or removed from a class.

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

The following make files are nice to have if there is a compelling reason
to build the executable files from a DOS command line using NMAKE.EXE. These make
files are generated by VC++ version 5.0, and they might contain minor
inconsistencies such as letter cases (capital vs. lower case).  In any case, be
prepared to edit the make file.  Before running NMAKE.EXE you should run VCVARS32.BAT
to set up the environment for using VC++ 5.0 tools.

conspawn.mak
   Make file for CONSPAWN.EXE generated by Microsoft Visual C++. 

MagPacU.mak
   Make file for MAGPAC.EXE generated by Microsoft Visual C++.


========================================================================
      NOTE ABOUT CHANGING MAGIC PACKET VERSION RESOURCE
========================================================================
The product and file version for the entire Magic Packet utility
are stored in the resource file MagPac.rc.  When a change is made to the 
Magic Packet utility and the build number must be changed, (until some one
finds the right VC++ documentation), do this:

   - Update the file version string in MagPac.rc
   - Update the product version string in MagPac.rc if necessary
   - Update the file version string on the About dialog box

To make those changes you should check out MagPac.rc and MagPac.res from PVCS.
Read section 6 in the design document for more information.

There is a way to programmatically read the version number, so keep looking.


========================================================================
      FILES NEEDED TO RUN THE MAGIC PACKET UTILITY
========================================================================

The following files needed to run MagPac must all be installed in one directory.

conspawn.exe
   32 bit DOS console executable file. This is a helper program.

MagPac.exe
   The magic packet utility executable file.

MagPac.cnt
   Hierarchic listing of help file contents.

MagPac.hlp
   Compiled form of help file.

MagPacBg.bmp
   This file is optional. If this bitmap file is present, the Magic
   Packet utility will display the bitmap as a background picture.
                        
                        ***** ***** *****

Because the Magic Packet utility was built with the shared dynamic library option
(instead of static library option) in addition the above files, the following DLL 
files must be found in the system directory (most likely \Windows\system).

MFC42.DLL
   MFC version 4.2 run time library.

MSVCRT.DLL
   Threads run time library.


========================================================================
       SOURCE FILES
========================================================================

This section contains a summary of what you will find in each of the files
in the Src directory and its subdirectories.

AlarmSetting.h, AlarmSetting.cpp
   Define the interface and implementation for CAlarmSetting class.
   This class is derived from CObject to take advantage of the serialization
   capability of CObject.

ChildFrm.h, ChildFrm.cpp
   The code in this file is totally created by the AppWizard. This class manages
   child windows.

CreateListDlg.h, CreateListDlg.cpp
   Define and implement a dialog box to gather needed information to create
   a list of hosts in a LAN.
 
GlobalProc.h, GlobalProc.cpp
   A mixed bag of methods that don't belong to any class, and they can be used
   in many classes. These methods deal mainly with file manipulations.

GroupWakeup.h, GroupWakeup.cpp
   Define and implement a dialog box to gather alarm setting for each group
   of hosts to be powered on together.     

MagPacSocket.h, MagPacSocket.cpp
   Define and implement a winsock class derived from CAsyncSocket.

MDIClientWnd.h, MDIClientWnd.cpp
   This is a subclass of CMainFrame. CMainFrame is derived from CMDIFrameWnd, and
   this type of window doesn't display bitmap. So a subclass derived from
   CWnd is needed to diplay graphic in the client's area of CMainFrame.

SendOneDlg.h, SendOneDlg.cpp
   Define and implement a dialog box to gather input to send one magic packet
   frame to one host.

MagPac.h
   This is the main header file for the application.  It includes other
   project specific headers (including Resource.h) and declares the
   CMagPacApp application class.

MagPac.cpp
   This is the main application source file that contains the application
   class CMagPacApp.

MagPac.rc
    This is a listing of all of the Microsoft Windows resources that the
    program uses.  It includes the icons, bitmaps, and cursors that are stored
    in the RES subdirectory.  This file can be directly edited in Microsoft
	 Developer Studio. This file also contains the file version string.

res\Logo.ico
    This is an icon file, which is used as the application's icon.  This
    icon is included by the main resource file MagPac.rc.

MagPac.clw
    This file contains information used by ClassWizard to edit existing
    classes or add new classes.  ClassWizard also uses this file to store
    information needed to create and edit message maps and dialog data
    maps and to create prototype member functions.

/////////////////////////////////////////////////////////////////////////////

For the main frame window:

MainFrm.h, MainFrm.cpp
    These files contain the frame class CMainFrame, which is derived from
    CMDIFrameWnd and controls all MDI frame features.

res\Toolbar.bmp
    This bitmap file is used to create tiled images for the toolbar.
    The initial toolbar and status bar are constructed in the
    CMainFrame class.  Edit this toolbar bitmap along with the
    array in MainFrm.cpp to add more toolbar buttons.

/////////////////////////////////////////////////////////////////////////////

AppWizard creates one document type and one view:

MagPacDoc.h, MagPacDoc.cpp - the document
    These files contain your CMagPacDoc class.  Edit these files to
    add your special document data and to implement file saving and loading
    (via CMagPacDoc::Serialize).

MagPacView.h, MagPacView.cpp - the view of the document
    These files contain your CMagPacView class.
    CMagPacView objects are used to view CMagPacDoc objects.

res\MagPacDoc.ico
    This is an icon file, which is used as the icon for MDI child windows
    for the CMagPacDoc class.  This icon is included by the main
    resource file MagPac.rc.

/////////////////////////////////////////////////////////////////////////////

Help Support:

MakeHelp.bat
    Use this batch file to create your application's Help file, hlp\MagPac.hLP.

hlp\MagPac.hpj
    This file is the Help Project file used by the Help compiler to create
    your application's Help file.

hlp\*.bmp
    These are bitmap files required by the standard Help file topics for
    Microsoft Foundation Class Library standard commands.

hlp\AfxCore.rtf and hlp\AfxPrint.rtf
    These files contain the standard help topics for standard MFC
    commands and screen objects.

hlp\MPHelp.rtf
    This file contains help topics specific to the MagPac utility.

/////////////////////////////////////////////////////////////////////////////
Other standard files:

StdAfx.h, StdAfx.cpp
    These files are used to build a precompiled header (PCH) file
    named MagPac.pch and a precompiled types file named StdAfx.obj.

Resource.h
    This is the standard header file, which defines new resource IDs.
    Microsoft Developer Studio reads and updates this file.

/////////////////////////////////////////////////////////////////////////////
Other notes:

If your application uses MFC in a shared DLL, and your application is 
in a language other than the operating system's current language, you
will need to copy the corresponding localized resources MFC40XXX.DLL
from the Microsoft Visual C++ CD-ROM onto the system or system32 directory,
and rename it to be MFCLOC.DLL.  ("XXX" stands for the language abbreviation.
For example, MFC40DEU.DLL contains resources translated to German.)  If you
don't do this, some of the UI elements of your application will remain in the
language of the operating system.

/////////////////////////////////////////////////////////////////////////////
