<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
     Written by Laurent Lemaitre - r29173@users.sourceforge.net
     Documentation:
       http://sourceforge.net/docman/display_doc.php?docid=18993&group_id=84289
     Target Interface: ngspice
     Supported by adms-1.x.x
     This file is used by adms - http://sourceforge.net/projects/mot-adms.
     adms is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
     adms is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
     You should have received a copy of the GNU General Public License
     along with adms; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-->

<!DOCTYPE admst SYSTEM "admst.dtd">
<admst version="2.3.0" xmlns:admst="http://mot-adms.sourceforge.net/xml-files/admst">
<admst:template match="code">
<admst:value-of select="attribute[name='ngspicename']/value"/>
<admst:variable name="module" select="%s"/>

#ifndef __$(module)EXT_H
#define __$(module)EXT_H

<admst:value-of select="attribute[name='ngspicename']/value"/>
<admst:variable name="module" select="%s"/>

#include &quot;$(module)defs.h&quot;

extern int $(module)par(int,IFvalue*,GENinstance*,IFvalue*);
extern int $(module)mParam(int,IFvalue*,GENmodel*);
extern int $(module)load(GENmodel*,CKTcircuit*);
extern int $(module)setup(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
extern int $(module)guesstopology(SMPmatrix *, CKTcircuit *, $(module)model *, $(module)instance *);
extern int $(module)temp(GENmodel*,CKTcircuit*);
extern int $(module)ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*);
extern int $(module)mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
extern int $(module)acLoad(GENmodel *,CKTcircuit*);
extern int $(module)convTest(GENmodel *,CKTcircuit*);
extern int $(module)delete(GENmodel*,IFuid,GENinstance**);
extern int $(module)getic(GENmodel*,CKTcircuit*);
extern int $(module)mDelete(GENmodel**,IFuid,GENmodel*);
extern int $(module)noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*);
extern int $(module)pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
extern int $(module)trunc(GENmodel*,CKTcircuit*,double*);
extern int $(module)unsetup(GENmodel*,CKTcircuit*);
extern void $(module)destroy(GENmodel**);

#endif

</admst:template>


<admst:for-each select="/module">
  <admst:value-of select="attribute[name='ngspicename']/value"/>
  <admst:open file="%sext.h">
    <admst:value-of select="/simulator/package_string"/>
    <admst:text format="/***\n*** Interface: %s\n"/>
    <admst:value-of select="/simulator/currentdate"/>
    <admst:value-of select="/simulator/fullname"/>
    <admst:text format=" *** created by: %s - %s ***/\n"/>
    <admst:apply-templates select="." match="code"/>
  </admst:open>
  <admst:value-of select="attribute[name='ngspicename']/value"/>
  <admst:message format="%sext.h: file created\n"/>
</admst:for-each>

</admst>
