Publish Directory Object (QgldPubDirObj) API


  Required Parameter Group:


  Default Public Authority: *USE

  Library Name/Service Program: QSYS/QGLDPAPI

  Threadsafe: No

The Publish Directory Object (QgldPubDirObj) API publishes objects to the directory server. It can be used to perform the following publishing requests:

Before this API can be called, the Directory Services property page for the system must be configured. This can be done from System i™ Navigator or by using the Change Directory Server Attributes (QgldChgDirSrvA) API. The directory server indicates the server to which objects will be published. The parent distinguished name indicates the suffix in the directory to which objects will be published. This parent distinguished name is referred to as a publish point.


Authorities and Locks

*ALLOBJ special authority is required to use this API.


Required Parameter Group

Input data
INPUT; CHAR(*)

A variable that contains the input data. See Format of Input Data for a description of the data associated with a specific format name.

Length of input data
INPUT; BINARY(4)

The length of the input data area. The maximum value for this parameter is 16 776 704.

Format name
INPUT; CHAR(8)

The format name identifying the type of publishing request. The possible format names follow:

See Format of Input Data for a description of these formats.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


Format of Input Data

For details about the format of the input data, see the following sections. For details about the fields in each format, see Field Descriptions.


POBJ0100 Format

This format is used to add a new object to the directory server.



POBJ0200 Format

This format is used to delete an object from the directory server.



POBJ0300 Format

This format is used to change an object in the directory server.



POBJ0400 Format

This format is used to change the relative distinguished name (RDN) of an object in the directory server.



Field Descriptions

Add object if it does not exist. Create the object if a request is made to modify an object that does not exist. The following values may be specified:

Attribute name. The name of a directory object attribute. This field is specified in UTF-16 (CCSID 13488).

Attribute value. The value of a directory object attribute.

Attribute value data type. The type of data for the attribute values. The following values may be specified.

Change type. The type of change being made to a directory object. The following values may be specified:

Delete directory subtree. The directory object and any child directory objects should be deleted. The following values may be specified:

Delete old RDN. The old relative distinguished name (RDN) of a directory object should be deleted. The following values may be specified:

Displacement to attribute entries. The displacement, in bytes, from the start of the current entry to the attribute entries.

Displacement to attribute name. The displacement, in bytes, from the start of the current entry to the attribute name field.

Displacement to attribute value. The displacement, in bytes, from the start of the current entry to the attribute value field.

Displacement to attribute values. The displacement, in bytes, from the start of the current entry to the attribute values.

Displacement to next entry. The displacement, in bytes, from the start of the current entry to the next entry in the input data.

Displacement to next value. The displacement, in bytes, from the start of the current value to the next value in the input data.

Length of attribute name. The length, in Unicode characters, of the attribute name field.

Length of attribute value. The length of the attribute value field. If the attribute value is specified in UTF-16 (CCSID 13488), this is the length in Unicode characters. If the attribute value contains binary data, this is the length in bytes. If the attribute value contains integer or boolean data, this field must contain the value 4.

Length of new object RDN. The length, in Unicode characters, of the new object RDN field.

Length of object RDN. The length, in Unicode characters, of the object RDN field.

Length of publishing agent name. The length, in Unicode characters, of the publishing agent name field.

New object RDN. The new relative distinguished name (RDN) of the directory object. This field is specified in UTF-16 (CCSID 13488).

Number of attribute entries. The number of attribute entries.

Number of attribute values. The number of attribute values.

Number of modification entries. The number of modification entries.

Object RDN. The relative distinguished name (RDN) of the directory object being published. This name, combined with the publishing point specified during configuration, form a distinguished name (DN). This field is specified in UTF-16 (CCSID 13488). For example, if the publishing point is 'O=ACME Corp., C=US' and the object RDN is 'CN=Bart', the object DN to be published is 'CN=Bart, O=ACME Corp., C=US'.

Offset to attribute entries. The offset, in bytes, from the start of the input data area to the attribute entries.

Offset to modification entries. The offset, in bytes, from the start of the input data area to the modification entries.

Offset to new object RDN. The offset, in bytes, from the start of the input data area to the new object RDN field.

Offset to object RDN. The offset, in bytes, from the start of the input data area to the object RDN field.

Offset to publishing agent name. The offset, in bytes, from the start of the input data area to the publishing agent name field.

Publishing agent name. The agent making the publishing request. This determines where in the directory the object will be published. The publishing agent information must be configured using the QgldChgDirSvrA API before calling this API. This field is specified in UTF-16 (CCSID 13488).

The following publishing agent names are predefined by the operating system:

Reserved. A reserved field. This field must be set to binary zero.


Error Messages



API introduced: V4R4

[ Back to top | UNIX-Type APIs | APIs by category ]