/* @(#)71	1.4  src/security/idl/unix.idl, security.src, os2dce21.dss, 960602a.1 5/17/95 09:49:21 */
/*
 * 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: unix.idl,v $
 * Revision 1.1.5.2  1992/12/29  13:54:33  zeliff
 *      Embedding copyright notice
 *      [1992/12/28  20:49:45  zeliff]
 *
 * Revision 1.1.3.2  1992/06/02  21:05:41  sekhar
 * 	Drop the Unix interfaces changes made by frisco.
 * 	[1992/06/01  20:20:14  sekhar]
 *
 * Revision 1.1.1.2  1992/05/22  19:20:01  frisco
 * 	Initial revision - Client Unix interface
 * 
 * $EndLog$
 */
/*
*/

/*  unix.idl V=1 05/21/92 //littl/prgy/src/idl
**
** Copyright (c) Hewlett-Packard Company 1991
** Unpublished work. All Rights Reserved.
**
*/
/*
 *              Client Unix Interfaces
 *
 */

[local]
interface sec_rgy_unix

{

    import "dce/rgybase.idl";

    /* Registry - Client Unix Interface */

    /*
     *  s e c _ r g y _ u n i x _ g e t p w e n t
     *
     *  returns a Unix passwd structure - this function 
     *  is not implemented at this time.  
     * 
     */
    [idempotent] void sec_rgy_unix_getpwent (
         [in]     sec_rgy_handle_t               context,
         [in,out] sec_rgy_cursor_t               *marker,
         [out]    sec_rgy_unix_passwd_t          *passwd_entry,
         [out]    error_status_t                 *status
    );

    /*
     *  s e c _ r g y _ u n i x _ g e t p w u i d
     *
     *  looks up the next passwd entry in the registry with
     *  a matching uid, and returns the corresponding Unix 
     *  sec_rgy_ passwd structure.
     * 
     */
    [idempotent] void sec_rgy_unix_getpwuid (
         [in]     sec_rgy_handle_t               context,
         [in]     signed32                       uid,
         [in,out] sec_rgy_cursor_t               *marker,
         [out]    sec_rgy_unix_passwd_t          *passwd_entry,
         [out]    error_status_t                 *status
    );

    /*
     *  s e c _ r g y _ u n i x _ g e t p w n a m
     *
     *  looks up the next passwd entry in the registry with
     *  a matching name, and returns the corresponding Unix 
     *  sec_rgy_ passwd structure.
     * 
     */
    [idempotent] void sec_rgy_unix_getpwnam (
         [in]     sec_rgy_handle_t               context,
         [in]     sec_rgy_name_t                 name,
         [in]     unsigned32                     name_len,
         [in,out] sec_rgy_cursor_t               *marker,
         [out]    sec_rgy_unix_passwd_t          *passwd_entry,
         [out]    error_status_t                 *status
    );

    /*
     *  s e c _ r g y _ u n i x _ g e t g r e n t
     *
     *  returns a Unix group structure - this function 
     *  is not implemented at this time.  
     * 
     */
    [idempotent] void sec_rgy_unix_getgrent (
         [in]     sec_rgy_handle_t               context,
         [in]     signed32                       max_num_members,
         [in,out] sec_rgy_cursor_t               *marker,
         [out]    sec_rgy_unix_group_t           *group_entry,
         [out]    signed32                       *num_members,
         [out]    sec_rgy_member_t               members[],
         [out]    error_status_t                 *status
    );

    /*
     *  s e c _ r g y _ u n i x _ g e t g r g i d
     *
     *  looks up the next group entry in the registry with
     *  a matching gid, and returns the corresponding Unix 
     *  sec_rgy_ group structure.
     * 
     */
    [idempotent] void sec_rgy_unix_getgrgid (
         [in]     sec_rgy_handle_t               context,
         [in]     signed32                       gid,
         [in]     signed32                       max_num_members,
         [in,out] sec_rgy_cursor_t               *marker,
         [out]    sec_rgy_unix_group_t           *group_entry,
         [out]    signed32                       *num_members,
         [out]    sec_rgy_member_t               members[],
         [out]    error_status_t                 *status
    );

    /*
     *  s e c _ r g y _ u n i x _ g e t g r n a m
     *
     *  looks up the next group entry in the registry with
     *  a matching name, and returns the corresponding Unix 
     *  sec_rgy_ group structure.
     * 
     */
    [idempotent] void sec_rgy_unix_getgrnam (
         [in]     sec_rgy_handle_t               context,
         [in]     sec_rgy_name_t                 name,
         [in]     signed32                       name_len,
         [in]     signed32                       max_num_members,
         [in,out] sec_rgy_cursor_t               *marker,
         [out]    sec_rgy_unix_group_t           *group_entry,
         [out]    signed32                       *num_members,
         [out]    sec_rgy_member_t               members[],
         [out]    error_status_t                 *status
    );

}
