/* $Id: pppwho.c,v 1.7 2004/03/14 13:15:31 thivillon Exp $ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../config.h" #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_LIBUTIL_H #include #endif #ifdef HAVE_SYS_FILE_H #include #endif #ifdef HAVE_SYS_FILIO_H #include #endif #include "ssltun.h" #include "session.h" int main ( int argc, char **argv ) { int ch; int purgepid = -1; char *filename = WTMPFILE; struct pppsession *sessions; int all = 0; int resolve = 1; while ((ch = getopt(argc, argv, "naf:p:")) != -1) { switch (ch) { case 'f': /* Hostname */ filename = strdup( optarg ); break; case 'p': /* Pid */ purgepid = atoi( optarg ); break; case 'a': /* Show all */ all = 1; break; case 'n': resolve = 0; break; default: fprintf(stderr,"Usage: pppwho [-f wtmpfile] [-p pid]\n"); fprintf(stderr,"-p purge file from last pid entry\n"); fprintf(stderr,"-a show all connections instead of current ones\n"); fprintf(stderr,"-n does not resolve hosts\n"); exit(0); break; } } if (purgepid != -1) { purge_wtmp(filename , purgepid); exit (0); } else { sessions = read_sessions ( filename ); dump_sessions ( all , resolve, sessions ); } return 0; }