Feature_Info_Struct (VLSfeatureInfo Struct)

Information about specific features licensed by the Sentinel RMS License Manager is returned in the following structure.

Syntax

typedef struct	 	feature_info_struct {


long	 	structSz
char	 	feature_name[VLS_MAXFEALEN];
char	 	version[VLS_MAXFEALEN];
int	 	lic_type;
int	 	trial_days_count;
long	 	birth_day;
long	 	death_day;
int	 	num_licenses;
int	 	total_resv;
int	 	lic_from_resv;
int	 	qlic_from_resv;
int	 	lic_from_free_pool;
int	 	qlic_from_free_pool;
int	 	is_node_locked;
int	 	concurrency;
int	 	sharing_crit;
int	 	locking_crit;
int	 	holding_crit;
int	 	num_subnets;
char	 	site_license_info [VLS_SITEINFOLEN];
long	 	hold_time;
int	 	meter_value;
char	 	vendor_info [VLS_VENINFOLEN + 1];
char	 	cl_lock_info[VLS_MAXCLLOCKLEN];
long	 	key_life_time;
int	 	sharing_limit;
int	 	  soft_num_licenses;
int	 	is_standalone;
int	 	check_time_tamper;
int	 	  is_additive;
int	 	isRedundant;
int	 	majority_rule;
int	 	isCommuter; 
int	 	log_encrypt_level;
int	 	elan_key_flag;
long	 	conversion_time;
long	 	avg_queue_time;
long	 	queue_length;
int	 	tot_lic_reqd;
int	 	isELMEnabled;
int	 	commuted_keys;
int	 	commuter_keys_left; 
char	 	server_locking_info[VLS_MAXSRVLOCKLEN];
int	 	capacity_flag;
unsigned long	 	capacity;
unsigned long	 	total_resv_capacity;
unsigned long	 	in_use_capacity_from_reserved;
unsigned long	 	in_use_capacity_from_unreserved;
long	 	commuter_max_checkout_days;
long	 	grace_period_flag;
long	 	grace_period_calendar_days;
long	 	grace_period_elapsed_hours;
int	 	num_subnets;
long	 	overdraft_flag;
long	 	overdraft_hours;
long	 	overdraft_users;
long	 	overdraft_users_in_use;
int	 	local_request_lockcrit_flag;
int	 	local_request_lockcrit_required;
int	 	local_request_lockcrit_float;
int	 		local_request_lockcrit_min_num;
int	 		isGraceLicense;
int	 		license_version;
char	 		plain_vendor_info;
int	 		trial_elapsed_hours;
int	 		trial_execution_count;
int	 		trial_calendar_period_left;
int	 		trial_elapsed_period_left;
int	 		trial_executions_left;
int	 		trial_current_status;
VLS_VM_DETECTION	vm_detection;
Time64_T	 	birth_day64;
Time64_T	 	death_day64;
Time64_T	 	grace_period_remaining; 

Time64_T	 	grace_period_expiry_date;
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;
unsigned int	 	num_licenses_v2;
unsigned int	 	total_resv_v2;
unsigned int	 	lic_from_resv_v2;
unsigned int	 	lic_from_free_pool_v2;
unsigned int	 	soft_num_licenses_v2;
unsigned int	 	commuted_keys_v2;
unsigned int	 	commuter_keys_left_v2;


} VLSfeatureInfo; 	 
Member Description
structSz

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

feature_name

Name of the feature whose information is retrieved. Maximum 24 characters.

version

Feature version. Maximum 11 characters.

lic_type

Type of license either trial or normal.

trial_days_count

Number of trial days.

birth_day

Day of the license start date.
The constant VLS_NO_EXPIRATION1 is returned for licenses with no limit set on birth date.

death_day

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

num_licenses

Total hard limit at a feature node.
The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the num_licenses_v2 attribute.

total_resv

Number of licenses reserved using group reservations.
The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the total_resv_v2 attribute.

lic_from_resv

Number of reserved licenses issued to clients.

The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the lic_from_resv_v2 attribute.

qlic_from_free_pool

Number of unreserved licenses issued to queued clients.

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 client specifies the hold time through the function, VLSsetHoldTime).
  • VLS_HOLD_CODE (the license code specifies the hold time).
hold_time

The hold time specified for licenses issued for this feature.

num_subnets

The number of subnet specifications provided for the site.

site_license_info

A space-separated list of subnet wildcard specifications.

meter_value

Unused.

vendor_info

The vendor-defined information string. The maximum length of vendor_info string can be up to 2000 characters.

cl_lock_info

Locking information about clients 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 of the licensed application can share the same license.

soft_num_licenses

The soft limit (for alerts) on the number of concurrent users of this feature.
The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the soft_num_licenses_v2 attribute.

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

Number of redundant License Managers.

isCommuter

Commuter licenses.

log_encrypt_level

Encryption level in the network license for the License Manager’s usage log file.

avg_queue_time

Average time the past or present clients are in the queue. (Not implemented.)

queue_length

Length of the queue.

tot_lic_reqd

Required number of licenses for all queued clients.

commuted_keys

Number of commuter keys that have been checked out.
The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the commuted_keys_v2 attribute.

commuter_keys_left

Number of commuter keys left.
The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the commuter_keys_left_v2 attribute.

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

Total capacity of the license.

total_resv_capacity

Total reserved capacity.

in_use_capacity_from_reserved

Capacity given to clients from reserved capacity.

in_use_capacity_from_unreserved

Capacity given to clients from unreserved capacity.

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.

lic_from_free_pool

Number of unreserved licenses issued to clients.
The maximum value that can be displayed for this attribute (including v20 licenses) is 2,097,150. For the 4,294,967,294 value, refer to the lic_from_free_pool_v2 attribute.

overdraft_flag

Not supported.

overdraft_hours

Not supported.

overdraft_users

Not supported.

overdraft_users_in_use

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.
isGraceLicense

Set to VLS_TRUE only when the grace period is available for the local request

license_version

The Sentinel RMS license version. The possible values are:  

  • 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
plain_vendor_info The public vendor information included in the license.
trial_elapsed_hours The total number of hours for which the trial license can be used.
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

Can be any of the following:

  • VLS_TRIAL_UNUSED - The license has never been requested and therefore the trial period has not yet begun.
  • VLS_TRIAL_ACTIVE - License is requested at least once,but some trial usage is still left.
  • VLS_TRIAL_EXHAUSTED - Usage limit of trial license is exhausted.
vm_detection License requests are allowed or not if virtual machine is detected.
birth_day64 The day of the license start date.
The constant VLS_NO_EXPIRATION1 is returned for licenses with no limit set on birth date. It is 64bit counterpart of the member birth_day (32 bit), and hence supports EPOC time beyond year 2038.
death_day64 The time when the feature expires.
The constant VLS_NO_EXPIRATION1 is returned if the license does not have any expiration date. It is 64bit counterpart of the member death_day (32 bit), and hence supports EPOC time beyond year 2038.
grace_period_remaining

The remaining grace period (in seconds) before it elapses.

This field contains relevant values only after the grace license is used for the first time on the disconnected system (or no-net). Otherwise, this field contains zero (0).

grace_period_expiry_date

The grace period expiry date in 64 bit time_t.

This field contains relevant values only after the grace license is used for the first time on the disconnected system (or no-net). Otherwise, this field contains zero (0).

eid Entitlement ID. This field is applicable for Cloud-Served Lease Deployment Mode.
fid Feature ID. This field is applicable for Cloud-Served Lease Deployment Mode.

pid

Product ID. This field is applicable for Cloud-Served Lease Deployment Mode.
aid Authorization ID. This field is applicable for Cloud-Served Lease Deployment Mode.
cloudUsageFlag

>For On-premise deployment, this is 0.

>This field is applicable for Cloud-Served Lease Deployment Mode. It decides whether the Cloud-based usage data is being generated or not. The possible values are:

0 - The Cloud-based usage data is not generated.

1 - The Cloud-based usage data is being generated.

licSource

This field decides whether the license is applicable for Cloud-Served Lease Deployment Mode or not.

> 1 - License is supported for Cloud-Served Lease Deployment Mode

>0 - License is not supported for Cloud-Served Lease Deployment Mode

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 of 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 Total hard limit at the feature node.
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.
total_resv_v2 Number of licenses reserved using group reservations. 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.
lic_from_resv_v2 Number of reserved licenses issued to clients.
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.
lic_from_free_pool_v2 Number of unreserved licenses issued to clients.
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.
commuted_keys_v2 Number of commuter keys that have been checked out.
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.
commuter_keys_left_v2 Number of commuter keys left.
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.

1 The VLS_NO_EXPIRATION macro is defined in the lserv.h file.

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.