|
Packit |
857059 |
/* BEGIN_ICS_COPYRIGHT7 ****************************************
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Copyright (c) 2015-2017, Intel Corporation
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Redistribution and use in source and binary forms, with or without
|
|
Packit |
857059 |
modification, are permitted provided that the following conditions are met:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
* Redistributions of source code must retain the above copyright notice,
|
|
Packit |
857059 |
this list of conditions and the following disclaimer.
|
|
Packit |
857059 |
* Redistributions in binary form must reproduce the above copyright
|
|
Packit |
857059 |
notice, this list of conditions and the following disclaimer in the
|
|
Packit |
857059 |
documentation and/or other materials provided with the distribution.
|
|
Packit |
857059 |
* Neither the name of Intel Corporation nor the names of its contributors
|
|
Packit |
857059 |
may be used to endorse or promote products derived from this software
|
|
Packit |
857059 |
without specific prior written permission.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
857059 |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
857059 |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
Packit |
857059 |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
Packit |
857059 |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
Packit |
857059 |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
Packit |
857059 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
Packit |
857059 |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
Packit |
857059 |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
Packit |
857059 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
** END_ICS_COPYRIGHT7 ****************************************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/* [ICS VERSION STRING: unknown] */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#ifndef _TOPOLOGY_INTERNAL_H
|
|
Packit |
857059 |
#define _TOPOLOGY_INTERNAL_H
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#include <topology.h>
|
|
Packit |
857059 |
|
|
Packit |
857059 |
// unpublished interfaces internal to topology library
|
|
Packit |
857059 |
#ifdef __cplusplus
|
|
Packit |
857059 |
extern "C" {
|
|
Packit |
857059 |
#endif
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define MYTAG MAKE_MEM_TAG('T','o', 'p', 'o')
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define PROGRESS_FREQ 25 // how many nodes between progress reports
|
|
Packit |
857059 |
|
|
Packit |
857059 |
extern const char *g_Top_cmdname;
|
|
Packit |
857059 |
extern Top_FreeCallbacks g_Top_FreeCallbacks;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
extern void PortDataFree(FabricData_t *fabricp, PortData *portp);
|
|
Packit |
857059 |
extern FSTATUS AllLidsAdd(FabricData_t *fabricp, PortData *portp, boolean force);
|
|
Packit |
857059 |
extern void AllLidsRemove(FabricData_t *fabricp, PortData *portp);
|
|
Packit |
857059 |
#if !defined(VXWORKS) || defined(BUILD_DMC)
|
|
Packit |
857059 |
extern void IocDataFree(FabricData_t *fabricp, IocData *iocp);
|
|
Packit |
857059 |
extern void IouDataFreeIocs(FabricData_t *fabricp, IouData *ioup);
|
|
Packit |
857059 |
extern void IouDataFree(FabricData_t *fabricp, IouData *ioup);
|
|
Packit |
857059 |
#endif
|
|
Packit |
857059 |
extern void NodeDataFreePorts(FabricData_t *fabricp, NodeData *nodep);
|
|
Packit |
857059 |
extern void NodeDataFreeSwitchData(FabricData_t *fabricp, NodeData *nodep);
|
|
Packit |
857059 |
extern void NodeDataFree(FabricData_t *fabricp, NodeData *nodep);
|
|
Packit |
857059 |
extern void NodeDataFreeAll(FabricData_t *fabricp);
|
|
Packit |
857059 |
extern void SMDataFree(FabricData_t *fabricp, SMData *smp);
|
|
Packit |
857059 |
extern void SMDataFreeAll(FabricData_t *fabricp);
|
|
Packit |
857059 |
extern void MCDataFreeAll(FabricData_t *fabricp);
|
|
Packit |
857059 |
extern void MCMemberFree(FabricData_t *fabricp, McMemberData *mcmemberp);
|
|
Packit |
857059 |
extern void VFDataFreeAll(FabricData_t *fabricp);
|
|
Packit |
857059 |
extern void MCGroupFree(FabricData_t *fabricp, McGroupData *mcgroupp);
|
|
Packit |
857059 |
extern void CableDataFree(CableData *cablep);
|
|
Packit |
857059 |
extern void PortSelectorFree(PortSelector *portselp);
|
|
Packit |
857059 |
extern void ExpectedLinkFree(FabricData_t *fabricp, ExpectedLink *elinkp);
|
|
Packit |
857059 |
extern void ExpectedLinkFreeAll(FabricData_t *fabricp);
|
|
Packit |
857059 |
extern void ExpectedNodeFree(FabricData_t *fabricp, ExpectedNode *enodep, QUICK_LIST *listp);
|
|
Packit |
857059 |
extern void ExpectedNodesFreeAll(FabricData_t *fabricp, QUICK_LIST *listp);
|
|
Packit |
857059 |
extern void ExpectedSMFree(FabricData_t *fabricp, ExpectedSM *esmp);
|
|
Packit |
857059 |
extern void ExpectedSMsFreeAll(FabricData_t *fabricp);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
// create SystemData as needed
|
|
Packit |
857059 |
// add this Node to the appropriate System
|
|
Packit |
857059 |
// This should only be invoked once per node (eg. not per NodeRecord)
|
|
Packit |
857059 |
extern FSTATUS AddSystemNode(FabricData_t *fabricp, NodeData *nodep);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#ifdef __cplusplus
|
|
Packit |
857059 |
};
|
|
Packit |
857059 |
#endif
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#endif /* _TOPOLOGY_INTERNAL_H */
|