1
+ import os
1
2
import sys
2
3
from _typeshed import ReadableBuffer , Unused
3
4
from collections .abc import Iterator
4
5
from typing import Final , Literal , NoReturn , overload
5
6
from typing_extensions import Self
6
7
7
- ACCESS_DEFAULT : int
8
- ACCESS_READ : int
9
- ACCESS_WRITE : int
10
- ACCESS_COPY : int
8
+ ACCESS_DEFAULT : Final = 0
9
+ ACCESS_READ : Final = 1
10
+ ACCESS_WRITE : Final = 2
11
+ ACCESS_COPY : Final = 3
11
12
12
- ALLOCATIONGRANULARITY : int
13
+ ALLOCATIONGRANULARITY : Final [ int ]
13
14
14
15
if sys .platform == "linux" :
15
- MAP_DENYWRITE : int
16
- MAP_EXECUTABLE : int
16
+ MAP_DENYWRITE : Final [ int ]
17
+ MAP_EXECUTABLE : Final [ int ]
17
18
if sys .version_info >= (3 , 10 ):
18
- MAP_POPULATE : int
19
+ MAP_POPULATE : Final [ int ]
19
20
if sys .version_info >= (3 , 11 ) and sys .platform != "win32" and sys .platform != "darwin" :
20
- MAP_STACK : int
21
+ MAP_STACK : Final [ int ]
21
22
22
23
if sys .platform != "win32" :
23
- MAP_ANON : int
24
- MAP_ANONYMOUS : int
25
- MAP_PRIVATE : int
26
- MAP_SHARED : int
27
- PROT_EXEC : int
28
- PROT_READ : int
29
- PROT_WRITE : int
24
+ MAP_ANON : Final [ int ]
25
+ MAP_ANONYMOUS : Final [ int ]
26
+ MAP_PRIVATE : Final [ int ]
27
+ MAP_SHARED : Final [ int ]
28
+ PROT_EXEC : Final [ int ]
29
+ PROT_READ : Final [ int ]
30
+ PROT_WRITE : Final [ int ]
30
31
31
- PAGESIZE : int
32
+ PAGESIZE : Final [ int ]
32
33
33
34
class mmap :
34
35
if sys .platform == "win32" :
35
- def __init__ (self , fileno : int , length : int , tagname : str | None = ... , access : int = ... , offset : int = ... ) -> None : ...
36
+ def __init__ (self , fileno : int , length : int , tagname : str | None = None , access : int = 0 , offset : int = 0 ) -> None : ...
36
37
else :
37
38
if sys .version_info >= (3 , 13 ):
38
39
def __new__ (
@@ -41,34 +42,38 @@ class mmap:
41
42
length : int ,
42
43
flags : int = ...,
43
44
prot : int = ...,
44
- access : int = ... ,
45
- offset : int = ... ,
45
+ access : int = 0 ,
46
+ offset : int = 0 ,
46
47
* ,
47
48
trackfd : bool = True ,
48
49
) -> Self : ...
49
50
else :
50
51
def __new__ (
51
- cls , fileno : int , length : int , flags : int = ..., prot : int = ..., access : int = ... , offset : int = ...
52
+ cls , fileno : int , length : int , flags : int = ..., prot : int = ..., access : int = 0 , offset : int = 0
52
53
) -> Self : ...
53
54
54
55
def close (self ) -> None : ...
55
- def flush (self , offset : int = ... , size : int = ...) -> None : ...
56
+ def flush (self , offset : int = 0 , size : int = ...) -> None : ...
56
57
def move (self , dest : int , src : int , count : int ) -> None : ...
57
58
def read_byte (self ) -> int : ...
58
59
def readline (self ) -> bytes : ...
59
60
def resize (self , newsize : int ) -> None : ...
60
- def seek (self , pos : int , whence : int = ...) -> None : ...
61
+ if sys .platform != "win32" :
62
+ def seek (self , pos : int , whence : Literal [0 , 1 , 2 , 3 , 4 ] = os .SEEK_SET ) -> None : ...
63
+ else :
64
+ def seek (self , pos : int , whence : Literal [0 , 1 , 2 ] = os .SEEK_SET ) -> None : ...
65
+
61
66
def size (self ) -> int : ...
62
67
def tell (self ) -> int : ...
63
68
def write_byte (self , byte : int ) -> None : ...
64
69
def __len__ (self ) -> int : ...
65
70
closed : bool
66
71
if sys .platform != "win32" :
67
- def madvise (self , option : int , start : int = ... , length : int = ...) -> None : ...
72
+ def madvise (self , option : int , start : int = 0 , length : int = ...) -> None : ...
68
73
69
74
def find (self , sub : ReadableBuffer , start : int = ..., stop : int = ...) -> int : ...
70
75
def rfind (self , sub : ReadableBuffer , start : int = ..., stop : int = ...) -> int : ...
71
- def read (self , n : int | None = ... ) -> bytes : ...
76
+ def read (self , n : int | None = None ) -> bytes : ...
72
77
def write (self , bytes : ReadableBuffer ) -> int : ...
73
78
@overload
74
79
def __getitem__ (self , key : int , / ) -> int : ...
@@ -93,42 +98,42 @@ class mmap:
93
98
def seekable (self ) -> Literal [True ]: ...
94
99
95
100
if sys .platform != "win32" :
96
- MADV_NORMAL : int
97
- MADV_RANDOM : int
98
- MADV_SEQUENTIAL : int
99
- MADV_WILLNEED : int
100
- MADV_DONTNEED : int
101
- MADV_FREE : int
101
+ MADV_NORMAL : Final [ int ]
102
+ MADV_RANDOM : Final [ int ]
103
+ MADV_SEQUENTIAL : Final [ int ]
104
+ MADV_WILLNEED : Final [ int ]
105
+ MADV_DONTNEED : Final [ int ]
106
+ MADV_FREE : Final [ int ]
102
107
103
108
if sys .platform == "linux" :
104
- MADV_REMOVE : int
105
- MADV_DONTFORK : int
106
- MADV_DOFORK : int
107
- MADV_HWPOISON : int
108
- MADV_MERGEABLE : int
109
- MADV_UNMERGEABLE : int
109
+ MADV_REMOVE : Final [ int ]
110
+ MADV_DONTFORK : Final [ int ]
111
+ MADV_DOFORK : Final [ int ]
112
+ MADV_HWPOISON : Final [ int ]
113
+ MADV_MERGEABLE : Final [ int ]
114
+ MADV_UNMERGEABLE : Final [ int ]
110
115
# Seems like this constant is not defined in glibc.
111
116
# See https://github.com/python/typeshed/pull/5360 for details
112
- # MADV_SOFT_OFFLINE: int
113
- MADV_HUGEPAGE : int
114
- MADV_NOHUGEPAGE : int
115
- MADV_DONTDUMP : int
116
- MADV_DODUMP : int
117
+ # MADV_SOFT_OFFLINE: Final[ int]
118
+ MADV_HUGEPAGE : Final [ int ]
119
+ MADV_NOHUGEPAGE : Final [ int ]
120
+ MADV_DONTDUMP : Final [ int ]
121
+ MADV_DODUMP : Final [ int ]
117
122
118
123
# This Values are defined for FreeBSD but type checkers do not support conditions for these
119
124
if sys .platform != "linux" and sys .platform != "darwin" and sys .platform != "win32" :
120
- MADV_NOSYNC : int
121
- MADV_AUTOSYNC : int
122
- MADV_NOCORE : int
123
- MADV_CORE : int
124
- MADV_PROTECT : int
125
+ MADV_NOSYNC : Final [ int ]
126
+ MADV_AUTOSYNC : Final [ int ]
127
+ MADV_NOCORE : Final [ int ]
128
+ MADV_CORE : Final [ int ]
129
+ MADV_PROTECT : Final [ int ]
125
130
126
131
if sys .version_info >= (3 , 10 ) and sys .platform == "darwin" :
127
- MADV_FREE_REUSABLE : int
128
- MADV_FREE_REUSE : int
132
+ MADV_FREE_REUSABLE : Final [ int ]
133
+ MADV_FREE_REUSE : Final [ int ]
129
134
130
135
if sys .version_info >= (3 , 13 ) and sys .platform != "win32" :
131
- MAP_32BIT : Final = 32768
136
+ MAP_32BIT : Final [ int ]
132
137
133
138
if sys .version_info >= (3 , 13 ) and sys .platform == "darwin" :
134
139
MAP_NORESERVE : Final = 64
0 commit comments