Subversion Repositories tendra.SVN

Rev

Rev 5 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 6
Line 1... Line 1...
1
/*
1
/*
2
    		 Crown Copyright (c) 1997
2
    		 Crown Copyright (c) 1997
3
    
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
11
    shall be deemed to be acceptance of the following conditions:-
12
    
12
 
13
        (1) Its Recipients shall ensure that this Notice is
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
14
        reproduced upon any copies or amended versions of it;
15
    
15
 
16
        (2) Any amended version of it shall be clearly marked to
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
18
        for the relevant amendment or amendments;
19
    
19
 
20
        (3) Its onward transfer from a recipient to another
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
22
        these conditions;
23
    
23
 
24
        (4) DERA gives no warranty or assurance as to its
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
27
        it may be put.
28
*/
28
*/
Line 35... Line 35...
35
#ifndef ENTRY_OPS_H_INCLUDED
35
#ifndef ENTRY_OPS_H_INCLUDED
36
#define ENTRY_OPS_H_INCLUDED
36
#define ENTRY_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union ENTRY */
38
/* Operations for union ENTRY */
39
 
39
 
40
#define TAG_entry( P )			( ( unsigned ) 0 )
40
#define TAG_entry(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component name of union ENTRY */
43
/* Operations for component name of union ENTRY */
44
 
44
 
45
#define entry_name( P )			( CHECK_NULL ( P ) + 0 )
45
#define entry_name(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for component alt_name of union ENTRY */
48
/* Operations for component alt_name of union ENTRY */
49
 
49
 
50
#define entry_alt_name( P )		( CHECK_NULL ( P ) + 1 )
50
#define entry_alt_name(P)		(CHECK_NULL(P) + 1)
51
 
51
 
52
 
52
 
53
/* Operations for component signature of union ENTRY */
53
/* Operations for component signature of union ENTRY */
54
 
54
 
55
#define entry_signature( P )		( CHECK_NULL ( P ) + 2 )
55
#define entry_signature(P)		(CHECK_NULL(P) + 2)
56
 
56
 
57
 
57
 
58
/* Operations for component use of union ENTRY */
58
/* Operations for component use of union ENTRY */
59
 
59
 
60
#define entry_use( P )			( CHECK_NULL ( P ) + 3 )
60
#define entry_use(P)			(CHECK_NULL(P) + 3)
61
 
61
 
62
 
62
 
63
/* Operations for component alt_use of union ENTRY */
63
/* Operations for component alt_use of union ENTRY */
64
 
64
 
65
#define entry_alt_use( P )		( CHECK_NULL ( P ) + 4 )
65
#define entry_alt_use(P)		(CHECK_NULL(P) + 4)
66
 
66
 
67
 
67
 
68
/* Operations for component props of union ENTRY */
68
/* Operations for component props of union ENTRY */
69
 
69
 
70
#define entry_props( P )		( CHECK_NULL ( P ) + 5 )
70
#define entry_props(P)			(CHECK_NULL(P) + 5)
71
 
71
 
72
 
72
 
73
/* Operations for component maps of union ENTRY */
73
/* Operations for component maps of union ENTRY */
74
 
74
 
75
#define entry_maps( P )			( CHECK_NULL ( P ) + 6 )
75
#define entry_maps(P)			(CHECK_NULL(P) + 6)
76
 
76
 
77
 
77
 
78
/* Operations for field basic of union ENTRY */
78
/* Operations for field basic of union ENTRY */
79
 
79
 
80
#define entry_basic_tag			( ( unsigned ) 0 )
80
#define entry_basic_tag			((unsigned)0)
81
#define IS_entry_basic( P )		1
81
#define IS_entry_basic(P)		1
82
 
82
 
83
 
83
 
