Graphviz 13.0.0~dev.20241220.2304
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 "gvpr.h"
26
33
58
59 typedef struct {
60 FILE *outFile;
61 int argc;
62 char **argv;
65 int flags;
66 } gpr_info;
67
68 extern Gpr_t *openGPRState(gpr_info*);
69 extern void addBindings(Gpr_t* state, gvprbinding*);
70 extern gvprbinding* findBinding(Gpr_t* state, char*);
71 extern void closeGPRState(Gpr_t* state);
72 extern void initGPRState(Gpr_t *);
73 extern bool validTVT(long long);
74
75#ifdef __cplusplus
76}
77#endif
abstract graph C library, Cgraph API
void(* Exerror_f)(Expr_t *, Exdisc_t *, int, const char *,...)
Definition expr.h:89
void(* Exexit_f)(void *, int)
Definition expr.h:90
gvprbinding * findBinding(Gpr_t *state, char *)
Definition gprstate.c:67
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:91
trav_type
Definition gprstate.h:27
@ TV_flat
Definition gprstate.h:27
@ TV_fwd
Definition gprstate.h:29
@ TV_rev
Definition gprstate.h:29
@ TV_postdfs
Definition gprstate.h:30
@ TV_dfs
Definition gprstate.h:29
@ TV_prepostfwd
Definition gprstate.h:31
@ TV_en
Definition gprstate.h:27
@ TV_prepostrev
Definition gprstate.h:31
@ TV_prepostdfs
Definition gprstate.h:31
@ TV_postfwd
Definition gprstate.h:30
@ TV_bfs
Definition gprstate.h:28
@ TV_ne
Definition gprstate.h:27
@ TV_postrev
Definition gprstate.h:30
void closeGPRState(Gpr_t *state)
Definition gprstate.c:119
bool validTVT(long long)
Definition gprstate.c:26
graph pattern scanning and processing language API, main function gvpr
a generic header of Agraph_s, Agnode_s and Agedge_s
Definition cgraph.h:210
graph or subgraph
Definition cgraph.h:425
char ** argv
Definition gprstate.h:52
Agedge_t * tvedge
Definition gprstate.h:49
char * tgtname
Definition gprstate.h:43
Exexit_f exitf
Definition gprstate.h:42
Agobj_t * curobj
Definition gprstate.h:39
Agraph_t * target
Definition gprstate.h:37
Agraph_t * curgraph
Definition gprstate.h:35
int flags
Definition gprstate.h:53
FILE * outFile
Definition gprstate.h:45
Agraph_t * outgraph
Definition gprstate.h:38
size_t n_bindings
Definition gprstate.h:55
Exdisc_t * dp
Definition gprstate.h:40
Agnode_t * tvroot
Definition gprstate.h:47
Agnode_t * tvnext
Definition gprstate.h:48
char * infname
Definition gprstate.h:44
jmp_buf jbuf
Definition gprstate.h:56
Agraph_t * nextgraph
Definition gprstate.h:36
gvprbinding * bindings
Definition gprstate.h:54
Exerror_f errf
Definition gprstate.h:41
int name_used
Definition gprstate.h:50
int argc
Definition gprstate.h:51
trav_type tvt
Definition gprstate.h:46
FILE * outFile
Definition gprstate.h:60
int argc
Definition gprstate.h:61
char ** argv
Definition gprstate.h:62
Exerror_f errf
Definition gprstate.h:63
int flags
Definition gprstate.h:65
Exexit_f exitf
Definition gprstate.h:64