abad323ac49cb6e08d68d7472f5c8a5d95914586
[openjpeg.git] / applications / jpip / util / test_index.c
1 /*
2  * $Id: test_index.c 46 2011-02-17 14:50:55Z kaori $
3  *
4  * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
5  * Copyright (c) 2002-2011, Professor Benoit Macq
6  * Copyright (c) 2010-2011, Kaori Hagihara
7  * All rights reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  * 2. Redistributions in binary form must reproduce the above copyright
15  *    notice, this list of conditions and the following disclaimer in the
16  *    documentation and/or other materials provided with the distribution.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 /*! \file
32  *  \brief test_index is a program to test the index code format of a JP2 file
33  *
34  *  \section impinst Implementing instructions
35  *  This program takes one argument, and print out text type index information to the terminal. \n
36  *   -# Input  JP2 file\n
37  *   % ./test_index input.jp2\n
38  */
39
40 #include <stdio.h>
41 #include <sys/types.h>
42 #include <sys/stat.h>
43 #include <fcntl.h>
44 #include <unistd.h>
45 #include "openjpip.h"
46
47 int
48 main(int argc, char *argv[])
49 {
50   int fd;
51   index_t *jp2idx;
52   
53   if( (fd = open( argv[1], O_RDONLY)) == -1){
54     fprintf( stderr, "Error: Target %s not found\n", argv[1]);
55     return -1;
56   }
57
58   if( !(jp2idx = get_index_from_JP2file( fd))){
59     fprintf( stderr, "JP2 file broken\n");
60     return -1;
61   }
62   
63   output_index( jp2idx);
64   destroy_index( &jp2idx);
65   close(fd);
66
67   return 0;
68 } /* main */