- msg = (char *)get_pool_memory(PM_MESSAGE);
- found = 0;
- len = Mmsg(&msg, "%s Version: " VERSION " (" DATE ")\n", my_name);
- sendit(msg, len, arg);
- bstrftime(dt, sizeof(dt), daemon_start_time);
- len = Mmsg(&msg, _("Daemon started %s, %d Job%s run.\n"), dt, last_job.NumJobs,
- last_job.NumJobs == 1 ? "" : "s");
- sendit(msg, len, arg);
- if (last_job.NumJobs > 0) {
- char termstat[30];
-
- bstrftime(dt, sizeof(dt), last_job.end_time);
- len = Mmsg(&msg, _("Last Job %s finished at %s\n"), last_job.Job, dt);
- sendit(msg, len, arg);
-
- jobstatus_to_ascii(last_job.JobStatus, termstat, sizeof(termstat));
- len = Mmsg(&msg, _(" Files=%s Bytes=%s Termination Status=%s\n"),
- edit_uint64_with_commas(last_job.JobFiles, b1),
- edit_uint64_with_commas(last_job.JobBytes, b2),
- termstat);
- sendit(msg, len, arg);
+ if (sp->api) {
+ api_list_status_header(sp);
+ return;
+ }
+
+ len = Mmsg(msg, _("%s %sVersion: %s (%s) %s %s %s %s\n"),
+ my_name, BDEMO, VERSION, BDATE, VSS, HOST_OS,
+ DISTNAME, DISTVER);
+ sendit(msg.c_str(), len, sp);
+ bstrftime_nc(dt, sizeof(dt), daemon_start_time);
+ len = Mmsg(msg, _("Daemon started %s. Jobs: run=%d running=%d.\n"),
+ dt, num_jobs_run, job_count());
+ sendit(msg.c_str(), len, sp);
+#if defined(HAVE_WIN32)
+ char buf[300];
+ if (GetWindowsVersionString(buf, sizeof(buf))) {
+ len = Mmsg(msg, "%s\n", buf);
+ sendit(msg.c_str(), len, sp);
+ }
+ memused = get_memory_info(buf, sizeof(buf));
+ if (debug_level > 0) {
+ if (!privs) {
+ privs = enable_backup_privileges(NULL, 1);
+ }
+ len = Mmsg(msg, "Priv 0x%x\n", privs);
+ sendit(msg.c_str(), len, sp);
+
+ /* Display detailed information that we got from get_memory_info() */
+ len = Mmsg(msg, "Memory: %s\n", buf);
+ sendit(msg.c_str(), len, sp);
+
+ len = Mmsg(msg, "APIs=%sOPT,%sATP,%sLPV,%sCFA,%sCFW,\n",
+ p_OpenProcessToken?"":"!",
+ p_AdjustTokenPrivileges?"":"!",
+ p_LookupPrivilegeValue?"":"!",
+ p_CreateFileA?"":"!",
+ p_CreateFileW?"":"!");
+ sendit(msg.c_str(), len, sp);
+ len = Mmsg(msg, " %sWUL,%sWMKD,%sGFAA,%sGFAW,%sGFAEA,%sGFAEW,%sSFAA,%sSFAW,%sBR,%sBW,%sSPSP,\n",
+ p_wunlink?"":"!",
+ p_wmkdir?"":"!",
+ p_GetFileAttributesA?"":"!",
+ p_GetFileAttributesW?"":"!",
+ p_GetFileAttributesExA?"":"!",
+ p_GetFileAttributesExW?"":"!",
+ p_SetFileAttributesA?"":"!",
+ p_SetFileAttributesW?"":"!",
+ p_BackupRead?"":"!",
+ p_BackupWrite?"":"!",
+ p_SetProcessShutdownParameters?"":"!");
+ sendit(msg.c_str(), len, sp);
+ len = Mmsg(msg, " %sWC2MB,%sMB2WC,%sFFFA,%sFFFW,%sFNFA,%sFNFW,%sSCDA,%sSCDW,\n",
+ p_WideCharToMultiByte?"":"!",
+ p_MultiByteToWideChar?"":"!",
+ p_FindFirstFileA?"":"!",
+ p_FindFirstFileW?"":"!",
+ p_FindNextFileA?"":"!",
+ p_FindNextFileW?"":"!",
+ p_SetCurrentDirectoryA?"":"!",
+ p_SetCurrentDirectoryW?"":"!");
+ sendit(msg.c_str(), len, sp);
+ len = Mmsg(msg, " %sGCDA,%sGCDW,%sGVPNW,%sGVNFVMPW,%sLZO,%sEFS\n",
+ p_GetCurrentDirectoryA?"":"!",
+ p_GetCurrentDirectoryW?"":"!",
+ p_GetVolumePathNameW?"":"!",
+ p_GetVolumeNameForVolumeMountPointW?"":"!",
+ have_lzo?"":"!",
+ "!");
+ sendit(msg.c_str(), len, sp);