From: octo Date: Fri, 19 May 2006 07:23:38 +0000 (+0000) Subject: src/apcups.c: X-Git-Tag: svn-trunk~26 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=368747beeceb5301223397253e9158eb8bd56da5;p=collectd.git src/apcups.c: - Fixed more indentation. - Made internal-only functions static. --- diff --git a/src/apcups.c b/src/apcups.c index f481d0eb..b99b2e70 100644 --- a/src/apcups.c +++ b/src/apcups.c @@ -228,7 +228,7 @@ static int write_nbytes(int fd, char *ptr, int nbytes) } /* Close the network connection */ -void net_close (int sockfd) +static void net_close (int sockfd) { short pktsiz = 0; @@ -243,7 +243,7 @@ void net_close (int sockfd) * Returns -1 on error * Returns socket file descriptor otherwise */ -int net_open(char *host, char *service, int port) +static int net_open(char *host, char *service, int port) { int sockfd; struct hostent *hp; @@ -310,38 +310,38 @@ int net_open(char *host, char *service, int port) * Returns -1 on hard end of file (i.e. network connection close) * Returns -2 on error */ -int net_recv(int sockfd, char *buff, int maxlen) -{ - int nbytes; - short pktsiz; - - /* get data size -- in short */ - if ((nbytes = read_nbytes(sockfd, (char *)&pktsiz, sizeof(short))) <= 0) { - /* probably pipe broken because client died */ - return -1; /* assume hard EOF received */ - } - if (nbytes != sizeof(short)) - return -2; - - pktsiz = ntohs(pktsiz); /* decode no. of bytes that follow */ - if (pktsiz > maxlen) { - net_errmsg = "net_recv: record length too large\n"; - return -2; - } - if (pktsiz == 0) - return 0; /* soft EOF */ - - /* now read the actual data */ - if ((nbytes = read_nbytes(sockfd, buff, pktsiz)) <= 0) { - net_errmsg = "net_recv: read_nbytes error\n"; - return -2; - } - if (nbytes != pktsiz) { - net_errmsg = "net_recv: error in read_nbytes\n"; - return -2; - } - - return (nbytes); /* return actual length of message */ +static int net_recv(int sockfd, char *buff, int maxlen) +{ + int nbytes; + short pktsiz; + + /* get data size -- in short */ + if ((nbytes = read_nbytes(sockfd, (char *)&pktsiz, sizeof(short))) <= 0) { + /* probably pipe broken because client died */ + return -1; /* assume hard EOF received */ + } + if (nbytes != sizeof(short)) + return -2; + + pktsiz = ntohs(pktsiz); /* decode no. of bytes that follow */ + if (pktsiz > maxlen) { + net_errmsg = "net_recv: record length too large\n"; + return -2; + } + if (pktsiz == 0) + return 0; /* soft EOF */ + + /* now read the actual data */ + if ((nbytes = read_nbytes(sockfd, buff, pktsiz)) <= 0) { + net_errmsg = "net_recv: read_nbytes error\n"; + return -2; + } + if (nbytes != pktsiz) { + net_errmsg = "net_recv: error in read_nbytes\n"; + return -2; + } + + return (nbytes); /* return actual length of message */ } /* @@ -351,125 +351,125 @@ int net_recv(int sockfd, char *buff, int maxlen) * Returns number of bytes sent * Returns -1 on error */ -int net_send(int sockfd, char *buff, int len) -{ - int rc; - short pktsiz; - - /* send short containing size of data packet */ - pktsiz = htons((short)len); - rc = write_nbytes(sockfd, (char *)&pktsiz, sizeof(short)); - if (rc != sizeof(short)) { - net_errmsg = "net_send: write_nbytes error of length prefix\n"; - return -1; - } - - /* send data packet */ - rc = write_nbytes(sockfd, buff, len); - if (rc != len) { - net_errmsg = "net_send: write_nbytes error\n"; - return -1; - } - - return rc; +static int net_send(int sockfd, char *buff, int len) +{ + int rc; + short pktsiz; + + /* send short containing size of data packet */ + pktsiz = htons((short)len); + rc = write_nbytes(sockfd, (char *)&pktsiz, sizeof(short)); + if (rc != sizeof(short)) { + net_errmsg = "net_send: write_nbytes error of length prefix\n"; + return -1; + } + + /* send data packet */ + rc = write_nbytes(sockfd, buff, len); + if (rc != len) { + net_errmsg = "net_send: write_nbytes error\n"; + return -1; + } + + return rc; } /* Get and print status from apcupsd NIS server */ static void do_pthreads_status(char *host, int port, struct apc_detail_s *apcups_detail) { - int sockfd, n; - char recvline[MAXSTRING + 1]; - char *tokptr; + int sockfd, n; + char recvline[MAXSTRING + 1]; + char *tokptr; - if ((sockfd = net_open(host, NULL, port)) < 0) - Error_abort0(net_errmsg); - - net_send(sockfd, "status", 6); - - while ((n = net_recv(sockfd, recvline, sizeof(recvline))) > 0) { - recvline[n] = 0; + if ((sockfd = net_open(host, NULL, port)) < 0) + Error_abort0(net_errmsg); + + net_send(sockfd, "status", 6); + + while ((n = net_recv(sockfd, recvline, sizeof(recvline))) > 0) { + recvline[n] = 0; #ifdef APCMAIN - fputs(recvline, stdout); - int printit = 1; + fputs(recvline, stdout); + int printit = 1; #else - int printit = 0; + int printit = 0; #endif /* ifdef APCMAIN */ - tokptr = strtok(recvline,":"); - while(tokptr != NULL) { - /* Look for Limit_Add */ - if(strncmp("LINEV",tokptr,5) == 0) { - if(printit) fprintf(stdout," Found LINEV.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->linev = atof (tokptr); - }else if(strncmp("BATTV",tokptr,5) == 0) { - if(printit) fprintf(stdout," Found BATTV.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->battv = atof (tokptr); - }else if(strncmp("ITEMP",tokptr,5) == 0) { - if(printit) fprintf(stdout," Found ITEMP.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->itemp = atof (tokptr); - }else if(strncmp("LOADPCT",tokptr,7) == 0) { - if(printit) fprintf(stdout," Found LOADPCT.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->loadpct = atof (tokptr); - }else if(strncmp("BCHARGE",tokptr,7) == 0) { - if(printit) fprintf(stdout," Found BCHARGE.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->bcharge = atof (tokptr); - }else if(strncmp("OUTPUTV",tokptr,7) == 0) { - if(printit) fprintf(stdout," Found OUTPUTV.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->outputv = atof (tokptr); - }else if(strncmp("LINEFREQ",tokptr,8) == 0) { - if(printit) fprintf(stdout," Found LINEFREQ.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->linefreq = atof (tokptr); - }else if(strncmp("TIMELEFT",tokptr,8) == 0) { - if(printit) fprintf(stdout," Found TIMELEFT.\n"); - tokptr = strtok(NULL," \t"); - if(tokptr == NULL) continue; - if(printit) fprintf(stdout," Value %s.\n",tokptr); - apcups_detail->timeleft = atof (tokptr); - } /* */ - tokptr = strtok(NULL,":"); - } - } + tokptr = strtok(recvline,":"); + while(tokptr != NULL) { + /* Look for Limit_Add */ + if(strncmp("LINEV",tokptr,5) == 0) { + if(printit) fprintf(stdout," Found LINEV.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->linev = atof (tokptr); + }else if(strncmp("BATTV",tokptr,5) == 0) { + if(printit) fprintf(stdout," Found BATTV.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->battv = atof (tokptr); + }else if(strncmp("ITEMP",tokptr,5) == 0) { + if(printit) fprintf(stdout," Found ITEMP.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->itemp = atof (tokptr); + }else if(strncmp("LOADPCT",tokptr,7) == 0) { + if(printit) fprintf(stdout," Found LOADPCT.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->loadpct = atof (tokptr); + }else if(strncmp("BCHARGE",tokptr,7) == 0) { + if(printit) fprintf(stdout," Found BCHARGE.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->bcharge = atof (tokptr); + }else if(strncmp("OUTPUTV",tokptr,7) == 0) { + if(printit) fprintf(stdout," Found OUTPUTV.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->outputv = atof (tokptr); + }else if(strncmp("LINEFREQ",tokptr,8) == 0) { + if(printit) fprintf(stdout," Found LINEFREQ.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->linefreq = atof (tokptr); + }else if(strncmp("TIMELEFT",tokptr,8) == 0) { + if(printit) fprintf(stdout," Found TIMELEFT.\n"); + tokptr = strtok(NULL," \t"); + if(tokptr == NULL) continue; + if(printit) fprintf(stdout," Value %s.\n",tokptr); + apcups_detail->timeleft = atof (tokptr); + } /* */ + tokptr = strtok(NULL,":"); + } + } - if (n < 0) - Error_abort0(net_errmsg); - - net_close(sockfd); + if (n < 0) + Error_abort0(net_errmsg); + + net_close(sockfd); } #ifdef APCMAIN int main(int argc, char **argv) { - /* we are not really going to use this */ - struct apc_detail_s apcups_detail; + /* we are not really going to use this */ + struct apc_detail_s apcups_detail; - if (!*host || strcmp(host, "0.0.0.0") == 0) - host = "localhost"; - - do_pthreads_status(host, port, &apcups_detail); - - return 0; + if (!*host || strcmp(host, "0.0.0.0") == 0) + host = "localhost"; + + do_pthreads_status(host, port, &apcups_detail); + + return 0; } #else static void apcups_init (void)