License_Info_Struct (VLSlicenseInfo Struct)

The license information for a specific feature-version combination is returned by the following structure.

Syntax

typedef struct license_info_struct{
long structSz;
char feature_name[VLS_MAXFEALEN + 1];
char version[VLS_MAXFEALEN + 1];
int lic_type;
int trial_days_count;
Time_T birth_day;
Time_T death_day;
int num_licenses;
int is_node_locked;
int concurrency;
int sharing_crit;
int locking_crit;
int holding_crit;
int num_subnets;
char site_license_info[VLS_SITEINFOLEN + 1];
long hold_time;
int meter_value;
char vendor_info[VLS_VENINFOLEN + 1];
char cl_lock_info[VLS_MAXCLLOCKLEN + 1];
long key_life_time;
int sharing_limit;
int soft_num_licenses;
int is_standalone;
int check_time_tamper;
int is_additive;
int num_servers;
int isRedundant;
int majority_rule;
int log_encrypt_level;
int elan_key_flag;
long conversion_time;
char server_locking_info[VLS_MAXSRVLOCKLEN + 1];
int capacity_flag;
unsigned long capacity;
int isCommuter;
long commuter_max_checkout_days;
long grace_period_flag;
long grace_period_calendar_days;
long grace_period_elapsed_hours;
long overdraft_flag;
long overdraft_hours;
long overdraft_users;
int local_request_lockcrit_flag;
int local_request_lockcrit_required;
int local_request_lockcrit_float;
int local_request_lockcrit_min_num;
int license_version;
char plain_vendor_info[VLS_VENINFOLEN + 1];
int trial_elapsed_hours;
int trial_calendar_period_left;
int trial_elapsed_period_left;
int trial_current_status;
char license_hash[VLS_MAX_LICENSE_HASH_LEN + 1];
char license_storage[VLS_LICENSE_STORAGE_MAXPATHLEN + 1];
int license_state;
int license_precedence;

  VLS_VM_DETECTION vm_detection;


  wchar_t license_storage_unicode[VLS_LICENSE_STORAGE_MAXPATHLEN_UNICODE + 1];

  Time64_T deferred_revocation_time; Time64_T birth_day64; Time64_T death_day64; char eid[VLS_MAXEIDLEN]; int pid; int fid; char aid[VLS_MAXAIDLEN]; int cloud_usage_flag; int lic_source; Time64_T activation_birth_time; Time64_T activation_expiry_time; char license_vendor_info; unsigned int num_licenses_v2; unsigned int soft_num_licenses_v2; }VLSlicenseInfo;

Member

Description

structSz

Size of VLSlicenseInfo structure. The structSz needs to be set by the caller.

feature_name

The name of the feature whose information is retrieved. Currently, a 24 characters long feature name is supported.

version

Feature version. Maximum 11 characters.

lic_type

The type of license, either trial or normal.

trial_days_count

The number of trial days.

birth_day

The day of the license start date.

death_day

The time when the feature expires. The constant, VLS_NO_EXPIRATION, is returned if the license does not have any expiration date.

num_licenses

The total number of licenses the License Manager is authorized to issue.

is_node_locked

Depending on the locking scheme of the feature, this returns one of the following constants:

  • VLS_NODE_LOCKED (Client-Server locked)
  • VLS_CLIENT_NODE_LOCKED (Client locked)
  • VLS_FLOATING (Server locked)
  • VLS_DEMO_MODE (Unlocked)
concurrency

Unused

sharing_crit

Returns the license sharing criteria, which can be one of the following constants:

  • VLS_NO_SHARING
  • VLS_USER_NAME_ID
  • VLS_CLIENT_HOST_NAME_ID
  • VLS_X_DISPLAY_NAME_ID
  • VLS_VENDOR_SHARED_ID
locking_crit

The License Manager locking criteria, which can be one of the following constants:

  • VLS_LOCK_ID_PROM
  • VLS_LOCK_IP_ADDR
  • VLS_LOCK_DISK_ID
  • VLS_LOCK_HOSTNAME
  • VLS_LOCK_ETHERNET
  • VLS_LOCK_PORTABLE_SERV
  • VLS_LOCK_CUSTOM
  • VLS_LOCK_CUSTOMEX
  • VLS_LOCK_CPU
  • VLS_LOCK_HARD_DISK_SERIAL
  • VLS_LOCK_CPU_INFO
  • VLS_LOCK_UUID
holding_crit

The license holding criteria, which can be one of the following constants:

  • VLS_HOLD_NONE (no held licenses).
  • VLS_HOLD_VENDOR (the hold time specified through the VLSsetHoldTime function).
  • VLS_HOLD_CODE (the license code specifies the hold time).
