/* @(#)27	1.4  src/security/idl/policy.idl, security.src, os2dce21.dss, 960602a.1 5/17/95 09:49:55 */
/*
 * COMPONENT_NAME:  security.client.src 
 *
 * FUNCTIONS: 
 *
 * ORIGINS: 72
 *
 */
/*
 * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
 * ALL RIGHTS RESERVED (DCE).  See the file named COPYRIGHT.DCE in the
 * src directory for the full copyright text.
 */
/*
 * HISTORY
 * $Log: policy.idl,v $
 * Revision 1.1.2.2  1992/12/29  13:29:59  zeliff
 *      Embedding copyright notice
 *      [1992/12/28  20:17:02  zeliff]
 *
 * Revision 1.1  1992/01/19  14:54:41  devrcs
 * Initial revision
 *
 * $EndLog$
 */
/*
*/

/*  policy.idl V=7 05/06/91 //littl/prgy/src/idl
**
** Copyright (c) Hewlett-Packard Company 1991
** Unpublished work. All Rights Reserved.
**
*/
/* Registry Client Agent Interface - Policy interface
 * 
 */

[local]
interface sec_rgy_plcy

{
    import "dce/rgybase.idl";

    /*
     * s e c _ r g y _ p r o p e r t i e s _ g e t _ i n f o 
     *
     * returns registry properties. 
     */
    [idempotent] void sec_rgy_properties_get_info (
        [in]        sec_rgy_handle_t        context,
        [out]       sec_rgy_properties_t    *properties,
        [out]       error_status_t          *status
    );

    void sec_rgy_properties_set_info (
        [in]        sec_rgy_handle_t        context,
        [in]        sec_rgy_properties_t    *properties,
        [out]       error_status_t          *status
    );

    [idempotent] void sec_rgy_plcy_get_info (
        [in]        sec_rgy_handle_t    context,
        [in]        sec_rgy_name_t      organization,
        [out]       sec_rgy_plcy_t      *policy_data,
        [out]       error_status_t      *status
    );

    [idempotent] void sec_rgy_plcy_get_effective (
        [in]        sec_rgy_handle_t    context,
        [in]        sec_rgy_name_t      organization,
        [out]       sec_rgy_plcy_t      *policy_data,
        [out]       error_status_t      *status
    );

    void sec_rgy_plcy_set_info (
        [in]        sec_rgy_handle_t    context,
        [in]        sec_rgy_name_t      organization,
        [in]        sec_rgy_plcy_t      *policy_data,
        [out]       error_status_t      *status
    );

    [idempotent] void sec_rgy_plcy_get_override_info (
        [in]        sec_rgy_handle_t    context,
        [in]        sec_rgy_name_t      policy_category,
        [out]       boolean32           *exclude_passwd,
        [out]       boolean32           *root_passwd,
        [out]       boolean32           *other_passwd,
        [out]       boolean32           *custom_data,
        [out]       error_status_t      *status
    );

    [idempotent] void sec_rgy_plcy_set_override_info (
        [in]        sec_rgy_handle_t    context,
        [in]        sec_rgy_name_t      policy_category,
        [in]        boolean32           exclude_passwd,
        [in]        boolean32           root_passwd,
        [in]        boolean32           other_passwd,
        [in]        boolean32           custom_data,
        [out]       error_status_t      *status
    );

    [idempotent] void sec_rgy_auth_plcy_get_info (
        [in]        sec_rgy_handle_t        context,
        [in]        sec_rgy_login_name_t    *account,
        [out]       sec_rgy_plcy_auth_t     *auth_policy,
        [out]       error_status_t          *status
    );

    [idempotent] void sec_rgy_auth_plcy_get_effective (
        [in]        sec_rgy_handle_t        context,
        [in]        sec_rgy_login_name_t    *account,
        [out]       sec_rgy_plcy_auth_t     *auth_policy,
        [out]       error_status_t          *status
    );

    void sec_rgy_auth_plcy_set_info (
        [in]        sec_rgy_handle_t        context,
        [in]        sec_rgy_login_name_t    *account,
        [in]        sec_rgy_plcy_auth_t     *auth_policy,
        [out]       error_status_t          *status
    );
}
