Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
61885924
Commit
61885924
authored
Apr 03, 1998
by
Fred Drake
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Lots of markup consistency nits.
Logical markup.
parent
6251c169
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
239 additions
and
227 deletions
+239
-227
Doc/lib/libframework.tex
Doc/lib/libframework.tex
+1
-1
Doc/libframework.tex
Doc/libframework.tex
+1
-1
Doc/libmacic.tex
Doc/libmacic.tex
+1
-1
Doc/libmacos.tex
Doc/libmacos.tex
+18
-15
Doc/libmacostools.tex
Doc/libmacostools.tex
+14
-15
Doc/libmactcp.tex
Doc/libmactcp.tex
+85
-81
Doc/mac/libframework.tex
Doc/mac/libframework.tex
+1
-1
Doc/mac/libmacic.tex
Doc/mac/libmacic.tex
+1
-1
Doc/mac/libmacos.tex
Doc/mac/libmacos.tex
+18
-15
Doc/mac/libmacostools.tex
Doc/mac/libmacostools.tex
+14
-15
Doc/mac/libmactcp.tex
Doc/mac/libmactcp.tex
+85
-81
No files found.
Doc/lib/libframework.tex
View file @
61885924
...
...
@@ -123,7 +123,7 @@ window, for instance). This is needed so that update events and such
can be passed on to other windows like the Sioux console window.
Calling
\code
{
MacOS.HandleEvent
}
is not allowed within
\var
{
our
_
dispatch
}
or its callees, since this may result in an infinite loop if the
code is called through the
p
ython inner-loop event handler.
code is called through the
P
ython inner-loop event handler.
\end{funcdesc}
\begin{funcdesc}
{
asyncevents
}{
onoff
}
...
...
Doc/libframework.tex
View file @
61885924
...
...
@@ -123,7 +123,7 @@ window, for instance). This is needed so that update events and such
can be passed on to other windows like the Sioux console window.
Calling
\code
{
MacOS.HandleEvent
}
is not allowed within
\var
{
our
_
dispatch
}
or its callees, since this may result in an infinite loop if the
code is called through the
p
ython inner-loop event handler.
code is called through the
P
ython inner-loop event handler.
\end{funcdesc}
\begin{funcdesc}
{
asyncevents
}{
onoff
}
...
...
Doc/libmacic.tex
View file @
61885924
...
...
@@ -55,7 +55,7 @@ you simply get \code{\var{ic}['MailAddress']}. Assignment also works,
and changes the option in the configuration file.
The module knows about various datatypes, and converts the internal IC
representation to a ``logical''
p
ython datastructure. Running the
representation to a ``logical''
P
ython datastructure. Running the
\module
{
ic
}
module standalone will run a test program that lists all
keys and values in your IC database, this will have to server as
documentation.
...
...
Doc/libmacos.tex
View file @
61885924
...
...
@@ -5,38 +5,41 @@
\setindexsubitem
{
(in module MacOS)
}
This module provides access to MacOS specific functionality in the
p
ython interpreter, such as how the interpreter eventloop functions
P
ython interpreter, such as how the interpreter eventloop functions
and the like. Use with care.
Note the capitalisation of the module name, this is a historical
art
e
fact.
art
i
fact.
\begin{excdesc}
{
Error
}
This exception is raised on MacOS generated errors, either from
functions in this module or from other mac-specific modules like the
toolbox interfaces. The arguments are the integer error code (the
\
var
{
OSErr
}
value) and a textual description of the error code.
\
cdata
{
OSErr
}
value) and a textual description of the error code.
Symbolic names for all known error codes are defined in the standard
module
\
var
{
macerrors
}
.
module
\
module
{
macerrors
}
\refstmodindex
{
macerrors
}
.
\end{excdesc}
\begin{funcdesc}
{
SetEventHandler
}{
handler
}
In the inner interpreter loop Python will occasionally check for events,
unless disabled with
\
var
{
ScheduleParams
}
. With this function you
unless disabled with
\
function
{
ScheduleParams()
}
. With this function you
can pass a Python event-handler function that will be called if an event
is available. The event is passed as parameter and the function should return
non-zero if the event has been fully processed, otherwise event processing
continues (by passing the event to the console window package, for instance).
Call SetEventHandler without parameter to clear the event handler. Setting
an eventhandler while one is already set is an error.
Call
\function
{
SetEventHandler()
}
without a parameter to clear the
event handler. Setting an event handler while one is already set is an
error.
\end{funcdesc}
\begin{funcdesc}
{
SchedParams
}{
\optional
{
doint, evtmask, besocial, interval, bgyield
}}
\begin{funcdesc}
{
SchedParams
}{
\optional
{
doint
\optional
{
, evtmask
\optional
{
,
besocial
\optional
{
, interval
\optional
{
,
bgyield
}}}}}}
Influence the interpreter inner loop event handling.
\var
{
Interval
}
specifies how often (in seconds, floating point) the interpreter
should enter the event processing code. When true,
\var
{
doint
}
causes
interrupt (command-dot) checking to be done.
\var
{
E
vtmask
}
tells the
interrupt (command-dot) checking to be done.
\var
{
e
vtmask
}
tells the
interpreter to do event processing for events in the mask (redraws,
mouseclicks to switch to other applications, etc). The
\var
{
besocial
}
flag gives other processes a chance to run. They are granted minimal
...
...
@@ -51,14 +54,14 @@ background.
\end{funcdesc}
\begin{funcdesc}
{
HandleEvent
}{
ev
}
Pass the event record
\
code
{
ev
}
back to the p
ython event loop, or
Pass the event record
\
var
{
ev
}
back to the P
ython event loop, or
possibly to the handler for the
\code
{
sys.stdout
}
window (based on the
compiler used to build
python). This allows p
ython programs that do
compiler used to build
Python). This allows P
ython programs that do
their own event handling to still have some command-period and
window-switching capability.
If you attempt to call this function from an event handler set through
\
code
{
SetEventHandler
}
you will get an exception.
\
function
{
SetEventHandler()
}
you will get an exception.
\end{funcdesc}
\begin{funcdesc}
{
GetErrorString
}{
errno
}
...
...
@@ -68,7 +71,7 @@ Return the textual description of MacOS error code \var{errno}.
\begin{funcdesc}
{
splash
}{
resid
}
This function will put a splash window
on-screen, with the contents of the DLOG resource specified by
\
code
{
resid
}
. Calling with a zero argument will remove the splash
\
var
{
resid
}
. Calling with a zero argument will remove the splash
screen. This function is useful if you want an applet to post a splash screen
early in initialization without first having to load numerous
extension modules.
...
...
@@ -87,7 +90,7 @@ modules.
\begin{funcdesc}
{
openrf
}{
name
\optional
{
, mode
}}
Open the resource fork of a file. Arguments are the same as for the
built
in function
\code
{
open
}
. The object returned has file-like
semantics, but it is not a
p
ython file object, so there may be subtle
built
-in function
\function
{
open()
}
. The object returned has file-like
semantics, but it is not a
P
ython file object, so there may be subtle
differences.
\end{funcdesc}
Doc/libmacostools.tex
View file @
61885924
...
...
@@ -5,13 +5,12 @@
This module contains some convenience routines for file-manipulation
on the Macintosh.
The
\
cod
e
{
macostools
}
module defines the following functions:
The
\
modul
e
{
macostools
}
module defines the following functions:
\setindexsubitem
{
(in module macostools)
}
\begin{funcdesc}
{
copy
}{
src, dst
\optional
{
, createpath
, copytimes
}}
\begin{funcdesc}
{
copy
}{
src, dst
\optional
{
, createpath
\optional
{
, copytimes
}
}}
Copy file
\var
{
src
}
to
\var
{
dst
}
. The files can be specified as
pathnames or
\
cod
e
{
FSSpec
}
objects. If
\var
{
createpath
}
is non-zero
pathnames or
\
pytyp
e
{
FSSpec
}
objects. If
\var
{
createpath
}
is non-zero
\var
{
dst
}
must be a pathname and the folders leading to the
destination are created if necessary. The method copies data and
resource fork and some finder information (creator, type, flags) and
...
...
@@ -24,13 +23,13 @@ copied, not the aliasfile.
\begin{funcdesc}
{
copytree
}{
src, dst
}
Recursively copy a file tree from
\var
{
src
}
to
\var
{
dst
}
, creating
folders as needed.
\var
{
S
rc
}
and
\var
{
dst
}
should be specified as
folders as needed.
\var
{
s
rc
}
and
\var
{
dst
}
should be specified as
pathnames.
\end{funcdesc}
\begin{funcdesc}
{
mkalias
}{
src, dst
}
Create a finder alias
\var
{
dst
}
pointing to
\var
{
src
}
. Both may be
specified as pathnames or
\
var
{
FSSpec
}
objects.
specified as pathnames or
\
pytype
{
FSSpec
}
objects.
\end{funcdesc}
\begin{funcdesc}
{
touched
}{
dst
}
...
...
@@ -45,7 +44,7 @@ The buffer size for \code{copy}, default 1 megabyte.
\end{datadesc}
Note that the process of creating finder aliases is not specified in
the Apple documentation. Hence, aliases created with
\
code
{
mkalias
}
the Apple documentation. Hence, aliases created with
\
function
{
mkalias()
}
could conceivably have incompatible behaviour in some cases.
\section
{
Standard Module
\sectcode
{
findertools
}}
...
...
@@ -54,14 +53,13 @@ could conceivably have incompatible behaviour in some cases.
This module contains routines that give Python programs access to some
functionality provided by the finder. They are implemented as wrappers
around the AppleEvent interface to the finder.
around the AppleEvent
\index
{
AppleEvents
}
interface to the finder.
All file and folder parameters can be specified either as full
pathnames or as
\
cod
e
{
FSSpec
}
objects.
pathnames or as
\
pytyp
e
{
FSSpec
}
objects.
The
\
cod
e
{
findertools
}
module defines the following functions:
The
\
modul
e
{
findertools
}
module defines the following functions:
\setindexsubitem
{
(in module macostools)
}
\begin{funcdesc}
{
launch
}{
file
}
Tell the finder to launch
\var
{
file
}
. What launching means depends on the file:
...
...
@@ -71,24 +69,25 @@ in the correct application.
\begin{funcdesc}
{
Print
}{
file
}
Tell the finder to print a file (again specified by full pathname or
FSSpec
). The behaviour is identical to selecting the file and using
\pytype
{
FSSpec
}
). The behaviour is identical to selecting the file and using
the print command in the finder.
\end{funcdesc}
\begin{funcdesc}
{
copy
}{
file, destdir
}
Tell the finder to copy a file or folder
\var
{
file
}
to folder
\var
{
destdir
}
. The function returns an
\
cod
e
{
Alias
}
object pointing to
\var
{
destdir
}
. The function returns an
\
pytyp
e
{
Alias
}
object pointing to
the new file.
\end{funcdesc}
\begin{funcdesc}
{
move
}{
file, destdir
}
Tell the finder to move a file or folder
\var
{
file
}
to folder
\var
{
destdir
}
. The function returns an
\
cod
e
{
Alias
}
object pointing to
\var
{
destdir
}
. The function returns an
\
pytyp
e
{
Alias
}
object pointing to
the new file.
\end{funcdesc}
\begin{funcdesc}
{
sleep
}{}
Tell the finder to put the mac to sleep, if your machine supports it.
Tell the finder to put the Macintosh to sleep, if your machine
supports it.
\end{funcdesc}
\begin{funcdesc}
{
restart
}{}
...
...
Doc/libmactcp.tex
View file @
61885924
...
...
@@ -2,22 +2,23 @@
\label
{
module-mactcp
}
\bimodindex
{
mactcp
}
\setindexsubitem
{
(in module mactcp)
}
This module provides an interface to the Macintosh TCP/IP driver
MacTCP
\@
. There is an accompanying module
\code
{
macdnr
}
which provides an
interface to the name-server (allowing you to translate hostnames to
ip-addresses), a module
\code
{
MACTCPconst
}
which has symbolic names for
constants constants used by MacTCP. Since the builtin module
\code
{
socket
}
is also available on the mac it is usually easier to use
sockets in stead of the mac-specific MacTCP API.
This module provides an interface to the Macintosh TCP/IP driver
%
\index
{
MacTCP
}
MacTCP
\@
. There is an accompanying module,
\module
{
macdnr
}
\refbimodindex
{
macdnr
}
, which provides an interface to
the name-server (allowing you to translate hostnames to IP addresses),
a module
\module
{
MACTCPconst
}
\refstmodindex
{
MACTCPconst
}
which has
symbolic names for constants constants used by MacTCP. Since the
built-in module
\module
{
socket
}
is also available on the Macintosh it
is usually easier to use sockets instead of the Macintosh-specific
MacTCP API.
A complete description of the MacTCP interface can be found in the
Apple MacTCP API documentation.
\begin{funcdesc}
{
MTU
}{}
Return the Maximum Transmit Unit (the packet size) of the network
interface.
interface.
\index
{
Maximum Transmit Unit
}
\end{funcdesc}
\begin{funcdesc}
{
IPAddr
}{}
...
...
@@ -34,141 +35,144 @@ buffer, \code{4096} is suggested by various sources.
\end{funcdesc}
\begin{funcdesc}
{
UDPCreate
}{
size, port
}
Create a UDP
s
tream object.
\var
{
size
}
is the size of the receive
Create a UDP
S
tream object.
\var
{
size
}
is the size of the receive
buffer (and, hence, the size of the biggest datagram you can receive
on this port).
\var
{
port
}
is the UDP port number you want to receive
datagrams on, a value of zero will make MacTCP select a free port.
\end{funcdesc}
\subsection
{
TCP Stream Objects
}
\s
etindexsubitem
{
(TCP stream attribute)
}
\s
ubsection
{
TCP Stream Objects
}
\begin{datadesc}
{
asr
}
When set to a value different than
\code
{
None
}
this should point to a
\begin{memberdesc}
[TCP Stream]
{
asr
}
\index
{
asynchronous service routine
}
\index
{
service routine, asynchronous
}
When set to a value different than
\code
{
None
}
this should refer to a
function with two integer parameters:
\
an event code and a detail. This
function will be called upon network-generated events such as urgent
data arrival. In addition, it is called with eventcode
\code
{
MACTCP.PassiveOpenDone
}
when a
\code
{
PassiveOpen
}
completes. This
is a Python addition to the MacTCP semantics.
It is safe to do further calls from the
\code
{
asr
}
.
\end{datadesc}
data arrival. Macintosh documentation calls this the
\dfn
{
asynchronous service routine
}
. In addition, it is called with
eventcode
\code
{
MACTCP.PassiveOpenDone
}
when a
\code
{
PassiveOpen
}
completes. This is a Python addition to the MacTCP semantics.
It is safe to do further calls from
\var
{
asr
}
.
\end{memberdesc}
\setindexsubitem
{
(TCP stream method)
}
\begin{
funcdesc}
{
PassiveOpen
}{
port
}
\begin{
methoddesc}
[TCP Stream]
{
PassiveOpen
}{
port
}
Wait for an incoming connection on TCP port
\var
{
port
}
(zero makes the
system pick a free port). The call returns immediately, and you should
use
\var
{
wait
}
to wait for completion. You should not issue any method
calls other than
\code
{
wait
}
,
\code
{
isdone
}
or
\code
{
GetSockName
}
before the call
completes.
\end{funcdesc}
use
\method
{
wait()
}
to wait for completion. You should not issue any method
calls other than
\method
{
wait()
}
,
\method
{
isdone()
}
or
\method
{
GetSockName()
}
before the call completes.
\end{methoddesc}
\begin{
funcdesc}
{
wait
}{}
\begin{
methoddesc}
[TCP Stream]
{
wait
}{}
Wait for
\code
{
PassiveOpen
}
to complete.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
isdone
}{}
Return
1
if a
\code
{
PassiveOpen
}
has completed.
\end{
func
desc}
\begin{
methoddesc}
[TCP Stream]
{
isdone
}{}
Return
\code
{
1
}
if a
\code
{
PassiveOpen
}
has completed.
\end{
method
desc}
\begin{
funcdesc}
{
GetSockName
}{}
\begin{
methoddesc}
[TCP Stream]
{
GetSockName
}{}
Return the TCP address of this side of a connection as a 2-tuple
\code
{
(
host, port
)
}
, both integers.
\end{
func
desc}
\code
{
(
\var
{
host
}
,
\var
{
port
}
)
}
, both integers.
\end{
method
desc}
\begin{funcdesc}
{
ActiveOpen
}{
lport, host, rport
}
Open an outgoing connection to TCP address
\code
{
(
\var
{
host
}
,
\var
{
rport
}
)
}
. Use
\begin{methoddesc}
[TCP Stream]
{
ActiveOpen
}{
lport, host, rport
}
Open an outgoing connection to TCP address
\code
{
(
\var
{
host
}
,
\var
{
rport
}
)
}
. Use
local port
\var
{
lport
}
(zero makes the system pick a free port). This
call blocks until the connection has been established.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Send
}{
buf, push, urgent
}
Send data
\var
{
buf
}
over the connection.
\var
{
P
ush
}
and
\var
{
urgent
}
\begin{
methoddesc}
[TCP Stream]
{
Send
}{
buf, push, urgent
}
Send data
\var
{
buf
}
over the connection.
\var
{
p
ush
}
and
\var
{
urgent
}
are flags as specified by the TCP standard.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Rcv
}{
timeout
}
\begin{
methoddesc}
[TCP Stream]
{
Rcv
}{
timeout
}
Receive data. The call returns when
\var
{
timeout
}
seconds have passed
or when (according to the MacTCP documentation) ``a reasonable amount
of data has been received''. The return value is a 3-tuple
\code
{
(
\var
{
data
}
,
\var
{
urgent
}
,
\var
{
mark
}
)
}
. If urgent data is
outstanding
\code
{
Rcv
}
will always return that before looking at any normal data. The first
call returning urgent data will have the
\var
{
urgent
}
flag set,
the
last will have the
\var
{
mark
}
flag set.
\end{
func
desc}
\code
{
(
\var
{
data
}
,
\var
{
urgent
}
,
\var
{
mark
}
)
}
. If urgent data is
outstanding
\code
{
Rcv
}
will always return that before looking at any
normal data. The first call returning urgent data will have
the
\var
{
urgent
}
flag set, the
last will have the
\var
{
mark
}
flag set.
\end{
method
desc}
\begin{
funcdesc}
{
Close
}{}
\begin{
methoddesc}
[TCP Stream]
{
Close
}{}
Tell MacTCP that no more data will be transmitted on this
connection. The call returns when all data has been acknowledged by
the receiving side.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Abort
}{}
\begin{
methoddesc}
[TCP Stream]
{
Abort
}{}
Forcibly close both sides of a connection, ignoring outstanding data.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Status
}{}
\begin{
methoddesc}
[TCP Stream]
{
Status
}{}
Return a TCP status object for this stream giving the current status
(see below).
\end{funcdesc}
\end{methoddesc}
\subsection
{
TCP Status Objects
}
This object has no methods, only some members holding information on
the connection. A complete description of all fields in this objects
can be found in the Apple documentation. The most interesting ones are:
\setindexsubitem
{
(TCP status attribute)
}
\begin{datadesc}
{
localHost
}
\dataline
{
localPort
}
\dataline
{
remoteHost
}
\dataline
{
remotePort
}
\begin{memberdesc}
[TCP Status]
{
localHost
}
\memberline
{
localPort
}
\memberline
{
remoteHost
}
\memberline
{
remotePort
}
The integer IP-addresses and port numbers of both endpoints of the
connection.
\end{
data
desc}
\end{
member
desc}
\begin{
datadesc}
{
sendWindow
}
\begin{
memberdesc}
[TCP Status]
{
sendWindow
}
The current window size.
\end{
data
desc}
\end{
member
desc}
\begin{
datadesc}
{
amtUnackedData
}
\begin{
memberdesc}
[TCP Status]
{
amtUnackedData
}
The number of bytes sent but not yet acknowledged.
\code
{
sendWindow -
amtUnackedData
}
is what you can pass to
\code
{
Send
}
without blocking.
\end{datadesc}
amtUnackedData
}
is what you can pass to
\method
{
Send()
}
without
blocking.
\end{memberdesc}
\begin{
datadesc}
{
amtUnreadData
}
The number of bytes received but not yet read (what you can
\code
{
Recv
}
without blocking).
\end{
data
desc}
\begin{
memberdesc}
[TCP Status]
{
amtUnreadData
}
The number of bytes received but not yet read (what you can
\method
{
Recv()
}
without blocking).
\end{
member
desc}
\subsection
{
UDP Stream Objects
}
Note that, unlike the name suggests, there is nothing stream-like
about UDP.
\setindexsubitem
{
(UDP stream attribute)
}
\begin{datadesc}
{
asr
}
\begin{memberdesc}
[UDP Stream]
{
asr
}
\index
{
asynchronous service routine
}
\index
{
service routine, asynchronous
}
The asynchronous service routine to be called on events such as
datagram arrival without outstanding
\code
{
Read
}
call. The
\
code
{
asr
}
has a
single argument, the event code.
\end{
data
desc}
datagram arrival without outstanding
\code
{
Read
}
call. The
\
var
{
asr
}
has a
single argument, the event code.
\end{
member
desc}
\begin{
datadesc}
{
port
}
A read-only member giving the port number of this UDP
s
tream.
\end{
data
desc}
\begin{
memberdesc}
[UDP Stream]
{
port
}
A read-only member giving the port number of this UDP
S
tream.
\end{
member
desc}
\setindexsubitem
{
(UDP stream method)
}
\begin{
funcdesc}
{
Read
}{
timeout
}
\begin{
methoddesc}
[UDP Stream]
{
Read
}{
timeout
}
Read a datagram, waiting at most
\var
{
timeout
}
seconds (-1 is
infinite). Return the data.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Write
}{
host, port, buf
}
\begin{
methoddesc}
[UDP Stream]
{
Write
}{
host, port, buf
}
Send
\var
{
buf
}
as a datagram to IP-address
\var
{
host
}
, port
\var
{
port
}
.
\end{
func
desc}
\end{
method
desc}
Doc/mac/libframework.tex
View file @
61885924
...
...
@@ -123,7 +123,7 @@ window, for instance). This is needed so that update events and such
can be passed on to other windows like the Sioux console window.
Calling
\code
{
MacOS.HandleEvent
}
is not allowed within
\var
{
our
_
dispatch
}
or its callees, since this may result in an infinite loop if the
code is called through the
p
ython inner-loop event handler.
code is called through the
P
ython inner-loop event handler.
\end{funcdesc}
\begin{funcdesc}
{
asyncevents
}{
onoff
}
...
...
Doc/mac/libmacic.tex
View file @
61885924
...
...
@@ -55,7 +55,7 @@ you simply get \code{\var{ic}['MailAddress']}. Assignment also works,
and changes the option in the configuration file.
The module knows about various datatypes, and converts the internal IC
representation to a ``logical''
p
ython datastructure. Running the
representation to a ``logical''
P
ython datastructure. Running the
\module
{
ic
}
module standalone will run a test program that lists all
keys and values in your IC database, this will have to server as
documentation.
...
...
Doc/mac/libmacos.tex
View file @
61885924
...
...
@@ -5,38 +5,41 @@
\setindexsubitem
{
(in module MacOS)
}
This module provides access to MacOS specific functionality in the
p
ython interpreter, such as how the interpreter eventloop functions
P
ython interpreter, such as how the interpreter eventloop functions
and the like. Use with care.
Note the capitalisation of the module name, this is a historical
art
e
fact.
art
i
fact.
\begin{excdesc}
{
Error
}
This exception is raised on MacOS generated errors, either from
functions in this module or from other mac-specific modules like the
toolbox interfaces. The arguments are the integer error code (the
\
var
{
OSErr
}
value) and a textual description of the error code.
\
cdata
{
OSErr
}
value) and a textual description of the error code.
Symbolic names for all known error codes are defined in the standard
module
\
var
{
macerrors
}
.
module
\
module
{
macerrors
}
\refstmodindex
{
macerrors
}
.
\end{excdesc}
\begin{funcdesc}
{
SetEventHandler
}{
handler
}
In the inner interpreter loop Python will occasionally check for events,
unless disabled with
\
var
{
ScheduleParams
}
. With this function you
unless disabled with
\
function
{
ScheduleParams()
}
. With this function you
can pass a Python event-handler function that will be called if an event
is available. The event is passed as parameter and the function should return
non-zero if the event has been fully processed, otherwise event processing
continues (by passing the event to the console window package, for instance).
Call SetEventHandler without parameter to clear the event handler. Setting
an eventhandler while one is already set is an error.
Call
\function
{
SetEventHandler()
}
without a parameter to clear the
event handler. Setting an event handler while one is already set is an
error.
\end{funcdesc}
\begin{funcdesc}
{
SchedParams
}{
\optional
{
doint, evtmask, besocial, interval, bgyield
}}
\begin{funcdesc}
{
SchedParams
}{
\optional
{
doint
\optional
{
, evtmask
\optional
{
,
besocial
\optional
{
, interval
\optional
{
,
bgyield
}}}}}}
Influence the interpreter inner loop event handling.
\var
{
Interval
}
specifies how often (in seconds, floating point) the interpreter
should enter the event processing code. When true,
\var
{
doint
}
causes
interrupt (command-dot) checking to be done.
\var
{
E
vtmask
}
tells the
interrupt (command-dot) checking to be done.
\var
{
e
vtmask
}
tells the
interpreter to do event processing for events in the mask (redraws,
mouseclicks to switch to other applications, etc). The
\var
{
besocial
}
flag gives other processes a chance to run. They are granted minimal
...
...
@@ -51,14 +54,14 @@ background.
\end{funcdesc}
\begin{funcdesc}
{
HandleEvent
}{
ev
}
Pass the event record
\
code
{
ev
}
back to the p
ython event loop, or
Pass the event record
\
var
{
ev
}
back to the P
ython event loop, or
possibly to the handler for the
\code
{
sys.stdout
}
window (based on the
compiler used to build
python). This allows p
ython programs that do
compiler used to build
Python). This allows P
ython programs that do
their own event handling to still have some command-period and
window-switching capability.
If you attempt to call this function from an event handler set through
\
code
{
SetEventHandler
}
you will get an exception.
\
function
{
SetEventHandler()
}
you will get an exception.
\end{funcdesc}
\begin{funcdesc}
{
GetErrorString
}{
errno
}
...
...
@@ -68,7 +71,7 @@ Return the textual description of MacOS error code \var{errno}.
\begin{funcdesc}
{
splash
}{
resid
}
This function will put a splash window
on-screen, with the contents of the DLOG resource specified by
\
code
{
resid
}
. Calling with a zero argument will remove the splash
\
var
{
resid
}
. Calling with a zero argument will remove the splash
screen. This function is useful if you want an applet to post a splash screen
early in initialization without first having to load numerous
extension modules.
...
...
@@ -87,7 +90,7 @@ modules.
\begin{funcdesc}
{
openrf
}{
name
\optional
{
, mode
}}
Open the resource fork of a file. Arguments are the same as for the
built
in function
\code
{
open
}
. The object returned has file-like
semantics, but it is not a
p
ython file object, so there may be subtle
built
-in function
\function
{
open()
}
. The object returned has file-like
semantics, but it is not a
P
ython file object, so there may be subtle
differences.
\end{funcdesc}
Doc/mac/libmacostools.tex
View file @
61885924
...
...
@@ -5,13 +5,12 @@
This module contains some convenience routines for file-manipulation
on the Macintosh.
The
\
cod
e
{
macostools
}
module defines the following functions:
The
\
modul
e
{
macostools
}
module defines the following functions:
\setindexsubitem
{
(in module macostools)
}
\begin{funcdesc}
{
copy
}{
src, dst
\optional
{
, createpath
, copytimes
}}
\begin{funcdesc}
{
copy
}{
src, dst
\optional
{
, createpath
\optional
{
, copytimes
}
}}
Copy file
\var
{
src
}
to
\var
{
dst
}
. The files can be specified as
pathnames or
\
cod
e
{
FSSpec
}
objects. If
\var
{
createpath
}
is non-zero
pathnames or
\
pytyp
e
{
FSSpec
}
objects. If
\var
{
createpath
}
is non-zero
\var
{
dst
}
must be a pathname and the folders leading to the
destination are created if necessary. The method copies data and
resource fork and some finder information (creator, type, flags) and
...
...
@@ -24,13 +23,13 @@ copied, not the aliasfile.
\begin{funcdesc}
{
copytree
}{
src, dst
}
Recursively copy a file tree from
\var
{
src
}
to
\var
{
dst
}
, creating
folders as needed.
\var
{
S
rc
}
and
\var
{
dst
}
should be specified as
folders as needed.
\var
{
s
rc
}
and
\var
{
dst
}
should be specified as
pathnames.
\end{funcdesc}
\begin{funcdesc}
{
mkalias
}{
src, dst
}
Create a finder alias
\var
{
dst
}
pointing to
\var
{
src
}
. Both may be
specified as pathnames or
\
var
{
FSSpec
}
objects.
specified as pathnames or
\
pytype
{
FSSpec
}
objects.
\end{funcdesc}
\begin{funcdesc}
{
touched
}{
dst
}
...
...
@@ -45,7 +44,7 @@ The buffer size for \code{copy}, default 1 megabyte.
\end{datadesc}
Note that the process of creating finder aliases is not specified in
the Apple documentation. Hence, aliases created with
\
code
{
mkalias
}
the Apple documentation. Hence, aliases created with
\
function
{
mkalias()
}
could conceivably have incompatible behaviour in some cases.
\section
{
Standard Module
\sectcode
{
findertools
}}
...
...
@@ -54,14 +53,13 @@ could conceivably have incompatible behaviour in some cases.
This module contains routines that give Python programs access to some
functionality provided by the finder. They are implemented as wrappers
around the AppleEvent interface to the finder.
around the AppleEvent
\index
{
AppleEvents
}
interface to the finder.
All file and folder parameters can be specified either as full
pathnames or as
\
cod
e
{
FSSpec
}
objects.
pathnames or as
\
pytyp
e
{
FSSpec
}
objects.
The
\
cod
e
{
findertools
}
module defines the following functions:
The
\
modul
e
{
findertools
}
module defines the following functions:
\setindexsubitem
{
(in module macostools)
}
\begin{funcdesc}
{
launch
}{
file
}
Tell the finder to launch
\var
{
file
}
. What launching means depends on the file:
...
...
@@ -71,24 +69,25 @@ in the correct application.
\begin{funcdesc}
{
Print
}{
file
}
Tell the finder to print a file (again specified by full pathname or
FSSpec
). The behaviour is identical to selecting the file and using
\pytype
{
FSSpec
}
). The behaviour is identical to selecting the file and using
the print command in the finder.
\end{funcdesc}
\begin{funcdesc}
{
copy
}{
file, destdir
}
Tell the finder to copy a file or folder
\var
{
file
}
to folder
\var
{
destdir
}
. The function returns an
\
cod
e
{
Alias
}
object pointing to
\var
{
destdir
}
. The function returns an
\
pytyp
e
{
Alias
}
object pointing to
the new file.
\end{funcdesc}
\begin{funcdesc}
{
move
}{
file, destdir
}
Tell the finder to move a file or folder
\var
{
file
}
to folder
\var
{
destdir
}
. The function returns an
\
cod
e
{
Alias
}
object pointing to
\var
{
destdir
}
. The function returns an
\
pytyp
e
{
Alias
}
object pointing to
the new file.
\end{funcdesc}
\begin{funcdesc}
{
sleep
}{}
Tell the finder to put the mac to sleep, if your machine supports it.
Tell the finder to put the Macintosh to sleep, if your machine
supports it.
\end{funcdesc}
\begin{funcdesc}
{
restart
}{}
...
...
Doc/mac/libmactcp.tex
View file @
61885924
...
...
@@ -2,22 +2,23 @@
\label
{
module-mactcp
}
\bimodindex
{
mactcp
}
\setindexsubitem
{
(in module mactcp)
}
This module provides an interface to the Macintosh TCP/IP driver
MacTCP
\@
. There is an accompanying module
\code
{
macdnr
}
which provides an
interface to the name-server (allowing you to translate hostnames to
ip-addresses), a module
\code
{
MACTCPconst
}
which has symbolic names for
constants constants used by MacTCP. Since the builtin module
\code
{
socket
}
is also available on the mac it is usually easier to use
sockets in stead of the mac-specific MacTCP API.
This module provides an interface to the Macintosh TCP/IP driver
%
\index
{
MacTCP
}
MacTCP
\@
. There is an accompanying module,
\module
{
macdnr
}
\refbimodindex
{
macdnr
}
, which provides an interface to
the name-server (allowing you to translate hostnames to IP addresses),
a module
\module
{
MACTCPconst
}
\refstmodindex
{
MACTCPconst
}
which has
symbolic names for constants constants used by MacTCP. Since the
built-in module
\module
{
socket
}
is also available on the Macintosh it
is usually easier to use sockets instead of the Macintosh-specific
MacTCP API.
A complete description of the MacTCP interface can be found in the
Apple MacTCP API documentation.
\begin{funcdesc}
{
MTU
}{}
Return the Maximum Transmit Unit (the packet size) of the network
interface.
interface.
\index
{
Maximum Transmit Unit
}
\end{funcdesc}
\begin{funcdesc}
{
IPAddr
}{}
...
...
@@ -34,141 +35,144 @@ buffer, \code{4096} is suggested by various sources.
\end{funcdesc}
\begin{funcdesc}
{
UDPCreate
}{
size, port
}
Create a UDP
s
tream object.
\var
{
size
}
is the size of the receive
Create a UDP
S
tream object.
\var
{
size
}
is the size of the receive
buffer (and, hence, the size of the biggest datagram you can receive
on this port).
\var
{
port
}
is the UDP port number you want to receive
datagrams on, a value of zero will make MacTCP select a free port.
\end{funcdesc}
\subsection
{
TCP Stream Objects
}
\s
etindexsubitem
{
(TCP stream attribute)
}
\s
ubsection
{
TCP Stream Objects
}
\begin{datadesc}
{
asr
}
When set to a value different than
\code
{
None
}
this should point to a
\begin{memberdesc}
[TCP Stream]
{
asr
}
\index
{
asynchronous service routine
}
\index
{
service routine, asynchronous
}
When set to a value different than
\code
{
None
}
this should refer to a
function with two integer parameters:
\
an event code and a detail. This
function will be called upon network-generated events such as urgent
data arrival. In addition, it is called with eventcode
\code
{
MACTCP.PassiveOpenDone
}
when a
\code
{
PassiveOpen
}
completes. This
is a Python addition to the MacTCP semantics.
It is safe to do further calls from the
\code
{
asr
}
.
\end{datadesc}
data arrival. Macintosh documentation calls this the
\dfn
{
asynchronous service routine
}
. In addition, it is called with
eventcode
\code
{
MACTCP.PassiveOpenDone
}
when a
\code
{
PassiveOpen
}
completes. This is a Python addition to the MacTCP semantics.
It is safe to do further calls from
\var
{
asr
}
.
\end{memberdesc}
\setindexsubitem
{
(TCP stream method)
}
\begin{
funcdesc}
{
PassiveOpen
}{
port
}
\begin{
methoddesc}
[TCP Stream]
{
PassiveOpen
}{
port
}
Wait for an incoming connection on TCP port
\var
{
port
}
(zero makes the
system pick a free port). The call returns immediately, and you should
use
\var
{
wait
}
to wait for completion. You should not issue any method
calls other than
\code
{
wait
}
,
\code
{
isdone
}
or
\code
{
GetSockName
}
before the call
completes.
\end{funcdesc}
use
\method
{
wait()
}
to wait for completion. You should not issue any method
calls other than
\method
{
wait()
}
,
\method
{
isdone()
}
or
\method
{
GetSockName()
}
before the call completes.
\end{methoddesc}
\begin{
funcdesc}
{
wait
}{}
\begin{
methoddesc}
[TCP Stream]
{
wait
}{}
Wait for
\code
{
PassiveOpen
}
to complete.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
isdone
}{}
Return
1
if a
\code
{
PassiveOpen
}
has completed.
\end{
func
desc}
\begin{
methoddesc}
[TCP Stream]
{
isdone
}{}
Return
\code
{
1
}
if a
\code
{
PassiveOpen
}
has completed.
\end{
method
desc}
\begin{
funcdesc}
{
GetSockName
}{}
\begin{
methoddesc}
[TCP Stream]
{
GetSockName
}{}
Return the TCP address of this side of a connection as a 2-tuple
\code
{
(
host, port
)
}
, both integers.
\end{
func
desc}
\code
{
(
\var
{
host
}
,
\var
{
port
}
)
}
, both integers.
\end{
method
desc}
\begin{funcdesc}
{
ActiveOpen
}{
lport, host, rport
}
Open an outgoing connection to TCP address
\code
{
(
\var
{
host
}
,
\var
{
rport
}
)
}
. Use
\begin{methoddesc}
[TCP Stream]
{
ActiveOpen
}{
lport, host, rport
}
Open an outgoing connection to TCP address
\code
{
(
\var
{
host
}
,
\var
{
rport
}
)
}
. Use
local port
\var
{
lport
}
(zero makes the system pick a free port). This
call blocks until the connection has been established.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Send
}{
buf, push, urgent
}
Send data
\var
{
buf
}
over the connection.
\var
{
P
ush
}
and
\var
{
urgent
}
\begin{
methoddesc}
[TCP Stream]
{
Send
}{
buf, push, urgent
}
Send data
\var
{
buf
}
over the connection.
\var
{
p
ush
}
and
\var
{
urgent
}
are flags as specified by the TCP standard.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Rcv
}{
timeout
}
\begin{
methoddesc}
[TCP Stream]
{
Rcv
}{
timeout
}
Receive data. The call returns when
\var
{
timeout
}
seconds have passed
or when (according to the MacTCP documentation) ``a reasonable amount
of data has been received''. The return value is a 3-tuple
\code
{
(
\var
{
data
}
,
\var
{
urgent
}
,
\var
{
mark
}
)
}
. If urgent data is
outstanding
\code
{
Rcv
}
will always return that before looking at any normal data. The first
call returning urgent data will have the
\var
{
urgent
}
flag set,
the
last will have the
\var
{
mark
}
flag set.
\end{
func
desc}
\code
{
(
\var
{
data
}
,
\var
{
urgent
}
,
\var
{
mark
}
)
}
. If urgent data is
outstanding
\code
{
Rcv
}
will always return that before looking at any
normal data. The first call returning urgent data will have
the
\var
{
urgent
}
flag set, the
last will have the
\var
{
mark
}
flag set.
\end{
method
desc}
\begin{
funcdesc}
{
Close
}{}
\begin{
methoddesc}
[TCP Stream]
{
Close
}{}
Tell MacTCP that no more data will be transmitted on this
connection. The call returns when all data has been acknowledged by
the receiving side.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Abort
}{}
\begin{
methoddesc}
[TCP Stream]
{
Abort
}{}
Forcibly close both sides of a connection, ignoring outstanding data.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Status
}{}
\begin{
methoddesc}
[TCP Stream]
{
Status
}{}
Return a TCP status object for this stream giving the current status
(see below).
\end{funcdesc}
\end{methoddesc}
\subsection
{
TCP Status Objects
}
This object has no methods, only some members holding information on
the connection. A complete description of all fields in this objects
can be found in the Apple documentation. The most interesting ones are:
\setindexsubitem
{
(TCP status attribute)
}
\begin{datadesc}
{
localHost
}
\dataline
{
localPort
}
\dataline
{
remoteHost
}
\dataline
{
remotePort
}
\begin{memberdesc}
[TCP Status]
{
localHost
}
\memberline
{
localPort
}
\memberline
{
remoteHost
}
\memberline
{
remotePort
}
The integer IP-addresses and port numbers of both endpoints of the
connection.
\end{
data
desc}
\end{
member
desc}
\begin{
datadesc}
{
sendWindow
}
\begin{
memberdesc}
[TCP Status]
{
sendWindow
}
The current window size.
\end{
data
desc}
\end{
member
desc}
\begin{
datadesc}
{
amtUnackedData
}
\begin{
memberdesc}
[TCP Status]
{
amtUnackedData
}
The number of bytes sent but not yet acknowledged.
\code
{
sendWindow -
amtUnackedData
}
is what you can pass to
\code
{
Send
}
without blocking.
\end{datadesc}
amtUnackedData
}
is what you can pass to
\method
{
Send()
}
without
blocking.
\end{memberdesc}
\begin{
datadesc}
{
amtUnreadData
}
The number of bytes received but not yet read (what you can
\code
{
Recv
}
without blocking).
\end{
data
desc}
\begin{
memberdesc}
[TCP Status]
{
amtUnreadData
}
The number of bytes received but not yet read (what you can
\method
{
Recv()
}
without blocking).
\end{
member
desc}
\subsection
{
UDP Stream Objects
}
Note that, unlike the name suggests, there is nothing stream-like
about UDP.
\setindexsubitem
{
(UDP stream attribute)
}
\begin{datadesc}
{
asr
}
\begin{memberdesc}
[UDP Stream]
{
asr
}
\index
{
asynchronous service routine
}
\index
{
service routine, asynchronous
}
The asynchronous service routine to be called on events such as
datagram arrival without outstanding
\code
{
Read
}
call. The
\
code
{
asr
}
has a
single argument, the event code.
\end{
data
desc}
datagram arrival without outstanding
\code
{
Read
}
call. The
\
var
{
asr
}
has a
single argument, the event code.
\end{
member
desc}
\begin{
datadesc}
{
port
}
A read-only member giving the port number of this UDP
s
tream.
\end{
data
desc}
\begin{
memberdesc}
[UDP Stream]
{
port
}
A read-only member giving the port number of this UDP
S
tream.
\end{
member
desc}
\setindexsubitem
{
(UDP stream method)
}
\begin{
funcdesc}
{
Read
}{
timeout
}
\begin{
methoddesc}
[UDP Stream]
{
Read
}{
timeout
}
Read a datagram, waiting at most
\var
{
timeout
}
seconds (-1 is
infinite). Return the data.
\end{
func
desc}
\end{
method
desc}
\begin{
funcdesc}
{
Write
}{
host, port, buf
}
\begin{
methoddesc}
[UDP Stream]
{
Write
}{
host, port, buf
}
Send
\var
{
buf
}
as a datagram to IP-address
\var
{
host
}
, port
\var
{
port
}
.
\end{
func
desc}
\end{
method
desc}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment