You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
2.2 KiB

/**********
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 ngspice_CPDEFS_H
#define ngspice_CPDEFS_H
#include "ngspice/cpstd.h"
/* Information about spice commands. */
struct comm {
/* The name of the command. */
char *co_comname;
/* The function that handles the command. */
void (*co_func) (wordlist *wl);
/* These can't be used from nutmeg. */
bool co_spiceonly;
/* Is this a "major" command? */
bool co_major;
/* Bitmasks for command completion. */
long co_cctypes[4];
/* print help message on this environment mask */
unsigned int co_env;
/* minimum number of arguments required */
int co_minargs;
/* maximum number of arguments allowed */
int co_maxargs;
/* The fn that prompts the user. */
void (*co_argfn)(const wordlist *wl, const struct comm *command);
/* When these are printed, printf(string, av[0]) .. */
char *co_help;
};
#define LOTS 1000
#define NLOTS 10000
/* 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;
};
/* The values returned by cp_usrset(). */
enum {
US_OK = 1, /* Either not relevant or nothing special. */
US_READONLY, /* Complain and don't set this var. */
US_DONTRECORD, /* OK, but don't keep track of this one. */
US_SIMVAR, /* OK, recorded in options struct */
US_NOSIMVAR, /* 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;
} ;
#define CT_ALIASES 1
#define CT_LABEL 15
/* Get all the extern definitions... */
#include "ngspice/cpextern.h"
#endif