/* @(#)28	1.3  src/security/idl/rs_pwd_mgmt.idl, security.src, os2dce21.dss, 960602a.1 5/17/95 09:51:30  */
/*
 *   COMPONENT_NAME: security.src
 *
 *   FUNCTIONS: pointer_default
 *
 *   ORIGINS: 72
 *
 */
/*
 * @OSF_COPYRIGHT@
 * COPYRIGHT NOTICE
 * Copyright (c) 1990, 1991, 1992, 1993, 1994 Open Software Foundation, Inc.
 * ALL RIGHTS RESERVED (DCE).  See the file named COPYRIGHT.DCE for
 * the full copyright text.
 */
/*
 * HISTORY
 * $Log: rs_pwd_mgmt.idl,v $
 * Revision 1.1.2.2  1994/08/10  19:21:52  annie
 * 	expand copyright with OSF copyright text
 * 	[1994/08/10  17:16:08  annie]
 *
 * Revision 1.1.2.1  1994/07/15  15:00:12  mdf
 * 	Hewlett Packard Security Code Drop
 * 	[1994/07/14  17:59:47  mdf]
 * 
 * $EndLog$
 */
/*
**
** Copyright (c) Hewlett-Packard Company 1994
** Unpublished work. All Rights Reserved.
**
*/
/*
 * Remote operations (helper routines) for password
 * management between client and secd.
 */
[
    uuid(3139a0e2-68da-11cd-91c7-080009242444),
    version(1.0),
    pointer_default(ptr)
]

interface rs_pwd_mgmt {

    import "dce/rgynbase.idl";
    import "dce/sec_attr_base.idl";

    typedef struct {
        unsigned32      num_plcy_args;
        [size_is(num_plcy_args)]
            sec_attr_t  plcy[];
    } rs_pwd_mgmt_plcy_t;

    /* r s _ p w d _ m g m t _ s e t u p
     *
     * This operation is called by sec_pwd_mgmt_setup. It
     * retrieves the values stored in the ERAs pwd_val_type
     * and pwd_mgmt_binding, if they exist.
     *
     * Input:
     *    h: binding handle to the registry server
     *    login_name: account requesting information
     * Output:
     *    pwd_mgmt_bind_info: binding information contained in
     *      pwd_mgmt_binding ERA.
     *    pwd_val_type: validation type contained in pwd_val_type
     *      ERA.
     *    status: error status; the following errors may be returned:
     *
     */
    void rs_pwd_mgmt_setup (
        [in]             handle_t              h,
        [in]             sec_rgy_login_name_t  login_name,
        [out]            sec_attr_bind_info_t  **pwd_mgmt_bind_info,
        [out]            rs_pwd_mgmt_plcy_t    **plcy_p,
        [out,ref]        signed32              *pwd_val_type,
        [out]            error_status_t        *status
    );
}

