1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/source3/librpc/idl/libnetapi.idl
Samuel Cabrero 740e704bd6 s3:libnetapi: Add NetComposeOfflineDomainJoin() to IDL
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13577

Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-09-05 21:18:32 +00:00

2071 lines
51 KiB
Plaintext

/*
libnetapi interface definition
*/
cpp_quote("#define LIBNETAPI_LOCAL_SERVER(x) (!x || is_myname_or_ipaddr(x))")
cpp_quote("#ifndef MAXSUBAUTHS")
cpp_quote("#define MAXSUBAUTHS 15 /* max sub authorities in a SID */")
cpp_quote("#endif")
import "misc.idl";
[
pointer_default(unique)
]
interface libnetapi
{
const int ERROR_MORE_DATA = 234L;
[public] typedef [v1_enum] enum {
NERR_Success = 0,
NERR_NoOfflineJoinInfo = 2709,
NERR_BadOfflineJoinInfo = 2710,
NERR_CantCreateJoinInfo = 2711,
NERR_BadDomainJoinInfo = 2712,
NERR_JoinPerformedMustRestart = 2713,
NERR_NoJoinPending = 2714,
NERR_ValuesNotSet = 2715,
NERR_CantVerifyHostname = 2716,
NERR_CantLoadOfflineHive = 2717,
NERR_Connectionsecure = 2718,
NERR_ProvisioningBlobUnsupported = 2719
} NET_API_STATUS;
[public] typedef struct {
uint8 sid_rev_num;
uint8 num_auths;
uint8 id_auth[6];
uint32 sub_auths[MAXSUBAUTHS];
} domsid;
/*******************************************/
/* NetJoinDomain */
/*******************************************/
typedef [public,bitmap32bit] bitmap {
NETSETUP_JOIN_DOMAIN = 0x00000001,
NETSETUP_ACCT_CREATE = 0x00000002,
NETSETUP_ACCT_DELETE = 0x00000004,
NETSETUP_WIN9X_UPGRADE = 0x00000010,
NETSETUP_DOMAIN_JOIN_IF_JOINED = 0x00000020,
NETSETUP_JOIN_UNSECURE = 0x00000040,
NETSETUP_MACHINE_PWD_PASSED = 0x00000080,
NETSETUP_DEFER_SPN_SET = 0x00000100,
NETSETUP_JOIN_DC_ACCOUNT = 0x00000200,
NETSETUP_JOIN_WITH_NEW_NAME = 0x00000400,
NETSETUP_JOIN_READONLY = 0x00000800,
NETSETUP_AMBIGUOUS_DC = 0x00001000,
NETSETUP_NO_NETLOGON_CACHE = 0x00002000,
NETSETUP_DONT_CONTROL_SERVICES = 0x00004000,
NETSETUP_SET_MACHINE_NAME = 0x00008000,
NETSETUP_FORCE_SPN_SET = 0x00010000,
NETSETUP_NO_ACCT_REUSE = 0x00020000,
NETSETUP_INSTALL_INVOCATION = 0x00040000,
NETSETUP_IGNORE_UNSUPPORTED_FLAGS = 0x10000000
} NetJoinFlags;
[nopush,nopull] NET_API_STATUS NetJoinDomain(
[in,unique] string *server,
[in,ref] string *domain,
[in,unique] string *account_ou,
[in,unique] string *account,
[in,unique] string *password,
[in] NetJoinFlags join_flags
);
/*******************************************/
/* NetUnjoinDomain */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUnjoinDomain(
[in,unique] string *server_name,
[in,unique] string *account,
[in,unique] string *password,
[in] NetJoinFlags unjoin_flags
);
/*******************************************/
/* NetGetJoinInformation */
/*******************************************/
typedef enum {
NetSetupUnknownStatus = 0,
NetSetupUnjoined = 1,
NetSetupWorkgroupName = 2,
NetSetupDomainName = 3
} NETSETUP_JOIN_STATUS;
[nopush,nopull] NET_API_STATUS NetGetJoinInformation(
[in,unique] string *server_name,
[out] string **name_buffer,
[out] uint16 *name_type
);
/*******************************************/
/* NetGetJoinableOUs */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGetJoinableOUs(
[in,unique] string *server_name,
[in,ref] string *domain,
[in,unique] string *account,
[in,unique] string *password,
[out] uint32 *ou_count,
[out] string ***ous
);
/*******************************************/
/* NetRenameMachineInDomain */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetRenameMachineInDomain(
[in] string server_name,
[in] string new_machine_name,
[in] string account,
[in] string password,
[in] uint32 rename_options
);
/*******************************************/
/* NetProvisionComputerAccount */
/*******************************************/
typedef [public,bitmap32bit] bitmap {
NETSETUP_PROVISION_DOWNLEVEL_PRIV_SUPPORT = 0x00000001,
NETSETUP_PROVISION_REUSE_ACCOUNT = 0x00000002,
NETSETUP_PROVISION_USE_DEFAULT_PASSWORD = 0x00000004,
NETSETUP_PROVISION_SKIP_ACCOUNT_SEARCH = 0x00000008,
NETSETUP_PROVISION_ROOT_CA_CERTS = 0x00000010
} NetProvisionFlags;
[nopush,nopull] NET_API_STATUS NetProvisionComputerAccount(
[in,ref] string *domain,
[in,ref] string *machine_name,
[in,unique] string *machine_account_ou,
[in,unique] string *dcname,
[in] NetProvisionFlags options,
[in,out,unique] uint8 **provision_bin_data,
[in,out,unique] uint32 *provision_bin_data_size,
[in,out,unique] string **provision_text_data
);
/*******************************************/
/* NetRequestOfflineDomainJoin */
/*******************************************/
typedef [public,bitmap32bit] bitmap {
NETSETUP_PROVISION_ONLINE_CALLER = 0x40000000
} NetProvisionJoinFlags;
[nopush,nopull] NET_API_STATUS NetRequestOfflineDomainJoin(
[in,unique] uint8 *provision_bin_data,
[in] uint32 provision_bin_data_size,
[in] NetProvisionJoinFlags options,
[in,unique] string *windows_path
);
/*******************************************/
/* NetComposeOfflineDomainJoin */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetComposeOfflineDomainJoin(
[in,ref] string *dns_domain_name,
[in,ref] string *netbios_domain_name,
[in,ref] domsid *domain_sid,
[in,ref] GUID *domain_guid,
[in,ref] string *forest_name,
[in,ref] string *machine_account_name,
[in,ref] string *machine_account_password,
[in,unique] string *dc_name,
[in,unique] string *dc_address,
[in] boolean8 domain_is_ad,
[in,out,unique] uint8 **compose_bin_data,
[in,out,unique] uint32 *compose_bin_data_size,
[in,out,unique] string **compose_text_data
);
/*******************************************/
/* NetServerGetInfo */
/*******************************************/
[public] typedef struct {
uint32 sv100_platform_id;
string sv100_name;
} SERVER_INFO_100;
[public] typedef struct {
uint32 sv101_platform_id;
string sv101_name;
uint32 sv101_version_major;
uint32 sv101_version_minor;
uint32 sv101_type;
string sv101_comment;
} SERVER_INFO_101;
[public] typedef struct {
uint32 sv102_platform_id;
string sv102_name;
uint32 sv102_version_major;
uint32 sv102_version_minor;
uint32 sv102_type;
string sv102_comment;
uint32 sv102_users;
uint32 sv102_disc;
boolean8 sv102_hidden;
uint32 sv102_announce;
uint32 sv102_anndelta;
uint32 sv102_licenses;
string sv102_userpath;
} SERVER_INFO_102;
[public] typedef struct {
uint32 sv402_ulist_mtime;
uint32 sv402_glist_mtime;
uint32 sv402_alist_mtime;
string sv402_alerts;
uint32 sv402_security;
uint32 sv402_numadmin;
uint32 sv402_lanmask;
string sv402_guestacct;
uint32 sv402_chdevs;
uint32 sv402_chdevq;
uint32 sv402_chdevjobs;
uint32 sv402_connections;
uint32 sv402_shares;
uint32 sv402_openfiles;
uint32 sv402_sessopens;
uint32 sv402_sessvcs;
uint32 sv402_sessreqs;
uint32 sv402_opensearch;
uint32 sv402_activelocks;
uint32 sv402_numreqbuf;
uint32 sv402_sizreqbuf;
uint32 sv402_numbigbuf;
uint32 sv402_numfiletasks;
uint32 sv402_alertsched;
uint32 sv402_erroralert;
uint32 sv402_logonalert;
uint32 sv402_accessalert;
uint32 sv402_diskalert;
uint32 sv402_netioalert;
uint32 sv402_maxauditsz;
string sv402_srvheuristics;
} SERVER_INFO_402;
[public] typedef struct {
uint32 sv403_ulist_mtime;
uint32 sv403_glist_mtime;
uint32 sv403_alist_mtime;
string sv403_alerts;
uint32 sv403_security;
uint32 sv403_numadmin;
uint32 sv403_lanmask;
string sv403_guestacct;
uint32 sv403_chdevs;
uint32 sv403_chdevq;
uint32 sv403_chdevjobs;
uint32 sv403_connections;
uint32 sv403_shares;
uint32 sv403_openfiles;
uint32 sv403_sessopens;
uint32 sv403_sessvcs;
uint32 sv403_sessreqs;
uint32 sv403_opensearch;
uint32 sv403_activelocks;
uint32 sv403_numreqbuf;
uint32 sv403_sizreqbuf;
uint32 sv403_numbigbuf;
uint32 sv403_numfiletasks;
uint32 sv403_alertsched;
uint32 sv403_erroralert;
uint32 sv403_logonalert;
uint32 sv403_accessalert;
uint32 sv403_diskalert;
uint32 sv403_netioalert;
uint32 sv403_maxauditsz;
string sv403_srvheuristics;
uint32 sv403_auditedevents;
uint32 sv403_autoprofile;
string sv403_autopath;
} SERVER_INFO_403;
[public] typedef struct {
uint32 sv502_sessopens;
uint32 sv502_sessvcs;
uint32 sv502_opensearch;
uint32 sv502_sizreqbuf;
uint32 sv502_initworkitems;
uint32 sv502_maxworkitems;
uint32 sv502_rawworkitems;
uint32 sv502_irpstacksize;
uint32 sv502_maxrawbuflen;
uint32 sv502_sessusers;
uint32 sv502_sessconns;
uint32 sv502_maxpagedmemoryusage;
uint32 sv502_maxnonpagedmemoryusage;
boolean8 sv502_enablesoftcompat;
boolean8 sv502_enableforcedlogoff;
boolean8 sv502_timesource;
boolean8 sv502_acceptdownlevelapis;
boolean8 sv502_lmannounce;
} SERVER_INFO_502;
[public] typedef struct {
uint32 sv503_sessopens;
uint32 sv503_sessvcs;
uint32 sv503_opensearch;
uint32 sv503_sizreqbuf;
uint32 sv503_initworkitems;
uint32 sv503_maxworkitems;
uint32 sv503_rawworkitems;
uint32 sv503_irpstacksize;
uint32 sv503_maxrawbuflen;
uint32 sv503_sessusers;
uint32 sv503_sessconns;
uint32 sv503_maxpagedmemoryusage;
uint32 sv503_maxnonpagedmemoryusage;
boolean8 sv503_enablesoftcompat;
boolean8 sv503_enableforcedlogoff;
boolean8 sv503_timesource;
boolean8 sv503_acceptdownlevelapis;
boolean8 sv503_lmannounce;
string sv503_domain;
uint32 sv503_maxcopyreadlen;
uint32 sv503_maxcopywritelen;
uint32 sv503_minkeepsearch;
uint32 sv503_maxkeepsearch;
uint32 sv503_minkeepcomplsearch;
uint32 sv503_maxkeepcomplsearch;
uint32 sv503_threadcountadd;
uint32 sv503_numblockthreads;
uint32 sv503_scavtimeout;
uint32 sv503_minrcvqueue;
uint32 sv503_minfreeworkitems;
uint32 sv503_xactmemsize;
uint32 sv503_threadpriority;
uint32 sv503_maxmpxct;
uint32 sv503_oplockbreakwait;
uint32 sv503_oplockbreakresponsewait;
boolean8 sv503_enableoplocks;
boolean8 sv503_enableoplockforceclose;
boolean8 sv503_enablefcbopens;
boolean8 sv503_enableraw;
boolean8 sv503_enablesharednetdrives;
uint32 sv503_minfreeconnections;
uint32 sv503_maxfreeconnections;
} SERVER_INFO_503;
[public] typedef struct {
uint32 sv599_sessopens;
uint32 sv599_sessvcs;
uint32 sv599_opensearch;
uint32 sv599_sizreqbuf;
uint32 sv599_initworkitems;
uint32 sv599_maxworkitems;
uint32 sv599_rawworkitems;
uint32 sv599_irpstacksize;
uint32 sv599_maxrawbuflen;
uint32 sv599_sessusers;
uint32 sv599_sessconns;
uint32 sv599_maxpagedmemoryusage;
uint32 sv599_maxnonpagedmemoryusage;
boolean8 sv599_enablesoftcompat;
boolean8 sv599_enableforcedlogoff;
boolean8 sv599_timesource;
boolean8 sv599_acceptdownlevelapis;
boolean8 sv599_lmannounce;
string sv599_domain;
uint32 sv599_maxcopyreadlen;
uint32 sv599_maxcopywritelen;
uint32 sv599_minkeepsearch;
uint32 sv599_maxkeepsearch;
uint32 sv599_minkeepcomplsearch;
uint32 sv599_maxkeepcomplsearch;
uint32 sv599_threadcountadd;
uint32 sv599_numblockthreads;
uint32 sv599_scavtimeout;
uint32 sv599_minrcvqueue;
uint32 sv599_minfreeworkitems;
uint32 sv599_xactmemsize;
uint32 sv599_threadpriority;
uint32 sv599_maxmpxct;
uint32 sv599_oplockbreakwait;
uint32 sv599_oplockbreakresponsewait;
boolean8 sv599_enableoplocks;
boolean8 sv599_enableoplockforceclose;
boolean8 sv599_enablefcbopens;
boolean8 sv599_enableraw;
boolean8 sv599_enablesharednetdrives;
uint32 sv599_minfreeconnections;
uint32 sv599_maxfreeconnections;
uint32 sv599_initsesstable;
uint32 sv599_initconntable;
uint32 sv599_initfiletable;
uint32 sv599_initsearchtable;
uint32 sv599_alertschedule;
uint32 sv599_errorthreshold;
uint32 sv599_networkerrorthreshold;
uint32 sv599_diskspacethreshold;
uint32 sv599_reserved;
uint32 sv599_maxlinkdelay;
uint32 sv599_minlinkthroughput;
uint32 sv599_linkinfovalidtime;
uint32 sv599_scavqosinfoupdatetime;
uint32 sv599_maxworkitemidletime;
} SERVER_INFO_599;
[public] typedef struct {
uint32 sv598_maxrawworkitems;
uint32 sv598_maxthreadsperqueue;
uint32 sv598_producttype;
uint32 sv598_serversize;
uint32 sv598_connectionlessautodisc;
uint32 sv598_sharingviolationretries;
uint32 sv598_sharingviolationdelay;
uint32 sv598_maxglobalopensearch;
uint32 sv598_removeduplicatesearches;
uint32 sv598_lockviolationoffset;
uint32 sv598_lockviolationdelay;
uint32 sv598_mdlreadswitchover;
uint32 sv598_cachedopenlimit;
uint32 sv598_otherqueueaffinity;
boolean8 sv598_restrictnullsessaccess;
boolean8 sv598_enablewfw311directipx;
uint32 sv598_queuesamplesecs;
uint32 sv598_balancecount;
uint32 sv598_preferredaffinity;
uint32 sv598_maxfreerfcbs;
uint32 sv598_maxfreemfcbs;
uint32 sv598_maxfreelfcbs;
uint32 sv598_maxfreepagedpoolchunks;
uint32 sv598_minpagedpoolchunksize;
uint32 sv598_maxpagedpoolchunksize;
boolean8 sv598_sendsfrompreferredprocessor;
uint32 sv598_cacheddirectorylimit;
uint32 sv598_maxcopylength;
boolean8 sv598_enablecompression;
boolean8 sv598_autosharewks;
boolean8 sv598_autoshareserver;
boolean8 sv598_enablesecuritysignature;
boolean8 sv598_requiresecuritysignature;
uint32 sv598_minclientbuffersize;
GUID sv598_serverguid;
uint32 sv598_ConnectionNoSessionsTimeout;
uint32 sv598_IdleThreadTimeOut;
boolean8 sv598_enableW9xsecuritysignature;
boolean8 sv598_enforcekerberosreauthentication;
boolean8 sv598_disabledos;
uint32 sv598_lowdiskspaceminimum;
boolean8 sv598_disablestrictnamechecking;
} SERVER_INFO_598;
[public] typedef struct {
string sv1005_comment;
} SERVER_INFO_1005;
[public] typedef struct {
uint32 sv1107_users;
} SERVER_INFO_1107;
[public] typedef struct {
int32 sv1010_disc;
} SERVER_INFO_1010;
[public] typedef struct {
boolean8 sv1016_hidden;
} SERVER_INFO_1016;
[public] typedef struct {
uint32 sv1017_announce;
} SERVER_INFO_1017;
[public] typedef struct {
uint32 sv1018_anndelta;
} SERVER_INFO_1018;
[public] typedef struct {
uint32 sv1501_sessopens;
} SERVER_INFO_1501;
[public] typedef struct {
uint32 sv1502_sessvcs;
} SERVER_INFO_1502;
[public] typedef struct {
uint32 sv1503_opensearch;
} SERVER_INFO_1503;
[public] typedef struct {
uint32 sv1506_maxworkitems;
} SERVER_INFO_1506;
[public] typedef struct {
uint32 sv1509_maxrawbuflen;
} SERVER_INFO_1509;
[public] typedef struct {
uint32 sv1510_sessusers;
} SERVER_INFO_1510;
[public] typedef struct {
uint32 sv1511_sessconns;
} SERVER_INFO_1511;
[public] typedef struct {
uint32 sv1512_maxnonpagedmemoryusage;
} SERVER_INFO_1512;
[public] typedef struct {
uint32 sv1513_maxpagedmemoryusage;
} SERVER_INFO_1513;
[public] typedef struct {
boolean8 sv1514_enablesoftcompat;
} SERVER_INFO_1514;
[public] typedef struct {
boolean8 sv1515_enableforcedlogoff;
} SERVER_INFO_1515;
[public] typedef struct {
boolean8 sv1516_timesource;
} SERVER_INFO_1516;
[public] typedef struct {
boolean8 sv1518_lmannounce;
} SERVER_INFO_1518;
[public] typedef struct {
uint32 sv1520_maxcopyreadlen;
} SERVER_INFO_1520;
[public] typedef struct {
uint32 sv1521_maxcopywritelen;
} SERVER_INFO_1521;
[public] typedef struct {
uint32 sv1522_minkeepsearch;
} SERVER_INFO_1522;
[public] typedef struct {
uint32 sv1523_maxkeepsearch;
} SERVER_INFO_1523;
[public] typedef struct {
uint32 sv1524_minkeepcomplsearch;
} SERVER_INFO_1524;
[public] typedef struct {
uint32 sv1525_maxkeepcomplsearch;
} SERVER_INFO_1525;
[public] typedef struct {
uint32 sv1528_scavtimeout;
} SERVER_INFO_1528;
[public] typedef struct {
uint32 sv1529_minrcvqueue;
} SERVER_INFO_1529;
[public] typedef struct {
uint32 sv1530_minfreeworkitems;
} SERVER_INFO_1530;
[public] typedef struct {
uint32 sv1533_maxmpxct;
} SERVER_INFO_1533;
[public] typedef struct {
uint32 sv1534_oplockbreakwait;
} SERVER_INFO_1534;
[public] typedef struct {
uint32 sv1535_oplockbreakresponsewait;
} SERVER_INFO_1535;
[public] typedef struct {
boolean8 sv1536_enableoplocks;
} SERVER_INFO_1536;
[public] typedef struct {
boolean8 sv1537_enableoplockforceclose;
} SERVER_INFO_1537;
[public] typedef struct {
boolean8 sv1538_enablefcbopens;
} SERVER_INFO_1538;
[public] typedef struct {
boolean8 sv1539_enableraw;
} SERVER_INFO_1539;
[public] typedef struct {
boolean8 sv1540_enablesharednetdrives;
} SERVER_INFO_1540;
[public] typedef struct {
boolean8 sv1541_minfreeconnections;
} SERVER_INFO_1541;
[public] typedef struct {
boolean8 sv1542_maxfreeconnections;
} SERVER_INFO_1542;
[public] typedef struct {
uint32 sv1543_initsesstable;
} SERVER_INFO_1543;
[public] typedef struct {
uint32 sv1544_initconntable;
} SERVER_INFO_1544;
[public] typedef struct {
uint32 sv1545_initfiletable;
} SERVER_INFO_1545;
[public] typedef struct {
uint32 sv1546_initsearchtable;
} SERVER_INFO_1546;
[public] typedef struct {
uint32 sv1547_alertschedule;
} SERVER_INFO_1547;
[public] typedef struct {
uint32 sv1548_errorthreshold;
} SERVER_INFO_1548;
[public] typedef struct {
uint32 sv1549_networkerrorthreshold;
} SERVER_INFO_1549;
[public] typedef struct {
uint32 sv1550_diskspacethreshold;
} SERVER_INFO_1550;
[public] typedef struct {
uint32 sv1552_maxlinkdelay;
} SERVER_INFO_1552;
[public] typedef struct {
uint32 sv1553_minlinkthroughput;
} SERVER_INFO_1553;
[public] typedef struct {
uint32 sv1554_linkinfovalidtime;
} SERVER_INFO_1554;
[public] typedef struct {
uint32 sv1555_scavqosinfoupdatetime;
} SERVER_INFO_1555;
[public] typedef struct {
uint32 sv1556_maxworkitemidletime;
} SERVER_INFO_1556;
[public] typedef struct {
uint32 sv1557_maxrawworkitems;
} SERVER_INFO_1557;
[public] typedef struct {
uint32 sv1560_producttype;
} SERVER_INFO_1560;
[public] typedef struct {
uint32 sv1561_serversize;
} SERVER_INFO_1561;
[public] typedef struct {
uint32 sv1562_connectionlessautodisc;
} SERVER_INFO_1562;
[public] typedef struct {
uint32 sv1563_sharingviolationretries;
} SERVER_INFO_1563;
[public] typedef struct {
uint32 sv1564_sharingviolationdelay;
} SERVER_INFO_1564;
[public] typedef struct {
uint32 sv1565_maxglobalopensearch;
} SERVER_INFO_1565;
[public] typedef struct {
boolean8 sv1566_removeduplicatesearches;
} SERVER_INFO_1566;
[public] typedef struct {
uint32 sv1567_lockviolationretries;
} SERVER_INFO_1567;
[public] typedef struct {
uint32 sv1568_lockviolationoffset;
} SERVER_INFO_1568;
[public] typedef struct {
uint32 sv1569_lockviolationdelay;
} SERVER_INFO_1569;
[public] typedef struct {
uint32 sv1570_mdlreadswitchover;
} SERVER_INFO_1570;
[public] typedef struct {
uint32 sv1571_cachedopenlimit;
} SERVER_INFO_1571;
[public] typedef struct {
uint32 sv1572_criticalthreads;
} SERVER_INFO_1572;
[public] typedef struct {
uint32 sv1573_restrictnullsessaccess;
} SERVER_INFO_1573;
[public] typedef struct {
uint32 sv1574_enablewfw311directipx;
} SERVER_INFO_1574;
[public] typedef struct {
uint32 sv1575_otherqueueaffinity;
} SERVER_INFO_1575;
[public] typedef struct {
uint32 sv1576_queuesamplesecs;
} SERVER_INFO_1576;
[public] typedef struct {
uint32 sv1577_balancecount;
} SERVER_INFO_1577;
[public] typedef struct {
uint32 sv1578_preferredaffinity;
} SERVER_INFO_1578;
[public] typedef struct {
uint32 sv1579_maxfreerfcbs;
} SERVER_INFO_1579;
[public] typedef struct {
uint32 sv1580_maxfreemfcbs;
} SERVER_INFO_1580;
[public] typedef struct {
uint32 sv1581_maxfreemlcbs;
} SERVER_INFO_1581;
[public] typedef struct {
uint32 sv1582_maxfreepagedpoolchunks;
} SERVER_INFO_1582;
[public] typedef struct {
uint32 sv1583_minpagedpoolchunksize;
} SERVER_INFO_1583;
[public] typedef struct {
uint32 sv1584_maxpagedpoolchunksize;
} SERVER_INFO_1584;
[public] typedef struct {
boolean8 sv1585_sendsfrompreferredprocessor;
} SERVER_INFO_1585;
[public] typedef struct {
uint32 sv1586_maxthreadsperqueue;
} SERVER_INFO_1586;
[public] typedef struct {
uint32 sv1587_cacheddirectorylimit;
} SERVER_INFO_1587;
[public] typedef struct {
uint32 sv1588_maxcopylength;
} SERVER_INFO_1588;
[public] typedef struct {
uint32 sv1590_enablecompression;
} SERVER_INFO_1590;
[public] typedef struct {
uint32 sv1591_autosharewks;
} SERVER_INFO_1591;
[public] typedef struct {
uint32 sv1592_autosharewks;
} SERVER_INFO_1592;
[public] typedef struct {
uint32 sv1593_enablesecuritysignature;
} SERVER_INFO_1593;
[public] typedef struct {
uint32 sv1594_requiresecuritysignature;
} SERVER_INFO_1594;
[public] typedef struct {
uint32 sv1595_minclientbuffersize;
} SERVER_INFO_1595;
[public] typedef struct {
uint32 sv1596_ConnectionNoSessionsTimeout;
} SERVER_INFO_1596;
[public] typedef struct {
uint32 sv1597_IdleThreadTimeOut;
} SERVER_INFO_1597;
[public] typedef struct {
uint32 sv1598_enableW9xsecuritysignature;
} SERVER_INFO_1598;
[public] typedef struct {
boolean8 sv1598_enforcekerberosreauthentication;
} SERVER_INFO_1599;
[public] typedef struct {
boolean8 sv1598_disabledos;
} SERVER_INFO_1600;
[public] typedef struct {
uint32 sv1598_lowdiskspaceminimum;
} SERVER_INFO_1601;
[public] typedef struct {
boolean8 sv_1598_disablestrictnamechecking;
} SERVER_INFO_1602;
[nopush,nopull] NET_API_STATUS NetServerGetInfo(
[in,unique] string *server_name,
[in] uint32 level,
[out] uint8 **buffer
);
/*******************************************/
/* NetServerSetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetServerSetInfo(
[in,unique] string *server_name,
[in] uint32 level,
[in] uint8 *buffer,
[out] uint32 *parm_error
);
/*******************************************/
/* NetWkstaGetInfo */
/*******************************************/
[public] typedef struct {
uint32 wki100_platform_id;
string wki100_computername;
string wki100_langroup;
uint32 wki100_ver_major;
uint32 wki100_ver_minor;
} WKSTA_INFO_100;
[public] typedef struct {
uint32 wki101_platform_id;
string wki101_computername;
string wki101_langroup;
uint32 wki101_ver_major;
uint32 wki101_ver_minor;
string wki101_lanroot;
} WKSTA_INFO_101;
[public] typedef struct {
uint32 wki102_platform_id;
string wki102_computername;
string wki102_langroup;
uint32 wki102_ver_major;
uint32 wki102_ver_minor;
string wki102_lanroot;
uint32 wki102_logged_on_users;
} WKSTA_INFO_102;
[nopush,nopull] NET_API_STATUS NetWkstaGetInfo(
[in,unique] string *server_name,
[in] uint32 level,
[out] uint8 **buffer
);
/*******************************************/
/* NetGetDCName */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGetDCName(
[in,unique] string *server_name,
[in,unique] string *domain_name,
[out] uint8 **buffer
);
/*******************************************/
/* NetGetAnyDCName */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGetAnyDCName(
[in,unique] string *server_name,
[in,unique] string *domain_name,
[out] uint8 **buffer
);
/*******************************************/
/* DsGetDcName */
/*******************************************/
[public] typedef [bitmap32bit] bitmap {
DS_PDC_FLAG = 0x00000001,
DS_GC_FLAG = 0x00000004,
DS_LDAP_FLAG = 0x00000008,
DS_DS_FLAG = 0x00000010,
DS_KDC_FLAG = 0x00000020,
DS_TIMESERV_FLAG = 0x00000040,
DS_CLOSEST_FLAG = 0x00000080,
DS_WRITABLE_FLAG = 0x00000100,
DS_GOOD_TIMESERV_FLAG = 0x00000200,
DS_NDNC_FLAG = 0x00000400,
DS_SELECT_SECRET_DOMAIN_6_FLAG = 0x00000800,
DS_FULL_SECRET_DOMAIN_6_FLAG = 0x00001000,
DS_WS_FLAG = 0x00002000,
DS_DS_8_FLAG = 0x00004000,
DS_DNS_CONTROLLER_FLAG = 0x20000000,
DS_DNS_DOMAIN_FLAG = 0x40000000,
DS_DNS_FOREST_FLAG = 0x80000000
} DOMAIN_CONTROLLER_INFO_FLAGS;
[public] typedef struct {
string domain_controller_name;
string domain_controller_address;
uint32 domain_controller_address_type;
GUID domain_guid;
string domain_name;
string dns_forest_name;
DOMAIN_CONTROLLER_INFO_FLAGS flags;
string dc_site_name;
string client_site_name;
} DOMAIN_CONTROLLER_INFO;
[nopush,nopull] NET_API_STATUS DsGetDcName(
[in,unique] string *server_name,
[in,ref] string *domain_name,
[in,unique] GUID *domain_guid,
[in,unique] string *site_name,
[in] uint32 flags,
[out,ref] DOMAIN_CONTROLLER_INFO **dc_info
);
/*******************************************/
/* NetUserAdd */
/*******************************************/
[public] typedef struct {
string usri0_name;
} USER_INFO_0;
/* priv */
const int USER_PRIV_GUEST = 0;
const int USER_PRIV_USER = 1;
const int USER_PRIV_ADMIN = 2;
[public] typedef struct {
string usri1_name;
string usri1_password;
uint32 usri1_password_age;
uint32 usri1_priv;
string usri1_home_dir;
string usri1_comment;
uint32 usri1_flags;
string usri1_script_path;
} USER_INFO_1;
/* auth_flags in USER_INFO_2 */
const int AF_OP_PRINT = 0x1;
const int AF_OP_COMM = 0x2;
const int AF_OP_SERVER = 0x4;
const int AF_OP_ACCOUNTS = 0x8;
const int AF_SETTABLE_BITS = (AF_OP_PRINT | AF_OP_COMM | AF_OP_SERVER | AF_OP_ACCOUNTS);
const int USER_MAXSTORAGE_UNLIMITED = (uint32_t)-1L;
[public] typedef struct {
string usri2_name;
string usri2_password;
uint32 usri2_password_age;
uint32 usri2_priv;
string usri2_home_dir;
string usri2_comment;
uint32 usri2_flags;
string usri2_script_path;
uint32 usri2_auth_flags;
string usri2_full_name;
string usri2_usr_comment;
string usri2_parms;
string usri2_workstations;
uint32 usri2_last_logon;
uint32 usri2_last_logoff;
uint32 usri2_acct_expires;
uint32 usri2_max_storage;
uint32 usri2_units_per_week;
uint8 *usri2_logon_hours;
uint32 usri2_bad_pw_count;
uint32 usri2_num_logons;
string usri2_logon_server;
uint32 usri2_country_code;
uint32 usri2_code_page;
} USER_INFO_2;
[public] typedef struct {
string usri3_name;
uint32 usri3_password_age;
uint32 usri3_priv;
string usri3_home_dir;
string usri3_comment;
uint32 usri3_flags;
string usri3_script_path;
uint32 usri3_auth_flags;
string usri3_full_name;
string usri3_usr_comment;
string usri3_parms;
string usri3_workstations;
uint32 usri3_last_logon;
uint32 usri3_last_logoff;
uint32 usri3_acct_expires;
uint32 usri3_max_storage;
uint32 usri3_units_per_week;
uint8 *usri3_logon_hours;
uint32 usri3_bad_pw_count;
uint32 usri3_num_logons;
string usri3_logon_server;
uint32 usri3_country_code;
uint32 usri3_code_page;
uint32 usri3_user_id;
uint32 usri3_primary_group_id;
string usri3_profile;
string usri3_home_dir_drive;
uint32 usri3_password_expired;
} USER_INFO_3;
[public] typedef struct {
string usri4_name;
string usri4_password;
uint32 usri4_password_age;
uint32 usri4_priv;
string usri4_home_dir;
string usri4_comment;
uint32 usri4_flags;
string usri4_script_path;
uint32 usri4_auth_flags;
string usri4_full_name;
string usri4_usr_comment;
string usri4_parms;
string usri4_workstations;
uint32 usri4_last_logon;
uint32 usri4_last_logoff;
uint32 usri4_acct_expires;
uint32 usri4_max_storage;
uint32 usri4_units_per_week;
uint8 *usri4_logon_hours;
uint32 usri4_bad_pw_count;
uint32 usri4_num_logons;
string usri4_logon_server;
uint32 usri4_country_code;
uint32 usri4_code_page;
domsid *usri4_user_sid;
uint32 usri4_primary_group_id;
string usri4_profile;
string usri4_home_dir_drive;
uint32 usri4_password_expired;
} USER_INFO_4;
[public] typedef struct {
string usri10_name;
string usri10_comment;
string usri10_usr_comment;
string usri10_full_name;
} USER_INFO_10;
[public] typedef struct {
string usri11_name;
string usri11_comment;
string usri11_usr_comment;
string usri11_full_name;
uint32 usri11_priv;
uint32 usri11_auth_flags;
uint32 usri11_password_age;
string usri11_home_dir;
string usri11_parms;
uint32 usri11_last_logon;
uint32 usri11_last_logoff;
uint32 usri11_bad_pw_count;
uint32 usri11_num_logons;
string usri11_logon_server;
uint32 usri11_country_code;
string usri11_workstations;
uint32 usri11_max_storage;
uint32 usri11_units_per_week;
uint8 *usri11_logon_hours;
uint32 usri11_code_page;
} USER_INFO_11;
[public] typedef struct {
string usri20_name;
string usri20_full_name;
string usri20_comment;
uint32 usri20_flags;
uint32 usri20_user_id;
} USER_INFO_20;
const int ENCRYPTED_PWLEN = 16;
[public] typedef struct {
uint8 usri21_password[ENCRYPTED_PWLEN];
} USER_INFO_21;
[public] typedef struct {
string usri22_name;
uint8 usri22_password[ENCRYPTED_PWLEN];
uint32 usri22_password_age;
uint32 usri22_priv;
string usri22_home_dir;
string usri22_comment;
uint32 usri22_flags;
uint32 usri22_script_path;
uint32 usri22_auth_flags;
string usri22_full_name;
string usri22_usr_comment;
string usri22_parms;
string usri22_workstations;
uint32 usri22_last_logon;
uint32 usri22_last_logoff;
uint32 usri22_acct_expires;
uint32 usri22_max_storage;
uint32 usri22_units_per_week;
uint8 *usri22_logon_hours;
uint32 usri22_bad_pw_count;
uint32 usri22_num_logons;
string usri22_logon_server;
uint32 usri22_country_code;
uint32 usri22_code_page;
} USER_INFO_22;
[public] typedef struct {
string usri23_name;
string usri23_full_name;
string usri23_comment;
uint32 usri23_flags;
domsid *usri23_user_sid;
} USER_INFO_23;
[public] typedef struct {
string usri1003_password;
} USER_INFO_1003;
[public] typedef struct {
uint32 usri1005_priv;
} USER_INFO_1005;
[public] typedef struct {
string usri1006_home_dir;
} USER_INFO_1006;
[public] typedef struct {
string usri1007_comment;
} USER_INFO_1007;
[public] typedef struct {
uint32 usri1008_flags;
} USER_INFO_1008;
[public] typedef struct {
string usri1009_script_path;
} USER_INFO_1009;
[public] typedef struct {
uint32 usri1010_auth_flags;
} USER_INFO_1010;
[public] typedef struct {
string usri1011_full_name;
} USER_INFO_1011;
[public] typedef struct {
string usri1012_usr_comment;
} USER_INFO_1012;
[public] typedef struct {
string usri1013_parms;
} USER_INFO_1013;
[public] typedef struct {
string usri1014_workstations;
} USER_INFO_1014;
[public] typedef struct {
uint32 usri1017_acct_expires;
} USER_INFO_1017;
[public] typedef struct {
uint32 usri1018_max_storage;
} USER_INFO_1018;
[public] typedef struct {
uint32 usri1020_units_per_week;
uint8 *usri1020_logon_hours;
} USER_INFO_1020;
[public] typedef struct {
string usri1023_logon_server;
} USER_INFO_1023;
[public] typedef struct {
uint32 usri1024_country_code;
} USER_INFO_1024;
[public] typedef struct {
uint32 usri1025_code_page;
} USER_INFO_1025;
[public] typedef struct {
uint32 usri1051_primary_group_id;
} USER_INFO_1051;
[public] typedef struct {
string usri1052_profile;
} USER_INFO_1052;
[public] typedef struct {
string usri1053_home_dir_drive;
} USER_INFO_1053;
[public] typedef struct {
string usriX_name;
string usriX_password;
uint32 usriX_password_age;
uint32 usriX_priv;
string usriX_home_dir;
string usriX_comment;
uint32 usriX_flags;
string usriX_script_path;
uint32 usriX_auth_flags;
string usriX_full_name;
string usriX_usr_comment;
string usriX_parms;
string usriX_workstations;
uint32 usriX_last_logon;
uint32 usriX_last_logoff;
uint32 usriX_acct_expires;
uint32 usriX_max_storage;
uint32 usriX_units_per_week;
uint8 *usriX_logon_hours;
uint32 usriX_bad_pw_count;
uint32 usriX_num_logons;
string usriX_logon_server;
uint32 usriX_country_code;
uint32 usriX_code_page;
string usriX_profile;
string usriX_home_dir_drive;
uint32 usriX_user_id;
uint32 usriX_primary_group_id;
uint32 usriX_password_expired;
} USER_INFO_X;
[nopush,nopull] NET_API_STATUS NetUserAdd(
[in,unique] string *server_name,
[in] uint32 level,
[in,ref] uint8 *buffer,
[out,ref] uint32 *parm_error
);
/*******************************************/
/* NetUserDel */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUserDel(
[in,unique] string *server_name,
[in,ref] string *user_name
);
/*******************************************/
/* NetUserEnum */
/*******************************************/
const int FILTER_TEMP_DUPLICATE_ACCOUNT = 0x0001;
const int FILTER_NORMAL_ACCOUNT = 0x0002;
const int FILTER_INTERDOMAIN_TRUST_ACCOUNT = 0x0008;
const int FILTER_WORKSTATION_TRUST_ACCOUNT = 0x0010;
const int FILTER_SERVER_TRUST_ACCOUNT = 0x0020;
[nopush,nopull] NET_API_STATUS NetUserEnum(
[in,unique] string *server_name,
[in] uint32 level,
[in] uint32 filter,
[out,ref] uint8 **buffer,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref] uint32 *total_entries,
[in,out,ref] uint32 *resume_handle
);
/*******************************************/
/* NetUserChangePassword */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUserChangePassword(
[in] string domain_name,
[in] string user_name,
[in] string old_password,
[in] string new_password
);
/*******************************************/
/* NetUserGetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUserGetInfo(
[in] string server_name,
[in] string user_name,
[in] uint32 level,
[out] uint8 **buffer
);
/*******************************************/
/* NetUserSetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUserSetInfo(
[in] string server_name,
[in] string user_name,
[in] uint32 level,
[in] uint8 *buffer,
[out] uint32 *parm_err
);
/*******************************************/
/* NetUserGetGroups */
/*******************************************/
[public] typedef struct {
string grui0_name;
} GROUP_USERS_INFO_0;
[public] typedef struct {
string grui1_name;
uint32 grui1_attributes;
} GROUP_USERS_INFO_1;
[nopush,nopull] NET_API_STATUS NetUserGetGroups(
[in] string server_name,
[in] string user_name,
[in] uint32 level,
[out] uint8 **buffer,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref] uint32 *total_entries
);
/*******************************************/
/* NetUserSetGroups */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUserSetGroups(
[in] string server_name,
[in] string user_name,
[in] uint32 level,
[in] uint8 *buffer,
[in] uint32 num_entries
);
/*******************************************/
/* NetUserGetLocalGroups */
/*******************************************/
const int LG_INCLUDE_INDIRECT = 0x0001;
typedef struct {
string lgrui0_name;
} LOCALGROUP_USERS_INFO_0;
[nopush,nopull] NET_API_STATUS NetUserGetLocalGroups(
[in] string server_name,
[in] string user_name,
[in] uint32 level,
[in] uint32 flags,
[out] uint8 **buffer,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref] uint32 *total_entries
);
/*******************************************/
/* NetUserModalsGet */
/*******************************************/
const int TIMEQ_FOREVER = (uint32_t)-1L;
typedef struct {
uint32 usrmod0_min_passwd_len;
uint32 usrmod0_max_passwd_age;
uint32 usrmod0_min_passwd_age;
uint32 usrmod0_force_logoff;
uint32 usrmod0_password_hist_len;
} USER_MODALS_INFO_0;
typedef struct {
uint32 usrmod1_role;
string usrmod1_primary;
} USER_MODALS_INFO_1;
typedef struct {
string usrmod2_domain_name;
domsid *usrmod2_domain_id;
} USER_MODALS_INFO_2;
typedef struct {
uint32 usrmod3_lockout_duration;
uint32 usrmod3_lockout_observation_window;
uint32 usrmod3_lockout_threshold;
} USER_MODALS_INFO_3;
typedef struct {
uint32 usrmod1001_min_passwd_len;
} USER_MODALS_INFO_1001;
typedef struct {
uint32 usrmod1002_max_passwd_age;
} USER_MODALS_INFO_1002;
typedef struct {
uint32 usrmod1003_min_passwd_age;
} USER_MODALS_INFO_1003;
typedef struct {
uint32 usrmod1004_force_logoff;
} USER_MODALS_INFO_1004;
typedef struct {
uint32 usrmod1005_password_hist_len;
} USER_MODALS_INFO_1005;
typedef struct {
uint32 usrmod1006_role;
} USER_MODALS_INFO_1006;
typedef struct {
string usrmod1007_primary;
} USER_MODALS_INFO_1007;
[nopush,nopull] NET_API_STATUS NetUserModalsGet(
[in] string server_name,
[in] uint32 level,
[out,ref] uint8 **buffer
);
/*******************************************/
/* NetUserModalsSet */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetUserModalsSet(
[in] string server_name,
[in] uint32 level,
[in] uint8 *buffer,
[out,ref] uint32 *parm_err
);
/*******************************************/
/* NetQueryDisplayInformation */
/*******************************************/
[public] typedef struct {
string usri1_name;
string usri1_comment;
uint32 usri1_flags;
string usri1_full_name;
uint32 usri1_user_id;
uint32 usri1_next_index;
} NET_DISPLAY_USER;
[public] typedef struct {
string usri2_name;
string usri2_comment;
uint32 usri2_flags;
uint32 usri2_user_id;
uint32 usri2_next_index;
} NET_DISPLAY_MACHINE;
[public] typedef struct {
string grpi3_name;
string grpi3_comment;
uint32 grpi3_group_id;
uint32 grpi3_attributes;
uint32 grpi3_next_index;
} NET_DISPLAY_GROUP;
[nopush,nopull] NET_API_STATUS NetQueryDisplayInformation(
[in,unique] string *server_name,
[in] uint32 level,
[in] uint32 idx,
[in] uint32 entries_requested,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref,noprint] void **buffer
);
/*******************************************/
/* NetGroupAdd */
/*******************************************/
typedef struct {
string grpi0_name;
} GROUP_INFO_0;
typedef struct {
string grpi1_name;
string grpi1_comment;
} GROUP_INFO_1;
typedef struct {
string grpi2_name;
string grpi2_comment;
uint32 grpi2_group_id;
uint32 grpi2_attributes;
} GROUP_INFO_2;
typedef struct {
string grpi3_name;
string grpi3_comment;
domsid *grpi3_group_sid;
uint32 grpi3_attributes;
} GROUP_INFO_3;
typedef struct {
string grpi1002_comment;
} GROUP_INFO_1002;
typedef struct {
uint32 grpi1005_attributes;
} GROUP_INFO_1005;
[nopush,nopull] NET_API_STATUS NetGroupAdd(
[in] string server_name,
[in] uint32 level,
[in] uint8 *buffer,
[out] uint32 *parm_err
);
/*******************************************/
/* NetGroupDel */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupDel(
[in] string server_name,
[in] string group_name
);
/*******************************************/
/* NetGroupEnum */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupEnum(
[in] string server_name,
[in] uint32 level,
[out,ref] uint8 **buffer,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref] uint32 *total_entries,
[in,out,ref] uint32 *resume_handle
);
/*******************************************/
/* NetGroupSetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupSetInfo(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[in] uint8 *buffer,
[out] uint32 *parm_err
);
/*******************************************/
/* NetGroupGetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupGetInfo(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[out] uint8 **buffer
);
/*******************************************/
/* NetGroupAddUser */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupAddUser(
[in] string server_name,
[in] string group_name,
[in] string user_name
);
/*******************************************/
/* NetGroupDelUser */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupDelUser(
[in] string server_name,
[in] string group_name,
[in] string user_name
);
/*******************************************/
/* NetGroupGetUsers */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupGetUsers(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[out] uint8 **buffer,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref] uint32 *total_entries,
[in,out,ref] uint32 *resume_handle
);
/*******************************************/
/* NetGroupSetUsers */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetGroupSetUsers(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[in] uint8 *buffer,
[in] uint32 num_entries
);
/*******************************************/
/* NetLocalGroupAdd */
/*******************************************/
typedef struct {
string lgrpi0_name;
} LOCALGROUP_INFO_0;
typedef struct {
string lgrpi1_name;
string lgrpi1_comment;
} LOCALGROUP_INFO_1;
typedef struct {
string lgrpi1002_comment;
} LOCALGROUP_INFO_1002;
[nopush,nopull] NET_API_STATUS NetLocalGroupAdd(
[in] string server_name,
[in] uint32 level,
[in] uint8 *buffer,
[out,ref] uint32 *parm_err
);
/*******************************************/
/* NetLocalGroupDel */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupDel(
[in] string server_name,
[in] string group_name
);
/*******************************************/
/* NetLocalGroupGetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupGetInfo(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[out,ref] uint8 **buffer
);
/*******************************************/
/* NetLocalGroupSetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupSetInfo(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[in,ref] uint8 *buffer,
[out,ref] uint32 *parm_err
);
/*******************************************/
/* NetLocalGroupEnum */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupEnum(
[in] string server_name,
[in] uint32 level,
[out,ref] uint8 **buffer,
[in] uint32 prefmaxlen,
[out,ref] uint32 *entries_read,
[out,ref] uint32 *total_entries,
[in,out,ref] uint32 *resume_handle
);
/*******************************************/
/* NetLocalGroupAddMembers */
/*******************************************/
typedef enum {
SidTypeUser = 1,
SidTypeGroup = 2,
SidTypeDomain = 3,
SidTypeAlias = 4,
SidTypeWellKnownGroup = 5,
SidTypeDeletedAccount = 6,
SidTypeInvalid = 7,
SidTypeUnknown = 8,
SidTypeComputer = 9,
SidTypeLabel = 10
} SID_NAME_USE;
typedef struct {
domsid *lgrmi0_sid;
} LOCALGROUP_MEMBERS_INFO_0;
typedef struct {
domsid *lgrmi1_sid;
SID_NAME_USE lgrmi1_sidusage;
string lgrmi1_name;
} LOCALGROUP_MEMBERS_INFO_1;
typedef struct {
domsid *lgrmi2_sid;
SID_NAME_USE lgrmi2_sidusage;
string lgrmi2_domainandname;
} LOCALGROUP_MEMBERS_INFO_2;
typedef struct {
string lgrmi3_domainandname;
} LOCALGROUP_MEMBERS_INFO_3;
[nopush,nopull] NET_API_STATUS NetLocalGroupAddMembers(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[in] uint8 *buffer,
[in] uint32 total_entries
);
/*******************************************/
/* NetLocalGroupDelMembers */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupDelMembers(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[in] uint8 *buffer,
[in] uint32 total_entries
);
/*******************************************/
/* NetLocalGroupGetMembers */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupGetMembers(
[in] string server_name,
[in] string local_group_name,
[in] uint32 level,
[out] uint8 **buffer,
[in] uint32 prefmaxlen,
[out] uint32 *entries_read,
[out] uint32 *total_entries,
[in,out] uint32 *resume_handle
);
/*******************************************/
/* NetLocalGroupSetMembers */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetLocalGroupSetMembers(
[in] string server_name,
[in] string group_name,
[in] uint32 level,
[in] uint8 *buffer,
[in] uint32 total_entries
);
/*******************************************/
/* NetRemoteTOD */
/*******************************************/
typedef struct {
uint32 tod_elapsedt;
uint32 tod_msecs;
uint32 tod_hours;
uint32 tod_mins;
uint32 tod_secs;
uint32 tod_hunds;
int32 tod_timezone;
uint32 tod_tinterval;
uint32 tod_day;
uint32 tod_month;
uint32 tod_year;
uint32 tod_weekday;
} TIME_OF_DAY_INFO;
[nopush,nopull] NET_API_STATUS NetRemoteTOD(
[in] string server_name,
[out,ref] uint8 **buffer
);
/*******************************************/
/* NetShareAdd */
/*******************************************/
typedef struct {
string shi0_netname;
} SHARE_INFO_0;
typedef struct {
string shi1_netname;
uint32 shi1_type;
string shi1_remark;
} SHARE_INFO_1;
typedef struct {
string shi2_netname;
uint32 shi2_type;
string shi2_remark;
uint32 shi2_permissions;
uint32 shi2_max_uses;
uint32 shi2_current_uses;
string shi2_path;
string shi2_passwd;
} SHARE_INFO_2;
typedef struct {
string shi501_netname;
uint32 shi501_type;
string shi501_remark;
uint32 shi501_flags;
} SHARE_INFO_501;
typedef struct {
string shi502_netname;
uint32 shi502_type;
string shi502_remark;
uint32 shi502_permissions;
uint32 shi502_max_uses;
uint32 shi502_current_uses;
string shi502_path;
string shi502_passwd;
uint32 shi502_reserved;
security_descriptor *shi502_security_descriptor;
} SHARE_INFO_502;
typedef struct {
string shi1004_remark;
} SHARE_INFO_1004;
const int CSC_MASK = 0x30;
typedef [public,bitmap32bit] bitmap {
SHI1005_FLAGS_DFS = 0x01,
SHI1005_FLAGS_DFS_ROOT = 0x02,
CSC_CACHE_MANUAL_REINT = 0x00,
CSC_CACHE_AUTO_REINT = 0x10,
CSC_CACHE_VDO = 0x20,
CSC_CACHE_NONE = 0x30,
SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS = 0x0100,
SHI1005_FLAGS_FORCE_SHARED_DELETE = 0x0200,
SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING = 0x0400,
SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM = 0x0800
} SHARE_INFO_1005_FLAGS;
typedef struct {
SHARE_INFO_1005_FLAGS shi1005_flags;
} SHARE_INFO_1005;
typedef struct {
uint32 shi1006_max_uses;
} SHARE_INFO_1006;
[nopush,nopull] NET_API_STATUS NetShareAdd(
[in] string server_name,
[in] uint32 level,
[in] uint8 *buffer,
[out] uint32 *parm_err
);
/*******************************************/
/* NetShareDel */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetShareDel(
[in] string server_name,
[in] string net_name,
[in] uint32 reserved
);
/*******************************************/
/* NetShareEnum */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetShareEnum(
[in] string server_name,
[in] uint32 level,
[out] uint8 **buffer,
[in] uint32 prefmaxlen,
[out] uint32 *entries_read,
[out] uint32 *total_entries,
[in,out] uint32 *resume_handle
);
/*******************************************/
/* NetShareGetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetShareGetInfo(
[in] string server_name,
[in] string net_name,
[in] uint32 level,
[out] uint8 **buffer
);
/*******************************************/
/* NetShareSetInfo */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetShareSetInfo(
[in] string server_name,
[in] string net_name,
[in] uint32 level,
[in] uint8 *buffer,
[out] uint32 *parm_err
);
/*******************************************/
/* NetFileClose */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetFileClose(
[in] string server_name,
[in] uint32 fileid
);
/*******************************************/
/* NetFileGetInfo */
/*******************************************/
typedef struct {
uint32 fi2_id;
} FILE_INFO_2;
typedef struct {
uint32 fi3_id;
uint32 fi3_permissions;
uint32 fi3_num_locks;
string fi3_pathname;
string fi3_username;
} FILE_INFO_3;
[nopush,nopull] NET_API_STATUS NetFileGetInfo(
[in] string server_name,
[in] uint32 fileid,
[in] uint32 level,
[out] uint8 **buffer
);
/*******************************************/
/* NetFileEnum */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetFileEnum(
[in] string server_name,
[in] string base_path,
[in] string user_name,
[in] uint32 level,
[out] uint8 **buffer,
[in] uint32 prefmaxlen,
[out] uint32 *entries_read,
[out] uint32 *total_entries,
[in,out] uint32 *resume_handle
);
/*******************************************/
/* NetShutdownInit */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetShutdownInit(
[in] string server_name,
[in] string message,
[in] uint32 timeout,
[in] uint8 force_apps,
[in] uint8 do_reboot
);
/*******************************************/
/* NetShutdownAbort */
/*******************************************/
[nopush,nopull] NET_API_STATUS NetShutdownAbort(
[in] string server_name
);
/*******************************************/
/* I_NetLogonControl */
/*******************************************/
typedef struct {
uint32 netlog1_flags;
NET_API_STATUS netlog1_pdc_connection_status;
} NETLOGON_INFO_1;
typedef struct {
uint32 netlog2_flags;
NET_API_STATUS netlog2_pdc_connection_status;
string netlog2_trusted_dc_name;
NET_API_STATUS netlog2_tc_connection_status;
} NETLOGON_INFO_2;
typedef struct {
uint32 netlog1_flags;
uint32 netlog3_logon_attempts;
uint32 netlog3_reserved1;
uint32 netlog3_reserved2;
uint32 netlog3_reserved3;
uint32 netlog3_reserved4;
uint32 netlog3_reserved5;
} NETLOGON_INFO_3;
typedef struct {
string netlog4_trusted_dc_name;
string netlog4_trusted_domain_name;
} NETLOGON_INFO_4;
[nopush,nopull] NET_API_STATUS I_NetLogonControl(
[in] string server_name,
[in] uint32 function_code,
[in] uint32 query_level,
[out,ref] uint8 **buffer
);
/*******************************************/
/* I_NetLogonControl2 */
/*******************************************/
[nopush,nopull] NET_API_STATUS I_NetLogonControl2(
[in] string server_name,
[in] uint32 function_code,
[in] uint32 query_level,
[in,unique] uint8 *data,
[out,ref] uint8 **buffer
);
}