File: [Development] / performer / src / tools / dioinfo.C (download)
Revision 1.1, Tue Nov 21 21:39:46 2000 UTC (16 years, 10 months ago) by flynnt
Branch: MAIN
CVS Tags: HEAD
Initial check-in based on OpenGL Performer 2.4 tree.
-flynnt
|
/*
* Copyright 2000, Silicon Graphics, Inc.
* ALL RIGHTS RESERVED
*
* This source code ("Source Code") was originally derived from a
* code base owned by Silicon Graphics, Inc. ("SGI")
*
* LICENSE: SGI grants the user ("Licensee") permission to reproduce,
* distribute, and create derivative works from this Source Code,
* provided that: (1) the user reproduces this entire notice within
* both source and binary format redistributions and any accompanying
* materials such as documentation in printed or electronic format;
* (2) the Source Code is not to be used, or ported or modified for
* use, except in conjunction with OpenGL Performer; and (3) the
* names of Silicon Graphics, Inc. and SGI may not be used in any
* advertising or publicity relating to the Source Code without the
* prior written permission of SGI. No further license or permission
* may be inferred or deemed or construed to exist with regard to the
* Source Code or the code base of which it forms a part. All rights
* not expressly granted are reserved.
*
* This Source Code is provided to Licensee AS IS, without any
* warranty of any kind, either express, implied, or statutory,
* including, but not limited to, any warranty that the Source Code
* will conform to specifications, any implied warranties of
* merchantability, fitness for a particular purpose, and freedom
* from infringement, and any warranty that the documentation will
* conform to the program, or any warranty that the Source Code will
* be error free.
*
* IN NO EVENT WILL SGI BE LIABLE FOR ANY DAMAGES, INCLUDING, BUT NOT
* LIMITED TO DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES,
* ARISING OUT OF, RESULTING FROM, OR IN ANY WAY CONNECTED WITH THE
* SOURCE CODE, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT, TORT OR
* OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS OR
* PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED FROM,
* OR AROSE OUT OF USE OR RESULTS FROM USE OF, OR LACK OF ABILITY TO
* USE, THE SOURCE CODE.
*
* Contact information: Silicon Graphics, Inc.,
* 1600 Amphitheatre Pkwy, Mountain View, CA 94043,
* or: http://www.sgi.com
*/
/*
* dioinfo.C
*
* Program to determine the direct i/o parameters
* of files or directories.
*/
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
main(int argc, char **argv)
{
if (argc < 2)
{
fprintf(stderr, "Usage: %s file_or_dirname [file_or_dirname ...]\n",
argv[0]);
return 1;
}
int num_errors = 0;
while (*++argv)
{
int fd = open(*argv, O_RDONLY|O_DIRECT);
if (fd == -1)
{
perror(*argv);
num_errors++;
continue;
}
struct dioattr dioattrbuf;
if (fcntl(fd, F_DIOINFO, &dioattrbuf) == -1)
{
perror("fcntl(F_DIOINFO)");
num_errors++;
continue;
}
printf("%s:\n", *argv);
printf(" d_mem = %u (required memory alignment)\n", dioattrbuf.d_mem);
printf(" d_miniosz = %u\n", dioattrbuf.d_miniosz);
printf(" d_maxiosz = %u\n", dioattrbuf.d_maxiosz);
(void)close(fd);
}
return num_errors;
}