libgeda

libgedaguile.h

Go to the documentation of this file.
00001 /* gEDA - GPL Electronic Design Automation
00002  * libgeda - gEDA's library - Scheme API
00003  * Copyright (C) 2010-2012 Peter Brett <peter@peter-b.co.uk>
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA
00018  */
00019 
00028 /* Initialise the Scheme API. */
00029 void edascm_init ();
00030 
00031 /* Get the value of the #TOPLEVEL fluid. */
00032 TOPLEVEL *edascm_c_current_toplevel ();
00033 
00034 /* Set the #TOPLEVEL fluid in the current dynamic context. */
00035 void edascm_dynwind_toplevel (TOPLEVEL *toplevel);
00036 
00037 /* Set the current #TOPLEVEL temporarily. */
00038 SCM edascm_c_with_toplevel (TOPLEVEL *toplevel, SCM (*func)(void *),
00039                             void *user_data);
00040 
00041 /* Create a Guile value from a page structure. */
00042 SCM edascm_from_page (PAGE *page);
00043 
00044 /* Create a Guile value from an object structure. */
00045 SCM edascm_from_object (OBJECT *object);
00046 
00047 /* Retrieve a page structure from a Guile value. */
00048 PAGE *edascm_to_page (SCM smob);
00049 
00050 /* Retrieve an object structure from a Guile value. */
00051 OBJECT *edascm_to_object (SCM smob);
00052 
00053 /* Test if smob is a gEDA page. */
00054 int edascm_is_page (SCM smob);
00055 
00056 /* Test if smob is a gEDA object. */
00057 int edascm_is_object (SCM smob);
00058 
00059 /* Set whether a gEDA object may be garbage collected. */
00060 void edascm_c_set_gc (SCM smob, int gc);
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines