/*
* 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
* 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) 2000 by Sun Microsystems, Inc.
* All rights reserved.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/*
* the external start point for this goo
*/
void
{
}
{
}
void
{
}
{
}
/*
* Pushes a C string on the stack.
*/
void
{
if (str) {
} else {
}
}
/*
* Pops a (potentially null) string off the stack.
*/
char *
{
int len;
char *str;
if (len == 0)
len = 0;
if (lenp)
return (str);
}
/*
* Pops & strdup's a string off the stack, handles NULL strings.
*/
char *
{
char *str;
if (str)
return (NULL);
}
/*
* Push Forth Double type.
*/
void
{
}
/*
* Pop Forth Double type.
*/
{
}
/*
* Peek at top of stack Forth Double type.
*/
{
dforth_t a;
a = pop_double(env);
push_double(env, a);
return (a);
}
void
{
int i;
/*
* Really just checking to see if buff is all ascii characters.
* Fcode normally starts with 0xfd, so for fcode, this should be
* a fast check.
*/
for (i = 0; i < len; i++)
if (buff[i] >= 0x80)
break;
if (i < len) {
/* Non-ascii found, probably Fcode */
} else {
/* All ascii found, probably ascii */
}
}
void
{
uchar_t *p;
int len;
if (aout_flag) {
p += 0x20;
len -= 0x20;
}
}
{
if (!src) {
src = initial_env;
return (src);
}
#if 0
" compile state!\n");
return (NULL);
}
#endif
#if 0
/*
* Note that cloning the dictionary doesn't make sense unless the
* ptrs + XT's in the dictionary are relative to BASE.
*/
#endif
env->catch_frame = 0;
IP = 0;
return (env);
}
void
{
#if 0
#endif
if (env == initial_env) {
/* This call only happens internally */
initial_env = NULL;
/* You had better not exercise the engine anymore! */
}
}