Tools: MPW
Advanced Search
Apple Developer Connection
Member Login Log In | Not a Member? Support



Quick Clicks

 

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.

 
Back to MPW Home Page
Back to MPW Home Page