diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 1998-07-07 18:54:09 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 1998-07-07 18:54:09 +0000 |
commit | fad4a2342d6f532d74df14ca4532445b43f13ff0 (patch) | |
tree | 95374401b8b64055cb3ee0e2b469071e21b7f88b | |
parent | aa09fedbc5fbe6f61bb9403006af7948e78b63c8 (diff) |
libss is not used anymore
-rw-r--r-- | lib/libss/Makefile | 39 | ||||
-rw-r--r-- | lib/libss/data.c | 27 | ||||
-rw-r--r-- | lib/libss/error.c | 114 | ||||
-rw-r--r-- | lib/libss/execute_cmd.c | 241 | ||||
-rw-r--r-- | lib/libss/help.c | 172 | ||||
-rw-r--r-- | lib/libss/invocation.c | 97 | ||||
-rw-r--r-- | lib/libss/list_rqs.c | 125 | ||||
-rw-r--r-- | lib/libss/listen.c | 217 | ||||
-rw-r--r-- | lib/libss/pager.c | 128 | ||||
-rw-r--r-- | lib/libss/parse.c | 155 | ||||
-rw-r--r-- | lib/libss/prompt.c | 43 | ||||
-rw-r--r-- | lib/libss/request_tbl.c | 80 | ||||
-rw-r--r-- | lib/libss/requests.c | 62 | ||||
-rw-r--r-- | lib/libss/shlib_version | 2 | ||||
-rw-r--r-- | lib/libss/ss.h | 65 | ||||
-rw-r--r-- | lib/libss/ss_err.et | 39 | ||||
-rw-r--r-- | lib/libss/ss_internal.h | 131 | ||||
-rw-r--r-- | lib/libss/std_rqs.ct | 46 |
18 files changed, 0 insertions, 1783 deletions
diff --git a/lib/libss/Makefile b/lib/libss/Makefile deleted file mode 100644 index caf123a3cfe..00000000000 --- a/lib/libss/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# $OpenBSD: Makefile,v 1.7 1997/07/07 08:42:39 grr Exp $ - -LIB= ss -HDRS= ss.h ${.OBJDIR}/ss_err.h -SRCS= ss_err.c data.c error.c execute_cmd.c help.c invocation.c list_rqs.c \ - listen.c pager.c parse.c prompt.c request_tbl.c requests.c \ - std_rqs.c -CFLAGS+=-I. -I${.CURDIR}/.. -I${.CURDIR} -I${.CURDIR}/../com_err -LDADD+= ${COM_ERR} -CLEANFILES+= ss_err.c ss_err.h std_rqs.c - -ss_err.h ss_err.c: ${.CURDIR}/ss_err.et - test -e ss_err.et || ln -s ${.CURDIR}/ss_err.et . - compile_et ss_err.et - -test -h ss_err.et && rm ss_err.et - -std_rqs.c: ${.CURDIR}/std_rqs.ct - test -e std_rqs.ct || ln -s ${.CURDIR}/std_rqs.ct . - mk_cmds std_rqs.ct - -test -h std_rqs.ct && rm std_rqs.ct - -includes: ss_err.h - @${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ - ${DESTDIR}/usr/include/ss; \ - cd ${.CURDIR}; for i in $(HDRS); do \ - j="cmp -s $$i ${DESTDIR}/usr/include/ss/$$i || \ - ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 $$i \ - ${DESTDIR}/usr/include/ss"; \ - echo $$j; \ - eval "$$j"; \ - done - -beforedepend: - test -h ss || ln -s . ss - -cleandir: _SUBDIRUSE clean - rm -f ss - -.include <bsd.lib.mk> diff --git a/lib/libss/data.c b/lib/libss/data.c deleted file mode 100644 index 9b31a875a7b..00000000000 --- a/lib/libss/data.c +++ /dev/null @@ -1,27 +0,0 @@ -/* $OpenBSD: data.c,v 1.1 1996/11/15 09:25:24 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdio.h> -#include "ss_internal.h" - -const static char copyright[] = - "Copyright 1987, 1988, 1989 by the Massachusetts Institute of Technology"; - -ss_data **_ss_table = (ss_data **)NULL; -char *_ss_pager_name = (char *)NULL; diff --git a/lib/libss/error.c b/lib/libss/error.c deleted file mode 100644 index 19ba6f986ee..00000000000 --- a/lib/libss/error.c +++ /dev/null @@ -1,114 +0,0 @@ -/* $OpenBSD: error.c,v 1.1 1996/11/15 09:25:25 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdio.h> -#include <stdlib.h> - -/* - * Our standalone dpANS environment on the RT doesn't include any - * header files. - */ -#if defined(__STDC__) && !defined(ibm032) -#include <stdarg.h> -#define STDARG -#else -#include <varargs.h> -#define ss_error ss_error_external -#endif - -#include <com_err.h> -#include "ss_internal.h" - -#undef ss_error - -char * -ss_name(sci_idx) - int sci_idx; -{ - register char *ret_val; - register ss_data *infop; - - infop = ss_info(sci_idx); - if (infop->current_request == (char const *)NULL) { - ret_val = malloc((unsigned) - (strlen(infop->subsystem_name)+1) - * sizeof(char)); - if (ret_val == (char *)NULL) - return((char *)NULL); - strcpy(ret_val, infop->subsystem_name); - return(ret_val); - } - else { - register char *cp; - register char const *cp1; - ret_val = malloc((unsigned)sizeof(char) * - (strlen(infop->subsystem_name)+ - strlen(infop->current_request)+ - 4)); - cp = ret_val; - cp1 = infop->subsystem_name; - while (*cp1) - *cp++ = *cp1++; - *cp++ = ' '; - *cp++ = '('; - cp1 = infop->current_request; - while (*cp1) - *cp++ = *cp1++; - *cp++ = ')'; - *cp = '\0'; - return(ret_val); - } -} - -#ifdef STDARG -void -ss_error (int sci_idx, long code, const char * fmt, ...) -#else -void -ss_error (va_alist) - va_dcl -#endif -{ - register char *whoami; - va_list pvar; -#ifndef STDARG - int sci_idx; - long code; - char * fmt; - va_start (pvar); - sci_idx = va_arg (pvar, int); - code = va_arg (pvar, long); - fmt = va_arg (pvar, char *); -#else - va_start (pvar, fmt); -#endif - whoami = ss_name (sci_idx); - com_err_va (whoami, code, fmt, pvar); - free (whoami); - va_end(pvar); -} - -void -ss_perror (sci_idx, code, msg) /* for compatibility */ - int sci_idx; - long code; - char const *msg; -{ - ss_error (sci_idx, code, "%s", msg); -} diff --git a/lib/libss/execute_cmd.c b/lib/libss/execute_cmd.c deleted file mode 100644 index d41047c2aa6..00000000000 --- a/lib/libss/execute_cmd.c +++ /dev/null @@ -1,241 +0,0 @@ -/* $OpenBSD: execute_cmd.c,v 1.1 1996/11/15 09:25:26 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdio.h> -#include <stdlib.h> - -#include "ss_internal.h" - -#ifndef lint -static char const rcsid[] = - "$Id: execute_cmd.c,v 1.1 1996/11/15 09:25:26 downsj Exp $"; -#endif - -/* - * get_request(tbl, idx) - * - * Function: - * Gets the idx'th request from the request table pointed to - * by tbl. - * Arguments: - * tbl (ss_request_table *) - * pointer to request table - * idx (int) - * index into table - * Returns: - * (ss_request_entry *) - * pointer to request table entry - * Notes: - * Has been replaced by a macro. - */ - -#ifdef __SABER__ -/* sigh. saber won't deal with pointer-to-const-struct */ -static struct _ss_request_entry * -get_request (tbl, idx) - ss_request_table * tbl; - int idx; -{ - struct _ss_request_table *tbl1 = (struct _ss_request_table *) tbl; - struct _ss_request_entry *e = (struct _ss_request_entry *) tbl1->requests; - return e + idx; -} -#else -#define get_request(tbl,idx) ((tbl) -> requests + (idx)) -#endif - -/* - * check_request_table(rqtbl, argc, argv, sci_idx) - * - * Function: - * If the command string in argv[0] is in the request table, execute - * the commands and return error code 0. Otherwise, return error - * code ss_et_command_not_found. - * Arguments: - * rqtbl (ss_request_table *) - * pointer to request table - * argc (int) - * number of elements in argv[] - * argv (char *[]) - * argument string array - * sci_idx (int) - * ss-internal index for subsystem control info structure - * Returns: - * (int) - * zero if command found, ss_et_command_not_found otherwise - * Notes: - */ - -static int -check_request_table (rqtbl, argc, argv, sci_idx) - register ss_request_table *rqtbl; - int argc; - char *argv[]; - int sci_idx; -{ -#ifdef __SABER__ - struct _ss_request_entry *request; -#else - register ss_request_entry *request; -#endif - register ss_data *info; - register char const * const * name; - char *string = argv[0]; - int i; - - info = ss_info(sci_idx); - info->argc = argc; - info->argv = argv; - for (i = 0; (request = get_request(rqtbl, i))->command_names; i++) { - for (name = request->command_names; *name; name++) - if (!strcmp(*name, string)) { - info->current_request = request->command_names[0]; - (request->function)(argc, (const char *const *) argv, - sci_idx,info->info_ptr); - info->current_request = (char *)NULL; - return(0); - } - } - return(SS_ET_COMMAND_NOT_FOUND); -} - -/* - * really_execute_command(sci_idx, argc, argv) - * - * Function: - * Fills in the argc, argv values in the subsystem entry and - * call the appropriate routine. - * Arguments: - * sci_idx (int) - * ss-internal index for subsystem control info structure - * argc (int) - * number of arguments in argument list - * argv (char **[]) - * pointer to parsed argument list (may be reallocated - * on abbrev expansion) - * - * Returns: - * (int) - * Zero if successful, ss_et_command_not_found otherwise. - * Notes: - */ - -static int -really_execute_command (sci_idx, argc, argv) - int sci_idx; - int argc; - char **argv[]; -{ - register ss_request_table **rqtbl; - register ss_data *info; - - info = ss_info(sci_idx); - - for (rqtbl = info->rqt_tables; *rqtbl; rqtbl++) { - if (check_request_table (*rqtbl, argc, *argv, sci_idx) == 0) - return(0); - } - return(SS_ET_COMMAND_NOT_FOUND); -} - -/* - * ss_execute_command(sci_idx, argv) - * - * Function: - * Executes a parsed command list within the subsystem. - * Arguments: - * sci_idx (int) - * ss-internal index for subsystem control info structure - * argv (char *[]) - * parsed argument list - * Returns: - * (int) - * Zero if successful, ss_et_command_not_found otherwise. - * Notes: - */ - -int -ss_execute_command(sci_idx, argv) - int sci_idx; - register char *argv[]; -{ - register int i, argc; - char **argp; - - argc = 0; - for (argp = argv; *argp; argp++) - argc++; - argp = (char **)malloc((argc+1)*sizeof(char *)); - for (i = 0; i <= argc; i++) - argp[i] = argv[i]; - i = really_execute_command(sci_idx, argc, &argp); - free(argp); - return(i); -} - -/* - * ss_execute_line(sci_idx, line_ptr) - * - * Function: - * Parses and executes a command line within a subsystem. - * Arguments: - * sci_idx (int) - * ss-internal index for subsystem control info structure - * line_ptr (char *) - * Pointer to command line to be parsed. - * Returns: - * (int) - * Error code. - * Notes: - */ - -int -ss_execute_line (sci_idx, line_ptr) - int sci_idx; - char *line_ptr; -{ - char **argv; - int argc; - int retval; - - /* flush leading whitespace */ - while (line_ptr[0] == ' ' || line_ptr[0] == '\t') - line_ptr++; - - /* check if it should be sent to operating system for execution */ - if (*line_ptr == '!') { - if (ss_info(sci_idx)->flags.escape_disabled) - return SS_ET_ESCAPE_DISABLED; - else { - line_ptr++; - system(line_ptr); - return 0; - } - } - - /* parse it */ - argv = ss_parse(sci_idx, line_ptr, &argc); - if (argc == 0) - return 0; - - /* look it up in the request tables, execute if found */ - retval = really_execute_command (sci_idx, argc, &argv); - free(argv); - return(retval); -} diff --git a/lib/libss/help.c b/lib/libss/help.c deleted file mode 100644 index ba3968995c6..00000000000 --- a/lib/libss/help.c +++ /dev/null @@ -1,172 +0,0 @@ -/* $OpenBSD: help.c,v 1.1 1996/11/15 09:25:27 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/param.h> -#include <sys/file.h> -#ifndef NPOSIX -#include <fcntl.h> -#endif -#include <sys/wait.h> -#include "ss_internal.h" - -extern int errno; - -void -ss_help (argc, argv, sci_idx, info_ptr) - int argc; - char const * const *argv; - int sci_idx; - pointer info_ptr; -{ - char buffer[MAXPATHLEN]; - char const *request_name; - int code; - int fd, child; - register int idx; - register ss_data *info; - - request_name = ss_current_request(sci_idx, &code); - if (code != 0) { - ss_perror(sci_idx, code, ""); - return; /* no ss_abort_line, if invalid invocation */ - } - if (argc == 1) { - ss_list_requests(argc, argv, sci_idx, info_ptr); - return; - } - else if (argc != 2) { - /* should do something better than this */ - snprintf(buffer, sizeof(buffer), - "usage:\n\t%s [topic|command]\nor\t%s\n", - request_name, request_name); - ss_perror(sci_idx, 0, buffer); - return; - } - info = ss_info(sci_idx); - if (info->info_dirs == (char **)NULL) { - ss_perror(sci_idx, SS_ET_NO_INFO_DIR, (char *)NULL); - return; - } - if (info->info_dirs[0] == (char *)NULL) { - ss_perror(sci_idx, SS_ET_NO_INFO_DIR, (char *)NULL); - return; - } - for (idx = 0; info->info_dirs[idx] != (char *)NULL; idx++) { - (void) strcpy(buffer, info->info_dirs[idx]); - (void) strcat(buffer, "/"); - (void) strcat(buffer, argv[1]); - (void) strcat(buffer, ".info"); - if ((fd = open(&buffer[0], O_RDONLY, 0)) >= 0) goto got_it; - } - if ((fd = open(&buffer[0], O_RDONLY, 0)) < 0) { - char buf[MAXPATHLEN]; - strcpy(buf, "No info found for "); - strcat(buf, argv[1]); - ss_perror(sci_idx, 0, buf); - return; - } -got_it: - switch (child = fork()) { - case -1: - ss_perror(sci_idx, errno, "Can't fork for pager"); - return; - case 0: - (void) dup2(fd, 0); /* put file on stdin */ - ss_page_stdin(); - default: - (void) close(fd); /* what can we do if it fails? */ -#ifndef NPOSIX - while (wait((int *)0) != child) ; /* do nothing if wrong pid */ -#else - while (wait((union wait *)0) != child) ; /* do nothing if wrong pid */ -#endif - } -} - -#include <sys/types.h> -#ifdef NPOSIX -#include <sys/dir.h> -#else -#include <dirent.h> -#endif /* NPOSIX */ - -void -ss_add_info_dir(sci_idx, info_dir, code_ptr) - int sci_idx; - char *info_dir; - int *code_ptr; -{ - register ss_data *info; - DIR *d; - int n_dirs; - register char **dirs; - - info = ss_info(sci_idx); - if (info_dir == NULL && *info_dir) { - *code_ptr = SS_ET_NO_INFO_DIR; - return; - } - if ((d = opendir(info_dir)) == (DIR *)NULL) { - *code_ptr = errno; - return; - } - closedir(d); - dirs = info->info_dirs; - for (n_dirs = 0; dirs[n_dirs] != (char *)NULL; n_dirs++) - ; /* get number of non-NULL dir entries */ - dirs = (char **)realloc((char *)dirs, - (unsigned)(n_dirs + 2)*sizeof(char *)); - if (dirs == (char **)NULL) { - info->info_dirs = (char **)NULL; - *code_ptr = errno; - return; - } - info->info_dirs = dirs; - dirs[n_dirs + 1] = (char *)NULL; - dirs[n_dirs] = malloc((unsigned)strlen(info_dir)+1); - strcpy(dirs[n_dirs], info_dir); - *code_ptr = 0; -} - -void -ss_delete_info_dir(sci_idx, info_dir, code_ptr) - int sci_idx; - char *info_dir; - int *code_ptr; -{ - register char **i_d; - register char **info_dirs; - - info_dirs = ss_info(sci_idx)->info_dirs; - for (i_d = info_dirs; *i_d; i_d++) { - if (!strcmp(*i_d, info_dir)) { - while (*i_d) { - *i_d = *(i_d+1); - i_d++; - } - *code_ptr = 0; - return; - } - } - *code_ptr = SS_ET_NO_INFO_DIR; -} diff --git a/lib/libss/invocation.c b/lib/libss/invocation.c deleted file mode 100644 index 99e0a87e615..00000000000 --- a/lib/libss/invocation.c +++ /dev/null @@ -1,97 +0,0 @@ -/* $OpenBSD: invocation.c,v 1.1 1996/11/15 09:25:28 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdlib.h> -#include "ss_internal.h" -#define size sizeof(ss_data *) - -#ifndef lint -static char const rcsid[] = - "$Id: invocation.c,v 1.1 1996/11/15 09:25:28 downsj Exp $"; -#endif - -int -ss_create_invocation(subsystem_name, version_string, info_ptr, - request_table_ptr, code_ptr) - char *subsystem_name, *version_string; - char *info_ptr; - ss_request_table *request_table_ptr; - int *code_ptr; -{ - register int sci_idx; - register ss_data *new_table; - register ss_data **table; - - *code_ptr = 0; - table = _ss_table; - new_table = (ss_data *) malloc(sizeof(ss_data)); - - if (table == (ss_data **) NULL) { - table = (ss_data **) malloc(2 * size); - table[0] = table[1] = (ss_data *)NULL; - } - initialize_ss_error_table (); - - for (sci_idx = 1; table[sci_idx] != (ss_data *)NULL; sci_idx++) - ; - table = (ss_data **) realloc((char *)table, - ((unsigned)sci_idx+2)*size); - table[sci_idx+1] = (ss_data *) NULL; - table[sci_idx] = new_table; - - new_table->subsystem_name = subsystem_name; - new_table->subsystem_version = version_string; - new_table->argv = (char **)NULL; - new_table->current_request = (char *)NULL; - new_table->info_dirs = (char **)malloc(sizeof(char *)); - *new_table->info_dirs = (char *)NULL; - new_table->info_ptr = info_ptr; - new_table->prompt = malloc((unsigned)strlen(subsystem_name)+4); - strcpy(new_table->prompt, subsystem_name); - strcat(new_table->prompt, ": "); -#ifdef silly - new_table->abbrev_info = ss_abbrev_initialize("/etc/passwd", code_ptr); -#else - new_table->abbrev_info = NULL; -#endif - new_table->flags.escape_disabled = 0; - new_table->flags.abbrevs_disabled = 0; - new_table->rqt_tables = - (ss_request_table **) calloc(2, sizeof(ss_request_table *)); - *(new_table->rqt_tables) = request_table_ptr; - *(new_table->rqt_tables+1) = (ss_request_table *) NULL; - _ss_table = table; - return(sci_idx); -} - -void -ss_delete_invocation(sci_idx) - int sci_idx; -{ - register ss_data *t; - int ignored_code; - - t = ss_info(sci_idx); - free(t->prompt); - free((char *)t->rqt_tables); - while(t->info_dirs[0] != (char *)NULL) - ss_delete_info_dir(sci_idx, t->info_dirs[0], &ignored_code); - free((char *)t->info_dirs); - free((char *)t); -} diff --git a/lib/libss/list_rqs.c b/lib/libss/list_rqs.c deleted file mode 100644 index ae5e2c9147d..00000000000 --- a/lib/libss/list_rqs.c +++ /dev/null @@ -1,125 +0,0 @@ -/* $OpenBSD: list_rqs.c,v 1.2 1998/06/03 16:20:27 deraadt Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include "ss_internal.h" -#include <signal.h> -#include <setjmp.h> -#include <sys/types.h> -#include <sys/wait.h> - -#ifdef lint /* "lint returns a value which is sometimes ignored" */ -#define DONT_USE(x) x=x; -#else /* !lint */ -#define DONT_USE(x) ; -#endif /* lint */ - -static char const twentyfive_spaces[26] = - " "; -static char const NL[2] = "\n"; - -void -ss_list_requests(argc, argv, sci_idx, info_ptr) - int argc; - const char * const *argv; - int sci_idx; - pointer info_ptr; -{ - register ss_request_entry *entry; - register char const * const *name; - register int spacing; - register ss_request_table **table; - - char buffer[BUFSIZ]; - FILE *output; - int fd; -#ifndef NPOSIX - struct sigaction nsig, osig; - sigset_t nmask, omask; - int waitb; -#else - int (*func)(); - int mask; - union wait waitb; -#endif - - DONT_USE(argc); - DONT_USE(argv); - -#ifndef NPOSIX - sigemptyset(&nmask); - sigaddset(&nmask, SIGINT); - sigprocmask(SIG_BLOCK, &nmask, &omask); - - memset(&nsig, 0, sizeof nsig); - nsig.sa_handler = SIG_IGN; - sigemptyset(&nsig.sa_mask); - nsig.sa_flags = 0; - sigaction(SIGINT, &nsig, &osig); -#else - mask = sigblock(sigmask(SIGINT)); - func = signal(SIGINT, SIG_IGN); -#endif - fd = ss_pager_create(); - output = fdopen(fd, "w"); -#ifndef NPOSIX - sigprocmask(SIG_SETMASK, &omask, (sigset_t *)0); -#else - sigsetmask(mask); -#endif - - fprintf (output, "Available %s requests:\n\n", - ss_info (sci_idx) -> subsystem_name); - - for (table = ss_info(sci_idx)->rqt_tables; *table; table++) { - entry = (*table)->requests; - for (; entry->command_names; entry++) { - spacing = -2; - buffer[0] = '\0'; - if (entry->flags & SS_OPT_DONT_LIST) - continue; - for (name = entry->command_names; *name; name++) { - register int len = strlen(*name); - strncat(buffer, *name, len); - spacing += len + 2; - if (name[1]) { - strcat(buffer, ", "); - } - } - if (spacing > 23) { - strcat(buffer, NL); - fputs(buffer, output); - spacing = 0; - buffer[0] = '\0'; - } - strncat(buffer, twentyfive_spaces, 25-spacing); - strcat(buffer, entry->info_string); - strcat(buffer, NL); - fputs(buffer, output); - } - } - fclose(output); -#ifndef NO_FORK - wait(&waitb); -#endif -#ifndef NPOSIX - sigaction(SIGINT, &osig, (struct sigaction *)0); -#else - (void) signal(SIGINT, func); -#endif -} diff --git a/lib/libss/listen.c b/lib/libss/listen.c deleted file mode 100644 index b0f0ee1114a..00000000000 --- a/lib/libss/listen.c +++ /dev/null @@ -1,217 +0,0 @@ -/* $OpenBSD: listen.c,v 1.2 1998/06/03 16:20:29 deraadt Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -/* - * Listener loop for subsystem library libss.a. - */ - -#include "ss_internal.h" -#include <stdio.h> -#ifndef NPOSIX -#include <string.h> -#else -#include <strings.h> -#define memcpy(a, b, c) bcopy(b, a, c) -#endif -#include <setjmp.h> -#include <signal.h> -#include <sys/param.h> -#ifdef BSD -#include <sgtty.h> -#endif - -#ifndef lint -static char const rcs_id[] = - "$Id: listen.c,v 1.2 1998/06/03 16:20:29 deraadt Exp $"; -#endif - -#ifndef NPOSIX -#define sigtype void -#else -#define sigtype int -#endif - -static ss_data *current_info; -static jmp_buf listen_jmpb; - -static sigtype -print_prompt() -{ -#ifdef BSD - /* put input into a reasonable mode */ - struct sgttyb ttyb; - if (ioctl(fileno(stdin), TIOCGETP, &ttyb) != -1) { - if (ttyb.sg_flags & (CBREAK|RAW)) { - ttyb.sg_flags &= ~(CBREAK|RAW); - (void) ioctl(0, TIOCSETP, &ttyb); - } - } -#endif - (void) fputs(current_info->prompt, stdout); - (void) fflush(stdout); -} - -static sigtype -listen_int_handler() -{ - putc('\n', stdout); - longjmp(listen_jmpb, 1); -} - -static sigtype print_prompt(); - -int -ss_listen (sci_idx) - int sci_idx; -{ - register char *cp; - register ss_data *info; - char input[BUFSIZ]; - char expanded_input[BUFSIZ]; - char buffer[BUFSIZ]; - char *end = buffer; - int code; - jmp_buf old_jmpb; - ss_data *old_info = current_info; -#ifndef NPOSIX - struct sigaction isig, csig, nsig, osig; - sigset_t nmask, omask; -#else - register sigtype (*sig_cont)(); - sigtype (*sig_int)(), (*old_sig_cont)(); - int mask; -#endif - - current_info = info = ss_info(sci_idx); - info->abort = 0; -#ifndef NPOSIX - csig.sa_handler = (sigtype (*)())0; - - sigemptyset(&nmask); - sigaddset(&nmask, SIGINT); - sigprocmask(SIG_BLOCK, &nmask, &omask); -#else - sig_cont = (sigtype (*)())0; - mask = sigblock(sigmask(SIGINT)); -#endif - - memcpy(old_jmpb, listen_jmpb, sizeof(jmp_buf)); - -#ifndef NPOSIX - memset(&nsig, 0, sizeof nsig); - nsig.sa_handler = listen_int_handler; - sigemptyset(&nsig.sa_mask); - nsig.sa_flags = 0; - sigaction(SIGINT, &nsig, &isig); -#else - sig_int = signal(SIGINT, listen_int_handler); -#endif - - setjmp(listen_jmpb); - -#ifndef NPOSIX - sigprocmask(SIG_SETMASK, &omask, (sigset_t *)0); -#else - (void) sigsetmask(mask); -#endif - while(!info->abort) { - print_prompt(); - *end = '\0'; -#ifndef NPOSIX - nsig.sa_handler = listen_int_handler; /* fgets is not signal-safe */ - osig = csig; - sigaction(SIGCONT, &nsig, &csig); - if ((sigtype (*)())csig.sa_handler==(sigtype (*)())listen_int_handler) - csig = osig; -#else - old_sig_cont = sig_cont; - sig_cont = signal(SIGCONT, print_prompt); -#ifdef mips - /* The mips compiler breaks on determining the types, we help */ - if ( (sigtype *) sig_cont == (sigtype *) print_prompt) - sig_cont = old_sig_cont; -#else - if (sig_cont == print_prompt) - sig_cont = old_sig_cont; -#endif -#endif - if (fgets(input, BUFSIZ, stdin) != input) { - code = SS_ET_EOF; - goto egress; - } - cp = strchr(input, '\n'); - if (cp) { - *cp = '\0'; - if (cp == input) - continue; - } -#ifndef NPOSIX - sigaction(SIGCONT, &csig, (struct sigaction *)0); -#else - (void) signal(SIGCONT, sig_cont); -#endif - for (end = input; *end; end++) - ; - - code = ss_execute_line (sci_idx, input); - if (code == SS_ET_COMMAND_NOT_FOUND) { - register char *c = input; - while (*c == ' ' || *c == '\t') - c++; - cp = strchr (c, ' '); - if (cp) - *cp = '\0'; - cp = strchr (c, '\t'); - if (cp) - *cp = '\0'; - ss_error (sci_idx, 0, - "Unknown request \"%s\". Type \"?\" for a request list.", - c); - } - } - code = 0; -egress: -#ifndef NPOSIX - sigaction(SIGINT, &isig, (struct sigaction *)0); -#else - (void) signal(SIGINT, sig_int); -#endif - memcpy(listen_jmpb, old_jmpb, sizeof(jmp_buf)); - current_info = old_info; - return code; -} - -void -ss_abort_subsystem(sci_idx, code) - int sci_idx; -{ - ss_info(sci_idx)->abort = 1; - ss_info(sci_idx)->exit_status = code; - -} - -void -ss_quit(argc, argv, sci_idx, infop) - int argc; - const char * const *argv; - int sci_idx; - pointer infop; -{ - ss_abort_subsystem(sci_idx, 0); -} diff --git a/lib/libss/pager.c b/lib/libss/pager.c deleted file mode 100644 index 2398011bbc8..00000000000 --- a/lib/libss/pager.c +++ /dev/null @@ -1,128 +0,0 @@ -/* $OpenBSD: pager.c,v 1.2 1998/06/03 16:20:30 deraadt Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -/* - * Pager: Routines to create a "more" running out of a particular file - * descriptor. - */ - -#include "ss_internal.h" -#include <stdio.h> -#include <sys/types.h> -#include <sys/file.h> -#include <unistd.h> -#include <signal.h> - -static char MORE[] = "more"; -extern char *_ss_pager_name; -extern char *getenv(); -extern int errno; - -/* - * this needs a *lot* of work.... - * - * run in same process - * handle SIGINT sensibly - * allow finer control -- put-page-break-here - */ -void ss_page_stdin(); - -#ifndef NO_FORK -int -ss_pager_create() -{ - int filedes[2]; - - if (pipe(filedes) != 0) - return(-1); - - switch(fork()) { - case -1: - return(-1); - case 0: - /* - * Child; dup read half to 0, close all but 0, 1, and 2 - */ - if (dup2(filedes[0], 0) == -1) - exit(1); - ss_page_stdin(); - default: - /* - * Parent: close "read" side of pipe, return - * "write" side. - */ - (void) close(filedes[0]); - return(filedes[1]); - } -} -#else /* don't fork */ -int -ss_pager_create() -{ - int fd; - fd = open("/dev/tty", O_WRONLY, 0); - return fd; -} -#endif - -void -ss_page_stdin() -{ - int i; -#ifndef NPOSIX - struct sigaction sa; - sigset_t mask; -#endif - - for (i = 3; i < 32; i++) - (void) close(i); -#ifndef NPOSIX - memset(&sa, 0, sizeof sa); - sa.sa_handler = SIG_DFL; - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sigaction(SIGINT, &sa, (struct sigaction *)0); -#else - (void) signal(SIGINT, SIG_DFL); -#endif - { -#ifndef NPOSIX - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigprocmask(SIG_UNBLOCK, &mask, (sigset_t *)0); -#else - register int mask = sigblock(0); - mask &= ~sigmask(SIGINT); - sigsetmask(mask); -#endif - } - if (_ss_pager_name == (char *)NULL) { - if ((_ss_pager_name = getenv("PAGER")) == (char *)NULL) - _ss_pager_name = MORE; - } - (void) execlp(_ss_pager_name, _ss_pager_name, (char *) NULL); - { - /* minimal recovery if pager program isn't found */ - char buf[80]; - register int n; - while ((n = read(0, buf, 80)) > 0) - write(1, buf, n); - } - exit(errno); -} diff --git a/lib/libss/parse.c b/lib/libss/parse.c deleted file mode 100644 index c4ac6e8d44c..00000000000 --- a/lib/libss/parse.c +++ /dev/null @@ -1,155 +0,0 @@ -/* $OpenBSD: parse.c,v 1.1 1996/11/15 09:25:31 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> - -#include "ss_internal.h" - -#ifndef lint -static char const rcsid[] = - "$Id: parse.c,v 1.1 1996/11/15 09:25:31 downsj Exp $"; -#endif - -enum parse_mode { WHITESPACE, TOKEN, QUOTED_STRING }; - -/* - * parse(line_ptr, argc_ptr) - * - * Function: - * Parses line, dividing at whitespace, into tokens, returns - * the "argc" and "argv" values. - * Arguments: - * line_ptr (char *) - * Pointer to text string to be parsed. - * argc_ptr (int *) - * Where to put the "argc" (number of tokens) value. - * Returns: - * argv (char **) - * Series of pointers to parsed tokens. - */ - -#define NEW_ARGV(old,n) (char **)realloc((char *)old,\ - (unsigned)(n+2)*sizeof(char*)) - -char ** -ss_parse (sci_idx, line_ptr, argc_ptr) - int sci_idx; - register char *line_ptr; - int *argc_ptr; -{ - register char **argv, *cp; - register int argc; - register enum parse_mode parse_mode; - - *argc_ptr = 0; /* In case of error return something sane */ - argv = (char **) malloc (sizeof(char *)); - if (argv == (char **)NULL) { - ss_error(sci_idx, errno, "Can't allocate storage"); - return(argv); - } - *argv = (char *)NULL; - - argc = 0; - - parse_mode = WHITESPACE; /* flushing whitespace */ - cp = line_ptr; /* cp is for output */ - while (1) { -#ifdef DEBUG - { - printf ("character `%c', mode %d\n", *line_ptr, parse_mode); - } -#endif - while (parse_mode == WHITESPACE) { - if (*line_ptr == '\0') - goto end_of_line; - if (*line_ptr == ' ' || *line_ptr == '\t') { - line_ptr++; - continue; - } - if (*line_ptr == '"') { - /* go to quoted-string mode */ - parse_mode = QUOTED_STRING; - cp = line_ptr++; - argv = NEW_ARGV (argv, argc); - argv[argc++] = cp; - argv[argc] = NULL; - } - else { - /* random-token mode */ - parse_mode = TOKEN; - cp = line_ptr; - argv = NEW_ARGV (argv, argc); - argv[argc++] = line_ptr; - argv[argc] = NULL; - } - } - while (parse_mode == TOKEN) { - if (*line_ptr == '\0') { - *cp++ = '\0'; - goto end_of_line; - } - else if (*line_ptr == ' ' || *line_ptr == '\t') { - *cp++ = '\0'; - line_ptr++; - parse_mode = WHITESPACE; - } - else if (*line_ptr == '"') { - line_ptr++; - parse_mode = QUOTED_STRING; - } - else { - *cp++ = *line_ptr++; - } - } - while (parse_mode == QUOTED_STRING) { - if (*line_ptr == '\0') { - ss_error (sci_idx, 0, - "Unbalanced quotes in command line"); - free (argv); - return NULL; - } - else if (*line_ptr == '"') { - if (*++line_ptr == '"') { - *cp++ = '"'; - line_ptr++; - } - else { - parse_mode = TOKEN; - } - } - else { - *cp++ = *line_ptr++; - } - } - } -end_of_line: - *argc_ptr = argc; -#ifdef DEBUG - { - int i; - printf ("argc = %d\n", argc); - for (i = 0; i <= argc; i++) - printf ("\targv[%2d] = `%s'\n", i, - argv[i] ? argv[i] : "<NULL>"); - } -#endif - return(argv); -} diff --git a/lib/libss/prompt.c b/lib/libss/prompt.c deleted file mode 100644 index 9977251d3a4..00000000000 --- a/lib/libss/prompt.c +++ /dev/null @@ -1,43 +0,0 @@ -/* $OpenBSD: prompt.c,v 1.1 1996/11/15 09:25:32 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -/* - * prompt.c: Routines for retrieving and setting a prompt. - */ - -#include <stdio.h> -#include "ss_internal.h" - -static const char rcsid[] = - "$Id: prompt.c,v 1.1 1996/11/15 09:25:32 downsj Exp $"; - -int -ss_set_prompt(sci_idx, new_prompt) - int sci_idx; - char *new_prompt; -{ - ss_info(sci_idx)->prompt = new_prompt; -} - -char * -ss_get_prompt(sci_idx) - int sci_idx; -{ - return(ss_info(sci_idx)->prompt); -} diff --git a/lib/libss/request_tbl.c b/lib/libss/request_tbl.c deleted file mode 100644 index 3671f8afe1f..00000000000 --- a/lib/libss/request_tbl.c +++ /dev/null @@ -1,80 +0,0 @@ -/* $OpenBSD: request_tbl.c,v 1.1 1996/11/15 09:25:33 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#include <stdlib.h> -#include <errno.h> - -#include "ss_internal.h" - -#define ssrt ss_request_table /* for some readable code... */ - -void -ss_add_request_table(sci_idx, rqtbl_ptr, position, code_ptr) - int sci_idx; - ssrt *rqtbl_ptr; - int position; /* 1 -> becomes second... */ - int *code_ptr; -{ - register ss_data *info; - register int i, size; - - info = ss_info(sci_idx); - for (size=0; info->rqt_tables[size] != (ssrt *)NULL; size++) - ; - /* size == C subscript of NULL == #elements */ - size += 2; /* new element, and NULL */ - info->rqt_tables = (ssrt **)realloc((char *)info->rqt_tables, - (unsigned)size*sizeof(ssrt)); - if (info->rqt_tables == (ssrt **)NULL) { - *code_ptr = errno; - return; - } - if (position > size - 2) - position = size - 2; - - if (size > 1) - for (i = size - 2; i >= position; i--) - info->rqt_tables[i+1] = info->rqt_tables[i]; - - info->rqt_tables[position] = rqtbl_ptr; - info->rqt_tables[size-1] = (ssrt *)NULL; - *code_ptr = 0; -} - -void -ss_delete_request_table(sci_idx, rqtbl_ptr, code_ptr) - int sci_idx; - ssrt *rqtbl_ptr; - int *code_ptr; -{ - register ss_data *info; - register ssrt **rt1, **rt2; - - *code_ptr = SS_ET_TABLE_NOT_FOUND; - info = ss_info(sci_idx); - rt1 = info->rqt_tables; - for (rt2 = rt1; *rt1; rt1++) { - if (*rt1 != rqtbl_ptr) { - *rt2++ = *rt1; - *code_ptr = 0; - } - } - *rt2 = (ssrt *)NULL; - return; -} diff --git a/lib/libss/requests.c b/lib/libss/requests.c deleted file mode 100644 index 61065c382d5..00000000000 --- a/lib/libss/requests.c +++ /dev/null @@ -1,62 +0,0 @@ -/* $OpenBSD: requests.c,v 1.1 1996/11/15 09:25:34 downsj Exp $ */ - -/*- - * Copyright 1987, 1988, 1989 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -/* - * Various minor routines... - */ - -#include <stdio.h> -#include "ss_internal.h" - -#define DECLARE(name) void name(argc,argv,sci_idx,arg)int argc,sci_idx;const char *const *argv;void *arg; - -/* - * ss_self_identify -- assigned by default to the "." request - */ -DECLARE(ss_self_identify) -{ - register ss_data *info = ss_info(sci_idx); - printf("%s version %s\n", info->subsystem_name, - info->subsystem_version); -} - -/* - * ss_subsystem_name -- print name of subsystem - */ -DECLARE(ss_subsystem_name) -{ - printf("%s\n", ss_info(sci_idx)->subsystem_name); -} - -/* - * ss_subsystem_version -- print version of subsystem - */ -DECLARE(ss_subsystem_version) -{ - printf("%s\n", ss_info(sci_idx)->subsystem_version); -} - -/* - * ss_unimplemented -- routine not implemented (should be - * set up as (dont_list,dont_summarize)) - */ -DECLARE(ss_unimplemented) -{ - ss_perror(sci_idx, SS_ET_UNIMPLEMENTED, ""); -} diff --git a/lib/libss/shlib_version b/lib/libss/shlib_version deleted file mode 100644 index d9961ea9fef..00000000000 --- a/lib/libss/shlib_version +++ /dev/null @@ -1,2 +0,0 @@ -major=4 -minor=0 diff --git a/lib/libss/ss.h b/lib/libss/ss.h deleted file mode 100644 index 0afcef2e83e..00000000000 --- a/lib/libss/ss.h +++ /dev/null @@ -1,65 +0,0 @@ -/* $OpenBSD: ss.h,v 1.1 1996/11/16 21:53:12 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#ifndef _SS_H -#define _SS_H - -#include <sys/cdefs.h> - -#ifndef NO_SS_ERR_H -#include <ss/ss_err.h> -#endif - -typedef const struct _ss_request_entry { - const char * const *command_names; /* whatever */ - void (* const function) __P((int, const char * const *, int, void *)); - const char * const info_string; /* NULL */ - int flags; /* 0 */ -} ss_request_entry; - -typedef const struct _ss_request_table { - int version; - ss_request_entry *requests; -} ss_request_table; - -#define SS_RQT_TBL_V2 2 - -typedef struct _ss_rp_options { /* DEFAULT VALUES */ - int version; /* SS_RP_V1 */ - void (*unknown) __P((int, const char * const *, int, void *)); /* call for unknown command */ - int allow_suspend; - int catch_int; -} ss_rp_options; - -#define SS_RP_V1 1 - -#define SS_OPT_DONT_LIST 0x0001 -#define SS_OPT_DONT_SUMMARIZE 0x0002 - -void ss_help __P((int, const char * const *, int, void *)); -char *ss_current_request(); -char *ss_name(); -void ss_error __P((int, long, char const *, ...)); -void ss_perror __P((int, long, char const *)); -int ss_create_invocation __P((char *, char *, char *, ss_request_table *, int *)); -int ss_listen(int); -void ss_abort_subsystem(); - -extern ss_request_table ss_std_requests; -#endif /* _SS_H */ diff --git a/lib/libss/ss_err.et b/lib/libss/ss_err.et deleted file mode 100644 index 80e9dfa4449..00000000000 --- a/lib/libss/ss_err.et +++ /dev/null @@ -1,39 +0,0 @@ - error_table ss - -ec SS_ET_SUBSYSTEM_ABORTED, - "Subsystem aborted" - -ec SS_ET_VERSION_MISMATCH, - "Version mismatch" - -ec SS_ET_NULL_INV, - "No current invocation" - -ec SS_ET_NO_INFO_DIR, - "No info directory" - -ec SS_ET_COMMAND_NOT_FOUND, - "Command not found" - -ec SS_ET_LINE_ABORTED, - "Command line aborted" - -ec SS_ET_EOF, - "End-of-file reached" - -ec SS_ET_PERMISSION_DENIED, - "Permission denied" - -ec SS_ET_TABLE_NOT_FOUND, - "Request table not found" - -ec SS_ET_NO_HELP_FILE, - "No info available" - -ec SS_ET_ESCAPE_DISABLED, - "Shell escapes are disabled" - -ec SS_ET_UNIMPLEMENTED, - "Sorry, this request is not yet implemented" - - end diff --git a/lib/libss/ss_internal.h b/lib/libss/ss_internal.h deleted file mode 100644 index 7902f09e843..00000000000 --- a/lib/libss/ss_internal.h +++ /dev/null @@ -1,131 +0,0 @@ -/* $OpenBSD: ss_internal.h,v 1.1 1996/11/15 09:25:36 downsj Exp $ */ - -/*- - * Copyright 1987, 1988 by the Student Information Processing Board - * of the Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purpose and without fee is - * hereby granted, provided that the above copyright notice - * appear in all copies and that both that copyright notice and - * this permission notice appear in supporting documentation, - * and that the names of M.I.T. and the M.I.T. S.I.P.B. not be - * used in advertising or publicity pertaining to distribution - * of the software without specific, written prior permission. - * M.I.T. and the M.I.T. S.I.P.B. make no representations about - * the suitability of this software for any purpose. It is - * provided "as is" without express or implied warranty. - */ - -#ifndef _ss_ss_internal_h -#define _ss_ss_internal_h __FILE__ -#include <stdio.h> -#include <string.h> - -#ifdef __STDC__ - -#define PROTOTYPE(p) p -typedef void * pointer; - -#else - -#define const -#define volatile -#define PROTOTYPE(p) () -typedef char * pointer; - -#endif /* not __STDC__ */ - -#include <ss/ss.h> - -#if defined(__GNUC__) -#define LOCAL_ALLOC(x) __builtin_alloca(x) -#define LOCAL_FREE(x) -#else -#if defined(vax) -#define LOCAL_ALLOC(x) alloca(x) -#define LOCAL_FREE(x) -extern pointer alloca PROTOTYPE((unsigned)); -#else -#if defined(__HIGHC__) /* Barf! */ -pragma on(alloca); -#define LOCAL_ALLOC(x) alloca(x) -#define LOCAL_FREE(x) -extern pointer alloca PROTOTYPE((unsigned)); -#else -/* no alloca? */ -#define LOCAL_ALLOC(x) malloc(x) -#define LOCAL_FREE(x) free(x) -#endif -#endif -#endif /* LOCAL_ALLOC stuff */ - -typedef char BOOL; - -typedef struct _ss_abbrev_entry { - char *name; /* abbrev name */ - char **abbrev; /* new tokens to insert */ - int beginning_of_line : 1; -} ss_abbrev_entry; - -typedef struct _ss_abbrev_list { - int n_abbrevs; - ss_abbrev_entry *first_abbrev; -} ss_abbrev_list; - -typedef struct { -/* char *path; */ - ss_abbrev_list abbrevs[127]; -} ss_abbrev_info; - -typedef struct _ss_data { /* init values */ - /* this subsystem */ - char *subsystem_name; - char *subsystem_version; - /* current request info */ - int argc; - char **argv; /* arg list */ - char const *current_request; /* primary name */ - /* info directory for 'help' */ - char **info_dirs; - /* to be extracted by subroutines */ - pointer info_ptr; /* (void *) NULL */ - /* for ss_listen processing */ - char *prompt; - ss_request_table **rqt_tables; - ss_abbrev_info *abbrev_info; - struct { - int escape_disabled : 1, - abbrevs_disabled : 1; - } flags; - /* to get out */ - int abort; /* exit subsystem */ - int exit_status; -} ss_data; - -#define CURRENT_SS_VERSION 1 - -#define ss_info(sci_idx) (_ss_table[sci_idx]) -#define ss_current_request(sci_idx,code_ptr) \ - (*code_ptr=0,ss_info(sci_idx)->current_request) -void ss_unknown_function(); -void ss_delete_info_dir(); -void ss_unimplemented(int, const char * const *, int, void *); -int ss_execute_line(); -char **ss_parse(); -ss_abbrev_info *ss_abbrev_initialize PROTOTYPE((char *, int *)); -void ss_page_stdin(); - -extern ss_data **_ss_table; -extern char *ss_et_msgs[]; - -#if 0 -extern pointer malloc PROTOTYPE((unsigned)); -extern pointer realloc PROTOTYPE((pointer, unsigned)); -extern pointer calloc PROTOTYPE((unsigned, unsigned)); -#ifndef sun -extern int exit PROTOTYPE((int)); -#endif -#endif /* 0 */ - -#endif /* _ss_internal_h */ diff --git a/lib/libss/std_rqs.ct b/lib/libss/std_rqs.ct deleted file mode 100644 index 500288a02ed..00000000000 --- a/lib/libss/std_rqs.ct +++ /dev/null @@ -1,46 +0,0 @@ - command_table ss_std_requests; - - request ss_self_identify, "Identify the subsystem.", - ".", - (dont_list, dont_summarize); - - request ss_help, "Display info on command or topic.", - help; - - unimplemented - ss_list_help, - "List topics for which help is available.", - list_help, lh; - - request ss_list_requests, "List available commands.", - list_requests, lr, "?"; - - request ss_quit, "Leave the subsystem.", - quit, q; - - unimplemented - ss_abbrev, - "Enable/disable abbreviation processing of request lines.", - abbrev, ab; - - unimplemented - ss_execute, - "Execute a UNIX command line.", - execute, e; - - unimplemented - ss_summarize_requests, - "Produce a list of the most commonly used requests.", - "?"; - - request ss_subsystem_name, - "Return the name of this subsystem.", - subsystem_name, - (dont_list); - - request ss_subsystem_version, - "Return the version of this subsystem.", - subsystem_version, - (dont_list); - - end; |