// SPDX-License-Identifier: GPL-2.0-only /* * Copyright(c) 2008 Intel Corporation. All rights reserved. * * Maintained at www.Open-FCoE.org */ /* * Provide interface to send ELS/CT FC frames */ #include <linux/export.h> #include <asm/unaligned.h> #include <scsi/fc/fc_gs.h> #include <scsi/fc/fc_ns.h> #include <scsi/fc/fc_els.h> #include <scsi/libfc.h> #include "fc_encode.h" #include "fc_libfc.h" /** * fc_elsct_send() - Send an ELS or CT frame * @lport: The local port to send the frame on * @did: The destination ID for the frame * @fp: The frame to be sent * @op: The operational code * @resp: The callback routine when the response is received * @arg: The argument to pass to the response callback routine * @timer_msec: The timeout period for the frame (in msecs) */ struct fc_seq *fc_elsct_send(struct fc_lport *lport, u32 did, struct fc_frame *fp, unsigned int op, void (*resp)(struct fc_seq *, struct fc_frame *, void *), void *arg, u32 timer_msec) { … } EXPORT_SYMBOL(…); /** * fc_elsct_init() - Initialize the ELS/CT layer * @lport: The local port to initialize the ELS/CT layer for */ int fc_elsct_init(struct fc_lport *lport) { … } EXPORT_SYMBOL(…); /** * fc_els_resp_type() - Return a string describing the ELS response * @fp: The frame pointer or possible error code */ const char *fc_els_resp_type(struct fc_frame *fp) { … }