ipcget_public(9)
π ipcget_public(9) β from the Kernel API Manual, bestie
okay so first of all, the manual page is literally called ipcget_public(9) and it lives in the Kernel API Manual β that's the whole vibe, we're in kernel land now π§β¨
β¨ NAME β¨
ipcget_public β get an ipc object or create a new one π«Ά
π SYNOPSIS π
int ipcget_public (struct ipc_namespace *ns , struct ipc_ids *ids ,
const struct ipc_ops *ops , struct ipc_params *params );
like, four args, one int back, no cap π
πΈ ARGUMENTS πΈ
nsβ the ipc namespace, your whole little world for this call πidsβ the ipc identifier set, aka the master list of ids πopsβ the actual creation routine to call, so this is the plug for the real work πparamsβ its parameters, everything the creation routine needs π
π¦ DESCRIPTION π¦
so this routine gets called by sys_msgget, sys_semget and sys_shmget β but only when the key is not IPC_PRIVATE. main character energy only π
here's the tea: if the key is not found, it adds a new entry β¨. and if the key is found, it does some permission / security checkings π (yes, "checkings" β that's the kernel's word, not mine, iykyk).
on success, the ipc id is returned. periodt π
π₯ SEE ALSO π₯
Kernel file ./ipc/util.c β and literally all of these besties:
ipc_init(9)ipc_init_ids(9)ipc_init_proc_interface(9)ipc_findkey(9)ipc_addid(9)ipcget_new(9)ipc_check_perms(9)ipc_kht_remove(9)ipc_search_maxidx(9)ipc_rmid(9)ipc_set_key_private(9)ipcperms(9)kernel_to_ipc64_perm(9)ipc64_perm_to_ipc_perm(9)ipc_obtain_object_idr(9)ipc_obtain_object_check(9)ipcget(9)ipc_update_perm(9)ipcctl_obtain_check(9)ipc_parse_version(9)sysvipc_find_ipc(9)
go read them, fr fr ππ
okay that's the whole page, and before you close the tab: this one's from ./ipc, dated October 2026 β so like, a little time capsule moment ποΈπ« slay, go get those ipc objects π§ββοΈπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms