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

📄 alias.h

📁 EPIC IRC客户端。来源于IRCII客户端但做了很多性能和功能的优化。
💻 H
字号:
/* * alias.h: header for alias.c  * * Written by Jeremy Nelson * Copyright 1997 EPIC Software Labs * See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT  */#ifndef __alias_h__#define __alias_h__/* * XXXX - These need to go away */#define COMMAND_ALIAS 		0#define VAR_ALIAS 		1#define VAR_ALIAS_LOCAL 	2/* * These are the user commands.  Dont call these directly. */	BUILT_IN_COMMAND(aliascmd);	BUILT_IN_COMMAND(assigncmd);	BUILT_IN_COMMAND(localcmd);	BUILT_IN_COMMAND(stubcmd);	BUILT_IN_COMMAND(dumpcmd);	BUILT_IN_COMMAND(unloadcmd);	void 	add_var_alias      	(const char *name, const char *stuff, int noisy);	void 	add_local_alias    	(const char *name, const char *stuff, int noisy);#if 0	/* Internal now */	void 	add_cmd_alias 	   	(void);#endif	void 	add_var_stub_alias 	(const char *name, const char *stuff);	void 	add_cmd_stub_alias 	(const char *name, const char *stuff);	char *	get_variable		(const char *name);	char **	glob_cmd_alias		(const char *name, int *howmany, int maxret, int start, int rev);	char *	get_cmd_alias   	(const char *name, int *howmany, 					 char **complete_name, void **args);	char **	get_subarray_elements 	(const char *root, int *howmany, int type);/* These are in expr.c *//* * This function is a general purpose interface to alias expansion. * The second argument is the text to be expanded. * The third argument are the command line expandoes $0, $1, etc. * The fourth argument is a flag whether $0, $1, etc are used * The fifth argument, if set, controls whether only the first "command" *   will be expanded.  If set, this argument will be set to the "rest" *   of the commands (after the first semicolon, or the null).  If NULL, *   then the entire text will be expanded. */	char *	expand_alias 		(const char *, const char *, int *, ssize_t *);/* * This is the interface to the "expression parser" * The first argument is the expression to be parsed * The second argument is the command line expandoes ($0, $1, etc) * The third argument will be set if the command line expandoes are used. */	char *	parse_inline 		(char *, const char *, int *);/* * This function is used to call a user-defined function. * Noone should be calling this directly except for call_function. */	char *	call_user_function 	(const char *, char *);	void	call_user_alias		(const char *, char *, char *, void *);/* * This function is used to call a lambda (``anonymous'') function. * You provide the lambda function name, its contents, and $*, and * it returns you $FUNCTION_RETURN. */	char *  call_lambda_function    (const char *, const char *, const char *);/* * This function is used to save all the current aliases to a global * file.  This is used by /SAVE and /ABORT. */	void	save_assigns		(FILE *, int);	void	save_aliases 		(FILE *, int);/* * This function is in functions.c * This function allows you to execute a primitive "BUILT IN" expando. * These are the $A, $B, $C, etc expandoes. * The argument is the character of the expando (eg, 'A', 'B', etc) * * This is in functions.c */	char *	built_in_alias		(char, int *);/* BOGUS *//* * This function is used to prepare the $* string before calling a user * alias or function.  You should pass in the last argument from get_cmd_alias * to this function, and also the $* value.  The second value may very well * be modified. */	void	prepare_alias_call	(void *, char **);	void	destroy_alias_call	(void *);/* * This is in functions.c * This is only used by next_unit and expand_alias to call built in functions. * Noone should call this function directly. */	char *	call_function		(char *, const char *, int *);/* * These are the two primitives for runtime stacks. */	int	make_local_stack 	(const char *);	void	destroy_local_stack 	(void);	void	set_current_command 	(char *);	void	bless_local_stack 	(void);	void	unset_current_command 	(void);	void	lock_stack_frame	(void);	void	unlock_stack_frame	(void);	void	destroy_call_stack	(void);	void	dump_call_stack		(void);	void	panic_dump_call_stack 	(void);/* * This is the alias interface to the /STACK command. */	void	do_stack_alias 		(int, char *, int);/* * Truly bogus. =) */	char 	*canon_number (char *input);	char	*aliasctl (char *);	char *	after_expando (char *, int, int *);#endif /* _ALIAS_H_ */

⌨️ 快捷键说明

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