1 #include "tst-main.c"
2
3 static const char *rf = __FILE__;
4
5 #define TST_FLAG(num, name, old, new) \
6 tmp_f = 0xF0F0F0F0; \
7 TST_B_TST(ret, (num), \
8 !(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_ ## name, &tmp_f))); \
9 TST_B_TST(ret, (num), \
10 !(tmp_f == (old))); \
11 TST_B_TST(ret, (num), \
12 !vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_ ## name, (new))); \
13 tmp_f = 0xF0F0F0F0; \
14 TST_B_TST(ret, (num), \
15 !(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_ ## name, &tmp_f))); \
16 TST_B_TST(ret, (num), \
17 !(tmp_f == (new)))
18
19 #define TST_CHR(num, name, old, new) \
20 tmp_c = 0xF; \
21 TST_B_TST(ret, (num), \
22 !(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_ ## name, &tmp_c) && \
23 tmp_c == (old))); \
24 TST_B_TST(ret, (num), \
25 !vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_ ## name, (new))); \
26 tmp_c = 0xF; \
27 TST_B_TST(ret, (num), \
28 !(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_ ## name, &tmp_c) && \
29 tmp_c == (new)))
30
31 #define TST_CSTR(num, name, old, new) \
32 TST_B_TST(ret, (num), \
33 !(!!vstr_cntl_conf(NULL, \
34 VSTR_CNTL_CONF_GET_ ## name, &tmp_pc) && \
35 !strcmp(tmp_pc, (old)))); \
36 TST_B_TST(ret, (num), \
37 !vstr_cntl_conf(NULL, \
38 VSTR_CNTL_CONF_SET_ ## name, (new))); \
39 TST_B_TST(ret, (num), \
40 !(!!vstr_cntl_conf(NULL, \
41 VSTR_CNTL_CONF_GET_ ## name, &tmp_pc) && \
42 !strcmp(tmp_pc, (new))))
43
44 #define TST_CSTR2(num, name, old, new, tst_new) \
45 TST_B_TST(ret, (num), \
46 !(!!vstr_cntl_conf(NULL, \
47 VSTR_CNTL_CONF_GET_ ## name, &tmp_pc) && \
48 !strcmp(tmp_pc, (old)))); \
49 TST_B_TST(ret, (num), \
50 !vstr_cntl_conf(NULL, \
51 VSTR_CNTL_CONF_SET_ ## name, (new))); \
52 TST_B_TST(ret, (num), \
53 !(!!vstr_cntl_conf(NULL, \
54 VSTR_CNTL_CONF_GET_ ## name, &tmp_pc) && \
55 !strcmp(tmp_pc, (tst_new))))
56
57 #define TST_REF(num, name, old, new) do { \
58 Vstr_ref *tmp_ref = NULL; size_t len = 0; \
59 TST_B_TST(ret, (num), \
60 !(!!vstr_cntl_conf(NULL, \
61 VSTR_CNTL_CONF_GET_ ## name, \
62 &tmp_ref, &len) && \
63 !strcmp(tmp_ref->ptr, (old)))); \
64 vstr_ref_del(tmp_ref); \
65 tmp_ref = vstr_ref_make_strdup(new); ASSERT(tmp_ref); \
66 TST_B_TST(ret, (num), \
67 !vstr_cntl_conf(NULL, \
68 VSTR_CNTL_CONF_SET_ ## name, \
69 tmp_ref, strlen(tmp_ref->ptr))); \
70 vstr_ref_del(tmp_ref); \
71 TST_B_TST(ret, (num), \
72 !(!!vstr_cntl_conf(NULL, \
73 VSTR_CNTL_CONF_GET_ ## name, \
74 &tmp_ref, &len) && \
75 !strcmp(tmp_ref->ptr, (new)))); \
76 vstr_ref_del(tmp_ref); \
77 } while (FALSE)
78
79 #define TST_NUM_REF(num, name, num_base, old, new) do { \
80 Vstr_ref *tmp_ref = NULL; size_t len = 0; \
81 TST_B_TST(ret, (num), \
82 !(!!vstr_cntl_conf(NULL, \
83 VSTR_CNTL_CONF_GET_ ## name, (num_base), \
84 &tmp_ref, &len) && \
85 !strcmp(tmp_ref->ptr, (old)))); \
86 vstr_ref_del(tmp_ref); \
87 tmp_ref = vstr_ref_make_strdup(new); ASSERT(tmp_ref); \
88 TST_B_TST(ret, (num), \
89 !vstr_cntl_conf(NULL, \
90 VSTR_CNTL_CONF_SET_ ## name, \
91 (num_base), tmp_ref, strlen(tmp_ref->ptr))); \
92 vstr_ref_del(tmp_ref); \
93 TST_B_TST(ret, (num), \
94 !(!!vstr_cntl_conf(NULL, \
95 VSTR_CNTL_CONF_GET_ ## name, (num_base), \
96 &tmp_ref, &len) && \
97 !strcmp(tmp_ref->ptr, (new)))); \
98 vstr_ref_del(tmp_ref); \
99 } while (FALSE)
100
tst(void)101 int tst(void)
102 {
103 int ret = 0;
104 int tmp_f = FALSE;
105 unsigned int tmp_t = 0;
106 char tmp_c = 0;
107 char *tmp_pc = NULL;
108 Vstr_conf *tmp_cnf = NULL;
109 int mfail_count = 0;
110
111 TST_FLAG( 1, FLAG_ATOMIC_OPS, TRUE, FALSE);
112 TST_FLAG( 2, FLAG_DEL_SPLIT, FALSE, TRUE);
113 TST_FLAG( 3, FLAG_IOV_UPDATE, TRUE, FALSE);
114 TST_CHR( 5, FMT_CHAR_ESC, 0, '$');
115
116 TST_CSTR( 6, LOC_CSTR_DEC_POINT, ".", "->");
117 TST_CSTR( 7, LOC_CSTR_NAME_NUMERIC, "C", "James");
118 TST_CSTR2( 8, LOC_CSTR_THOU_GRP, "", "\1\2\3\255abcd", "\1\2\3\255");
119 TST_CSTR( 9, LOC_CSTR_THOU_SEP, "", "<->");
120
121 TST_B_TST(ret, 10, !vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_REF, &tmp_f));
122 TST_B_TST(ret, 11, (tmp_f != 2));
123 TST_B_TST(ret, 12, !vstr_cntl_conf(s1->conf, VSTR_CNTL_CONF_GET_NUM_REF, &tmp_f));
124 TST_B_TST(ret, 13, (tmp_f != 2));
125 TST_B_TST(ret, 14, !vstr_cntl_base(s1, VSTR_CNTL_BASE_GET_CONF, &tmp_cnf));
126 TST_B_TST(ret, 15, !vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_REF, &tmp_f));
127 TST_B_TST(ret, 16, (tmp_f != 3));
128 TST_B_TST(ret, 17, !vstr_cntl_conf(s1->conf, VSTR_CNTL_CONF_GET_NUM_REF, &tmp_f));
129 TST_B_TST(ret, 18, (tmp_f != 3));
130 vstr_free_conf(tmp_cnf);
131 TST_B_TST(ret, 15, !vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_REF, &tmp_f));
132 TST_B_TST(ret, 16, (tmp_f != 2));
133 TST_B_TST(ret, 20, !vstr_cntl_base(s1, VSTR_CNTL_BASE_SET_CONF, NULL));
134
135 TST_NUM_REF(21, LOC_REF_DEC_POINT, 10, "->", "Foo1");
136 TST_NUM_REF(21, LOC_REF_DEC_POINT, 11, "->", "Foo2");
137 TST_NUM_REF(21, LOC_REF_DEC_POINT, 0, "->", "Foo3");
138 TST_NUM_REF(21, LOC_REF_DEC_POINT, 8, "Foo3", "Foo4");
139 TST_NUM_REF(21, LOC_REF_DEC_POINT, 11, "Foo2", "Foo8");
140 TST_NUM_REF(21, LOC_REF_THOU_GRP, 11, "\1\2\3\255", "\2");
141 TST_NUM_REF(21, LOC_REF_THOU_SEP, 0, "<->", "<-->");
142
143 TST_REF(21, LOC_REF_NAME_NUMERIC, "James", "FooBar");
144 TST_REF(21, LOC_REF_NULL_PTR, "(null)", "abcd");
145
146 #define MFAIL_TST_CSTR(name, val) \
147 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_ ## name, val)
148
149 do
150 {
151 tst_mfail_num(++mfail_count);
152 } while (!MFAIL_TST_CSTR(LOC_CSTR_DEC_POINT, "abcd") ||
153 !MFAIL_TST_CSTR(LOC_CSTR_NAME_NUMERIC, "abcd") ||
154 !MFAIL_TST_CSTR(LOC_CSTR_THOU_GRP, "abcd") ||
155 !MFAIL_TST_CSTR(LOC_CSTR_THOU_SEP, "abcd"));
156
157 tst_mfail_num(0);
158
159 TST_CSTR( 26, LOC_CSTR_DEC_POINT, "abcd", "->");
160 TST_CSTR( 27, LOC_CSTR_NAME_NUMERIC, "abcd", "James");
161 TST_CSTR( 28, LOC_CSTR_THOU_GRP, "abcd", "\1\2\3\255");
162 TST_CSTR( 29, LOC_CSTR_THOU_SEP, "abcd", "<->");
163
164 #ifndef USE_RESTRICTED_HEADERS
165 mfail_count = 0;
166 do
167 {
168 tst_mfail_num(++mfail_count);
169 } while (!MFAIL_TST_CSTR(LOC_CSTR_AUTO_NAME_NUMERIC, "en_US"));
170 #endif
171
172 mfail_count = 0;
173 do
174 {
175 vstr_free_spare_nodes(s1->conf, VSTR_TYPE_NODE_PTR, 1000);
176 tst_mfail_num(++mfail_count);
177 } while (!MFAIL_TST_CSTR(NUM_SPARE_PTR, 4));
178
179 tst_mfail_num(0);
180
181 MFAIL_TST_CSTR(NUM_SPARE_PTR, 0);
182
183
184 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_FLAG_ALLOC_CACHE, FALSE);
185 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
186 tmp_f == FALSE);
187 ASSERT(!!vstr_cntl_conf(NULL,
188 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
189 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE));
190 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_FLAG_ALLOC_CACHE, FALSE);
191 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
192 tmp_f == FALSE);
193 ASSERT(!!vstr_cntl_conf(NULL,
194 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
195 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE));
196 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_FLAG_ALLOC_CACHE, TRUE);
197 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
198 tmp_f == TRUE);
199 ASSERT(!!vstr_cntl_conf(NULL,
200 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
201 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_POS));
202 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_FLAG_ALLOC_CACHE, TRUE);
203 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
204 tmp_f == TRUE);
205 ASSERT(!!vstr_cntl_conf(NULL,
206 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
207 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_POS));
208
209 /* none */
210 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
211 VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE);
212 ASSERT(!!vstr_cntl_conf(NULL,
213 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
214 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE));
215 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
216 tmp_f == FALSE);
217 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
218 VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE);
219 ASSERT(!!vstr_cntl_conf(NULL,
220 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
221 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE));
222 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
223 tmp_f == FALSE);
224 #define TST_RANGE() \
225 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
226 (tmp_t == 0)); \
227 vstr_free_base(s1); \
228 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
229 (tmp_t == 0)); \
230 vstr_free_base(vstr_make_base(NULL)); \
231 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
232 (tmp_t == 1)); \
233 vstr_free_base(vstr_make_base(NULL)); \
234 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
235 (tmp_t == 1)); \
236 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_NUM_RANGE_SPARE_BASE, 0, 0); \
237 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
238 (tmp_t == 0)); \
239 vstr_free_base(vstr_make_base(NULL)); \
240 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
241 (tmp_t == 1)); \
242 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_NUM_RANGE_SPARE_BASE, 3, 6); \
243 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
244 (tmp_t == 3)); \
245 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_NUM_RANGE_SPARE_BASE, 3, 6); \
246 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
247 (tmp_t == 3)); \
248 vstr_free_base(vstr_make_base(NULL)); \
249 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_NUM_SPARE_BASE, &tmp_t) && \
250 (tmp_t == 3)); \
251 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_NUM_RANGE_SPARE_BASE, 1, 2); \
252 vstr_free_base(vstr_make_base(NULL)); \
253 s1 = vstr_dup_cstr_ptr(NULL, "XXXXXXXXXX"); \
254 vstr_add_cstr_ptr(s1, s1->len, "XXXXXXXXXX"); \
255 vstr_add_cstr_ptr(s1, s1->len, "XXXXXXXXXX"); \
256 vstr_add_cstr_ptr(s1, s1->len, "XXXXXXXXXX"); \
257 ASSERT(s1->len == 40); \
258 if (tmp_f) \
259 { \
260 struct iovec *iov = NULL; \
261 unsigned int num = 0; \
262 ASSERT(!strcmp(vstr_export_cstr_ptr(s1, 1, s1->len), \
263 "XXXXXXXXXX" "XXXXXXXXXX" "XXXXXXXXXX" "XXXXXXXXXX")); \
264 vstr_export_iovec_ptr_all(s1, &iov, &num); \
265 ASSERT(num == 4); \
266 ASSERT(!strcmp(iov[0].iov_base, "XXXXXXXXXX")); \
267 ASSERT(!strcmp(iov[1].iov_base, "XXXXXXXXXX")); \
268 ASSERT(!strcmp(iov[2].iov_base, "XXXXXXXXXX")); \
269 ASSERT(!strcmp(iov[3].iov_base, "XXXXXXXXXX")); \
270 } \
271 vstr_add_cstr_ptr(s1, s1->len, "a"); \
272 ASSERT(s1->len == 41); \
273 ASSERT(vstr_cmp_cstr_eq(s1, 21, 20, \
274 "XXXXXXXXXX" "XXXXXXXXXX")); \
275 ASSERT(vstr_cmp_cstr_eq(s1, 1, s1->len, \
276 "XXXXXXXXXX" "XXXXXXXXXX" "XXXXXXXXXX" "XXXXXXXXXX" "a"))
277
278
279 TST_RANGE();
280 ASSERT(!!vstr_cntl_base(s1,
281 VSTR_CNTL_BASE_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
282 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_NONE));
283
284 /* pos */
285 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
286 VSTR_TYPE_CNTL_CONF_GRPALLOC_POS);
287 ASSERT(!!vstr_cntl_conf(NULL,
288 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
289 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_POS));
290 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
291 tmp_f == TRUE);
292 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
293 VSTR_TYPE_CNTL_CONF_GRPALLOC_POS);
294 ASSERT(!!vstr_cntl_conf(NULL,
295 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
296 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_POS));
297 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
298 tmp_f == TRUE);
299 TST_RANGE();
300 ASSERT(!!vstr_cntl_base(s1,
301 VSTR_CNTL_BASE_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
302 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_POS));
303
304 /* iovec */
305 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
306 VSTR_TYPE_CNTL_CONF_GRPALLOC_IOVEC);
307 ASSERT(!!vstr_cntl_conf(NULL,
308 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
309 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_IOVEC));
310 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
311 tmp_f == TRUE);
312 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
313 VSTR_TYPE_CNTL_CONF_GRPALLOC_IOVEC);
314 ASSERT(!!vstr_cntl_conf(NULL,
315 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
316 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_IOVEC));
317 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
318 tmp_f == TRUE);
319 TST_RANGE();
320 ASSERT(!!vstr_cntl_base(s1,
321 VSTR_CNTL_BASE_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
322 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_IOVEC));
323
324 /* cstr */
325 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
326 VSTR_TYPE_CNTL_CONF_GRPALLOC_CSTR);
327 ASSERT(!!vstr_cntl_conf(NULL,
328 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
329 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_CSTR));
330 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
331 tmp_f == TRUE);
332 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_TYPE_GRPALLOC_CACHE,
333 VSTR_TYPE_CNTL_CONF_GRPALLOC_CSTR);
334 ASSERT(!!vstr_cntl_conf(NULL,
335 VSTR_CNTL_CONF_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
336 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_CSTR));
337 ASSERT(!!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_GET_FLAG_ALLOC_CACHE, &tmp_f) &&
338 tmp_f == TRUE);
339 TST_RANGE();
340 ASSERT(!!vstr_cntl_base(s1,
341 VSTR_CNTL_BASE_GET_TYPE_GRPALLOC_CACHE, &tmp_t) &&
342 (tmp_t == VSTR_TYPE_CNTL_CONF_GRPALLOC_CSTR));
343
344 vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_NUM_RANGE_SPARE_BASE, 1, 1);
345 if (MFAIL_NUM_OK)
346 {
347 tst_mfail_num(1);
348
349 ASSERT(!vstr_cntl_conf(NULL, VSTR_CNTL_CONF_SET_NUM_RANGE_SPARE_BASE, 2, 2));
350 }
351
352 return (TST_B_RET(ret));
353 }
354 /* Crap for tst_coverage constants....
355 *
356 * VSTR_CNTL_CONF_GET_FLAG_ATOMIC_OPS
357 * VSTR_CNTL_CONF_SET_FLAG_ATOMIC_OPS
358 *
359 * VSTR_CNTL_CONF_GET_FLAG_DEL_SPLIT
360 * VSTR_CNTL_CONF_SET_FLAG_DEL_SPLIT
361 *
362 * VSTR_CNTL_CONF_GET_FLAG_IOV_UPDATE
363 * VSTR_CNTL_CONF_SET_FLAG_IOV_UPDATE
364 *
365 * VSTR_CNTL_CONF_GET_FMT_CHAR_ESC
366 * VSTR_CNTL_CONF_SET_FMT_CHAR_ESC
367 *
368 * VSTR_CNTL_CONF_GET_LOC_CSTR_DEC_POINT
369 * VSTR_CNTL_CONF_SET_LOC_CSTR_DEC_POINT
370 *
371 * VSTR_CNTL_CONF_GET_LOC_CSTR_NAME_NUMERIC
372 * VSTR_CNTL_CONF_SET_LOC_CSTR_NAME_NUMERIC
373 *
374 * VSTR_CNTL_CONF_GET_LOC_CSTR_THOU_GRP
375 * VSTR_CNTL_CONF_SET_LOC_CSTR_THOU_GRP
376 *
377 * VSTR_CNTL_CONF_GET_LOC_CSTR_THOU_SEP
378 * VSTR_CNTL_CONF_SET_LOC_CSTR_THOU_SEP
379 *
380 * VSTR_CNTL_CONF_GET_LOC_REF_DEC_POINT
381 * VSTR_CNTL_CONF_GET_LOC_REF_NAME_NUMERIC
382 * VSTR_CNTL_CONF_GET_LOC_REF_NULL_PTR
383 * VSTR_CNTL_CONF_GET_LOC_REF_THOU_GRP
384 * VSTR_CNTL_CONF_GET_LOC_REF_THOU_SEP
385 * VSTR_CNTL_CONF_SET_LOC_REF_DEC_POINT
386 * VSTR_CNTL_CONF_SET_LOC_REF_NAME_NUMERIC
387 * VSTR_CNTL_CONF_SET_LOC_REF_THOU_GRP
388 *
389 * VSTR_CNTL_CONF_GET_NUM_BUF_SZ
390 *
391 */
392