23 #ifndef _DGL_dglGraph_s_H_ 24 #define _DGL_dglGraph_s_H_ 36 #define DGL_GS_FLAT 0x1 41 #define DGL_GF_COMPLETE 0x1 42 #define DGL_GF_BIPARTITE 0x2 43 #define DGL_GF_REGULAR 0x4 44 #define DGL_GF_BOUQUET 0x8 45 #define DGL_GF_DIPOLE 0x10 46 #define DGL_GF_PATH 0x20 47 #define DGL_GF_CYCLE 0x40 52 #define DGL_GO_EdgePrioritize_COST 0x10 53 #define DGL_GO_EdgePrioritize_ATTR 0x20 54 #define DGL_GO_NodePrioritize_ATTR 0x40 60 #define DGL_NS_HEAD 0x1 61 #define DGL_NS_TAIL 0x2 62 #define DGL_NS_ALONE 0x4 68 #define DGL_ES_DIRECTED 0x1 74 #define DGL_ENDIAN_BIG 1 75 #define DGL_ENDIAN_LITTLE 2 82 #define DGL_STRONGCONNECT 0x1 84 #define DGL_MERGE_EDGE 0x4 281 #define DGL_ERR_BadVersion 1 282 #define DGL_ERR_BadNodeType 2 283 #define DGL_ERR_MemoryExhausted 3 284 #define DGL_ERR_HeapError 4 285 #define DGL_ERR_UndefinedMethod 5 286 #define DGL_ERR_Write 6 287 #define DGL_ERR_Read 7 288 #define DGL_ERR_NotSupported 8 289 #define DGL_ERR_UnknownByteOrder 9 290 #define DGL_ERR_HeadNodeNotFound 10 291 #define DGL_ERR_TailNodeNotFound 11 292 #define DGL_ERR_BadEdge 12 293 #define DGL_ERR_BadOnFlatGraph 13 294 #define DGL_ERR_BadOnTreeGraph 14 295 #define DGL_ERR_NodeNotFound 15 296 #define DGL_ERR_TreeSearchError 16 297 #define DGL_ERR_UnexpectedNullPointer 17 298 #define DGL_ERR_VersionNotSupported 18 299 #define DGL_ERR_EdgeNotFound 19 300 #define DGL_ERR_NodeAlreadyExist 20 301 #define DGL_ERR_NodeIsAComponent 21 302 #define DGL_ERR_EdgeAlreadyExist 22 303 #define DGL_ERR_BadArgument 23 364 void *pvTnodeAttr,
void *pvEdgeAttr,
dglInt32_t nFlags);
381 unsigned char ab[118];
391 int cbChunk,
void *pvArg);
437 int cgraphComponents,
int dglGet_AloneNodeCount(dglGraph_s *pGraph)
dglInt32_t * dglNode_T_Prev(dglNodeTraverser_s *pTraverser)
int dglNodeGet_Valence(dglGraph_s *pGraph, dglInt32_t *pnNode)
dglNodePrioritizer_s * dglGet_NodePrioritizer(dglGraph_s *pGraph)
dglInt32_t * dglEdge_T_First(dglEdgeTraverser_s *pTraverser)
struct _dglSpanClipInput dglSpanClipInput_s
char * dglStrerror(dglGraph_s *pgraph)
int dglDepthComponents(dglGraph_s *pgraphInput, dglGraph_s *pgraphComponents, int cgraphComponents, dglSpanClip_fn fnClip, void *pvClipArg)
int dglUnflatten(dglGraph_s *pGraph)
dglInt32_t * dglEdgeset_T_First(dglEdgesetTraverser_s *pTraverser)
dglEdgePrioritizer_s edgePrioritizer
int dglGet_NodeSize(dglGraph_s *pGraph)
dglInt32_t * dglEdgeset_T_Next(dglEdgesetTraverser_s *pTraverser)
int dglWrite(dglGraph_s *pGraph, int fd)
dglInt64_t dglGet_Cost(dglGraph_s *pGraph)
struct _dglSpanClipOutput dglSpanClipOutput_s
int dglInitialize(dglGraph_s *pGraph, dglByte_t Version, dglInt32_t NodeAttrSize, dglInt32_t EdgeAttrSize, dglInt32_t *pOpaqueSet)
dglInt32_t dglEdgeGet_Id(dglGraph_s *pGraph, dglInt32_t *pnEdge)
dglNodePrioritizer_s nodePrioritizer
int dglRead(dglGraph_s *pGraph, int fd)
int dglMinimumSpanning(dglGraph_s *pgraphInput, dglGraph_s *pgraphOutput, dglInt32_t nVertexNode, dglSpanClip_fn fnClip, void *pvClipArg)
dglTreeEdgePri32_s * pEdgePri32Item
int dglEdgeSet_Attr(dglGraph_s *pGraph, dglInt32_t *pnAttr, dglInt32_t *pnEdge)
dglInt32_t * dglNodeGet_Attr(dglGraph_s *pGraph, dglInt32_t *pnNode)
int dglGet_NodeAttrSize(dglGraph_s *pGraph)
int(* dglSpanClip_fn)(dglGraph_s *, dglGraph_s *, dglSpanClipInput_s *, dglSpanClipOutput_s *, void *)
void dglResetStats(dglGraph_s *pgraph)
struct _dglGraph dglGraph_s
dglInt32_t * dglNode_T_Next(dglNodeTraverser_s *pTraverser)
int dglIOContextInitialize(dglGraph_s *, dglIOContext_s *)
void dglSet_Version(dglGraph_s *pGraph, int Version)
int dglShortestPath(dglGraph_s *pGraph, dglSPReport_s **ppReport, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
int dglFlatten(dglGraph_s *pGraph)
dglInt32_t * dglEdgeGet_Head(dglGraph_s *pGraph, dglInt32_t *pnEdge)
int dglWriteChunk(dglIOContext_s *, dglWriteChunk_fn, void *pvArg)
dglInt32_t * dglNodeGet_InEdgeset(dglGraph_s *pGraph, dglInt32_t *pnNode)
void dglEdge_T_Release(dglEdgeTraverser_s *pTraverser)
struct _dglSPArc dglSPArc_s
int dglErrno(dglGraph_s *pgraph)
int dglShortestDistance(dglGraph_s *pGraph, dglInt32_t *pnDistance, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
int dglNodeGet_InDegree(dglGraph_s *pGraph, dglInt32_t *pnNode)
int dglRelease(dglGraph_s *pGraph)
dglInt32_t * dglGetEdge(dglGraph_s *pGraph, dglInt32_t nEdgeId)
void dglSet_Cost(dglGraph_s *pGraph, dglInt64_t nnCost)
int dglNode_T_Initialize(dglNodeTraverser_s *pTraverser, dglGraph_s *pGraph)
dglInt32_t dglEdgeGet_Cost(dglGraph_s *pGraph, dglInt32_t *pnEdge)
int dglGet_EdgeSize(dglGraph_s *pGraph)
dglInt32_t nDestinationNode
int dglAddEdge(dglGraph_s *pGraph, dglInt32_t nHead, dglInt32_t nTail, dglInt32_t nCost, dglInt32_t nEdge)
int dglDepthSpanning(dglGraph_s *pgraphInput, dglGraph_s *pgraphOutput, dglInt32_t nVertexNode, dglSpanClip_fn fnClip, void *pvClipArg)
void dglNodeSet_Attr(dglGraph_s *pGraph, dglInt32_t *pnNode, dglInt32_t *pnAttr)
dglEdgePrioritizer_s * dglGet_EdgePrioritizer(dglGraph_s *pGraph)
int dglGet_Version(dglGraph_s *pGraph)
int dglEdgeset_T_Initialize(dglEdgesetTraverser_s *pTraverser, dglGraph_s *pGraph, dglInt32_t *pnEdgeset)
int dglReadChunk(dglIOContext_s *, dglByte_t *pbChunk, int cbChunk)
void dglSet_Options(dglGraph_s *pGraph, dglInt32_t nOptions)
int dglDelNode(dglGraph_s *pGraph, dglInt32_t nNodeId)
int dglGet_NodeCount(dglGraph_s *pGraph)
dglInt32_t dglEdgesetGet_EdgeCount(dglGraph_s *pGraph, dglInt32_t *pnOutEdgeset)
int dglShortestDistanceGraph(dglGraph_s *pGraph, dglGraph_s *pGraphOut, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
int dglAddEdgeX(dglGraph_s *pGraph, dglInt32_t nHead, dglInt32_t nTail, dglInt32_t nCost, dglInt32_t nEdge, void *pvFnodeAttr, void *pvTnodeAttr, void *pvEdgeAttr, dglInt32_t nFlags)
dglInt32_t * dglNode_T_First(dglNodeTraverser_s *pTraverser)
void dglIOContextRelease(dglIOContext_s *)
void dglNode_T_Release(dglNodeTraverser_s *pTraverser)
struct _dglSPClipOutput dglSPClipOutput_s
struct _dglSPReport dglSPReport_s
void dglSet_Family(dglGraph_s *pGraph, dglInt32_t nFamily)
dglEdgePrioritizer_s * pEdgePrioritizer
dglInt32_t * dglEdge_T_Next(dglEdgeTraverser_s *pTraverser)
void dglEdgeset_T_Release(dglEdgesetTraverser_s *pTraverser)
dglInt32_t * dglGet_Opaque(dglGraph_s *pGraph)
int dglGet_TailNodeCount(dglGraph_s *pGraph)
int(* dglWriteChunk_fn)(dglGraph_s *, unsigned char *pbChunk, int cbChunk, void *pvArg)
int(* dglSPClip_fn)(dglGraph_s *, dglSPClipInput_s *, dglSPClipOutput_s *, void *)
dglInt32_t * dglNodeGet_OutEdgeset(dglGraph_s *pGraph, dglInt32_t *pnNode)
int dglGet_EdgeAttrSize(dglGraph_s *pGraph)
int dglGet_State(dglGraph_s *pGraph)
dglInt32_t * dglNode_T_Find(dglNodeTraverser_s *pTraverser, dglInt32_t nNodeId)
int dglGet_Endianess(dglGraph_s *pGraph)
dglInt32_t * dglNode_T_Last(dglNodeTraverser_s *pTraverser)
int dglInitializeSPCache(dglGraph_s *pgraph, dglSPCache_s *pCache)
int dglAddNode(dglGraph_s *pGraph, dglInt32_t nNodeId, void *pvNodeAttr, dglInt32_t nFlags)
dglInt32_t dglGet_Options(dglGraph_s *pGraph)
dglInt32_t * dglEdgeGet_Tail(dglGraph_s *pGraph, dglInt32_t *pnEdge)
int dglDelEdge(dglGraph_s *pGraph, dglInt32_t nEdgeId)
dglInt32_t dglGet_Family(dglGraph_s *pGraph)
dglInt32_t * dglEdgeGet_Attr(dglGraph_s *pGraph, dglInt32_t *pnEdge)
dglInt32_t dglNodeGet_Status(dglGraph_s *pGraph, dglInt32_t *pnNode)
void dglFreeSPReport(dglGraph_s *pGraph, dglSPReport_s *pSPReport)
void dglReleaseSPCache(dglGraph_s *pgraph, dglSPCache_s *pCache)
dglInt32_t * dglGetNode(dglGraph_s *pGraph, dglInt32_t nNodeId)
int dglNodeGet_OutDegree(dglGraph_s *pGraph, dglInt32_t *pnNode)
int dglShortestPathGraph(dglGraph_s *pGraph, dglGraph_s *pGraphOut, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
struct _dglSPClipInput dglSPClipInput_s
int dglGet_HeadNodeCount(dglGraph_s *pGraph)
int dglGet_EdgeCount(dglGraph_s *pGraph)
dglInt32_t dglNodeGet_Id(dglGraph_s *pGraph, dglInt32_t *pnNode)
void dglSet_Opaque(dglGraph_s *pGraph, dglInt32_t *pOpaque)
int dglEdge_T_Initialize(dglEdgeTraverser_s *pTraverser, dglGraph_s *pGraph, dglEdgePrioritizer_s *pEdgePrioritizer)