Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
s390
scsi
zfcp_ext.h
Go to the documentation of this file.
1
/*
2
* zfcp device driver
3
*
4
* External function declarations.
5
*
6
* Copyright IBM Corp. 2002, 2010
7
*/
8
9
#ifndef ZFCP_EXT_H
10
#define ZFCP_EXT_H
11
12
#include <linux/types.h>
13
#include <
scsi/fc/fc_els.h
>
14
#include "
zfcp_def.h
"
15
#include "
zfcp_fc.h
"
16
17
/* zfcp_aux.c */
18
extern
struct
zfcp_port
*
zfcp_get_port_by_wwpn
(
struct
zfcp_adapter
*,
u64
);
19
extern
struct
zfcp_adapter
*
zfcp_adapter_enqueue
(
struct
ccw_device
*);
20
extern
struct
zfcp_port
*
zfcp_port_enqueue
(
struct
zfcp_adapter
*,
u64
,
u32
,
21
u32
);
22
extern
void
zfcp_sg_free_table
(
struct
scatterlist
*,
int
);
23
extern
int
zfcp_sg_setup_table
(
struct
scatterlist
*,
int
);
24
extern
void
zfcp_device_unregister
(
struct
device
*,
25
const
struct
attribute_group
*);
26
extern
void
zfcp_adapter_release
(
struct
kref
*);
27
extern
void
zfcp_adapter_unregister
(
struct
zfcp_adapter
*);
28
29
/* zfcp_ccw.c */
30
extern
int
zfcp_ccw_priv_sch
(
struct
zfcp_adapter
*);
31
extern
struct
ccw_driver
zfcp_ccw_driver
;
32
extern
struct
zfcp_adapter
*
zfcp_ccw_adapter_by_cdev
(
struct
ccw_device
*);
33
extern
void
zfcp_ccw_adapter_put
(
struct
zfcp_adapter
*);
34
35
/* zfcp_cfdc.c */
36
extern
struct
miscdevice
zfcp_cfdc_misc
;
37
extern
void
zfcp_cfdc_port_denied
(
struct
zfcp_port
*,
union
fsf_status_qual
*);
38
extern
void
zfcp_cfdc_lun_denied
(
struct
scsi_device
*,
union
fsf_status_qual
*);
39
extern
void
zfcp_cfdc_lun_shrng_vltn
(
struct
scsi_device
*,
40
union
fsf_status_qual
*);
41
extern
int
zfcp_cfdc_open_lun_eval
(
struct
scsi_device
*,
42
struct
fsf_qtcb_bottom_support
*);
43
extern
void
zfcp_cfdc_adapter_access_changed
(
struct
zfcp_adapter
*);
44
45
46
/* zfcp_dbf.c */
47
extern
int
zfcp_dbf_adapter_register
(
struct
zfcp_adapter
*);
48
extern
void
zfcp_dbf_adapter_unregister
(
struct
zfcp_adapter
*);
49
extern
void
zfcp_dbf_rec_trig
(
char
*,
struct
zfcp_adapter
*,
50
struct
zfcp_port
*,
struct
scsi_device
*,
u8
,
u8
);
51
extern
void
zfcp_dbf_rec_run
(
char
*,
struct
zfcp_erp_action
*);
52
extern
void
zfcp_dbf_hba_fsf_uss
(
char
*,
struct
zfcp_fsf_req
*);
53
extern
void
zfcp_dbf_hba_fsf_res
(
char
*,
struct
zfcp_fsf_req
*);
54
extern
void
zfcp_dbf_hba_bit_err
(
char
*,
struct
zfcp_fsf_req
*);
55
extern
void
zfcp_dbf_hba_berr
(
struct
zfcp_dbf
*,
struct
zfcp_fsf_req
*);
56
extern
void
zfcp_dbf_hba_def_err
(
struct
zfcp_adapter
*,
u64
,
u16
,
void
**);
57
extern
void
zfcp_dbf_hba_basic
(
char
*,
struct
zfcp_adapter
*);
58
extern
void
zfcp_dbf_san_req
(
char
*,
struct
zfcp_fsf_req
*,
u32
);
59
extern
void
zfcp_dbf_san_res
(
char
*,
struct
zfcp_fsf_req
*);
60
extern
void
zfcp_dbf_san_in_els
(
char
*,
struct
zfcp_fsf_req
*);
61
extern
void
zfcp_dbf_scsi
(
char
*,
struct
scsi_cmnd
*,
struct
zfcp_fsf_req
*);
62
63
/* zfcp_erp.c */
64
extern
void
zfcp_erp_set_adapter_status
(
struct
zfcp_adapter
*,
u32
);
65
extern
void
zfcp_erp_clear_adapter_status
(
struct
zfcp_adapter
*,
u32
);
66
extern
void
zfcp_erp_adapter_reopen
(
struct
zfcp_adapter
*,
int
,
char
*);
67
extern
void
zfcp_erp_adapter_shutdown
(
struct
zfcp_adapter
*,
int
,
char
*);
68
extern
void
zfcp_erp_set_port_status
(
struct
zfcp_port
*,
u32
);
69
extern
void
zfcp_erp_clear_port_status
(
struct
zfcp_port
*,
u32
);
70
extern
int
zfcp_erp_port_reopen
(
struct
zfcp_port
*,
int
,
char
*);
71
extern
void
zfcp_erp_port_shutdown
(
struct
zfcp_port
*,
int
,
char
*);
72
extern
void
zfcp_erp_port_forced_reopen
(
struct
zfcp_port
*,
int
,
char
*);
73
extern
void
zfcp_erp_set_lun_status
(
struct
scsi_device
*,
u32
);
74
extern
void
zfcp_erp_clear_lun_status
(
struct
scsi_device
*,
u32
);
75
extern
void
zfcp_erp_lun_reopen
(
struct
scsi_device
*,
int
,
char
*);
76
extern
void
zfcp_erp_lun_shutdown
(
struct
scsi_device
*,
int
,
char
*);
77
extern
void
zfcp_erp_lun_shutdown_wait
(
struct
scsi_device
*,
char
*);
78
extern
int
zfcp_erp_thread_setup
(
struct
zfcp_adapter
*);
79
extern
void
zfcp_erp_thread_kill
(
struct
zfcp_adapter
*);
80
extern
void
zfcp_erp_wait
(
struct
zfcp_adapter
*);
81
extern
void
zfcp_erp_notify
(
struct
zfcp_erp_action
*,
unsigned
long
);
82
extern
void
zfcp_erp_timeout_handler
(
unsigned
long
);
83
84
/* zfcp_fc.c */
85
extern
struct
kmem_cache
*
zfcp_fc_req_cache
;
86
extern
void
zfcp_fc_enqueue_event
(
struct
zfcp_adapter
*,
87
enum
fc_host_event_code
event_code
,
u32
);
88
extern
void
zfcp_fc_post_event
(
struct
work_struct
*);
89
extern
void
zfcp_fc_scan_ports
(
struct
work_struct
*);
90
extern
void
zfcp_fc_incoming_els
(
struct
zfcp_fsf_req
*);
91
extern
void
zfcp_fc_port_did_lookup
(
struct
work_struct
*);
92
extern
void
zfcp_fc_trigger_did_lookup
(
struct
zfcp_port
*);
93
extern
void
zfcp_fc_plogi_evaluate
(
struct
zfcp_port
*,
struct
fc_els_flogi
*);
94
extern
void
zfcp_fc_test_link
(
struct
zfcp_port
*);
95
extern
void
zfcp_fc_link_test_work
(
struct
work_struct
*);
96
extern
void
zfcp_fc_wka_ports_force_offline
(
struct
zfcp_fc_wka_ports *);
97
extern
int
zfcp_fc_gs_setup
(
struct
zfcp_adapter
*);
98
extern
void
zfcp_fc_gs_destroy
(
struct
zfcp_adapter
*);
99
extern
int
zfcp_fc_exec_bsg_job
(
struct
fc_bsg_job
*);
100
extern
int
zfcp_fc_timeout_bsg_job
(
struct
fc_bsg_job
*);
101
extern
void
zfcp_fc_sym_name_update
(
struct
work_struct
*);
102
extern
void
zfcp_fc_conditional_port_scan
(
struct
zfcp_adapter
*);
103
extern
void
zfcp_fc_inverse_conditional_port_scan
(
struct
zfcp_adapter
*);
104
105
/* zfcp_fsf.c */
106
extern
struct
kmem_cache
*
zfcp_fsf_qtcb_cache
;
107
extern
int
zfcp_fsf_open_port
(
struct
zfcp_erp_action
*);
108
extern
int
zfcp_fsf_open_wka_port
(
struct
zfcp_fc_wka_port *);
109
extern
int
zfcp_fsf_close_wka_port
(
struct
zfcp_fc_wka_port *);
110
extern
int
zfcp_fsf_close_port
(
struct
zfcp_erp_action
*);
111
extern
int
zfcp_fsf_close_physical_port
(
struct
zfcp_erp_action
*);
112
extern
int
zfcp_fsf_open_lun
(
struct
zfcp_erp_action
*);
113
extern
int
zfcp_fsf_close_lun
(
struct
zfcp_erp_action
*);
114
extern
int
zfcp_fsf_exchange_config_data
(
struct
zfcp_erp_action
*);
115
extern
int
zfcp_fsf_exchange_config_data_sync
(
struct
zfcp_qdio
*,
116
struct
fsf_qtcb_bottom_config
*);
117
extern
int
zfcp_fsf_exchange_port_data
(
struct
zfcp_erp_action
*);
118
extern
int
zfcp_fsf_exchange_port_data_sync
(
struct
zfcp_qdio
*,
119
struct
fsf_qtcb_bottom_port
*);
120
extern
struct
zfcp_fsf_req
*
zfcp_fsf_control_file
(
struct
zfcp_adapter
*,
121
struct
zfcp_fsf_cfdc
*);
122
extern
void
zfcp_fsf_req_dismiss_all
(
struct
zfcp_adapter
*);
123
extern
int
zfcp_fsf_status_read
(
struct
zfcp_qdio
*);
124
extern
int
zfcp_status_read_refill
(
struct
zfcp_adapter
*
adapter
);
125
extern
int
zfcp_fsf_send_ct
(
struct
zfcp_fc_wka_port *,
struct
zfcp_fsf_ct_els
*,
126
mempool_t
*,
unsigned
int
);
127
extern
int
zfcp_fsf_send_els
(
struct
zfcp_adapter
*,
u32
,
128
struct
zfcp_fsf_ct_els
*,
unsigned
int
);
129
extern
int
zfcp_fsf_fcp_cmnd
(
struct
scsi_cmnd
*);
130
extern
void
zfcp_fsf_req_free
(
struct
zfcp_fsf_req
*);
131
extern
struct
zfcp_fsf_req
*
zfcp_fsf_fcp_task_mgmt
(
struct
scsi_cmnd
*,
u8
);
132
extern
struct
zfcp_fsf_req
*
zfcp_fsf_abort_fcp_cmnd
(
struct
scsi_cmnd
*);
133
extern
void
zfcp_fsf_reqid_check
(
struct
zfcp_qdio
*,
int
);
134
135
/* zfcp_qdio.c */
136
extern
int
zfcp_qdio_setup
(
struct
zfcp_adapter
*);
137
extern
void
zfcp_qdio_destroy
(
struct
zfcp_qdio
*);
138
extern
int
zfcp_qdio_sbal_get
(
struct
zfcp_qdio
*);
139
extern
int
zfcp_qdio_send
(
struct
zfcp_qdio
*,
struct
zfcp_qdio_req
*);
140
extern
int
zfcp_qdio_sbals_from_sg
(
struct
zfcp_qdio
*,
struct
zfcp_qdio_req
*,
141
struct
scatterlist
*);
142
extern
int
zfcp_qdio_open
(
struct
zfcp_qdio
*);
143
extern
void
zfcp_qdio_close
(
struct
zfcp_qdio
*);
144
extern
void
zfcp_qdio_siosl
(
struct
zfcp_adapter
*);
145
extern
struct
zfcp_fsf_req
*
zfcp_fsf_get_req
(
struct
zfcp_qdio
*,
146
struct
qdio_buffer
*);
147
148
/* zfcp_scsi.c */
149
extern
struct
scsi_transport_template
*
zfcp_scsi_transport_template
;
150
extern
int
zfcp_scsi_adapter_register
(
struct
zfcp_adapter
*);
151
extern
void
zfcp_scsi_adapter_unregister
(
struct
zfcp_adapter
*);
152
extern
struct
fc_function_template
zfcp_transport_functions
;
153
extern
void
zfcp_scsi_rport_work
(
struct
work_struct
*);
154
extern
void
zfcp_scsi_schedule_rport_register
(
struct
zfcp_port
*);
155
extern
void
zfcp_scsi_schedule_rport_block
(
struct
zfcp_port
*);
156
extern
void
zfcp_scsi_schedule_rports_block
(
struct
zfcp_adapter
*);
157
extern
void
zfcp_scsi_set_prot
(
struct
zfcp_adapter
*);
158
extern
void
zfcp_scsi_dif_sense_error
(
struct
scsi_cmnd
*,
int
);
159
160
/* zfcp_sysfs.c */
161
extern
struct
attribute_group
zfcp_sysfs_unit_attrs
;
162
extern
struct
attribute_group
zfcp_sysfs_adapter_attrs
;
163
extern
struct
attribute_group
zfcp_sysfs_port_attrs
;
164
extern
struct
mutex
zfcp_sysfs_port_units_mutex
;
165
extern
struct
device_attribute
*
zfcp_sysfs_sdev_attrs
[];
166
extern
struct
device_attribute
*
zfcp_sysfs_shost_attrs
[];
167
168
/* zfcp_unit.c */
169
extern
int
zfcp_unit_add
(
struct
zfcp_port
*,
u64
);
170
extern
int
zfcp_unit_remove
(
struct
zfcp_port
*,
u64
);
171
extern
struct
zfcp_unit
*
zfcp_unit_find
(
struct
zfcp_port
*,
u64
);
172
extern
struct
scsi_device
*
zfcp_unit_sdev
(
struct
zfcp_unit
*
unit
);
173
extern
void
zfcp_unit_scsi_scan
(
struct
zfcp_unit
*);
174
extern
void
zfcp_unit_queue_scsi_scan
(
struct
zfcp_port
*);
175
extern
unsigned
int
zfcp_unit_sdev_status
(
struct
zfcp_unit
*);
176
177
#endif
/* ZFCP_EXT_H */
Generated on Thu Jan 10 2013 14:18:24 for Linux Kernel by
1.8.2