diff options
author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-11-01 14:47:20 +0000 |
---|---|---|
committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-11-01 14:47:20 +0000 |
commit | 12b9d9858224301d1abb19f08956964c6fabd9a0 (patch) | |
tree | 5f389fdc2c5c66563eaf9ac3aa7a5311e0cf182a /src/libs/zbxsysinfo/linux/swap.c | |
parent | de267adc7399911d3d3339c8aa91bcab381ad50a (diff) | |
download | zabbix-12b9d9858224301d1abb19f08956964c6fabd9a0.tar.gz zabbix-12b9d9858224301d1abb19f08956964c6fabd9a0.tar.xz zabbix-12b9d9858224301d1abb19f08956964c6fabd9a0.zip |
- added support of new sysinfo function interface for aix (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2236 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxsysinfo/linux/swap.c')
-rw-r--r-- | src/libs/zbxsysinfo/linux/swap.c | 210 |
1 files changed, 105 insertions, 105 deletions
diff --git a/src/libs/zbxsysinfo/linux/swap.c b/src/libs/zbxsysinfo/linux/swap.c index f24cc3f0..3d80fec9 100644 --- a/src/libs/zbxsysinfo/linux/swap.c +++ b/src/libs/zbxsysinfo/linux/swap.c @@ -25,109 +25,6 @@ #include "md5.h" -int SYSTEM_SWAP_SIZE(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - -#define SWP_FNCLIST struct swp_fnclist_s -SWP_FNCLIST -{ - char *mode; - int (*function)(); -}; - - SWP_FNCLIST fl[] = - { - {"total", SYSTEM_SWAP_FREE}, - {"free", SYSTEM_SWAP_TOTAL}, - {0, 0} - }; - - char swapdev[MAX_STRING_LEN]; - char mode[MAX_STRING_LEN]; - int i; - - assert(result); - - clean_result(result); - - if(num_param(param) > 2) - { - return SYSINFO_RET_FAIL; - } - - if(get_param(param, 1, swapdev, MAX_STRING_LEN) != 0) - { - return SYSINFO_RET_FAIL; - } - - if(swapdev[0] == '\0') - { - /* default parameter */ - sprintf(swapdev, "all"); - } - - if(strncmp(swapdev, "all", MAX_STRING_LEN)) - { - return SYSINFO_RET_FAIL; - } - - if(get_param(param, 2, mode, MAX_STRING_LEN) != 0) - { - mode[0] = '\0'; - } - - if(mode[0] == '\0') - { - /* default parameter */ - sprintf(mode, "free"); - } - - for(i=0; fl[i].mode!=0; i++) - { - if(strncmp(mode, fl[i].mode, MAX_STRING_LEN)==0) - { - return (fl[i].function)(cmd, param, flags, result); - } - } - - return SYSINFO_RET_FAIL; -} - -int OLD_SWAP(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - char key[MAX_STRING_LEN]; - int ret; - - assert(result); - - clean_result(result); - - if(num_param(param) > 1) - { - return SYSINFO_RET_FAIL; - } - - if(get_param(param, 1, key, MAX_STRING_LEN) != 0) - { - return SYSINFO_RET_FAIL; - } - - if(strcmp(key,"free") == 0) - { - ret = SYSTEM_SWAP_FREE(cmd, param, flags, result); - } - else if(strcmp(key,"total") == 0) - { - ret = SYSTEM_SWAP_TOTAL(cmd, param, flags, result); - } - else - { - ret = SYSINFO_RET_FAIL; - } - - return ret; -} - /* Solaris. */ #ifndef HAVE_SYSINFO_FREESWAP #ifdef HAVE_SYS_SWAP_SWAPTABLE @@ -194,7 +91,7 @@ point them all to the same buffer */ #endif #endif -int SYSTEM_SWAP_FREE(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +static int SYSTEM_SWAP_FREE(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { #ifdef HAVE_SYSINFO_FREESWAP struct sysinfo info; @@ -241,7 +138,7 @@ int SYSTEM_SWAP_FREE(const char *cmd, const char *param, unsigned flags, AGENT_R #endif } -int SYSTEM_SWAP_TOTAL(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +static int SYSTEM_SWAP_TOTAL(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { #ifdef HAVE_SYSINFO_TOTALSWAP struct sysinfo info; @@ -288,3 +185,106 @@ int SYSTEM_SWAP_TOTAL(const char *cmd, const char *param, unsigned flags, AGENT_ #endif } +int SYSTEM_SWAP_SIZE(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +{ + +#define SWP_FNCLIST struct swp_fnclist_s +SWP_FNCLIST +{ + char *mode; + int (*function)(); +}; + + SWP_FNCLIST fl[] = + { + {"total", SYSTEM_SWAP_FREE}, + {"free", SYSTEM_SWAP_TOTAL}, + {0, 0} + }; + + char swapdev[MAX_STRING_LEN]; + char mode[MAX_STRING_LEN]; + int i; + + assert(result); + + clean_result(result); + + if(num_param(param) > 2) + { + return SYSINFO_RET_FAIL; + } + + if(get_param(param, 1, swapdev, MAX_STRING_LEN) != 0) + { + return SYSINFO_RET_FAIL; + } + + if(swapdev[0] == '\0') + { + /* default parameter */ + sprintf(swapdev, "all"); + } + + if(strncmp(swapdev, "all", MAX_STRING_LEN)) + { + return SYSINFO_RET_FAIL; + } + + if(get_param(param, 2, mode, MAX_STRING_LEN) != 0) + { + mode[0] = '\0'; + } + + if(mode[0] == '\0') + { + /* default parameter */ + sprintf(mode, "free"); + } + + for(i=0; fl[i].mode!=0; i++) + { + if(strncmp(mode, fl[i].mode, MAX_STRING_LEN)==0) + { + return (fl[i].function)(cmd, param, flags, result); + } + } + + return SYSINFO_RET_FAIL; +} + +int OLD_SWAP(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +{ + char key[MAX_STRING_LEN]; + int ret; + + assert(result); + + clean_result(result); + + if(num_param(param) > 1) + { + return SYSINFO_RET_FAIL; + } + + if(get_param(param, 1, key, MAX_STRING_LEN) != 0) + { + return SYSINFO_RET_FAIL; + } + + if(strcmp(key,"free") == 0) + { + ret = SYSTEM_SWAP_FREE(cmd, param, flags, result); + } + else if(strcmp(key,"total") == 0) + { + ret = SYSTEM_SWAP_TOTAL(cmd, param, flags, result); + } + else + { + ret = SYSINFO_RET_FAIL; + } + + return ret; +} + |