Source

opycaml / module.idl.in

Full commit
// ------------------------- module object

// PyTypeObject PyModule_Type
// This instance of PyTypeObject represents the Python module type. This is exposed to Python programs as types.ModuleType.

boolean PyModule_Check(PyObject *p);
// Return true if p is a module object, or a subtype of a module object.

boolean PyModule_CheckExact(PyObject *p);
// Return true if p is a module object, but not a subtype of PyModule_Type.

[new] PyModuleObject* PyModule_New([string] const 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.

PyDictObject* PyModule_GetDict(PyModuleObject *module);
// 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__.

[string] char* PyModule_GetName(PyModuleObject *module);
// 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.

[string] char* PyModule_GetFilename(PyModuleObject *module);
// 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.

unit_or_fail PyModule_AddObject(PyModuleObject *module, [string] const char *name, [stolen] PyObject *value);
// 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.

unit_or_fail PyModule_AddIntConstant(PyModuleObject *module, [string] const char *name, long value);
// Add an integer constant to module as name. This convenience function can be used from the module’s initialization function. Return -1 on error, 0 on success.

unit_or_fail PyModule_AddStringConstant(PyModuleObject *module, [string] const char *name, [string] const char *value);
// 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.

// unit_or_fail PyModule_AddIntMacro(PyObject *module, macro);
// Add an int constant to module. The name and the value are taken from macro. For example PyModule_AddConstant(module, AF_INET) adds the int constant AF_INET with the value of AF_INET to module. Return -1 on error, 0 on success.

// int PyModule_AddStringMacro(PyObject *module, macro);
// Add a string constant to module.