Previous section.

Systems Management: Software License Use Management (XSLM)
Copyright © 1999 The Open Group

NAME

xslm_set_admin_policy

SYNOPSIS

#include <libxslm.h>

xslm_uint32 xslm_set_admin_policy(
    xslm_uuid       server_id,
    xslm_uuid       publisher_id,
    xslm_uint32     product_id,
    xslm_uint32     version_id,
    xslm_uint32     feature_id,
    xslm_uint32     cert_serial_number,
    xslm_uint32     cert_update_seq,
    xslm_uint32     update_type,
    xslm_uint32     update_element_id,
    xslm_uint32     update_element_seq,
    xslm_uint32     admin_data_length,
    xslm_bin_string * admin_data,
    xslm_uint32     * status,
    xslm_uint32     auth_token,
    xslm_bin_string auth_signature,
    xslm_uuid       * auth_lic_sys_id
);


DESCRIPTION

Sets those license-related values, which the license certificate allows an administrator to set or reset (assign nodeID, userID, set confirm time interval, set hard/soft stop policy, etc.).

INPUT PARAMETERS

server_id

Identification of server to which this request is being directed.

publisher_id

The Software Publisher UUID.

product_id

ID number of the product whose license is requested. Unique within the publisher_id domain.

version_id

The version of the product whose license is being installed.

feature_id

The products associated feature number. If not used must be set to binary zeros.

cert_serial_number

The unique serial number assigned to the certificate by the publisher.

cert_update_seq

The certificates current update value. This value is updated every time the license certificate values are updated. The license server will only update the certificate, if the cert_update_seq value passed on the call matches the license certificates current value. This value is returned as part of xslm_get_certificate().

update_type

The type of change to be made (XSLM_SET_POLICY_ADD, XSLM_SET_POLICY_DELETE, or XSLM_SET_POLICY_REPLACE).

update_element_id

The data element ID of the element to be operated on.

update_element_seq

The data element sequence number of the element to be operated on, or 0 if unknown.

admin_data_length

Length of administrative policy data.

admin_data

Structure containing a single or multiple sets of self-describing administrative policy data elements. See Data Elements for the format of the administrative policy fields.

auth_token

A 32-bit arbitrary value created by the application and used as part of the licensing system authentication process. See Process Description for more information.

OUTPUT PARAMETERS

status

Completion status. Detailed error code directly addressable by the caller. This value is set of XSLM_OK if no error occurred. For other messages, see ERRORS.

auth_signature

An area large enough to contain a 16-byte digital signature created by the licensing system from the input parameters and auth_token. Used as part of the licensing system authentication process.

auth_lic_sys_id

A unique identifier for the particular type of licensing system handling the current license instance. Used as part of the licensing system authentication process.

RETURN VALUE

XSLM_OK

Query completed successfully

XSLM_COMM_ERR

Communications problem

XSLM_CERT_ERR

Problems with the license and/or certificate

XSLM_RESRC_UNAVL

Resources unavailable

XSLM_PARM_ERR

Bad parameters passed

XLSM_AUTH_ERROR

Requester is not authorized

PROGRAMMING NOTE

xslm_set_admin_policy() requests that the license server change one or more administrative policies associated with the specified certificate. Policies can be added, changed or removed. Only one policy element can be changed at a time.

ERRORS

The function return value gives an overall indication of the success or failure of the call. In addition, the status parameter will be set to one of the following values, to further help point to the reason for a failed request.
Note:
In the future, additional values may be defined for the status variable. An application must not rely upon these being the only possible values.

Return Value Status Value Explanation
XSLM_OK XSLM_STATUS_OK No errors occurred. Certificate successfully updated.
XSLM_COMM_ERR XSLM_COMM_UNAVAIL Communications problem
XSLM_CERT_ERR XSLM_CERT_NOT_FOUND License certificate not found
  XSLM_UNRECOGNIZED_SEQ Data element sequence number not found within certificate to be updated
  XSLM_UNRECOGNIZED_ID Data element ID not recognized by license server
  XSLM_INVALID_VALUE Value not valid for associated policy data element
  XSLM_UNCHANGABLE_POLICY Publisher does not permit changes to this policy
  XSLM_NO_LONGER_CHANGABLE Certificate field has already been changed and can only be changed once
XSLM_RESRC_UNAVL XSLM_UPDATE_ID_ERROR The certificate_update_id does not match the certificate's current update_id value (that is, the certificate has been updated since the time the last update_id was obtained)
  XSLM_NO_RES Local platform specific environmental problems
XSLM_PARM_ERR XSLM_SERVER_ERROR Unrecoverable environmental error was encountered by the license server
  XSLM_BAD_PARM One or more parameters were not correct
  XSLM_BAD_SERVER_ID The server_id specified does not correspond to a known server
XSLM_AUTH_ERROR XSLM_NOT_AUTHORIZED The requester is not authorized to perform the requested action

SEE ALSO

xslm_get_certificate().

Why not acquire a nicely bound hard copy?
Click here to return to the publication details or order a copy of this publication.

Contents Next section Index