OpenJPEG  2.0.0
target_manager.h
Go to the documentation of this file.
1 /*
2  * $Id: target_manager.h 2209 2012-11-15 14:43:50Z savmickael $
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 #ifndef TARGET_MANAGER_H_
32 # define TARGET_MANAGER_H_
33 
34 #include "index_manager.h"
35 
37 #define MAX_LENOFTID 30
38 
40 typedef struct target_param{
41  char tid[MAX_LENOFTID];
42  char *targetname;
43  int fd;
44 #ifdef SERVER
45  char *tmpfname;
46 #endif
47  int csn;
49  int num_of_use;
52  struct target_param *next;
54 
55 
57 typedef struct targetlist_param{
61 
62 
63 
70 
71 
79 target_param_t * gene_target( targetlist_param_t *targetlist, char *targetpath);
80 
81 
88 void refer_target( target_param_t *reftarget, target_param_t **ptr);
89 
90 
96 void unrefer_target( target_param_t *target);
97 
103 void delete_target( target_param_t **target);
104 
105 
112 void delete_target_in_list( target_param_t **target, targetlist_param_t *targetlist);
113 
114 
120 void delete_targetlist(targetlist_param_t **targetlist);
121 
122 
128 void print_target( target_param_t *target);
129 
135 void print_alltarget( targetlist_param_t *targetlist);
136 
137 
145 target_param_t * search_target( const char targetname[], targetlist_param_t *targetlist);
146 
147 
155 target_param_t * search_targetBytid( const char tid[], targetlist_param_t *targetlist);
156 
157 #endif /* !TARGET_MANAGER_H_ */
158