/*
* 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 1995 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*
*/
#ifdef THIS_IS_AVAIL
#endif
#include <stdio.h>
#include <signal.h>
#include "cdioctl.h"
#include "s5dkio.h"
#include "s5fdio.h"
/*
* parameter for windows ioctls
*/
struct winclip {
};
/*
* Ioctl control packet
*/
struct s5termios {
};
struct n_sgttyb {
};
static int handle_dkio_partitions(int, int, int);
static int tcget(int, int, int);
static int tcset(int, int, int);
static int _bc_ioctl(int, int, int);
int
{
int ret;
maperror();
return (ret);
}
int
{
int ret;
maperror();
return (ret);
}
static int
{
int ret;
extern int errno;
/* not all mappings for 'm' have been performed */
switch (nreq) {
case ((int) 't'):
switch(request) {
case TIOCSETD:
/* added for sunview */
return(0);
break;
case TIOCNOTTY:
bc_setsid();
return(0);
break;
case TIOCSPGRP:
{
/*
* SunOS4.x allows this to succeed
* even if the process group does
* not exist yet. We emulate the 4.x
* bug by creating the process group
* and reissuing the ioctl().
* See bugid 1175044.
*/
sigemptyset(&set);
}
return(ret);
}
break;
break;
break;
break;
break;
case TIOCSETP:
case TIOCSETN:
{
break;
}
case TIOCGETP:
{
if (ret != -1) {
}
return(ret);
}
case TIOCPKT:
case TIOCUCNTL:
case TIOCTCNTL:
case TIOCSSOFTCAR:
case TIOCGSOFTCAR:
case TIOCISPACE:
case TIOCISIZE:
case TIOCSSIZE:
case TIOCGSIZE:
break;
break;
}
break;
case ((int) 'T'):
switch(request) {
case TCGETS:
break;
case TCSETS:
break;
case TCSETSW:
break;
case TCSETSF:
break;
case TCGETA:
case TCSETA:
case TCSETAW:
case TCSETAF:
default:
break;
}
break;
case ((int) 'S'):
switch (request) {
break;
break;
case I_STR: {
switch (cmd) {
case TI_GETINFO: {
/*
* The T_info_ack structure
* has one additional word
* added to it in 5.x.
* To prevent the module from
* overwritting user memory we
* use an internal buffer for
* the transfer and copy out
* the results to the caller.
*/
struct {
} args;
sizeof(struct T_info_ack));
sizeof(struct T_info_ack);
return (ret);
break;
}
case TI_OPTMGMT:
break;
case TI_BIND:
break;
case TI_UNBIND:
break;
}
return ret;
}
break;
}
break;
case ((int) 'm'):
switch (request) {
break;
break;
break;
}
break;
case ((int) 'd'):
switch (request) {
case DKIOCGGEOM:
break;
case DKIOCSGEOM:
break;
case DKIOCSAPART:
break;
case DKIOCGAPART:
break;
case DKIOCSTYPE:
break;
case DKIOCGTYPE:
break;
case DKIOCSBAD:
break;
case DKIOCGBAD:
break;
case DKIOCSCMD:
break;
case DKIOCGDIAG:
break;
case FDKIOGCHAR:
break;
case FDKIOSCHAR:
break;
case FDKEJECT:
break;
case FDKGETCHANGE:
break;
case FDKGETDRIVECHAR:
break;
case FDKSETDRIVECHAR:
break;
case FDKGETSEARCH:
break;
case FDKSETSEARCH:
break;
case FDKIOCSCMD:
break;
case F_RAW:
break;
case DKIOCINFO:
if (ret != -1) {
}
return ret;
break;
case DKIOCGCONF:
if (ret != -1) {
}
return ret;
break;
case DKIOCWCHK:
/*
* This is unsupported in SVR4. It
* turns on verify-after-write for
* the floppy. I don't think the
* system call should fail, however.
*/
return 0;
break;
case DKIOCGPART:
case DKIOCSPART:
return (handle_dkio_partitions(des,
case DKIOCGLOG:
/* unsupported */
return -1;
break;
case DESIOCBLOCK:
case DESIOCQUICK:
break; /* no change for these two */
default:
break;
}
break;
case ((int) 'c'):
switch (request) {
case CDROMPAUSE:
break;
case CDROMRESUME:
break;
case CDROMPLAYMSF:
break;
case CDROMPLAYTRKIND:
break;
case CDROMREADTOCHDR:
break;
case CDROMREADTOCENTRY:
break;
case CDROMSTOP:
break;
case CDROMSTART:
break;
case CDROMEJECT:
break;
case CDROMVOLCTRL:
break;
case CDROMSUBCHNL:
break;
case CDROMREADMODE1:
break;
case CDROMREADMODE2:
break;
}
break;
case ((int) 'u'):
switch (request) {
case USCSICMD:
{
return(ret);
}
}
break;
case ((int) 'k'):
case ((int) 'v'):
case ((int) 'F'):
case ((int) 'G'):
case ((int) 'X'):
case ((int) 'L'):
break;
case ((int) 'f'):
break;
case ((int) 'g'):
/* Treat the following 2 ioctls specially for
* sunview. */
if (request == WINGETEXPOSEDRL ||
request == WINGETDAMAGEDRL) {
return(ret);
}
break;
}
}
static int
{
int ret;
extern int errno;
return (-1);
}
if (ret != -1) {
if (ret != -1) {
if (request == DKIOCGPART) {
} else {
}
}
}
return (ret);
}
static int
register int des;
register int request;
int arg;
{
} else
}
static int
register int des;
register int request;
int arg;
{
int ret;
}
return (ret);
}