_posixsubprocess.cloexec_pipe
curses.has_key
(os|posix).sched_param  # system dependent. Unclear if macos has it.
select.KQ_FILTER_NETDEV  # system dependent
select.kqueue.__init__  # default C signature is wrong
select.POLLMSG   # system dependent

# Sometimes these seem to exist on darwin, sometimes not
(_curses.A_ITALIC)?
(curses.A_ITALIC)?
(_socket.MSG_NOSIGNAL)?
(socket.MsgFlag.MSG_NOSIGNAL)?
(socket.MSG_NOSIGNAL)?
(os.preadv)?
(os.pwritev)?
(posix.preadv)?
(posix.pwritev)?
(readline.append_history_file)?
(fcntl.F_GETLEASE)?
(fcntl.F_SETLEASE)?

# Platform differences that cannot be captured by the type system
(posix.O_[A-Z_]+)?
(posix.ST_[A-Z]+)?
(termios.[A-Z0-9_]+)?

# Exists at runtime, but missing from stubs
_ctypes.dlclose
_ctypes.dlopen
_ctypes.dlsym

# ==========
# Allowlist entries that cannot or should not be fixed
# ==========

# Modules that do not exist on macos systems
_msi
_winapi
asyncio.windows_events
asyncio.windows_utils
msvcrt
nt
winreg
winsound

# multiprocessing.popen_spawn_win32 exists on Darwin but fail to import
multiprocessing.popen_spawn_win32

# Platform differences that cannot be captured by the type system
os.SCHED_[A-Z_]+
posix.SCHED_[A-Z_]+

# Some of these exist on non-windows, but they are useless and this is not intended
stat.FILE_ATTRIBUTE_[A-Z_]+

# Methods that come from __getattr__() at runtime
tkinter.Tk.createfilehandler
tkinter.Tk.deletefilehandler

_?curses.ACS_.* # ACS codes are initialized only after initscr call
curses.COLORS  # Initialized after start_color
curses.COLOR_PAIRS  # Initialized after start_color
curses.COLS  # Initialized only after initscr call
curses.LINES  # Initialized only after initscr call
