int VFS_FS_SIZE(AGENT_REQUEST *request, AGENT_RESULT *result) { char *fsname, *mode; zbx_uint64_t total, free, used; double pfree, pused; if (2 < request->nparam) return SYSINFO_RET_FAIL; fsname = get_rparam(request, 0); mode = get_rparam(request, 1); if (SYSINFO_RET_OK != get_fs_size_stat(fsname, &total, &free, &used, &pfree, &pused)) return SYSINFO_RET_FAIL; if (NULL == mode || '\0' == *mode || 0 == strcmp(mode, "total")) /* default parameter */ SET_UI64_RESULT(result, total); else if (0 == strcmp(mode, "free")) SET_UI64_RESULT(result, free); else if (0 == strcmp(mode, "used")) SET_UI64_RESULT(result, used); else if (0 == strcmp(mode, "pfree")) SET_DBL_RESULT(result, pfree); else if (0 == strcmp(mode, "pused")) SET_DBL_RESULT(result, pused); else return SYSINFO_RET_FAIL; return SYSINFO_RET_OK; }
int VFS_FS_SIZE(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { char fsname[MAX_STRING_LEN], mode[8]; zbx_uint64_t total, free, used; double pfree, pused; if (num_param(param) > 2) return SYSINFO_RET_FAIL; if (0 != get_param(param, 1, fsname, sizeof(fsname))) return SYSINFO_RET_FAIL; if (0 != get_param(param, 2, mode, sizeof(mode))) *mode = '\0'; if (SYSINFO_RET_OK != get_fs_size_stat(fsname, &total, &free, &used, &pfree, &pused)) return SYSINFO_RET_FAIL; /* default parameter */ if ('\0' == *mode || 0 == strcmp(mode, "total")) /* default parameter */ SET_UI64_RESULT(result, total); else if (0 == strcmp(mode, "free")) SET_UI64_RESULT(result, free); else if (0 == strcmp(mode, "used")) SET_UI64_RESULT(result, used); else if (0 == strcmp(mode, "pfree")) SET_DBL_RESULT(result, pfree); else if (0 == strcmp(mode, "pused")) SET_DBL_RESULT(result, pused); else return SYSINFO_RET_FAIL; return SYSINFO_RET_OK; }
static int VFS_FS_FREE(const char *fs, AGENT_RESULT *result) { zbx_uint64_t value = 0; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, &value, NULL, NULL, NULL)) return SYSINFO_RET_FAIL; SET_UI64_RESULT(result, value); return SYSINFO_RET_OK; }
static int VFS_FS_PUSED(const char *fs, AGENT_RESULT *result) { double value = 0; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, NULL, NULL, NULL, &value)) return SYSINFO_RET_FAIL; SET_DBL_RESULT(result, value); return SYSINFO_RET_OK; }
static int VFS_FS_PUSED(const char *fs, AGENT_RESULT *result) { double pused; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, NULL, &pused, NULL, NULL)) return SYSINFO_RET_FAIL; SET_DBL_RESULT(result, pused); return SYSINFO_RET_OK; }
static int VFS_FS_USED(const char *fs, AGENT_RESULT *result) { zbx_uint64_t used; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, &used, NULL, NULL, NULL)) return SYSINFO_RET_FAIL; SET_UI64_RESULT(result, used); return SYSINFO_RET_OK; }
static int VFS_FS_PFREE(const char *fs, AGENT_RESULT *result) { double pfree; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, NULL, NULL, NULL, &pfree)) return SYSINFO_RET_FAIL; SET_DBL_RESULT(result, pfree); return SYSINFO_RET_OK; }
static int VFS_FS_TOTAL(const char *fs, AGENT_RESULT *result) { zbx_uint64_t total; if (SYSINFO_RET_OK != get_fs_size_stat(fs, &total, NULL, NULL, NULL, NULL)) return SYSINFO_RET_FAIL; SET_UI64_RESULT(result, total); return SYSINFO_RET_OK; }
static int VFS_FS_FREE(const char *fs, AGENT_RESULT *result) { zbx_uint64_t value; char *error; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, &value, NULL, NULL, NULL, &error)) { SET_MSG_RESULT(result, error); return SYSINFO_RET_FAIL; } SET_UI64_RESULT(result, value); return SYSINFO_RET_OK; }
static int VFS_FS_PUSED(const char *fs, AGENT_RESULT *result) { double value; char *error; if (SYSINFO_RET_OK != get_fs_size_stat(fs, NULL, NULL, NULL, NULL, &value, &error)) { SET_MSG_RESULT(result, error); return SYSINFO_RET_FAIL; } SET_DBL_RESULT(result, value); return SYSINFO_RET_OK; }