FUNCTION::USER_STRING_N_QUOTED(3stap)
π FUNCTION::USER_STRING_N_QUOTED π
okay bestie, so this page lives in the SystemTap Tapset Reference manual, section 3stap β it's a tapset function page and it's lowkey iconic, let's get into it β¨
πΈ NAME πΈ
function::user_string_n_quoted β grabs a string out of user space and, bestie, it quotes it for you π
π SYNOPSIS π
okay so there are two whole flavors of this thing, pick your fighter:
1) user_string_n_quoted:string(addr:long,n:long)
2) user_string_n_quoted:string(addr:long,inlen:long,outlen:long)
π¦ ARGUMENTS π¦
addrβ the user space address you wanna pull the string from, like literally where it lives πnβ the maximum length of the string (if it's not null terminated), no cap frinlenβ the maximum length of the string to read (if it's not null terminated)outlenβ the maximum length of the output string, we're keeping it contained
β¨ DESCRIPTION β¨
π flavor 1 β the n girlie
Returns up to n characters of a C string from the given user space memory address, where any ASCII characters that are not printable are replaced by the corresponding escape sequence in the returned string. Note that the string will be surrounded by double quotes. On the rare cases when userspace data is not accessible at the given address, the address itself is returned as a string, without double quotes. π
π flavor 2 β the inlen/outlen girlie
Reads up to inlen characters of a C string from the given user space memory address, and returns up to outlen characters, where any ASCII characters that are not printable are replaced by the corresponding escape sequence in the returned string. Note that the string will be surrounded by double quotes. On the rare cases when userspace data is not accessible at the given address, the address itself is returned as a string, without double quotes. π
ngl the "we couldn't read it so here's the raw address instead, no quotes, no nothing" behaviour is the plot twist of this whole page π both versions do it, so don't be surprised.
π SEE ALSO π
tapset::uconversions(3stap)β go read this one next, it's giving related-content energy π«Ά
and that's the whole page, bestie!! this absolute banger of a manpage came to you from the SystemTap Tapset Reference, version vibes of September 2026 β stay quoted, stay printable, mwah πππ§ββοΈ
π¦ where this page comes from
- centos-stream 10: systemtap-client 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 9: systemtap-client 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-client 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-client 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms