VLSbatchUpdate

Syntax

Ls_status_code vlsbatchupdate (int              numhandles,
                               ls_handle       *lshandle,
                               unsigned long   *unused1, 
                               long            *unused2,
                               unsigned char   *log_comment,
                               ls_challenge    *unused4,
                               ls_status_code  *status); 	 	 
Argument Description
numHandles

Specifies the number of handles.

lshandle

An IN parameter. The array of numHandles handles, allocated by caller.

unused1

Currently ignored—pass in a NULL.

unused2

Currently ignored—pass in a NULL.

log_comment

>If vendor usage data attribute consists of multiple words, each will be anonymized individually, only if they are separated using a space. In general, avoid specifying the same entry (or word) twice in the vendor usage data attribute as the "uniquely" anonymized data will be repeated.

>The spaces in the vendor usage data attribute are replaced with underscores (_). Also, the keyword <an> itself is not anonymized and is replaced by an underscore (_) in the resulting usage log line record.

>To complete the vendor usage data attribute anonymization process, the system administrator must have also allowed anonymity of user information (either by setting the LS_LOG_ANONYMITY environment variable or using the -log-anonymity License Manager start-up option).

unused4

Use NULL as the value.

status

An OUT parameter. The array of numHandles status codes, allocated by caller.

Description

Updates several license authorization at once.

Currently the licensing library defaults to automatic license renewal. You do not need to call this unless you disable the automatic license renewal. Also note that this does not updates capacity authorizations and queued handles.

API function interface for updating several licenses. It handles properly the fact that some of the licenses may need to be updated locally, and some remotely. In case the handles need to be updated on different License Managers, use the VLSbatchUpdate calls interspersed with VLSsetContactServer calls. This function contacts only one License Manager for the updates. This function does not call built-in error handlers at all. There is no limit on the number of handles passed. A handle obtained in one thread can be used in remaining threads as well to update a specific token.

Returns

If everything fails, this function will return a non-LS_SUCCESS code. For failures in individual updates of license codes, this function will return LS_SUCCESS, but the value of the corresponding status element will be set to the error code. Otherwise, it will return the following error codes:

Error Code Description

LS_BADHANDLE

Invalid handle

VLS_CALLING_ERROR

>License Manager used for update is not the same one that was used for acquiring the license.

>The challenge argument is non-NULL, but cannot be understood.

>The log comment value has exceeded the maximum allowed buffer size. Up to 100 characters are allowed (excluding the null character). If you plan to have only a part of data as anonymized, then use the following formula to calculate the maximum allowed data: 100 bytes = 17x + y, where "x" is the number of words to be anonymized and "y" is the length of the unanonymized data. If you plan to have only anonymized characters in the usage log file, then after the anonymization tag <an>, up to 6 words separated by a space can be included.

>The log comment probably consists of the hash (#) sign in the beginning or end of the string. Also, it should not contain consecutive hash signs.

VLS_NO_LICENSE_GIVEN

Generic error indicating that the license was not updated.

VLS_NO_SUCH_FEATURE

License Manager does not have license that matches requested feature, version and capacity.

LS_LICENSETERMINATED

Cannot update license because license already expired.

LS_NOLICENSESAVAILABLE

All licenses in use.

LS_LICENSE_EXPIRED

License has expired.

VLS_USER_EXCLUDED

User or machine are excluded from accessing requested feature.

VLS_APP_NODE_LOCKED

Requested feature is node locked but update request was issued from unauthorized machine.

VLS_CLK_TAMP_FOUND

License Manager has determined that the client’s system clock has been modified. The license for this feature has time-tampering protection enabled, so the license operation is denied.

VLS_VENDORMISMATCH

The vendor identification of the requesting application does not match the vendor identification of the feature for which the License Manager has a license.

VLS_NO_SERVER_RUNNING

License Manager on specified host is not available for processing license operation requests.

VLS_NO_SERVER_RESPONSE

Communication with License Manager has timed out.

VLS_HOST_UNKNOWN

Invalid hostName was specified.

VLS_BAD_SERVER_MESSAGE

Message from License Manager could not be understood.

LS_NO_NETWORK

Generic error indicating that the network is unavailable for servicing the license operation.

LS_BUFFER_TOO_SMALL

An error occurred in the use of an internal buffer.

See Also

>LSUpdate

>Challenge Response Mechanism

>VLSsetTimeoutInterval

>VLSdisableLocalRenewal

>VLSenableLocalRenewal

>VLSisLocalRenewalDisabled

>VLSsetRemoteRenewalTime