These are the files I zipped and what they are:

contents.txt	This file
project1.dpr	the source of the trial project
project1.exe	the trial project
project1.opt	I think that file would have not been essential (Ittfwhnbe)
project1.res    Ittfwhnbe
readme.txt	Some history and all the documentation you'll get
unit1.dcu	Ittfwhnbe
unit1.dfm	The trial form
unit1.pas	The trial delphi source, contains Encrypt (call of .DLL)
unixpass.c	The real genuine UNIX crypt equivalent
unixpass.def	Ittfwhnbe
unixpass.dll	The .DLL which can be loaded from C, Delphi 2.0
unixps16.dll	The .DLL which can be loaded from C, Delphi 1.x
unixpass.dsw	Ittfwhnbe
unixpass.ide	The Borland C++ 4.5 project file
unixpass.obj	I can't make use of the .OBJ bacause of F_SCOPY@ reference
unixpass.obr	Ittfwhnbe

                (some generated files, ie. .EXE, may have been removed
                 to save space)

Ps. To recompile and run the examples you need Delphi 1.x because
    loading a library is done differently in Delphi 2.0.

    Of course, you can adapt the library load for 2.0.

    You will notice that in Encrypt the library is loaded and unloaded
    immediately.  It may not be always appropriate in your situation.

    The Project1.exe will only run if you have the Delphi 1.x support
    libraries (I suppose 2.0 might work too).  I haven't checked that
    support libraries are needed as this isn't a usefull program for
    those who don't develop in Delphi anyway.

Note again: The above isn't entirely true.  This version is for
            Delphi 2.0.  There isn't much difference after all
            between a load for Delphi 1.x and 2.0.  I had to change
            these 2 lines:

     From: (1.x)
        TUnixCrypt = function(ASalt: PChar; AKey: PChar): integer;
        passProcPointer := GetProcAddress(passLibHandle, 'UnixCrypt');
     To:   (2.0)
        TUnixCrypt = function(ASalt: PChar; AKey: PChar): integer; cdecl;
        passProcPointer := GetProcAddress(passLibHandle, '_UnixCrypt');

            The most important difference had to do with the DLL
	    itself.  It seems that there must be a version for 16 bits
	    Windows and one for 32 bits windows.  The file
	    Unixpass.dll is a 32 bits version while, if you want to
	    use a 16 bits version you must rename the file
	    Unixps16.dll into Unixpass.dll and put the above lines
	    back the way they must be for Delphi 1.x.

Grard Perreault
gperreau@igp.qc.ca
http://www.igp.qc.ca
