/*
* 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 <stdlib.h>
#include <unistd.h>
#include <strings.h>
#include <fcdriver/fcdriver.h>
static int
{
return (d == builtin_driver_device);
}
static char *dropin_name;
/*
* do-builtin-dropin ( -- )
* Convoluted name just in case someone has "do-dropin" word in Fcode.
* Somewhat different from do-dropin in OBP, as we just load the Fcode, we
* don't do a byte-load.
*/
static void
{
char *buf;
int error;
extern int check_fcode_header(char *, uchar_t *, int);
if (dropin_name == NULL) {
return;
}
if (error)
return;
if (len == 0) {
return;
}
if (error) {
return;
}
(int)len);
}
static void
{
char *fname;
fstack_t d;
if (dropin_name == NULL) {
return;
}
if (d) {
} else
}
/*
* We need to lookup the builtin name via an FC_RUN_PRIV call to make sure
* the builtin exists. If it exists, then we need to leave the xt of
* do-builtin-dropin on the stack and remember the name for do-dropin. This is
* extremely convoluted because we can't a priori populate
* SUNW,builtin-drivers.
*/
static void
{
fstack_t d;
int error;
return;
}
/*
* Check for file in filesystem. If it exists, we'll just try to do
* a do-dropin-file.
*/
if (dropin_name) {
}
return;
}
if (len == 0)
} else {
if (dropin_name) {
}
}
}
void
{
if (finish)
}
void
{
MYSELF = 0;
}
}
/*
* find-builtin-driver ( str len -- xt true | false )
*/
void
{
fstack_t d;
if (d) {
} else {
}
}
void
{
fstack_t d;
int error;
extern int check_fcode_header(char *, uchar_t *, int);
/*
* Check for file in filesystem. If it exists, we'll just try to do
* a do-dropin-file.
*/
return;
}
if (len == 0)
return;
}
if (error) {
return;
}
}
static void
_init(void)
{
extern void set_find_method_hook(fcode_env_t *,
void (*)(fcode_env_t *));
fstack_t d;
FORTH(0, "builtin-driver-method-hook",
}