FRM2IFM
FRM2IFM(frm)->ifm_frm = frm;
FRM2IFM(frm)->ifm_xch = xch;
FRM2IFM(frm)->ifm_rctl = FRM_R_CTL(frm);
#define FRM2FPKT(x_fpkt) (FRM2IFM(frm)->ifm_xch->xch_fpkt)
fcoei_exchange_t *xch = FRM2IFM(frm)->ifm_xch;
switch (FRM2IFM(frm)->ifm_rctl) {
FRM2IFM(frm)->ifm_ae.ae_type = AE_EVENT_UNSOL_FRAME;
FRM2IFM(frm)->ifm_ae.ae_obj = frm;
list_insert_tail(&FRM2SS(frm)->ss_event_list, &FRM2IFM(frm)->ifm_ae);
switch (FRM2IFM(frm)->ifm_rctl) {
FRM2IFM(frm)->ifm_ae.ae_type = AE_EVENT_SOL_FRAME;
FRM2IFM(frm)->ifm_ae.ae_obj = frm;
&FRM2IFM(frm)->ifm_ae);
FRM2IFM(nfrm)->ifm_rctl = R_CTL_SOLICITED_DATA;
FRM2IFM(frm)->ifm_rctl = fpkt->pkt_cmd_fhdr.r_ctl;
FRM2IFM(frm)->ifm_rctl = fpkt->pkt_cmd_fhdr.r_ctl;
FRM2IFM(frm)->ifm_rctl = fpkt->pkt_cmd_fhdr.r_ctl;