Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
LIBGVPR(3)		    Library Functions Manual		      LIBGVPR(3)

NAME
     libgvpr - library for graph filtering

SYNOPSIS
     #include <graphviz/gvpr.h>

       /* If set, gvpr calls exit() on errors */
     #define GV_USE_EXIT 1
       /* If set, gvpr stores output graphs in gvpropts */
     #define GV_USE_OUTGRAPH 2

     typedef ssize_t (*gvprwr) (void*, const char *buf, size_t nbyte, void*);

     typedef struct {
	 Agraph_t** ingraphs;	   /* NULL-terminated array of input graphs */
	 int n_outgraphs;	   /* if GV_USE_OUTGRAPH set, output graphs */
	 Agraph_t** outgraphs;
	 gvprwr out;		   /* write function for stdout */
	 gvprwr err;		   /* write function for stderr */
	 int flags;
     } gvpropts;

     extern int gvpr (int argc, char *argv[], gvpropts* opts);

DESCRIPTION
     The gvpr library allows an application to perform general-purpose graph ma-
     nipulation  and  filtering  based on an awk-like language. (For a more com-
     plete description of this language, see gvpr(1).)

     The library has a single entry point: the gvpr() function. This provides  a
     standard  argc/argv  interface,  along  with a structure to support in-core
     graphs, application print functions, along with additional options.

     When called, gvpr() processes any flags provided in  the  argv  array,  and
     compiles  the gvpr program to be run (provided either via the -f flag or as
     an item in argv). It  then  runs  the  program  on  each  input  graph.  If
     opts->ingraphs is non-NULL, this is taken as a NULL-terminated array of in-
     core  graphs  to  be used as input.  Otherwise, the unprocessed elements of
     argv are taken to be the names of files containing graphs to be  processed.
     (If none remain, gvpr will read from stdin.)

     Normally,	gvpr  writes  any  output  graph to stdout. However, if the flag
     GV_USE_OUTGRAPH is set in opts->flags, the output graphs will be stored  in
     an  array	pointed  to  be  opts->outgraphs and the count will be stored in
     opts->n_outgraphs.  In this case, the application must  call  agclose()  on
     each output graph when it is done with it.

     The  application  can  override  the default write functions for stdout and
     stderr using the out and err fields in opts. When called by gvpr, the  sec-
     ond  argument will point to a buffer of characters to be written, while the
     third argument provides the number of characters. The function  should  re-
     turn the number of bytes actually written.

RETURN VALUES
     Normally,	gvpr  returns  0 on success and non-zero if an error occurs. Any
     relevant error message will have been written to  stderr  or  the	applica-
     tion's  opts->err	function will have been called. If, however, GV_USE_EXIT
     is set in opts->flags, gvpr will call exit(3) in case of an error.

SEE ALSO
     gvpr(1), awk(1), cgraph(3)

AUTHORS
     Emden Gansner (erg@research.att.com).

				 15 OCTOBER 2013		      LIBGVPR(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gvpr&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help