libwbclient: add wbcLibraryDetails()
authorStefan Metzmacher <metze@samba.org>
Fri, 23 May 2008 12:18:42 +0000 (14:18 +0200)
committerKarolin Seeger <kseeger@samba.org>
Fri, 23 May 2008 13:27:41 +0000 (15:27 +0200)
metze
(cherry picked from commit b68916328e935e61840cb03560ebeeee15bb2c6f)

source/nsswitch/libwbclient/wbclient.c
source/nsswitch/libwbclient/wbclient.h

index 9383fd5406d58a00f57b1325f30d5f957513a9ea..215b61e960a2092b41dc0e2c474a5162237ef92d 100644 (file)
@@ -132,5 +132,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 e4a0aeba47f6a3c4dd38876ac59c11f8d6f4980b..e594f3c01ccf13215c5e02cb89a5b9618599f9e1 100644 (file)
@@ -51,6 +51,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
  *
@@ -308,6 +321,8 @@ wbcErr wbcStringToSid(const char *sid_string,
 
 wbcErr wbcPing(void);
 
+wbcErr wbcLibraryDetails(struct wbcLibraryDetails **details);
+
 wbcErr wbcInterfaceDetails(struct wbcInterfaceDetails **details);
 
 /*