mirror of
https://github.com/PabloMK7/citra.git
synced 2024-11-25 08:54:05 +00:00
Merge pull request #3631 from daniellimws/boss-fmt
service/boss: Migrate logging macros
This commit is contained in:
commit
9e21094dea
1 changed files with 187 additions and 180 deletions
|
@ -28,16 +28,16 @@ void InitializeSession(Service::Interface* self) {
|
|||
if (translation != IPC::CallingPidDesc()) {
|
||||
cmd_buff[0] = IPC::MakeHeader(0, 0x1, 0); // 0x40
|
||||
cmd_buff[1] = IPC::ERR_INVALID_BUFFER_DESCRIPTOR.raw;
|
||||
LOG_ERROR(Service_BOSS, "The translation was invalid, translation=0x%08X", translation);
|
||||
NGLOG_ERROR(Service_BOSS, "The translation was invalid, translation={:#010X}", translation);
|
||||
return;
|
||||
}
|
||||
|
||||
cmd_buff[0] = IPC::MakeHeader(0x1, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param=0x%016" PRIX64 ", translation=0x%08X, unk_param4=0x%08X",
|
||||
unk_param, translation, unk_param4);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param={:#018X}, translation={:#010X}, unk_param4={:#010X}",
|
||||
unk_param, translation, unk_param4);
|
||||
}
|
||||
|
||||
void RegisterStorage(Service::Interface* self) {
|
||||
|
@ -51,10 +51,10 @@ void RegisterStorage(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x2, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(
|
||||
Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, unk_flag=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_flag);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_flag={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_flag);
|
||||
}
|
||||
|
||||
void UnregisterStorage(Service::Interface* self) {
|
||||
|
@ -63,7 +63,7 @@ void UnregisterStorage(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x3, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
}
|
||||
|
||||
void GetStorageInfo(Service::Interface* self) {
|
||||
|
@ -73,7 +73,7 @@ void GetStorageInfo(Service::Interface* self) {
|
|||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
cmd_buff[2] = 0; // stub 0
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
}
|
||||
|
||||
void RegisterPrivateRootCa(Service::Interface* self) {
|
||||
|
@ -88,8 +88,9 @@ void RegisterPrivateRootCa(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) translation={:#010X}, buff_addr{:#010X}, buff_size={:#010X}",
|
||||
translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void RegisterPrivateClientCert(Service::Interface* self) {
|
||||
|
@ -111,12 +112,12 @@ void RegisterPrivateClientCert(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff2_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff2_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
||||
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||
buff2_addr, buff2_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, "
|
||||
"translation1={:#010X}, buff1_addr={:#010X}, buff1_size={:#010X}, "
|
||||
"translation2={:#010X}, buff2_addr={:#010X}, buff2_size={:#010X}",
|
||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||
buff2_addr, buff2_size);
|
||||
}
|
||||
|
||||
void GetNewArrivalFlag(Service::Interface* self) {
|
||||
|
@ -126,7 +127,7 @@ void GetNewArrivalFlag(Service::Interface* self) {
|
|||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
cmd_buff[2] = new_arrival_flag;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) new_arrival_flag=%u", new_arrival_flag);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) new_arrival_flag={}", new_arrival_flag);
|
||||
}
|
||||
|
||||
void RegisterNewArrivalEvent(Service::Interface* self) {
|
||||
|
@ -138,8 +139,8 @@ void RegisterNewArrivalEvent(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x8, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X", unk_param1,
|
||||
unk_param2);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}", unk_param1,
|
||||
unk_param2);
|
||||
}
|
||||
|
||||
void SetOptoutFlag(Service::Interface* self) {
|
||||
|
@ -150,7 +151,7 @@ void SetOptoutFlag(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x9, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "output_flag=%u", output_flag);
|
||||
NGLOG_WARNING(Service_BOSS, "output_flag={}", output_flag);
|
||||
}
|
||||
|
||||
void GetOptoutFlag(Service::Interface* self) {
|
||||
|
@ -160,7 +161,7 @@ void GetOptoutFlag(Service::Interface* self) {
|
|||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
cmd_buff[2] = output_flag;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "output_flag=%u", output_flag);
|
||||
NGLOG_WARNING(Service_BOSS, "output_flag={}", output_flag);
|
||||
}
|
||||
|
||||
void RegisterTask(Service::Interface* self) {
|
||||
|
@ -178,10 +179,10 @@ void RegisterTask(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void UnregisterTask(Service::Interface* self) {
|
||||
|
@ -198,10 +199,10 @@ void UnregisterTask(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void ReconfigureTask(Service::Interface* self) {
|
||||
|
@ -218,10 +219,10 @@ void ReconfigureTask(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskIdList(Service::Interface* self) {
|
||||
|
@ -230,7 +231,7 @@ void GetTaskIdList(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0xE, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
}
|
||||
|
||||
void GetStepIdList(Service::Interface* self) {
|
||||
|
@ -245,8 +246,9 @@ void GetStepIdList(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) translation={:#010X}, buff_addr={:#010X}, buff_size={:#010X}",
|
||||
translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetNsDataIdList(Service::Interface* self) {
|
||||
|
@ -267,11 +269,12 @@ void GetNsDataIdList(Service::Interface* self) {
|
|||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[5] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"unk_param4=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_param4={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr,
|
||||
buff_size);
|
||||
}
|
||||
|
||||
void GetOwnNsDataIdList(Service::Interface* self) {
|
||||
|
@ -292,11 +295,12 @@ void GetOwnNsDataIdList(Service::Interface* self) {
|
|||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[5] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"unk_param4=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_param4={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr,
|
||||
buff_size);
|
||||
}
|
||||
|
||||
void GetNewDataNsDataIdList(Service::Interface* self) {
|
||||
|
@ -317,11 +321,12 @@ void GetNewDataNsDataIdList(Service::Interface* self) {
|
|||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[5] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"unk_param4=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_param4={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr,
|
||||
buff_size);
|
||||
}
|
||||
|
||||
void GetOwnNewDataNsDataIdList(Service::Interface* self) {
|
||||
|
@ -342,11 +347,12 @@ void GetOwnNewDataNsDataIdList(Service::Interface* self) {
|
|||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[5] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"unk_param4=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_param4={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr,
|
||||
buff_size);
|
||||
}
|
||||
|
||||
void SendProperty(Service::Interface* self) {
|
||||
|
@ -363,10 +369,10 @@ void SendProperty(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void SendPropertyHandle(Service::Interface* self) {
|
||||
|
@ -382,10 +388,10 @@ void SendPropertyHandle(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void ReceiveProperty(Service::Interface* self) {
|
||||
|
@ -402,10 +408,10 @@ void ReceiveProperty(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, buff_size=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X",
|
||||
unk_param1, buff_size, translation, buff_addr);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, buff_size={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}",
|
||||
unk_param1, buff_size, translation, buff_addr);
|
||||
}
|
||||
|
||||
void UpdateTaskInterval(Service::Interface* self) {
|
||||
|
@ -422,10 +428,10 @@ void UpdateTaskInterval(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void UpdateTaskCount(Service::Interface* self) {
|
||||
|
@ -441,10 +447,10 @@ void UpdateTaskCount(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X",
|
||||
buff_size, unk_param2, translation, buff_addr);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size={:#010X}, unk_param2={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}",
|
||||
buff_size, unk_param2, translation, buff_addr);
|
||||
}
|
||||
|
||||
void GetTaskInterval(Service::Interface* self) {
|
||||
|
@ -461,10 +467,10 @@ void GetTaskInterval(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskCount(Service::Interface* self) {
|
||||
|
@ -481,10 +487,10 @@ void GetTaskCount(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskServiceStatus(Service::Interface* self) {
|
||||
|
@ -501,10 +507,10 @@ void GetTaskServiceStatus(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void StartTask(Service::Interface* self) {
|
||||
|
@ -520,10 +526,10 @@ void StartTask(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void StartTaskImmediate(Service::Interface* self) {
|
||||
|
@ -539,10 +545,10 @@ void StartTaskImmediate(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void CancelTask(Service::Interface* self) {
|
||||
|
@ -558,10 +564,10 @@ void CancelTask(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskFinishHandle(Service::Interface* self) {
|
||||
|
@ -572,7 +578,7 @@ void GetTaskFinishHandle(Service::Interface* self) {
|
|||
cmd_buff[2] = 0;
|
||||
cmd_buff[3] = 0; // stub 0(This should be a handle of task_finish ?)
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
}
|
||||
|
||||
void GetTaskState(Service::Interface* self) {
|
||||
|
@ -591,10 +597,10 @@ void GetTaskState(Service::Interface* self) {
|
|||
cmd_buff[5] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[6] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X",
|
||||
buff_size, unk_param2, translation, buff_addr);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size={:#010X}, unk_param2={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}",
|
||||
buff_size, unk_param2, translation, buff_addr);
|
||||
}
|
||||
|
||||
void GetTaskResult(Service::Interface* self) {
|
||||
|
@ -613,10 +619,10 @@ void GetTaskResult(Service::Interface* self) {
|
|||
cmd_buff[5] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[6] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskCommErrorCode(Service::Interface* self) {
|
||||
|
@ -635,10 +641,10 @@ void GetTaskCommErrorCode(Service::Interface* self) {
|
|||
cmd_buff[5] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[6] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskStatus(Service::Interface* self) {
|
||||
|
@ -657,10 +663,10 @@ void GetTaskStatus(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskError(Service::Interface* self) {
|
||||
|
@ -678,10 +684,10 @@ void GetTaskError(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskInfo(Service::Interface* self) {
|
||||
|
@ -698,10 +704,10 @@ void GetTaskInfo(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void DeleteNsData(Service::Interface* self) {
|
||||
|
@ -712,7 +718,7 @@ void DeleteNsData(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x26, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X", unk_param1);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}", unk_param1);
|
||||
}
|
||||
|
||||
void GetNsDataHeaderInfo(Service::Interface* self) {
|
||||
|
@ -730,10 +736,10 @@ void GetNsDataHeaderInfo(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void ReadNsData(Service::Interface* self) {
|
||||
|
@ -754,11 +760,12 @@ void ReadNsData(Service::Interface* self) {
|
|||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||
cmd_buff[5] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"unk_param4=0x%08X, translation=0x%08X, "
|
||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_param4={:#010X}, translation={:#010X}, "
|
||||
"buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr,
|
||||
buff_size);
|
||||
}
|
||||
|
||||
void SetNsDataAdditionalInfo(Service::Interface* self) {
|
||||
|
@ -770,8 +777,8 @@ void SetNsDataAdditionalInfo(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x29, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X", unk_param1,
|
||||
unk_param2);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}", unk_param1,
|
||||
unk_param2);
|
||||
}
|
||||
|
||||
void GetNsDataAdditionalInfo(Service::Interface* self) {
|
||||
|
@ -783,7 +790,7 @@ void GetNsDataAdditionalInfo(Service::Interface* self) {
|
|||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
cmd_buff[2] = 0; // stub 0 (32bit value)
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X", unk_param1);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}", unk_param1);
|
||||
}
|
||||
|
||||
void SetNsDataNewFlag(Service::Interface* self) {
|
||||
|
@ -795,8 +802,8 @@ void SetNsDataNewFlag(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x2B, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, ns_data_new_flag=0x%08X", unk_param1,
|
||||
ns_data_new_flag);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}, ns_data_new_flag={:#010X}",
|
||||
unk_param1, ns_data_new_flag);
|
||||
}
|
||||
|
||||
void GetNsDataNewFlag(Service::Interface* self) {
|
||||
|
@ -808,8 +815,8 @@ void GetNsDataNewFlag(Service::Interface* self) {
|
|||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
cmd_buff[2] = ns_data_new_flag;
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, ns_data_new_flag=0x%08X", unk_param1,
|
||||
ns_data_new_flag);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}, ns_data_new_flag={:#010X}",
|
||||
unk_param1, ns_data_new_flag);
|
||||
}
|
||||
|
||||
void GetNsDataLastUpdate(Service::Interface* self) {
|
||||
|
@ -822,7 +829,7 @@ void GetNsDataLastUpdate(Service::Interface* self) {
|
|||
cmd_buff[2] = 0; // stub 0 (32bit value)
|
||||
cmd_buff[3] = 0; // stub 0 (32bit value)
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X", unk_param1);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}", unk_param1);
|
||||
}
|
||||
|
||||
void GetErrorCode(Service::Interface* self) {
|
||||
|
@ -834,7 +841,7 @@ void GetErrorCode(Service::Interface* self) {
|
|||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
cmd_buff[2] = 0; // stub 0 (32bit value)
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X", unk_param1);
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) unk_param1={:#010X}", unk_param1);
|
||||
}
|
||||
|
||||
void RegisterStorageEntry(Service::Interface* self) {
|
||||
|
@ -849,10 +856,10 @@ void RegisterStorageEntry(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x2F, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"unk_param4=0x%08X, unk_param5=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, unk_param5);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"unk_param4={:#010X}, unk_param5={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4, unk_param5);
|
||||
}
|
||||
|
||||
void GetStorageEntryInfo(Service::Interface* self) {
|
||||
|
@ -863,7 +870,7 @@ void GetStorageEntryInfo(Service::Interface* self) {
|
|||
cmd_buff[2] = 0; // stub 0 (32bit value)
|
||||
cmd_buff[3] = 0; // stub 0 (16bit value)
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
}
|
||||
|
||||
void SetStorageOption(Service::Interface* self) {
|
||||
|
@ -877,10 +884,10 @@ void SetStorageOption(Service::Interface* self) {
|
|||
cmd_buff[0] = IPC::MakeHeader(0x31, 0x1, 0);
|
||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||
"unk_param3=0x%08X, unk_param4=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, "
|
||||
"unk_param3={:#010X}, unk_param4={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, unk_param4);
|
||||
}
|
||||
|
||||
void GetStorageOption(Service::Interface* self) {
|
||||
|
@ -893,7 +900,7 @@ void GetStorageOption(Service::Interface* self) {
|
|||
cmd_buff[4] = 0; // stub 0 (16bit value)
|
||||
cmd_buff[5] = 0; // stub 0 (16bit value)
|
||||
|
||||
LOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
NGLOG_WARNING(Service_BOSS, "(STUBBED) called");
|
||||
}
|
||||
|
||||
void StartBgImmediate(Service::Interface* self) {
|
||||
|
@ -909,10 +916,10 @@ void StartBgImmediate(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size={:#010X}, unk_param2={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void GetTaskActivePriority(Service::Interface* self) {
|
||||
|
@ -929,10 +936,10 @@ void GetTaskActivePriority(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) buff_size={:#010X}, unk_param2={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}",
|
||||
unk_param1, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void RegisterImmediateTask(Service::Interface* self) {
|
||||
|
@ -950,10 +957,10 @@ void RegisterImmediateTask(Service::Interface* self) {
|
|||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||
cmd_buff[4] = buff_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, unk_param3={:#010X}, "
|
||||
"translation={:#010X}, buff_addr={:#010X}, buff_size={:#010X}",
|
||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||
}
|
||||
|
||||
void SetTaskQuery(Service::Interface* self) {
|
||||
|
@ -975,12 +982,12 @@ void SetTaskQuery(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff2_size << 4 | 0xA);
|
||||
cmd_buff[3] = buff2_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
||||
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||
buff2_addr, buff2_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, "
|
||||
"translation1={:#010X}, buff1_addr={:#010X}, buff1_size={:#010X}, "
|
||||
"translation2={:#010X}, buff2_addr={:#010X}, buff2_size={:#010X}",
|
||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||
buff2_addr, buff2_size);
|
||||
}
|
||||
|
||||
void GetTaskQuery(Service::Interface* self) {
|
||||
|
@ -1002,12 +1009,12 @@ void GetTaskQuery(Service::Interface* self) {
|
|||
cmd_buff[2] = (buff2_size << 4 | 0xC);
|
||||
cmd_buff[3] = buff2_addr;
|
||||
|
||||
LOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
||||
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||
buff2_addr, buff2_size);
|
||||
NGLOG_WARNING(Service_BOSS,
|
||||
"(STUBBED) unk_param1={:#010X}, unk_param2={:#010X}, "
|
||||
"translation1={:#010X}, buff1_addr={:#010X}, buff1_size={:#010X}, "
|
||||
"translation2={:#010X}, buff2_addr={:#010X}, buff2_size={:#010X}",
|
||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||
buff2_addr, buff2_size);
|
||||
}
|
||||
|
||||
void Init() {
|
||||
|
|
Loading…
Reference in a new issue