diff options
author | Tanaka Akira <akr@users.sourceforge.net> | 1999-07-03 13:16:46 +0000 |
---|---|---|
committer | Tanaka Akira <akr@users.sourceforge.net> | 1999-07-03 13:16:46 +0000 |
commit | 7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56 (patch) | |
tree | 9bb85bcd27410e1b752c8550f487165d71dc8aca /Src/zsh.h | |
parent | b09922bb063ddf44c7850b182fec4795fbe1ae90 (diff) | |
download | zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.gz zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.tar.xz zsh-7c670f1e6a0e154f0b1a2d4b6eed0e71c9404b56.zip |
zsh-3.1.5-pws-25 dot-zsh-199907031715
Diffstat (limited to 'Src/zsh.h')
-rw-r--r-- | Src/zsh.h | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/Src/zsh.h b/Src/zsh.h index 23e84b2ec..88175eea6 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -278,8 +278,9 @@ typedef struct heapstack *Heapstack; typedef struct histent *Histent; typedef struct forcmd *Forcmd; typedef struct autofn *AutoFn; +typedef struct hookdef *Hookdef; -typedef struct asgment *Asgment; +typedef struct asgment *Asgment; /********************************/ @@ -628,10 +629,12 @@ struct job { #define STAT_INUSE (1<<6) /* this job entry is in use */ #define STAT_SUPERJOB (1<<7) /* job has a subjob */ #define STAT_SUBJOB (1<<8) /* job is a subjob */ -#define STAT_CURSH (1<<9) /* last command is in current shell */ -#define STAT_NOSTTY (1<<10) /* the tty settings are not inherited */ +#define STAT_WASSUPER (1<<9) /* was a super-job, sub-job needs to be */ + /* deleted */ +#define STAT_CURSH (1<<10) /* last command is in current shell */ +#define STAT_NOSTTY (1<<11) /* the tty settings are not inherited */ /* from this job when it exits. */ -#define STAT_ATTACH (1<<11) /* delay reattaching shell to tty */ +#define STAT_ATTACH (1<<12) /* delay reattaching shell to tty */ #define SP_RUNNING -1 /* fake status for jobs currently running */ @@ -887,6 +890,22 @@ struct module { #define MOD_UNLOAD (1<<1) #define MOD_SETUP (1<<2) +/* C-function hooks */ + +typedef int (*Hookfn) _((Hookdef, void *)); + +struct hookdef { + Hookdef next; + char *name; + Hookfn def; + int flags; + LinkList funcs; +}; + +#define HOOKF_ALL 1 + +#define HOOKDEF(name, func, flags) { NULL, name, (Hookfn) func, flags, NULL } + /* node used in parameter hash table (paramtab) */ struct param { @@ -959,12 +978,13 @@ struct param { #define PM_UNALIASED (1<<11) /* do not expand aliases when autoloading */ #define PM_TIED (1<<12) /* array tied to colon-path or v.v. */ -#define PM_SPECIAL (1<<13) /* special builtin parameter */ -#define PM_DONTIMPORT (1<<14) /* do not import this variable */ -#define PM_RESTRICTED (1<<15) /* cannot be changed in restricted mode */ -#define PM_UNSET (1<<16) /* has null value */ -#define PM_REMOVABLE (1<<17) /* special can be removed from paramtab */ -#define PM_AUTOLOAD (1<<18) /* autoloaded from module */ +#define PM_LOCAL (1<<13) /* this parameter will be made local */ +#define PM_SPECIAL (1<<14) /* special builtin parameter */ +#define PM_DONTIMPORT (1<<15) /* do not import this variable */ +#define PM_RESTRICTED (1<<16) /* cannot be changed in restricted mode */ +#define PM_UNSET (1<<17) /* has null value */ +#define PM_REMOVABLE (1<<18) /* special can be removed from paramtab */ +#define PM_AUTOLOAD (1<<19) /* autoloaded from module */ /* Flags for extracting elements of arrays and associative arrays */ #define SCANPM_WANTVALS (1<<0) |