Graphviz  2.29.20120524.0446
lib/common/globals.h
Go to the documentation of this file.
00001 /* $Id$ $Revision$ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /*************************************************************************
00005  * Copyright (c) 2011 AT&T Intellectual Property 
00006  * All rights reserved. This program and the accompanying materials
00007  * are made available under the terms of the Eclipse Public License v1.0
00008  * which accompanies this distribution, and is available at
00009  * http://www.eclipse.org/legal/epl-v10.html
00010  *
00011  * Contributors: See CVS logs. Details at http://www.graphviz.org/
00012  *************************************************************************/
00013 
00014 /* this is to get the following win32 DLL junk to work.
00015  * if ever tempted to remove this, first please read:
00016  * http://joel.editthispage.com/stories/storyReader$47
00017  */
00018 #ifndef GLOBALS_H
00019 #define GLOBALS_H
00020 
00021 #ifdef _UWIN
00022 #ifndef _POSIX_                 /* ncc doesn't define _POSIX_ */
00023 /* i.e. if this is the win32 build using nmake with CC=ncc (native C) */
00024 /* this was the easiest way to get some simple libc interfaces. */
00025 #include "C:\Program Files\UWIN\usr\include\astwin32.h"
00026 #undef _UWIN                    /* don't assume ANY _UWIN features in the execution environment */
00027 #endif                          /* _POSIX_ */
00028 #endif                          /* _UWIN */
00029 
00030 #ifndef __CYGWIN__
00031 #if defined(_BLD_dotneato) && defined(_DLL)
00032 #   define external __EXPORT__
00033 #endif
00034 #if !defined(_BLD_dotneato) && defined(__IMPORT__)
00035 #   define external __IMPORT__
00036 #endif
00037 #if defined(GVDLL)
00038 #if !defined(_BLD_gvc)
00039 #define extern  __declspec(dllimport)
00040 #else
00041 #define extern __declspec(dllexport)
00042 #endif
00043 #endif
00044 #endif
00045 /*visual studio*/
00046 #ifdef WIN32_DLL
00047 #ifndef GVC_EXPORTS
00048 #define extern __declspec(dllimport)
00049 #endif
00050 #endif
00051 /*end visual studio*/
00052 
00053 #ifndef external
00054 #   define external   extern
00055 #endif
00056 #ifndef EXTERN
00057 #define EXTERN extern
00058 #endif
00059 
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063 
00064     EXTERN char *Version;
00065     EXTERN char **Files;        /* from command line */
00066     EXTERN const char **Lib;            /* from command line */
00067     EXTERN char *CmdName;
00068     EXTERN char *specificFlags;
00069     EXTERN char *specificItems;
00070     EXTERN char *Gvfilepath;  /* Per-process path of files allowed in image attributes (also ps libs) */
00071     EXTERN char *Gvimagepath; /* Per-graph path of files allowed in image attributes  (also ps libs) */
00072 
00073     EXTERN unsigned char Verbose;
00074     EXTERN boolean Reduce;
00075     EXTERN int MemTest;
00076     EXTERN char *HTTPServerEnVar;
00077     EXTERN char *Output_file_name;
00078     EXTERN int graphviz_errors;
00079     EXTERN int Nop;
00080     EXTERN double PSinputscale;
00081     EXTERN int Syntax_errors;
00082     EXTERN int Show_cnt;
00083     EXTERN char** Show_boxes;   /* emit code for correct box coordinates */
00084     EXTERN int CL_type;         /* NONE, LOCAL, GLOBAL */
00085     EXTERN boolean Concentrate; /* if parallel edges should be merged */
00086     EXTERN double Epsilon;      /* defined in input_graph */
00087     EXTERN int MaxIter;
00088     EXTERN int Ndim;
00089     EXTERN int State;           /* last finished phase */
00090     EXTERN int EdgeLabelsDone;  /* true if edge labels have been positioned */
00091     EXTERN double Initial_dist;
00092     EXTERN double Damping;
00093     EXTERN int Y_invert;        /* invert y in dot & plain output */
00094     EXTERN int GvExitOnUsage;   /* gvParseArgs() should exit on usage or error */
00095 
00096     EXTERN attrsym_t
00097         *G_activepencolor, *G_activefillcolor,
00098         *G_selectedpencolor, *G_selectedfillcolor,
00099         *G_visitedpencolor, *G_visitedfillcolor,
00100         *G_deletedpencolor, *G_deletedfillcolor,
00101         *G_ordering, *G_peripheries, *G_penwidth,
00102         *G_gradientangle, *G_margin;
00103     EXTERN attrsym_t
00104         *N_height, *N_width, *N_shape, *N_color, *N_fillcolor,
00105         *N_activepencolor, *N_activefillcolor,
00106         *N_selectedpencolor, *N_selectedfillcolor,
00107         *N_visitedpencolor, *N_visitedfillcolor,
00108         *N_deletedpencolor, *N_deletedfillcolor,
00109         *N_fontsize, *N_fontname, *N_fontcolor, *N_margin,
00110         *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes,
00111         *N_sides, *N_peripheries, *N_ordering, *N_orientation,
00112         *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer,
00113         *N_group, *N_comment, *N_vertices, *N_z,
00114         *N_penwidth, *N_gradientangle;
00115     EXTERN attrsym_t
00116         *E_weight, *E_minlen, *E_color, *E_fillcolor,
00117         *E_activepencolor, *E_activefillcolor,
00118         *E_selectedpencolor, *E_selectedfillcolor,
00119         *E_visitedpencolor, *E_visitedfillcolor,
00120         *E_deletedpencolor, *E_deletedfillcolor,
00121         *E_fontsize, *E_fontname, *E_fontcolor,
00122         *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate,
00123         *E_showboxes, *E_arrowsz, *E_constr, *E_layer,
00124         *E_comment, *E_label_float,
00125         *E_samehead, *E_sametail,
00126         *E_arrowhead, *E_arrowtail,
00127         *E_headlabel, *E_taillabel,
00128         *E_labelfontsize, *E_labelfontname, *E_labelfontcolor,
00129         *E_labeldistance, *E_labelangle,
00130         *E_tailclip, *E_headclip,
00131         *E_penwidth;
00132 
00133     extern fdpParms_t fdp_parms;
00134 
00135 #undef external
00136 #undef EXTERN
00137 #ifdef extern
00138 #undef extern
00139 #endif
00140 
00141 #ifdef __cplusplus
00142 }
00143 #endif
00144 #endif