8#include "tpcclibConfig.h"
22static char *info[] = {
23 "List the information in the main header of an ECAT 6 or 7 file.",
25 "Usage: @P [Options] ecatfile",
33 "See also: lshdr, lmlist, egetstrt, imgunit, e7emhdr, e63emhdr",
35 "Keywords: ECAT, header",
54int main(
int argc,
char **argv)
56 int ai, help=0, version=0, verbose=1;
58 char *cptr, ecatfile[FILENAME_MAX];
68 if(argc==1) {
tpcPrintUsage(argv[0], info, stderr);
return(1);}
71 for(ai=1; ai<argc; ai++)
if(*argv[ai]==
'-') {
72 cptr=argv[ai]+1;
if(*cptr==
'-') cptr++;
if(cptr==NULL)
continue;
74 fprintf(stderr,
"Error: invalid option %s\n", argv[ai]);
79 if(help==2) {
tpcHtmlUsage(argv[0], info,
"");
return(0);}
84 for(; ai<argc; ai++) {
86 strcpy(ecatfile, argv[ai]);
continue;
88 fprintf(stderr,
"Error: invalid argument '%s'\n", argv[ai]);
94 fprintf(stderr,
"Error: missing command-line argument; try %s --help\n",
102 printf(
"ecatfile := %s\n", ecatfile);
109 if((fp=fopen(ecatfile,
"rb")) == NULL) {
110 fprintf(stderr,
"Error: cannot read file %s\n", ecatfile);
119 if(verbose>2) printf(
"trying to read ecat mainheader\n");
122 fprintf(stderr,
"Error: unsupported file format (%s)\n", ecatfile);
123 fclose(fp);
return(3);
126 if(verbose>2) printf(
"checking ecat mainheader for ECAT7 magic number\n");
127 if(strncmp(e7_mainheader.
magic_number, ECAT7V_MAGICNR, 7)==0) {
128 if(verbose>2) printf(
"ECAT7 magic number found\n");
131 if(verbose>2) printf(
"ECAT7 magic number not found\n");
134 if(ret==0) ecat_format=6;
137 fprintf(stderr,
"Error: unsupported file format (%s)\n", ecatfile);
138 fclose(fp);
return(3);
140 if(verbose>1) printf(
"ecat_format := %d\n", ecat_format);
void ecat63PrintMainheader(ECAT63_mainheader *h, FILE *fp)
int ecat63ReadMainheader(FILE *fp, ECAT63_mainheader *h)
void ecat7PrintMainheader(ECAT7_mainheader *h, FILE *fp)
int ecat7ReadMainheader(FILE *fp, ECAT7_mainheader *h)
Header file for libtpcimgio.
Header file for libtpcmisc.
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
int tpcHtmlUsage(const char *program, char *text[], const char *path)
void tpcPrintBuild(const char *program, FILE *fp)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)