/* @(#)36       1.4  src/security/idl/passwd.idl, security.src, os2dce21.dss, 960602a.1  5/17/95  09:49:09 */
/*
 * 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: passwd.idl,v $
 * Revision 1.1.4.1  1994/01/28  23:10:48  burati
 * 	Import "dce/sec_base.idl", not "sec_base.idl"
 * 	[1994/01/21  17:02:24  burati]
 *
 * 	Delegation/EPAC changes (dlg_bl1)
 * 	[1994/01/18  20:52:47  burati]
 *
 * Revision 1.1.2.2  1992/12/29  13:29:39  zeliff
 *      Embedding copyright notice
 *      [1992/12/28  20:16:48  zeliff]
 *
 * Revision 1.1  1992/01/19  14:54:55  devrcs
 * Initial revision
 *
 * $EndLog$
 */
/*
** Copyright (c) Hewlett-Packard Company 1991, 1993
** Unpublished work. All Rights Reserved.
**
*/
/*
 * User Registry - Base password datatypes
 */

interface passwd

{

    import "dce/sec_base.idl";

    const    unsigned32    sec_passwd_c_des_key_size      = 8;
    typedef  byte          sec_passwd_des_key_t[sec_passwd_c_des_key_size];

    const    unsigned32    sec_passwd_str_max_len = 512;
    const    unsigned32    sec_passwd_str_t_size  = 513; 
    typedef [string] char  sec_passwd_str_t[sec_passwd_str_t_size]; 


    /* currently supported key types */
    typedef enum {
        sec_passwd_none,
        sec_passwd_plain,
        sec_passwd_des
    } sec_passwd_type_t; 


    typedef  struct {
        sec_passwd_version_t  version_number;
        [string, ptr] char    *pepper;

        union switch (sec_passwd_type_t key_type) {

            case sec_passwd_plain:
                [string, ptr] char  *plain;

            case sec_passwd_des:
                sec_passwd_des_key_t  des_key;
        } key;
    } sec_passwd_rec_t;

}
