linux/drivers/scsi/bfa/include/bfi/bfi_lport.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
   3 * All rights reserved
   4 * www.brocade.com
   5 *
   6 * Linux driver for Brocade Fibre Channel Host Bus Adapter.
   7 *
   8 * This program is free software; you can redistribute it and/or modify it
   9 * under the terms of the GNU General Public License (GPL) Version 2 as
  10 * published by the Free Software Foundation
  11 *
  12 * This program is distributed in the hope that it will be useful, but
  13 * WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15 * General Public License for more details.
  16 */
  17
  18#ifndef __BFI_LPORT_H__
  19#define __BFI_LPORT_H__
  20
  21#include <bfi/bfi.h>
  22
  23#pragma pack(1)
  24
  25enum bfi_lport_h2i_msgs {
  26        BFI_LPORT_H2I_CREATE_REQ = 1,
  27        BFI_LPORT_H2I_DELETE_REQ = 2,
  28};
  29
  30enum bfi_lport_i2h_msgs {
  31        BFI_LPORT_I2H_CREATE_RSP = BFA_I2HM(1),
  32        BFI_LPORT_I2H_DELETE_RSP = BFA_I2HM(2),
  33        BFI_LPORT_I2H_ONLINE      = BFA_I2HM(3),
  34        BFI_LPORT_I2H_OFFLINE     = BFA_I2HM(4),
  35};
  36
  37#define BFI_LPORT_MAX_SYNNAME   64
  38
  39enum bfi_lport_role_e {
  40        BFI_LPORT_ROLE_FCPIM    = 1,
  41        BFI_LPORT_ROLE_FCPTM    = 2,
  42        BFI_LPORT_ROLE_IPFC     = 4,
  43};
  44
  45struct bfi_lport_create_req_s {
  46        bfi_mhdr_t      mh;             /*  common msg header           */
  47        u16     fabric_fwhdl;   /*  parent fabric instance      */
  48        u8              roles;          /*  lport FC-4 roles            */
  49        u8              rsvd;
  50        wwn_t           pwwn;           /*  port name                   */
  51        wwn_t           nwwn;           /*  node name                   */
  52        u8              symname[BFI_LPORT_MAX_SYNNAME];
  53};
  54
  55struct bfi_lport_create_rsp_s {
  56        bfi_mhdr_t      mh;             /*  common msg header           */
  57        u8         status;              /*  lport creation status       */
  58        u8         rsvd[3];
  59};
  60
  61struct bfi_lport_delete_req_s {
  62        bfi_mhdr_t      mh;             /*  common msg header           */
  63        u16        fw_handle;   /*  firmware lport handle       */
  64        u16        rsvd;
  65};
  66
  67struct bfi_lport_delete_rsp_s {
  68        bfi_mhdr_t      mh;             /*  common msg header           */
  69        u16        bfa_handle;  /*  host lport handle           */
  70        u8         status;              /*  lport deletion status       */
  71        u8         rsvd;
  72};
  73
  74union bfi_lport_h2i_msg_u {
  75        bfi_msg_t               *msg;
  76        struct bfi_lport_create_req_s   *create_req;
  77        struct bfi_lport_delete_req_s   *delete_req;
  78};
  79
  80union bfi_lport_i2h_msg_u {
  81        bfi_msg_t               *msg;
  82        struct bfi_lport_create_rsp_s   *create_rsp;
  83        struct bfi_lport_delete_rsp_s   *delete_rsp;
  84};
  85
  86#pragma pack()
  87
  88#endif /* __BFI_LPORT_H__ */
  89
  90
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.