MPW Libraries Release Notes
StdCLib v3.5.1 [updated 11/1/99]
A bug was found in the printing of vector data using the printf() family
in the 3.5 version of StdCLib which was shipped as part of Mac OS 9.0. The 3.5.1
version of the StdCLib runtime library fixes this problem and this problem only.
If you use printf() for vector data, you should update to the StdCLib v3.5.1 runtime library.
StdCLib Headers v3.8d3 [updated 10/26/01]
<float.h>
- The <float.h> header no longer depends upon <ConditionalMacros.h>
or scalbl(). (See the CarbonStdCLib.o release notes.)
<FSpio.h>
- The FSp_≈ functions in the <FSpio.h> header are now supported.
(See the CarbonStdCLib.o release notes.)
<math.h>
- The ecvt() and fcvt() functions in the <math.h> header are now
supported. (See the CarbonStdCLib.o release notes.)
<signal.h>
- The signal() and raise() functions in the <signal.h> header are
now supported. Macro definitions have been modified for Carbon to coincide with the definitions
for OS X. The signal() and raise() functions do the
appropriate translations. (See the CarbonStdCLib.o release notes.)
<stdio.h>
- The function fsetfileinfo() in the <stdio.h> header is now
supported. (See the CarbonStdCLib.o release notes.)
<stdlib.h>
- The <stdlib.h> header has been modified as follows. The atexit() function
is now supported. The rand() function has been changed
to match the OS X implementation, and correspondingly, the RAND_MAX value
is now 0x7FFFFFFF. The vector memory management
routines vec_calloc(), vec_free(),
vec_malloc() and vec_realloc() are now supported.
The long long support functions llabs(),
lldiv(), strtoll(), strtoull()
and atoll() are now supported.
(See the CarbonStdCLib.o release notes.)
StdCLib Headers v3.8d2 [updated 7/30/01]
<CarbonStdCLib.h>
- The <CarbonStdCLib.h> header declares two functions which initialize and terminate
the CarbonStdCLib.o library, two helper functions to convert UNIX path names to/from HFS path names,
and several useful BSD functions. (See the CarbonStdCLib.o release notes.)
<ctype.h>
- The <ctype.h> header hides the macro definitions of functions for Carbon applications.
This means that the actual functions like isalpha() will be called, and therefore do not
directly access data which is not implemented on one or the other platform.
<errno.h>
- The <errno.h> header redefines errno for Carbon applications to a function
which retrieves the address of errno on either Mac OS 9 or Mac OS X and de-references this
address. It also hides the error macros that are not common to both Mac OS 9 and Mac OS
X: ENORSRC and EAGAIN.
<fcntl.h>
- The <fcntl.h> header hides the editor ops F_≈ and the
open() macros O_RSRC, O_ALIAS and O_NRESOLVE for Carbon
applications. (See the lseek() function in the CarbonStdCLib.o release notes for more.)
<float.h>
- The <float.h> header gives alternate definitions for Carbon applications which
do not depend upon implementation.
<FSpio.h>
- The <FSpio.h> header hides all of the declarations of functions for Carbon
applications.
<IntEnv.h>
- The <IntEnv.h> header hides all of the declarations of functions for Carbon
applications.
<ioctl.h>
- The <ioctl.h> header hides the macro controls FIO≈ and
TIO≈ for Carbon applications.
<MacRuntime.h>
- The <MacRuntime.h> header hides all of the declarations of functions for
Carbon applications.
<math.h>
- The <math.h> header hides the declarations of the functions ecvt()
and fcvt() for Carbon applications.
<MPWLibsDebug.h>
- The <MPWLibsDebug.h> header hides all of the declarations of functions for
Carbon applications.
<setjmp.h>
- The <setjmp.h> header enlarges the size of a jmp_buf to be the
larger of the sizes required by Mac OS 9 and Mac OS X, and redefines setjmp() to call a
glue routine in the CarbonStdCLib.o library.
<signal.h>
- The <signal.h> header hides all of the declarations of functions for Carbon
applications.
<stdio.h>
- The <stdio.h> header hides a number of declarations and definitions for Carbon
applications: the fields of the FILE struct are not visible, the _IO≈
flag macros except _IOFBF, _IONBF and _IOLBF are not visible,
_LBFSIZ is not visible, the declarations of the thread-safe functions are not visible,
the macro _NFILE is not visible, and the declarations of the functions _filbuf(),
_flsbuf() and fsetfileinfo() are not visible. (See the fgetpos() and
fsetpos() functions in the CarbonStdCLib.o release notes for more.)
<stdlib.h>
- The <stdlib.h> header hides a number of declarations and definitions for Carbon
applications: the declarations of the malloc() routines for vector data (16-byte aligned),
the declaration of setenv() and the definition of putenv(), and the
long long conversion routines llabs(), lldiv(), strtoll(),
strtoull() and atoll().
<time.h>
- The <time.h> header hides two definitions for Carbon applications: the macro
definitions of clock() and difftime(). Two fields have been added to the
tm struct: tm_gmtoff and tm_zone which are supported on Mac OS X
(less so in CarbonStdCLib.o) for Carbon applications. Also, CLOCKS_PER_SEC has been
changed to 100 to match Mac OS X and the clock() function implemented in
CarbonStdCLib.o does the translation. (See the time functions in the CarbonStdCLib.o release notes for more.)
StdCLib Stub Libraries
The StdCLib stub library is provided in different versions so that developers can
more easily specify which version of StdCLib their program requires at runtime. In general,
the name of the stub library indicates the minimum version of StdCLib that will be required
at runtime. For example, a program linked against the StdCLib_3.5 stub library will not run
unless StdCLib v3.5 (or later) is available at runtime.
The following StdCLib stub libraries are currently provided:
- StdCLib_3.7 Stub Library
This stub library corresponds to version 3.7 of the StdCLib runtime library
which is provided by Mac OS 9.1 (or later).
This version of StdCLib is the first version to allow MP tasks to call ANSI
Standard C functions including the I/O functions in <stdio.h>. This added
functionality is provided ONLY by Mac OS 9.1 or later;
Apple is not providing an extension for older versions of the Mac OS.
All of the functions declared in <assert.h>, <ctype.h>, <errno.h>,
<fcntl.h>, <float.h>, <FSpio.h>, <ioctl.h>, <limits.h>, <math.h>,
<stdio.h>, <stdlib.h>, <string.h>, and <time.h> (except strftime()) are
callable from MP tasks. The functions in <locale.h>, <setjmp.h>,
<signal.h> and strftime() in <time.h> are NOT MP-safe in Mac OS 9.1.
This functionality can for the most part be used without any special
initializations or new function names. The exceptions are in <errno.h>
and <stdio.h>.
This version of StdCLib adds the following new routines:
fileno
flockfile
ftrylockfile
funlockfile
getc_unlocked
getchar_unlocked
putc_unlocked
putchar_unlocked
- StdCLib_3.5 Stub Library
This stub library corresponds to version 3.5 of the StdCLib runtime library.
Programs linked against this stub library will not run unless StdCLib version 3.5
or later is available at runtime. Programs that use AltiVec vector types or any of the
routines declared in the FSpio.h header file must link
with this stub library. This version of StdCLib adds the following new routines:
FSMakeFSSpec_Long
FSSpec2Path_Long
FSp_creat
FSp_faccess
FSp_fopen
FSp_freopen
FSp_fsetfileinfo
FSp_open
FSp_remove
FSp_rename
FSp_unlink
MakeResolvedFSSpec_Long
MakeResolvedPath_Long
ResolveFolderAliases_Long
ResolvePath_Long
__vec_longjmp
__vec_setjmp
vec_calloc
vec_free
vec_malloc
vec_realloc
- StdCLib_3.5d7 Stub Library
This stub library has been replaced by the StdCLib_3.5 stub library.
- StdCLib_3.5d1 Stub Library
This stub library has been replaced by the StdCLib_3.5 stub library.
- StdCLib_3.4.4 Stub Library
This stub library corresponds to version 3.4.4 of the StdCLib runtime library.
Programs linked against this stub library will not run unless StdCLib v3.4.4
or later is available at runtime.
This version of StdCLib supports the "long long" data type and adds the following
new routines:
atoll
llabs
lldiv
strtoll
strtoull
- StdCLib Stub Library
This stub library corresponds to version 3.4.3 of the StdCLib runtime library.
Programs linked against this stub library will run on any Power Macintosh
without requiring a special runtime version of StdCLib.
|