/* @(#)53       1.3  src/security/idl/rs_login_base.idl, security.src, os2dce21.dss, 960602a.1  5/17/95  09:51:00 */
/*
 * COMPONENT_NAME:  security.src
 *
 * FUNCTIONS:
 *
 * ORIGINS: 72
 *
 */
/*
 * 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_login_base.idl,v $
 * Revision 1.1.3.2  1994/10/06  20:29:06  agd
 * 	expand copyright
 * 	[1994/10/06  14:27:45  agd]
 *
 * Revision 1.1.3.1  1994/08/29  15:51:35  hondo
 * 	OT 11919 --login activity idl change to support different address types
 * 	[1994/08/28  21:49:22  hondo]
 * 
 * $EndLog$
 */
/*
** Copyright (c) Hewlett-Packard Company 1993, 1994
** Unpublished work. All Rights Reserved.
**
**     login activity base type definitions
**
*/
[
    uuid(bbef9bbc-dd2d-11cc-9c4e-080009353559)
]
interface rs_login_base {

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


    /*
     *  Origin of login attempts can be of the following type
     */


    typedef enum {
            sec_ip_addr,
            sec_dce_string,
            sec_dce_twr
    }addrtype_t;

    typedef union
        switch (addrtype_t addrtype)
        tagged_union {
            case sec_ip_addr:
                      unsigned32                o_ip_addr;
            case sec_dce_string:
                      [string, ptr] char        *o_string_binding;
            case sec_dce_twr:
                      [ptr] sec_attr_twr_ref_t  *o_twr_set;
   } orig_contents_t;

    typedef struct {
        unsigned32 length;
        orig_contents_t data;
    } sec_origin_t;

    /*
     * New login activity record for tracking invalid login attempts.
     */
    typedef struct {
        sec_timeval_sec_t      dis_time;
        signed32               cur_inv_attempts;
        sec_timeval_sec_t      last_bad_time;
        sec_timeval_sec_t      last_good_time;
        sec_origin_t           good_origin;
        sec_origin_t           bad_origin;
    }               sec_rgy_login_activity_t;


}
