Index: trunk/src/file_act.c =================================================================== --- trunk/src/file_act.c (revision 26718) +++ trunk/src/file_act.c (revision 26719) @@ -294,7 +294,7 @@ a = args; a++; pcb_exporter->parse_arguments(&argc, &a); - pcb_exporter->do_export(&PCB->hidlib, NULL); + pcb_exporter->do_export(pcb_exporter, &PCB->hidlib, NULL); pcb_exporter = NULL; PCB_ACT_IRES(0); Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 26718) +++ trunk/src/hid.h (revision 26719) @@ -230,7 +230,7 @@ the choices made from the options returned from get_export_options. Call with options_ == NULL to start the primary GUI (create a main window, print, export, etc) */ - void (*do_export)(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); + void (*do_export)(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); /* uninit a GUI hid */ void (*uninit)(pcb_hid_t *hid); Index: trunk/src/hid_init.c =================================================================== --- trunk/src/hid_init.c (revision 26718) +++ trunk/src/hid_init.c (revision 26719) @@ -572,7 +572,7 @@ pcb_message(PCB_MSG_WARNING, "Exporting empty board (nothing loaded or drawn).\n"); if (pcb_gui->set_hidlib != NULL) pcb_gui->set_hidlib(hidlib); - pcb_gui->do_export(hidlib, 0); + pcb_gui->do_export(pcb_gui, hidlib, 0); pcbhl_log_print_uninit_errs("Exporting"); return 1; } @@ -581,7 +581,7 @@ { if (pcb_gui->set_hidlib != NULL) pcb_gui->set_hidlib(hidlib); - pcb_gui->do_export(hidlib, 0); + pcb_gui->do_export(pcb_gui, hidlib, 0); if (pcb_gui != NULL) { /* init the next GUI */ pcb_gui->parse_arguments(&ga->hid_argc, &ga->hid_argv); Index: trunk/src/hid_nogui.c =================================================================== --- trunk/src/hid_nogui.c (revision 26718) +++ trunk/src/hid_nogui.c (revision 26719) @@ -61,7 +61,7 @@ return NULL; } -static void nogui_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void nogui_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { CRASH("do_export"); } Index: trunk/src_plugins/cam/cam.c =================================================================== --- trunk/src_plugins/cam/cam.c (revision 26718) +++ trunk/src_plugins/cam/cam.c (revision 26719) @@ -268,7 +268,7 @@ return 1; } -static void export_cam_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void export_cam_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { if (!cam_export_has_outfile) cam_init_inst_fn(&cam_export_ctx); Index: trunk/src_plugins/cam/cam_compile.c =================================================================== --- trunk/src_plugins/cam/cam_compile.c (revision 26718) +++ trunk/src_plugins/cam/cam_compile.c (revision 26719) @@ -101,7 +101,7 @@ { /* call the exporter */ void *old_vars, *tmp; old_vars = pcb_cam_vars_use(ctx->vars); - ctx->exporter->do_export(&PCB->hidlib, 0); + ctx->exporter->do_export(NULL, &PCB->hidlib, 0); tmp = pcb_cam_vars_use(old_vars); assert(tmp == ctx->vars); /* we must be restoring from our own context else the recursion is broken */ } Index: trunk/src_plugins/dialogs/dlg_export.c =================================================================== --- trunk/src_plugins/dialogs/dlg_export.c (revision 26718) +++ trunk/src_plugins/dialogs/dlg_export.c (revision 26719) @@ -85,7 +85,7 @@ for(h = 0; h < export_ctx->len; h++) { if (export_ctx->button[h] == wid) { pcb_hid_attr_val_t *results = get_results(export_ctx, h); - export_ctx->hid[h]->do_export(&PCB->hidlib, results); + export_ctx->hid[h]->do_export(export_ctx->hid[h], &PCB->hidlib, results); free(results); pcb_message(PCB_MSG_INFO, "Export done using exporter: %s\n", export_ctx->hid[h]->name); goto done; Index: trunk/src_plugins/export_bboard/bboard.c =================================================================== --- trunk/src_plugins/export_bboard/bboard.c (revision 26718) +++ trunk/src_plugins/export_bboard/bboard.c (revision 26719) @@ -485,7 +485,7 @@ } -static void bboard_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void bboard_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int i; int clr_r, clr_g, clr_b; Index: trunk/src_plugins/export_bom/bom.c =================================================================== --- trunk/src_plugins/export_bom/bom.c (revision 26718) +++ trunk/src_plugins/export_bom/bom.c (revision 26719) @@ -262,7 +262,7 @@ return 0; } -static void bom_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void bom_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int i; Index: trunk/src_plugins/export_dsn/dsn.c =================================================================== --- trunk/src_plugins/export_dsn/dsn.c (revision 26718) +++ trunk/src_plugins/export_dsn/dsn.c (revision 26719) @@ -568,7 +568,7 @@ } -static void dsn_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void dsn_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int i; if (!options) { Index: trunk/src_plugins/export_dxf/dxf.c =================================================================== --- trunk/src_plugins/export_dxf/dxf.c (revision 26718) +++ trunk/src_plugins/export_dxf/dxf.c (revision 26719) @@ -266,7 +266,7 @@ } extern const char dxf_templ_default_arr[]; -static void dxf_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void dxf_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *filename; int save_ons[PCB_MAX_LAYER]; Index: trunk/src_plugins/export_excellon/excellon.c =================================================================== --- trunk/src_plugins/export_excellon/excellon.c (revision 26718) +++ trunk/src_plugins/export_excellon/excellon.c (revision 26719) @@ -200,7 +200,7 @@ return excellon_options; } -static void excellon_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void excellon_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *fnbase, *fn; char *filesuff; Index: trunk/src_plugins/export_fidocadj/fidocadj.c =================================================================== --- trunk/src_plugins/export_fidocadj/fidocadj.c (revision 26718) +++ trunk/src_plugins/export_fidocadj/fidocadj.c (revision 26719) @@ -163,7 +163,7 @@ free(msg); } -static void fidocadj_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void fidocadj_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { FILE *f; const char *filename, *libfile; Index: trunk/src_plugins/export_gcode/gcode.c =================================================================== --- trunk/src_plugins/export_gcode/gcode.c (revision 26718) +++ trunk/src_plugins/export_gcode/gcode.c (revision 26719) @@ -356,7 +356,7 @@ pcbhl_expose_main(&gcode_hid, &ctx, NULL); } -static void gcode_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void gcode_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int save_ons[PCB_MAX_LAYER]; int i, idx; Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 26718) +++ trunk/src_plugins/export_gerber/gerber.c (revision 26719) @@ -54,7 +54,7 @@ static pcb_cam_t gerber_cam; static pcb_hid_attribute_t *gerber_get_export_options(int *n); -static void gerber_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); +static void gerber_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); static int gerber_parse_arguments(int *argc, char ***argv); static pcb_hid_gc_t gerber_make_gc(void); static void gerber_destroy_gc(pcb_hid_gc_t gc); @@ -536,7 +536,7 @@ gds_uninit(&tmp); } -static void gerber_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void gerber_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *fnbase; int i; Index: trunk/src_plugins/export_ipcd356/ipcd356.c =================================================================== --- trunk/src_plugins/export_ipcd356/ipcd356.c (revision 26718) +++ trunk/src_plugins/export_ipcd356/ipcd356.c (revision 26719) @@ -432,7 +432,7 @@ return pcb_hid_parse_command_line(argc, argv); } -static void ipcd356_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void ipcd356_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int n; const char *fn; Index: trunk/src_plugins/export_lpr/lpr.c =================================================================== --- trunk/src_plugins/export_lpr/lpr.c (revision 26718) +++ trunk/src_plugins/export_lpr/lpr.c (revision 26719) @@ -66,7 +66,7 @@ return lpr_options; } -static void lpr_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void lpr_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { FILE *f; int i; Index: trunk/src_plugins/export_openems/export_openems.c =================================================================== --- trunk/src_plugins/export_openems/export_openems.c (revision 26718) +++ trunk/src_plugins/export_openems/export_openems.c (revision 26719) @@ -630,7 +630,7 @@ conf_update(NULL, -1); /* restore forced sets */ } -static void openems_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void openems_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *filename; char *runfn, *end; Index: trunk/src_plugins/export_openscad/export_openscad.c =================================================================== --- trunk/src_plugins/export_openscad/export_openscad.c (revision 26718) +++ trunk/src_plugins/export_openscad/export_openscad.c (revision 26719) @@ -292,7 +292,7 @@ } -static void openscad_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void openscad_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *filename; int save_ons[PCB_MAX_LAYER]; Index: trunk/src_plugins/export_png/png.c =================================================================== --- trunk/src_plugins/export_png/png.c (revision 26718) +++ trunk/src_plugins/export_png/png.c (revision 26719) @@ -995,7 +995,7 @@ pcb_hid_cache_color_destroy(&brush_cache, png_brush_free); } -static void png_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void png_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int save_ons[PCB_MAX_LAYER]; int i; Index: trunk/src_plugins/export_ps/eps.c =================================================================== --- trunk/src_plugins/export_ps/eps.c (revision 26718) +++ trunk/src_plugins/export_ps/eps.c (revision 26719) @@ -31,7 +31,7 @@ /* Function prototypes */ /*----------------------------------------------------------------------------*/ static pcb_hid_attribute_t *eps_get_export_options(int *n); -static void eps_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); +static void eps_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); static int eps_parse_arguments(int *argc, char ***argv); static int eps_set_layer_group(pcb_hidlib_t *hidlib, pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform); static pcb_hid_gc_t eps_make_gc(void); @@ -340,7 +340,7 @@ options_ = NULL; } -static void eps_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void eps_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int i; int save_ons[PCB_MAX_LAYER]; Index: trunk/src_plugins/export_ps/ps.c =================================================================== --- trunk/src_plugins/export_ps/ps.c (revision 26718) +++ trunk/src_plugins/export_ps/ps.c (revision 26719) @@ -607,7 +607,7 @@ conf_update(NULL, -1); /* restore forced sets */ } -static void ps_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void ps_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { FILE *fh; int save_ons[PCB_MAX_LAYER]; Index: trunk/src_plugins/export_stat/stat.c =================================================================== --- trunk/src_plugins/export_stat/stat.c (revision 26718) +++ trunk/src_plugins/export_stat/stat.c (revision 26719) @@ -127,7 +127,7 @@ unsigned long int lines, arcs, polys, elements; } layer_stat_t; -static void stat_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void stat_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { FILE *f; const char *filename; Index: trunk/src_plugins/export_svg/svg.c =================================================================== --- trunk/src_plugins/export_svg/svg.c (revision 26718) +++ trunk/src_plugins/export_svg/svg.c (revision 26719) @@ -324,7 +324,7 @@ fprintf(f, "\n"); } -static void svg_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void svg_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *filename; int save_ons[PCB_MAX_LAYER]; Index: trunk/src_plugins/export_test/export_test.c =================================================================== --- trunk/src_plugins/export_test/export_test.c (revision 26718) +++ trunk/src_plugins/export_test/export_test.c (revision 26719) @@ -56,7 +56,7 @@ return 0; } -static void export_test_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void export_test_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int i; Index: trunk/src_plugins/export_vfs_fuse/export_vfs_fuse.c =================================================================== --- trunk/src_plugins/export_vfs_fuse/export_vfs_fuse.c (revision 26718) +++ trunk/src_plugins/export_vfs_fuse/export_vfs_fuse.c (revision 26719) @@ -255,7 +255,7 @@ static char **fuse_argv; static int fuse_argc = 0; -static void export_vfs_fuse_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void export_vfs_fuse_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { static struct fuse_operations oper; Index: trunk/src_plugins/export_vfs_mc/export_vfs_mc.c =================================================================== --- trunk/src_plugins/export_vfs_mc/export_vfs_mc.c (revision 26718) +++ trunk/src_plugins/export_vfs_mc/export_vfs_mc.c (revision 26719) @@ -104,7 +104,7 @@ } } -static void export_vfs_mc_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void export_vfs_mc_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { const char *cmd; int i; Index: trunk/src_plugins/export_xy/xy.c =================================================================== --- trunk/src_plugins/export_xy/xy.c (revision 26718) +++ trunk/src_plugins/export_xy/xy.c (revision 26719) @@ -786,7 +786,7 @@ return NULL; } -static void xy_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void xy_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int i; template_t templ; Index: trunk/src_plugins/hid_batch/batch.c =================================================================== --- trunk/src_plugins/hid_batch/batch.c (revision 26718) +++ trunk/src_plugins/hid_batch/batch.c (revision 26719) @@ -115,7 +115,7 @@ /* ----------------------------------------------------------------------------- */ static int batch_stay; -static void batch_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void batch_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { int interactive; char line[1000]; Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 26718) +++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 26719) @@ -1365,7 +1365,7 @@ static void ghid_gdk_init_renderer(int *argc, char ***argv, void *vport) { - GHidPort *port = vport; + pcb_gtk_port_t *port = vport; /* Init any GC's required */ port->render_priv = g_new0(render_priv_t, 1); } @@ -1372,7 +1372,7 @@ static void ghid_gdk_shutdown_renderer(void *vport) { - GHidPort *port = vport; + pcb_gtk_port_t *port = vport; g_free(port->render_priv); port->render_priv = NULL; } @@ -1383,7 +1383,7 @@ static void ghid_gdk_drawing_area_configure_hook(void *vport) { - GHidPort *port = vport; + pcb_gtk_port_t *port = vport; static int done_once = 0; render_priv_t *priv = port->render_priv; @@ -1433,7 +1433,7 @@ static gboolean ghid_gdk_drawing_area_expose_cb(GtkWidget *widget, pcb_gtk_expose_t *ev, void *vport) { - GHidPort *port = vport; + pcb_gtk_port_t *port = vport; render_priv_t *priv = port->render_priv; GdkWindow *window = gtk_widget_get_window(gport->drawing_area); Index: trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c =================================================================== --- trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 26718) +++ trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 26719) @@ -80,7 +80,7 @@ static pcb_bool map_color_string(const char *color_string, pcb_gtk_color_t *color) { static GdkColormap *colormap = NULL; - GHidPort *out = &ghid_port; + pcb_gtk_port_t *out = &ghid_port; pcb_bool parsed; if (!color || !out->top_window) @@ -698,7 +698,7 @@ static void ghid_gl_init_renderer(int *argc, char ***argv, void *vport) { - GHidPort *port = vport; + pcb_gtk_port_t *port = vport; render_priv_t *priv; port->render_priv = priv = g_new0(render_priv_t, 1); @@ -718,7 +718,7 @@ static void ghid_gl_shutdown_renderer(void *p) { - GHidPort *port = p; + pcb_gtk_port_t *port = p; g_free(port->render_priv); port->render_priv = NULL; @@ -726,7 +726,7 @@ static void ghid_gl_init_drawing_widget(GtkWidget *widget, void *port_) { - GHidPort *port = port_; + pcb_gtk_port_t *port = port_; render_priv_t *priv = port->render_priv; gtk_widget_set_gl_capability(widget, priv->glconfig, NULL, TRUE, GDK_GL_RGBA_TYPE); @@ -735,7 +735,7 @@ static void ghid_gl_drawing_area_configure_hook(void *port) { static int done_once = 0; - GHidPort *p = port; + pcb_gtk_port_t *p = port; render_priv_t *priv = p->render_priv; gport->drawing_allowed = pcb_true; @@ -755,7 +755,7 @@ } } -static gboolean ghid_gl_start_drawing(GHidPort *port) +static gboolean ghid_gl_start_drawing(pcb_gtk_port_t *port) { GtkWidget *widget = port->drawing_area; GdkGLContext *pGlContext = gtk_widget_get_gl_context(widget); @@ -770,7 +770,7 @@ return TRUE; } -static void ghid_gl_end_drawing(GHidPort *port) +static void ghid_gl_end_drawing(pcb_gtk_port_t *port) { GtkWidget *widget = port->drawing_area; GdkGLDrawable *pGlDrawable = gtk_widget_get_gl_drawable(widget); @@ -833,7 +833,7 @@ static gboolean ghid_gl_drawing_area_expose_cb(GtkWidget *widget, pcb_gtk_expose_t *ev, void *vport) { - GHidPort *port = vport; + pcb_gtk_port_t *port = vport; pcb_hidlib_t *hidlib = port->view.com->hidlib; render_priv_t *priv = port->render_priv; GtkAllocation allocation; Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 26718) +++ trunk/src_plugins/hid_lesstif/main.c (revision 26719) @@ -1373,7 +1373,7 @@ extern Widget lesstif_menubar; static int lesstif_hid_inited = 0; -static void lesstif_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void lesstif_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { Dimension width, height; Widget menu; Index: trunk/src_plugins/hid_remote/remote.c =================================================================== --- trunk/src_plugins/hid_remote/remote.c (revision 26718) +++ trunk/src_plugins/hid_remote/remote.c (revision 26719) @@ -89,7 +89,7 @@ /* ----------------------------------------------------------------------------- */ static int remote_stay; -static void remote_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +static void remote_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { pcb_hid_expose_ctx_t ctx; Index: trunk/src_plugins/lib_gtk_common/glue_hid.c =================================================================== --- trunk/src_plugins/lib_gtk_common/glue_hid.c (revision 26718) +++ trunk/src_plugins/lib_gtk_common/glue_hid.c (revision 26719) @@ -150,7 +150,7 @@ } -void gtkhid_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) +void gtkhid_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options) { gtkhid_begin(hidlib); Index: trunk/src_plugins/lib_gtk_common/glue_hid.h =================================================================== --- trunk/src_plugins/lib_gtk_common/glue_hid.h (revision 26718) +++ trunk/src_plugins/lib_gtk_common/glue_hid.h (revision 26719) @@ -1,6 +1,6 @@ #include "hid.h" void ghid_glue_hid_init(pcb_hid_t *dst); -void gtkhid_do_export(pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); +void gtkhid_do_export(pcb_hid_t *hid, pcb_hidlib_t *hidlib, pcb_hid_attr_val_t *options); int gtkhid_parse_arguments(int *argc, char ***argv);