[SCM] Samba Shared Repository - branch v3-6-test updated

Michael Adam obnox at samba.org
Wed May 11 04:10:04 MDT 2011


The branch, v3-6-test has been updated
       via  e71f9a4 libsmbconf: Define a doxygen group for libsmbconf.
       via  1e8282f libsmbconf: Document smbconf_transaction_cancel().
       via  4e381dc libsmbconf: Document smbconf_transaction_commit().
       via  addb4d3 libsmbconf: Document smbconf_transaction_start().
       via  4a06f0f libsmbconf: Document smbconf_delete_global_includes().
       via  d5adb46d libsmbconf: Document smbconf_delete_includes().
       via  91feef2 libsmbconf: Document smbconf_set_global_includes().
       via  fcee6a6 libsmbconf: Document smbconf_set_includes().
       via  3591652 libsmbconf: Document smbconf_get_global_includes().
       via  bc8a5df libsmbconf: Document smbconf_get_includes().
       via  799cfd9 libsmbconf: Document smbconf_delete_global_parameter().
       via  b35b30b libsmbconf: Document smbconf_delete_parameter().
       via  247ad89 libsmbconf: Document smbconf_get_global_parameter().
       via  53aa10a libsmbconf: Document smbconf_get_parameter().
       via  24af63e libsmbconf: Document smbconf_set_global_parameter().
       via  9adfc49 libsmbconf: Document smbconf_set_parameter().
       via  dc8464b libsmbconf: Document smbconf_delete_share().
       via  adc8fef libsmbconf: Document smbconf_get_share().
       via  bc30d4b libsmbconf: Document smbconf_create_share().
       via  315bda5 libsmbconf: Document smbconf_share_exists().
       via  32bafa5 libsmbconf: Document smbconf_get_share_names().
       via  8692501 libsmbconf: Document smbconf_get_config().
       via  256fd66 libsmbconf: Document smbconf_drop().
       via  1b97a85 libsmbconf: Document smbconf_changed().
       via  62030ee libsmbconf: Document smbconf_shutdown().
       via  e4c38b0 libsmbconf: Document smbconf_is_writeable().
       via  15d285a libsmbconf: Document smbconf_backend_requires_messaging().
       via  a6c5502 s3-waf: Create a public libsmconf.
       via  3987455 s3-waf: Create a registry private library.
       via  1ff0545 libsmbconf: Convert smbconf_get_config() to sbcErr.
       via  ea45d9d libsmbconf: Convert smbconf_transaction_*() to sbcErr.
       via  3d8e524 libsmbconf: Convert smbconf_delete_includes() to sbcErr.
       via  3fcc6ac libsmbconf: Convert smbconf_set_includes() to sbcErr.
       via  8aa9d9a libsmbconf: Convert smbconf_get_includes() to sbcErr.
       via  48a7ab6 libsmbconf: Convert smbconf_delete_parameter() to sbcErr.
       via  d3ced52 libsmbconf: Convert smbconf_get_parameter() to sbcErr.
       via  6eae520 libsmbconf: Convert smbconf_set_parameter() to sbcErr.
       via  9eb03a5 libsmbconf: Convert smbconf_delete_share() to sbcErr.
       via  347e52d libsmbconf: Convert smbconf_get_share() to sbcErr.
       via  5d9bbcb libsmbconf: Convert smbconf_create_share() to smbErr.
       via  feee765 libsmbconf: Convert smbconf_get_share_names() to sbcErr.
       via  1ed47a5 libsmbconf: Convert smbconf_drop() to sbcErr.
       via  a686e99 libsmbconf: Convert smbconf_open() to sbcErr.
       via  eda9ff5 libsmbconf: Convert smbconf_init() to sbcErr.
       via  74152f4 libsmbconf: Added a sbcErrorString() function.
       via  193a07a libsmbconf: Introduce a sbcErrType.
      from  44a454f s3-printing: make cups_pull_comment_location() work again.

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


