/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (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
*/
/*
*/
#include "cfga_scsi.h"
/*
* This file contains the entry points to the plug-in as defined in the
* config_admin(3X) man page.
*/
/*
* Set the version number
*/
/*
* For debugging - higher values increase verbosity
*/
int _scfga_debug = 0;
#pragma init(_cfgadm_scsi_init)
static void
{
char *tstr;
}
}
/*ARGSUSED*/
const char *ap_id,
const char *options,
struct cfga_confirm *confp,
char **errstring,
{
}
/*
* All sub-commands which can change state of device require
* root privileges.
*/
if (geteuid() != 0) {
return (CFGA_PRIV);
}
return (CFGA_ERROR);
}
}
/* A dynamic component indicates a device, else it is the bus */
} else {
}
apidt_free(&apidt);
}
/*ARGSUSED*/
const char *func,
const char *ap_id,
const char *options,
struct cfga_confirm *confp,
char **errstring,
{
if (geteuid() != 0) {
return (CFGA_PRIV);
}
return (CFGA_ERROR);
}
return (CFGA_ERROR);
}
}
return (CFGA_OPNOTSUPP);
}
/*
* Process command
*/
apidt_free(&apidt);
}
/*ARGSUSED*/
const char *ap_id,
const char *options,
char **errstring,
{
}
if (geteuid() != 0) {
return (CFGA_PRIV);
}
return (CFGA_OPNOTSUPP);
}
/*ARGSUSED*/
const char *ap_id,
int *nlistp,
const char *options,
const char *listopts,
char **errstring,
{
}
return (CFGA_ERROR);
}
*ap_id_list = NULL;
*nlistp = 0;
/*
* There is no RCM involvement in "list" operations.
* The only supported option is OPT_USE_DIFORCE.
*/
return (CFGA_ERROR);
}
hba = 0;
hba = 1;
}
expand = 0;
expand = 1;
}
/*
* We expand published attachment points but not
* dynamic attachment points
*/
if (!hba) { /* Stat a single device - no expansion for devices */
} else if (!expand) { /* Stat only the HBA */
} else { /* Expand HBA attachment point */
}
}
/*
* Currently only 1 option supported
*/
if (options)
nelem = 0;
goto out;
}
ret = SCFGA_LIB_ERR;
} else {
}
/* FALLTHROUGH */
out:
apidt_free(&apidt);
}
/*ARGSUSED*/
{
return (CFGA_OK);
}
/*
* cfga_ap_id_cmp -- use default_ap_id_cmp() in libcfgadm
*/