//+-----------------------------------------------------------------------
//
// File:        intkerb.idl
//
// Contents:    internal structures and definitions for Win4 Kerberos
//
//
// History:     Created 6 Dec 1991      richardw
//              20-Dec-93   WadeR   Created the IDL from richard's .h file.
//
//------------------------------------------------------------------------

[
    uuid(00000001-0001-0000-C000-000000000071),
    version(1.0),
    pointer_default(unique)
]
interface Pac
{
import "pacimp.idl";


typedef struct _PAC_SID_AND_ATTRIBUTES {
    PISID Sid;
    ULONG Attributes;
} PAC_SID_AND_ATTRIBUTES, * PPAC_SID_AND_ATTRIBUTES;

typedef struct _PAC_LUID_AND_ATTRIBUTES {
    LUID Luid;
    ULONG Attributes;
} PAC_LUID_AND_ATTRIBUTES, * PPAC_LUID_AND_ATTRIBUTES;

typedef struct _PAC_TOKEN_GROUPS {
    ULONG GroupCount;
    [size_is(GroupCount)]
    PAC_SID_AND_ATTRIBUTES Groups[*];
} PAC_TOKEN_GROUPS, *PPAC_TOKEN_GROUPS;


typedef struct _PAC_TOKEN_PRIVILEGES {
    ULONG PrivilegeCount;
    [size_is(PrivilegeCount)]
    PAC_LUID_AND_ATTRIBUTES Privileges[*];
} PAC_TOKEN_PRIVILEGES, *PPAC_TOKEN_PRIVILEGES;

typedef struct _KERB_TOKEN_RESTRICTIONS {
    ULONG Flags;
    PPAC_TOKEN_GROUPS GroupsToDisable;
    PPAC_TOKEN_GROUPS RestrictedSids;
    PPAC_TOKEN_PRIVILEGES PrivilegesToDelete;
} KERB_TOKEN_RESTRICTIONS, *PKERB_TOKEN_RESTRICTIONS;

typedef NETLOGON_VALIDATION_SAM_INFO3 PAC_IDL_VALIDATION_INFO, *PPAC_IDL_VALIDATION_INFO;
typedef SECPKG_SUPPLEMENTAL_CRED_ARRAY PAC_IDL_CREDENTIAL_DATA, *PPAC_IDL_CREDENTIAL_DATA;

//ULONG
//DummyFunction(
//    [in,out,unique] PPAC_IDL_VALIDATION_INFO ValidationInfo,
//    [in,out,unique] PPAC_IDL_CREDENTIAL_DATA CredentialData
//    );

}
