MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / sceNpBasicSendMessageGui

Function sceNpBasicSendMessageGui

ps3fw/sceNp.cpp:1238–1503  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1236}
1237
1238error_code sceNpBasicSendMessageGui(ppu_thread& ppu,
1239 vm::cptr<SceNpBasicMessageDetails> msg,
1240 sys_memory_container_t containerId)
1241{
1242 sceNp.warning("sceNpBasicSendMessageGui(msg=*0x%x, containerId=%d)", msg,
1243 containerId);
1244
1245 if (msg)
1246 {
1247 sceNp.notice("sceNpBasicSendMessageGui: msgId: %d, mainType: %d, subType: "
1248 "%d, msgFeatures: %d, count: %d, npids: *0x%x",
1249 msg->msgId, msg->mainType, msg->subType, msg->msgFeatures,
1250 msg->count, msg->npids);
1251 for (u32 i = 0; i < msg->count && msg->npids; i++)
1252 {
1253 sceNp.trace("sceNpBasicSendMessageGui: NpId[%d] = %s", i,
1254 static_cast<char*>(&msg->npids[i].handle.data[0]));
1255 }
1256 sceNp.notice("sceNpBasicSendMessageGui: subject: %s", msg->subject);
1257 sceNp.notice("sceNpBasicSendMessageGui: body: %s", msg->body);
1258 }
1259
1260 auto& nph = g_fxo->get<named_thread<np::np_handler>>();
1261
1262 if (!nph.is_NP_init)
1263 {
1264 return SCE_NP_BASIC_ERROR_NOT_INITIALIZED;
1265 }
1266
1267 if (!nph.basic_handler_registered)
1268 {
1269 return SCE_NP_BASIC_ERROR_NOT_REGISTERED;
1270 }
1271
1272 if (!msg || msg->count > SCE_NP_BASIC_SEND_MESSAGE_MAX_RECIPIENTS ||
1273 (msg->msgFeatures & ~SCE_NP_BASIC_MESSAGE_FEATURES_ALL_FEATURES) ||
1274 msg->mainType > SCE_NP_BASIC_MESSAGE_MAIN_TYPE_URL_ATTACHMENT ||
1275 msg->msgId != 0ull)
1276 {
1277 return SCE_NP_BASIC_ERROR_INVALID_ARGUMENT;
1278 }
1279
1280 if (!(msg->msgFeatures & SCE_NP_BASIC_MESSAGE_FEATURES_BOOTABLE))
1281 {
1282 switch (msg->mainType)
1283 {
1284 case SCE_NP_BASIC_MESSAGE_MAIN_TYPE_DATA_ATTACHMENT:
1285 if (msg->subType !=
1286 SCE_NP_BASIC_MESSAGE_DATA_ATTACHMENT_SUBTYPE_ACTION_USE)
1287 return SCE_NP_BASIC_ERROR_NOT_SUPPORTED;
1288 break;
1289 case SCE_NP_BASIC_MESSAGE_MAIN_TYPE_CUSTOM_DATA:
1290 if (msg->subType != SCE_NP_BASIC_MESSAGE_CUSTOM_DATA_SUBTYPE_ACTION_USE)
1291 return SCE_NP_BASIC_ERROR_NOT_SUPPORTED;
1292 break;
1293 case SCE_NP_BASIC_MESSAGE_MAIN_TYPE_URL_ATTACHMENT:
1294 if (msg->subType !=
1295 SCE_NP_BASIC_MESSAGE_URL_ATTACHMENT_SUBTYPE_ACTION_USE)

Callers 2

sceNpBasicAddFriendFunction · 0.85

Calls 12

check_textFunction · 0.85
buf_to_hexstringClass · 0.85
get_psn_statusMethod · 0.80
assignMethod · 0.80
send_basic_eventMethod · 0.80
stringFunction · 0.50
SetInterceptedFunction · 0.50
insertMethod · 0.45
get_ptrMethod · 0.45
ExecMethod · 0.45

Tested by

no test coverage detected