rio_request_inb_mbox(9)
π rio_request_inb_mbox β inbound mailbox service, but make it official
okay so this is a page from the Kernel API Manual (rio_request_inb_mbox(9), section 9, kernel API girlies rise) and honestly? it's short, it's sweet, it's about claiming your very own inbound mailbox. let's get into it π
β¨ SYNOPSIS β¨
int rio_request_inb_mbox (struct rio_mport *mport , void *dev_id , int
mbox , int entries , void (*minb) (struct rio_mport * mport, void
*dev_id, int mbox, int slot) );
like, look at that signature. it's giving "five args and a dream" π but every single one matters, so don't skip the next bit.
πΈ ARGUMENTS πΈ
mportβ the RIO master port you're pulling this mailbox resource out of. your source of truth, your main character port πdev_idβ a device-specific pointer that gets passed along when the event fires. it's your little "hey, this is me" name tag πmboxβ the mailbox number you're claiming. yes, you have to say which one. no, you can't just vibe and hope βentriesβ how many entries live in the inbound mailbox queue. capacity, bestie, know your capacity πminbβ the callback that runs when an inbound message shows up. this is the whole point ngl π
π¦ DESCRIPTION π¦
So basically: you call this and you're requesting ownership of an inbound mailbox resource, and you bind a callback function to that resource. that's the deal β the mailbox is yours, and minb is on speed dial for whenever a message comes in.
Return value? 0 on success. that's the only one documented here, so don't go inventing other exit codes, iykyk π
π₯ SEE ALSO π₯
okay this list is LONG and it's lowkey iconic. all of these hang out in the kernel file ./drivers/rapidio/rio.c:
rio_local_get_device_id(9)rio_query_mport(9)rio_alloc_net(9)rio_local_set_device_id(9)rio_add_device(9)rio_release_inb_mbox(9)rio_request_outb_mbox(9)rio_release_outb_mbox(9)rio_setup_inb_dbell(9)rio_request_inb_dbell(9)rio_release_inb_dbell(9)rio_request_outb_dbell(9)rio_release_outb_dbell(9)rio_add_mport_pw_handler(9)rio_del_mport_pw_handler(9)rio_request_inb_pwrite(9)rio_release_inb_pwrite(9)rio_pw_enable(9)rio_map_inb_region(9)rio_unmap_inb_region(9)rio_map_outb_region(9)rio_unmap_outb_region(9)rio_mport_get_physefb(9)rio_get_comptag(9)rio_set_port_lockout(9)rio_enable_rx_tx_port(9)rio_chk_dev_route(9)rio_mport_chk_dev_access(9)rio_chk_dev_access(9)rio_get_input_status(9)rio_clr_err_stopped(9)rio_inb_pwrite_handler(9)rio_mport_get_efb(9)rio_mport_get_feature(9)rio_std_route_add_entry(9)rio_std_route_get_entry(9)rio_std_route_clr_table(9)rio_lock_device(9)rio_unlock_device(9)rio_route_add_entry(9)rio_route_get_entry(9)rio_route_clr_table(9)rio_request_mport_dma(9)rio_release_dma(9)rio_dma_prep_xfer(9)rio_register_scan(9)rio_mport_scan(9)
that's the whole squad fr fr. and yeah β special shoutout to rio_release_inb_mbox(9), the one you'll want when you're done. give it back bestie, don't just hoard it π
ngl the whole family lives under ./drivers/rapidio β cute little neighborhood, very demure, very mindful π
and that's the page! written up in October 2026 from the ./drivers/rapidio corner of the kernel, rio_request_inb_mbox(9) style β go claim that mailbox bestie, 0 on success and slay π
β¨π«Ά
π¦ 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