- Log -----------------------------------------------------------------
commit e71f9a431b5ad506ab15b616597624d8833e5ff4
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:59:57 2011 +0200

    libsmbconf: Define a doxygen group for libsmbconf.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 1e8282f45b6e8633c2e25b6484fdb1ce3dfb053a
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:54:11 2011 +0200

    libsmbconf: Document smbconf_transaction_cancel().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 4e381dc571207df44d8024e7bab83ab116011bea
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:53:25 2011 +0200

    libsmbconf: Document smbconf_transaction_commit().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit addb4d3e2305d6ce72d4ccaef7063080acfcbcb0
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:52:30 2011 +0200

    libsmbconf: Document smbconf_transaction_start().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 4a06f0f5651be52f8b000c4968fb2d7617178ba2
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:50:05 2011 +0200

    libsmbconf: Document smbconf_delete_global_includes().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit d5adb46d31a2d0c832d139a6e5f9c7bf2a81b12c
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:49:24 2011 +0200

    libsmbconf: Document smbconf_delete_includes().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 91feef25fda403130beba39d4554cf4873c85ba5
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:48:15 2011 +0200

    libsmbconf: Document smbconf_set_global_includes().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit fcee6a60428974dfef97ca701de5495d465dd1c1
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:47:41 2011 +0200

    libsmbconf: Document smbconf_set_includes().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 3591652d34512b5f583a922f31372ace86674c7e
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:45:14 2011 +0200

    libsmbconf: Document smbconf_get_global_includes().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit bc8a5dfba86dd222c6d96cd7b9a31b49475ce46b
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:44:22 2011 +0200

    libsmbconf: Document smbconf_get_includes().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 799cfd951a796ed75bd75f980bb26dc35b65f29f
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:38:31 2011 +0200

    libsmbconf: Document smbconf_delete_global_parameter().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit b35b30b3e3162e9895ba6f9e7719d4e0d1ebb4ea
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:37:59 2011 +0200

    libsmbconf: Document smbconf_delete_parameter().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 247ad89ee50fd2205cc02eb2f7d8902c1b75a7ad
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:36:36 2011 +0200

    libsmbconf: Document smbconf_get_global_parameter().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 53aa10a277262efd48489fb8eab49b5b4fdb2e39
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:35:11 2011 +0200

    libsmbconf: Document smbconf_get_parameter().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 24af63e25f11fde79b1675f0d3c6e3b10fc69a04
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:32:06 2011 +0200

    libsmbconf: Document smbconf_set_global_parameter().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 9adfc49801340fb9bb3a1d558387502e232efa2e
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:31:17 2011 +0200

    libsmbconf: Document smbconf_set_parameter().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit dc8464b73ce65744b7d57b3fd9db4a0d537fcb8b
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:28:00 2011 +0200

    libsmbconf: Document smbconf_delete_share().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit adc8fef73400095e387061b7ccff81059b117326
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:27:03 2011 +0200

    libsmbconf: Document smbconf_get_share().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit bc30d4bd6b5dba59f284015f7d3e885e4c450db6
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:25:07 2011 +0200

    libsmbconf: Document smbconf_create_share().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 315bda5d483fcb18a242236837dedb56ad289b48
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:23:56 2011 +0200

    libsmbconf: Document smbconf_share_exists().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 32bafa560b4b76e9f01e1e82fd18168ba4266081
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:22:25 2011 +0200

    libsmbconf: Document smbconf_get_share_names().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 8692501da1bc3823282730588546238fb795df6b
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:19:36 2011 +0200

    libsmbconf: Document smbconf_get_config().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 256fd665747bdb499381e6146a4a0f06f82fd8e2
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:13:49 2011 +0200

    libsmbconf: Document smbconf_drop().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 1b97a85d0e077e57bc16ffc3c72c03d92474de41
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:12:27 2011 +0200

    libsmbconf: Document smbconf_changed().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 62030ee6a7f076220fef0ef290a3c463c9cd9c46
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:05:09 2011 +0200

    libsmbconf: Document smbconf_shutdown().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit e4c38b088e0e873f2f6fac7cc0fe741161f3460a
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:04:15 2011 +0200

    libsmbconf: Document smbconf_is_writeable().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 15d285af2d933a55cf1ac3a4f878691938a825e5
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 14 11:02:49 2011 +0200

    libsmbconf: Document smbconf_backend_requires_messaging().
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit a6c550259f392b694abbdc645b609b392086710a
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Apr 12 11:02:07 2011 +0200

    s3-waf: Create a public libsmconf.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 39874559f6aa066c53f3354006640de2cf6da2e9
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Apr 12 10:59:20 2011 +0200

    s3-waf: Create a registry private library.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 1ff05452834487fd6243810550bc1cfd129fc49e
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 17:43:10 2011 +0200

    libsmbconf: Convert smbconf_get_config() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit ea45d9def1ff704f766694a1059c15fc0301f0c0
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 17:24:13 2011 +0200

    libsmbconf: Convert smbconf_transaction_*() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 3d8e524e317a46c77d568df99601f545d4dead34
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 16:01:22 2011 +0200

    libsmbconf: Convert smbconf_delete_includes() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 3fcc6ac19a30ae67f8062669a16811768c2c0abd
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 15:14:52 2011 +0200

    libsmbconf: Convert smbconf_set_includes() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 8aa9d9ad67c2c14a5139b4d55427a048972f789e
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 14:52:52 2011 +0200

    libsmbconf: Convert smbconf_get_includes() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 48a7ab68261d8cb4d2efa03e141cdff28deb6905
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 14:20:32 2011 +0200

    libsmbconf: Convert smbconf_delete_parameter() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit d3ced52e92d47e766bc1e43ef1a02ec435e2a7f5
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 13:50:53 2011 +0200

    libsmbconf: Convert smbconf_get_parameter() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 6eae520879c0a99e6ed7eef005b359e8a3411665
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 13:23:26 2011 +0200

    libsmbconf: Convert smbconf_set_parameter() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 9eb03a5a0a95020e1a374167ce4425b1010ea9c7
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Apr 11 11:39:03 2011 +0200

    libsmbconf: Convert smbconf_delete_share() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 347e52d94f366ae9d0d4d57b39d127b0ad2ea24e
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Apr 8 17:20:35 2011 +0200

    libsmbconf: Convert smbconf_get_share() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 5d9bbcb724a01325f9bdd469dabbb707d25480bc
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Apr 8 15:48:01 2011 +0200

    libsmbconf: Convert smbconf_create_share() to smbErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit feee7659cbd019f3dd1bf7bf7b4c2d9f82dd6b50
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Apr 8 14:19:15 2011 +0200

    libsmbconf: Convert smbconf_get_share_names() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 1ed47a5889a84deb6422b3ed9c7fd5928d171827
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Apr 8 10:40:02 2011 +0200

    libsmbconf: Convert smbconf_drop() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit a686e99bf57fa09df10ce863f918850f74308150
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Apr 8 10:28:17 2011 +0200

    libsmbconf: Convert smbconf_open() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit eda9ff5cf4396f12e9d68a01538592823defb743
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 7 17:19:03 2011 +0200

    libsmbconf: Convert smbconf_init() to sbcErr.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 74152f42264b507b9e8b5bd6a208331730b9bbec
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 7 15:27:52 2011 +0200

    libsmbconf: Added a sbcErrorString() function.
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    (cherry picked from commit b34e1768b762ae46e4fe761d9691ed09d285c9a9)

