0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef __EFCT_DOMAIN_H__
0012 #define __EFCT_DOMAIN_H__
0013
0014 struct efc_domain *
0015 efc_domain_alloc(struct efc *efc, uint64_t fcf_wwn);
0016 void
0017 efc_domain_free(struct efc_domain *domain);
0018
0019 void
0020 __efc_domain_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
0021 void
0022 __efc_domain_wait_alloc(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0023 void *arg);
0024 void
0025 __efc_domain_allocated(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0026 void *arg);
0027 void
0028 __efc_domain_wait_attach(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0029 void *arg);
0030 void
0031 __efc_domain_ready(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg);
0032 void
0033 __efc_domain_wait_nports_free(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0034 void *arg);
0035 void
0036 __efc_domain_wait_shutdown(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0037 void *arg);
0038 void
0039 __efc_domain_wait_domain_lost(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
0040 void *arg);
0041 void
0042 efc_domain_attach(struct efc_domain *domain, u32 s_id);
0043 int
0044 efc_domain_post_event(struct efc_domain *domain, enum efc_sm_event event,
0045 void *arg);
0046 void
0047 __efc_domain_attach_internal(struct efc_domain *domain, u32 s_id);
0048
0049 int
0050 efc_domain_dispatch_frame(void *arg, struct efc_hw_sequence *seq);
0051 void
0052 efc_node_dispatch_frame(void *arg, struct efc_hw_sequence *seq);
0053
0054 #endif