ds_version(3xds) — Subroutines
(c) Digital Equipment Corporation. 1994. All rights reserved.
Name
ds_version − Negotiates the features of the interface and service.
Syntax
Status = ds_version(Feature-List, Workspace)
Argument@Data Type@Access
Feature-List@DS_Feature@T{ write/read T} Workspace@OM_workspace@T{ read T} Status@T{ DS_status T}
C Binding
DS_status ds_version(feature_list, workspace)
DS_feature@T{ feature_list[] T} OM_workspace@T{ workspace T}
Arguments
Feature-List
An ordered sequence of features, each represented by an object identifier. The sequence is terminated by an object identifier having no components (that is, a length of zero, and any value of the data pointer in the C representation).
Workspace
Specifies the workspace (obtained from a call to the Initialize function) for which the features are to be negotiated. The features will be in effect for operations which use the workspace or directory sessions associated with the workspace.
Description
This function negotiates features of the interface that are represented by object identifiers. Features are negotiated after a workspace has been initialized. Negotiable features include the Basic-Directory-Contents Package, the Strong-Authentication Package, and the MHS Directory User Package. Digital’s implementation of this function does not support these packages, but supports one extension, DSX-RET-X500-BIND-ERR-FTR. This feature guarantees that the Bind function will always return an error if it fails to connect to an X.500 directory. This feature is useful if the system where your application runs is capable of simultaneous connections to both CDS and X.500 directories in the same XDS session. In other circumstances, this feature is not needed.
Return Value
The features were successfully negotiated. T} DS_NO_WORKSPACE@T{ A workspace has not been set up by a call to the Initialize function. T}
If neither of these constants are returned, then the function returns a pointer to an error object of one of the classes listed below.
Errors
This function can return pointers to the following error objects:
Library-Error, with the Problem attribute values of miscellaneous, bad_workspace.
System-Error
Example
The following code extract shows an example call to the Version function.
Exhibit 0-0.
{
OM_workspace workspace;
DS_feature feature_list[];
DS_status status;
status = ds_version(feature_list, workspace);
if (status == DS_SUCCESS)
{
printf("VERSION was successful0);
}
else
{
printf("VERSION failed0);
} }