version 1.14, 1997/09/15 03:25:42 |
version 1.15, 1997/09/19 19:24:24 |
Line 84 __RCSID("$NetBSD$"); |
|
Line 84 __RCSID("$NetBSD$"); |
|
#include <sys/un.h> |
#include <sys/un.h> |
#include <sys/time.h> |
#include <sys/time.h> |
#include <sys/resource.h> |
#include <sys/resource.h> |
|
#include <sys/sysctl.h> |
|
|
#include <netinet/in.h> |
#include <netinet/in.h> |
#include <netdb.h> |
#include <netdb.h> |
Line 199 int decode __P((const char *, CODE *)); |
|
Line 200 int decode __P((const char *, CODE *)); |
|
void die __P((int)); |
void die __P((int)); |
void domark __P((int)); |
void domark __P((int)); |
void fprintlog __P((struct filed *, int, char *)); |
void fprintlog __P((struct filed *, int, char *)); |
|
int getmsgbufsize __P((void)); |
void init __P((int)); |
void init __P((int)); |
void logerror __P((char *)); |
void logerror __P((char *)); |
void logmsg __P((int, char *, char *, int)); |
void logmsg __P((int, char *, char *, int)); |
Line 214 main(argc, argv) |
|
Line 216 main(argc, argv) |
|
int argc; |
int argc; |
char *argv[]; |
char *argv[]; |
{ |
{ |
int ch, funix, i, inetm, fklog, klogm, len; |
int ch, funix, i, inetm, fklog, klogm, len, linesize; |
struct sockaddr_un sunx, fromunix; |
struct sockaddr_un sunx, fromunix; |
struct sockaddr_in sin, frominet; |
struct sockaddr_in sin, frominet; |
FILE *fp; |
FILE *fp; |
char *p, line[MSG_BSIZE + 1]; |
char *p, *line; |
|
|
while ((ch = getopt(argc, argv, "dsf:m:p:")) != EOF) |
while ((ch = getopt(argc, argv, "dsf:m:p:")) != EOF) |
switch(ch) { |
switch(ch) { |
Line 257 main(argc, argv) |
|
Line 259 main(argc, argv) |
|
LocalDomain = p; |
LocalDomain = p; |
} else |
} else |
LocalDomain = ""; |
LocalDomain = ""; |
|
linesize = getmsgbufsize(); |
|
if (linesize < MAXLINE) |
|
linesize = MAXLINE; |
|
linesize++; |
|
line = malloc(linesize); |
|
if (line == NULL) { |
|
logerror("couldn't allocate line buffer"); |
|
die(0); |
|
} |
(void)signal(SIGTERM, die); |
(void)signal(SIGTERM, die); |
(void)signal(SIGINT, Debug ? die : SIG_IGN); |
(void)signal(SIGINT, Debug ? die : SIG_IGN); |
(void)signal(SIGQUIT, Debug ? die : SIG_IGN); |
(void)signal(SIGQUIT, Debug ? die : SIG_IGN); |
Line 344 main(argc, argv) |
|
Line 355 main(argc, argv) |
|
} |
} |
dprintf("got a message (%d, %#x)\n", nfds, readfds); |
dprintf("got a message (%d, %#x)\n", nfds, readfds); |
if (readfds & klogm) { |
if (readfds & klogm) { |
i = read(fklog, line, sizeof(line) - 1); |
i = read(fklog, line, linesize - 1); |
if (i > 0) { |
if (i > 0) { |
line[i] = '\0'; |
line[i] = '\0'; |
printsys(line); |
printsys(line); |
Line 1147 decode(name, codetab) |
|
Line 1158 decode(name, codetab) |
|
|
|
return (-1); |
return (-1); |
} |
} |
|
|
|
/* |
|
* Retrieve the size of the kernel message buffer, via sysctl. |
|
*/ |
|
int |
|
getmsgbufsize() |
|
{ |
|
int msgbufsize, mib[2]; |
|
size_t size; |
|
|
|
mib[0] = CTL_KERN; |
|
mib[1] = KERN_MSGBUFSIZE; |
|
size = sizeof msgbufsize; |
|
if (sysctl(mib, 2, &msgbufsize, &size, NULL, 0) == -1) { |
|
dprintf("couldn't get kern.msgbufsize\n"); |
|
return (0); |
|
} |
|
return (msgbufsize); |
|
} |