[SCM] Samba Shared Repository - branch v3-devel updated - release-3-2-0pre2-3995-g91830de

Günther Deschner gd at samba.org
Fri Sep 5 10:56:28 GMT 2008


The branch, v3-devel has been updated
       via  91830de4527db124889ada9845ab145762855bc2 (commit)
       via  c2e936743227f10c2ade61589fe15c1805c79773 (commit)
       via  0cc604ebc13125daf7e219c63a6ca8f21eda48c6 (commit)
       via  3da9584a7ad2a1a985186951a060a1500059b913 (commit)
       via  25302d79bec5784a6dd27cf7b0f58a8ec287b2ad (commit)
       via  30b99eb7e18ba274299ef37e3883154b35d6f2dc (commit)
       via  4f3fa6af7fd2e7d178ae395ee8ce4955437ef25d (commit)
       via  5f55e85cab6b3e98304dac5de96d6c6d43797e23 (commit)
      from  b56ec0b9952dbad9f552c4be30eaae36faa9131c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-devel


- Log -----------------------------------------------------------------
commit 91830de4527db124889ada9845ab145762855bc2
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 29 19:06:43 2008 +0200

    netapi: add NetShareEnum example code.
    
    Guenther

commit c2e936743227f10c2ade61589fe15c1805c79773
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 29 19:00:38 2008 +0200

    netapi: add NetShareEnum to public headers.
    
    Guenther

commit 0cc604ebc13125daf7e219c63a6ca8f21eda48c6
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 29 18:58:32 2008 +0200

    netapi: add NetShareEnum skeleton.
    
    Guenther

commit 3da9584a7ad2a1a985186951a060a1500059b913
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 29 18:56:46 2008 +0200

    re-run make idl.
    
    Guenther

commit 25302d79bec5784a6dd27cf7b0f58a8ec287b2ad
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 29 18:56:11 2008 +0200

    netapi: add NetShareEnum to IDL.
    
    Guenther

commit 30b99eb7e18ba274299ef37e3883154b35d6f2dc
Author: Günther Deschner <gd at samba.org>
Date:   Thu Sep 4 16:46:36 2008 +0200

    netapi: add new SHARE_INFO structs to public header.
    
    Guenther

commit 4f3fa6af7fd2e7d178ae395ee8ce4955437ef25d
Author: Günther Deschner <gd at samba.org>
Date:   Thu Sep 4 16:40:18 2008 +0200

    re-run make idl.
    
    Guenther

commit 5f55e85cab6b3e98304dac5de96d6c6d43797e23
Author: Günther Deschner <gd at samba.org>
Date:   Thu Sep 4 16:38:57 2008 +0200

    netapi: add more SHARE_INFO_X levels.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source/lib/netapi/examples/Makefile.in             |    8 ++-
 .../{group/group_enum.c => share/share_enum.c}     |   65 ++++++++-----------
 source/lib/netapi/libnetapi.c                      |   53 ++++++++++++++++
 source/lib/netapi/libnetapi.h                      |   11 +++
 source/lib/netapi/netapi.h                         |   56 +++++++++++++++++
 source/lib/netapi/share.c                          |   17 +++++
 source/librpc/gen_ndr/libnetapi.h                  |   48 ++++++++++++++
 source/librpc/gen_ndr/ndr_libnetapi.c              |   49 +++++++++++++++
 source/librpc/gen_ndr/ndr_libnetapi.h              |    7 ++-
 source/librpc/idl/libnetapi.idl                    |   43 +++++++++++++
 10 files changed, 317 insertions(+), 40 deletions(-)
 copy source/lib/netapi/examples/{group/group_enum.c => share/share_enum.c} (63%)


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/examples/Makefile.in b/source/lib/netapi/examples/Makefile.in
index 74cbf32..f4ac8af 100644
--- a/source/lib/netapi/examples/Makefile.in
+++ b/source/lib/netapi/examples/Makefile.in
@@ -51,7 +51,8 @@ PROGS = bin/getdc at EXEEXT@ \
 	bin/localgroup_getmembers at EXEEXT@ \
 	bin/remote_tod at EXEEXT@ \
 	bin/share_add at EXEEXT@ \
-	bin/share_del at EXEEXT@
+	bin/share_del at EXEEXT@ \
+	bin/share_enum at EXEEXT@
 
 all: $(PROGS)
 
@@ -115,6 +116,7 @@ LOCALGROUPGETMEMBERS_OBJ = localgroup/localgroup_getmembers.o $(CMDLINE_OBJ)
 REMOTETOD_OBJ = server/remote_tod.o $(CMDLINE_OBJ)
 SHAREADD_OBJ = share/share_add.o $(CMDLINE_OBJ)
 SHAREDEL_OBJ = share/share_del.o $(CMDLINE_OBJ)
+SHAREENUM_OBJ = share/share_enum.o $(CMDLINE_OBJ)
 
 bin/getdc at EXEEXT@: $(BINARY_PREREQS) $(GETDC_OBJ)
 	@echo Linking $@
@@ -256,6 +258,10 @@ bin/share_del at EXEEXT@: $(BINARY_PREREQS) $(SHAREDEL_OBJ)
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SHAREDEL_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
 
+bin/share_enum at EXEEXT@: $(BINARY_PREREQS) $(SHAREENUM_OBJ)
+	@echo Linking $@
+	@$(CC) $(FLAGS) -o $@ $(SHAREENUM_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
+
 clean:
 	-rm -f $(PROGS)
 	-rm -f core */*~ *~ \
diff --git a/source/lib/netapi/examples/group/group_enum.c b/source/lib/netapi/examples/share/share_enum.c
similarity index 63%
copy from source/lib/netapi/examples/group/group_enum.c
copy to source/lib/netapi/examples/share/share_enum.c
index fe2aee1..b1f4043 100644
--- a/source/lib/netapi/examples/group/group_enum.c
+++ b/source/lib/netapi/examples/share/share_enum.c
@@ -1,6 +1,6 @@
 /*
  *  Unix SMB/CIFS implementation.
- *  NetGroupEnum query
+ *  NetShareEnum query
  *  Copyright (C) Guenther Deschner 2008
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -38,12 +38,10 @@ int main(int argc, const char **argv)
 	uint32_t total_entries = 0;
 	uint32_t resume_handle = 0;
 	int i;
-	char *sid_str = NULL;
 
-	struct GROUP_INFO_0 *info0 = NULL;
-	struct GROUP_INFO_1 *info1 = NULL;
-	struct GROUP_INFO_2 *info2 = NULL;
-	struct GROUP_INFO_3 *info3 = NULL;
+	struct SHARE_INFO_0 *i0 = NULL;
+	struct SHARE_INFO_1 *i1 = NULL;
+	struct SHARE_INFO_2 *i2 = NULL;
 
 	poptContext pc;
 	int opt;
@@ -59,7 +57,7 @@ int main(int argc, const char **argv)
 		return status;
 	}
 
-	pc = poptGetContext("group_enum", argc, argv, long_options, 0);
+	pc = poptGetContext("share_enum", argc, argv, long_options, 0);
 
 	poptSetOtherOptionHelp(pc, "hostname level");
 	while((opt = poptGetNextOpt(pc)) != -1) {
@@ -75,10 +73,10 @@ int main(int argc, const char **argv)
 		level = atoi(poptGetArg(pc));
 	}
 
-	/* NetGroupEnum */
+	/* NetShareEnum */
 
 	do {
-		status = NetGroupEnum(hostname,
+		status = NetShareEnum(hostname,
 				      level,
 				      &buffer,
 				      (uint32_t)-1,
@@ -89,16 +87,13 @@ int main(int argc, const char **argv)
 			printf("total entries: %d\n", total_entries);
 			switch (level) {
 				case 0:
-					info0 = (struct GROUP_INFO_0 *)buffer;
+					i0 = (struct SHARE_INFO_0 *)buffer;
 					break;
 				case 1:
-					info1 = (struct GROUP_INFO_1 *)buffer;
+					i1 = (struct SHARE_INFO_1 *)buffer;
 					break;
 				case 2:
-					info2 = (struct GROUP_INFO_2 *)buffer;
-					break;
-				case 3:
-					info3 = (struct GROUP_INFO_3 *)buffer;
+					i2 = (struct SHARE_INFO_2 *)buffer;
 					break;
 				default:
 					break;
@@ -106,34 +101,28 @@ int main(int argc, const char **argv)
 			for (i=0; i<entries_read; i++) {
 				switch (level) {
 					case 0:
-						printf("#%d group: %s\n", i, info0->grpi0_name);
-						info0++;
+						printf("#%d netname: %s\n", i, i0->shi0_netname);
+						i0++;
 						break;
 					case 1:
-						printf("#%d group: %s\n", i, info1->grpi1_name);
-						printf("#%d comment: %s\n", i, info1->grpi1_comment);
-						info1++;
+						printf("#%d netname: %s\n", i, i1->shi1_netname);
+						printf("#%d type: %d\n", i, i1->shi1_type);
+						printf("#%d remark: %s\n", i, i1->shi1_remark);
+						i1++;
 						break;
 					case 2:
-						printf("#%d group: %s\n", i, info2->grpi2_name);
-						printf("#%d comment: %s\n", i, info2->grpi2_comment);
-						printf("#%d rid: %d\n", i, info2->grpi2_group_id);
-						printf("#%d attributes: 0x%08x\n", i, info2->grpi2_attributes);
-						info2++;
+						printf("#%d netname: %s\n", i, i2->shi2_netname);
+						printf("#%d type: %d\n", i, i2->shi2_type);
+						printf("#%d remark: %s\n", i, i2->shi2_remark);
+						printf("#%d permissions: %d\n", i, i2->shi2_permissions);
+						printf("#%d max users: %d\n", i, i2->shi2_max_uses);
+						printf("#%d current users: %d\n", i, i2->shi2_current_uses);
+						printf("#%d path: %s\n", i, i2->shi2_path);
+						printf("#%d password: %s\n", i, i2->shi2_passwd);
+						i2++;
 						break;
-					case 3:
-						printf("#%d group: %s\n", i, info3->grpi3_name);
-						printf("#%d comment: %s\n", i, info3->grpi3_comment);
-						if (ConvertSidToStringSid(info3->grpi3_group_sid,
-									  &sid_str)) {
-							printf("#%d group_sid: %s\n", i, sid_str);
-							free(sid_str);
-						}
-						printf("#%d attributes: 0x%08x\n", i, info3->grpi3_attributes);
-						info3++;
+					default:
 						break;
-
-
 				}
 			}
 			NetApiBufferFree(buffer);
@@ -141,7 +130,7 @@ int main(int argc, const char **argv)
 	} while (status == ERROR_MORE_DATA);
 
 	if (status != 0) {
-		printf("NetGroupEnum failed with: %s\n",
+		printf("NetShareEnum failed with: %s\n",
 			libnetapi_get_error_string(ctx, status));
 	}
 
diff --git a/source/lib/netapi/libnetapi.c b/source/lib/netapi/libnetapi.c
index 5ff7db0..3b203b4 100644
--- a/source/lib/netapi/libnetapi.c
+++ b/source/lib/netapi/libnetapi.c
@@ -1863,3 +1863,56 @@ NET_API_STATUS NetShareDel(const char * server_name /* [in] */,
 	return r.out.result;
 }
 
+/****************************************************************
+ NetShareEnum
+****************************************************************/
+
+NET_API_STATUS NetShareEnum(const char * server_name /* [in] */,
+			    uint32_t level /* [in] */,
+			    uint8_t **buffer /* [out] [ref] */,
+			    uint32_t prefmaxlen /* [in] */,
+			    uint32_t *entries_read /* [out] [ref] */,
+			    uint32_t *total_entries /* [out] [ref] */,
+			    uint32_t *resume_handle /* [in,out] [ref] */)
+{
+	struct NetShareEnum r;
+	struct libnetapi_ctx *ctx = NULL;
+	NET_API_STATUS status;
+	WERROR werr;
+
+	status = libnetapi_getctx(&ctx);
+	if (status != 0) {
+		return status;
+	}
+
+	/* In parameters */
+	r.in.server_name = server_name;
+	r.in.level = level;
+	r.in.prefmaxlen = prefmaxlen;
+	r.in.resume_handle = resume_handle;
+
+	/* Out parameters */
+	r.out.buffer = buffer;
+	r.out.entries_read = entries_read;
+	r.out.total_entries = total_entries;
+	r.out.resume_handle = resume_handle;
+
+	if (DEBUGLEVEL >= 10) {
+		NDR_PRINT_IN_DEBUG(NetShareEnum, &r);
+	}
+
+	if (LIBNETAPI_LOCAL_SERVER(server_name)) {
+		werr = NetShareEnum_l(ctx, &r);
+	} else {
+		werr = NetShareEnum_r(ctx, &r);
+	}
+
+	r.out.result = W_ERROR_V(werr);
+
+	if (DEBUGLEVEL >= 10) {
+		NDR_PRINT_OUT_DEBUG(NetShareEnum, &r);
+	}
+
+	return r.out.result;
+}
+
diff --git a/source/lib/netapi/libnetapi.h b/source/lib/netapi/libnetapi.h
index b20f465..d4d73e6 100644
--- a/source/lib/netapi/libnetapi.h
+++ b/source/lib/netapi/libnetapi.h
@@ -332,4 +332,15 @@ WERROR NetShareDel_r(struct libnetapi_ctx *ctx,
 		     struct NetShareDel *r);
 WERROR NetShareDel_l(struct libnetapi_ctx *ctx,
 		     struct NetShareDel *r);
+NET_API_STATUS NetShareEnum(const char * server_name /* [in] */,
+			    uint32_t level /* [in] */,
+			    uint8_t **buffer /* [out] [ref] */,
+			    uint32_t prefmaxlen /* [in] */,
+			    uint32_t *entries_read /* [out] [ref] */,
+			    uint32_t *total_entries /* [out] [ref] */,
+			    uint32_t *resume_handle /* [in,out] [ref] */);
+WERROR NetShareEnum_r(struct libnetapi_ctx *ctx,
+		      struct NetShareEnum *r);
+WERROR NetShareEnum_l(struct libnetapi_ctx *ctx,
+		      struct NetShareEnum *r);
 #endif /* __LIBNETAPI_LIBNETAPI__ */
diff --git a/source/lib/netapi/netapi.h b/source/lib/netapi/netapi.h
index 8966537..817d402 100644
--- a/source/lib/netapi/netapi.h
+++ b/source/lib/netapi/netapi.h
@@ -551,6 +551,16 @@ struct TIME_OF_DAY_INFO {
 	uint32_t tod_weekday;
 };
 
+struct SHARE_INFO_0 {
+	const char * shi0_netname;
+};
+
+struct SHARE_INFO_1 {
+	const char * shi1_netname;
+	uint32_t shi1_type;
+	const char * shi1_remark;
+};
+
 struct SHARE_INFO_2 {
 	const char * shi2_netname;
 	uint32_t shi2_type;
@@ -562,6 +572,25 @@ struct SHARE_INFO_2 {
 	const char * shi2_passwd;
 };
 
+struct SHARE_INFO_501 {
+	const char * shi501_netname;
+	uint32_t shi501_type;
+	const char * shi501_remark;
+	uint32_t shi501_flags;
+};
+
+struct SHARE_INFO_1004 {
+	const char * shi1004_remark;
+};
+
+struct SHARE_INFO_1005 {
+	uint32_t shi1005_flags;
+};
+
+struct SHARE_INFO_1006 {
+	uint32_t shi1006_max_uses;
+};
+
 #endif /* _HEADER_libnetapi */
 
 /****************************************************************
@@ -1519,6 +1548,33 @@ NET_API_STATUS NetShareDel(const char * server_name /* [in] */,
 			   const char * net_name /* [in] */,
 			   uint32_t reserved /* [in] */);
 
+/************************************************************//**
+ *
+ * NetShareEnum
+ *
+ * @brief Enumerate Shares
+ *
+ * @param[in] server_name The server name to connect to
+ * @param[in] level The level defining the SHARE_INFO_X structure
+ * @param[out] buffer The buffer containing a SHARE_INFO_X structure
+ * @param[in] prefmaxlen The requested maximal buffer size
+ * @param[out] entries_read The number of SHARE_INFO_X entries in the buffer
+ * @param[out] total_entries The total number of SHARE_INFO_X entries
+ * @param[in,out] resume_handle A handle passed in and returned for resuming
+ * operations
+ * @return NET_API_STATUS
+ *
+ * example share/share_enum.c
+ ***************************************************************/
+
+NET_API_STATUS NetShareEnum(const char * server_name /* [in] */,
+			    uint32_t level /* [in] */,
+			    uint8_t **buffer /* [out] [ref] */,
+			    uint32_t prefmaxlen /* [in] */,
+			    uint32_t *entries_read /* [out] [ref] */,
+			    uint32_t *total_entries /* [out] [ref] */,
+			    uint32_t *resume_handle /* [in,out] [ref] */);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/source/lib/netapi/share.c b/source/lib/netapi/share.c
index 2c79604..d317432 100644
--- a/source/lib/netapi/share.c
+++ b/source/lib/netapi/share.c
@@ -184,3 +184,20 @@ WERROR NetShareDel_l(struct libnetapi_ctx *ctx,
 	LIBNETAPI_REDIRECT_TO_LOCALHOST(ctx, r, NetShareDel);
 }
 
+/****************************************************************
+****************************************************************/
+
+WERROR NetShareEnum_r(struct libnetapi_ctx *ctx,
+		      struct NetShareEnum *r)
+{
+	return WERR_NOT_SUPPORTED;
+}
+
+/****************************************************************
+****************************************************************/
+
+WERROR NetShareEnum_l(struct libnetapi_ctx *ctx,
+		      struct NetShareEnum *r)
+{
+	LIBNETAPI_REDIRECT_TO_LOCALHOST(ctx, r, NetShareEnum);
+}
diff --git a/source/librpc/gen_ndr/libnetapi.h b/source/librpc/gen_ndr/libnetapi.h
index 0a22926..7a5f286 100644
--- a/source/librpc/gen_ndr/libnetapi.h
+++ b/source/librpc/gen_ndr/libnetapi.h
@@ -561,6 +561,16 @@ struct TIME_OF_DAY_INFO {
 	uint32_t tod_weekday;
 };
 
+struct SHARE_INFO_0 {
+	const char * shi0_netname;
+};
+
+struct SHARE_INFO_1 {
+	const char * shi1_netname;
+	uint32_t shi1_type;
+	const char * shi1_remark;
+};
+
 struct SHARE_INFO_2 {
 	const char * shi2_netname;
 	uint32_t shi2_type;
@@ -572,6 +582,25 @@ struct SHARE_INFO_2 {
 	const char * shi2_passwd;
 };
 
+struct SHARE_INFO_501 {
+	const char * shi501_netname;
+	uint32_t shi501_type;
+	const char * shi501_remark;
+	uint32_t shi501_flags;
+};
+
+struct SHARE_INFO_1004 {
+	const char * shi1004_remark;
+};
+
+struct SHARE_INFO_1005 {
+	uint32_t shi1005_flags;
+};
+
+struct SHARE_INFO_1006 {
+	uint32_t shi1006_max_uses;
+};
+
 
 struct NetJoinDomain {
 	struct {
@@ -1182,4 +1211,23 @@ struct NetShareDel {
 
 };
 
+
+struct NetShareEnum {
+	struct {
+		const char * server_name;
+		uint32_t level;
+		uint32_t prefmaxlen;
+		uint32_t *resume_handle;/* [ref] */
+	} in;
+
+	struct {
+		uint8_t **buffer;/* [ref] */
+		uint32_t *entries_read;/* [ref] */
+		uint32_t *total_entries;/* [ref] */
+		uint32_t *resume_handle;/* [ref] */
+		enum NET_API_STATUS result;
+	} out;
+
+};
+
 #endif /* _HEADER_libnetapi */
diff --git a/source/librpc/gen_ndr/ndr_libnetapi.c b/source/librpc/gen_ndr/ndr_libnetapi.c
index 1d33a2e..106b9a4 100644
--- a/source/librpc/gen_ndr/ndr_libnetapi.c
+++ b/source/librpc/gen_ndr/ndr_libnetapi.c
@@ -3452,3 +3452,52 @@ _PUBLIC_ void ndr_print_NetShareDel(struct ndr_print *ndr, const char *name, int
 	ndr->depth--;
 }
 
+_PUBLIC_ void ndr_print_NetShareEnum(struct ndr_print *ndr, const char *name, int flags, const struct NetShareEnum *r)
+{
+	ndr_print_struct(ndr, name, "NetShareEnum");
+	ndr->depth++;
+	if (flags & NDR_SET_VALUES) {
+		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+	}
+	if (flags & NDR_IN) {
+		ndr_print_struct(ndr, "in", "NetShareEnum");
+		ndr->depth++;
+		ndr_print_string(ndr, "server_name", r->in.server_name);
+		ndr_print_uint32(ndr, "level", r->in.level);
+		ndr_print_uint32(ndr, "prefmaxlen", r->in.prefmaxlen);
+		ndr_print_ptr(ndr, "resume_handle", r->in.resume_handle);
+		ndr->depth++;
+		ndr_print_uint32(ndr, "resume_handle", *r->in.resume_handle);
+		ndr->depth--;
+		ndr->depth--;
+	}
+	if (flags & NDR_OUT) {
+		ndr_print_struct(ndr, "out", "NetShareEnum");
+		ndr->depth++;
+		ndr_print_ptr(ndr, "buffer", r->out.buffer);
+		ndr->depth++;
+		ndr_print_ptr(ndr, "buffer", *r->out.buffer);
+		ndr->depth++;
+		if (*r->out.buffer) {
+			ndr_print_uint8(ndr, "buffer", **r->out.buffer);
+		}
+		ndr->depth--;
+		ndr->depth--;
+		ndr_print_ptr(ndr, "entries_read", r->out.entries_read);
+		ndr->depth++;
+		ndr_print_uint32(ndr, "entries_read", *r->out.entries_read);
+		ndr->depth--;
+		ndr_print_ptr(ndr, "total_entries", r->out.total_entries);
+		ndr->depth++;
+		ndr_print_uint32(ndr, "total_entries", *r->out.total_entries);
+		ndr->depth--;
+		ndr_print_ptr(ndr, "resume_handle", r->out.resume_handle);
+		ndr->depth++;
+		ndr_print_uint32(ndr, "resume_handle", *r->out.resume_handle);
+		ndr->depth--;
+		ndr_print_NET_API_STATUS(ndr, "result", r->out.result);
+		ndr->depth--;
+	}
+	ndr->depth--;
+}
+
diff --git a/source/librpc/gen_ndr/ndr_libnetapi.h b/source/librpc/gen_ndr/ndr_libnetapi.h
index dafd1c3..a6380af 100644
--- a/source/librpc/gen_ndr/ndr_libnetapi.h
+++ b/source/librpc/gen_ndr/ndr_libnetapi.h
@@ -84,7 +84,9 @@
 
 #define NDR_NETSHAREDEL (0x26)
 
-#define NDR_LIBNETAPI_CALL_COUNT (39)
+#define NDR_NETSHAREENUM (0x27)
+
+#define NDR_LIBNETAPI_CALL_COUNT (40)
 enum ndr_err_code ndr_push_NET_API_STATUS(struct ndr_push *ndr, int ndr_flags, enum NET_API_STATUS r);
 enum ndr_err_code ndr_pull_NET_API_STATUS(struct ndr_pull *ndr, int ndr_flags, enum NET_API_STATUS *r);
 void ndr_print_NET_API_STATUS(struct ndr_print *ndr, const char *name, enum NET_API_STATUS r);
@@ -328,4 +330,7 @@ void ndr_print_NetShareAdd(struct ndr_print *ndr, const char *name, int flags, c
 enum ndr_err_code ndr_push_NetShareDel(struct ndr_push *ndr, int flags, const struct NetShareDel *r);
 enum ndr_err_code ndr_pull_NetShareDel(struct ndr_pull *ndr, int flags, struct NetShareDel *r);
 void ndr_print_NetShareDel(struct ndr_print *ndr, const char *name, int flags, const struct NetShareDel *r);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list