ss_internal.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* Copyright 1987, 1988 by MIT Student Information Processing Board
*
* For copyright information, see copyright.h.
*/
#ifndef _ss_ss_internal_h
#define _ss_ss_internal_h __FILE__
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef __STDC__
#define PROTOTYPE(p) p
typedef void * pointer;
#else
#define const
#define volatile
#define PROTOTYPE(p) ()
typedef char * pointer;
#endif /* not __STDC__ */
#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)
#else
#if defined(__HIGHC__) /* Barf! */
#define LOCAL_ALLOC(x) alloca(x)
#define LOCAL_FREE(x)
#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 */
unsigned int beginning_of_line : 1;
typedef struct _ss_abbrev_list {
int n_abbrevs;
typedef struct {
/* char *path; */
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 */
/* for ss_listen processing */
char *prompt;
struct {
unsigned 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
void ss_unknown_function();
void ss_delete_info_dir();
int ss_execute_line();
char **ss_parse();
void ss_page_stdin();
extern char *ss_et_msgs[];
#ifndef HAVE_STDLIB_H
#endif
#ifdef USE_SIGPROCMASK
/* fake sigmask, sigblock, sigsetmask */
#include <signal.h>
static int _fake_sigstore;
#endif
#endif /* _ss_internal_h */