
(**********************************************************************)
(*                                                                    *)
(*             FLXKEY UNIT COPYRIGHT 1992 GUY MCLOUGHLIN              *)
(*                                                                    *)
(*     Shareware unit to create encrypted registration-key files.     *)
(*                                                                    *)
(**********************************************************************)

 {$A+,B-,D-,E-,F-,I+,N-,O-,R-,S-,V+}

unit FlxKey;

interface

              (* Type definitions.                                    *)
type
  st20  = string[20];
  st30  = string[30];
  st79  = string[79];
  st100 = string[100];

              (* FLX record definition.                               *)
  FlxRec = record
             FirstName : st20;
             LastName  : st30;
             Address1  : st30;
             Address2  : st30;
             Address3  : st30;
             AppName   : st20;
             Version   : word;
             Serial    : longint;
             Date      : longint;
             Access    : word;
           end;


  (***** Create encrypted program-key file using INrec data, Ecode1   *)
  (*     and Ecode2 encryption codes, and the OUTname filname path.   *)
  (*                                                                  *)
  procedure CreateFlxKey({ input}     INrec   : FlxRec;
                                      Ecode1  : st100;
                                      Ecode2  : st100;
                                      OUTname : st79;
                         {update} var Error   : word);


  (***** Check and decode program-key file called INname, use Ecode1  *)
  (*     and Ecode2 to decrypt this file. Decrypted data will be      *)
  (*     placed in OUTrec record, and the DaysOld variable will be    *)
  (*     set to indicate the age of the program key-file.             *)
  (*                                                                  *)
  procedure ReadFlxKey({ input}     Ecode1  : st100;
                                    Ecode2  : st100;
                                    INname  : st79;
                       {update} var OUTrec  : FlxRec;
                                var DaysOld : word;
                                var Error   : word);


