<?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">
#include "ngspice/config.h"

#include &quot;ngspice/devdefs.h&quot;

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

#include &quot;$(module)itf.h&quot;
#include &quot;$(module)ext.h&quot;
#include &quot;$(module)init.h&quot;

SPICEdev $(module)info = {
  {   &quot;$module&quot;,
      &quot;$module created by adms&quot;,
      &amp;$(module)nSize,
      &amp;$(module)nSize,
      $(module)names,
      &amp;$(module)pTSize,
      $(module)pTable,
      &amp;$(module)mPTSize,
      $(module)mPTable,
#ifdef XSPICE
/*----  Fixed by SDB 5.2.2003 to enable XSPICE/tclspice integration  -----*/
        NULL,  /* This is a SPICE device, it has no MIF info data */

        0,     /* This is a SPICE device, it has no MIF info data */
        NULL,  /* This is a SPICE device, it has no MIF info data */

        0,     /* This is a SPICE device, it has no MIF info data */
        NULL,  /* This is a SPICE device, it has no MIF info data */

        0,     /* This is a SPICE device, it has no MIF info data */
        NULL,  /* This is a SPICE device, it has no MIF info data */
/*---------------------------  End of SDB fix   -------------------------*/
#endif
      DEV_DEFAULT
  },

    $(module)par,    /* DEVparam       */
    $(module)mParam,   /* DEVmodParam    */
    $(module)load,     /* DEVload        */
    $(module)setup,    /* DEVsetup       */
    NULL,  /* DEVunsetup     */
    $(module)setup,    /* DEVpzSetup     */
    $(module)temp,     /* DEVtemperature */
    $(module)trunc,    /* DEVtrunc       */
    NULL,         /* DEVfindBranch  */
    $(module)acLoad,   /* DEVacLoad      */
    NULL,         /* DEVaccept      */
    $(module)destroy,  /* DEVdestroy     */
    $(module)mDelete,  /* DEVmodDelete   */
    $(module)delete,   /* DEVdelete      */
    NULL,    /* DEVsetic       */
    $(module)ask,      /* DEVask         */
    $(module)mAsk,     /* DEVmodAsk      */
    $(module)pzLoad,   /* DEVpzLoad      */
    NULL, /* DEVconvTest    */
    NULL,         /* DEVsenSetup    */
    NULL,         /* DEVsenLoad     */
    NULL,         /* DEVsenUpdate   */
    NULL,         /* DEVsenAcLoad   */
    NULL,         /* DEVsenPrint    */
    NULL,         /* DEVsenTrunc    */
    NULL,         /* DEVdisto       */
    NULL,         /* DEVnoise       */
    NULL,         /* DEVsoaCheck    */
#ifdef CIDER
    NULL,         /* DEVdump       */
    NULL,         /* DEVacct       */
#endif                                                         
    &amp;$(module)iSize,   /* DEVinstSize    */
    &amp;$(module)mSize    /* DEVmodSize     */

};

SPICEdev *
get_$(module)_info(void)
{
    return &amp;$(module)info;
}

</admst:template>


<admst:for-each select="/module">
  <admst:value-of select="attribute[name='ngspicename']/value"/>
  <admst:open file="%sinit.c">
    <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="%sinit.c: file created\n"/>
</admst:for-each>

</admst>
