linux/drivers/message/fusion/lsi/mpi_fc.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 *  Copyright (c) 2000-2008 LSI Corporation.
 *
 *
 *           Name:  mpi_fc.h
 *          Title:  MPI Fibre Channel messages and structures
 *  Creation Date:  June 12, 2000
 *
 *    mpi_fc.h Version:  01.05.01
 *
 *  Version History
 *  ---------------
 *
 *  Date      Version   Description
 *  --------  --------  ------------------------------------------------------
 *  05-08-00  00.10.01  Original release for 0.10 spec dated 4/26/2000.
 *  06-06-00  01.00.01  Update version number for 1.0 release.
 *  06-12-00  01.00.02  Added _MSG_FC_ABORT_REPLY structure.
 *  11-02-00  01.01.01  Original release for post 1.0 work
 *  12-04-00  01.01.02  Added messages for Common Transport Send and
 *                      Primitive Send.
 *  01-09-01  01.01.03  Modifed some of the new flags to have an MPI prefix
 *                      and modified the FcPrimitiveSend flags.
 *  01-25-01  01.01.04  Move InitiatorIndex in LinkServiceRsp reply to a larger
 *                      field.
 *                      Added FC_ABORT_TYPE_CT_SEND_REQUEST and
 *                      FC_ABORT_TYPE_EXLINKSEND_REQUEST for FcAbort request.
 *                      Added MPI_FC_PRIM_SEND_FLAGS_STOP_SEND.
 *  02-20-01  01.01.05  Started using MPI_POINTER.
 *  03-27-01  01.01.06  Added Flags field to MSG_LINK_SERVICE_BUFFER_POST_REPLY
 *                      and defined MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED.
 *                      Added MPI_FC_PRIM_SEND_FLAGS_RESET_LINK define.
 *                      Added structure offset comments.
 *  04-09-01  01.01.07  Added RspLength field to MSG_LINK_SERVICE_RSP_REQUEST.
 *  08-08-01  01.02.01  Original release for v1.2 work.
 *  09-28-01  01.02.02  Change name of reserved field in
 *                      MSG_LINK_SERVICE_RSP_REPLY.
 *  05-31-02  01.02.03  Adding AliasIndex to FC Direct Access requests.
 *  01-16-04  01.02.04  Added define for MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK.
 *  05-11-04  01.03.01  Original release for MPI v1.3.
 *  08-19-04  01.05.01  Original release for MPI v1.5.
 *  --------------------------------------------------------------------------
 */

#ifndef MPI_FC_H
#define MPI_FC_H


/*****************************************************************************
*
*        F C    D i r e c t    A c c e s s     M e s s a g e s
*
*****************************************************************************/

/****************************************************************************/
/* Link Service Buffer Post messages                                        */
/****************************************************************************/

pLinkServiceBufferPostRequest_t;

#define LINK_SERVICE_BUFFER_POST_FLAGS_PORT_MASK

WwnFormat_t;

/* Link Service Buffer Post Reply */
pLinkServiceBufferPostReply_t;

#define MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED

#define MPI_FC_DID_MASK
#define MPI_FC_DID_SHIFT
#define MPI_FC_RCTL_MASK
#define MPI_FC_RCTL_SHIFT
#define MPI_FC_SID_MASK
#define MPI_FC_SID_SHIFT
#define MPI_FC_CSCTL_MASK
#define MPI_FC_CSCTL_SHIFT
#define MPI_FC_FCTL_MASK
#define MPI_FC_FCTL_SHIFT
#define MPI_FC_TYPE_MASK
#define MPI_FC_TYPE_SHIFT

/* obsolete name for the above */
#define FCP_TARGET_DID_MASK
#define FCP_TARGET_DID_SHIFT
#define FCP_TARGET_RCTL_MASK
#define FCP_TARGET_RCTL_SHIFT
#define FCP_TARGET_SID_MASK
#define FCP_TARGET_SID_SHIFT
#define FCP_TARGET_CSCTL_MASK
#define FCP_TARGET_CSCTL_SHIFT
#define FCP_TARGET_FCTL_MASK
#define FCP_TARGET_FCTL_SHIFT
#define FCP_TARGET_TYPE_MASK
#define FCP_TARGET_TYPE_SHIFT


/****************************************************************************/
/* Link Service Response messages                                           */
/****************************************************************************/

pLinkServiceRspRequest_t;

#define LINK_SERVICE_RSP_FLAGS_IMMEDIATE
#define LINK_SERVICE_RSP_FLAGS_PORT_MASK


/* Link Service Response Reply  */
pLinkServiceRspReply_t;


/****************************************************************************/
/* Extended Link Service Send messages                                      */
/****************************************************************************/

pExLinkServiceSendRequest_t;

#define EX_LINK_SERVICE_SEND_DID_MASK
#define EX_LINK_SERVICE_SEND_DID_SHIFT
#define EX_LINK_SERVICE_SEND_MSGFLAGS_MASK
#define EX_LINK_SERVICE_SEND_MSGFLAGS_SHIFT


/* Extended Link Service Send Reply */
pExLinkServiceSendReply_t;

/****************************************************************************/
/* FC Abort messages                                                        */
/****************************************************************************/

pFcAbortRequest_t;

#define FC_ABORT_FLAG_PORT_MASK

#define FC_ABORT_TYPE_ALL_FC_BUFFERS
#define FC_ABORT_TYPE_EXACT_FC_BUFFER
#define FC_ABORT_TYPE_CT_SEND_REQUEST
#define FC_ABORT_TYPE_EXLINKSEND_REQUEST

/* FC Abort Reply */
pFcAbortReply_t;


/****************************************************************************/
/* FC Common Transport Send messages                                        */
/****************************************************************************/

pFcCommonTransportSendRequest_t;

#define MPI_FC_CT_SEND_DID_MASK
#define MPI_FC_CT_SEND_DID_SHIFT
#define MPI_FC_CT_SEND_MSGFLAGS_MASK
#define MPI_FC_CT_SEND_MSGFLAGS_SHIFT


/* FC Common Transport Send Reply */
pFcCommonTransportSendReply_t;


/****************************************************************************/
/* FC Primitive Send messages                                               */
/****************************************************************************/

pFcPrimitiveSendRequest_t;

#define MPI_FC_PRIM_SEND_FLAGS_PORT_MASK
#define MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK
#define MPI_FC_PRIM_SEND_FLAGS_RESET_LINK
#define MPI_FC_PRIM_SEND_FLAGS_STOP_SEND
#define MPI_FC_PRIM_SEND_FLAGS_SEND_ONCE
#define MPI_FC_PRIM_SEND_FLAGS_SEND_AROUND
#define MPI_FC_PRIM_SEND_FLAGS_UNTIL_FULL
#define MPI_FC_PRIM_SEND_FLAGS_FOREVER

/* FC Primitive Send Reply */
pFcPrimitiveSendReply_t;

#endif