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