Format: application/octet-stream
1 import sys
2 from _typeshed import ReadableBuffer
3 from typing import AnyStr, ContextManager, Generic, Iterable, Iterator, Optional, Sequence, Sized, Union, overload
4
5 ACCESS_DEFAULT: int
6 ACCESS_READ: int
7 ACCESS_WRITE: int
8 ACCESS_COPY: int
9
10 ALLOCATIONGRANULARITY: int
11
12 if sys.platform != "win32":
13 MAP_ANON: int
14 MAP_ANONYMOUS: int
15 MAP_DENYWRITE: int
16 MAP_EXECUTABLE: int
17 MAP_PRIVATE: int
18 MAP_SHARED: int
19 PROT_EXEC: int
20 PROT_READ: int
21 PROT_WRITE: int
22
23 PAGESIZE: int
24
25 class _mmap(Generic[AnyStr]):
26 if sys.platform == "win32":
27 def __init__(
28 self, fileno: int, length: int, tagname: Optional[str] = ..., access: int = ..., offset: int = ...
29 ) -> None: ...
30 else:
31 def __init__(
32 self, fileno: int, length: int, flags: int = ..., prot: int = ..., access: int = ..., offset: int = ...
33 ) -> None: ...
34 def close(self) -> None: ...
35 if sys.version_info >= (3, 8):
36 def flush(self, offset: int = ..., size: int = ...) -> None: ...
37 else:
38 def flush(self, offset: int = ..., size: int = ...) -> int: ...
39 def move(self, dest: int, src: int, count: int) -> None: ...
40 def read_byte(self) -> AnyStr: ...
41 def readline(self) -> AnyStr: ...
42 def resize(self, newsize: int) -> None: ...
43 def seek(self, pos: int, whence: int = ...) -> None: ...
44 def size(self) -> int: ...
45 def tell(self) -> int: ...
46 def write_byte(self, byte: AnyStr) -> None: ...
47 def __len__(self) -> int: ...
48
49 if sys.version_info >= (3,):
50 class mmap(_mmap[bytes], ContextManager[mmap], Iterable[bytes], Sized):
51 closed: bool
52 if sys.version_info >= (3, 8) and sys.platform != "win32":
53 def madvise(self, option: int, start: int = ..., length: int = ...) -> None: ...
54 def find(self, sub: ReadableBuffer, start: int = ..., stop: int = ...) -> int: ...
55 def rfind(self, sub: ReadableBuffer, start: int = ..., stop: int = ...) -> int: ...
56 def read(self, n: Optional[int] = ...) -> bytes: ...
57 if sys.version_info >= (3, 6):
58 def write(self, bytes: ReadableBuffer) -> int: ...
59 else:
60 def write(self, bytes: ReadableBuffer) -> None: ...
61 @overload
62 def __getitem__(self, index: int) -> int: ...
63 @overload
64 def __getitem__(self, index: slice) -> bytes: ...
65 def __delitem__(self, index: Union[int, slice]) -> None: ...
66 @overload
67 def __setitem__(self, index: int, object: int) -> None: ...
68 @overload
69 def __setitem__(self, index: slice, object: bytes) -> None: ...
70 # Doesn't actually exist, but the object is actually iterable because it has __getitem__ and
71 # __len__, so we claim that there is also an __iter__ to help type checkers.
72 def __iter__(self) -> Iterator[bytes]: ...
73
74 else:
75 class mmap(_mmap[bytes], Sequence[bytes]):
76 def find(self, string: bytes, start: int = ..., end: int = ...) -> int: ...
77 def rfind(self, string: bytes, start: int = ..., stop: int = ...) -> int: ...
78 def read(self, num: int) -> bytes: ...
79 def write(self, string: bytes) -> None: ...
80 def __getitem__(self, index: Union[int, slice]) -> bytes: ...
81 def __getslice__(self, i: Optional[int], j: Optional[int]) -> bytes: ...
82 def __delitem__(self, index: Union[int, slice]) -> None: ...
83 def __setitem__(self, index: Union[int, slice], object: bytes) -> None: ...
84
85 if sys.version_info >= (3, 8):
86 MADV_NORMAL: int
87 MADV_RANDOM: int
88 MADV_SEQUENTIAL: int
89 MADV_WILLNEED: int
90 MADV_DONTNEED: int
91 MADV_REMOVE: int
92 MADV_DONTFORK: int
93 MADV_DOFORK: int
94 MADV_HWPOISON: int
95 MADV_MERGEABLE: int
96 MADV_UNMERGEABLE: int
97 MADV_SOFT_OFFLINE: int
98 MADV_HUGEPAGE: int
99 MADV_NOHUGEPAGE: int
100 MADV_DONTDUMP: int
101 MADV_DODUMP: int
102 MADV_FREE: int
103 MADV_NOSYNC: int
104 MADV_AUTOSYNC: int
105 MADV_NOCORE: int
106 MADV_CORE: int
107 MADV_PROTECT: int
108