#include <libxslm.h> xslm_uint32 xslm_query_next_level_cert_names( xslm_uuid server_id, xslm_uuid publisher_id, xslm_uint32 product_id, xslm_uint32 version_id, xslm_uint32 feature_id, xslm_uint32 certname_buffer_length, xslm_bin_string * certname_buffer, xslm_uint32 * status, xslm_uint32 auth_token, xslm_bin_string * auth_signature, xslm_uuid * auth_lic_sys_id );
xslm_query_next_level_cert_names()asks the license server to return the next level of certificate keys under the field that is specified with a non-zero input parameter. When all of the input parameters are zero, the publisher_id and publisher_name field pairs (the top-level key fields) for all certificates are returned. Note that, unlike xslm_query_cert_ids(), this function returns not only the numeric key fields, but also their textual representations.
Identification of server to which this request is being directed.
The Software Publisher UUID being queried. It unequivocally identifies the Publisher. A value of zero indicates that a list of all publisher IDs, together with the corresponding publisher text strings, which are installed on this license server, be returned. Note that whenever a value of zero is used for this parameter, the product_id, version_id and feature_id parameters must all also have values of zero.
ID number of the product being queried. A value of zero indicates that a list of all the product_ids and product text strings, within the publisher_id installed on this license server, be returned. Note that whenever a value of zero is used for this parameter, the version_id and feature_id parameters must all have values of zero.
The version of the product being queried. A value of zero indicates that a list of all the version_ids and version text strings, within the publisher_id and product_id installed on this license server, be returned. Note that whenever a value of zero is used for this parameter, the feature_id parameter must also have a value of zero.
The associated feature number of the product being queried. A value of zero indicates that a list of all the feature_ids and feature text strings, within the publisher_id, product_id and version_id installed on this license server, be returned.
A 32-bit arbitrary value created by the application and used as part of the licensing system authentication process. See
Process Descriptionfor more information.
As an input parameter: the length of the buffer to receive the results of the query. A value of zero on input indicates a request for the size of the buffer required to contain all the results of the query. No data is returned in the key buffer when a value of zero is passed.
As an output parameter: the length of usable data returned in the key buffer or the size of the buffer required to contain the entire query result if the input value were zero.
Note that the buffer must be large enough to contain the entire certificate data area. If it is not, no data is placed in the buffer and the output value of this parameter contains an estimate of the buffer length needed to contain the entire result. Note also that because the certificate state data may change at any time, the actual size needed may be different from the returned value.
Pointer to the buffer into which the query results are returned.
Completion status. Detailed error code directly addressable by the caller. This value is set to XSLM_STATUS_OK if no error occurred. For other messages, see ERRORS.
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.
A unique identifier for the particular type of licensing system handling the current license instance. Used as part of the licensing system authentication process.
Query completed successfully
Problems with the license and/or certificate
Bad parameters passed
Requester is not authorized
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.
- 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. The key buffer contains data. XSLM_PARTIAL_DATA Invalid certificate(s) encountered. Key fields from those certificates were not placed in the key buffer. XSLM_COMM_ERR XSLM_COMM_UNAVAIL Communications problem XSLM_CERT_ERR XSLM_NO_CERTIFICATES No certificates matched the query XSLM_RESRC_UNAVL XSLM_NO_RES Local platform specific environmental problems XSLM_SERVER_ERROR Unrecoverable environmental error was encountered by the license server XSLM_PARM_ERR XSLM_BAD_BUFFER_LENGTH The non-zero value for the buffer length was too small for the data being retrieved 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
A sequence of data elements, PUBLISHER, PRODUCT, VERSION, or FEATURE (depending upon the input parameters as described above; see
Data Elementsfor details of the data elements), unless the buffer area is not large enough to contain all output data in which case no data is returned.