![]() |
Sunshine v2025.628.4510
Self-hosted game stream host for Moonlight.
|
Miscellaneous definitions for macOS platform. More...
#include <fcntl.h>#include <ifaddrs.h>#include <arpa/inet.h>#include <dlfcn.h>#include <Foundation/Foundation.h>#include <mach-o/dyld.h>#include <net/if_dl.h>#include <pwd.h>#include <boost/asio/ip/address.hpp>#include <boost/asio/ip/host_name.hpp>#include <boost/process/v1.hpp>#include "misc.h"#include "src/entry_handler.h"#include "src/logging.h"#include "src/platform/common.h"Classes | |
| class | platf::macos_high_precision_timer |
| class | platf::qos_t |
Macros | |
| #define | __APPLE_USE_RFC_3542 1 |
Functions | |
| void | platf::adjust_thread_priority (thread_priority_e priority) |
| std::filesystem::path | platf::appdata () |
| Performs migration if necessary, then returns the appdata directory. | |
| bool | platf::CGPreflightScreenCaptureAccess (void) __attribute__((weak_import)) |
| bool | platf::CGRequestScreenCaptureAccess (void) __attribute__((weak_import)) |
| std::unique_ptr< high_precision_timer > | platf::create_high_precision_timer () |
| Create platform-specific timer capable of high-precision sleep. | |
| std::unique_ptr< deinit_t > | platf::enable_socket_qos (uintptr_t native_socket, boost::asio::ip::address &address, uint16_t port, qos_data_type_e data_type, bool dscp_tagging) |
| Enable QoS on the given socket for traffic to the specified destination. | |
| std::string | platf::from_sockaddr (const sockaddr *const) |
| std::pair< std::uint16_t, std::string > | platf::from_sockaddr_ex (const sockaddr *const) |
| std::string | platf::get_host_name () |
| Returns the current computer name in UTF-8. | |
| ifaddr_t | platf::get_ifaddrs () |
| std::string | platf::get_mac_address (const std::string_view &address) |
| void * | dyn::handle (const std::vector< const char * > &libs) |
| std::unique_ptr< deinit_t > | platf::init () |
| bool | platf::is_screen_capture_allowed () |
| int | dyn::load (void *handle, const std::vector< std::tuple< apiproc *, const char * > > &funcs, bool strict) |
| void | platf::open_url (const std::string &url) |
| Open a url in the default web browser. | |
| bool | platf::process_group_running (std::uintptr_t native_handle) |
| Check if a process group still has running children. | |
| bool | platf::request_process_group_exit (std::uintptr_t native_handle) |
| Attempt to gracefully terminate a process group. | |
| void | platf::restart () |
| void | platf::restart_on_exit () |
| bp::child | platf::run_command (bool elevated, bool interactive, const std::string &cmd, boost::filesystem::path &working_dir, const bp::environment &env, FILE *file, std::error_code &ec, bp::group *group) |
| Run a command on the users profile. | |
| bool | platf::send (send_info_t &send_info) |
| bool | platf::send_batch (batched_send_info_t &send_info) |
| int | platf::set_env (const std::string &name, const std::string &value) |
| Set an environment variable. | |
| void | platf::streaming_will_start () |
| void | platf::streaming_will_stop () |
| struct sockaddr_in | platf::to_sockaddr (boost::asio::ip::address_v4 address, uint16_t port) |
| struct sockaddr_in6 | platf::to_sockaddr (boost::asio::ip::address_v6 address, uint16_t port) |
| int | platf::unset_env (const std::string &name) |
| Unset an environment variable. | |
Miscellaneous definitions for macOS platform.
| std::filesystem::path platf::appdata | ( | ) |
Performs migration if necessary, then returns the appdata directory.
This is used for the log directory, so it cannot invoke Boost logging!
| std::unique_ptr< high_precision_timer > platf::create_high_precision_timer | ( | ) |
Create platform-specific timer capable of high-precision sleep.
| std::unique_ptr< deinit_t > platf::enable_socket_qos | ( | uintptr_t | native_socket, |
| boost::asio::ip::address & | address, | ||
| uint16_t | port, | ||
| qos_data_type_e | data_type, | ||
| bool | dscp_tagging ) |
Enable QoS on the given socket for traffic to the specified destination.
Enables QoS on the given socket for traffic to the specified destination.
| native_socket | The native socket handle. |
| address | The destination address for traffic sent on this socket. |
| port | The destination port for traffic sent on this socket. |
| data_type | The type of traffic sent on this socket. |
| dscp_tagging | Specifies whether to enable DSCP tagging on outgoing traffic. |
| std::string platf::get_host_name | ( | ) |
Returns the current computer name in UTF-8.
| void platf::open_url | ( | const std::string & | url | ) |
Open a url in the default web browser.
| url | The url to open. |
| bool platf::process_group_running | ( | std::uintptr_t | native_handle | ) |
Check if a process group still has running children.
| native_handle | The native handle of the process group. |
true if processes are still running. | bool platf::request_process_group_exit | ( | std::uintptr_t | native_handle | ) |
Attempt to gracefully terminate a process group.
| native_handle | The native handle of the process group. |
true if termination was successfully requested. | bp::child platf::run_command | ( | bool | elevated, |
| bool | interactive, | ||
| const std::string & | cmd, | ||
| boost::filesystem::path & | working_dir, | ||
| const bp::environment & | env, | ||
| FILE * | file, | ||
| std::error_code & | ec, | ||
| bp::group * | group ) |
Run a command on the users profile.
Launches a child process as the user, using the current user's environment and a specific working directory.
| elevated | Specify whether to elevate the process. |
| interactive | Specify whether this will run in a window or hidden. |
| cmd | The command to run. |
| working_dir | The working directory for the new process. |
| env | The environment variables to use for the new process. |
| file | A file object to redirect the child process's output to (may be nullptr). |
| ec | An error code, set to indicate any errors that occur during the launch process. |
| group | A pointer to a bp::group object to which the new process should belong (may be nullptr). |
bp::child object representing the new process, or an empty bp::child object if the launch fails. | int platf::set_env | ( | const std::string & | name, |
| const std::string & | value ) |
Set an environment variable.
| name | The name of the environment variable. |
| value | The value to set the environment variable to. |
| int platf::unset_env | ( | const std::string & | name | ) |
Unset an environment variable.
| name | The name of the environment variable. |