From 9cbc2d0e753b11b8a5096bb7f4f5cbe6db5228dd Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Mon, 21 Feb 2005 01:50:34 +0000 Subject: [PATCH] nfs ping cleanup --- include/sigar.h | 2 ++ src/sigar_util.c | 17 ++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/sigar.h b/include/sigar.h index 45b27cda..5da3e46c 100644 --- a/include/sigar.h +++ b/include/sigar.h @@ -506,6 +506,8 @@ SIGAR_DECLARE(int) sigar_inet_ntoa(sigar_t *sigar, SIGAR_DECLARE(int) sigar_fqdn_get(sigar_t *sigar, char *name, int namelen); +SIGAR_DECLARE(int) sigar_nfs_ping(char *hostname); + SIGAR_DECLARE(char *) sigar_password_get(const char *prompt); #ifdef __cplusplus diff --git a/src/sigar_util.c b/src/sigar_util.c index 2d27b7fd..2f453d0e 100644 --- a/src/sigar_util.c +++ b/src/sigar_util.c @@ -425,27 +425,26 @@ static int get_sockaddr(struct sockaddr_in *addr, char *host) if ((addr->sin_addr.s_addr = inet_addr(host)) == -1) { if (!(hp = gethostbyname(host))) { - fprintf(stderr, "%s: unknown host\n", host); - return 0; + return -1; } memcpy(&addr->sin_addr, hp->h_addr, hp->h_length); } - return 1; + return SIGAR_OK; } -int sigar_nfsping(char *host) +SIGAR_DECLARE(int) sigar_nfs_ping(char *host) { CLIENT *client; struct sockaddr_in addr; - int sock, retval=1; + int sock, retval=SIGAR_OK; struct timeval timeout, interval; unsigned short port = 0; char buffer[1024]; enum clnt_stat rpc_stat; - if (get_sockaddr(&addr, host) == 0) { - return 0; + if (get_sockaddr(&addr, host) != SIGAR_OK) { + return -1; } interval.tv_sec = 2; @@ -456,7 +455,7 @@ int sigar_nfsping(char *host) interval, &sock); if (!client) { clnt_pcreateerror(buffer); - return 0; + return -1; } timeout.tv_sec = 10; @@ -466,7 +465,7 @@ int sigar_nfsping(char *host) if (rpc_stat != RPC_SUCCESS) { clnt_perror(client, buffer); - retval = 0; + retval = -1; } clnt_destroy(client);