mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-04-12 02:20:58 +00:00
Fix compilation and usage under Windows system.
git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@3827 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
parent
67536fc153
commit
4a5a4ed0bf
2 changed files with 53 additions and 45 deletions
|
|
@ -4,7 +4,6 @@
|
|||
import socket
|
||||
import errno
|
||||
import array
|
||||
import fcntl
|
||||
import struct
|
||||
from _network import ifreq_size
|
||||
from .. import log, LOG_DNS
|
||||
|
|
@ -45,6 +44,7 @@ class IfConfig (object):
|
|||
self.ifr_size = ifreq_size()
|
||||
|
||||
def _ioctl (self, func, args):
|
||||
import fcntl
|
||||
return fcntl.ioctl(self.sockfd.fileno(), func, args)
|
||||
|
||||
def _getifreq (self, ifname):
|
||||
|
|
|
|||
|
|
@ -1,44 +1,52 @@
|
|||
/* Copyright (C) 2000-2008 Bastian Kleineidam
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "Python.h"
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/if.h>
|
||||
|
||||
|
||||
/* The struct ifreq size varies on different platforms, so we need
|
||||
this helper function to determine the size of it.
|
||||
*/
|
||||
static PyObject* network_ifreq_size (PyObject* self, PyObject* args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return NULL;
|
||||
return Py_BuildValue("i", sizeof(struct ifreq));
|
||||
}
|
||||
|
||||
|
||||
static PyMethodDef _functions[] = {
|
||||
{"ifreq_size", network_ifreq_size, METH_VARARGS,
|
||||
"Return sizeof(struct ifreq)."},
|
||||
{NULL, NULL, 0, NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
|
||||
PyMODINIT_FUNC init_network(void)
|
||||
{
|
||||
(void) Py_InitModule("_network", _functions);
|
||||
}
|
||||
/* Copyright (C) 2000-2008 Bastian Kleineidam
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#include "Python.h"
|
||||
#ifndef WIN32
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/if.h>
|
||||
#endif
|
||||
|
||||
/* The struct ifreq size varies on different platforms, so we need
|
||||
this helper function to determine the size of it.
|
||||
On Windows platforms this function returns zero.
|
||||
*/
|
||||
static PyObject* network_ifreq_size (PyObject* self, PyObject* args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return NULL;
|
||||
return Py_BuildValue("i",
|
||||
#ifdef WIN32
|
||||
0
|
||||
#else
|
||||
sizeof(struct ifreq)
|
||||
#endif
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
static PyMethodDef _functions[] = {
|
||||
{"ifreq_size", network_ifreq_size, METH_VARARGS,
|
||||
"Return sizeof(struct ifreq)."},
|
||||
{NULL, NULL, 0, NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
|
||||
PyMODINIT_FUNC init_network(void)
|
||||
{
|
||||
(void) Py_InitModule("_network", _functions);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue