massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / mmap.pyi
1 import sys
2 from _typeshed import ReadableBuffer
3 from contextlib import AbstractContextManager
4 from typing import Iterable, Iterator, NoReturn, Sized, overload
5
6 ACCESS_DEFAULT: int
7 ACCESS_READ: int
8 ACCESS_WRITE: int
9 ACCESS_COPY: int
10
11 ALLOCATIONGRANULARITY: int
12
13 if sys.platform == "linux":
14     MAP_DENYWRITE: int
15     MAP_EXECUTABLE: int
16
17 if sys.platform != "win32":
18     MAP_ANON: int
19     MAP_ANONYMOUS: int
20     MAP_PRIVATE: int
21     MAP_SHARED: int
22     PROT_EXEC: int
23     PROT_READ: int
24     PROT_WRITE: int
25
26     PAGESIZE: int
27
28 class mmap(AbstractContextManager[mmap], Iterable[int], Sized):
29     if sys.platform == "win32":
30         def __init__(self, fileno: int, length: int, tagname: str | None = ..., access: int = ..., offset: int = ...) -> None: ...
31     else:
32         def __init__(
33             self, fileno: int, length: int, flags: int = ..., prot: int = ..., access: int = ..., offset: int = ...
34         ) -> None: ...
35     def close(self) -> None: ...
36     if sys.version_info >= (3, 8):
37         def flush(self, offset: int = ..., size: int = ...) -> None: ...
38     else:
39         def flush(self, offset: int = ..., size: int = ...) -> int: ...
40     def move(self, dest: int, src: int, count: int) -> None: ...
41     def read_byte(self) -> int: ...
42     def readline(self) -> bytes: ...
43     def resize(self, newsize: int) -> None: ...
44     def seek(self, pos: int, whence: int = ...) -> None: ...
45     def size(self) -> int: ...
46     def tell(self) -> int: ...
47     def write_byte(self, byte: int) -> None: ...
48     def __len__(self) -> int: ...
49     closed: bool
50     if sys.version_info >= (3, 8) and sys.platform != "win32":
51         def madvise(self, option: int, start: int = ..., length: int = ...) -> None: ...
52     def find(self, sub: ReadableBuffer, start: int = ..., stop: int = ...) -> int: ...
53     def rfind(self, sub: ReadableBuffer, start: int = ..., stop: int = ...) -> int: ...
54     def read(self, n: int | None = ...) -> bytes: ...
55     def write(self, bytes: ReadableBuffer) -> int: ...
56     @overload
57     def __getitem__(self, index: int) -> int: ...
58     @overload
59     def __getitem__(self, index: slice) -> bytes: ...
60     def __delitem__(self, index: int | slice) -> NoReturn: ...
61     @overload
62     def __setitem__(self, index: int, object: int) -> None: ...
63     @overload
64     def __setitem__(self, index: slice, object: ReadableBuffer) -> None: ...
65     # Doesn't actually exist, but the object is actually iterable because it has __getitem__ and
66     # __len__, so we claim that there is also an __iter__ to help type checkers.
67     def __iter__(self) -> Iterator[int]: ...
68
69 if sys.version_info >= (3, 8) and sys.platform != "win32":
70     MADV_NORMAL: int
71     MADV_RANDOM: int
72     MADV_SEQUENTIAL: int
73     MADV_WILLNEED: int
74     MADV_DONTNEED: int
75
76     if sys.platform == "linux":
77         MADV_REMOVE: int
78         MADV_DONTFORK: int
79         MADV_DOFORK: int
80         MADV_HWPOISON: int
81         MADV_MERGEABLE: int
82         MADV_UNMERGEABLE: int
83         # Seems like this constant is not defined in glibc.
84         # See https://github.com/python/typeshed/pull/5360 for details
85         # MADV_SOFT_OFFLINE: int
86         MADV_HUGEPAGE: int
87         MADV_NOHUGEPAGE: int
88         MADV_DONTDUMP: int
89         MADV_DODUMP: int
90         MADV_FREE: int
91
92     # This Values are defined for FreeBSD but type checkers do not support conditions for these
93     if sys.platform != "linux" and sys.platform != "darwin":
94         MADV_NOSYNC: int
95         MADV_AUTOSYNC: int
96         MADV_NOCORE: int
97         MADV_CORE: int
98         MADV_PROTECT: int
99
100 if sys.version_info >= (3, 10) and sys.platform == "darwin":
101     MADV_FREE_REUSABLE: int
102     MADV_FREE_REUSE: int