xref: /third_party/python/PC/clinic/_msi.c.h (revision 7db96d56)
17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_UuidCreate__doc__,
67db96d56Sopenharmony_ci"UuidCreate($module, /)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n"
97db96d56Sopenharmony_ci"Return the string representation of a new unique identifier.");
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ci#define _MSI_UUIDCREATE_METHODDEF    \
127db96d56Sopenharmony_ci    {"UuidCreate", (PyCFunction)_msi_UuidCreate, METH_NOARGS, _msi_UuidCreate__doc__},
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_cistatic PyObject *
157db96d56Sopenharmony_ci_msi_UuidCreate_impl(PyObject *module);
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_cistatic PyObject *
187db96d56Sopenharmony_ci_msi_UuidCreate(PyObject *module, PyObject *Py_UNUSED(ignored))
197db96d56Sopenharmony_ci{
207db96d56Sopenharmony_ci    return _msi_UuidCreate_impl(module);
217db96d56Sopenharmony_ci}
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_FCICreate__doc__,
247db96d56Sopenharmony_ci"FCICreate($module, cabname, files, /)\n"
257db96d56Sopenharmony_ci"--\n"
267db96d56Sopenharmony_ci"\n"
277db96d56Sopenharmony_ci"Create a new CAB file.\n"
287db96d56Sopenharmony_ci"\n"
297db96d56Sopenharmony_ci"  cabname\n"
307db96d56Sopenharmony_ci"    the name of the CAB file\n"
317db96d56Sopenharmony_ci"  files\n"
327db96d56Sopenharmony_ci"    a list of tuples, each containing the name of the file on disk,\n"
337db96d56Sopenharmony_ci"    and the name of the file inside the CAB file");
347db96d56Sopenharmony_ci
357db96d56Sopenharmony_ci#define _MSI_FCICREATE_METHODDEF    \
367db96d56Sopenharmony_ci    {"FCICreate", _PyCFunction_CAST(_msi_FCICreate), METH_FASTCALL, _msi_FCICreate__doc__},
377db96d56Sopenharmony_ci
387db96d56Sopenharmony_cistatic PyObject *
397db96d56Sopenharmony_ci_msi_FCICreate_impl(PyObject *module, const char *cabname, PyObject *files);
407db96d56Sopenharmony_ci
417db96d56Sopenharmony_cistatic PyObject *
427db96d56Sopenharmony_ci_msi_FCICreate(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
437db96d56Sopenharmony_ci{
447db96d56Sopenharmony_ci    PyObject *return_value = NULL;
457db96d56Sopenharmony_ci    const char *cabname;
467db96d56Sopenharmony_ci    PyObject *files;
477db96d56Sopenharmony_ci
487db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("FCICreate", nargs, 2, 2)) {
497db96d56Sopenharmony_ci        goto exit;
507db96d56Sopenharmony_ci    }
517db96d56Sopenharmony_ci    if (!PyUnicode_Check(args[0])) {
527db96d56Sopenharmony_ci        _PyArg_BadArgument("FCICreate", "argument 1", "str", args[0]);
537db96d56Sopenharmony_ci        goto exit;
547db96d56Sopenharmony_ci    }
557db96d56Sopenharmony_ci    Py_ssize_t cabname_length;
567db96d56Sopenharmony_ci    cabname = PyUnicode_AsUTF8AndSize(args[0], &cabname_length);
577db96d56Sopenharmony_ci    if (cabname == NULL) {
587db96d56Sopenharmony_ci        goto exit;
597db96d56Sopenharmony_ci    }
607db96d56Sopenharmony_ci    if (strlen(cabname) != (size_t)cabname_length) {
617db96d56Sopenharmony_ci        PyErr_SetString(PyExc_ValueError, "embedded null character");
627db96d56Sopenharmony_ci        goto exit;
637db96d56Sopenharmony_ci    }
647db96d56Sopenharmony_ci    files = args[1];
657db96d56Sopenharmony_ci    return_value = _msi_FCICreate_impl(module, cabname, files);
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ciexit:
687db96d56Sopenharmony_ci    return return_value;
697db96d56Sopenharmony_ci}
707db96d56Sopenharmony_ci
717db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Database_Close__doc__,
727db96d56Sopenharmony_ci"Close($self, /)\n"
737db96d56Sopenharmony_ci"--\n"
747db96d56Sopenharmony_ci"\n"
757db96d56Sopenharmony_ci"Close the database object.");
767db96d56Sopenharmony_ci
777db96d56Sopenharmony_ci#define _MSI_DATABASE_CLOSE_METHODDEF    \
787db96d56Sopenharmony_ci    {"Close", (PyCFunction)_msi_Database_Close, METH_NOARGS, _msi_Database_Close__doc__},
797db96d56Sopenharmony_ci
807db96d56Sopenharmony_cistatic PyObject *
817db96d56Sopenharmony_ci_msi_Database_Close_impl(msiobj *self);
827db96d56Sopenharmony_ci
837db96d56Sopenharmony_cistatic PyObject *
847db96d56Sopenharmony_ci_msi_Database_Close(msiobj *self, PyObject *Py_UNUSED(ignored))
857db96d56Sopenharmony_ci{
867db96d56Sopenharmony_ci    return _msi_Database_Close_impl(self);
877db96d56Sopenharmony_ci}
887db96d56Sopenharmony_ci
897db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_GetFieldCount__doc__,
907db96d56Sopenharmony_ci"GetFieldCount($self, /)\n"
917db96d56Sopenharmony_ci"--\n"
927db96d56Sopenharmony_ci"\n"
937db96d56Sopenharmony_ci"Return the number of fields of the record.");
947db96d56Sopenharmony_ci
957db96d56Sopenharmony_ci#define _MSI_RECORD_GETFIELDCOUNT_METHODDEF    \
967db96d56Sopenharmony_ci    {"GetFieldCount", (PyCFunction)_msi_Record_GetFieldCount, METH_NOARGS, _msi_Record_GetFieldCount__doc__},
977db96d56Sopenharmony_ci
987db96d56Sopenharmony_cistatic PyObject *
997db96d56Sopenharmony_ci_msi_Record_GetFieldCount_impl(msiobj *self);
1007db96d56Sopenharmony_ci
1017db96d56Sopenharmony_cistatic PyObject *
1027db96d56Sopenharmony_ci_msi_Record_GetFieldCount(msiobj *self, PyObject *Py_UNUSED(ignored))
1037db96d56Sopenharmony_ci{
1047db96d56Sopenharmony_ci    return _msi_Record_GetFieldCount_impl(self);
1057db96d56Sopenharmony_ci}
1067db96d56Sopenharmony_ci
1077db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_GetInteger__doc__,
1087db96d56Sopenharmony_ci"GetInteger($self, field, /)\n"
1097db96d56Sopenharmony_ci"--\n"
1107db96d56Sopenharmony_ci"\n"
1117db96d56Sopenharmony_ci"Return the value of field as an integer where possible.");
1127db96d56Sopenharmony_ci
1137db96d56Sopenharmony_ci#define _MSI_RECORD_GETINTEGER_METHODDEF    \
1147db96d56Sopenharmony_ci    {"GetInteger", (PyCFunction)_msi_Record_GetInteger, METH_O, _msi_Record_GetInteger__doc__},
1157db96d56Sopenharmony_ci
1167db96d56Sopenharmony_cistatic PyObject *
1177db96d56Sopenharmony_ci_msi_Record_GetInteger_impl(msiobj *self, unsigned int field);
1187db96d56Sopenharmony_ci
1197db96d56Sopenharmony_cistatic PyObject *
1207db96d56Sopenharmony_ci_msi_Record_GetInteger(msiobj *self, PyObject *arg)
1217db96d56Sopenharmony_ci{
1227db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1237db96d56Sopenharmony_ci    unsigned int field;
1247db96d56Sopenharmony_ci
1257db96d56Sopenharmony_ci    field = (unsigned int)PyLong_AsUnsignedLongMask(arg);
1267db96d56Sopenharmony_ci    if (field == (unsigned int)-1 && PyErr_Occurred()) {
1277db96d56Sopenharmony_ci        goto exit;
1287db96d56Sopenharmony_ci    }
1297db96d56Sopenharmony_ci    return_value = _msi_Record_GetInteger_impl(self, field);
1307db96d56Sopenharmony_ci
1317db96d56Sopenharmony_ciexit:
1327db96d56Sopenharmony_ci    return return_value;
1337db96d56Sopenharmony_ci}
1347db96d56Sopenharmony_ci
1357db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_GetString__doc__,
1367db96d56Sopenharmony_ci"GetString($self, field, /)\n"
1377db96d56Sopenharmony_ci"--\n"
1387db96d56Sopenharmony_ci"\n"
1397db96d56Sopenharmony_ci"Return the value of field as a string where possible.");
1407db96d56Sopenharmony_ci
1417db96d56Sopenharmony_ci#define _MSI_RECORD_GETSTRING_METHODDEF    \
1427db96d56Sopenharmony_ci    {"GetString", (PyCFunction)_msi_Record_GetString, METH_O, _msi_Record_GetString__doc__},
1437db96d56Sopenharmony_ci
1447db96d56Sopenharmony_cistatic PyObject *
1457db96d56Sopenharmony_ci_msi_Record_GetString_impl(msiobj *self, unsigned int field);
1467db96d56Sopenharmony_ci
1477db96d56Sopenharmony_cistatic PyObject *
1487db96d56Sopenharmony_ci_msi_Record_GetString(msiobj *self, PyObject *arg)
1497db96d56Sopenharmony_ci{
1507db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1517db96d56Sopenharmony_ci    unsigned int field;
1527db96d56Sopenharmony_ci
1537db96d56Sopenharmony_ci    field = (unsigned int)PyLong_AsUnsignedLongMask(arg);
1547db96d56Sopenharmony_ci    if (field == (unsigned int)-1 && PyErr_Occurred()) {
1557db96d56Sopenharmony_ci        goto exit;
1567db96d56Sopenharmony_ci    }
1577db96d56Sopenharmony_ci    return_value = _msi_Record_GetString_impl(self, field);
1587db96d56Sopenharmony_ci
1597db96d56Sopenharmony_ciexit:
1607db96d56Sopenharmony_ci    return return_value;
1617db96d56Sopenharmony_ci}
1627db96d56Sopenharmony_ci
1637db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_ClearData__doc__,
1647db96d56Sopenharmony_ci"ClearData($self, /)\n"
1657db96d56Sopenharmony_ci"--\n"
1667db96d56Sopenharmony_ci"\n"
1677db96d56Sopenharmony_ci"Set all fields of the record to 0.");
1687db96d56Sopenharmony_ci
1697db96d56Sopenharmony_ci#define _MSI_RECORD_CLEARDATA_METHODDEF    \
1707db96d56Sopenharmony_ci    {"ClearData", (PyCFunction)_msi_Record_ClearData, METH_NOARGS, _msi_Record_ClearData__doc__},
1717db96d56Sopenharmony_ci
1727db96d56Sopenharmony_cistatic PyObject *
1737db96d56Sopenharmony_ci_msi_Record_ClearData_impl(msiobj *self);
1747db96d56Sopenharmony_ci
1757db96d56Sopenharmony_cistatic PyObject *
1767db96d56Sopenharmony_ci_msi_Record_ClearData(msiobj *self, PyObject *Py_UNUSED(ignored))
1777db96d56Sopenharmony_ci{
1787db96d56Sopenharmony_ci    return _msi_Record_ClearData_impl(self);
1797db96d56Sopenharmony_ci}
1807db96d56Sopenharmony_ci
1817db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_SetString__doc__,
1827db96d56Sopenharmony_ci"SetString($self, field, value, /)\n"
1837db96d56Sopenharmony_ci"--\n"
1847db96d56Sopenharmony_ci"\n"
1857db96d56Sopenharmony_ci"Set field to a string value.");
1867db96d56Sopenharmony_ci
1877db96d56Sopenharmony_ci#define _MSI_RECORD_SETSTRING_METHODDEF    \
1887db96d56Sopenharmony_ci    {"SetString", _PyCFunction_CAST(_msi_Record_SetString), METH_FASTCALL, _msi_Record_SetString__doc__},
1897db96d56Sopenharmony_ci
1907db96d56Sopenharmony_cistatic PyObject *
1917db96d56Sopenharmony_ci_msi_Record_SetString_impl(msiobj *self, int field, const Py_UNICODE *value);
1927db96d56Sopenharmony_ci
1937db96d56Sopenharmony_cistatic PyObject *
1947db96d56Sopenharmony_ci_msi_Record_SetString(msiobj *self, PyObject *const *args, Py_ssize_t nargs)
1957db96d56Sopenharmony_ci{
1967db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1977db96d56Sopenharmony_ci    int field;
1987db96d56Sopenharmony_ci    const Py_UNICODE *value = NULL;
1997db96d56Sopenharmony_ci
2007db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("SetString", nargs, 2, 2)) {
2017db96d56Sopenharmony_ci        goto exit;
2027db96d56Sopenharmony_ci    }
2037db96d56Sopenharmony_ci    field = _PyLong_AsInt(args[0]);
2047db96d56Sopenharmony_ci    if (field == -1 && PyErr_Occurred()) {
2057db96d56Sopenharmony_ci        goto exit;
2067db96d56Sopenharmony_ci    }
2077db96d56Sopenharmony_ci    if (!PyUnicode_Check(args[1])) {
2087db96d56Sopenharmony_ci        _PyArg_BadArgument("SetString", "argument 2", "str", args[1]);
2097db96d56Sopenharmony_ci        goto exit;
2107db96d56Sopenharmony_ci    }
2117db96d56Sopenharmony_ci    #if USE_UNICODE_WCHAR_CACHE
2127db96d56Sopenharmony_ci    value = _PyUnicode_AsUnicode(args[1]);
2137db96d56Sopenharmony_ci    #else /* USE_UNICODE_WCHAR_CACHE */
2147db96d56Sopenharmony_ci    value = PyUnicode_AsWideCharString(args[1], NULL);
2157db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
2167db96d56Sopenharmony_ci    if (value == NULL) {
2177db96d56Sopenharmony_ci        goto exit;
2187db96d56Sopenharmony_ci    }
2197db96d56Sopenharmony_ci    return_value = _msi_Record_SetString_impl(self, field, value);
2207db96d56Sopenharmony_ci
2217db96d56Sopenharmony_ciexit:
2227db96d56Sopenharmony_ci    /* Cleanup for value */
2237db96d56Sopenharmony_ci    #if !USE_UNICODE_WCHAR_CACHE
2247db96d56Sopenharmony_ci    PyMem_Free((void *)value);
2257db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
2267db96d56Sopenharmony_ci
2277db96d56Sopenharmony_ci    return return_value;
2287db96d56Sopenharmony_ci}
2297db96d56Sopenharmony_ci
2307db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_SetStream__doc__,
2317db96d56Sopenharmony_ci"SetStream($self, field, value, /)\n"
2327db96d56Sopenharmony_ci"--\n"
2337db96d56Sopenharmony_ci"\n"
2347db96d56Sopenharmony_ci"Set field to the contents of the file named value.");
2357db96d56Sopenharmony_ci
2367db96d56Sopenharmony_ci#define _MSI_RECORD_SETSTREAM_METHODDEF    \
2377db96d56Sopenharmony_ci    {"SetStream", _PyCFunction_CAST(_msi_Record_SetStream), METH_FASTCALL, _msi_Record_SetStream__doc__},
2387db96d56Sopenharmony_ci
2397db96d56Sopenharmony_cistatic PyObject *
2407db96d56Sopenharmony_ci_msi_Record_SetStream_impl(msiobj *self, int field, const Py_UNICODE *value);
2417db96d56Sopenharmony_ci
2427db96d56Sopenharmony_cistatic PyObject *
2437db96d56Sopenharmony_ci_msi_Record_SetStream(msiobj *self, PyObject *const *args, Py_ssize_t nargs)
2447db96d56Sopenharmony_ci{
2457db96d56Sopenharmony_ci    PyObject *return_value = NULL;
2467db96d56Sopenharmony_ci    int field;
2477db96d56Sopenharmony_ci    const Py_UNICODE *value = NULL;
2487db96d56Sopenharmony_ci
2497db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("SetStream", nargs, 2, 2)) {
2507db96d56Sopenharmony_ci        goto exit;
2517db96d56Sopenharmony_ci    }
2527db96d56Sopenharmony_ci    field = _PyLong_AsInt(args[0]);
2537db96d56Sopenharmony_ci    if (field == -1 && PyErr_Occurred()) {
2547db96d56Sopenharmony_ci        goto exit;
2557db96d56Sopenharmony_ci    }
2567db96d56Sopenharmony_ci    if (!PyUnicode_Check(args[1])) {
2577db96d56Sopenharmony_ci        _PyArg_BadArgument("SetStream", "argument 2", "str", args[1]);
2587db96d56Sopenharmony_ci        goto exit;
2597db96d56Sopenharmony_ci    }
2607db96d56Sopenharmony_ci    #if USE_UNICODE_WCHAR_CACHE
2617db96d56Sopenharmony_ci    value = _PyUnicode_AsUnicode(args[1]);
2627db96d56Sopenharmony_ci    #else /* USE_UNICODE_WCHAR_CACHE */
2637db96d56Sopenharmony_ci    value = PyUnicode_AsWideCharString(args[1], NULL);
2647db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
2657db96d56Sopenharmony_ci    if (value == NULL) {
2667db96d56Sopenharmony_ci        goto exit;
2677db96d56Sopenharmony_ci    }
2687db96d56Sopenharmony_ci    return_value = _msi_Record_SetStream_impl(self, field, value);
2697db96d56Sopenharmony_ci
2707db96d56Sopenharmony_ciexit:
2717db96d56Sopenharmony_ci    /* Cleanup for value */
2727db96d56Sopenharmony_ci    #if !USE_UNICODE_WCHAR_CACHE
2737db96d56Sopenharmony_ci    PyMem_Free((void *)value);
2747db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
2757db96d56Sopenharmony_ci
2767db96d56Sopenharmony_ci    return return_value;
2777db96d56Sopenharmony_ci}
2787db96d56Sopenharmony_ci
2797db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Record_SetInteger__doc__,
2807db96d56Sopenharmony_ci"SetInteger($self, field, value, /)\n"
2817db96d56Sopenharmony_ci"--\n"
2827db96d56Sopenharmony_ci"\n"
2837db96d56Sopenharmony_ci"Set field to an integer value.");
2847db96d56Sopenharmony_ci
2857db96d56Sopenharmony_ci#define _MSI_RECORD_SETINTEGER_METHODDEF    \
2867db96d56Sopenharmony_ci    {"SetInteger", _PyCFunction_CAST(_msi_Record_SetInteger), METH_FASTCALL, _msi_Record_SetInteger__doc__},
2877db96d56Sopenharmony_ci
2887db96d56Sopenharmony_cistatic PyObject *
2897db96d56Sopenharmony_ci_msi_Record_SetInteger_impl(msiobj *self, int field, int value);
2907db96d56Sopenharmony_ci
2917db96d56Sopenharmony_cistatic PyObject *
2927db96d56Sopenharmony_ci_msi_Record_SetInteger(msiobj *self, PyObject *const *args, Py_ssize_t nargs)
2937db96d56Sopenharmony_ci{
2947db96d56Sopenharmony_ci    PyObject *return_value = NULL;
2957db96d56Sopenharmony_ci    int field;
2967db96d56Sopenharmony_ci    int value;
2977db96d56Sopenharmony_ci
2987db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("SetInteger", nargs, 2, 2)) {
2997db96d56Sopenharmony_ci        goto exit;
3007db96d56Sopenharmony_ci    }
3017db96d56Sopenharmony_ci    field = _PyLong_AsInt(args[0]);
3027db96d56Sopenharmony_ci    if (field == -1 && PyErr_Occurred()) {
3037db96d56Sopenharmony_ci        goto exit;
3047db96d56Sopenharmony_ci    }
3057db96d56Sopenharmony_ci    value = _PyLong_AsInt(args[1]);
3067db96d56Sopenharmony_ci    if (value == -1 && PyErr_Occurred()) {
3077db96d56Sopenharmony_ci        goto exit;
3087db96d56Sopenharmony_ci    }
3097db96d56Sopenharmony_ci    return_value = _msi_Record_SetInteger_impl(self, field, value);
3107db96d56Sopenharmony_ci
3117db96d56Sopenharmony_ciexit:
3127db96d56Sopenharmony_ci    return return_value;
3137db96d56Sopenharmony_ci}
3147db96d56Sopenharmony_ci
3157db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_SummaryInformation_GetProperty__doc__,
3167db96d56Sopenharmony_ci"GetProperty($self, field, /)\n"
3177db96d56Sopenharmony_ci"--\n"
3187db96d56Sopenharmony_ci"\n"
3197db96d56Sopenharmony_ci"Return a property of the summary.\n"
3207db96d56Sopenharmony_ci"\n"
3217db96d56Sopenharmony_ci"  field\n"
3227db96d56Sopenharmony_ci"    the name of the property, one of the PID_* constants");
3237db96d56Sopenharmony_ci
3247db96d56Sopenharmony_ci#define _MSI_SUMMARYINFORMATION_GETPROPERTY_METHODDEF    \
3257db96d56Sopenharmony_ci    {"GetProperty", (PyCFunction)_msi_SummaryInformation_GetProperty, METH_O, _msi_SummaryInformation_GetProperty__doc__},
3267db96d56Sopenharmony_ci
3277db96d56Sopenharmony_cistatic PyObject *
3287db96d56Sopenharmony_ci_msi_SummaryInformation_GetProperty_impl(msiobj *self, int field);
3297db96d56Sopenharmony_ci
3307db96d56Sopenharmony_cistatic PyObject *
3317db96d56Sopenharmony_ci_msi_SummaryInformation_GetProperty(msiobj *self, PyObject *arg)
3327db96d56Sopenharmony_ci{
3337db96d56Sopenharmony_ci    PyObject *return_value = NULL;
3347db96d56Sopenharmony_ci    int field;
3357db96d56Sopenharmony_ci
3367db96d56Sopenharmony_ci    field = _PyLong_AsInt(arg);
3377db96d56Sopenharmony_ci    if (field == -1 && PyErr_Occurred()) {
3387db96d56Sopenharmony_ci        goto exit;
3397db96d56Sopenharmony_ci    }
3407db96d56Sopenharmony_ci    return_value = _msi_SummaryInformation_GetProperty_impl(self, field);
3417db96d56Sopenharmony_ci
3427db96d56Sopenharmony_ciexit:
3437db96d56Sopenharmony_ci    return return_value;
3447db96d56Sopenharmony_ci}
3457db96d56Sopenharmony_ci
3467db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_SummaryInformation_GetPropertyCount__doc__,
3477db96d56Sopenharmony_ci"GetPropertyCount($self, /)\n"
3487db96d56Sopenharmony_ci"--\n"
3497db96d56Sopenharmony_ci"\n"
3507db96d56Sopenharmony_ci"Return the number of summary properties.");
3517db96d56Sopenharmony_ci
3527db96d56Sopenharmony_ci#define _MSI_SUMMARYINFORMATION_GETPROPERTYCOUNT_METHODDEF    \
3537db96d56Sopenharmony_ci    {"GetPropertyCount", (PyCFunction)_msi_SummaryInformation_GetPropertyCount, METH_NOARGS, _msi_SummaryInformation_GetPropertyCount__doc__},
3547db96d56Sopenharmony_ci
3557db96d56Sopenharmony_cistatic PyObject *
3567db96d56Sopenharmony_ci_msi_SummaryInformation_GetPropertyCount_impl(msiobj *self);
3577db96d56Sopenharmony_ci
3587db96d56Sopenharmony_cistatic PyObject *
3597db96d56Sopenharmony_ci_msi_SummaryInformation_GetPropertyCount(msiobj *self, PyObject *Py_UNUSED(ignored))
3607db96d56Sopenharmony_ci{
3617db96d56Sopenharmony_ci    return _msi_SummaryInformation_GetPropertyCount_impl(self);
3627db96d56Sopenharmony_ci}
3637db96d56Sopenharmony_ci
3647db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_SummaryInformation_SetProperty__doc__,
3657db96d56Sopenharmony_ci"SetProperty($self, field, value, /)\n"
3667db96d56Sopenharmony_ci"--\n"
3677db96d56Sopenharmony_ci"\n"
3687db96d56Sopenharmony_ci"Set a property.\n"
3697db96d56Sopenharmony_ci"\n"
3707db96d56Sopenharmony_ci"  field\n"
3717db96d56Sopenharmony_ci"    the name of the property, one of the PID_* constants\n"
3727db96d56Sopenharmony_ci"  value\n"
3737db96d56Sopenharmony_ci"    the new value of the property (integer or string)");
3747db96d56Sopenharmony_ci
3757db96d56Sopenharmony_ci#define _MSI_SUMMARYINFORMATION_SETPROPERTY_METHODDEF    \
3767db96d56Sopenharmony_ci    {"SetProperty", _PyCFunction_CAST(_msi_SummaryInformation_SetProperty), METH_FASTCALL, _msi_SummaryInformation_SetProperty__doc__},
3777db96d56Sopenharmony_ci
3787db96d56Sopenharmony_cistatic PyObject *
3797db96d56Sopenharmony_ci_msi_SummaryInformation_SetProperty_impl(msiobj *self, int field,
3807db96d56Sopenharmony_ci                                         PyObject *data);
3817db96d56Sopenharmony_ci
3827db96d56Sopenharmony_cistatic PyObject *
3837db96d56Sopenharmony_ci_msi_SummaryInformation_SetProperty(msiobj *self, PyObject *const *args, Py_ssize_t nargs)
3847db96d56Sopenharmony_ci{
3857db96d56Sopenharmony_ci    PyObject *return_value = NULL;
3867db96d56Sopenharmony_ci    int field;
3877db96d56Sopenharmony_ci    PyObject *data;
3887db96d56Sopenharmony_ci
3897db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("SetProperty", nargs, 2, 2)) {
3907db96d56Sopenharmony_ci        goto exit;
3917db96d56Sopenharmony_ci    }
3927db96d56Sopenharmony_ci    field = _PyLong_AsInt(args[0]);
3937db96d56Sopenharmony_ci    if (field == -1 && PyErr_Occurred()) {
3947db96d56Sopenharmony_ci        goto exit;
3957db96d56Sopenharmony_ci    }
3967db96d56Sopenharmony_ci    data = args[1];
3977db96d56Sopenharmony_ci    return_value = _msi_SummaryInformation_SetProperty_impl(self, field, data);
3987db96d56Sopenharmony_ci
3997db96d56Sopenharmony_ciexit:
4007db96d56Sopenharmony_ci    return return_value;
4017db96d56Sopenharmony_ci}
4027db96d56Sopenharmony_ci
4037db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_SummaryInformation_Persist__doc__,
4047db96d56Sopenharmony_ci"Persist($self, /)\n"
4057db96d56Sopenharmony_ci"--\n"
4067db96d56Sopenharmony_ci"\n"
4077db96d56Sopenharmony_ci"Write the modified properties to the summary information stream.");
4087db96d56Sopenharmony_ci
4097db96d56Sopenharmony_ci#define _MSI_SUMMARYINFORMATION_PERSIST_METHODDEF    \
4107db96d56Sopenharmony_ci    {"Persist", (PyCFunction)_msi_SummaryInformation_Persist, METH_NOARGS, _msi_SummaryInformation_Persist__doc__},
4117db96d56Sopenharmony_ci
4127db96d56Sopenharmony_cistatic PyObject *
4137db96d56Sopenharmony_ci_msi_SummaryInformation_Persist_impl(msiobj *self);
4147db96d56Sopenharmony_ci
4157db96d56Sopenharmony_cistatic PyObject *
4167db96d56Sopenharmony_ci_msi_SummaryInformation_Persist(msiobj *self, PyObject *Py_UNUSED(ignored))
4177db96d56Sopenharmony_ci{
4187db96d56Sopenharmony_ci    return _msi_SummaryInformation_Persist_impl(self);
4197db96d56Sopenharmony_ci}
4207db96d56Sopenharmony_ci
4217db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_View_Execute__doc__,
4227db96d56Sopenharmony_ci"Execute($self, params, /)\n"
4237db96d56Sopenharmony_ci"--\n"
4247db96d56Sopenharmony_ci"\n"
4257db96d56Sopenharmony_ci"Execute the SQL query of the view.\n"
4267db96d56Sopenharmony_ci"\n"
4277db96d56Sopenharmony_ci"  params\n"
4287db96d56Sopenharmony_ci"    a record describing actual values of the parameter tokens\n"
4297db96d56Sopenharmony_ci"    in the query or None");
4307db96d56Sopenharmony_ci
4317db96d56Sopenharmony_ci#define _MSI_VIEW_EXECUTE_METHODDEF    \
4327db96d56Sopenharmony_ci    {"Execute", (PyCFunction)_msi_View_Execute, METH_O, _msi_View_Execute__doc__},
4337db96d56Sopenharmony_ci
4347db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_View_Fetch__doc__,
4357db96d56Sopenharmony_ci"Fetch($self, /)\n"
4367db96d56Sopenharmony_ci"--\n"
4377db96d56Sopenharmony_ci"\n"
4387db96d56Sopenharmony_ci"Return a result record of the query.");
4397db96d56Sopenharmony_ci
4407db96d56Sopenharmony_ci#define _MSI_VIEW_FETCH_METHODDEF    \
4417db96d56Sopenharmony_ci    {"Fetch", (PyCFunction)_msi_View_Fetch, METH_NOARGS, _msi_View_Fetch__doc__},
4427db96d56Sopenharmony_ci
4437db96d56Sopenharmony_cistatic PyObject *
4447db96d56Sopenharmony_ci_msi_View_Fetch_impl(msiobj *self);
4457db96d56Sopenharmony_ci
4467db96d56Sopenharmony_cistatic PyObject *
4477db96d56Sopenharmony_ci_msi_View_Fetch(msiobj *self, PyObject *Py_UNUSED(ignored))
4487db96d56Sopenharmony_ci{
4497db96d56Sopenharmony_ci    return _msi_View_Fetch_impl(self);
4507db96d56Sopenharmony_ci}
4517db96d56Sopenharmony_ci
4527db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_View_GetColumnInfo__doc__,
4537db96d56Sopenharmony_ci"GetColumnInfo($self, kind, /)\n"
4547db96d56Sopenharmony_ci"--\n"
4557db96d56Sopenharmony_ci"\n"
4567db96d56Sopenharmony_ci"Return a record describing the columns of the view.\n"
4577db96d56Sopenharmony_ci"\n"
4587db96d56Sopenharmony_ci"  kind\n"
4597db96d56Sopenharmony_ci"    MSICOLINFO_NAMES or MSICOLINFO_TYPES");
4607db96d56Sopenharmony_ci
4617db96d56Sopenharmony_ci#define _MSI_VIEW_GETCOLUMNINFO_METHODDEF    \
4627db96d56Sopenharmony_ci    {"GetColumnInfo", (PyCFunction)_msi_View_GetColumnInfo, METH_O, _msi_View_GetColumnInfo__doc__},
4637db96d56Sopenharmony_ci
4647db96d56Sopenharmony_cistatic PyObject *
4657db96d56Sopenharmony_ci_msi_View_GetColumnInfo_impl(msiobj *self, int kind);
4667db96d56Sopenharmony_ci
4677db96d56Sopenharmony_cistatic PyObject *
4687db96d56Sopenharmony_ci_msi_View_GetColumnInfo(msiobj *self, PyObject *arg)
4697db96d56Sopenharmony_ci{
4707db96d56Sopenharmony_ci    PyObject *return_value = NULL;
4717db96d56Sopenharmony_ci    int kind;
4727db96d56Sopenharmony_ci
4737db96d56Sopenharmony_ci    kind = _PyLong_AsInt(arg);
4747db96d56Sopenharmony_ci    if (kind == -1 && PyErr_Occurred()) {
4757db96d56Sopenharmony_ci        goto exit;
4767db96d56Sopenharmony_ci    }
4777db96d56Sopenharmony_ci    return_value = _msi_View_GetColumnInfo_impl(self, kind);
4787db96d56Sopenharmony_ci
4797db96d56Sopenharmony_ciexit:
4807db96d56Sopenharmony_ci    return return_value;
4817db96d56Sopenharmony_ci}
4827db96d56Sopenharmony_ci
4837db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_View_Modify__doc__,
4847db96d56Sopenharmony_ci"Modify($self, kind, data, /)\n"
4857db96d56Sopenharmony_ci"--\n"
4867db96d56Sopenharmony_ci"\n"
4877db96d56Sopenharmony_ci"Modify the view.\n"
4887db96d56Sopenharmony_ci"\n"
4897db96d56Sopenharmony_ci"  kind\n"
4907db96d56Sopenharmony_ci"    one of the MSIMODIFY_* constants\n"
4917db96d56Sopenharmony_ci"  data\n"
4927db96d56Sopenharmony_ci"    a record describing the new data");
4937db96d56Sopenharmony_ci
4947db96d56Sopenharmony_ci#define _MSI_VIEW_MODIFY_METHODDEF    \
4957db96d56Sopenharmony_ci    {"Modify", _PyCFunction_CAST(_msi_View_Modify), METH_FASTCALL, _msi_View_Modify__doc__},
4967db96d56Sopenharmony_ci
4977db96d56Sopenharmony_cistatic PyObject *
4987db96d56Sopenharmony_ci_msi_View_Modify_impl(msiobj *self, int kind, PyObject *data);
4997db96d56Sopenharmony_ci
5007db96d56Sopenharmony_cistatic PyObject *
5017db96d56Sopenharmony_ci_msi_View_Modify(msiobj *self, PyObject *const *args, Py_ssize_t nargs)
5027db96d56Sopenharmony_ci{
5037db96d56Sopenharmony_ci    PyObject *return_value = NULL;
5047db96d56Sopenharmony_ci    int kind;
5057db96d56Sopenharmony_ci    PyObject *data;
5067db96d56Sopenharmony_ci
5077db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("Modify", nargs, 2, 2)) {
5087db96d56Sopenharmony_ci        goto exit;
5097db96d56Sopenharmony_ci    }
5107db96d56Sopenharmony_ci    kind = _PyLong_AsInt(args[0]);
5117db96d56Sopenharmony_ci    if (kind == -1 && PyErr_Occurred()) {
5127db96d56Sopenharmony_ci        goto exit;
5137db96d56Sopenharmony_ci    }
5147db96d56Sopenharmony_ci    data = args[1];
5157db96d56Sopenharmony_ci    return_value = _msi_View_Modify_impl(self, kind, data);
5167db96d56Sopenharmony_ci
5177db96d56Sopenharmony_ciexit:
5187db96d56Sopenharmony_ci    return return_value;
5197db96d56Sopenharmony_ci}
5207db96d56Sopenharmony_ci
5217db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_View_Close__doc__,
5227db96d56Sopenharmony_ci"Close($self, /)\n"
5237db96d56Sopenharmony_ci"--\n"
5247db96d56Sopenharmony_ci"\n"
5257db96d56Sopenharmony_ci"Close the view.");
5267db96d56Sopenharmony_ci
5277db96d56Sopenharmony_ci#define _MSI_VIEW_CLOSE_METHODDEF    \
5287db96d56Sopenharmony_ci    {"Close", (PyCFunction)_msi_View_Close, METH_NOARGS, _msi_View_Close__doc__},
5297db96d56Sopenharmony_ci
5307db96d56Sopenharmony_cistatic PyObject *
5317db96d56Sopenharmony_ci_msi_View_Close_impl(msiobj *self);
5327db96d56Sopenharmony_ci
5337db96d56Sopenharmony_cistatic PyObject *
5347db96d56Sopenharmony_ci_msi_View_Close(msiobj *self, PyObject *Py_UNUSED(ignored))
5357db96d56Sopenharmony_ci{
5367db96d56Sopenharmony_ci    return _msi_View_Close_impl(self);
5377db96d56Sopenharmony_ci}
5387db96d56Sopenharmony_ci
5397db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Database_OpenView__doc__,
5407db96d56Sopenharmony_ci"OpenView($self, sql, /)\n"
5417db96d56Sopenharmony_ci"--\n"
5427db96d56Sopenharmony_ci"\n"
5437db96d56Sopenharmony_ci"Return a view object.\n"
5447db96d56Sopenharmony_ci"\n"
5457db96d56Sopenharmony_ci"  sql\n"
5467db96d56Sopenharmony_ci"    the SQL statement to execute");
5477db96d56Sopenharmony_ci
5487db96d56Sopenharmony_ci#define _MSI_DATABASE_OPENVIEW_METHODDEF    \
5497db96d56Sopenharmony_ci    {"OpenView", (PyCFunction)_msi_Database_OpenView, METH_O, _msi_Database_OpenView__doc__},
5507db96d56Sopenharmony_ci
5517db96d56Sopenharmony_cistatic PyObject *
5527db96d56Sopenharmony_ci_msi_Database_OpenView_impl(msiobj *self, const Py_UNICODE *sql);
5537db96d56Sopenharmony_ci
5547db96d56Sopenharmony_cistatic PyObject *
5557db96d56Sopenharmony_ci_msi_Database_OpenView(msiobj *self, PyObject *arg)
5567db96d56Sopenharmony_ci{
5577db96d56Sopenharmony_ci    PyObject *return_value = NULL;
5587db96d56Sopenharmony_ci    const Py_UNICODE *sql = NULL;
5597db96d56Sopenharmony_ci
5607db96d56Sopenharmony_ci    if (!PyUnicode_Check(arg)) {
5617db96d56Sopenharmony_ci        _PyArg_BadArgument("OpenView", "argument", "str", arg);
5627db96d56Sopenharmony_ci        goto exit;
5637db96d56Sopenharmony_ci    }
5647db96d56Sopenharmony_ci    #if USE_UNICODE_WCHAR_CACHE
5657db96d56Sopenharmony_ci    sql = _PyUnicode_AsUnicode(arg);
5667db96d56Sopenharmony_ci    #else /* USE_UNICODE_WCHAR_CACHE */
5677db96d56Sopenharmony_ci    sql = PyUnicode_AsWideCharString(arg, NULL);
5687db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
5697db96d56Sopenharmony_ci    if (sql == NULL) {
5707db96d56Sopenharmony_ci        goto exit;
5717db96d56Sopenharmony_ci    }
5727db96d56Sopenharmony_ci    return_value = _msi_Database_OpenView_impl(self, sql);
5737db96d56Sopenharmony_ci
5747db96d56Sopenharmony_ciexit:
5757db96d56Sopenharmony_ci    /* Cleanup for sql */
5767db96d56Sopenharmony_ci    #if !USE_UNICODE_WCHAR_CACHE
5777db96d56Sopenharmony_ci    PyMem_Free((void *)sql);
5787db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
5797db96d56Sopenharmony_ci
5807db96d56Sopenharmony_ci    return return_value;
5817db96d56Sopenharmony_ci}
5827db96d56Sopenharmony_ci
5837db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Database_Commit__doc__,
5847db96d56Sopenharmony_ci"Commit($self, /)\n"
5857db96d56Sopenharmony_ci"--\n"
5867db96d56Sopenharmony_ci"\n"
5877db96d56Sopenharmony_ci"Commit the changes pending in the current transaction.");
5887db96d56Sopenharmony_ci
5897db96d56Sopenharmony_ci#define _MSI_DATABASE_COMMIT_METHODDEF    \
5907db96d56Sopenharmony_ci    {"Commit", (PyCFunction)_msi_Database_Commit, METH_NOARGS, _msi_Database_Commit__doc__},
5917db96d56Sopenharmony_ci
5927db96d56Sopenharmony_cistatic PyObject *
5937db96d56Sopenharmony_ci_msi_Database_Commit_impl(msiobj *self);
5947db96d56Sopenharmony_ci
5957db96d56Sopenharmony_cistatic PyObject *
5967db96d56Sopenharmony_ci_msi_Database_Commit(msiobj *self, PyObject *Py_UNUSED(ignored))
5977db96d56Sopenharmony_ci{
5987db96d56Sopenharmony_ci    return _msi_Database_Commit_impl(self);
5997db96d56Sopenharmony_ci}
6007db96d56Sopenharmony_ci
6017db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_Database_GetSummaryInformation__doc__,
6027db96d56Sopenharmony_ci"GetSummaryInformation($self, count, /)\n"
6037db96d56Sopenharmony_ci"--\n"
6047db96d56Sopenharmony_ci"\n"
6057db96d56Sopenharmony_ci"Return a new summary information object.\n"
6067db96d56Sopenharmony_ci"\n"
6077db96d56Sopenharmony_ci"  count\n"
6087db96d56Sopenharmony_ci"    the maximum number of updated values");
6097db96d56Sopenharmony_ci
6107db96d56Sopenharmony_ci#define _MSI_DATABASE_GETSUMMARYINFORMATION_METHODDEF    \
6117db96d56Sopenharmony_ci    {"GetSummaryInformation", (PyCFunction)_msi_Database_GetSummaryInformation, METH_O, _msi_Database_GetSummaryInformation__doc__},
6127db96d56Sopenharmony_ci
6137db96d56Sopenharmony_cistatic PyObject *
6147db96d56Sopenharmony_ci_msi_Database_GetSummaryInformation_impl(msiobj *self, int count);
6157db96d56Sopenharmony_ci
6167db96d56Sopenharmony_cistatic PyObject *
6177db96d56Sopenharmony_ci_msi_Database_GetSummaryInformation(msiobj *self, PyObject *arg)
6187db96d56Sopenharmony_ci{
6197db96d56Sopenharmony_ci    PyObject *return_value = NULL;
6207db96d56Sopenharmony_ci    int count;
6217db96d56Sopenharmony_ci
6227db96d56Sopenharmony_ci    count = _PyLong_AsInt(arg);
6237db96d56Sopenharmony_ci    if (count == -1 && PyErr_Occurred()) {
6247db96d56Sopenharmony_ci        goto exit;
6257db96d56Sopenharmony_ci    }
6267db96d56Sopenharmony_ci    return_value = _msi_Database_GetSummaryInformation_impl(self, count);
6277db96d56Sopenharmony_ci
6287db96d56Sopenharmony_ciexit:
6297db96d56Sopenharmony_ci    return return_value;
6307db96d56Sopenharmony_ci}
6317db96d56Sopenharmony_ci
6327db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_OpenDatabase__doc__,
6337db96d56Sopenharmony_ci"OpenDatabase($module, path, persist, /)\n"
6347db96d56Sopenharmony_ci"--\n"
6357db96d56Sopenharmony_ci"\n"
6367db96d56Sopenharmony_ci"Return a new database object.\n"
6377db96d56Sopenharmony_ci"\n"
6387db96d56Sopenharmony_ci"  path\n"
6397db96d56Sopenharmony_ci"    the file name of the MSI file\n"
6407db96d56Sopenharmony_ci"  persist\n"
6417db96d56Sopenharmony_ci"    the persistence mode");
6427db96d56Sopenharmony_ci
6437db96d56Sopenharmony_ci#define _MSI_OPENDATABASE_METHODDEF    \
6447db96d56Sopenharmony_ci    {"OpenDatabase", _PyCFunction_CAST(_msi_OpenDatabase), METH_FASTCALL, _msi_OpenDatabase__doc__},
6457db96d56Sopenharmony_ci
6467db96d56Sopenharmony_cistatic PyObject *
6477db96d56Sopenharmony_ci_msi_OpenDatabase_impl(PyObject *module, const Py_UNICODE *path, int persist);
6487db96d56Sopenharmony_ci
6497db96d56Sopenharmony_cistatic PyObject *
6507db96d56Sopenharmony_ci_msi_OpenDatabase(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
6517db96d56Sopenharmony_ci{
6527db96d56Sopenharmony_ci    PyObject *return_value = NULL;
6537db96d56Sopenharmony_ci    const Py_UNICODE *path = NULL;
6547db96d56Sopenharmony_ci    int persist;
6557db96d56Sopenharmony_ci
6567db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("OpenDatabase", nargs, 2, 2)) {
6577db96d56Sopenharmony_ci        goto exit;
6587db96d56Sopenharmony_ci    }
6597db96d56Sopenharmony_ci    if (!PyUnicode_Check(args[0])) {
6607db96d56Sopenharmony_ci        _PyArg_BadArgument("OpenDatabase", "argument 1", "str", args[0]);
6617db96d56Sopenharmony_ci        goto exit;
6627db96d56Sopenharmony_ci    }
6637db96d56Sopenharmony_ci    #if USE_UNICODE_WCHAR_CACHE
6647db96d56Sopenharmony_ci    path = _PyUnicode_AsUnicode(args[0]);
6657db96d56Sopenharmony_ci    #else /* USE_UNICODE_WCHAR_CACHE */
6667db96d56Sopenharmony_ci    path = PyUnicode_AsWideCharString(args[0], NULL);
6677db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
6687db96d56Sopenharmony_ci    if (path == NULL) {
6697db96d56Sopenharmony_ci        goto exit;
6707db96d56Sopenharmony_ci    }
6717db96d56Sopenharmony_ci    persist = _PyLong_AsInt(args[1]);
6727db96d56Sopenharmony_ci    if (persist == -1 && PyErr_Occurred()) {
6737db96d56Sopenharmony_ci        goto exit;
6747db96d56Sopenharmony_ci    }
6757db96d56Sopenharmony_ci    return_value = _msi_OpenDatabase_impl(module, path, persist);
6767db96d56Sopenharmony_ci
6777db96d56Sopenharmony_ciexit:
6787db96d56Sopenharmony_ci    /* Cleanup for path */
6797db96d56Sopenharmony_ci    #if !USE_UNICODE_WCHAR_CACHE
6807db96d56Sopenharmony_ci    PyMem_Free((void *)path);
6817db96d56Sopenharmony_ci    #endif /* USE_UNICODE_WCHAR_CACHE */
6827db96d56Sopenharmony_ci
6837db96d56Sopenharmony_ci    return return_value;
6847db96d56Sopenharmony_ci}
6857db96d56Sopenharmony_ci
6867db96d56Sopenharmony_ciPyDoc_STRVAR(_msi_CreateRecord__doc__,
6877db96d56Sopenharmony_ci"CreateRecord($module, count, /)\n"
6887db96d56Sopenharmony_ci"--\n"
6897db96d56Sopenharmony_ci"\n"
6907db96d56Sopenharmony_ci"Return a new record object.\n"
6917db96d56Sopenharmony_ci"\n"
6927db96d56Sopenharmony_ci"  count\n"
6937db96d56Sopenharmony_ci"    the number of fields of the record");
6947db96d56Sopenharmony_ci
6957db96d56Sopenharmony_ci#define _MSI_CREATERECORD_METHODDEF    \
6967db96d56Sopenharmony_ci    {"CreateRecord", (PyCFunction)_msi_CreateRecord, METH_O, _msi_CreateRecord__doc__},
6977db96d56Sopenharmony_ci
6987db96d56Sopenharmony_cistatic PyObject *
6997db96d56Sopenharmony_ci_msi_CreateRecord_impl(PyObject *module, int count);
7007db96d56Sopenharmony_ci
7017db96d56Sopenharmony_cistatic PyObject *
7027db96d56Sopenharmony_ci_msi_CreateRecord(PyObject *module, PyObject *arg)
7037db96d56Sopenharmony_ci{
7047db96d56Sopenharmony_ci    PyObject *return_value = NULL;
7057db96d56Sopenharmony_ci    int count;
7067db96d56Sopenharmony_ci
7077db96d56Sopenharmony_ci    count = _PyLong_AsInt(arg);
7087db96d56Sopenharmony_ci    if (count == -1 && PyErr_Occurred()) {
7097db96d56Sopenharmony_ci        goto exit;
7107db96d56Sopenharmony_ci    }
7117db96d56Sopenharmony_ci    return_value = _msi_CreateRecord_impl(module, count);
7127db96d56Sopenharmony_ci
7137db96d56Sopenharmony_ciexit:
7147db96d56Sopenharmony_ci    return return_value;
7157db96d56Sopenharmony_ci}
7167db96d56Sopenharmony_ci/*[clinic end generated code: output=276175d60fbfc956 input=a9049054013a1b77]*/
717