commit 193a07af54184a257ada9401613e1de2e62d60d1
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Apr 7 15:27:26 2011 +0200

    libsmbconf: Introduce a sbcErrType.
    
    Signed-off-by: Michael Adam <obnox at samba.org>

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

Summary of changes:
 lib/smbconf/smbconf.c              |  186 ++++++++++------
 lib/smbconf/smbconf.h              |  438 +++++++++++++++++++++++++++++++++---
 lib/smbconf/smbconf_private.h      |   36 ++--
 lib/smbconf/smbconf_txt.c          |  205 +++++++++---------
 lib/smbconf/smbconf_txt.h          |    2 +-
 lib/smbconf/smbconf_util.c         |   26 +-
 source3/lib/netapi/serverinfo.c    |   18 ++-
 source3/lib/smbconf/smbconf_init.c |   20 +-
 source3/lib/smbconf/smbconf_init.h |    2 +-
 source3/lib/smbconf/smbconf_reg.c  |  397 +++++++++++++++++++-------------
 source3/lib/smbconf/smbconf_reg.h  |    2 +-
 source3/lib/smbconf/testsuite.c    |   70 +++---
 source3/libnet/libnet_join.c       |   73 +++++--
 source3/param/loadparm.c           |   20 +-
 source3/utils/net_conf.c           |  285 ++++++++++++------------
 source3/wscript_build              |   28 ++-
 16 files changed, 1179 insertions(+), 629 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/smbconf/smbconf.c b/lib/smbconf/smbconf.c
index 80fe9aa..e0441ed 100644
--- a/lib/smbconf/smbconf.c
+++ b/lib/smbconf/smbconf.c
@@ -27,12 +27,13 @@
  *
  **********************************************************************/
 
-static WERROR smbconf_global_check(struct smbconf_ctx *ctx)
+static sbcErr smbconf_global_check(struct smbconf_ctx *ctx)
 {
 	if (!smbconf_share_exists(ctx, GLOBAL_NAME)) {
 		return smbconf_create_share(ctx, GLOBAL_NAME);
 	}
-	return WERR_OK;
+
+	return SBC_ERR_OK;
 }
 
 
@@ -42,6 +43,41 @@ static WERROR smbconf_global_check(struct smbconf_ctx *ctx)
  *
  **********************************************************************/
 
+const char *sbcErrorString(sbcErr error)
+{
+	switch (error) {
+		case SBC_ERR_OK:
+			return "SBC_ERR_OK";
+		case SBC_ERR_NOT_IMPLEMENTED:
+			return "SBC_ERR_NOT_IMPLEMENTED";
+		case SBC_ERR_NOT_SUPPORTED:
+			return "SBC_ERR_NOT_SUPPORTED";
+		case SBC_ERR_UNKNOWN_FAILURE:
+			return "SBC_ERR_UNKNOWN_FAILURE";
+		case SBC_ERR_NOMEM:
+			return "SBC_ERR_NOMEM";
+		case SBC_ERR_INVALID_PARAM:
+			return "SBC_ERR_INVALID_PARAM";
+		case SBC_ERR_BADFILE:
+			return "SBC_ERR_BADFILE";
+		case SBC_ERR_NO_SUCH_SERVICE:
+			return "SBC_ERR_NO_SUCH_SERVICE";
+		case SBC_ERR_IO_FAILURE:
+			return "SBC_ERR_IO_FAILURE";
+		case SBC_ERR_CAN_NOT_COMPLETE:
+			return "SBC_ERR_CAN_NOT_COMPLETE";
+		case SBC_ERR_NO_MORE_ITEMS:
+			return "SBC_ERR_NO_MORE_ITEMS";
+		case SBC_ERR_FILE_EXISTS:
+			return "SBC_ERR_FILE_EXISTS";
+		case SBC_ERR_ACCESS_DENIED:
+			return "SBC_ERR_ACCESS_DENIED";
+	}
+
+	return "unknown sbcErr value";
+}
+
+
 /**
  * Tell whether the backend requires messaging to be set up
  * for the backend to work correctly.
@@ -91,7 +127,7 @@ bool smbconf_changed(struct smbconf_ctx *ctx, struct smbconf_csn *csn,
 /**
  * Drop the whole configuration (restarting empty).
  */
-WERROR smbconf_drop(struct smbconf_ctx *ctx)
+sbcErr smbconf_drop(struct smbconf_ctx *ctx)
 {
 	return ctx->ops->drop(ctx);
 }