84
#define MAKE_entry_basic( name_, alt_name_, signature_, use_, alt_use_, props_, maps_, errors_entry )\
84
#define MAKE_entry_basic(name_, alt_name_, signature_, use_, alt_use_, props_, maps_, errors_entry)\
85
    {\
85
    {\
86
	errors *x65_ = GEN_errors ( 7, TYPEID_entry ) ;\
86
	errors *x65_ = GEN_errors(7, TYPEID_entry);\
87
	COPY_string ( x65_ + 0, ( name_ ) ) ;\
87
	COPY_string(x65_ + 0, (name_));\
88
	COPY_string ( x65_ + 1, ( alt_name_ ) ) ;\
88
	COPY_string(x65_ + 1, (alt_name_));\
89
	COPY_list ( x65_ + 2, ( signature_ ) ) ;\
89
	COPY_list(x65_ + 2, (signature_));\
90
	COPY_name ( x65_ + 3, ( use_ ) ) ;\
90
	COPY_name(x65_ + 3, (use_));\
91
	COPY_name ( x65_ + 4, ( alt_use_ ) ) ;\
91
	COPY_name(x65_ + 4, (alt_use_));\
92
	COPY_list ( x65_ + 5, ( props_ ) ) ;\
92
	COPY_list(x65_ + 5, (props_));\
93
	COPY_list ( x65_ + 6, ( maps_ ) ) ;\
93
	COPY_list(x65_ + 6, (maps_));\
94
	( errors_entry ) = x65_ ;\
94
	(errors_entry) = x65_;\
95
    }
95
    }
96
 
96
 
97
#define DECONS_entry_basic( name_, alt_name_, signature_, use_, alt_use_, props_, maps_, errors_entry )\
97
#define DECONS_entry_basic(name_, alt_name_, signature_, use_, alt_use_, props_, maps_, errors_entry)\
98
    {\
98
    {\
99
	errors *x66_ = ( errors_entry ) ;\
99
	errors *x66_ = (errors_entry);\
100
	( name_ ) = DEREF_string ( x66_ + 0 ) ;\
100
	(name_) = DEREF_string(x66_ + 0);\
101
	( alt_name_ ) = DEREF_string ( x66_ + 1 ) ;\
101
	(alt_name_) = DEREF_string(x66_ + 1);\
102
	( signature_ ) = DEREF_list ( x66_ + 2 ) ;\
102
	(signature_) = DEREF_list(x66_ + 2);\
103
	( use_ ) = DEREF_name ( x66_ + 3 ) ;\
103
	(use_) = DEREF_name(x66_ + 3);\
104
	( alt_use_ ) = DEREF_name ( x66_ + 4 ) ;\
104
	(alt_use_) = DEREF_name(x66_ + 4);\
105
	( props_ ) = DEREF_list ( x66_ + 5 ) ;\
105
	(props_) = DEREF_list(x66_ + 5);\
106
	( maps_ ) = DEREF_list ( x66_ + 6 ) ;\
106
	(maps_) = DEREF_list(x66_ + 6);\
107
    }
107
    }
108
 
108
 
109
#define DESTROY_entry_basic( destroyer_, name_, alt_name_, signature_, use_, alt_use_, props_, maps_, errors_entry )\
109
#define DESTROY_entry_basic(destroyer_, name_, alt_name_, signature_, use_, alt_use_, props_, maps_, errors_entry)\
110
    {\
110
    {\
111
	errors *x67_ = ( errors_entry ) ;\
111
	errors *x67_ = (errors_entry);\
112
	( name_ ) = DEREF_string ( x67_ + 0 ) ;\
112
	(name_) = DEREF_string(x67_ + 0);\
113
	( alt_name_ ) = DEREF_string ( x67_ + 1 ) ;\
113
	(alt_name_) = DEREF_string(x67_ + 1);\
114
	( signature_ ) = DEREF_list ( x67_ + 2 ) ;\
114
	(signature_) = DEREF_list(x67_ + 2);\
115
	( use_ ) = DEREF_name ( x67_ + 3 ) ;\
115
	(use_) = DEREF_name(x67_ + 3);\
116
	( alt_use_ ) = DEREF_name ( x67_ + 4 ) ;\
116
	(alt_use_) = DEREF_name(x67_ + 4);\
117
	( props_ ) = DEREF_list ( x67_ + 5 ) ;\
117
	(props_) = DEREF_list(x67_ + 5);\
118
	( maps_ ) = DEREF_list ( x67_ + 6 ) ;\
118
	(maps_) = DEREF_list(x67_ + 6);\
119
	( destroyer_ ) ( x67_, ( unsigned ) 7 ) ;\
119
	(destroyer_)(x67_, (unsigned)7);\
120
    }
120
    }
121
 
121
 
122
 
122
 
123
#endif
123
#endif