Standardize License information
[openafs.git] / src / libadmin / samples / rxstat_get_version.c
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 /*
11  * This file contains sample code for the rxstats interface 
12  */
13
14 #ifdef AFS_NT40_ENV
15 #include <winsock2.h>
16 #include <pthread.h>
17 #endif
18 #include <afs/afs_Admin.h>
19 #include <afs/afs_clientAdmin.h>
20 #include <afs/afs_utilAdmin.h>
21
22 void Usage()
23 {
24     fprintf(stderr,
25             "Usage: rxstat_get_version <host> <port>\n");
26     exit(1);
27 }
28
29 void ParseArgs(
30     int argc,
31     char *argv[],
32     char **srvrName,
33     long *srvrPort)
34 {
35     char **argp = argv;
36
37     if (!*(++argp))
38         Usage();
39     *srvrName = *(argp++);
40     if (!*(argp))
41         Usage();
42     *srvrPort = strtol(*(argp++), NULL, 0);
43     if (*srvrPort <= 0 || *srvrPort >= 65536)
44         Usage();
45     if (*(argp))
46         Usage();
47 }
48
49 int main(int argc, char *argv[])
50 {
51     int rc;
52     afs_status_t st = 0;
53     struct rx_connection *conn;
54     char *srvrName;
55     long srvrPort;
56     void *cellHandle;
57     afs_RPCStatsVersion_t version;
58
59     ParseArgs(argc, argv, &srvrName, &srvrPort);
60
61     rc = afsclient_Init(&st);
62     if (!rc) {
63         fprintf(stderr, "afsclient_Init, status %d\n", st);
64         exit(1);
65     }
66
67     rc = afsclient_NullCellOpen(&cellHandle, &st);
68     if (!rc) {
69         fprintf(stderr, "afsclient_NullCellOpen, status %d\n", st);
70         exit(1);
71     }
72
73     rc = afsclient_RPCStatOpenPort(cellHandle, srvrName, srvrPort, &conn, &st);
74     if (!rc) {
75         fprintf(stderr, "afsclient_RPCStatOpenPort, status %d\n", st);
76         exit(1);
77     }
78
79     rc = util_RPCStatsVersionGet(conn, &version, &st);
80     if (!rc) {
81         fprintf(stderr, "util_RPCStatsVersionGet, status %d\n", st);
82         exit(1);
83     }
84
85     rc = afsclient_RPCStatClose(conn, &st);
86     if (!rc) {
87         fprintf(stderr, "afsclient_RPCStatClose, status %d\n", st);
88         exit(1);
89     }
90
91     rc = afsclient_CellClose(cellHandle, &st);
92     if (!rc) {
93         fprintf(stderr, "afsclient_CellClose, status %d\n", st);
94         exit(1);
95     }
96
97     printf("\n");
98     printf("RPC stats are version %d\n", version);
99     printf("\n");
100
101     exit(0);
102 }