mirror of
https://github.com/etaHEN/etaHEN.git
synced 2026-01-12 19:25:33 +08:00
etaHEN 2.4B etaHEN 2.4B Change log - Updated to support the latest PS5 Payload SDK - Fixed etaHEN and Cheats support for 8.40-10.01 - Added a Game Overlay menu to show CPU/GPU Temp and utilization, Local IP Address and other future states - Added a Kstuff menu for options like downloading the latest kstuff from github, turning off kstufff autoload and more - Added a Custom Background Package Installer for installing PKGs from internal storage from any directory (Requires DPIv2 enabled for 5.50+) - DPIv2 can now download local files via url example http://192.xxx.xxx.xxx:12800/data/etaHEN/etaHEN.log - Improved Cheats support, cheats with or without 0 sections are now supported - Added Fix by TheFlow to Improve 2.xx PS4 PKG speeds - Replaced the donation links in the etaHEN credits menu with ones to github sponsers - Removed the non-whitelist app jailbreak option and moved it to an optional Legacy CMD Server option in the etaHEN Settings off by default - Game Decryptor has been updated for the Itemzflow Dumper - Updated the Plugin loader System - The Payload SDK ELFLDR is now REQUIRED for etaHEN to load - Replaced HTTP2 with Curl for better compatibility - Added timeout for ShellUI to receive a response (will stop it from freezing if no response is given) small fix
554 lines
17 KiB
C++
554 lines
17 KiB
C++
/* Copyright (C) 2025 etaHEN / LightningMods
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License as published by the
|
|
Free Software Foundation; either version 3, or (at your option) any
|
|
later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; see the file COPYING. If not, see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
#pragma once
|
|
#include <cstdint>
|
|
#include <sys/types.h>
|
|
|
|
#define SCE_OK 0
|
|
struct AppMessage {
|
|
static constexpr size_t PAYLOAD_SIZE = 8192;
|
|
uint32_t sender;
|
|
uint32_t msgType;
|
|
char payload[PAYLOAD_SIZE];
|
|
uint32_t payloadSize;
|
|
uint64_t timestamp;
|
|
};
|
|
|
|
|
|
typedef struct
|
|
{
|
|
unsigned int size;
|
|
uint32_t userId;
|
|
} SceShellUIUtilLaunchByUriParam;
|
|
|
|
typedef struct
|
|
{
|
|
int32_t type; // 0x00
|
|
int32_t req_id; // 0x04
|
|
int32_t priority; // 0x08
|
|
int32_t msg_id; // 0x0C
|
|
int32_t target_id; // 0x10
|
|
int32_t user_id; // 0x14
|
|
int32_t unk1; // 0x18
|
|
int32_t unk2; // 0x1C
|
|
int32_t app_id; // 0x20
|
|
int32_t error_num; // 0x24
|
|
int32_t unk3; // 0x28
|
|
char use_icon_image_uri; // 0x2C
|
|
char message[1024]; // 0x2D
|
|
char uri[1024]; // 0x42D
|
|
char unkstr[1024]; // 0x82D
|
|
} OrbisNotificationRequest; // Size = 0xC30
|
|
#define SCE_NET_CTL_STATE_DISCONNECTED 0
|
|
#define SCE_NET_CTL_STATE_CONNECTING 1
|
|
#define SCE_NET_CTL_STATE_IPOBTAINING 2
|
|
#define SCE_NET_CTL_STATE_IPOBTAINED 3
|
|
|
|
/* event type */
|
|
#define SCE_NET_CTL_EVENT_TYPE_DISCONNECTED 1
|
|
#define SCE_NET_CTL_EVENT_TYPE_DISCONNECT_REQ_FINISHED 2
|
|
#define SCE_NET_CTL_EVENT_TYPE_IPOBTAINED 3
|
|
|
|
/* info code */
|
|
#define SCE_NET_CTL_INFO_DEVICE 1
|
|
#define SCE_NET_CTL_INFO_ETHER_ADDR 2
|
|
#define SCE_NET_CTL_INFO_MTU 3
|
|
#define SCE_NET_CTL_INFO_LINK 4
|
|
#define SCE_NET_CTL_INFO_BSSID 5
|
|
#define SCE_NET_CTL_INFO_SSID 6
|
|
#define SCE_NET_CTL_INFO_WIFI_SECURITY 7
|
|
#define SCE_NET_CTL_INFO_RSSI_DBM 8
|
|
#define SCE_NET_CTL_INFO_RSSI_PERCENTAGE 9
|
|
#define SCE_NET_CTL_INFO_CHANNEL 10
|
|
#define SCE_NET_CTL_INFO_IP_CONFIG 11
|
|
#define SCE_NET_CTL_INFO_DHCP_HOSTNAME 12
|
|
#define SCE_NET_CTL_INFO_PPPOE_AUTH_NAME 13
|
|
#define SCE_NET_CTL_INFO_IP_ADDRESS 14
|
|
#define SCE_NET_CTL_INFO_NETMASK 15
|
|
#define SCE_NET_CTL_INFO_DEFAULT_ROUTE 16
|
|
#define SCE_NET_CTL_INFO_PRIMARY_DNS 17
|
|
#define SCE_NET_CTL_INFO_SECONDARY_DNS 18
|
|
#define SCE_NET_CTL_INFO_HTTP_PROXY_CONFIG 19
|
|
#define SCE_NET_CTL_INFO_HTTP_PROXY_SERVER 20
|
|
#define SCE_NET_CTL_INFO_HTTP_PROXY_PORT 21
|
|
#define SCE_NET_CTL_INFO_RESERVED1 22
|
|
#define SCE_NET_CTL_INFO_RESERVED2 23
|
|
|
|
/* device */
|
|
#define SCE_NET_CTL_DEVICE_WIRED 0
|
|
#define SCE_NET_CTL_DEVICE_WIRELESS 1
|
|
|
|
/* link */
|
|
#define SCE_NET_CTL_LINK_DISCONNECTED 0
|
|
#define SCE_NET_CTL_LINK_CONNECTED 1
|
|
|
|
/* wifi_security */
|
|
#define SCE_NET_CTL_WIFI_SECURITY_NOAUTH 0
|
|
#define SCE_NET_CTL_WIFI_SECURITY_WEP 1
|
|
#define SCE_NET_CTL_WIFI_SECURITY_WPAPSK_WPA2PSK 2
|
|
#define SCE_NET_CTL_WIFI_SECURITY_WPAPSK_TKIP 3
|
|
#define SCE_NET_CTL_WIFI_SECURITY_WPAPSK_AES 4
|
|
#define SCE_NET_CTL_WIFI_SECURITY_WPA2PSK_TKIP 5
|
|
#define SCE_NET_CTL_WIFI_SECURITY_WPA2PSK_AES 6
|
|
#define SCE_NET_CTL_WIFI_SECURITY_UNSUPPORTED 7
|
|
|
|
/* ip_config */
|
|
#define SCE_NET_CTL_IP_DHCP 0
|
|
#define SCE_NET_CTL_IP_STATIC 1
|
|
#define SCE_NET_CTL_IP_PPPOE 2
|
|
|
|
/* http_proxy_config */
|
|
#define SCE_NET_CTL_HTTP_PROXY_OFF 0
|
|
#define SCE_NET_CTL_HTTP_PROXY_ON 1
|
|
|
|
#define SCE_NET_CTL_SSID_LEN (32 + 1)
|
|
#define SCE_NET_CTL_WIFI_SECURITY_KEY_LEN (64 + 1)
|
|
#define SCE_NET_CTL_AUTH_NAME_LEN (127 + 1)
|
|
#define SCE_NET_CTL_AUTH_KEY_LEN (127 + 1)
|
|
#define SCE_NET_CTL_HOSTNAME_LEN (255 + 1)
|
|
#define SCE_NET_CTL_IPV4_ADDR_STR_LEN (16)
|
|
|
|
#define SCE_NET_ETHER_ADDR_LEN 6
|
|
#define SCE_NET_ETHER_ADDRSTRLEN 18
|
|
|
|
typedef struct SceNetEtherAddr {
|
|
uint8_t data[SCE_NET_ETHER_ADDR_LEN];
|
|
} SceNetEtherAddr;
|
|
|
|
typedef void (*SceNetCtlCallback)(
|
|
int eventType, /* SCE_NET_CTL_EVENT_TYPE_XXX */
|
|
void *arg
|
|
);
|
|
|
|
typedef union SceNetCtlInfo {
|
|
uint32_t device;
|
|
SceNetEtherAddr ether_addr;
|
|
uint32_t mtu;
|
|
uint32_t link;
|
|
SceNetEtherAddr bssid;
|
|
char ssid[SCE_NET_CTL_SSID_LEN];
|
|
uint32_t wifi_security;
|
|
int32_t rssi_dbm;
|
|
uint8_t rssi_percentage;
|
|
uint8_t channel;
|
|
uint32_t ip_config;
|
|
char dhcp_hostname[SCE_NET_CTL_HOSTNAME_LEN];
|
|
char pppoe_auth_name[SCE_NET_CTL_AUTH_NAME_LEN];
|
|
char ip_address[SCE_NET_CTL_IPV4_ADDR_STR_LEN];
|
|
char netmask[SCE_NET_CTL_IPV4_ADDR_STR_LEN];
|
|
char default_route[SCE_NET_CTL_IPV4_ADDR_STR_LEN];
|
|
char primary_dns[SCE_NET_CTL_IPV4_ADDR_STR_LEN];
|
|
char secondary_dns[SCE_NET_CTL_IPV4_ADDR_STR_LEN];
|
|
uint32_t http_proxy_config;
|
|
char http_proxy_server[SCE_NET_CTL_HOSTNAME_LEN];
|
|
uint16_t http_proxy_port;
|
|
} SceNetCtlInfo;
|
|
|
|
// Token: 0x040002CA RID: 714
|
|
#define SCE_NET_SHOW_BUFFER_SIZE 8192
|
|
|
|
// Token: 0x040002CB RID: 715
|
|
#define SCE_NET_SHOW_NETSTAT_BUFFER_SIZE 65536
|
|
|
|
// Token: 0x040002CC RID: 716
|
|
#define SCE_NET_ADDR_STR_SIZE 18
|
|
|
|
// Token: 0x02000060 RID: 96
|
|
typedef enum SceNetIfName
|
|
{
|
|
// Token: 0x040002CE RID: 718
|
|
SCE_NET_IF_NAME_UNKNOWN = -2,
|
|
// Token: 0x040002CF RID: 719
|
|
SCE_NET_IF_NAME_NONE,
|
|
// Token: 0x040002D0 RID: 720
|
|
SCE_NET_IF_NAME_LO0,
|
|
// Token: 0x040002D1 RID: 721
|
|
SCE_NET_IF_NAME_PHYSICAL,
|
|
// Token: 0x040002D2 RID: 722
|
|
SCE_NET_IF_NAME_ETH0 = 1,
|
|
// Token: 0x040002D3 RID: 723
|
|
SCE_NET_IF_NAME_ETH1,
|
|
// Token: 0x040002D4 RID: 724
|
|
SCE_NET_IF_NAME_DBG0,
|
|
// Token: 0x040002D5 RID: 725
|
|
SCE_NET_IF_NAME_WLAN0,
|
|
// Token: 0x040002D6 RID: 726
|
|
SCE_NET_IF_NAME_WLAN1,
|
|
// Token: 0x040002D7 RID: 727
|
|
SCE_NET_IF_NAME_GBE0,
|
|
// Token: 0x040002D8 RID: 728
|
|
SCE_NET_IF_NAME_BT0,
|
|
// Token: 0x040002D9 RID: 729
|
|
SCE_NET_IF_NAME_PHONE0,
|
|
// Token: 0x040002DA RID: 730
|
|
SCE_NET_IF_NAME_VIRTUAL,
|
|
// Token: 0x040002DB RID: 731
|
|
SCE_NET_IF_NAME_PPPOE0 = 9,
|
|
// Token: 0x040002DC RID: 732
|
|
SCE_NET_IF_NAME_MAX
|
|
} SceNetIfName;
|
|
|
|
// Token: 0x02000061 RID: 97
|
|
typedef enum SceNetSockInfo
|
|
{
|
|
// Token: 0x040002DE RID: 734
|
|
SCE_NET_SOCKINFO_ALL = 1,
|
|
// Token: 0x040002DF RID: 735
|
|
SCE_NET_SOCKINFO_NAME = 2,
|
|
// Token: 0x040002E0 RID: 736
|
|
SCE_NET_SOCKINFO_EPOLL = 32,
|
|
// Token: 0x040002E1 RID: 737
|
|
SCE_NET_SOCKINFO_TIME_WAIT = 64,
|
|
// Token: 0x040002E2 RID: 738
|
|
SCE_NET_SOCKINFO_IP46 = 4096,
|
|
// Token: 0x040002E3 RID: 739
|
|
SCE_NET_SOCKINFO_SYSTEM = 65536,
|
|
// Token: 0x040002E4 RID: 740
|
|
SCE_NET_SOCKINFO_IPV6 = 131072,
|
|
// Token: 0x040002E5 RID: 741
|
|
SCE_NET_SOCKINFO_DEBUGGABLE_ONLY = 262144
|
|
} SceNetSockInfo;
|
|
|
|
// Token: 0x02000062 RID: 98
|
|
typedef enum SceNetIfListFlag
|
|
{
|
|
// Token: 0x040002E7 RID: 743
|
|
SCE_NET_IF_LIST_F_UP = 1U,
|
|
// Token: 0x040002E8 RID: 744
|
|
SCE_NET_IF_LIST_F_BROADCAST = 2U,
|
|
// Token: 0x040002E9 RID: 745
|
|
SCE_NET_IF_LIST_F_LOOPBACK = 8U,
|
|
// Token: 0x040002EA RID: 746
|
|
SCE_NET_IF_LIST_F_POINTOPOINT = 16U,
|
|
// Token: 0x040002EB RID: 747
|
|
SCE_NET_IF_LIST_F_RUNNING = 64U,
|
|
// Token: 0x040002EC RID: 748
|
|
SCE_NET_IF_LIST_F_MULTICAST = 32768U,
|
|
// Token: 0x040002ED RID: 749
|
|
SCE_NET_IF_LIST_F_STATIC = 8388608U,
|
|
// Token: 0x040002EE RID: 750
|
|
SCE_NET_IF_LIST_F_INTERNET = 16777216U
|
|
} SceNetIfListFlag;
|
|
|
|
// Token: 0x02000063 RID: 99
|
|
typedef enum SceNetIfListIn6Flag
|
|
{
|
|
// Token: 0x040002F0 RID: 752
|
|
SCE_NET_IF_LIST_IN6_IFF_TENTATIVE = 2U,
|
|
// Token: 0x040002F1 RID: 753
|
|
SCE_NET_IF_LIST_IN6_IFF_DUPLICATED = 4U,
|
|
// Token: 0x040002F2 RID: 754
|
|
SCE_NET_IF_LIST_IN6_IFF_ASSIGNED_BY_AUTOCONF = 268435456U,
|
|
// Token: 0x040002F3 RID: 755
|
|
SCE_NET_IF_LIST_IN6_IFF_RA_ENABLED = 536870912U,
|
|
// Token: 0x040002F4 RID: 756
|
|
SCE_NET_IF_LIST_IN6_IFF_RA_M_FLAG = 1073741824U,
|
|
// Token: 0x040002F5 RID: 757
|
|
SCE_NET_IF_LIST_IN6_IFF_RA_O_FLAG = 2147483648U
|
|
} SceNetIfListIn6Flag;
|
|
|
|
// Token: 0x02000064 RID: 100
|
|
typedef enum SceNetIfListType
|
|
{
|
|
// Token: 0x040002F7 RID: 759
|
|
SCE_NET_IF_LIST_TYPE_UNKNOWN,
|
|
// Token: 0x040002F8 RID: 760
|
|
SCE_NET_IF_LIST_TYPE_ETHERNET,
|
|
// Token: 0x040002F9 RID: 761
|
|
SCE_NET_IF_LIST_TYPE_WLAN,
|
|
// Token: 0x040002FA RID: 762
|
|
SCE_NET_IF_LIST_TYPE_BT,
|
|
// Token: 0x040002FB RID: 763
|
|
SCE_NET_IF_LIST_TYPE_PHONE
|
|
} SceNetIfListType;
|
|
|
|
// Token: 0x02000065 RID: 101
|
|
typedef enum SceNetConfigEtherLinkMode
|
|
{
|
|
// Token: 0x040002FD RID: 765
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_OFF = 0,
|
|
// Token: 0x040002FE RID: 766
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_ON = 1,
|
|
// Token: 0x040002FF RID: 767
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_FD = 2,
|
|
// Token: 0x04000300 RID: 768
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO = 4,
|
|
// Token: 0x04000301 RID: 769
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_10M = 16,
|
|
// Token: 0x04000302 RID: 770
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_100M = 32,
|
|
// Token: 0x04000303 RID: 771
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_1G = 64,
|
|
// Token: 0x04000304 RID: 772
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_2G5 = 128,
|
|
// Token: 0x04000305 RID: 773
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_5G = 256,
|
|
// Token: 0x04000306 RID: 774
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_10G = 512,
|
|
// Token: 0x04000307 RID: 775
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_10M_HD = 17,
|
|
// Token: 0x04000308 RID: 776
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_10M_FD = 19,
|
|
// Token: 0x04000309 RID: 777
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_100M_HD = 33,
|
|
// Token: 0x0400030A RID: 778
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_100M_FD = 35,
|
|
// Token: 0x0400030B RID: 779
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_1G_FD = 67,
|
|
// Token: 0x0400030C RID: 780
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_2G5_FD = 131,
|
|
// Token: 0x0400030D RID: 781
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_5G_FD = 259,
|
|
// Token: 0x0400030E RID: 782
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_10G_FD = 515,
|
|
// Token: 0x0400030F RID: 783
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO_10M_HD = 21,
|
|
// Token: 0x04000310 RID: 784
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO_10M_FD = 23,
|
|
// Token: 0x04000311 RID: 785
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO_100M_HD = 37,
|
|
// Token: 0x04000312 RID: 786
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO_100M_FD = 39,
|
|
// Token: 0x04000313 RID: 787
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO_1G_FD = 71,
|
|
// Token: 0x04000314 RID: 788
|
|
SCE_NET_CONFIG_ETHER_LINK_MODE_AUTO_ALL = 119
|
|
} SceNetConfigEtherLinkMode;
|
|
|
|
// Token: 0x02000067 RID: 103
|
|
typedef struct SceNetInAddr
|
|
{
|
|
// Token: 0x04000316 RID: 790
|
|
uint32_t s_addr;
|
|
} SceNetInAddr;
|
|
|
|
// Token: 0x02000068 RID: 104
|
|
typedef struct SceNetIfListAddr
|
|
{
|
|
// Token: 0x04000317 RID: 791
|
|
SceNetInAddr addr;
|
|
// Token: 0x04000318 RID: 792
|
|
SceNetInAddr dstaddr;
|
|
// Token: 0x04000319 RID: 793
|
|
SceNetInAddr broadaddr;
|
|
// Token: 0x0400031A RID: 794
|
|
SceNetInAddr netmask;
|
|
} SceNetIfListAddr;
|
|
|
|
// Token: 0x02000069 RID: 105
|
|
typedef struct SceNetIn6Addr
|
|
{
|
|
// Token: 0x0400031B RID: 795
|
|
uint8_t __u6_addr8[16];
|
|
} SceNetIn6Addr;
|
|
|
|
// Token: 0x0200006A RID: 106
|
|
typedef struct SceNetIfListAddr6
|
|
{
|
|
// Token: 0x0400031C RID: 796
|
|
SceNetIn6Addr addr;
|
|
} SceNetIfListAddr6;
|
|
|
|
// Token: 0x0200006B RID: 107
|
|
typedef struct SceNetIfListPacketStatistics
|
|
{
|
|
// Token: 0x0400031D RID: 797
|
|
uint64_t allBytes;
|
|
// Token: 0x0400031E RID: 798
|
|
uint64_t allPackets;
|
|
// Token: 0x0400031F RID: 799
|
|
uint64_t broadcastBytes;
|
|
// Token: 0x04000320 RID: 800
|
|
uint64_t broadcastPackets;
|
|
// Token: 0x04000321 RID: 801
|
|
uint64_t multicastBytes;
|
|
// Token: 0x04000322 RID: 802
|
|
uint64_t multicastPackets;
|
|
// Token: 0x04000323 RID: 803
|
|
uint64_t droppedPackets;
|
|
// Token: 0x04000324 RID: 804
|
|
uint64_t errorPackets;
|
|
} SceNetIfListPacketStatistics;
|
|
|
|
// Token: 0x0200006C RID: 108
|
|
typedef struct SceNetIfListStatistics
|
|
{
|
|
// Token: 0x04000325 RID: 805
|
|
SceNetIfListPacketStatistics tx;
|
|
// Token: 0x04000326 RID: 806
|
|
SceNetIfListPacketStatistics rx;
|
|
} SceNetIfListStatistics;
|
|
|
|
// Token: 0x0200006D RID: 109
|
|
typedef struct SceNetIfList
|
|
{
|
|
// Token: 0x04000327 RID: 807
|
|
uint8_t ifname[16];
|
|
// Token: 0x04000328 RID: 808
|
|
uint8_t dstifname[16];
|
|
// Token: 0x04000329 RID: 809
|
|
int ifindex;
|
|
// Token: 0x0400032A RID: 810
|
|
int dstifindex;
|
|
// Token: 0x0400032B RID: 811
|
|
SceNetIfListAddr addrs[2];
|
|
// Token: 0x0400032C RID: 812
|
|
SceNetIfListFlag ifflags;
|
|
// Token: 0x0400032D RID: 813
|
|
SceNetIfListType type;
|
|
// Token: 0x0400032E RID: 814
|
|
SceNetEtherAddr addr;
|
|
// Token: 0x0400032F RID: 815
|
|
int mtu;
|
|
// Token: 0x04000330 RID: 816
|
|
int maxmtu;
|
|
// Token: 0x04000331 RID: 817
|
|
SceNetIfListStatistics drv_statistics;
|
|
// Token: 0x04000332 RID: 818
|
|
SceNetIfListStatistics emu_statistics;
|
|
// Token: 0x04000333 RID: 819
|
|
SceNetConfigEtherLinkMode link_status;
|
|
// Token: 0x04000334 RID: 820
|
|
int reserved1;
|
|
// Token: 0x04000335 RID: 821
|
|
int total_use_timer;
|
|
// Token: 0x04000336 RID: 822
|
|
int tx_bps;
|
|
// Token: 0x04000337 RID: 823
|
|
int rx_bps;
|
|
// Token: 0x04000338 RID: 824
|
|
int max_tx_bps;
|
|
// Token: 0x04000339 RID: 825
|
|
int max_rx_bps;
|
|
// Token: 0x0400033A RID: 826
|
|
SceNetIfListAddr6 addrs6[2];
|
|
// Token: 0x0400033B RID: 827
|
|
uint32_t addrs6_plen[2];
|
|
// Token: 0x0400033C RID: 828
|
|
SceNetIfListIn6Flag addrs6_flags[2];
|
|
// Token: 0x0400033D RID: 829
|
|
uint8_t reserved[52];
|
|
} SceNetIfList;
|
|
|
|
typedef struct
|
|
{
|
|
uint64_t pad0;
|
|
char version_str[0x1C];
|
|
uint32_t version;
|
|
uint64_t pad1;
|
|
} OrbisKernelSwVersion;
|
|
|
|
enum Flag
|
|
{
|
|
Flag_None = 0,
|
|
SkipLaunchCheck = 1,
|
|
SkipResumeCheck = 1,
|
|
SkipSystemUpdateCheck = 2,
|
|
RebootPatchInstall = 4,
|
|
VRMode = 8,
|
|
NonVRMode = 16
|
|
};
|
|
|
|
typedef struct _LncAppParam
|
|
{
|
|
uint32_t sz;
|
|
uint32_t user_id;
|
|
uint32_t app_opt;
|
|
uint64_t crash_report;
|
|
enum Flag check_flag;
|
|
}
|
|
LncAppParam;
|
|
|
|
|
|
typedef struct app_info {
|
|
uint32_t app_id;
|
|
uint64_t unknown1;
|
|
uint32_t app_type;
|
|
char title_id[10];
|
|
char unknown2[0x3c];
|
|
} app_info_t;
|
|
|
|
typedef struct pkg_metadata {
|
|
const char* uri;
|
|
const char* ex_uri;
|
|
const char* playgo_scenario_id;
|
|
const char* content_id;
|
|
const char* content_name;
|
|
const char* icon_url;
|
|
} pkg_metadata_t;
|
|
|
|
|
|
typedef struct pkg_info {
|
|
char content_id[48];
|
|
int type;
|
|
int platform;
|
|
} pkg_info_t;
|
|
|
|
|
|
typedef struct playgo_info {
|
|
char lang[8][30];
|
|
char scenario_ids[3][64];
|
|
char content_ids[64];
|
|
long unknown[810];
|
|
} playgo_info_t;
|
|
|
|
typedef uint32_t(*SceLncUtilLaunchAppType)(const char* tid, const char* argv[], LncAppParam* param);
|
|
extern SceLncUtilLaunchAppType sceLncUtilLaunchApp_dyn;
|
|
uint32_t sceLncUtilLaunchApp(const char* tid, const char* argv[], LncAppParam* param);
|
|
|
|
/* ====================================== Dynamic SystemService Symbols ===================================*/
|
|
extern int (*sceSystemServiceGetAppIdOfRunningBigApp)(void);
|
|
/* ====================================== Remote Play Symbols ======================================*/
|
|
extern int (*sceRemoteplayInitialize)(void*, size_t);
|
|
extern int (*sceRemoteplayGeneratePinCode)(uint32_t*);
|
|
extern int (*sceSystemServiceGetAppTitleId)(int appid, char* titleid);
|
|
|
|
extern int (*sceRemoteplayConfirmDeviceRegist)(int*, int*);
|
|
extern int (*sceRemoteplayNotifyPinCodeError)(int);
|
|
|
|
/* ====================================== Dynamic Appmsg Symbols ===================================*/
|
|
extern uint32_t(*sceAppMessagingSendMsg)(uint32_t appId, uint32_t msgType, const void* msg, size_t msgLength, uint32_t flags);
|
|
extern int (*sceAppMessagingReceiveMsg)(const AppMessage* msg);
|
|
|
|
/* ====================================== Dynamic libkernel_sys Symbols ===================================*/
|
|
|
|
extern int (*sceKernelMprotect)(void* addr, size_t len, int prot);
|
|
extern int (*sceKernelDebugOutText)(int DBG_CHANNEL, const char* text);
|
|
|
|
|
|
extern int (*sceKernelSendNotificationRequest)(int unk1, OrbisNotificationRequest* req, int size, int unk2);
|
|
extern int (*sceKernelMkdir)(const char* path, int mode);
|
|
|
|
|
|
extern int (*sceKernelGetProsperoSystemSwVersion)(OrbisKernelSwVersion* sw);
|
|
extern int (*scePthreadCreate)(void* thread, const void* attr, void* (*entry) (void*), void* arg, const char* name);
|
|
|
|
extern int (*sceKernelGetAppInfo)(pid_t pid, app_info_t *info);
|
|
extern int (*sceKernelGetProcessName)(int pid, char* name);
|
|
extern int (*sceKernelJitCreateSharedMemory)(int flags, size_t size, int protection, int *destinationHandle);
|
|
extern int (*sceKernelJitCreateAliasOfSharedMemory)(int handle, int protection, int *destinationHandle);
|
|
extern int (*sceKernelJitMapSharedMemory)(int handle, int protection, void **destination);
|
|
extern int(*ioctl)(int, int, void*);
|
|
extern int (*sceRegMgrGetInt)(long, int*);
|
|
|
|
|
|
extern int (*sceShellUIUtilInitialize)(void);
|
|
extern int (*sceShellUIUtilLaunchByUri)(const char* uri, SceShellUIUtilLaunchByUriParam* Param);
|
|
|
|
/* WRAPPERS */
|
|
int sceSystemServiceGetAppId(const char * tid);
|
|
void KillAllWithName(const char * name, int signal); |