FLEXlm Programmers Guide

Document Number: 860-0124-001

Front Matter

| List of Tables |


Table of Contents

1. Introduction to FLEXlm
Features of FLEXlm
FLEXlm Terms and Definitions
Software Components
Typical Configurations
Configuration Trade-offs
Developer's Interface
FLEXlm Kits

2. Installing the Distribution Kit
Binary Installation for UNIX Systems
Binary Installation for VMS Systems
Binary Installation for Windows Systems
Binary Installation for Windows NT Systems
Source Installation
Example INSTALL Session
Example CONFIG_DAEMON Session
Installing Your FLEXlm Vendor Keys
Building Your Application

3. FLEXlm Function Calls
lc_auth_data
lc_baddate
lc_checkin
lc_checkout
lc_ck_feats
lc_crypt
lc_cryptstr
lc_disconn
lc_display, lc_hostname, lc_username
lc_errstring
lc_feat_list
lc_feat_set
lc_first_job, lc_next_job
lc_flush_config
lc_free_daemon_list
lc_free_job
lc_get_attr
lc_get_config
lc_get_errno
lc_get_dlist
lc_get_feats
lc_gethostid
lc_getid_type
lc_hosttype
lc_idle
lc_init
lc_isadmin
lc_lic_where
lc_log
lc_master_list
lc_next_conf
lc_perror
lc_remove
lc_set_attr
lc_set_errno
lc_shutdown
lc_startup
lc_status
lc_timer
lc_userlist
lc_vsend
LM_CODE

4. Incorporating FLEXlm Into Your Application
FLEXlm Naming Conventions
FLEXlm Example Applications
Client Heartbeats and License Server Failures
Internationalization
Lingering Licenses
TLI vs. Sockets
Multiple Jobs

5. Industry-Standard Licensing APIs
The FLEXlm API
Software License Working Group
LSAPI v1.1

6. Controlling Licensing Behavior Of Your Application With lc_set_attr
LM_A_ALLOW_SET_TRANSPORT
LM_A_ALT_ENCRYPTION
LM_A_ANY_ENABLED
LM_A_CHECK_INTERVAL
LM_A_CHECKOUT_DATA
LM_A_CHECKOUTFILTER
LM_A_COMM_TRANSPORT
LM_A_CONN_TIMEOUT
LM_A_CRYPT_CASE_SENSITIVE
LM_A_DIAGS_ENABLED
LM_A_DISABLE_ENV
LM_A_DISPLAY_OVERRIDE
LM_A_EF_1, LM_A_EF_2, LM_A_EF_3, LM_A_EF_4, LM_A_EF_5
LM_A_ETHERNET_BOARDS
LM_A_HOST_OVERRIDE
LM_A_HOSTID_PARSE
LM_A_LF_LIST
LM_A_LICENSE_FILE
LM_A_LICENSE_FILE_PTR
LM_A_LINGER
LM_A_MASTER
LM_A_MAX_TIMEDIFF
LM_A_NO_DEMO
LM_A_NO_TRAFFIC_ENCRYPT
LM_A_PERIODIC_CALL
LM_A_PERIODIC_COUNT
LM_A_RETRY_COUNT, LM_A_RETRY_INTERVAL
LM_A_SETITIMER
LM_A_SIGNAL
LM_A_UDP_TIMEOUT
LM_A_USE_START_DATE
LM_A_USER_CRYPT
LM_A_USER_EXITCALL
LM_A_USER_OVERRIDE
LM_A_USER_RECONNECT
LM_A_USER_RECONNECT_DONE
LM_A_VD_GENERIC_INFO, LM_A_VD_FEATURE_INFO
LM_A_VENDOR_CHECKID
LM_A_VENDOR_GETHOSTID
LM_A_VENDOR_PRINTHOSTID
LM_A_VERSION and LM_A_REVISION

7. Configuring License Daemons
lmgrd
The License Finder (lmgrd -f)
Creating a New lmgrd Executable
Configuring Your Vendor Daemon
Building Your Vendor Daemon - UNIX Systems
Building Your Vendor Daemon - VMS Systems
Building Your Vendor Daemon - Windows NT Systems
Vendor daemon Support Routines
Redundant License Servers

8. Debugging Hints
Debugging Your Application Code
Solving Problems In The Field

9. Software Vendor Utility Programs
The create_license Utility
isvaliddate
lmcrypter
create_pkg
lmfeatset

10. The License File
Format of the License File
Locating the License File
Hostids for FLEXlm Supported Machines
Special Hostids
Vendor-defined hostid
Types of License Files

11. Configuration Guidelines and Hints
Where to Install Your Licensing Software
Redundant vs. Single-server licensing
How to Keep Your Software Secure
DEMO Software
Multiple Vendors Using FLEXlm At A Single End-User Site
FLEXlm Version Compatibility

12. End-User License Administration
End-User Options File
License Administration Tools
Switching the Debug Log File Under UNIX
Communications Transport (TCP vs. UDP)

13. End-User Installation Instruction Template
Binaries Your Customers Will Require
Information every Customer Needs to Know

14. UNIX and VMS Platform-Specific Notes
Apollo
DG
HP
IBM
NCR
SGI
SVR4 Systems
Ultrix
VMS

15. Windows, Win32s, and Windows NT
Supported Compilers
Stack Space Requirement
lc_init() and lc_free_job() Must Be Matched
FLEXlm Callback Routines
FLEXlm exit() Callback
Default License File
Time Zone Setting
Node Lock and Hostid for Standalone PCs
Debugging FLEXlm Windows and Windows NT Application and DLL
Unsupported API Routines
Sample Client Program
WINSOCK DLL Compatibility

A. Distribution Kit Contents
Binary kits
Binary Kit for Windows and Windows NT
Source kits
VMS kits

B. FLEXlm 3.0 API Compatibility Macros
LM_A_CUR_JOB removed
VENDOR_KEY5 and the LM_CODE macro
lc_checkout() version is now a string
LM_USERS struct changes
l_crypt renamed to lc_crypt and args changed

C. The Daemon Log File
Informational Messages
Configuration Problems
Daemon Software Errors

D. FLEXlm Status Return Values

Index