diff options
Diffstat (limited to 'test/eh/mwerks_console_OS_X.c')
-rw-r--r-- | test/eh/mwerks_console_OS_X.c | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/test/eh/mwerks_console_OS_X.c b/test/eh/mwerks_console_OS_X.c deleted file mode 100644 index 3597fca..0000000 --- a/test/eh/mwerks_console_OS_X.c +++ /dev/null @@ -1,193 +0,0 @@ -/* Metrowerks Standard Library - * Copyright © 1995-2002 Metrowerks Corporation. All rights reserved. - * - * $Date$ - * $Revision$ - */ - -#include <ansi_parms.h> -#include <size_t.h> -#include <console.h> -#include <unistd.h> - -#if __MACH__ - short InstallConsole(short fd) - { - #pragma unused (fd) - - return 0; - } -#else - #include <Carbon.h> - - typedef int (*ReadPtr)(int, void *, __std(size_t)); - typedef int (*WritePtr)(int, const void *, __std(size_t)); - - static struct - { - Boolean isLoaded; - CFBundleRef theBundle; - ReadPtr theRead; - WritePtr theWrite; - } __msl_os_x; - - static OSErr __msl_CreateFrameworkBundleFromName(CFStringRef theFrameworkName, - CFBundleRef *theBundle) - { - OSErr theErr; - FSRef theRef; - CFURLRef theFrameworkURL; - CFURLRef theBundleURL; - - /* Find the folder containing all the frameworks */ - theErr = FSFindFolder(kOnAppropriateDisk, kFrameworksFolderType, false, &theRef); - - if (theErr == noErr) - { - /* Turn the framework folder FSRef into a CFURL */ - theFrameworkURL = CFURLCreateFromFSRef(kCFAllocatorSystemDefault, &theRef); - - if (theFrameworkURL != NULL) - { - /* Create a CFURL pointing to the desired framework */ - theBundleURL = CFURLCreateCopyAppendingPathComponent(kCFAllocatorSystemDefault, - theFrameworkURL, theFrameworkName, false); - - CFRelease(theFrameworkURL); - - if (theBundleURL != NULL) - { - /* Turn the CFURL into a bundle reference */ - *theBundle = CFBundleCreate(kCFAllocatorSystemDefault, theBundleURL); - - CFRelease(theBundleURL); - } - } - } - - return theErr; - } - - short InstallConsole(short fd) - { - #pragma unused (fd) - OSErr theErr; - short theResult; - - theResult = -1; - - /* Start with no bundle */ - __msl_os_x.isLoaded = false; - __msl_os_x.theBundle = NULL; - __msl_os_x.theRead = NULL; - __msl_os_x.theWrite = NULL; - - /* Create a bundle reference based on its name */ - theErr = __msl_CreateFrameworkBundleFromName(CFSTR("System.framework"), - &__msl_os_x.theBundle); - - if ((theErr == noErr) && (__msl_os_x.theBundle != NULL)) - { - theResult = 0; - - __msl_os_x.isLoaded = CFBundleLoadExecutable(__msl_os_x.theBundle); - - if (__msl_os_x.isLoaded) - { - /* Lookup the functions in the bundle by name */ - __msl_os_x.theRead = (ReadPtr) - CFBundleGetFunctionPointerForName(__msl_os_x.theBundle, CFSTR("read")); - __msl_os_x.theWrite = (WritePtr) - CFBundleGetFunctionPointerForName(__msl_os_x.theBundle, CFSTR("write")); - } - } - - return theResult; - } -#endif - -void RemoveConsole(void) -{ -#if !__MACH__ - if (__msl_os_x.theBundle != NULL) - { - if (__msl_os_x.isLoaded) - { - __msl_os_x.theRead = NULL; - __msl_os_x.theWrite = NULL; - - CFBundleUnloadExecutable(__msl_os_x.theBundle); - __msl_os_x.isLoaded = false; - } - - CFRelease(__msl_os_x.theBundle); - __msl_os_x.theBundle = NULL; - } -#endif -} - -long WriteCharsToConsole(char *buffer, long n) -{ -#if __MACH__ - return write(1, buffer, n); -#else - /* Call the function if it was found */ - if (__msl_os_x.theWrite == NULL) - return -1; - else - return __msl_os_x.theWrite(1, buffer, n); -#endif -} - -#if __MACH__ -long WriteCharsToErrorConsole(char *buffer, long n) -{ - return write(2, buffer, n); -} -#endif - -long ReadCharsFromConsole(char *buffer, long n) -{ -#if __MACH__ - return read(0, buffer, n); -#else - /* Call the function if it was found */ - if (__msl_os_x.theRead == NULL) - return -1; - else - return __msl_os_x.theRead(0, buffer, n); -#endif -} - -/* JWW - This code should never be reached, but it's needed for link purposes */ -char *__ttyname(long fildes) -{ -#pragma unused (fildes) - /* all streams have the same name */ - static char *__devicename = "Terminal"; - - if (fildes >= 0 && fildes <= 2) - return (__devicename); - - return (0L); -} - -int kbhit(void) -{ - return 0; -} - -int getch(void) -{ - return 0; -} - -void clrscr() -{ - return; -} - -/* Change record: - * JWW 010919 Created Mach-O console stubs file - * JWW 020418 Use __std() for all size_t, and #include <size_t.h> to get proper C++ definitions - */
\ No newline at end of file |