You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

355 lines
9.1 KiB

  1. /*[clinic input]
  2. preserve
  3. [clinic start generated code]*/
  4. PyDoc_STRVAR(_imp_lock_held__doc__,
  5. "lock_held($module, /)\n"
  6. "--\n"
  7. "\n"
  8. "Return True if the import lock is currently held, else False.\n"
  9. "\n"
  10. "On platforms without threads, return False.");
  11. #define _IMP_LOCK_HELD_METHODDEF \
  12. {"lock_held", (PyCFunction)_imp_lock_held, METH_NOARGS, _imp_lock_held__doc__},
  13. static PyObject *
  14. _imp_lock_held_impl(PyModuleDef *module);
  15. static PyObject *
  16. _imp_lock_held(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
  17. {
  18. return _imp_lock_held_impl(module);
  19. }
  20. PyDoc_STRVAR(_imp_acquire_lock__doc__,
  21. "acquire_lock($module, /)\n"
  22. "--\n"
  23. "\n"
  24. "Acquires the interpreter\'s import lock for the current thread.\n"
  25. "\n"
  26. "This lock should be used by import hooks to ensure thread-safety when importing\n"
  27. "modules. On platforms without threads, this function does nothing.");
  28. #define _IMP_ACQUIRE_LOCK_METHODDEF \
  29. {"acquire_lock", (PyCFunction)_imp_acquire_lock, METH_NOARGS, _imp_acquire_lock__doc__},
  30. static PyObject *
  31. _imp_acquire_lock_impl(PyModuleDef *module);
  32. static PyObject *
  33. _imp_acquire_lock(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
  34. {
  35. return _imp_acquire_lock_impl(module);
  36. }
  37. PyDoc_STRVAR(_imp_release_lock__doc__,
  38. "release_lock($module, /)\n"
  39. "--\n"
  40. "\n"
  41. "Release the interpreter\'s import lock.\n"
  42. "\n"
  43. "On platforms without threads, this function does nothing.");
  44. #define _IMP_RELEASE_LOCK_METHODDEF \
  45. {"release_lock", (PyCFunction)_imp_release_lock, METH_NOARGS, _imp_release_lock__doc__},
  46. static PyObject *
  47. _imp_release_lock_impl(PyModuleDef *module);
  48. static PyObject *
  49. _imp_release_lock(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
  50. {
  51. return _imp_release_lock_impl(module);
  52. }
  53. PyDoc_STRVAR(_imp__fix_co_filename__doc__,
  54. "_fix_co_filename($module, code, path, /)\n"
  55. "--\n"
  56. "\n"
  57. "Changes code.co_filename to specify the passed-in file path.\n"
  58. "\n"
  59. " code\n"
  60. " Code object to change.\n"
  61. " path\n"
  62. " File path to use.");
  63. #define _IMP__FIX_CO_FILENAME_METHODDEF \
  64. {"_fix_co_filename", (PyCFunction)_imp__fix_co_filename, METH_VARARGS, _imp__fix_co_filename__doc__},
  65. static PyObject *
  66. _imp__fix_co_filename_impl(PyModuleDef *module, PyCodeObject *code,
  67. PyObject *path);
  68. static PyObject *
  69. _imp__fix_co_filename(PyModuleDef *module, PyObject *args)
  70. {
  71. PyObject *return_value = NULL;
  72. PyCodeObject *code;
  73. PyObject *path;
  74. if (!PyArg_ParseTuple(args, "O!U:_fix_co_filename",
  75. &PyCode_Type, &code, &path))
  76. goto exit;
  77. return_value = _imp__fix_co_filename_impl(module, code, path);
  78. exit:
  79. return return_value;
  80. }
  81. PyDoc_STRVAR(_imp_create_builtin__doc__,
  82. "create_builtin($module, spec, /)\n"
  83. "--\n"
  84. "\n"
  85. "Create an extension module.");
  86. #define _IMP_CREATE_BUILTIN_METHODDEF \
  87. {"create_builtin", (PyCFunction)_imp_create_builtin, METH_O, _imp_create_builtin__doc__},
  88. PyDoc_STRVAR(_imp_extension_suffixes__doc__,
  89. "extension_suffixes($module, /)\n"
  90. "--\n"
  91. "\n"
  92. "Returns the list of file suffixes used to identify extension modules.");
  93. #define _IMP_EXTENSION_SUFFIXES_METHODDEF \
  94. {"extension_suffixes", (PyCFunction)_imp_extension_suffixes, METH_NOARGS, _imp_extension_suffixes__doc__},
  95. static PyObject *
  96. _imp_extension_suffixes_impl(PyModuleDef *module);
  97. static PyObject *
  98. _imp_extension_suffixes(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
  99. {
  100. return _imp_extension_suffixes_impl(module);
  101. }
  102. PyDoc_STRVAR(_imp_init_frozen__doc__,
  103. "init_frozen($module, name, /)\n"
  104. "--\n"
  105. "\n"
  106. "Initializes a frozen module.");
  107. #define _IMP_INIT_FROZEN_METHODDEF \
  108. {"init_frozen", (PyCFunction)_imp_init_frozen, METH_O, _imp_init_frozen__doc__},
  109. static PyObject *
  110. _imp_init_frozen_impl(PyModuleDef *module, PyObject *name);
  111. static PyObject *
  112. _imp_init_frozen(PyModuleDef *module, PyObject *arg)
  113. {
  114. PyObject *return_value = NULL;
  115. PyObject *name;
  116. if (!PyArg_Parse(arg, "U:init_frozen", &name))
  117. goto exit;
  118. return_value = _imp_init_frozen_impl(module, name);
  119. exit:
  120. return return_value;
  121. }
  122. PyDoc_STRVAR(_imp_get_frozen_object__doc__,
  123. "get_frozen_object($module, name, /)\n"
  124. "--\n"
  125. "\n"
  126. "Create a code object for a frozen module.");
  127. #define _IMP_GET_FROZEN_OBJECT_METHODDEF \
  128. {"get_frozen_object", (PyCFunction)_imp_get_frozen_object, METH_O, _imp_get_frozen_object__doc__},
  129. static PyObject *
  130. _imp_get_frozen_object_impl(PyModuleDef *module, PyObject *name);
  131. static PyObject *
  132. _imp_get_frozen_object(PyModuleDef *module, PyObject *arg)
  133. {
  134. PyObject *return_value = NULL;
  135. PyObject *name;
  136. if (!PyArg_Parse(arg, "U:get_frozen_object", &name))
  137. goto exit;
  138. return_value = _imp_get_frozen_object_impl(module, name);
  139. exit:
  140. return return_value;
  141. }
  142. PyDoc_STRVAR(_imp_is_frozen_package__doc__,
  143. "is_frozen_package($module, name, /)\n"
  144. "--\n"
  145. "\n"
  146. "Returns True if the module name is of a frozen package.");
  147. #define _IMP_IS_FROZEN_PACKAGE_METHODDEF \
  148. {"is_frozen_package", (PyCFunction)_imp_is_frozen_package, METH_O, _imp_is_frozen_package__doc__},
  149. static PyObject *
  150. _imp_is_frozen_package_impl(PyModuleDef *module, PyObject *name);
  151. static PyObject *
  152. _imp_is_frozen_package(PyModuleDef *module, PyObject *arg)
  153. {
  154. PyObject *return_value = NULL;
  155. PyObject *name;
  156. if (!PyArg_Parse(arg, "U:is_frozen_package", &name))
  157. goto exit;
  158. return_value = _imp_is_frozen_package_impl(module, name);
  159. exit:
  160. return return_value;
  161. }
  162. PyDoc_STRVAR(_imp_is_builtin__doc__,
  163. "is_builtin($module, name, /)\n"
  164. "--\n"
  165. "\n"
  166. "Returns True if the module name corresponds to a built-in module.");
  167. #define _IMP_IS_BUILTIN_METHODDEF \
  168. {"is_builtin", (PyCFunction)_imp_is_builtin, METH_O, _imp_is_builtin__doc__},
  169. static PyObject *
  170. _imp_is_builtin_impl(PyModuleDef *module, PyObject *name);
  171. static PyObject *
  172. _imp_is_builtin(PyModuleDef *module, PyObject *arg)
  173. {
  174. PyObject *return_value = NULL;
  175. PyObject *name;
  176. if (!PyArg_Parse(arg, "U:is_builtin", &name))
  177. goto exit;
  178. return_value = _imp_is_builtin_impl(module, name);
  179. exit:
  180. return return_value;
  181. }
  182. PyDoc_STRVAR(_imp_is_frozen__doc__,
  183. "is_frozen($module, name, /)\n"
  184. "--\n"
  185. "\n"
  186. "Returns True if the module name corresponds to a frozen module.");
  187. #define _IMP_IS_FROZEN_METHODDEF \
  188. {"is_frozen", (PyCFunction)_imp_is_frozen, METH_O, _imp_is_frozen__doc__},
  189. static PyObject *
  190. _imp_is_frozen_impl(PyModuleDef *module, PyObject *name);
  191. static PyObject *
  192. _imp_is_frozen(PyModuleDef *module, PyObject *arg)
  193. {
  194. PyObject *return_value = NULL;
  195. PyObject *name;
  196. if (!PyArg_Parse(arg, "U:is_frozen", &name))
  197. goto exit;
  198. return_value = _imp_is_frozen_impl(module, name);
  199. exit:
  200. return return_value;
  201. }
  202. #if defined(HAVE_DYNAMIC_LOADING)
  203. PyDoc_STRVAR(_imp_create_dynamic__doc__,
  204. "create_dynamic($module, spec, file=None, /)\n"
  205. "--\n"
  206. "\n"
  207. "Create an extension module.");
  208. #define _IMP_CREATE_DYNAMIC_METHODDEF \
  209. {"create_dynamic", (PyCFunction)_imp_create_dynamic, METH_VARARGS, _imp_create_dynamic__doc__},
  210. static PyObject *
  211. _imp_create_dynamic_impl(PyModuleDef *module, PyObject *spec, PyObject *file);
  212. static PyObject *
  213. _imp_create_dynamic(PyModuleDef *module, PyObject *args)
  214. {
  215. PyObject *return_value = NULL;
  216. PyObject *spec;
  217. PyObject *file = NULL;
  218. if (!PyArg_UnpackTuple(args, "create_dynamic",
  219. 1, 2,
  220. &spec, &file))
  221. goto exit;
  222. return_value = _imp_create_dynamic_impl(module, spec, file);
  223. exit:
  224. return return_value;
  225. }
  226. #endif /* defined(HAVE_DYNAMIC_LOADING) */
  227. #if defined(HAVE_DYNAMIC_LOADING)
  228. PyDoc_STRVAR(_imp_exec_dynamic__doc__,
  229. "exec_dynamic($module, mod, /)\n"
  230. "--\n"
  231. "\n"
  232. "Initialize an extension module.");
  233. #define _IMP_EXEC_DYNAMIC_METHODDEF \
  234. {"exec_dynamic", (PyCFunction)_imp_exec_dynamic, METH_O, _imp_exec_dynamic__doc__},
  235. static int
  236. _imp_exec_dynamic_impl(PyModuleDef *module, PyObject *mod);
  237. static PyObject *
  238. _imp_exec_dynamic(PyModuleDef *module, PyObject *mod)
  239. {
  240. PyObject *return_value = NULL;
  241. int _return_value;
  242. _return_value = _imp_exec_dynamic_impl(module, mod);
  243. if ((_return_value == -1) && PyErr_Occurred())
  244. goto exit;
  245. return_value = PyLong_FromLong((long)_return_value);
  246. exit:
  247. return return_value;
  248. }
  249. #endif /* defined(HAVE_DYNAMIC_LOADING) */
  250. PyDoc_STRVAR(_imp_exec_builtin__doc__,
  251. "exec_builtin($module, mod, /)\n"
  252. "--\n"
  253. "\n"
  254. "Initialize a built-in module.");
  255. #define _IMP_EXEC_BUILTIN_METHODDEF \
  256. {"exec_builtin", (PyCFunction)_imp_exec_builtin, METH_O, _imp_exec_builtin__doc__},
  257. static int
  258. _imp_exec_builtin_impl(PyModuleDef *module, PyObject *mod);
  259. static PyObject *
  260. _imp_exec_builtin(PyModuleDef *module, PyObject *mod)
  261. {
  262. PyObject *return_value = NULL;
  263. int _return_value;
  264. _return_value = _imp_exec_builtin_impl(module, mod);
  265. if ((_return_value == -1) && PyErr_Occurred())
  266. goto exit;
  267. return_value = PyLong_FromLong((long)_return_value);
  268. exit:
  269. return return_value;
  270. }
  271. #ifndef _IMP_CREATE_DYNAMIC_METHODDEF
  272. #define _IMP_CREATE_DYNAMIC_METHODDEF
  273. #endif /* !defined(_IMP_CREATE_DYNAMIC_METHODDEF) */
  274. #ifndef _IMP_EXEC_DYNAMIC_METHODDEF
  275. #define _IMP_EXEC_DYNAMIC_METHODDEF
  276. #endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */
  277. /*[clinic end generated code: output=32324a5e46cdfc4b input=a9049054013a1b77]*/