Graphviz 14.1.3~dev.20260213.1022
Loading...
Searching...
No Matches
gprstate.h
Go to the documentation of this file.
1/*************************************************************************
2 * Copyright (c) 2011 AT&T Intellectual Property
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * https://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors: Details at https://graphviz.org
9 *************************************************************************/
10
11#pragma once
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#include <sfio/sfio.h>
18#include "cgraph.h"
19#include <ast/ast.h>
20#include <setjmp.h>
21#include <stdbool.h>
22#include <stddef.h>
23#include <stdio.h>
24#include <expr/expr.h>
25#include <util/list.h>
26#include <util/strview.h>
27#include <util/list.h>
28#include "gvpr.h"
29
30typedef LIST(strview_t) strviews_t;
31
38
63
64 typedef struct {
65 FILE *outFile;
66 strviews_t args;
69 int flags;
70 } gpr_info;
71
72 extern Gpr_t *openGPRState(gpr_info*);
73 extern void addBindings(Gpr_t* state, gvprbinding*);
74 extern gvprbinding* findBinding(Gpr_t* state, char*);
75 extern void closeGPRState(Gpr_t* state);
76 extern void initGPRState(Gpr_t *);
77 extern bool validTVT(long long);
78
79#ifdef __cplusplus
80}
81#endif
abstract graph C library, Cgraph API
void(* Exerror_f)(Expr_t *, Exdisc_t *, int, const char *,...)
Definition expr.h:87
void(* Exexit_f)(void *, int)
Definition expr.h:88
gvprbinding * findBinding(Gpr_t *state, char *)
Definition gprstate.c:72
Gpr_t * openGPRState(gpr_info *)
Definition gprstate.c:38
void initGPRState(Gpr_t *)
Definition gprstate.c:34
void addBindings(Gpr_t *state, gvprbinding *)
Definition gprstate.c:94
trav_type
Definition gprstate.h:32
@ TV_flat
Definition gprstate.h:32
@ TV_fwd
Definition gprstate.h:34
@ TV_rev
Definition gprstate.h:34
@ TV_postdfs
Definition gprstate.h:35
@ TV_dfs
Definition gprstate.h:34
@ TV_prepostfwd
Definition gprstate.h:36
@ TV_en
Definition gprstate.h:32
@ TV_prepostrev
Definition gprstate.h:36
@ TV_prepostdfs
Definition gprstate.h:36
@ TV_postfwd
Definition gprstate.h:35
@ TV_bfs
Definition gprstate.h:33
@ TV_ne
Definition gprstate.h:32
@ TV_postrev
Definition gprstate.h:35
void closeGPRState(Gpr_t *state)
Definition gprstate.c:122
bool validTVT(long long)
Definition gprstate.c:30
graph pattern scanning and processing language API, main function gvpr
type-generic dynamically expanding list
#define LIST(type)
Definition list.h:55
a generic header of Agraph_s, Agnode_s and Agedge_s
Definition cgraph.h:210
graph or subgraph
Definition cgraph.h:424
Agedge_t * tvedge
Definition gprstate.h:54
char * tgtname
Definition gprstate.h:48
Exexit_f exitf
Definition gprstate.h:47
Agobj_t * curobj
Definition gprstate.h:44
LIST(Agraph_t *) open_graphs
Agraph_t * target
Definition gprstate.h:42
Agraph_t * curgraph
Definition gprstate.h:40
int flags
Definition gprstate.h:57
FILE * outFile
Definition gprstate.h:50
Agraph_t * outgraph
Definition gprstate.h:43
size_t n_bindings
Definition gprstate.h:59
Exdisc_t * dp
Definition gprstate.h:45
Agnode_t * tvroot
Definition gprstate.h:52
Agnode_t * tvnext
Definition gprstate.h:53
char * infname
Definition gprstate.h:49
jmp_buf jbuf
Definition gprstate.h:60
Agraph_t * nextgraph
Definition gprstate.h:41
gvprbinding * bindings
Definition gprstate.h:58
Exerror_f errf
Definition gprstate.h:46
int name_used
Definition gprstate.h:55
strviews_t args
Definition gprstate.h:56
trav_type tvt
Definition gprstate.h:51
FILE * outFile
Definition gprstate.h:65
Exerror_f errf
Definition gprstate.h:67
int flags
Definition gprstate.h:69
strviews_t args
Definition gprstate.h:66
Exexit_f exitf
Definition gprstate.h:68
a non-owning string reference
Definition strview.h:20
Non-owning string references.