17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ci#if defined(MS_WINDOWS)
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ciPyDoc_STRVAR(_multiprocessing_closesocket__doc__,
87db96d56Sopenharmony_ci"closesocket($module, handle, /)\n"
97db96d56Sopenharmony_ci"--\n"
107db96d56Sopenharmony_ci"\n");
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_ci#define _MULTIPROCESSING_CLOSESOCKET_METHODDEF    \
137db96d56Sopenharmony_ci    {"closesocket", (PyCFunction)_multiprocessing_closesocket, METH_O, _multiprocessing_closesocket__doc__},
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_cistatic PyObject *
167db96d56Sopenharmony_ci_multiprocessing_closesocket_impl(PyObject *module, HANDLE handle);
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_cistatic PyObject *
197db96d56Sopenharmony_ci_multiprocessing_closesocket(PyObject *module, PyObject *arg)
207db96d56Sopenharmony_ci{
217db96d56Sopenharmony_ci    PyObject *return_value = NULL;
227db96d56Sopenharmony_ci    HANDLE handle;
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci    if (!PyArg_Parse(arg, ""F_HANDLE":closesocket", &handle)) {
257db96d56Sopenharmony_ci        goto exit;
267db96d56Sopenharmony_ci    }
277db96d56Sopenharmony_ci    return_value = _multiprocessing_closesocket_impl(module, handle);
287db96d56Sopenharmony_ci
297db96d56Sopenharmony_ciexit:
307db96d56Sopenharmony_ci    return return_value;
317db96d56Sopenharmony_ci}
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */
347db96d56Sopenharmony_ci
357db96d56Sopenharmony_ci#if defined(MS_WINDOWS)
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ciPyDoc_STRVAR(_multiprocessing_recv__doc__,
387db96d56Sopenharmony_ci"recv($module, handle, size, /)\n"
397db96d56Sopenharmony_ci"--\n"
407db96d56Sopenharmony_ci"\n");
417db96d56Sopenharmony_ci
427db96d56Sopenharmony_ci#define _MULTIPROCESSING_RECV_METHODDEF    \
437db96d56Sopenharmony_ci    {"recv", _PyCFunction_CAST(_multiprocessing_recv), METH_FASTCALL, _multiprocessing_recv__doc__},
447db96d56Sopenharmony_ci
457db96d56Sopenharmony_cistatic PyObject *
467db96d56Sopenharmony_ci_multiprocessing_recv_impl(PyObject *module, HANDLE handle, int size);
477db96d56Sopenharmony_ci
487db96d56Sopenharmony_cistatic PyObject *
497db96d56Sopenharmony_ci_multiprocessing_recv(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
507db96d56Sopenharmony_ci{
517db96d56Sopenharmony_ci    PyObject *return_value = NULL;
527db96d56Sopenharmony_ci    HANDLE handle;
537db96d56Sopenharmony_ci    int size;
547db96d56Sopenharmony_ci
557db96d56Sopenharmony_ci    if (!_PyArg_ParseStack(args, nargs, ""F_HANDLE"i:recv",
567db96d56Sopenharmony_ci        &handle, &size)) {
577db96d56Sopenharmony_ci        goto exit;
587db96d56Sopenharmony_ci    }
597db96d56Sopenharmony_ci    return_value = _multiprocessing_recv_impl(module, handle, size);
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_ciexit:
627db96d56Sopenharmony_ci    return return_value;
637db96d56Sopenharmony_ci}
647db96d56Sopenharmony_ci
657db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci#if defined(MS_WINDOWS)
687db96d56Sopenharmony_ci
697db96d56Sopenharmony_ciPyDoc_STRVAR(_multiprocessing_send__doc__,
707db96d56Sopenharmony_ci"send($module, handle, buf, /)\n"
717db96d56Sopenharmony_ci"--\n"
727db96d56Sopenharmony_ci"\n");
737db96d56Sopenharmony_ci
747db96d56Sopenharmony_ci#define _MULTIPROCESSING_SEND_METHODDEF    \
757db96d56Sopenharmony_ci    {"send", _PyCFunction_CAST(_multiprocessing_send), METH_FASTCALL, _multiprocessing_send__doc__},
767db96d56Sopenharmony_ci
777db96d56Sopenharmony_cistatic PyObject *
787db96d56Sopenharmony_ci_multiprocessing_send_impl(PyObject *module, HANDLE handle, Py_buffer *buf);
797db96d56Sopenharmony_ci
807db96d56Sopenharmony_cistatic PyObject *
817db96d56Sopenharmony_ci_multiprocessing_send(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
827db96d56Sopenharmony_ci{
837db96d56Sopenharmony_ci    PyObject *return_value = NULL;
847db96d56Sopenharmony_ci    HANDLE handle;
857db96d56Sopenharmony_ci    Py_buffer buf = {NULL, NULL};
867db96d56Sopenharmony_ci
877db96d56Sopenharmony_ci    if (!_PyArg_ParseStack(args, nargs, ""F_HANDLE"y*:send",
887db96d56Sopenharmony_ci        &handle, &buf)) {
897db96d56Sopenharmony_ci        goto exit;
907db96d56Sopenharmony_ci    }
917db96d56Sopenharmony_ci    return_value = _multiprocessing_send_impl(module, handle, &buf);
927db96d56Sopenharmony_ci
937db96d56Sopenharmony_ciexit:
947db96d56Sopenharmony_ci    /* Cleanup for buf */
957db96d56Sopenharmony_ci    if (buf.obj) {
967db96d56Sopenharmony_ci       PyBuffer_Release(&buf);
977db96d56Sopenharmony_ci    }
987db96d56Sopenharmony_ci
997db96d56Sopenharmony_ci    return return_value;
1007db96d56Sopenharmony_ci}
1017db96d56Sopenharmony_ci
1027db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */
1037db96d56Sopenharmony_ci
1047db96d56Sopenharmony_ciPyDoc_STRVAR(_multiprocessing_sem_unlink__doc__,
1057db96d56Sopenharmony_ci"sem_unlink($module, name, /)\n"
1067db96d56Sopenharmony_ci"--\n"
1077db96d56Sopenharmony_ci"\n");
1087db96d56Sopenharmony_ci
1097db96d56Sopenharmony_ci#define _MULTIPROCESSING_SEM_UNLINK_METHODDEF    \
1107db96d56Sopenharmony_ci    {"sem_unlink", (PyCFunction)_multiprocessing_sem_unlink, METH_O, _multiprocessing_sem_unlink__doc__},
1117db96d56Sopenharmony_ci
1127db96d56Sopenharmony_cistatic PyObject *
1137db96d56Sopenharmony_ci_multiprocessing_sem_unlink_impl(PyObject *module, const char *name);
1147db96d56Sopenharmony_ci
1157db96d56Sopenharmony_cistatic PyObject *
1167db96d56Sopenharmony_ci_multiprocessing_sem_unlink(PyObject *module, PyObject *arg)
1177db96d56Sopenharmony_ci{
1187db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1197db96d56Sopenharmony_ci    const char *name;
1207db96d56Sopenharmony_ci
1217db96d56Sopenharmony_ci    if (!PyUnicode_Check(arg)) {
1227db96d56Sopenharmony_ci        _PyArg_BadArgument("sem_unlink", "argument", "str", arg);
1237db96d56Sopenharmony_ci        goto exit;
1247db96d56Sopenharmony_ci    }
1257db96d56Sopenharmony_ci    Py_ssize_t name_length;
1267db96d56Sopenharmony_ci    name = PyUnicode_AsUTF8AndSize(arg, &name_length);
1277db96d56Sopenharmony_ci    if (name == NULL) {
1287db96d56Sopenharmony_ci        goto exit;
1297db96d56Sopenharmony_ci    }
1307db96d56Sopenharmony_ci    if (strlen(name) != (size_t)name_length) {
1317db96d56Sopenharmony_ci        PyErr_SetString(PyExc_ValueError, "embedded null character");
1327db96d56Sopenharmony_ci        goto exit;
1337db96d56Sopenharmony_ci    }
1347db96d56Sopenharmony_ci    return_value = _multiprocessing_sem_unlink_impl(module, name);
1357db96d56Sopenharmony_ci
1367db96d56Sopenharmony_ciexit:
1377db96d56Sopenharmony_ci    return return_value;
1387db96d56Sopenharmony_ci}
1397db96d56Sopenharmony_ci
1407db96d56Sopenharmony_ci#ifndef _MULTIPROCESSING_CLOSESOCKET_METHODDEF
1417db96d56Sopenharmony_ci    #define _MULTIPROCESSING_CLOSESOCKET_METHODDEF
1427db96d56Sopenharmony_ci#endif /* !defined(_MULTIPROCESSING_CLOSESOCKET_METHODDEF) */
1437db96d56Sopenharmony_ci
1447db96d56Sopenharmony_ci#ifndef _MULTIPROCESSING_RECV_METHODDEF
1457db96d56Sopenharmony_ci    #define _MULTIPROCESSING_RECV_METHODDEF
1467db96d56Sopenharmony_ci#endif /* !defined(_MULTIPROCESSING_RECV_METHODDEF) */
1477db96d56Sopenharmony_ci
1487db96d56Sopenharmony_ci#ifndef _MULTIPROCESSING_SEND_METHODDEF
1497db96d56Sopenharmony_ci    #define _MULTIPROCESSING_SEND_METHODDEF
1507db96d56Sopenharmony_ci#endif /* !defined(_MULTIPROCESSING_SEND_METHODDEF) */
1517db96d56Sopenharmony_ci/*[clinic end generated code: output=d3bbf69de578db7b input=a9049054013a1b77]*/
152