mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
r18318: Implement DiskEnum
Fix spelling and consistencies issues in idl (This used to be commit 1347c971ac4dd62e6e6643293d48917ac065d19c)
This commit is contained in:
parent
fb15300c60
commit
c74d5b9204
@ -1121,12 +1121,12 @@
|
||||
/* srvsvc_NetDisk */
|
||||
/**************************/
|
||||
typedef struct {
|
||||
[flag(STR_LEN4)] string disc;
|
||||
[flag(STR_LEN4)] string disk;
|
||||
} srvsvc_NetDiskInfo0;
|
||||
|
||||
typedef struct {
|
||||
uint32 count;
|
||||
[size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *discs;
|
||||
[size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *disks;
|
||||
} srvsvc_NetDiskInfo;
|
||||
|
||||
/******************/
|
||||
@ -1134,7 +1134,7 @@
|
||||
WERROR srvsvc_NetDiskEnum(
|
||||
[in] [string,charset(UTF16)] uint16 *server_unc,
|
||||
[in] uint32 level,
|
||||
[in,out] srvsvc_NetDiskInfo disks,
|
||||
[in,out] srvsvc_NetDiskInfo info,
|
||||
[in] uint32 maxlen,
|
||||
[out] uint32 totalentries,
|
||||
[in,out] uint32 *resume_handle
|
||||
|
@ -1078,15 +1078,30 @@ static WERROR srvsvc_NetSrvSetInfo(struct dcesrv_call_state *dce_call, TALLOC_CT
|
||||
static WERROR srvsvc_NetDiskEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
|
||||
struct srvsvc_NetDiskEnum *r)
|
||||
{
|
||||
r->out.disks.discs = NULL;
|
||||
r->out.disks.count = 0;
|
||||
r->out.info.disks = NULL;
|
||||
r->out.info.count = 0;
|
||||
r->out.totalentries = 0;
|
||||
r->out.resume_handle = NULL;
|
||||
|
||||
switch (r->in.level) {
|
||||
case 0:
|
||||
{
|
||||
return WERR_NOT_SUPPORTED;
|
||||
/* we can safely hardcode the reply and report we have only one disk (C:) */
|
||||
/* for some reason Windows wants 2 entries with the second being empty */
|
||||
r->out.info.disks = talloc_array(mem_ctx, struct srvsvc_NetDiskInfo0, 2);
|
||||
W_ERROR_HAVE_NO_MEMORY(r->out.info.disks);
|
||||
r->out.info.count = 2;
|
||||
|
||||
r->out.info.disks[0].disk = talloc_strdup(mem_ctx, "C:");
|
||||
W_ERROR_HAVE_NO_MEMORY(r->out.info.disks[0].disk);
|
||||
|
||||
r->out.info.disks[1].disk = talloc_strdup(mem_ctx, "");
|
||||
W_ERROR_HAVE_NO_MEMORY(r->out.info.disks[1].disk);
|
||||
|
||||
r->out.totalentries = 1;
|
||||
r->out.resume_handle = r->in.resume_handle;
|
||||
|
||||
return WERR_OK;
|
||||
}
|
||||
default:
|
||||
return WERR_UNKNOWN_LEVEL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user