#include <regex.h>
#endif
+#ifdef HAVE_WIN32
+#include "sysinfoapi.h"
+#else
+#include <sys/utsname.h>
+#endif
+
static pthread_mutex_t timer_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t timer = PTHREAD_COND_INITIALIZER;
return NULL;
}
+void b_uname(POOLMEM *&un)
+{
+ if (un) {
+#if defined HAVE_WIN32
+ POOLMEM *tmp = get_pool_memory(PM_MESSAGE);
+ POOLMEM *msg = get_pool_memory(PM_MESSAGE);
+ pm_strcpy(tmp, "ver");
+ run_program_full_output(tmp, 0, msg, NULL);
+ pm_strcpy(un, &strip_trailing_newline(msg)[1]);
+ free_pool_memory(msg);
+ free_pool_memory(tmp);
+#elif defined HAVE_LINUX_OS
+ utsname uname_struct;
+ if (uname(&uname_struct) == 0)
+ {
+ Mmsg(un, "%s %s %s %s %s", uname_struct.sysname, uname_struct.nodename, uname_struct.release, uname_struct.version, uname_struct.machine);
+ }
+#endif
+ }
+}
+
#ifdef TEST_PROGRAM
#include "unittests.h"
int fs_get_free_space(const char *path, int64_t *freeval, int64_t *totalval);
void mark_heap();
int64_t heap_used();
-
+void b_uname(POOLMEM *&un);
/* bnet.c */
bool bnet_tls_server (TLS_CONTEXT *ctx, BSOCK *bsock,
alist *verify_list, const char *psk_shard_key);