mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-06 20:24:30 +08:00
189 lines
5.3 KiB
Python
189 lines
5.3 KiB
Python
import sys
|
|
from _typeshed import structseq
|
|
from collections.abc import Callable, Iterable
|
|
from enum import IntEnum
|
|
from types import FrameType
|
|
from typing import Any, Final, final
|
|
from typing_extensions import Never, TypeAlias
|
|
|
|
NSIG: int
|
|
|
|
class Signals(IntEnum):
|
|
SIGABRT = 6
|
|
SIGFPE = 8
|
|
SIGILL = 4
|
|
SIGINT = 2
|
|
SIGSEGV = 11
|
|
SIGTERM = 15
|
|
|
|
if sys.platform == "win32":
|
|
SIGBREAK = 21
|
|
CTRL_C_EVENT = 0
|
|
CTRL_BREAK_EVENT = 1
|
|
else:
|
|
SIGALRM = 14
|
|
SIGBUS = 7
|
|
SIGCHLD = 17
|
|
SIGCONT = 18
|
|
SIGHUP = 1
|
|
SIGIO = 29
|
|
SIGIOT = 6
|
|
SIGKILL = 9
|
|
SIGPIPE = 13
|
|
SIGPROF = 27
|
|
SIGQUIT = 3
|
|
SIGSTOP = 19
|
|
SIGSYS = 31
|
|
SIGTRAP = 5
|
|
SIGTSTP = 20
|
|
SIGTTIN = 21
|
|
SIGTTOU = 22
|
|
SIGURG = 23
|
|
SIGUSR1 = 10
|
|
SIGUSR2 = 12
|
|
SIGVTALRM = 26
|
|
SIGWINCH = 28
|
|
SIGXCPU = 24
|
|
SIGXFSZ = 25
|
|
if sys.platform != "linux":
|
|
SIGEMT = 7
|
|
SIGINFO = 29
|
|
if sys.platform != "darwin":
|
|
SIGCLD = 17
|
|
SIGPOLL = 29
|
|
SIGPWR = 30
|
|
SIGRTMAX = 64
|
|
SIGRTMIN = 34
|
|
if sys.version_info >= (3, 11):
|
|
SIGSTKFLT = 16
|
|
|
|
class Handlers(IntEnum):
|
|
SIG_DFL = 0
|
|
SIG_IGN = 1
|
|
|
|
SIG_DFL: Handlers
|
|
SIG_IGN: Handlers
|
|
|
|
_SIGNUM: TypeAlias = int | Signals
|
|
_HANDLER: TypeAlias = Callable[[int, FrameType | None], Any] | int | Handlers | None
|
|
|
|
def default_int_handler(signalnum: int, frame: FrameType | None, /) -> Never: ...
|
|
|
|
if sys.version_info >= (3, 10): # arguments changed in 3.10.2
|
|
def getsignal(signalnum: _SIGNUM) -> _HANDLER: ...
|
|
def signal(signalnum: _SIGNUM, handler: _HANDLER) -> _HANDLER: ...
|
|
|
|
else:
|
|
def getsignal(signalnum: _SIGNUM, /) -> _HANDLER: ...
|
|
def signal(signalnum: _SIGNUM, handler: _HANDLER, /) -> _HANDLER: ...
|
|
|
|
SIGABRT: Signals
|
|
SIGFPE: Signals
|
|
SIGILL: Signals
|
|
SIGINT: Signals
|
|
SIGSEGV: Signals
|
|
SIGTERM: Signals
|
|
|
|
if sys.platform == "win32":
|
|
SIGBREAK: Signals
|
|
CTRL_C_EVENT: Signals
|
|
CTRL_BREAK_EVENT: Signals
|
|
else:
|
|
if sys.platform != "linux":
|
|
SIGINFO: Signals
|
|
SIGEMT: Signals
|
|
SIGALRM: Signals
|
|
SIGBUS: Signals
|
|
SIGCHLD: Signals
|
|
SIGCONT: Signals
|
|
SIGHUP: Signals
|
|
SIGIO: Signals
|
|
SIGIOT: Signals
|
|
SIGKILL: Signals
|
|
SIGPIPE: Signals
|
|
SIGPROF: Signals
|
|
SIGQUIT: Signals
|
|
SIGSTOP: Signals
|
|
SIGSYS: Signals
|
|
SIGTRAP: Signals
|
|
SIGTSTP: Signals
|
|
SIGTTIN: Signals
|
|
SIGTTOU: Signals
|
|
SIGURG: Signals
|
|
SIGUSR1: Signals
|
|
SIGUSR2: Signals
|
|
SIGVTALRM: Signals
|
|
SIGWINCH: Signals
|
|
SIGXCPU: Signals
|
|
SIGXFSZ: Signals
|
|
|
|
class ItimerError(OSError): ...
|
|
ITIMER_PROF: int
|
|
ITIMER_REAL: int
|
|
ITIMER_VIRTUAL: int
|
|
|
|
class Sigmasks(IntEnum):
|
|
SIG_BLOCK = 0
|
|
SIG_UNBLOCK = 1
|
|
SIG_SETMASK = 2
|
|
|
|
SIG_BLOCK = Sigmasks.SIG_BLOCK
|
|
SIG_UNBLOCK = Sigmasks.SIG_UNBLOCK
|
|
SIG_SETMASK = Sigmasks.SIG_SETMASK
|
|
def alarm(seconds: int, /) -> int: ...
|
|
def getitimer(which: int, /) -> tuple[float, float]: ...
|
|
def pause() -> None: ...
|
|
def pthread_kill(thread_id: int, signalnum: int, /) -> None: ...
|
|
if sys.version_info >= (3, 10): # arguments changed in 3.10.2
|
|
def pthread_sigmask(how: int, mask: Iterable[int]) -> set[_SIGNUM]: ...
|
|
else:
|
|
def pthread_sigmask(how: int, mask: Iterable[int], /) -> set[_SIGNUM]: ...
|
|
|
|
def setitimer(which: int, seconds: float, interval: float = 0.0, /) -> tuple[float, float]: ...
|
|
def siginterrupt(signalnum: int, flag: bool, /) -> None: ...
|
|
def sigpending() -> Any: ...
|
|
if sys.version_info >= (3, 10): # argument changed in 3.10.2
|
|
def sigwait(sigset: Iterable[int]) -> _SIGNUM: ...
|
|
else:
|
|
def sigwait(sigset: Iterable[int], /) -> _SIGNUM: ...
|
|
if sys.platform != "darwin":
|
|
SIGCLD: Signals
|
|
SIGPOLL: Signals
|
|
SIGPWR: Signals
|
|
SIGRTMAX: Signals
|
|
SIGRTMIN: Signals
|
|
if sys.version_info >= (3, 11):
|
|
SIGSTKFLT: Signals
|
|
|
|
@final
|
|
class struct_siginfo(structseq[int], tuple[int, int, int, int, int, int, int]):
|
|
if sys.version_info >= (3, 10):
|
|
__match_args__: Final = ("si_signo", "si_code", "si_errno", "si_pid", "si_uid", "si_status", "si_band")
|
|
|
|
@property
|
|
def si_signo(self) -> int: ...
|
|
@property
|
|
def si_code(self) -> int: ...
|
|
@property
|
|
def si_errno(self) -> int: ...
|
|
@property
|
|
def si_pid(self) -> int: ...
|
|
@property
|
|
def si_uid(self) -> int: ...
|
|
@property
|
|
def si_status(self) -> int: ...
|
|
@property
|
|
def si_band(self) -> int: ...
|
|
|
|
def sigtimedwait(sigset: Iterable[int], timeout: float, /) -> struct_siginfo | None: ...
|
|
def sigwaitinfo(sigset: Iterable[int], /) -> struct_siginfo: ...
|
|
|
|
def strsignal(signalnum: _SIGNUM, /) -> str | None: ...
|
|
def valid_signals() -> set[Signals]: ...
|
|
def raise_signal(signalnum: _SIGNUM, /) -> None: ...
|
|
def set_wakeup_fd(fd: int, /, *, warn_on_full_buffer: bool = ...) -> int: ...
|
|
|
|
if sys.version_info >= (3, 9):
|
|
if sys.platform == "linux":
|
|
def pidfd_send_signal(pidfd: int, sig: int, siginfo: None = None, flags: int = ..., /) -> None: ...
|