]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/l4re-core/uclibc/lib/contrib/uclibc/test/pwd_grp/test_grp.c
Update
[l4.git] / l4 / pkg / l4re-core / uclibc / lib / contrib / uclibc / test / pwd_grp / test_grp.c
1 /*
2  * test_grp.c - This file is part of the libc-8086/grp package for ELKS,
3  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
4  *
5  * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
6  */
7
8 #include <unistd.h>
9 #include <stdio.h>
10 #include <fcntl.h>
11 #include <grp.h>
12
13 int main(int argc, char **argv)
14 {
15         struct group *group;
16         char **tmp_mem;
17         int test_gid;
18
19         fprintf(stdout, "Beginning test of libc/grp...\n");
20
21         fprintf(stdout, "=> Testing setgrent(), getgrent(), endgrent()...\n");
22         fprintf(stdout, "-> setgrent()...\n");
23         setgrent();
24         fprintf(stdout, "-> getgrent()...\n");
25         printf
26                 ("********************************************************************************\n");
27         while ((group = getgrent()) != NULL) {
28                 printf("gr_name\t\t: %s\n", group->gr_name);
29                 printf("gr_passwd\t: %s\n", group->gr_passwd);
30                 printf("gr_gid\t\t: %d\n", (int) group->gr_gid);
31                 printf("gr_mem\t\t: ");
32                 fflush(stdout);
33                 tmp_mem = group->gr_mem;
34                 while (*tmp_mem != NULL) {
35                         printf("%s, ", *tmp_mem);
36                         tmp_mem++;
37                 }
38                 printf
39                         ("\n********************************************************************************\n");
40         }
41         fprintf(stdout, "-> endgrent()...\n");
42         endgrent();
43         fprintf(stdout,
44                         "=> Test of setgrent(), getgrent(), endgrent() complete.\n");
45         fprintf(stdout, "=> Testing getgrid(), getgrnam()...\n");
46         fprintf(stdout, "-> getgrgid()...\n");
47         printf
48                 ("********************************************************************************\n");
49         for (test_gid = 0; test_gid < 100; test_gid++) {
50                 fprintf(stdout, "-> getgrgid(%d)...\n", test_gid);
51                 group = getgrgid((gid_t) test_gid);
52                 if (group != NULL) {
53                         printf("gr_name\t: %s\n", group->gr_name);
54                         printf("gr_passwd\t: %s\n", group->gr_passwd);
55                         printf("gr_gid\t: %d\n", (int) group->gr_gid);
56                         printf("gr_mem\t\t: ");
57                         fflush(stdout);
58                         tmp_mem = group->gr_mem;
59                         while (*tmp_mem != NULL) {
60                                 printf("%s, ", *tmp_mem);
61                                 tmp_mem++;
62                         }
63                 }
64                 printf
65                         ("\n********************************************************************************\n");
66         }
67         fprintf(stdout, "-> getgrnam()...\n");
68         group = getgrnam("root");
69         if (group == NULL) {
70                 printf(">NULL<\n");
71         } else {
72                 printf("gr_name\t: %s\n", group->gr_name);
73                 printf("gr_passwd\t: %s\n", group->gr_passwd);
74                 printf("gr_gid\t: %d\n", (int) group->gr_gid);
75                 printf("gr_mem\t\t: ");
76                 fflush(stdout);
77                 tmp_mem = group->gr_mem;
78                 while (*tmp_mem != NULL) {
79                         printf("%s, ", *tmp_mem);
80                         tmp_mem++;
81                 }
82                 printf("\n");
83         }
84
85
86         return 0;
87 }