VMS Help
DCE_SECURITY, API Routines, sec_attr_trig_update

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

 NAME
   sec_attr_trig_update - For attributes coded with an attribute trigger
                          type of update, passes attribute updates to an
                          update attribute trigger server for evaluation

 SYNOPSIS

   #include <dce/sec_attr_trig.h>

   void sec_attr_trig_update (
           handle_t h,
           sec_attr_component_name_t cell_name,
           sec_attr_component_name_t component_name,
           unsigned32 num_to_write,
           unsigned32 space_avail,
           sec_attr_t in_attrs[],
           unsigned32 *num_returned,
           sec_attr_t out_attrs[],
           unsigned32 *num_left,
           signed32 *failure_index,
           error_status_t *status);

 PARAMETERS

   Input

   h      A handle referring to the trigger server to be accessed. Use the
          trigger binding information specified in the attribute encoding
          to acquire a bound handle.

   cell_name
          A value of sec_attr_component_name_t that identifies the cell
          in which the object whose attribute is to be accessed resides.
          Supply a NULL cell_name to specify the local cell (/.:).

   component_name
          A value of sec_attr_component_name_t that identifies the name of
          the object whose attribute is to be accessed.  If cell_name
          specifies a foreign cell, component_name is interpreted as a
          UUID in string format since the caller of this interface knows
          only the UUID, not the name, of the foreign principal.

   num_to_write
          An unsigned 32-bit integer that specifies the number of elements
          in the in_attrs array.  This integer must be greater than 0.

   space_avail
          An unsigned 32-bit integer that specifies the size of the
          out_attrs array.

   in_attrs[]
          An array of values of type sec_attr_t that specifies the
          attribute instances to be written.  The size of in_attrs[]
          is determined by num_to_write.

   Output

   num_returned
          A pointer to an unsigned 32-bit integer that specifies the number
          of attribute instances returned in the out_attrs[] array.

   out_attrs[]
          An array of values of type sec_attr_t.  These values, supplied by
          the update attribute trigger server, are in a form suitable for
          storage in the registry database.

   num_left
          A pointer to an unsigned 32-bit integer that supplies the number
          of attributes that were found but not returned because of space
          constraints in the out_attrs[] buffer.

   failure_index
          In the event of an error, failure_index is a pointer to the
          element in the in_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_attr_trig_update() routine passes attributes coded with an
   attribute trigger type of update to a user-written update attribute
   trigger server for evaluation before the updates are made to the
   registry.

   Although generally this routine it is not called directly, this
   reference page is provided for users who are writing the attribute
   trigger servers that will receive sec_attr_trig_update() input and
   supply its output.

   The sec_attr_trig_update() routine is called by the DCE attribute update
   code for all schema entries that specify an update attribute trigger
   (sec_attr_trig_type_update specified with the sec_attr_trig_type_flags_t
   data type). The attribute update code passes the sec_attr_trig_update()
   input parameters to a user-written update attribute trigger server and
   receives the output parameters back from the server.  The attribute
   trigger server is responsible for evaluating the semantics of the entry
   in order to reject or accept it, and the attribute trigger server may
   even make changes in the output it sends back to the update code to
   ensure the entry adheres to the semantics.  The output received from
   the attribute trigger server is in a form to be stored in the registry.
   (Note that update attribute trigger servers do not store attribute
   values.  Attribute values are stored in the registry database.)

   This is an atomic operation:  if the update of any attribute in the
   array fails to pass the evaluation, all updates are aborted.  The
   attribute causing the update to fail is identified in failure_index.
   If the failure cannot be attributed to a given attribute, failure_index
   contains -1.

   For objects in the local cell, set the cell_name parameter to null, and
   the component_name parameter to specify the object's name.

   For objects in a foreign cell, set the cell_name parameter the the name
   of the foreign cells, and the component_name parameter to specify the
   UUID in string format that identifies the object in the foreign cell.

 FILES

     SYS$COMMON:[DCE$LIBRARY]SEC_ATTR_TRIG.IDL
                The idl file from which dce/sec_attr_trig.h was derived.

 ERRORS

   database read only

   server unavailable

   invalid/unsupported attribute type

   invalid encoding type

   value not unique

   site read only

   unauthorized

   error_status_ok

 RELATED INFORMATION

   Functions: sec_intro
              sec_attr_trig_query
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.