Repository navigation
Expand file tree
/
Copy pathExport.cpp
More file actions
128 lines (104 loc) · 3.04 KB
/
Copy pathExport.cpp
File metadata and controls
128 lines (104 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <cstdint>
#include <cstddef>
#include <cstring>
#include "SceTypes.hpp"
#include "prx/libc/include/General.hpp"
// Capture and sharing are not emulated; policy and parameter calls are accepted.
namespace {
constexpr std::int32_t ERROR_INVALID_PARAM = static_cast<std::int32_t>(0x81960002);
constexpr std::int32_t ERROR_NOT_SUPPORTED = static_cast<std::int32_t>(0x81960007);
constexpr std::int32_t REQUEST_ID_INVALID = -1;
}
extern "C" {
int APS5_VABI sceShareCaptureScreenshot(const void* param, int32_t* req_id) {
(void)param;
if (req_id != nullptr) {
*req_id = REQUEST_ID_INVALID;
}
return ERROR_NOT_SUPPORTED;
}
int APS5_VABI sceShareCaptureVideoClip(const void* param, int32_t* req_id) {
(void)param;
if (req_id != nullptr) {
*req_id = REQUEST_ID_INVALID;
}
return ERROR_NOT_SUPPORTED;
}
int APS5_VABI sceShareFeaturePermit(uint32_t feature_flags) {
(void)feature_flags;
return 0;
}
int APS5_VABI sceShareFeatureProhibit(uint32_t feature_flags) {
(void)feature_flags;
return 0;
}
int APS5_VABI sceShareGetCurrentStatus(uint32_t feature_flag, ShareCurrentStatus* status) {
if (feature_flag == 0 || status == nullptr) {
return ERROR_INVALID_PARAM;
}
std::memset(status, 0, sizeof(*status));
return 0;
}
int APS5_VABI sceShareInitialize(size_t heap_size, int thread_priority, uint64_t affinity_mask) {
(void)heap_size;
(void)thread_priority;
(void)affinity_mask;
return 0;
}
int APS5_VABI sceShareOpenMenuForContent(const void* content_id) {
(void)content_id;
return ERROR_NOT_SUPPORTED;
}
int APS5_VABI sceShareRegisterContentEventCallback(void* callback, void* user_data) {
(void)callback;
(void)user_data;
return 0;
}
int APS5_VABI sceShareSetCaptureSource(uint32_t feature_flags, const void* tap_point) {
(void)feature_flags;
(void)tap_point;
return 0;
}
int APS5_VABI sceShareSetContentParam(const char* content_param) {
(void)content_param;
return 0;
}
int APS5_VABI sceShareSetScreenshotOverlayImage(const char* file_path, int32_t margin_x, int32_t margin_y, int32_t origin) {
(void)file_path;
(void)margin_x;
(void)margin_y;
(void)origin;
return 0;
}
int APS5_VABI sceShareTerminate(void) {
return 0;
}
int APS5_VABI sceShareUnregisterContentEventCallback(void* callback) {
(void)callback;
return 0;
}
int APS5_VABI sceShareCaptureScreenshotExtended(const void* extended_param, int32_t* req_id) {
(void)extended_param;
if (req_id != nullptr) {
*req_id = REQUEST_ID_INVALID;
}
return ERROR_NOT_SUPPORTED;
}
int APS5_VABI sceShareCaptureVideoClipExtended(void) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceShareGetRunningStatus(uint32_t* status) {
if (status == nullptr) {
return ERROR_INVALID_PARAM;
}
*status = 0;
return 0;
}
int APS5_VABI sceShareSetContentParamForApplicationTitle(const char* application_title) {
if (application_title == nullptr) {
return ERROR_INVALID_PARAM;
}
return 0;
}
}