1 /**********
2 *
3 * Copyright (c) 2003, Division of Imaging Science and Biomedical Engineering,
4 * University of Manchester, UK. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without modification,
7 * are permitted provided that the following conditions are met:
8 *
9 * . Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 *
12 * . Redistributions in binary form must reproduce the above copyright notice,
13 * this list of conditions and the following disclaimer in the documentation
14 * and/or other materials provided with the distribution.
15 *
16 * . Neither the name of the University of Manchester nor the names of its
17 * contributors may be used to endorse or promote products derived from this
18 * software without specific prior written permission.
19 *
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 *
33 **********
34 *
35 * Program : TINA
36 * File : $Source: /home/tina/cvs/tina-libs/tina/sys/sys_LstDef.h,v $
37 * Date : $Date: 2003/09/22 16:09:02 $
38 * Version : $Revision: 1.2 $
39 * CVS Id : $Id: sys_LstDef.h,v 1.2 2003/09/22 16:09:02 tony Exp $
40 *
41 * Notes :
42 *
43 *********
44 */
45
46 #ifndef TINA_SYS_LST_DEF_HDR
47 #define TINA_SYS_LST_DEF_HDR
48
49 #include <tina/sys/sys_GenDef.h>
50
51
52 typedef struct list /* generic list type for all simple list structures */
53 {
54 Ts_id ts_id; /* Tina structure identifier */
55 int type;
56 struct list *next;
57 struct list *last;
58 void *to;
59 }
60 List;
61 #define LIST_SWAP_STRING "ippp"
62
63 typedef struct ddlist /* generic double dircted list type */
64 {
65 Ts_id ts_id; /* Tina structure identifier */
66 int type;
67 struct ddlist *next;
68 struct ddlist *last;
69 void *to;
70 }
71 Ddlist;
72 #define DDLIST_SWAP_STRING "ippp"
73
74 typedef struct tstring /* defining arbitary strings */
75 {
76 Ts_id ts_id; /* Tina structure identifier */
77 int type;
78 struct list *start;
79 struct list *end;
80 int count;
81 struct list *props; /* user definable properties */
82 }
83 Tstring;
84 #define TSTRING_SWAP_STRING "ippip"
85
86 typedef struct prop /* a structure used to maintain property like lists */
87 {
88 Ts_id ts_id; /* Tina structure identifier */
89 int type;
90 int count; /* the number of references through this prop */
91 void (*freefunc) ();
92 void *to; /* must be suitably cast */
93 }
94 Prop;
95 #define PROP_SWAP_STRING "iiwp"
96
97
98 typedef struct match /* a genericly defined matching structure */
99 {
100 Ts_id ts_id; /* Tina structure identifier */
101 int type;
102 int label;
103 float weight;
104 void *to1;
105 void *to2;
106 struct list *props;
107 } Match;
108 #define MATCH_SWAP_STRING "iifppp"
109
110
111 #endif /* TINA_SYS_LST_DEF_HDR */
112
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.