libwbclient: add wbcLibraryDetails()
authorStefan Metzmacher <metze@samba.org>
Fri, 23 May 2008 12:18:42 +0000 (14:18 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 23 May 2008 15:19:58 +0000 (17:19 +0200)
metze
(cherry picked from commit b68916328e935e61840cb03560ebeeee15bb2c6f)
(This used to be commit 196d9017627220786d8b726dc0d02e16e96c4c05)

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

index 6403c1565f214a9948efd19b2118198e0734e1bc..82decc2f780e73fccd9616b27f1fe2f4b5776eba 100644 (file)
@@ -136,5 +136,28 @@ void wbcFreeMemory(void *p)
        return;
 }
 
+wbcErr wbcLibraryDetails(struct wbcLibraryDetails **_details)
+{
+       wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+       struct wbcLibraryDetails *info;
+
+       info = talloc(NULL, struct wbcLibraryDetails);
+       BAIL_ON_PTR_ERROR(info, wbc_status);
+
+       info->major_version = WBCLIENT_MAJOR_VERSION;
+       info->minor_version = WBCLIENT_MINOR_VERSION;
+       info->vendor_version = talloc_strdup(info,
+                                            WBCLIENT_VENDOR_VERSION);
+       BAIL_ON_PTR_ERROR(info->vendor_version, wbc_status);
+
+       *_details = info;
+       info = NULL;
+
+       wbc_status = WBC_ERR_SUCCESS;
+
+done:
+       talloc_free(info);
+       return wbc_status;
+}
 
 
index df61578c3201f47ec628b5753953cefe9e9c9f46..2fefe0c07292bb2a0437838c0e0005c5c1bacbaa 100644 (file)
@@ -53,6 +53,19 @@ typedef enum _wbcErrType wbcErr;
 
 const char *wbcErrorString(wbcErr error);
 
+/**
+ *  @brief Some useful details about the wbclient library
+ *
+ **/
+#define WBCLIENT_MAJOR_VERSION 0
+#define WBCLIENT_MINOR_VERSION 1
+#define WBCLIENT_VENDOR_VERSION "Samba libwbclient"
+struct wbcLibraryDetails {
+       uint16_t major_version;
+       uint16_t minor_version;
+       const char *vendor_version;
+};
+
 /**
  *  @brief Some useful details about the running winbindd
  *
@@ -319,6 +332,8 @@ wbcErr wbcStringToSid(const char *sid_string,
 
 wbcErr wbcPing(void);
 
+wbcErr wbcLibraryDetails(struct wbcLibraryDetails **details);
+
 wbcErr wbcInterfaceDetails(struct wbcInterfaceDetails **details);
 
 /*