/* * File: /u/kscott/work/netg.c * Author: K. Scott Rowe * Time-stamp: <10/10/1997 15:58:46 kscott@pescado.tcct.nmt.edu> */ #include #include #include #ifdef linux #include #endif #ifdef osf1 #include #endif #ifdef sunos #include #endif #include #define DEBUG 0 main(int argc, char *argv[]) { int newline = 1 ; char c ; char ** mode ; char mygroup[100] ; char *user ; char *machine ; char *domain ; /* print USAGE when no args are given */ if(argc <= 1 || argc >= 4) { fprintf(stderr, "Usage: %s [-numd] \n", argv[0]) ; exit(1) ; } strcpy(mygroup, argv[1]) ; mode = &machine ; while ((c = getopt(argc, argv, "umdhn")) != EOF) { switch (c) { case 'u': mode = &user ; break; case 'm': mode = &machine ; break; case 'n': newline = 0 ; case 'd': mode = &domain ; break; default: fprintf(stderr, "Usage: %s [-numd] \n", argv[0]) ; exit(1) ; } strcpy(mygroup, argv[2]) ; } setnetgrent (mygroup); while (getnetgrent (&machine, &user, &domain) == 1) { if(newline) fprintf(stdout, "%s\n", *mode) ; else fprintf(stdout, "%s ", *mode) ; } endnetgrent (); }