num_subnets

The number of subnet specifications provided for the site.

site_license_info

A space-separated list of subnet wildcard specifications.

hold_time

The holdtime specified for licenses issued for this feature.

vendor_info

The vendor-defined information string. The maximum length of the string can be 2000 characters.

cl_lock_info

The locking information about machines in a space-separated string of host IDs and/or IP addresses.If licenses-per-node restrictions have been specified, they are also returned in parentheses with each host ID/IP address. For instance, cl_lock_info could be:0x8ef38b91(20#) 0xa4c7188d 0x51f8c94a(10#).

key_life_time

The license lifetime for this feature (in seconds).

sharing_limit

The limit on how many copies can share the same license.

soft_num_licenses

The soft limit (for alerts) on the number of concurrent users of this feature.

is_standalone

The license type as any of the following:

> VLS_STANDALONE_MODE - for a standalone license

> VLS_NETWORK_MODE - for a network license

> VLS_PERPETUAL_MODE - for a repository license

check_time_tamper

Returns VLS_TRUE if this feature is time tamper proof or VLS_FALSE if not time tamper proof.

is_additive

Returns VLS_TRUE if this is an additive license or VLS_FALSE if this is an exclusive license. The license type as any of the following:

>VLS_ADDITIVE - for an additive license

>VLS_EXCLUSIVE - for an exclusive license

>VLS_AGGREGATE - for an aggregate license

isRedundant

Validates if the license is actually redundant.

majority_rule

Checks whether majority rule is on or off.

num_servers

The number of redundant License Managers.

isCommuter

Checks whether commuter licenses are allowed or not.

log_encrypt_level

The encryption level in the network license for the License Manager's usage log file.

elan_key_flag

Unused.

conversion_time

Unused.

server_locking_info

Stores the server locking information.

capacity_flag

The capacity flag can be one of the following constants:

> VLS_CAPACITY_NONE - for no capacity

> VLS_CAPACITY_NON_POOLED - for non-pooled capacity

> VLS_CAPACITY_POOLED - for pooled capacity

capacity

The total capacity of the license.

commuter_max_checkout_days

The maximum number of days a commuter license can be checked out for.

grace_period_flag

A flag that decides whether grace period for a license will be provided or not. It can be any of the following constants:

> VLS_NO_GRACE_PERIOD - grace period not allowed (default)

> VLS_STANDARD_GRACE_PERIOD - grace period allowed

grace_period_calendar_days

The number of days the grace period will last for. It can be a value between 1 to 180 days.

grace_period_elapsed_hours

The number of hours the grace period will last for. It can be a value between 1 to 1440 hours.

overdraft_flag

Not supported.

overdraft_hours

Not supported.

overdraft_users

Not supported.

localRequestLockCritFlag

Contains the flag value that defines whether the local license request locking criteria is used or not for the commuter, repository, and grace license:

0 - Local license request criteria is not used

1 - Local license request criteria is used

localRequestLockCritRequired The ORed decimal value of necessary criteria that must be met for making the licenses available to a local client.
localRequestLockCritFloat The ORed decimal value of desired criteria that must be met for making the licenses available to a local client.
localRequestLockCritMinNum The minimum number of locking license criteria that must be met for making the licenses available to a local client.
license_version

The possible values for Sentinel RMS license versions are as follows:  

>VLS_LICENSE_VERSION_950 - For Sentinel RMS 9.5.0 licenses

>VLS_LICENSE_VERSION_941 - For Sentinel RMS 9.4.1 licenses

>VLS_LICENSE_VERSION_940 - For Sentinel RMS 9.4.0 licenses

>VLS_LICENSE_VERSION_910 - For Sentinel RMS 9.1.0 licenses

>VLS_LICENSE_VERSION_900 - For Sentinel RMS 9.0.0 licenses

>VLS_LICENSE_VERSION_860 - For Sentinel RMS 8.6.0 licenses

>VLS_LICENSE_VERSION_850 - For Sentinel RMS 8.5.0 licenses

>VLS_LICENSE_VERSION_840 - For Sentinel RMS 8.4.0 and 8.4.1 licenses

>VLS_LICENSE_VERSION_823 - For Sentinel RMS 8.2.3 licenses

>VLS_LICENSE_VERSION_810 - For Sentinel RMS 8.1.x, 8.2.0, 8.2.1, 8.2.2 licenses

>VLS_LICENSE_VERSION_800 - For Sentinel RMS 8.0.x licenses

>VLS_LICENSE_VERSION_7301 - For Sentinel RMS 7.3.0.1 licenses

>VLS_LICENSE_VERSION_730 - For Sentinel RMS 7.3.0 licenses

>VLS_LICENSE_VERSION_700 - For Sentinel RMS 7.0.0 licenses

>VLS_LICENSE_VERSION_TOO_OLD - For licenses older than Sentinel RMS 7.0.0

>VLS_LICENSE_VERSION_LATEST - For the latest version of Sentinel RMS licenses

>VLS_LICENSE_VERSION_NOT_DEFINED - When the license version is not defined

trial_elapsed_hours

The total number of hours for which the trial license can be used.

plain_vendor_info

The information that a vendor wants to share with the end-customers.This value will appear unencrypted in readable/ concise readable license code. The maximum length of the string can be up to 395 characters.

license_vendor_info License vendor information included in the license and applicable to version 19 licenses and above.
license_hash

The license hash identifier for a license code.

license_storage

The file location where the license is stored.

license_state

Indicates whether this license is a part of the license table node or not.

Possible values:

VLS_LICENSE_STATE_INACTIVE

VLS_LICENSE_STATE_ACTIVE

license_precedence

Indicates the priority of a particular trial license among the set of licenses having the same feature-version combination.

trial_calendar_period_left

The total number of days left for using a trial license.

trial_elapsed_period_left

The number of seconds left in the trial elapsed time period. Valid only if elapsed time is being enforced.

trial_current_status

The current state of this trial license. The possible values are:

>VLS_TRIAL_UNUSED - The license has never been requested and therefore the trial period has not yet begun.

>VLS_TRIAL_ACTIVE - The trial period has started (requested at least once).

>VLS_TRIAL_EXHAUSTED - The trial period is over. 

vm_detection License requests are allowed or not if virtual machine is detected.
license_storage_unicode

The Unicode variant of the license_storage member. It is capable of storing localized license storage path for non-English Windows operating systems.

For English operating systems, both the members hold the same values.

For non-English operating systems:

>license_storage holds the license storage path in multi-byte form.

>license_storage_unicode holds the localized path as is.

NOTE   If you are using the license_storage field, you can obtain the localized path by converting its value to  wide char using the Windows API, MultiByteToWideChar. For the UINT CodePage argument of the API, use CP_UTF8.

For implementations that use the v8.5.2 (or later) libraries, use of license_storage_unicode is   recommended to facilitate Internationalized applications.

deferred_revocation_time

Any value other than zero denotes that the license has deferred revocation period associated.

The value will be the time in seconds (since EPOCH) after which revocation will take place.

birth_day64

The day of the license start date.

It is the 64-bit counterpart of the member birth_day (32-bit), and hence supports EPOC time beyond year 2038.

death_day64

Time of feature expiration. If the license does not have any expiration date, the constant, VLS_NO_EXPIRATION is returned.

It is the 64-bit counterpart of the member death_day (32 -bit), and hence supports EPOC time beyond year 2038.

eid Entitlement ID. This field is applicable for Cloud-Served Lease Deployment Mode.
pid Product ID. This field is applicable for Cloud-Served Lease Deployment Mode.
fid Feature ID. This field is applicable for Cloud-Served Lease Deployment Mode.
aid Authorization ID. This field is applicable for Cloud-Served Lease Deployment Mode.
cloud_usage_flag Cloud usage flag. This field is used internally by Sentinel products.
lic_source License source. This field is used internally by Sentinel products.
activation_birth_time

This field is used by SCL-Add-on for RMS for storing entitlement start date and time.

Notes:

>This field is relevant for version 17 (and above) licenses.

>For license version(s) 16 and below, the default value (0) will be returned as the value for this field.

activation_expiry_time

This field is used by SCL-Add-on for RMS for storing entitlement expiration date and time.

Notes:

>This field is relevant for version 17 (and above) licenses.

>For license version(s) 16 and below, the default value (0) will be returned as the value for this field.

num_licenses_v2 The total number of licenses the License Manager is authorized to issue.
From Sentinel RMS v9.5 onwards, this new attribute has been introduced to support license hard limit up to 4,294,967,294. This is applicable for license version 20 and above.
soft_num_licenses_v2 The soft limit (for alerts) on the number of concurrent users of this feature.
From Sentinel RMS v9.5 onwards, this new attribute has been introduced to support soft limit up to 4,294,967,294. This is applicable for license version 20 and above.

NOTE   From Sentinel RMS v9.5 onwards, license hard limit up to 4,294,967,294 is supported. This is applicable for license version 20 and above.