Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – tendra.SVN – Blame – //branches/tendra4/src/tools/pl/units.h – Rev 2

Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
/**********************************************************************
32
$Author: release $
33
$Date: 1998/02/04 10:46:41 $
34
$Revision: 1.2 $
35
$Log: units.h,v $
36
 * Revision 1.2  1998/02/04  10:46:41  release
37
 * Changes during testing.
38
 *
39
 * Revision 1.1.1.1  1998/01/17  15:57:25  release
40
 * First version to be checked into rolling release.
41
 *
42
 * Revision 1.2  1995/09/04  10:29:26  currie
43
 * tld units instead of tld2
44
 *
45
 * Revision 1.1  1995/04/07  14:29:07  currie
46
 * Initial revision
47
 *
48
 * Revision 1.1  1995/04/07  14:29:07  currie
49
 * Initial revision
50
 *
51
 * Revision 1.2  1994/07/21  10:36:42  currie
52
 * Added banner
53
 *
54
***********************************************************************/
55
#ifndef UNITS_INCLUDED
56
#define UNITS_INCLUDED
57
 
58
#include "streams.h"
59
 
60
#define NO_OF_ENTITIES 3
61
#define tag_ent 1
62
#define tok_ent 0
63
#define al_tag_ent 2
64
 
65
#define NO_OF_UNITS 7
66
#define tld2_unit 0
67
#define version_unit 1
68
#define tokdec_unit 2
69
#define tokdef_unit 3
70
#define al_tagdef_unit 4
71
#define tagdec_unit 5
72
#define tagdef_unit 6
73
 
74
 
75
 
76
typedef struct Link_struct{
77
		struct Link_struct * next;
78
		int unit_name;
79
		int capsule_name;
80
	} Link;
81
 
82
 
83
 
84
typedef struct{ TDF tdf; 
85
		int no_labs;
86
		int no_entity[NO_OF_ENTITIES];
87
		Link * links[NO_OF_ENTITIES];
88
		int present; 
89
	      } Unit;
90
 
91
typedef struct TDFlist_struct{ TDF t; struct TDFlist_struct * next;}
92
		TDFlist;
93
 
94
typedef struct{ int unit_name; int unit_no; } Name;
95
 
96
extern FILE *out_file ;
97
extern int line_no_tok;
98
extern Unit units[NO_OF_UNITS];
99
extern int current_Unit;
100
extern int capsule_names[NO_OF_ENTITIES];
101
extern TDF lk_externs[NO_OF_ENTITIES];
102
extern char * ent_names[NO_OF_ENTITIES];
103
extern char * unit_names[NO_OF_UNITS];
104
extern Name * tokforintsh PROTO_S((Bool issigned));
105
extern Name * tokforlongsh PROTO_S((Bool issigned));
106
extern Name * tokforshortsh PROTO_S((Bool issigned));
107
extern Name * tokforcharsh PROTO_S((Bool issigned));
108
extern Name * tokforfloatsh PROTO_S((void));
109
extern Name * tokfordoublesh PROTO_S((void));
110
#define SELECT_UNIT(x) current_TDF = &units[x].tdf; current_Unit = x;\
111
			units[x].present = 1;
112
#define INIT_TDF(x) (x)->first = (x)->last = create_chunk();\
113
		    (x)->no = 0; (x)->sort = 0;
114
#define SET_TDF(hold, x) hold = current_TDF; INIT_TDF(x); current_TDF = x;
115
#define RESET_TDF(hold) current_TDF = hold;
116
#define INC_LIST current_TDF->no++
117
 
118
extern int next_label PROTO_S((void));
119
extern Name next_name PROTO_S((int ent));
120
extern int next_unit_name PROTO_S((int ent));
121
extern int next_capsule_name PROTO_S((int ent));
122
extern int capsule_name PROTO_S((Name * n, int ent));
123
extern int non_local PROTO_S((Name * n, int ent));
124
extern void make_tag PROTO_S((Name * n));
125
extern void make_tok PROTO_S((Name * n));
126
extern void make_al_tag PROTO_S((Name * n));
127
extern void make_unit PROTO_S((int unit_no));
128
extern long local_name PROTO_S((Name * n, int ent));
129
extern int cname_to_lname PROTO_S((int c_name, int ent));
130
extern void FILENAME PROTO_S((void));
131
extern void init_units PROTO_S((void));
132
extern void make_tdf_file PROTO_S((TDF * s, FILE * out_file));
133
 
134
 
135
#endif