X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=source3%2Flibrpc%2Fidl%2Flibnetapi.idl;h=f2f4a16c1243b13ae9ff4e5477f7010ab3dd945d;hb=5209a846a9157e649fcdcb561f7eaf19c8c0e465;hp=62363c4bee978b281a67bb10a6b02b0fcd610379;hpb=02bd97b0b008d83d612de214e4302f38f92045bc;p=kai%2Fsamba.git diff --git a/source3/librpc/idl/libnetapi.idl b/source3/librpc/idl/libnetapi.idl index 62363c4bee9..f2f4a16c124 100644 --- a/source3/librpc/idl/libnetapi.idl +++ b/source3/librpc/idl/libnetapi.idl @@ -29,13 +29,28 @@ interface libnetapi /* 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_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] uint32 join_flags + [in] NetJoinFlags join_flags ); /*******************************************/ @@ -46,13 +61,20 @@ interface libnetapi [in,unique] string *server_name, [in,unique] string *account, [in,unique] string *password, - [in] uint32 unjoin_flags + [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, @@ -72,10 +94,52 @@ interface libnetapi [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 + ); + /*******************************************/ /* 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 { string sv1005_comment; } SERVER_INFO_1005; @@ -453,7 +517,9 @@ interface libnetapi 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( @@ -550,6 +616,39 @@ interface libnetapi [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 */ /*******************************************/ @@ -787,6 +886,18 @@ interface libnetapi [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 */ /*******************************************/ @@ -969,6 +1080,16 @@ interface libnetapi /* 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; @@ -980,10 +1101,139 @@ interface libnetapi 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 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 + ); }