fc_find_ema(9)
π fc_find_ema(9) β the Kernel API Manual page, bestie edition π
okay so this is a page from the Kernel API Manual (yes, the (9) one, we love a manual section moment) and it's all about fc_find_ema, which is genuinely such a little icon.
β¨ NAME β¨
fc_find_ema β lookup and return the appropriate Exchange Manager Anchor depending on 'xid'. that's it. that's the whole job. she finds the ema, she returns it, slay π
π¦ SYNOPSIS π¦
struct fc_exch_mgr_anchor * fc_find_ema (u32 f_ctl , struct fc_lport
*lport , struct fc_frame_header *fh );
literally the whole signature, no cap. three args, one pointer back to a struct fc_exch_mgr_anchor *. she's giving main character energy fr fr β¨
πΈ ARGUMENTS πΈ
bestie listen, there are exactly three (3) things going in here and you need to know all of them:
f_ctlβf_ctl. yeah, that's the whole description in the original and we're not gonna pretend otherwise π (iconic of them to say nothing tbh)lportβ the local port the frame was received on π like, which port did this frame land on, that's yourlportfhβ the received frame header π the actual header of the frame that showed up
π SEE ALSO π
okay this section is long and she ate, honestly. here's everything, and I mean everything:
- Kernel file
./drivers/scsi/libfc/fc_exch.cποΈ (plus these structs:) struct fc_exch_pool(9)struct fc_exch_mgr(9)struct fc_exch_mgr_anchor(9)fc_exch_name_lookup(9)fc_exch_rctl_name(9)fc_exch_hold(9)fc_exch_setup_hdr(9)fc_exch_release(9)fc_exch_timer_cancel(9)fc_exch_timer_set_locked(9)fc_exch_timer_set(9)fc_exch_done_locked(9)fc_exch_ptr_get(9)fc_exch_ptr_set(9)fc_exch_delete(9)fc_seq_send(9)fc_seq_alloc(9)fc_seq_start_next_locked(9)fc_seq_start_next(9)fc_exch_abort_locked(9)fc_seq_exch_abort(9)fc_invoke_resp(9)fc_exch_timeout(9)fc_exch_em_alloc(9)fc_exch_alloc(9)fc_exch_find(9)fc_exch_done(9)fc_exch_resp(9)fc_seq_lookup_recip(9)fc_seq_lookup_orig(9)fc_exch_set_addr(9)fc_seq_els_rsp_send(9)fc_seq_send_last(9)fc_seq_send_ack(9)fc_exch_send_ba_rjt(9)fc_exch_recv_abts(9)fc_seq_assign(9)fc_seq_release(9)fc_exch_recv_req(9)fc_exch_recv_seq_resp(9)fc_exch_recv_resp(9)fc_exch_abts_resp(9)fc_exch_recv_bls(9)fc_seq_ls_acc(9)fc_seq_ls_rjt(9)fc_exch_reset(9)fc_exch_pool_reset(9)fc_exch_mgr_reset(9)fc_exch_lookup(9)fc_exch_els_rec(9)fc_exch_rrq_resp(9)fc_exch_seq_send(9)fc_exch_rrq(9)fc_exch_els_rrq(9)fc_exch_update_stats(9)fc_exch_mgr_add(9)fc_exch_mgr_destroy(9)fc_exch_mgr_del(9)fc_exch_mgr_list_clone(9)fc_exch_mgr_alloc(9)fc_exch_mgr_free(9)fc_exch_recv(9)fc_exch_init(9)fc_setup_exch_mgr(9)fc_destroy_exch_mgr(9)
π«Ά no like seriously, that's all of them, in the exact order they were handed to me. iykyk.
and that's the page babes π before you go β shoutout to ./drivers/scsi/libfc for housing this whole situation, and the date stamp on this one is October 2026 π
so mark your calendars. mwah, go find those emas πβ¨
π¦ 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