xfstests: eliminate warnings under dmapi/src/suite1/cmd (3)
[xfstests-dev.git] / dmapi / src / suite1 / cmd / respond_event.c
1 /*
2  * Copyright (c) 2000-2001 Silicon Graphics, Inc.
3  * All Rights Reserved.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it would be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write the Free Software Foundation,
16  * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18
19 #include <lib/hsm.h>
20
21 #include <string.h>
22
23 /*---------------------------------------------------------------------------
24
25 Test program used to test the DMAPI function dm_respond_event().  The
26 command line is:
27
28         respond_event sid token response reterror
29
30 where sid is the session ID whose event you are responding to.
31
32 ----------------------------------------------------------------------------*/
33
34 #ifndef linux
35 extern  char    *sys_errlist[];
36 #endif
37 extern  int     optind;
38 extern  char    *optarg;
39
40
41 char    *Progname;
42
43 static void
44 usage(void)
45 {
46         fprintf(stderr, "usage:\t%s sid token response reterror\n",
47                 Progname);
48         fprintf(stderr, "  Response values:\n");
49         fprintf(stderr, "  %d = DM_RESP_INVALID\n", DM_RESP_INVALID);
50         fprintf(stderr, "  %d = DM_RESP_CONTINUE\n", DM_RESP_CONTINUE );
51         fprintf(stderr, "  %d = DM_RESP_ABORT\n", DM_RESP_ABORT);
52         fprintf(stderr, "  %d = DM_RESP_DONTCARE\n", DM_RESP_DONTCARE);
53         exit(1);
54 }
55
56
57 int
58 main(
59         int             argc, 
60         char            **argv)
61 {
62         dm_sessid_t     sid;
63         char            *name;
64         dm_token_t      token;
65         dm_response_t   response;
66         int             reterror;
67
68         Progname = strrchr(argv[0], '/');
69         if (Progname) {
70                 Progname++;
71         } else {
72                 Progname = argv[0];
73         }
74
75         if (argc != 5)
76                 usage();
77
78         sid = atol(argv[1]);
79         token = atol(argv[2]);
80         response = (dm_response_t)atoi(argv[3]);
81         reterror = atol(argv[4]);
82
83         if (dm_init_service(&name) == -1)  {
84                 fprintf(stderr, "Can't initialize the DMAPI\n");
85                 exit(1);
86         }
87
88         if (dm_respond_event(sid, token, response, reterror, 0, NULL)) {
89                 fprintf(stderr, "dm_respond_event failed, %d/%s\n",
90                         errno, strerror(errno));
91                 exit(1);
92         }
93         exit(0);
94 }