fc_exch_mgr_alloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

fc_exch_mgr_alloc β€” bestie, this is the one that allocates an exchange manager ✨ no cap, that's literally the whole vibe.


🌸 SYNOPSIS 🌸

struct fc_exch_mgr * fc_exch_mgr_alloc (struct fc_lport *lport , enum
fc_class class , u16 min_xid , u16 max_xid , bool (*match)(struct
fc_frame *) );

okay so she's a function that hands you back a struct fc_exch_mgr * and takes five lil arguments, we're gonna go through every single one 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • lport β€” the local port that the new EM will be associated with πŸ’… like, this is the port your brand-new EM is gonna be linked up with.
  • class β€” the default FC class for new exchanges πŸ‘‘ the standard class assigned to fresh exchanges.
  • min_xid β€” the minimum XID for exchanges from the new EM πŸ“ the lowest XID value exchanges out of this new EM can use.
  • max_xid β€” the maximum XID for exchanges from the new EM πŸ”₯ the top end of the XID range, matching energy with min_xid.
  • match β€” the match routine for the new EM ⭐ a function pointer with signature bool (*match)(struct fc_frame *) that does the matching for this new EM.

πŸ¦‹ SEE ALSO πŸ¦‹

so first up, the source file itself lives at ./drivers/scsi/libfc/fc_exch.c β€” that's the kernel file, periodt πŸ’œ

and then the girlies she's adjacent to (all (9) pages, iykyk):

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_free(9), fc_find_ema(9), fc_exch_recv(9), fc_exch_init(9), fc_setup_exch_mgr(9), fc_destroy_exch_mgr(9)

like… that's the whole friend group and honestly every single one of them ate πŸ’…βœ¨


mwah πŸ’‹ that's the page!! came from ./drivers/scsi/libfc, stamped October 2026, and yup she's fc_exch_mgr_alloc(9) through and through β€” go read the whole exchange-manager saga bestie, it's giving main character energy πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from