PyMODINIT_FUNC PyInit__educollections(void) { PyObject *m; m = PyModule_Create(&_educollections_module); if (m == NULL) { return NULL; } #define ADD_TYPE(type, name) \ if (PyType_Ready(&type) < 0) { \ goto fail; \ } \ Py_INCREF(&type); \ if (PyModule_AddObject(m, name, (PyObject *)&type) < 0) { \ Py_DECREF(&type); \ goto fail; \ } ADD_TYPE(ArrayListType, "ArrayList"); ADD_TYPE(SinglyLinkedListType1, "SinglyLinkedList1"); ADD_TYPE(SinglyLinkedListType2, "SinglyLinkedList2"); return m; fail: Py_DECREF(m); return NULL; }
void initpax(void) { int i; PyObject * d, *m, *v; m = Py_InitModule("pax", pax_methods); d = PyModule_GetDict(m); #define ADD_INT(name) add_int(d, name, #name) ADD_INT(TCL_WINDOW_EVENTS); ADD_INT(TCL_FILE_EVENTS); ADD_INT(TCL_TIMER_EVENTS); ADD_INT(TCL_IDLE_EVENTS); ADD_INT(TCL_ALL_EVENTS); ADD_INT(TCL_DONT_WAIT); ADD_INT(TK_RELIEF_RAISED); ADD_INT(TK_RELIEF_SUNKEN); ADD_INT(TK_RELIEF_GROOVE); ADD_INT(TK_RELIEF_RIDGE); ADD_INT(TK_RELIEF_FLAT); ADD_INT(TK_3D_FLAT_GC); ADD_INT(TK_3D_LIGHT_GC); ADD_INT(TK_3D_DARK_GC); add_string(d, TK_VERSION, "TK_VERSION"); add_string(d, TCL_VERSION, "TCL_VERSION"); for (i = 0; i < NUM_METHOD_NAMES; i++) { /* Python 1.5! */ PyObject * string = PyString_InternFromString(method_names[i]); if (!string) { Py_FatalError("pax: Cannot create string objects"); } method_names_obj[i] = string; } object_registry = PyDict_New(); PyDict_SetItemString(d, "object_registry", object_registry); v = PyCObject_FromVoidPtr(&pax_functions, NULL); PyDict_SetItemString(d, "Pax_Functions", v); #define ADD_TYPE(type) PyDict_SetItemString(d, #type, (PyObject*)(&type)) ADD_TYPE(TkWinType); ADD_TYPE(PaxPixmapType); ADD_TYPE(PaxImageType); ADD_TYPE(PaxRegionType); ADD_TYPE(PaxCMapType); ADD_TYPE(PaxFontType); ADD_TYPE(PaxGCType); ADD_TYPE(PaxBorderType); }
PyMODINIT_FUNC init_io(void) { PyObject *m = Py_InitModule4("_io", module_methods, module_doc, NULL, PYTHON_API_VERSION); if (m == NULL) return; /* put os in the module state */ _PyIO_os_module = PyImport_ImportModule("os"); if (_PyIO_os_module == NULL) goto fail; #define ADD_TYPE(type, name) \ if (PyType_Ready(type) < 0) \ goto fail; \ Py_INCREF(type); \ if (PyModule_AddObject(m, name, (PyObject *)type) < 0) { \ Py_DECREF(type); \ goto fail; \ } /* DEFAULT_BUFFER_SIZE */ if (PyModule_AddIntMacro(m, DEFAULT_BUFFER_SIZE) < 0) goto fail; /* UnsupportedOperation inherits from ValueError and IOError */ _PyIO_unsupported_operation = PyObject_CallFunction( (PyObject *)&PyType_Type, "s(OO){}", "UnsupportedOperation", PyExc_ValueError, PyExc_IOError); if (_PyIO_unsupported_operation == NULL) goto fail; Py_INCREF(_PyIO_unsupported_operation); if (PyModule_AddObject(m, "UnsupportedOperation", _PyIO_unsupported_operation) < 0) goto fail; /* BlockingIOError */ _PyExc_BlockingIOError.tp_base = (PyTypeObject *) PyExc_IOError; ADD_TYPE(&_PyExc_BlockingIOError, "BlockingIOError"); /* Concrete base types of the IO ABCs. (the ABCs themselves are declared through inheritance in io.py) */ ADD_TYPE(&PyIOBase_Type, "_IOBase"); ADD_TYPE(&PyRawIOBase_Type, "_RawIOBase"); ADD_TYPE(&PyBufferedIOBase_Type, "_BufferedIOBase"); ADD_TYPE(&PyTextIOBase_Type, "_TextIOBase"); /* Implementation of concrete IO objects. */ /* FileIO */ PyFileIO_Type.tp_base = &PyRawIOBase_Type; ADD_TYPE(&PyFileIO_Type, "FileIO"); /* BytesIO */ PyBytesIO_Type.tp_base = &PyBufferedIOBase_Type; ADD_TYPE(&PyBytesIO_Type, "BytesIO"); /* StringIO */ PyStringIO_Type.tp_base = &PyTextIOBase_Type; ADD_TYPE(&PyStringIO_Type, "StringIO"); /* BufferedReader */ PyBufferedReader_Type.tp_base = &PyBufferedIOBase_Type; ADD_TYPE(&PyBufferedReader_Type, "BufferedReader"); /* BufferedWriter */ PyBufferedWriter_Type.tp_base = &PyBufferedIOBase_Type; ADD_TYPE(&PyBufferedWriter_Type, "BufferedWriter"); /* BufferedRWPair */ PyBufferedRWPair_Type.tp_base = &PyBufferedIOBase_Type; ADD_TYPE(&PyBufferedRWPair_Type, "BufferedRWPair"); /* BufferedRandom */ PyBufferedRandom_Type.tp_base = &PyBufferedIOBase_Type; ADD_TYPE(&PyBufferedRandom_Type, "BufferedRandom"); /* TextIOWrapper */ PyTextIOWrapper_Type.tp_base = &PyTextIOBase_Type; ADD_TYPE(&PyTextIOWrapper_Type, "TextIOWrapper"); /* IncrementalNewlineDecoder */ ADD_TYPE(&PyIncrementalNewlineDecoder_Type, "IncrementalNewlineDecoder"); /* Interned strings */ if (!(_PyIO_str_close = PyString_InternFromString("close"))) goto fail; if (!(_PyIO_str_closed = PyString_InternFromString("closed"))) goto fail; if (!(_PyIO_str_decode = PyString_InternFromString("decode"))) goto fail; if (!(_PyIO_str_encode = PyString_InternFromString("encode"))) goto fail; if (!(_PyIO_str_fileno = PyString_InternFromString("fileno"))) goto fail; if (!(_PyIO_str_flush = PyString_InternFromString("flush"))) goto fail; if (!(_PyIO_str_getstate = PyString_InternFromString("getstate"))) goto fail; if (!(_PyIO_str_isatty = PyString_InternFromString("isatty"))) goto fail; if (!(_PyIO_str_newlines = PyString_InternFromString("newlines"))) goto fail; if (!(_PyIO_str_nl = PyString_InternFromString("\n"))) goto fail; if (!(_PyIO_str_read = PyString_InternFromString("read"))) goto fail; if (!(_PyIO_str_read1 = PyString_InternFromString("read1"))) goto fail; if (!(_PyIO_str_readable = PyString_InternFromString("readable"))) goto fail; if (!(_PyIO_str_readinto = PyString_InternFromString("readinto"))) goto fail; if (!(_PyIO_str_readline = PyString_InternFromString("readline"))) goto fail; if (!(_PyIO_str_reset = PyString_InternFromString("reset"))) goto fail; if (!(_PyIO_str_seek = PyString_InternFromString("seek"))) goto fail; if (!(_PyIO_str_seekable = PyString_InternFromString("seekable"))) goto fail; if (!(_PyIO_str_setstate = PyString_InternFromString("setstate"))) goto fail; if (!(_PyIO_str_tell = PyString_InternFromString("tell"))) goto fail; if (!(_PyIO_str_truncate = PyString_InternFromString("truncate"))) goto fail; if (!(_PyIO_str_write = PyString_InternFromString("write"))) goto fail; if (!(_PyIO_str_writable = PyString_InternFromString("writable"))) goto fail; if (!(_PyIO_empty_str = PyUnicode_FromStringAndSize(NULL, 0))) goto fail; if (!(_PyIO_empty_bytes = PyBytes_FromStringAndSize(NULL, 0))) goto fail; if (!(_PyIO_zero = PyLong_FromLong(0L))) goto fail; return; fail: Py_CLEAR(_PyIO_os_module); Py_CLEAR(_PyIO_unsupported_operation); Py_DECREF(m); }
PyObject* moduleinit(PyObject* m) { if (m == NULL) return NULL; /* libgit2 version info */ ADD_CONSTANT_INT(m, LIBGIT2_VER_MAJOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_MINOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_REVISION) ADD_CONSTANT_STR(m, LIBGIT2_VERSION) /* libgit2 options */ ADD_CONSTANT_INT(m, GIT_OPT_GET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_GET_MWINDOW_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_SET_MWINDOW_SIZE); /* Errors */ GitError = PyErr_NewException("_pygit2.GitError", NULL, NULL); Py_INCREF(GitError); PyModule_AddObject(m, "GitError", GitError); /* Repository */ INIT_TYPE(RepositoryType, NULL, PyType_GenericNew) ADD_TYPE(m, Repository) /* Oid */ INIT_TYPE(OidType, NULL, PyType_GenericNew) ADD_TYPE(m, Oid) ADD_CONSTANT_INT(m, GIT_OID_RAWSZ) ADD_CONSTANT_INT(m, GIT_OID_HEXSZ) ADD_CONSTANT_STR(m, GIT_OID_HEX_ZERO) ADD_CONSTANT_INT(m, GIT_OID_MINPREFIXLEN) /* * Objects */ INIT_TYPE(ObjectType, NULL, NULL) INIT_TYPE(CommitType, &ObjectType, NULL) INIT_TYPE(SignatureType, NULL, PyType_GenericNew) INIT_TYPE(TreeType, &ObjectType, NULL) INIT_TYPE(TreeEntryType, NULL, NULL) INIT_TYPE(TreeIterType, NULL, NULL) INIT_TYPE(TreeBuilderType, NULL, NULL) INIT_TYPE(BlobType, &ObjectType, NULL) INIT_TYPE(TagType, &ObjectType, NULL) ADD_TYPE(m, Object) ADD_TYPE(m, Commit) ADD_TYPE(m, Signature) ADD_TYPE(m, Tree) ADD_TYPE(m, TreeEntry) ADD_TYPE(m, TreeBuilder) ADD_TYPE(m, Blob) ADD_TYPE(m, Tag) ADD_CONSTANT_INT(m, GIT_OBJ_ANY) ADD_CONSTANT_INT(m, GIT_OBJ_COMMIT) ADD_CONSTANT_INT(m, GIT_OBJ_TREE) ADD_CONSTANT_INT(m, GIT_OBJ_BLOB) ADD_CONSTANT_INT(m, GIT_OBJ_TAG) /* Valid modes for index and tree entries. */ ADD_CONSTANT_INT(m, GIT_FILEMODE_NEW) ADD_CONSTANT_INT(m, GIT_FILEMODE_TREE) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB_EXECUTABLE) ADD_CONSTANT_INT(m, GIT_FILEMODE_LINK) ADD_CONSTANT_INT(m, GIT_FILEMODE_COMMIT) /* * Log */ INIT_TYPE(WalkerType, NULL, NULL) ADD_TYPE(m, Walker); ADD_CONSTANT_INT(m, GIT_SORT_NONE) ADD_CONSTANT_INT(m, GIT_SORT_TOPOLOGICAL) ADD_CONSTANT_INT(m, GIT_SORT_TIME) ADD_CONSTANT_INT(m, GIT_SORT_REVERSE) /* * Reset */ ADD_CONSTANT_INT(m, GIT_RESET_SOFT) ADD_CONSTANT_INT(m, GIT_RESET_MIXED) ADD_CONSTANT_INT(m, GIT_RESET_HARD) /* * References */ INIT_TYPE(ReferenceType, NULL, NULL) INIT_TYPE(RefLogEntryType, NULL, NULL) INIT_TYPE(RefLogIterType, NULL, NULL) INIT_TYPE(NoteType, NULL, NULL) INIT_TYPE(NoteIterType, NULL, NULL) ADD_TYPE(m, Reference) ADD_TYPE(m, RefLogEntry) ADD_TYPE(m, Note) ADD_CONSTANT_INT(m, GIT_REF_INVALID) ADD_CONSTANT_INT(m, GIT_REF_OID) ADD_CONSTANT_INT(m, GIT_REF_SYMBOLIC) ADD_CONSTANT_INT(m, GIT_REF_LISTALL) /* * Branches */ INIT_TYPE(BranchType, &ReferenceType, NULL); ADD_TYPE(m, Branch) ADD_CONSTANT_INT(m, GIT_BRANCH_LOCAL) ADD_CONSTANT_INT(m, GIT_BRANCH_REMOTE) /* * Index & Working copy */ INIT_TYPE(IndexType, NULL, PyType_GenericNew) INIT_TYPE(IndexEntryType, NULL, PyType_GenericNew) INIT_TYPE(IndexIterType, NULL, NULL) ADD_TYPE(m, Index) ADD_TYPE(m, IndexEntry) /* Status */ ADD_CONSTANT_INT(m, GIT_STATUS_CURRENT) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_WT_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_IGNORED) /* Flags for ignored files */ /* Different checkout strategies */ ADD_CONSTANT_INT(m, GIT_CHECKOUT_NONE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE_CREATE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_FORCE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_ALLOW_CONFLICTS) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_IGNORED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_UPDATE_ONLY) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DONT_UPDATE_INDEX) ADD_CONSTANT_INT(m, GIT_CHECKOUT_NO_REFRESH) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH) /* * Diff */ INIT_TYPE(DiffType, NULL, NULL) INIT_TYPE(DiffIterType, NULL, NULL) INIT_TYPE(PatchType, NULL, NULL) INIT_TYPE(HunkType, NULL, NULL) ADD_TYPE(m, Diff) ADD_TYPE(m, Patch) ADD_TYPE(m, Hunk) ADD_CONSTANT_INT(m, GIT_DIFF_NORMAL) ADD_CONSTANT_INT(m, GIT_DIFF_REVERSE) ADD_CONSTANT_INT(m, GIT_DIFF_FORCE_TEXT) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_CHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_EOL) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_SUBMODULES) ADD_CONSTANT_INT(m, GIT_DIFF_PATIENCE) ADD_CONSTANT_INT(m, GIT_DIFF_MINIMAL) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_IGNORED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNMODIFIED) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_DISABLE_PATHSPEC_MATCH) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_CASE) ADD_CONSTANT_INT(m, GIT_DIFF_SHOW_UNTRACKED_CONTENT) ADD_CONSTANT_INT(m, GIT_DIFF_SKIP_BINARY_CHECK) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE_TREES) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_IGNORED_DIRS) /* Flags for diff find similar */ /* --find-renames */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES) /* --break-rewrites=N */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES_FROM_REWRITES) /* --find-copies */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES) /* --find-copies-harder */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED) /* --break-rewrites=/M */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_AND_BREAK_REWRITES) /* Config */ ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_LOCAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_GLOBAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_XDG); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_SYSTEM); INIT_TYPE(ConfigType, NULL, PyType_GenericNew) INIT_TYPE(ConfigIterType, NULL, NULL) ADD_TYPE(m, Config) ADD_TYPE(m, ConfigIter) /* Remotes */ INIT_TYPE(RemoteType, NULL, NULL) INIT_TYPE(RefspecType, NULL, NULL) INIT_TYPE(TransferProgressType, NULL, NULL) ADD_TYPE(m, Remote) ADD_TYPE(m, Refspec) ADD_TYPE(m, TransferProgress) /* Direction for the refspec */ ADD_CONSTANT_INT(m, GIT_DIRECTION_FETCH) ADD_CONSTANT_INT(m, GIT_DIRECTION_PUSH) /* Blame */ INIT_TYPE(BlameType, NULL, NULL) INIT_TYPE(BlameIterType, NULL, NULL) INIT_TYPE(BlameHunkType, NULL, NULL) ADD_TYPE(m, Blame) ADD_TYPE(m, BlameHunk) ADD_CONSTANT_INT(m, GIT_BLAME_NORMAL) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_FILE) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES) /* Merge */ INIT_TYPE(MergeResultType, NULL, NULL) ADD_TYPE(m, MergeResult) /* Global initialization of libgit2 */ git_threads_init(); return m; }
PyObject * moduleinit(PyObject* m) { if (m == NULL) return NULL; /* libgit2 version info */ ADD_CONSTANT_INT(m, LIBGIT2_VER_MAJOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_MINOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_REVISION) ADD_CONSTANT_STR(m, LIBGIT2_VERSION) /* libgit2 options */ ADD_CONSTANT_INT(m, GIT_OPT_GET_MWINDOW_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_SET_MWINDOW_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_GET_MWINDOW_MAPPED_LIMIT); ADD_CONSTANT_INT(m, GIT_OPT_SET_MWINDOW_MAPPED_LIMIT); ADD_CONSTANT_INT(m, GIT_OPT_GET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_CACHE_OBJECT_LIMIT); ADD_CONSTANT_INT(m, GIT_OPT_SET_CACHE_MAX_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_CACHING); ADD_CONSTANT_INT(m, GIT_OPT_GET_CACHED_MEMORY); ADD_CONSTANT_INT(m, GIT_OPT_GET_TEMPLATE_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_TEMPLATE_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_SSL_CERT_LOCATIONS); ADD_CONSTANT_INT(m, GIT_OPT_SET_USER_AGENT); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_STRICT_OBJECT_CREATION); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION); ADD_CONSTANT_INT(m, GIT_OPT_SET_SSL_CIPHERS); ADD_CONSTANT_INT(m, GIT_OPT_GET_USER_AGENT); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_OFS_DELTA); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_FSYNC_GITDIR); ADD_CONSTANT_INT(m, GIT_OPT_GET_WINDOWS_SHAREMODE); ADD_CONSTANT_INT(m, GIT_OPT_SET_WINDOWS_SHAREMODE); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION); ADD_CONSTANT_INT(m, GIT_OPT_SET_ALLOCATOR); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY); ADD_CONSTANT_INT(m, GIT_OPT_GET_PACK_MAX_OBJECTS); ADD_CONSTANT_INT(m, GIT_OPT_SET_PACK_MAX_OBJECTS); /* Errors */ GitError = PyErr_NewException("_pygit2.GitError", NULL, NULL); Py_INCREF(GitError); PyModule_AddObject(m, "GitError", GitError); AlreadyExistsError = PyErr_NewException("_pygit2.AlreadyExistsError", PyExc_ValueError, NULL); Py_INCREF(AlreadyExistsError); PyModule_AddObject(m, "AlreadyExistsError", AlreadyExistsError); InvalidSpecError = PyErr_NewException("_pygit2.InvalidSpecError", PyExc_ValueError, NULL); Py_INCREF(InvalidSpecError); PyModule_AddObject(m, "InvalidSpecError", InvalidSpecError); /* Repository */ INIT_TYPE(RepositoryType, NULL, PyType_GenericNew) ADD_TYPE(m, Repository) /* Oid */ INIT_TYPE(OidType, NULL, PyType_GenericNew) ADD_TYPE(m, Oid) ADD_CONSTANT_INT(m, GIT_OID_RAWSZ) ADD_CONSTANT_INT(m, GIT_OID_HEXSZ) ADD_CONSTANT_STR(m, GIT_OID_HEX_ZERO) ADD_CONSTANT_INT(m, GIT_OID_MINPREFIXLEN) /* * Objects */ INIT_TYPE(ObjectType, NULL, NULL) INIT_TYPE(CommitType, &ObjectType, NULL) INIT_TYPE(SignatureType, NULL, PyType_GenericNew) INIT_TYPE(TreeType, &ObjectType, NULL) INIT_TYPE(TreeEntryType, NULL, NULL) INIT_TYPE(TreeIterType, NULL, NULL) INIT_TYPE(TreeBuilderType, NULL, NULL) INIT_TYPE(BlobType, &ObjectType, NULL) INIT_TYPE(TagType, &ObjectType, NULL) ADD_TYPE(m, Object) ADD_TYPE(m, Commit) ADD_TYPE(m, Signature) ADD_TYPE(m, Tree) ADD_TYPE(m, TreeEntry) ADD_TYPE(m, TreeBuilder) ADD_TYPE(m, Blob) ADD_TYPE(m, Tag) ADD_CONSTANT_INT(m, GIT_OBJ_ANY) ADD_CONSTANT_INT(m, GIT_OBJ_COMMIT) ADD_CONSTANT_INT(m, GIT_OBJ_TREE) ADD_CONSTANT_INT(m, GIT_OBJ_BLOB) ADD_CONSTANT_INT(m, GIT_OBJ_TAG) /* Valid modes for index and tree entries. */ ADD_CONSTANT_INT(m, GIT_FILEMODE_TREE) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB_EXECUTABLE) ADD_CONSTANT_INT(m, GIT_FILEMODE_LINK) ADD_CONSTANT_INT(m, GIT_FILEMODE_COMMIT) /* * Log */ INIT_TYPE(WalkerType, NULL, NULL) ADD_TYPE(m, Walker); ADD_CONSTANT_INT(m, GIT_SORT_NONE) ADD_CONSTANT_INT(m, GIT_SORT_TOPOLOGICAL) ADD_CONSTANT_INT(m, GIT_SORT_TIME) ADD_CONSTANT_INT(m, GIT_SORT_REVERSE) /* * Reset */ ADD_CONSTANT_INT(m, GIT_RESET_SOFT) ADD_CONSTANT_INT(m, GIT_RESET_MIXED) ADD_CONSTANT_INT(m, GIT_RESET_HARD) /* * References */ INIT_TYPE(ReferenceType, NULL, NULL) INIT_TYPE(RefLogEntryType, NULL, NULL) INIT_TYPE(RefLogIterType, NULL, NULL) INIT_TYPE(NoteType, NULL, NULL) INIT_TYPE(NoteIterType, NULL, NULL) ADD_TYPE(m, Reference) ADD_TYPE(m, RefLogEntry) ADD_TYPE(m, Note) ADD_CONSTANT_INT(m, GIT_REF_INVALID) ADD_CONSTANT_INT(m, GIT_REF_OID) ADD_CONSTANT_INT(m, GIT_REF_SYMBOLIC) ADD_CONSTANT_INT(m, GIT_REF_LISTALL) /* * Worktree */ INIT_TYPE(WorktreeType, NULL, NULL) ADD_TYPE(m, Worktree) /* * Branches */ INIT_TYPE(BranchType, &ReferenceType, NULL); ADD_TYPE(m, Branch) ADD_CONSTANT_INT(m, GIT_BRANCH_LOCAL) ADD_CONSTANT_INT(m, GIT_BRANCH_REMOTE) ADD_CONSTANT_INT(m, GIT_BRANCH_ALL) /* * Index & Working copy */ /* Status */ ADD_CONSTANT_INT(m, GIT_STATUS_CURRENT) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_RENAMED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_STATUS_WT_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_WT_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_STATUS_WT_RENAMED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_UNREADABLE) ADD_CONSTANT_INT(m, GIT_STATUS_IGNORED) /* Flags for ignored files */ ADD_CONSTANT_INT(m, GIT_STATUS_CONFLICTED) /* Different checkout strategies */ ADD_CONSTANT_INT(m, GIT_CHECKOUT_NONE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_RECREATE_MISSING) ADD_CONSTANT_INT(m, GIT_CHECKOUT_FORCE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_ALLOW_CONFLICTS) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_IGNORED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_UPDATE_ONLY) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DONT_UPDATE_INDEX) ADD_CONSTANT_INT(m, GIT_CHECKOUT_NO_REFRESH) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH) /* * Diff */ INIT_TYPE(DiffType, NULL, NULL) INIT_TYPE(DeltasIterType, NULL, NULL) INIT_TYPE(DiffIterType, NULL, NULL) INIT_TYPE(DiffDeltaType, NULL, NULL) INIT_TYPE(DiffFileType, NULL, NULL) INIT_TYPE(DiffHunkType, NULL, NULL) INIT_TYPE(DiffLineType, NULL, NULL) INIT_TYPE(DiffStatsType, NULL, NULL) INIT_TYPE(PatchType, NULL, NULL) ADD_TYPE(m, Diff) ADD_TYPE(m, DiffDelta) ADD_TYPE(m, DiffFile) ADD_TYPE(m, DiffHunk) ADD_TYPE(m, DiffLine) ADD_TYPE(m, DiffStats) ADD_TYPE(m, Patch) ADD_CONSTANT_INT(m, GIT_DIFF_NORMAL) ADD_CONSTANT_INT(m, GIT_DIFF_REVERSE) ADD_CONSTANT_INT(m, GIT_DIFF_FORCE_TEXT) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_CHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_EOL) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_SUBMODULES) ADD_CONSTANT_INT(m, GIT_DIFF_PATIENCE) ADD_CONSTANT_INT(m, GIT_DIFF_MINIMAL) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_IGNORED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNMODIFIED) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_DISABLE_PATHSPEC_MATCH) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_CASE) ADD_CONSTANT_INT(m, GIT_DIFF_SHOW_UNTRACKED_CONTENT) ADD_CONSTANT_INT(m, GIT_DIFF_SKIP_BINARY_CHECK) ADD_CONSTANT_INT(m, GIT_DIFF_SHOW_BINARY) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE_TREES) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_IGNORED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_NONE) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_FULL) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_SHORT) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_NUMBER) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_INCLUDE_SUMMARY) /* Flags for diff find similar */ /* --find-renames */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES) /* --break-rewrites=N */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES_FROM_REWRITES) /* --find-copies */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES) /* --find-copies-harder */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED) /* --break-rewrites=/M */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_AND_BREAK_REWRITES) /* DiffDelta and DiffFile flags */ ADD_CONSTANT_INT(m, GIT_DIFF_FLAG_BINARY) ADD_CONSTANT_INT(m, GIT_DIFF_FLAG_NOT_BINARY) ADD_CONSTANT_INT(m, GIT_DIFF_FLAG_VALID_ID) /* DiffDelta.status */ ADD_CONSTANT_INT(m, GIT_DELTA_UNMODIFIED) ADD_CONSTANT_INT(m, GIT_DELTA_ADDED) ADD_CONSTANT_INT(m, GIT_DELTA_DELETED) ADD_CONSTANT_INT(m, GIT_DELTA_MODIFIED) ADD_CONSTANT_INT(m, GIT_DELTA_RENAMED) ADD_CONSTANT_INT(m, GIT_DELTA_COPIED) ADD_CONSTANT_INT(m, GIT_DELTA_IGNORED) ADD_CONSTANT_INT(m, GIT_DELTA_UNTRACKED) ADD_CONSTANT_INT(m, GIT_DELTA_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_DELTA_UNREADABLE) /* Config */ ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_LOCAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_GLOBAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_XDG); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_SYSTEM); /* Blame */ ADD_CONSTANT_INT(m, GIT_BLAME_NORMAL) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_FILE) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES) /* Merge */ ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_NONE) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_NORMAL) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_UP_TO_DATE) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_FASTFORWARD) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_UNBORN) /* Describe */ ADD_CONSTANT_INT(m, GIT_DESCRIBE_DEFAULT); ADD_CONSTANT_INT(m, GIT_DESCRIBE_TAGS); ADD_CONSTANT_INT(m, GIT_DESCRIBE_ALL); /* Stash */ ADD_CONSTANT_INT(m, GIT_STASH_DEFAULT); ADD_CONSTANT_INT(m, GIT_STASH_KEEP_INDEX); ADD_CONSTANT_INT(m, GIT_STASH_INCLUDE_UNTRACKED); ADD_CONSTANT_INT(m, GIT_STASH_INCLUDE_IGNORED); ADD_CONSTANT_INT(m, GIT_STASH_APPLY_DEFAULT); ADD_CONSTANT_INT(m, GIT_STASH_APPLY_REINSTATE_INDEX); /* Mailmap */ INIT_TYPE(MailmapType, NULL, PyType_GenericNew) ADD_TYPE(m, Mailmap) /* Global initialization of libgit2 */ git_libgit2_init(); return m; }