⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpdefs.h

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 H
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group**********//* * General stuff for the C-shell parser. *//* Standard definitions */#ifndef CPDEFS#define CPDEFS#include "cpstd.h"#define MAXWORDS 512/* Information about spice commands. */struct comm {    char *co_comname;   /* The name of the command. */    void (*co_func) (); /* The function that handles the command. */    bool co_stringargs; /* Collapse the arguments into a string. */    bool co_spiceonly;  /* These can't be used from nutmeg. */    bool co_major;      /* Is this a "major" command? */    long co_cctypes[4]; /* Bitmasks for command completion. */    unsigned int co_env;/* print help message on this environment mask */    int co_minargs; /* minimum number of arguments required */    int co_maxargs; /* maximum number of arguments allowed */    int (*co_argfn) (); /* The fn that prompts the user. */    char *co_help;  /* When these are printed, printf(string, av[0]) .. */};#define LOTS        1000/* The history list. Things get put here after the first (basic) parse. * The word list will change later, so be sure to copy it. */struct histent {    int hi_event;    wordlist *hi_wlist;    struct histent *hi_next;    struct histent *hi_prev;};/* Variables that are accessible to the parser via $varname expansions.  * If the type is VT_LIST the value is a pointer to a list of the elements. */struct variable {    char va_type;    char *va_name;    union {        bool vV_bool;        int vV_num;        double vV_real;        char *vV_string;        struct variable *vV_list;    } va_V;    struct variable *va_next;      /* Link. */} ;#define va_bool  va_V.vV_bool#define va_num    va_V.vV_num#define va_real  va_V.vV_real#define va_string   va_V.vV_string#define va_vlist     va_V.vV_list#define VT_BOOL  1#define VT_NUM    2#define VT_REAL  3#define VT_STRING   4#define VT_LIST  5/* The values returned by cp_userset(). */#define US_OK       1   /* Either not relevant or nothing special. */#define US_READONLY 2   /* Complain and don't set this var. */#define US_DONTRECORD   3   /* Ok, but don't keep track of this one. */#define US_SIMVAR   4   /* OK, recorded in options struct */#define US_NOSIMVAR   5   /* Not OK, simulation param but circuit not loaded *//* Aliases. These will be expanded if the word is the first in an input * line. The substitution string may contain arg selectors. */struct alias {    char *al_name;        /* The word to be substituted for. */    wordlist *al_text;  /* What to substitute for it. */    struct alias *al_next;    struct alias *al_prev;} ;/* The current record of what characters are special. */#define CPC_BRR  004 /* Break word to right of character. */#define CPC_BRL  010 /* Break word to left of character. *//* For quoting individual characters. '' strings are all quoted, but `` and * "" strings are maintained as single words with the quotes around them. * Note that this won't work on non-ascii machines. */#ifdef HAS_ASCII#define quote(c)    ((c) | 0200)#define strip(c)    ((c) & 0177)#else /* HAS_ASCII */#define quote(c)    (c)#define strip(c)    (c)#endif /* !HAS_ASCII */#define CT_ALIASES  1#define CT_LABEL    15/* Get all the extern definitions... */#include "cpextern.h"#endif /*CPDEFS*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -