mirror of
https://github.com/switchbrew/libnx.git
synced 2025-07-03 10:02:14 +02:00
htcs: optimize SendEnd/EndSend
This commit is contained in:
parent
dcd9d4eb41
commit
d4936d7654
@ -194,6 +194,19 @@ static Result _htcsSocketCmdInS32(HtcsSocket *s, s32 *out_err, s32 *out_res, s32
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Result _htcsSocketCmdInU32OutErrSize(HtcsSocket *s, s32 *out_err, s64 *out_size, u32 value, u32 cmd_id) {
|
||||||
|
struct {
|
||||||
|
s32 err;
|
||||||
|
s64 size;
|
||||||
|
} out;
|
||||||
|
Result rc = _htcsObjectDispatchInOut(&s->s, cmd_id, value, out);
|
||||||
|
if (R_SUCCEEDED(rc)) {
|
||||||
|
if (out_err) *out_err = out.err;
|
||||||
|
if (out_size) *out_size = out.size;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
Result htcsSocketClose(HtcsSocket *s, s32 *out_err, s32 *out_res) {
|
Result htcsSocketClose(HtcsSocket *s, s32 *out_err, s32 *out_res) {
|
||||||
struct {
|
struct {
|
||||||
s32 err;
|
s32 err;
|
||||||
@ -300,16 +313,7 @@ Result htcsSocketSendStart(HtcsSocket *s, u32 *out_task_id, Handle *out_event_ha
|
|||||||
}
|
}
|
||||||
|
|
||||||
Result htcsSocketSendResults(HtcsSocket *s, s32 *out_err, s64 *out_size, u32 task_id) {
|
Result htcsSocketSendResults(HtcsSocket *s, s32 *out_err, s64 *out_size, u32 task_id) {
|
||||||
struct {
|
return _htcsSocketCmdInU32OutErrSize(s, out_err, out_size, task_id, 16);
|
||||||
s32 err;
|
|
||||||
s64 size;
|
|
||||||
} out;
|
|
||||||
Result rc = _htcsObjectDispatchInOut(&s->s, 16, task_id, out);
|
|
||||||
if (R_SUCCEEDED(rc)) {
|
|
||||||
if (out_err) *out_err = out.err;
|
|
||||||
if (out_size) *out_size = out.size;
|
|
||||||
}
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Result htcsSocketStartSend(HtcsSocket *s, u32 *out_task_id, Handle *out_event_handle, s64 *out_max_size, s64 size, s32 flags) {
|
Result htcsSocketStartSend(HtcsSocket *s, u32 *out_task_id, Handle *out_event_handle, s64 *out_max_size, s64 size, s32 flags) {
|
||||||
@ -349,16 +353,7 @@ Result htcsSocketContinueSend(HtcsSocket *s, s64 *out_size, bool *out_wait, cons
|
|||||||
}
|
}
|
||||||
|
|
||||||
Result htcsSocketEndSend(HtcsSocket *s, s32 *out_err, s64 *out_size, u32 task_id) {
|
Result htcsSocketEndSend(HtcsSocket *s, s32 *out_err, s64 *out_size, u32 task_id) {
|
||||||
struct {
|
return _htcsSocketCmdInU32OutErrSize(s, out_err, out_size, task_id, 19);
|
||||||
s32 err;
|
|
||||||
s64 size;
|
|
||||||
} out;
|
|
||||||
Result rc = _htcsObjectDispatchInOut(&s->s, 19, task_id, out);
|
|
||||||
if (R_SUCCEEDED(rc)) {
|
|
||||||
if (out_err) *out_err = out.err;
|
|
||||||
if (out_size) *out_size = out.size;
|
|
||||||
}
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Result htcsSocketStartRecv(HtcsSocket *s, u32 *out_task_id, Handle *out_event_handle, s64 size, s32 flags) {
|
Result htcsSocketStartRecv(HtcsSocket *s, u32 *out_task_id, Handle *out_event_handle, s64 size, s32 flags) {
|
||||||
|
Loading…
Reference in New Issue
Block a user