1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2000-2002 Silicon Graphics, Inc.
25 fprintf(stderr, "Usage: %s [-a|-A] [-s sid] [-t token] {pathname|handle}\n",
36 dm_sessid_t sid = DM_NO_SESSION;
37 dm_token_t token = DM_NO_TOKEN;
50 Progname = strrchr(argv[0], '/');
58 while ((opt = getopt(argc, argv, "Aas:t:v")) != EOF) {
79 if (optind + 1 != argc) {
82 pathname_obj = argv[optind];
84 if (dm_init_service(&name) == -1) {
85 fprintf(stderr, "Can't initialize the DMAPI\n");
88 if (sid == DM_NO_SESSION)
89 find_test_session(&sid);
91 /* Get the file's handle or convert the external handle. */
93 if (opaque_to_handle(pathname_obj, &hanp, &hlen)) {
94 fprintf(stderr, "can't get handle for %s\n", pathname_obj);
99 fprintf(stdout, "path/handle %s\n", pathname_obj);
101 /* Get the file's state, print it, then verify it against
102 what is in the file's stat block.
105 if (dm_get_fileattr(sid, hanp, hlen, token,
106 DM_AT_EMASK|DM_AT_PMANR|DM_AT_PATTR|DM_AT_DTIME|DM_AT_CFLAG|DM_AT_STAT,
108 fprintf(stderr, "dm_get_fileattr failed, %s\n",
113 print_state(&dmstat);
115 (void)validate_state(&dmstat, pathname_obj, 1);
118 if ((rc = filesys_bulkscan_init(pathname, &scanp)) != 0) {
119 fprintf(stderr, "filesys_bulkscan failed, %s\n",
120 fileio_err_image(rc));
124 rc = filesys_bulkscan_read(scanp, &fhandle, &fullstat);
125 if (rc != FILEIO_NOERROR)
128 (void)fhandle_to_buffer(&fhandle, buffer, sizeof(buffer));
130 fprintf(stdout, "handle %s\n", buffer);
131 print_state(&fullstat);
132 fprintf(stdout, "--------------------------\n");
134 fprintf(stdout, "%s|", buffer);
135 print_line(&fullstat);
139 if (rc != FILEIO_ENDOFSCAN) {
140 fprintf(stderr, "filesys_bulkscan_read failed, %s\n",
141 fileio_err_image(rc));
144 if ((rc = filesys_bulkscan_close(&scanp)) != 0) {
145 fprintf(stderr, "filesys_bulkscan_close failed, %s\n",
146 fileio_err_image(rc));