24.15 Library Functions

ISO Standard: “The Null Pointer constant to which the macro NULL expands (C90 7.1.6, C99 7.17).”
Implementation: (void *)0
ISO Standard: “Any library facilities available to a freestanding program, other than the minimal set required by clause 4 (5.1.2.1).”
Implementation: See the 32-Bit Language Tools Libraries (DS51685).
ISO Standard: “The format of the diagnostic printed by the assert macro (7.2.1.1).”
Implementation: “Failed assertion ‘message’ at line line of ‘filename’.\n”
ISO Standard: “The default state for the FENV_ACCESS pragma (7.6.1).”
Implementation: Unimplemented.
ISO Standard: “The representation of floating-point exception flags stored by the fegetexceptflag function (7.6.2.2).”
Implementation: Unimplemented.
ISO Standard: “Whether the feraiseexcept function raises the inexact exception in addition to the overflow or underflow exception (7.6.2.3).”
Implementation: Unimplemented.
ISO Standard: “Floating environment macros other than FE_DFL_ENV that can be used as the argument to the fesetenv or feupdateenv function (7.6.4.3, 7.6.4.4).”
Implementation: Unimplemented.
ISO Standard: “Strings other than "C" and “” that may be passed as the second argument to the setlocale function (7.11.1.1).”
Implementation: None.
ISO Standard: “The types defined for float_t and double_t when the value of the FLT_EVAL_METHOD macro is less than 0 or greater than 2 (7.12).”
Implementation: Unimplemented.
ISO Standard: “The infinity to which the INFINITY macro expands, if any (7.12).”
Implementation: Unimplemented.
ISO Standard: “The quiet NaN to which the NAN macro expands, when it is defined (7.12).”
Implementation: Unimplemented.
ISO Standard: “Domain errors for the mathematics functions, other than those required by this International Standard (7.12.1).”
Implementation: None.
ISO Standard: “The values returned by the mathematics functions, and whether errno is set to the value of the macro EDOM, on domain errors (7.12.1).”
Implementation: errno is set to EDOM on domain errors.
ISO Standard: “Whether the mathematics functions set errno to the value of the macro ERANGE on overflow and/or underflow range errors (7.12.1).”
Implementation: Yes.
ISO Standard: “The default state for the FP_CONTRACT pragma (7.12.2)
Implementation: Unimplemented.
ISO Standard: “Whether a domain error occurs or zero is returned when the fmod function has a second argument of zero (7.12.10.1).”
Implementation: NaN is returned.
ISO Standard: “The base-2 logarithm of the modulus used by the remquo function in reducing the quotient (7.12.10.3).”
Implementation: Unimplemented.
ISO Standard: “The set of signals, their semantics, and their default handling (7.14).”
Implementation: The default handling of signals is to always return failure. Actual signal handling is application defined.
ISO Standard: “If the equivalent of signal(sig, SIG_DFL); is not executed prior to the call of a signal handler, the blocking of the signal that is performed (7.14.1.1).”
Implementation: Application defined.
ISO Standard: “Whether the equivalent of signal(sig, SIG_DFL); is executed prior to the call of a signal handler for the signal SIGILL (7.14.1.1).”
Implementation: Application defined.
ISO Standard: “Signal values other than SIGFPE, SIGILL, and SIGSEGV that correspond to a computational exception (7.14.1.1).”
Implementation: Application defined.
ISO Standard: “Whether the last line of a text stream requires a terminating new-line character (7.19.2).”
Implementation: Yes.
ISO Standard: “Whether space characters that are written out to a text stream immediately before a new-line character appear when read in (7.19.2).”
Implementation: Yes.
ISO Standard: “The number of null characters that may be appended to data written to a binary stream (7.19.2).”
Implementation: No null characters are appended to a binary stream.
ISO Standard: “Whether the file position indicator of an append-mode stream is initially positioned at the beginning or end of the file (7.19.3).”
Implementation: Application defined. The system level function open is called with the O_APPEND flag.
ISO Standard: “Whether a write on a text stream causes the associated file to be truncated beyond that point (7.19.3).”
Implementation: Application defined.
ISO Standard: “The characteristics of file buffering (7.19.3).”
ISO Standard: “Whether a zero-length file actually exists (7.19.3).”
Implementation: Application defined.
ISO Standard: “The rules for composing valid file names (7.19.3).”
Implementation: Application defined.
ISO Standard: “Whether the same file can be open multiple times (7.19.3).”
Implementation: Application defined.
ISO Standard: “The nature and choice of encodings used for multibyte characters in files (7.19.3).”
Implementation: Encodings are the same for each file.
ISO Standard: “The effect of the remove function on an open file (7.19.4.1).”
Implementation: Application defined. The system function unlink is called.
ISO Standard: “The effect if a file with the new name exists prior to a call to the rename function (7.19.4.2).”
Implementation: Application defined. The system function link is called to create the new file name, then unlink is called to remove the old file name. Typically, link will fail if the new file name already exists.
ISO Standard: “Whether an open temporary file is removed upon abnormal program termination (7.19.4.3).”
Implementation: No.
ISO Standard: “What happens when the tmpnam function is called more than TMP_MAX times (7.19.4.4).”
Implementation: Temporary names will wrap around and be reused.
ISO Standard: “Which changes of mode are permitted (if any), and under what circumstances (7.19.5.4).”
Implementation: The file is closed via the system level close function and re-opened with the open function with the new mode. No additional restriction beyond those of the application defined open and close functions are imposed.
ISO Standard: “The style used to print an infinity or NaN, and the meaning of the n-char-sequence if that style is printed for a NaN (7.19.6.1, 7.24.2.1).”
Implementation: No char sequence is printed.

