From b86f8a36fa59fb26ab39436dbbcdac50a491f304 Mon Sep 17 00:00:00 2001 From: "Ibuki.O" Date: Sat, 19 Jul 2025 13:31:44 +0900 Subject: [PATCH] feat: Add redox_get_socket_token_v0 as a symbol for libredox. --- src/platform/redox/libredox.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/platform/redox/libredox.rs b/src/platform/redox/libredox.rs index 58fcf679be..f73f6c3359 100644 --- a/src/platform/redox/libredox.rs +++ b/src/platform/redox/libredox.rs @@ -1,7 +1,7 @@ use core::{slice, str}; use redox_rt::{ - protocol::{ProcKillTarget, WaitFlags}, + protocol::{ProcKillTarget, SocketCall, WaitFlags}, sys::{posix_read, posix_write, WaitpidTarget}, }; use syscall::{Error, Result, EMFILE}; @@ -402,3 +402,18 @@ pub unsafe extern "C" fn redox_sys_call_v0( slice::from_raw_parts(metadata, metadata_len), )) } + +#[no_mangle] +pub unsafe extern "C" fn redox_get_socket_token_v0( + fd: usize, + payload: *mut u8, + payload_len: usize, +) -> RawResult { + let metadata = [SocketCall::GetToken as u64]; + Error::mux(redox_rt::sys::sys_call( + fd, + slice::from_raw_parts_mut(payload, payload_len), + syscall::CallFlags::empty(), + &metadata, + )) +}