Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:18:20

0001 /// @file
0002 /// @ingroup gvc_api
0003 /*************************************************************************
0004  * Copyright (c) 2011 AT&T Intellectual Property 
0005  * All rights reserved. This program and the accompanying materials
0006  * are made available under the terms of the Eclipse Public License v1.0
0007  * which accompanies this distribution, and is available at
0008  * https://www.eclipse.org/legal/epl-v10.html
0009  *
0010  * Contributors: Details at https://graphviz.org
0011  *************************************************************************/
0012 
0013 /* Common header used by both clients and plugins */
0014 
0015 #pragma once
0016 
0017 #ifdef __cplusplus
0018 extern "C" {
0019 #endif
0020 
0021 /*
0022  * Define an apis array of name strings using an enumerated api_t as index.
0023  * The enumerated type is defined here.  The apis array is
0024  * inititialized in gvplugin.c by redefining ELEM and reinvoking APIS.
0025  */
0026 #define APIS ELEM(render) ELEM(layout) ELEM(textlayout) ELEM(device) ELEM(loadimage)
0027 
0028 /*
0029  * Define api_t using names based on the plugin names with API_ prefixed.
0030  */
0031 #define ELEM(x) API_##x,
0032     typedef enum { APIS } api_t; /* API_render, API_layout, ... */
0033 #undef ELEM
0034 
0035     typedef struct GVJ_s GVJ_t;
0036     typedef struct GVG_s GVG_t;
0037     typedef struct GVC_s GVC_t; ///< graphviz context
0038 
0039     typedef struct {
0040     const char *name;
0041     void* address;
0042     } lt_symlist_t;
0043 
0044     typedef struct gvplugin_available_s gvplugin_available_t;
0045 
0046 #if !defined(LTDL_H)
0047 extern lt_symlist_t lt_preloaded_symbols[];
0048 #endif
0049 
0050 #ifdef __cplusplus
0051 }
0052 #endif