/* * This file is part of the Chelsio FCoE driver for Linux. * * Copyright (c) 2008-2012 Chelsio Communications, Inc. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version 2, available from the file * COPYING in the main directory of this source tree, or the * OpenIB.org BSD license below: * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above * copyright notice, this list of conditions and the following * disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __CSIO_RNODE_H__ #define __CSIO_RNODE_H__ #include "csio_defs.h" /* State machine evets */ enum csio_rn_ev { … }; /* rnode stats */ struct csio_rnode_stats { … }; /* Defines for rnode role */ #define CSIO_RNFR_INITIATOR … #define CSIO_RNFR_TARGET … #define CSIO_RNFR_FABRIC … #define CSIO_RNFR_NS … #define CSIO_RNFR_NPORT … struct csio_rnode { … }; #define csio_rn_flowid(rn) … #define csio_rn_wwpn(rn) … #define csio_rn_wwnn(rn) … #define csio_rnode_to_lnode(rn) … int csio_is_rnode_ready(struct csio_rnode *rn); void csio_rnode_state_to_str(struct csio_rnode *rn, int8_t *str); struct csio_rnode *csio_rnode_lookup_portid(struct csio_lnode *, uint32_t); struct csio_rnode *csio_confirm_rnode(struct csio_lnode *, uint32_t, struct fcoe_rdev_entry *); void csio_rnode_fwevt_handler(struct csio_rnode *rn, uint8_t fwevt); void csio_put_rnode(struct csio_lnode *ln, struct csio_rnode *rn); void csio_reg_rnode(struct csio_rnode *); void csio_unreg_rnode(struct csio_rnode *); void csio_rnode_devloss_handler(struct csio_rnode *); #endif /* ifndef __CSIO_RNODE_H__ */