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/utilities/sid/name.c – 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
/*** name.c --- Name ADT.
32
 *
33
 ** Author: Steve Folkes <smf@hermes.mod.uk>
34
 *
35
 *** Commentary:
36
 *
37
 * This file implements the name manipulation routines.
38
 *
39
 *** Change Log:
40
 * $Log: name.c,v $
41
 * Revision 1.1.1.1  1998/01/17  15:57:46  release
42
 * First version to be checked into rolling release.
43
 *
44
 * Revision 1.2  1994/12/15  09:58:22  smf
45
 * Brought into line with OSSG C Coding Standards Document, as per
46
 * "CR94_178.sid+tld-update".
47
 *
48
 * Revision 1.1.1.1  1994/07/25  16:04:35  smf
49
 * Initial import of SID 1.8 non shared files.
50
 *
51
**/
52
 
53
/****************************************************************************/
54
 
55
#include "name.h"
56
 
57
/*--------------------------------------------------------------------------*/
58
 
59
NameP
60
name_create PROTO_Z ()
61
{
62
    NameP name = ALLOCATE (NameT);
63
 
64
    name->clash    = FALSE;
65
    name->used     = FALSE;
66
    name->labelled = FALSE;
67
    return (name);
68
}
69
 
70
BoolT
71
name_test_and_set_clash PROTO_N ((name))
72
			PROTO_T (NameP name)
73
{
74
    BoolT clash = name->clash;
75
 
76
    name->clash = TRUE;
77
    return (clash);
78
}
79
 
80
#ifdef FS_FAST
81
#undef name_reset_clash
82
#endif /* defined (FS_FAST) */
83
void
84
name_reset_clash PROTO_N ((name))
85
		 PROTO_T (NameP name)
86
{
87
    name->clash = FALSE;
88
}
89
#ifdef FS_FAST
90
#define name_reset_clash(n) ((n)->clash = FALSE)
91
#endif /* defined (FS_FAST) */
92
 
93
#ifdef FS_FAST
94
#undef name_is_used
95
#endif /* defined (FS_FAST) */
96
BoolT
97
name_is_used PROTO_N ((name))
98
	     PROTO_T (NameP name)
99
{
100
    return (name->used);
101
}
102
#ifdef FS_FAST
103
#define name_is_used(n) ((n)->used)
104
#endif /* defined (FS_FAST) */
105
 
106
#ifdef FS_FAST
107
#undef name_used
108
#endif /* defined (FS_FAST) */
109
void
110
name_used PROTO_N ((name))
111
	  PROTO_T (NameP name)
112
{
113
    name->used = TRUE;
114
}
115
#ifdef FS_FAST
116
#define name_used(n) ((n)->used = TRUE)
117
#endif /* defined (FS_FAST) */
118
 
119
#ifdef FS_FAST
120
#undef name_not_used
121
#endif /* defined (FS_FAST) */
122
void
123
name_not_used PROTO_N ((name))
124
	      PROTO_T (NameP name)
125
{
126
    name->used = FALSE;
127
}
128
#ifdef FS_FAST
129
#define name_not_used(n) ((n)->used = FALSE)
130
#endif /* defined (FS_FAST) */
131
 
132
#ifdef FS_FAST
133
#undef name_get_label
134
#endif /* defined (FS_FAST) */
135
unsigned
136
name_get_label PROTO_N ((name))
137
	       PROTO_T (NameP name)
138
{
139
    ASSERT (name->labelled);
140
    return (name->label);
141
}
142
#ifdef FS_FAST
143
#define name_get_label(n) ((n)->label)
144
#endif /* defined (FS_FAST) */
145
 
146
void
147
name_set_label PROTO_N ((name, label))
148
	       PROTO_T (NameP    name X
149
			unsigned label)
150
{
151
    name->labelled = TRUE;
152
    name->label    = label;
153
}
154
 
155
#ifdef FS_FAST
156
#undef name_reset_label
157
#endif /* defined (FS_FAST) */
158
void
159
name_reset_label PROTO_N ((name))
160
		 PROTO_T (NameP name)
161
{
162
    name->labelled = FALSE;
163
}
164
#ifdef FS_FAST
165
#define name_reset_label(n) ((n)->labelled = FALSE)
166
#endif /* defined (FS_FAST) */
167
 
168
#ifdef FS_FAST
169
#undef name_has_label
170
#endif /* defined (FS_FAST) */
171
BoolT
172
name_has_label PROTO_N ((name))
173
	       PROTO_T (NameP name)
174
{
175
    return (name->labelled);
176
}
177
#ifdef FS_FAST
178
#define name_has_label(n) ((n)->labelled)
179
#endif /* defined (FS_FAST) */
180
 
181
/*
182
 * Local variables(smf):
183
 * eval: (include::add-path-entry "../os-interface" "../library")
184
 * eval: (include::add-path-entry "../generated")
185
 * end:
186
**/