31 extern "C" {
32 #endif
33
34 typedef struct stmf_lun_map {
35 uint32_t lm_nluns;
36 uint32_t lm_nentries;
37 void **lm_plus; /* this can be lun or view entry */
38 } stmf_lun_map_t;
39
40 struct stmf_itl_data;
41
42 typedef struct stmf_lun_map_ent {
43 struct stmf_lu *ent_lu;
44 struct stmf_itl_data *ent_itl_datap;
45 } stmf_lun_map_ent_t;
46
47 void stmf_view_init();
48 void stmf_view_clear_config();
49 stmf_status_t stmf_session_create_lun_map(stmf_i_local_port_t *ilport,
50 stmf_i_scsi_session_t *iss);
51 stmf_status_t stmf_session_destroy_lun_map(stmf_i_local_port_t *ilport,
52 stmf_i_scsi_session_t *iss);
53 stmf_xfer_data_t *stmf_session_prepare_report_lun_data(stmf_lun_map_t *sm);
54 void stmf_add_lu_to_active_sessions(stmf_lu_t *lu);
55 void stmf_session_lu_unmapall(stmf_lu_t *lu);
56 void *stmf_get_ent_from_map(stmf_lun_map_t *sm, uint16_t lun_num);
57
58
59 /*
60 * Common struct used to maintain an Identifer's data. That Identifier
61 * can be a Host group, Target group or LU GUID data. Note that a LU is
62 * different from LU GUID data because either can be there without
63 * its counterpart being present in the system.
64 * id_impl_specific pointer to:
65 * case LUID, a list of stmf_view_entry
66 * case initiator group, a list of initiators
67 * case target group, a list of targets
68 * id_pt_to_object pointer to stmf_i_lu_t instance for LU.
69 */
70 typedef struct stmf_id_data {
71 struct stmf_id_data *id_next;
72 struct stmf_id_data *id_prev;
|
31 extern "C" {
32 #endif
33
34 typedef struct stmf_lun_map {
35 uint32_t lm_nluns;
36 uint32_t lm_nentries;
37 void **lm_plus; /* this can be lun or view entry */
38 } stmf_lun_map_t;
39
40 struct stmf_itl_data;
41
42 typedef struct stmf_lun_map_ent {
43 struct stmf_lu *ent_lu;
44 struct stmf_itl_data *ent_itl_datap;
45 } stmf_lun_map_ent_t;
46
47 void stmf_view_init();
48 void stmf_view_clear_config();
49 stmf_status_t stmf_session_create_lun_map(stmf_i_local_port_t *ilport,
50 stmf_i_scsi_session_t *iss);
51 stmf_xfer_data_t *stmf_session_prepare_report_lun_data(stmf_lun_map_t *sm);
52 void stmf_add_lu_to_active_sessions(stmf_lu_t *lu);
53 void stmf_session_lu_unmapall(stmf_lu_t *lu);
54 void *stmf_get_ent_from_map(stmf_lun_map_t *sm, uint16_t lun_num);
55
56
57 /*
58 * Common struct used to maintain an Identifer's data. That Identifier
59 * can be a Host group, Target group or LU GUID data. Note that a LU is
60 * different from LU GUID data because either can be there without
61 * its counterpart being present in the system.
62 * id_impl_specific pointer to:
63 * case LUID, a list of stmf_view_entry
64 * case initiator group, a list of initiators
65 * case target group, a list of targets
66 * id_pt_to_object pointer to stmf_i_lu_t instance for LU.
67 */
68 typedef struct stmf_id_data {
69 struct stmf_id_data *id_next;
70 struct stmf_id_data *id_prev;
|