netapi: add IDL for NetFileGetInfo.
[metze/samba/wip.git] / source3 / librpc / idl / libnetapi.idl
index b2c79fc1fadec1dfce5a3b698fc52da49fa8de17..6ecfdccdfd68ff7a205f4718b719676ccf2711e6 100644 (file)
@@ -614,6 +614,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                        */
        /*******************************************/
@@ -851,6 +884,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                        */
        /*******************************************/
@@ -1065,8 +1110,23 @@ interface libnetapi
                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 {
-               uint32 shi1005_flags;
+               SHARE_INFO_1005_FLAGS shi1005_flags;
        } SHARE_INFO_1005;
 
        typedef struct {
@@ -1103,4 +1163,59 @@ interface libnetapi
                [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
+               );
 }