Previous section.

DCE 1.1: Authentication and Security Services
Copyright © 1997 The Open Group

NAME

sec_rgy_attr_delete-Deletes specified attributes for a specified object

SYNOPSIS

#include <dce/sec_rgy_attr.h>

void sec_rgy_attr_delete (
    sec_rgy_handle_t context,
    sec_rgy_domain_t name_domain,
    sec_rgy_name_t name,
    unsigned32 num_to_delete,
    sec_attr_t attrs[],
    signed32 *failure_index,
    error_status_t *status);

PARAMETERS

Input

context

An opaque handle bound to a registry server. Use sec_rgy_site_open() to acquire a bound handle.

name_domain

A value of type sec_rgy_domain_t that identifies the registry domain in which the object identified by name resides. The valid values are as follows:

sec_rgy_domain_person

The name identifies a principal.

sec_rgy_domain_group

The name identifies a group.

sec_rgy_domain_org

The name identifies an organization.

This parameter is ignored if name is policy or replist.

name

A character string of type sec_rgy_name_t specifying the name of the person, group, or organization to which the attributes are attached.

num_to_delete

A 32-bit integer that specifies the number of elements in the attrs array. This integer must be greater than 0.

attrs[]

An array of values of type sec_attr_t that specifies the attribute instances to be deleted. The size of the array is determined by num_to_delete.


Output

failure_index

In the event of an error, failure_index is a pointer to the element in the attrs array that caused the update to fail. If the failure cannot be attributed to a specific attribute, the value of failure_index is -1.

status

A pointer to the completion status. On successful completion, the routine returns error_status_ok. Otherwise, it returns an error.

DESCRIPTION

The sec_rgy_attr_delete() routine deletes attributes. This is an atomic operation: if the deletion of any attribute in the attrs array fails, all deletions are aborted. The attribute causing the delete to fail is identified in failure_index. If the failure cannot be attributed to a given attribute, failure_index contains -1.

The attrs array, which specifies the attributes to be deleted, contains values of type sec_attr_t. These values consist of:

To delete attributes that are not multi-valued and to delete all instances of a multi-valued attribute, an attribute UUID is all that is required. For these attribute instances, supply the attribute UUID in the input array and set the attribute encoding (in sec_attr_encoding_t) to sec_attr_enc_void.

To delete a specific instance of a multi-valued attribute, supply the UUID and value that uniquely identify the multi-valued attribute instance in the input array.

Note that if the deletion of any attribute instance in the array fails, all fail. However, to help pinpoint the cause of the failure, the call identifies the first attribute whose deletion failed in a failure index by array element number.

Permissions Required
The sec_rgy_attr_delete() routine requires the delete permission set for each attribute type identified in the attrs array. These permissions are defined as part of the ACL manager set in the schema entry for the attribute type.

FILES

/usr/include/dce/sec_rgy_attr.idl

The idl file from which dce/sec_rgy_attr.h was derived.

ERRORS

error_status_ok

The call was successful.

sec_attr_bad_type

Invalid or unsupported attribute type.

sec_attr_svr_read_only

Server is read only.

sec_attr_svr_unavailable

Server is unavailable.

sec_attr_unauthorized

Unauthorized to perform this operation.

SEE ALSO

Functions: sec_rgy_attr_update().
Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.

Contents Next section Index