#ifndef DOXYGEN_SHOULD_SKIP_THIS
#ifdef _WIN32
#ifdef DLL_EXPORT
#define DXF_PRIVATE
#else
#define DXF_PRIVATE
#endif
#else
#define DXF_PRIVATE __attribute__ ((visibility("hidden")))
#endif
#endif
#ifndef _DXF_PRIVATE_H
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define _DXF_PRIVATE_H
#endif
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct dxf_out_layer
{
double minx;
double miny;
double maxx;
double maxy;
char *layer_name;
struct dxf_out_layer *next;
} gaiaDxfExportLayer;
typedef gaiaDxfExportLayer *gaiaDxfExportLayerPtr;
typedef struct dxf_out
{
double minx;
double miny;
double maxx;
double maxy;
gaiaDxfExportLayer *first;
gaiaDxfExportLayer *last;
} gaiaDxfExport;
typedef gaiaDxfExport *gaiaDxfExportPtr;
DXF_PRIVATE int
create_text_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_point_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_line_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_polyg_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_hatch_boundary_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_hatch_pattern_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_insert_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_extra_stmt (sqlite3 * handle, const char *extra_name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE char *create_extra_attr_table_name (const char *name);
DXF_PRIVATE int
check_text_table (sqlite3 * handle, const char *name, int srid,
int is3D);
DXF_PRIVATE int
check_point_table (sqlite3 * handle, const char *name, int srid,
int is3D);
DXF_PRIVATE int
check_line_table (sqlite3 * handle, const char *name, int srid,
int is3D);
DXF_PRIVATE int
check_polyg_table (sqlite3 * handle, const char *name, int srid,
int is3D);
DXF_PRIVATE int
check_hatch_tables (sqlite3 * handle, const char *name, int srid);
DXF_PRIVATE int check_insert_table (sqlite3 * handle, const char *name);
DXF_PRIVATE int check_extra_attr_table (sqlite3 * handle, const char *name);
DXF_PRIVATE int
create_block_text_stmt (sqlite3 * handle, const char *name,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
import_mixed (sqlite3 * handle, gaiaDxfParserPtr dxf, int append);
DXF_PRIVATE int
import_by_layer (sqlite3 * handle, gaiaDxfParserPtr dxf, int append);
DXF_PRIVATE int
create_instext_table (sqlite3 * handle, const char *name,
const char *block, int is3d,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_inspoint_table (sqlite3 * handle, const char *name,
const char *block, int is3d,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_insline_table (sqlite3 * handle, const char *name,
const char *block, int is3d,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_inspolyg_table (sqlite3 * handle, const char *name,
const char *block, int is3d,
sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_inshatch_table (sqlite3 * handle, const char *name,
const char *block, sqlite3_stmt ** xstmt);
DXF_PRIVATE int
create_insert_extra_attr_table (sqlite3 * handle, const char *name,
char *extra_name,
sqlite3_stmt ** xstmt_ext);
DXF_PRIVATE int check_unclosed_polyg (gaiaDxfPolylinePtr pg, int is3d);
DXF_PRIVATE int check_unclosed_hole (gaiaDxfHolePtr hole, int is3d);
#ifdef __cplusplus
}
#endif
#endif