\chapter{Macintosh Specific Services} The modules in this chapter are available on the Apple Macintosh only. Aside from the modules described here there are also interfaces to various MacOS toolboxes, which are currently not extensively described. The toolboxes for which modules exist are: \module{AE} (Apple Events), \module{Cm} (Component Manager), \module{Ctl} (Control Manager), \module{Dlg} (Dialog Manager), \module{Evt} (Event Manager), \module{Fm} (Font Manager), \module{List} (List Manager), \module{Menu} (Moenu Manager), \module{Qd} (QuickDraw), \module{Qt} (QuickTime), \module{Res} (Resource Manager and Handles), \module{Scrap} (Scrap Manager), \module{Snd} (Sound Manager), \module{TE} (TextEdit), \module{Waste} (non-Apple \program{TextEdit} replacement) and \module{Win} (Window Manager). If applicable the module will define a number of Python objects for the various structures declared by the toolbox, and operations will be implemented as methods of the object. Other operations will be implemented as functions in the module. Not all operations possible in C will also be possible in Python (callbacks are often a problem), and parameters will occasionally be different in Python (input and output buffers, especially). All methods and functions have a \code{__doc__} string describing their arguments and return values, and for additional description you are referred to Inside Mac or similar works. \section{Built-in Module \sectcode{mac}} \label{module-mac} \bimodindex{mac} This module provides a subset of the operating system dependent functionality provided by the optional built-in module \module{posix}. It is best accessed through the more portable standard module \module{os}. \refbimodindex{posix} \refstmodindex{os} The following functions are available in this module: \function{chdir()}, \function{close()}, \function{dup()}, \function{fdopen()}, \function{getcwd()}, \function{lseek()}, \function{listdir()}, \function{mkdir()}, \function{open()}, \function{read()}, \function{rename()}, \function{rmdir()}, \function{stat()}, \function{sync()}, \function{unlink()}, \function{write()}, as well as the exception \exception{error}. Note that the times returned by \function{stat()} are floating-point values, like all time values in MacPython. One additional function is available: \function{xstat()}. This function returns the same information as \function{stat()}, but with three extra values appended: the size of the resource fork of the file and its 4-char creator and type. \section{Standard Module \sectcode{macpath}} \label{module-macpath} \stmodindex{macpath} This module provides a subset of the pathname manipulation functions available from the optional standard module \module{posixpath}. It is best accessed through the more portable standard module \module{os}, as \code{os.path}. \refstmodindex{posixpath} \refstmodindex{os} The following functions are available in this module: \function{normcase()}, \function{normpath()}, \function{isabs()}, \function{join()}, \function{split()}, \function{isdir()}, \function{isfile()}, \function{walk()}, \function{exists()}. For other functions available in \module{posixpath} dummy counterparts are available.