fcs_fabric.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. * fcs_lport.h FCS logical port interfaces
  19. */
  20. #ifndef __FCS_FABRIC_H__
  21. #define __FCS_FABRIC_H__
  22. #include <fcs/bfa_fcs.h>
  23. #include <fcs/bfa_fcs_vport.h>
  24. #include <fcs/bfa_fcs_lport.h>
  25. /*
  26. * fcs friend functions: only between fcs modules
  27. */
  28. void bfa_fcs_fabric_modinit(struct bfa_fcs_s *fcs);
  29. void bfa_fcs_fabric_modexit(struct bfa_fcs_s *fcs);
  30. void bfa_fcs_fabric_modsusp(struct bfa_fcs_s *fcs);
  31. void bfa_fcs_fabric_link_up(struct bfa_fcs_fabric_s *fabric);
  32. void bfa_fcs_fabric_link_down(struct bfa_fcs_fabric_s *fabric);
  33. void bfa_fcs_fabric_addvport(struct bfa_fcs_fabric_s *fabric,
  34. struct bfa_fcs_vport_s *vport);
  35. void bfa_fcs_fabric_delvport(struct bfa_fcs_fabric_s *fabric,
  36. struct bfa_fcs_vport_s *vport);
  37. int bfa_fcs_fabric_is_online(struct bfa_fcs_fabric_s *fabric);
  38. struct bfa_fcs_vport_s *bfa_fcs_fabric_vport_lookup(
  39. struct bfa_fcs_fabric_s *fabric, wwn_t pwwn);
  40. void bfa_fcs_fabric_modstart(struct bfa_fcs_s *fcs);
  41. void bfa_fcs_fabric_uf_recv(struct bfa_fcs_fabric_s *fabric,
  42. struct fchs_s *fchs, u16 len);
  43. u16 bfa_fcs_fabric_vport_count(struct bfa_fcs_fabric_s *fabric);
  44. bfa_boolean_t bfa_fcs_fabric_is_loopback(struct bfa_fcs_fabric_s *fabric);
  45. enum bfa_pport_type bfa_fcs_fabric_port_type(struct bfa_fcs_fabric_s *fabric);
  46. void bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric);
  47. void bfa_fcs_fabric_port_delete_comp(struct bfa_fcs_fabric_s *fabric);
  48. bfa_status_t bfa_fcs_fabric_addvf(struct bfa_fcs_fabric_s *vf,
  49. struct bfa_fcs_s *fcs, struct bfa_port_cfg_s *port_cfg,
  50. struct bfad_vf_s *vf_drv);
  51. void bfa_fcs_auth_finished(struct bfa_fcs_fabric_s *fabric,
  52. enum auth_status status);
  53. void bfa_fcs_fabric_set_fabric_name(struct bfa_fcs_fabric_s *fabric,
  54. wwn_t fabric_name);
  55. #endif /* __FCS_FABRIC_H__ */