diff --git a/pcap.pxd b/pcap.pxd index 03c7a08..8b5cbfe 100644 --- a/pcap.pxd +++ b/pcap.pxd @@ -95,6 +95,7 @@ cdef extern from "pcap.h": int pcap_set_timeout(pcap_t *, int) int pcap_set_buffer_size(pcap_t *, int) int pcap_fileno(pcap_t *) + int pcap_get_selectable_fd(pcap_t *) int pcap_setnonblock(pcap_t *, int, char *) int pcap_getnonblock(pcap_t *, char *) diff --git a/setup.py b/setup.py index 6c9ec37..ec4bcf9 100644 --- a/setup.py +++ b/setup.py @@ -6,5 +6,10 @@ os.system('make definitions.pxi') setup( + name='yappcap', + version='0.0.3', + description='A very Pythonic libpcap wrapper that aims to include as much of the API as is practical', + author='Terry Wilson', + url='https://github.com/otherwiseguy/yappcap', ext_modules=cythonize('yappcap.pyx') ) diff --git a/yappcap.c b/yappcap.c index 38d611f..36adfc3 100644 --- a/yappcap.c +++ b/yappcap.c @@ -1,4 +1,4 @@ -/* Generated by Cython 0.24.1 */ +/* Generated by Cython 0.25.2 */ /* BEGIN: Cython Metadata { @@ -19,7 +19,7 @@ END: Cython Metadata */ #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03020000) #error Cython requires Python 2.6+ or Python 3.2+. #else -#define CYTHON_ABI "0_24_1" +#define CYTHON_ABI "0_25_2" #include #ifndef offsetof #define offsetof(type, member) ( (size_t) & ((type*)0) -> member ) @@ -41,6 +41,11 @@ END: Cython Metadata */ #ifndef DL_EXPORT #define DL_EXPORT(t) t #endif +#ifndef HAVE_LONG_LONG + #if PY_VERSION_HEX >= 0x03030000 || (PY_MAJOR_VERSION == 2 && PY_VERSION_HEX >= 0x02070000) + #define HAVE_LONG_LONG + #endif +#endif #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif @@ -49,13 +54,110 @@ END: Cython Metadata */ #endif #ifdef PYPY_VERSION #define CYTHON_COMPILING_IN_PYPY 1 + #define CYTHON_COMPILING_IN_PYSTON 0 + #define CYTHON_COMPILING_IN_CPYTHON 0 + #undef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 0 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #undef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #undef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 1 + #undef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 0 + #undef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 0 + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 +#elif defined(PYSTON_VERSION) + #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 1 #define CYTHON_COMPILING_IN_CPYTHON 0 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #undef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 0 + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #undef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 0 + #undef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 0 #else #define CYTHON_COMPILING_IN_PYPY 0 + #define CYTHON_COMPILING_IN_PYSTON 0 #define CYTHON_COMPILING_IN_CPYTHON 1 + #ifndef CYTHON_USE_TYPE_SLOTS + #define CYTHON_USE_TYPE_SLOTS 1 + #endif + #if PY_MAJOR_VERSION < 3 + #undef CYTHON_USE_ASYNC_SLOTS + #define CYTHON_USE_ASYNC_SLOTS 0 + #elif !defined(CYTHON_USE_ASYNC_SLOTS) + #define CYTHON_USE_ASYNC_SLOTS 1 + #endif + #if PY_VERSION_HEX < 0x02070000 + #undef CYTHON_USE_PYLONG_INTERNALS + #define CYTHON_USE_PYLONG_INTERNALS 0 + #elif !defined(CYTHON_USE_PYLONG_INTERNALS) + #define CYTHON_USE_PYLONG_INTERNALS 1 + #endif + #ifndef CYTHON_USE_PYLIST_INTERNALS + #define CYTHON_USE_PYLIST_INTERNALS 1 + #endif + #ifndef CYTHON_USE_UNICODE_INTERNALS + #define CYTHON_USE_UNICODE_INTERNALS 1 + #endif + #if PY_VERSION_HEX < 0x030300F0 + #undef CYTHON_USE_UNICODE_WRITER + #define CYTHON_USE_UNICODE_WRITER 0 + #elif !defined(CYTHON_USE_UNICODE_WRITER) + #define CYTHON_USE_UNICODE_WRITER 1 + #endif + #ifndef CYTHON_AVOID_BORROWED_REFS + #define CYTHON_AVOID_BORROWED_REFS 0 + #endif + #ifndef CYTHON_ASSUME_SAFE_MACROS + #define CYTHON_ASSUME_SAFE_MACROS 1 + #endif + #ifndef CYTHON_UNPACK_METHODS + #define CYTHON_UNPACK_METHODS 1 + #endif + #ifndef CYTHON_FAST_THREAD_STATE + #define CYTHON_FAST_THREAD_STATE 1 + #endif + #ifndef CYTHON_FAST_PYCALL + #define CYTHON_FAST_PYCALL 1 + #endif #endif -#if !defined(CYTHON_USE_PYLONG_INTERNALS) && CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x02070000 - #define CYTHON_USE_PYLONG_INTERNALS 1 +#if !defined(CYTHON_FAST_PYCCALL) +#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1) #endif #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" @@ -91,24 +193,44 @@ END: Cython Metadata */ #ifndef Py_TPFLAGS_HAVE_FINALIZE #define Py_TPFLAGS_HAVE_FINALIZE 0 #endif +#ifndef METH_FASTCALL + #define METH_FASTCALL 0x80 + typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args, + Py_ssize_t nargs, PyObject *kwnames); +#else + #define __Pyx_PyCFunctionFast _PyCFunctionFast +#endif +#if CYTHON_FAST_PYCCALL +#define __Pyx_PyFastCFunction_Check(func)\ + ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST))))) +#else +#define __Pyx_PyFastCFunction_Check(func) 0 +#endif #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) #define CYTHON_PEP393_ENABLED 1 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ 0 : _PyUnicode_Ready((PyObject *)(op))) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u) #define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u) #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) #else #define CYTHON_PEP393_ENABLED 0 + #define PyUnicode_1BYTE_KIND 1 + #define PyUnicode_2BYTE_KIND 2 + #define PyUnicode_4BYTE_KIND 4 #define __Pyx_PyUnicode_READY(op) (0) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u) #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i])) + #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111) #define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE)) #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u)) #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i])) + #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch) #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u)) #endif #if CYTHON_COMPILING_IN_PYPY @@ -133,6 +255,13 @@ END: Cython Metadata */ #define PyObject_Free(p) PyMem_Free(p) #define PyObject_Realloc(p) PyMem_Realloc(p) #endif +#if CYTHON_COMPILING_IN_PYSTON + #define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno) +#else + #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0) + #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno) +#endif #define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b)) #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b)) #if PY_MAJOR_VERSION >= 3 @@ -161,6 +290,7 @@ END: Cython Metadata */ #define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type) #endif #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type) +#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception) #if PY_MAJOR_VERSION >= 3 #define PyIntObject PyLongObject #define PyInt_Type PyLong_Type @@ -199,18 +329,20 @@ END: Cython Metadata */ #else #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass) #endif -#if PY_VERSION_HEX >= 0x030500B1 -#define __Pyx_PyAsyncMethodsStruct PyAsyncMethods -#define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) -#elif CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 -typedef struct { - unaryfunc am_await; - unaryfunc am_aiter; - unaryfunc am_anext; -} __Pyx_PyAsyncMethodsStruct; -#define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) +#if CYTHON_USE_ASYNC_SLOTS + #if PY_VERSION_HEX >= 0x030500B1 + #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods + #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async) + #else + typedef struct { + unaryfunc am_await; + unaryfunc am_aiter; + unaryfunc am_anext; + } __Pyx_PyAsyncMethodsStruct; + #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved)) + #endif #else -#define __Pyx_PyType_AsAsync(obj) NULL + #define __Pyx_PyType_AsAsync(obj) NULL #endif #ifndef CYTHON_RESTRICT #if defined(__GNUC__) @@ -223,10 +355,39 @@ typedef struct { #define CYTHON_RESTRICT #endif #endif +#ifndef CYTHON_UNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) +# define CYTHON_UNUSED __attribute__ ((__unused__)) +# else +# define CYTHON_UNUSED +# endif +#endif +#ifndef CYTHON_MAYBE_UNUSED_VAR +# if defined(__cplusplus) + template void CYTHON_MAYBE_UNUSED_VAR( const T& ) { } +# else +# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x) +# endif +#endif +#ifndef CYTHON_NCP_UNUSED +# if CYTHON_COMPILING_IN_CPYTHON +# define CYTHON_NCP_UNUSED +# else +# define CYTHON_NCP_UNUSED CYTHON_UNUSED +# endif +#endif #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None) #ifndef CYTHON_INLINE - #if defined(__GNUC__) + #if defined(__clang__) + #define CYTHON_INLINE __inline__ __attribute__ ((__unused__)) + #elif defined(__GNUC__) #define CYTHON_INLINE __inline__ #elif defined(_MSC_VER) #define CYTHON_INLINE __inline @@ -285,8 +446,8 @@ static CYTHON_INLINE float __PYX_NAN() { #include "linux/if_packet.h" #include "netdb.h" #include "pcap.h" -#include "string.h" -#include "stdio.h" +#include +#include #include "pythread.h" #ifdef _OPENMP #include @@ -296,26 +457,6 @@ static CYTHON_INLINE float __PYX_NAN() { #define CYTHON_WITHOUT_ASSERTIONS #endif -#ifndef CYTHON_UNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) -# define CYTHON_UNUSED __attribute__ ((__unused__)) -# else -# define CYTHON_UNUSED -# endif -#endif -#ifndef CYTHON_NCP_UNUSED -# if CYTHON_COMPILING_IN_CPYTHON -# define CYTHON_NCP_UNUSED -# else -# define CYTHON_NCP_UNUSED CYTHON_UNUSED -# endif -#endif typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; @@ -393,7 +534,7 @@ static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -#if CYTHON_COMPILING_IN_CPYTHON +#if CYTHON_ASSUME_SAFE_MACROS #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) #else #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x) @@ -504,9 +645,9 @@ static const char *__pyx_filename; static const char *__pyx_f[] = { "yappcap.pyx", - ".27env/lib/python2.7/site-packages/Cython/Includes/cpython/type.pxd", - ".27env/lib/python2.7/site-packages/Cython/Includes/cpython/bool.pxd", - ".27env/lib/python2.7/site-packages/Cython/Includes/cpython/complex.pxd", + ".ve/local/lib/python2.7/site-packages/Cython/Includes/cpython/type.pxd", + ".ve/local/lib/python2.7/site-packages/Cython/Includes/cpython/bool.pxd", + ".ve/local/lib/python2.7/site-packages/Cython/Includes/cpython/complex.pxd", }; /*--- Type declarations ---*/ @@ -520,7 +661,7 @@ struct __pyx_obj_7yappcap_PcapAddress; struct __pyx_obj_7yappcap_BpfProgram; struct __pyx_t_4pcap_pcap_callback_ctx; -/* "pcap.pxd":130 +/* "pcap.pxd":131 * void pcap_freealldevs(pcap_if_t *) * * cdef struct pcap_callback_ctx: # <<<<<<<<<<<<<< @@ -552,7 +693,7 @@ struct __pyx_obj_7yappcap_Pcap { }; -/* "yappcap.pyx":242 +/* "yappcap.pyx":270 * * # Things that work with pcap_open_live/pcap_create * cdef class PcapLive(Pcap): # <<<<<<<<<<<<<< @@ -570,7 +711,7 @@ struct __pyx_obj_7yappcap_PcapLive { }; -/* "yappcap.pyx":505 +/* "yappcap.pyx":547 * * # Things that work with pcap_open_offline * cdef class PcapOffline(Pcap): # <<<<<<<<<<<<<< @@ -583,7 +724,7 @@ struct __pyx_obj_7yappcap_PcapOffline { }; -/* "yappcap.pyx":553 +/* "yappcap.pyx":595 * return pcap_minor_version(self.__pcap) * * cdef class PcapPacket: # <<<<<<<<<<<<<< @@ -610,7 +751,7 @@ struct __pyx_obj_7yappcap_PcapDumper { }; -/* "yappcap.pyx":609 +/* "yappcap.pyx":651 * * # Read only cdef factory-created * cdef class PcapInterface: # <<<<<<<<<<<<<< @@ -626,7 +767,7 @@ struct __pyx_obj_7yappcap_PcapInterface { }; -/* "yappcap.pyx":672 +/* "yappcap.pyx":714 * * # Read only cdef factory-created * cdef class PcapAddress: # <<<<<<<<<<<<<< @@ -671,7 +812,7 @@ struct __pyx_vtabstruct_7yappcap_Pcap { static struct __pyx_vtabstruct_7yappcap_Pcap *__pyx_vtabptr_7yappcap_Pcap; -/* "yappcap.pyx":242 +/* "yappcap.pyx":270 * * # Things that work with pcap_open_live/pcap_create * cdef class PcapLive(Pcap): # <<<<<<<<<<<<<< @@ -685,7 +826,7 @@ struct __pyx_vtabstruct_7yappcap_PcapLive { static struct __pyx_vtabstruct_7yappcap_PcapLive *__pyx_vtabptr_7yappcap_PcapLive; -/* "yappcap.pyx":505 +/* "yappcap.pyx":547 * * # Things that work with pcap_open_offline * cdef class PcapOffline(Pcap): # <<<<<<<<<<<<<< @@ -763,7 +904,7 @@ static struct __pyx_vtabstruct_7yappcap_PcapOffline *__pyx_vtabptr_7yappcap_Pcap #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) /* PyObjectGetAttrStr.proto */ -#if CYTHON_COMPILING_IN_CPYTHON +#if CYTHON_USE_TYPE_SLOTS static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { PyTypeObject* tp = Py_TYPE(obj); if (likely(tp->tp_getattro)) @@ -784,6 +925,24 @@ static PyObject *__Pyx_GetBuiltinName(PyObject *name); /* ExtTypeTest.proto */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); +/* PyCFunctionFastCall.proto */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs); +#else +#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL) +#endif + +/* PyFunctionFastCall.proto */ +#if CYTHON_FAST_PYCALL +#define __Pyx_PyFunction_FastCall(func, args, nargs)\ + __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL) +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs); +#else +#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) +#endif +#endif + /* PyObjectCall.proto */ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); @@ -814,7 +973,7 @@ static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /* PyThreadStateGet.proto */ -#if CYTHON_COMPILING_IN_CPYTHON +#if CYTHON_FAST_THREAD_STATE #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate; #define __Pyx_PyThreadState_assign __pyx_tstate = PyThreadState_GET(); #else @@ -823,7 +982,7 @@ static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* #endif /* PyErrFetchRestore.proto */ -#if CYTHON_COMPILING_IN_CPYTHON +#if CYTHON_FAST_THREAD_STATE #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb) #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb) #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb) @@ -857,7 +1016,7 @@ static void __Pyx_WriteUnraisable(const char *name, int clineno, int full_traceback, int nogil); /* PyObjectSetAttrStr.proto */ -#if CYTHON_COMPILING_IN_CPYTHON +#if CYTHON_USE_TYPE_SLOTS #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o,n,NULL) static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) { PyTypeObject* tp = Py_TYPE(obj); @@ -875,7 +1034,7 @@ static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr #endif /* PyIntBinop.proto */ -#if CYTHON_COMPILING_IN_CPYTHON +#if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, int inplace); #else #define __Pyx_PyInt_EqObjC(op1, op2, intval, inplace)\ @@ -896,7 +1055,7 @@ static CYTHON_INLINE PyObject* __Pyx_decode_c_string( PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)); /* ListAppend.proto */ -#if CYTHON_COMPILING_IN_CPYTHON +#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) { PyListObject* L = (PyListObject*) list; Py_ssize_t len = Py_SIZE(list); @@ -1091,7 +1250,6 @@ static struct __pyx_obj_7yappcap_PcapAddress *__pyx_f_7yappcap_PcapAddress_facto int __pyx_module_is_main_yappcap = 0; /* Implementation of 'yappcap' */ -static PyObject *__pyx_builtin_Exception; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_StopIteration; static const char __pyx_k_i[] = "i"; @@ -1136,7 +1294,6 @@ static const char __pyx_k_autosave[] = "autosave"; static const char __pyx_k_callback[] = "callback"; static const char __pyx_k_filename[] = "filename"; static const char __pyx_k_qualname[] = "__qualname__"; -static const char __pyx_k_Exception[] = "Exception"; static const char __pyx_k_PcapError[] = "PcapError"; static const char __pyx_k_TypeError[] = "TypeError"; static const char __pyx_k_activated[] = "activated"; @@ -1165,13 +1322,12 @@ static const char __pyx_k_PcapErrorRfmonNotSup[] = "PcapErrorRfmonNotSup"; static const char __pyx_k_PcapErrorNoSuchDevice[] = "PcapErrorNoSuchDevice"; static const char __pyx_k_PcapErrorNotActivated[] = "PcapErrorNotActivated"; static const char __pyx_k_PcapWarningPromiscNotSup[] = "PcapWarningPromiscNotSup"; -static const char __pyx_k_home_terry_src_yappcap_yappcap[] = "/home/terry/src/yappcap/yappcap.pyx"; static const char __pyx_k_Packet_received_at_f_with_lengt[] = ""; +static const char __pyx_k_home_nesterov_PycharmProjects_y[] = "/home/nesterov/PycharmProjects/yappcap/yappcap.pyx"; static const char __pyx_k_Instances_of_this_class_cannot_b[] = "Instances of this class cannot be created from Python"; static const char __pyx_k_Instantiate_a_PcapLive_of_PcapOf[] = "Instantiate a PcapLive of PcapOffline class"; static const char __pyx_k_Must_pass_a_BpfProgram_or_string[] = "Must pass a BpfProgram or string type"; static const char __pyx_k_This_class_cannot_be_instantiate[] = "This class cannot be instantiated from Python"; -static PyObject *__pyx_n_s_Exception; static PyObject *__pyx_n_s_IPv4; static PyObject *__pyx_n_s_IPv6; static PyObject *__pyx_kp_s_Instances_of_this_class_cannot_b; @@ -1219,7 +1375,7 @@ static PyObject *__pyx_n_s_filename; static PyObject *__pyx_n_s_filterstring; static PyObject *__pyx_n_s_findalldevs; static PyObject *__pyx_n_s_get; -static PyObject *__pyx_kp_s_home_terry_src_yappcap_yappcap; +static PyObject *__pyx_kp_s_home_nesterov_PycharmProjects_y; static PyObject *__pyx_n_s_i; static PyObject *__pyx_n_s_import; static PyObject *__pyx_n_s_interface; @@ -1251,15 +1407,16 @@ static PyObject *__pyx_n_s_yappcap; static int __pyx_pf_7yappcap_4Pcap___init__(CYTHON_UNUSED struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_7yappcap_4Pcap_2__iter__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_7yappcap_4Pcap_6dispatch(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_7yappcap_4Pcap_8loop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ -static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7yappcap_4Pcap_6next_ex(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7yappcap_4Pcap_8dispatch(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_7yappcap_4Pcap_10loop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */ +static PyObject *__pyx_pf_7yappcap_4Pcap_12breakloop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_7yappcap_4Pcap_6filter___get__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_bpf); /* proto */ static PyObject *__pyx_pf_7yappcap_4Pcap_8datalink___get__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_7yappcap_4Pcap_9activated___get__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ -static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ -static void __pyx_pf_7yappcap_4Pcap_14__dealloc__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7yappcap_4Pcap_14close(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ +static void __pyx_pf_7yappcap_4Pcap_16__dealloc__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self); /* proto */ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self, PyObject *__pyx_v_interface, PyObject *__pyx_v_snaplen, PyObject *__pyx_v_promisc, PyObject *__pyx_v_rfmon, PyObject *__pyx_v_timeout, PyObject *__pyx_v_buffer_size, PyObject *__pyx_v_autosave); /* proto */ static PyObject *__pyx_pf_7yappcap_8PcapLive_9interface___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_7yappcap_8PcapLive_7snaplen___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ @@ -1273,6 +1430,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap static PyObject *__pyx_pf_7yappcap_8PcapLive_11buffer_size___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ static int __pyx_pf_7yappcap_8PcapLive_11buffer_size_2__set__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self, PyObject *__pyx_v_timeout); /* proto */ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ +static PyObject *__pyx_pf_7yappcap_8PcapLive_13selectable_fd___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self, PyObject *__pyx_v_blocking); /* proto */ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self); /* proto */ @@ -1335,9 +1493,10 @@ static PyObject *__pyx_tuple__12; static PyObject *__pyx_tuple__13; static PyObject *__pyx_tuple__14; static PyObject *__pyx_tuple__15; -static PyObject *__pyx_tuple__17; -static PyObject *__pyx_codeobj__16; -static PyObject *__pyx_codeobj__18; +static PyObject *__pyx_tuple__16; +static PyObject *__pyx_tuple__18; +static PyObject *__pyx_codeobj__17; +static PyObject *__pyx_codeobj__19; /* "yappcap.pyx":50 * pass @@ -1452,7 +1611,7 @@ static void __pyx_f_7yappcap___pcap_callback_fn(unsigned char *__pyx_v_user, con __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pcap), __pyx_n_s_breakloop); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -1554,7 +1713,7 @@ static void __pyx_f_7yappcap___pcap_callback_fn(unsigned char *__pyx_v_user, con __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pcap->__pyx___dumper), __pyx_n_s_dump); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -1567,15 +1726,33 @@ static void __pyx_f_7yappcap___pcap_callback_fn(unsigned char *__pyx_v_user, con __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, ((PyObject *)__pyx_v_pkt)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; - __Pyx_INCREF(((PyObject *)__pyx_v_pkt)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_pkt)); - PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_pkt)); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_pkt)}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_pkt)}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; + __Pyx_INCREF(((PyObject *)__pyx_v_pkt)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_pkt)); + PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_pkt)); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -1792,7 +1969,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 91, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -1851,7 +2028,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapTimeout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -1903,7 +2080,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -1917,15 +2094,35 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); @@ -1990,7 +2187,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2062,7 +2259,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___dumper), __pyx_n_s_dump); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2075,15 +2272,33 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_pkt)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; - __Pyx_INCREF(((PyObject *)__pyx_v_pkt)); - __Pyx_GIVEREF(((PyObject *)__pyx_v_pkt)); - PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_pkt)); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, ((PyObject *)__pyx_v_pkt)}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, ((PyObject *)__pyx_v_pkt)}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; + __Pyx_INCREF(((PyObject *)__pyx_v_pkt)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_pkt)); + PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_pkt)); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; @@ -2123,7 +2338,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca * else: * raise PcapError("Unknown error") # <<<<<<<<<<<<<< * - * cdef __loop_common(self, looptype, count, callback, args, kwargs): + * */ /*else*/ { __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) @@ -2160,16 +2375,32 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_4__next__(struct __pyx_obj_7yappcap_Pca return __pyx_r; } -/* "yappcap.pyx":111 - * raise PcapError("Unknown error") +/* "yappcap.pyx":112 * - * cdef __loop_common(self, looptype, count, callback, args, kwargs): # <<<<<<<<<<<<<< - * cdef pcap_callback_ctx ctx * + * def next_ex(self): # <<<<<<<<<<<<<< + * """Get the next available PcapPacket (ex)""" + * cdef PcapPacket pkt */ -static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_looptype, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { - struct __pyx_t_4pcap_pcap_callback_ctx __pyx_v_ctx; +/* Python wrapper */ +static PyObject *__pyx_pw_7yappcap_4Pcap_7next_ex(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_7yappcap_4Pcap_6next_ex[] = "Pcap.next_ex(self)\nGet the next available PcapPacket (ex)"; +static PyObject *__pyx_pw_7yappcap_4Pcap_7next_ex(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("next_ex (wrapper)", 0); + __pyx_r = __pyx_pf_7yappcap_4Pcap_6next_ex(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7yappcap_4Pcap_6next_ex(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { + struct __pyx_obj_7yappcap_PcapPacket *__pyx_v_pkt = 0; + struct pcap_pkthdr *__pyx_v_hdr; + const unsigned char * __pyx_v_data; int __pyx_v_res; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations @@ -2178,36 +2409,35 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ int __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; - int __pyx_t_6; + PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; - PyObject *__pyx_t_8 = NULL; - __Pyx_RefNannySetupContext("__loop_common", 0); + __Pyx_RefNannySetupContext("next_ex", 0); - /* "yappcap.pyx":114 - * cdef pcap_callback_ctx ctx + /* "yappcap.pyx":118 + * cdef const_uchar_ptr data * * if not self.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 114, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":115 + /* "yappcap.pyx":119 * * if not self.activated: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * - * ctx.callback = callback + * res = pcap_next_ex(self.__pcap, &hdr, &data) */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2217,19 +2447,19 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 115, __pyx_L1_error) + __PYX_ERR(0, 119, __pyx_L1_error) - /* "yappcap.pyx":114 - * cdef pcap_callback_ctx ctx + /* "yappcap.pyx":118 + * cdef const_uchar_ptr data * * if not self.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() @@ -2237,75 +2467,478 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":117 + /* "yappcap.pyx":121 * raise PcapErrorNotActivated() * - * ctx.callback = callback # <<<<<<<<<<<<<< - * ctx.args = args - * ctx.kwargs = kwargs + * res = pcap_next_ex(self.__pcap, &hdr, &data) # <<<<<<<<<<<<<< + * if res == -1: + * raise PcapError(pcap_geterr(self.__pcap)) */ - __pyx_v_ctx.callback = ((void *)__pyx_v_callback); + __pyx_v_res = pcap_next_ex(__pyx_v_self->__pyx___pcap, (&__pyx_v_hdr), (&__pyx_v_data)); - /* "yappcap.pyx":118 + /* "yappcap.pyx":122 * - * ctx.callback = callback - * ctx.args = args # <<<<<<<<<<<<<< - * ctx.kwargs = kwargs - * ctx.pcap = self + * res = pcap_next_ex(self.__pcap, &hdr, &data) + * if res == -1: # <<<<<<<<<<<<<< + * raise PcapError(pcap_geterr(self.__pcap)) + * if res == -2: */ - __pyx_v_ctx.args = ((void *)__pyx_v_args); + __pyx_t_3 = ((__pyx_v_res == -1L) != 0); + if (__pyx_t_3) { - /* "yappcap.pyx":119 - * ctx.callback = callback - * ctx.args = args - * ctx.kwargs = kwargs # <<<<<<<<<<<<<< - * ctx.pcap = self - * if looptype == PCAP_LOOP_DISPATCH: + /* "yappcap.pyx":123 + * res = pcap_next_ex(self.__pcap, &hdr, &data) + * if res == -1: + * raise PcapError(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< + * if res == -2: + * raise StopIteration */ - __pyx_v_ctx.kwargs = ((void *)__pyx_v_kwargs); + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_6)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_6); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_6) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else { + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 123, __pyx_L1_error) - /* "yappcap.pyx":120 - * ctx.args = args - * ctx.kwargs = kwargs - * ctx.pcap = self # <<<<<<<<<<<<<< - * if looptype == PCAP_LOOP_DISPATCH: - * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) + /* "yappcap.pyx":122 + * + * res = pcap_next_ex(self.__pcap, &hdr, &data) + * if res == -1: # <<<<<<<<<<<<<< + * raise PcapError(pcap_geterr(self.__pcap)) + * if res == -2: */ - __pyx_v_ctx.pcap = ((void *)__pyx_v_self); + } - /* "yappcap.pyx":121 - * ctx.kwargs = kwargs - * ctx.pcap = self - * if looptype == PCAP_LOOP_DISPATCH: # <<<<<<<<<<<<<< - * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) - * else: + /* "yappcap.pyx":124 + * if res == -1: + * raise PcapError(pcap_geterr(self.__pcap)) + * if res == -2: # <<<<<<<<<<<<<< + * raise StopIteration + * IF not PCAP_V0: */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_looptype, __pyx_v_7yappcap_PCAP_LOOP_DISPATCH, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 121, __pyx_L1_error) - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((__pyx_v_res == -2L) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":122 - * ctx.pcap = self - * if looptype == PCAP_LOOP_DISPATCH: - * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) # <<<<<<<<<<<<<< - * else: - * res = pcap_loop(self.__pcap, count, __pcap_callback_fn, &ctx) - */ - __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_count); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 122, __pyx_L1_error) - __pyx_v_res = pcap_dispatch(__pyx_v_self->__pyx___pcap, __pyx_t_6, __pyx_f_7yappcap___pcap_callback_fn, ((unsigned char *)(&__pyx_v_ctx))); - - /* "yappcap.pyx":121 - * ctx.kwargs = kwargs - * ctx.pcap = self - * if looptype == PCAP_LOOP_DISPATCH: # <<<<<<<<<<<<<< - * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) - * else: + /* "yappcap.pyx":125 + * raise PcapError(pcap_geterr(self.__pcap)) + * if res == -2: + * raise StopIteration # <<<<<<<<<<<<<< + * IF not PCAP_V0: + * if res == PCAP_ERROR_NOT_ACTIVATED: */ - goto __pyx_L4; - } + __Pyx_Raise(__pyx_builtin_StopIteration, 0, 0, 0); + __PYX_ERR(0, 125, __pyx_L1_error) - /* "yappcap.pyx":124 + /* "yappcap.pyx":124 + * if res == -1: + * raise PcapError(pcap_geterr(self.__pcap)) + * if res == -2: # <<<<<<<<<<<<<< + * raise StopIteration + * IF not PCAP_V0: + */ + } + + /* "yappcap.pyx":127 + * raise StopIteration + * IF not PCAP_V0: + * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< + * raise PcapErrorNotActivated() # This is undocumented, but happens + * if res >= 0: + */ + __pyx_t_3 = ((__pyx_v_res == PCAP_ERROR_NOT_ACTIVATED) != 0); + if (__pyx_t_3) { + + /* "yappcap.pyx":128 + * IF not PCAP_V0: + * if res == PCAP_ERROR_NOT_ACTIVATED: + * raise PcapErrorNotActivated() # This is undocumented, but happens # <<<<<<<<<<<<<< + * if res >= 0: + * pkt = PcapPacket_factory(hdr, data) + */ + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (__pyx_t_7) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else { + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + } + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 128, __pyx_L1_error) + + /* "yappcap.pyx":127 + * raise StopIteration + * IF not PCAP_V0: + * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< + * raise PcapErrorNotActivated() # This is undocumented, but happens + * if res >= 0: + */ + } + + /* "yappcap.pyx":129 + * if res == PCAP_ERROR_NOT_ACTIVATED: + * raise PcapErrorNotActivated() # This is undocumented, but happens + * if res >= 0: # <<<<<<<<<<<<<< + * pkt = PcapPacket_factory(hdr, data) + * if self.__dumper: + */ + __pyx_t_3 = ((__pyx_v_res >= 0) != 0); + if (__pyx_t_3) { + + /* "yappcap.pyx":130 + * raise PcapErrorNotActivated() # This is undocumented, but happens + * if res >= 0: + * pkt = PcapPacket_factory(hdr, data) # <<<<<<<<<<<<<< + * if self.__dumper: + * self.__dumper.dump(pkt) + */ + __pyx_t_1 = ((PyObject *)__pyx_f_7yappcap_PcapPacket_factory(__pyx_v_hdr, __pyx_v_data)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 130, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_v_pkt = ((struct __pyx_obj_7yappcap_PcapPacket *)__pyx_t_1); + __pyx_t_1 = 0; + + /* "yappcap.pyx":131 + * if res >= 0: + * pkt = PcapPacket_factory(hdr, data) + * if self.__dumper: # <<<<<<<<<<<<<< + * self.__dumper.dump(pkt) + * return pkt + */ + __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx___dumper)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 131, __pyx_L1_error) + if (__pyx_t_3) { + + /* "yappcap.pyx":132 + * pkt = PcapPacket_factory(hdr, data) + * if self.__dumper: + * self.__dumper.dump(pkt) # <<<<<<<<<<<<<< + * return pkt + * else: + */ + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___dumper), __pyx_n_s_dump); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_7 = NULL; + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_7)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_7); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (!__pyx_t_7) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_pkt)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + } else { + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, ((PyObject *)__pyx_v_pkt)}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, ((PyObject *)__pyx_v_pkt)}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + } else + #endif + { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; + __Pyx_INCREF(((PyObject *)__pyx_v_pkt)); + __Pyx_GIVEREF(((PyObject *)__pyx_v_pkt)); + PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_pkt)); + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } + } + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + + /* "yappcap.pyx":131 + * if res >= 0: + * pkt = PcapPacket_factory(hdr, data) + * if self.__dumper: # <<<<<<<<<<<<<< + * self.__dumper.dump(pkt) + * return pkt + */ + } + + /* "yappcap.pyx":133 + * if self.__dumper: + * self.__dumper.dump(pkt) + * return pkt # <<<<<<<<<<<<<< + * else: + * raise PcapError("Unknown error") + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_pkt)); + __pyx_r = ((PyObject *)__pyx_v_pkt); + goto __pyx_L0; + + /* "yappcap.pyx":129 + * if res == PCAP_ERROR_NOT_ACTIVATED: + * raise PcapErrorNotActivated() # This is undocumented, but happens + * if res >= 0: # <<<<<<<<<<<<<< + * pkt = PcapPacket_factory(hdr, data) + * if self.__dumper: + */ + } + + /* "yappcap.pyx":135 + * return pkt + * else: + * raise PcapError("Unknown error") # <<<<<<<<<<<<<< + * + * + */ + /*else*/ { + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __PYX_ERR(0, 135, __pyx_L1_error) + } + + /* "yappcap.pyx":112 + * + * + * def next_ex(self): # <<<<<<<<<<<<<< + * """Get the next available PcapPacket (ex)""" + * cdef PcapPacket pkt + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_6); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_AddTraceback("yappcap.Pcap.next_ex", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XDECREF((PyObject *)__pyx_v_pkt); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yappcap.pyx":139 + * + * + * cdef __loop_common(self, looptype, count, callback, args, kwargs): # <<<<<<<<<<<<<< + * cdef pcap_callback_ctx ctx + * + */ + +static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_looptype, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { + struct __pyx_t_4pcap_pcap_callback_ctx __pyx_v_ctx; + int __pyx_v_res; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + PyObject *__pyx_t_1 = NULL; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + int __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + __Pyx_RefNannySetupContext("__loop_common", 0); + + /* "yappcap.pyx":142 + * cdef pcap_callback_ctx ctx + * + * if not self.activated: # <<<<<<<<<<<<<< + * raise PcapErrorNotActivated() + * + */ + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 142, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((!__pyx_t_2) != 0); + if (__pyx_t_3) { + + /* "yappcap.pyx":143 + * + * if not self.activated: + * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< + * + * ctx.callback = callback + */ + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { + __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); + if (likely(__pyx_t_5)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); + __Pyx_INCREF(__pyx_t_5); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_4, function); + } + } + if (__pyx_t_5) { + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else { + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) + } + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __PYX_ERR(0, 143, __pyx_L1_error) + + /* "yappcap.pyx":142 + * cdef pcap_callback_ctx ctx + * + * if not self.activated: # <<<<<<<<<<<<<< + * raise PcapErrorNotActivated() + * + */ + } + + /* "yappcap.pyx":145 + * raise PcapErrorNotActivated() + * + * ctx.callback = callback # <<<<<<<<<<<<<< + * ctx.args = args + * ctx.kwargs = kwargs + */ + __pyx_v_ctx.callback = ((void *)__pyx_v_callback); + + /* "yappcap.pyx":146 + * + * ctx.callback = callback + * ctx.args = args # <<<<<<<<<<<<<< + * ctx.kwargs = kwargs + * ctx.pcap = self + */ + __pyx_v_ctx.args = ((void *)__pyx_v_args); + + /* "yappcap.pyx":147 + * ctx.callback = callback + * ctx.args = args + * ctx.kwargs = kwargs # <<<<<<<<<<<<<< + * ctx.pcap = self + * if looptype == PCAP_LOOP_DISPATCH: + */ + __pyx_v_ctx.kwargs = ((void *)__pyx_v_kwargs); + + /* "yappcap.pyx":148 + * ctx.args = args + * ctx.kwargs = kwargs + * ctx.pcap = self # <<<<<<<<<<<<<< + * if looptype == PCAP_LOOP_DISPATCH: + * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) + */ + __pyx_v_ctx.pcap = ((void *)__pyx_v_self); + + /* "yappcap.pyx":149 + * ctx.kwargs = kwargs + * ctx.pcap = self + * if looptype == PCAP_LOOP_DISPATCH: # <<<<<<<<<<<<<< + * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) + * else: + */ + __pyx_t_1 = PyObject_RichCompare(__pyx_v_looptype, __pyx_v_7yappcap_PCAP_LOOP_DISPATCH, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 149, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__pyx_t_3) { + + /* "yappcap.pyx":150 + * ctx.pcap = self + * if looptype == PCAP_LOOP_DISPATCH: + * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) # <<<<<<<<<<<<<< + * else: + * res = pcap_loop(self.__pcap, count, __pcap_callback_fn, &ctx) + */ + __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_count); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 150, __pyx_L1_error) + __pyx_v_res = pcap_dispatch(__pyx_v_self->__pyx___pcap, __pyx_t_6, __pyx_f_7yappcap___pcap_callback_fn, ((unsigned char *)(&__pyx_v_ctx))); + + /* "yappcap.pyx":149 + * ctx.kwargs = kwargs + * ctx.pcap = self + * if looptype == PCAP_LOOP_DISPATCH: # <<<<<<<<<<<<<< + * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) + * else: + */ + goto __pyx_L4; + } + + /* "yappcap.pyx":152 * res = pcap_dispatch(self.__pcap, count, __pcap_callback_fn, &ctx) * else: * res = pcap_loop(self.__pcap, count, __pcap_callback_fn, &ctx) # <<<<<<<<<<<<<< @@ -2313,12 +2946,12 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ * if res >= 0: */ /*else*/ { - __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_count); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_count); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 152, __pyx_L1_error) __pyx_v_res = pcap_loop(__pyx_v_self->__pyx___pcap, __pyx_t_6, __pyx_f_7yappcap___pcap_callback_fn, ((unsigned char *)(&__pyx_v_ctx))); } __pyx_L4:; - /* "yappcap.pyx":126 + /* "yappcap.pyx":154 * res = pcap_loop(self.__pcap, count, __pcap_callback_fn, &ctx) * * if res >= 0: # <<<<<<<<<<<<<< @@ -2328,19 +2961,19 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ __pyx_t_3 = ((__pyx_v_res >= 0) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":127 + /* "yappcap.pyx":155 * * if res >= 0: * if looptype == PCAP_LOOP_DISPATCH: # <<<<<<<<<<<<<< * return res * else: */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_looptype, __pyx_v_7yappcap_PCAP_LOOP_DISPATCH, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 127, __pyx_L1_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_looptype, __pyx_v_7yappcap_PCAP_LOOP_DISPATCH, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 155, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { - /* "yappcap.pyx":128 + /* "yappcap.pyx":156 * if res >= 0: * if looptype == PCAP_LOOP_DISPATCH: * return res # <<<<<<<<<<<<<< @@ -2348,13 +2981,13 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ * return None */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":127 + /* "yappcap.pyx":155 * * if res >= 0: * if looptype == PCAP_LOOP_DISPATCH: # <<<<<<<<<<<<<< @@ -2363,7 +2996,7 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":130 + /* "yappcap.pyx":158 * return res * else: * return None # <<<<<<<<<<<<<< @@ -2377,7 +3010,7 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ goto __pyx_L0; } - /* "yappcap.pyx":126 + /* "yappcap.pyx":154 * res = pcap_loop(self.__pcap, count, __pcap_callback_fn, &ctx) * * if res >= 0: # <<<<<<<<<<<<<< @@ -2386,7 +3019,7 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":131 + /* "yappcap.pyx":159 * else: * return None * if res == -1: # <<<<<<<<<<<<<< @@ -2396,19 +3029,19 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ __pyx_t_3 = ((__pyx_v_res == -1L) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":132 + /* "yappcap.pyx":160 * return None * if res == -1: * raise PcapError(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * if res == -2: * raise PcapErrorBreak() */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 132, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2418,26 +3051,46 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ } } if (!__pyx_t_7) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 132, __pyx_L1_error) + __PYX_ERR(0, 160, __pyx_L1_error) - /* "yappcap.pyx":131 + /* "yappcap.pyx":159 * else: * return None * if res == -1: # <<<<<<<<<<<<<< @@ -2446,7 +3099,7 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":133 + /* "yappcap.pyx":161 * if res == -1: * raise PcapError(pcap_geterr(self.__pcap)) * if res == -2: # <<<<<<<<<<<<<< @@ -2456,17 +3109,17 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ __pyx_t_3 = ((__pyx_v_res == -2L) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":134 + /* "yappcap.pyx":162 * raise PcapError(pcap_geterr(self.__pcap)) * if res == -2: * raise PcapErrorBreak() # <<<<<<<<<<<<<< * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorBreak); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 134, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorBreak); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2476,18 +3129,18 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ } } if (__pyx_t_8) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 134, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 134, __pyx_L1_error) + __PYX_ERR(0, 162, __pyx_L1_error) - /* "yappcap.pyx":133 + /* "yappcap.pyx":161 * if res == -1: * raise PcapError(pcap_geterr(self.__pcap)) * if res == -2: # <<<<<<<<<<<<<< @@ -2496,7 +3149,7 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":136 + /* "yappcap.pyx":164 * raise PcapErrorBreak() * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -2506,17 +3159,17 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ __pyx_t_3 = ((__pyx_v_res == PCAP_ERROR_NOT_ACTIVATED) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":137 + /* "yappcap.pyx":165 * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * raise PcapError("Unknown error") * */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2526,18 +3179,18 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ } } if (__pyx_t_8) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 137, __pyx_L1_error) + __PYX_ERR(0, 165, __pyx_L1_error) - /* "yappcap.pyx":136 + /* "yappcap.pyx":164 * raise PcapErrorBreak() * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -2546,24 +3199,24 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":138 + /* "yappcap.pyx":166 * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() * raise PcapError("Unknown error") # <<<<<<<<<<<<<< * * def dispatch(self, count, callback, *args, **kwargs): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 138, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 138, __pyx_L1_error) + __PYX_ERR(0, 166, __pyx_L1_error) - /* "yappcap.pyx":111 - * raise PcapError("Unknown error") + /* "yappcap.pyx":139 + * * * cdef __loop_common(self, looptype, count, callback, args, kwargs): # <<<<<<<<<<<<<< * cdef pcap_callback_ctx ctx @@ -2585,7 +3238,7 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ return __pyx_r; } -/* "yappcap.pyx":140 +/* "yappcap.pyx":168 * raise PcapError("Unknown error") * * def dispatch(self, count, callback, *args, **kwargs): # <<<<<<<<<<<<<< @@ -2594,9 +3247,9 @@ static PyObject *__pyx_f_7yappcap_4Pcap___loop_common(struct __pyx_obj_7yappcap_ */ /* Python wrapper */ -static PyObject *__pyx_pw_7yappcap_4Pcap_7dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_7yappcap_4Pcap_6dispatch[] = "Pcap.dispatch(self, count, callback, *args, **kwargs)\nProcess packets from a live capture or savefile\n\n Args:\n count (int): The maximum number of packets to return\n\n callback (function): A callback function accepting a PcapPacket, and optional args and kwargs\n\n Returns:\n int. The number of packets returned\n\n Raises:\n PcapErrorNotActivated, PcapError, PcapErrorBreak\n\n "; -static PyObject *__pyx_pw_7yappcap_4Pcap_7dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_7yappcap_4Pcap_9dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_7yappcap_4Pcap_8dispatch[] = "Pcap.dispatch(self, count, callback, *args, **kwargs)\nProcess packets from a live capture or savefile\n\n Args:\n count (int): The maximum number of packets to return\n\n callback (function): A callback function accepting a PcapPacket, and optional args and kwargs\n\n Returns:\n int. The number of packets returned\n\n Raises:\n PcapErrorNotActivated, PcapError, PcapErrorBreak\n\n "; +static PyObject *__pyx_pw_7yappcap_4Pcap_9dispatch(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_count = 0; PyObject *__pyx_v_callback = 0; PyObject *__pyx_v_args = 0; @@ -2637,12 +3290,12 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_7dispatch(PyObject *__pyx_v_self, PyObj case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("dispatch", 0, 2, 2, 1); __PYX_ERR(0, 140, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("dispatch", 0, 2, 2, 1); __PYX_ERR(0, 168, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "dispatch") < 0)) __PYX_ERR(0, 140, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "dispatch") < 0)) __PYX_ERR(0, 168, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) < 2) { goto __pyx_L5_argtuple_error; @@ -2655,7 +3308,7 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_7dispatch(PyObject *__pyx_v_self, PyObj } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("dispatch", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 140, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("dispatch", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 168, __pyx_L3_error) __pyx_L3_error:; __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; @@ -2663,7 +3316,7 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_7dispatch(PyObject *__pyx_v_self, PyObj __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_7yappcap_4Pcap_6dispatch(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self), __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); + __pyx_r = __pyx_pf_7yappcap_4Pcap_8dispatch(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self), __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); @@ -2672,14 +3325,14 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_7dispatch(PyObject *__pyx_v_self, PyObj return __pyx_r; } -static PyObject *__pyx_pf_7yappcap_4Pcap_6dispatch(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { +static PyObject *__pyx_pf_7yappcap_4Pcap_8dispatch(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("dispatch", 0); - /* "yappcap.pyx":155 + /* "yappcap.pyx":183 * * """ * return self.__loop_common(PCAP_LOOP_DISPATCH, count, callback, args, kwargs) # <<<<<<<<<<<<<< @@ -2689,14 +3342,14 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_6dispatch(struct __pyx_obj_7yappcap_Pca __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_v_7yappcap_PCAP_LOOP_DISPATCH; __Pyx_INCREF(__pyx_t_1); - __pyx_t_2 = ((struct __pyx_vtabstruct_7yappcap_Pcap *)__pyx_v_self->__pyx_vtab)->__pyx___loop_common(__pyx_v_self, __pyx_t_1, __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_t_2 = ((struct __pyx_vtabstruct_7yappcap_Pcap *)__pyx_v_self->__pyx_vtab)->__pyx___loop_common(__pyx_v_self, __pyx_t_1, __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":140 + /* "yappcap.pyx":168 * raise PcapError("Unknown error") * * def dispatch(self, count, callback, *args, **kwargs): # <<<<<<<<<<<<<< @@ -2716,7 +3369,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_6dispatch(struct __pyx_obj_7yappcap_Pca return __pyx_r; } -/* "yappcap.pyx":157 +/* "yappcap.pyx":185 * return self.__loop_common(PCAP_LOOP_DISPATCH, count, callback, args, kwargs) * * def loop(self, count, callback, *args, **kwargs): # <<<<<<<<<<<<<< @@ -2725,9 +3378,9 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_6dispatch(struct __pyx_obj_7yappcap_Pca */ /* Python wrapper */ -static PyObject *__pyx_pw_7yappcap_4Pcap_9loop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ -static char __pyx_doc_7yappcap_4Pcap_8loop[] = "Pcap.loop(self, count, callback, *args, **kwargs)\nProcess packets from a live capture or savefile\n\n Args:\n count (int): The maximum number of packets to return\n\n callback (function): A callback function accepting a PcapPacket, and optional args and kwargs\n\n Raises:\n PcapErrorNotActivated, PcapError, PcapErrorBreak\n\n NOTE: loop does not return when a read timeout occurs as per the pcap_loop man page\n "; -static PyObject *__pyx_pw_7yappcap_4Pcap_9loop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { +static PyObject *__pyx_pw_7yappcap_4Pcap_11loop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ +static char __pyx_doc_7yappcap_4Pcap_10loop[] = "Pcap.loop(self, count, callback, *args, **kwargs)\nProcess packets from a live capture or savefile\n\n Args:\n count (int): The maximum number of packets to return\n\n callback (function): A callback function accepting a PcapPacket, and optional args and kwargs\n\n Raises:\n PcapErrorNotActivated, PcapError, PcapErrorBreak\n\n NOTE: loop does not return when a read timeout occurs as per the pcap_loop man page\n "; +static PyObject *__pyx_pw_7yappcap_4Pcap_11loop(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_count = 0; PyObject *__pyx_v_callback = 0; PyObject *__pyx_v_args = 0; @@ -2768,12 +3421,12 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_9loop(PyObject *__pyx_v_self, PyObject case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_callback)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("loop", 0, 2, 2, 1); __PYX_ERR(0, 157, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("loop", 0, 2, 2, 1); __PYX_ERR(0, 185, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { const Py_ssize_t used_pos_args = (pos_args < 2) ? pos_args : 2; - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "loop") < 0)) __PYX_ERR(0, 157, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, "loop") < 0)) __PYX_ERR(0, 185, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) < 2) { goto __pyx_L5_argtuple_error; @@ -2786,7 +3439,7 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_9loop(PyObject *__pyx_v_self, PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("loop", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 157, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("loop", 0, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 185, __pyx_L3_error) __pyx_L3_error:; __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0; __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; @@ -2794,7 +3447,7 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_9loop(PyObject *__pyx_v_self, PyObject __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; - __pyx_r = __pyx_pf_7yappcap_4Pcap_8loop(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self), __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); + __pyx_r = __pyx_pf_7yappcap_4Pcap_10loop(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self), __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); /* function exit code */ __Pyx_XDECREF(__pyx_v_args); @@ -2803,14 +3456,14 @@ static PyObject *__pyx_pw_7yappcap_4Pcap_9loop(PyObject *__pyx_v_self, PyObject return __pyx_r; } -static PyObject *__pyx_pf_7yappcap_4Pcap_8loop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { +static PyObject *__pyx_pf_7yappcap_4Pcap_10loop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self, PyObject *__pyx_v_count, PyObject *__pyx_v_callback, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("loop", 0); - /* "yappcap.pyx":170 + /* "yappcap.pyx":198 * NOTE: loop does not return when a read timeout occurs as per the pcap_loop man page * """ * return self.__loop_common(PCAP_LOOP_LOOP, count, callback, args, kwargs) # <<<<<<<<<<<<<< @@ -2820,14 +3473,14 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8loop(struct __pyx_obj_7yappcap_Pcap *_ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = __pyx_v_7yappcap_PCAP_LOOP_LOOP; __Pyx_INCREF(__pyx_t_1); - __pyx_t_2 = ((struct __pyx_vtabstruct_7yappcap_Pcap *)__pyx_v_self->__pyx_vtab)->__pyx___loop_common(__pyx_v_self, __pyx_t_1, __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 170, __pyx_L1_error) + __pyx_t_2 = ((struct __pyx_vtabstruct_7yappcap_Pcap *)__pyx_v_self->__pyx_vtab)->__pyx___loop_common(__pyx_v_self, __pyx_t_1, __pyx_v_count, __pyx_v_callback, __pyx_v_args, __pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":157 + /* "yappcap.pyx":185 * return self.__loop_common(PCAP_LOOP_DISPATCH, count, callback, args, kwargs) * * def loop(self, count, callback, *args, **kwargs): # <<<<<<<<<<<<<< @@ -2847,7 +3500,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8loop(struct __pyx_obj_7yappcap_Pcap *_ return __pyx_r; } -/* "yappcap.pyx":172 +/* "yappcap.pyx":200 * return self.__loop_common(PCAP_LOOP_LOOP, count, callback, args, kwargs) * * def breakloop(self): # <<<<<<<<<<<<<< @@ -2856,20 +3509,20 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8loop(struct __pyx_obj_7yappcap_Pcap *_ */ /* Python wrapper */ -static PyObject *__pyx_pw_7yappcap_4Pcap_11breakloop(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_7yappcap_4Pcap_10breakloop[] = "Pcap.breakloop(self)\nSet a flag that will force dispatch or loop to raise PcapErrorBreak rather than looping"; -static PyObject *__pyx_pw_7yappcap_4Pcap_11breakloop(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { +static PyObject *__pyx_pw_7yappcap_4Pcap_13breakloop(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_7yappcap_4Pcap_12breakloop[] = "Pcap.breakloop(self)\nSet a flag that will force dispatch or loop to raise PcapErrorBreak rather than looping"; +static PyObject *__pyx_pw_7yappcap_4Pcap_13breakloop(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("breakloop (wrapper)", 0); - __pyx_r = __pyx_pf_7yappcap_4Pcap_10breakloop(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); + __pyx_r = __pyx_pf_7yappcap_4Pcap_12breakloop(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { +static PyObject *__pyx_pf_7yappcap_4Pcap_12breakloop(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; @@ -2879,21 +3532,21 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("breakloop", 0); - /* "yappcap.pyx":175 + /* "yappcap.pyx":203 * """Set a flag that will force dispatch or loop to raise PcapErrorBreak rather than looping""" * * if not self.activated: # <<<<<<<<<<<<<< * return PcapErrorNotActivated() * pcap_breakloop(self.__pcap) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 175, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":176 + /* "yappcap.pyx":204 * * if not self.activated: * return PcapErrorNotActivated() # <<<<<<<<<<<<<< @@ -2901,10 +3554,10 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -2914,10 +3567,10 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; @@ -2925,7 +3578,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":175 + /* "yappcap.pyx":203 * """Set a flag that will force dispatch or loop to raise PcapErrorBreak rather than looping""" * * if not self.activated: # <<<<<<<<<<<<<< @@ -2934,7 +3587,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P */ } - /* "yappcap.pyx":177 + /* "yappcap.pyx":205 * if not self.activated: * return PcapErrorNotActivated() * pcap_breakloop(self.__pcap) # <<<<<<<<<<<<<< @@ -2943,7 +3596,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P */ pcap_breakloop(__pyx_v_self->__pyx___pcap); - /* "yappcap.pyx":172 + /* "yappcap.pyx":200 * return self.__loop_common(PCAP_LOOP_LOOP, count, callback, args, kwargs) * * def breakloop(self): # <<<<<<<<<<<<<< @@ -2966,7 +3619,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_10breakloop(struct __pyx_obj_7yappcap_P return __pyx_r; } -/* "yappcap.pyx":192 +/* "yappcap.pyx":220 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -2992,7 +3645,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_6filter___get__(struct __pyx_obj_7yappc __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":193 + /* "yappcap.pyx":221 * """ * def __get__(self): * return self.__filter # <<<<<<<<<<<<<< @@ -3004,7 +3657,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_6filter___get__(struct __pyx_obj_7yappc __pyx_r = ((PyObject *)__pyx_v_self->__pyx___filter); goto __pyx_L0; - /* "yappcap.pyx":192 + /* "yappcap.pyx":220 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -3019,7 +3672,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_6filter___get__(struct __pyx_obj_7yappc return __pyx_r; } -/* "yappcap.pyx":194 +/* "yappcap.pyx":222 * def __get__(self): * return self.__filter * def __set__(self, bpf): # <<<<<<<<<<<<<< @@ -3053,31 +3706,31 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":195 + /* "yappcap.pyx":223 * return self.__filter * def __set__(self, bpf): * if not self.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() * if isinstance(bpf, BpfProgram): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 195, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":196 + /* "yappcap.pyx":224 * def __set__(self, bpf): * if not self.activated: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * if isinstance(bpf, BpfProgram): * self.__filter = bpf */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 196, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -3087,18 +3740,18 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 224, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 196, __pyx_L1_error) + __PYX_ERR(0, 224, __pyx_L1_error) - /* "yappcap.pyx":195 + /* "yappcap.pyx":223 * return self.__filter * def __set__(self, bpf): * if not self.activated: # <<<<<<<<<<<<<< @@ -3107,7 +3760,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc */ } - /* "yappcap.pyx":197 + /* "yappcap.pyx":225 * if not self.activated: * raise PcapErrorNotActivated() * if isinstance(bpf, BpfProgram): # <<<<<<<<<<<<<< @@ -3118,14 +3771,14 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __pyx_t_2 = (__pyx_t_3 != 0); if (__pyx_t_2) { - /* "yappcap.pyx":198 + /* "yappcap.pyx":226 * raise PcapErrorNotActivated() * if isinstance(bpf, BpfProgram): * self.__filter = bpf # <<<<<<<<<<<<<< * elif isinstance(bpf, basestring): * self.__filter = BpfProgram(self, bpf) */ - if (!(likely(((__pyx_v_bpf) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_bpf, __pyx_ptype_7yappcap_BpfProgram))))) __PYX_ERR(0, 198, __pyx_L1_error) + if (!(likely(((__pyx_v_bpf) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_bpf, __pyx_ptype_7yappcap_BpfProgram))))) __PYX_ERR(0, 226, __pyx_L1_error) __pyx_t_1 = __pyx_v_bpf; __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); @@ -3134,7 +3787,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __pyx_v_self->__pyx___filter = ((struct __pyx_obj_7yappcap_BpfProgram *)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":197 + /* "yappcap.pyx":225 * if not self.activated: * raise PcapErrorNotActivated() * if isinstance(bpf, BpfProgram): # <<<<<<<<<<<<<< @@ -3144,7 +3797,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc goto __pyx_L4; } - /* "yappcap.pyx":199 + /* "yappcap.pyx":227 * if isinstance(bpf, BpfProgram): * self.__filter = bpf * elif isinstance(bpf, basestring): # <<<<<<<<<<<<<< @@ -3155,14 +3808,14 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __pyx_t_3 = (__pyx_t_2 != 0); if (__pyx_t_3) { - /* "yappcap.pyx":200 + /* "yappcap.pyx":228 * self.__filter = bpf * elif isinstance(bpf, basestring): * self.__filter = BpfProgram(self, bpf) # <<<<<<<<<<<<<< * else: * raise TypeError("Must pass a BpfProgram or string type") */ - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); @@ -3170,7 +3823,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __Pyx_INCREF(__pyx_v_bpf); __Pyx_GIVEREF(__pyx_v_bpf); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_bpf); - __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7yappcap_BpfProgram), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 200, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7yappcap_BpfProgram), __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_4); @@ -3179,7 +3832,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __pyx_v_self->__pyx___filter = ((struct __pyx_obj_7yappcap_BpfProgram *)__pyx_t_4); __pyx_t_4 = 0; - /* "yappcap.pyx":199 + /* "yappcap.pyx":227 * if isinstance(bpf, BpfProgram): * self.__filter = bpf * elif isinstance(bpf, basestring): # <<<<<<<<<<<<<< @@ -3189,7 +3842,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc goto __pyx_L4; } - /* "yappcap.pyx":202 + /* "yappcap.pyx":230 * self.__filter = BpfProgram(self, bpf) * else: * raise TypeError("Must pass a BpfProgram or string type") # <<<<<<<<<<<<<< @@ -3197,15 +3850,15 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc * if res == -1: */ /*else*/ { - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 202, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 202, __pyx_L1_error) + __PYX_ERR(0, 230, __pyx_L1_error) } __pyx_L4:; - /* "yappcap.pyx":203 + /* "yappcap.pyx":231 * else: * raise TypeError("Must pass a BpfProgram or string type") * res = pcap_setfilter(self.__pcap, &self.__filter.__bpf) # <<<<<<<<<<<<<< @@ -3214,7 +3867,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc */ __pyx_v_res = pcap_setfilter(__pyx_v_self->__pyx___pcap, (&__pyx_v_self->__pyx___filter->__pyx___bpf)); - /* "yappcap.pyx":204 + /* "yappcap.pyx":232 * raise TypeError("Must pass a BpfProgram or string type") * res = pcap_setfilter(self.__pcap, &self.__filter.__bpf) * if res == -1: # <<<<<<<<<<<<<< @@ -3224,19 +3877,19 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __pyx_t_3 = ((__pyx_v_res == -1L) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":205 + /* "yappcap.pyx":233 * res = pcap_setfilter(self.__pcap, &self.__filter.__bpf) * if res == -1: * raise PcapError(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 205, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -3246,26 +3899,46 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc } } if (!__pyx_t_6) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 205, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 205, __pyx_L1_error) + __PYX_ERR(0, 233, __pyx_L1_error) - /* "yappcap.pyx":204 + /* "yappcap.pyx":232 * raise TypeError("Must pass a BpfProgram or string type") * res = pcap_setfilter(self.__pcap, &self.__filter.__bpf) * if res == -1: # <<<<<<<<<<<<<< @@ -3274,7 +3947,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc */ } - /* "yappcap.pyx":207 + /* "yappcap.pyx":235 * raise PcapError(pcap_geterr(self.__pcap)) * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -3284,17 +3957,17 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc __pyx_t_3 = ((__pyx_v_res == PCAP_ERROR_NOT_ACTIVATED) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":208 + /* "yappcap.pyx":236 * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * * property datalink: */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -3304,18 +3977,18 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc } } if (__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 208, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { - __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 208, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 208, __pyx_L1_error) + __PYX_ERR(0, 236, __pyx_L1_error) - /* "yappcap.pyx":207 + /* "yappcap.pyx":235 * raise PcapError(pcap_geterr(self.__pcap)) * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -3324,7 +3997,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc */ } - /* "yappcap.pyx":194 + /* "yappcap.pyx":222 * def __get__(self): * return self.__filter * def __set__(self, bpf): # <<<<<<<<<<<<<< @@ -3348,7 +4021,7 @@ static int __pyx_pf_7yappcap_4Pcap_6filter_2__set__(struct __pyx_obj_7yappcap_Pc return __pyx_r; } -/* "yappcap.pyx":217 +/* "yappcap.pyx":245 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -3379,31 +4052,31 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8datalink___get__(struct __pyx_obj_7yap PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":218 + /* "yappcap.pyx":246 * """ * def __get__(self): * if not self.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() * # libpcap currently returns no error if the pcap isn't */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 218, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":219 + /* "yappcap.pyx":247 * def __get__(self): * if not self.activated: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * # libpcap currently returns no error if the pcap isn't * # isn't yet active. */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -3413,18 +4086,18 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8datalink___get__(struct __pyx_obj_7yap } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 219, __pyx_L1_error) + __PYX_ERR(0, 247, __pyx_L1_error) - /* "yappcap.pyx":218 + /* "yappcap.pyx":246 * """ * def __get__(self): * if not self.activated: # <<<<<<<<<<<<<< @@ -3433,7 +4106,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8datalink___get__(struct __pyx_obj_7yap */ } - /* "yappcap.pyx":222 + /* "yappcap.pyx":250 * # libpcap currently returns no error if the pcap isn't * # isn't yet active. * return pcap_datalink_val_to_name(pcap_datalink(self.__pcap)) # <<<<<<<<<<<<<< @@ -3441,13 +4114,13 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8datalink___get__(struct __pyx_obj_7yap * property activated: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBytes_FromString(pcap_datalink_val_to_name(pcap_datalink(__pyx_v_self->__pyx___pcap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBytes_FromString(pcap_datalink_val_to_name(pcap_datalink(__pyx_v_self->__pyx___pcap))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":217 + /* "yappcap.pyx":245 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -3468,7 +4141,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_8datalink___get__(struct __pyx_obj_7yap return __pyx_r; } -/* "yappcap.pyx":226 +/* "yappcap.pyx":254 * property activated: * """Whether or not the capture has been activated (read/write)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -3494,7 +4167,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_9activated___get__(struct __pyx_obj_7ya __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":227 + /* "yappcap.pyx":255 * """Whether or not the capture has been activated (read/write)""" * def __get__(self): * return self.__activated # <<<<<<<<<<<<<< @@ -3506,7 +4179,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_9activated___get__(struct __pyx_obj_7ya __pyx_r = ((PyObject *)__pyx_v_self->__pyx___activated); goto __pyx_L0; - /* "yappcap.pyx":226 + /* "yappcap.pyx":254 * property activated: * """Whether or not the capture has been activated (read/write)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -3521,7 +4194,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_9activated___get__(struct __pyx_obj_7ya return __pyx_r; } -/* "yappcap.pyx":229 +/* "yappcap.pyx":257 * return self.__activated * * def close(self): # <<<<<<<<<<<<<< @@ -3530,20 +4203,20 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_9activated___get__(struct __pyx_obj_7ya */ /* Python wrapper */ -static PyObject *__pyx_pw_7yappcap_4Pcap_13close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ -static char __pyx_doc_7yappcap_4Pcap_12close[] = "Pcap.close(self)"; -static PyObject *__pyx_pw_7yappcap_4Pcap_13close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { +static PyObject *__pyx_pw_7yappcap_4Pcap_15close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ +static char __pyx_doc_7yappcap_4Pcap_14close[] = "Pcap.close(self)"; +static PyObject *__pyx_pw_7yappcap_4Pcap_15close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("close (wrapper)", 0); - __pyx_r = __pyx_pf_7yappcap_4Pcap_12close(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); + __pyx_r = __pyx_pf_7yappcap_4Pcap_14close(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } -static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { +static PyObject *__pyx_pf_7yappcap_4Pcap_14close(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; @@ -3552,27 +4225,27 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("close", 0); - /* "yappcap.pyx":230 + /* "yappcap.pyx":258 * * def close(self): * if self.__dumper: # <<<<<<<<<<<<<< * self.__dumper.close() * self.__dumper = None */ - __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx___dumper)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 230, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self->__pyx___dumper)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 258, __pyx_L1_error) if (__pyx_t_1) { - /* "yappcap.pyx":231 + /* "yappcap.pyx":259 * def close(self): * if self.__dumper: * self.__dumper.close() # <<<<<<<<<<<<<< * self.__dumper = None * if self.__pcap: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___dumper), __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 231, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->__pyx___dumper), __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -3582,16 +4255,16 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap } } if (__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 231, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { - __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 231, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "yappcap.pyx":232 + /* "yappcap.pyx":260 * if self.__dumper: * self.__dumper.close() * self.__dumper = None # <<<<<<<<<<<<<< @@ -3604,7 +4277,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx___dumper)); __pyx_v_self->__pyx___dumper = ((struct __pyx_obj_7yappcap_PcapDumper *)Py_None); - /* "yappcap.pyx":230 + /* "yappcap.pyx":258 * * def close(self): * if self.__dumper: # <<<<<<<<<<<<<< @@ -3613,7 +4286,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap */ } - /* "yappcap.pyx":233 + /* "yappcap.pyx":261 * self.__dumper.close() * self.__dumper = None * if self.__pcap: # <<<<<<<<<<<<<< @@ -3623,7 +4296,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap __pyx_t_1 = (__pyx_v_self->__pyx___pcap != 0); if (__pyx_t_1) { - /* "yappcap.pyx":234 + /* "yappcap.pyx":262 * self.__dumper = None * if self.__pcap: * pcap_close(self.__pcap) # <<<<<<<<<<<<<< @@ -3632,7 +4305,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap */ pcap_close(__pyx_v_self->__pyx___pcap); - /* "yappcap.pyx":235 + /* "yappcap.pyx":263 * if self.__pcap: * pcap_close(self.__pcap) * self.__pcap = NULL # <<<<<<<<<<<<<< @@ -3641,7 +4314,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap */ __pyx_v_self->__pyx___pcap = NULL; - /* "yappcap.pyx":233 + /* "yappcap.pyx":261 * self.__dumper.close() * self.__dumper = None * if self.__pcap: # <<<<<<<<<<<<<< @@ -3650,7 +4323,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap */ } - /* "yappcap.pyx":229 + /* "yappcap.pyx":257 * return self.__activated * * def close(self): # <<<<<<<<<<<<<< @@ -3673,7 +4346,7 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap return __pyx_r; } -/* "yappcap.pyx":237 +/* "yappcap.pyx":265 * self.__pcap = NULL * * def __dealloc__(self): # <<<<<<<<<<<<<< @@ -3682,34 +4355,34 @@ static PyObject *__pyx_pf_7yappcap_4Pcap_12close(struct __pyx_obj_7yappcap_Pcap */ /* Python wrapper */ -static void __pyx_pw_7yappcap_4Pcap_15__dealloc__(PyObject *__pyx_v_self); /*proto*/ -static void __pyx_pw_7yappcap_4Pcap_15__dealloc__(PyObject *__pyx_v_self) { +static void __pyx_pw_7yappcap_4Pcap_17__dealloc__(PyObject *__pyx_v_self); /*proto*/ +static void __pyx_pw_7yappcap_4Pcap_17__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); - __pyx_pf_7yappcap_4Pcap_14__dealloc__(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); + __pyx_pf_7yappcap_4Pcap_16__dealloc__(((struct __pyx_obj_7yappcap_Pcap *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } -static void __pyx_pf_7yappcap_4Pcap_14__dealloc__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { +static void __pyx_pf_7yappcap_4Pcap_16__dealloc__(struct __pyx_obj_7yappcap_Pcap *__pyx_v_self) { __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("__dealloc__", 0); - /* "yappcap.pyx":238 + /* "yappcap.pyx":266 * * def __dealloc__(self): * self.close() # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 238, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) { + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); @@ -3719,16 +4392,16 @@ static void __pyx_pf_7yappcap_4Pcap_14__dealloc__(struct __pyx_obj_7yappcap_Pcap } } if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 266, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":237 + /* "yappcap.pyx":265 * self.__pcap = NULL * * def __dealloc__(self): # <<<<<<<<<<<<<< @@ -3747,7 +4420,7 @@ static void __pyx_pf_7yappcap_4Pcap_14__dealloc__(struct __pyx_obj_7yappcap_Pcap __Pyx_RefNannyFinishContext(); } -/* "yappcap.pyx":249 +/* "yappcap.pyx":277 * cdef __buffer_size * cdef __interface * def __init__(self, interface, snaplen=65535, promisc=False, rfmon=False, # <<<<<<<<<<<<<< @@ -3781,7 +4454,7 @@ static int __pyx_pw_7yappcap_8PcapLive_1__init__(PyObject *__pyx_v_self, PyObjec values[4] = ((PyObject *)__pyx_int_0); values[5] = ((PyObject *)__pyx_int_0); - /* "yappcap.pyx":250 + /* "yappcap.pyx":278 * cdef __interface * def __init__(self, interface, snaplen=65535, promisc=False, rfmon=False, * timeout=0, buffer_size=0, autosave=None): # <<<<<<<<<<<<<< @@ -3840,7 +4513,7 @@ static int __pyx_pw_7yappcap_8PcapLive_1__init__(PyObject *__pyx_v_self, PyObjec } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 249, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 277, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3865,7 +4538,7 @@ static int __pyx_pw_7yappcap_8PcapLive_1__init__(PyObject *__pyx_v_self, PyObjec } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 249, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 277, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("yappcap.PcapLive.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -3873,7 +4546,7 @@ static int __pyx_pw_7yappcap_8PcapLive_1__init__(PyObject *__pyx_v_self, PyObjec __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_7yappcap_8PcapLive___init__(((struct __pyx_obj_7yappcap_PcapLive *)__pyx_v_self), __pyx_v_interface, __pyx_v_snaplen, __pyx_v_promisc, __pyx_v_rfmon, __pyx_v_timeout, __pyx_v_buffer_size, __pyx_v_autosave); - /* "yappcap.pyx":249 + /* "yappcap.pyx":277 * cdef __buffer_size * cdef __interface * def __init__(self, interface, snaplen=65535, promisc=False, rfmon=False, # <<<<<<<<<<<<<< @@ -3899,16 +4572,16 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":280 + /* "yappcap.pyx":308 * cdef char errbuf[PCAP_ERRBUF_SIZE] * # For now, eventually we'll look it up and do PcapInterface * self.__interface = interface.encode('UTF-8') # <<<<<<<<<<<<<< * self.__activated = False * if not PCAP_V0: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_interface, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_interface, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_2); @@ -3917,7 +4590,7 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi __pyx_v_self->__pyx___interface = __pyx_t_2; __pyx_t_2 = 0; - /* "yappcap.pyx":281 + /* "yappcap.pyx":309 * # For now, eventually we'll look it up and do PcapInterface * self.__interface = interface.encode('UTF-8') * self.__activated = False # <<<<<<<<<<<<<< @@ -3930,17 +4603,17 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx___activated)); __pyx_v_self->__pyx_base.__pyx___activated = ((PyBoolObject *)Py_False); - /* "yappcap.pyx":283 + /* "yappcap.pyx":311 * self.__activated = False * if not PCAP_V0: * self.__pcap = pcap_create(self.__interface, errbuf) # <<<<<<<<<<<<<< * if self.__pcap is NULL: * raise PcapError(errbuf) */ - __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_v_self->__pyx___interface); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 283, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_v_self->__pyx___interface); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 311, __pyx_L1_error) __pyx_v_self->__pyx_base.__pyx___pcap = pcap_create(__pyx_t_3, __pyx_v_errbuf); - /* "yappcap.pyx":284 + /* "yappcap.pyx":312 * if not PCAP_V0: * self.__pcap = pcap_create(self.__interface, errbuf) * if self.__pcap is NULL: # <<<<<<<<<<<<<< @@ -3950,19 +4623,19 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi __pyx_t_4 = ((__pyx_v_self->__pyx_base.__pyx___pcap == NULL) != 0); if (__pyx_t_4) { - /* "yappcap.pyx":285 + /* "yappcap.pyx":313 * self.__pcap = pcap_create(self.__interface, errbuf) * if self.__pcap is NULL: * raise PcapError(errbuf) # <<<<<<<<<<<<<< * * # Set default values via properties */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 285, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 285, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -3972,26 +4645,46 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi } } if (!__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 285, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 313, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 313, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 285, __pyx_L1_error) + __PYX_ERR(0, 313, __pyx_L1_error) - /* "yappcap.pyx":284 + /* "yappcap.pyx":312 * if not PCAP_V0: * self.__pcap = pcap_create(self.__interface, errbuf) * if self.__pcap is NULL: # <<<<<<<<<<<<<< @@ -4000,34 +4693,34 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi */ } - /* "yappcap.pyx":288 + /* "yappcap.pyx":316 * * # Set default values via properties * self.snaplen = snaplen # <<<<<<<<<<<<<< * self.promisc = promisc * self.timeout = timeout */ - if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_snaplen, __pyx_v_snaplen) < 0) __PYX_ERR(0, 288, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_snaplen, __pyx_v_snaplen) < 0) __PYX_ERR(0, 316, __pyx_L1_error) - /* "yappcap.pyx":289 + /* "yappcap.pyx":317 * # Set default values via properties * self.snaplen = snaplen * self.promisc = promisc # <<<<<<<<<<<<<< * self.timeout = timeout * self.__autosave = autosave */ - if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_promisc, __pyx_v_promisc) < 0) __PYX_ERR(0, 289, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_promisc, __pyx_v_promisc) < 0) __PYX_ERR(0, 317, __pyx_L1_error) - /* "yappcap.pyx":290 + /* "yappcap.pyx":318 * self.snaplen = snaplen * self.promisc = promisc * self.timeout = timeout # <<<<<<<<<<<<<< * self.__autosave = autosave * */ - if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_timeout, __pyx_v_timeout) < 0) __PYX_ERR(0, 290, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_timeout, __pyx_v_timeout) < 0) __PYX_ERR(0, 318, __pyx_L1_error) - /* "yappcap.pyx":291 + /* "yappcap.pyx":319 * self.promisc = promisc * self.timeout = timeout * self.__autosave = autosave # <<<<<<<<<<<<<< @@ -4040,25 +4733,25 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi __Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___autosave); __pyx_v_self->__pyx_base.__pyx___autosave = __pyx_v_autosave; - /* "yappcap.pyx":294 + /* "yappcap.pyx":322 * * IF not PCAP_V0: * self.rfmon = rfmon # <<<<<<<<<<<<<< * self.buffer_size = buffer_size * */ - if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_rfmon, __pyx_v_rfmon) < 0) __PYX_ERR(0, 294, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_rfmon, __pyx_v_rfmon) < 0) __PYX_ERR(0, 322, __pyx_L1_error) - /* "yappcap.pyx":295 + /* "yappcap.pyx":323 * IF not PCAP_V0: * self.rfmon = rfmon * self.buffer_size = buffer_size # <<<<<<<<<<<<<< * * property interface: */ - if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_buffer_size, __pyx_v_buffer_size) < 0) __PYX_ERR(0, 295, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_buffer_size, __pyx_v_buffer_size) < 0) __PYX_ERR(0, 323, __pyx_L1_error) - /* "yappcap.pyx":249 + /* "yappcap.pyx":277 * cdef __buffer_size * cdef __interface * def __init__(self, interface, snaplen=65535, promisc=False, rfmon=False, # <<<<<<<<<<<<<< @@ -4082,7 +4775,7 @@ static int __pyx_pf_7yappcap_8PcapLive___init__(struct __pyx_obj_7yappcap_PcapLi return __pyx_r; } -/* "yappcap.pyx":299 +/* "yappcap.pyx":327 * property interface: * """The name of the capture interface (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -4110,7 +4803,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_9interface___get__(struct __pyx_obj PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":300 + /* "yappcap.pyx":328 * """The name of the capture interface (read-only)""" * def __get__(self): * return self.__interface.decode('UTF-8') # <<<<<<<<<<<<<< @@ -4118,16 +4811,16 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_9interface___get__(struct __pyx_obj * property snaplen: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___interface, __pyx_n_s_decode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___interface, __pyx_n_s_decode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":299 + /* "yappcap.pyx":327 * property interface: * """The name of the capture interface (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -4147,7 +4840,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_9interface___get__(struct __pyx_obj return __pyx_r; } -/* "yappcap.pyx":309 +/* "yappcap.pyx":337 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4173,7 +4866,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7snaplen___get__(struct __pyx_obj_7 __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":310 + /* "yappcap.pyx":338 * """ * def __get__(self): * return self.__snaplen # <<<<<<<<<<<<<< @@ -4185,7 +4878,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7snaplen___get__(struct __pyx_obj_7 __pyx_r = __pyx_v_self->__pyx___snaplen; goto __pyx_L0; - /* "yappcap.pyx":309 + /* "yappcap.pyx":337 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4200,7 +4893,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7snaplen___get__(struct __pyx_obj_7 return __pyx_r; } -/* "yappcap.pyx":311 +/* "yappcap.pyx":339 * def __get__(self): * return self.__snaplen * def __set__(self, snaplen): # <<<<<<<<<<<<<< @@ -4231,28 +4924,28 @@ static int __pyx_pf_7yappcap_8PcapLive_7snaplen_2__set__(struct __pyx_obj_7yappc PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":316 + /* "yappcap.pyx":344 * raise PcapErrorActivated() * ELSE: * if pcap_set_snaplen(self.__pcap, snaplen) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< * raise PcapErrorActivated() * self.__snaplen = snaplen */ - __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_snaplen); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_snaplen); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 344, __pyx_L1_error) __pyx_t_2 = ((pcap_set_snaplen(__pyx_v_self->__pyx_base.__pyx___pcap, __pyx_t_1) == PCAP_ERROR_ACTIVATED) != 0); if (__pyx_t_2) { - /* "yappcap.pyx":317 + /* "yappcap.pyx":345 * ELSE: * if pcap_set_snaplen(self.__pcap, snaplen) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() # <<<<<<<<<<<<<< * self.__snaplen = snaplen * */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -4262,18 +4955,18 @@ static int __pyx_pf_7yappcap_8PcapLive_7snaplen_2__set__(struct __pyx_obj_7yappc } } if (__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 345, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 317, __pyx_L1_error) + __PYX_ERR(0, 345, __pyx_L1_error) - /* "yappcap.pyx":316 + /* "yappcap.pyx":344 * raise PcapErrorActivated() * ELSE: * if pcap_set_snaplen(self.__pcap, snaplen) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -4282,7 +4975,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7snaplen_2__set__(struct __pyx_obj_7yappc */ } - /* "yappcap.pyx":318 + /* "yappcap.pyx":346 * if pcap_set_snaplen(self.__pcap, snaplen) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * self.__snaplen = snaplen # <<<<<<<<<<<<<< @@ -4295,7 +4988,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7snaplen_2__set__(struct __pyx_obj_7yappc __Pyx_DECREF(__pyx_v_self->__pyx___snaplen); __pyx_v_self->__pyx___snaplen = __pyx_v_snaplen; - /* "yappcap.pyx":311 + /* "yappcap.pyx":339 * def __get__(self): * return self.__snaplen * def __set__(self, snaplen): # <<<<<<<<<<<<<< @@ -4317,7 +5010,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7snaplen_2__set__(struct __pyx_obj_7yappc return __pyx_r; } -/* "yappcap.pyx":327 +/* "yappcap.pyx":355 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4343,7 +5036,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7promisc___get__(struct __pyx_obj_7 __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":328 + /* "yappcap.pyx":356 * """ * def __get__(self): * return self.__promisc # <<<<<<<<<<<<<< @@ -4355,7 +5048,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7promisc___get__(struct __pyx_obj_7 __pyx_r = __pyx_v_self->__pyx___promisc; goto __pyx_L0; - /* "yappcap.pyx":327 + /* "yappcap.pyx":355 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4370,7 +5063,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7promisc___get__(struct __pyx_obj_7 return __pyx_r; } -/* "yappcap.pyx":329 +/* "yappcap.pyx":357 * def __get__(self): * return self.__promisc * def __set__(self, promisc): # <<<<<<<<<<<<<< @@ -4401,28 +5094,28 @@ static int __pyx_pf_7yappcap_8PcapLive_7promisc_2__set__(struct __pyx_obj_7yappc PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":334 + /* "yappcap.pyx":362 * raise PcapErrorActivated() * ELSE: * if pcap_set_promisc(self.__pcap, promisc) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< * raise PcapErrorActivated() * self.__promisc = promisc */ - __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_promisc); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 334, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_promisc); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 362, __pyx_L1_error) __pyx_t_2 = ((pcap_set_promisc(__pyx_v_self->__pyx_base.__pyx___pcap, __pyx_t_1) == PCAP_ERROR_ACTIVATED) != 0); if (__pyx_t_2) { - /* "yappcap.pyx":335 + /* "yappcap.pyx":363 * ELSE: * if pcap_set_promisc(self.__pcap, promisc) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() # <<<<<<<<<<<<<< * self.__promisc = promisc * */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 335, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -4432,18 +5125,18 @@ static int __pyx_pf_7yappcap_8PcapLive_7promisc_2__set__(struct __pyx_obj_7yappc } } if (__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 363, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 335, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 363, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 335, __pyx_L1_error) + __PYX_ERR(0, 363, __pyx_L1_error) - /* "yappcap.pyx":334 + /* "yappcap.pyx":362 * raise PcapErrorActivated() * ELSE: * if pcap_set_promisc(self.__pcap, promisc) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -4452,7 +5145,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7promisc_2__set__(struct __pyx_obj_7yappc */ } - /* "yappcap.pyx":336 + /* "yappcap.pyx":364 * if pcap_set_promisc(self.__pcap, promisc) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * self.__promisc = promisc # <<<<<<<<<<<<<< @@ -4465,7 +5158,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7promisc_2__set__(struct __pyx_obj_7yappc __Pyx_DECREF(__pyx_v_self->__pyx___promisc); __pyx_v_self->__pyx___promisc = __pyx_v_promisc; - /* "yappcap.pyx":329 + /* "yappcap.pyx":357 * def __get__(self): * return self.__promisc * def __set__(self, promisc): # <<<<<<<<<<<<<< @@ -4487,7 +5180,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7promisc_2__set__(struct __pyx_obj_7yappc return __pyx_r; } -/* "yappcap.pyx":345 +/* "yappcap.pyx":373 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4513,7 +5206,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7timeout___get__(struct __pyx_obj_7 __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":346 + /* "yappcap.pyx":374 * """ * def __get__(self): * return self.__timeout # <<<<<<<<<<<<<< @@ -4525,7 +5218,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7timeout___get__(struct __pyx_obj_7 __pyx_r = __pyx_v_self->__pyx___timeout; goto __pyx_L0; - /* "yappcap.pyx":345 + /* "yappcap.pyx":373 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4540,7 +5233,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_7timeout___get__(struct __pyx_obj_7 return __pyx_r; } -/* "yappcap.pyx":347 +/* "yappcap.pyx":375 * def __get__(self): * return self.__timeout * def __set__(self, timeout): # <<<<<<<<<<<<<< @@ -4571,28 +5264,28 @@ static int __pyx_pf_7yappcap_8PcapLive_7timeout_2__set__(struct __pyx_obj_7yappc PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":352 + /* "yappcap.pyx":380 * raise PcapErrorActivated() * ELSE: * if pcap_set_timeout(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< * raise PcapErrorActivated() * self.__timeout = timeout */ - __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_timeout); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 352, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_timeout); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 380, __pyx_L1_error) __pyx_t_2 = ((pcap_set_timeout(__pyx_v_self->__pyx_base.__pyx___pcap, __pyx_t_1) == PCAP_ERROR_ACTIVATED) != 0); if (__pyx_t_2) { - /* "yappcap.pyx":353 + /* "yappcap.pyx":381 * ELSE: * if pcap_set_timeout(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() # <<<<<<<<<<<<<< * self.__timeout = timeout * */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 353, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -4602,18 +5295,18 @@ static int __pyx_pf_7yappcap_8PcapLive_7timeout_2__set__(struct __pyx_obj_7yappc } } if (__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 353, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 353, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 381, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 353, __pyx_L1_error) + __PYX_ERR(0, 381, __pyx_L1_error) - /* "yappcap.pyx":352 + /* "yappcap.pyx":380 * raise PcapErrorActivated() * ELSE: * if pcap_set_timeout(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -4622,7 +5315,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7timeout_2__set__(struct __pyx_obj_7yappc */ } - /* "yappcap.pyx":354 + /* "yappcap.pyx":382 * if pcap_set_timeout(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * self.__timeout = timeout # <<<<<<<<<<<<<< @@ -4635,7 +5328,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7timeout_2__set__(struct __pyx_obj_7yappc __Pyx_DECREF(__pyx_v_self->__pyx___timeout); __pyx_v_self->__pyx___timeout = __pyx_v_timeout; - /* "yappcap.pyx":347 + /* "yappcap.pyx":375 * def __get__(self): * return self.__timeout * def __set__(self, timeout): # <<<<<<<<<<<<<< @@ -4657,7 +5350,7 @@ static int __pyx_pf_7yappcap_8PcapLive_7timeout_2__set__(struct __pyx_obj_7yappc return __pyx_r; } -/* "yappcap.pyx":363 +/* "yappcap.pyx":391 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4683,7 +5376,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_5rfmon___get__(struct __pyx_obj_7ya __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":367 + /* "yappcap.pyx":395 * raise PcapError("%s is too old for this call" % (lib_version(),)) * ELSE: * return self.__rfmon # <<<<<<<<<<<<<< @@ -4695,7 +5388,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_5rfmon___get__(struct __pyx_obj_7ya __pyx_r = __pyx_v_self->__pyx___rfmon; goto __pyx_L0; - /* "yappcap.pyx":363 + /* "yappcap.pyx":391 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -4710,7 +5403,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_5rfmon___get__(struct __pyx_obj_7ya return __pyx_r; } -/* "yappcap.pyx":368 +/* "yappcap.pyx":396 * ELSE: * return self.__rfmon * def __set__(self, rfmon): # <<<<<<<<<<<<<< @@ -4744,7 +5437,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap int __pyx_t_7; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":372 + /* "yappcap.pyx":400 * raise PcapError("%s is too old for this call" % (lib_version(),)) * ELSE: * res = pcap_can_set_rfmon(self.__pcap) # <<<<<<<<<<<<<< @@ -4753,7 +5446,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ __pyx_v_res = pcap_can_set_rfmon(__pyx_v_self->__pyx_base.__pyx___pcap); - /* "yappcap.pyx":373 + /* "yappcap.pyx":401 * ELSE: * res = pcap_can_set_rfmon(self.__pcap) * if res == 0: # <<<<<<<<<<<<<< @@ -4763,7 +5456,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap switch (__pyx_v_res) { case 0: - /* "yappcap.pyx":375 + /* "yappcap.pyx":403 * if res == 0: * # Could not set rfmon for some non-error reason * return # <<<<<<<<<<<<<< @@ -4773,7 +5466,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap __pyx_r = 0; goto __pyx_L0; - /* "yappcap.pyx":373 + /* "yappcap.pyx":401 * ELSE: * res = pcap_can_set_rfmon(self.__pcap) * if res == 0: # <<<<<<<<<<<<<< @@ -4782,7 +5475,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ break; - /* "yappcap.pyx":376 + /* "yappcap.pyx":404 * # Could not set rfmon for some non-error reason * return * elif res == PCAP_ERROR_NO_SUCH_DEVICE: # <<<<<<<<<<<<<< @@ -4791,17 +5484,17 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ case PCAP_ERROR_NO_SUCH_DEVICE: - /* "yappcap.pyx":377 + /* "yappcap.pyx":405 * return * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice() # <<<<<<<<<<<<<< * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNoSuchDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNoSuchDevice); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); @@ -4811,18 +5504,18 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap } } if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 405, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 377, __pyx_L1_error) + __PYX_ERR(0, 405, __pyx_L1_error) - /* "yappcap.pyx":376 + /* "yappcap.pyx":404 * # Could not set rfmon for some non-error reason * return * elif res == PCAP_ERROR_NO_SUCH_DEVICE: # <<<<<<<<<<<<<< @@ -4831,7 +5524,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ break; - /* "yappcap.pyx":378 + /* "yappcap.pyx":406 * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice() * elif res == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -4840,17 +5533,17 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ case PCAP_ERROR_ACTIVATED: - /* "yappcap.pyx":379 + /* "yappcap.pyx":407 * raise PcapErrorNoSuchDevice() * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() # <<<<<<<<<<<<<< * elif res == PCAP_ERROR: * raise PcapError(pcap_geterr(self.__pcap)) */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 379, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); @@ -4860,18 +5553,18 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap } } if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 379, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 379, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 407, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 379, __pyx_L1_error) + __PYX_ERR(0, 407, __pyx_L1_error) - /* "yappcap.pyx":378 + /* "yappcap.pyx":406 * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice() * elif res == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -4880,7 +5573,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ break; - /* "yappcap.pyx":380 + /* "yappcap.pyx":408 * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * elif res == PCAP_ERROR: # <<<<<<<<<<<<<< @@ -4889,19 +5582,19 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ case PCAP_ERROR: - /* "yappcap.pyx":381 + /* "yappcap.pyx":409 * raise PcapErrorActivated() * elif res == PCAP_ERROR: * raise PcapError(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * elif res == 1: * if pcap_set_rfmon(self.__pcap, rfmon) == PCAP_ERROR_ACTIVATED: */ - __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 381, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 381, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_2))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); @@ -4911,26 +5604,46 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap } } if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; - __Pyx_GIVEREF(__pyx_t_3); - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 381, __pyx_L1_error) + __PYX_ERR(0, 409, __pyx_L1_error) - /* "yappcap.pyx":380 + /* "yappcap.pyx":408 * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * elif res == PCAP_ERROR: # <<<<<<<<<<<<<< @@ -4939,7 +5652,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ break; - /* "yappcap.pyx":382 + /* "yappcap.pyx":410 * elif res == PCAP_ERROR: * raise PcapError(pcap_geterr(self.__pcap)) * elif res == 1: # <<<<<<<<<<<<<< @@ -4948,31 +5661,31 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ case 1: - /* "yappcap.pyx":383 + /* "yappcap.pyx":411 * raise PcapError(pcap_geterr(self.__pcap)) * elif res == 1: * if pcap_set_rfmon(self.__pcap, rfmon) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< * raise PCAP_ERROR_ACTIVATED * self.__rfmon = rfmon */ - __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_rfmon); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 383, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_v_rfmon); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 411, __pyx_L1_error) __pyx_t_7 = ((pcap_set_rfmon(__pyx_v_self->__pyx_base.__pyx___pcap, __pyx_t_6) == PCAP_ERROR_ACTIVATED) != 0); if (__pyx_t_7) { - /* "yappcap.pyx":384 + /* "yappcap.pyx":412 * elif res == 1: * if pcap_set_rfmon(self.__pcap, rfmon) == PCAP_ERROR_ACTIVATED: * raise PCAP_ERROR_ACTIVATED # <<<<<<<<<<<<<< * self.__rfmon = rfmon * */ - __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_ACTIVATED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_ACTIVATED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 384, __pyx_L1_error) + __PYX_ERR(0, 412, __pyx_L1_error) - /* "yappcap.pyx":383 + /* "yappcap.pyx":411 * raise PcapError(pcap_geterr(self.__pcap)) * elif res == 1: * if pcap_set_rfmon(self.__pcap, rfmon) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -4981,7 +5694,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":385 + /* "yappcap.pyx":413 * if pcap_set_rfmon(self.__pcap, rfmon) == PCAP_ERROR_ACTIVATED: * raise PCAP_ERROR_ACTIVATED * self.__rfmon = rfmon # <<<<<<<<<<<<<< @@ -4994,7 +5707,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap __Pyx_DECREF(__pyx_v_self->__pyx___rfmon); __pyx_v_self->__pyx___rfmon = __pyx_v_rfmon; - /* "yappcap.pyx":382 + /* "yappcap.pyx":410 * elif res == PCAP_ERROR: * raise PcapError(pcap_geterr(self.__pcap)) * elif res == 1: # <<<<<<<<<<<<<< @@ -5005,7 +5718,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap default: break; } - /* "yappcap.pyx":368 + /* "yappcap.pyx":396 * ELSE: * return self.__rfmon * def __set__(self, rfmon): # <<<<<<<<<<<<<< @@ -5029,7 +5742,7 @@ static int __pyx_pf_7yappcap_8PcapLive_5rfmon_2__set__(struct __pyx_obj_7yappcap return __pyx_r; } -/* "yappcap.pyx":395 +/* "yappcap.pyx":423 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -5055,7 +5768,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_11buffer_size___get__(struct __pyx_ __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":399 + /* "yappcap.pyx":427 * raise PcapError("%s is too old for this call" % (lib_version(),)) * ELSE: * return self.__buffer_size # <<<<<<<<<<<<<< @@ -5067,7 +5780,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_11buffer_size___get__(struct __pyx_ __pyx_r = __pyx_v_self->__pyx___buffer_size; goto __pyx_L0; - /* "yappcap.pyx":395 + /* "yappcap.pyx":423 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -5082,7 +5795,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_11buffer_size___get__(struct __pyx_ return __pyx_r; } -/* "yappcap.pyx":400 +/* "yappcap.pyx":428 * ELSE: * return self.__buffer_size * def __set__(self, timeout): # <<<<<<<<<<<<<< @@ -5113,28 +5826,28 @@ static int __pyx_pf_7yappcap_8PcapLive_11buffer_size_2__set__(struct __pyx_obj_7 PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":404 + /* "yappcap.pyx":432 * raise PcapError("%s is too old for this call" % (lib_version(),)) * ELSE: * if pcap_set_buffer_size(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< * raise PcapErrorActivated() * */ - __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_timeout); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 404, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_timeout); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 432, __pyx_L1_error) __pyx_t_2 = ((pcap_set_buffer_size(__pyx_v_self->__pyx_base.__pyx___pcap, __pyx_t_1) == PCAP_ERROR_ACTIVATED) != 0); if (__pyx_t_2) { - /* "yappcap.pyx":405 + /* "yappcap.pyx":433 * ELSE: * if pcap_set_buffer_size(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() # <<<<<<<<<<<<<< * * property fileno: */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5144,18 +5857,18 @@ static int __pyx_pf_7yappcap_8PcapLive_11buffer_size_2__set__(struct __pyx_obj_7 } } if (__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 405, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 433, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 405, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 433, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 405, __pyx_L1_error) + __PYX_ERR(0, 433, __pyx_L1_error) - /* "yappcap.pyx":404 + /* "yappcap.pyx":432 * raise PcapError("%s is too old for this call" % (lib_version(),)) * ELSE: * if pcap_set_buffer_size(self.__pcap, timeout) == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -5164,7 +5877,7 @@ static int __pyx_pf_7yappcap_8PcapLive_11buffer_size_2__set__(struct __pyx_obj_7 */ } - /* "yappcap.pyx":400 + /* "yappcap.pyx":428 * ELSE: * return self.__buffer_size * def __set__(self, timeout): # <<<<<<<<<<<<<< @@ -5186,7 +5899,7 @@ static int __pyx_pf_7yappcap_8PcapLive_11buffer_size_2__set__(struct __pyx_obj_7 return __pyx_r; } -/* "yappcap.pyx":414 +/* "yappcap.pyx":442 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -5217,7 +5930,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7y PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":415 + /* "yappcap.pyx":443 * """ * def __get__(self): * res = pcap_fileno(self.__pcap) # <<<<<<<<<<<<<< @@ -5226,7 +5939,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7y */ __pyx_v_res = pcap_fileno(__pyx_v_self->__pyx_base.__pyx___pcap); - /* "yappcap.pyx":416 + /* "yappcap.pyx":444 * def __get__(self): * res = pcap_fileno(self.__pcap) * if res == -1: # <<<<<<<<<<<<<< @@ -5236,17 +5949,17 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7y __pyx_t_1 = ((__pyx_v_res == -1L) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":418 + /* "yappcap.pyx":446 * if res == -1: * # With a live file capture, this should only happen when not activated * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * return res * */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -5256,18 +5969,18 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7y } } if (__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 418, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { - __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 418, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 446, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 418, __pyx_L1_error) + __PYX_ERR(0, 446, __pyx_L1_error) - /* "yappcap.pyx":416 + /* "yappcap.pyx":444 * def __get__(self): * res = pcap_fileno(self.__pcap) * if res == -1: # <<<<<<<<<<<<<< @@ -5276,21 +5989,21 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7y */ } - /* "yappcap.pyx":419 + /* "yappcap.pyx":447 * # With a live file capture, this should only happen when not activated * raise PcapErrorNotActivated() * return res # <<<<<<<<<<<<<< * - * # Reverse the logic from checking the negative: nonblock + * property selectable_fd: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 419, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":414 + /* "yappcap.pyx":442 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -5311,7 +6024,132 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_6fileno___get__(struct __pyx_obj_7y return __pyx_r; } -/* "yappcap.pyx":429 +/* "yappcap.pyx":456 + * + * """ + * def __get__(self): # <<<<<<<<<<<<<< + * res = pcap_get_selectable_fd(self.__pcap) + * if res == -1: + */ + +/* Python wrapper */ +static PyObject *__pyx_pw_7yappcap_8PcapLive_13selectable_fd_1__get__(PyObject *__pyx_v_self); /*proto*/ +static PyObject *__pyx_pw_7yappcap_8PcapLive_13selectable_fd_1__get__(PyObject *__pyx_v_self) { + PyObject *__pyx_r = 0; + __Pyx_RefNannyDeclarations + __Pyx_RefNannySetupContext("__get__ (wrapper)", 0); + __pyx_r = __pyx_pf_7yappcap_8PcapLive_13selectable_fd___get__(((struct __pyx_obj_7yappcap_PcapLive *)__pyx_v_self)); + + /* function exit code */ + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +static PyObject *__pyx_pf_7yappcap_8PcapLive_13selectable_fd___get__(struct __pyx_obj_7yappcap_PcapLive *__pyx_v_self) { + int __pyx_v_res; + PyObject *__pyx_r = NULL; + __Pyx_RefNannyDeclarations + int __pyx_t_1; + PyObject *__pyx_t_2 = NULL; + PyObject *__pyx_t_3 = NULL; + PyObject *__pyx_t_4 = NULL; + __Pyx_RefNannySetupContext("__get__", 0); + + /* "yappcap.pyx":457 + * """ + * def __get__(self): + * res = pcap_get_selectable_fd(self.__pcap) # <<<<<<<<<<<<<< + * if res == -1: + * # With a live file capture, this should only happen when not activated + */ + __pyx_v_res = pcap_get_selectable_fd(__pyx_v_self->__pyx_base.__pyx___pcap); + + /* "yappcap.pyx":458 + * def __get__(self): + * res = pcap_get_selectable_fd(self.__pcap) + * if res == -1: # <<<<<<<<<<<<<< + * # With a live file capture, this should only happen when not activated + * raise PcapErrorNotActivated() + */ + __pyx_t_1 = ((__pyx_v_res == -1L) != 0); + if (__pyx_t_1) { + + /* "yappcap.pyx":460 + * if res == -1: + * # With a live file capture, this should only happen when not activated + * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< + * return res + * + */ + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 460, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = NULL; + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { + __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); + if (likely(__pyx_t_4)) { + PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); + __Pyx_INCREF(__pyx_t_4); + __Pyx_INCREF(function); + __Pyx_DECREF_SET(__pyx_t_3, function); + } + } + if (__pyx_t_4) { + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error) + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else { + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 460, __pyx_L1_error) + } + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_Raise(__pyx_t_2, 0, 0, 0); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __PYX_ERR(0, 460, __pyx_L1_error) + + /* "yappcap.pyx":458 + * def __get__(self): + * res = pcap_get_selectable_fd(self.__pcap) + * if res == -1: # <<<<<<<<<<<<<< + * # With a live file capture, this should only happen when not activated + * raise PcapErrorNotActivated() + */ + } + + /* "yappcap.pyx":461 + * # With a live file capture, this should only happen when not activated + * raise PcapErrorNotActivated() + * return res # <<<<<<<<<<<<<< + * + * # Reverse the logic from checking the negative: nonblock + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __pyx_r = __pyx_t_2; + __pyx_t_2 = 0; + goto __pyx_L0; + + /* "yappcap.pyx":456 + * + * """ + * def __get__(self): # <<<<<<<<<<<<<< + * res = pcap_get_selectable_fd(self.__pcap) + * if res == -1: + */ + + /* function exit code */ + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_AddTraceback("yappcap.PcapLive.selectable_fd.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename); + __pyx_r = NULL; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "yappcap.pyx":471 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -5346,31 +6184,31 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":432 + /* "yappcap.pyx":474 * cdef char errbuf[PCAP_ERRBUF_SIZE] * * if not self.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 432, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 432, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 474, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":433 + /* "yappcap.pyx":475 * * if not self.activated: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * * res = pcap_getnonblock(self.__pcap, errbuf) */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5380,18 +6218,18 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 433, __pyx_L1_error) + __PYX_ERR(0, 475, __pyx_L1_error) - /* "yappcap.pyx":432 + /* "yappcap.pyx":474 * cdef char errbuf[PCAP_ERRBUF_SIZE] * * if not self.activated: # <<<<<<<<<<<<<< @@ -5400,7 +6238,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ */ } - /* "yappcap.pyx":435 + /* "yappcap.pyx":477 * raise PcapErrorNotActivated() * * res = pcap_getnonblock(self.__pcap, errbuf) # <<<<<<<<<<<<<< @@ -5409,7 +6247,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ */ __pyx_v_res = pcap_getnonblock(__pyx_v_self->__pyx_base.__pyx___pcap, __pyx_v_errbuf); - /* "yappcap.pyx":436 + /* "yappcap.pyx":478 * * res = pcap_getnonblock(self.__pcap, errbuf) * if res == -1: # <<<<<<<<<<<<<< @@ -5419,19 +6257,19 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ switch (__pyx_v_res) { case -1L: - /* "yappcap.pyx":437 + /* "yappcap.pyx":479 * res = pcap_getnonblock(self.__pcap, errbuf) * if res == -1: * raise PcapError(errbuf) # <<<<<<<<<<<<<< * elif res == 0: * return True */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 437, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5441,26 +6279,46 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ } } if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 479, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 437, __pyx_L1_error) + __PYX_ERR(0, 479, __pyx_L1_error) - /* "yappcap.pyx":436 + /* "yappcap.pyx":478 * * res = pcap_getnonblock(self.__pcap, errbuf) * if res == -1: # <<<<<<<<<<<<<< @@ -5469,7 +6327,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ */ break; - /* "yappcap.pyx":438 + /* "yappcap.pyx":480 * if res == -1: * raise PcapError(errbuf) * elif res == 0: # <<<<<<<<<<<<<< @@ -5478,7 +6336,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ */ case 0: - /* "yappcap.pyx":439 + /* "yappcap.pyx":481 * raise PcapError(errbuf) * elif res == 0: * return True # <<<<<<<<<<<<<< @@ -5490,7 +6348,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ __pyx_r = Py_True; goto __pyx_L0; - /* "yappcap.pyx":438 + /* "yappcap.pyx":480 * if res == -1: * raise PcapError(errbuf) * elif res == 0: # <<<<<<<<<<<<<< @@ -5499,7 +6357,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ */ break; - /* "yappcap.pyx":440 + /* "yappcap.pyx":482 * elif res == 0: * return True * elif res == 1: # <<<<<<<<<<<<<< @@ -5508,7 +6366,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ */ case 1: - /* "yappcap.pyx":441 + /* "yappcap.pyx":483 * return True * elif res == 1: * return False # <<<<<<<<<<<<<< @@ -5520,7 +6378,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ __pyx_r = Py_False; goto __pyx_L0; - /* "yappcap.pyx":440 + /* "yappcap.pyx":482 * elif res == 0: * return True * elif res == 1: # <<<<<<<<<<<<<< @@ -5530,7 +6388,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ break; default: - /* "yappcap.pyx":443 + /* "yappcap.pyx":485 * return False * else: * return PcapError("Unknown error") # <<<<<<<<<<<<<< @@ -5538,9 +6396,9 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ * def __set__(self, blocking): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_r = __pyx_t_4; @@ -5549,7 +6407,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ break; } - /* "yappcap.pyx":429 + /* "yappcap.pyx":471 * * """ * def __get__(self): # <<<<<<<<<<<<<< @@ -5572,7 +6430,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_8blocking___get__(struct __pyx_obj_ return __pyx_r; } -/* "yappcap.pyx":445 +/* "yappcap.pyx":487 * return PcapError("Unknown error") * * def __set__(self, blocking): # <<<<<<<<<<<<<< @@ -5607,31 +6465,31 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("__set__", 0); - /* "yappcap.pyx":448 + /* "yappcap.pyx":490 * cdef char errbuf[PCAP_ERRBUF_SIZE] * * if not self.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 448, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 448, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 490, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":449 + /* "yappcap.pyx":491 * * if not self.activated: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * * res = pcap_setnonblock(self.__pcap, not blocking, errbuf) */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5641,18 +6499,18 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 449, __pyx_L1_error) + __PYX_ERR(0, 491, __pyx_L1_error) - /* "yappcap.pyx":448 + /* "yappcap.pyx":490 * cdef char errbuf[PCAP_ERRBUF_SIZE] * * if not self.activated: # <<<<<<<<<<<<<< @@ -5661,17 +6519,17 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp */ } - /* "yappcap.pyx":451 + /* "yappcap.pyx":493 * raise PcapErrorNotActivated() * * res = pcap_setnonblock(self.__pcap, not blocking, errbuf) # <<<<<<<<<<<<<< * if res == -1: * raise PcapError(errbuf) */ - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_blocking); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 451, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_blocking); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 493, __pyx_L1_error) __pyx_v_res = pcap_setnonblock(__pyx_v_self->__pyx_base.__pyx___pcap, (!__pyx_t_3), __pyx_v_errbuf); - /* "yappcap.pyx":452 + /* "yappcap.pyx":494 * * res = pcap_setnonblock(self.__pcap, not blocking, errbuf) * if res == -1: # <<<<<<<<<<<<<< @@ -5681,19 +6539,19 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp __pyx_t_3 = ((__pyx_v_res == -1L) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":453 + /* "yappcap.pyx":495 * res = pcap_setnonblock(self.__pcap, not blocking, errbuf) * if res == -1: * raise PcapError(errbuf) # <<<<<<<<<<<<<< * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 453, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5703,26 +6561,46 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp } } if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 495, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 453, __pyx_L1_error) + __PYX_ERR(0, 495, __pyx_L1_error) - /* "yappcap.pyx":452 + /* "yappcap.pyx":494 * * res = pcap_setnonblock(self.__pcap, not blocking, errbuf) * if res == -1: # <<<<<<<<<<<<<< @@ -5731,7 +6609,7 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp */ } - /* "yappcap.pyx":455 + /* "yappcap.pyx":497 * raise PcapError(errbuf) * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -5741,17 +6619,17 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp __pyx_t_3 = ((__pyx_v_res == PCAP_ERROR_NOT_ACTIVATED) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":456 + /* "yappcap.pyx":498 * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() # Not documented, but happens # <<<<<<<<<<<<<< * if res != 0: * raise PcapError("Unknown error %d" % (res,)) */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5761,18 +6639,18 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp } } if (__pyx_t_7) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 456, __pyx_L1_error) + __PYX_ERR(0, 498, __pyx_L1_error) - /* "yappcap.pyx":455 + /* "yappcap.pyx":497 * raise PcapError(errbuf) * IF not PCAP_V0: * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -5781,7 +6659,7 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp */ } - /* "yappcap.pyx":457 + /* "yappcap.pyx":499 * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() # Not documented, but happens * if res != 0: # <<<<<<<<<<<<<< @@ -5791,27 +6669,27 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp __pyx_t_3 = ((__pyx_v_res != 0) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":458 + /* "yappcap.pyx":500 * raise PcapErrorNotActivated() # Not documented, but happens * if res != 0: * raise PcapError("Unknown error %d" % (res,)) # <<<<<<<<<<<<<< * * def activate(self): */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 458, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 458, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_res); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 458, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_Unknown_error_d, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 458, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyString_Format(__pyx_kp_s_Unknown_error_d, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -5821,26 +6699,46 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp } } if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; - __Pyx_GIVEREF(__pyx_t_7); - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_7); - __pyx_t_7 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_7}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 500, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; + __Pyx_GIVEREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 458, __pyx_L1_error) + __PYX_ERR(0, 500, __pyx_L1_error) - /* "yappcap.pyx":457 + /* "yappcap.pyx":499 * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() # Not documented, but happens * if res != 0: # <<<<<<<<<<<<<< @@ -5849,7 +6747,7 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp */ } - /* "yappcap.pyx":445 + /* "yappcap.pyx":487 * return PcapError("Unknown error") * * def __set__(self, blocking): # <<<<<<<<<<<<<< @@ -5873,7 +6771,7 @@ static int __pyx_pf_7yappcap_8PcapLive_8blocking_2__set__(struct __pyx_obj_7yapp return __pyx_r; } -/* "yappcap.pyx":460 +/* "yappcap.pyx":502 * raise PcapError("Unknown error %d" % (res,)) * * def activate(self): # <<<<<<<<<<<<<< @@ -5907,32 +6805,32 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("activate", 0); - /* "yappcap.pyx":479 + /* "yappcap.pyx":521 * self.__activated = True * ELSE: * res = pcap_activate(self.__pcap) # <<<<<<<<<<<<<< * if res == 0: * self.__activated = True */ - __pyx_t_1 = __Pyx_PyInt_From_int(pcap_activate(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(pcap_activate(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_res = __pyx_t_1; __pyx_t_1 = 0; - /* "yappcap.pyx":480 + /* "yappcap.pyx":522 * ELSE: * res = pcap_activate(self.__pcap) * if res == 0: # <<<<<<<<<<<<<< * self.__activated = True * pass */ - __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_res, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 480, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_res, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 480, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":481 + /* "yappcap.pyx":523 * res = pcap_activate(self.__pcap) * if res == 0: * self.__activated = True # <<<<<<<<<<<<<< @@ -5945,7 +6843,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx___activated)); __pyx_v_self->__pyx_base.__pyx___activated = ((PyBoolObject *)Py_True); - /* "yappcap.pyx":480 + /* "yappcap.pyx":522 * ELSE: * res = pcap_activate(self.__pcap) * if res == 0: # <<<<<<<<<<<<<< @@ -5955,34 +6853,34 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap goto __pyx_L3; } - /* "yappcap.pyx":483 + /* "yappcap.pyx":525 * self.__activated = True * pass * elif res == PCAP_WARNING_PROMISC_NOTSUP: # <<<<<<<<<<<<<< * raise PcapWarningPromiscNotSup(pcap_geterr(self.__pcap)) * elif res == PCAP_WARNING: */ - __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_WARNING_PROMISC_NOTSUP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 483, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_WARNING_PROMISC_NOTSUP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 483, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":484 + /* "yappcap.pyx":526 * pass * elif res == PCAP_WARNING_PROMISC_NOTSUP: * raise PcapWarningPromiscNotSup(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * elif res == PCAP_WARNING: * raise PcapWarning(pcap_geterr(self.__pcap)) */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapWarningPromiscNotSup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 484, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapWarningPromiscNotSup); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 484, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -5992,26 +6890,46 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (!__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 526, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 526, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 484, __pyx_L1_error) + __PYX_ERR(0, 526, __pyx_L1_error) - /* "yappcap.pyx":483 + /* "yappcap.pyx":525 * self.__activated = True * pass * elif res == PCAP_WARNING_PROMISC_NOTSUP: # <<<<<<<<<<<<<< @@ -6020,34 +6938,34 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":485 + /* "yappcap.pyx":527 * elif res == PCAP_WARNING_PROMISC_NOTSUP: * raise PcapWarningPromiscNotSup(pcap_geterr(self.__pcap)) * elif res == PCAP_WARNING: # <<<<<<<<<<<<<< * raise PcapWarning(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_ACTIVATED: */ - __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_WARNING); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_WARNING); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 485, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 527, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":486 + /* "yappcap.pyx":528 * raise PcapWarningPromiscNotSup(pcap_geterr(self.__pcap)) * elif res == PCAP_WARNING: * raise PcapWarning(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapWarning); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapWarning); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -6057,26 +6975,46 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 528, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 486, __pyx_L1_error) + __PYX_ERR(0, 528, __pyx_L1_error) - /* "yappcap.pyx":485 + /* "yappcap.pyx":527 * elif res == PCAP_WARNING_PROMISC_NOTSUP: * raise PcapWarningPromiscNotSup(pcap_geterr(self.__pcap)) * elif res == PCAP_WARNING: # <<<<<<<<<<<<<< @@ -6085,32 +7023,32 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":487 + /* "yappcap.pyx":529 * elif res == PCAP_WARNING: * raise PcapWarning(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< * raise PcapErrorActivated() * elif res == PCAP_ERROR_NO_SUCH_DEVICE: */ - __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_ACTIVATED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_ACTIVATED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 487, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":488 + /* "yappcap.pyx":530 * raise PcapWarning(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() # <<<<<<<<<<<<<< * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice(pcap_geterr(self.__pcap)) */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 488, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorActivated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -6120,18 +7058,18 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 488, __pyx_L1_error) + __PYX_ERR(0, 530, __pyx_L1_error) - /* "yappcap.pyx":487 + /* "yappcap.pyx":529 * elif res == PCAP_WARNING: * raise PcapWarning(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_ACTIVATED: # <<<<<<<<<<<<<< @@ -6140,34 +7078,34 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":489 + /* "yappcap.pyx":531 * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * elif res == PCAP_ERROR_NO_SUCH_DEVICE: # <<<<<<<<<<<<<< * raise PcapErrorNoSuchDevice(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_PERM_DENIED: */ - __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_ERROR_NO_SUCH_DEVICE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_ERROR_NO_SUCH_DEVICE); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 489, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":490 + /* "yappcap.pyx":532 * raise PcapErrorActivated() * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * elif res == PCAP_ERROR_PERM_DENIED: * raise PcapErrorPermDenied(pcap_geterr(self.__pcap)) */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNoSuchDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 490, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNoSuchDevice); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 490, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -6177,26 +7115,46 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (!__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 490, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 490, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 490, __pyx_L1_error) + __PYX_ERR(0, 532, __pyx_L1_error) - /* "yappcap.pyx":489 + /* "yappcap.pyx":531 * elif res == PCAP_ERROR_ACTIVATED: * raise PcapErrorActivated() * elif res == PCAP_ERROR_NO_SUCH_DEVICE: # <<<<<<<<<<<<<< @@ -6205,34 +7163,34 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":491 + /* "yappcap.pyx":533 * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_PERM_DENIED: # <<<<<<<<<<<<<< * raise PcapErrorPermDenied(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_RFMON_NOTSUP: */ - __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_PERM_DENIED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_PERM_DENIED); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 491, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":492 + /* "yappcap.pyx":534 * raise PcapErrorNoSuchDevice(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_PERM_DENIED: * raise PcapErrorPermDenied(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * elif res == PCAP_ERROR_RFMON_NOTSUP: * raise PcapErrorRfmonNotSup() */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorPermDenied); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorPermDenied); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 492, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -6242,26 +7200,46 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (!__pyx_t_5) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4}; + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 534, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 492, __pyx_L1_error) + __PYX_ERR(0, 534, __pyx_L1_error) - /* "yappcap.pyx":491 + /* "yappcap.pyx":533 * elif res == PCAP_ERROR_NO_SUCH_DEVICE: * raise PcapErrorNoSuchDevice(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_PERM_DENIED: # <<<<<<<<<<<<<< @@ -6270,32 +7248,32 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":493 + /* "yappcap.pyx":535 * elif res == PCAP_ERROR_PERM_DENIED: * raise PcapErrorPermDenied(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_RFMON_NOTSUP: # <<<<<<<<<<<<<< * raise PcapErrorRfmonNotSup() * elif res == PCAP_ERROR_IFACE_NOT_UP: */ - __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_ERROR_RFMON_NOTSUP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_ERROR_RFMON_NOTSUP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L1_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 493, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":494 + /* "yappcap.pyx":536 * raise PcapErrorPermDenied(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_RFMON_NOTSUP: * raise PcapErrorRfmonNotSup() # <<<<<<<<<<<<<< * elif res == PCAP_ERROR_IFACE_NOT_UP: * raise PcapErrorIfaceNotUp() */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorRfmonNotSup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorRfmonNotSup); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -6305,18 +7283,18 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (__pyx_t_6) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 494, __pyx_L1_error) + __PYX_ERR(0, 536, __pyx_L1_error) - /* "yappcap.pyx":493 + /* "yappcap.pyx":535 * elif res == PCAP_ERROR_PERM_DENIED: * raise PcapErrorPermDenied(pcap_geterr(self.__pcap)) * elif res == PCAP_ERROR_RFMON_NOTSUP: # <<<<<<<<<<<<<< @@ -6325,32 +7303,32 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":495 + /* "yappcap.pyx":537 * elif res == PCAP_ERROR_RFMON_NOTSUP: * raise PcapErrorRfmonNotSup() * elif res == PCAP_ERROR_IFACE_NOT_UP: # <<<<<<<<<<<<<< * raise PcapErrorIfaceNotUp() * elif res == PCAP_ERROR: */ - __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_IFACE_NOT_UP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 495, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(PCAP_ERROR_IFACE_NOT_UP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 495, __pyx_L1_error) + __pyx_t_3 = PyObject_RichCompare(__pyx_v_res, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 495, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":496 + /* "yappcap.pyx":538 * raise PcapErrorRfmonNotSup() * elif res == PCAP_ERROR_IFACE_NOT_UP: * raise PcapErrorIfaceNotUp() # <<<<<<<<<<<<<< * elif res == PCAP_ERROR: * raise PcapError(pcap_geterr(self.__pcap)) */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorIfaceNotUp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 496, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorIfaceNotUp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -6360,18 +7338,18 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (__pyx_t_6) { - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { - __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __PYX_ERR(0, 496, __pyx_L1_error) + __PYX_ERR(0, 538, __pyx_L1_error) - /* "yappcap.pyx":495 + /* "yappcap.pyx":537 * elif res == PCAP_ERROR_RFMON_NOTSUP: * raise PcapErrorRfmonNotSup() * elif res == PCAP_ERROR_IFACE_NOT_UP: # <<<<<<<<<<<<<< @@ -6380,34 +7358,34 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":497 + /* "yappcap.pyx":539 * elif res == PCAP_ERROR_IFACE_NOT_UP: * raise PcapErrorIfaceNotUp() * elif res == PCAP_ERROR: # <<<<<<<<<<<<<< * raise PcapError(pcap_geterr(self.__pcap)) * */ - __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_From_int(PCAP_ERROR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) + __pyx_t_1 = PyObject_RichCompare(__pyx_v_res, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 497, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "yappcap.pyx":498 + /* "yappcap.pyx":540 * raise PcapErrorIfaceNotUp() * elif res == PCAP_ERROR: * raise PcapError(pcap_geterr(self.__pcap)) # <<<<<<<<<<<<<< * * if self.__autosave: */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_6 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 498, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -6417,26 +7395,46 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } } if (!__pyx_t_4) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 498, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_5); - __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_6}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } else + #endif + { + __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_5); + __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL; + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 498, __pyx_L1_error) + __PYX_ERR(0, 540, __pyx_L1_error) - /* "yappcap.pyx":497 + /* "yappcap.pyx":539 * elif res == PCAP_ERROR_IFACE_NOT_UP: * raise PcapErrorIfaceNotUp() * elif res == PCAP_ERROR: # <<<<<<<<<<<<<< @@ -6446,24 +7444,24 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap } __pyx_L3:; - /* "yappcap.pyx":500 + /* "yappcap.pyx":542 * raise PcapError(pcap_geterr(self.__pcap)) * * if self.__autosave: # <<<<<<<<<<<<<< * self.__dumper = PcapDumper(self, self.__autosave) * */ - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx_base.__pyx___autosave); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 500, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx_base.__pyx___autosave); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 542, __pyx_L1_error) if (__pyx_t_2) { - /* "yappcap.pyx":501 + /* "yappcap.pyx":543 * * if self.__autosave: * self.__dumper = PcapDumper(self, self.__autosave) # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); @@ -6471,7 +7469,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx___autosave); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx___autosave); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.__pyx___autosave); - __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7yappcap_PcapDumper), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7yappcap_PcapDumper), __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GIVEREF(__pyx_t_3); @@ -6480,7 +7478,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap __pyx_v_self->__pyx_base.__pyx___dumper = ((struct __pyx_obj_7yappcap_PcapDumper *)__pyx_t_3); __pyx_t_3 = 0; - /* "yappcap.pyx":500 + /* "yappcap.pyx":542 * raise PcapError(pcap_geterr(self.__pcap)) * * if self.__autosave: # <<<<<<<<<<<<<< @@ -6489,7 +7487,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":460 + /* "yappcap.pyx":502 * raise PcapError("Unknown error %d" % (res,)) * * def activate(self): # <<<<<<<<<<<<<< @@ -6515,7 +7513,7 @@ static PyObject *__pyx_pf_7yappcap_8PcapLive_2activate(struct __pyx_obj_7yappcap return __pyx_r; } -/* "yappcap.pyx":507 +/* "yappcap.pyx":549 * cdef class PcapOffline(Pcap): * cdef __filename * def __init__(self, filename, autosave=None): # <<<<<<<<<<<<<< @@ -6560,7 +7558,7 @@ static int __pyx_pw_7yappcap_11PcapOffline_1__init__(PyObject *__pyx_v_self, PyO } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 507, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 549, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -6575,7 +7573,7 @@ static int __pyx_pw_7yappcap_11PcapOffline_1__init__(PyObject *__pyx_v_self, PyO } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 507, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 549, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("yappcap.PcapOffline.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6601,7 +7599,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":522 + /* "yappcap.pyx":564 * """ * cdef char errbuf[PCAP_ERRBUF_SIZE] * self.__filename = filename # <<<<<<<<<<<<<< @@ -6614,7 +7612,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __Pyx_DECREF(__pyx_v_self->__pyx___filename); __pyx_v_self->__pyx___filename = __pyx_v_filename; - /* "yappcap.pyx":523 + /* "yappcap.pyx":565 * cdef char errbuf[PCAP_ERRBUF_SIZE] * self.__filename = filename * self.__autosave = autosave # <<<<<<<<<<<<<< @@ -6627,7 +7625,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __Pyx_DECREF(__pyx_v_self->__pyx_base.__pyx___autosave); __pyx_v_self->__pyx_base.__pyx___autosave = __pyx_v_autosave; - /* "yappcap.pyx":524 + /* "yappcap.pyx":566 * self.__filename = filename * self.__autosave = autosave * self.__activated = False # <<<<<<<<<<<<<< @@ -6640,23 +7638,23 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx___activated)); __pyx_v_self->__pyx_base.__pyx___activated = ((PyBoolObject *)Py_False); - /* "yappcap.pyx":525 + /* "yappcap.pyx":567 * self.__autosave = autosave * self.__activated = False * self.__pcap = pcap_open_offline(self.__filename.encode('UTF-8'), errbuf) # <<<<<<<<<<<<<< * if self.__pcap == NULL: * raise PcapError(errbuf) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 525, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->__pyx___filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 525, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_t_2); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 525, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_t_2); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 567, __pyx_L1_error) __pyx_v_self->__pyx_base.__pyx___pcap = pcap_open_offline(__pyx_t_3, __pyx_v_errbuf); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "yappcap.pyx":526 + /* "yappcap.pyx":568 * self.__activated = False * self.__pcap = pcap_open_offline(self.__filename.encode('UTF-8'), errbuf) * if self.__pcap == NULL: # <<<<<<<<<<<<<< @@ -6666,19 +7664,19 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __pyx_t_4 = ((__pyx_v_self->__pyx_base.__pyx___pcap == NULL) != 0); if (__pyx_t_4) { - /* "yappcap.pyx":527 + /* "yappcap.pyx":569 * self.__pcap = pcap_open_offline(self.__filename.encode('UTF-8'), errbuf) * if self.__pcap == NULL: * raise PcapError(errbuf) # <<<<<<<<<<<<<< * self.__activated = True * if self.__autosave: */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -6688,26 +7686,46 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc } } if (!__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 527, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 569, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 527, __pyx_L1_error) + __PYX_ERR(0, 569, __pyx_L1_error) - /* "yappcap.pyx":526 + /* "yappcap.pyx":568 * self.__activated = False * self.__pcap = pcap_open_offline(self.__filename.encode('UTF-8'), errbuf) * if self.__pcap == NULL: # <<<<<<<<<<<<<< @@ -6716,7 +7734,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc */ } - /* "yappcap.pyx":528 + /* "yappcap.pyx":570 * if self.__pcap == NULL: * raise PcapError(errbuf) * self.__activated = True # <<<<<<<<<<<<<< @@ -6729,24 +7747,24 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __Pyx_DECREF(((PyObject *)__pyx_v_self->__pyx_base.__pyx___activated)); __pyx_v_self->__pyx_base.__pyx___activated = ((PyBoolObject *)Py_True); - /* "yappcap.pyx":529 + /* "yappcap.pyx":571 * raise PcapError(errbuf) * self.__activated = True * if self.__autosave: # <<<<<<<<<<<<<< * self.__dumper = PcapDumper(self, self.__autosave) * */ - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx_base.__pyx___autosave); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 529, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_self->__pyx_base.__pyx___autosave); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 571, __pyx_L1_error) if (__pyx_t_4) { - /* "yappcap.pyx":530 + /* "yappcap.pyx":572 * self.__activated = True * if self.__autosave: * self.__dumper = PcapDumper(self, self.__autosave) # <<<<<<<<<<<<<< * * property filename: */ - __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_v_self)); __Pyx_GIVEREF(((PyObject *)__pyx_v_self)); @@ -6754,7 +7772,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __Pyx_INCREF(__pyx_v_self->__pyx_base.__pyx___autosave); __Pyx_GIVEREF(__pyx_v_self->__pyx_base.__pyx___autosave); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->__pyx_base.__pyx___autosave); - __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7yappcap_PcapDumper), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_7yappcap_PcapDumper), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GIVEREF(__pyx_t_1); @@ -6763,7 +7781,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc __pyx_v_self->__pyx_base.__pyx___dumper = ((struct __pyx_obj_7yappcap_PcapDumper *)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":529 + /* "yappcap.pyx":571 * raise PcapError(errbuf) * self.__activated = True * if self.__autosave: # <<<<<<<<<<<<<< @@ -6772,7 +7790,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc */ } - /* "yappcap.pyx":507 + /* "yappcap.pyx":549 * cdef class PcapOffline(Pcap): * cdef __filename * def __init__(self, filename, autosave=None): # <<<<<<<<<<<<<< @@ -6796,7 +7814,7 @@ static int __pyx_pf_7yappcap_11PcapOffline___init__(struct __pyx_obj_7yappcap_Pc return __pyx_r; } -/* "yappcap.pyx":534 +/* "yappcap.pyx":576 * property filename: * """The filename of the capture file being processed (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6822,7 +7840,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_8filename___get__(struct __pyx_ __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":535 + /* "yappcap.pyx":577 * """The filename of the capture file being processed (read-only)""" * def __get__(self): * return self.__filename # <<<<<<<<<<<<<< @@ -6834,7 +7852,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_8filename___get__(struct __pyx_ __pyx_r = __pyx_v_self->__pyx___filename; goto __pyx_L0; - /* "yappcap.pyx":534 + /* "yappcap.pyx":576 * property filename: * """The filename of the capture file being processed (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6849,7 +7867,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_8filename___get__(struct __pyx_ return __pyx_r; } -/* "yappcap.pyx":538 +/* "yappcap.pyx":580 * property snaplen: * """The number of bytes of each captured packet to store (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6876,7 +7894,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_7snaplen___get__(struct __pyx_o PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":539 + /* "yappcap.pyx":581 * """The number of bytes of each captured packet to store (read-only)""" * def __get__(self): * return pcap_snapshot(self.__pcap) # <<<<<<<<<<<<<< @@ -6884,13 +7902,13 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_7snaplen___get__(struct __pyx_o * """Whether the savefile uses a different byte order than the current system (read-only)""" */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_int(pcap_snapshot(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 539, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(pcap_snapshot(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":538 + /* "yappcap.pyx":580 * property snaplen: * """The number of bytes of each captured packet to store (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6909,7 +7927,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_7snaplen___get__(struct __pyx_o return __pyx_r; } -/* "yappcap.pyx":542 +/* "yappcap.pyx":584 * property swapped: * """Whether the savefile uses a different byte order than the current system (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6936,7 +7954,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_7swapped___get__(struct __pyx_o PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":543 + /* "yappcap.pyx":585 * """Whether the savefile uses a different byte order than the current system (read-only)""" * def __get__(self): * return pcap_is_swapped(self.__pcap) # <<<<<<<<<<<<<< @@ -6944,13 +7962,13 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_7swapped___get__(struct __pyx_o * """The marjor version of the savefile format (read-only)""" */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBool_FromLong(pcap_is_swapped(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBool_FromLong(pcap_is_swapped(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":542 + /* "yappcap.pyx":584 * property swapped: * """Whether the savefile uses a different byte order than the current system (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6969,7 +7987,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_7swapped___get__(struct __pyx_o return __pyx_r; } -/* "yappcap.pyx":546 +/* "yappcap.pyx":588 * property major_version: * """The marjor version of the savefile format (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -6996,7 +8014,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_13major_version___get__(struct PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":547 + /* "yappcap.pyx":589 * """The marjor version of the savefile format (read-only)""" * def __get__(self): * return pcap_major_version(self.__pcap) # <<<<<<<<<<<<<< @@ -7004,13 +8022,13 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_13major_version___get__(struct * """The minor version of the savefile format (read-only)""" */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_int(pcap_major_version(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 547, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(pcap_major_version(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":546 + /* "yappcap.pyx":588 * property major_version: * """The marjor version of the savefile format (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -7029,7 +8047,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_13major_version___get__(struct return __pyx_r; } -/* "yappcap.pyx":550 +/* "yappcap.pyx":592 * property minor_version: * """The minor version of the savefile format (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -7056,7 +8074,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_13minor_version___get__(struct PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":551 + /* "yappcap.pyx":593 * """The minor version of the savefile format (read-only)""" * def __get__(self): * return pcap_minor_version(self.__pcap) # <<<<<<<<<<<<<< @@ -7064,13 +8082,13 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_13minor_version___get__(struct * cdef class PcapPacket: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_int(pcap_minor_version(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_int(pcap_minor_version(__pyx_v_self->__pyx_base.__pyx___pcap)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":550 + /* "yappcap.pyx":592 * property minor_version: * """The minor version of the savefile format (read-only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -7089,7 +8107,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapOffline_13minor_version___get__(struct return __pyx_r; } -/* "yappcap.pyx":557 +/* "yappcap.pyx":599 * cdef pcap_pkthdr __pkthdr * cdef bytes __data * def __init__(self): # <<<<<<<<<<<<<< @@ -7119,20 +8137,20 @@ static int __pyx_pf_7yappcap_10PcapPacket___init__(CYTHON_UNUSED struct __pyx_ob PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":558 + /* "yappcap.pyx":600 * cdef bytes __data * def __init__(self): * raise TypeError("This class cannot be instantiated from Python") # <<<<<<<<<<<<<< * * property timestamp: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 558, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 558, __pyx_L1_error) + __PYX_ERR(0, 600, __pyx_L1_error) - /* "yappcap.pyx":557 + /* "yappcap.pyx":599 * cdef pcap_pkthdr __pkthdr * cdef bytes __data * def __init__(self): # <<<<<<<<<<<<<< @@ -7149,7 +8167,7 @@ static int __pyx_pf_7yappcap_10PcapPacket___init__(CYTHON_UNUSED struct __pyx_ob return __pyx_r; } -/* "yappcap.pyx":561 +/* "yappcap.pyx":603 * * property timestamp: * def __get__(self): # <<<<<<<<<<<<<< @@ -7176,7 +8194,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_9timestamp___get__(struct __pyx_ PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":562 + /* "yappcap.pyx":604 * property timestamp: * def __get__(self): * return self.__pkthdr.ts.tv_sec + (self.__pkthdr.ts.tv_usec / 1000000) # <<<<<<<<<<<<<< @@ -7184,13 +8202,13 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_9timestamp___get__(struct __pyx_ * def __get__(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->__pyx___pkthdr.ts.tv_sec + (((double)__pyx_v_self->__pyx___pkthdr.ts.tv_usec) / 1000000.0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 562, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble((__pyx_v_self->__pyx___pkthdr.ts.tv_sec + (((double)__pyx_v_self->__pyx___pkthdr.ts.tv_usec) / 1000000.0))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":561 + /* "yappcap.pyx":603 * * property timestamp: * def __get__(self): # <<<<<<<<<<<<<< @@ -7209,7 +8227,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_9timestamp___get__(struct __pyx_ return __pyx_r; } -/* "yappcap.pyx":564 +/* "yappcap.pyx":606 * return self.__pkthdr.ts.tv_sec + (self.__pkthdr.ts.tv_usec / 1000000) * property caplen: * def __get__(self): # <<<<<<<<<<<<<< @@ -7236,7 +8254,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_6caplen___get__(struct __pyx_obj PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":565 + /* "yappcap.pyx":607 * property caplen: * def __get__(self): * return self.__pkthdr.caplen # <<<<<<<<<<<<<< @@ -7244,13 +8262,13 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_6caplen___get__(struct __pyx_obj * def __get__(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->__pyx___pkthdr.caplen); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->__pyx___pkthdr.caplen); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":564 + /* "yappcap.pyx":606 * return self.__pkthdr.ts.tv_sec + (self.__pkthdr.ts.tv_usec / 1000000) * property caplen: * def __get__(self): # <<<<<<<<<<<<<< @@ -7269,7 +8287,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_6caplen___get__(struct __pyx_obj return __pyx_r; } -/* "yappcap.pyx":567 +/* "yappcap.pyx":609 * return self.__pkthdr.caplen * property wirelen: * def __get__(self): # <<<<<<<<<<<<<< @@ -7296,7 +8314,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_7wirelen___get__(struct __pyx_ob PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":568 + /* "yappcap.pyx":610 * property wirelen: * def __get__(self): * return self.__pkthdr.len # <<<<<<<<<<<<<< @@ -7304,13 +8322,13 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_7wirelen___get__(struct __pyx_ob * def __get__(self): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->__pyx___pkthdr.len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 568, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_From_unsigned_int(__pyx_v_self->__pyx___pkthdr.len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":567 + /* "yappcap.pyx":609 * return self.__pkthdr.caplen * property wirelen: * def __get__(self): # <<<<<<<<<<<<<< @@ -7329,7 +8347,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_7wirelen___get__(struct __pyx_ob return __pyx_r; } -/* "yappcap.pyx":570 +/* "yappcap.pyx":612 * return self.__pkthdr.len * property data: * def __get__(self): # <<<<<<<<<<<<<< @@ -7355,7 +8373,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_4data___get__(struct __pyx_obj_7 __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":571 + /* "yappcap.pyx":613 * property data: * def __get__(self): * return self.__data # <<<<<<<<<<<<<< @@ -7367,7 +8385,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_4data___get__(struct __pyx_obj_7 __pyx_r = __pyx_v_self->__pyx___data; goto __pyx_L0; - /* "yappcap.pyx":570 + /* "yappcap.pyx":612 * return self.__pkthdr.len * property data: * def __get__(self): # <<<<<<<<<<<<<< @@ -7382,7 +8400,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_4data___get__(struct __pyx_obj_7 return __pyx_r; } -/* "yappcap.pyx":573 +/* "yappcap.pyx":615 * return self.__data * * def __str__(self): # <<<<<<<<<<<<<< @@ -7412,7 +8430,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_2__str__(struct __pyx_obj_7yappc PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("__str__", 0); - /* "yappcap.pyx":574 + /* "yappcap.pyx":616 * * def __str__(self): * return "" % (self.timestamp, self.wirelen, self.caplen) # <<<<<<<<<<<<<< @@ -7420,13 +8438,13 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_2__str__(struct __pyx_obj_7yappc * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_timestamp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_timestamp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_wirelen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_wirelen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_caplen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_caplen); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); @@ -7437,14 +8455,14 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_2__str__(struct __pyx_obj_7yappc __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Packet_received_at_f_with_lengt, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 574, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_Packet_received_at_f_with_lengt, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "yappcap.pyx":573 + /* "yappcap.pyx":615 * return self.__data * * def __str__(self): # <<<<<<<<<<<<<< @@ -7466,7 +8484,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapPacket_2__str__(struct __pyx_obj_7yappc return __pyx_r; } -/* "yappcap.pyx":577 +/* "yappcap.pyx":619 * * * cdef PcapPacket PcapPacket_factory(const_pcap_pkthdr_ptr pkt_header, const_uchar_ptr data): # <<<<<<<<<<<<<< @@ -7482,20 +8500,20 @@ static struct __pyx_obj_7yappcap_PcapPacket *__pyx_f_7yappcap_PcapPacket_factory PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("PcapPacket_factory", 0); - /* "yappcap.pyx":578 + /* "yappcap.pyx":620 * * cdef PcapPacket PcapPacket_factory(const_pcap_pkthdr_ptr pkt_header, const_uchar_ptr data): * cdef PcapPacket instance = PcapPacket.__new__(PcapPacket) # <<<<<<<<<<<<<< * cdef char *cast_data = data * instance.__pkthdr = pkt_header[0] */ - __pyx_t_1 = __pyx_tp_new_7yappcap_PcapPacket(((PyTypeObject *)__pyx_ptype_7yappcap_PcapPacket), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error) + __pyx_t_1 = __pyx_tp_new_7yappcap_PcapPacket(((PyTypeObject *)__pyx_ptype_7yappcap_PcapPacket), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7yappcap_PcapPacket)))) __PYX_ERR(0, 578, __pyx_L1_error) + if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7yappcap_PcapPacket)))) __PYX_ERR(0, 620, __pyx_L1_error) __pyx_v_instance = ((struct __pyx_obj_7yappcap_PcapPacket *)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":579 + /* "yappcap.pyx":621 * cdef PcapPacket PcapPacket_factory(const_pcap_pkthdr_ptr pkt_header, const_uchar_ptr data): * cdef PcapPacket instance = PcapPacket.__new__(PcapPacket) * cdef char *cast_data = data # <<<<<<<<<<<<<< @@ -7504,7 +8522,7 @@ static struct __pyx_obj_7yappcap_PcapPacket *__pyx_f_7yappcap_PcapPacket_factory */ __pyx_v_cast_data = ((char *)__pyx_v_data); - /* "yappcap.pyx":580 + /* "yappcap.pyx":622 * cdef PcapPacket instance = PcapPacket.__new__(PcapPacket) * cdef char *cast_data = data * instance.__pkthdr = pkt_header[0] # <<<<<<<<<<<<<< @@ -7513,14 +8531,14 @@ static struct __pyx_obj_7yappcap_PcapPacket *__pyx_f_7yappcap_PcapPacket_factory */ __pyx_v_instance->__pyx___pkthdr = (__pyx_v_pkt_header[0]); - /* "yappcap.pyx":581 + /* "yappcap.pyx":623 * cdef char *cast_data = data * instance.__pkthdr = pkt_header[0] * instance.__data = cast_data[:pkt_header.caplen] # <<<<<<<<<<<<<< * return instance * */ - __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_cast_data + 0, __pyx_v_pkt_header->caplen - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 581, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_cast_data + 0, __pyx_v_pkt_header->caplen - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___data); @@ -7528,7 +8546,7 @@ static struct __pyx_obj_7yappcap_PcapPacket *__pyx_f_7yappcap_PcapPacket_factory __pyx_v_instance->__pyx___data = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":582 + /* "yappcap.pyx":624 * instance.__pkthdr = pkt_header[0] * instance.__data = cast_data[:pkt_header.caplen] * return instance # <<<<<<<<<<<<<< @@ -7540,7 +8558,7 @@ static struct __pyx_obj_7yappcap_PcapPacket *__pyx_f_7yappcap_PcapPacket_factory __pyx_r = __pyx_v_instance; goto __pyx_L0; - /* "yappcap.pyx":577 + /* "yappcap.pyx":619 * * * cdef PcapPacket PcapPacket_factory(const_pcap_pkthdr_ptr pkt_header, const_uchar_ptr data): # <<<<<<<<<<<<<< @@ -7560,7 +8578,7 @@ static struct __pyx_obj_7yappcap_PcapPacket *__pyx_f_7yappcap_PcapPacket_factory return __pyx_r; } -/* "yappcap.pyx":589 +/* "yappcap.pyx":631 * cdef pcap_dumper_t *__dumper * * def __init__(self, Pcap pcap, filename): # <<<<<<<<<<<<<< @@ -7596,11 +8614,11 @@ static int __pyx_pw_7yappcap_10PcapDumper_1__init__(PyObject *__pyx_v_self, PyOb case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filename)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 589, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 631, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 589, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 631, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7613,13 +8631,13 @@ static int __pyx_pw_7yappcap_10PcapDumper_1__init__(PyObject *__pyx_v_self, PyOb } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 589, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 631, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("yappcap.PcapDumper.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pcap), __pyx_ptype_7yappcap_Pcap, 1, "pcap", 0))) __PYX_ERR(0, 589, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pcap), __pyx_ptype_7yappcap_Pcap, 1, "pcap", 0))) __PYX_ERR(0, 631, __pyx_L1_error) __pyx_r = __pyx_pf_7yappcap_10PcapDumper___init__(((struct __pyx_obj_7yappcap_PcapDumper *)__pyx_v_self), __pyx_v_pcap, __pyx_v_filename); /* function exit code */ @@ -7643,23 +8661,23 @@ static int __pyx_pf_7yappcap_10PcapDumper___init__(struct __pyx_obj_7yappcap_Pca PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":590 + /* "yappcap.pyx":632 * * def __init__(self, Pcap pcap, filename): * self.__dumper = pcap_dump_open(pcap.__pcap, filename.encode('UTF-8')) # <<<<<<<<<<<<<< * if self.__dumper is NULL: * raise PcapError(pcap_geterr(pcap.__pcap)) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filename, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_t_2); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 590, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_AsString(__pyx_t_2); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 632, __pyx_L1_error) __pyx_v_self->__pyx___dumper = pcap_dump_open(__pyx_v_pcap->__pyx___pcap, __pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "yappcap.pyx":591 + /* "yappcap.pyx":633 * def __init__(self, Pcap pcap, filename): * self.__dumper = pcap_dump_open(pcap.__pcap, filename.encode('UTF-8')) * if self.__dumper is NULL: # <<<<<<<<<<<<<< @@ -7669,19 +8687,19 @@ static int __pyx_pf_7yappcap_10PcapDumper___init__(struct __pyx_obj_7yappcap_Pca __pyx_t_4 = ((__pyx_v_self->__pyx___dumper == NULL) != 0); if (__pyx_t_4) { - /* "yappcap.pyx":592 + /* "yappcap.pyx":634 * self.__dumper = pcap_dump_open(pcap.__pcap, filename.encode('UTF-8')) * if self.__dumper is NULL: * raise PcapError(pcap_geterr(pcap.__pcap)) # <<<<<<<<<<<<<< * * def dump(self, PcapPacket pkt): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_pcap->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_pcap->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -7691,26 +8709,46 @@ static int __pyx_pf_7yappcap_10PcapDumper___init__(struct __pyx_obj_7yappcap_Pca } } if (!__pyx_t_6) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); } else { - __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_7); - __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_5}; + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_7); + __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 592, __pyx_L1_error) + __PYX_ERR(0, 634, __pyx_L1_error) - /* "yappcap.pyx":591 + /* "yappcap.pyx":633 * def __init__(self, Pcap pcap, filename): * self.__dumper = pcap_dump_open(pcap.__pcap, filename.encode('UTF-8')) * if self.__dumper is NULL: # <<<<<<<<<<<<<< @@ -7719,7 +8757,7 @@ static int __pyx_pf_7yappcap_10PcapDumper___init__(struct __pyx_obj_7yappcap_Pca */ } - /* "yappcap.pyx":589 + /* "yappcap.pyx":631 * cdef pcap_dumper_t *__dumper * * def __init__(self, Pcap pcap, filename): # <<<<<<<<<<<<<< @@ -7743,7 +8781,7 @@ static int __pyx_pf_7yappcap_10PcapDumper___init__(struct __pyx_obj_7yappcap_Pca return __pyx_r; } -/* "yappcap.pyx":594 +/* "yappcap.pyx":636 * raise PcapError(pcap_geterr(pcap.__pcap)) * * def dump(self, PcapPacket pkt): # <<<<<<<<<<<<<< @@ -7758,7 +8796,7 @@ static PyObject *__pyx_pw_7yappcap_10PcapDumper_3dump(PyObject *__pyx_v_self, Py PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("dump (wrapper)", 0); - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pkt), __pyx_ptype_7yappcap_PcapPacket, 1, "pkt", 0))) __PYX_ERR(0, 594, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pkt), __pyx_ptype_7yappcap_PcapPacket, 1, "pkt", 0))) __PYX_ERR(0, 636, __pyx_L1_error) __pyx_r = __pyx_pf_7yappcap_10PcapDumper_2dump(((struct __pyx_obj_7yappcap_PcapDumper *)__pyx_v_self), ((struct __pyx_obj_7yappcap_PcapPacket *)__pyx_v_pkt)); /* function exit code */ @@ -7780,7 +8818,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_2dump(struct __pyx_obj_7yappcap_ unsigned char *__pyx_t_5; __Pyx_RefNannySetupContext("dump", 0); - /* "yappcap.pyx":595 + /* "yappcap.pyx":637 * * def dump(self, PcapPacket pkt): * if not self.__dumper: # <<<<<<<<<<<<<< @@ -7790,17 +8828,17 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_2dump(struct __pyx_obj_7yappcap_ __pyx_t_1 = ((!(__pyx_v_self->__pyx___dumper != 0)) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":596 + /* "yappcap.pyx":638 * def dump(self, PcapPacket pkt): * if not self.__dumper: * raise PcapDumperClosed() # <<<<<<<<<<<<<< * pcap_dump(self.__dumper, &pkt.__pkthdr, pkt.data) * */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapDumperClosed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 596, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapDumperClosed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -7810,18 +8848,18 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_2dump(struct __pyx_obj_7yappcap_ } } if (__pyx_t_4) { - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { - __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 638, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __PYX_ERR(0, 596, __pyx_L1_error) + __PYX_ERR(0, 638, __pyx_L1_error) - /* "yappcap.pyx":595 + /* "yappcap.pyx":637 * * def dump(self, PcapPacket pkt): * if not self.__dumper: # <<<<<<<<<<<<<< @@ -7830,20 +8868,20 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_2dump(struct __pyx_obj_7yappcap_ */ } - /* "yappcap.pyx":597 + /* "yappcap.pyx":639 * if not self.__dumper: * raise PcapDumperClosed() * pcap_dump(self.__dumper, &pkt.__pkthdr, pkt.data) # <<<<<<<<<<<<<< * * def close(self): */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pkt), __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 597, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pkt), __pyx_n_s_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_5 = __Pyx_PyObject_AsUString(__pyx_t_2); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 597, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_AsUString(__pyx_t_2); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L1_error) pcap_dump(((unsigned char *)__pyx_v_self->__pyx___dumper), ((struct pcap_pkthdr *)(&__pyx_v_pkt->__pyx___pkthdr)), ((unsigned char *)__pyx_t_5)); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "yappcap.pyx":594 + /* "yappcap.pyx":636 * raise PcapError(pcap_geterr(pcap.__pcap)) * * def dump(self, PcapPacket pkt): # <<<<<<<<<<<<<< @@ -7866,7 +8904,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_2dump(struct __pyx_obj_7yappcap_ return __pyx_r; } -/* "yappcap.pyx":599 +/* "yappcap.pyx":641 * pcap_dump(self.__dumper, &pkt.__pkthdr, pkt.data) * * def close(self): # <<<<<<<<<<<<<< @@ -7894,7 +8932,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_4close(struct __pyx_obj_7yappcap int __pyx_t_1; __Pyx_RefNannySetupContext("close", 0); - /* "yappcap.pyx":600 + /* "yappcap.pyx":642 * * def close(self): * if self.__dumper: # <<<<<<<<<<<<<< @@ -7904,7 +8942,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_4close(struct __pyx_obj_7yappcap __pyx_t_1 = (__pyx_v_self->__pyx___dumper != 0); if (__pyx_t_1) { - /* "yappcap.pyx":601 + /* "yappcap.pyx":643 * def close(self): * if self.__dumper: * pcap_dump_close(self.__dumper) # <<<<<<<<<<<<<< @@ -7913,7 +8951,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_4close(struct __pyx_obj_7yappcap */ pcap_dump_close(__pyx_v_self->__pyx___dumper); - /* "yappcap.pyx":602 + /* "yappcap.pyx":644 * if self.__dumper: * pcap_dump_close(self.__dumper) * self.__dumper = NULL # <<<<<<<<<<<<<< @@ -7922,7 +8960,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_4close(struct __pyx_obj_7yappcap */ __pyx_v_self->__pyx___dumper = NULL; - /* "yappcap.pyx":600 + /* "yappcap.pyx":642 * * def close(self): * if self.__dumper: # <<<<<<<<<<<<<< @@ -7931,7 +8969,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_4close(struct __pyx_obj_7yappcap */ } - /* "yappcap.pyx":599 + /* "yappcap.pyx":641 * pcap_dump(self.__dumper, &pkt.__pkthdr, pkt.data) * * def close(self): # <<<<<<<<<<<<<< @@ -7946,7 +8984,7 @@ static PyObject *__pyx_pf_7yappcap_10PcapDumper_4close(struct __pyx_obj_7yappcap return __pyx_r; } -/* "yappcap.pyx":604 +/* "yappcap.pyx":646 * self.__dumper = NULL * * def __dealloc__(self): # <<<<<<<<<<<<<< @@ -7972,17 +9010,17 @@ static void __pyx_pf_7yappcap_10PcapDumper_6__dealloc__(struct __pyx_obj_7yappca PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("__dealloc__", 0); - /* "yappcap.pyx":605 + /* "yappcap.pyx":647 * * def __dealloc__(self): * self.close() # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 605, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_close); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_2))) { + if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); @@ -7992,16 +9030,16 @@ static void __pyx_pf_7yappcap_10PcapDumper_6__dealloc__(struct __pyx_obj_7yappca } } if (__pyx_t_3) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":604 + /* "yappcap.pyx":646 * self.__dumper = NULL * * def __dealloc__(self): # <<<<<<<<<<<<<< @@ -8020,7 +9058,7 @@ static void __pyx_pf_7yappcap_10PcapDumper_6__dealloc__(struct __pyx_obj_7yappca __Pyx_RefNannyFinishContext(); } -/* "yappcap.pyx":615 +/* "yappcap.pyx":657 * cdef str __description * cdef bool __loopback * def __init__(self): # <<<<<<<<<<<<<< @@ -8054,20 +9092,20 @@ static int __pyx_pf_7yappcap_13PcapInterface___init__(CYTHON_UNUSED struct __pyx PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":618 + /* "yappcap.pyx":660 * """This class is only returned by yappcap.findalldevs() and cannot be * instantiated from Python""" * raise TypeError("Instances of this class cannot be created from Python") # <<<<<<<<<<<<<< * * property name: */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 618, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 618, __pyx_L1_error) + __PYX_ERR(0, 660, __pyx_L1_error) - /* "yappcap.pyx":615 + /* "yappcap.pyx":657 * cdef str __description * cdef bool __loopback * def __init__(self): # <<<<<<<<<<<<<< @@ -8084,7 +9122,7 @@ static int __pyx_pf_7yappcap_13PcapInterface___init__(CYTHON_UNUSED struct __pyx return __pyx_r; } -/* "yappcap.pyx":622 +/* "yappcap.pyx":664 * property name: * """The interface name, i.e. 'eth0'. (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8110,7 +9148,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_4name___get__(struct __pyx_ob __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":623 + /* "yappcap.pyx":665 * """The interface name, i.e. 'eth0'. (read only)""" * def __get__(self): * return self.__name # <<<<<<<<<<<<<< @@ -8122,7 +9160,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_4name___get__(struct __pyx_ob __pyx_r = __pyx_v_self->__pyx___name; goto __pyx_L0; - /* "yappcap.pyx":622 + /* "yappcap.pyx":664 * property name: * """The interface name, i.e. 'eth0'. (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8137,7 +9175,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_4name___get__(struct __pyx_ob return __pyx_r; } -/* "yappcap.pyx":626 +/* "yappcap.pyx":668 * property description: * """A textual description of the interface, if available. (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8163,7 +9201,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_11description___get__(struct __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":627 + /* "yappcap.pyx":669 * """A textual description of the interface, if available. (read only)""" * def __get__(self): * return self.__description # <<<<<<<<<<<<<< @@ -8175,7 +9213,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_11description___get__(struct __pyx_r = __pyx_v_self->__pyx___description; goto __pyx_L0; - /* "yappcap.pyx":626 + /* "yappcap.pyx":668 * property description: * """A textual description of the interface, if available. (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8190,7 +9228,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_11description___get__(struct return __pyx_r; } -/* "yappcap.pyx":630 +/* "yappcap.pyx":672 * property loopback: * """Whether or not the interface is a loopback interface. (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8216,7 +9254,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_8loopback___get__(struct __py __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":631 + /* "yappcap.pyx":673 * """Whether or not the interface is a loopback interface. (read only)""" * def __get__(self): * return self.__loopback # <<<<<<<<<<<<<< @@ -8228,7 +9266,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_8loopback___get__(struct __py __pyx_r = ((PyObject *)__pyx_v_self->__pyx___loopback); goto __pyx_L0; - /* "yappcap.pyx":630 + /* "yappcap.pyx":672 * property loopback: * """Whether or not the interface is a loopback interface. (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8243,7 +9281,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_8loopback___get__(struct __py return __pyx_r; } -/* "yappcap.pyx":634 +/* "yappcap.pyx":676 * property addresses: * """A PcapAddress list for all interfaces assigned to the PcapInterface (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8269,7 +9307,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_9addresses___get__(struct __p __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":635 + /* "yappcap.pyx":677 * """A PcapAddress list for all interfaces assigned to the PcapInterface (read only)""" * def __get__(self): * return self.__addresses # <<<<<<<<<<<<<< @@ -8281,7 +9319,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_9addresses___get__(struct __p __pyx_r = __pyx_v_self->__pyx___addresses; goto __pyx_L0; - /* "yappcap.pyx":634 + /* "yappcap.pyx":676 * property addresses: * """A PcapAddress list for all interfaces assigned to the PcapInterface (read only)""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8296,7 +9334,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_9addresses___get__(struct __p return __pyx_r; } -/* "yappcap.pyx":636 +/* "yappcap.pyx":678 * def __get__(self): * return self.__addresses * def __str__(self): # <<<<<<<<<<<<<< @@ -8323,7 +9361,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_2__str__(struct __pyx_obj_7ya PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__str__", 0); - /* "yappcap.pyx":637 + /* "yappcap.pyx":679 * return self.__addresses * def __str__(self): * return self.name # <<<<<<<<<<<<<< @@ -8331,13 +9369,13 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_2__str__(struct __pyx_obj_7ya * cdef PcapInterface PcapInterface_factory(pcap_if_t *interface): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":636 + /* "yappcap.pyx":678 * def __get__(self): * return self.__addresses * def __str__(self): # <<<<<<<<<<<<<< @@ -8356,7 +9394,7 @@ static PyObject *__pyx_pf_7yappcap_13PcapInterface_2__str__(struct __pyx_obj_7ya return __pyx_r; } -/* "yappcap.pyx":639 +/* "yappcap.pyx":681 * return self.name * * cdef PcapInterface PcapInterface_factory(pcap_if_t *interface): # <<<<<<<<<<<<<< @@ -8377,20 +9415,20 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f int __pyx_t_5; __Pyx_RefNannySetupContext("PcapInterface_factory", 0); - /* "yappcap.pyx":640 + /* "yappcap.pyx":682 * * cdef PcapInterface PcapInterface_factory(pcap_if_t *interface): * cdef PcapInterface instance = PcapInterface.__new__(PcapInterface) # <<<<<<<<<<<<<< * cdef pcap_addr_t *it = interface.addresses * instance.__addresses = list() */ - __pyx_t_1 = __pyx_tp_new_7yappcap_PcapInterface(((PyTypeObject *)__pyx_ptype_7yappcap_PcapInterface), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 640, __pyx_L1_error) + __pyx_t_1 = __pyx_tp_new_7yappcap_PcapInterface(((PyTypeObject *)__pyx_ptype_7yappcap_PcapInterface), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7yappcap_PcapInterface)))) __PYX_ERR(0, 640, __pyx_L1_error) + if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7yappcap_PcapInterface)))) __PYX_ERR(0, 682, __pyx_L1_error) __pyx_v_instance = ((struct __pyx_obj_7yappcap_PcapInterface *)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":641 + /* "yappcap.pyx":683 * cdef PcapInterface PcapInterface_factory(pcap_if_t *interface): * cdef PcapInterface instance = PcapInterface.__new__(PcapInterface) * cdef pcap_addr_t *it = interface.addresses # <<<<<<<<<<<<<< @@ -8400,14 +9438,14 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_t_2 = __pyx_v_interface->addresses; __pyx_v_it = __pyx_t_2; - /* "yappcap.pyx":642 + /* "yappcap.pyx":684 * cdef PcapInterface instance = PcapInterface.__new__(PcapInterface) * cdef pcap_addr_t *it = interface.addresses * instance.__addresses = list() # <<<<<<<<<<<<<< * if interface.name: * instance.__name = interface.name.decode('UTF-8') */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___addresses); @@ -8415,7 +9453,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_v_instance->__pyx___addresses = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":643 + /* "yappcap.pyx":685 * cdef pcap_addr_t *it = interface.addresses * instance.__addresses = list() * if interface.name: # <<<<<<<<<<<<<< @@ -8425,7 +9463,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_t_3 = (__pyx_v_interface->name != 0); if (__pyx_t_3) { - /* "yappcap.pyx":644 + /* "yappcap.pyx":686 * instance.__addresses = list() * if interface.name: * instance.__name = interface.name.decode('UTF-8') # <<<<<<<<<<<<<< @@ -8433,9 +9471,9 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f * instance.__description = interface.description.decode('UTF-8') */ __pyx_t_4 = __pyx_v_interface->name; - __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_4, 0, strlen(__pyx_t_4), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 644, __pyx_L1_error) + __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_4, 0, strlen(__pyx_t_4), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 644, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 686, __pyx_L1_error) __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___name); @@ -8443,7 +9481,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_v_instance->__pyx___name = ((PyObject*)__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":643 + /* "yappcap.pyx":685 * cdef pcap_addr_t *it = interface.addresses * instance.__addresses = list() * if interface.name: # <<<<<<<<<<<<<< @@ -8452,7 +9490,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f */ } - /* "yappcap.pyx":645 + /* "yappcap.pyx":687 * if interface.name: * instance.__name = interface.name.decode('UTF-8') * if interface.description: # <<<<<<<<<<<<<< @@ -8462,7 +9500,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_t_3 = (__pyx_v_interface->description != 0); if (__pyx_t_3) { - /* "yappcap.pyx":646 + /* "yappcap.pyx":688 * instance.__name = interface.name.decode('UTF-8') * if interface.description: * instance.__description = interface.description.decode('UTF-8') # <<<<<<<<<<<<<< @@ -8470,9 +9508,9 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f * instance.__loopback = True */ __pyx_t_4 = __pyx_v_interface->description; - __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_4, 0, strlen(__pyx_t_4), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error) + __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_4, 0, strlen(__pyx_t_4), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 646, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 688, __pyx_L1_error) __Pyx_INCREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___description); @@ -8480,7 +9518,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_v_instance->__pyx___description = ((PyObject*)__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":645 + /* "yappcap.pyx":687 * if interface.name: * instance.__name = interface.name.decode('UTF-8') * if interface.description: # <<<<<<<<<<<<<< @@ -8489,7 +9527,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f */ } - /* "yappcap.pyx":647 + /* "yappcap.pyx":689 * if interface.description: * instance.__description = interface.description.decode('UTF-8') * if interface.flags & PCAP_IF_LOOPBACK: # <<<<<<<<<<<<<< @@ -8499,7 +9537,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_t_3 = ((__pyx_v_interface->flags & PCAP_IF_LOOPBACK) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":648 + /* "yappcap.pyx":690 * instance.__description = interface.description.decode('UTF-8') * if interface.flags & PCAP_IF_LOOPBACK: * instance.__loopback = True # <<<<<<<<<<<<<< @@ -8512,7 +9550,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __Pyx_DECREF(((PyObject *)__pyx_v_instance->__pyx___loopback)); __pyx_v_instance->__pyx___loopback = ((PyBoolObject *)Py_True); - /* "yappcap.pyx":647 + /* "yappcap.pyx":689 * if interface.description: * instance.__description = interface.description.decode('UTF-8') * if interface.flags & PCAP_IF_LOOPBACK: # <<<<<<<<<<<<<< @@ -8522,7 +9560,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f goto __pyx_L5; } - /* "yappcap.pyx":650 + /* "yappcap.pyx":692 * instance.__loopback = True * else: * instance.__loopback = False # <<<<<<<<<<<<<< @@ -8538,7 +9576,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f } __pyx_L5:; - /* "yappcap.pyx":652 + /* "yappcap.pyx":694 * instance.__loopback = False * * while it: # <<<<<<<<<<<<<< @@ -8549,19 +9587,19 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_t_3 = (__pyx_v_it != 0); if (!__pyx_t_3) break; - /* "yappcap.pyx":653 + /* "yappcap.pyx":695 * * while it: * addr = PcapAddress_factory(it) # <<<<<<<<<<<<<< * instance.__addresses.append(addr) * it = it.next */ - __pyx_t_1 = ((PyObject *)__pyx_f_7yappcap_PcapAddress_factory(__pyx_v_it)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L1_error) + __pyx_t_1 = ((PyObject *)__pyx_f_7yappcap_PcapAddress_factory(__pyx_v_it)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_addr, ((struct __pyx_obj_7yappcap_PcapAddress *)__pyx_t_1)); __pyx_t_1 = 0; - /* "yappcap.pyx":654 + /* "yappcap.pyx":696 * while it: * addr = PcapAddress_factory(it) * instance.__addresses.append(addr) # <<<<<<<<<<<<<< @@ -8570,11 +9608,11 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f */ if (unlikely(__pyx_v_instance->__pyx___addresses == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append"); - __PYX_ERR(0, 654, __pyx_L1_error) + __PYX_ERR(0, 696, __pyx_L1_error) } - __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_instance->__pyx___addresses, ((PyObject *)__pyx_v_addr)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(0, 654, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_instance->__pyx___addresses, ((PyObject *)__pyx_v_addr)); if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(0, 696, __pyx_L1_error) - /* "yappcap.pyx":655 + /* "yappcap.pyx":697 * addr = PcapAddress_factory(it) * instance.__addresses.append(addr) * it = it.next # <<<<<<<<<<<<<< @@ -8585,7 +9623,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_v_it = __pyx_t_2; } - /* "yappcap.pyx":656 + /* "yappcap.pyx":698 * instance.__addresses.append(addr) * it = it.next * return instance # <<<<<<<<<<<<<< @@ -8597,7 +9635,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f __pyx_r = __pyx_v_instance; goto __pyx_L0; - /* "yappcap.pyx":639 + /* "yappcap.pyx":681 * return self.name * * cdef PcapInterface PcapInterface_factory(pcap_if_t *interface): # <<<<<<<<<<<<<< @@ -8618,7 +9656,7 @@ static struct __pyx_obj_7yappcap_PcapInterface *__pyx_f_7yappcap_PcapInterface_f return __pyx_r; } -/* "yappcap.pyx":658 +/* "yappcap.pyx":700 * return instance * * cdef str type2str(int t): # <<<<<<<<<<<<<< @@ -8634,7 +9672,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("type2str", 0); - /* "yappcap.pyx":659 + /* "yappcap.pyx":701 * * cdef str type2str(int t): * if t == AF_INET: # <<<<<<<<<<<<<< @@ -8644,7 +9682,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { __pyx_t_1 = ((__pyx_v_t == AF_INET) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":660 + /* "yappcap.pyx":702 * cdef str type2str(int t): * if t == AF_INET: * return "IPv4" # <<<<<<<<<<<<<< @@ -8656,7 +9694,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { __pyx_r = __pyx_n_s_IPv4; goto __pyx_L0; - /* "yappcap.pyx":659 + /* "yappcap.pyx":701 * * cdef str type2str(int t): * if t == AF_INET: # <<<<<<<<<<<<<< @@ -8665,7 +9703,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { */ } - /* "yappcap.pyx":661 + /* "yappcap.pyx":703 * if t == AF_INET: * return "IPv4" * if t == AF_INET6: # <<<<<<<<<<<<<< @@ -8675,7 +9713,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { __pyx_t_1 = ((__pyx_v_t == AF_INET6) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":662 + /* "yappcap.pyx":704 * return "IPv4" * if t == AF_INET6: * return "IPv6" # <<<<<<<<<<<<<< @@ -8687,7 +9725,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { __pyx_r = __pyx_n_s_IPv6; goto __pyx_L0; - /* "yappcap.pyx":661 + /* "yappcap.pyx":703 * if t == AF_INET: * return "IPv4" * if t == AF_INET6: # <<<<<<<<<<<<<< @@ -8696,7 +9734,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { */ } - /* "yappcap.pyx":664 + /* "yappcap.pyx":706 * return "IPv6" * IF HAVE_AF_PACKET: * if t == AF_PACKET: # <<<<<<<<<<<<<< @@ -8706,7 +9744,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { __pyx_t_1 = ((__pyx_v_t == AF_PACKET) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":665 + /* "yappcap.pyx":707 * IF HAVE_AF_PACKET: * if t == AF_PACKET: * return "Packet" # <<<<<<<<<<<<<< @@ -8718,7 +9756,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { __pyx_r = __pyx_n_s_Packet; goto __pyx_L0; - /* "yappcap.pyx":664 + /* "yappcap.pyx":706 * return "IPv6" * IF HAVE_AF_PACKET: * if t == AF_PACKET: # <<<<<<<<<<<<<< @@ -8727,7 +9765,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { */ } - /* "yappcap.pyx":669 + /* "yappcap.pyx":711 * if t == AF_LINK: * return "Link" * return str(t) # <<<<<<<<<<<<<< @@ -8735,22 +9773,22 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { * # Read only cdef factory-created */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 669, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 669, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyString_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 669, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)(&PyString_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!(likely(PyString_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 669, __pyx_L1_error) + if (!(likely(PyString_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_2)->tp_name), 0))) __PYX_ERR(0, 711, __pyx_L1_error) __pyx_r = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":658 + /* "yappcap.pyx":700 * return instance * * cdef str type2str(int t): # <<<<<<<<<<<<<< @@ -8770,7 +9808,7 @@ static PyObject *__pyx_f_7yappcap_type2str(int __pyx_v_t) { return __pyx_r; } -/* "yappcap.pyx":675 +/* "yappcap.pyx":717 * """An address assigned to a PcapInterface""" * cdef dict __addr, __netmask, __broadaddr, __dstaddr * def __init__(self): # <<<<<<<<<<<<<< @@ -8800,20 +9838,20 @@ static int __pyx_pf_7yappcap_11PcapAddress___init__(CYTHON_UNUSED struct __pyx_o PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":676 + /* "yappcap.pyx":718 * cdef dict __addr, __netmask, __broadaddr, __dstaddr * def __init__(self): * raise TypeError("Instances of this class cannot be created from Python") # <<<<<<<<<<<<<< * property address: * """A dict containing the 'family', and if it exists, the 'address' */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 676, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 676, __pyx_L1_error) + __PYX_ERR(0, 718, __pyx_L1_error) - /* "yappcap.pyx":675 + /* "yappcap.pyx":717 * """An address assigned to a PcapInterface""" * cdef dict __addr, __netmask, __broadaddr, __dstaddr * def __init__(self): # <<<<<<<<<<<<<< @@ -8830,7 +9868,7 @@ static int __pyx_pf_7yappcap_11PcapAddress___init__(CYTHON_UNUSED struct __pyx_o return __pyx_r; } -/* "yappcap.pyx":680 +/* "yappcap.pyx":722 * """A dict containing the 'family', and if it exists, the 'address' * of the PcapInterface address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8856,7 +9894,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7address___get__(struct __pyx_o __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":681 + /* "yappcap.pyx":723 * of the PcapInterface address""" * def __get__(self): * return self.__addr # <<<<<<<<<<<<<< @@ -8868,7 +9906,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7address___get__(struct __pyx_o __pyx_r = __pyx_v_self->__pyx___addr; goto __pyx_L0; - /* "yappcap.pyx":680 + /* "yappcap.pyx":722 * """A dict containing the 'family', and if it exists, the 'address' * of the PcapInterface address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8883,7 +9921,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7address___get__(struct __pyx_o return __pyx_r; } -/* "yappcap.pyx":685 +/* "yappcap.pyx":727 * """If applicable, a dict containing the 'family', and if it exists, * the 'address' of the PcapInterface netmask address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8909,7 +9947,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7netmask___get__(struct __pyx_o __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":686 + /* "yappcap.pyx":728 * the 'address' of the PcapInterface netmask address""" * def __get__(self): * return self.__netmask # <<<<<<<<<<<<<< @@ -8921,7 +9959,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7netmask___get__(struct __pyx_o __pyx_r = __pyx_v_self->__pyx___netmask; goto __pyx_L0; - /* "yappcap.pyx":685 + /* "yappcap.pyx":727 * """If applicable, a dict containing the 'family', and if it exists, * the 'address' of the PcapInterface netmask address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8936,7 +9974,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7netmask___get__(struct __pyx_o return __pyx_r; } -/* "yappcap.pyx":690 +/* "yappcap.pyx":732 * """If applicable, a dict containing the 'family', and if it exists, * the 'address' of the PcapInterface broadcast address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8962,7 +10000,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_9broadcast___get__(struct __pyx __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":691 + /* "yappcap.pyx":733 * the 'address' of the PcapInterface broadcast address""" * def __get__(self): * return self.__broadaddr # <<<<<<<<<<<<<< @@ -8974,7 +10012,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_9broadcast___get__(struct __pyx __pyx_r = __pyx_v_self->__pyx___broadaddr; goto __pyx_L0; - /* "yappcap.pyx":690 + /* "yappcap.pyx":732 * """If applicable, a dict containing the 'family', and if it exists, * the 'address' of the PcapInterface broadcast address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -8989,7 +10027,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_9broadcast___get__(struct __pyx return __pyx_r; } -/* "yappcap.pyx":695 +/* "yappcap.pyx":737 * """If applicable, a dict containing the 'family', and if it exists, * the 'address' of the PcapInterface destination address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -9015,7 +10053,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7dstaddr___get__(struct __pyx_o __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__get__", 0); - /* "yappcap.pyx":696 + /* "yappcap.pyx":738 * the 'address' of the PcapInterface destination address""" * def __get__(self): * return self.__dstaddr # <<<<<<<<<<<<<< @@ -9027,7 +10065,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7dstaddr___get__(struct __pyx_o __pyx_r = __pyx_v_self->__pyx___dstaddr; goto __pyx_L0; - /* "yappcap.pyx":695 + /* "yappcap.pyx":737 * """If applicable, a dict containing the 'family', and if it exists, * the 'address' of the PcapInterface destination address""" * def __get__(self): # <<<<<<<<<<<<<< @@ -9042,7 +10080,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_7dstaddr___get__(struct __pyx_o return __pyx_r; } -/* "yappcap.pyx":698 +/* "yappcap.pyx":740 * return self.__dstaddr * * def __str__(self): # <<<<<<<<<<<<<< @@ -9079,7 +10117,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("__str__", 0); - /* "yappcap.pyx":699 + /* "yappcap.pyx":741 * * def __str__(self): * addr = family = nm = None # <<<<<<<<<<<<<< @@ -9093,21 +10131,21 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp __Pyx_INCREF(Py_None); __pyx_v_nm = Py_None; - /* "yappcap.pyx":700 + /* "yappcap.pyx":742 * def __str__(self): * addr = family = nm = None * if not self.address: # <<<<<<<<<<<<<< * addr = family = 'Unknown' * if not self.netmask: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_address); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_address); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 742, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":701 + /* "yappcap.pyx":743 * addr = family = nm = None * if not self.address: * addr = family = 'Unknown' # <<<<<<<<<<<<<< @@ -9119,7 +10157,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp __Pyx_INCREF(__pyx_n_s_Unknown); __Pyx_DECREF_SET(__pyx_v_family, __pyx_n_s_Unknown); - /* "yappcap.pyx":700 + /* "yappcap.pyx":742 * def __str__(self): * addr = family = nm = None * if not self.address: # <<<<<<<<<<<<<< @@ -9128,21 +10166,21 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp */ } - /* "yappcap.pyx":702 + /* "yappcap.pyx":744 * if not self.address: * addr = family = 'Unknown' * if not self.netmask: # <<<<<<<<<<<<<< * nm = 'Unknown' * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_netmask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_netmask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 702, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = ((!__pyx_t_3) != 0); if (__pyx_t_2) { - /* "yappcap.pyx":703 + /* "yappcap.pyx":745 * addr = family = 'Unknown' * if not self.netmask: * nm = 'Unknown' # <<<<<<<<<<<<<< @@ -9152,7 +10190,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp __Pyx_INCREF(__pyx_n_s_Unknown); __Pyx_DECREF_SET(__pyx_v_nm, __pyx_n_s_Unknown); - /* "yappcap.pyx":702 + /* "yappcap.pyx":744 * if not self.address: * addr = family = 'Unknown' * if not self.netmask: # <<<<<<<<<<<<<< @@ -9161,7 +10199,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp */ } - /* "yappcap.pyx":705 + /* "yappcap.pyx":747 * nm = 'Unknown' * * return "%s: %s/%s" % (family or type2str(self.address['family']), addr or self.address.get('address', 'Unknown'), nm or self.netmask.get('address', 'Unknown')) # <<<<<<<<<<<<<< @@ -9169,65 +10207,65 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_family); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_family); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 747, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_family); __pyx_t_1 = __pyx_v_family; goto __pyx_L5_bool_binop_done; } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_address); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_address); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_GetItem(__pyx_t_4, __pyx_n_s_family); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_5 = PyObject_GetItem(__pyx_t_4, __pyx_n_s_family); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __pyx_f_7yappcap_type2str(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_5 = __pyx_f_7yappcap_type2str(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_5); __pyx_t_1 = __pyx_t_5; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_L5_bool_binop_done:; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_addr); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_addr); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 747, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_addr); __pyx_t_5 = __pyx_v_addr; goto __pyx_L7_bool_binop_done; } - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_address); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_address); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_L7_bool_binop_done:; - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_nm); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_nm); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 747, __pyx_L1_error) if (!__pyx_t_2) { } else { __Pyx_INCREF(__pyx_v_nm); __pyx_t_4 = __pyx_v_nm; goto __pyx_L9_bool_binop_done; } - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_netmask); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_netmask); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = __pyx_t_7; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_L9_bool_binop_done:; - __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); @@ -9238,14 +10276,14 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyString_Format(__pyx_kp_s_s_s_s, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "yappcap.pyx":698 + /* "yappcap.pyx":740 * return self.__dstaddr * * def __str__(self): # <<<<<<<<<<<<<< @@ -9271,7 +10309,7 @@ static PyObject *__pyx_pf_7yappcap_11PcapAddress_2__str__(struct __pyx_obj_7yapp return __pyx_r; } -/* "yappcap.pyx":708 +/* "yappcap.pyx":750 * * * cdef get_sock_len(sockaddr *addr): # <<<<<<<<<<<<<< @@ -9286,7 +10324,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_sock_len", 0); - /* "yappcap.pyx":709 + /* "yappcap.pyx":751 * * cdef get_sock_len(sockaddr *addr): * if addr.sa_family == AF_INET: # <<<<<<<<<<<<<< @@ -9296,7 +10334,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { __pyx_t_1 = ((__pyx_v_addr->sa_family == AF_INET) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":710 + /* "yappcap.pyx":752 * cdef get_sock_len(sockaddr *addr): * if addr.sa_family == AF_INET: * return sizeof(sockaddr_in) # <<<<<<<<<<<<<< @@ -9304,13 +10342,13 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { * return sizeof(sockaddr_in6) */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct sockaddr_in))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 710, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct sockaddr_in))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":709 + /* "yappcap.pyx":751 * * cdef get_sock_len(sockaddr *addr): * if addr.sa_family == AF_INET: # <<<<<<<<<<<<<< @@ -9319,7 +10357,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { */ } - /* "yappcap.pyx":711 + /* "yappcap.pyx":753 * if addr.sa_family == AF_INET: * return sizeof(sockaddr_in) * if addr.sa_family == AF_INET6: # <<<<<<<<<<<<<< @@ -9329,7 +10367,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { __pyx_t_1 = ((__pyx_v_addr->sa_family == AF_INET6) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":712 + /* "yappcap.pyx":754 * return sizeof(sockaddr_in) * if addr.sa_family == AF_INET6: * return sizeof(sockaddr_in6) # <<<<<<<<<<<<<< @@ -9337,13 +10375,13 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { * if addr.sa_family == AF_PACKET: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct sockaddr_in6))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 712, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct sockaddr_in6))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":711 + /* "yappcap.pyx":753 * if addr.sa_family == AF_INET: * return sizeof(sockaddr_in) * if addr.sa_family == AF_INET6: # <<<<<<<<<<<<<< @@ -9352,7 +10390,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { */ } - /* "yappcap.pyx":714 + /* "yappcap.pyx":756 * return sizeof(sockaddr_in6) * IF HAVE_AF_PACKET: * if addr.sa_family == AF_PACKET: # <<<<<<<<<<<<<< @@ -9362,7 +10400,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { __pyx_t_1 = ((__pyx_v_addr->sa_family == AF_PACKET) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":715 + /* "yappcap.pyx":757 * IF HAVE_AF_PACKET: * if addr.sa_family == AF_PACKET: * return sizeof(sockaddr_ll) # <<<<<<<<<<<<<< @@ -9370,13 +10408,13 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { * if addr.sa_family == AF_LINK: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct sockaddr_ll))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 715, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(struct sockaddr_ll))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":714 + /* "yappcap.pyx":756 * return sizeof(sockaddr_in6) * IF HAVE_AF_PACKET: * if addr.sa_family == AF_PACKET: # <<<<<<<<<<<<<< @@ -9385,7 +10423,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { */ } - /* "yappcap.pyx":719 + /* "yappcap.pyx":761 * if addr.sa_family == AF_LINK: * return sizeof(sockaddr_dl) * return -1 # <<<<<<<<<<<<<< @@ -9397,7 +10435,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { __pyx_r = __pyx_int_neg_1; goto __pyx_L0; - /* "yappcap.pyx":708 + /* "yappcap.pyx":750 * * * cdef get_sock_len(sockaddr *addr): # <<<<<<<<<<<<<< @@ -9416,7 +10454,7 @@ static PyObject *__pyx_f_7yappcap_get_sock_len(struct sockaddr *__pyx_v_addr) { return __pyx_r; } -/* "yappcap.pyx":721 +/* "yappcap.pyx":763 * return -1 * * cdef parse_addr(sockaddr *addr): # <<<<<<<<<<<<<< @@ -9436,7 +10474,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("parse_addr", 0); - /* "yappcap.pyx":725 + /* "yappcap.pyx":767 * cdef char buf[NI_MAXHOST] * * if not addr: # <<<<<<<<<<<<<< @@ -9446,7 +10484,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { __pyx_t_1 = ((!(__pyx_v_addr != 0)) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":726 + /* "yappcap.pyx":768 * * if not addr: * return # <<<<<<<<<<<<<< @@ -9457,7 +10495,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; - /* "yappcap.pyx":725 + /* "yappcap.pyx":767 * cdef char buf[NI_MAXHOST] * * if not addr: # <<<<<<<<<<<<<< @@ -9466,20 +10504,20 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { */ } - /* "yappcap.pyx":728 + /* "yappcap.pyx":770 * return * * socklen = get_sock_len(addr) # <<<<<<<<<<<<<< * if socklen < 0: * return {'family': addr.sa_family} */ - __pyx_t_2 = __pyx_f_7yappcap_get_sock_len(__pyx_v_addr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 728, __pyx_L1_error) + __pyx_t_2 = __pyx_f_7yappcap_get_sock_len(__pyx_v_addr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 728, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 770, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_socklen = __pyx_t_3; - /* "yappcap.pyx":729 + /* "yappcap.pyx":771 * * socklen = get_sock_len(addr) * if socklen < 0: # <<<<<<<<<<<<<< @@ -9489,7 +10527,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { __pyx_t_1 = ((__pyx_v_socklen < 0) != 0); if (__pyx_t_1) { - /* "yappcap.pyx":730 + /* "yappcap.pyx":772 * socklen = get_sock_len(addr) * if socklen < 0: * return {'family': addr.sa_family} # <<<<<<<<<<<<<< @@ -9497,17 +10535,17 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { * if res: */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 730, __pyx_L1_error) + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_addr->sa_family); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 730, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_addr->sa_family); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_family, __pyx_t_4) < 0) __PYX_ERR(0, 730, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_family, __pyx_t_4) < 0) __PYX_ERR(0, 772, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":729 + /* "yappcap.pyx":771 * * socklen = get_sock_len(addr) * if socklen < 0: # <<<<<<<<<<<<<< @@ -9516,7 +10554,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { */ } - /* "yappcap.pyx":731 + /* "yappcap.pyx":773 * if socklen < 0: * return {'family': addr.sa_family} * res = getnameinfo(addr, socklen, buf, sizeof(buf), NULL, 0, NI_NUMERICHOST) # <<<<<<<<<<<<<< @@ -9525,7 +10563,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { */ __pyx_v_res = getnameinfo(__pyx_v_addr, __pyx_v_socklen, __pyx_v_buf, (sizeof(__pyx_v_buf)), NULL, 0, NI_NUMERICHOST); - /* "yappcap.pyx":732 + /* "yappcap.pyx":774 * return {'family': addr.sa_family} * res = getnameinfo(addr, socklen, buf, sizeof(buf), NULL, 0, NI_NUMERICHOST) * if res: # <<<<<<<<<<<<<< @@ -9535,7 +10573,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { __pyx_t_1 = (__pyx_v_res != 0); if (__pyx_t_1) { - /* "yappcap.pyx":733 + /* "yappcap.pyx":775 * res = getnameinfo(addr, socklen, buf, sizeof(buf), NULL, 0, NI_NUMERICHOST) * if res: * return {'family': addr.sa_family} # <<<<<<<<<<<<<< @@ -9543,17 +10581,17 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { * return {'family': addr.sa_family, 'address': buf} */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L1_error) + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_addr->sa_family); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 733, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_addr->sa_family); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_family, __pyx_t_4) < 0) __PYX_ERR(0, 733, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_family, __pyx_t_4) < 0) __PYX_ERR(0, 775, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":732 + /* "yappcap.pyx":774 * return {'family': addr.sa_family} * res = getnameinfo(addr, socklen, buf, sizeof(buf), NULL, 0, NI_NUMERICHOST) * if res: # <<<<<<<<<<<<<< @@ -9562,7 +10600,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { */ } - /* "yappcap.pyx":735 + /* "yappcap.pyx":777 * return {'family': addr.sa_family} * * return {'family': addr.sa_family, 'address': buf} # <<<<<<<<<<<<<< @@ -9570,21 +10608,21 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { * cdef PcapAddress PcapAddress_factory(pcap_addr_t *address): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 735, __pyx_L1_error) + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_addr->sa_family); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 735, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_From_unsigned_int(__pyx_v_addr->sa_family); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_family, __pyx_t_4) < 0) __PYX_ERR(0, 735, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_family, __pyx_t_4) < 0) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 735, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_4) < 0) __PYX_ERR(0, 735, __pyx_L1_error) + if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_address, __pyx_t_4) < 0) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "yappcap.pyx":721 + /* "yappcap.pyx":763 * return -1 * * cdef parse_addr(sockaddr *addr): # <<<<<<<<<<<<<< @@ -9604,7 +10642,7 @@ static PyObject *__pyx_f_7yappcap_parse_addr(struct sockaddr *__pyx_v_addr) { return __pyx_r; } -/* "yappcap.pyx":737 +/* "yappcap.pyx":779 * return {'family': addr.sa_family, 'address': buf} * * cdef PcapAddress PcapAddress_factory(pcap_addr_t *address): # <<<<<<<<<<<<<< @@ -9619,84 +10657,84 @@ static struct __pyx_obj_7yappcap_PcapAddress *__pyx_f_7yappcap_PcapAddress_facto PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("PcapAddress_factory", 0); - /* "yappcap.pyx":738 + /* "yappcap.pyx":780 * * cdef PcapAddress PcapAddress_factory(pcap_addr_t *address): * cdef PcapAddress instance = PcapAddress.__new__(PcapAddress) # <<<<<<<<<<<<<< * instance.__addr = parse_addr(address.addr) * instance.__netmask = parse_addr(address.netmask) */ - __pyx_t_1 = __pyx_tp_new_7yappcap_PcapAddress(((PyTypeObject *)__pyx_ptype_7yappcap_PcapAddress), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 738, __pyx_L1_error) + __pyx_t_1 = __pyx_tp_new_7yappcap_PcapAddress(((PyTypeObject *)__pyx_ptype_7yappcap_PcapAddress), __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7yappcap_PcapAddress)))) __PYX_ERR(0, 738, __pyx_L1_error) + if (!(likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_7yappcap_PcapAddress)))) __PYX_ERR(0, 780, __pyx_L1_error) __pyx_v_instance = ((struct __pyx_obj_7yappcap_PcapAddress *)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":739 + /* "yappcap.pyx":781 * cdef PcapAddress PcapAddress_factory(pcap_addr_t *address): * cdef PcapAddress instance = PcapAddress.__new__(PcapAddress) * instance.__addr = parse_addr(address.addr) # <<<<<<<<<<<<<< * instance.__netmask = parse_addr(address.netmask) * instance.__broadaddr = parse_addr(address.broadaddr) */ - __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->addr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 739, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->addr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 739, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___addr); __Pyx_DECREF(__pyx_v_instance->__pyx___addr); __pyx_v_instance->__pyx___addr = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":740 + /* "yappcap.pyx":782 * cdef PcapAddress instance = PcapAddress.__new__(PcapAddress) * instance.__addr = parse_addr(address.addr) * instance.__netmask = parse_addr(address.netmask) # <<<<<<<<<<<<<< * instance.__broadaddr = parse_addr(address.broadaddr) * instance.__dstaddr = parse_addr(address.dstaddr) */ - __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->netmask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 740, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->netmask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 740, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___netmask); __Pyx_DECREF(__pyx_v_instance->__pyx___netmask); __pyx_v_instance->__pyx___netmask = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":741 + /* "yappcap.pyx":783 * instance.__addr = parse_addr(address.addr) * instance.__netmask = parse_addr(address.netmask) * instance.__broadaddr = parse_addr(address.broadaddr) # <<<<<<<<<<<<<< * instance.__dstaddr = parse_addr(address.dstaddr) * return instance */ - __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->broadaddr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->broadaddr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 741, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 783, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___broadaddr); __Pyx_DECREF(__pyx_v_instance->__pyx___broadaddr); __pyx_v_instance->__pyx___broadaddr = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":742 + /* "yappcap.pyx":784 * instance.__netmask = parse_addr(address.netmask) * instance.__broadaddr = parse_addr(address.broadaddr) * instance.__dstaddr = parse_addr(address.dstaddr) # <<<<<<<<<<<<<< * return instance * */ - __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->dstaddr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 742, __pyx_L1_error) + __pyx_t_1 = __pyx_f_7yappcap_parse_addr(__pyx_v_address->dstaddr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 742, __pyx_L1_error) + if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_GIVEREF(__pyx_t_1); __Pyx_GOTREF(__pyx_v_instance->__pyx___dstaddr); __Pyx_DECREF(__pyx_v_instance->__pyx___dstaddr); __pyx_v_instance->__pyx___dstaddr = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":743 + /* "yappcap.pyx":785 * instance.__broadaddr = parse_addr(address.broadaddr) * instance.__dstaddr = parse_addr(address.dstaddr) * return instance # <<<<<<<<<<<<<< @@ -9708,7 +10746,7 @@ static struct __pyx_obj_7yappcap_PcapAddress *__pyx_f_7yappcap_PcapAddress_facto __pyx_r = __pyx_v_instance; goto __pyx_L0; - /* "yappcap.pyx":737 + /* "yappcap.pyx":779 * return {'family': addr.sa_family, 'address': buf} * * cdef PcapAddress PcapAddress_factory(pcap_addr_t *address): # <<<<<<<<<<<<<< @@ -9728,7 +10766,7 @@ static struct __pyx_obj_7yappcap_PcapAddress *__pyx_f_7yappcap_PcapAddress_facto return __pyx_r; } -/* "yappcap.pyx":748 +/* "yappcap.pyx":790 * cdef bpf_program __bpf * cdef __filterstring * def __init__(self, Pcap pcap, filterstring): # <<<<<<<<<<<<<< @@ -9768,11 +10806,11 @@ static int __pyx_pw_7yappcap_10BpfProgram_1__init__(PyObject *__pyx_v_self, PyOb case 1: if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_filterstring)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 748, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 790, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 748, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 790, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -9785,13 +10823,13 @@ static int __pyx_pw_7yappcap_10BpfProgram_1__init__(PyObject *__pyx_v_self, PyOb } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 748, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 790, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("yappcap.BpfProgram.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; - if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pcap), __pyx_ptype_7yappcap_Pcap, 1, "pcap", 0))) __PYX_ERR(0, 748, __pyx_L1_error) + if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pcap), __pyx_ptype_7yappcap_Pcap, 1, "pcap", 0))) __PYX_ERR(0, 790, __pyx_L1_error) __pyx_r = __pyx_pf_7yappcap_10BpfProgram___init__(((struct __pyx_obj_7yappcap_BpfProgram *)__pyx_v_self), __pyx_v_pcap, __pyx_v_filterstring); /* function exit code */ @@ -9817,31 +10855,31 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("__init__", 0); - /* "yappcap.pyx":760 + /* "yappcap.pyx":802 * * """ * if not pcap.activated: # <<<<<<<<<<<<<< * raise PcapErrorNotActivated() * self.__filterstring = filterstring */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pcap), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_pcap), __pyx_n_s_activated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 760, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = ((!__pyx_t_2) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":761 + /* "yappcap.pyx":803 * """ * if not pcap.activated: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * self.__filterstring = filterstring * res = pcap_compile(pcap.__pcap, &self.__bpf, */ - __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 761, __pyx_L1_error) + __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_4))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); @@ -9851,18 +10889,18 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf } } if (__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 761, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 761, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 761, __pyx_L1_error) + __PYX_ERR(0, 803, __pyx_L1_error) - /* "yappcap.pyx":760 + /* "yappcap.pyx":802 * * """ * if not pcap.activated: # <<<<<<<<<<<<<< @@ -9871,7 +10909,7 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf */ } - /* "yappcap.pyx":762 + /* "yappcap.pyx":804 * if not pcap.activated: * raise PcapErrorNotActivated() * self.__filterstring = filterstring # <<<<<<<<<<<<<< @@ -9884,21 +10922,21 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf __Pyx_DECREF(__pyx_v_self->__pyx___filterstring); __pyx_v_self->__pyx___filterstring = __pyx_v_filterstring; - /* "yappcap.pyx":764 + /* "yappcap.pyx":806 * self.__filterstring = filterstring * res = pcap_compile(pcap.__pcap, &self.__bpf, * filterstring.encode('UTF-8'), # <<<<<<<<<<<<<< * 1, PCAP_NETMASK_UNKNOWN) * if res == -1: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filterstring, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_filterstring, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 764, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_t_4); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 764, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_t_4); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(0, 806, __pyx_L1_error) - /* "yappcap.pyx":763 + /* "yappcap.pyx":805 * raise PcapErrorNotActivated() * self.__filterstring = filterstring * res = pcap_compile(pcap.__pcap, &self.__bpf, # <<<<<<<<<<<<<< @@ -9908,7 +10946,7 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf __pyx_v_res = pcap_compile(__pyx_v_pcap->__pyx___pcap, (&__pyx_v_self->__pyx___bpf), __pyx_t_6, 1, PCAP_NETMASK_UNKNOWN); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "yappcap.pyx":766 + /* "yappcap.pyx":808 * filterstring.encode('UTF-8'), * 1, PCAP_NETMASK_UNKNOWN) * if res == -1: # <<<<<<<<<<<<<< @@ -9918,19 +10956,19 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf __pyx_t_3 = ((__pyx_v_res == -1L) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":767 + /* "yappcap.pyx":809 * 1, PCAP_NETMASK_UNKNOWN) * if res == -1: * raise PcapError(pcap_geterr(pcap.__pcap)) # <<<<<<<<<<<<<< * IF not PCAP_V0: * # It should return this, but might not */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 767, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_pcap->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 767, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyBytes_FromString(pcap_geterr(__pyx_v_pcap->__pyx___pcap)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -9940,26 +10978,46 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf } } if (!__pyx_t_7) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 767, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); } else { - __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_8); - __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; - __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 767, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { + PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + } else + #endif + { + __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_8); + __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; + __Pyx_GIVEREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 809, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 767, __pyx_L1_error) + __PYX_ERR(0, 809, __pyx_L1_error) - /* "yappcap.pyx":766 + /* "yappcap.pyx":808 * filterstring.encode('UTF-8'), * 1, PCAP_NETMASK_UNKNOWN) * if res == -1: # <<<<<<<<<<<<<< @@ -9968,7 +11026,7 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf */ } - /* "yappcap.pyx":770 + /* "yappcap.pyx":812 * IF not PCAP_V0: * # It should return this, but might not * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -9978,17 +11036,17 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf __pyx_t_3 = ((__pyx_v_res == PCAP_ERROR_NOT_ACTIVATED) != 0); if (__pyx_t_3) { - /* "yappcap.pyx":771 + /* "yappcap.pyx":813 * # It should return this, but might not * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() # <<<<<<<<<<<<<< * * def __str__(self): */ - __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapErrorNotActivated); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_1))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); @@ -9998,18 +11056,18 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf } } if (__pyx_t_8) { - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 771, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { - __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 771, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 813, __pyx_L1_error) } __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __PYX_ERR(0, 771, __pyx_L1_error) + __PYX_ERR(0, 813, __pyx_L1_error) - /* "yappcap.pyx":770 + /* "yappcap.pyx":812 * IF not PCAP_V0: * # It should return this, but might not * if res == PCAP_ERROR_NOT_ACTIVATED: # <<<<<<<<<<<<<< @@ -10018,7 +11076,7 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf */ } - /* "yappcap.pyx":748 + /* "yappcap.pyx":790 * cdef bpf_program __bpf * cdef __filterstring * def __init__(self, Pcap pcap, filterstring): # <<<<<<<<<<<<<< @@ -10042,7 +11100,7 @@ static int __pyx_pf_7yappcap_10BpfProgram___init__(struct __pyx_obj_7yappcap_Bpf return __pyx_r; } -/* "yappcap.pyx":773 +/* "yappcap.pyx":815 * raise PcapErrorNotActivated() * * def __str__(self): # <<<<<<<<<<<<<< @@ -10068,7 +11126,7 @@ static PyObject *__pyx_pf_7yappcap_10BpfProgram_2__str__(struct __pyx_obj_7yappc __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__str__", 0); - /* "yappcap.pyx":774 + /* "yappcap.pyx":816 * * def __str__(self): * return self.__filterstring # <<<<<<<<<<<<<< @@ -10080,7 +11138,7 @@ static PyObject *__pyx_pf_7yappcap_10BpfProgram_2__str__(struct __pyx_obj_7yappc __pyx_r = __pyx_v_self->__pyx___filterstring; goto __pyx_L0; - /* "yappcap.pyx":773 + /* "yappcap.pyx":815 * raise PcapErrorNotActivated() * * def __str__(self): # <<<<<<<<<<<<<< @@ -10095,7 +11153,7 @@ static PyObject *__pyx_pf_7yappcap_10BpfProgram_2__str__(struct __pyx_obj_7yappc return __pyx_r; } -/* "yappcap.pyx":777 +/* "yappcap.pyx":819 * * * def lib_version(): # <<<<<<<<<<<<<< @@ -10124,7 +11182,7 @@ static PyObject *__pyx_pf_7yappcap_lib_version(CYTHON_UNUSED PyObject *__pyx_sel PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("lib_version", 0); - /* "yappcap.pyx":779 + /* "yappcap.pyx":821 * def lib_version(): * """Return the version string from pcap_lib_version()""" * return pcap_lib_version() # <<<<<<<<<<<<<< @@ -10132,13 +11190,13 @@ static PyObject *__pyx_pf_7yappcap_lib_version(CYTHON_UNUSED PyObject *__pyx_sel * def findalldevs(): */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyBytes_FromString(pcap_lib_version()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyBytes_FromString(pcap_lib_version()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "yappcap.pyx":777 + /* "yappcap.pyx":819 * * * def lib_version(): # <<<<<<<<<<<<<< @@ -10157,7 +11215,7 @@ static PyObject *__pyx_pf_7yappcap_lib_version(CYTHON_UNUSED PyObject *__pyx_sel return __pyx_r; } -/* "yappcap.pyx":781 +/* "yappcap.pyx":823 * return pcap_lib_version() * * def findalldevs(): # <<<<<<<<<<<<<< @@ -10199,7 +11257,7 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se pcap_if_t *__pyx_t_8; __Pyx_RefNannySetupContext("findalldevs", 0); - /* "yappcap.pyx":785 + /* "yappcap.pyx":827 * cdef pcap_if_t *interfaces, *it * cdef char errbuf[PCAP_ERRBUF_SIZE] * cdef int res = pcap_findalldevs(&interfaces, errbuf) # <<<<<<<<<<<<<< @@ -10208,19 +11266,19 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se */ __pyx_v_res = pcap_findalldevs((&__pyx_v_interfaces), __pyx_v_errbuf); - /* "yappcap.pyx":786 + /* "yappcap.pyx":828 * cdef char errbuf[PCAP_ERRBUF_SIZE] * cdef int res = pcap_findalldevs(&interfaces, errbuf) * cdef list result = list() # <<<<<<<<<<<<<< * if res < 0: * raise PcapError(errbuf) */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 786, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_result = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":787 + /* "yappcap.pyx":829 * cdef int res = pcap_findalldevs(&interfaces, errbuf) * cdef list result = list() * if res < 0: # <<<<<<<<<<<<<< @@ -10230,19 +11288,19 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se __pyx_t_2 = ((__pyx_v_res < 0) != 0); if (__pyx_t_2) { - /* "yappcap.pyx":788 + /* "yappcap.pyx":830 * cdef list result = list() * if res < 0: * raise PcapError(errbuf) # <<<<<<<<<<<<<< * it = interfaces * while it: */ - __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 788, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_PcapError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_FromString(__pyx_v_errbuf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; - if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) { + if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); @@ -10252,26 +11310,46 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se } } if (!__pyx_t_5) { - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else { - __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_6); - __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L1_error) - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + #if CYTHON_FAST_PYCALL + if (PyFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4}; + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 830, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + #if CYTHON_FAST_PYCCALL + if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { + PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4}; + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 830, __pyx_L1_error) + __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + } else + #endif + { + __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 830, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_6); + __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 830, __pyx_L1_error) + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + } } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 788, __pyx_L1_error) + __PYX_ERR(0, 830, __pyx_L1_error) - /* "yappcap.pyx":787 + /* "yappcap.pyx":829 * cdef int res = pcap_findalldevs(&interfaces, errbuf) * cdef list result = list() * if res < 0: # <<<<<<<<<<<<<< @@ -10280,7 +11358,7 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se */ } - /* "yappcap.pyx":789 + /* "yappcap.pyx":831 * if res < 0: * raise PcapError(errbuf) * it = interfaces # <<<<<<<<<<<<<< @@ -10289,7 +11367,7 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se */ __pyx_v_it = __pyx_v_interfaces; - /* "yappcap.pyx":790 + /* "yappcap.pyx":832 * raise PcapError(errbuf) * it = interfaces * while it: # <<<<<<<<<<<<<< @@ -10300,28 +11378,28 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se __pyx_t_2 = (__pyx_v_it != 0); if (!__pyx_t_2) break; - /* "yappcap.pyx":791 + /* "yappcap.pyx":833 * it = interfaces * while it: * i = PcapInterface_factory(it) # <<<<<<<<<<<<<< * result.append(i) * it = it.next */ - __pyx_t_1 = ((PyObject *)__pyx_f_7yappcap_PcapInterface_factory(__pyx_v_it)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 791, __pyx_L1_error) + __pyx_t_1 = ((PyObject *)__pyx_f_7yappcap_PcapInterface_factory(__pyx_v_it)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_i, ((struct __pyx_obj_7yappcap_PcapInterface *)__pyx_t_1)); __pyx_t_1 = 0; - /* "yappcap.pyx":792 + /* "yappcap.pyx":834 * while it: * i = PcapInterface_factory(it) * result.append(i) # <<<<<<<<<<<<<< * it = it.next * pcap_freealldevs(interfaces) */ - __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_result, ((PyObject *)__pyx_v_i)); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 792, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyList_Append(__pyx_v_result, ((PyObject *)__pyx_v_i)); if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 834, __pyx_L1_error) - /* "yappcap.pyx":793 + /* "yappcap.pyx":835 * i = PcapInterface_factory(it) * result.append(i) * it = it.next # <<<<<<<<<<<<<< @@ -10332,7 +11410,7 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se __pyx_v_it = __pyx_t_8; } - /* "yappcap.pyx":794 + /* "yappcap.pyx":836 * result.append(i) * it = it.next * pcap_freealldevs(interfaces) # <<<<<<<<<<<<<< @@ -10341,7 +11419,7 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se */ pcap_freealldevs(__pyx_v_interfaces); - /* "yappcap.pyx":796 + /* "yappcap.pyx":838 * pcap_freealldevs(interfaces) * * return result # <<<<<<<<<<<<<< @@ -10353,7 +11431,7 @@ static PyObject *__pyx_pf_7yappcap_2findalldevs(CYTHON_UNUSED PyObject *__pyx_se __pyx_r = __pyx_v_result; goto __pyx_L0; - /* "yappcap.pyx":781 + /* "yappcap.pyx":823 * return pcap_lib_version() * * def findalldevs(): # <<<<<<<<<<<<<< @@ -10607,7 +11685,7 @@ static void __pyx_tp_dealloc_7yappcap_Pcap(PyObject *o) { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); - __pyx_pw_7yappcap_4Pcap_15__dealloc__(o); + __pyx_pw_7yappcap_4Pcap_17__dealloc__(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } @@ -10678,10 +11756,11 @@ static PyObject *__pyx_getprop_7yappcap_4Pcap_activated(PyObject *o, CYTHON_UNUS static PyMethodDef __pyx_methods_7yappcap_Pcap[] = { {"__next__", (PyCFunction)__pyx_pw_7yappcap_4Pcap_5__next__, METH_NOARGS|METH_COEXIST, __pyx_doc_7yappcap_4Pcap_4__next__}, - {"dispatch", (PyCFunction)__pyx_pw_7yappcap_4Pcap_7dispatch, METH_VARARGS|METH_KEYWORDS, __pyx_doc_7yappcap_4Pcap_6dispatch}, - {"loop", (PyCFunction)__pyx_pw_7yappcap_4Pcap_9loop, METH_VARARGS|METH_KEYWORDS, __pyx_doc_7yappcap_4Pcap_8loop}, - {"breakloop", (PyCFunction)__pyx_pw_7yappcap_4Pcap_11breakloop, METH_NOARGS, __pyx_doc_7yappcap_4Pcap_10breakloop}, - {"close", (PyCFunction)__pyx_pw_7yappcap_4Pcap_13close, METH_NOARGS, __pyx_doc_7yappcap_4Pcap_12close}, + {"next_ex", (PyCFunction)__pyx_pw_7yappcap_4Pcap_7next_ex, METH_NOARGS, __pyx_doc_7yappcap_4Pcap_6next_ex}, + {"dispatch", (PyCFunction)__pyx_pw_7yappcap_4Pcap_9dispatch, METH_VARARGS|METH_KEYWORDS, __pyx_doc_7yappcap_4Pcap_8dispatch}, + {"loop", (PyCFunction)__pyx_pw_7yappcap_4Pcap_11loop, METH_VARARGS|METH_KEYWORDS, __pyx_doc_7yappcap_4Pcap_10loop}, + {"breakloop", (PyCFunction)__pyx_pw_7yappcap_4Pcap_13breakloop, METH_NOARGS, __pyx_doc_7yappcap_4Pcap_12breakloop}, + {"close", (PyCFunction)__pyx_pw_7yappcap_4Pcap_15close, METH_NOARGS, __pyx_doc_7yappcap_4Pcap_14close}, {0, 0, 0, 0} }; @@ -10912,6 +11991,10 @@ static PyObject *__pyx_getprop_7yappcap_8PcapLive_fileno(PyObject *o, CYTHON_UNU return __pyx_pw_7yappcap_8PcapLive_6fileno_1__get__(o); } +static PyObject *__pyx_getprop_7yappcap_8PcapLive_selectable_fd(PyObject *o, CYTHON_UNUSED void *x) { + return __pyx_pw_7yappcap_8PcapLive_13selectable_fd_1__get__(o); +} + static PyObject *__pyx_getprop_7yappcap_8PcapLive_blocking(PyObject *o, CYTHON_UNUSED void *x) { return __pyx_pw_7yappcap_8PcapLive_8blocking_1__get__(o); } @@ -10939,6 +12022,7 @@ static struct PyGetSetDef __pyx_getsets_7yappcap_PcapLive[] = { {(char *)"rfmon", __pyx_getprop_7yappcap_8PcapLive_rfmon, __pyx_setprop_7yappcap_8PcapLive_rfmon, (char *)"Whether or not to turn on radio frequency monitor mode (read/write)\n\n Raises:\n PcapErrorActivated, PcapErrorNoSuchDevice, PcapError\n\n ", 0}, {(char *)"buffer_size", __pyx_getprop_7yappcap_8PcapLive_buffer_size, __pyx_setprop_7yappcap_8PcapLive_buffer_size, (char *)"If overidden from the default, the number of bytes to allocate for the\n pcap buffer (read/write)\n\n Raises:\n PcapError, PcapErrorActivated\n\n ", 0}, {(char *)"fileno", __pyx_getprop_7yappcap_8PcapLive_fileno, 0, (char *)"The underlying file descriptor for the capture (read-only)\n\n Raises:\n PcapError, PcapErrorNotActivated\n\n ", 0}, + {(char *)"selectable_fd", __pyx_getprop_7yappcap_8PcapLive_selectable_fd, 0, (char *)"get a file descriptor on which a select() can be done for a live capture (read-only)\n\n Raises:\n PcapError, PcapErrorNotActivated\n\n ", 0}, {(char *)"blocking", __pyx_getprop_7yappcap_8PcapLive_blocking, __pyx_setprop_7yappcap_8PcapLive_blocking, (char *)"Whether or not calls to next() or dispatch() should block (read/write)\n\n Raises:\n PcapError, PcapErrorNotActivated\n\n ", 0}, {0, 0, 0, 0, 0} }; @@ -11582,7 +12666,6 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_n_s_Exception, __pyx_k_Exception, sizeof(__pyx_k_Exception), 0, 0, 1, 1}, {&__pyx_n_s_IPv4, __pyx_k_IPv4, sizeof(__pyx_k_IPv4), 0, 0, 1, 1}, {&__pyx_n_s_IPv6, __pyx_k_IPv6, sizeof(__pyx_k_IPv6), 0, 0, 1, 1}, {&__pyx_kp_s_Instances_of_this_class_cannot_b, __pyx_k_Instances_of_this_class_cannot_b, sizeof(__pyx_k_Instances_of_this_class_cannot_b), 0, 0, 1, 0}, @@ -11630,7 +12713,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_filterstring, __pyx_k_filterstring, sizeof(__pyx_k_filterstring), 0, 0, 1, 1}, {&__pyx_n_s_findalldevs, __pyx_k_findalldevs, sizeof(__pyx_k_findalldevs), 0, 0, 1, 1}, {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1}, - {&__pyx_kp_s_home_terry_src_yappcap_yappcap, __pyx_k_home_terry_src_yappcap_yappcap, sizeof(__pyx_k_home_terry_src_yappcap_yappcap), 0, 0, 1, 0}, + {&__pyx_kp_s_home_nesterov_PycharmProjects_y, __pyx_k_home_nesterov_PycharmProjects_y, sizeof(__pyx_k_home_nesterov_PycharmProjects_y), 0, 0, 1, 0}, {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1}, {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, {&__pyx_n_s_interface, __pyx_k_interface, sizeof(__pyx_k_interface), 0, 0, 1, 1}, @@ -11662,7 +12745,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_Exception = __Pyx_GetBuiltinName(__pyx_n_s_Exception); if (!__pyx_builtin_Exception) __PYX_ERR(0, 11, __pyx_L1_error) __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 79, __pyx_L1_error) __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 99, __pyx_L1_error) return 0; @@ -11690,167 +12772,178 @@ static int __Pyx_InitCachedConstants(void) { * else: * raise PcapError("Unknown error") # <<<<<<<<<<<<<< * - * cdef __loop_common(self, looptype, count, callback, args, kwargs): + * */ __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_Unknown_error); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); - /* "yappcap.pyx":138 + /* "yappcap.pyx":135 + * return pkt + * else: + * raise PcapError("Unknown error") # <<<<<<<<<<<<<< + * + * + */ + __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_Unknown_error); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 135, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__3); + __Pyx_GIVEREF(__pyx_tuple__3); + + /* "yappcap.pyx":166 * if res == PCAP_ERROR_NOT_ACTIVATED: * raise PcapErrorNotActivated() * raise PcapError("Unknown error") # <<<<<<<<<<<<<< * * def dispatch(self, count, callback, *args, **kwargs): */ - __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_Unknown_error); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 138, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__3); - __Pyx_GIVEREF(__pyx_tuple__3); + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Unknown_error); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 166, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__4); + __Pyx_GIVEREF(__pyx_tuple__4); - /* "yappcap.pyx":202 + /* "yappcap.pyx":230 * self.__filter = BpfProgram(self, bpf) * else: * raise TypeError("Must pass a BpfProgram or string type") # <<<<<<<<<<<<<< * res = pcap_setfilter(self.__pcap, &self.__filter.__bpf) * if res == -1: */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_Must_pass_a_BpfProgram_or_string); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 202, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__4); - __Pyx_GIVEREF(__pyx_tuple__4); + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_Must_pass_a_BpfProgram_or_string); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 230, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__5); + __Pyx_GIVEREF(__pyx_tuple__5); - /* "yappcap.pyx":280 + /* "yappcap.pyx":308 * cdef char errbuf[PCAP_ERRBUF_SIZE] * # For now, eventually we'll look it up and do PcapInterface * self.__interface = interface.encode('UTF-8') # <<<<<<<<<<<<<< * self.__activated = False * if not PCAP_V0: */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 280, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__5); - __Pyx_GIVEREF(__pyx_tuple__5); + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 308, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__6); + __Pyx_GIVEREF(__pyx_tuple__6); - /* "yappcap.pyx":300 + /* "yappcap.pyx":328 * """The name of the capture interface (read-only)""" * def __get__(self): * return self.__interface.decode('UTF-8') # <<<<<<<<<<<<<< * * property snaplen: */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 300, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__6); - __Pyx_GIVEREF(__pyx_tuple__6); + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 328, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__7); + __Pyx_GIVEREF(__pyx_tuple__7); - /* "yappcap.pyx":443 + /* "yappcap.pyx":485 * return False * else: * return PcapError("Unknown error") # <<<<<<<<<<<<<< * * def __set__(self, blocking): */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_Unknown_error); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 443, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__7); - __Pyx_GIVEREF(__pyx_tuple__7); + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_Unknown_error); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 485, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__8); + __Pyx_GIVEREF(__pyx_tuple__8); - /* "yappcap.pyx":525 + /* "yappcap.pyx":567 * self.__autosave = autosave * self.__activated = False * self.__pcap = pcap_open_offline(self.__filename.encode('UTF-8'), errbuf) # <<<<<<<<<<<<<< * if self.__pcap == NULL: * raise PcapError(errbuf) */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 525, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__8); - __Pyx_GIVEREF(__pyx_tuple__8); + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 567, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__9); + __Pyx_GIVEREF(__pyx_tuple__9); - /* "yappcap.pyx":558 + /* "yappcap.pyx":600 * cdef bytes __data * def __init__(self): * raise TypeError("This class cannot be instantiated from Python") # <<<<<<<<<<<<<< * * property timestamp: */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_This_class_cannot_be_instantiate); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 558, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__9); - __Pyx_GIVEREF(__pyx_tuple__9); + __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_This_class_cannot_be_instantiate); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 600, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__10); + __Pyx_GIVEREF(__pyx_tuple__10); - /* "yappcap.pyx":590 + /* "yappcap.pyx":632 * * def __init__(self, Pcap pcap, filename): * self.__dumper = pcap_dump_open(pcap.__pcap, filename.encode('UTF-8')) # <<<<<<<<<<<<<< * if self.__dumper is NULL: * raise PcapError(pcap_geterr(pcap.__pcap)) */ - __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 590, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__10); - __Pyx_GIVEREF(__pyx_tuple__10); + __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 632, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__11); + __Pyx_GIVEREF(__pyx_tuple__11); - /* "yappcap.pyx":618 + /* "yappcap.pyx":660 * """This class is only returned by yappcap.findalldevs() and cannot be * instantiated from Python""" * raise TypeError("Instances of this class cannot be created from Python") # <<<<<<<<<<<<<< * * property name: */ - __pyx_tuple__11 = PyTuple_Pack(1, __pyx_kp_s_Instances_of_this_class_cannot_b); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 618, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__11); - __Pyx_GIVEREF(__pyx_tuple__11); + __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_Instances_of_this_class_cannot_b); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 660, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__12); + __Pyx_GIVEREF(__pyx_tuple__12); - /* "yappcap.pyx":676 + /* "yappcap.pyx":718 * cdef dict __addr, __netmask, __broadaddr, __dstaddr * def __init__(self): * raise TypeError("Instances of this class cannot be created from Python") # <<<<<<<<<<<<<< * property address: * """A dict containing the 'family', and if it exists, the 'address' */ - __pyx_tuple__12 = PyTuple_Pack(1, __pyx_kp_s_Instances_of_this_class_cannot_b); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 676, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__12); - __Pyx_GIVEREF(__pyx_tuple__12); + __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s_Instances_of_this_class_cannot_b); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 718, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__13); + __Pyx_GIVEREF(__pyx_tuple__13); - /* "yappcap.pyx":705 + /* "yappcap.pyx":747 * nm = 'Unknown' * * return "%s: %s/%s" % (family or type2str(self.address['family']), addr or self.address.get('address', 'Unknown'), nm or self.netmask.get('address', 'Unknown')) # <<<<<<<<<<<<<< * * */ - __pyx_tuple__13 = PyTuple_Pack(2, __pyx_n_s_address, __pyx_n_s_Unknown); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 705, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__13); - __Pyx_GIVEREF(__pyx_tuple__13); - __pyx_tuple__14 = PyTuple_Pack(2, __pyx_n_s_address, __pyx_n_s_Unknown); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 705, __pyx_L1_error) + __pyx_tuple__14 = PyTuple_Pack(2, __pyx_n_s_address, __pyx_n_s_Unknown); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); + __pyx_tuple__15 = PyTuple_Pack(2, __pyx_n_s_address, __pyx_n_s_Unknown); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 747, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__15); + __Pyx_GIVEREF(__pyx_tuple__15); - /* "yappcap.pyx":764 + /* "yappcap.pyx":806 * self.__filterstring = filterstring * res = pcap_compile(pcap.__pcap, &self.__bpf, * filterstring.encode('UTF-8'), # <<<<<<<<<<<<<< * 1, PCAP_NETMASK_UNKNOWN) * if res == -1: */ - __pyx_tuple__15 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 764, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__15); - __Pyx_GIVEREF(__pyx_tuple__15); + __pyx_tuple__16 = PyTuple_Pack(1, __pyx_kp_s_UTF_8); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 806, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__16); + __Pyx_GIVEREF(__pyx_tuple__16); - /* "yappcap.pyx":777 + /* "yappcap.pyx":819 * * * def lib_version(): # <<<<<<<<<<<<<< * """Return the version string from pcap_lib_version()""" * return pcap_lib_version() */ - __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_terry_src_yappcap_yappcap, __pyx_n_s_lib_version, 777, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 777, __pyx_L1_error) + __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_nesterov_PycharmProjects_y, __pyx_n_s_lib_version, 819, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 819, __pyx_L1_error) - /* "yappcap.pyx":781 + /* "yappcap.pyx":823 * return pcap_lib_version() * * def findalldevs(): # <<<<<<<<<<<<<< * """Return a list of available PcapInterfaces""" * cdef pcap_if_t *interfaces, *it */ - __pyx_tuple__17 = PyTuple_Pack(6, __pyx_n_s_interfaces, __pyx_n_s_it, __pyx_n_s_errbuf, __pyx_n_s_res, __pyx_n_s_result, __pyx_n_s_i); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 781, __pyx_L1_error) - __Pyx_GOTREF(__pyx_tuple__17); - __Pyx_GIVEREF(__pyx_tuple__17); - __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_terry_src_yappcap_yappcap, __pyx_n_s_findalldevs, 781, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 781, __pyx_L1_error) + __pyx_tuple__18 = PyTuple_Pack(6, __pyx_n_s_interfaces, __pyx_n_s_it, __pyx_n_s_errbuf, __pyx_n_s_res, __pyx_n_s_result, __pyx_n_s_i); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 823, __pyx_L1_error) + __Pyx_GOTREF(__pyx_tuple__18); + __Pyx_GIVEREF(__pyx_tuple__18); + __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_nesterov_PycharmProjects_y, __pyx_n_s_findalldevs, 823, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -11958,15 +13051,15 @@ PyMODINIT_FUNC PyInit_yappcap(void) /*--- Variable export code ---*/ /*--- Function export code ---*/ /*--- Type init code ---*/ - if (PyType_Ready(&__pyx_type_7yappcap_PcapDumper) < 0) __PYX_ERR(0, 585, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_PcapDumper) < 0) __PYX_ERR(0, 627, __pyx_L1_error) __pyx_type_7yappcap_PcapDumper.tp_print = 0; - if (PyObject_SetAttrString(__pyx_m, "PcapDumper", (PyObject *)&__pyx_type_7yappcap_PcapDumper) < 0) __PYX_ERR(0, 585, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "PcapDumper", (PyObject *)&__pyx_type_7yappcap_PcapDumper) < 0) __PYX_ERR(0, 627, __pyx_L1_error) __pyx_ptype_7yappcap_PcapDumper = &__pyx_type_7yappcap_PcapDumper; - if (PyType_Ready(&__pyx_type_7yappcap_BpfProgram) < 0) __PYX_ERR(0, 745, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_BpfProgram) < 0) __PYX_ERR(0, 787, __pyx_L1_error) __pyx_type_7yappcap_BpfProgram.tp_print = 0; #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_BpfProgram, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 745, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_BpfProgram, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 787, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_7yappcap_10BpfProgram___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_7yappcap_10BpfProgram___init__.doc = __pyx_doc_7yappcap_10BpfProgram___init__; @@ -11974,7 +13067,7 @@ PyMODINIT_FUNC PyInit_yappcap(void) } } #endif - if (PyObject_SetAttrString(__pyx_m, "BpfProgram", (PyObject *)&__pyx_type_7yappcap_BpfProgram) < 0) __PYX_ERR(0, 745, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "BpfProgram", (PyObject *)&__pyx_type_7yappcap_BpfProgram) < 0) __PYX_ERR(0, 787, __pyx_L1_error) __pyx_ptype_7yappcap_BpfProgram = &__pyx_type_7yappcap_BpfProgram; __pyx_vtabptr_7yappcap_Pcap = &__pyx_vtable_7yappcap_Pcap; __pyx_vtable_7yappcap_Pcap.__pyx___loop_common = (PyObject *(*)(struct __pyx_obj_7yappcap_Pcap *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *))__pyx_f_7yappcap_4Pcap___loop_common; @@ -11996,11 +13089,11 @@ PyMODINIT_FUNC PyInit_yappcap(void) __pyx_vtabptr_7yappcap_PcapLive = &__pyx_vtable_7yappcap_PcapLive; __pyx_vtable_7yappcap_PcapLive.__pyx_base = *__pyx_vtabptr_7yappcap_Pcap; __pyx_type_7yappcap_PcapLive.tp_base = __pyx_ptype_7yappcap_Pcap; - if (PyType_Ready(&__pyx_type_7yappcap_PcapLive) < 0) __PYX_ERR(0, 242, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_PcapLive) < 0) __PYX_ERR(0, 270, __pyx_L1_error) __pyx_type_7yappcap_PcapLive.tp_print = 0; #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_PcapLive, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 242, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_PcapLive, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 270, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_7yappcap_8PcapLive___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_7yappcap_8PcapLive___init__.doc = __pyx_doc_7yappcap_8PcapLive___init__; @@ -12008,17 +13101,17 @@ PyMODINIT_FUNC PyInit_yappcap(void) } } #endif - if (__Pyx_SetVtable(__pyx_type_7yappcap_PcapLive.tp_dict, __pyx_vtabptr_7yappcap_PcapLive) < 0) __PYX_ERR(0, 242, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "PcapLive", (PyObject *)&__pyx_type_7yappcap_PcapLive) < 0) __PYX_ERR(0, 242, __pyx_L1_error) + if (__Pyx_SetVtable(__pyx_type_7yappcap_PcapLive.tp_dict, __pyx_vtabptr_7yappcap_PcapLive) < 0) __PYX_ERR(0, 270, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "PcapLive", (PyObject *)&__pyx_type_7yappcap_PcapLive) < 0) __PYX_ERR(0, 270, __pyx_L1_error) __pyx_ptype_7yappcap_PcapLive = &__pyx_type_7yappcap_PcapLive; __pyx_vtabptr_7yappcap_PcapOffline = &__pyx_vtable_7yappcap_PcapOffline; __pyx_vtable_7yappcap_PcapOffline.__pyx_base = *__pyx_vtabptr_7yappcap_Pcap; __pyx_type_7yappcap_PcapOffline.tp_base = __pyx_ptype_7yappcap_Pcap; - if (PyType_Ready(&__pyx_type_7yappcap_PcapOffline) < 0) __PYX_ERR(0, 505, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_PcapOffline) < 0) __PYX_ERR(0, 547, __pyx_L1_error) __pyx_type_7yappcap_PcapOffline.tp_print = 0; #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_PcapOffline, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 505, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_PcapOffline, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 547, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_7yappcap_11PcapOffline___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_7yappcap_11PcapOffline___init__.doc = __pyx_doc_7yappcap_11PcapOffline___init__; @@ -12026,18 +13119,18 @@ PyMODINIT_FUNC PyInit_yappcap(void) } } #endif - if (__Pyx_SetVtable(__pyx_type_7yappcap_PcapOffline.tp_dict, __pyx_vtabptr_7yappcap_PcapOffline) < 0) __PYX_ERR(0, 505, __pyx_L1_error) - if (PyObject_SetAttrString(__pyx_m, "PcapOffline", (PyObject *)&__pyx_type_7yappcap_PcapOffline) < 0) __PYX_ERR(0, 505, __pyx_L1_error) + if (__Pyx_SetVtable(__pyx_type_7yappcap_PcapOffline.tp_dict, __pyx_vtabptr_7yappcap_PcapOffline) < 0) __PYX_ERR(0, 547, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "PcapOffline", (PyObject *)&__pyx_type_7yappcap_PcapOffline) < 0) __PYX_ERR(0, 547, __pyx_L1_error) __pyx_ptype_7yappcap_PcapOffline = &__pyx_type_7yappcap_PcapOffline; - if (PyType_Ready(&__pyx_type_7yappcap_PcapPacket) < 0) __PYX_ERR(0, 553, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_PcapPacket) < 0) __PYX_ERR(0, 595, __pyx_L1_error) __pyx_type_7yappcap_PcapPacket.tp_print = 0; - if (PyObject_SetAttrString(__pyx_m, "PcapPacket", (PyObject *)&__pyx_type_7yappcap_PcapPacket) < 0) __PYX_ERR(0, 553, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "PcapPacket", (PyObject *)&__pyx_type_7yappcap_PcapPacket) < 0) __PYX_ERR(0, 595, __pyx_L1_error) __pyx_ptype_7yappcap_PcapPacket = &__pyx_type_7yappcap_PcapPacket; - if (PyType_Ready(&__pyx_type_7yappcap_PcapInterface) < 0) __PYX_ERR(0, 609, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_PcapInterface) < 0) __PYX_ERR(0, 651, __pyx_L1_error) __pyx_type_7yappcap_PcapInterface.tp_print = 0; #if CYTHON_COMPILING_IN_CPYTHON { - PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_PcapInterface, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 609, __pyx_L1_error) + PyObject *wrapper = PyObject_GetAttrString((PyObject *)&__pyx_type_7yappcap_PcapInterface, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(0, 651, __pyx_L1_error) if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) { __pyx_wrapperbase_7yappcap_13PcapInterface___init__ = *((PyWrapperDescrObject *)wrapper)->d_base; __pyx_wrapperbase_7yappcap_13PcapInterface___init__.doc = __pyx_doc_7yappcap_13PcapInterface___init__; @@ -12045,11 +13138,11 @@ PyMODINIT_FUNC PyInit_yappcap(void) } } #endif - if (PyObject_SetAttrString(__pyx_m, "PcapInterface", (PyObject *)&__pyx_type_7yappcap_PcapInterface) < 0) __PYX_ERR(0, 609, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "PcapInterface", (PyObject *)&__pyx_type_7yappcap_PcapInterface) < 0) __PYX_ERR(0, 651, __pyx_L1_error) __pyx_ptype_7yappcap_PcapInterface = &__pyx_type_7yappcap_PcapInterface; - if (PyType_Ready(&__pyx_type_7yappcap_PcapAddress) < 0) __PYX_ERR(0, 672, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_7yappcap_PcapAddress) < 0) __PYX_ERR(0, 714, __pyx_L1_error) __pyx_type_7yappcap_PcapAddress.tp_print = 0; - if (PyObject_SetAttrString(__pyx_m, "PcapAddress", (PyObject *)&__pyx_type_7yappcap_PcapAddress) < 0) __PYX_ERR(0, 672, __pyx_L1_error) + if (PyObject_SetAttrString(__pyx_m, "PcapAddress", (PyObject *)&__pyx_type_7yappcap_PcapAddress) < 0) __PYX_ERR(0, 714, __pyx_L1_error) __pyx_ptype_7yappcap_PcapAddress = &__pyx_type_7yappcap_PcapAddress; /*--- Type import code ---*/ __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type", @@ -12117,9 +13210,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapError, __pyx_n_s_PcapError, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) @@ -12141,9 +13234,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorBreak, __pyx_n_s_PcapErrorBreak, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 14, __pyx_L1_error) @@ -12165,9 +13258,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorNotActivated, __pyx_n_s_PcapErrorNotActivated, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 17, __pyx_L1_error) @@ -12189,9 +13282,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorActivated, __pyx_n_s_PcapErrorActivated, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 20, __pyx_L1_error) @@ -12213,9 +13306,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorNoSuchDevice, __pyx_n_s_PcapErrorNoSuchDevice, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error) @@ -12237,9 +13330,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorRfmonNotSup, __pyx_n_s_PcapErrorRfmonNotSup, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 26, __pyx_L1_error) @@ -12261,9 +13354,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorNotRfmon, __pyx_n_s_PcapErrorNotRfmon, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 29, __pyx_L1_error) @@ -12285,9 +13378,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorPermDenied, __pyx_n_s_PcapErrorPermDenied, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 32, __pyx_L1_error) @@ -12309,9 +13402,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapErrorIfaceNotUp, __pyx_n_s_PcapErrorIfaceNotUp, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 35, __pyx_L1_error) @@ -12333,9 +13426,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapWarning, __pyx_n_s_PcapWarning, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 38, __pyx_L1_error) @@ -12357,9 +13450,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapWarningPromiscNotSup, __pyx_n_s_PcapWarningPromiscNotSup, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) @@ -12381,9 +13474,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 44, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapTimeout, __pyx_n_s_PcapTimeout, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error) @@ -12405,9 +13498,9 @@ PyMODINIT_FUNC PyInit_yappcap(void) */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __Pyx_INCREF(__pyx_builtin_Exception); - __Pyx_GIVEREF(__pyx_builtin_Exception); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_builtin_Exception); + __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_PcapDumperClosed, __pyx_n_s_PcapDumperClosed, (PyObject *) NULL, __pyx_n_s_yappcap, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error) @@ -12420,28 +13513,28 @@ PyMODINIT_FUNC PyInit_yappcap(void) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":777 + /* "yappcap.pyx":819 * * * def lib_version(): # <<<<<<<<<<<<<< * """Return the version string from pcap_lib_version()""" * return pcap_lib_version() */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7yappcap_1lib_version, NULL, __pyx_n_s_yappcap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 777, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7yappcap_1lib_version, NULL, __pyx_n_s_yappcap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib_version, __pyx_t_1) < 0) __PYX_ERR(0, 777, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib_version, __pyx_t_1) < 0) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "yappcap.pyx":781 + /* "yappcap.pyx":823 * return pcap_lib_version() * * def findalldevs(): # <<<<<<<<<<<<<< * """Return a list of available PcapInterfaces""" * cdef pcap_if_t *interfaces, *it */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7yappcap_3findalldevs, NULL, __pyx_n_s_yappcap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7yappcap_3findalldevs, NULL, __pyx_n_s_yappcap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_findalldevs, __pyx_t_1) < 0) __PYX_ERR(0, 781, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_findalldevs, __pyx_t_1) < 0) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "yappcap.pyx":1 @@ -12524,6 +13617,144 @@ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { return 0; } +/* PyCFunctionFastCall */ +#if CYTHON_FAST_PYCCALL +static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) { + PyCFunctionObject *func = (PyCFunctionObject*)func_obj; + PyCFunction meth = PyCFunction_GET_FUNCTION(func); + PyObject *self = PyCFunction_GET_SELF(func); + assert(PyCFunction_Check(func)); + assert(METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST))); + assert(nargs >= 0); + assert(nargs == 0 || args != NULL); + /* _PyCFunction_FastCallDict() must not be called with an exception set, + because it may clear it (directly or indirectly) and so the + caller loses its exception */ + assert(!PyErr_Occurred()); + return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL); +} +#endif // CYTHON_FAST_PYCCALL + +/* PyFunctionFastCall */ +#if CYTHON_FAST_PYCALL +#include "frameobject.h" +static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, + PyObject *globals) { + PyFrameObject *f; + PyThreadState *tstate = PyThreadState_GET(); + PyObject **fastlocals; + Py_ssize_t i; + PyObject *result; + assert(globals != NULL); + /* XXX Perhaps we should create a specialized + PyFrame_New() that doesn't take locals, but does + take builtins without sanity checking them. + */ + assert(tstate != NULL); + f = PyFrame_New(tstate, co, globals, NULL); + if (f == NULL) { + return NULL; + } + fastlocals = f->f_localsplus; + for (i = 0; i < na; i++) { + Py_INCREF(*args); + fastlocals[i] = *args++; + } + result = PyEval_EvalFrameEx(f,0); + ++tstate->recursion_depth; + Py_DECREF(f); + --tstate->recursion_depth; + return result; +} +#if 1 || PY_VERSION_HEX < 0x030600B1 +static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) { + PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); + PyObject *globals = PyFunction_GET_GLOBALS(func); + PyObject *argdefs = PyFunction_GET_DEFAULTS(func); + PyObject *closure; +#if PY_MAJOR_VERSION >= 3 + PyObject *kwdefs; +#endif + PyObject *kwtuple, **k; + PyObject **d; + Py_ssize_t nd; + Py_ssize_t nk; + PyObject *result; + assert(kwargs == NULL || PyDict_Check(kwargs)); + nk = kwargs ? PyDict_Size(kwargs) : 0; + if (Py_EnterRecursiveCall((char*)" while calling a Python object")) { + return NULL; + } + if ( +#if PY_MAJOR_VERSION >= 3 + co->co_kwonlyargcount == 0 && +#endif + likely(kwargs == NULL || nk == 0) && + co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { + if (argdefs == NULL && co->co_argcount == nargs) { + result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); + goto done; + } + else if (nargs == 0 && argdefs != NULL + && co->co_argcount == Py_SIZE(argdefs)) { + /* function called with no arguments, but all parameters have + a default value: use default values as arguments .*/ + args = &PyTuple_GET_ITEM(argdefs, 0); + result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); + goto done; + } + } + if (kwargs != NULL) { + Py_ssize_t pos, i; + kwtuple = PyTuple_New(2 * nk); + if (kwtuple == NULL) { + result = NULL; + goto done; + } + k = &PyTuple_GET_ITEM(kwtuple, 0); + pos = i = 0; + while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { + Py_INCREF(k[i]); + Py_INCREF(k[i+1]); + i += 2; + } + nk = i / 2; + } + else { + kwtuple = NULL; + k = NULL; + } + closure = PyFunction_GET_CLOSURE(func); +#if PY_MAJOR_VERSION >= 3 + kwdefs = PyFunction_GET_KW_DEFAULTS(func); +#endif + if (argdefs != NULL) { + d = &PyTuple_GET_ITEM(argdefs, 0); + nd = Py_SIZE(argdefs); + } + else { + d = NULL; + nd = 0; + } +#if PY_MAJOR_VERSION >= 3 + result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, kwdefs, closure); +#else + result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, + args, nargs, + k, (int)nk, + d, (int)nd, closure); +#endif + Py_XDECREF(kwtuple); +done: + Py_LeaveRecursiveCall(); + return result; +} +#endif // CPython < 3.6 +#endif // CYTHON_FAST_PYCALL + /* PyObjectCall */ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { @@ -12577,6 +13808,11 @@ static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) { return result; } static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, &arg, 1); + } +#endif #ifdef __Pyx_CyFunction_USED if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) { #else @@ -12584,6 +13820,10 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObjec #endif if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { return __Pyx_PyObject_CallMethO(func, arg); +#if CYTHON_FAST_PYCCALL + } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) { + return __Pyx_PyCFunction_FastCall(func, &arg, 1); +#endif } } return __Pyx__PyObject_CallOneArg(func, arg); @@ -12602,6 +13842,11 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObjec /* PyObjectCallNoArg */ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { +#if CYTHON_FAST_PYCALL + if (PyFunction_Check(func)) { + return __Pyx_PyFunction_FastCall(func, NULL, 0); + } +#endif #ifdef __Pyx_CyFunction_USED if (likely(PyCFunction_Check(func) || PyObject_TypeCheck(func, __pyx_CyFunctionType))) { #else @@ -12682,7 +13927,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { } /* PyErrFetchRestore */ - #if CYTHON_COMPILING_IN_CPYTHON + #if CYTHON_FAST_THREAD_STATE static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { PyObject *tmp_type, *tmp_value, *tmp_tb; tmp_type = tstate->curexc_type; @@ -12871,7 +14116,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject /* GetModuleGlobalName */ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { PyObject *result; -#if CYTHON_COMPILING_IN_CPYTHON +#if !CYTHON_AVOID_BORROWED_REFS result = PyDict_GetItem(__pyx_d, name); if (likely(result)) { Py_INCREF(result); @@ -13045,7 +14290,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject } /* PyIntBinop */ - #if CYTHON_COMPILING_IN_CPYTHON + #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) { if (op1 == op2) { Py_RETURN_TRUE; @@ -13061,7 +14306,7 @@ static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED } } #endif - #if CYTHON_USE_PYLONG_INTERNALS && PY_MAJOR_VERSION >= 3 + #if CYTHON_USE_PYLONG_INTERNALS if (likely(PyLong_CheckExact(op1))) { const long b = intval; long a; @@ -13541,7 +14786,7 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, 0 /*PyObject *locals*/ ); if (!py_frame) goto bad; - py_frame->f_lineno = py_line; + __Pyx_PyFrame_SetLineNumber(py_frame, py_line); PyTraceBack_Here(py_frame); bad: Py_XDECREF(py_code); @@ -13579,14 +14824,18 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, return PyInt_FromLong((long) value); } else if (sizeof(int) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif } } else { if (sizeof(int) <= sizeof(long)) { return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif } } { @@ -13606,14 +14855,18 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, return PyInt_FromLong((long) value); } else if (sizeof(unsigned int) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif } } else { if (sizeof(unsigned int) <= sizeof(long)) { return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) { return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif } } { @@ -13692,8 +14945,10 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, #endif if (sizeof(int) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif } } else { #if CYTHON_USE_PYLONG_INTERNALS @@ -13760,8 +15015,10 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, #endif if (sizeof(int) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif } } { @@ -13818,14 +15075,18 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, return PyInt_FromLong((long) value); } else if (sizeof(long) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); +#ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); +#endif } } else { if (sizeof(long) <= sizeof(long)) { return PyInt_FromLong((long) value); +#ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { return PyLong_FromLongLong((PY_LONG_LONG) value); +#endif } } { @@ -13904,8 +15165,10 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, #endif if (sizeof(long) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) +#ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) +#endif } } else { #if CYTHON_USE_PYLONG_INTERNALS @@ -13972,8 +15235,10 @@ static void __Pyx_AddTraceback(const char *funcname, int c_line, #endif if (sizeof(long) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) +#ifdef HAVE_LONG_LONG } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) +#endif } } { @@ -14222,7 +15487,9 @@ static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { else return PyObject_IsTrue(x); } static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { +#if CYTHON_USE_TYPE_SLOTS PyNumberMethods *m; +#endif const char *name = NULL; PyObject *res = NULL; #if PY_MAJOR_VERSION < 3 @@ -14231,8 +15498,9 @@ static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { if (PyLong_Check(x)) #endif return __Pyx_NewRef(x); +#if CYTHON_USE_TYPE_SLOTS m = Py_TYPE(x)->tp_as_number; -#if PY_MAJOR_VERSION < 3 + #if PY_MAJOR_VERSION < 3 if (m && m->nb_int) { name = "int"; res = PyNumber_Int(x); @@ -14241,11 +15509,14 @@ static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { name = "long"; res = PyNumber_Long(x); } -#else + #else if (m && m->nb_int) { name = "int"; res = PyNumber_Long(x); } + #endif +#else + res = PyNumber_Int(x); #endif if (res) { #if PY_MAJOR_VERSION < 3 diff --git a/yappcap.pyx b/yappcap.pyx index 5900280..39e29c9 100644 --- a/yappcap.pyx +++ b/yappcap.pyx @@ -108,6 +108,34 @@ cdef class Pcap(object): else: raise PcapError("Unknown error") + + def next_ex(self): + """Get the next available PcapPacket (ex)""" + cdef PcapPacket pkt + cdef pcap_pkthdr *hdr + cdef const_uchar_ptr data + + if not self.activated: + raise PcapErrorNotActivated() + + res = pcap_next_ex(self.__pcap, &hdr, &data) + if res == -1: + raise PcapError(pcap_geterr(self.__pcap)) + if res == -2: + raise StopIteration + IF not PCAP_V0: + if res == PCAP_ERROR_NOT_ACTIVATED: + raise PcapErrorNotActivated() # This is undocumented, but happens + if res >= 0: + pkt = PcapPacket_factory(hdr, data) + if self.__dumper: + self.__dumper.dump(pkt) + return pkt + else: + raise PcapError("Unknown error") + + + cdef __loop_common(self, looptype, count, callback, args, kwargs): cdef pcap_callback_ctx ctx @@ -418,6 +446,20 @@ cdef class PcapLive(Pcap): raise PcapErrorNotActivated() return res + property selectable_fd: + """get a file descriptor on which a select() can be done for a live capture (read-only) + + Raises: + PcapError, PcapErrorNotActivated + + """ + def __get__(self): + res = pcap_get_selectable_fd(self.__pcap) + if res == -1: + # With a live file capture, this should only happen when not activated + raise PcapErrorNotActivated() + return res + # Reverse the logic from checking the negative: nonblock property blocking: """Whether or not calls to next() or dispatch() should block (read/write)