9330 stack overflow when creating a deeply nested dataset
[unleashed.git] / usr / src / man / man3c / confstr.3c
blob06d5ad93aed1ab449006ef8d56e41c757e4c99f8
1 .\"
2 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for
3 .\" permission to reproduce portions of its copyrighted documentation.
4 .\" Original documentation from The Open Group can be obtained online at
5 .\" http://www.opengroup.org/bookstore/.
6 .\"
7 .\" The Institute of Electrical and Electronics Engineers and The Open
8 .\" Group, have given us permission to reprint portions of their
9 .\" documentation.
10 .\"
11 .\" In the following statement, the phrase ``this text'' refers to portions
12 .\" of the system documentation.
13 .\"
14 .\" Portions of this text are reprinted and reproduced in electronic form
15 .\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition,
16 .\" Standard for Information Technology -- Portable Operating System
17 .\" Interface (POSIX), The Open Group Base Specifications Issue 6,
18 .\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics
19 .\" Engineers, Inc and The Open Group.  In the event of any discrepancy
20 .\" between these versions and the original IEEE and The Open Group
21 .\" Standard, the original IEEE and The Open Group Standard is the referee
22 .\" document.  The original Standard can be obtained online at
23 .\" http://www.opengroup.org/unix/online.html.
24 .\"
25 .\" This notice shall appear on any product containing this material.
26 .\"
27 .\" The contents of this file are subject to the terms of the
28 .\" Common Development and Distribution License (the "License").
29 .\" You may not use this file except in compliance with the License.
30 .\"
31 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
32 .\" or http://www.opensolaris.org/os/licensing.
33 .\" See the License for the specific language governing permissions
34 .\" and limitations under the License.
35 .\"
36 .\" When distributing Covered Code, include this CDDL HEADER in each
37 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
38 .\" If applicable, add the following below this CDDL HEADER, with the
39 .\" fields enclosed by brackets "[]" replaced with your own identifying
40 .\" information: Portions Copyright [yyyy] [name of copyright owner]
41 .\"
42 .\"
43 .\" Copyright (c) 1992, X/Open Company Limited. All Rights Reserved.
44 .\" Portions Copyright (c) 2003, Sun Microsystems, Inc.  All Rights Reserved.
45 .\"
46 .TH CONFSTR 3C "Dec 15, 2003"
47 .SH NAME
48 confstr \- get configurable variables
49 .SH SYNOPSIS
50 .LP
51 .nf
52 #include <unistd.h>
54 \fBsize_t\fR \fBconfstr\fR(\fBint\fR \fIname\fR, \fBchar *\fR\fIbuf\fR, \fBsize_t\fR \fIlen\fR);
55 .fi
57 .SH DESCRIPTION
58 .sp
59 .LP
60 The \fBconfstr()\fR function provides a method for applications to get
61 configuration-defined string values.  Its use and purpose are similar to the
62 \fBsysconf\fR(3C) function, but it is used where string values rather than
63 numeric values are returned.
64 .sp
65 .LP
66 The \fIname\fR argument represents the system variable to be queried.
67 .sp
68 .LP
69 If \fIlen\fR is not \fB0\fR, and if \fIname\fR has a configuration-defined
70 value, \fBconfstr()\fR copies that value into the  \fIlen\fR-byte buffer
71 pointed to by \fIbuf\fR. If the string to be returned is longer than \fIlen\fR
72 bytes, including the terminating null, then \fBconfstr()\fR truncates the
73 string to  \fIlen\fR\(mi1 bytes and null-terminates the result. The application
74 can detect that the string was truncated by comparing the value returned by
75 \fBconfstr()\fR with \fIlen\fR.
76 .sp
77 .LP
78 If \fIlen\fR is \fB0\fR, \fBconfstr()\fR still returns the integer value as
79 defined below, but does not return the string.
80 .sp
81 .LP
82 The \fBconfstr()\fR function supports the following values for \fIname\fR,
83 defined in \fB<unistd.h>\fR, for both SPARC and x86:
84 .sp
85 .ne 2
86 .na
87 \fB\fB_CS_LFS64_CFLAGS\fR\fR
88 .ad
89 .sp .6
90 .RS 4n
91 If \fB_LFS64_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
92 of initial options to be given to the \fBcc\fR and \fBc89\fR utilities to build
93 an application using the Large File Summit transitional compilation environment
94 (see \fBlfcompile64\fR(5)).
95 .RE
97 .sp
98 .ne 2
99 .na
100 \fB\fB_CS_LFS64_LDFLAGS\fR\fR
102 .sp .6
103 .RS 4n
104 If \fB_LFS64_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
105 of final options to be given to the \fBcc\fR and \fBc89\fR utilities to build
106 an application using the Large File Summit transitional compilation environment
107 (see \fBlfcompile64\fR(5)).
111 .ne 2
113 \fB\fB_CS_LFS64_LIBS\fR\fR
115 .sp .6
116 .RS 4n
117 If \fB_LFS64_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
118 of libraries to be given to the \fBcc\fR and \fBc89\fR utilities to build an
119 application using the Large File Summit transitional compilation environment
120 (see \fBlfcompile64\fR(5)).
124 .ne 2
126 \fB\fB_CS_LFS64_LINTFLAGS\fR\fR
128 .sp .6
129 .RS 4n
130 If \fB_LFS64_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
131 of options to be given to the \fBlint\fR utility to check application source
132 using the Large File Summit transitional compilation environment (see
133 \fBlfcompile64\fR(5)).
137 .ne 2
139 \fB\fB_CS_LFS_CFLAGS\fR\fR
141 .sp .6
142 .RS 4n
143 If \fB_LFS_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
144 of initial options to be given to the \fBcc\fR and \fBc89\fR utilities to build
145 an application using the Large File Summit large file compilation environment
146 for 32-bit applications (see \fBlfcompile\fR(5)).
150 .ne 2
152 \fB\fB_CS_LFS_LDFLAGS\fR\fR
154 .sp .6
155 .RS 4n
156 If \fB_LFS_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
157 of final options to be given to the \fBcc\fR and \fBc89\fR utilities to build
158 an application using the Large File Summit large file compilation environment
159 for 32-bit applications (see \fBlfcompile\fR(5)).
163 .ne 2
165 \fB\fB_CS_LFS_LIBS\fR\fR
167 .sp .6
168 .RS 4n
169 If \fB_LFS_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
170 of libraries to be given to the \fBcc\fR and \fBc89\fR utilities to build an
171 application using the Large File Summit large file compilation environment for
172 32-bit applications (see \fBlfcompile\fR(5)).
176 .ne 2
178 \fB\fB_CS_LFS_LINTFLAGS\fR\fR
180 .sp .6
181 .RS 4n
182 If \fB_LFS_LARGEFILE\fR is defined in \fB<unistd.h>\fR, this value is the set
183 of options to be given to the \fBlint\fR utility to check application source
184 using the Large File Summit large file compilation environment for 32-bit
185 applications (see \fBlfcompile\fR(5)).
189 .ne 2
191 \fB\fB_CS_PATH\fR\fR
193 .sp .6
194 .RS 4n
195 If the ISO POSIX.2 standard is supported, this is the value for the \fBPATH\fR
196 environment variable that finds all standard utilities.  Otherwise the meaning
197 of this value is unspecified.
201 .ne 2
203 \fB\fB_CS_POSIX_V6_ILP32_OFF32_CFLAGS\fR\fR
205 .sp .6
206 .RS 4n
207 If \fBsysconf\fR(\fB_SC_V6_ILP32_OFF32\fR) returns -1, the meaning of this
208 value is unspecified.  Otherwise, this value is the set of initial options to
209 be given to the \fBc99\fR utility to build an application using a programming
210 model with 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
214 .ne 2
216 \fB\fB_CS_POSIX_V6_ILP32_OFF32_LDFLAGS\fR\fR
218 .sp .6
219 .RS 4n
220 If \fBsysconf\fR(\fB_SC_V6_ILP32_OFF32\fR) returns -1, the meaning of this
221 value is unspecified. Otherwise, this value is the set of final options to be
222 given to the \fBc99\fR utility to build an application using a programming
223 model with 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
227 .ne 2
229 \fB\fB_CS_POSIX_V6_ILP32_OFF32_LIBS\fR\fR
231 .sp .6
232 .RS 4n
233 If \fBsysconf\fR(\fB_SC_V6_ILP32_OFF32\fR) returns -1, the meaning of this
234 value is unspecified. Otherwise, this value is the set of libraries to be given
235 to the \fBc99\fR utility to build an application using a programming model with
236 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
240 .ne 2
242 \fB\fB_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS\fR\fR
244 .sp .6
245 .RS 4n
246  If \fBsysconf\fR(\fB_SC_V6_ILP32_OFFBIG\fR) returns -1, the meaning of this
247 value is unspecified. Otherwise, this value is the set of initial options to be
248 given to the \fBc99\fR utility to build an application using a programming
249 model with 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types, and an
250 \fBoff_t\fR type using at least 64 bits.
254 .ne 2
256 \fB\fB_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS\fR\fR
258 .sp .6
259 .RS 4n
260 If \fBsysconf\fR(\fB_SC_V6_ILP32_OFFBIG\fR) returns -1, the meaning of this
261 value is unspecified. Otherwise, this value is the set of final options to be
262 given to the \fBc99\fR utility to build an application using a programming
263 model with 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types, and an
264 \fBoff_t\fR type using at least 64 bits.
268 .ne 2
270 \fB\fB_CS_POSIX_V6_ILP32_OFFBIG_LIBS\fR\fR
272 .sp .6
273 .RS 4n
274 If \fBsysconf\fR(\fB_SC_V6_ILP32_OFFBIG\fR) returns -1, the meaning of this
275 value is unspecified. Otherwise, this value is the set of libraries to be given
276 to the \fBc99\fR utility to build an application using a programming model with
277 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types, and an \fBoff_t\fR type
278 using at least 64 bits.
282 .ne 2
284 \fB\fB_CS_POSIX_V6_LP64_OFF64_CFLAGS\fR\fR
286 .sp .6
287 .RS 4n
288 If \fBsysconf\fR(\fB_SC_V6_LP64_OFF64\fR) returns -1, the meaning of this value
289 is unspecified. Otherwise, this value is the set of initial options to be given
290 to the \fBc99\fR utility to build an application using a programming model with
291 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
295 .ne 2
297 \fB\fB_CS_POSIX_V6_LP64_OFF64_LDFLAGS\fR\fR
299 .sp .6
300 .RS 4n
301 If \fBsysconf\fR(\fB_SC_V6_LP64_OFF64\fR) returns -1, the meaning of this value
302 is unspecified. Otherwise, this value is the set of final options to be given
303 to the \fBc99\fR utility to build an application using a programming model with
304 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
308 .ne 2
310 \fB\fB_CS_POSIX_V6_LP64_OFF64_LIBS\fR\fR
312 .sp .6
313 .RS 4n
314 If \fBsysconf\fR(\fB_SC_V6_LP64_OFF64\fR) returns -1, the meaning of this value
315 is unspecified. Otherwise, this value is the set of libraries to be given to
316 the \fBc99\fR utility to build an application using a programming model with
317 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
321 .ne 2
323 \fB\fB_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS\fR\fR
325 .sp .6
326 .RS 4n
327 If \fBsysconf\fR(\fB_SC_V6_LPBIG_OFFBIG\fR) returns -1, the meaning of this
328 value is unspecified. Otherwise, this value is the set of initial options to be
329 given to the \fBc99\fR utility to build an application using a programming
330 model with an \fBint\fR type using at least 32 bits and \fBlong\fR,
331 \fBpointer\fR, and \fBoff_t\fR types using at least 64 bits.
335 .ne 2
337 \fB\fB_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS\fR\fR
339 .sp .6
340 .RS 4n
341 If \fBsysconf\fR(\fB_SC_V6_LPBIG_OFFBIG\fR) returns -1, the meaning of this
342 value is unspecified. Otherwise, this value is the set of final options to be
343 given to the \fBc99\fR utility to build an application using a programming
344 model with an \fBint\fR type using at least 32 bits and \fBlong\fR,
345 \fBpointer\fR, and \fBoff_t\fR types using at least 64 bits.
349 .ne 2
351 \fB\fB_CS_POSIX_V6_LPBIG_OFFBIG_LIBS\fR\fR
353 .sp .6
354 .RS 4n
355 If \fBsysconf\fR(\fB_SC_V6_LPBIG_OFFBIG\fR) returns -1, the meaning of this
356 value is unspecified. Otherwise, this value is the set of libraries to be given
357 to the \fBc99\fR utility to build an application using a programming model with
358 an \fBint\fR type using at least 32 bits and \fBlong\fR, \fBpointer\fR, and
359 \fBoff_t\fR types using at least 64 bits.
363 .ne 2
365 \fB\fB_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS\fR\fR
367 .sp .6
368 .RS 4n
369 This value is a <newline>-separated list of names of programming environments
370 supported  by the implementation in which the widths of the \fBblksize_t\fR,
371 \fBcc_t\fR, \fBmode_t\fR, \fBnfds_t\fR, \fBpid_t\fR, \fBptrdiff_t\fR,
372 \fBsize_t\fR, \fBspeed_t\fR, \fBssize_t\fR, \fBsuseconds_t\fR, \fBtcflag_t\fR,
373 \fBuseconds_t\fR, \fBwchar_t\fR, and \fBwint_t\fR types are no greater than the
374 width of type \fBlong\fR.
378 .ne 2
380 \fB\fB_CS_XBS5_ILP32_OFF32_CFLAGS\fR\fR
382 .sp .6
383 .RS 4n
384 If \fBsysconf(_SC_XBS5_ILP32_OFF32)\fR returns \(mi1 the meaning of this value
385 is unspecified.  Otherwise, this value is the set of initial options to be
386 given to the \fBcc\fR and \fBc89\fR utilities to build an application using a
387 programming model with 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and
388 \fBoff_t\fR types.
392 .ne 2
394 \fB\fB_CS_XBS5_ILP32_OFF32_LDFLAGS\fR\fR
396 .sp .6
397 .RS 4n
398 If \fBsysconf(_SC_XBS5_ILP32_OFF32)\fR returns \(mi1 the meaning of this value
399 is unspecified.  Otherwise, this value is the set of final options to be given
400 to the \fBcc\fR and \fBc89\fR utilities to build an application using a
401 programming model with 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and
402 \fBoff_t\fR types.
406 .ne 2
408 \fB\fB_CS_XBS5_ILP32_OFF32_LIBS\fR\fR
410 .sp .6
411 .RS 4n
412 If \fBsysconf(_SC_XBS5_ILP32_OFF32)\fR returns \(mi1 the meaning of this value
413 is unspecified.  Otherwise, this value is the set of libraries to be given to
414 the \fBcc\fR and \fBc89\fR utilities to build an application using a
415 programming model with 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and
416 \fBoff_t\fR types.
420 .ne 2
422 \fB\fB_CS_XBS5_ILP32_OFF32_LINTFLAGS\fR\fR
424 .sp .6
425 .RS 4n
426 If \fBsysconf(_SC_XBS5_ILP32_OFF32)\fR returns \(mi1 the meaning of this value
427 is unspecified.  Otherwise, this value is the set of options to be given to the
428 \fBlint\fR utility to check application source using a programming model with
429 32-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
433 .ne 2
435 \fB\fB_CS_XBS5_ILP32_OFFBIG_CFLAGS\fR\fR
437 .sp .6
438 .RS 4n
439 If \fBsysconf(_SC_XBS5_ILP32_OFFBIG)\fR returns \(mi1 the meaning of this value
440 is unspecified.  Otherwise, this value is the set of initial options to be
441 given to the \fBcc\fR and \fBc89\fR utilities to build an application using a
442 programming model with 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types,
443 and an \fBoff_t\fR type using at least 64 bits.
447 .ne 2
449 \fB\fB_CS_XBS5_ILP32_OFFBIG_LDFLAGS\fR\fR
451 .sp .6
452 .RS 4n
453 If \fBsysconf(SC_XBS5_ILP32_OFFBIG)\fR returns \(mi1 the meaning of this value
454 is unspecified.  Otherwise, this value is the set of final options to be given
455 to the \fBcc\fR and \fBc89\fR utilities to build an application using a
456 programming model with 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types,
457 and an \fBoff_t\fR type using at least 64 bits.
461 .ne 2
463 \fB\fB_CS_XBS5_ILP32_OFFBIG_LIBS\fR\fR
465 .sp .6
466 .RS 4n
467 If \fBsysconf(_SC_XBS5_ILP32_OFFBIG)\fR returns \(mi1 the meaning of this value
468 is unspecified.  Otherwise, this value is the set of libraries to be given to
469 the \fBcc\fR and \fBc89\fR utilities to build an application using a
470 programming model with 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types,
471 and an \fBoff_t\fR type using at least 64 bits.
475 .ne 2
477 \fB\fB_CS_XBS5_ILP32_OFFBIG_LINTFLAGS\fR\fR
479 .sp .6
480 .RS 4n
481 If \fBsysconf(_SC_XBS5_ILP32_OFFBIG)\fR returns \(mi1 the meaning of this value
482 is unspecified.  Otherwise, this value is the set of options to be given to the
483 \fBlint\fR utility to check an application using a programming model with
484 32-bit \fBint\fR, \fBlong\fR, and \fBpointer\fR types, and an \fBoff_t\fR type
485 using at least 64 bits.
490 The \fBconfstr()\fR function supports the following values for \fIname\fR,
491 defined in \fB<unistd.h>\fR, for SPARC only:
493 .ne 2
495 \fB\fB_CS_XBS5_LP64_OFF64_CFLAGS\fR\fR
497 .sp .6
498 .RS 4n
499 If \fBsysconf(_SC_XBS5_LP64_OFF64)\fR returns \(mi1 the meaning of this value
500 is unspecified.  Otherwise, this value is the set of initial options to be
501 given to the \fBcc\fR and \fBc89\fR utilities to build an application using a
502 programming model with 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and
503 \fBoff_t\fR types.
507 .ne 2
509 \fB\fB_CS_XBS5_LP64_OFF64_LDFLAGS\fR\fR
511 .sp .6
512 .RS 4n
513 If \fBsysconf(_SC_XBS5_LP64_OFF64)\fR returns \(mi1 the meaning of this value
514 is unspecified.  Otherwise, this value is the set of final options to be given
515 to the \fBcc\fR and \fBc89\fR utilities to build an application using a
516 programming model with 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and
517 \fBoff_t\fR types.
521 .ne 2
523 \fB\fB_CS_XBS5_LP64_OFF64_LIBS\fR\fR
525 .sp .6
526 .RS 4n
527 If \fBsysconf(_SC_XBS5_LP64_OFF64)\fR returns \(mi1 the meaning of this value
528 is unspecified.  Otherwise, this value is the set of libraries to be given to
529 the \fBcc\fR and \fBc89\fR utilities to build an application using a
530 programming model with 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and
531 \fBoff_t\fR types.
535 .ne 2
537 \fB\fB_CS_XBS5_LP64_OFF64_LINTFLAGS\fR\fR
539 .sp .6
540 .RS 4n
541 If \fBsysconf(_SC_XBS5_LP64_OFF64)\fR returns \(mi1 the meaning of this value
542 is unspecified.  Otherwise, this value is the set of options to be given to the
543 \fBlint\fR utility to check application source using a programming model with
544 64-bit \fBint\fR, \fBlong\fR, \fBpointer\fR, and \fBoff_t\fR types.
548 .ne 2
550 \fB\fB_CS_XBS5_LPBIG_OFFBIG_CFLAGS\fR\fR
552 .sp .6
553 .RS 4n
554 If \fBsysconf(_SC_XBS5_LPBIG_OFFBIG)\fR returns \(mi1 the meaning of this value
555 is unspecified.  Otherwise, this value is the set of initial options to be
556 given to the \fBcc\fR and \fBc89\fR utilities to build an application using a
557 programming model with an \fBint\fR type using at least 32 bits and \fBlong\fR,
558 \fBpointer\fR, and \fBoff_t\fR types using at least 64 bits.
562 .ne 2
564 \fB\fB_CS_XBS5_LPBIG_OFFBIG_LDFLAGS\fR\fR
566 .sp .6
567 .RS 4n
568 If \fBsysconf(_SC_XBS5_LPBIG_OFFBIG)\fR returns \(mi1 the meaning of this value
569 is unspecified.  Otherwise, this value is the set of final options to be given
570 to the \fBcc\fR and \fBc89\fR utilities to build an application using a
571 programming model with an \fBint\fR type using at least 32 bits and \fBlong\fR,
572 \fBpointer\fR, and \fBoff_t\fR types using at least 64 bits.
576 .ne 2
578 \fB\fB_CS_XBS5_LPBIG_OFFBIG_LIBS\fR\fR
580 .sp .6
581 .RS 4n
582 If \fBsysconf(_SC_XBS5_LPBIG_OFFBIG)\fR returns \(mi1 the meaning of this value
583 is unspecified.  Otherwise, this value is the set of libraries to be given to
584 the \fBcc\fR and \fBc89\fR utilities to build an application using a
585 programming model with an \fBint\fR type using at least 32 bits and \fBlong\fR,
586 \fBpointer\fR, and \fBoff_t\fR types using at least 64 bits.
590 .ne 2
592 \fB\fB_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS\fR\fR
594 .sp .6
595 .RS 4n
596 If \fBsysconf(_SC_XBS5_LPBIG_OFFBIG)\fR returns \(mi1 the meaning of this value
597 is unspecified.  Otherwise, this value is the set of options to be given to the
598 \fBlint\fR utility to check application source using a programming model with
599 an \fBint\fR type using at least 32 bits and \fBlong\fR, \fBpointer\fR, and
600 \fBoff_t\fR types using at least 64 bits.
603 .SH RETURN VALUES
606 If \fIname\fR has a configuration-defined value, the \fBconfstr()\fR function
607 returns the size of buffer that would be needed to hold the entire
608 configuration-defined value.  If this return value is greater than \fIlen\fR,
609 the string returned in \fIbuf\fR is truncated.
612 If \fIname\fR is invalid, \fBconfstr()\fR returns \fB0\fR and sets  \fBerrno\fR
613 to indicate the error.
616 If \fIname\fR does not have a configuration-defined value, \fBconfstr()\fR
617 returns  \fB0\fR and leaves \fBerrno\fR unchanged.
618 .SH ERRORS
621 The \fBconfstr()\fR function will fail if:
623 .ne 2
625 \fB\fBEINVAL\fR\fR
627 .RS 10n
628 The value of the \fIname\fR argument is invalid.
631 .SH ATTRIBUTES
634 See \fBattributes\fR(5) for descriptions of the following attributes:
639 box;
640 c | c
641 l | l .
642 ATTRIBUTE TYPE  ATTRIBUTE VALUE
644 Interface Stability     Standard
646 MT-Level        Mt-Safe
649 .SH SEE ALSO
652 \fBpathconf\fR(2), \fBsysconf\fR(3C), \fBattributes\fR(5), \fBlfcompile\fR(5),
653 \fBlfcompile64\fR(5), \fBstandards\fR(5)