diff options
author | Guido van Rossum <guido@python.org> | 1996-06-12 04:04:55 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1996-06-12 04:04:55 (GMT) |
commit | 006bf915300a459978d02fbb8523852db7051f75 (patch) | |
tree | 0770d4bdcbe97cbdd125185c5d2670c6383ab682 /Modules | |
parent | d639d4d6d6ef973589eb151991de81677c1d38a4 (diff) | |
download | cpython-006bf915300a459978d02fbb8523852db7051f75.zip cpython-006bf915300a459978d02fbb8523852db7051f75.tar.gz cpython-006bf915300a459978d02fbb8523852db7051f75.tar.bz2 |
ntohs, ntohl, htons, htonl -- thanks to Lance
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/socketmodule.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 204dc29..ebdda89 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -40,6 +40,10 @@ Module interface: - socket.gethostname() --> host name (string: 'spam' or 'spam.domain.com') - socket.getservbyname(servicename, protocolname) --> port number - socket.socket(family, type [, proto]) --> new socket object +- socket.ntohs(16 bit value) --> new int object +- socket.ntohl(32 bit value) --> new int object +- socket.htons(16 bit value) --> new int object +- socket.htonl(32 bit value) --> new int object - socket.AF_INET, socket.SOCK_STREAM, etc.: constants from <socket.h> - an Internet socket address is a pair (hostname, port) where hostname can be anything recognized by gethostbyname() @@ -1199,6 +1203,54 @@ static PyObject * PySocket_WSACleanup(self, args) return Py_None; } +static PyObject * +BUILD_FUNC_DEF_2(PySocket_ntohs, PyObject *, self, PyObject *, args) +{ + int x1, x2; + + if (!PyArg_Parse(args, "i", &x1)) { + return NULL; + } + x2 = (int)ntohs((short)x1); + return PyInt_FromLong(x2); +} + +static PyObject * +BUILD_FUNC_DEF_2(PySocket_ntohl, PyObject *, self, PyObject *, args) +{ + int x1, x2; + + if (!PyArg_Parse(args, "i", &x1)) { + return NULL; + } + x2 = ntohl(x1); + return PyInt_FromLong(x2); +} + +static PyObject * +BUILD_FUNC_DEF_2(PySocket_htons, PyObject *, self, PyObject *, args) +{ + int x1, x2; + + if (!PyArg_Parse(args, "i", &x1)) { + return NULL; + } + x2 = (int)htons((short)x1); + return PyInt_FromLong(x2); +} + +static PyObject * +BUILD_FUNC_DEF_2(PySocket_htonl, PyObject *, self, PyObject *, args) +{ + int x1, x2; + + if (!PyArg_Parse(args, "i", &x1)) { + return NULL; + } + x2 = htonl(x1); + return PyInt_FromLong(x2); +} + /* List of functions exported by this module. */ static PyMethodDef PySocket_methods[] = { @@ -1212,6 +1264,10 @@ static PyMethodDef PySocket_methods[] = { #ifndef NO_DUP {"fromfd", PySocket_fromfd}, #endif + {"ntohs", PySocket_ntohs}, + {"ntohl", PySocket_ntohl}, + {"htons", PySocket_htons}, + {"htonl", PySocket_htonl}, {NULL, NULL} /* Sentinel */ }; |