/usr/include/graphviz/gvcext.h is in libgraphviz-dev 2.38.0-17.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | /* vim:set shiftwidth=4 ts=8: */
/*************************************************************************
* Copyright (c) 2011 AT&T Intellectual Property
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: See CVS logs. Details at http://www.graphviz.org/
*************************************************************************/
/* Common header used by both clients and plugins */
#ifndef GVCEXT_H
#define GVCEXT_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Define an apis array of name strings using an enumerated api_t as index.
* The enumerated type is defined here. The apis array is
* inititialized in gvplugin.c by redefining ELEM and reinvoking APIS.
*/
#define APIS ELEM(render) ELEM(layout) ELEM(textlayout) ELEM(device) ELEM(loadimage)
/*
* Define api_t using names based on the plugin names with API_ prefixed.
*/
#define ELEM(x) API_##x,
typedef enum { APIS _DUMMY_ELEM_=0 } api_t; /* API_render, API_layout, ... */
/* Stupid but true: The sole purpose of "_DUMMY_ELEM_=0"
* is to avoid a "," after the last element of the enum
* because some compilers when using "-pedantic"
* generate an error for about the dangling ","
* but only if this header is used from a .cpp file!
* Setting it to 0 makes sure that the enumeration
* does not define an extra value. (It does however
* define _DUMMY_ELEM_ as an enumeration symbol,
* but its value duplicates that of the first
* symbol in the enumeration - in this case "render".)
*/
/* One could wonder why trailing "," in:
* int nums[]={1,2,3,};
* is OK, but in:
* typedef enum {a,b,c,} abc_t;
* is not!!!
*/
#undef ELEM
typedef struct GVJ_s GVJ_t;
typedef struct GVG_s GVG_t;
typedef struct GVC_s GVC_t;
typedef struct {
const char *name;
void* address;
} lt_symlist_t;
typedef struct gvplugin_available_s gvplugin_available_t;
/*visual studio*/
#ifdef WIN32_DLL
#ifndef GVC_EXPORTS
__declspec(dllimport) lt_symlist_t lt_preloaded_symbols[];
#else
//__declspec(dllexport) lt_symlist_t lt_preloaded_symbols[];
//lt_symlist_t lt_preloaded_symbols[];
#endif
#endif
/*end visual studio*/
#ifndef WIN32_DLL
#if defined(GVDLL)
__declspec(dllexport) lt_symlist_t lt_preloaded_symbols[];
#else
#if !defined(LTDL_H)
extern lt_symlist_t lt_preloaded_symbols[];
#endif
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif
|