NaN is printed as “NaN”.

Infinity is printed as “[-/+]Inf”.

ISO Standard: “The output for %p conversion in the fprintf or fwprintf function (7.19.6.1, 7.24.2.1).”
Implementation: Functionally equivalent to %x.
ISO Standard: “The interpretation of a - character that is neither the first nor the last character, nor the second where a ^ character is the first, in the scanlist for %[ conversion in the fscanf or fwscanf function (7.19.6.2, 7.24.2.1).”
Implementation: Unknown
ISO Standard: “The set of sequences matched by the %p conversion in the fscanf or fwscanf function (7.19.6.2, 7.24.2.2).”
Implementation: The same set of sequences matched by %x.
ISO Standard: “The interpretation of the input item corresponding to a %p conversion in the fscanf or fwscanf function (7.19.6.2, 7.24.2.2).”
Implementation: If the result is not a valid pointer, the behavior is undefined.
ISO Standard: “The value to which the macro errno is set by the fgetpos, fsetpos, or ftell functions on failure (7.19.9.1, 7.19.9.3, 7.19.9.4).”
Implementation: If the result exceeds LONG_MAX, errno is set to ERANGE.

Other errors are application defined according to the application definition of the lseek function.

ISO Standard: “The meaning of the n-char-sequence in a string converted by the strtod, strtof, strtold, wcstod, wcstof, or wcstold function (7.20.1.3, 7.24.4.1.1).”
Implementation: No meaning is attached to the sequence.
ISO Standard: “Whether or not the strtod, strtof, strtold, wcstod, wcstof, or wcstold function sets errno to ERANGE when underflow occurs (7.20.1.3, 7.24.4.1.1).”
Implementation: Yes.
ISO Standard: “Whether the calloc, malloc, and realloc functions return a Null Pointer or a pointer to an allocated object when the size requested is zero (7.20.3).”
Implementation: A pointer to a statically allocated object is returned.
ISO Standard: “Whether open output streams are flushed, open streams are closed, or temporary files are removed when the abort function is called (7.20.4.1).”
Implementation: No.
ISO Standard: “The termination status returned to the host environment by the abort function (7.20.4.1).”
Implementation: By default, there is no host environment.
ISO Standard: “The value returned by the system function when its argument is not a Null Pointer (7.20.4.5).”
Implementation: Application defined.
ISO Standard: “The local time zone and Daylight Saving Time (7.23.1).”
Implementation: Application defined.
ISO Standard: “The era for the clock function (7.23.2.1).”
Implementation: Application defined.
ISO Standard: “The positive value for tm_isdst in a normalized tmx structure (7.23.2.6).”
Implementation: 1.
ISO Standard: “The replacement string for the %Z specifier to the strftime, strfxtime, wcsftime, and wcsfxtime functions in the “C” locale (7.23.3.5, 7.23.3.6, 7.24.5.1, 7.24.5.2).”
Implementation: Unimplemented.
ISO Standard: “Whether or when the trigonometric, hyperbolic, base-e exponential, base-e logarithmic, error, and log gamma functions raise the inexact exception in an IEC 60559 conformant implementation (F.9).”
Implementation: No.
ISO Standard: “Whether the inexact exception may be raised when the rounded result actually does equal the mathematical result in an IEC 60559 conformant implementation (F.9).”
Implementation: No.
ISO Standard: “Whether the underflow (and inexact) exception may be raised when a result is tiny but not inexact in an IEC 60559 conformant implementation (F.9).”
Implementation: No.
ISO Standard: “Whether the functions honor the Rounding Direction mode (F.9).”
Implementation: The Rounding mode is not forced.