diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-10-14 14:18:49 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2003-10-14 14:18:49 +0000 |
commit | ffc277e54b2bc84b397592a272181c3768599395 (patch) | |
tree | 0b6590c48cab43f3f9c871b82014b4e5e90ad712 | |
parent | 2c983e6b204a132d3c24a1c60b7c9256154c170b (diff) | |
download | xen-ffc277e54b2bc84b397592a272181c3768599395.tar.gz xen-ffc277e54b2bc84b397592a272181c3768599395.tar.bz2 xen-ffc277e54b2bc84b397592a272181c3768599395.zip |
bitkeeper revision 1.515 (3f8c05c9ugF0DM7SjnFypZrwVlJ7jQ)
xen_log.c:
Now xen_log really does compile and link.
-rw-r--r-- | tools/misc/xen_log.c | 96 |
1 files changed, 51 insertions, 45 deletions
diff --git a/tools/misc/xen_log.c b/tools/misc/xen_log.c index d5e2d1fa50..8905c1bf32 100644 --- a/tools/misc/xen_log.c +++ b/tools/misc/xen_log.c @@ -1,3 +1,5 @@ + +#include <netinet/in.h> #include <sys/types.h> #include <tcpd.h> #include <sys/socket.h> @@ -23,20 +25,21 @@ int logoutput; void stripit(char *str) { - register int i; - - for (i = 0; str[i]; i++) { - if (str[i] == '\n') str[i] = '\0'; - if (str[i] == '\r') str[i] = '\0'; - } + int i; + for ( i = 0; str[i]; i++ ) + if ( (str[i] == '\n') || (str[i] == '\r') ) + str[i] = '\0'; } void errexit(char *str) { - if(logoutput == SYSLOG) { + if ( logoutput == SYSLOG ) + { stripit(str); syslog(LOG_ERR, "%s failed: %d (%m)", str, errno); - } else { + } + else + { printf("%s", str); } exit(1); @@ -44,15 +47,18 @@ void errexit(char *str) void log(char *str) { - if(logoutput == SYSLOG) { + if ( logoutput == SYSLOG ) + { stripit(str); syslog(LOG_INFO, "%s", str); - } else { + } + else + { printf("%s", str); } } -void process() +void process(void) { dom0_op_t op; unsigned char buf[208], obuf[224]; @@ -75,20 +81,20 @@ void process() op.cmd = DOM0_GETDOMAININFO; while ( (len = recvfrom(fd, buf, sizeof(buf), 0, - (struct sockaddr *)&from, &fromlen)) >= 0 ) + (struct sockaddr *)&from, &fromlen)) >= 0 ) { curport = ntohs(from.sin_port); - if(lastport != curport) { - op.u.getdominfo.domain = (int)curport; - if ( do_dom0_op(&op) < 0 ) { - log("Error resolving domain name\n"); - } else { - lastport = curport; - } + if ( lastport != curport ) + { + op.u.getdominfo.domain = (int)curport; + if ( do_dom0_op(&op) < 0 ) + log("Error resolving domain name\n"); + else + lastport = curport; } sprintf(obuf, "[%s] %s", op.u.getdominfo.name, buf); - log(obuf); + log(obuf); fromlen = sizeof(from); } @@ -99,30 +105,30 @@ void closeall(int fd) int fdlimit = sysconf(_SC_OPEN_MAX); while (fd < fdlimit) - close(fd++); + close(fd++); } int daemon(int nochdir, int noclose) { switch (fork()) { - case 0: break; - case -1: return -1; - default: _exit(0); + case 0: break; + case -1: return -1; + default: _exit(0); } if (setsid() < 0) - return -1; + return -1; switch (fork()) { - case 0: break; - case -1: return -1; - default: _exit(0); + case 0: break; + case -1: return -1; + default: _exit(0); } if (!nochdir) - chdir("/"); + chdir("/"); if (!noclose) { @@ -145,22 +151,22 @@ int main(int argc, char **argv) { switch(c) { - case 'd': - logoutput = SYSLOG; - if (daemon(0,0) < 0) - { - errno = 2; - errexit("daemon"); - } else { - openlog("xenolog", LOG_PID, SYSLOGTO); - } - break; - case 'h': - printf("Usage: xenolog [options]\n"); - printf("Capture and display output of xen domains.\n\n"); - printf(" -d Daemonize and send output to syslog.\n"); - exit(0); - break; + case 'd': + logoutput = SYSLOG; + if (daemon(0,0) < 0) + { + errno = 2; + errexit("daemon"); + } else { + openlog("xenolog", LOG_PID, SYSLOGTO); + } + break; + case 'h': + printf("Usage: xenolog [options]\n"); + printf("Capture and display output of xen domains.\n\n"); + printf(" -d Daemonize and send output to syslog.\n"); + exit(0); + break; } } |