use core::ffi::*;
use core::ptr::NonNull;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use objc2_core_foundation::*;
use crate::*;
pub const kNoProcess: c_uint = 0;
pub const kSystemProcess: c_uint = 1;
pub const kCurrentProcess: c_uint = 2;
pub type LaunchFlags = u16;
pub const launchContinue: c_uint = 0x4000;
pub const launchNoFileFlags: c_uint = 0x0800;
pub const launchUseMinimum: c_uint = 0x0400;
pub const launchDontSwitch: c_uint = 0x0200;
pub const launchAllow24Bit: c_uint = 0x0100;
pub const launchInhibitDaemon: c_uint = 0x0080;
#[repr(C, packed(2))]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AppParameters_theMsgEvent {
pub what: u16,
pub message: u32,
pub when: u32,
pub r#where: Point,
pub modifiers: u16,
}
#[cfg(feature = "objc2")]
unsafe impl Encode for AppParameters_theMsgEvent {
const ENCODING: Encoding = Encoding::Struct(
"?",
&[
<u16>::ENCODING,
<u32>::ENCODING,
<u32>::ENCODING,
<Point>::ENCODING,
<u16>::ENCODING,
],
);
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for AppParameters_theMsgEvent {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C, packed(2))]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct AppParameters {
pub theMsgEvent: AppParameters_theMsgEvent,
pub eventRefCon: u32,
pub messageLength: u32,
}
#[cfg(feature = "objc2")]
unsafe impl Encode for AppParameters {
const ENCODING: Encoding = Encoding::Struct(
"AppParameters",
&[
<AppParameters_theMsgEvent>::ENCODING,
<u32>::ENCODING,
<u32>::ENCODING,
],
);
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for AppParameters {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type AppParametersPtr = *mut AppParameters;
pub const extendedBlock: c_uint = 0x4C43;
pub const modeReserved: c_uint = 0x01000000;
pub const modeControlPanel: c_uint = 0x00080000;
pub const modeLaunchDontSwitch: c_uint = 0x00040000;
pub const modeDeskAccessory: c_uint = 0x00020000;
pub const modeMultiLaunch: c_uint = 0x00010000;
pub const modeNeedSuspendResume: c_uint = 0x00004000;
pub const modeCanBackground: c_uint = 0x00001000;
pub const modeDoesActivateOnFGSwitch: c_uint = 0x00000800;
pub const modeOnlyBackground: c_uint = 0x00000400;
pub const modeGetFrontClicks: c_uint = 0x00000200;
pub const modeGetAppDiedMsg: c_uint = 0x00000100;
pub const mode32BitCompatible: c_uint = 0x00000080;
pub const modeHighLevelEventAware: c_uint = 0x00000040;
pub const modeLocalAndRemoteHLEvents: c_uint = 0x00000020;
pub const modeStationeryAware: c_uint = 0x00000010;
pub const modeUseTextEditServices: c_uint = 0x00000008;
pub const modeDisplayManagerAware: c_uint = 0x00000004;
pub type ProcessApplicationTransformState = u32;
pub const kProcessTransformToForegroundApplication: c_uint = 1;
pub const kProcessTransformToBackgroundApplication: c_uint = 2;
pub const kProcessTransformToUIElementApplication: c_uint = 4;
#[repr(C, packed(2))]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct SizeResourceRec {
pub flags: u16,
pub preferredHeapSize: u32,
pub minimumHeapSize: u32,
}
#[cfg(feature = "objc2")]
unsafe impl Encode for SizeResourceRec {
const ENCODING: Encoding = Encoding::Struct(
"SizeResourceRec",
&[<u16>::ENCODING, <u32>::ENCODING, <u32>::ENCODING],
);
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for SizeResourceRec {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type SizeResourceRecPtr = *mut SizeResourceRec;
pub type SizeResourceRecHandle = *mut SizeResourceRecPtr;
pub const kQuitBeforeNormalTimeMask: c_uint = 1;
pub const kQuitAtNormalTimeMask: c_uint = 2;
pub const kQuitBeforeFBAsQuitMask: c_uint = 4;
pub const kQuitBeforeShellQuitsMask: c_uint = 8;
pub const kQuitBeforeTerminatorAppQuitsMask: c_uint = 16;
pub const kQuitNeverMask: c_uint = 32;
pub const kQuitOptionsMask: c_uint = 0x7F;
pub const kQuitNotQuitDuringInstallMask: c_uint = 0x0100;
pub const kQuitNotQuitDuringLogoutMask: c_uint = 0x0200;
extern "C-unwind" {
#[deprecated]
pub fn GetCurrentProcess(p_psn: *mut ProcessSerialNumber) -> OSErr;
}
extern "C-unwind" {
#[deprecated]
pub fn GetFrontProcess(p_psn: *mut ProcessSerialNumber) -> OSErr;
}
extern "C-unwind" {
#[deprecated]
pub fn GetNextProcess(p_psn: *mut ProcessSerialNumber) -> OSErr;
}
#[deprecated]
#[inline]
pub unsafe extern "C-unwind" fn ProcessInformationCopyDictionary(
psn: *const ProcessSerialNumber,
info_to_return: u32,
) -> Option<CFRetained<CFDictionary>> {
extern "C-unwind" {
fn ProcessInformationCopyDictionary(
psn: *const ProcessSerialNumber,
info_to_return: u32,
) -> Option<NonNull<CFDictionary>>;
}
let ret = unsafe { ProcessInformationCopyDictionary(psn, info_to_return) };
ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
}
extern "C-unwind" {
#[deprecated]
pub fn SetFrontProcess(p_psn: *const ProcessSerialNumber) -> OSErr;
}
pub const kSetFrontProcessFrontWindowOnly: c_uint = 1 << 0;
pub const kSetFrontProcessCausedByUser: c_uint = 1 << 1;
extern "C-unwind" {
#[deprecated]
pub fn SetFrontProcessWithOptions(
in_process: *const ProcessSerialNumber,
in_options: OptionBits,
) -> OSStatus;
}
extern "C-unwind" {
#[deprecated]
pub fn WakeUpProcess(psn: *const ProcessSerialNumber) -> OSErr;
}
extern "C-unwind" {
#[deprecated]
pub fn SameProcess(
psn1: *const ProcessSerialNumber,
psn2: *const ProcessSerialNumber,
result: *mut Boolean,
) -> OSErr;
}
extern "C-unwind" {
#[deprecated]
pub fn ExitToShell();
}
extern "C-unwind" {
#[deprecated]
pub fn KillProcess(in_process: *const ProcessSerialNumber) -> OSErr;
}
extern "C-unwind" {
#[deprecated]
pub fn CopyProcessName(psn: *const ProcessSerialNumber, name: *mut *const CFString)
-> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "libc")]
#[deprecated]
pub fn GetProcessPID(psn: *const ProcessSerialNumber, pid: *mut libc::pid_t) -> OSStatus;
}
extern "C-unwind" {
#[cfg(feature = "libc")]
#[deprecated]
pub fn GetProcessForPID(pid: libc::pid_t, psn: *mut ProcessSerialNumber) -> OSStatus;
}
#[deprecated]
#[inline]
pub unsafe extern "C-unwind" fn IsProcessVisible(psn: *const ProcessSerialNumber) -> bool {
extern "C-unwind" {
fn IsProcessVisible(psn: *const ProcessSerialNumber) -> Boolean;
}
let ret = unsafe { IsProcessVisible(psn) };
ret != 0
}
#[deprecated]
#[inline]
pub unsafe extern "C-unwind" fn ShowHideProcess(
psn: *const ProcessSerialNumber,
visible: bool,
) -> OSErr {
extern "C-unwind" {
fn ShowHideProcess(psn: *const ProcessSerialNumber, visible: Boolean) -> OSErr;
}
unsafe { ShowHideProcess(psn, visible as _) }
}
extern "C-unwind" {
pub fn TransformProcessType(
psn: *const ProcessSerialNumber,
transform_state: ProcessApplicationTransformState,
) -> OSStatus;
}
pub const initDev: c_uint = 0;
pub const hitDev: c_uint = 1;
pub const closeDev: c_uint = 2;
pub const nulDev: c_uint = 3;
pub const updateDev: c_uint = 4;
pub const activDev: c_uint = 5;
pub const deactivDev: c_uint = 6;
pub const keyEvtDev: c_uint = 7;
pub const macDev: c_uint = 8;
pub const undoDev: c_uint = 9;
pub const cutDev: c_uint = 10;
pub const copyDev: c_uint = 11;
pub const pasteDev: c_uint = 12;
pub const clearDev: c_uint = 13;
pub const cursorDev: c_uint = 14;
pub const cdevGenErr: c_int = -1;
pub const cdevMemErr: c_int = 0;
pub const cdevResErr: c_int = 1;
pub const cdevUnset: c_int = 3;