#include "mr_private.h"
#include <errno.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
return status;
}
+
+/* Exchange query version info with the server. */
+
+int mr_version(int version)
+{
+ int status;
+ mr_params params, reply;
+ char vbuf[10], *arg;
+
+ CHECK_CONNECTED;
+
+ sprintf(vbuf, "%d", version);
+ arg = strdup(vbuf);
+ params.u.mr_procno = MR_SETVERSION;
+ params.mr_argc = 1;
+ params.mr_argl = NULL;
+ params.mr_argv = &arg;
+
+ status = mr_do_call(¶ms, &reply);
+ free(arg);
+
+ if (status == MR_SUCCESS)
+ {
+ status = reply.u.mr_status;
+
+ if (status == MR_VERSION_LOW && getenv("MOIRA_LOW_VERSION_WARNING"))
+ fprintf(stderr, "Warning: This client is out of date.\n");
+ }
+ mr_destroy_reply(reply);
+
+ return status;
+}