diff options
Diffstat (limited to 'usr/src/cmd/tnf/prex/cmd.c')
-rw-r--r-- | usr/src/cmd/tnf/prex/cmd.c | 296 |
1 files changed, 0 insertions, 296 deletions
diff --git a/usr/src/cmd/tnf/prex/cmd.c b/usr/src/cmd/tnf/prex/cmd.c deleted file mode 100644 index 9cc6519dde..0000000000 --- a/usr/src/cmd/tnf/prex/cmd.c +++ /dev/null @@ -1,296 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright (c) 1994, by Sun Microsytems, Inc. - */ - -#pragma ident "%Z%%M% %I% %E% SMI" - -/* - * Includes - */ - -#ifndef DEBUG -#define NDEBUG 1 -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <assert.h> -#include <libintl.h> -#include "cmd.h" -#include "set.h" -#include "fcn.h" -#include "new.h" -#include "source.h" - - -/* - * Globals - */ - -static queue_node_t g_cmdlist = { - &g_cmdlist, -&g_cmdlist}; - - -/* - * cmd_set() - creates a cmd using a named set and adds it to the global list - */ - -cmd_t * -cmd_set(char *setname_p, cmd_kind_t kind, char *fcnname_p) -{ - cmd_t *new_p; - set_t *set_p; - - set_p = set_find(setname_p); - if (!set_p) { - semantic_err(gettext("no set named \"$%s\""), setname_p); - return (NULL); - } - if (kind == CMD_CONNECT && !fcn_find(fcnname_p)) { - semantic_err(gettext("no function named \"&%s\""), fcnname_p); - return (NULL); - } - new_p = new(cmd_t); - queue_init(&new_p->qn); -#ifdef LATEBINDSETS - new_p->isnamed = B_TRUE; - new_p->expr.setname_p = setname_p; -#else - new_p->isnamed = B_FALSE; - new_p->expr.expr_p = expr_dup(set_p->exprlist_p); -#endif - new_p->isnew = B_TRUE; - new_p->kind = kind; - new_p->fcnname_p = fcnname_p; - - (void) queue_append(&g_cmdlist, &new_p->qn); - return (new_p); - -} /* end cmd_set */ - - -/* - * cmd_expr() - creates a cmd using a set and adds it to the global list - */ - -cmd_t * -cmd_expr(expr_t * expr_p, cmd_kind_t kind, char *fcnname_p) -{ - cmd_t *new_p; - - if (kind == CMD_CONNECT && !fcn_find(fcnname_p)) { - semantic_err(gettext("no function named \"&%s\""), fcnname_p); - return (NULL); - } - new_p = new(cmd_t); - queue_init(&new_p->qn); - new_p->isnamed = B_FALSE; - new_p->expr.expr_p = expr_p; - new_p->isnew = B_TRUE; - new_p->kind = kind; - new_p->fcnname_p = fcnname_p; - - (void) queue_append(&g_cmdlist, &new_p->qn); - return (new_p); - -} /* end cmd */ - - -#if 0 -/* - * cmd_destroy() - */ - -static void -cmd_destroy(cmd_t * cmd_p) -{ - if (!cmd_p) - return; - - if (!queue_isempty(&cmd_p->qn)) - (void) queue_remove(&cmd_p->qn); - - if (!cmd_p->isnamed) - expr_destroy(cmd_p->expr.expr_p); - - free(cmd_p); - -} /* end cmd_destroy */ -#endif - - -/* - * cmd_list() - pretty prints the global cmdlist - */ - -void -cmd_list(void) -{ - cmd_t *cmd_p; - int i = 0; - char *str_p; - - cmd_p = (cmd_t *) & g_cmdlist; - while ((cmd_p = (cmd_t *) queue_next(&g_cmdlist, &cmd_p->qn))) { - switch (cmd_p->kind) { - case CMD_ENABLE: - str_p = "enable "; - break; - case CMD_DISABLE: - str_p = "disable"; - break; - case CMD_CONNECT: - str_p = "connect"; - break; - case CMD_CLEAR: - str_p = "clear "; - break; - case CMD_TRACE: - str_p = "trace "; - break; - case CMD_UNTRACE: - str_p = "untrace"; - break; - default: - str_p = "???????"; - break; - } - (void) printf("[%d] %s ", i++, str_p); - - if (cmd_p->kind == CMD_CONNECT) { - (void) printf("&%s ", cmd_p->fcnname_p); - } - if (!cmd_p->isnamed) { - expr_print(stdout, cmd_p->expr.expr_p); - } - - (void) printf("\n"); - } - -} /* end cmd_list */ - - -/* - * cmd_traverse() - calls the suppied traversal function on each command. - */ - -tnfctl_errcode_t -cmd_traverse(cmd_traverse_func_t percmdfunc, void *calldata_p) -{ - cmd_t *cmd_p; - tnfctl_errcode_t err = TNFCTL_ERR_NONE; - - cmd_p = (cmd_t *) & g_cmdlist; - while ((cmd_p = (cmd_t *) queue_next(&g_cmdlist, &cmd_p->qn))) { - expr_t *expr_p; - fcn_t *fcn_p; - - if (!cmd_p->isnamed) { - expr_p = cmd_p->expr.expr_p; - } - - if (cmd_p->kind == CMD_CONNECT) { - fcn_p = fcn_find(cmd_p->fcnname_p); - assert(fcn_p); - } - else - fcn_p = NULL; - - err = (*percmdfunc) (expr_p, - cmd_p->kind, - fcn_p, cmd_p->isnew, calldata_p); - if (err) - return (err); - } - return (err); -} /* end cmd_traverse */ - - -/* - * cmd_traverse() - calls the suppied traversal function on each command. - */ - -tnfctl_errcode_t -cmd_callback(cmd_t *cmd_p, cmd_traverse_func_t percmdfunc, void *calldata_p) -{ - tnfctl_errcode_t err = TNFCTL_ERR_NONE; - expr_t *expr_p; - fcn_t *fcn_p; - - if (!cmd_p->isnamed) { - expr_p = cmd_p->expr.expr_p; - } - - if (cmd_p->kind == CMD_CONNECT) { - fcn_p = fcn_find(cmd_p->fcnname_p); - assert(fcn_p); - } - else - fcn_p = NULL; - - err = (*percmdfunc) (expr_p, cmd_p->kind, fcn_p, cmd_p->isnew, - calldata_p); - - return (err); -} - -#ifdef NOTNEEDED -/* - * cmd_mark() - mark all of the commands in the global list as old - */ - -void -cmd_mark(void) -{ - cmd_t *cmd_p; - - cmd_p = (cmd_t *) & g_cmdlist; - while ((cmd_p = (cmd_t *) queue_next(&g_cmdlist, &cmd_p->qn))) { - cmd_p->isnew = B_FALSE; - } - -} /* end cmd_mark */ - -/* - * cmd_delete() - - */ - -void -cmd_delete(int cmdnum) -{ - cmd_t *cmd_p; - int i = 0; - - cmd_p = (cmd_t *) & g_cmdlist; - while ((cmd_p = (cmd_t *) queue_next(&g_cmdlist, &cmd_p->qn))) { - if (cmdnum == i) { - cmd_destroy(cmd_p); - return; - } - i++; - } - -} /* end cmd_delete */ -#endif |