devspec
if (strlen(devspec) < 2)
if (!strncmp(devspec, devsw[i].dv_name, strlen(devsw[i].dv_name))) {
np = (devspec + strlen(dv->dv_name));
static int efi_parsedev(struct efi_devdesc **dev, const char *devspec, const char **path);
efi_getdev(void **vdev, const char *devspec, const char **path)
if ((devspec == NULL) ||
(devspec[0] == '/') ||
(strchr(devspec, ':') == NULL)) {
*path = devspec;
return(efi_parsedev(dev, devspec, path));
efi_parsedev(struct efi_devdesc **dev, const char *devspec, const char **path)
extern int efi_getdev(void **vdev, const char *devspec, const char **path);
if (!strncmp(devspec, devsw[i].dv_name, strlen(devsw[i].dv_name))) {
np = (devspec + strlen(dv->dv_name));
static int ski_parsedev(struct ski_devdesc **dev, const char *devspec, const char **path);
ski_getdev(void **vdev, const char *devspec, const char **path)
if ((devspec == NULL) ||
(devspec[0] == '/') ||
(strchr(devspec, ':') == NULL)) {
*path = devspec;
return(ski_parsedev(dev, devspec, path));
ski_parsedev(struct ski_devdesc **dev, const char *devspec, const char **path)
if (strlen(devspec) < 2)
extern int ski_getdev(void **vdev, const char *devspec, const char **path);
const struct devspec devspec[] = {
extern struct devspec devspec[]; /* defined in conf.c */
for (i = 0; devspec[i].ds_name != 0; i++) {
if (strncmp (devspec[i].ds_name, s,
strlen(devspec[i].ds_name)) == 0)
if (devspec[i].ds_name == 0)
s += strlen(devspec[i].ds_name);
*dev = devspec[i].ds_dev;
if (devspec[i].ds_net) {
if (*unit < 0 || *unit > devspec[i].ds_maxunit)