#!/usr/bin/env python

bld.SAMBA_PIDL_LIST('PIDL',
                    '''drsuapi.idl epmapper.idl
                       eventlog.idl
                       browser.idl dssetup.idl frsapi.idl
                       spoolss.idl
                       dnsserver.idl
                       samr.idl srvsvc.idl winreg.idl
                       mgmt.idl netlogon.idl
                       svcctl.idl wkssvc.idl eventlog6.idl backupkey.idl
                       witness.idl clusapi.idl
                       mdssvc.idl''',
                    options='--header --ndr-parser --server-compat --server --client --python',
                    output_dir='../gen_ndr')

# The interface names here are not the same as the IDL name, so the
# auto-genration of the fuzzer fails to link
bld.SAMBA_PIDL_LIST('PIDL',
                    '''echo.idl
                       fsrvp.idl
                       lsa.idl
                       winspool.idl''',
                    options='--header --ndr-parser --server-compat --server --client --python',
                    output_dir='../gen_ndr',
                    generate_fuzzers=False)

# Services that we only have a client for
bld.SAMBA_PIDL_LIST('PIDL',
                    '''atsvc.idl''',
                    options='--header --ndr-parser --client --python',
                    output_dir='../gen_ndr')

# Services that we only have a server in the source3 style
bld.SAMBA_PIDL_LIST('PIDL',
                    '''initshutdown.idl ntsvcs.idl''',
                    options='--header --ndr-parser --client --python --server-compat',
                    output_dir='../gen_ndr')

# The interface names here are not the same as the IDL name, so the
# auto-genration of the fuzzer fails to link
bld.SAMBA_PIDL_LIST('PIDL',
                    '''dfs.idl''',
                    options='--header --ndr-parser --client --python --server-compat',
                    output_dir='../gen_ndr',
                    generate_fuzzers=False)

# Services that we only have a server in the source4 style. 

bld.SAMBA_PIDL_LIST('PIDL',
                    '''unixinfo.idl''',
                    options='--header --ndr-parser --client --python --server',
                    output_dir='../gen_ndr')

# DCOM stuff

# The interface names here are not the same as the IDL name, so the
# auto-genration of the fuzzer fails to link
bld.SAMBA_PIDL_LIST('PIDL',
                    '''oxidresolver.idl remact.idl''',
                    options='--header --ndr-parser --client',
                    output_dir='../gen_ndr',
                    generate_fuzzers=False)

# The interface names here are not the same as the IDL name, so the
# auto-genration of the fuzzer fails to link
bld.SAMBA_PIDL_LIST('PIDL',
                    'wmi.idl dcom.idl',
                    options='--header --ndr-parser --server --client --dcom-proxy --com-header',
                    output_dir='../gen_ndr',
                    generate_fuzzers=False)

# DCE/RPC protocols which Samba does not implement a client or server
# for.  We don't generate a fuzzer for these as they are unreachable
#
# Do not include IDL with public structures in this list as we want to
# fuzz those

bld.SAMBA_PIDL_LIST('PIDL',
                    '''
                    audiosrv.idl
                    dbgidl.idl
                    dsbackup.idl
                    efs.idl
                    frstrans.idl
                    frsrpc.idl
                    keysvc.idl
                    msgsvc.idl
                    orpc.idl
                    policyagent.idl
                    rot.idl
                    scerpc.idl
                    trkwks.idl
                    w32time.idl
                    winstation.idl
                    wzcsvc.idl
                    ''',
                    options='--header --ndr-parser',
                    generate_fuzzers=False,
                    output_dir='../gen_ndr')

# Non-DCE/RPC protocols encoded in IDL for Samba or helper IDLs for
# DCE/RPC protocols (eg defining constands or structures but not
# functions)
bld.SAMBA_PIDL_LIST('PIDL',
                    '''
                    bkupblobs.idl
                    cab.idl
                    file_id.idl
                    fscc.idl
                    fsrvp_state.idl
                    named_pipe_auth.idl
                    negoex.idl
                    notify.idl
                    ntprinting.idl
                    ODJ.idl
                    printcap.idl
                    rap.idl
                    schannel.idl
                    smb2_lease_struct.idl
                    ''',
                    options='--header --ndr-parser',
                    output_dir='../gen_ndr')

# The interface names here are not the same as the IDL name, so the
# auto-genration of the fuzzer fails to link

bld.SAMBA_PIDL_LIST('PIDL',
                    '''
                    ioctl.idl
                    nfs4acl.idl
                    quota.idl
                    ''',
                    options='--header --ndr-parser',
                    output_dir='../gen_ndr',
                    generate_fuzzers=False)

# Non-DCE/RPC protocls with Python bindings
# (for structures or constants)

bld.SAMBA_PIDL_LIST('PIDL',
		    '''
                    auth.idl
                    dcerpc.idl
                    dfsblobs.idl
                    dns.idl
                    dnsp.idl
                    drsblobs.idl
                    idmap.idl
                    krb5pac.idl
                    krb5ccache.idl
                    messaging.idl
                    misc.idl
                    nbt.idl
                    ntlmssp.idl
                    preg.idl
                    security.idl
                    server_id.idl
                    smb_acl.idl
                    xattr.idl
                    ''',
                    options='--header --ndr-parser --python',
                    output_dir='../gen_ndr')

bld.SAMBA_PIDL_LIST('PIDL',
		    '''
                    windows_event_ids.idl
                    ''',
                    options='--header --ndr-parser --python',
                    output_dir='../gen_ndr',
                    generate_tables=False)

bld.SAMBA_PIDL_LIST('PIDL',
                    'winbind.idl',
                    options='--header --ndr-parser --server-compat --client --python',
                    output_dir='../gen_ndr')