\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:
\code{AE} (Apple Events),
\code{Cm} (Component Manager),
\code{Ctl} (Control Manager),
\code{Dlg} (Dialog Manager),
\code{Evt} (Event Manager),
\code{Fm} (Font Manager),
\code{List} (List Manager),
\code{Menu} (Moenu Manager),
\code{Qd} (QuickDraw),
\code{Qt} (QuickTime),
\code{Res} (Resource Manager and Handles),
\code{Scrap} (Scrap Manager),
\code{Snd} (Sound Manager),
\code{TE} (TextEdit),
\code{Waste} (non-Apple TextEdit replacement) and
\code{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}}

\bimodindex{mac}
This module provides a subset of the operating system dependent
functionality provided by the optional built-in module \code{posix}.
It is best accessed through the more portable standard module
\code{os}.
\refbimodindex{posix}
\refstmodindex{os}

The following functions are available in this module:
\code{chdir},
\code{close},
\code{dup},
\code{fdopen},
\code{getcwd},
\code{lseek},
\code{listdir},
\code{mkdir},
\code{open},
\code{read},
\code{rename},
\code{rmdir},
\code{stat},
\code{sync},
\code{unlink},
\code{write},
as well as the exception \code{error}. Note that the times returned by
\code{stat()} are floating-point values, like all time values in
MacPython.

One additional function is available: \code{xstat()}. This function
returns the same information as \code{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}}

\stmodindex{macpath}
This module provides a subset of the pathname manipulation functions
available from the optional standard module \code{posixpath}.  It is
best accessed through the more portable standard module \code{os}, as
\code{os.path}.
\refstmodindex{posixpath}
\refstmodindex{os}

The following functions are available in this module:
\code{normcase},
\code{normpath},
\code{isabs},
\code{join},
\code{split},
\code{isdir},
\code{isfile},
\code{walk},
\code{exists}.
For other functions available in \code{posixpath} dummy counterparts
are available.
