check: allow '-e testid' to exclude a single test
[xfstests-dev.git] / dmapi / src / simple / dm_getall_tokens.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2000-2001 Silicon Graphics, Inc.
4  * All Rights Reserved.
5  */
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <sys/errno.h>
9 #include <malloc.h>
10 #include <getopt.h>
11 #ifdef linux
12 #include <dmapi.h>
13 #endif
14
15 int
16 main( int argc, char **argv )
17 {
18         extern char *optarg;
19         int c;
20         int ret;
21         dm_token_t *tokenbuf;
22         u_int nelem = 100;
23         u_int rnelem = 0;
24         dm_sessid_t sid = 0;
25         int i;
26         char *versionstr;
27
28         while( (c = getopt(argc, argv, "hs:n:")) != -1 ) {
29                 switch(c){
30                 case 's':
31                         sid = atoi( optarg );
32                         break;
33                 case 'n':
34                         nelem = atoi( optarg );
35                         break;
36                 case 'h':
37                         fprintf(stderr, "Usage: %s <-s sid> [-n nelem]\n", argv[0]);
38                         exit(2);
39                 }
40         }
41
42         if( sid == 0 ){
43                 fprintf(stderr, "%s: must specify -s\n", argv[0] );
44                 exit(1);
45         }
46
47         if( (tokenbuf = malloc( sizeof(dm_token_t) * nelem )) == NULL ){
48                 fprintf(stderr, "%s: malloc failed\n", argv[0] );
49                 exit(1);
50         }
51
52         if( dm_init_service( &versionstr ) < 0 )
53                 exit(1);
54
55         ret = dm_getall_tokens( sid, nelem, tokenbuf, &rnelem );
56         printf( "ret=%d\n", ret );
57         printf( "rnelem=%d\n", rnelem );
58
59         printf("tokens=\"");
60         for( i = 0; i < rnelem; i++ ){
61                 printf("%d ", (int)*(tokenbuf+i));
62         }
63         printf("\"\n");
64         exit(0);
65 }