from _typeshed import Incomplete

# TODO: Add POSIX constants and check their aviability (see psutil_posix_add_constants)
AF_LINK: Incomplete

def getpagesize() -> int: ...
def net_if_addrs(): ...
def net_if_flags(nic_name: str, /) -> list[str]: ...
def net_if_is_running(nic_name: str, /) -> bool: ...
def net_if_mtu(nic_name: str, /) -> int: ...
def proc_priority_get(pid: int, /) -> int: ...
def proc_priority_set(pid: int, priority: int, /) -> None: ...
def net_if_duplex_speed(nic_name: str, /): ...
def proc_is_zombie(pid: int, /) -> bool: ...

SIDL: Incomplete
SRUN: Incomplete
SSLEEP: Incomplete
SSTOP: Incomplete
SZOMB: Incomplete
SWAIT: Incomplete  # only FreeBSD
SLOCK: Incomplete  # only FreeBSD
SDEAD: Incomplete  # only OpenBSD and NetBSD
SONPROC: Incomplete  # only OpenBSD and NetBSD
SSUSPENDED: Incomplete  # only NetBSD
TCPS_CLOSED: Incomplete
TCPS_CLOSING: Incomplete
TCPS_CLOSE_WAIT: Incomplete
TCPS_LISTEN: Incomplete
TCPS_ESTABLISHED: Incomplete
TCPS_SYN_SENT: Incomplete
TCPS_SYN_RECEIVED: Incomplete
TCPS_FIN_WAIT_1: Incomplete
TCPS_FIN_WAIT_2: Incomplete
TCPS_LAST_ACK: Incomplete
TCPS_TIME_WAIT: Incomplete
PSUTIL_CONN_NONE: Incomplete

def proc_cmdline(*args, **kwargs): ...
def proc_cwd(*args, **kwargs): ...
def proc_environ(*args, **kwargs): ...
def proc_name(*args, **kwargs): ...
def proc_num_fds(*args, **kwargs): ...
def proc_oneshot_info(*args, **kwargs): ...
def proc_open_files(*args, **kwargs): ...
def proc_threads(*args, **kwargs): ...
def proc_num_threads(*args, **kwargs): ...  # only FreeBSD and OpenBSD
def proc_cpu_affinity_get(*args, **kwargs): ...  # only FreeBSD
def proc_cpu_affinity_set(*args, **kwargs): ...  # only FreeBSD
def proc_exe(*args, **kwargs): ...  # only FreeBSD
def proc_getrlimit(*args, **kwargs): ...  # only FreeBSD
def proc_memory_maps(*args, **kwargs): ...  # only FreeBSD
def proc_net_connections(*args, **kwargs): ...  # only FreeBSD
def proc_setrlimit(*args, **kwargs): ...  # only FreeBSD
def boot_time(*args, **kwargs): ...
def cpu_count_logical(*args, **kwargs): ...
def cpu_stats(*args, **kwargs): ...
def cpu_times(*args, **kwargs): ...
def disk_io_counters(*args, **kwargs): ...
def disk_partitions(*args, **kwargs): ...
def net_connections(*args, **kwargs): ...
def net_io_counters(*args, **kwargs): ...
def per_cpu_times(*args, **kwargs): ...
def pids(*args, **kwargs): ...
def swap_mem(*args, **kwargs): ...
def users(*args, **kwargs): ...
def virtual_mem(*args, **kwargs): ...
def cpu_freq(*args, **kwargs): ...  # only FreeBSD and OpenBSD
def cpu_topology(*args, **kwargs): ...  # only FreeBSD
def sensors_battery(*args, **kwargs): ...  # only FreeBSD
def sensors_cpu_temperature(*args, **kwargs): ...  # only FreeBSD
def check_pid_range(*args, **kwargs): ...
def set_debug(*args, **kwargs): ...
