libwbclient: implement wbcErrorString()
authorStefan Metzmacher <metze@samba.org>
Mon, 11 Feb 2008 15:29:28 +0000 (16:29 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 11 Feb 2008 16:57:05 +0000 (17:57 +0100)
metze
(This used to be commit 97a8069075d820c43c17e761b1186d4f0b3c785d)

source3/nsswitch/libwbclient/wbclient.c
source3/nsswitch/libwbclient/wbclient.h

index 2f76f76635f025c99ade066475b053a99cee4fd4..5aad378ad0e2742ef42497cba946a3acd00e9b46 100644 (file)
@@ -81,6 +81,40 @@ wbcErr wbcRequestResponse(int cmd,
        return wbc_status;
 }
 
+/** @brief Translate an error value into a string
+ *
+ * @param error
+ *
+ * @return a pointer to a static string
+ **/
+const char *wbcErrorString(wbcErr error)
+{
+       switch (error) {
+       case WBC_ERR_SUCCESS:
+               return "WBC_ERR_SUCCESS";
+       case WBC_ERR_NOT_IMPLEMENTED:
+               return "WBC_ERR_NOT_IMPLEMENTED";
+       case WBC_ERR_UNKNOWN_FAILURE:
+               return "WBC_ERR_UNKNOWN_FAILURE";
+       case WBC_ERR_NO_MEMORY:
+               return "WBC_ERR_NO_MEMORY";
+       case WBC_ERR_INVALID_SID:
+               return "WBC_ERR_INVALID_SID";
+       case WBC_ERR_INVALID_PARAM:
+               return "WBC_ERR_INVALID_PARAM";
+       case WBC_ERR_WINBIND_NOT_AVAILABLE:
+               return "WBC_ERR_WINBIND_NOT_AVAILABLE";
+       case WBC_ERR_DOMAIN_NOT_FOUND:
+               return "WBC_ERR_DOMAIN_NOT_FOUND";
+       case WBC_INVALID_RESPONSE:
+               return "WBC_INVALID_RESPONSE";
+       case WBC_ERR_NSS_ERROR:
+               return "WBC_ERR_NSS_ERROR";
+       }
+
+       return "unknown wbcErr value";
+};
+
 /** @brief Free library allocated memory
  *
  * @param *p Pointer to free
index 0b256d343f0889d5f2009de1401f62a749217e59..ef9e3557da4457a3585db1e1475a544db564a9f2 100644 (file)
@@ -48,7 +48,7 @@ typedef enum _wbcErrType wbcErr;
 
 #define WBC_ERROR_IS_OK(x) ((x) == WBC_ERR_SUCCESS)
 
-char *wbcErrorString(wbcErr error);
+const char *wbcErrorString(wbcErr error);
 
 /*
  * Data types used by the Winbind Client API