@@ -105,12 +141,12 @@ WERROR smbconf_drop(struct smbconf_ctx *ctx)
  *  param_names  : list of lists of parameter names for each share
  *  param_values : list of lists of parameter values for each share
  */
-WERROR smbconf_get_config(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_config(struct smbconf_ctx *ctx,
 			  TALLOC_CTX *mem_ctx,
 			  uint32_t *num_shares,
 			  struct smbconf_service ***services)
 {
-	WERROR werr = WERR_OK;
+	sbcErr err;
 	TALLOC_CTX *tmp_ctx = NULL;
 	uint32_t tmp_num_shares;
 	char **tmp_share_names;
@@ -118,36 +154,35 @@ WERROR smbconf_get_config(struct smbconf_ctx *ctx,
 	uint32_t count;
 
 	if ((num_shares == NULL) || (services == NULL)) {
-		werr = WERR_INVALID_PARAM;
+		err = SBC_ERR_INVALID_PARAM;
 		goto done;
 	}
 
 	tmp_ctx = talloc_stackframe();
 
-	werr = smbconf_get_share_names(ctx, tmp_ctx, &tmp_num_shares,
-				       &tmp_share_names);
-	if (!W_ERROR_IS_OK(werr)) {
+	err = smbconf_get_share_names(ctx, tmp_ctx, &tmp_num_shares,
+				      &tmp_share_names);
+	if (!SBC_ERROR_IS_OK(err)) {
 		goto done;
 	}
 
 	tmp_services = talloc_array(tmp_ctx, struct smbconf_service *,
 				    tmp_num_shares);
-
 	if (tmp_services == NULL) {
-		werr = WERR_NOMEM;
+		err = SBC_ERR_NOMEM;
 		goto done;
 	}
 
 	for (count = 0; count < tmp_num_shares; count++) {
-		werr = smbconf_get_share(ctx, tmp_services,
-					 tmp_share_names[count],
-					 &tmp_services[count]);
-		if (!W_ERROR_IS_OK(werr)) {
+		err = smbconf_get_share(ctx, tmp_services,
+					tmp_share_names[count],
+					&tmp_services[count]);
+		if (!SBC_ERROR_IS_OK(err)) {
 			goto done;
 		}
 	}
 
-	werr = WERR_OK;
+	err = SBC_ERR_OK;
 
 	*num_shares = tmp_num_shares;
 	if (tmp_num_shares > 0) {
@@ -158,13 +193,13 @@ WERROR smbconf_get_config(struct smbconf_ctx *ctx,
 
 done:
 	talloc_free(tmp_ctx);
-	return werr;
+	return err;
 }
 
 /**
  * get the list of share names defined in the configuration.
  */
-WERROR smbconf_get_share_names(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_share_names(struct smbconf_ctx *ctx,
 			       TALLOC_CTX *mem_ctx,
 			       uint32_t *num_shares,
 			       char ***share_names)
@@ -185,11 +220,11 @@ bool smbconf_share_exists(struct smbconf_ctx *ctx,
 /**
  * Add a service if it does not already exist.
  */
-WERROR smbconf_create_share(struct smbconf_ctx *ctx,
+sbcErr smbconf_create_share(struct smbconf_ctx *ctx,
 			    const char *servicename)
 {
 	if ((servicename != NULL) && smbconf_share_exists(ctx, servicename)) {
-		return WERR_FILE_EXISTS;
+		return SBC_ERR_FILE_EXISTS;
 	}
 
 	return ctx->ops->create_share(ctx, servicename);
@@ -198,7 +233,7 @@ WERROR smbconf_create_share(struct smbconf_ctx *ctx,
 /**
  * get a definition of a share (service) from configuration.
  */
-WERROR smbconf_get_share(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_share(struct smbconf_ctx *ctx,
 			 TALLOC_CTX *mem_ctx,
 			 const char *servicename,
 			 struct smbconf_service **service)
@@ -209,10 +244,10 @@ WERROR smbconf_get_share(struct smbconf_ctx *ctx,
 /**
  * delete a service from configuration
  */
-WERROR smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)
+sbcErr smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)
 {
 	if (!smbconf_share_exists(ctx, servicename)) {
-		return WERR_NO_SUCH_SERVICE;
+		return SBC_ERR_NO_SUCH_SERVICE;
 	}
 
 	return ctx->ops->delete_share(ctx, servicename);
@@ -221,7 +256,7 @@ WERROR smbconf_delete_share(struct smbconf_ctx *ctx, const char *servicename)
 /**
  * set a configuration parameter to the value provided.
  */
-WERROR smbconf_set_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_parameter(struct smbconf_ctx *ctx,
 			     const char *service,
 			     const char *param,
 			     const char *valstr)
@@ -235,30 +270,31 @@ WERROR smbconf_set_parameter(struct smbconf_ctx *ctx,
  *
  * This also creates [global] when it does not exist.
  */
-WERROR smbconf_set_global_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_global_parameter(struct smbconf_ctx *ctx,
 				    const char *param, const char *val)
 {
-	WERROR werr;
+	sbcErr err;
 
-	werr = smbconf_global_check(ctx);
-	if (W_ERROR_IS_OK(werr)) {
-		werr = smbconf_set_parameter(ctx, GLOBAL_NAME, param, val);
+	err = smbconf_global_check(ctx);
+	if (!SBC_ERROR_IS_OK(err)) {
+		return err;
 	}
+	err = smbconf_set_parameter(ctx, GLOBAL_NAME, param, val);
 
-	return werr;
+	return err;
 }
 
 /**
  * get the value of a configuration parameter as a string
  */
-WERROR smbconf_get_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_parameter(struct smbconf_ctx *ctx,
 			     TALLOC_CTX *mem_ctx,
 			     const char *service,
 			     const char *param,
 			     char **valstr)
 {
 	if (valstr == NULL) {
-		return WERR_INVALID_PARAM;
+		return SBC_ERR_INVALID_PARAM;
 	}
 
 	return ctx->ops->get_parameter(ctx, mem_ctx, service, param, valstr);
@@ -269,26 +305,28 @@ WERROR smbconf_get_parameter(struct smbconf_ctx *ctx,
  *
  * Create [global] if it does not exist.
  */
-WERROR smbconf_get_global_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_global_parameter(struct smbconf_ctx *ctx,
 				    TALLOC_CTX *mem_ctx,
 				    const char *param,
 				    char **valstr)
 {
-	WERROR werr;
+	sbcErr err;
 
-	werr = smbconf_global_check(ctx);
-	if (W_ERROR_IS_OK(werr)) {
-		werr = smbconf_get_parameter(ctx, mem_ctx, GLOBAL_NAME, param,
-					     valstr);
+	err = smbconf_global_check(ctx);
+	if (!SBC_ERROR_IS_OK(err)) {
+		return err;
 	}
 
-	return werr;
+	err = smbconf_get_parameter(ctx, mem_ctx, GLOBAL_NAME, param,
+				    valstr);
+
+	return err;
 }
 
 /**
  * delete a parameter from configuration
  */
-WERROR smbconf_delete_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_delete_parameter(struct smbconf_ctx *ctx,
 				const char *service, const char *param)
 {
 	return ctx->ops->delete_parameter(ctx, service, param);
@@ -299,20 +337,21 @@ WERROR smbconf_delete_parameter(struct smbconf_ctx *ctx,
  *
  * Create [global] if it does not exist.
  */
-WERROR smbconf_delete_global_parameter(struct smbconf_ctx *ctx,
+sbcErr smbconf_delete_global_parameter(struct smbconf_ctx *ctx,
 				       const char *param)
 {
-	WERROR werr;
+	sbcErr err;
 
-	werr = smbconf_global_check(ctx);
-	if (W_ERROR_IS_OK(werr)) {
-		werr = smbconf_delete_parameter(ctx, GLOBAL_NAME, param);
+	err = smbconf_global_check(ctx);
+	if (!SBC_ERROR_IS_OK(err)) {
+		return err;
 	}
+	err = smbconf_delete_parameter(ctx, GLOBAL_NAME, param);
 
-	return werr;
+	return err;
 }
 
-WERROR smbconf_get_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_includes(struct smbconf_ctx *ctx,
 			    TALLOC_CTX *mem_ctx,
 			    const char *service,
 			    uint32_t *num_includes, char ***includes)
@@ -321,72 +360,75 @@ WERROR smbconf_get_includes(struct smbconf_ctx *ctx,
 				      includes);
 }
 
-WERROR smbconf_get_global_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_get_global_includes(struct smbconf_ctx *ctx,
 				   TALLOC_CTX *mem_ctx,
 				   uint32_t *num_includes, char ***includes)
 {
-	WERROR werr;
+	sbcErr err;
 
-	werr = smbconf_global_check(ctx);
-	if (W_ERROR_IS_OK(werr)) {
-		werr = smbconf_get_includes(ctx, mem_ctx, GLOBAL_NAME,
-					    num_includes, includes);
+	err = smbconf_global_check(ctx);
+	if (!SBC_ERROR_IS_OK(err)) {
+		return err;
 	}
+	err = smbconf_get_includes(ctx, mem_ctx, GLOBAL_NAME,
+				    num_includes, includes);
 
-	return werr;
+	return err;
 }
 
-WERROR smbconf_set_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_includes(struct smbconf_ctx *ctx,
 			    const char *service,
 			    uint32_t num_includes, const char **includes)
 {
 	return ctx->ops->set_includes(ctx, service, num_includes, includes);
 }
 
-WERROR smbconf_set_global_includes(struct smbconf_ctx *ctx,
+sbcErr smbconf_set_global_includes(struct smbconf_ctx *ctx,
 				   uint32_t num_includes,
 				   const char **includes)
 {
-	WERROR werr;
+	sbcErr err;
 
-	werr = smbconf_global_check(ctx);
-	if (W_ERROR_IS_OK(werr)) {
-		werr = smbconf_set_includes(ctx, GLOBAL_NAME,
-					    num_includes, includes);
+	err = smbconf_global_check(ctx);
+	if (!SBC_ERROR_IS_OK(err)) {
+		return err;
 	}
+	err = smbconf_set_includes(ctx, GLOBAL_NAME,
+				   num_includes, includes);
 
-	return werr;
+	return err;
 }
 
 
-WERROR smbconf_delete_includes(struct smbconf_ctx *ctx, const char *service)
+sbcErr smbconf_delete_includes(struct smbconf_ctx *ctx, const char *service)
 {
 	return ctx->ops->delete_includes(ctx, service);
 }
 
-WERROR smbconf_delete_global_includes(struct smbconf_ctx *ctx)
+sbcErr smbconf_delete_global_includes(struct smbconf_ctx *ctx)
 {
-	WERROR werr;
+	sbcErr err;
 
-	werr = smbconf_global_check(ctx);
-	if (W_ERROR_IS_OK(werr)) {
-		werr = smbconf_delete_includes(ctx, GLOBAL_NAME);
+	err = smbconf_global_check(ctx);
+	if (!SBC_ERROR_IS_OK(err)) {
+		return err;
 	}
+	err = smbconf_delete_includes(ctx, GLOBAL_NAME);
 
-	return werr;
+	return err;
 }
 
-WERROR smbconf_transaction_start(struct smbconf_ctx *ctx)
+sbcErr smbconf_transaction_start(struct smbconf_ctx *ctx)
 {
 	return ctx->ops->transaction_start(ctx);
 }
 
-WERROR smbconf_transaction_commit(struct smbconf_ctx *ctx)
+sbcErr smbconf_transaction_commit(struct smbconf_ctx *ctx)
 {
 	return ctx->ops->transaction_commit(ctx);
 }
 
-WERROR smbconf_transaction_cancel(struct smbconf_ctx *ctx)
+sbcErr smbconf_transaction_cancel(struct smbconf_ctx *ctx)
 {
 	return ctx->ops->transaction_cancel(ctx);
 }
diff --git a/lib/smbconf/smbconf.h b/lib/smbconf/smbconf.h
index 517302a..7f62b06 100644
--- a/lib/smbconf/smbconf.h
+++ b/lib/smbconf/smbconf.h
@@ -20,6 +20,39 @@
 #ifndef __LIBSMBCONF_H__
 #define __LIBSMBCONF_H__
 
+/**
+ * @defgroup libsmbconf The smbconf API
+ *
+ * libsmbconf is a library to read or, based on the backend, modify the Samba
+ * configuration.
+ *
+ * @{
+ */
+
+/**
+ * @brief Status codes returned from smbconf functions
+ */
+enum _sbcErrType {
+	SBC_ERR_OK = 0,          /**< Successful completion **/
+	SBC_ERR_NOT_IMPLEMENTED, /**< Function not implemented **/
+	SBC_ERR_NOT_SUPPORTED,   /**< Function not supported **/
+	SBC_ERR_UNKNOWN_FAILURE, /**< General failure **/
+	SBC_ERR_NOMEM,           /**< Memory allocation error **/
+	SBC_ERR_INVALID_PARAM,   /**< An Invalid parameter was supplied **/
+	SBC_ERR_BADFILE,         /**< A bad file was supplied **/
+	SBC_ERR_NO_SUCH_SERVICE, /**< There is no such service provided **/
+	SBC_ERR_IO_FAILURE,      /**< There was an IO error **/
+	SBC_ERR_CAN_NOT_COMPLETE,/**< Can not complete action **/
+	SBC_ERR_NO_MORE_ITEMS,   /**< No more items left **/
+	SBC_ERR_FILE_EXISTS,     /**< File already exists **/
+	SBC_ERR_ACCESS_DENIED,   /**< Access has been denied **/
+};
+
+typedef enum _sbcErrType sbcErr;
+
+#define SBC_ERROR_IS_OK(x) ((x) == SBC_ERR_OK)
+#define SBC_ERROR_EQUAL(x,y) ((x) == (y))
+
 struct smbconf_ctx;
 
 /* the change sequence number */
@@ -27,75 +60,428 @@ struct smbconf_csn {
 	uint64_t csn;
 };
 
+/** Information about a service */
 struct smbconf_service {
-	char *name;
-	uint32_t num_params;
-	char **param_names;
-	char **param_values;
+	char *name;          /**< The name of the share */
+	uint32_t num_params; /**< List of length num_shares of parameter counts for each share */
+	char **param_names;  /**< List of lists of parameter names for each share */
+	char **param_values; /**< List of lists of parameter values for each share */
 };
 
 /*
- * the smbconf API functions
+ * The smbconf API functions
+ */
+
+/**
+ * @brief Translate an error value into a string
+ *
+ * @param error
+ *
+ * @return a pointer to a static string
+ **/
+const char *sbcErrorString(sbcErr error);
+
+/**
+ * @brief Check if the backend requires messaging to be set up.
+ *
+ * Tell whether the backend requires messaging to be set up
+ * for the backend to work correctly.
+ *
+ * @param[in] ctx       The smbconf context to check.
+ *
+ * @return              True if needed, false if not.
  */
 bool smbconf_backend_requires_messaging(struct smbconf_ctx *ctx);
+
+/**
+ * @brief Tell whether the source is writeable.
+ *
+ * @param[in] ctx       The smbconf context to check.
+ *
+ * @return              True if it is writeable, false if not.
+ */
 bool smbconf_is_writeable(struct smbconf_ctx *ctx);
+
+/**
+ * @brief Close the configuration.
+ *
+ * @param[in] ctx       The smbconf context to close.


-- 
Samba Shared Repository


More information about the samba-cvs mailing list