Graphviz 13.1.3~dev.20250829.0113
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
62
63 typedef struct {
64 FILE *outFile;
65 strviews_t args;
68 int flags;
69 } gpr_info;
70
71 extern Gpr_t *openGPRState(gpr_info*);
72 extern void addBindings(Gpr_t* state, gvprbinding*);
73 extern gvprbinding* findBinding(Gpr_t* state, char*);
74 extern void closeGPRState(Gpr_t* state);
75 extern void initGPRState(Gpr_t *);
76 extern bool validTVT(long long);
77
78#ifdef __cplusplus
79}
80#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:66
Gpr_t * openGPRState(gpr_info *)
Definition gprstate.c:34
void initGPRState(Gpr_t *)
Definition gprstate.c:30
void addBindings(Gpr_t *state, gvprbinding *)
Definition gprstate.c:88
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:116
bool validTVT(long long)
Definition gprstate.c:26
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
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:64
Exerror_f errf
Definition gprstate.h:66
int flags
Definition gprstate.h:68
strviews_t args
Definition gprstate.h:65
Exexit_f exitf
Definition gprstate.h:67
a non-owning string reference
Definition strview.h:20
Non-owning string references.