							R. W. Seiler 1/30/2008
FUNCTIONAL CHANGES FROM PPP V3 TO PLUS V4...

Please keep in mind that a major conceptual difference between V3 and V4 is 
that whereas V3 entered/updated settings in a memory buffer that was saved to 
the Control File, V4 mostly enters/updates settings directly to the License 
File without using an intermediate buffer. This change improved security and 
reliability, but required creation of many new functions to replace old ones, 
with differences to parameters and any value returned. For example, in the 
second column you will see that the more generally applicable pp_setvarnum() 
now replaces several specific functions that previously set numeric values 
for just specific PPP features. Using a more generally applicable function 
like this is simpler than having a different function for setting values for 
each feature. (pp_setvarnum() happens to be a function that also existed
in V3, but has been redesigned for V4. Many other equivalents are completely
new functions.)

REPLACED V3 FUNCTIONS:     	V4 EQUIVALENTS:*	LF field identifier
							(from Keylib.ch)
pp_advect()			pp_countinc()

pp_clearbit()			pp_bitclear()

pp_copycheck()			pp_copycheckth()

pp_copywrite()			pp_copyadd()

pp_exect()			pp_getvarnum()		VAR_EXP_COUNT

pp_exelimit()			pp_getvarnum()		VAR_EXP_LIMIT

pp_expdate()			pp_getdate()

pp_exptype()			pp_getvarchar()		VAR_EXPIRE_TYPE

pp_hdlockwr()			pp_lfcreate()

pp_initcf()			pp_lfopen()

pp_killprot()			pp_filedelete()

pp_lanactive()			pp_lanactive(LFhandle)

pp_landecr()			pp_countdec()

pp_lanincr()			pp_countinc()

pp_lanlimit()			pp_getvarnum()		VAR_LAN_LIMIT

pp_lanminus()			pp_countdec()

pp_lanplus()			pp_countinc()

pp_lanusers()			pp_getvarnum()		VAR_LAN_COUNT

pp_nexect()			pp_setvarnum()		VAR_EXP_COUNT

pp_nexelim()			pp_setvarnum()		VAR_EXP_LIMIT

pp_nexptype()			pp_setvarchar() 
                                  plus: pp_setvardate() or pp_setvarnum()

pp_nlanct()			pp_setvarnum()		VAR_LAN_COUNT

pp_nlanlim()			pp_setvarnum()		VAR_LAN_LIMIT

pp_serial()			pp_getvarnum()		VAR_SERIAL_NUM

pp_setbit()			pp_bitset()

pp_testbit()			pp_bittest()

pp_ucode()			pp_tcode()

pp_unlock()			pp_setvarchar()		VAR_EXPIRE_TYPE

pp_writecf()			pp_lfcreate() and pp_lfclose()



For a brief summary description of each of these functions, see pg. 5-69 of 
the V3 manual and pg. 6-9 of the V4 manual.

* Equivalent functions may not correspond exactly with replaced functions. 
Compare the features of the replaced function with the new function to 
determine any coding changes that may be required, especially regarding 
parameters and any returned value.
