| Index: third_party/cython/src/Cython/Includes/cpython/module.pxd
|
| diff --git a/third_party/cython/src/Cython/Includes/cpython/module.pxd b/third_party/cython/src/Cython/Includes/cpython/module.pxd
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..84e23ca711c0f04b4ee9bd3124722bd22c1cfa18
|
| --- /dev/null
|
| +++ b/third_party/cython/src/Cython/Includes/cpython/module.pxd
|
| @@ -0,0 +1,175 @@
|
| +from cpython.ref cimport PyObject
|
| +
|
| +cdef extern from "Python.h":
|
| + ctypedef struct _inittab
|
| +
|
| + #####################################################################
|
| + # 5.3 Importing Modules
|
| + #####################################################################
|
| + object PyImport_ImportModule(char *name)
|
| + # Return value: New reference.
|
| + # This is a simplified interface to PyImport_ImportModuleEx()
|
| + # below, leaving the globals and locals arguments set to
|
| + # NULL. When the name argument contains a dot (when it specifies a
|
| + # submodule of a package), the fromlist argument is set to the
|
| + # list ['*'] so that the return value is the named module rather
|
| + # than the top-level package containing it as would otherwise be
|
| + # the case. (Unfortunately, this has an additional side effect
|
| + # when name in fact specifies a subpackage instead of a submodule:
|
| + # the submodules specified in the package's __all__ variable are
|
| + # loaded.) Return a new reference to the imported module, or NULL
|
| + # with an exception set on failure.
|
| +
|
| + object PyImport_ImportModuleEx(char *name, object globals, object locals, object fromlist)
|
| + # Return value: New reference.
|
| +
|
| + # Import a module. This is best described by referring to the
|
| + # built-in Python function __import__(), as the standard
|
| + # __import__() function calls this function directly.
|
| +
|
| + # The return value is a new reference to the imported module or
|
| + # top-level package, or NULL with an exception set on failure
|
| + # (before Python 2.4, the module may still be created in this
|
| + # case). Like for __import__(), the return value when a submodule
|
| + # of a package was requested is normally the top-level package,
|
| + # unless a non-empty fromlist was given. Changed in version 2.4:
|
| + # failing imports remove incomplete module objects.
|
| +
|
| + object PyImport_Import(object name)
|
| + # Return value: New reference.
|
| + # This is a higher-level interface that calls the current ``import
|
| + # hook function''. It invokes the __import__() function from the
|
| + # __builtins__ of the current globals. This means that the import
|
| + # is done using whatever import hooks are installed in the current
|
| + # environment, e.g. by rexec or ihooks.
|
| +
|
| + object PyImport_ReloadModule(object m)
|
| + # Return value: New reference.
|
| + # Reload a module. This is best described by referring to the
|
| + # built-in Python function reload(), as the standard reload()
|
| + # function calls this function directly. Return a new reference to
|
| + # the reloaded module, or NULL with an exception set on failure
|
| + # (the module still exists in this case).
|
| +
|
| + PyObject* PyImport_AddModule(char *name) except NULL
|
| + # Return value: Borrowed reference.
|
| + # Return the module object corresponding to a module name. The
|
| + # name argument may be of the form package.module. First check the
|
| + # modules dictionary if there's one there, and if not, create a
|
| + # new one and insert it in the modules dictionary. Return NULL
|
| + # with an exception set on failure. Note: This function does not
|
| + # load or import the module; if the module wasn't already loaded,
|
| + # you will get an empty module object. Use PyImport_ImportModule()
|
| + # or one of its variants to import a module. Package structures
|
| + # implied by a dotted name for name are not created if not already
|
| + # present.
|
| +
|
| + object PyImport_ExecCodeModule(char *name, object co)
|
| + # Return value: New reference.
|
| + # Given a module name (possibly of the form package.module) and a
|
| + # code object read from a Python bytecode file or obtained from
|
| + # the built-in function compile(), load the module. Return a new
|
| + # reference to the module object, or NULL with an exception set if
|
| + # an error occurred. Name is removed from sys.modules in error
|
| + # cases, and even if name was already in sys.modules on entry to
|
| + # PyImport_ExecCodeModule(). Leaving incompletely initialized
|
| + # modules in sys.modules is dangerous, as imports of such modules
|
| + # have no way to know that the module object is an unknown (and
|
| + # probably damaged with respect to the module author's intents)
|
| + # state.
|
| + # This function will reload the module if it was already
|
| + # imported. See PyImport_ReloadModule() for the intended way to
|
| + # reload a module.
|
| + # If name points to a dotted name of the form package.module, any
|
| + # package structures not already created will still not be
|
| + # created.
|
| +
|
| +
|
| + long PyImport_GetMagicNumber()
|
| + # Return the magic number for Python bytecode files (a.k.a. .pyc
|
| + # and .pyo files). The magic number should be present in the first
|
| + # four bytes of the bytecode file, in little-endian byte order.
|
| +
|
| + PyObject* PyImport_GetModuleDict() except NULL
|
| + # Return value: Borrowed reference.
|
| + # Return the dictionary used for the module administration
|
| + # (a.k.a. sys.modules). Note that this is a per-interpreter
|
| + # variable.
|
| +
|
| +
|
| + int PyImport_ImportFrozenModule(char *name) except -1
|
| + # Load a frozen module named name. Return 1 for success, 0 if the
|
| + # module is not found, and -1 with an exception set if the
|
| + # initialization failed. To access the imported module on a
|
| + # successful load, use PyImport_ImportModule(). (Note the misnomer
|
| + # -- this function would reload the module if it was already
|
| + # imported.)
|
| +
|
| +
|
| + int PyImport_ExtendInittab(_inittab *newtab) except -1
|
| + # Add a collection of modules to the table of built-in
|
| + # modules. The newtab array must end with a sentinel entry which
|
| + # contains NULL for the name field; failure to provide the
|
| + # sentinel value can result in a memory fault. Returns 0 on
|
| + # success or -1 if insufficient memory could be allocated to
|
| + # extend the internal table. In the event of failure, no modules
|
| + # are added to the internal table. This should be called before
|
| + # Py_Initialize().
|
| +
|
| + #####################################################################
|
| + # 7.5.5 Module Objects
|
| + #####################################################################
|
| +
|
| + # PyTypeObject PyModule_Type
|
| + #
|
| + # This instance of PyTypeObject represents the Python module
|
| + # type. This is exposed to Python programs as types.ModuleType.
|
| +
|
| + bint PyModule_Check(object p)
|
| + # Return true if p is a module object, or a subtype of a module
|
| + # object.
|
| +
|
| + bint PyModule_CheckExact(object p)
|
| + # Return true if p is a module object, but not a subtype of PyModule_Type.
|
| +
|
| + object PyModule_New(char *name)
|
| + # Return value: New reference.
|
| + # Return a new module object with the __name__ attribute set to
|
| + # name. Only the module's __doc__ and __name__ attributes are
|
| + # filled in; the caller is responsible for providing a __file__
|
| + # attribute.
|
| +
|
| + PyObject* PyModule_GetDict(object module) except NULL
|
| + # Return value: Borrowed reference.
|
| + # Return the dictionary object that implements module's namespace;
|
| + # this object is the same as the __dict__ attribute of the module
|
| + # object. This function never fails. It is recommended extensions
|
| + # use other PyModule_*() and PyObject_*() functions rather than
|
| + # directly manipulate a module's __dict__.
|
| +
|
| + char* PyModule_GetName(object module) except NULL
|
| + # Return module's __name__ value. If the module does not provide
|
| + # one, or if it is not a string, SystemError is raised and NULL is
|
| + # returned.
|
| +
|
| + char* PyModule_GetFilename(object module) except NULL
|
| + # Return the name of the file from which module was loaded using
|
| + # module's __file__ attribute. If this is not defined, or if it is
|
| + # not a string, raise SystemError and return NULL.
|
| +
|
| + int PyModule_AddObject(object module, char *name, object value) except -1
|
| + # Add an object to module as name. This is a convenience function
|
| + # which can be used from the module's initialization
|
| + # function. This steals a reference to value. Return -1 on error,
|
| + # 0 on success.
|
| +
|
| + int PyModule_AddIntant(object module, char *name, long value) except -1
|
| + # Add an integer ant to module as name. This convenience
|
| + # function can be used from the module's initialization
|
| + # function. Return -1 on error, 0 on success.
|
| +
|
| + int PyModule_AddStringant(object module, char *name, char *value) except -1
|
| + # Add a string constant to module as name. This convenience
|
| + # function can be used from the module's initialization
|
| + # function. The string value must be null-terminated. Return -1 on
|
| + # error, 0 on success.
|
|
|