diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-12-31 03:30:26 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-12-31 03:30:26 (GMT) |
commit | 68dbebc8e8b7d7cbde146612e22ddcab0a03356a (patch) | |
tree | 6a18742cced56bdb1adfdab3412626087d4ccf09 /PC/msvcrtmodule.c | |
parent | 9207804bdb8492d68455e7a950e70e87e6984232 (diff) | |
download | cpython-68dbebc8e8b7d7cbde146612e22ddcab0a03356a.zip cpython-68dbebc8e8b7d7cbde146612e22ddcab0a03356a.tar.gz cpython-68dbebc8e8b7d7cbde146612e22ddcab0a03356a.tar.bz2 |
Merged revisions 77167 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r77167 | benjamin.peterson | 2009-12-30 21:11:23 -0600 (Wed, 30 Dec 2009) | 61 lines
Merged revisions 76847,76851,76869,76882,76891-76892,76924,77007,77070,77092,77096,77120,77126,77155 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76847 | benjamin.peterson | 2009-12-14 21:25:27 -0600 (Mon, 14 Dec 2009) | 1 line
adverb
........
r76851 | benjamin.peterson | 2009-12-15 21:28:52 -0600 (Tue, 15 Dec 2009) | 1 line
remove lib2to3 resource
........
r76869 | vinay.sajip | 2009-12-17 08:52:00 -0600 (Thu, 17 Dec 2009) | 1 line
Issue #7529: logging: Minor correction to documentation.
........
r76882 | georg.brandl | 2009-12-19 11:30:28 -0600 (Sat, 19 Dec 2009) | 1 line
#7527: use standard versionadded tags.
........
r76891 | georg.brandl | 2009-12-19 12:16:31 -0600 (Sat, 19 Dec 2009) | 1 line
#7479: add note about function availability on Unices.
........
r76892 | georg.brandl | 2009-12-19 12:20:18 -0600 (Sat, 19 Dec 2009) | 1 line
#7480: remove tautology.
........
r76924 | georg.brandl | 2009-12-20 08:28:05 -0600 (Sun, 20 Dec 2009) | 1 line
Small indentation fix.
........
r77007 | gregory.p.smith | 2009-12-23 03:31:11 -0600 (Wed, 23 Dec 2009) | 3 lines
Fix possible integer overflow in lchown and fchown functions. For issue1747858.
........
r77070 | amaury.forgeotdarc | 2009-12-27 14:06:44 -0600 (Sun, 27 Dec 2009) | 2 lines
Fix a typo in comment
........
r77092 | georg.brandl | 2009-12-28 02:48:24 -0600 (Mon, 28 Dec 2009) | 1 line
#7404: remove reference to non-existing example files.
........
r77096 | benjamin.peterson | 2009-12-28 14:51:17 -0600 (Mon, 28 Dec 2009) | 1 line
document new fix_callable behavior
........
r77120 | georg.brandl | 2009-12-29 15:09:17 -0600 (Tue, 29 Dec 2009) | 1 line
#7595: fix typo in argument default constant.
........
r77126 | amaury.forgeotdarc | 2009-12-29 17:06:17 -0600 (Tue, 29 Dec 2009) | 2 lines
#7579: Add docstrings to the msvcrt module
........
r77155 | georg.brandl | 2009-12-30 13:03:00 -0600 (Wed, 30 Dec 2009) | 1 line
We only support Windows NT derivatives now.
........
................
Diffstat (limited to 'PC/msvcrtmodule.c')
-rwxr-xr-x | PC/msvcrtmodule.c | 118 |
1 files changed, 104 insertions, 14 deletions
diff --git a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c index 3ef1b7c..48e739f 100755 --- a/PC/msvcrtmodule.c +++ b/PC/msvcrtmodule.c @@ -45,6 +45,12 @@ msvcrt_heapmin(PyObject *self, PyObject *args) return Py_None; } +PyDoc_STRVAR(heapmin_doc, +"heapmin() -> None\n\ +\n\ +Force the malloc() heap to clean itself up and return unused blocks\n\ +to the operating system. On failure, this raises IOError."); + // Perform locking operations on a C runtime file descriptor. static PyObject * msvcrt_locking(PyObject *self, PyObject *args) @@ -67,6 +73,17 @@ msvcrt_locking(PyObject *self, PyObject *args) return Py_None; } +PyDoc_STRVAR(locking_doc, +"locking(fd, mode, nbytes) -> None\n\ +\n\ +Lock part of a file based on file descriptor fd from the C runtime.\n\ +Raises IOError on failure. The locked region of the file extends from\n\ +the current file position for nbytes bytes, and may continue beyond\n\ +the end of the file. mode must be one of the LK_* constants listed\n\ +below. Multiple regions in a file may be locked at the same time, but\n\ +may not overlap. Adjacent regions are not merged; they must be unlocked\n\ +individually."); + // Set the file translation mode for a C runtime file descriptor. static PyObject * msvcrt_setmode(PyObject *self, PyObject *args) @@ -83,6 +100,13 @@ msvcrt_setmode(PyObject *self, PyObject *args) return PyLong_FromLong(flags); } +PyDoc_STRVAR(setmode_doc, +"setmode(fd, mode) -> Previous mode\n\ +\n\ +Set the line-end translation mode for the file descriptor fd. To set\n\ +it to text mode, flags should be os.O_TEXT; for binary, it should be\n\ +os.O_BINARY."); + // Convert an OS file handle to a C runtime file descriptor. static PyObject * msvcrt_open_osfhandle(PyObject *self, PyObject *args) @@ -101,6 +125,14 @@ msvcrt_open_osfhandle(PyObject *self, PyObject *args) return PyLong_FromLong(fd); } +PyDoc_STRVAR(open_osfhandle_doc, +"open_osfhandle(handle, flags) -> file descriptor\n\ +\n\ +Create a C runtime file descriptor from the file handle handle. The\n\ +flags parameter should be a bitwise OR of os.O_APPEND, os.O_RDONLY,\n\ +and os.O_TEXT. The returned file descriptor may be used as a parameter\n\ +to os.fdopen() to create a file object."); + // Convert a C runtime file descriptor to an OS file handle. static PyObject * msvcrt_get_osfhandle(PyObject *self, PyObject *args) @@ -121,6 +153,12 @@ msvcrt_get_osfhandle(PyObject *self, PyObject *args) return PyLong_FromVoidPtr((void*)handle); } +PyDoc_STRVAR(get_osfhandle_doc, +"get_osfhandle(fd) -> file handle\n\ +\n\ +Return the file handle for the file descriptor fd. Raises IOError\n\ +if fd is not recognized."); + /* Console I/O */ static PyObject * @@ -135,6 +173,11 @@ msvcrt_kbhit(PyObject *self, PyObject *args) return PyLong_FromLong(ok); } +PyDoc_STRVAR(kbhit_doc, +"kbhit() -> bool\n\ +\n\ +Return true if a keypress is waiting to be read."); + static PyObject * msvcrt_getch(PyObject *self, PyObject *args) { @@ -151,6 +194,16 @@ msvcrt_getch(PyObject *self, PyObject *args) return PyBytes_FromStringAndSize(s, 1); } +PyDoc_STRVAR(getch_doc, +"getch() -> key character\n\ +\n\ +Read a keypress and return the resulting character. Nothing is echoed to\n\ +the console. This call will block if a keypress is not already\n\ +available, but will not wait for Enter to be pressed. If the pressed key\n\ +was a special function key, this will return '\\000' or '\\xe0'; the next\n\ +call will return the keycode. The Control-C keypress cannot be read with\n\ +this function."); + #ifdef _WCONIO_DEFINED static PyObject * msvcrt_getwch(PyObject *self, PyObject *args) @@ -167,6 +220,11 @@ msvcrt_getwch(PyObject *self, PyObject *args) u[0] = ch; return PyUnicode_FromUnicode(u, 1); } + +PyDoc_STRVAR(getwch_doc, +"getwch() -> Unicode key character\n\ +\n\ +Wide char variant of getch(), returning a Unicode value."); #endif static PyObject * @@ -185,6 +243,12 @@ msvcrt_getche(PyObject *self, PyObject *args) return PyBytes_FromStringAndSize(s, 1); } +PyDoc_STRVAR(getche_doc, +"getche() -> key character\n\ +\n\ +Similar to getch(), but the keypress will be echoed if it represents\n\ +a printable character."); + #ifdef _WCONIO_DEFINED static PyObject * msvcrt_getwche(PyObject *self, PyObject *args) @@ -201,6 +265,11 @@ msvcrt_getwche(PyObject *self, PyObject *args) s[0] = ch; return PyUnicode_FromUnicode(s, 1); } + +PyDoc_STRVAR(getwche_doc, +"getwche() -> Unicode key character\n\ +\n\ +Wide char variant of getche(), returning a Unicode value."); #endif static PyObject * @@ -216,6 +285,11 @@ msvcrt_putch(PyObject *self, PyObject *args) return Py_None; } +PyDoc_STRVAR(putch_doc, +"putch(char) -> None\n\ +\n\ +Print the character char to the console without buffering."); + #ifdef _WCONIO_DEFINED static PyObject * msvcrt_putwch(PyObject *self, PyObject *args) @@ -229,6 +303,11 @@ msvcrt_putwch(PyObject *self, PyObject *args) Py_RETURN_NONE; } + +PyDoc_STRVAR(putwch_doc, +"putwch(unicode_char) -> None\n\ +\n\ +Wide char variant of putch(), accepting a Unicode value."); #endif static PyObject * @@ -245,6 +324,12 @@ msvcrt_ungetch(PyObject *self, PyObject *args) return Py_None; } +PyDoc_STRVAR(ungetch_doc, +"ungetch(char) -> None\n\ +\n\ +Cause the character char to be \"pushed back\" into the console buffer;\n\ +it will be the next character read by getch() or getche()."); + #ifdef _WCONIO_DEFINED static PyObject * msvcrt_ungetwch(PyObject *self, PyObject *args) @@ -259,6 +344,11 @@ msvcrt_ungetwch(PyObject *self, PyObject *args) Py_INCREF(Py_None); return Py_None; } + +PyDoc_STRVAR(ungetwch_doc, +"ungetwch(unicode_char) -> None\n\ +\n\ +Wide char variant of ungetch(), accepting a Unicode value."); #endif static void @@ -332,16 +422,16 @@ seterrormode(PyObject *self, PyObject *args) /* List of functions exported by this module */ static struct PyMethodDef msvcrt_functions[] = { - {"heapmin", msvcrt_heapmin, METH_VARARGS}, - {"locking", msvcrt_locking, METH_VARARGS}, - {"setmode", msvcrt_setmode, METH_VARARGS}, - {"open_osfhandle", msvcrt_open_osfhandle, METH_VARARGS}, - {"get_osfhandle", msvcrt_get_osfhandle, METH_VARARGS}, - {"kbhit", msvcrt_kbhit, METH_VARARGS}, - {"getch", msvcrt_getch, METH_VARARGS}, - {"getche", msvcrt_getche, METH_VARARGS}, - {"putch", msvcrt_putch, METH_VARARGS}, - {"ungetch", msvcrt_ungetch, METH_VARARGS}, + {"heapmin", msvcrt_heapmin, METH_VARARGS, heapmin_doc}, + {"locking", msvcrt_locking, METH_VARARGS, locking_doc}, + {"setmode", msvcrt_setmode, METH_VARARGS, setmode_doc}, + {"open_osfhandle", msvcrt_open_osfhandle, METH_VARARGS, open_osfhandle_doc}, + {"get_osfhandle", msvcrt_get_osfhandle, METH_VARARGS, get_osfhandle_doc}, + {"kbhit", msvcrt_kbhit, METH_VARARGS, kbhit_doc}, + {"getch", msvcrt_getch, METH_VARARGS, getch_doc}, + {"getche", msvcrt_getche, METH_VARARGS, getche_doc}, + {"putch", msvcrt_putch, METH_VARARGS, putch_doc}, + {"ungetch", msvcrt_ungetch, METH_VARARGS, ungetch_doc}, {"SetErrorMode", seterrormode, METH_VARARGS}, #ifdef _DEBUG {"CrtSetReportFile", msvcrt_setreportfile, METH_VARARGS}, @@ -349,10 +439,10 @@ static struct PyMethodDef msvcrt_functions[] = { {"set_error_mode", msvcrt_seterrormode, METH_VARARGS}, #endif #ifdef _WCONIO_DEFINED - {"getwch", msvcrt_getwch, METH_VARARGS}, - {"getwche", msvcrt_getwche, METH_VARARGS}, - {"putwch", msvcrt_putwch, METH_VARARGS}, - {"ungetwch", msvcrt_ungetwch, METH_VARARGS}, + {"getwch", msvcrt_getwch, METH_VARARGS, getwch_doc}, + {"getwche", msvcrt_getwche, METH_VARARGS, getwche_doc}, + {"putwch", msvcrt_putwch, METH_VARARGS, putwch_doc}, + {"ungetwch", msvcrt_ungetwch, METH_VARARGS, ungetwch_doc}, #endif {NULL, NULL} }; |