84 lines
3.3 KiB
C
84 lines
3.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Huawei Hifc PCI Express Linux driver
|
|
* Copyright(c) 2017 Huawei Technologies Co., Ltd
|
|
*
|
|
*/
|
|
#ifndef __UNF_SERVICE_H__
|
|
#define __UNF_SERVICE_H__
|
|
|
|
extern unsigned int max_frame_size;
|
|
|
|
#define UNF_SET_ELS_ACC_TYPE(v_els_cmd) \
|
|
((unsigned int)(v_els_cmd) << 16 | ELS_ACC)
|
|
#define UNF_SET_ELS_RJT_TYPE(v_els_cmd) \
|
|
((unsigned int)(v_els_cmd) << 16 | ELS_RJT)
|
|
|
|
unsigned int unf_send_gid_ft(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_gid_pt(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_gpn_id(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_sns_port,
|
|
unsigned int v_nport_id);
|
|
unsigned int unf_send_gnn_id(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_sns_port,
|
|
unsigned int v_nport_id);
|
|
unsigned int unf_send_gff_id(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_sns_port,
|
|
unsigned int v_nport_id);
|
|
unsigned int unf_send_flogi(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_fdisc(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_plogi(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_prli(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_receive_els_pkg(void *v_lport,
|
|
struct unf_frame_pkg_s *v_fra_pkg);
|
|
unsigned int unf_send_rff_id(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_rft_id(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_logo(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_echo(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport,
|
|
unsigned int *v_time);
|
|
unsigned int unf_send_abts(struct unf_lport_s *v_lport,
|
|
struct unf_xchg_s *v_xchg);
|
|
unsigned int unf_send_scr(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_send_rrq(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport,
|
|
struct unf_xchg_s *v_xchg);
|
|
void unf_rport_immediate_linkdown(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
unsigned int unf_receive_bls_pkg(void *v_lport,
|
|
struct unf_frame_pkg_s *v_pkg);
|
|
struct unf_rport_s *unf_find_rport(struct unf_lport_s *v_lport,
|
|
unsigned int v_rport_nport_id,
|
|
unsigned long long v_port_name);
|
|
void unf_login_with_loop_node(struct unf_lport_s *v_lport, unsigned int alpa);
|
|
unsigned int unf_receive_gs_pkg(void *v_lport,
|
|
struct unf_frame_pkg_s *v_fra_pkg);
|
|
void unf_rcv_gnn_id_rsp_unknown(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_sns_port,
|
|
unsigned int v_nport_id);
|
|
void unf_rcv_gpn_id_rsp_unknown(struct unf_lport_s *v_lport,
|
|
unsigned int v_nport_id);
|
|
void unf_rcv_gff_id_rsp_unknown(struct unf_lport_s *v_lport,
|
|
unsigned int v_nport_id);
|
|
unsigned int unf_release_rport_res(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport);
|
|
|
|
unsigned int unf_low_level_bbscn(struct unf_lport_s *v_lport);
|
|
unsigned int unf_send_els_done(void *v_lport, struct unf_frame_pkg_s *v_pkg);
|
|
unsigned int unf_send_rec(struct unf_lport_s *v_lport,
|
|
struct unf_rport_s *v_rport,
|
|
struct unf_xchg_s *v_xchg);
|
|
|
|
typedef int (*unf_evt_task)(void *v_arg_in, void *v_arg_out);
|
|
|
|
#endif /* __UNF_SERVICE_H__ */
|