summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/lib/libplatform.tex
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libplatform.tex
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libplatform.tex')
-rw-r--r--sys/src/cmd/python/Doc/lib/libplatform.tex221
1 files changed, 221 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libplatform.tex b/sys/src/cmd/python/Doc/lib/libplatform.tex
new file mode 100644
index 000000000..810e08b63
--- /dev/null
+++ b/sys/src/cmd/python/Doc/lib/libplatform.tex
@@ -0,0 +1,221 @@
+\section{\module{platform} ---
+ Access to underlying platform's identifying data.}
+
+\declaremodule{standard}{platform}
+\modulesynopsis{Retrieves as much platform identifying data as possible.}
+\moduleauthor{Marc-Andre Lemburg}{mal@egenix.com}
+\sectionauthor{Bjorn Pettersen}{bpettersen@corp.fairisaac.com}
+
+\versionadded{2.3}
+
+\begin{notice}
+ Specific platforms listed alphabetically, with Linux included in the
+ \UNIX{} section.
+\end{notice}
+
+\subsection{Cross Platform}
+
+\begin{funcdesc}{architecture}{executable=sys.executable, bits='', linkage=''}
+ Queries the given executable (defaults to the Python interpreter
+ binary) for various architecture information.
+
+ Returns a tuple \code{(bits, linkage)} which contain information about
+ the bit architecture and the linkage format used for the
+ executable. Both values are returned as strings.
+
+ Values that cannot be determined are returned as given by the
+ parameter presets. If bits is given as \code{''}, the
+ \cfunction{sizeof(pointer)}
+ (or \cfunction{sizeof(long)} on Python version < 1.5.2) is used as
+ indicator for the supported pointer size.
+
+ The function relies on the system's \file{file} command to do the
+ actual work. This is available on most if not all \UNIX{}
+ platforms and some non-\UNIX{} platforms and then only if the
+ executable points to the Python interpreter. Reasonable defaults
+ are used when the above needs are not met.
+\end{funcdesc}
+
+\begin{funcdesc}{machine}{}
+ Returns the machine type, e.g. \code{'i386'}.
+ An empty string is returned if the value cannot be determined.
+\end{funcdesc}
+
+\begin{funcdesc}{node}{}
+ Returns the computer's network name (may not be fully qualified!).
+ An empty string is returned if the value cannot be determined.
+\end{funcdesc}
+
+\begin{funcdesc}{platform}{aliased=0, terse=0}
+ Returns a single string identifying the underlying platform
+ with as much useful information as possible.
+
+ The output is intended to be \emph{human readable} rather than
+ machine parseable. It may look different on different platforms and
+ this is intended.
+
+ If \var{aliased} is true, the function will use aliases for various
+ platforms that report system names which differ from their common
+ names, for example SunOS will be reported as Solaris. The
+ \function{system_alias()} function is used to implement this.
+
+ Setting \var{terse} to true causes the function to return only the
+ absolute minimum information needed to identify the platform.
+\end{funcdesc}
+
+\begin{funcdesc}{processor}{}
+ Returns the (real) processor name, e.g. \code{'amdk6'}.
+
+ An empty string is returned if the value cannot be determined. Note
+ that many platforms do not provide this information or simply return
+ the same value as for \function{machine()}. NetBSD does this.
+\end{funcdesc}
+
+\begin{funcdesc}{python_build}{}
+ Returns a tuple \code{(\var{buildno}, \var{builddate})} stating the
+ Python build number and date as strings.
+\end{funcdesc}
+
+\begin{funcdesc}{python_compiler}{}
+ Returns a string identifying the compiler used for compiling Python.
+\end{funcdesc}
+
+\begin{funcdesc}{python_version}{}
+ Returns the Python version as string \code{'major.minor.patchlevel'}
+
+ Note that unlike the Python \code{sys.version}, the returned value
+ will always include the patchlevel (it defaults to 0).
+\end{funcdesc}
+
+\begin{funcdesc}{python_version_tuple}{}
+ Returns the Python version as tuple \code{(\var{major}, \var{minor},
+ \var{patchlevel})} of strings.
+
+ Note that unlike the Python \code{sys.version}, the returned value
+ will always include the patchlevel (it defaults to \code{'0'}).
+\end{funcdesc}
+
+\begin{funcdesc}{release}{}
+ Returns the system's release, e.g. \code{'2.2.0'} or \code{'NT'}
+ An empty string is returned if the value cannot be determined.
+\end{funcdesc}
+
+\begin{funcdesc}{system}{}
+ Returns the system/OS name, e.g. \code{'Linux'}, \code{'Windows'},
+ or \code{'Java'}.
+ An empty string is returned if the value cannot be determined.
+\end{funcdesc}
+
+\begin{funcdesc}{system_alias}{system, release, version}
+ Returns \code{(\var{system}, \var{release}, \var{version})} aliased
+ to common marketing names used for some systems. It also does some
+ reordering of the information in some cases where it would otherwise
+ cause confusion.
+\end{funcdesc}
+
+\begin{funcdesc}{version}{}
+ Returns the system's release version, e.g. \code{'\#3 on degas'}.
+ An empty string is returned if the value cannot be determined.
+\end{funcdesc}
+
+\begin{funcdesc}{uname}{}
+ Fairly portable uname interface. Returns a tuple of strings
+ \code{(\var{system}, \var{node}, \var{release}, \var{version},
+ \var{machine}, \var{processor})} identifying the underlying
+ platform.
+
+ Note that unlike the \function{os.uname()} function this also returns
+ possible processor information as additional tuple entry.
+
+ Entries which cannot be determined are set to \code{''}.
+\end{funcdesc}
+
+
+\subsection{Java Platform}
+
+\begin{funcdesc}{java_ver}{release='', vendor='', vminfo=('','',''),
+ osinfo=('','','')}
+ Version interface for JPython.
+
+ Returns a tuple \code{(\var{release}, \var{vendor}, \var{vminfo},
+ \var{osinfo})} with \var{vminfo} being a tuple \code{(\var{vm_name},
+ \var{vm_release}, \var{vm_vendor})} and \var{osinfo} being a tuple
+ \code{(\var{os_name}, \var{os_version}, \var{os_arch})}.
+ Values which cannot be determined are set to the defaults
+ given as parameters (which all default to \code{''}).
+\end{funcdesc}
+
+
+\subsection{Windows Platform}
+
+\begin{funcdesc}{win32_ver}{release='', version='', csd='', ptype=''}
+ Get additional version information from the Windows Registry
+ and return a tuple \code{(\var{version}, \var{csd}, \var{ptype})}
+ referring to version number, CSD level and OS type (multi/single
+ processor).
+
+ As a hint: \var{ptype} is \code{'Uniprocessor Free'} on single
+ processor NT machines and \code{'Multiprocessor Free'} on multi
+ processor machines. The \emph{'Free'} refers to the OS version being
+ free of debugging code. It could also state \emph{'Checked'} which
+ means the OS version uses debugging code, i.e. code that
+ checks arguments, ranges, etc.
+
+ \begin{notice}[note]
+ This function only works if Mark Hammond's \module{win32all}
+ package is installed and (obviously) only runs on Win32
+ compatible platforms.
+ \end{notice}
+\end{funcdesc}
+
+\subsubsection{Win95/98 specific}
+
+\begin{funcdesc}{popen}{cmd, mode='r', bufsize=None}
+ Portable \function{popen()} interface. Find a working popen
+ implementation preferring \function{win32pipe.popen()}. On Windows
+ NT, \function{win32pipe.popen()} should work; on Windows 9x it hangs
+ due to bugs in the MS C library.
+ % This KnowledgeBase article appears to be missing...
+ %See also \ulink{MS KnowledgeBase article Q150956}{}.
+\end{funcdesc}
+
+
+\subsection{Mac OS Platform}
+
+\begin{funcdesc}{mac_ver}{release='', versioninfo=('','',''), machine=''}
+ Get Mac OS version information and return it as tuple
+ \code{(\var{release}, \var{versioninfo}, \var{machine})} with
+ \var{versioninfo} being a tuple \code{(\var{version},
+ \var{dev_stage}, \var{non_release_version})}.
+
+ Entries which cannot be determined are set to \code{''}. All tuple
+ entries are strings.
+
+ Documentation for the underlying \cfunction{gestalt()} API is
+ available online at \url{http://www.rgaros.nl/gestalt/}.
+\end{funcdesc}
+
+
+\subsection{\UNIX{} Platforms}
+
+\begin{funcdesc}{dist}{distname='', version='', id='',
+ supported_dists=('SuSE','debian','redhat','mandrake')}
+ Tries to determine the name of the OS distribution name
+ Returns a tuple \code{(\var{distname}, \var{version}, \var{id})}
+ which defaults to the args given as parameters.
+\end{funcdesc}
+
+
+\begin{funcdesc}{libc_ver}{executable=sys.executable, lib='',
+ version='', chunksize=2048}
+ Tries to determine the libc version against which the file
+ executable (defaults to the Python interpreter) is linked. Returns
+ a tuple of strings \code{(\var{lib}, \var{version})} which default
+ to the given parameters in case the lookup fails.
+
+ Note that this function has intimate knowledge of how different
+ libc versions add symbols to the executable is probably only
+ useable for executables compiled using \program{gcc}.
+
+ The file is read and scanned in chunks of \var{chunksize} bytes.
+\end{funcdesc}